@commercetools/nimbus-mcp 0.1.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/README.md +63 -14
  2. package/data/docs/route-manifest.json +10913 -0
  3. package/data/docs/routes/components-accessibility-visually-hidden.json +388 -0
  4. package/data/docs/routes/components-accessibility.json +34 -0
  5. package/data/docs/routes/components-buttons-button.json +715 -0
  6. package/data/docs/routes/components-buttons-icon-button.json +852 -0
  7. package/data/docs/routes/components-buttons-icon-toggle-button.json +594 -0
  8. package/data/docs/routes/components-buttons-split-button.json +670 -0
  9. package/data/docs/routes/components-buttons-toggle-button-group.json +722 -0
  10. package/data/docs/routes/components-buttons-toggle-button.json +689 -0
  11. package/data/docs/routes/components-buttons.json +36 -0
  12. package/data/docs/routes/components-data-display-badge.json +555 -0
  13. package/data/docs/routes/components-data-display-card.json +338 -0
  14. package/data/docs/routes/components-data-display-data-table.json +855 -0
  15. package/data/docs/routes/components-data-display-draggable-list.json +596 -0
  16. package/data/docs/routes/components-data-display-table.json +472 -0
  17. package/data/docs/routes/components-data-display-tag-group.json +535 -0
  18. package/data/docs/routes/components-data-display.json +34 -0
  19. package/data/docs/routes/components-feedback-alert.json +696 -0
  20. package/data/docs/routes/components-feedback-dialog.json +682 -0
  21. package/data/docs/routes/components-feedback-drawer.json +600 -0
  22. package/data/docs/routes/components-feedback-loading-spinner.json +415 -0
  23. package/data/docs/routes/components-feedback-progress-bar.json +661 -0
  24. package/data/docs/routes/components-feedback-toast.json +1040 -0
  25. package/data/docs/routes/components-feedback-tooltip.json +510 -0
  26. package/data/docs/routes/components-feedback.json +34 -0
  27. package/data/docs/routes/components-forms-field-errors.json +557 -0
  28. package/data/docs/routes/components-forms-form-field.json +848 -0
  29. package/data/docs/routes/components-forms-group.json +427 -0
  30. package/data/docs/routes/components-forms-localized-field.json +770 -0
  31. package/data/docs/routes/components-forms.json +37 -0
  32. package/data/docs/routes/components-inputs-calendar.json +611 -0
  33. package/data/docs/routes/components-inputs-checkbox.json +774 -0
  34. package/data/docs/routes/components-inputs-combo-box.json +761 -0
  35. package/data/docs/routes/components-inputs-date-input.json +628 -0
  36. package/data/docs/routes/components-inputs-date-picker.json +709 -0
  37. package/data/docs/routes/components-inputs-date-range-picker.json +599 -0
  38. package/data/docs/routes/components-inputs-money-input.json +721 -0
  39. package/data/docs/routes/components-inputs-multiline-text-input.json +611 -0
  40. package/data/docs/routes/components-inputs-number-input.json +647 -0
  41. package/data/docs/routes/components-inputs-password-input.json +576 -0
  42. package/data/docs/routes/components-inputs-radio-input.json +583 -0
  43. package/data/docs/routes/components-inputs-range-calendar.json +607 -0
  44. package/data/docs/routes/components-inputs-rich-text-input.json +599 -0
  45. package/data/docs/routes/components-inputs-scoped-search-input.json +570 -0
  46. package/data/docs/routes/components-inputs-search-input.json +588 -0
  47. package/data/docs/routes/components-inputs-select-input.json +960 -0
  48. package/data/docs/routes/components-inputs-switch.json +720 -0
  49. package/data/docs/routes/components-inputs-text-input.json +566 -0
  50. package/data/docs/routes/components-inputs-time-input.json +775 -0
  51. package/data/docs/routes/components-inputs.json +34 -0
  52. package/data/docs/routes/components-layout-box.json +501 -0
  53. package/data/docs/routes/components-layout-defaultpage.json +748 -0
  54. package/data/docs/routes/components-layout-flex.json +587 -0
  55. package/data/docs/routes/components-layout-grid.json +393 -0
  56. package/data/docs/routes/components-layout-modalpage.json +716 -0
  57. package/data/docs/routes/components-layout-pagecontent.json +673 -0
  58. package/data/docs/routes/components-layout-separator.json +461 -0
  59. package/data/docs/routes/components-layout-simple-grid.json +519 -0
  60. package/data/docs/routes/components-layout-spacer.json +573 -0
  61. package/data/docs/routes/components-layout-stack.json +481 -0
  62. package/data/docs/routes/components-layout.json +34 -0
  63. package/data/docs/routes/components-media-avatar.json +427 -0
  64. package/data/docs/routes/components-media-icon.json +663 -0
  65. package/data/docs/routes/components-media-image.json +511 -0
  66. package/data/docs/routes/components-media-inline-svg.json +586 -0
  67. package/data/docs/routes/components-media.json +34 -0
  68. package/data/docs/routes/components-navigation-accordion.json +643 -0
  69. package/data/docs/routes/components-navigation-collapsible-motion.json +628 -0
  70. package/data/docs/routes/components-navigation-link.json +554 -0
  71. package/data/docs/routes/components-navigation-menu.json +546 -0
  72. package/data/docs/routes/components-navigation-pagination.json +502 -0
  73. package/data/docs/routes/components-navigation-steps.json +629 -0
  74. package/data/docs/routes/components-navigation-tabnav.json +546 -0
  75. package/data/docs/routes/components-navigation-tabs.json +635 -0
  76. package/data/docs/routes/components-navigation-toolbar.json +549 -0
  77. package/data/docs/routes/components-navigation.json +34 -0
  78. package/data/docs/routes/components-typography-code.json +39 -0
  79. package/data/docs/routes/components-typography-heading.json +402 -0
  80. package/data/docs/routes/components-typography-kbd.json +399 -0
  81. package/data/docs/routes/components-typography-list.json +593 -0
  82. package/data/docs/routes/components-typography-text.json +444 -0
  83. package/data/docs/routes/components-typography.json +34 -0
  84. package/data/docs/routes/components-utilities-nimbus-i18n-provider.json +295 -0
  85. package/data/docs/routes/components-utilities-nimbus-provider.json +663 -0
  86. package/data/docs/routes/components-utilities.json +34 -0
  87. package/data/docs/routes/components.json +33 -0
  88. package/data/docs/routes/home-contribute-adrs-adr0001-consumer-component-apis.json +314 -0
  89. package/data/docs/routes/home-contribute-adrs-adr0002-compound-component-extraction.json +160 -0
  90. package/data/docs/routes/home-contribute-adrs-adr0003-component-lifecycle-states.json +460 -0
  91. package/data/docs/routes/home-contribute-adrs.json +205 -0
  92. package/data/docs/routes/home-contribute-development-setup.json +213 -0
  93. package/data/docs/routes/home-contribute-stats.json +36 -0
  94. package/data/docs/routes/home-contribute.json +36 -0
  95. package/data/docs/routes/home-design-tokens-aspect-ratios.json +36 -0
  96. package/data/docs/routes/home-design-tokens-borders.json +35 -0
  97. package/data/docs/routes/home-design-tokens-colors.json +157 -0
  98. package/data/docs/routes/home-design-tokens-other-animations.json +119 -0
  99. package/data/docs/routes/home-design-tokens-other-blurs.json +36 -0
  100. package/data/docs/routes/home-design-tokens-other-breakpoints.json +61 -0
  101. package/data/docs/routes/home-design-tokens-other-cursors.json +36 -0
  102. package/data/docs/routes/home-design-tokens-other-z-indices.json +39 -0
  103. package/data/docs/routes/home-design-tokens-other.json +35 -0
  104. package/data/docs/routes/home-design-tokens-radii.json +59 -0
  105. package/data/docs/routes/home-design-tokens-shadows.json +57 -0
  106. package/data/docs/routes/home-design-tokens-sizes.json +137 -0
  107. package/data/docs/routes/home-design-tokens-spacing.json +36 -0
  108. package/data/docs/routes/home-design-tokens-typography.json +184 -0
  109. package/data/docs/routes/home-design-tokens.json +34 -0
  110. package/data/docs/routes/home-getting-started-core-concepts.json +301 -0
  111. package/data/docs/routes/home-getting-started-installation.json +621 -0
  112. package/data/docs/routes/home-getting-started-mcp-server-overview.json +139 -0
  113. package/data/docs/routes/home-getting-started-mcp-server-setup.json +316 -0
  114. package/data/docs/routes/home-getting-started-release-process.json +294 -0
  115. package/data/docs/routes/home-getting-started-testing-setup.json +296 -0
  116. package/data/docs/routes/home-playground-markdown.json +638 -0
  117. package/data/docs/routes/home-playground-toc.json +169 -0
  118. package/data/docs/routes/home-playground.json +34 -0
  119. package/data/docs/routes/home-style-props-background.json +236 -0
  120. package/data/docs/routes/home-style-props-border.json +310 -0
  121. package/data/docs/routes/home-style-props-display.json +120 -0
  122. package/data/docs/routes/home-style-props-effects.json +116 -0
  123. package/data/docs/routes/home-style-props-filters.json +396 -0
  124. package/data/docs/routes/home-style-props-flex-and-grid.json +496 -0
  125. package/data/docs/routes/home-style-props-interactivity.json +356 -0
  126. package/data/docs/routes/home-style-props-layout.json +422 -0
  127. package/data/docs/routes/home-style-props-list.json +116 -0
  128. package/data/docs/routes/home-style-props-sizing.json +244 -0
  129. package/data/docs/routes/home-style-props-spacing.json +228 -0
  130. package/data/docs/routes/home-style-props-svg.json +96 -0
  131. package/data/docs/routes/home-style-props-tables.json +116 -0
  132. package/data/docs/routes/home-style-props-transforms.json +216 -0
  133. package/data/docs/routes/home-style-props-transitions.json +216 -0
  134. package/data/docs/routes/home-style-props-typography.json +536 -0
  135. package/data/docs/routes/home-style-props.json +33 -0
  136. package/data/docs/routes/home.json +32 -0
  137. package/data/docs/routes/hooks-usecopytoclipboard.json +76 -0
  138. package/data/docs/routes/hooks-usehotkeys.json +117 -0
  139. package/data/docs/routes/hooks.json +33 -0
  140. package/data/docs/routes/icons.json +32 -0
  141. package/data/docs/routes/patterns-fields-date-range-picker-field.json +393 -0
  142. package/data/docs/routes/patterns-fields-money-input-field.json +415 -0
  143. package/data/docs/routes/patterns-fields-multiline-text-input-field.json +404 -0
  144. package/data/docs/routes/patterns-fields-number-input-field.json +470 -0
  145. package/data/docs/routes/patterns-fields-password-input-field.json +319 -0
  146. package/data/docs/routes/patterns-fields-search-input-field.json +382 -0
  147. package/data/docs/routes/patterns-fields-text-input-field.json +404 -0
  148. package/data/docs/routes/patterns-fields.json +78 -0
  149. package/data/docs/routes/patterns.json +34 -0
  150. package/data/docs/search-index.json +1 -0
  151. package/data/docs/types/Accordion.json +12 -0
  152. package/data/docs/types/AccordionContent.json +286 -0
  153. package/data/docs/types/AccordionHeader.json +891 -0
  154. package/data/docs/types/AccordionHeaderRightContent.json +27 -0
  155. package/data/docs/types/AccordionItem.json +242 -0
  156. package/data/docs/types/AccordionRoot.json +162 -0
  157. package/data/docs/types/Alert.json +12 -0
  158. package/data/docs/types/AlertActions.json +11 -0
  159. package/data/docs/types/AlertDescription.json +118 -0
  160. package/data/docs/types/AlertDismissButton.json +937 -0
  161. package/data/docs/types/AlertRoot.json +42 -0
  162. package/data/docs/types/AlertTitle.json +118 -0
  163. package/data/docs/types/Avatar.json +125 -0
  164. package/data/docs/types/Badge.json +64 -0
  165. package/data/docs/types/Body.json +67 -0
  166. package/data/docs/types/Box.json +85 -0
  167. package/data/docs/types/Button.json +1015 -0
  168. package/data/docs/types/Calendar.json +565 -0
  169. package/data/docs/types/Caption.json +67 -0
  170. package/data/docs/types/Card.json +12 -0
  171. package/data/docs/types/CardContent.json +27 -0
  172. package/data/docs/types/CardHeader.json +27 -0
  173. package/data/docs/types/CardRoot.json +106 -0
  174. package/data/docs/types/Cell.json +227 -0
  175. package/data/docs/types/Checkbox.json +897 -0
  176. package/data/docs/types/Code.json +112 -0
  177. package/data/docs/types/CollapsibleMotionContent.json +35 -0
  178. package/data/docs/types/CollapsibleMotionRoot.json +99 -0
  179. package/data/docs/types/CollapsibleMotionTrigger.json +71 -0
  180. package/data/docs/types/Column.json +101 -0
  181. package/data/docs/types/ColumnGroup.json +101 -0
  182. package/data/docs/types/ColumnHeader.json +193 -0
  183. package/data/docs/types/ComboBoxListBox.json +751 -0
  184. package/data/docs/types/ComboBoxOption.json +672 -0
  185. package/data/docs/types/ComboBoxPopover.json +786 -0
  186. package/data/docs/types/ComboBoxRoot.json +747 -0
  187. package/data/docs/types/ComboBoxSection.json +277 -0
  188. package/data/docs/types/ComboBoxTrigger.json +70 -0
  189. package/data/docs/types/Content.json +33 -0
  190. package/data/docs/types/DataTable.json +596 -0
  191. package/data/docs/types/DataTableBody.json +223 -0
  192. package/data/docs/types/DataTableFooter.json +27 -0
  193. package/data/docs/types/DataTableHeader.json +269 -0
  194. package/data/docs/types/DataTableManager.json +11 -0
  195. package/data/docs/types/DataTableRoot.json +590 -0
  196. package/data/docs/types/DataTableTable.json +271 -0
  197. package/data/docs/types/DateInput.json +792 -0
  198. package/data/docs/types/DatePicker.json +700 -0
  199. package/data/docs/types/DateRangePicker.json +936 -0
  200. package/data/docs/types/DateRangePickerField.json +1047 -0
  201. package/data/docs/types/DefaultPage.json +12 -0
  202. package/data/docs/types/DefaultPageActions.json +27 -0
  203. package/data/docs/types/DefaultPageBackLink.json +213 -0
  204. package/data/docs/types/DefaultPageContent.json +27 -0
  205. package/data/docs/types/DefaultPageFooter.json +27 -0
  206. package/data/docs/types/DefaultPageHeader.json +27 -0
  207. package/data/docs/types/DefaultPageRoot.json +106 -0
  208. package/data/docs/types/DefaultPageSubtitle.json +27 -0
  209. package/data/docs/types/DefaultPageTabNav.json +28 -0
  210. package/data/docs/types/DefaultPageTitle.json +27 -0
  211. package/data/docs/types/DialogBody.json +27 -0
  212. package/data/docs/types/DialogCloseTrigger.json +939 -0
  213. package/data/docs/types/DialogContent.json +27 -0
  214. package/data/docs/types/DialogFooter.json +27 -0
  215. package/data/docs/types/DialogHeader.json +27 -0
  216. package/data/docs/types/DialogRoot.json +138 -0
  217. package/data/docs/types/DialogTitle.json +27 -0
  218. package/data/docs/types/DialogTrigger.json +80 -0
  219. package/data/docs/types/DraggableList.json +12 -0
  220. package/data/docs/types/DraggableListField.json +894 -0
  221. package/data/docs/types/DraggableListItem.json +574 -0
  222. package/data/docs/types/DraggableListRoot.json +745 -0
  223. package/data/docs/types/Drawer.json +12 -0
  224. package/data/docs/types/DrawerBody.json +27 -0
  225. package/data/docs/types/DrawerCloseTrigger.json +939 -0
  226. package/data/docs/types/DrawerContent.json +27 -0
  227. package/data/docs/types/DrawerFooter.json +27 -0
  228. package/data/docs/types/DrawerHeader.json +27 -0
  229. package/data/docs/types/DrawerRoot.json +142 -0
  230. package/data/docs/types/DrawerTitle.json +27 -0
  231. package/data/docs/types/DrawerTrigger.json +80 -0
  232. package/data/docs/types/FieldErrors.getBuiltInMessage.json +11 -0
  233. package/data/docs/types/FieldErrors.getCustomMessage.json +9 -0
  234. package/data/docs/types/FieldErrors.json +109 -0
  235. package/data/docs/types/Flex.json +238 -0
  236. package/data/docs/types/Footer.json +67 -0
  237. package/data/docs/types/FormFieldDescription.json +11 -0
  238. package/data/docs/types/FormFieldError.json +11 -0
  239. package/data/docs/types/FormFieldInfoBox.json +27 -0
  240. package/data/docs/types/FormFieldInput.json +11 -0
  241. package/data/docs/types/FormFieldLabel.json +11 -0
  242. package/data/docs/types/FormFieldRoot.json +148 -0
  243. package/data/docs/types/Grid.json +253 -0
  244. package/data/docs/types/GridProps.json +11 -0
  245. package/data/docs/types/Group.json +143 -0
  246. package/data/docs/types/Header.json +67 -0
  247. package/data/docs/types/Heading.json +109 -0
  248. package/data/docs/types/Icon.json +112 -0
  249. package/data/docs/types/IconButton.json +1019 -0
  250. package/data/docs/types/IconToggleButton.json +787 -0
  251. package/data/docs/types/Image.json +373 -0
  252. package/data/docs/types/Indicator.json +67 -0
  253. package/data/docs/types/InlineSvg.json +98 -0
  254. package/data/docs/types/Item.json +67 -0
  255. package/data/docs/types/Kbd.json +118 -0
  256. package/data/docs/types/Link.json +380 -0
  257. package/data/docs/types/List.json +12 -0
  258. package/data/docs/types/ListIndicator.json +70 -0
  259. package/data/docs/types/ListItem.json +70 -0
  260. package/data/docs/types/ListRoot.json +124 -0
  261. package/data/docs/types/LoadingSpinner.json +87 -0
  262. package/data/docs/types/LocalizedField.json +460 -0
  263. package/data/docs/types/LocalizedStringFormatter.json +9 -0
  264. package/data/docs/types/MakeElementFocusable.json +196 -0
  265. package/data/docs/types/MenuContent.json +111 -0
  266. package/data/docs/types/MenuItem.json +671 -0
  267. package/data/docs/types/MenuRoot.json +670 -0
  268. package/data/docs/types/MenuSection.json +364 -0
  269. package/data/docs/types/MenuSubmenu.json +111 -0
  270. package/data/docs/types/MenuSubmenuTrigger.json +67 -0
  271. package/data/docs/types/MenuTrigger.json +906 -0
  272. package/data/docs/types/ModalPage.json +12 -0
  273. package/data/docs/types/ModalPageActions.json +27 -0
  274. package/data/docs/types/ModalPageContent.json +27 -0
  275. package/data/docs/types/ModalPageFooter.json +27 -0
  276. package/data/docs/types/ModalPageHeader.json +27 -0
  277. package/data/docs/types/ModalPageRoot.json +87 -0
  278. package/data/docs/types/ModalPageSubtitle.json +27 -0
  279. package/data/docs/types/ModalPageTabNav.json +28 -0
  280. package/data/docs/types/ModalPageTitle.json +27 -0
  281. package/data/docs/types/ModalPageTopBar.json +57 -0
  282. package/data/docs/types/MoneyInput.isEmpty.json +40 -0
  283. package/data/docs/types/MoneyInput.json +282 -0
  284. package/data/docs/types/MoneyInputField.json +379 -0
  285. package/data/docs/types/MoneyInputFieldProps.json +9 -0
  286. package/data/docs/types/MultilineTextInput.json +1194 -0
  287. package/data/docs/types/MultilineTextInputField.json +1269 -0
  288. package/data/docs/types/MultilineTextInputFieldProps.json +9 -0
  289. package/data/docs/types/NimbusI18nProvider.json +42 -0
  290. package/data/docs/types/NimbusI18nProviderProps.json +9 -0
  291. package/data/docs/types/NimbusProvider.json +270 -0
  292. package/data/docs/types/NumberInput.json +952 -0
  293. package/data/docs/types/NumberInputField.json +1004 -0
  294. package/data/docs/types/NumberInputFieldProps.json +9 -0
  295. package/data/docs/types/PageContent.json +11 -0
  296. package/data/docs/types/PageContentColumn.json +99 -0
  297. package/data/docs/types/PageContentRoot.json +114 -0
  298. package/data/docs/types/Pagination.json +159 -0
  299. package/data/docs/types/PasswordInput.json +1120 -0
  300. package/data/docs/types/PasswordInputField.json +1216 -0
  301. package/data/docs/types/PasswordInputFieldProps.json +9 -0
  302. package/data/docs/types/ProgressBar.json +280 -0
  303. package/data/docs/types/RadioInputOption.json +550 -0
  304. package/data/docs/types/RadioInputRoot.json +514 -0
  305. package/data/docs/types/RangeCalendar.json +618 -0
  306. package/data/docs/types/RichTextInput.json +134 -0
  307. package/data/docs/types/Root.json +122 -0
  308. package/data/docs/types/Row.json +67 -0
  309. package/data/docs/types/ScopedSearchInput.isEmpty.json +40 -0
  310. package/data/docs/types/ScopedSearchInput.json +253 -0
  311. package/data/docs/types/ScrollArea.json +82 -0
  312. package/data/docs/types/SearchInput.json +1165 -0
  313. package/data/docs/types/SearchInputField.json +1240 -0
  314. package/data/docs/types/Select.json +12 -0
  315. package/data/docs/types/SelectOption.json +572 -0
  316. package/data/docs/types/SelectOptionGroup.json +215 -0
  317. package/data/docs/types/SelectOptions.json +693 -0
  318. package/data/docs/types/SelectRoot.json +926 -0
  319. package/data/docs/types/Separator.json +65 -0
  320. package/data/docs/types/SimpleGrid.json +291 -0
  321. package/data/docs/types/Spacer.json +27 -0
  322. package/data/docs/types/SpacerProps.json +9 -0
  323. package/data/docs/types/SplitButton.json +203 -0
  324. package/data/docs/types/Stack.json +144 -0
  325. package/data/docs/types/Steps.json +12 -0
  326. package/data/docs/types/StepsChangeDetails.json +9 -0
  327. package/data/docs/types/StepsCompletedContent.json +28 -0
  328. package/data/docs/types/StepsCompletedContentProps.json +9 -0
  329. package/data/docs/types/StepsContent.json +43 -0
  330. package/data/docs/types/StepsContentProps.json +9 -0
  331. package/data/docs/types/StepsDescription.json +28 -0
  332. package/data/docs/types/StepsDescriptionProps.json +9 -0
  333. package/data/docs/types/StepsIndicator.json +28 -0
  334. package/data/docs/types/StepsIndicatorProps.json +9 -0
  335. package/data/docs/types/StepsItem.json +43 -0
  336. package/data/docs/types/StepsItemProps.json +9 -0
  337. package/data/docs/types/StepsList.json +28 -0
  338. package/data/docs/types/StepsListProps.json +9 -0
  339. package/data/docs/types/StepsNextTrigger.json +62 -0
  340. package/data/docs/types/StepsNextTriggerProps.json +9 -0
  341. package/data/docs/types/StepsNumber.json +28 -0
  342. package/data/docs/types/StepsNumberProps.json +9 -0
  343. package/data/docs/types/StepsPrevTrigger.json +62 -0
  344. package/data/docs/types/StepsPrevTriggerProps.json +9 -0
  345. package/data/docs/types/StepsRoot.json +183 -0
  346. package/data/docs/types/StepsRootProps.json +11 -0
  347. package/data/docs/types/StepsSeparator.json +28 -0
  348. package/data/docs/types/StepsSeparatorProps.json +9 -0
  349. package/data/docs/types/StepsStatus.json +57 -0
  350. package/data/docs/types/StepsStatusProps.json +9 -0
  351. package/data/docs/types/StepsTitle.json +28 -0
  352. package/data/docs/types/StepsTitleProps.json +9 -0
  353. package/data/docs/types/StepsTrigger.json +47 -0
  354. package/data/docs/types/StepsTriggerProps.json +9 -0
  355. package/data/docs/types/Switch.json +371 -0
  356. package/data/docs/types/TabListProps.json +9 -0
  357. package/data/docs/types/TabNav.json +12 -0
  358. package/data/docs/types/TabNavItem.json +300 -0
  359. package/data/docs/types/TabNavItemProps.json +9 -0
  360. package/data/docs/types/TabNavProps.json +9 -0
  361. package/data/docs/types/TabNavRoot.json +80 -0
  362. package/data/docs/types/TabPanelProps.json +9 -0
  363. package/data/docs/types/TabPanelsProps.json +9 -0
  364. package/data/docs/types/TabProps.json +9 -0
  365. package/data/docs/types/Table.json +9 -0
  366. package/data/docs/types/TableBody.json +67 -0
  367. package/data/docs/types/TableBodyProps.json +9 -0
  368. package/data/docs/types/TableCaption.json +67 -0
  369. package/data/docs/types/TableCaptionProps.json +9 -0
  370. package/data/docs/types/TableCell.json +227 -0
  371. package/data/docs/types/TableCellProps.json +9 -0
  372. package/data/docs/types/TableColumn.json +101 -0
  373. package/data/docs/types/TableColumnGroup.json +101 -0
  374. package/data/docs/types/TableColumnGroupProps.json +9 -0
  375. package/data/docs/types/TableColumnHeader.json +193 -0
  376. package/data/docs/types/TableColumnHeaderProps.json +9 -0
  377. package/data/docs/types/TableColumnProps.json +9 -0
  378. package/data/docs/types/TableFooter.json +67 -0
  379. package/data/docs/types/TableFooterProps.json +9 -0
  380. package/data/docs/types/TableHeader.json +67 -0
  381. package/data/docs/types/TableHeaderProps.json +9 -0
  382. package/data/docs/types/TableRoot.json +365 -0
  383. package/data/docs/types/TableRootProps.json +12 -0
  384. package/data/docs/types/TableRow.json +67 -0
  385. package/data/docs/types/TableRowProps.json +9 -0
  386. package/data/docs/types/TableScrollArea.json +82 -0
  387. package/data/docs/types/TableScrollAreaProps.json +9 -0
  388. package/data/docs/types/Tabs.json +12 -0
  389. package/data/docs/types/TabsList.json +110 -0
  390. package/data/docs/types/TabsPanel.json +112 -0
  391. package/data/docs/types/TabsPanels.json +108 -0
  392. package/data/docs/types/TabsRoot.json +211 -0
  393. package/data/docs/types/TabsTab.json +174 -0
  394. package/data/docs/types/TagGroup.json +12 -0
  395. package/data/docs/types/TagGroupRoot.json +306 -0
  396. package/data/docs/types/TagGroupTag.json +595 -0
  397. package/data/docs/types/TagGroupTagList.json +166 -0
  398. package/data/docs/types/Text.json +119 -0
  399. package/data/docs/types/TextInput.json +1156 -0
  400. package/data/docs/types/TextInputField.json +1263 -0
  401. package/data/docs/types/TimeInput.json +752 -0
  402. package/data/docs/types/ToastAction.json +9 -0
  403. package/data/docs/types/ToastManagerApi.json +9 -0
  404. package/data/docs/types/ToastOptions.json +9 -0
  405. package/data/docs/types/ToastOutlet.json +12 -0
  406. package/data/docs/types/ToastPlacement.json +9 -0
  407. package/data/docs/types/ToastPromiseOptions.json +9 -0
  408. package/data/docs/types/ToastType.json +9 -0
  409. package/data/docs/types/ToastVariant.json +9 -0
  410. package/data/docs/types/ToggleButton.json +789 -0
  411. package/data/docs/types/ToggleButtonGroup.json +9 -0
  412. package/data/docs/types/ToggleButtonGroupButton.json +331 -0
  413. package/data/docs/types/ToggleButtonGroupRoot.json +269 -0
  414. package/data/docs/types/Toolbar.json +176 -0
  415. package/data/docs/types/Tooltip.json +12 -0
  416. package/data/docs/types/TooltipContent.json +372 -0
  417. package/data/docs/types/TooltipRoot.json +179 -0
  418. package/data/docs/types/Trigger.json +69 -0
  419. package/data/docs/types/VisuallyHidden.json +93 -0
  420. package/data/docs/types/__object.json +12 -0
  421. package/data/docs/types/filters.json +11 -0
  422. package/data/docs/types/manifest.json +278 -0
  423. package/data/docs/types/toast.json +234 -0
  424. package/data/docs/types/useColorMode.json +13 -0
  425. package/data/docs/types/useColorModeValue.json +13 -0
  426. package/data/docs/types/useColorScheme.json +12 -0
  427. package/data/docs/types/useLocalizedStringFormatter.json +14 -0
  428. package/data/icons.json +21940 -0
  429. package/data/tokens.json +40061 -0
  430. package/dist/index.js +2516 -17
  431. package/package.json +25 -6
  432. package/dist/data-loader.d.ts +0 -102
  433. package/dist/data-loader.js +0 -104
  434. package/dist/index.d.ts +0 -13
  435. package/dist/server.d.ts +0 -9
  436. package/dist/server.js +0 -22
  437. package/dist/server.spec.d.ts +0 -1
  438. package/dist/server.spec.js +0 -69
  439. package/dist/tools/list-components.d.ts +0 -9
  440. package/dist/tools/list-components.js +0 -42
  441. package/dist/types.d.ts +0 -28
  442. package/dist/types.js +0 -4
  443. package/src/data-loader.ts +0 -226
  444. package/src/index.ts +0 -29
  445. package/src/server.spec.ts +0 -86
  446. package/src/server.ts +0 -28
  447. package/src/tools/list-components.ts +0 -49
  448. package/src/types.ts +0 -31
  449. package/tsconfig.json +0 -14
  450. package/vitest.config.ts +0 -9
@@ -0,0 +1,34 @@
1
+ {
2
+ "meta": {
3
+ "id": "Components-Utilities",
4
+ "title": "Utilities",
5
+ "description": "Low-level or functional components for utility purposes.",
6
+ "order": 9,
7
+ "repoPath": "packages/nimbus/src/docs/utilities.mdx",
8
+ "menu": [
9
+ "Components",
10
+ "Utilities"
11
+ ],
12
+ "route": "components/utilities",
13
+ "tags": [
14
+ "document"
15
+ ],
16
+ "toc": [],
17
+ "icon": "Construction",
18
+ "layout": "app-frame",
19
+ "tabs": [
20
+ {
21
+ "key": "overview",
22
+ "title": "Overview",
23
+ "order": 0
24
+ }
25
+ ]
26
+ },
27
+ "mdx": "\n# Utilities\n\nLow-level or functional components for utility purposes.\n\n<CategoryOverview variant=\"list\" />\n",
28
+ "views": {
29
+ "overview": {
30
+ "mdx": "\n# Utilities\n\nLow-level or functional components for utility purposes.\n\n<CategoryOverview variant=\"list\" />\n",
31
+ "toc": []
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "meta": {
3
+ "id": "Components",
4
+ "title": "Components",
5
+ "description": "React components for building robust and visually appealing applications.",
6
+ "order": 3,
7
+ "repoPath": "packages/nimbus/src/docs/components.mdx",
8
+ "menu": [
9
+ "Components"
10
+ ],
11
+ "route": "components",
12
+ "tags": [
13
+ "components",
14
+ "react"
15
+ ],
16
+ "toc": [],
17
+ "layout": "app-frame",
18
+ "tabs": [
19
+ {
20
+ "key": "overview",
21
+ "title": "Overview",
22
+ "order": 0
23
+ }
24
+ ]
25
+ },
26
+ "mdx": "\n# Components\n\n<CategoryOverview />\n",
27
+ "views": {
28
+ "overview": {
29
+ "mdx": "\n# Components\n\n<CategoryOverview />\n",
30
+ "toc": []
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,314 @@
1
+ {
2
+ "meta": {
3
+ "id": "Consumer-Component-APIs",
4
+ "title": "ADR: On Consumer Component API's",
5
+ "description": "Architecture decision record on how to structure component APIs for flexibility and maintainability",
6
+ "order": 1,
7
+ "repoPath": "packages/nimbus/src/docs/architecture-decisions/adr-0001-consumer-component-apis.mdx",
8
+ "menu": [
9
+ "Home",
10
+ "Contribute",
11
+ "ADR's",
12
+ "ADR0001 Consumer Component APIs"
13
+ ],
14
+ "route": "home/contribute/adrs/adr0001-consumer-component-apis",
15
+ "tags": [
16
+ "architecture",
17
+ "components",
18
+ "design",
19
+ "api"
20
+ ],
21
+ "toc": [
22
+ {
23
+ "value": "Context",
24
+ "href": "#context",
25
+ "depth": 2,
26
+ "numbering": [
27
+ 1,
28
+ 1
29
+ ],
30
+ "parent": "root"
31
+ },
32
+ {
33
+ "value": "Early Attempts",
34
+ "href": "#early-attempts",
35
+ "depth": 2,
36
+ "numbering": [
37
+ 1,
38
+ 2
39
+ ],
40
+ "parent": "root"
41
+ },
42
+ {
43
+ "value": "Attempt A: One Big Alert with Child Buttons",
44
+ "href": "#attempt-a-one-big-alert-with-child-buttons",
45
+ "depth": 3,
46
+ "numbering": [
47
+ 1,
48
+ 2,
49
+ 1
50
+ ],
51
+ "parent": "root"
52
+ },
53
+ {
54
+ "value": "Attempt B: Specialized Props for Each Slot",
55
+ "href": "#attempt-b-specialized-props-for-each-slot",
56
+ "depth": 3,
57
+ "numbering": [
58
+ 1,
59
+ 2,
60
+ 2
61
+ ],
62
+ "parent": "root"
63
+ },
64
+ {
65
+ "value": "Attempt C: Even More Props for Layout / Positioning",
66
+ "href": "#attempt-c-even-more-props-for-layout--positioning",
67
+ "depth": 3,
68
+ "numbering": [
69
+ 1,
70
+ 2,
71
+ 3
72
+ ],
73
+ "parent": "root"
74
+ },
75
+ {
76
+ "value": "Final Decision: Compound Components",
77
+ "href": "#final-decision-compound-components",
78
+ "depth": 2,
79
+ "numbering": [
80
+ 1,
81
+ 3
82
+ ],
83
+ "parent": "root"
84
+ },
85
+ {
86
+ "value": "Key Changes:",
87
+ "href": "#key-changes",
88
+ "depth": 3,
89
+ "numbering": [
90
+ 1,
91
+ 3,
92
+ 1
93
+ ],
94
+ "parent": "root"
95
+ },
96
+ {
97
+ "value": "Why this is better:",
98
+ "href": "#why-this-is-better",
99
+ "depth": 3,
100
+ "numbering": [
101
+ 1,
102
+ 3,
103
+ 2
104
+ ],
105
+ "parent": "root"
106
+ },
107
+ {
108
+ "value": "Consequences",
109
+ "href": "#consequences",
110
+ "depth": 2,
111
+ "numbering": [
112
+ 1,
113
+ 4
114
+ ],
115
+ "parent": "root"
116
+ },
117
+ {
118
+ "value": "Examples in Practice",
119
+ "href": "#examples-in-practice",
120
+ "depth": 2,
121
+ "numbering": [
122
+ 1,
123
+ 5
124
+ ],
125
+ "parent": "root"
126
+ },
127
+ {
128
+ "value": "1. Basic Alert",
129
+ "href": "#1-basic-alert",
130
+ "depth": 3,
131
+ "numbering": [
132
+ 1,
133
+ 5,
134
+ 1
135
+ ],
136
+ "parent": "root"
137
+ },
138
+ {
139
+ "value": "2. Alert with Extra Controls",
140
+ "href": "#2-alert-with-extra-controls",
141
+ "depth": 3,
142
+ "numbering": [
143
+ 1,
144
+ 5,
145
+ 2
146
+ ],
147
+ "parent": "root"
148
+ },
149
+ {
150
+ "value": "Summary",
151
+ "href": "#summary",
152
+ "depth": 2,
153
+ "numbering": [
154
+ 1,
155
+ 6
156
+ ],
157
+ "parent": "root"
158
+ }
159
+ ],
160
+ "layout": "app-frame",
161
+ "tabs": [
162
+ {
163
+ "key": "overview",
164
+ "title": "Overview",
165
+ "order": 0
166
+ }
167
+ ]
168
+ },
169
+ "mdx": "\n# ADR: On Consumer Component API's\n\n## Context\n\nWe needed an Alert component to show informational or warning messages. The\ncomponent should allow:\n\n- A title and description.\n- An optional dismiss button.\n- Additional buttons or controls.\n- Spacing/styling overrides (e.g. px, py).\n\nIn early explorations, we tried to expose everything via props on the main\n`Alert`—this seemed convenient but would quickly became unwieldy when\nrequirements changed. This led to a discussion about how to structure the API\nfor components in a way that is both flexible and maintainable.\n\n## Early Attempts\n\n### Attempt A: One Big Alert with Child Buttons\n\n```jsx\n<Alert\n title=\"title\"\n description=\"description\"\n onDismiss={() => void}\n px=\"4\"\n py=\"2\"\n>\n <button>Dismiss</button>\n <button>Click me</button>\n</Alert>\n```\n\n1. title and description are top-level props.\n2. children are the alert's buttons.\n\n**Issue**: If we need new kinds of controls (e.g., a link, extra text, or\nre-positioned buttons), we must keep adding or repurposing props. The line\nbetween \"belongs in children\" vs. \"belongs in dedicated props\" can become\nblurry.\n\n### Attempt B: Specialized Props for Each Slot\n\n```jsx\n<Alert\n alertTitleStyle=\"bold\"\n title=\"title\"\n description=\"description\"\n onDismiss={() => void}\n px=\"4\"\n py=\"2\"\n alertControls={\n <>\n <button>Dismiss</button>\n <button>Click me</button>\n </>\n }\n/>\n```\n\n1. We introduced an alertControls prop for the buttons.\n2. We also added alertTitleStyle to control how the title looks.\n\n**Issue**: As the design evolves (e.g., \"Now we need the title right‐aligned, or\na sub‐title below the main title\"), we keep adding ad-hoc props like\ntitlePosition, alertControlsAlignment, etc. The `<Alert>` props list grows large\nand messy.\n\n### Attempt C: Even More Props for Layout / Positioning\n\n```jsx\n<Alert\n alertTitleStyle=\"bold\"\n title=\"title\"\n titlePosition=\"right\"\n description=\"description\"\n onDismiss={() => void}\n px=\"4\"\n py=\"2\"\n alertControls={\n <>\n <button>Dismiss</button>\n <button>Click me</button>\n </>\n }\n/>\n```\n\n**Issue**: The top-level `<Alert>` component now has numerous styling, layout,\nand content props all jumbled together. If a new design wants a second dismiss\nbutton or a multi-line description, we must add more props. This is non-scalable\nand not very semantic.\n\n## Final Decision: Compound Components\n\nWe decided to adopt compound components (a pattern in which sub-elements are\nalso React components). The final API looks like:\n\n```jsx\n<Alert px=\"4\" py=\"2\">\n <Alert.Title fontStyle=\"bold\">\n Alert Title\n </Alert.Title>\n <Alert.Description>\n A short alert description.\n </Alert.Description>\n <Alert.DismissButton onClick={() => void} />\n</Alert>\n```\n\n### Key Changes:\n\n1. Children become semantic slots: `<Alert.Title>`, `<Alert.Description>`, and\n `<Alert.DismissButton>`.\n2. Each slot can handle its own styling or props. For instance, Alert.Title\n might accept a fontStyle prop, Alert.DismissButton handles its own click\n event.\n3. The root `<Alert>` only handles general layout or high-level variant props\n (e.g., px, py, severity).\n\n### Why this is better:\n\n- **Clear separation of concerns**: Layout/styling for each slot belongs to that\n slot. The main `<Alert>` only handles spacing or theming.\n- **Easier to extend**: If we need a second sub-element (e.g., `<Alert.Icon>` or\n `<Alert.Footer>`), we just introduce a new subcomponent. We don't clog\n `<Alert>` with more props.\n- **Semantic**: `<Alert.Title>` and `<Alert.Description>` are more descriptive\n than `title=\"...\"` or `alertControls={...}`.\n\n## Consequences\n\n- We have a more verbose but much more flexible API.\n- Consumers build their alert in a semantic, composable way.\n- We can add or rearrange subcomponents without rewriting the main `<Alert>`\n props or code.\n- If developers want quick usage (like a single short message), they might find\n passing a couple props simpler – but we've prioritized long-term\n maintainability and clarity.\n\n## Examples in Practice\n\n### 1. Basic Alert\n\n```jsx\n<Alert>\n <Alert.Title>Warning!</Alert.Title>\n <Alert.Description>Please fill out all required fields.</Alert.Description>\n <Alert.DismissButton onClick={onClose} />\n</Alert>\n```\n\n### 2. Alert with Extra Controls\n\n```jsx\n<Alert px=\"4\" py=\"3\">\n <Alert.Title fontStyle=\"bold\">Network Error</Alert.Title>\n <Alert.Description>\n We could not reach the server. Please try again.\n </Alert.Description>\n <Alert.DismissButton onClick={onClose} />\n <Alert.Controls>\n <Button onClick={onRetry}>Retry</Button>\n </Alert.Controls>\n</Alert>\n```\n\n## Summary\n\n- Inline props for major sections quickly lead to \"prop creep.\"\n- Compound components keep `<Alert>` minimal and delegate content/markup details\n to semantically named subcomponents.\n- Layout changes or extra features do not require new top-level props on\n `<Alert>`.\n\nThis approach scales better and is more maintainable as the design evolves.\n",
170
+ "views": {
171
+ "overview": {
172
+ "mdx": "\n# ADR: On Consumer Component API's\n\n## Context\n\nWe needed an Alert component to show informational or warning messages. The\ncomponent should allow:\n\n- A title and description.\n- An optional dismiss button.\n- Additional buttons or controls.\n- Spacing/styling overrides (e.g. px, py).\n\nIn early explorations, we tried to expose everything via props on the main\n`Alert`—this seemed convenient but would quickly became unwieldy when\nrequirements changed. This led to a discussion about how to structure the API\nfor components in a way that is both flexible and maintainable.\n\n## Early Attempts\n\n### Attempt A: One Big Alert with Child Buttons\n\n```jsx\n<Alert\n title=\"title\"\n description=\"description\"\n onDismiss={() => void}\n px=\"4\"\n py=\"2\"\n>\n <button>Dismiss</button>\n <button>Click me</button>\n</Alert>\n```\n\n1. title and description are top-level props.\n2. children are the alert's buttons.\n\n**Issue**: If we need new kinds of controls (e.g., a link, extra text, or\nre-positioned buttons), we must keep adding or repurposing props. The line\nbetween \"belongs in children\" vs. \"belongs in dedicated props\" can become\nblurry.\n\n### Attempt B: Specialized Props for Each Slot\n\n```jsx\n<Alert\n alertTitleStyle=\"bold\"\n title=\"title\"\n description=\"description\"\n onDismiss={() => void}\n px=\"4\"\n py=\"2\"\n alertControls={\n <>\n <button>Dismiss</button>\n <button>Click me</button>\n </>\n }\n/>\n```\n\n1. We introduced an alertControls prop for the buttons.\n2. We also added alertTitleStyle to control how the title looks.\n\n**Issue**: As the design evolves (e.g., \"Now we need the title right‐aligned, or\na sub‐title below the main title\"), we keep adding ad-hoc props like\ntitlePosition, alertControlsAlignment, etc. The `<Alert>` props list grows large\nand messy.\n\n### Attempt C: Even More Props for Layout / Positioning\n\n```jsx\n<Alert\n alertTitleStyle=\"bold\"\n title=\"title\"\n titlePosition=\"right\"\n description=\"description\"\n onDismiss={() => void}\n px=\"4\"\n py=\"2\"\n alertControls={\n <>\n <button>Dismiss</button>\n <button>Click me</button>\n </>\n }\n/>\n```\n\n**Issue**: The top-level `<Alert>` component now has numerous styling, layout,\nand content props all jumbled together. If a new design wants a second dismiss\nbutton or a multi-line description, we must add more props. This is non-scalable\nand not very semantic.\n\n## Final Decision: Compound Components\n\nWe decided to adopt compound components (a pattern in which sub-elements are\nalso React components). The final API looks like:\n\n```jsx\n<Alert px=\"4\" py=\"2\">\n <Alert.Title fontStyle=\"bold\">\n Alert Title\n </Alert.Title>\n <Alert.Description>\n A short alert description.\n </Alert.Description>\n <Alert.DismissButton onClick={() => void} />\n</Alert>\n```\n\n### Key Changes:\n\n1. Children become semantic slots: `<Alert.Title>`, `<Alert.Description>`, and\n `<Alert.DismissButton>`.\n2. Each slot can handle its own styling or props. For instance, Alert.Title\n might accept a fontStyle prop, Alert.DismissButton handles its own click\n event.\n3. The root `<Alert>` only handles general layout or high-level variant props\n (e.g., px, py, severity).\n\n### Why this is better:\n\n- **Clear separation of concerns**: Layout/styling for each slot belongs to that\n slot. The main `<Alert>` only handles spacing or theming.\n- **Easier to extend**: If we need a second sub-element (e.g., `<Alert.Icon>` or\n `<Alert.Footer>`), we just introduce a new subcomponent. We don't clog\n `<Alert>` with more props.\n- **Semantic**: `<Alert.Title>` and `<Alert.Description>` are more descriptive\n than `title=\"...\"` or `alertControls={...}`.\n\n## Consequences\n\n- We have a more verbose but much more flexible API.\n- Consumers build their alert in a semantic, composable way.\n- We can add or rearrange subcomponents without rewriting the main `<Alert>`\n props or code.\n- If developers want quick usage (like a single short message), they might find\n passing a couple props simpler – but we've prioritized long-term\n maintainability and clarity.\n\n## Examples in Practice\n\n### 1. Basic Alert\n\n```jsx\n<Alert>\n <Alert.Title>Warning!</Alert.Title>\n <Alert.Description>Please fill out all required fields.</Alert.Description>\n <Alert.DismissButton onClick={onClose} />\n</Alert>\n```\n\n### 2. Alert with Extra Controls\n\n```jsx\n<Alert px=\"4\" py=\"3\">\n <Alert.Title fontStyle=\"bold\">Network Error</Alert.Title>\n <Alert.Description>\n We could not reach the server. Please try again.\n </Alert.Description>\n <Alert.DismissButton onClick={onClose} />\n <Alert.Controls>\n <Button onClick={onRetry}>Retry</Button>\n </Alert.Controls>\n</Alert>\n```\n\n## Summary\n\n- Inline props for major sections quickly lead to \"prop creep.\"\n- Compound components keep `<Alert>` minimal and delegate content/markup details\n to semantically named subcomponents.\n- Layout changes or extra features do not require new top-level props on\n `<Alert>`.\n\nThis approach scales better and is more maintainable as the design evolves.\n",
173
+ "toc": [
174
+ {
175
+ "value": "Context",
176
+ "href": "#context",
177
+ "depth": 2,
178
+ "numbering": [
179
+ 1,
180
+ 1
181
+ ],
182
+ "parent": "root"
183
+ },
184
+ {
185
+ "value": "Early Attempts",
186
+ "href": "#early-attempts",
187
+ "depth": 2,
188
+ "numbering": [
189
+ 1,
190
+ 2
191
+ ],
192
+ "parent": "root"
193
+ },
194
+ {
195
+ "value": "Attempt A: One Big Alert with Child Buttons",
196
+ "href": "#attempt-a-one-big-alert-with-child-buttons",
197
+ "depth": 3,
198
+ "numbering": [
199
+ 1,
200
+ 2,
201
+ 1
202
+ ],
203
+ "parent": "root"
204
+ },
205
+ {
206
+ "value": "Attempt B: Specialized Props for Each Slot",
207
+ "href": "#attempt-b-specialized-props-for-each-slot",
208
+ "depth": 3,
209
+ "numbering": [
210
+ 1,
211
+ 2,
212
+ 2
213
+ ],
214
+ "parent": "root"
215
+ },
216
+ {
217
+ "value": "Attempt C: Even More Props for Layout / Positioning",
218
+ "href": "#attempt-c-even-more-props-for-layout--positioning",
219
+ "depth": 3,
220
+ "numbering": [
221
+ 1,
222
+ 2,
223
+ 3
224
+ ],
225
+ "parent": "root"
226
+ },
227
+ {
228
+ "value": "Final Decision: Compound Components",
229
+ "href": "#final-decision-compound-components",
230
+ "depth": 2,
231
+ "numbering": [
232
+ 1,
233
+ 3
234
+ ],
235
+ "parent": "root"
236
+ },
237
+ {
238
+ "value": "Key Changes:",
239
+ "href": "#key-changes",
240
+ "depth": 3,
241
+ "numbering": [
242
+ 1,
243
+ 3,
244
+ 1
245
+ ],
246
+ "parent": "root"
247
+ },
248
+ {
249
+ "value": "Why this is better:",
250
+ "href": "#why-this-is-better",
251
+ "depth": 3,
252
+ "numbering": [
253
+ 1,
254
+ 3,
255
+ 2
256
+ ],
257
+ "parent": "root"
258
+ },
259
+ {
260
+ "value": "Consequences",
261
+ "href": "#consequences",
262
+ "depth": 2,
263
+ "numbering": [
264
+ 1,
265
+ 4
266
+ ],
267
+ "parent": "root"
268
+ },
269
+ {
270
+ "value": "Examples in Practice",
271
+ "href": "#examples-in-practice",
272
+ "depth": 2,
273
+ "numbering": [
274
+ 1,
275
+ 5
276
+ ],
277
+ "parent": "root"
278
+ },
279
+ {
280
+ "value": "1. Basic Alert",
281
+ "href": "#1-basic-alert",
282
+ "depth": 3,
283
+ "numbering": [
284
+ 1,
285
+ 5,
286
+ 1
287
+ ],
288
+ "parent": "root"
289
+ },
290
+ {
291
+ "value": "2. Alert with Extra Controls",
292
+ "href": "#2-alert-with-extra-controls",
293
+ "depth": 3,
294
+ "numbering": [
295
+ 1,
296
+ 5,
297
+ 2
298
+ ],
299
+ "parent": "root"
300
+ },
301
+ {
302
+ "value": "Summary",
303
+ "href": "#summary",
304
+ "depth": 2,
305
+ "numbering": [
306
+ 1,
307
+ 6
308
+ ],
309
+ "parent": "root"
310
+ }
311
+ ]
312
+ }
313
+ }
314
+ }
@@ -0,0 +1,160 @@
1
+ {
2
+ "meta": {
3
+ "id": "Compound-Component-Extraction",
4
+ "title": "ADR: Standardizing Compound Component Extraction to a `components` Directory",
5
+ "description": "Architecture decision record on organizing compound component implementations",
6
+ "order": 2,
7
+ "repoPath": "packages/nimbus/src/docs/architecture-decisions/adr-0002-compound-component-extraction.mdx",
8
+ "menu": [
9
+ "Home",
10
+ "Contribute",
11
+ "ADR's",
12
+ "ADR0002 Compound Component Extraction"
13
+ ],
14
+ "route": "home/contribute/adrs/adr0002-compound-component-extraction",
15
+ "tags": [
16
+ "architecture",
17
+ "components",
18
+ "directory-structure",
19
+ "organization"
20
+ ],
21
+ "toc": [
22
+ {
23
+ "value": "Context",
24
+ "href": "#context",
25
+ "depth": 2,
26
+ "numbering": [
27
+ 1,
28
+ 1
29
+ ],
30
+ "parent": "root"
31
+ },
32
+ {
33
+ "value": "Decision",
34
+ "href": "#decision",
35
+ "depth": 2,
36
+ "numbering": [
37
+ 1,
38
+ 2
39
+ ],
40
+ "parent": "root"
41
+ },
42
+ {
43
+ "value": "Why this is better:",
44
+ "href": "#why-this-is-better",
45
+ "depth": 2,
46
+ "numbering": [
47
+ 1,
48
+ 3
49
+ ],
50
+ "parent": "root"
51
+ },
52
+ {
53
+ "value": "Consequences",
54
+ "href": "#consequences",
55
+ "depth": 2,
56
+ "numbering": [
57
+ 1,
58
+ 4
59
+ ],
60
+ "parent": "root"
61
+ },
62
+ {
63
+ "value": "Examples",
64
+ "href": "#examples",
65
+ "depth": 2,
66
+ "numbering": [
67
+ 1,
68
+ 5
69
+ ],
70
+ "parent": "root"
71
+ },
72
+ {
73
+ "value": "Summary",
74
+ "href": "#summary",
75
+ "depth": 2,
76
+ "numbering": [
77
+ 1,
78
+ 6
79
+ ],
80
+ "parent": "root"
81
+ }
82
+ ],
83
+ "layout": "app-frame",
84
+ "tabs": [
85
+ {
86
+ "key": "overview",
87
+ "title": "Overview",
88
+ "order": 0
89
+ }
90
+ ]
91
+ },
92
+ "mdx": "\n# ADR: Standardizing Compound Component Extraction to a `components` Directory\n\n## Context\n\nTo enhance the organization, maintainability, and scalability of our components\nthat utilize the compound component pattern, we are establishing a consistent\ndirectory structure for their implementation. This ADR outlines the principle of\nextracting the core root component and its associated compound sub-components\ninto a dedicated `components` subdirectory.\n\n## Decision\n\nFor any component (`<ComponentName>`) that follows the compound component\npattern (where sub-components like `<ComponentName.Part>`,\n`<ComponentName.Control>`, etc., are defined as properties of the main\ncomponent), we will adopt the following directory structure:\n\n- The main component's directory will be\n `packages/nimbus/src/components/<component-name>/`.\n- A subdirectory named `components` will be created within the main component's\n directory: `packages/nimbus/src/components/<component-name>/components/`.\n- The implementation files for the root component (`<ComponentName.Root>`) and\n all its compound sub-components (`<ComponentName.Part>`,\n `<ComponentName.Control>`, etc.) will reside within this `components`\n subdirectory.\n- The main `<component-name>.tsx` file within the `<component-name>` directory\n will be responsible for:\n - Importing the root component and all sub-components from the `components`\n subdirectory.\n - Re-exporting them as properties of the main `ComponentName` object.\n\nStorybook files (`<component-name>.stories.tsx`) will be updated to reflect this\nstructure, primarily by referencing the appropriate root component (e.g.,\n`ComponentName.Root` or `ComponentName`) in the `Meta` configuration.\n\n## Why this is better:\n\n- **Consistent Code Organization:** This standardized structure will make it\n easier for developers to locate the implementation files for any component\n utilizing the compound pattern.\n- **Improved Maintainability:** Isolating the implementation of each part of a\n compound component within its own file reduces the complexity of individual\n files and minimizes the risk of unintended side effects during modifications.\n- **Enhanced Scalability:** As components grow and incorporate more\n sub-components, this structure provides a clear and manageable way to organize\n the increasing number of files.\n- **Clear Separation of Concerns:** Each file within the `components` directory\n will focus on the implementation details of a specific part of the compound\n component.\n\n## Consequences\n\n- **New Directory Structure:** Developers will need to be aware of this new\n directory structure for all future and refactored compound components.\n- **Import Path Updates:** When working directly with the individual root or\n sub-component implementations, import paths will need to reflect their\n location within the `components` subdirectory. However, the main `index.tsx`\n re-export should abstract this for most consumers using the compound component\n API.\n- **Storybook Updates:** The `Meta` configuration in Storybook files for\n compound components will need to point to the appropriate root component.\n\n## Examples\n\n**With `components` Subdirectory:**\n\n```\npackages/nimbus/src/components/component-name/index.tsx\npackages/nimbus/src/components/component-name/component-name.tsx\npackages/nimbus/src/components/component-name/components/component-name.root.tsx\npackages/nimbus/src/components/component-name/components/component-name.part.tsx\npackages/nimbus/src/components/component-name/components/component-name.control.tsx\npackages/nimbus/src/components/component-name/component-name.stories.tsx\n```\n\n## Summary\n\nAdopting this standardized directory structure for compound components will lead\nto a more organized, maintainable, and scalable UI Kit. By consistently\nseparating the implementation details of the root and sub-components into a\ndedicated `components` subdirectory, we establish a clear pattern for future\ndevelopment and refactoring efforts.\n",
93
+ "views": {
94
+ "overview": {
95
+ "mdx": "\n# ADR: Standardizing Compound Component Extraction to a `components` Directory\n\n## Context\n\nTo enhance the organization, maintainability, and scalability of our components\nthat utilize the compound component pattern, we are establishing a consistent\ndirectory structure for their implementation. This ADR outlines the principle of\nextracting the core root component and its associated compound sub-components\ninto a dedicated `components` subdirectory.\n\n## Decision\n\nFor any component (`<ComponentName>`) that follows the compound component\npattern (where sub-components like `<ComponentName.Part>`,\n`<ComponentName.Control>`, etc., are defined as properties of the main\ncomponent), we will adopt the following directory structure:\n\n- The main component's directory will be\n `packages/nimbus/src/components/<component-name>/`.\n- A subdirectory named `components` will be created within the main component's\n directory: `packages/nimbus/src/components/<component-name>/components/`.\n- The implementation files for the root component (`<ComponentName.Root>`) and\n all its compound sub-components (`<ComponentName.Part>`,\n `<ComponentName.Control>`, etc.) will reside within this `components`\n subdirectory.\n- The main `<component-name>.tsx` file within the `<component-name>` directory\n will be responsible for:\n - Importing the root component and all sub-components from the `components`\n subdirectory.\n - Re-exporting them as properties of the main `ComponentName` object.\n\nStorybook files (`<component-name>.stories.tsx`) will be updated to reflect this\nstructure, primarily by referencing the appropriate root component (e.g.,\n`ComponentName.Root` or `ComponentName`) in the `Meta` configuration.\n\n## Why this is better:\n\n- **Consistent Code Organization:** This standardized structure will make it\n easier for developers to locate the implementation files for any component\n utilizing the compound pattern.\n- **Improved Maintainability:** Isolating the implementation of each part of a\n compound component within its own file reduces the complexity of individual\n files and minimizes the risk of unintended side effects during modifications.\n- **Enhanced Scalability:** As components grow and incorporate more\n sub-components, this structure provides a clear and manageable way to organize\n the increasing number of files.\n- **Clear Separation of Concerns:** Each file within the `components` directory\n will focus on the implementation details of a specific part of the compound\n component.\n\n## Consequences\n\n- **New Directory Structure:** Developers will need to be aware of this new\n directory structure for all future and refactored compound components.\n- **Import Path Updates:** When working directly with the individual root or\n sub-component implementations, import paths will need to reflect their\n location within the `components` subdirectory. However, the main `index.tsx`\n re-export should abstract this for most consumers using the compound component\n API.\n- **Storybook Updates:** The `Meta` configuration in Storybook files for\n compound components will need to point to the appropriate root component.\n\n## Examples\n\n**With `components` Subdirectory:**\n\n```\npackages/nimbus/src/components/component-name/index.tsx\npackages/nimbus/src/components/component-name/component-name.tsx\npackages/nimbus/src/components/component-name/components/component-name.root.tsx\npackages/nimbus/src/components/component-name/components/component-name.part.tsx\npackages/nimbus/src/components/component-name/components/component-name.control.tsx\npackages/nimbus/src/components/component-name/component-name.stories.tsx\n```\n\n## Summary\n\nAdopting this standardized directory structure for compound components will lead\nto a more organized, maintainable, and scalable UI Kit. By consistently\nseparating the implementation details of the root and sub-components into a\ndedicated `components` subdirectory, we establish a clear pattern for future\ndevelopment and refactoring efforts.\n",
96
+ "toc": [
97
+ {
98
+ "value": "Context",
99
+ "href": "#context",
100
+ "depth": 2,
101
+ "numbering": [
102
+ 1,
103
+ 1
104
+ ],
105
+ "parent": "root"
106
+ },
107
+ {
108
+ "value": "Decision",
109
+ "href": "#decision",
110
+ "depth": 2,
111
+ "numbering": [
112
+ 1,
113
+ 2
114
+ ],
115
+ "parent": "root"
116
+ },
117
+ {
118
+ "value": "Why this is better:",
119
+ "href": "#why-this-is-better",
120
+ "depth": 2,
121
+ "numbering": [
122
+ 1,
123
+ 3
124
+ ],
125
+ "parent": "root"
126
+ },
127
+ {
128
+ "value": "Consequences",
129
+ "href": "#consequences",
130
+ "depth": 2,
131
+ "numbering": [
132
+ 1,
133
+ 4
134
+ ],
135
+ "parent": "root"
136
+ },
137
+ {
138
+ "value": "Examples",
139
+ "href": "#examples",
140
+ "depth": 2,
141
+ "numbering": [
142
+ 1,
143
+ 5
144
+ ],
145
+ "parent": "root"
146
+ },
147
+ {
148
+ "value": "Summary",
149
+ "href": "#summary",
150
+ "depth": 2,
151
+ "numbering": [
152
+ 1,
153
+ 6
154
+ ],
155
+ "parent": "root"
156
+ }
157
+ ]
158
+ }
159
+ }
160
+ }