Components
Service tag picker
Single-select radiogroup of ServiceTag pills for choosing a Brik service category.
ServiceTagPicker is a single-select control for picking a Brik service category — Brand, Marketing, Information, Product, Back Office. It renders each category as a selectable ServiceTag pill, drawing colors and labels from the shared categoryConfig so callers never restate the taxonomy.
Use it for
- Assigning a service category to a service line, event, or record
- Any single-choice picker where the options are the Brik service lines
Import
import { ServiceTagPicker } from '@brikdesigns/bds';Variants
Default
import { useState } from 'react';
import type { ServiceLine } from '@brikdesigns/bds';
const [category, setCategory] = useState<ServiceLine>('brand');
<ServiceTagPicker value={category} onChange={setCategory} />Sizes
The size prop is forwarded to the underlying ServiceTag pills.
sm— dense forms and inline editingmd— default for panels and sheetslg— prominent, page-level selection
Limiting the options
Pass categories to offer a subset, in your own order. Omit it to render all canonical service lines.
<ServiceTagPicker
value={category}
onChange={setCategory}
categories={['brand', 'marketing', 'product']}
/>When not to use
Don't use ServiceTagPicker for non-service categories. It is bound to the Brik service lines. For a generic single choice, use SegmentedControl or Select.
- Don't use it for multi-select. It is single-select; for multiple categories use a Checkbox group or MultiSelect.
- Don't restate the category list. Import
SERVICE_LINESrather than hard-coding the categories.
Accessibility
- Renders a
<div role="radiogroup">; each option is a visually-hidden native<input type="radio">wrapped in a<label>around a ServiceTag. - Keyboard behavior is the browser's native radiogroup — Tab reaches the group, arrow keys move selection — with no custom key handling.
- The selected pill carries an emphasis ring; the focused radio shows a focus outline.
API
| Prop | Type | Default |
|---|---|---|
value | ServiceLine | — |
onChange | (category: ServiceLine) => void | — |
categories | readonly ServiceLine[] | SERVICE_LINES |
size | 'sm' | 'md' | 'lg' | 'md' |
disabled | boolean | false |
ariaLabel | string | 'Service category' |