import { WyrdBadge } from "@wyrd-company/react";
<WyrdBadge variant="neutral" content="Draft" />import 'package:wyrd_flutter/wyrd_flutter.dart';
WyrdBadge(
variant: 'neutral',
child: Text('Draft'),
) data-display — wyrd.component.badge
Inline styled text for compact status or metadata without adding standalone semantics.
Install @wyrd-company/react or the Flutter package and use it directly —
your DESIGN.md does the styling.
$schema: https://thewyrdingway.dev/schemas/component-contract.schema.ymlcontractVersion: 0.1.0identity: name: Badge tag: wyrd-badge package: wyrd.component.badge title: Badge summary: Inline styled text for compact status or metadata without adding standalone semantics.relationships: related-to: - quality-parity-and-gatesclassification: category: data-display composition: single-slot interactive: falsetarget-strategy: react: required flutter: requiredsurface: properties: - name: variant type: kind: enum values: - neutral - info - success - warning - danger - availability required: false default: neutral reflects: true serializable: true summary: Visual status tone. slots: - name: content content: true required: true cardinality: exactly-one accepts: - text summary: Visible badge text read inline with surrounding content. events: [] states: - name: default source: platform summary: Neutral inline badge. parts: - name: root summary: Styled text root. slots: - content - name: status-dot summary: Decorative dot shown by the availability variant. tokens: neutral: background: color.surface-container foreground: color.on-surface info: background: color.secondary foreground: color.on-secondary success: background: color.success-container foreground: color.on-success-container warning: background: color.warning-container foreground: color.on-warning-container danger: background: color.error-container foreground: color.on-error-container availability: background: color.surface-container foreground: color.accent-strong dot: color.accent radius: rounded.fullmessages: []obligations: accessibility: role: none keyboard: [] semantics: - Adds no standalone semantics; text is read inline with surrounding content. - Variant color is visual only and must not be the only source of meaning. behavior: model: stateless interactions: [] hostEffects: [] conditions: - rtl - cvd-deuteranopia - density-compact - text-expansion sdui: status: serializable serializableProperties: - variant serializableSlots: - content eventBindings: [] notes: Badge serializes its variant and inline content text.examples: - name: neutral state: default properties: variant: neutral slots: content: Draft - name: info state: default properties: variant: info slots: content: In review - name: success state: default properties: variant: success slots: content: Published - name: warning state: default properties: variant: warning slots: content: Needs attention - name: danger state: default properties: variant: danger slots: content: Failed - name: availability state: default properties: variant: availability slots: content: Available nowoverrides: react: slots: content: content
Generated from the contract's examples block.
Previews are the published @wyrd-company/react component, themed by the
brand's role tokens — flip the site's light/dark toggle and they follow.
import { WyrdBadge } from "@wyrd-company/react";
<WyrdBadge variant="neutral" content="Draft" />import 'package:wyrd_flutter/wyrd_flutter.dart';
WyrdBadge(
variant: 'neutral',
child: Text('Draft'),
) import { WyrdBadge } from "@wyrd-company/react";
<WyrdBadge variant="info" content="In review" />import 'package:wyrd_flutter/wyrd_flutter.dart';
WyrdBadge(
variant: 'info',
child: Text('In review'),
) import { WyrdBadge } from "@wyrd-company/react";
<WyrdBadge variant="success" content="Published" />import 'package:wyrd_flutter/wyrd_flutter.dart';
WyrdBadge(
variant: 'success',
child: Text('Published'),
) import { WyrdBadge } from "@wyrd-company/react";
<WyrdBadge variant="warning" content="Needs attention" />import 'package:wyrd_flutter/wyrd_flutter.dart';
WyrdBadge(
variant: 'warning',
child: Text('Needs attention'),
) import { WyrdBadge } from "@wyrd-company/react";
<WyrdBadge variant="danger" content="Failed" />import 'package:wyrd_flutter/wyrd_flutter.dart';
WyrdBadge(
variant: 'danger',
child: Text('Failed'),
) import { WyrdBadge } from "@wyrd-company/react";
<WyrdBadge variant="availability" content="Available now" />import 'package:wyrd_flutter/wyrd_flutter.dart';
WyrdBadge(
variant: 'availability',
child: Text('Available now'),
) | Name | Type | Default | Summary |
|---|---|---|---|
variant | neutral | info | success | warning | danger | availability | neutral | Visual status tone. |
| Slot | Cardinality | Accepts | Summary |
|---|---|---|---|
content | exactly-one | text | Visible badge text read inline with surrounding content. |
The contract's token bindings. Open the shared contextual sidebar from any example; primary swatches reflect the color you pick there. Error swatches show the active preset's values; editing any knob switches to custom and resets error to TWW · Ink.
| Binding | Token | |
|---|---|---|
neutral.background | color.surface-container | |
neutral.foreground | color.on-surface | |
info.background | color.secondary | |
info.foreground | color.on-secondary | |
success.background | color.success-container | |
success.foreground | color.on-success-container | |
warning.background | color.warning-container | |
warning.foreground | color.on-warning-container | |
danger.background | color.error-container | |
danger.foreground | color.on-error-container | |
availability.background | color.surface-container | |
availability.foreground | color.accent-strong | |
availability.dot | color.accent | |
radius | rounded.full |
| State | Source | Summary |
|---|---|---|
default | platform | Neutral inline badge. |
From the contract's accessibility obligations. Role none
Status: serializable. Badge serializes its variant and inline content text.
| Serializable | Members |
|---|---|
| Properties | variant |
| Slots | content |
| Events | — |