@gunjo/ui 0.0.1-alpha.1 → 0.0.1-alpha.2

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 (224) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja.md +90 -0
  3. package/README.md +52 -91
  4. package/package.json +47 -6
  5. package/src/components/display/Accordion.tsx +185 -0
  6. package/src/components/display/AccordionGroup.tsx +155 -0
  7. package/src/components/display/ActionDataTable.tsx +413 -0
  8. package/src/components/display/ActivityTimelineCard.tsx +483 -0
  9. package/src/components/display/AnalyticsCard.tsx +167 -0
  10. package/src/components/display/AssetCard.tsx +242 -0
  11. package/src/components/display/AssetGrid.tsx +164 -0
  12. package/src/components/display/Avatar.tsx +127 -0
  13. package/src/components/display/AvatarGroup.tsx +131 -0
  14. package/src/components/{atoms → display}/Badge.tsx +3 -3
  15. package/src/components/display/BarChart.tsx +247 -0
  16. package/src/components/{molecules → display}/Card.tsx +1 -1
  17. package/src/components/display/Carousel.tsx +593 -0
  18. package/src/components/display/ChartLegend.tsx +124 -0
  19. package/src/components/display/ChatMessage.tsx +382 -0
  20. package/src/components/display/ChoroplethMap.tsx +613 -0
  21. package/src/components/display/Code.tsx +42 -0
  22. package/src/components/display/CodeBlock.tsx +338 -0
  23. package/src/components/display/ColorSwatch.tsx +71 -0
  24. package/src/components/display/ConcentricProgressCard.tsx +545 -0
  25. package/src/components/display/DataTable.tsx +522 -0
  26. package/src/components/display/DistributionBar.tsx +102 -0
  27. package/src/components/display/DocNote.tsx +36 -0
  28. package/src/components/display/DonutChart.tsx +257 -0
  29. package/src/components/display/EmptyState.tsx +44 -0
  30. package/src/components/display/FileTree.tsx +180 -0
  31. package/src/components/display/GaugeChart.tsx +219 -0
  32. package/src/components/display/HeatmapChart.tsx +266 -0
  33. package/src/components/display/Icon.tsx +66 -0
  34. package/src/components/display/ImagePreview.tsx +140 -0
  35. package/src/components/{atoms → display}/Img.tsx +46 -12
  36. package/src/components/display/LabeledDonutCard.tsx +475 -0
  37. package/src/components/display/LineChart.tsx +464 -0
  38. package/src/components/{molecules → display}/List.tsx +20 -13
  39. package/src/components/display/MarkdownRenderer.tsx +157 -0
  40. package/src/components/display/MetadataList.tsx +81 -0
  41. package/src/components/display/MiniDistributionBarCard.tsx +314 -0
  42. package/src/components/display/PieChart.tsx +234 -0
  43. package/src/components/display/QuadrantMatrix.tsx +330 -0
  44. package/src/components/display/RadarChart.tsx +335 -0
  45. package/src/components/display/RadialBarChart.tsx +264 -0
  46. package/src/components/display/RetentionCohortCard.tsx +350 -0
  47. package/src/components/display/RibbonChart.tsx +618 -0
  48. package/src/components/display/SearchableAccordion.tsx +270 -0
  49. package/src/components/display/SegmentTimelineCard.tsx +452 -0
  50. package/src/components/display/SegmentedGaugeCard.tsx +607 -0
  51. package/src/components/display/Spacer.tsx +51 -0
  52. package/src/components/display/SparklineChart.tsx +394 -0
  53. package/src/components/display/StackedBarChart.tsx +393 -0
  54. package/src/components/display/Statistic.tsx +70 -0
  55. package/src/components/{molecules → display}/Table.tsx +22 -7
  56. package/src/components/display/Tag.tsx +80 -0
  57. package/src/components/display/TagEditor.tsx +141 -0
  58. package/src/components/display/Timeline.tsx +121 -0
  59. package/src/components/{atoms → display}/ToolPill.tsx +42 -18
  60. package/src/components/display/TreeView.tsx +226 -0
  61. package/src/components/display/chart-tooltip.tsx +423 -0
  62. package/src/components/display/chart-utils.ts +71 -0
  63. package/src/components/display/circular-chart-utils.ts +147 -0
  64. package/src/components/display/generated/default-variant-keys.ts +90 -0
  65. package/src/components/display/generated/variant-keys.ts +169 -0
  66. package/src/components/{atoms → feedback}/Alert.tsx +12 -5
  67. package/src/components/feedback/Banner.tsx +90 -0
  68. package/src/components/{molecules → feedback}/NotificationCenter.tsx +64 -31
  69. package/src/components/feedback/ProgressWidget.tsx +44 -0
  70. package/src/components/{atoms → feedback}/Spinner.tsx +2 -2
  71. package/src/components/{molecules → feedback}/StatusBar.tsx +4 -4
  72. package/src/components/feedback/StatusScreen.tsx +148 -0
  73. package/src/components/{molecules → feedback}/Stepper.tsx +10 -5
  74. package/src/components/feedback/Toast.tsx +108 -0
  75. package/src/components/feedback/ToastProvider.tsx +78 -0
  76. package/src/components/feedback/generated/default-variant-keys.ts +16 -0
  77. package/src/components/feedback/generated/variant-keys.ts +21 -0
  78. package/src/components/generated/component-manifest.ts +1568 -454
  79. package/src/components/generated/component-style-hints.ts +1958 -718
  80. package/src/components/{atoms → inputs}/ButtonVariants.ts +13 -3
  81. package/src/components/inputs/Calendar.tsx +212 -0
  82. package/src/components/inputs/ChatComposer.tsx +75 -0
  83. package/src/components/inputs/ChatInput.tsx +528 -0
  84. package/src/components/{atoms → inputs}/Checkbox.tsx +2 -2
  85. package/src/components/inputs/Combobox.tsx +175 -0
  86. package/src/components/inputs/CopyButton.tsx +187 -0
  87. package/src/components/inputs/DatePicker.tsx +519 -0
  88. package/src/components/inputs/DateRangePicker.tsx +878 -0
  89. package/src/components/inputs/EditableField.tsx +182 -0
  90. package/src/components/{organisms → inputs}/FileUploader.tsx +24 -9
  91. package/src/components/inputs/FilterButton.tsx +163 -0
  92. package/src/components/{molecules → inputs}/Form.tsx +20 -3
  93. package/src/components/{atoms → inputs}/Input.tsx +2 -0
  94. package/src/components/inputs/InputOTP.tsx +75 -0
  95. package/src/components/inputs/Mention.tsx +279 -0
  96. package/src/components/inputs/NumberInput.tsx +109 -0
  97. package/src/components/inputs/PasswordGroup.tsx +138 -0
  98. package/src/components/inputs/PasswordInput.tsx +74 -0
  99. package/src/components/inputs/PasswordRequirementList.tsx +96 -0
  100. package/src/components/inputs/PasswordStrengthMeter.tsx +93 -0
  101. package/src/components/inputs/PhoneInput.tsx +99 -0
  102. package/src/components/inputs/PostalCodeInput.tsx +98 -0
  103. package/src/components/inputs/RangeSlider.tsx +129 -0
  104. package/src/components/inputs/SearchInput.tsx +76 -0
  105. package/src/components/inputs/Select.tsx +39 -0
  106. package/src/components/{atoms → inputs}/Slider.tsx +18 -5
  107. package/src/components/{molecules → inputs}/SortButton.tsx +5 -2
  108. package/src/components/{atoms → inputs}/Switch.tsx +15 -4
  109. package/src/components/inputs/TagInput.tsx +114 -0
  110. package/src/components/{atoms → inputs}/Textarea.tsx +1 -0
  111. package/src/components/inputs/TimePicker.tsx +150 -0
  112. package/src/components/inputs/Toggle.tsx +48 -0
  113. package/src/components/{atoms → inputs}/ToggleGroup.tsx +2 -2
  114. package/src/components/inputs/TooltipButton.tsx +148 -0
  115. package/src/components/inputs/VoiceInputButton.tsx +317 -0
  116. package/src/components/inputs/calendar-holidays.ts +56 -0
  117. package/src/components/inputs/generated/default-variant-keys.ts +32 -0
  118. package/src/components/{atoms → inputs}/generated/variant-keys.ts +19 -27
  119. package/src/components/layout/AspectRatio.tsx +12 -0
  120. package/src/components/layout/AssetInspectorPanel.tsx +416 -0
  121. package/src/components/layout/Cluster.tsx +56 -0
  122. package/src/components/layout/CollapsiblePanelToggle.tsx +94 -0
  123. package/src/components/layout/Container.tsx +43 -0
  124. package/src/components/layout/DeviceFrame.tsx +227 -0
  125. package/src/components/layout/Grid.tsx +65 -0
  126. package/src/components/layout/HStack.tsx +73 -0
  127. package/src/components/{organisms → layout}/InspectorPanel.tsx +6 -5
  128. package/src/components/layout/MarqueeFrame.tsx +158 -0
  129. package/src/components/layout/Resizable.tsx +94 -0
  130. package/src/components/layout/ScrollArea.tsx +71 -0
  131. package/src/components/{organisms → layout}/SpatialCanvas.tsx +12 -7
  132. package/src/components/layout/VStack.tsx +69 -0
  133. package/src/components/layout/generated/default-variant-keys.ts +16 -0
  134. package/src/components/layout/generated/variant-keys.ts +21 -0
  135. package/src/components/{molecules → navigation}/Breadcrumb.tsx +5 -4
  136. package/src/components/navigation/Command.tsx +266 -0
  137. package/src/components/navigation/CommandPalette.tsx +83 -0
  138. package/src/components/navigation/DocumentPager.tsx +171 -0
  139. package/src/components/navigation/Footer.tsx +88 -0
  140. package/src/components/navigation/Header.tsx +80 -0
  141. package/src/components/{molecules → navigation}/Menubar.tsx +45 -12
  142. package/src/components/navigation/NavigationMenu.tsx +128 -0
  143. package/src/components/navigation/PageAside.tsx +84 -0
  144. package/src/components/{molecules → navigation}/Pagination.tsx +60 -7
  145. package/src/components/{organisms → navigation}/RightRail.tsx +1 -1
  146. package/src/components/navigation/Sidebar.tsx +223 -0
  147. package/src/components/navigation/SidebarItem.tsx +160 -0
  148. package/src/components/{molecules → navigation}/Tabs.tsx +2 -2
  149. package/src/components/navigation/TextLink.tsx +71 -0
  150. package/src/components/navigation/generated/default-variant-keys.ts +12 -0
  151. package/src/components/navigation/generated/variant-keys.ts +13 -0
  152. package/src/components/overlay/AIChatInput.tsx +5 -0
  153. package/src/components/overlay/AIChatMessage.tsx +6 -0
  154. package/src/components/overlay/AlertDialog.tsx +145 -0
  155. package/src/components/overlay/ChatPanel.tsx +180 -0
  156. package/src/components/{molecules → overlay}/ContextMenu.tsx +65 -29
  157. package/src/components/{molecules → overlay}/Dialog.tsx +21 -13
  158. package/src/components/overlay/Drawer.tsx +131 -0
  159. package/src/components/{molecules → overlay}/DropdownMenu.tsx +52 -17
  160. package/src/components/overlay/FloatingPanel.tsx +90 -0
  161. package/src/components/overlay/HoverCard.tsx +36 -0
  162. package/src/components/overlay/MediaLightbox.tsx +403 -0
  163. package/src/components/overlay/MediaPickerDialog.tsx +198 -0
  164. package/src/components/overlay/Modal.tsx +103 -0
  165. package/src/components/overlay/OnboardingFlow.tsx +172 -0
  166. package/src/components/overlay/Popover.tsx +36 -0
  167. package/src/components/overlay/ShareModal.tsx +324 -0
  168. package/src/components/{molecules → overlay}/Sheet.tsx +76 -19
  169. package/src/components/overlay/Tooltip.tsx +130 -0
  170. package/src/components/overlay/generated/default-variant-keys.ts +14 -0
  171. package/src/components/overlay/generated/variant-keys.ts +17 -0
  172. package/src/components/patterns/BlogTemplate.tsx +46 -0
  173. package/src/components/{templates → patterns}/DashboardTemplate.tsx +2 -2
  174. package/src/components/patterns/DocsTemplate.tsx +41 -0
  175. package/src/components/{templates → patterns}/MediaLibraryTemplate.tsx +1 -1
  176. package/src/components/patterns/OnboardingTemplate.tsx +32 -0
  177. package/src/components/patterns/PricingTemplate.tsx +106 -0
  178. package/src/globals.css +173 -22
  179. package/src/index.ts +177 -76
  180. package/tailwind-theme-extend.cjs +48 -3
  181. package/design/atoms-metadata.json +0 -82
  182. package/design/molecules-metadata.json +0 -130
  183. package/design/organisms-metadata.json +0 -38
  184. package/design/templates-metadata.json +0 -38
  185. package/src/components/atoms/Avatar.tsx +0 -57
  186. package/src/components/atoms/Select.tsx +0 -28
  187. package/src/components/atoms/generated/default-variant-keys.ts +0 -36
  188. package/src/components/molecules/AIChatInput.tsx +0 -140
  189. package/src/components/molecules/AIChatMessage.tsx +0 -109
  190. package/src/components/molecules/Accordion.tsx +0 -99
  191. package/src/components/molecules/Calendar.tsx +0 -60
  192. package/src/components/molecules/Carousel.tsx +0 -261
  193. package/src/components/molecules/Command.tsx +0 -152
  194. package/src/components/molecules/FilterButton.tsx +0 -133
  195. package/src/components/molecules/HoverCard.tsx +0 -29
  196. package/src/components/molecules/Modal.tsx +0 -66
  197. package/src/components/molecules/Popover.tsx +0 -31
  198. package/src/components/molecules/ProgressWidget.tsx +0 -40
  199. package/src/components/molecules/Resizable.tsx +0 -47
  200. package/src/components/molecules/ScrollArea.tsx +0 -48
  201. package/src/components/molecules/SidebarItem.tsx +0 -134
  202. package/src/components/molecules/Toast.tsx +0 -57
  203. package/src/components/molecules/Tooltip.tsx +0 -30
  204. package/src/components/molecules/generated/default-variant-keys.ts +0 -22
  205. package/src/components/molecules/generated/variant-keys.ts +0 -33
  206. package/src/components/organisms/CommandPalette.tsx +0 -58
  207. package/src/components/organisms/FloatingPanel.tsx +0 -46
  208. package/src/components/organisms/ShareModal.tsx +0 -182
  209. package/src/components/organisms/ToastProvider.tsx +0 -49
  210. /package/src/components/{atoms → display}/Kbd.tsx +0 -0
  211. /package/src/components/{atoms → display}/Separator.tsx +0 -0
  212. /package/src/components/{atoms → display}/Skeleton.tsx +0 -0
  213. /package/src/components/{atoms → feedback}/Progress.tsx +0 -0
  214. /package/src/components/{atoms → inputs}/Button.tsx +0 -0
  215. /package/src/components/{atoms → inputs}/Label.tsx +0 -0
  216. /package/src/components/{atoms → inputs}/RadioGroup.tsx +0 -0
  217. /package/src/components/{organisms → navigation}/AppRail.tsx +0 -0
  218. /package/src/components/{templates → patterns}/AuthTemplate.tsx +0 -0
  219. /package/src/components/{templates → patterns}/BannalyzeTemplate.tsx +0 -0
  220. /package/src/components/{templates → patterns}/ChatTemplate.tsx +0 -0
  221. /package/src/components/{templates → patterns}/EditorTemplate.tsx +0 -0
  222. /package/src/components/{templates → patterns}/KanbanTemplate.tsx +0 -0
  223. /package/src/components/{templates → patterns}/LandingTemplate.tsx +0 -0
  224. /package/src/components/{templates → patterns}/SettingsTemplate.tsx +0 -0
@@ -2,371 +2,1174 @@
2
2
  // Generated by `npm run design:sync:components`. Do not edit manually.
3
3
 
4
4
  export const componentManifest = {
5
- "atoms": {
5
+ "patterns": {
6
+ "authTemplate": {
7
+ "title": "Auth Template",
8
+ "description": "Split authentication layout with branded panel and centered form.",
9
+ "variantKeys": [
10
+ "default"
11
+ ],
12
+ "defaultVariantKey": "default",
13
+ "sourceFile": "src/components/patterns/AuthTemplate.tsx",
14
+ "specSource": "design/patterns.pen",
15
+ "stability": "experimental"
16
+ },
17
+ "bannalyzeTemplate": {
18
+ "title": "Bannalyze Template",
19
+ "description": "Three-region analysis workspace with center canvas and side inspectors.",
20
+ "variantKeys": [
21
+ "default"
22
+ ],
23
+ "defaultVariantKey": "default",
24
+ "sourceFile": "src/components/patterns/BannalyzeTemplate.tsx",
25
+ "specSource": "design/patterns.pen",
26
+ "stability": "experimental"
27
+ },
28
+ "blogTemplate": {
29
+ "title": null,
30
+ "description": null,
31
+ "variantKeys": [],
32
+ "defaultVariantKey": null,
33
+ "sourceFile": "src/components/patterns/BlogTemplate.tsx",
34
+ "specSource": "design/patterns.pen",
35
+ "stability": "experimental"
36
+ },
37
+ "chatTemplate": {
38
+ "title": "Chat Template",
39
+ "description": "Conversation layout with channel rail, message area, and detail pane.",
40
+ "variantKeys": [
41
+ "default"
42
+ ],
43
+ "defaultVariantKey": "default",
44
+ "sourceFile": "src/components/patterns/ChatTemplate.tsx",
45
+ "specSource": "design/patterns.pen",
46
+ "stability": "experimental"
47
+ },
48
+ "dashboardTemplate": {
49
+ "title": "Dashboard Template",
50
+ "description": "Two-column dashboard shell with optional header and sidebar.",
51
+ "variantKeys": [
52
+ "default"
53
+ ],
54
+ "defaultVariantKey": "default",
55
+ "sourceFile": "src/components/patterns/DashboardTemplate.tsx",
56
+ "specSource": "design/patterns.pen",
57
+ "stability": "experimental"
58
+ },
59
+ "docsTemplate": {
60
+ "title": null,
61
+ "description": null,
62
+ "variantKeys": [],
63
+ "defaultVariantKey": null,
64
+ "sourceFile": "src/components/patterns/DocsTemplate.tsx",
65
+ "specSource": "design/patterns.pen",
66
+ "stability": "experimental"
67
+ },
68
+ "editorTemplate": {
69
+ "title": "Editor Template",
70
+ "description": "Panel-based editing layout with top bar and side docks.",
71
+ "variantKeys": [
72
+ "default"
73
+ ],
74
+ "defaultVariantKey": "default",
75
+ "sourceFile": "src/components/patterns/EditorTemplate.tsx",
76
+ "specSource": "design/patterns.pen",
77
+ "stability": "experimental"
78
+ },
79
+ "kanbanTemplate": {
80
+ "title": "Kanban Template",
81
+ "description": "Board workflow shell with optional sidebar and horizontal columns.",
82
+ "variantKeys": [
83
+ "default"
84
+ ],
85
+ "defaultVariantKey": "default",
86
+ "sourceFile": "src/components/patterns/KanbanTemplate.tsx",
87
+ "specSource": "design/patterns.pen",
88
+ "stability": "experimental"
89
+ },
90
+ "landingTemplate": {
91
+ "title": "Landing Template",
92
+ "description": "Marketing page skeleton with sticky header and section rhythm.",
93
+ "variantKeys": [
94
+ "default"
95
+ ],
96
+ "defaultVariantKey": "default",
97
+ "sourceFile": "src/components/patterns/LandingTemplate.tsx",
98
+ "specSource": "design/patterns.pen",
99
+ "stability": "experimental"
100
+ },
101
+ "mediaLibraryTemplate": {
102
+ "title": "Media Library Template",
103
+ "description": "Asset management workspace with folders, grid area, and details pane.",
104
+ "variantKeys": [
105
+ "default"
106
+ ],
107
+ "defaultVariantKey": "default",
108
+ "sourceFile": "src/components/patterns/MediaLibraryTemplate.tsx",
109
+ "specSource": "design/patterns.pen",
110
+ "stability": "experimental"
111
+ },
112
+ "onboardingTemplate": {
113
+ "title": null,
114
+ "description": null,
115
+ "variantKeys": [],
116
+ "defaultVariantKey": null,
117
+ "sourceFile": "src/components/patterns/OnboardingTemplate.tsx",
118
+ "specSource": "design/patterns.pen",
119
+ "stability": "experimental"
120
+ },
121
+ "pricingTemplate": {
122
+ "title": null,
123
+ "description": null,
124
+ "variantKeys": [],
125
+ "defaultVariantKey": null,
126
+ "sourceFile": "src/components/patterns/PricingTemplate.tsx",
127
+ "specSource": "design/patterns.pen",
128
+ "stability": "experimental"
129
+ },
130
+ "settingsTemplate": {
131
+ "title": "Settings Template",
132
+ "description": "Responsive settings layout with mobile stack and desktop split view.",
133
+ "variantKeys": [
134
+ "default"
135
+ ],
136
+ "defaultVariantKey": "default",
137
+ "sourceFile": "src/components/patterns/SettingsTemplate.tsx",
138
+ "specSource": "design/patterns.pen",
139
+ "stability": "experimental"
140
+ }
141
+ },
142
+ "feedback": {
6
143
  "alert": {
7
144
  "title": "Alert",
8
145
  "description": "Displays a callout for user attention.",
9
146
  "variantKeys": [
10
147
  "default",
11
- "destructive"
148
+ "destructive",
149
+ "info",
150
+ "success",
151
+ "warning"
12
152
  ],
13
153
  "defaultVariantKey": "default",
14
- "sourceFile": "src/components/atoms/Alert.tsx",
15
- "specSource": "design/atoms.pen"
154
+ "sourceFile": "src/components/feedback/Alert.tsx",
155
+ "specSource": "design/feedback.pen",
156
+ "stability": "experimental"
16
157
  },
17
- "avatar": {
18
- "title": "Avatar",
19
- "description": "An image element with a fallback for representing the user.",
158
+ "banner": {
159
+ "title": "Banner",
160
+ "description": "Page-wide announcement bar, optionally dismissible.",
161
+ "variantKeys": [],
162
+ "defaultVariantKey": null,
163
+ "sourceFile": "src/components/feedback/Banner.tsx",
164
+ "specSource": "design/feedback.pen",
165
+ "stability": "experimental"
166
+ },
167
+ "notificationCenter": {
168
+ "title": "Notification Center",
169
+ "description": "Popover-based inbox for unread activity and quick actions.",
20
170
  "variantKeys": [
21
- "fallback",
22
- "image"
171
+ "default"
23
172
  ],
24
- "defaultVariantKey": "fallback",
25
- "sourceFile": "src/components/atoms/Avatar.tsx",
26
- "specSource": "design/atoms.pen"
173
+ "defaultVariantKey": "default",
174
+ "sourceFile": "src/components/feedback/NotificationCenter.tsx",
175
+ "specSource": "design/feedback.pen",
176
+ "stability": "experimental"
27
177
  },
28
- "badge": {
29
- "title": "Badge",
30
- "description": "Displays a badge or a component that looks like a badge.",
178
+ "progress": {
179
+ "title": "Progress",
180
+ "description": "Displays an indicator showing the completion progress of a task, typically displayed as a progress bar.",
31
181
  "variantKeys": [
182
+ "bar"
183
+ ],
184
+ "defaultVariantKey": "bar",
185
+ "sourceFile": "src/components/feedback/Progress.tsx",
186
+ "specSource": "design/feedback.pen",
187
+ "stability": "experimental"
188
+ },
189
+ "progressWidget": {
190
+ "title": "ProgressWidget",
191
+ "description": "Metric card showing title, value, progress bar, and optional subtext.",
192
+ "variantKeys": [
193
+ "default"
194
+ ],
195
+ "defaultVariantKey": "default",
196
+ "sourceFile": "src/components/feedback/ProgressWidget.tsx",
197
+ "specSource": "design/feedback.pen",
198
+ "stability": "experimental"
199
+ },
200
+ "spinner": {
201
+ "title": "Spinner",
202
+ "description": "A visual indicator that content is being loaded.",
203
+ "variantKeys": [
204
+ "sm",
32
205
  "default",
33
- "secondary",
34
- "destructive",
35
- "outline"
206
+ "lg"
36
207
  ],
37
208
  "defaultVariantKey": "default",
38
- "sourceFile": "src/components/atoms/Badge.tsx",
39
- "specSource": "design/atoms.pen"
209
+ "sourceFile": "src/components/feedback/Spinner.tsx",
210
+ "specSource": "design/feedback.pen",
211
+ "stability": "experimental"
40
212
  },
41
- "button": {
42
- "title": "Button",
43
- "description": "Displays a button or a component that looks like a button.",
213
+ "statusBar": {
214
+ "title": "StatusBar",
215
+ "description": "Bottom fixed utility bar with left, center and right regions.",
216
+ "variantKeys": [
217
+ "fixed"
218
+ ],
219
+ "defaultVariantKey": "fixed",
220
+ "sourceFile": "src/components/feedback/StatusBar.tsx",
221
+ "specSource": "design/feedback.pen",
222
+ "stability": "experimental"
223
+ },
224
+ "statusScreen": {
225
+ "title": "StatusScreen",
226
+ "description": "Full-page status feedback for not-found, error, offline, forbidden, maintenance, and coming-soon states.",
227
+ "variantKeys": [
228
+ "not-found",
229
+ "error",
230
+ "offline",
231
+ "forbidden",
232
+ "maintenance",
233
+ "coming-soon"
234
+ ],
235
+ "defaultVariantKey": "not-found",
236
+ "sourceFile": "src/components/feedback/StatusScreen.tsx",
237
+ "specSource": "design/feedback.pen",
238
+ "stability": "experimental"
239
+ },
240
+ "stepper": {
241
+ "title": "Stepper",
242
+ "description": "A multi-step progress indicator with completed, current, and upcoming states.",
243
+ "variantKeys": [],
244
+ "defaultVariantKey": null,
245
+ "sourceFile": "src/components/feedback/Stepper.tsx",
246
+ "specSource": "design/feedback.pen",
247
+ "stability": "experimental"
248
+ },
249
+ "toast": {
250
+ "title": "Toast",
251
+ "description": "Transient feedback message with semantic variants.",
252
+ "variantKeys": [
253
+ "success",
254
+ "error",
255
+ "info"
256
+ ],
257
+ "defaultVariantKey": "success",
258
+ "sourceFile": "src/components/feedback/Toast.tsx",
259
+ "specSource": "design/feedback.pen",
260
+ "stability": "experimental"
261
+ },
262
+ "toastProvider": {
263
+ "title": "Toast Provider",
264
+ "description": "Global toast stack manager for showing transient feedback messages.",
265
+ "variantKeys": [
266
+ "default"
267
+ ],
268
+ "defaultVariantKey": "default",
269
+ "sourceFile": "src/components/feedback/ToastProvider.tsx",
270
+ "specSource": "design/feedback.pen",
271
+ "stability": "experimental"
272
+ }
273
+ },
274
+ "layout": {
275
+ "aspectRatio": {
276
+ "title": "AspectRatio",
277
+ "description": "Maintains a fixed aspect ratio for media containers (image, video, iframe).",
278
+ "variantKeys": [],
279
+ "defaultVariantKey": null,
280
+ "sourceFile": "src/components/layout/AspectRatio.tsx",
281
+ "specSource": "design/layout.pen",
282
+ "stability": "experimental"
283
+ },
284
+ "assetInspectorPanel": {
285
+ "title": "AssetInspectorPanel",
286
+ "description": "Media library inspector panel for asset preview, title and note fields, tag editing, metadata rows, and asset actions.",
44
287
  "variantKeys": [
45
288
  "default",
46
- "destructive",
47
- "outline",
48
- "secondary",
49
- "ghost",
50
- "link"
289
+ "compact"
51
290
  ],
52
291
  "defaultVariantKey": "default",
53
- "sourceFile": "src/components/atoms/Button.tsx",
54
- "specSource": "design/atoms.pen"
292
+ "sourceFile": "src/components/layout/AssetInspectorPanel.tsx",
293
+ "specSource": "design/layout.pen",
294
+ "stability": "experimental"
55
295
  },
56
- "checkbox": {
57
- "title": "Checkbox",
58
- "description": "A control that allows the user to toggle between checked and not checked.",
296
+ "cluster": {
297
+ "title": "Cluster",
298
+ "description": "Wrapping flex layout items flow horizontally and wrap onto new lines.",
299
+ "variantKeys": [],
300
+ "defaultVariantKey": null,
301
+ "sourceFile": "src/components/layout/Cluster.tsx",
302
+ "specSource": "design/layout.pen",
303
+ "stability": "experimental"
304
+ },
305
+ "collapsiblePanelToggle": {
306
+ "title": "CollapsiblePanelToggle",
307
+ "description": "Boundary control for opening and closing a collapsible panel from the left, right, top, or bottom edge.",
308
+ "variantKeys": [
309
+ "left",
310
+ "right",
311
+ "top",
312
+ "bottom"
313
+ ],
314
+ "defaultVariantKey": "left",
315
+ "sourceFile": "src/components/layout/CollapsiblePanelToggle.tsx",
316
+ "specSource": "design/layout.pen",
317
+ "stability": "experimental"
318
+ },
319
+ "container": {
320
+ "title": "Container",
321
+ "description": "Max-width + horizontal padding wrapper for page content.",
322
+ "variantKeys": [],
323
+ "defaultVariantKey": null,
324
+ "sourceFile": "src/components/layout/Container.tsx",
325
+ "specSource": "design/layout.pen",
326
+ "stability": "experimental"
327
+ },
328
+ "deviceFrame": {
329
+ "title": "DeviceFrame",
330
+ "description": "Browser chrome frame with URL entry, visual chrome variants, and desktop, tablet, and mobile viewport controls for interactive pattern previews.",
59
331
  "variantKeys": [
60
- "unchecked",
61
- "checked",
62
- "disabled"
332
+ "default",
333
+ "windows11"
63
334
  ],
64
- "defaultVariantKey": "unchecked",
65
- "sourceFile": "src/components/atoms/Checkbox.tsx",
66
- "specSource": "design/atoms.pen"
335
+ "defaultVariantKey": "default",
336
+ "sourceFile": "src/components/layout/DeviceFrame.tsx",
337
+ "specSource": "design/layout.pen",
338
+ "stability": "experimental"
67
339
  },
68
- "img": {
69
- "title": "Img",
70
- "description": "An enhanced image component with loading skeleton and error fallback.",
340
+ "grid": {
341
+ "title": "Grid",
342
+ "description": "CSS grid wrapper with cols, gap, and minItemWidth props.",
343
+ "variantKeys": [],
344
+ "defaultVariantKey": null,
345
+ "sourceFile": "src/components/layout/Grid.tsx",
346
+ "specSource": "design/layout.pen",
347
+ "stability": "experimental"
348
+ },
349
+ "hStack": {
350
+ "title": "HStack",
351
+ "description": "Horizontal flex layout with gap, align, and justify props.",
352
+ "variantKeys": [],
353
+ "defaultVariantKey": null,
354
+ "sourceFile": "src/components/layout/HStack.tsx",
355
+ "specSource": "design/layout.pen",
356
+ "stability": "experimental"
357
+ },
358
+ "inspectorPanel": {
359
+ "title": "Inspector Panel",
360
+ "description": "Structured side panel for detailed property editing.",
71
361
  "variantKeys": [
72
- "loading",
73
- "loaded",
74
- "error"
362
+ "default"
75
363
  ],
76
- "defaultVariantKey": "loading",
77
- "sourceFile": "src/components/atoms/Img.tsx",
78
- "specSource": "design/atoms.pen"
364
+ "defaultVariantKey": "default",
365
+ "sourceFile": "src/components/layout/InspectorPanel.tsx",
366
+ "specSource": "design/layout.pen",
367
+ "stability": "experimental"
79
368
  },
80
- "input": {
81
- "title": "Input",
82
- "description": "Displays a form input field or a component that looks like an input field.",
369
+ "marqueeFrame": {
370
+ "title": "MarqueeFrame",
371
+ "description": "Scaled fake-browser viewport wrapper for marquee pattern pages. It keeps pattern content and overlays scoped to the active preview viewport.",
83
372
  "variantKeys": [
84
373
  "default",
85
- "placeholder",
86
- "disabled"
374
+ "desktop",
375
+ "tablet",
376
+ "mobile"
87
377
  ],
88
378
  "defaultVariantKey": "default",
89
- "sourceFile": "src/components/atoms/Input.tsx",
90
- "specSource": "design/atoms.pen"
379
+ "sourceFile": "src/components/layout/MarqueeFrame.tsx",
380
+ "specSource": "design/layout.pen",
381
+ "stability": "experimental"
91
382
  },
92
- "kbd": {
93
- "title": "Kbd",
94
- "description": "Displays a keyboard shortcut key.",
383
+ "resizable": {
384
+ "title": "Resizable",
385
+ "description": "Pane group with draggable handle and optional grip indicator.",
95
386
  "variantKeys": [
96
- "key"
387
+ "horizontal"
97
388
  ],
98
- "defaultVariantKey": "key",
99
- "sourceFile": "src/components/atoms/Kbd.tsx",
100
- "specSource": "design/atoms.pen"
389
+ "defaultVariantKey": "horizontal",
390
+ "sourceFile": "src/components/layout/Resizable.tsx",
391
+ "specSource": "design/layout.pen",
392
+ "stability": "experimental"
101
393
  },
102
- "label": {
103
- "title": "Label",
104
- "description": "Renders an accessible label associated with controls.",
394
+ "scrollArea": {
395
+ "title": "ScrollArea",
396
+ "description": "Custom scrollbar container with viewport and thumb controls.",
397
+ "variantKeys": [
398
+ "default"
399
+ ],
400
+ "defaultVariantKey": "default",
401
+ "sourceFile": "src/components/layout/ScrollArea.tsx",
402
+ "specSource": "design/layout.pen",
403
+ "stability": "experimental"
404
+ },
405
+ "spatialCanvas": {
406
+ "title": "Spatial Canvas",
407
+ "description": "Large grid-based interaction surface for node and layout editing.",
408
+ "variantKeys": [
409
+ "default"
410
+ ],
411
+ "defaultVariantKey": "default",
412
+ "sourceFile": "src/components/layout/SpatialCanvas.tsx",
413
+ "specSource": "design/layout.pen",
414
+ "stability": "experimental"
415
+ },
416
+ "vStack": {
417
+ "title": "VStack",
418
+ "description": "Vertical flex layout with gap, align, and justify props.",
105
419
  "variantKeys": [],
106
420
  "defaultVariantKey": null,
107
- "sourceFile": "src/components/atoms/Label.tsx",
108
- "specSource": "design/atoms.pen"
421
+ "sourceFile": "src/components/layout/VStack.tsx",
422
+ "specSource": "design/layout.pen",
423
+ "stability": "experimental"
424
+ }
425
+ },
426
+ "navigation": {
427
+ "appRail": {
428
+ "title": "App Rail",
429
+ "description": "Primary vertical icon rail used for application-wide navigation.",
430
+ "variantKeys": [
431
+ "default"
432
+ ],
433
+ "defaultVariantKey": "default",
434
+ "sourceFile": "src/components/navigation/AppRail.tsx",
435
+ "specSource": "design/navigation.pen",
436
+ "stability": "experimental"
109
437
  },
110
- "progress": {
111
- "title": "Progress",
112
- "description": "Displays an indicator showing the completion progress of a task, typically displayed as a progress bar.",
438
+ "breadcrumb": {
439
+ "title": "Breadcrumb",
440
+ "description": "Displays the path to the current resource using a hierarchy of links.",
113
441
  "variantKeys": [
114
- "bar"
442
+ "default"
115
443
  ],
116
- "defaultVariantKey": "bar",
117
- "sourceFile": "src/components/atoms/Progress.tsx",
118
- "specSource": "design/atoms.pen"
444
+ "defaultVariantKey": "default",
445
+ "sourceFile": "src/components/navigation/Breadcrumb.tsx",
446
+ "specSource": "design/navigation.pen",
447
+ "stability": "experimental"
119
448
  },
120
- "radioGroup": {
121
- "title": "RadioGroup",
122
- "description": "A set of checkable buttons—known as radio buttons—where no more than one of the buttons can be checked at a time.",
449
+ "command": {
450
+ "title": "Command",
451
+ "description": "Fast, composable, unstyled command menu for React.",
123
452
  "variantKeys": [
124
- "unchecked",
125
- "checked"
453
+ "default"
126
454
  ],
127
- "defaultVariantKey": "unchecked",
128
- "sourceFile": "src/components/atoms/RadioGroup.tsx",
129
- "specSource": "design/atoms.pen"
455
+ "defaultVariantKey": "default",
456
+ "sourceFile": "src/components/navigation/Command.tsx",
457
+ "specSource": "design/navigation.pen",
458
+ "stability": "experimental"
130
459
  },
131
- "select": {
132
- "title": "Select",
133
- "description": "Displays a list of options for the user to pick from.",
460
+ "commandPalette": {
461
+ "title": "Command Palette",
462
+ "description": "Global quick-action launcher with grouped commands and keyboard shortcuts.",
463
+ "variantKeys": [
464
+ "default"
465
+ ],
466
+ "defaultVariantKey": "default",
467
+ "sourceFile": "src/components/navigation/CommandPalette.tsx",
468
+ "specSource": "design/navigation.pen",
469
+ "stability": "experimental"
470
+ },
471
+ "documentPager": {
472
+ "title": "DocumentPager",
473
+ "description": "Adjacent-document navigation with preview thumbnail, category label, title, and description.",
474
+ "variantKeys": [
475
+ "default"
476
+ ],
477
+ "defaultVariantKey": "default",
478
+ "sourceFile": "src/components/navigation/DocumentPager.tsx",
479
+ "specSource": "design/navigation.pen",
480
+ "stability": "experimental"
481
+ },
482
+ "footer": {
483
+ "title": "Footer",
484
+ "description": "Standard footer with brand, link sections, and copyright row.",
485
+ "variantKeys": [],
486
+ "defaultVariantKey": null,
487
+ "sourceFile": "src/components/navigation/Footer.tsx",
488
+ "specSource": "design/navigation.pen",
489
+ "stability": "experimental"
490
+ },
491
+ "header": {
492
+ "title": "Header",
493
+ "description": "Top navigation bar with logo, primary nav, and right-aligned actions.",
494
+ "variantKeys": [],
495
+ "defaultVariantKey": null,
496
+ "sourceFile": "src/components/navigation/Header.tsx",
497
+ "specSource": "design/navigation.pen",
498
+ "stability": "experimental"
499
+ },
500
+ "menubar": {
501
+ "title": "Menubar",
502
+ "description": "Top application menu with trigger items and nested submenu entry.",
503
+ "variantKeys": [
504
+ "default"
505
+ ],
506
+ "defaultVariantKey": "default",
507
+ "sourceFile": "src/components/navigation/Menubar.tsx",
508
+ "specSource": "design/navigation.pen",
509
+ "stability": "experimental"
510
+ },
511
+ "navigationMenu": {
512
+ "title": "NavigationMenu",
513
+ "description": "Top-nav with mega-menu dropdowns for site navigation.",
514
+ "variantKeys": [],
515
+ "defaultVariantKey": null,
516
+ "sourceFile": "src/components/navigation/NavigationMenu.tsx",
517
+ "specSource": "design/navigation.pen",
518
+ "stability": "experimental"
519
+ },
520
+ "pageAside": {
521
+ "title": "PageAside",
522
+ "description": "Responsive page support layout that renders supporting information as a right rail on wide screens and a collapsible block on narrow screens.",
523
+ "variantKeys": [
524
+ "default"
525
+ ],
526
+ "defaultVariantKey": "default",
527
+ "sourceFile": "src/components/navigation/PageAside.tsx",
528
+ "specSource": "design/navigation.pen",
529
+ "stability": "experimental"
530
+ },
531
+ "pagination": {
532
+ "title": "Pagination",
533
+ "description": "Navigation controls for traversing paged content.",
534
+ "variantKeys": [
535
+ "default"
536
+ ],
537
+ "defaultVariantKey": "default",
538
+ "sourceFile": "src/components/navigation/Pagination.tsx",
539
+ "specSource": "design/navigation.pen",
540
+ "stability": "experimental"
541
+ },
542
+ "rightRail": {
543
+ "title": "Right Rail",
544
+ "description": "Secondary side panel for contextual tools and inspector content.",
545
+ "variantKeys": [
546
+ "default"
547
+ ],
548
+ "defaultVariantKey": "default",
549
+ "sourceFile": "src/components/navigation/RightRail.tsx",
550
+ "specSource": "design/navigation.pen",
551
+ "stability": "experimental"
552
+ },
553
+ "sidebar": {
554
+ "title": "Sidebar",
555
+ "description": "Full sidebar orchestrator with provider, header, nav items, and footer slots.",
556
+ "variantKeys": [],
557
+ "defaultVariantKey": null,
558
+ "sourceFile": "src/components/navigation/Sidebar.tsx",
559
+ "specSource": "design/navigation.pen",
560
+ "stability": "experimental"
561
+ },
562
+ "sidebarItem": {
563
+ "title": "SidebarItem",
564
+ "description": "Nested sidebar row with chevron, icon, label, and counter area.",
565
+ "variantKeys": [
566
+ "default",
567
+ "active"
568
+ ],
569
+ "defaultVariantKey": "default",
570
+ "sourceFile": "src/components/navigation/SidebarItem.tsx",
571
+ "specSource": "design/navigation.pen",
572
+ "stability": "experimental"
573
+ },
574
+ "tabs": {
575
+ "title": "Tabs",
576
+ "description": "A set of layered sections of content—known as tab panels—that are displayed one at a time.",
577
+ "variantKeys": [
578
+ "default"
579
+ ],
580
+ "defaultVariantKey": "default",
581
+ "sourceFile": "src/components/navigation/Tabs.tsx",
582
+ "specSource": "design/navigation.pen",
583
+ "stability": "experimental"
584
+ },
585
+ "textLink": {
586
+ "title": "TextLink",
587
+ "description": "Inline text link that automatically shows an external-tab icon when it opens a new tab.",
588
+ "variantKeys": [
589
+ "default",
590
+ "muted"
591
+ ],
592
+ "defaultVariantKey": "default",
593
+ "sourceFile": "src/components/navigation/TextLink.tsx",
594
+ "specSource": "design/navigation.pen",
595
+ "stability": "experimental"
596
+ }
597
+ },
598
+ "overlay": {
599
+ "alertDialog": {
600
+ "title": "AlertDialog",
601
+ "description": "Modal dialog focused on confirming a destructive or important action.",
602
+ "variantKeys": [],
603
+ "defaultVariantKey": null,
604
+ "sourceFile": "src/components/overlay/AlertDialog.tsx",
605
+ "specSource": "design/overlay.pen",
606
+ "stability": "experimental"
607
+ },
608
+ "chatPanel": {
609
+ "title": "ChatPanel",
610
+ "description": "Contained chat overlay surface that composes ChatMessage and ChatInput for support, assistant, or team conversation panels.",
611
+ "variantKeys": [
612
+ "default",
613
+ "compact"
614
+ ],
615
+ "defaultVariantKey": "default",
616
+ "sourceFile": "src/components/overlay/ChatPanel.tsx",
617
+ "specSource": "design/overlay.pen",
618
+ "stability": "experimental"
619
+ },
620
+ "contextMenu": {
621
+ "title": "ContextMenu",
622
+ "description": "Right-click style action list with labels and nested trigger.",
623
+ "variantKeys": [
624
+ "default"
625
+ ],
626
+ "defaultVariantKey": "default",
627
+ "sourceFile": "src/components/overlay/ContextMenu.tsx",
628
+ "specSource": "design/overlay.pen",
629
+ "stability": "experimental"
630
+ },
631
+ "dialog": {
632
+ "title": "Dialog",
633
+ "description": "Centered modal dialog with overlay, header, and footer actions.",
634
+ "variantKeys": [
635
+ "default"
636
+ ],
637
+ "defaultVariantKey": "default",
638
+ "sourceFile": "src/components/overlay/Dialog.tsx",
639
+ "specSource": "design/overlay.pen",
640
+ "stability": "experimental"
641
+ },
642
+ "drawer": {
643
+ "title": "Drawer",
644
+ "description": "Mobile-friendly bottom sheet with drag-to-dismiss handle (vaul-based).",
645
+ "variantKeys": [],
646
+ "defaultVariantKey": null,
647
+ "sourceFile": "src/components/overlay/Drawer.tsx",
648
+ "specSource": "design/overlay.pen",
649
+ "stability": "experimental"
650
+ },
651
+ "dropdownMenu": {
652
+ "title": "Dropdown Menu",
653
+ "description": "Displays a menu to the user—such as a set of actions or functions—triggered by a button.",
654
+ "variantKeys": [
655
+ "default"
656
+ ],
657
+ "defaultVariantKey": "default",
658
+ "sourceFile": "src/components/overlay/DropdownMenu.tsx",
659
+ "specSource": "design/overlay.pen",
660
+ "stability": "experimental"
661
+ },
662
+ "floatingPanel": {
663
+ "title": "Floating Panel",
664
+ "description": "Animated floating container for transient UI surfaces.",
665
+ "variantKeys": [
666
+ "glass"
667
+ ],
668
+ "defaultVariantKey": "glass",
669
+ "sourceFile": "src/components/overlay/FloatingPanel.tsx",
670
+ "specSource": "design/overlay.pen",
671
+ "stability": "experimental"
672
+ },
673
+ "hoverCard": {
674
+ "title": "HoverCard",
675
+ "description": "Rich hover content with compact profile-like layout.",
676
+ "variantKeys": [
677
+ "default"
678
+ ],
679
+ "defaultVariantKey": "default",
680
+ "sourceFile": "src/components/overlay/HoverCard.tsx",
681
+ "specSource": "design/overlay.pen",
682
+ "stability": "experimental"
683
+ },
684
+ "mediaLightbox": {
685
+ "title": "MediaLightbox",
686
+ "description": "Full-screen media preview dialog with navigation, zoom controls, and asset actions.",
687
+ "variantKeys": [
688
+ "default",
689
+ "compact"
690
+ ],
691
+ "defaultVariantKey": "default",
692
+ "sourceFile": "src/components/overlay/MediaLightbox.tsx",
693
+ "specSource": "design/overlay.pen",
694
+ "stability": "experimental"
695
+ },
696
+ "mediaPickerDialog": {
697
+ "title": "MediaPickerDialog",
698
+ "description": "Media selection dialog with search, AssetGrid rendering, single-select and multi-select confirmation flows.",
699
+ "variantKeys": [
700
+ "default",
701
+ "compact"
702
+ ],
703
+ "defaultVariantKey": "default",
704
+ "sourceFile": "src/components/overlay/MediaPickerDialog.tsx",
705
+ "specSource": "design/overlay.pen",
706
+ "stability": "experimental"
707
+ },
708
+ "modal": {
709
+ "title": "Modal",
710
+ "description": "Dialog surface with header, content, and optional footer actions.",
711
+ "variantKeys": [
712
+ "default"
713
+ ],
714
+ "defaultVariantKey": "default",
715
+ "sourceFile": "src/components/overlay/Modal.tsx",
716
+ "specSource": "design/overlay.pen",
717
+ "stability": "experimental"
718
+ },
719
+ "onboardingFlow": {
720
+ "title": "OnboardingFlow",
721
+ "description": "Multi-step guided flow with step indicator, content, and Back/Continue actions.",
722
+ "variantKeys": [],
723
+ "defaultVariantKey": null,
724
+ "sourceFile": "src/components/overlay/OnboardingFlow.tsx",
725
+ "specSource": "design/overlay.pen",
726
+ "stability": "experimental"
727
+ },
728
+ "popover": {
729
+ "title": "Popover",
730
+ "description": "Displays rich content in a portal, triggered by a button.",
731
+ "variantKeys": [
732
+ "default"
733
+ ],
734
+ "defaultVariantKey": "default",
735
+ "sourceFile": "src/components/overlay/Popover.tsx",
736
+ "specSource": "design/overlay.pen",
737
+ "stability": "experimental"
738
+ },
739
+ "shareModal": {
740
+ "title": "Share Modal",
741
+ "description": "Dialog for toggling public access and copying shareable URLs.",
742
+ "variantKeys": [
743
+ "default"
744
+ ],
745
+ "defaultVariantKey": "default",
746
+ "sourceFile": "src/components/overlay/ShareModal.tsx",
747
+ "specSource": "design/overlay.pen",
748
+ "stability": "experimental"
749
+ },
750
+ "sheet": {
751
+ "title": "Sheet",
752
+ "description": "Side panel variant with overlay, heading, and action area.",
753
+ "variantKeys": [
754
+ "right"
755
+ ],
756
+ "defaultVariantKey": "right",
757
+ "sourceFile": "src/components/overlay/Sheet.tsx",
758
+ "specSource": "design/overlay.pen",
759
+ "stability": "experimental"
760
+ },
761
+ "tooltip": {
762
+ "title": "Tooltip",
763
+ "description": "Compact helper text bubble for hover and focus states.",
764
+ "variantKeys": [
765
+ "default"
766
+ ],
767
+ "defaultVariantKey": "default",
768
+ "sourceFile": "src/components/overlay/Tooltip.tsx",
769
+ "specSource": "design/overlay.pen",
770
+ "stability": "experimental"
771
+ }
772
+ },
773
+ "display": {
774
+ "accordion": {
775
+ "title": "Accordion",
776
+ "description": "A vertically stacked set of interactive headings that each reveal a section of content.",
777
+ "variantKeys": [
778
+ "collapsed",
779
+ "expanded"
780
+ ],
781
+ "defaultVariantKey": "collapsed",
782
+ "sourceFile": "src/components/display/Accordion.tsx",
783
+ "specSource": "design/display.pen",
784
+ "stability": "experimental"
785
+ },
786
+ "accordionGroup": {
787
+ "title": "AccordionGroup",
788
+ "description": "Labeled accordion composition with a single expand-all/collapse-all toggle control for FAQ, settings, and grouped disclosure lists.",
134
789
  "variantKeys": [
135
- "default"
790
+ "default",
791
+ "withDescription",
792
+ "withoutControls"
136
793
  ],
137
794
  "defaultVariantKey": "default",
138
- "sourceFile": "src/components/atoms/Select.tsx",
139
- "specSource": "design/atoms.pen"
795
+ "sourceFile": "src/components/display/AccordionGroup.tsx",
796
+ "specSource": "design/display.pen",
797
+ "stability": "experimental"
140
798
  },
141
- "separator": {
142
- "title": "Separator",
143
- "description": "Visually or semantically separates content.",
799
+ "actionDataTable": {
800
+ "title": "ActionDataTable",
801
+ "description": "Selectable data table composition with bulk actions, row actions, and disabled-action feedback.",
144
802
  "variantKeys": [
145
- "horizontal",
146
- "vertical"
803
+ "default",
804
+ "selection",
805
+ "rowActions"
147
806
  ],
148
- "defaultVariantKey": "horizontal",
149
- "sourceFile": "src/components/atoms/Separator.tsx",
150
- "specSource": "design/atoms.pen"
151
- },
152
- "skeleton": {
153
- "title": null,
154
- "description": null,
155
- "variantKeys": [],
156
- "defaultVariantKey": null,
157
- "sourceFile": "src/components/atoms/Skeleton.tsx",
158
- "specSource": "design/atoms.pen"
807
+ "defaultVariantKey": "default",
808
+ "sourceFile": "src/components/display/ActionDataTable.tsx",
809
+ "specSource": "design/display.pen",
810
+ "stability": "experimental"
159
811
  },
160
- "slider": {
161
- "title": "Slider",
162
- "description": "An input where the user selects a value from within a given range.",
812
+ "activityTimelineCard": {
813
+ "title": "Activity Timeline Card",
814
+ "description": "HTML/CSS timeline card for activity, sleep, and operations dashboards with editable slots, segments, metrics, and hover/focus tooltips.",
163
815
  "variantKeys": [
164
- "default"
816
+ "default",
817
+ "compact"
165
818
  ],
166
819
  "defaultVariantKey": "default",
167
- "sourceFile": "src/components/atoms/Slider.tsx",
168
- "specSource": "design/atoms.pen"
820
+ "sourceFile": "src/components/display/ActivityTimelineCard.tsx",
821
+ "specSource": "design/display.pen",
822
+ "stability": "experimental"
169
823
  },
170
- "spinner": {
171
- "title": "Spinner",
172
- "description": "A visual indicator that content is being loaded.",
824
+ "analyticsCard": {
825
+ "title": "AnalyticsCard",
826
+ "description": "Composable metric card shell for chart previews, deltas, and supporting context.",
173
827
  "variantKeys": [
174
- "sm",
175
828
  "default",
176
- "lg"
829
+ "positive",
830
+ "riskIncrease",
831
+ "flatWithFooter"
177
832
  ],
178
833
  "defaultVariantKey": "default",
179
- "sourceFile": "src/components/atoms/Spinner.tsx",
180
- "specSource": "design/atoms.pen"
834
+ "sourceFile": "src/components/display/AnalyticsCard.tsx",
835
+ "specSource": "design/display.pen",
836
+ "stability": "experimental"
181
837
  },
182
- "switch": {
183
- "title": "Switch",
184
- "description": "A control that allows the user to toggle between checked and not checked.",
838
+ "assetCard": {
839
+ "title": "AssetCard",
840
+ "description": "Selectable media asset card for image libraries, files, and generated creative results with favorite, score, and preview affordances.",
185
841
  "variantKeys": [
186
- "unchecked",
187
- "checked"
842
+ "default",
843
+ "compact"
188
844
  ],
189
- "defaultVariantKey": "unchecked",
190
- "sourceFile": "src/components/atoms/Switch.tsx",
191
- "specSource": "design/atoms.pen"
845
+ "defaultVariantKey": "default",
846
+ "sourceFile": "src/components/display/AssetCard.tsx",
847
+ "specSource": "design/display.pen",
848
+ "stability": "experimental"
192
849
  },
193
- "textarea": {
194
- "title": "Textarea",
195
- "description": "Displays a form textarea or a component that looks like a textarea.",
850
+ "assetGrid": {
851
+ "title": "AssetGrid",
852
+ "description": "Responsive grouped media grid that renders AssetCard items with empty state, selection state, and preview hooks.",
196
853
  "variantKeys": [
197
854
  "default",
198
- "disabled"
855
+ "compact"
199
856
  ],
200
857
  "defaultVariantKey": "default",
201
- "sourceFile": "src/components/atoms/Textarea.tsx",
202
- "specSource": "design/atoms.pen"
858
+ "sourceFile": "src/components/display/AssetGrid.tsx",
859
+ "specSource": "design/display.pen",
860
+ "stability": "experimental"
203
861
  },
204
- "toggleGroup": {
205
- "title": "ToggleGroup",
206
- "description": "A set of two-state buttons that can be toggled on or off.",
862
+ "avatar": {
863
+ "title": "Avatar",
864
+ "description": "An image element with a fallback for representing the user.",
865
+ "variantKeys": [
866
+ "fallback",
867
+ "image"
868
+ ],
869
+ "defaultVariantKey": "fallback",
870
+ "sourceFile": "src/components/display/Avatar.tsx",
871
+ "specSource": "design/display.pen",
872
+ "stability": "experimental"
873
+ },
874
+ "avatarGroup": {
875
+ "title": "AvatarGroup",
876
+ "description": "Stack of overlapping avatars with optional +N overflow indicator.",
877
+ "variantKeys": [],
878
+ "defaultVariantKey": null,
879
+ "sourceFile": "src/components/display/AvatarGroup.tsx",
880
+ "specSource": "design/display.pen",
881
+ "stability": "experimental"
882
+ },
883
+ "badge": {
884
+ "title": "Badge",
885
+ "description": "Displays a badge or a component that looks like a badge.",
207
886
  "variantKeys": [
208
887
  "default",
888
+ "secondary",
889
+ "destructive",
209
890
  "outline"
210
891
  ],
211
892
  "defaultVariantKey": "default",
212
- "sourceFile": "src/components/atoms/ToggleGroup.tsx",
213
- "specSource": "design/atoms.pen"
893
+ "sourceFile": "src/components/display/Badge.tsx",
894
+ "specSource": "design/display.pen",
895
+ "stability": "experimental"
214
896
  },
215
- "toolPill": {
216
- "title": "ToolPill",
217
- "description": "Compact icon pill used for toolbar quick actions with active and danger states.",
897
+ "barChart": {
898
+ "title": "BarChart",
899
+ "description": "Token-driven vertical or horizontal bar chart with optional average marker and hover/focus value tooltips.",
218
900
  "variantKeys": [
219
- "primary",
220
- "secondary",
221
- "danger"
901
+ "vertical",
902
+ "horizontal"
222
903
  ],
223
- "defaultVariantKey": "primary",
224
- "sourceFile": "src/components/atoms/ToolPill.tsx",
225
- "specSource": "design/atoms.pen"
226
- }
227
- },
228
- "molecules": {
229
- "accordion": {
230
- "title": "Accordion",
231
- "description": "A vertically stacked set of interactive headings that each reveal a section of content.",
904
+ "defaultVariantKey": "vertical",
905
+ "sourceFile": "src/components/display/BarChart.tsx",
906
+ "specSource": "design/display.pen",
907
+ "stability": "experimental"
908
+ },
909
+ "card": {
910
+ "title": "Card",
911
+ "description": "Displays a card with header, content, and footer.",
232
912
  "variantKeys": [
233
- "collapsed",
234
- "expanded"
913
+ "default"
235
914
  ],
236
- "defaultVariantKey": "collapsed",
237
- "sourceFile": "src/components/molecules/Accordion.tsx",
238
- "specSource": "design/molecules.pen"
915
+ "defaultVariantKey": "default",
916
+ "sourceFile": "src/components/display/Card.tsx",
917
+ "specSource": "design/display.pen",
918
+ "stability": "experimental"
239
919
  },
240
- "aiChatInput": {
241
- "title": "AIChatInput",
242
- "description": "Composer row with attachments, autosizing textarea, and send/stop actions.",
920
+ "carousel": {
921
+ "title": "Carousel",
922
+ "description": "Embla-powered slider with keyboard and arrow controls.",
243
923
  "variantKeys": [
244
924
  "default"
245
925
  ],
246
926
  "defaultVariantKey": "default",
247
- "sourceFile": "src/components/molecules/AIChatInput.tsx",
248
- "specSource": "design/molecules.pen"
927
+ "sourceFile": "src/components/display/Carousel.tsx",
928
+ "specSource": "design/display.pen",
929
+ "stability": "experimental"
930
+ },
931
+ "chartLegend": {
932
+ "title": "ChartLegend",
933
+ "description": "Legend rows for chart series, values, and token-driven markers.",
934
+ "variantKeys": [
935
+ "horizontal",
936
+ "vertical"
937
+ ],
938
+ "defaultVariantKey": "horizontal",
939
+ "sourceFile": "src/components/display/ChartLegend.tsx",
940
+ "specSource": "design/display.pen",
941
+ "stability": "experimental"
249
942
  },
250
- "aiChatMessage": {
251
- "title": "AIChatMessage",
252
- "description": "Chat row for user/assistant with avatar, bubble, and action controls.",
943
+ "chatMessage": {
944
+ "title": "ChatMessage",
945
+ "description": "Single chat transcript row for assistant, user, system, and typing states.",
253
946
  "variantKeys": [
254
947
  "assistant",
255
- "user"
948
+ "user",
949
+ "system",
950
+ "typing"
256
951
  ],
257
952
  "defaultVariantKey": "assistant",
258
- "sourceFile": "src/components/molecules/AIChatMessage.tsx",
259
- "specSource": "design/molecules.pen"
953
+ "sourceFile": "src/components/display/ChatMessage.tsx",
954
+ "specSource": "design/display.pen",
955
+ "stability": "experimental"
260
956
  },
261
- "breadcrumb": {
262
- "title": "Breadcrumb",
263
- "description": "Displays the path to the current resource using a hierarchy of links.",
957
+ "choroplethMap": {
958
+ "title": "ChoroplethMap",
959
+ "description": "HTML/CSS region density map for GeoJSON-style boundaries, markers, and ranked locations with hover/focus tooltips.",
264
960
  "variantKeys": [
265
- "default"
961
+ "default",
962
+ "compact"
266
963
  ],
267
964
  "defaultVariantKey": "default",
268
- "sourceFile": "src/components/molecules/Breadcrumb.tsx",
269
- "specSource": "design/molecules.pen"
965
+ "sourceFile": "src/components/display/ChoroplethMap.tsx",
966
+ "specSource": "design/display.pen",
967
+ "stability": "experimental"
270
968
  },
271
- "calendar": {
272
- "title": "Calendar",
273
- "description": "A date field component that allows users to enter and edit date.",
969
+ "code": {
970
+ "title": "Code",
971
+ "description": "Inline code style for monospaced text content.",
972
+ "variantKeys": [],
973
+ "defaultVariantKey": null,
974
+ "sourceFile": "src/components/display/Code.tsx",
975
+ "specSource": "design/display.pen",
976
+ "stability": "experimental"
977
+ },
978
+ "codeBlock": {
979
+ "title": "CodeBlock",
980
+ "description": "Syntax-highlighted code block with optional filename and copy button.",
981
+ "variantKeys": [],
982
+ "defaultVariantKey": null,
983
+ "sourceFile": "src/components/display/CodeBlock.tsx",
984
+ "specSource": "design/display.pen",
985
+ "stability": "experimental"
986
+ },
987
+ "colorSwatch": {
988
+ "title": "ColorSwatch",
989
+ "description": "Color preview chip with copyable hex/rgb value.",
990
+ "variantKeys": [],
991
+ "defaultVariantKey": null,
992
+ "sourceFile": "src/components/display/ColorSwatch.tsx",
993
+ "specSource": "design/display.pen",
994
+ "stability": "experimental"
995
+ },
996
+ "concentricProgressCard": {
997
+ "title": "Concentric Progress Card",
998
+ "description": "HTML/CSS card for storage, quota, and multi-ring progress widgets with selectable concentric rings, metrics, and hover/focus tooltips.",
274
999
  "variantKeys": [
275
- "default"
1000
+ "default",
1001
+ "compact"
276
1002
  ],
277
1003
  "defaultVariantKey": "default",
278
- "sourceFile": "src/components/molecules/Calendar.tsx",
279
- "specSource": "design/molecules.pen"
1004
+ "sourceFile": "src/components/display/ConcentricProgressCard.tsx",
1005
+ "specSource": "design/display.pen",
1006
+ "stability": "experimental"
280
1007
  },
281
- "card": {
282
- "title": "Card",
283
- "description": "Displays a card with header, content, and footer.",
1008
+ "dataTable": {
1009
+ "title": "DataTable",
1010
+ "description": "Table + sort + filter + pagination integrated. Wraps @tanstack/react-table.",
1011
+ "variantKeys": [],
1012
+ "defaultVariantKey": null,
1013
+ "sourceFile": "src/components/display/DataTable.tsx",
1014
+ "specSource": "design/display.pen",
1015
+ "stability": "experimental"
1016
+ },
1017
+ "distributionBar": {
1018
+ "title": "DistributionBar",
1019
+ "description": "Stacked percentage distribution bar for segments, channels, and allocation data with hover/focus segment tooltips.",
284
1020
  "variantKeys": [
285
1021
  "default"
286
1022
  ],
287
1023
  "defaultVariantKey": "default",
288
- "sourceFile": "src/components/molecules/Card.tsx",
289
- "specSource": "design/molecules.pen"
1024
+ "sourceFile": "src/components/display/DistributionBar.tsx",
1025
+ "specSource": "design/display.pen",
1026
+ "stability": "experimental"
290
1027
  },
291
- "carousel": {
292
- "title": "Carousel",
293
- "description": "Embla-powered slider with keyboard and arrow controls.",
1028
+ "docNote": {
1029
+ "title": "DocNote",
1030
+ "description": "Supplemental note block for explanatory copy, references, and non-urgent documentation callouts.",
294
1031
  "variantKeys": [
295
- "default"
1032
+ "default",
1033
+ "reference"
296
1034
  ],
297
1035
  "defaultVariantKey": "default",
298
- "sourceFile": "src/components/molecules/Carousel.tsx",
299
- "specSource": "design/molecules.pen"
1036
+ "sourceFile": "src/components/display/DocNote.tsx",
1037
+ "specSource": "design/display.pen",
1038
+ "stability": "experimental"
300
1039
  },
301
- "command": {
302
- "title": "Command",
303
- "description": "Fast, composable, unstyled command menu for React.",
1040
+ "donutChart": {
1041
+ "title": "DonutChart",
1042
+ "description": "HTML/CSS donut chart for proportional segments with optional center labels and pointer-aware segment tooltips.",
304
1043
  "variantKeys": [
305
- "default"
1044
+ "default",
1045
+ "compact"
306
1046
  ],
307
1047
  "defaultVariantKey": "default",
308
- "sourceFile": "src/components/molecules/Command.tsx",
309
- "specSource": "design/molecules.pen"
1048
+ "sourceFile": "src/components/display/DonutChart.tsx",
1049
+ "specSource": "design/display.pen",
1050
+ "stability": "experimental"
310
1051
  },
311
- "contextMenu": {
312
- "title": "ContextMenu",
313
- "description": "Right-click style action list with labels and nested trigger.",
1052
+ "emptyState": {
1053
+ "title": "EmptyState",
1054
+ "description": "Placeholder for lists / panels with no data, with optional CTA.",
1055
+ "variantKeys": [],
1056
+ "defaultVariantKey": null,
1057
+ "sourceFile": "src/components/display/EmptyState.tsx",
1058
+ "specSource": "design/display.pen",
1059
+ "stability": "experimental"
1060
+ },
1061
+ "fileTree": {
1062
+ "title": "FileTree",
1063
+ "description": "File and folder tree composition with metadata, row actions, and single or multiple selection.",
314
1064
  "variantKeys": [
315
- "default"
1065
+ "single",
1066
+ "multiple",
1067
+ "actions"
316
1068
  ],
317
- "defaultVariantKey": "default",
318
- "sourceFile": "src/components/molecules/ContextMenu.tsx",
319
- "specSource": "design/molecules.pen"
1069
+ "defaultVariantKey": "single",
1070
+ "sourceFile": "src/components/display/FileTree.tsx",
1071
+ "specSource": "design/display.pen",
1072
+ "stability": "experimental"
320
1073
  },
321
- "dialog": {
322
- "title": "Dialog",
323
- "description": "Centered modal dialog with overlay, header, and footer actions.",
1074
+ "gaugeChart": {
1075
+ "title": "GaugeChart",
1076
+ "description": "HTML/CSS semi-circle gauge for scores, progress, and capacity readings with hover/focus value tooltip.",
324
1077
  "variantKeys": [
325
- "default"
1078
+ "default",
1079
+ "compact"
326
1080
  ],
327
1081
  "defaultVariantKey": "default",
328
- "sourceFile": "src/components/molecules/Dialog.tsx",
329
- "specSource": "design/molecules.pen"
1082
+ "sourceFile": "src/components/display/GaugeChart.tsx",
1083
+ "specSource": "design/display.pen",
1084
+ "stability": "experimental"
330
1085
  },
331
- "dropdownMenu": {
332
- "title": "Dropdown Menu",
333
- "description": "Displays a menu to the user—such as a set of actions or functions—triggered by a button.",
1086
+ "heatmapChart": {
1087
+ "title": "HeatmapChart",
1088
+ "description": "HTML/CSS density heatmap for day, time, and cohort intensity patterns with hover/focus cell tooltips.",
334
1089
  "variantKeys": [
335
- "default"
1090
+ "default",
1091
+ "compact"
336
1092
  ],
337
1093
  "defaultVariantKey": "default",
338
- "sourceFile": "src/components/molecules/DropdownMenu.tsx",
339
- "specSource": "design/molecules.pen"
1094
+ "sourceFile": "src/components/display/HeatmapChart.tsx",
1095
+ "specSource": "design/display.pen",
1096
+ "stability": "experimental"
340
1097
  },
341
- "filterButton": {
342
- "title": "FilterButton",
343
- "description": "Filter trigger with dashed border, count badge, and command popover list.",
1098
+ "icon": {
1099
+ "title": "Icon",
1100
+ "description": "Normalizes icon size, stroke, and accessibility behavior across GunjoUI.",
1101
+ "variantKeys": [
1102
+ "sm",
1103
+ "xs",
1104
+ "md",
1105
+ "lg",
1106
+ "xl"
1107
+ ],
1108
+ "defaultVariantKey": "sm",
1109
+ "sourceFile": "src/components/display/Icon.tsx",
1110
+ "specSource": "design/display.pen",
1111
+ "stability": "experimental"
1112
+ },
1113
+ "imagePreview": {
1114
+ "title": "ImagePreview",
1115
+ "description": "Framed image preview surface for asset cards, pickers, and media inspection.",
344
1116
  "variantKeys": [
345
1117
  "default",
346
- "selected",
347
- "popover"
1118
+ "contain",
1119
+ "empty"
348
1120
  ],
349
1121
  "defaultVariantKey": "default",
350
- "sourceFile": "src/components/molecules/FilterButton.tsx",
351
- "specSource": "design/molecules.pen"
1122
+ "sourceFile": "src/components/display/ImagePreview.tsx",
1123
+ "specSource": "design/display.pen",
1124
+ "stability": "experimental"
352
1125
  },
353
- "form": {
354
- "title": null,
355
- "description": null,
356
- "variantKeys": [],
357
- "defaultVariantKey": null,
358
- "sourceFile": "src/components/molecules/Form.tsx",
359
- "specSource": "design/molecules.pen"
1126
+ "img": {
1127
+ "title": "Img",
1128
+ "description": "An enhanced image component with loading skeleton and error fallback.",
1129
+ "variantKeys": [
1130
+ "loading",
1131
+ "loaded",
1132
+ "error"
1133
+ ],
1134
+ "defaultVariantKey": "loading",
1135
+ "sourceFile": "src/components/display/Img.tsx",
1136
+ "specSource": "design/display.pen",
1137
+ "stability": "experimental"
360
1138
  },
361
- "hoverCard": {
362
- "title": "HoverCard",
363
- "description": "Rich hover content with compact profile-like layout.",
1139
+ "kbd": {
1140
+ "title": "Kbd",
1141
+ "description": "Displays a keyboard shortcut key.",
364
1142
  "variantKeys": [
365
- "default"
1143
+ "key"
1144
+ ],
1145
+ "defaultVariantKey": "key",
1146
+ "sourceFile": "src/components/display/Kbd.tsx",
1147
+ "specSource": "design/display.pen",
1148
+ "stability": "experimental"
1149
+ },
1150
+ "labeledDonutCard": {
1151
+ "title": "Labeled Donut Card",
1152
+ "description": "HTML/CSS donut chart card for segment comparison with central summary, external callout rows, and hover/focus segment tooltips.",
1153
+ "variantKeys": [
1154
+ "default",
1155
+ "compact"
366
1156
  ],
367
1157
  "defaultVariantKey": "default",
368
- "sourceFile": "src/components/molecules/HoverCard.tsx",
369
- "specSource": "design/molecules.pen"
1158
+ "sourceFile": "src/components/display/LabeledDonutCard.tsx",
1159
+ "specSource": "design/display.pen",
1160
+ "stability": "experimental"
1161
+ },
1162
+ "lineChart": {
1163
+ "title": "LineChart",
1164
+ "description": "HTML/CSS multi-series line or area chart for time-series comparison with reference lines, legends, and hover/focus point tooltips.",
1165
+ "variantKeys": [
1166
+ "line",
1167
+ "area"
1168
+ ],
1169
+ "defaultVariantKey": "line",
1170
+ "sourceFile": "src/components/display/LineChart.tsx",
1171
+ "specSource": "design/display.pen",
1172
+ "stability": "experimental"
370
1173
  },
371
1174
  "list": {
372
1175
  "title": "List",
@@ -377,139 +1180,215 @@ export const componentManifest = {
377
1180
  "circle"
378
1181
  ],
379
1182
  "defaultVariantKey": "dot",
380
- "sourceFile": "src/components/molecules/List.tsx",
381
- "specSource": "design/molecules.pen"
1183
+ "sourceFile": "src/components/display/List.tsx",
1184
+ "specSource": "design/display.pen",
1185
+ "stability": "experimental"
382
1186
  },
383
- "menubar": {
384
- "title": "Menubar",
385
- "description": "Top application menu with trigger items and nested submenu entry.",
1187
+ "markdownRenderer": {
1188
+ "title": "MarkdownRenderer",
1189
+ "description": "Markdown to HTML rendering with GFM (tables, task lists, code).",
1190
+ "variantKeys": [],
1191
+ "defaultVariantKey": null,
1192
+ "sourceFile": "src/components/display/MarkdownRenderer.tsx",
1193
+ "specSource": "design/display.pen",
1194
+ "stability": "experimental"
1195
+ },
1196
+ "metadataList": {
1197
+ "title": "MetadataList",
1198
+ "description": "Definition-list style metadata rows for inspectors, file details, and compact property summaries.",
386
1199
  "variantKeys": [
387
- "default"
1200
+ "default",
1201
+ "compact"
388
1202
  ],
389
1203
  "defaultVariantKey": "default",
390
- "sourceFile": "src/components/molecules/Menubar.tsx",
391
- "specSource": "design/molecules.pen"
1204
+ "sourceFile": "src/components/display/MetadataList.tsx",
1205
+ "specSource": "design/display.pen",
1206
+ "stability": "experimental"
392
1207
  },
393
- "modal": {
394
- "title": "Modal",
395
- "description": "Dialog surface with header, content, and optional footer actions.",
1208
+ "miniDistributionBarCard": {
1209
+ "title": "Mini Distribution Bar Card",
1210
+ "description": "HTML/CSS compact distribution card for product categories, capacity, and utilization widgets with dense ticks, selected segment details, and hover/focus tooltips.",
396
1211
  "variantKeys": [
397
- "default"
1212
+ "default",
1213
+ "compact"
398
1214
  ],
399
1215
  "defaultVariantKey": "default",
400
- "sourceFile": "src/components/molecules/Modal.tsx",
401
- "specSource": "design/molecules.pen"
1216
+ "sourceFile": "src/components/display/MiniDistributionBarCard.tsx",
1217
+ "specSource": "design/display.pen",
1218
+ "stability": "experimental"
402
1219
  },
403
- "notificationCenter": {
404
- "title": "Notification Center",
405
- "description": "Popover-based inbox for unread activity and quick actions.",
1220
+ "pieChart": {
1221
+ "title": "PieChart",
1222
+ "description": "HTML/CSS pie chart for proportional segment comparisons with pointer-aware segment tooltips.",
406
1223
  "variantKeys": [
407
- "default"
1224
+ "default",
1225
+ "compact"
408
1226
  ],
409
1227
  "defaultVariantKey": "default",
410
- "sourceFile": "src/components/molecules/NotificationCenter.tsx",
411
- "specSource": "design/molecules.pen"
1228
+ "sourceFile": "src/components/display/PieChart.tsx",
1229
+ "specSource": "design/display.pen",
1230
+ "stability": "experimental"
412
1231
  },
413
- "pagination": {
414
- "title": "Pagination",
415
- "description": "Navigation controls for traversing paged content.",
1232
+ "quadrantMatrix": {
1233
+ "title": "QuadrantMatrix",
1234
+ "description": "HTML/CSS four-quadrant matrix for plotting selectable items by x/y position with ranked values and hover/focus tooltips.",
416
1235
  "variantKeys": [
417
- "default"
1236
+ "default",
1237
+ "compact"
418
1238
  ],
419
1239
  "defaultVariantKey": "default",
420
- "sourceFile": "src/components/molecules/Pagination.tsx",
421
- "specSource": "design/molecules.pen"
1240
+ "sourceFile": "src/components/display/QuadrantMatrix.tsx",
1241
+ "specSource": "design/display.pen",
1242
+ "stability": "experimental"
422
1243
  },
423
- "popover": {
424
- "title": "Popover",
425
- "description": "Displays rich content in a portal, triggered by a button.",
1244
+ "radarChart": {
1245
+ "title": "RadarChart",
1246
+ "description": "HTML/CSS radar chart for comparing single or multi-series multi-axis scores with hover/focus point tooltips.",
426
1247
  "variantKeys": [
427
- "default"
1248
+ "default",
1249
+ "compact"
428
1250
  ],
429
1251
  "defaultVariantKey": "default",
430
- "sourceFile": "src/components/molecules/Popover.tsx",
431
- "specSource": "design/molecules.pen"
1252
+ "sourceFile": "src/components/display/RadarChart.tsx",
1253
+ "specSource": "design/display.pen",
1254
+ "stability": "experimental"
432
1255
  },
433
- "progressWidget": {
434
- "title": "ProgressWidget",
435
- "description": "Metric card showing title, value, progress bar, and optional subtext.",
1256
+ "radialBarChart": {
1257
+ "title": "RadialBarChart",
1258
+ "description": "HTML/CSS concentric radial bar chart for comparing progress, share, or capacity across multiple series with hover/focus tooltips.",
436
1259
  "variantKeys": [
437
- "default"
1260
+ "default",
1261
+ "compact"
438
1262
  ],
439
1263
  "defaultVariantKey": "default",
440
- "sourceFile": "src/components/molecules/ProgressWidget.tsx",
441
- "specSource": "design/molecules.pen"
1264
+ "sourceFile": "src/components/display/RadialBarChart.tsx",
1265
+ "specSource": "design/display.pen",
1266
+ "stability": "experimental"
442
1267
  },
443
- "resizable": {
444
- "title": "Resizable",
445
- "description": "Pane group with draggable handle and optional grip indicator.",
1268
+ "retentionCohortCard": {
1269
+ "title": "Retention Cohort Card",
1270
+ "description": "HTML/CSS cohort retention card for dashboard grids with editable cohorts, periods, values, and hover/focus cell tooltips.",
446
1271
  "variantKeys": [
447
- "horizontal"
1272
+ "default",
1273
+ "compact"
448
1274
  ],
449
- "defaultVariantKey": "horizontal",
450
- "sourceFile": "src/components/molecules/Resizable.tsx",
451
- "specSource": "design/molecules.pen"
1275
+ "defaultVariantKey": "default",
1276
+ "sourceFile": "src/components/display/RetentionCohortCard.tsx",
1277
+ "specSource": "design/display.pen",
1278
+ "stability": "experimental"
452
1279
  },
453
- "scrollArea": {
454
- "title": "ScrollArea",
455
- "description": "Custom scrollbar container with viewport and thumb controls.",
1280
+ "ribbonChart": {
1281
+ "title": "RibbonChart",
1282
+ "description": "HTML/CSS ribbon chart for comparing changing flow, volume, or segment width across periods with hover/focus point tooltips.",
456
1283
  "variantKeys": [
457
- "default"
1284
+ "flow",
1285
+ "stacked"
1286
+ ],
1287
+ "defaultVariantKey": "flow",
1288
+ "sourceFile": "src/components/display/RibbonChart.tsx",
1289
+ "specSource": "design/display.pen",
1290
+ "stability": "experimental"
1291
+ },
1292
+ "searchableAccordion": {
1293
+ "title": "SearchableAccordion",
1294
+ "description": "Searchable and category-filterable accordion composition for FAQ, help, and docs lists.",
1295
+ "variantKeys": [
1296
+ "default",
1297
+ "withCategories",
1298
+ "empty"
458
1299
  ],
459
1300
  "defaultVariantKey": "default",
460
- "sourceFile": "src/components/molecules/ScrollArea.tsx",
461
- "specSource": "design/molecules.pen"
1301
+ "sourceFile": "src/components/display/SearchableAccordion.tsx",
1302
+ "specSource": "design/display.pen",
1303
+ "stability": "experimental"
462
1304
  },
463
- "sheet": {
464
- "title": "Sheet",
465
- "description": "Side panel variant with overlay, heading, and action area.",
1305
+ "segmentedGaugeCard": {
1306
+ "title": "Segmented Gauge Card",
1307
+ "description": "HTML/CSS segmented semicircle gauge card for status, spend, risk, and progress dashboards with editable segments, target value, and hover/focus tooltips.",
466
1308
  "variantKeys": [
467
- "right"
1309
+ "default",
1310
+ "compact"
468
1311
  ],
469
- "defaultVariantKey": "right",
470
- "sourceFile": "src/components/molecules/Sheet.tsx",
471
- "specSource": "design/molecules.pen"
1312
+ "defaultVariantKey": "default",
1313
+ "sourceFile": "src/components/display/SegmentedGaugeCard.tsx",
1314
+ "specSource": "design/display.pen",
1315
+ "stability": "experimental"
472
1316
  },
473
- "sidebarItem": {
474
- "title": "SidebarItem",
475
- "description": "Nested sidebar row with chevron, icon, label, and counter area.",
1317
+ "segmentTimelineCard": {
1318
+ "title": "Segment Timeline Card",
1319
+ "description": "HTML/CSS horizontal segment timeline card for sleep stages, uptime states, and categorical duration ranges with metrics, markers, and hover/focus tooltips.",
476
1320
  "variantKeys": [
477
1321
  "default",
478
- "active"
1322
+ "compact"
479
1323
  ],
480
1324
  "defaultVariantKey": "default",
481
- "sourceFile": "src/components/molecules/SidebarItem.tsx",
482
- "specSource": "design/molecules.pen"
1325
+ "sourceFile": "src/components/display/SegmentTimelineCard.tsx",
1326
+ "specSource": "design/display.pen",
1327
+ "stability": "experimental"
1328
+ },
1329
+ "separator": {
1330
+ "title": "Separator",
1331
+ "description": "Visually or semantically separates content.",
1332
+ "variantKeys": [
1333
+ "horizontal",
1334
+ "vertical"
1335
+ ],
1336
+ "defaultVariantKey": "horizontal",
1337
+ "sourceFile": "src/components/display/Separator.tsx",
1338
+ "specSource": "design/display.pen",
1339
+ "stability": "experimental"
1340
+ },
1341
+ "skeleton": {
1342
+ "title": "Skeleton",
1343
+ "description": "Loading placeholder for content while it is being fetched.",
1344
+ "variantKeys": [],
1345
+ "defaultVariantKey": null,
1346
+ "sourceFile": "src/components/display/Skeleton.tsx",
1347
+ "specSource": "design/display.pen",
1348
+ "stability": "experimental"
1349
+ },
1350
+ "spacer": {
1351
+ "title": "Spacer",
1352
+ "description": "Flex-grow filler for pushing siblings to the edges of a flex container.",
1353
+ "variantKeys": [],
1354
+ "defaultVariantKey": null,
1355
+ "sourceFile": "src/components/display/Spacer.tsx",
1356
+ "specSource": "design/display.pen",
1357
+ "stability": "experimental"
483
1358
  },
484
- "sortButton": {
485
- "title": "SortButton",
486
- "description": "Three-state sort trigger (none, asc, desc) with icon + text.",
1359
+ "sparklineChart": {
1360
+ "title": "SparklineChart",
1361
+ "description": "Compact HTML/CSS line, area, or stepped trend chart for dense dashboard cards with hover/focus point tooltips.",
487
1362
  "variantKeys": [
488
- "none",
489
- "asc",
490
- "desc"
1363
+ "line",
1364
+ "area",
1365
+ "step"
491
1366
  ],
492
- "defaultVariantKey": "none",
493
- "sourceFile": "src/components/molecules/SortButton.tsx",
494
- "specSource": "design/molecules.pen"
1367
+ "defaultVariantKey": "line",
1368
+ "sourceFile": "src/components/display/SparklineChart.tsx",
1369
+ "specSource": "design/display.pen",
1370
+ "stability": "experimental"
495
1371
  },
496
- "statusBar": {
497
- "title": "StatusBar",
498
- "description": "Bottom fixed utility bar with left, center and right regions.",
1372
+ "stackedBarChart": {
1373
+ "title": "StackedBarChart",
1374
+ "description": "HTML/CSS stacked vertical or horizontal bar chart for grouped segment comparisons with hover/focus segment tooltips.",
499
1375
  "variantKeys": [
500
- "fixed"
1376
+ "vertical",
1377
+ "horizontal"
501
1378
  ],
502
- "defaultVariantKey": "fixed",
503
- "sourceFile": "src/components/molecules/StatusBar.tsx",
504
- "specSource": "design/molecules.pen"
1379
+ "defaultVariantKey": "vertical",
1380
+ "sourceFile": "src/components/display/StackedBarChart.tsx",
1381
+ "specSource": "design/display.pen",
1382
+ "stability": "experimental"
505
1383
  },
506
- "stepper": {
507
- "title": null,
508
- "description": null,
1384
+ "statistic": {
1385
+ "title": "Statistic",
1386
+ "description": "KPI metric card: label + value + delta indicator.",
509
1387
  "variantKeys": [],
510
1388
  "defaultVariantKey": null,
511
- "sourceFile": "src/components/molecules/Stepper.tsx",
512
- "specSource": "design/molecules.pen"
1389
+ "sourceFile": "src/components/display/Statistic.tsx",
1390
+ "specSource": "design/display.pen",
1391
+ "stability": "experimental"
513
1392
  },
514
1393
  "table": {
515
1394
  "title": "Table",
@@ -518,224 +1397,459 @@ export const componentManifest = {
518
1397
  "default"
519
1398
  ],
520
1399
  "defaultVariantKey": "default",
521
- "sourceFile": "src/components/molecules/Table.tsx",
522
- "specSource": "design/molecules.pen"
1400
+ "sourceFile": "src/components/display/Table.tsx",
1401
+ "specSource": "design/display.pen",
1402
+ "stability": "experimental"
523
1403
  },
524
- "tabs": {
525
- "title": "Tabs",
526
- "description": "A set of layered sections of content—known as tab panels—that are displayed one at a time.",
1404
+ "tag": {
1405
+ "title": "Tag",
1406
+ "description": "Removable badge with × button. Useful for filter chips and tag editors.",
1407
+ "variantKeys": [],
1408
+ "defaultVariantKey": null,
1409
+ "sourceFile": "src/components/display/Tag.tsx",
1410
+ "specSource": "design/display.pen",
1411
+ "stability": "experimental"
1412
+ },
1413
+ "tagEditor": {
1414
+ "title": "TagEditor",
1415
+ "description": "Tag editing control composed from TagInput and suggestion actions for asset inspectors and filter panels.",
527
1416
  "variantKeys": [
528
- "default"
1417
+ "default",
1418
+ "compact"
529
1419
  ],
530
1420
  "defaultVariantKey": "default",
531
- "sourceFile": "src/components/molecules/Tabs.tsx",
532
- "specSource": "design/molecules.pen"
1421
+ "sourceFile": "src/components/display/TagEditor.tsx",
1422
+ "specSource": "design/display.pen",
1423
+ "stability": "experimental"
533
1424
  },
534
- "toast": {
535
- "title": "Toast",
536
- "description": "Transient feedback message with semantic variants.",
1425
+ "timeline": {
1426
+ "title": "Timeline",
1427
+ "description": "Vertical time-ordered list with markers and connector lines.",
1428
+ "variantKeys": [],
1429
+ "defaultVariantKey": null,
1430
+ "sourceFile": "src/components/display/Timeline.tsx",
1431
+ "specSource": "design/display.pen",
1432
+ "stability": "experimental"
1433
+ },
1434
+ "toolPill": {
1435
+ "title": "ToolPill",
1436
+ "description": "Compact icon pill used for toolbar quick actions with active and danger states.",
537
1437
  "variantKeys": [
538
- "success",
539
- "error",
540
- "info"
1438
+ "primary",
1439
+ "secondary",
1440
+ "danger"
541
1441
  ],
542
- "defaultVariantKey": "success",
543
- "sourceFile": "src/components/molecules/Toast.tsx",
544
- "specSource": "design/molecules.pen"
1442
+ "defaultVariantKey": "primary",
1443
+ "sourceFile": "src/components/display/ToolPill.tsx",
1444
+ "specSource": "design/display.pen",
1445
+ "stability": "experimental"
545
1446
  },
546
- "tooltip": {
547
- "title": "Tooltip",
548
- "description": "Compact helper text bubble for hover and focus states.",
1447
+ "treeView": {
1448
+ "title": "TreeView",
1449
+ "description": "Hierarchical tree with expand/collapse for file explorers and navigation.",
1450
+ "variantKeys": [],
1451
+ "defaultVariantKey": null,
1452
+ "sourceFile": "src/components/display/TreeView.tsx",
1453
+ "specSource": "design/display.pen",
1454
+ "stability": "experimental"
1455
+ }
1456
+ },
1457
+ "inputs": {
1458
+ "button": {
1459
+ "title": "Button",
1460
+ "description": "Displays a button or a component that looks like a button.",
549
1461
  "variantKeys": [
550
- "default"
1462
+ "default",
1463
+ "destructive",
1464
+ "outline",
1465
+ "secondary",
1466
+ "ghost",
1467
+ "link",
1468
+ "primary",
1469
+ "info",
1470
+ "success",
1471
+ "warning"
551
1472
  ],
552
1473
  "defaultVariantKey": "default",
553
- "sourceFile": "src/components/molecules/Tooltip.tsx",
554
- "specSource": "design/molecules.pen"
555
- }
556
- },
557
- "organisms": {
558
- "appRail": {
559
- "title": "App Rail",
560
- "description": "Primary vertical icon rail used for application-wide navigation.",
1474
+ "sourceFile": "src/components/inputs/Button.tsx",
1475
+ "specSource": "design/inputs.pen",
1476
+ "stability": "experimental"
1477
+ },
1478
+ "calendar": {
1479
+ "title": "Calendar",
1480
+ "description": "A date field component that allows users to enter and edit date.",
561
1481
  "variantKeys": [
562
1482
  "default"
563
1483
  ],
564
1484
  "defaultVariantKey": "default",
565
- "sourceFile": "src/components/organisms/AppRail.tsx",
566
- "specSource": "design/organisms.pen"
1485
+ "sourceFile": "src/components/inputs/Calendar.tsx",
1486
+ "specSource": "design/inputs.pen",
1487
+ "stability": "experimental"
567
1488
  },
568
- "commandPalette": {
569
- "title": "Command Palette",
570
- "description": "Global quick-action launcher with grouped commands and keyboard shortcuts.",
1489
+ "chatComposer": {
1490
+ "title": "ChatComposer",
1491
+ "description": "Container that composes ChatInput with prompt choices, workspace context, usage status, footer context, or an accessory.",
571
1492
  "variantKeys": [
572
- "default"
1493
+ "default",
1494
+ "context",
1495
+ "prompt"
573
1496
  ],
574
1497
  "defaultVariantKey": "default",
575
- "sourceFile": "src/components/organisms/CommandPalette.tsx",
576
- "specSource": "design/organisms.pen"
1498
+ "sourceFile": "src/components/inputs/ChatComposer.tsx",
1499
+ "specSource": "design/inputs.pen",
1500
+ "stability": "experimental"
577
1501
  },
578
- "fileUploader": {
579
- "title": "File Uploader",
580
- "description": "Drag-and-drop file intake with compact list rendering.",
1502
+ "chatInput": {
1503
+ "title": "ChatInput",
1504
+ "description": "Message composer with multiline input, attachment action, send/stop controls, and disabled-state feedback.",
581
1505
  "variantKeys": [
582
- "default"
1506
+ "default",
1507
+ "processing"
583
1508
  ],
584
1509
  "defaultVariantKey": "default",
585
- "sourceFile": "src/components/organisms/FileUploader.tsx",
586
- "specSource": "design/organisms.pen"
1510
+ "sourceFile": "src/components/inputs/ChatInput.tsx",
1511
+ "specSource": "design/inputs.pen",
1512
+ "stability": "experimental"
587
1513
  },
588
- "floatingPanel": {
589
- "title": "Floating Panel",
590
- "description": "Animated floating container for transient UI surfaces.",
1514
+ "checkbox": {
1515
+ "title": "Checkbox",
1516
+ "description": "A control that allows the user to toggle between checked and not checked.",
591
1517
  "variantKeys": [
592
- "glass"
1518
+ "unchecked",
1519
+ "checked",
1520
+ "disabled"
593
1521
  ],
594
- "defaultVariantKey": "glass",
595
- "sourceFile": "src/components/organisms/FloatingPanel.tsx",
596
- "specSource": "design/organisms.pen"
1522
+ "defaultVariantKey": "unchecked",
1523
+ "sourceFile": "src/components/inputs/Checkbox.tsx",
1524
+ "specSource": "design/inputs.pen",
1525
+ "stability": "experimental"
597
1526
  },
598
- "inspectorPanel": {
599
- "title": "Inspector Panel",
600
- "description": "Structured side panel for detailed property editing.",
1527
+ "combobox": {
1528
+ "title": "Combobox",
1529
+ "description": "Searchable select. Combines Popover + Command for filterable option lists.",
1530
+ "variantKeys": [],
1531
+ "defaultVariantKey": null,
1532
+ "sourceFile": "src/components/inputs/Combobox.tsx",
1533
+ "specSource": "design/inputs.pen",
1534
+ "stability": "experimental"
1535
+ },
1536
+ "copyButton": {
1537
+ "title": "CopyButton",
1538
+ "description": "Clipboard action button with tooltip feedback and copied-state icon or label.",
601
1539
  "variantKeys": [
602
- "default"
1540
+ "default",
1541
+ "label"
603
1542
  ],
604
1543
  "defaultVariantKey": "default",
605
- "sourceFile": "src/components/organisms/InspectorPanel.tsx",
606
- "specSource": "design/organisms.pen"
1544
+ "sourceFile": "src/components/inputs/CopyButton.tsx",
1545
+ "specSource": "design/inputs.pen",
1546
+ "stability": "experimental"
607
1547
  },
608
- "rightRail": {
609
- "title": "Right Rail",
610
- "description": "Secondary side panel for contextual tools and inspector content.",
1548
+ "datePicker": {
1549
+ "title": "DatePicker",
1550
+ "description": "Date input with popup Calendar. Wraps Popover + Calendar primitives.",
1551
+ "variantKeys": [],
1552
+ "defaultVariantKey": null,
1553
+ "sourceFile": "src/components/inputs/DatePicker.tsx",
1554
+ "specSource": "design/inputs.pen",
1555
+ "stability": "experimental"
1556
+ },
1557
+ "dateRangePicker": {
1558
+ "title": "DateRangePicker",
1559
+ "description": "Pick a date range with two-month Calendar in popover.",
1560
+ "variantKeys": [],
1561
+ "defaultVariantKey": null,
1562
+ "sourceFile": "src/components/inputs/DateRangePicker.tsx",
1563
+ "specSource": "design/inputs.pen",
1564
+ "stability": "experimental"
1565
+ },
1566
+ "editableField": {
1567
+ "title": "Editable Field",
1568
+ "description": "Labelled field that switches between read-only display and explicit save/cancel editing.",
611
1569
  "variantKeys": [
612
1570
  "default"
613
1571
  ],
614
1572
  "defaultVariantKey": "default",
615
- "sourceFile": "src/components/organisms/RightRail.tsx",
616
- "specSource": "design/organisms.pen"
1573
+ "sourceFile": "src/components/inputs/EditableField.tsx",
1574
+ "specSource": "design/inputs.pen",
1575
+ "stability": "experimental"
617
1576
  },
618
- "shareModal": {
619
- "title": "Share Modal",
620
- "description": "Dialog for toggling public access and copying shareable URLs.",
1577
+ "fileUploader": {
1578
+ "title": "File Uploader",
1579
+ "description": "Drag-and-drop file intake with compact list rendering.",
621
1580
  "variantKeys": [
622
1581
  "default"
623
1582
  ],
624
1583
  "defaultVariantKey": "default",
625
- "sourceFile": "src/components/organisms/ShareModal.tsx",
626
- "specSource": "design/organisms.pen"
1584
+ "sourceFile": "src/components/inputs/FileUploader.tsx",
1585
+ "specSource": "design/inputs.pen",
1586
+ "stability": "experimental"
627
1587
  },
628
- "spatialCanvas": {
629
- "title": "Spatial Canvas",
630
- "description": "Large grid-based interaction surface for node and layout editing.",
1588
+ "filterButton": {
1589
+ "title": "FilterButton",
1590
+ "description": "Filter trigger with dashed border, count badge, and command popover list.",
631
1591
  "variantKeys": [
632
- "default"
1592
+ "default",
1593
+ "selected",
1594
+ "popover"
633
1595
  ],
634
1596
  "defaultVariantKey": "default",
635
- "sourceFile": "src/components/organisms/SpatialCanvas.tsx",
636
- "specSource": "design/organisms.pen"
1597
+ "sourceFile": "src/components/inputs/FilterButton.tsx",
1598
+ "specSource": "design/inputs.pen",
1599
+ "stability": "experimental"
637
1600
  },
638
- "toastProvider": {
639
- "title": "Toast Provider",
640
- "description": "Global toast stack manager for showing transient feedback messages.",
1601
+ "form": {
1602
+ "title": "Form",
1603
+ "description": "Compound form primitives for vertical field composition, labels, descriptions, messages, and full-width controls.",
1604
+ "variantKeys": [],
1605
+ "defaultVariantKey": null,
1606
+ "sourceFile": "src/components/inputs/Form.tsx",
1607
+ "specSource": "design/inputs.pen",
1608
+ "stability": "experimental"
1609
+ },
1610
+ "input": {
1611
+ "title": "Input",
1612
+ "description": "Displays a form input field or a component that looks like an input field.",
641
1613
  "variantKeys": [
642
- "default"
1614
+ "default",
1615
+ "placeholder",
1616
+ "disabled"
643
1617
  ],
644
1618
  "defaultVariantKey": "default",
645
- "sourceFile": "src/components/organisms/ToastProvider.tsx",
646
- "specSource": "design/organisms.pen"
647
- }
648
- },
649
- "templates": {
650
- "authTemplate": {
651
- "title": "Auth Template",
652
- "description": "Split authentication layout with branded panel and centered form.",
1619
+ "sourceFile": "src/components/inputs/Input.tsx",
1620
+ "specSource": "design/inputs.pen",
1621
+ "stability": "experimental"
1622
+ },
1623
+ "inputOTP": {
1624
+ "title": "InputOTP",
1625
+ "description": "One-time-password input with per-digit slots and optional separator.",
1626
+ "variantKeys": [],
1627
+ "defaultVariantKey": null,
1628
+ "sourceFile": "src/components/inputs/InputOTP.tsx",
1629
+ "specSource": "design/inputs.pen",
1630
+ "stability": "experimental"
1631
+ },
1632
+ "label": {
1633
+ "title": "Label",
1634
+ "description": "Renders an accessible label associated with controls.",
1635
+ "variantKeys": [],
1636
+ "defaultVariantKey": null,
1637
+ "sourceFile": "src/components/inputs/Label.tsx",
1638
+ "specSource": "design/inputs.pen",
1639
+ "stability": "experimental"
1640
+ },
1641
+ "mention": {
1642
+ "title": "Mention",
1643
+ "description": "Textarea with @mention picker — autocompletes user names from a list.",
1644
+ "variantKeys": [],
1645
+ "defaultVariantKey": null,
1646
+ "sourceFile": "src/components/inputs/Mention.tsx",
1647
+ "specSource": "design/inputs.pen",
1648
+ "stability": "experimental"
1649
+ },
1650
+ "numberInput": {
1651
+ "title": "NumberInput",
1652
+ "description": "Numeric input with up/down stepper buttons.",
1653
+ "variantKeys": [],
1654
+ "defaultVariantKey": null,
1655
+ "sourceFile": "src/components/inputs/NumberInput.tsx",
1656
+ "specSource": "design/inputs.pen",
1657
+ "stability": "experimental"
1658
+ },
1659
+ "passwordGroup": {
1660
+ "title": "PasswordGroup",
1661
+ "description": "Password field composition with visibility control, requirement checklist, strength meter, error message, and disabled feedback.",
1662
+ "variantKeys": [],
1663
+ "defaultVariantKey": null,
1664
+ "sourceFile": "src/components/inputs/PasswordGroup.tsx",
1665
+ "specSource": "design/inputs.pen",
1666
+ "stability": "experimental"
1667
+ },
1668
+ "passwordInput": {
1669
+ "title": "PasswordInput",
1670
+ "description": "Password field with show/hide toggle button.",
1671
+ "variantKeys": [],
1672
+ "defaultVariantKey": null,
1673
+ "sourceFile": "src/components/inputs/PasswordInput.tsx",
1674
+ "specSource": "design/inputs.pen",
1675
+ "stability": "experimental"
1676
+ },
1677
+ "passwordRequirementList": {
1678
+ "title": "PasswordRequirementList",
1679
+ "description": "Password requirement checklist that can be used standalone or inside PasswordGroup.",
1680
+ "variantKeys": [],
1681
+ "defaultVariantKey": null,
1682
+ "sourceFile": "src/components/inputs/PasswordRequirementList.tsx",
1683
+ "specSource": "design/inputs.pen",
1684
+ "stability": "experimental"
1685
+ },
1686
+ "passwordStrengthMeter": {
1687
+ "title": "PasswordStrengthMeter",
1688
+ "description": "Password strength meter that displays a caller-provided score, label, and helper text.",
1689
+ "variantKeys": [],
1690
+ "defaultVariantKey": null,
1691
+ "sourceFile": "src/components/inputs/PasswordStrengthMeter.tsx",
1692
+ "specSource": "design/inputs.pen",
1693
+ "stability": "experimental"
1694
+ },
1695
+ "phoneInput": {
1696
+ "title": "PhoneInput",
1697
+ "description": "Telephone input with country calling-code affordance and caller-provided formatting hook.",
1698
+ "variantKeys": [],
1699
+ "defaultVariantKey": null,
1700
+ "sourceFile": "src/components/inputs/PhoneInput.tsx",
1701
+ "specSource": "design/inputs.pen",
1702
+ "stability": "experimental"
1703
+ },
1704
+ "postalCodeInput": {
1705
+ "title": "PostalCodeInput",
1706
+ "description": "Postal-code input with prefix affordance and caller-provided formatting hook.",
1707
+ "variantKeys": [],
1708
+ "defaultVariantKey": null,
1709
+ "sourceFile": "src/components/inputs/PostalCodeInput.tsx",
1710
+ "specSource": "design/inputs.pen",
1711
+ "stability": "experimental"
1712
+ },
1713
+ "radioGroup": {
1714
+ "title": "RadioGroup",
1715
+ "description": "A set of checkable buttons—known as radio buttons—where no more than one of the buttons can be checked at a time.",
653
1716
  "variantKeys": [
654
- "default"
1717
+ "unchecked",
1718
+ "checked"
655
1719
  ],
656
- "defaultVariantKey": "default",
657
- "sourceFile": "src/components/templates/AuthTemplate.tsx",
658
- "specSource": "design/templates.pen"
1720
+ "defaultVariantKey": "unchecked",
1721
+ "sourceFile": "src/components/inputs/RadioGroup.tsx",
1722
+ "specSource": "design/inputs.pen",
1723
+ "stability": "experimental"
659
1724
  },
660
- "bannalyzeTemplate": {
661
- "title": "Bannalyze Template",
662
- "description": "Three-region analysis workspace with center canvas and side inspectors.",
1725
+ "rangeSlider": {
1726
+ "title": "RangeSlider",
1727
+ "description": "Selects a minimum and maximum value within a bounded range.",
663
1728
  "variantKeys": [
664
1729
  "default"
665
1730
  ],
666
1731
  "defaultVariantKey": "default",
667
- "sourceFile": "src/components/templates/BannalyzeTemplate.tsx",
668
- "specSource": "design/templates.pen"
1732
+ "sourceFile": "src/components/inputs/RangeSlider.tsx",
1733
+ "specSource": "design/inputs.pen",
1734
+ "stability": "experimental"
669
1735
  },
670
- "chatTemplate": {
671
- "title": "Chat Template",
672
- "description": "Conversation layout with channel rail, message area, and detail pane.",
1736
+ "searchInput": {
1737
+ "title": "SearchInput",
1738
+ "description": "Input with leading search icon for search bars.",
1739
+ "variantKeys": [],
1740
+ "defaultVariantKey": null,
1741
+ "sourceFile": "src/components/inputs/SearchInput.tsx",
1742
+ "specSource": "design/inputs.pen",
1743
+ "stability": "experimental"
1744
+ },
1745
+ "select": {
1746
+ "title": "Select",
1747
+ "description": "Displays a list of options for the user to pick from.",
673
1748
  "variantKeys": [
674
1749
  "default"
675
1750
  ],
676
1751
  "defaultVariantKey": "default",
677
- "sourceFile": "src/components/templates/ChatTemplate.tsx",
678
- "specSource": "design/templates.pen"
1752
+ "sourceFile": "src/components/inputs/Select.tsx",
1753
+ "specSource": "design/inputs.pen",
1754
+ "stability": "experimental"
679
1755
  },
680
- "dashboardTemplate": {
681
- "title": "Dashboard Template",
682
- "description": "Two-column dashboard shell with optional header and sidebar.",
1756
+ "slider": {
1757
+ "title": "Slider",
1758
+ "description": "An input where the user selects a value from within a given range.",
683
1759
  "variantKeys": [
684
1760
  "default"
685
1761
  ],
686
1762
  "defaultVariantKey": "default",
687
- "sourceFile": "src/components/templates/DashboardTemplate.tsx",
688
- "specSource": "design/templates.pen"
1763
+ "sourceFile": "src/components/inputs/Slider.tsx",
1764
+ "specSource": "design/inputs.pen",
1765
+ "stability": "experimental"
689
1766
  },
690
- "editorTemplate": {
691
- "title": "Editor Template",
692
- "description": "Panel-based editing layout with top bar and side docks.",
1767
+ "sortButton": {
1768
+ "title": "SortButton",
1769
+ "description": "Three-state sort trigger (none, asc, desc) with icon + text.",
693
1770
  "variantKeys": [
694
- "default"
1771
+ "none",
1772
+ "asc",
1773
+ "desc"
695
1774
  ],
696
- "defaultVariantKey": "default",
697
- "sourceFile": "src/components/templates/EditorTemplate.tsx",
698
- "specSource": "design/templates.pen"
1775
+ "defaultVariantKey": "none",
1776
+ "sourceFile": "src/components/inputs/SortButton.tsx",
1777
+ "specSource": "design/inputs.pen",
1778
+ "stability": "experimental"
699
1779
  },
700
- "kanbanTemplate": {
701
- "title": "Kanban Template",
702
- "description": "Board workflow shell with optional sidebar and horizontal columns.",
1780
+ "switch": {
1781
+ "title": "Switch",
1782
+ "description": "A control that allows the user to toggle between checked and not checked.",
703
1783
  "variantKeys": [
704
- "default"
1784
+ "unchecked",
1785
+ "checked"
705
1786
  ],
706
- "defaultVariantKey": "default",
707
- "sourceFile": "src/components/templates/KanbanTemplate.tsx",
708
- "specSource": "design/templates.pen"
1787
+ "defaultVariantKey": "unchecked",
1788
+ "sourceFile": "src/components/inputs/Switch.tsx",
1789
+ "specSource": "design/inputs.pen",
1790
+ "stability": "experimental"
709
1791
  },
710
- "landingTemplate": {
711
- "title": "Landing Template",
712
- "description": "Marketing page skeleton with sticky header and section rhythm.",
1792
+ "tagInput": {
1793
+ "title": "TagInput",
1794
+ "description": "Multi-tag input with Enter to add and × to remove.",
1795
+ "variantKeys": [],
1796
+ "defaultVariantKey": null,
1797
+ "sourceFile": "src/components/inputs/TagInput.tsx",
1798
+ "specSource": "design/inputs.pen",
1799
+ "stability": "experimental"
1800
+ },
1801
+ "textarea": {
1802
+ "title": "Textarea",
1803
+ "description": "Displays a form textarea or a component that looks like a textarea.",
713
1804
  "variantKeys": [
714
- "default"
1805
+ "default",
1806
+ "disabled"
715
1807
  ],
716
1808
  "defaultVariantKey": "default",
717
- "sourceFile": "src/components/templates/LandingTemplate.tsx",
718
- "specSource": "design/templates.pen"
1809
+ "sourceFile": "src/components/inputs/Textarea.tsx",
1810
+ "specSource": "design/inputs.pen",
1811
+ "stability": "experimental"
719
1812
  },
720
- "mediaLibraryTemplate": {
721
- "title": "Media Library Template",
722
- "description": "Asset management workspace with folders, grid area, and details pane.",
1813
+ "timePicker": {
1814
+ "title": "TimePicker",
1815
+ "description": "Hour + minute select with optional 12 / 24 hour mode.",
1816
+ "variantKeys": [],
1817
+ "defaultVariantKey": null,
1818
+ "sourceFile": "src/components/inputs/TimePicker.tsx",
1819
+ "specSource": "design/inputs.pen",
1820
+ "stability": "experimental"
1821
+ },
1822
+ "toggle": {
1823
+ "title": "Toggle",
1824
+ "description": "Two-state pressable button (icon-style toggle).",
1825
+ "variantKeys": [],
1826
+ "defaultVariantKey": null,
1827
+ "sourceFile": "src/components/inputs/Toggle.tsx",
1828
+ "specSource": "design/inputs.pen",
1829
+ "stability": "experimental"
1830
+ },
1831
+ "toggleGroup": {
1832
+ "title": "ToggleGroup",
1833
+ "description": "A set of two-state buttons that can be toggled on or off.",
723
1834
  "variantKeys": [
724
- "default"
1835
+ "default",
1836
+ "outline"
725
1837
  ],
726
1838
  "defaultVariantKey": "default",
727
- "sourceFile": "src/components/templates/MediaLibraryTemplate.tsx",
728
- "specSource": "design/templates.pen"
1839
+ "sourceFile": "src/components/inputs/ToggleGroup.tsx",
1840
+ "specSource": "design/inputs.pen",
1841
+ "stability": "experimental"
729
1842
  },
730
- "settingsTemplate": {
731
- "title": "Settings Template",
732
- "description": "Responsive settings layout with mobile stack and desktop split view.",
1843
+ "tooltipButton": {
1844
+ "title": "TooltipButton",
1845
+ "description": "Button composition that pairs an action with a GunjoUI Tooltip for icon, compact, or explanatory controls.",
733
1846
  "variantKeys": [
734
1847
  "default"
735
1848
  ],
736
1849
  "defaultVariantKey": "default",
737
- "sourceFile": "src/components/templates/SettingsTemplate.tsx",
738
- "specSource": "design/templates.pen"
1850
+ "sourceFile": "src/components/inputs/TooltipButton.tsx",
1851
+ "specSource": "design/inputs.pen",
1852
+ "stability": "experimental"
739
1853
  }
740
1854
  }
741
1855
  } as const;