@peasant-labs/fairtrade 0.0.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.
Files changed (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +85 -0
  3. package/dist/lib/README.md +13 -0
  4. package/dist/lib/base.css +48 -0
  5. package/dist/lib/components.css +2 -0
  6. package/dist/lib/fonts.css +28 -0
  7. package/dist/lib/tokens.css +184 -0
  8. package/dist/lib/tokens.json +768 -0
  9. package/dist/lib/types/Accordion.d.ts +47 -0
  10. package/dist/lib/types/Accordion.stories.d.ts +91 -0
  11. package/dist/lib/types/Avatar.d.ts +94 -0
  12. package/dist/lib/types/Avatar.stories.d.ts +160 -0
  13. package/dist/lib/types/BrandMark.d.ts +25 -0
  14. package/dist/lib/types/BrandMark.stories.d.ts +75 -0
  15. package/dist/lib/types/Breadcrumb.d.ts +66 -0
  16. package/dist/lib/types/Breadcrumb.stories.d.ts +91 -0
  17. package/dist/lib/types/Button.d.ts +86 -0
  18. package/dist/lib/types/Button.stories.d.ts +129 -0
  19. package/dist/lib/types/Card.d.ts +145 -0
  20. package/dist/lib/types/Card.stories.d.ts +70 -0
  21. package/dist/lib/types/Chart.stories.d.ts +55 -0
  22. package/dist/lib/types/ChartBar.d.ts +51 -0
  23. package/dist/lib/types/ChartLine.d.ts +54 -0
  24. package/dist/lib/types/Checkbox.d.ts +132 -0
  25. package/dist/lib/types/Checkbox.stories.d.ts +75 -0
  26. package/dist/lib/types/Chip.d.ts +85 -0
  27. package/dist/lib/types/Chip.stories.d.ts +190 -0
  28. package/dist/lib/types/CliOnboard.d.ts +68 -0
  29. package/dist/lib/types/CliOnboard.stories.d.ts +24 -0
  30. package/dist/lib/types/CommandPalette.d.ts +6 -0
  31. package/dist/lib/types/CommandPalette.stories.d.ts +94 -0
  32. package/dist/lib/types/CommitGraph.d.ts +71 -0
  33. package/dist/lib/types/CommitGraph.stories.d.ts +17 -0
  34. package/dist/lib/types/ConnectionState.d.ts +82 -0
  35. package/dist/lib/types/ConnectionState.stories.d.ts +117 -0
  36. package/dist/lib/types/ConsentDialog.d.ts +97 -0
  37. package/dist/lib/types/ConsentDialog.stories.d.ts +61 -0
  38. package/dist/lib/types/DataTable.d.ts +116 -0
  39. package/dist/lib/types/DataTable.stories.d.ts +240 -0
  40. package/dist/lib/types/DateRange.d.ts +242 -0
  41. package/dist/lib/types/DateRange.stories.d.ts +272 -0
  42. package/dist/lib/types/Dialog.d.ts +9 -0
  43. package/dist/lib/types/Dialog.stories.d.ts +121 -0
  44. package/dist/lib/types/DiffView.d.ts +39 -0
  45. package/dist/lib/types/DiffView.stories.d.ts +118 -0
  46. package/dist/lib/types/EmptyState.d.ts +28 -0
  47. package/dist/lib/types/EmptyState.stories.d.ts +130 -0
  48. package/dist/lib/types/EvidenceCaption.d.ts +39 -0
  49. package/dist/lib/types/EvidenceCaption.stories.d.ts +43 -0
  50. package/dist/lib/types/Explainer.d.ts +82 -0
  51. package/dist/lib/types/Explainer.stories.d.ts +22 -0
  52. package/dist/lib/types/FacetRail.d.ts +13 -0
  53. package/dist/lib/types/FacetRail.stories.d.ts +28 -0
  54. package/dist/lib/types/Feedback.d.ts +222 -0
  55. package/dist/lib/types/Feedback.stories.d.ts +81 -0
  56. package/dist/lib/types/GroupedMultiSelect.d.ts +67 -0
  57. package/dist/lib/types/GroupedMultiSelect.stories.d.ts +59 -0
  58. package/dist/lib/types/Input.d.ts +158 -0
  59. package/dist/lib/types/Input.stories.d.ts +181 -0
  60. package/dist/lib/types/Intensity.d.ts +55 -0
  61. package/dist/lib/types/Intensity.stories.d.ts +108 -0
  62. package/dist/lib/types/MapCanvas.d.ts +89 -0
  63. package/dist/lib/types/MapCanvas.stories.d.ts +174 -0
  64. package/dist/lib/types/Menu.d.ts +62 -0
  65. package/dist/lib/types/Menu.stories.d.ts +173 -0
  66. package/dist/lib/types/ModerationQueue.d.ts +135 -0
  67. package/dist/lib/types/ModerationQueue.stories.d.ts +34 -0
  68. package/dist/lib/types/Pager.d.ts +47 -0
  69. package/dist/lib/types/Pager.stories.d.ts +100 -0
  70. package/dist/lib/types/Pagination.d.ts +50 -0
  71. package/dist/lib/types/Pagination.stories.d.ts +193 -0
  72. package/dist/lib/types/PolicySelect.d.ts +80 -0
  73. package/dist/lib/types/PolicySelect.stories.d.ts +130 -0
  74. package/dist/lib/types/ProviderIcon.d.ts +83 -0
  75. package/dist/lib/types/ProviderIcon.stories.d.ts +44 -0
  76. package/dist/lib/types/RailShell.d.ts +199 -0
  77. package/dist/lib/types/RailShell.stories.d.ts +32 -0
  78. package/dist/lib/types/Redaction.d.ts +53 -0
  79. package/dist/lib/types/Redaction.stories.d.ts +120 -0
  80. package/dist/lib/types/RoleRoster.d.ts +97 -0
  81. package/dist/lib/types/RoleRoster.stories.d.ts +23 -0
  82. package/dist/lib/types/SignIn.d.ts +78 -0
  83. package/dist/lib/types/SignIn.stories.d.ts +57 -0
  84. package/dist/lib/types/Sparkline.d.ts +19 -0
  85. package/dist/lib/types/StatTiles.d.ts +115 -0
  86. package/dist/lib/types/StatTiles.stories.d.ts +31 -0
  87. package/dist/lib/types/StepWizard.d.ts +92 -0
  88. package/dist/lib/types/StepWizard.stories.d.ts +18 -0
  89. package/dist/lib/types/StepsWaterfall.d.ts +67 -0
  90. package/dist/lib/types/StepsWaterfall.stories.d.ts +94 -0
  91. package/dist/lib/types/Switch.d.ts +63 -0
  92. package/dist/lib/types/Switch.stories.d.ts +134 -0
  93. package/dist/lib/types/Tabs.d.ts +48 -0
  94. package/dist/lib/types/Tabs.stories.d.ts +75 -0
  95. package/dist/lib/types/TimeStrip.d.ts +12 -0
  96. package/dist/lib/types/TimeStrip.stories.d.ts +30 -0
  97. package/dist/lib/types/Timeline.d.ts +192 -0
  98. package/dist/lib/types/Timeline.stories.d.ts +974 -0
  99. package/dist/lib/types/ToastHost.d.ts +70 -0
  100. package/dist/lib/types/ToastHost.stories.d.ts +115 -0
  101. package/dist/lib/types/ToolRenderers.d.ts +24 -0
  102. package/dist/lib/types/ToolRenderers.stories.d.ts +138 -0
  103. package/dist/lib/types/Tooltip.d.ts +80 -0
  104. package/dist/lib/types/Tooltip.stories.d.ts +116 -0
  105. package/dist/lib/types/Tour.d.ts +37 -0
  106. package/dist/lib/types/Tour.stories.d.ts +39 -0
  107. package/dist/lib/types/TranscriptMarkers.d.ts +50 -0
  108. package/dist/lib/types/TranscriptMarkers.stories.d.ts +48 -0
  109. package/dist/lib/types/Treemap.d.ts +77 -0
  110. package/dist/lib/types/Treemap.stories.d.ts +101 -0
  111. package/dist/lib/types/VisibilityControl.d.ts +54 -0
  112. package/dist/lib/types/VisibilityControl.stories.d.ts +126 -0
  113. package/dist/lib/types/chart-shared.d.ts +63 -0
  114. package/dist/lib/types/index.d.ts +53 -0
  115. package/dist/lib/types/story-frame.d.ts +12 -0
  116. package/dist/lib/ui.js +8707 -0
  117. package/package.json +67 -0
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @typedef {Object} AccordionItem
3
+ * @property {string} id stable id for the item (used for the header/region aria wiring)
4
+ * @property {React.ReactNode} title the header's visible label (not force-lowercased)
5
+ * @property {React.ComponentType<any>} [icon] optional leading lucide icon component (e.g. icon={Boxes})
6
+ * @property {React.ReactNode} content the panel body, shown when the item is open
7
+ */
8
+ /**
9
+ * Accordion - a stack of collapsible, hairline panels.
10
+ *
11
+ * Uncontrolled only (manages its own open set seeded from `defaultOpen`). With
12
+ * allowMultiple=false (default) opening one item closes the others; with
13
+ * allowMultiple=true any number may be open at once.
14
+ *
15
+ * @param {Object} props
16
+ * @param {AccordionItem[]} props.items the items to render (each needs a unique id)
17
+ * @param {string|string[]} [props.defaultOpen] id(s) open on mount; a lone string or an array.
18
+ * when allowMultiple is false only the first matching id is honoured (default: none open)
19
+ * @param {boolean} [props.allowMultiple=false] allow several items open simultaneously
20
+ * @param {number} [props.headingLevel=3] heading level (1-6) for each item header,
21
+ * so the accordion fits the surrounding document outline (default: h3)
22
+ * @param {string} [props['aria-label']] accessible name for the accordion group
23
+ */
24
+ export default function Accordion({ items, defaultOpen, allowMultiple, headingLevel, "aria-label": ariaLabel }: {
25
+ items: AccordionItem[];
26
+ defaultOpen?: string | string[];
27
+ allowMultiple?: boolean;
28
+ headingLevel?: number;
29
+ }): any;
30
+ export type AccordionItem = {
31
+ /**
32
+ * stable id for the item (used for the header/region aria wiring)
33
+ */
34
+ id: string;
35
+ /**
36
+ * the header's visible label (not force-lowercased)
37
+ */
38
+ title: React.ReactNode;
39
+ /**
40
+ * optional leading lucide icon component (e.g. icon={Boxes})
41
+ */
42
+ icon?: React.ComponentType<any>;
43
+ /**
44
+ * the panel body, shown when the item is open
45
+ */
46
+ content: React.ReactNode;
47
+ };
@@ -0,0 +1,91 @@
1
+ export default meta;
2
+ export const Playground: {};
3
+ export namespace SingleOpen {
4
+ namespace args {
5
+ let defaultOpen: string;
6
+ let allowMultiple: boolean;
7
+ }
8
+ function play({ canvasElement }: {
9
+ canvasElement: any;
10
+ }): Promise<void>;
11
+ }
12
+ export namespace Multiple {
13
+ export namespace args_1 {
14
+ let allowMultiple_1: boolean;
15
+ export { allowMultiple_1 as allowMultiple };
16
+ let defaultOpen_1: string[];
17
+ export { defaultOpen_1 as defaultOpen };
18
+ }
19
+ export { args_1 as args };
20
+ }
21
+ export namespace AllClosed {
22
+ export namespace args_2 {
23
+ let defaultOpen_2: any;
24
+ export { defaultOpen_2 as defaultOpen };
25
+ }
26
+ export { args_2 as args };
27
+ }
28
+ export namespace Empty {
29
+ let args_3: {
30
+ items: any[];
31
+ 'aria-label': string;
32
+ };
33
+ export { args_3 as args };
34
+ }
35
+ export namespace HeadingLevelTwo {
36
+ export namespace args_4 {
37
+ export let headingLevel: number;
38
+ let defaultOpen_3: string;
39
+ export { defaultOpen_3 as defaultOpen };
40
+ }
41
+ export { args_4 as args };
42
+ }
43
+ export namespace InteractiveContent {
44
+ let args_5: {
45
+ items: {
46
+ id: string;
47
+ title: string;
48
+ icon: react.ForwardRefExoticComponent<any>;
49
+ content: any;
50
+ }[];
51
+ defaultOpen: string;
52
+ 'aria-label': string;
53
+ };
54
+ export { args_5 as args };
55
+ export function play_1({ canvasElement }: {
56
+ canvasElement: any;
57
+ }): Promise<void>;
58
+ export { play_1 as play };
59
+ }
60
+ declare namespace meta {
61
+ export let title: string;
62
+ export { Accordion as component };
63
+ export let tags: string[];
64
+ export let decorators: Function[];
65
+ export let argTypes: {
66
+ allowMultiple: {
67
+ control: string;
68
+ };
69
+ defaultOpen: {
70
+ control: string;
71
+ };
72
+ 'aria-label': {
73
+ control: string;
74
+ };
75
+ items: {
76
+ control: boolean;
77
+ };
78
+ };
79
+ let args_6: {
80
+ items: {
81
+ id: string;
82
+ title: string;
83
+ icon: react.ForwardRefExoticComponent<any>;
84
+ content: any;
85
+ }[];
86
+ allowMultiple: boolean;
87
+ 'aria-label': string;
88
+ };
89
+ export { args_6 as args };
90
+ }
91
+ import Accordion from './Accordion.jsx';
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @typedef {'sm' | 'md' | 'lg'} AvatarSize
3
+ */
4
+ /**
5
+ * a single avatar tile: initials, or a photo with the initials as the fallback beneath it.
6
+ * the base .avatar is 18px (inline meta); size scales it up for standalone use.
7
+ *
8
+ * @param {object} props
9
+ * @param {string} props.name - the person's name; used as the accessible label and to derive initials when none are given.
10
+ * @param {string} [props.initials] - explicit initials to render; defaults to the first letters of `name`.
11
+ * @param {AvatarSize} [props.size] - one of 'sm' | 'md' | 'lg' (24 / 32 / 44px). omit for the bare 18px base.
12
+ * @param {string} [props.src] - optional photo url; when set the tile becomes an .av-img with the photo over the initials.
13
+ * @param {boolean} [props.more] - render the amber "+N overflow" tile (.av-more); `initials` carries the "+5" text.
14
+ * @param {string} [props.className] - extra class names appended after the avatar classes.
15
+ */
16
+ export function Avatar({ name, initials, size, src, more, className, ...rest }: {
17
+ name: string;
18
+ initials?: string;
19
+ size?: AvatarSize;
20
+ src?: string;
21
+ more?: boolean;
22
+ className?: string;
23
+ }): any;
24
+ /**
25
+ * a stacked, overlapping run of avatars with an optional +N overflow tile.
26
+ * pass <Avatar> children directly; the .av-group nth-child rules handle overlap + z-order.
27
+ *
28
+ * @param {object} props
29
+ * @param {string} props.label - accessible name for the group (e.g. "9 contributors").
30
+ * @param {React.ReactNode} props.children - the <Avatar> tiles (include an `more` avatar last for overflow).
31
+ * @param {string} [props.className] - extra class names appended after .av-group.
32
+ */
33
+ export function AvatarGroup({ label, children, className, ...rest }: {
34
+ label: string;
35
+ children: React.ReactNode;
36
+ className?: string;
37
+ }): any;
38
+ /**
39
+ * a real <kbd> styled as a single keyboard key. accepts text children or a lucide icon (e.g. icon={ArrowUp}).
40
+ * the CSS sizes the icon (.kbd-key .lucide), so render it plainly.
41
+ *
42
+ * @param {object} props
43
+ * @param {React.ComponentType} [props.icon] - a lucide icon component reference, rendered in place of text.
44
+ * @param {string} [props.label] - accessible name for an icon-only key (the glyph is aria-hidden, so a bare icon key would otherwise announce empty).
45
+ * @param {React.ReactNode} [props.children] - the key label (e.g. "esc", "enter", "K").
46
+ * @param {string} [props.className] - extra class names appended after .kbd-key.
47
+ */
48
+ export function Kbd({ icon: Icon, label, children, className, ...rest }: {
49
+ icon?: React.ComponentType;
50
+ label?: string;
51
+ children?: React.ReactNode;
52
+ className?: string;
53
+ }): any;
54
+ /**
55
+ * a keyboard chord: several <Kbd> keys joined by a faint, aria-hidden "+" that is not itself a key.
56
+ * the spoken form lives in `label` (e.g. "command k"); the visible "+" is decorative.
57
+ *
58
+ * @param {object} props
59
+ * @param {string} props.label - the accessible spelling of the chord (e.g. "control shift p").
60
+ * @param {React.ReactNode} props.children - the <Kbd> keys to join.
61
+ * @param {string} [props.className] - extra class names appended after .kbd-chord.
62
+ */
63
+ export function KbdChord({ label, children, className, ...rest }: {
64
+ label: string;
65
+ children: React.ReactNode;
66
+ className?: string;
67
+ }): any;
68
+ /**
69
+ * a tag / label token. may carry a leading swatch dot (color pairs with the word, never color alone),
70
+ * a leading lucide icon, a selected (amber) state, and an optional dismiss button.
71
+ *
72
+ * @param {object} props
73
+ * @param {React.ReactNode} props.children - the tag label (sentence/case passed in is preserved; chrome is lowercased by CSS).
74
+ * @param {string} [props.brand] - a provider/company name (claude, gemini, openai, cursor, opencode, or an alias).
75
+ * When the tag names a company, pass this instead of `icon`: it leads with the real brand mark, never a generic glyph.
76
+ * @param {React.ComponentType} [props.icon] - a lucide icon component reference rendered before the label (ignored when `brand` is set).
77
+ * @param {string} [props.dot] - a color value for the leading swatch dot (set as --tag-c).
78
+ * @param {boolean} [props.selected] - apply the amber .tag-on state.
79
+ * @param {() => void} [props.onRemove] - when set, render a real, labelled remove button (.tag-x).
80
+ * @param {string} [props.removeLabel] - accessible label for the remove button; falls back to "remove tag".
81
+ * @param {string} [props.className] - extra class names appended after .tag.
82
+ */
83
+ export function Tag({ children, brand, icon: Icon, dot, selected, onRemove, removeLabel, className, ...rest }: {
84
+ children: React.ReactNode;
85
+ brand?: string;
86
+ icon?: React.ComponentType;
87
+ dot?: string;
88
+ selected?: boolean;
89
+ onRemove?: () => void;
90
+ removeLabel?: string;
91
+ className?: string;
92
+ }): any;
93
+ export default Avatar;
94
+ export type AvatarSize = "sm" | "md" | "lg";
@@ -0,0 +1,160 @@
1
+ export default meta;
2
+ export const Playground: {};
3
+ export namespace Base {
4
+ namespace args {
5
+ let size: any;
6
+ }
7
+ namespace parameters {
8
+ namespace docs {
9
+ namespace description {
10
+ let story: string;
11
+ }
12
+ }
13
+ }
14
+ }
15
+ export namespace Sizes {
16
+ function render(): any;
17
+ }
18
+ export namespace ExplicitInitials {
19
+ export namespace args_1 {
20
+ export let name: string;
21
+ export let initials: string;
22
+ let size_1: string;
23
+ export { size_1 as size };
24
+ }
25
+ export { args_1 as args };
26
+ }
27
+ export namespace Photo {
28
+ export namespace args_2 {
29
+ let name_1: string;
30
+ export { name_1 as name };
31
+ let size_2: string;
32
+ export { size_2 as size };
33
+ export let src: string;
34
+ }
35
+ export { args_2 as args };
36
+ export namespace parameters_1 {
37
+ export namespace docs_1 {
38
+ export namespace description_1 {
39
+ let story_1: string;
40
+ export { story_1 as story };
41
+ }
42
+ export { description_1 as description };
43
+ }
44
+ export { docs_1 as docs };
45
+ }
46
+ export { parameters_1 as parameters };
47
+ }
48
+ export namespace PhotoFallback {
49
+ export namespace args_3 {
50
+ let name_2: string;
51
+ export { name_2 as name };
52
+ let size_3: string;
53
+ export { size_3 as size };
54
+ let src_1: string;
55
+ export { src_1 as src };
56
+ }
57
+ export { args_3 as args };
58
+ export namespace parameters_2 {
59
+ export namespace docs_2 {
60
+ export namespace description_2 {
61
+ let story_2: string;
62
+ export { story_2 as story };
63
+ }
64
+ export { description_2 as description };
65
+ }
66
+ export { docs_2 as docs };
67
+ }
68
+ export { parameters_2 as parameters };
69
+ }
70
+ export namespace More {
71
+ export namespace args_4 {
72
+ let name_3: string;
73
+ export { name_3 as name };
74
+ let initials_1: string;
75
+ export { initials_1 as initials };
76
+ export let more: boolean;
77
+ let size_4: string;
78
+ export { size_4 as size };
79
+ }
80
+ export { args_4 as args };
81
+ }
82
+ export namespace Group {
83
+ export function render_1(): any;
84
+ export { render_1 as render };
85
+ }
86
+ export namespace Keys {
87
+ export function render_2(): any;
88
+ export { render_2 as render };
89
+ }
90
+ export namespace Chord {
91
+ export function render_3(): any;
92
+ export { render_3 as render };
93
+ }
94
+ export namespace Tags {
95
+ export function render_4(): any;
96
+ export { render_4 as render };
97
+ }
98
+ export namespace TagBrands {
99
+ export function render_5(): any;
100
+ export { render_5 as render };
101
+ export namespace parameters_3 {
102
+ export namespace docs_3 {
103
+ export namespace description_3 {
104
+ let story_3: string;
105
+ export { story_3 as story };
106
+ }
107
+ export { description_3 as description };
108
+ }
109
+ export { docs_3 as docs };
110
+ }
111
+ export { parameters_3 as parameters };
112
+ }
113
+ export namespace TagSelected {
114
+ export function render_6(): any;
115
+ export { render_6 as render };
116
+ }
117
+ export namespace TagRemovable {
118
+ export function render_7(): any;
119
+ export { render_7 as render };
120
+ }
121
+ declare namespace meta {
122
+ export let title: string;
123
+ export { Avatar as component };
124
+ export let tags: string[];
125
+ export namespace argTypes {
126
+ export namespace name_4 {
127
+ let control: string;
128
+ }
129
+ export { name_4 as name };
130
+ export namespace initials_2 {
131
+ let control_1: string;
132
+ export { control_1 as control };
133
+ }
134
+ export { initials_2 as initials };
135
+ export namespace size_5 {
136
+ let control_2: string;
137
+ export { control_2 as control };
138
+ export let options: string[];
139
+ }
140
+ export { size_5 as size };
141
+ export namespace src_2 {
142
+ let control_3: string;
143
+ export { control_3 as control };
144
+ }
145
+ export { src_2 as src };
146
+ export namespace more_1 {
147
+ let control_4: string;
148
+ export { control_4 as control };
149
+ }
150
+ export { more_1 as more };
151
+ }
152
+ export namespace args_5 {
153
+ let name_5: string;
154
+ export { name_5 as name };
155
+ let size_6: string;
156
+ export { size_6 as size };
157
+ }
158
+ export { args_5 as args };
159
+ }
160
+ import Avatar from './Avatar.jsx';
@@ -0,0 +1,25 @@
1
+ /**
2
+ * resolve any accepted name/alias to a canonical mark key, or null when unknown.
3
+ * @param {string} name
4
+ * @returns {('claude'|'gemini'|'openai'|'cursor'|'opencode')|null}
5
+ */
6
+ export function resolveBrand(name: string): ("claude" | "gemini" | "openai" | "cursor" | "opencode") | null;
7
+ /**
8
+ * BrandMark - a single-color, currentColor-tinted company/provider logo.
9
+ *
10
+ * @param {object} props
11
+ * @param {'claude'|'gemini'|'openai'|'cursor'|'opencode'|'anthropic'|'google'|'codex'|string} props.name
12
+ * the company/product; aliases resolve (anthropic->claude, google->gemini, codex->openai).
13
+ * @param {number} [props.size] explicit px size; omit to inherit the contextual icon-token size
14
+ * from the `.brand` rules in src/index.css (so a mark in a chip/tag/button matches its neighbours).
15
+ * @param {string} [props.label] when set, the mark is INFORMATIVE: role="img" + this aria-label.
16
+ * omit when a visible text label already names the provider (the mark is then decorative).
17
+ * @param {string} [props.className] extra classes appended after `.brand`.
18
+ * @returns {JSX.Element|null} null when `name` does not resolve to a known mark.
19
+ */
20
+ export default function BrandMark({ name, size, label, className, ...rest }: {
21
+ name: "claude" | "gemini" | "openai" | "cursor" | "opencode" | "anthropic" | "google" | "codex" | string;
22
+ size?: number;
23
+ label?: string;
24
+ className?: string;
25
+ }): JSX.Element | null;
@@ -0,0 +1,75 @@
1
+ export default meta;
2
+ export const Playground: {};
3
+ export namespace Gallery {
4
+ function render(): any;
5
+ function play({ canvasElement }: {
6
+ canvasElement: any;
7
+ }): Promise<void>;
8
+ }
9
+ export namespace Aliases {
10
+ export function render_1(): any;
11
+ export { render_1 as render };
12
+ }
13
+ export namespace Sizes {
14
+ export function render_2(): any;
15
+ export { render_2 as render };
16
+ }
17
+ export namespace InTags {
18
+ export function render_3(): any;
19
+ export { render_3 as render };
20
+ }
21
+ export namespace Labelled {
22
+ export namespace args {
23
+ let name: string;
24
+ let label: boolean;
25
+ let size: number;
26
+ }
27
+ export function play_1({ canvasElement }: {
28
+ canvasElement: any;
29
+ }): Promise<void>;
30
+ export { play_1 as play };
31
+ }
32
+ export namespace UnknownIsEmpty {
33
+ export function render_4(): any;
34
+ export { render_4 as render };
35
+ export function play_2({ canvasElement }: {
36
+ canvasElement: any;
37
+ }): Promise<void>;
38
+ export { play_2 as play };
39
+ }
40
+ declare namespace meta {
41
+ export let title: string;
42
+ export { BrandMark as component };
43
+ export let tags: string[];
44
+ export namespace argTypes {
45
+ export namespace name_1 {
46
+ let control: string;
47
+ let options: string[];
48
+ }
49
+ export { name_1 as name };
50
+ export namespace size_1 {
51
+ export namespace control_1 {
52
+ let type: string;
53
+ let min: number;
54
+ let max: number;
55
+ let step: number;
56
+ }
57
+ export { control_1 as control };
58
+ }
59
+ export { size_1 as size };
60
+ export namespace label_1 {
61
+ let control_2: string;
62
+ export { control_2 as control };
63
+ }
64
+ export { label_1 as label };
65
+ }
66
+ export namespace args_1 {
67
+ let name_2: string;
68
+ export { name_2 as name };
69
+ }
70
+ export { args_1 as args };
71
+ export namespace parameters {
72
+ let layout: string;
73
+ }
74
+ }
75
+ import BrandMark from './BrandMark.jsx';
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @typedef {Object} CrumbItem
3
+ * @property {string} label - the crumb text
4
+ * @property {string} [href] - optional link target; when present the crumb renders as an <a>
5
+ * @property {React.ComponentType<{className?: string}>} [icon] - optional leading lucide icon component (e.g. icon={Folder})
6
+ */
7
+ /**
8
+ * Breadcrumb — names the path back. Items are joined by ChevronRight separators;
9
+ * the last item is marked `.cur` (bold ink) as the current location.
10
+ *
11
+ * Emits `<nav><div class="crumb">…</div></nav>` matching src/index.css with zero new CSS.
12
+ *
13
+ * @param {Object} props
14
+ * @param {CrumbItem[]} props.items - ordered crumbs from root to current; the last is the current page.
15
+ * @param {string} [props.label='breadcrumb'] - aria-label for the nav landmark.
16
+ * @returns {JSX.Element}
17
+ */
18
+ export default function Breadcrumb({ items, label }: {
19
+ items: CrumbItem[];
20
+ label?: string;
21
+ }): JSX.Element;
22
+ /**
23
+ * @typedef {Object} StepItem
24
+ * @property {string} label - the step text
25
+ * @property {'done'|'cur'|'todo'} [status='todo'] - 'done' shows a Check, 'cur' is the active step, 'todo' shows its number.
26
+ */
27
+ /**
28
+ * Steps — a step wizard marking progress through a flow. Completed steps show a Check,
29
+ * the current step is highlighted (amber number), pending steps show their index.
30
+ * Steps are joined by `.step-line` dividers. State reads from icon/number, never color alone.
31
+ *
32
+ * Emits `<div class="steps">…</div>` matching src/index.css with zero new CSS.
33
+ *
34
+ * @param {Object} props
35
+ * @param {StepItem[]} props.steps - ordered steps; numbering is derived from position (1-based).
36
+ * @returns {JSX.Element}
37
+ */
38
+ export function Steps({ steps }: {
39
+ steps: StepItem[];
40
+ }): JSX.Element;
41
+ export type CrumbItem = {
42
+ /**
43
+ * - the crumb text
44
+ */
45
+ label: string;
46
+ /**
47
+ * - optional link target; when present the crumb renders as an <a>
48
+ */
49
+ href?: string;
50
+ /**
51
+ * - optional leading lucide icon component (e.g. icon={Folder})
52
+ */
53
+ icon?: React.ComponentType<{
54
+ className?: string;
55
+ }>;
56
+ };
57
+ export type StepItem = {
58
+ /**
59
+ * - the step text
60
+ */
61
+ label: string;
62
+ /**
63
+ * - 'done' shows a Check, 'cur' is the active step, 'todo' shows its number.
64
+ */
65
+ status?: "done" | "cur" | "todo";
66
+ };
@@ -0,0 +1,91 @@
1
+ export default meta;
2
+ export const Playground: {};
3
+ export namespace WithIcons {
4
+ namespace args {
5
+ let items: ({
6
+ label: string;
7
+ href: string;
8
+ icon: react.ForwardRefExoticComponent<any>;
9
+ } | {
10
+ label: string;
11
+ icon: react.ForwardRefExoticComponent<any>;
12
+ href?: undefined;
13
+ })[];
14
+ }
15
+ }
16
+ export namespace SingleCurrent {
17
+ export namespace args_1 {
18
+ let items_1: {
19
+ label: string;
20
+ }[];
21
+ export { items_1 as items };
22
+ }
23
+ export { args_1 as args };
24
+ }
25
+ export namespace DeepPath {
26
+ export namespace args_2 {
27
+ let items_2: ({
28
+ label: string;
29
+ href: string;
30
+ } | {
31
+ label: string;
32
+ href?: undefined;
33
+ })[];
34
+ export { items_2 as items };
35
+ }
36
+ export { args_2 as args };
37
+ }
38
+ export namespace LongLabel {
39
+ export namespace args_3 {
40
+ let items_3: ({
41
+ label: string;
42
+ href: string;
43
+ } | {
44
+ label: string;
45
+ href?: undefined;
46
+ })[];
47
+ export { items_3 as items };
48
+ }
49
+ export { args_3 as args };
50
+ }
51
+ export namespace StepsWizard {
52
+ function render(): any;
53
+ }
54
+ export namespace StepsFirst {
55
+ export function render_1(): any;
56
+ export { render_1 as render };
57
+ }
58
+ export namespace StepsComplete {
59
+ export function render_2(): any;
60
+ export { render_2 as render };
61
+ }
62
+ declare namespace meta {
63
+ export let title: string;
64
+ export { Breadcrumb as component };
65
+ export let decorators: Function[];
66
+ export let tags: string[];
67
+ export namespace argTypes {
68
+ export namespace label {
69
+ let control: string;
70
+ }
71
+ export namespace items_4 {
72
+ let control_1: string;
73
+ export { control_1 as control };
74
+ }
75
+ export { items_4 as items };
76
+ }
77
+ export namespace args_4 {
78
+ let label_1: string;
79
+ export { label_1 as label };
80
+ let items_5: ({
81
+ label: string;
82
+ href: string;
83
+ } | {
84
+ label: string;
85
+ href?: undefined;
86
+ })[];
87
+ export { items_5 as items };
88
+ }
89
+ export { args_4 as args };
90
+ }
91
+ import Breadcrumb from './Breadcrumb.jsx';