Skip to content
Brok UI

Loading…

No results

Token

Open source

tokenui.dev-inspired design-token documentation chips — a base name → value token with click-to-copy, plus typed variants for colour, typography, dimension, motion and scalar tokens.

Version
v1.1.1
Stability
stable
License
MIT
Related
Token
Color Token
Typography Token
Font Family Token
Font Weight Token
Spacing Token
Radius Token
Elevation Token
Number Token
Order Token
9 of 11

Duration Token — Documents a single motion duration design token — a dot pulsing at the token's speed plus the token name, with the duration value revealed in a tooltip on hover and click-to-copy.

Preview

duration-fast 120ms duration-base 180ms duration-slow 240ms duration-slower 500ms
Side
previews.components.duration-token.default.blade.php Blade
<div class="flex flex-wrap items-center gap-3">
    <x-ui.duration-token name="duration-fast" value="120ms" />
    <x-ui.duration-token name="duration-base" value="180ms" />
    <x-ui.duration-token name="duration-slow" value="240ms" />
    <x-ui.duration-token name="duration-slower" value="500ms" />
</div>
Top Current
Right Current
Bottom Current
Left Current

Installation

terminal
php artisan ui:add duration-token

Registry contract

php artisan ui:add duration-token writes only the files below. The CLI validates each file hash before writing and asks before it replaces a local change, unless you pass --force.

  • blade resources/views/components/ui/duration-token.blade.php
Registry dependencies
token
Packages
composer: jml/brok:^0.2

Use with AI

A brief for your coding agent: install command, usage, props, guidance and the rules. Copy it, or open a prompt about this component in an assistant.

duration-token.md
# Brok UI: Duration Token (`duration-token`)

Documents a single motion duration design token — a dot pulsing at the token's speed plus the token name, with the duration value revealed in a tooltip on hover and click-to-copy.

Brok UI is a Laravel Blade component registry. Installed components are plain Blade files the app owns.

## Install

```bash
php artisan ui:add duration-token
```

## Usage

```blade
<div class="flex flex-wrap items-center gap-3">
    <x-ui.duration-token name="duration-fast" value="120ms" />
    <x-ui.duration-token name="duration-base" value="180ms" />
    <x-ui.duration-token name="duration-slow" value="240ms" />
    <x-ui.duration-token name="duration-slower" value="500ms" />
</div>
```

## Props

- `name` (string, default ``) — Token name shown as the chip label and tooltip trigger.
- `value` (string, default ``) — Token duration value (e.g. "200ms"), shown in the tooltip and copied to the clipboard.
- `copyable` (bool, default `true`) — Shows the copy button when true.
- `side` (string, default `top`) — Tooltip placement side.

## Use when

- Use to document, inspect, and apply design-system decisions consistently across teams and AI tooling.
- Documenting a motion/animation duration token so its speed is visible at a glance, not just its raw number.
- Pairing a duration value with a live preview when writing motion-token documentation.

## Avoid when

- Do not present token-level controls to end users who only need product functionality.
- Documenting a non-duration token; use the matching specialised token component instead.

## Anti-patterns

- Exposing implementation tokens as product settings

## Rules

- Use the `<brok:duration-token>` tag (or `<x-ui.duration-token>`) in Blade; do not rewrite the component.
- Prefer the documented props and variants over utility-class overrides; when a utility must win, use the `!` important modifier.
- Use semantic design tokens (`bg-primary`, `text-muted-foreground`), never raw colour utilities.
- Keep the `data-slot` attributes; they are the styling and test hooks.

## Links

- Docs: https://brokui.dev/docs/components/duration-token
- Registry JSON (files, props, contract): https://brokui.dev/r/open/duration-token.json

Working in Claude Code, Cursor or Codex? Give the agent the whole registry through the MCP server or the Brok UI skill.

API

manifest knowledge + registry-derived coverage

Props

Props accepted by this component: name, type, default value and description.
Prop Type Default Description
name string Token name shown as the chip label and tooltip trigger.
value string Token duration value (e.g. "200ms"), shown in the tooltip and copied to the clipboard.
copyable bool true Shows the copy button when true.
side string top Tooltip placement side.

Slots

  • default — Extra content appended inside the chip.

Data slots

Stable hooks for CSS overrides and browser tests.

duration-token

Behavior

  • Composes the base token chip and supplies a dot that pulses at the token's own speed via an inline animation-duration style, as the indicator.
  • Declares registry capability flags: a11y, responsive, rtl, darkMode, localized.

Guidance

Design-token documentation

Inspect and govern design-system decisions.

Use when

  • Use to document, inspect, and apply design-system decisions consistently across teams and AI tooling.
  • Documenting a motion/animation duration token so its speed is visible at a glance, not just its raw number.
  • Pairing a duration value with a live preview when writing motion-token documentation.

Avoid when

  • Do not present token-level controls to end users who only need product functionality.
  • Documenting a non-duration token; use the matching specialised token component instead.

Use instead

  • Product-level controls for end users

Anti-patterns

  • Exposing implementation tokens as product settings
Anatomy
root
Theming hooks
duration-token

Accessibility

WCAG 2.2 AA Keyboard focus-visible RTL-ready Localized labels Dark mode
Keyboard
No component-owned keyboard interaction; native element behavior applies.
Focus
none
  • The pulsing dot respects prefers-reduced-motion (motion-reduce:animate-none) and is aria-hidden, since the token name and tooltip already convey the value.
  • Semantic HTML and a stable data-slot attribute for styling and scripting hooks.
  • Focus-visible rings use the ring token, so keyboard focus is always visible.
  • Disabled and invalid states are conveyed to assistive tech, not by color alone.
  • Targets WCAG 2.2 AA; verify contrast in light, dark, admin and customer surfaces in the preview.
  • Labels go through __() and layout uses logical properties (ms-*, text-start), so it mirrors under dir="rtl" — flip the preview to RTL to confirm.
  • Dark mode uses the same semantic tokens under the dark class; high contrast follows forced-color system tokens.

Livewire

Safe

Livewire can update this component through forwarded wire:* attributes.

Source

The exact, editable file ui:add writes into your app. Previews render this same code; there are no preview-only components.

resources/views/components/ui/duration-token.blade.php Blade
@props([
    'name' => '',
    'value' => '',
    'copyable' => true,
    'side' => 'top',
])

{{--
    Duration Token (tokenui.dev-inspired) — documents a single motion/animation
    duration design token. A dot pulses at the token's speed plus the token name;
    the duration value is revealed in a tooltip on hover/focus and copied with one
    click. Implements the `duration` type from the W3C Design Tokens spec.
    Composes the base `token` chip and supplies the pulsing dot through its
    `indicator` slot.
--}}

<x-ui.token
    data-slot="duration-token"
    :name="$name"
    :value="$value"
    :copyable="$copyable"
    :side="$side"
    {{ $attributes }}
>
    <x-slot:indicator>
        {{-- motion-safe:animate-pulse is a static class (JIT-visible); the inline style only overrides the duration. --}}
        <span class="size-3 motion-safe:animate-pulse rounded-full bg-primary motion-reduce:animate-none" style="animation-duration: {{ $value }}"></span>
    </x-slot:indicator>
</x-ui.token>

Ownership & lifecycle

Owner, release state, review evidence and adoption for this item.
Owner
Platform UI (@JoshJML)
Current version
1.1.1
Status
Stable
License
open
Accessibility reviewed
No review date recorded
Last breaking change
No date recorded
Deprecation
Not deprecated
Contract
v6
Foundation
≥ 1.0.0