achery-ui 0.6.2 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-NDOQ2YVM.js → chunk-POLIXYAO.js} +9 -3
- package/dist/chunk-POLIXYAO.js.map +1 -0
- package/dist/{chunk-LJ24EJ3N.cjs → chunk-RVXGXYS6.cjs} +9 -2
- package/dist/chunk-RVXGXYS6.cjs.map +1 -0
- package/dist/index.cjs +4216 -215
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +639 -303
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +144 -22
- package/dist/index.d.ts +144 -22
- package/dist/index.js +4208 -215
- package/dist/index.js.map +1 -1
- package/dist/tokens/index.cjs +54 -34
- package/dist/tokens/index.cjs.map +1 -1
- package/dist/tokens/index.d.cts +24 -0
- package/dist/tokens/index.d.ts +24 -0
- package/dist/tokens/index.js +24 -4
- package/dist/tokens/index.js.map +1 -1
- package/package.json +1 -1
- package/src/native/components/MaterialCard.tsx +184 -0
- package/src/native/components/index.ts +3 -0
- package/src/native/index.ts +3 -1
- package/src/native/theme/ThemeContext.tsx +54 -6
- package/dist/chunk-LJ24EJ3N.cjs.map +0 -1
- package/dist/chunk-NDOQ2YVM.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -12,9 +12,36 @@ import { RecipeVariants } from '@vanilla-extract/recipes';
|
|
|
12
12
|
type ThemeMode = 'light' | 'dark' | 'system';
|
|
13
13
|
/** The **resolved** colour mode actually applied to the DOM — always `'light'` or `'dark'`. */
|
|
14
14
|
type ResolvedTheme = 'light' | 'dark';
|
|
15
|
+
/**
|
|
16
|
+
* Controls how loudly the accent runs across the working UI.
|
|
17
|
+
* Set once on the project root via `<AcheryProvider defaultDial="chrome">`.
|
|
18
|
+
*
|
|
19
|
+
* - `'underline'` — accent only on links, focus rings, and the active-tab underline
|
|
20
|
+
* - `'chrome'` — accent threads the wiring: tabs, ticks, eyebrows, outline buttons (default)
|
|
21
|
+
* - `'surface'` — one signature panel floods with accent colour (`.signature-surface`)
|
|
22
|
+
*/
|
|
23
|
+
type AccentDial = 'underline' | 'chrome' | 'surface';
|
|
24
|
+
/**
|
|
25
|
+
* The hero material a project uses for its contained, occasional objects
|
|
26
|
+
* (modals, dialogs, featured cards, receipts).
|
|
27
|
+
*
|
|
28
|
+
* - `'none'` — no material signature; objects use plain paper/ink (default)
|
|
29
|
+
* - `'leather'` — cordovan + gilt; warm, bookish
|
|
30
|
+
* - `'wood'` — walnut + pewter; honest, mid-tone
|
|
31
|
+
* - `'copper'` — oxidised copper + patina; energetic, high-contrast
|
|
32
|
+
*/
|
|
33
|
+
type MaterialSignature = 'none' | 'leather' | 'wood' | 'copper';
|
|
34
|
+
/**
|
|
35
|
+
* How much of the material surfaces on a `.material` object.
|
|
36
|
+
*
|
|
37
|
+
* - `'chrome'` — material only as a spine/trim + metal accents; paper body (default)
|
|
38
|
+
* - `'surface'` — material header band over a paper body
|
|
39
|
+
* - `'full'` — the whole object in material; reserve for rare, celebratory moments
|
|
40
|
+
*/
|
|
41
|
+
type MaterialIntensity = 'chrome' | 'surface' | 'full';
|
|
15
42
|
/**
|
|
16
43
|
* Value provided by {@link ThemeContext} and returned by {@link useTheme}.
|
|
17
|
-
* Gives components read/write access to the active theme and
|
|
44
|
+
* Gives components read/write access to the active theme, accent, dial, and material.
|
|
18
45
|
*/
|
|
19
46
|
interface ThemeContextValue {
|
|
20
47
|
/** The user's colour-mode preference (`'light'` | `'dark'` | `'system'`). */
|
|
@@ -29,6 +56,14 @@ interface ThemeContextValue {
|
|
|
29
56
|
accent: AccentColor;
|
|
30
57
|
/** Set the accent colour. */
|
|
31
58
|
setAccent: (accent: AccentColor) => void;
|
|
59
|
+
/** How loudly the accent runs across the working UI. */
|
|
60
|
+
dial: AccentDial;
|
|
61
|
+
/** Set the accent dial. */
|
|
62
|
+
setDial: (dial: AccentDial) => void;
|
|
63
|
+
/** The hero material signature for this project. */
|
|
64
|
+
material: MaterialSignature;
|
|
65
|
+
/** Set the material signature. */
|
|
66
|
+
setMaterial: (material: MaterialSignature) => void;
|
|
32
67
|
}
|
|
33
68
|
|
|
34
69
|
/** Props for the {@link AcheryProvider} component. */
|
|
@@ -45,6 +80,23 @@ interface AcheryProviderProps {
|
|
|
45
80
|
* @default 'terracotta'
|
|
46
81
|
*/
|
|
47
82
|
defaultAccent?: AccentColor;
|
|
83
|
+
/**
|
|
84
|
+
* How loudly the accent runs across the working UI.
|
|
85
|
+
* - `'underline'` — accent on links, focus, and active-tab underline only
|
|
86
|
+
* - `'chrome'` — accent threads the wiring: tabs, ticks, eyebrows, outlines
|
|
87
|
+
* - `'surface'` — one `.signature-surface` panel floods with accent (default for storefront/game products)
|
|
88
|
+
* @default 'chrome'
|
|
89
|
+
*/
|
|
90
|
+
defaultDial?: AccentDial;
|
|
91
|
+
/**
|
|
92
|
+
* Hero material signature for contained, occasional objects (modals, dialogs, featured cards).
|
|
93
|
+
* - `'none'` — no material; objects use plain paper/ink
|
|
94
|
+
* - `'leather'` — cordovan + gilt
|
|
95
|
+
* - `'wood'` — walnut + pewter
|
|
96
|
+
* - `'copper'` — oxidised copper + patina
|
|
97
|
+
* @default 'none'
|
|
98
|
+
*/
|
|
99
|
+
defaultMaterial?: MaterialSignature;
|
|
48
100
|
/** className applied to the root `[data-achery-root]` div. */
|
|
49
101
|
className?: string;
|
|
50
102
|
/** Inline styles applied to the root `[data-achery-root]` div. */
|
|
@@ -78,7 +130,7 @@ interface AcheryProviderProps {
|
|
|
78
130
|
* }
|
|
79
131
|
* ```
|
|
80
132
|
*/
|
|
81
|
-
declare function AcheryProvider({ children, defaultTheme, defaultAccent, className, style, }: AcheryProviderProps): react_jsx_runtime.JSX.Element;
|
|
133
|
+
declare function AcheryProvider({ children, defaultTheme, defaultAccent, defaultDial, defaultMaterial, className, style, }: AcheryProviderProps): react_jsx_runtime.JSX.Element;
|
|
82
134
|
/**
|
|
83
135
|
* Hook that returns the current theme state and setters from the nearest
|
|
84
136
|
* {@link AcheryProvider}.
|
|
@@ -128,6 +180,11 @@ declare const vars: {
|
|
|
128
180
|
info: `var(--${string})`;
|
|
129
181
|
selectionBg: `var(--${string})`;
|
|
130
182
|
selectionFg: `var(--${string})`;
|
|
183
|
+
material: `var(--${string})`;
|
|
184
|
+
materialFg: `var(--${string})`;
|
|
185
|
+
materialBtnFg: `var(--${string})`;
|
|
186
|
+
metal: `var(--${string})`;
|
|
187
|
+
metalDeep: `var(--${string})`;
|
|
131
188
|
};
|
|
132
189
|
font: {
|
|
133
190
|
display: `var(--${string})`;
|
|
@@ -192,11 +249,11 @@ type ButtonVariant = 'primary' | 'secondary' | 'accent' | 'ghost' | 'danger';
|
|
|
192
249
|
*/
|
|
193
250
|
type BadgeTone = 'saved' | 'drafting' | 'stopped' | 'archived' | 'neutral';
|
|
194
251
|
/**
|
|
195
|
-
* Union of all valid glyph names in the Achery icon set.
|
|
252
|
+
* Union of all valid glyph names in the Achery icon set (394 glyphs + 3 brand marks).
|
|
196
253
|
* Pass to the `name` prop of {@link Glyph}, or to any component that accepts
|
|
197
254
|
* a `glyph?: GlyphName` prop (Button, Card, Sidebar items, etc.).
|
|
198
255
|
*/
|
|
199
|
-
type GlyphName = 'arrow-right' | 'arrow-up' | 'asterism' | 'book' | 'circle' | 'compass' | 'cross' | 'eye' | 'feather' | 'fern' | 'flask' | 'flourish' | 'hand' | 'hex' | 'key' | 'leaf' | 'mark' | 'menu' | 'mercury' | 'minus' | 'moon' | 'plus' | 'salt' | 'scroll' | 'sigil' | 'spinner' | 'sprig' | 'square' | 'star' | 'sulfur' | 'sun' | 'tick' | 'triangle' | 'triangle-down' | 'wordmark';
|
|
256
|
+
type GlyphName = 'acorn' | 'alarm' | 'anchor' | 'ankh' | 'anvil' | 'apple' | 'archive' | 'arrow-down' | 'arrow-down-right' | 'arrow-left' | 'arrow-right' | 'arrow-up' | 'arrow-up-right' | 'asterism' | 'at-sign' | 'atm' | 'award' | 'axe' | 'baby-bottle' | 'backpack' | 'bag' | 'balloon' | 'ban' | 'bandage' | 'bank' | 'barcode' | 'basket' | 'battery' | 'bed' | 'beer' | 'bell' | 'bell-off' | 'bike' | 'bird' | 'bitcoin' | 'blocks' | 'bolt' | 'bone' | 'book' | 'bookmark' | 'bottle' | 'box' | 'brain' | 'bread' | 'briefcase' | 'broom' | 'brush' | 'bug' | 'building' | 'burger' | 'bus' | 'cactus' | 'cake' | 'calculator' | 'calendar' | 'calendar-check' | 'camera' | 'campfire' | 'candle' | 'candy' | 'car' | 'caret-down' | 'caret-left' | 'caret-right' | 'caret-up' | 'cart' | 'cat' | 'chart-bar' | 'chart-line' | 'chart-pie' | 'chat' | 'chat-dots' | 'check-circle' | 'chess' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'chevron-up' | 'chevrons-left' | 'chevrons-right' | 'circle' | 'clapperboard' | 'clipboard' | 'clock' | 'close' | 'cloud' | 'cloud-rain' | 'cloud-sun' | 'cocktail' | 'coffee' | 'coin' | 'coins' | 'collapse' | 'columns' | 'comet' | 'comments' | 'compass' | 'cookie' | 'copy' | 'couch' | 'cpu' | 'credit-card' | 'croissant' | 'cross' | 'crosshair' | 'crown' | 'crystal' | 'cup' | 'database' | 'dice' | 'dog' | 'dollar' | 'donut' | 'door' | 'download' | 'drafting-compass' | 'drag' | 'dress' | 'droplet' | 'dumbbell' | 'edit' | 'egg' | 'element-air' | 'element-earth' | 'element-fire' | 'element-water' | 'eraser' | 'euro' | 'exchange' | 'expand' | 'external-link' | 'eye' | 'eye-off' | 'factory' | 'feather' | 'fern' | 'file' | 'file-plus' | 'film' | 'filter' | 'fingerprint' | 'fire' | 'fire-extinguisher' | 'first-aid' | 'fish' | 'fish-hook' | 'flag' | 'flask' | 'flourish' | 'flower' | 'folder' | 'folder-open' | 'fuel' | 'gamepad' | 'gavel' | 'gear' | 'gem' | 'gift' | 'glasses' | 'globe' | 'grid' | 'guitar' | 'hammer' | 'hand' | 'hand-coin' | 'hanger' | 'hard-drive' | 'hat' | 'headphones' | 'heart' | 'heart-filled' | 'heart-pulse' | 'help' | 'hex' | 'hexagram' | 'history' | 'home' | 'hospital' | 'hourglass' | 'ice-cream' | 'image' | 'inbox' | 'info' | 'key' | 'key-round' | 'keyboard' | 'lamp' | 'laptop' | 'layers' | 'leaf' | 'lightbulb' | 'link' | 'lipstick' | 'list' | 'lock' | 'lotus' | 'luggage' | 'magnet' | 'mail' | 'mail-open' | 'map' | 'mark' | 'mars' | 'mask' | 'maximize' | 'megaphone' | 'menu' | 'mercury' | 'mic' | 'mic-off' | 'milk' | 'minus' | 'minus-circle' | 'money-bill' | 'monitor' | 'moon' | 'more' | 'more-vertical' | 'mortar-pestle' | 'mountain' | 'mushroom' | 'music-note' | 'navigation' | 'needle' | 'noodles' | 'note' | 'nut-bolt' | 'palette' | 'palm-tree' | 'paperclip' | 'parking' | 'passport' | 'pause' | 'paw' | 'pencil' | 'people' | 'percent' | 'perfume' | 'person' | 'person-add' | 'phone' | 'piano' | 'pickaxe' | 'piggy-bank' | 'pill' | 'pin' | 'pizza' | 'plane' | 'planet' | 'play' | 'play-circle' | 'plug' | 'plus' | 'plus-circle' | 'popcorn' | 'potion' | 'pound' | 'printer' | 'puzzle' | 'qr' | 'quintessence' | 'rainbow' | 'receipt' | 'redo' | 'refresh' | 'restaurant' | 'ring' | 'road' | 'rocket' | 'router' | 'rss' | 'ruler' | 'running' | 'salad' | 'salt' | 'save' | 'saw' | 'scale' | 'scales' | 'school' | 'scissors' | 'scooter' | 'screwdriver' | 'scroll' | 'search' | 'send' | 'server' | 'settings' | 'share' | 'shield' | 'shield-check' | 'shield-key' | 'ship' | 'shirt' | 'shoe' | 'shovel' | 'sidebar' | 'sigil' | 'sigil-blade' | 'sigil-cardinal' | 'sigil-eye' | 'sigil-feather' | 'sigil-flame' | 'sigil-flask' | 'sigil-heptagram' | 'sigil-hexnested' | 'sigil-key' | 'sigil-leaf' | 'sigil-moon' | 'sigil-octagram' | 'sigil-pentagram' | 'sigil-solomon' | 'sigil-spiralsquare' | 'sigil-triquetra' | 'sigil-vesica' | 'sigil-wheel' | 'skip-back' | 'skip-forward' | 'skull' | 'sliders' | 'smartphone' | 'snowflake' | 'snowman' | 'soda' | 'sort' | 'spinner' | 'sprig' | 'sprout' | 'square' | 'star' | 'star-filled' | 'stethoscope' | 'stop' | 'store' | 'stroller' | 'sulfur' | 'sun' | 'sunglasses' | 'sunrise' | 'sushi' | 'syringe' | 'taco' | 'tag' | 'target' | 'taxi' | 'teddy' | 'tent' | 'theater-masks' | 'thermometer' | 'thermostat' | 'thumbs-down' | 'thumbs-up' | 'thumbtack' | 'tick' | 'ticket' | 'timer' | 'toggle-off' | 'toggle-on' | 'toolbox' | 'tooth' | 'traffic-light' | 'train' | 'trash' | 'tree' | 'trending-down' | 'trending-up' | 'triangle' | 'triangle-down' | 'trophy' | 'truck' | 'tv' | 'umbrella' | 'undo' | 'unlink' | 'unlock' | 'upload' | 'user-circle' | 'utensils' | 'vault' | 'venus' | 'video' | 'volume' | 'volume-off' | 'wallet' | 'warning' | 'washer' | 'watch' | 'waves' | 'weight-scale' | 'wheelchair' | 'wifi' | 'wind' | 'wine' | 'wordmark' | 'wrench' | 'x-circle' | 'yen';
|
|
200
257
|
/**
|
|
201
258
|
* Sort direction for the {@link Table} component.
|
|
202
259
|
* `null` means no active sort (natural/insertion order).
|
|
@@ -206,15 +263,10 @@ type SortDirection = 'asc' | 'desc' | null;
|
|
|
206
263
|
/** Props for the {@link Glyph} component. */
|
|
207
264
|
interface GlyphProps extends SVGProps<SVGSVGElement> {
|
|
208
265
|
/**
|
|
209
|
-
* Name of the glyph to render. One of the
|
|
266
|
+
* Name of the glyph to render. One of the 394 icons + 3 brand marks in the Achery glyph set.
|
|
267
|
+
* Use `searchGlyphs()` to find glyphs by keyword, or browse categories via `GlyphCategories`.
|
|
210
268
|
*
|
|
211
|
-
* **
|
|
212
|
-
*
|
|
213
|
-
* **Botanical / alchemical:** `fern`, `sprig`, `leaf`, `feather`, `flourish`, `asterism`, `sigil`, `salt`, `sulfur`, `mercury`
|
|
214
|
-
*
|
|
215
|
-
* **Editorial / tools:** `book`, `scroll`, `feather`, `key`, `flask`, `compass`, `eye`, `hand`, `star`, `moon`, `sun`, `spinner`
|
|
216
|
-
*
|
|
217
|
-
* **Brand:** `mark`, `wordmark`
|
|
269
|
+
* **Brand:** `mark`, `wordmark`, `sigil`
|
|
218
270
|
*/
|
|
219
271
|
name: GlyphName;
|
|
220
272
|
/**
|
|
@@ -235,18 +287,43 @@ interface GlyphProps extends SVGProps<SVGSVGElement> {
|
|
|
235
287
|
*
|
|
236
288
|
* For decorative use, omit `title` (the glyph is `aria-hidden` by default).
|
|
237
289
|
* For semantic use (icon-only button labels etc.), provide a `title`.
|
|
238
|
-
*
|
|
239
|
-
* @example
|
|
240
|
-
* ```tsx
|
|
241
|
-
* // Decorative
|
|
242
|
-
* <Glyph name="fern" size={24} />
|
|
243
|
-
*
|
|
244
|
-
* // Semantic (in an icon-only button)
|
|
245
|
-
* <button aria-label="Close"><Glyph name="cross" size={16} /></button>
|
|
246
|
-
* ```
|
|
247
290
|
*/
|
|
248
291
|
declare function Glyph({ name, size, title, className, style, ...props }: GlyphProps): react_jsx_runtime.JSX.Element;
|
|
249
292
|
|
|
293
|
+
declare const GlyphCategories: Record<string, readonly GlyphName[]>;
|
|
294
|
+
type GlyphCategory = keyof typeof GlyphCategories;
|
|
295
|
+
declare const GlyphAliases: Partial<Record<GlyphName, readonly string[]>>;
|
|
296
|
+
/** Human label: 'chart-bar' → 'Chart Bar'. */
|
|
297
|
+
declare const glyphLabel: (name: GlyphName) => string;
|
|
298
|
+
/** Category a glyph belongs to (first match), or undefined. */
|
|
299
|
+
declare const glyphCategory: (name: GlyphName) => GlyphCategory | undefined;
|
|
300
|
+
interface GlyphSearchResult {
|
|
301
|
+
name: GlyphName;
|
|
302
|
+
score: number;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Search glyphs by free text, ranked by relevance (higher = better).
|
|
306
|
+
*
|
|
307
|
+
* Multi-word queries use AND semantics — every token must hit something.
|
|
308
|
+
* Returns matches sorted by score desc, then alphabetically, capped by `limit`.
|
|
309
|
+
*/
|
|
310
|
+
declare const searchGlyphs: (query: string, allNames: readonly GlyphName[], limit?: number) => GlyphSearchResult[];
|
|
311
|
+
|
|
312
|
+
interface GlyphPickerProps {
|
|
313
|
+
/** Currently selected glyph, or undefined for none. */
|
|
314
|
+
value?: GlyphName;
|
|
315
|
+
/** Called when a glyph is selected or cleared. */
|
|
316
|
+
onChange?: (name: GlyphName | undefined) => void;
|
|
317
|
+
/** Placeholder shown when no glyph is selected. */
|
|
318
|
+
placeholder?: string;
|
|
319
|
+
/** Disable the picker. */
|
|
320
|
+
disabled?: boolean;
|
|
321
|
+
/** Show a clear button in the trigger when a value is selected. */
|
|
322
|
+
clearable?: boolean;
|
|
323
|
+
className?: string;
|
|
324
|
+
}
|
|
325
|
+
declare const GlyphPicker: ({ value, onChange, placeholder, disabled, clearable, className, }: GlyphPickerProps) => react_jsx_runtime.JSX.Element;
|
|
326
|
+
|
|
250
327
|
type PolymorphicProps<E extends ElementType> = HTMLAttributes<HTMLElement> & {
|
|
251
328
|
as?: E;
|
|
252
329
|
children?: ReactNode;
|
|
@@ -1948,4 +2025,49 @@ interface AvatarProps {
|
|
|
1948
2025
|
}
|
|
1949
2026
|
declare function Avatar({ initials, size, tone, loading, className }: AvatarProps): react_jsx_runtime.JSX.Element;
|
|
1950
2027
|
|
|
1951
|
-
|
|
2028
|
+
/** Props for the {@link MaterialCard} component. */
|
|
2029
|
+
interface MaterialCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
2030
|
+
/**
|
|
2031
|
+
* How much of the material surfaces on this object.
|
|
2032
|
+
* - `'chrome'` — material as spine + metal trim only; paper body (default)
|
|
2033
|
+
* - `'surface'` — material header band over a paper body
|
|
2034
|
+
* - `'full'` — the whole object in material; reserve for rare, celebratory moments
|
|
2035
|
+
* @default 'chrome'
|
|
2036
|
+
*/
|
|
2037
|
+
intensity?: MaterialIntensity;
|
|
2038
|
+
/**
|
|
2039
|
+
* Header slot — rendered as `.material__bar`. Receives material background
|
|
2040
|
+
* at `surface` and `full` intensities. Pass a string for the title or a
|
|
2041
|
+
* ReactNode for a custom bar layout.
|
|
2042
|
+
*/
|
|
2043
|
+
header?: ReactNode;
|
|
2044
|
+
/**
|
|
2045
|
+
* Footer slot — rendered as `.material__foot` with a top border rule.
|
|
2046
|
+
* Ideal for action buttons.
|
|
2047
|
+
*/
|
|
2048
|
+
footer?: ReactNode;
|
|
2049
|
+
children?: ReactNode;
|
|
2050
|
+
className?: string;
|
|
2051
|
+
}
|
|
2052
|
+
/**
|
|
2053
|
+
* A contained, bounded surface that wears the project's material signature.
|
|
2054
|
+
* Use for modals, dialogs, featured cards, receipts — objects that *arrive*
|
|
2055
|
+
* and demand a moment of attention.
|
|
2056
|
+
*
|
|
2057
|
+
* The working page stays plain paper/ink. The material is the occasion.
|
|
2058
|
+
*
|
|
2059
|
+
* The parent `<AcheryProvider defaultMaterial="leather">` (or `wood` / `copper`)
|
|
2060
|
+
* sets which signature is used; the `intensity` prop controls how loudly it
|
|
2061
|
+
* surfaces on this object.
|
|
2062
|
+
*
|
|
2063
|
+
* @example
|
|
2064
|
+
* ```tsx
|
|
2065
|
+
* <MaterialCard intensity="surface" header="Close the month" footer={<Button>Bind & archive</Button>}>
|
|
2066
|
+
* <Eyebrow>November · ready to bind</Eyebrow>
|
|
2067
|
+
* <Body>Seal the ledger and file it to the archive.</Body>
|
|
2068
|
+
* </MaterialCard>
|
|
2069
|
+
* ```
|
|
2070
|
+
*/
|
|
2071
|
+
declare function MaterialCard({ intensity, header, footer, children, className, ...props }: MaterialCardProps): react_jsx_runtime.JSX.Element;
|
|
2072
|
+
|
|
2073
|
+
export { AccentColor, type AccentDial, AcheryProvider, type AcheryProviderProps, AppBar, type AppBarProps, Avatar, type AvatarProps, type AvatarSize, type AvatarTone, Badge, type BadgeProps, type BadgeTone, Body, type BodyProps, Button, type ButtonProps, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, type ColumnDef, Combobox, type ComboboxProps, type ComponentSize, ConfirmDialogProvider, type ConfirmOptions, DatePicker, type DatePickerProps, Display, EntityPill, type EntityPillProps, Eyebrow, type EyebrowProps, Field, type FieldProps, Glyph, GlyphAliases, GlyphCategories, type GlyphCategory, type GlyphName, GlyphPicker, type GlyphPickerProps, type GlyphProps, type GlyphSearchResult, Heading, type HeadingProps, Input, type InputProps, type InputStatus, KpiTile, type KpiTileProps, LetterStamp, type LetterStampProps, type LetterStampSize, type LetterStampTone, Marginalia, type MarginaliaProps, MaterialCard, type MaterialCardProps, type MaterialIntensity, type MaterialSignature, Menu, type MenuItemDef, type MenuProps, type MenuSeparator, Modal, type ModalProps, Mono, type MonoProps, type NavGroupDef, type NavItemDef, ProgressBar, type ProgressBarProps, SearchInput, type SearchInputProps, Select, type SelectProps, Sidebar, type SidebarLinkProps, type SidebarProps, SingleCombobox, type SingleComboboxProps, Skeleton, type SkeletonProps, type SortDirection, Sparkline, type SparklineProps, type SparklineTone, StatePill, type StatePillProps, type SubscriptionState, type TabItem, Table, type TableProps, Tabs, type TabsProps, Textarea, type TextareaProps, type ThemeMode, type ToastData, ToastProvider, type ToastProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, type TransactionType, TypeTag, type TypeTagProps, glyphCategory, glyphLabel, searchGlyphs, useConfirm, useTheme, useToast, vars };
|
package/dist/index.d.ts
CHANGED
|
@@ -12,9 +12,36 @@ import { RecipeVariants } from '@vanilla-extract/recipes';
|
|
|
12
12
|
type ThemeMode = 'light' | 'dark' | 'system';
|
|
13
13
|
/** The **resolved** colour mode actually applied to the DOM — always `'light'` or `'dark'`. */
|
|
14
14
|
type ResolvedTheme = 'light' | 'dark';
|
|
15
|
+
/**
|
|
16
|
+
* Controls how loudly the accent runs across the working UI.
|
|
17
|
+
* Set once on the project root via `<AcheryProvider defaultDial="chrome">`.
|
|
18
|
+
*
|
|
19
|
+
* - `'underline'` — accent only on links, focus rings, and the active-tab underline
|
|
20
|
+
* - `'chrome'` — accent threads the wiring: tabs, ticks, eyebrows, outline buttons (default)
|
|
21
|
+
* - `'surface'` — one signature panel floods with accent colour (`.signature-surface`)
|
|
22
|
+
*/
|
|
23
|
+
type AccentDial = 'underline' | 'chrome' | 'surface';
|
|
24
|
+
/**
|
|
25
|
+
* The hero material a project uses for its contained, occasional objects
|
|
26
|
+
* (modals, dialogs, featured cards, receipts).
|
|
27
|
+
*
|
|
28
|
+
* - `'none'` — no material signature; objects use plain paper/ink (default)
|
|
29
|
+
* - `'leather'` — cordovan + gilt; warm, bookish
|
|
30
|
+
* - `'wood'` — walnut + pewter; honest, mid-tone
|
|
31
|
+
* - `'copper'` — oxidised copper + patina; energetic, high-contrast
|
|
32
|
+
*/
|
|
33
|
+
type MaterialSignature = 'none' | 'leather' | 'wood' | 'copper';
|
|
34
|
+
/**
|
|
35
|
+
* How much of the material surfaces on a `.material` object.
|
|
36
|
+
*
|
|
37
|
+
* - `'chrome'` — material only as a spine/trim + metal accents; paper body (default)
|
|
38
|
+
* - `'surface'` — material header band over a paper body
|
|
39
|
+
* - `'full'` — the whole object in material; reserve for rare, celebratory moments
|
|
40
|
+
*/
|
|
41
|
+
type MaterialIntensity = 'chrome' | 'surface' | 'full';
|
|
15
42
|
/**
|
|
16
43
|
* Value provided by {@link ThemeContext} and returned by {@link useTheme}.
|
|
17
|
-
* Gives components read/write access to the active theme and
|
|
44
|
+
* Gives components read/write access to the active theme, accent, dial, and material.
|
|
18
45
|
*/
|
|
19
46
|
interface ThemeContextValue {
|
|
20
47
|
/** The user's colour-mode preference (`'light'` | `'dark'` | `'system'`). */
|
|
@@ -29,6 +56,14 @@ interface ThemeContextValue {
|
|
|
29
56
|
accent: AccentColor;
|
|
30
57
|
/** Set the accent colour. */
|
|
31
58
|
setAccent: (accent: AccentColor) => void;
|
|
59
|
+
/** How loudly the accent runs across the working UI. */
|
|
60
|
+
dial: AccentDial;
|
|
61
|
+
/** Set the accent dial. */
|
|
62
|
+
setDial: (dial: AccentDial) => void;
|
|
63
|
+
/** The hero material signature for this project. */
|
|
64
|
+
material: MaterialSignature;
|
|
65
|
+
/** Set the material signature. */
|
|
66
|
+
setMaterial: (material: MaterialSignature) => void;
|
|
32
67
|
}
|
|
33
68
|
|
|
34
69
|
/** Props for the {@link AcheryProvider} component. */
|
|
@@ -45,6 +80,23 @@ interface AcheryProviderProps {
|
|
|
45
80
|
* @default 'terracotta'
|
|
46
81
|
*/
|
|
47
82
|
defaultAccent?: AccentColor;
|
|
83
|
+
/**
|
|
84
|
+
* How loudly the accent runs across the working UI.
|
|
85
|
+
* - `'underline'` — accent on links, focus, and active-tab underline only
|
|
86
|
+
* - `'chrome'` — accent threads the wiring: tabs, ticks, eyebrows, outlines
|
|
87
|
+
* - `'surface'` — one `.signature-surface` panel floods with accent (default for storefront/game products)
|
|
88
|
+
* @default 'chrome'
|
|
89
|
+
*/
|
|
90
|
+
defaultDial?: AccentDial;
|
|
91
|
+
/**
|
|
92
|
+
* Hero material signature for contained, occasional objects (modals, dialogs, featured cards).
|
|
93
|
+
* - `'none'` — no material; objects use plain paper/ink
|
|
94
|
+
* - `'leather'` — cordovan + gilt
|
|
95
|
+
* - `'wood'` — walnut + pewter
|
|
96
|
+
* - `'copper'` — oxidised copper + patina
|
|
97
|
+
* @default 'none'
|
|
98
|
+
*/
|
|
99
|
+
defaultMaterial?: MaterialSignature;
|
|
48
100
|
/** className applied to the root `[data-achery-root]` div. */
|
|
49
101
|
className?: string;
|
|
50
102
|
/** Inline styles applied to the root `[data-achery-root]` div. */
|
|
@@ -78,7 +130,7 @@ interface AcheryProviderProps {
|
|
|
78
130
|
* }
|
|
79
131
|
* ```
|
|
80
132
|
*/
|
|
81
|
-
declare function AcheryProvider({ children, defaultTheme, defaultAccent, className, style, }: AcheryProviderProps): react_jsx_runtime.JSX.Element;
|
|
133
|
+
declare function AcheryProvider({ children, defaultTheme, defaultAccent, defaultDial, defaultMaterial, className, style, }: AcheryProviderProps): react_jsx_runtime.JSX.Element;
|
|
82
134
|
/**
|
|
83
135
|
* Hook that returns the current theme state and setters from the nearest
|
|
84
136
|
* {@link AcheryProvider}.
|
|
@@ -128,6 +180,11 @@ declare const vars: {
|
|
|
128
180
|
info: `var(--${string})`;
|
|
129
181
|
selectionBg: `var(--${string})`;
|
|
130
182
|
selectionFg: `var(--${string})`;
|
|
183
|
+
material: `var(--${string})`;
|
|
184
|
+
materialFg: `var(--${string})`;
|
|
185
|
+
materialBtnFg: `var(--${string})`;
|
|
186
|
+
metal: `var(--${string})`;
|
|
187
|
+
metalDeep: `var(--${string})`;
|
|
131
188
|
};
|
|
132
189
|
font: {
|
|
133
190
|
display: `var(--${string})`;
|
|
@@ -192,11 +249,11 @@ type ButtonVariant = 'primary' | 'secondary' | 'accent' | 'ghost' | 'danger';
|
|
|
192
249
|
*/
|
|
193
250
|
type BadgeTone = 'saved' | 'drafting' | 'stopped' | 'archived' | 'neutral';
|
|
194
251
|
/**
|
|
195
|
-
* Union of all valid glyph names in the Achery icon set.
|
|
252
|
+
* Union of all valid glyph names in the Achery icon set (394 glyphs + 3 brand marks).
|
|
196
253
|
* Pass to the `name` prop of {@link Glyph}, or to any component that accepts
|
|
197
254
|
* a `glyph?: GlyphName` prop (Button, Card, Sidebar items, etc.).
|
|
198
255
|
*/
|
|
199
|
-
type GlyphName = 'arrow-right' | 'arrow-up' | 'asterism' | 'book' | 'circle' | 'compass' | 'cross' | 'eye' | 'feather' | 'fern' | 'flask' | 'flourish' | 'hand' | 'hex' | 'key' | 'leaf' | 'mark' | 'menu' | 'mercury' | 'minus' | 'moon' | 'plus' | 'salt' | 'scroll' | 'sigil' | 'spinner' | 'sprig' | 'square' | 'star' | 'sulfur' | 'sun' | 'tick' | 'triangle' | 'triangle-down' | 'wordmark';
|
|
256
|
+
type GlyphName = 'acorn' | 'alarm' | 'anchor' | 'ankh' | 'anvil' | 'apple' | 'archive' | 'arrow-down' | 'arrow-down-right' | 'arrow-left' | 'arrow-right' | 'arrow-up' | 'arrow-up-right' | 'asterism' | 'at-sign' | 'atm' | 'award' | 'axe' | 'baby-bottle' | 'backpack' | 'bag' | 'balloon' | 'ban' | 'bandage' | 'bank' | 'barcode' | 'basket' | 'battery' | 'bed' | 'beer' | 'bell' | 'bell-off' | 'bike' | 'bird' | 'bitcoin' | 'blocks' | 'bolt' | 'bone' | 'book' | 'bookmark' | 'bottle' | 'box' | 'brain' | 'bread' | 'briefcase' | 'broom' | 'brush' | 'bug' | 'building' | 'burger' | 'bus' | 'cactus' | 'cake' | 'calculator' | 'calendar' | 'calendar-check' | 'camera' | 'campfire' | 'candle' | 'candy' | 'car' | 'caret-down' | 'caret-left' | 'caret-right' | 'caret-up' | 'cart' | 'cat' | 'chart-bar' | 'chart-line' | 'chart-pie' | 'chat' | 'chat-dots' | 'check-circle' | 'chess' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'chevron-up' | 'chevrons-left' | 'chevrons-right' | 'circle' | 'clapperboard' | 'clipboard' | 'clock' | 'close' | 'cloud' | 'cloud-rain' | 'cloud-sun' | 'cocktail' | 'coffee' | 'coin' | 'coins' | 'collapse' | 'columns' | 'comet' | 'comments' | 'compass' | 'cookie' | 'copy' | 'couch' | 'cpu' | 'credit-card' | 'croissant' | 'cross' | 'crosshair' | 'crown' | 'crystal' | 'cup' | 'database' | 'dice' | 'dog' | 'dollar' | 'donut' | 'door' | 'download' | 'drafting-compass' | 'drag' | 'dress' | 'droplet' | 'dumbbell' | 'edit' | 'egg' | 'element-air' | 'element-earth' | 'element-fire' | 'element-water' | 'eraser' | 'euro' | 'exchange' | 'expand' | 'external-link' | 'eye' | 'eye-off' | 'factory' | 'feather' | 'fern' | 'file' | 'file-plus' | 'film' | 'filter' | 'fingerprint' | 'fire' | 'fire-extinguisher' | 'first-aid' | 'fish' | 'fish-hook' | 'flag' | 'flask' | 'flourish' | 'flower' | 'folder' | 'folder-open' | 'fuel' | 'gamepad' | 'gavel' | 'gear' | 'gem' | 'gift' | 'glasses' | 'globe' | 'grid' | 'guitar' | 'hammer' | 'hand' | 'hand-coin' | 'hanger' | 'hard-drive' | 'hat' | 'headphones' | 'heart' | 'heart-filled' | 'heart-pulse' | 'help' | 'hex' | 'hexagram' | 'history' | 'home' | 'hospital' | 'hourglass' | 'ice-cream' | 'image' | 'inbox' | 'info' | 'key' | 'key-round' | 'keyboard' | 'lamp' | 'laptop' | 'layers' | 'leaf' | 'lightbulb' | 'link' | 'lipstick' | 'list' | 'lock' | 'lotus' | 'luggage' | 'magnet' | 'mail' | 'mail-open' | 'map' | 'mark' | 'mars' | 'mask' | 'maximize' | 'megaphone' | 'menu' | 'mercury' | 'mic' | 'mic-off' | 'milk' | 'minus' | 'minus-circle' | 'money-bill' | 'monitor' | 'moon' | 'more' | 'more-vertical' | 'mortar-pestle' | 'mountain' | 'mushroom' | 'music-note' | 'navigation' | 'needle' | 'noodles' | 'note' | 'nut-bolt' | 'palette' | 'palm-tree' | 'paperclip' | 'parking' | 'passport' | 'pause' | 'paw' | 'pencil' | 'people' | 'percent' | 'perfume' | 'person' | 'person-add' | 'phone' | 'piano' | 'pickaxe' | 'piggy-bank' | 'pill' | 'pin' | 'pizza' | 'plane' | 'planet' | 'play' | 'play-circle' | 'plug' | 'plus' | 'plus-circle' | 'popcorn' | 'potion' | 'pound' | 'printer' | 'puzzle' | 'qr' | 'quintessence' | 'rainbow' | 'receipt' | 'redo' | 'refresh' | 'restaurant' | 'ring' | 'road' | 'rocket' | 'router' | 'rss' | 'ruler' | 'running' | 'salad' | 'salt' | 'save' | 'saw' | 'scale' | 'scales' | 'school' | 'scissors' | 'scooter' | 'screwdriver' | 'scroll' | 'search' | 'send' | 'server' | 'settings' | 'share' | 'shield' | 'shield-check' | 'shield-key' | 'ship' | 'shirt' | 'shoe' | 'shovel' | 'sidebar' | 'sigil' | 'sigil-blade' | 'sigil-cardinal' | 'sigil-eye' | 'sigil-feather' | 'sigil-flame' | 'sigil-flask' | 'sigil-heptagram' | 'sigil-hexnested' | 'sigil-key' | 'sigil-leaf' | 'sigil-moon' | 'sigil-octagram' | 'sigil-pentagram' | 'sigil-solomon' | 'sigil-spiralsquare' | 'sigil-triquetra' | 'sigil-vesica' | 'sigil-wheel' | 'skip-back' | 'skip-forward' | 'skull' | 'sliders' | 'smartphone' | 'snowflake' | 'snowman' | 'soda' | 'sort' | 'spinner' | 'sprig' | 'sprout' | 'square' | 'star' | 'star-filled' | 'stethoscope' | 'stop' | 'store' | 'stroller' | 'sulfur' | 'sun' | 'sunglasses' | 'sunrise' | 'sushi' | 'syringe' | 'taco' | 'tag' | 'target' | 'taxi' | 'teddy' | 'tent' | 'theater-masks' | 'thermometer' | 'thermostat' | 'thumbs-down' | 'thumbs-up' | 'thumbtack' | 'tick' | 'ticket' | 'timer' | 'toggle-off' | 'toggle-on' | 'toolbox' | 'tooth' | 'traffic-light' | 'train' | 'trash' | 'tree' | 'trending-down' | 'trending-up' | 'triangle' | 'triangle-down' | 'trophy' | 'truck' | 'tv' | 'umbrella' | 'undo' | 'unlink' | 'unlock' | 'upload' | 'user-circle' | 'utensils' | 'vault' | 'venus' | 'video' | 'volume' | 'volume-off' | 'wallet' | 'warning' | 'washer' | 'watch' | 'waves' | 'weight-scale' | 'wheelchair' | 'wifi' | 'wind' | 'wine' | 'wordmark' | 'wrench' | 'x-circle' | 'yen';
|
|
200
257
|
/**
|
|
201
258
|
* Sort direction for the {@link Table} component.
|
|
202
259
|
* `null` means no active sort (natural/insertion order).
|
|
@@ -206,15 +263,10 @@ type SortDirection = 'asc' | 'desc' | null;
|
|
|
206
263
|
/** Props for the {@link Glyph} component. */
|
|
207
264
|
interface GlyphProps extends SVGProps<SVGSVGElement> {
|
|
208
265
|
/**
|
|
209
|
-
* Name of the glyph to render. One of the
|
|
266
|
+
* Name of the glyph to render. One of the 394 icons + 3 brand marks in the Achery glyph set.
|
|
267
|
+
* Use `searchGlyphs()` to find glyphs by keyword, or browse categories via `GlyphCategories`.
|
|
210
268
|
*
|
|
211
|
-
* **
|
|
212
|
-
*
|
|
213
|
-
* **Botanical / alchemical:** `fern`, `sprig`, `leaf`, `feather`, `flourish`, `asterism`, `sigil`, `salt`, `sulfur`, `mercury`
|
|
214
|
-
*
|
|
215
|
-
* **Editorial / tools:** `book`, `scroll`, `feather`, `key`, `flask`, `compass`, `eye`, `hand`, `star`, `moon`, `sun`, `spinner`
|
|
216
|
-
*
|
|
217
|
-
* **Brand:** `mark`, `wordmark`
|
|
269
|
+
* **Brand:** `mark`, `wordmark`, `sigil`
|
|
218
270
|
*/
|
|
219
271
|
name: GlyphName;
|
|
220
272
|
/**
|
|
@@ -235,18 +287,43 @@ interface GlyphProps extends SVGProps<SVGSVGElement> {
|
|
|
235
287
|
*
|
|
236
288
|
* For decorative use, omit `title` (the glyph is `aria-hidden` by default).
|
|
237
289
|
* For semantic use (icon-only button labels etc.), provide a `title`.
|
|
238
|
-
*
|
|
239
|
-
* @example
|
|
240
|
-
* ```tsx
|
|
241
|
-
* // Decorative
|
|
242
|
-
* <Glyph name="fern" size={24} />
|
|
243
|
-
*
|
|
244
|
-
* // Semantic (in an icon-only button)
|
|
245
|
-
* <button aria-label="Close"><Glyph name="cross" size={16} /></button>
|
|
246
|
-
* ```
|
|
247
290
|
*/
|
|
248
291
|
declare function Glyph({ name, size, title, className, style, ...props }: GlyphProps): react_jsx_runtime.JSX.Element;
|
|
249
292
|
|
|
293
|
+
declare const GlyphCategories: Record<string, readonly GlyphName[]>;
|
|
294
|
+
type GlyphCategory = keyof typeof GlyphCategories;
|
|
295
|
+
declare const GlyphAliases: Partial<Record<GlyphName, readonly string[]>>;
|
|
296
|
+
/** Human label: 'chart-bar' → 'Chart Bar'. */
|
|
297
|
+
declare const glyphLabel: (name: GlyphName) => string;
|
|
298
|
+
/** Category a glyph belongs to (first match), or undefined. */
|
|
299
|
+
declare const glyphCategory: (name: GlyphName) => GlyphCategory | undefined;
|
|
300
|
+
interface GlyphSearchResult {
|
|
301
|
+
name: GlyphName;
|
|
302
|
+
score: number;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Search glyphs by free text, ranked by relevance (higher = better).
|
|
306
|
+
*
|
|
307
|
+
* Multi-word queries use AND semantics — every token must hit something.
|
|
308
|
+
* Returns matches sorted by score desc, then alphabetically, capped by `limit`.
|
|
309
|
+
*/
|
|
310
|
+
declare const searchGlyphs: (query: string, allNames: readonly GlyphName[], limit?: number) => GlyphSearchResult[];
|
|
311
|
+
|
|
312
|
+
interface GlyphPickerProps {
|
|
313
|
+
/** Currently selected glyph, or undefined for none. */
|
|
314
|
+
value?: GlyphName;
|
|
315
|
+
/** Called when a glyph is selected or cleared. */
|
|
316
|
+
onChange?: (name: GlyphName | undefined) => void;
|
|
317
|
+
/** Placeholder shown when no glyph is selected. */
|
|
318
|
+
placeholder?: string;
|
|
319
|
+
/** Disable the picker. */
|
|
320
|
+
disabled?: boolean;
|
|
321
|
+
/** Show a clear button in the trigger when a value is selected. */
|
|
322
|
+
clearable?: boolean;
|
|
323
|
+
className?: string;
|
|
324
|
+
}
|
|
325
|
+
declare const GlyphPicker: ({ value, onChange, placeholder, disabled, clearable, className, }: GlyphPickerProps) => react_jsx_runtime.JSX.Element;
|
|
326
|
+
|
|
250
327
|
type PolymorphicProps<E extends ElementType> = HTMLAttributes<HTMLElement> & {
|
|
251
328
|
as?: E;
|
|
252
329
|
children?: ReactNode;
|
|
@@ -1948,4 +2025,49 @@ interface AvatarProps {
|
|
|
1948
2025
|
}
|
|
1949
2026
|
declare function Avatar({ initials, size, tone, loading, className }: AvatarProps): react_jsx_runtime.JSX.Element;
|
|
1950
2027
|
|
|
1951
|
-
|
|
2028
|
+
/** Props for the {@link MaterialCard} component. */
|
|
2029
|
+
interface MaterialCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
2030
|
+
/**
|
|
2031
|
+
* How much of the material surfaces on this object.
|
|
2032
|
+
* - `'chrome'` — material as spine + metal trim only; paper body (default)
|
|
2033
|
+
* - `'surface'` — material header band over a paper body
|
|
2034
|
+
* - `'full'` — the whole object in material; reserve for rare, celebratory moments
|
|
2035
|
+
* @default 'chrome'
|
|
2036
|
+
*/
|
|
2037
|
+
intensity?: MaterialIntensity;
|
|
2038
|
+
/**
|
|
2039
|
+
* Header slot — rendered as `.material__bar`. Receives material background
|
|
2040
|
+
* at `surface` and `full` intensities. Pass a string for the title or a
|
|
2041
|
+
* ReactNode for a custom bar layout.
|
|
2042
|
+
*/
|
|
2043
|
+
header?: ReactNode;
|
|
2044
|
+
/**
|
|
2045
|
+
* Footer slot — rendered as `.material__foot` with a top border rule.
|
|
2046
|
+
* Ideal for action buttons.
|
|
2047
|
+
*/
|
|
2048
|
+
footer?: ReactNode;
|
|
2049
|
+
children?: ReactNode;
|
|
2050
|
+
className?: string;
|
|
2051
|
+
}
|
|
2052
|
+
/**
|
|
2053
|
+
* A contained, bounded surface that wears the project's material signature.
|
|
2054
|
+
* Use for modals, dialogs, featured cards, receipts — objects that *arrive*
|
|
2055
|
+
* and demand a moment of attention.
|
|
2056
|
+
*
|
|
2057
|
+
* The working page stays plain paper/ink. The material is the occasion.
|
|
2058
|
+
*
|
|
2059
|
+
* The parent `<AcheryProvider defaultMaterial="leather">` (or `wood` / `copper`)
|
|
2060
|
+
* sets which signature is used; the `intensity` prop controls how loudly it
|
|
2061
|
+
* surfaces on this object.
|
|
2062
|
+
*
|
|
2063
|
+
* @example
|
|
2064
|
+
* ```tsx
|
|
2065
|
+
* <MaterialCard intensity="surface" header="Close the month" footer={<Button>Bind & archive</Button>}>
|
|
2066
|
+
* <Eyebrow>November · ready to bind</Eyebrow>
|
|
2067
|
+
* <Body>Seal the ledger and file it to the archive.</Body>
|
|
2068
|
+
* </MaterialCard>
|
|
2069
|
+
* ```
|
|
2070
|
+
*/
|
|
2071
|
+
declare function MaterialCard({ intensity, header, footer, children, className, ...props }: MaterialCardProps): react_jsx_runtime.JSX.Element;
|
|
2072
|
+
|
|
2073
|
+
export { AccentColor, type AccentDial, AcheryProvider, type AcheryProviderProps, AppBar, type AppBarProps, Avatar, type AvatarProps, type AvatarSize, type AvatarTone, Badge, type BadgeProps, type BadgeTone, Body, type BodyProps, Button, type ButtonProps, type ButtonVariant, Card, type CardProps, Checkbox, type CheckboxProps, type ColumnDef, Combobox, type ComboboxProps, type ComponentSize, ConfirmDialogProvider, type ConfirmOptions, DatePicker, type DatePickerProps, Display, EntityPill, type EntityPillProps, Eyebrow, type EyebrowProps, Field, type FieldProps, Glyph, GlyphAliases, GlyphCategories, type GlyphCategory, type GlyphName, GlyphPicker, type GlyphPickerProps, type GlyphProps, type GlyphSearchResult, Heading, type HeadingProps, Input, type InputProps, type InputStatus, KpiTile, type KpiTileProps, LetterStamp, type LetterStampProps, type LetterStampSize, type LetterStampTone, Marginalia, type MarginaliaProps, MaterialCard, type MaterialCardProps, type MaterialIntensity, type MaterialSignature, Menu, type MenuItemDef, type MenuProps, type MenuSeparator, Modal, type ModalProps, Mono, type MonoProps, type NavGroupDef, type NavItemDef, ProgressBar, type ProgressBarProps, SearchInput, type SearchInputProps, Select, type SelectProps, Sidebar, type SidebarLinkProps, type SidebarProps, SingleCombobox, type SingleComboboxProps, Skeleton, type SkeletonProps, type SortDirection, Sparkline, type SparklineProps, type SparklineTone, StatePill, type StatePillProps, type SubscriptionState, type TabItem, Table, type TableProps, Tabs, type TabsProps, Textarea, type TextareaProps, type ThemeMode, type ToastData, ToastProvider, type ToastProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipProps, type TransactionType, TypeTag, type TypeTagProps, glyphCategory, glyphLabel, searchGlyphs, useConfirm, useTheme, useToast, vars };
|