component

Stamp

props · 25 shown · 25 total

Appearance

  • "transparent" "surface.peak" "surface.hill" "surface.base" "surface.valley" "surface.ground"

    Surface background from the Panel scale (`surface.peak` → `surface.ground`, or `transparent`).

  • "none" "default" "bold" "muted" "accent"

    Border color at rest: `none`, `default`, `bold`, `muted`, or `accent`. The 1px line is always reserved when a border can appear, so changing it never shifts layout.

  • "inherit" "none" "default" "bold" "muted" "accent"

    Border color while the surface is `active` — the explicit form of the ring `activeEmphasis` would otherwise pick. It holds through hover, so a `borderInteract` color can't steal it. `inherit` keeps whatever `activeEmphasis` chose; `none` clears it.

  • "none" "default" "bold" "muted" "accent"

    Border color on hover and press: `none`, `default`, `bold`, `muted`, or `accent`. Composes with `border`, e.g. a muted line at rest that turns bold on hover.

  • "primary" "muted" "secondary" "tertiary" "ghost" "adaptive"
    default "secondary"

    Visual emphasis. primary: solid accent surface with high-contrast text. secondary: feedback-tinted soft surface with accent text. tertiary: neutral surface with bold feedback text. muted: soft surface with muted border and dimmed text. ghost: transparent. adaptive: inherit ambient text color.

  • "inherit" "danger" "neutral" "primary" "success" "warning"
    default primary

    Semantic color tone: `neutral`, `primary`, `success`, `warning`, `danger`, or `inherit`.

  • boolean
    default false

    When true, a child SVG icon stretches to fill the entire stamp container instead of sizing to the stamp's font size.

  • "lg" "md" "sm" "xl" "xs" "none"

    Elevation shadow applied to the surface.

  • "square" "circle"
    default "square"

    Shape of the stamp. square uses the size's border radius; circle rounds to a full circle.

  • "lg" "md" "sm" "xl" "xs" "2xs"
    default "md"

    Size variant, matching Button. xs: extra small. sm: small. md: default. lg: large. xl: extra large.

  • boolean

    Frosted glass: the chosen `background` step at /35 with a large backdrop blur, so content behind the panel shows through. A transparent background stays transparent.

Layout

  • "lg" "md" "sm" "xl" "xs" "2xs" "2xl" "none" "10xl" "11xl" "3xl" "3xs" "4xl" "4xs" "5xl" "6xl" "7xl" "8xl" "9xl"

    Inner padding from the spacing scale.

  • "lg" "md" "sm" "xl" "xs" "2xs" "inherit" "2xl" "none" "3xl" "4xl" "5xl" "6xl" "inner" "full"

    Corner radius from the radii scale (`full` for fully rounded). `inner` computes a concentric corner from the parent panel's radius minus its padding; `inherit` mirrors the parent's corner exactly, for a child that sits flush with its edge.

  • "lg" "md" "sm" "xl" "xs" "2xs" "inherit" "2xl" "none" "3xl" "4xl" "5xl" "6xl" "inner" "full"

    Corner radius for the bottom-left and bottom-right corners.

  • "lg" "md" "sm" "xl" "xs" "2xs" "inherit" "2xl" "none" "3xl" "4xl" "5xl" "6xl" "inner" "full"

    Corner radius for the top-left and bottom-left corners.

  • "lg" "md" "sm" "xl" "xs" "2xs" "inherit" "2xl" "none" "3xl" "4xl" "5xl" "6xl" "inner" "full"

    Corner radius for the top-right and bottom-right corners.

  • "lg" "md" "sm" "xl" "xs" "2xs" "inherit" "2xl" "none" "3xl" "4xl" "5xl" "6xl" "inner" "full"

    Corner radius for the top-left and top-right corners.

  • boolean

    Keep (or drop) the always-1px transparent border the panel reserves so a border appearing or changing never shifts layout. Computed automatically — it's reserved when a resting `border` is visible, or when `interactive` / `borderInteract` / `active` can change the border at runtime. Set `false` only on a panel that must not occupy that 1px (e.g. a borderless housing frame that would otherwise add 2px around a set).

  • boolean
    default false

    Opt the surface into the baseline rhythm. The root takes one whole raster line of padding on every edge and its text slots round their leading UP to a whole number of lines, so the box's height comes out as a whole number of lines without anyone setting a height. Inert when off — a surface rendered without it is byte-identical to before. An ancestor scope (a `<Grid rhythm>`, any `[data-rhythm]`) quantises the text without this prop; the prop is what also puts this box on the raster.

Behavior

  • boolean "current" "checked" "current-within"
    default false

    Mark this as the chosen one in a set (a current nav item, a checked option, a selected card). Where `interactive` says it *can* be clicked, `active` says it *is* the current choice. Use `activeEmphasis` to control how loud the state is. Combined with `interactive`, hover and press restart their stepping from the active baseline rather than falling back to the unchosen ramp. The four values differ only in what drives the state: `true` by the prop (via `data-panel-active`), `"checked"` by a wrapped native input (`:has(input:checked)` — zero JS, nothing to re-render), `"current"` by an existing `aria-current` on the panel, and `"current-within"` by an `aria-current` on a direct child (a split nav row whose link carries it).

  • "primary" "secondary" "tertiary"
    default the panel's `emphasis`

    How loud the `active` state is. Defaults to the panel's own `emphasis`, so the chosen state lands on the same ramp as the resting look — this prop is the override for when the active item should be louder (or quieter) than the panel itself. `"primary"` fills with the feedback accent ramp and flips text to the contrast scale (~150 RGB units of separation — the option that reads at a glance in a dense list). `"secondary"` tints the feedback surface ramp and `"tertiary"` the neutral ramp; both promote text to `bold` and lift the border to the default line, but move the surface only ~7–18 units.

  • boolean

    Enable interactive (hover / focus / press) affordances and states.

Slots

  • children slot svelte
    Snippet

    Stamp content — most commonly a single SVG icon.

Advanced

  • element binding svelte
    HTMLSpanElement null

    Bound reference to the root element (`bind:this`).

  • StampPassThrough<RootElementAttributes>

    Per-slot style and attribute override bag. Each slot accepts a `style` (SystemStyleObject) merged into the slot's class and a `props` object spread onto the element.

Plus all standard <span> HTML attributes.

Type

  • Components
  • Blocks