Skip to content
← Component pinboard

foundation primitive

StickerButton

Give actions and links physical press feedback.

alpha@scout-ui/react
Live · bounded

StickerButton preview

Code

Deterministic React output

Generated code

Plain TSX ready
import { StickerButton } from "@scout-ui/react";
import "@scout-ui/react/styles.css";

export default function StickerButtonExample() {
  return (
    <StickerButton
      tone="acid"
      leading={<span aria-hidden="true">✦</span>}
      trailing={<span aria-hidden="true">→</span>}
    >
      {"Make it stick"}
    </StickerButton>
  );
}

Open full playground →

Search terms: StickerButton, @scout-ui/react, button, anchor, action, loading

Install

Scout UI is in alpha preflight and is not represented here as a public npm release. Inside the workspace, consume the frozen package contract by name.

tsx
import { StickerButton } from "@scout-ui/react";
import "@scout-ui/react/styles.css";

Usage

Use the button branch for actions and the href branch for navigation. Loading is intentionally valid only for buttons.

tsx
import { StickerButton } from "@scout-ui/react";
import "@scout-ui/react/styles.css";

export default function StickerButtonExample() {
  return (
    <StickerButton
      tone="acid"
      leading={<span aria-hidden="true">✦</span>}
      trailing={<span aria-hidden="true">→</span>}
    >
      {"Make it stick"}
    </StickerButton>
  );
}

Examples

Inspect a complete authored setting, then adapt it without copying private implementation details.

Open the related recipe →

API

StickerButtonProps is part of the frozen alpha surface. The table below is generated from the same typed schema that powers presets, preview, Copy Code, share URLs, and Copy AI Prompt.

PropControlDefaultContract
hrefsegmented"button"Choose native button or anchor semantics.
childrentext"Make it stick"Set the visible action label.
toneselect"acid"Choose the action surface tone.
sizesegmented"default"Choose compact, default, or large target geometry.
shapesegmented"paper"Use label, paper, or pill when semantically appropriate.
leadingbooleantrueShow authored leading content.
trailingbooleantrueShow authored trailing content.
fullWidthbooleanfalseFill the available preview row.
loadingbooleanfalsePreserve dimensions and suppress duplicate activation.
reducedMotionselect"system"Use system motion preference or always choose static feedback.

Presets

  • DefaultTactile button action.
  • Editorial linkNative anchor branch.
  • LoadingStable busy state.

Accessibility

Native button and anchor semantics provide expected activation, URL operations, and focus behavior.

Motion and reduced motion

Press feedback switches through color, outline, and hard-shadow state without spatial translation.

Touch and small screens

All named sizes retain practical touch geometry and fullWidth is available when a mobile flow needs it.

SSR and React Server Components

The unmarked leaf is server-compatible for serializable button or anchor output; interactive callbacks need a client consumer.

Performance

Tactile feedback is CSS-only, loading preserves dimensions, and no runtime animation dependency is loaded.

Constraints

Do not use loading on anchors, hide meaningful text behind a spinner, or turn every action into the loudest control.

Source

Inspect the implementation and tests in the public Scout UI repository. Code uses MIT licensing; official artwork uses its separately documented asset license.

Open the public source file ↗