Skip to content

CSS API reference

The CSS API reference covers pantoken's class-based component layer: components, utilities, global rules, and declarations built on the token system.

Components

NameClassSummary
alert.instui-alertAn inline message with a status colour bar and a masked status glyph from the shared icon set.
avatar.instui-avatarA user avatar showing initials or an image, circular by default.
badge.instui-badgeA small count or status dot placed over a target's corner.
billboard.instui-billboardA large empty-state or call-to-action block: a hero icon or image, a heading, and a message.
breadcrumb.instui-breadcrumbA breadcrumb trail with / separators; the last crumb is the current page.
button.instui-buttonAn accessible action control, styled from the token palette; primary by default.
byline.instui-bylineA media object: a hero figure beside a title and description.
calendar.instui-calendarA static month grid with navigation, weekday headers, and day cells.
checkbox.instui-checkboxA native checkbox and its label, or a switch via -variant-toggle.
close-button.instui-close-buttonA transparent icon button that draws its own × glyph, in three sizes plus an inverse variant.
context-view.instui-context-viewAn elevated callout with a caret, positionable on any side; works as a native [popover].
file-drop.instui-file-dropA file dropzone with hover, accepted, and rejected states.
form-field.instui-form-fieldA form-field wrapper: a label, its controls, and inline, required, or readonly layouts.
form-field-group.instui-form-field-groupA <fieldset> group with a legend, a column or inline layout, and configurable spacing.
form-field-messages.instui-form-field-messagesField help and validation messages — hint, error, success, and screen-reader-only — with a glyph on error and success.
heading.instui-headingHeading typography from -level-h1 to -level-h6.
img.instui-imgA styled <img> with display, crop, and effect modifiers that stack.
in-place-edit.instui-in-place-editA [contenteditable] that reads as text until focused, then shows input chrome.
input-group.instui-input-groupA facade around a text input with leading and trailing icon slots.
link.instui-linkA styled hyperlink with sizes, an inverse variant for dark backgrounds, and inline or unstyled forms.
list.instui-listA list with token-driven item spacing.
menu.instui-menuA dropdown surface of items, groups, and separators.
metric.instui-metricA labelled statistic — a large value over a caption.
modal.instui-modalA dialog surface (works on a native <dialog>); header/body/footer parts.
number-input.instui-number-inputA number-input facade with a +/- spinner column.
pagination.instui-paginationPage navigation: numbered pages, first, previous, next, and last arrows, and an ellipsis for gaps.
pill.instui-pillA compact status label; add a leading glyph with the shared -icon-<name> form.
popover.instui-popoverAn elevated surface for a native [popover], positioned with CSS anchor positioning.
progress.instui-progressA determinate progress bar with a coloured meter, sizes, and an optional value label.
progress-circle.instui-progress-circleA circular progress ring driven by a --value (0–100) custom property.
radio.instui-radioA native radio button and its label.
radio-input-group.instui-radio-input-groupA single-select radio <fieldset>, plain or as a connected segmented toggle.
range-input.instui-range-inputA styled range slider with an inverse value bubble.
rating.instui-ratingA star rating with filled and empty glyphs and an optional numeric label.
side-nav-bar.instui-side-nav-barA vertical navigation rail of icon-over-label items, with a minimized icons-only mode.
simple-select.instui-simple-selectA styled native <select> with a caret, matching the text-input states and sizes.
spinner.instui-spinnerAn animated loading ring; give it role="status" and an aria-label.
table.instui-tableA styled data table for th and td plus an optional caption, with hover, fixed, and stacked-card layouts.
tabs.instui-tabsA tabbed panel set: a tab list, selectable tabs, and their panels.
tag.instui-tagAn inline chip for a keyword or filter.
text.instui-textBody-text typography with size, weight, colour, and style modifiers.
text-area.instui-text-areaA styled, resizable native <textarea> with the same states and sizes as the text input.
text-input.instui-text-inputA styled native <input> — including date, time, and datetime-local, where the browser supplies the picker — with validation states and sizes.
toggle-details.instui-toggle-detailsA styled native <details> disclosure with a rotating chevron.
toggle-group.instui-toggle-groupA bordered disclosure built on <details>: a chevron summary row and collapsible content.
tooltip.instui-tooltipA CSS hover and focus tooltip bubble, positionable on any side.
tray.instui-trayAn edge-pinned panel that slides in from any side; a native [popover] or <dialog>.
tree-browser.instui-tree-browserA disclosure tree of nested collections and leaf items, with rotating chevrons.
truncate.instui-truncateSingle-line ellipsis truncation, or a multi-line clamp via --lines.

Utilities

NameClassSummary
color.instui-text-dangerSemantic colour utilities: .instui-bg-<name>, .instui-text-<name>, and .instui-stroke-<name> for the curated semantic palette.
icon.instui-iconThe icon system: .instui-icon sizing plus the shared -icon-<name> painter that masks a glyph (in currentColor) before any element.
layout.instui-display-flexDisplay and text-align utilities — .instui-display-<value> and .instui-text-align-<value> — as composable classes.
mask.instui-maskAn in-flow overlay that fills its positioned parent and centres its content — e.g. a spinner over a card. For a modal, prefer a native <dialog> (its ::backdrop is the mask).
responsive.instui-hidden-max-mdResponsive visibility: .instui-hidden-max-<bp> / -hidden-min-<bp> hide by viewport width; the -cq- variants react to a .instui-container ancestor's width instead. Breakpoints sm/md/lg/xl.
screen-reader-content.instui-screen-reader-contentVisually hides content while keeping it available to assistive tech (the standard clip pattern).
spacing.instui-p-mdMargin and padding utilities — .instui-m<side>-<step> and .instui-p<side>-<step> on the spacing scale (sides t/b/s/e/x/y or none; margin also takes auto).
view.instui-viewThe View primitive: a neutral box with key-value modifiers for background, border, radius, shadow, display, position, overflow, and cursor.

Rules

NameClassSummary
base*The opt-in global reset: box-sizing, the page surface, base text colour and font, color-scheme, and link defaults.
prose.pantoken-proseTypographic defaults for raw HTML — headings, paragraphs, lists, links, and code — under the .pantoken-prose scope.

Plugins

NameClassSummary
logos.logosInstructure product logos as CSS image tokens: --instui-logo-<product>-<layout>-<mode> holds a data-URI SVG, so a logo paints via e.g. background-image: var(--instui-logo-canvas-horizontal-color).
primitives.instui-bg-primitive-color-whiteOpt-in utility classes for the raw primitive palette: .instui-bg-/fg-/border-primitive-color-<name> paint a colour from the primitive colour tokens, plus font-family/font-weight utilities for the primitive font tokens. Kept out of the semantic utilities so overrides there stay semantic-only.
stacking.instui-stack-topmostz-index depth utilities: .instui-stack-<level> (deepest, below, above, topmost) set z-index from the --instui-stacking-* scale, so layers stack predictably instead of by hand-tuned numbers.
transition.instui-transitionEnter/exit animation CSS: put .instui-transition on an element and toggle a .-<type>-<state> class (fade, scale, or slide-{up,down,left,right} × entering/entered/exiting/exited) from your own JS to animate it in and out.
visual-debug.-with-visual-debugA layout-debugging outline: compound .-with-visual-debug onto any element to outline the box and its immediate children, so a layout's structure is visible at a glance.