@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,338 @@
1
+ {
2
+ "meta": {
3
+ "id": "Components-Card",
4
+ "title": "Card",
5
+ "exportName": "Card",
6
+ "description": "A versatile container component presents self-contained information, often combining text, images, and actions, making it ideal for displaying summaries or content previews.",
7
+ "lifecycleState": "Stable",
8
+ "order": 999,
9
+ "repoPath": "packages/nimbus/src/components/card/card.mdx",
10
+ "menu": [
11
+ "Components",
12
+ "Data Display",
13
+ "Card"
14
+ ],
15
+ "route": "components/data-display/card",
16
+ "tags": [
17
+ "component",
18
+ "card",
19
+ "container",
20
+ "surface",
21
+ "content"
22
+ ],
23
+ "toc": [
24
+ {
25
+ "value": "Overview",
26
+ "href": "#overview",
27
+ "depth": 2,
28
+ "numbering": [
29
+ 1,
30
+ 1
31
+ ],
32
+ "parent": "root"
33
+ },
34
+ {
35
+ "value": "Resources",
36
+ "href": "#resources",
37
+ "depth": 3,
38
+ "numbering": [
39
+ 1,
40
+ 1,
41
+ 1
42
+ ],
43
+ "parent": "root"
44
+ }
45
+ ],
46
+ "figmaLink": "https://www.figma.com/design/gHbAJGfcrCv7f2bgzUQgHq/NIMBUS-Guidelines?node-id=1793-8790&m=dev",
47
+ "layout": "app-frame",
48
+ "tabs": [
49
+ {
50
+ "key": "overview",
51
+ "title": "Overview",
52
+ "order": 0
53
+ },
54
+ {
55
+ "key": "guidelines",
56
+ "title": "Guidelines",
57
+ "order": 2
58
+ },
59
+ {
60
+ "key": "dev",
61
+ "title": "Implementation",
62
+ "order": 3
63
+ },
64
+ {
65
+ "key": "a11y",
66
+ "title": "Accessibility",
67
+ "order": 4
68
+ }
69
+ ]
70
+ },
71
+ "mdx": "\n## Overview\n\nThis versatile container component often integrates text, images, and actions.\nInteraction methods differ: some are clickable, others use buttons and links,\nand some are purely informational, grouping content without direct interaction.\n\n### Resources\n\nDeep dive into implementation details and access the Nimbus design library.\n\n[Figma library](https://www.figma.com/design/gHbAJGfcrCv7f2bgzUQgHq/NIMBUS-Guidelines?node-id=1793-8790&m=dev)\n",
72
+ "views": {
73
+ "overview": {
74
+ "mdx": "\n## Overview\n\nThis versatile container component often integrates text, images, and actions.\nInteraction methods differ: some are clickable, others use buttons and links,\nand some are purely informational, grouping content without direct interaction.\n\n### Resources\n\nDeep dive into implementation details and access the Nimbus design library.\n\n[Figma library](https://www.figma.com/design/gHbAJGfcrCv7f2bgzUQgHq/NIMBUS-Guidelines?node-id=1793-8790&m=dev)\n",
75
+ "toc": [
76
+ {
77
+ "value": "Overview",
78
+ "href": "#overview",
79
+ "depth": 2,
80
+ "numbering": [
81
+ 1,
82
+ 1
83
+ ],
84
+ "parent": "root"
85
+ },
86
+ {
87
+ "value": "Resources",
88
+ "href": "#resources",
89
+ "depth": 3,
90
+ "numbering": [
91
+ 1,
92
+ 1,
93
+ 1
94
+ ],
95
+ "parent": "root"
96
+ }
97
+ ]
98
+ },
99
+ "a11y": {
100
+ "mdx": "\n## Accessibility\n\nAccessibility ensures that digital content and functionality are usable by\neveryone, including people with disabilities, by addressing visual, auditory,\ncognitive, and physical limitations.\n\n```jsx live\nconst App = () => (\n <Card.Root cardPadding=\"md\" borderStyle=\"outlined\" elevation=\"elevated\">\n <Box backgroundColor=\"#FDE3E3\" width=\"5600\" height=\"500\"></Box>\n </Card.Root>\n)\n```\n\n### Accessibility standards\n\n- **Non-text content:** Provide descriptive alternative text (`alt` attribute)\n for images within cards.\n- **Info and relationships:** Use semantic HTML to structure the card content\n logically (e.g., headings, lists).\n- **Color contrast:** Ensure sufficient color contrast between text and\n background within the card.\n- **Keyboard accessibility:** Ensure the entire card or its primary interactive\n elements are focusable and operable using only a keyboard.\n- **Focus visible:** Provide a clear visual focus indicator when the card or its\n interactive elements are focused.\n- **Target size:** If the card is interactive, ensure touch target sizes are\n adequate.\n- **Meaningful sequence:** Ensure the content within the card is presented in a\n logical order.\n- **Labels or instructions:** Provide clear labels or instructions for form\n elements within cards.\n- **Semantic HTML:** Use semantic HTML to ensure compatibility with assistive\n technologies.\n- **Avoid complex interactive cards:** Avoid making the entire card a single\n interactive element if it contains multiple distinct actions, to ensure proper\n interaction for assistive technology users.\n",
101
+ "toc": [
102
+ {
103
+ "value": "Accessibility",
104
+ "href": "#accessibility",
105
+ "depth": 2,
106
+ "numbering": [
107
+ 1,
108
+ 1
109
+ ],
110
+ "parent": "root"
111
+ },
112
+ {
113
+ "value": "Accessibility standards",
114
+ "href": "#accessibility-standards",
115
+ "depth": 3,
116
+ "numbering": [
117
+ 1,
118
+ 1,
119
+ 1
120
+ ],
121
+ "parent": "root"
122
+ }
123
+ ]
124
+ },
125
+ "dev": {
126
+ "mdx": "\n## Getting started\n\n### Import\n\n```tsx\nimport { Box, Card, Link, type CardProps } from '@commercetools/nimbus';\n```\n\n### Basic usage\n\nThe Card component uses a compound pattern to structure content. You must wrap `Card.Header` and `Card.Content` within `Card.Root`.\n\n```jsx live-dev\nconst App = () => (\n <Card.Root>\n <Card.Header>Card Title</Card.Header>\n <Card.Content>\n <Text>This is the main card content.</Text>\n </Card.Content>\n </Card.Root>\n)\n```\n\n## Usage examples\n\n### Size options\n\nThe `cardPadding` prop controls the internal spacing of the card. Available sizes are `sm`, `md`, and `lg`.\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"400\">\n <Card.Root cardPadding=\"sm\">\n <Card.Header>Small Padding</Card.Header>\n <Card.Content>Compact content spacing.</Card.Content>\n </Card.Root>\n\n <Card.Root cardPadding=\"md\">\n <Card.Header>Medium Padding</Card.Header>\n <Card.Content>Standard content spacing (default).</Card.Content>\n </Card.Root>\n\n <Card.Root cardPadding=\"lg\">\n <Card.Header>Large Padding</Card.Header>\n <Card.Content>Spacious content layout.</Card.Content>\n </Card.Root>\n </Stack>\n)\n```\n\n### Visual variants\n\nCustomize the card's appearance using `borderStyle`, `elevation`, and `backgroundStyle`.\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"400\">\n <Card.Root borderStyle=\"outlined\" elevation=\"none\">\n <Card.Header>Outlined (Default)</Card.Header>\n <Card.Content>Standard bordered look.</Card.Content>\n </Card.Root>\n\n <Card.Root borderStyle=\"none\" elevation=\"elevated\">\n <Card.Header>Elevated</Card.Header>\n <Card.Content>Shadow depth without border.</Card.Content>\n </Card.Root>\n\n <Card.Root backgroundStyle=\"muted\" borderStyle=\"none\">\n <Card.Header>Muted Background</Card.Header>\n <Card.Content>Subtle background color for differentiation.</Card.Content>\n </Card.Root>\n </Stack>\n)\n```\n\n### Interactive cards\n\nWhen making a card interactive, avoid placing `onClick` directly on the `Card.Root`. Instead, wrap the card in an anchor tag or use proper ARIA roles to ensure accessibility.\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"400\">\n {/* Option 1: Wrapped in a Nimbus Link (Recommended for navigation) */}\n <Link \n href=\"#\" \n textDecoration=\"none\" \n color=\"inherit\" \n display=\"block\"\n _hover={{ textDecoration: 'none' }}\n aria-label=\"Navigate to details\"\n >\n <Card.Root borderStyle=\"outlined\" elevation=\"elevated\">\n <Card.Header>Navigational Card</Card.Header>\n <Card.Content>\n This entire card acts as a link using the system Link component.\n </Card.Content>\n </Card.Root>\n </Link>\n\n {/* Option 2: Interactive element with ARIA (For actions) */}\n <Box\n role=\"button\"\n tabIndex={0}\n onClick={() => alert(\"Card clicked\")}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n alert(\"Card clicked\");\n }\n }}\n cursor=\"pointer\"\n aria-label=\"Trigger action\"\n >\n <Card.Root borderStyle=\"outlined\">\n <Card.Header>Action Card</Card.Header>\n <Card.Content>\n Behaves like a button with keyboard support (Tab, Enter, Space).\n </Card.Content>\n </Card.Root>\n </Box>\n </Stack>\n)\n```\n\n## Component requirements\n\n## Accessibility\n\nThe `Card` component handles most accessibility requirements internally, rendering semantic `div` elements by default. It acts as a generic container.\n\n- **Headings**: Ensure the content within `Card.Header` follows your page's heading hierarchy (e.g., use `Heading` component or `h3`, `h4` tags).\n- **Interactive Cards**: If a card is interactive (clickable), do not attach `onClick` directly to the card div if possible. Instead, wrap the card in a link or button, or ensure proper ARIA roles (`role=\"button\"`) and keyboard handling (`tabIndex={0}`, Enter/Space key listeners) are implemented.\n\nIf your use case requires tracking and analytics for this component, it is good practice to add a **persistent**, **unique** id to the component:\n\n```tsx\nconst PERSISTENT_ID = \"project-summary-card\";\n\nexport const Example = () => (\n <Card.Root id={PERSISTENT_ID}>\n <Card.Header>Summary</Card.Header>\n <Card.Content>...</Card.Content>\n </Card.Root>\n);\n```\n\n#### Keyboard navigation\n\nStandard Cards are not focusable. Interactive content inside the card (buttons, links) follows the default focus order.\n\n## API reference\n\n<PropsTable id=\"Card\" />\n\n## Testing your implementation\n\nThese examples demonstrate how to test your implementation when using Card within your application. As the component's internal functionality is already tested by Nimbus, these patterns help you verify your integration and application-specific logic.\n\n### Basic Rendering Tests\n\nVerify the card displays the correct title and content\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Card, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Card - Basic rendering\", () => {\n it(\"renders project details\", () => {\n render(\n <NimbusProvider>\n <Card.Root>\n <Card.Header>Project X</Card.Header>\n <Card.Content>Status: Active</Card.Content>\n </Card.Root>\n </NimbusProvider>\n );\n\n expect(screen.getByText(\"Project X\")).toBeInTheDocument();\n expect(screen.getByText(\"Status: Active\")).toBeInTheDocument();\n });\n\n it(\"renders with header only\", () => {\n render(\n <NimbusProvider>\n <Card.Root>\n <Card.Header>Card Title</Card.Header>\n </Card.Root>\n </NimbusProvider>\n );\n\n expect(screen.getByText(\"Card Title\")).toBeInTheDocument();\n });\n\n it(\"renders with content only\", () => {\n render(\n <NimbusProvider>\n <Card.Root>\n <Card.Content>This is the main content.</Card.Content>\n </Card.Root>\n </NimbusProvider>\n );\n\n expect(screen.getByText(\"This is the main content.\")).toBeInTheDocument();\n });\n});\n```\n\n\n## Resources\n\n- [Storybook](https://nimbus-storybook.vercel.app/?path=/docs/components-card--docs)\n\n",
127
+ "toc": [
128
+ {
129
+ "value": "Getting started",
130
+ "href": "#getting-started",
131
+ "depth": 2,
132
+ "numbering": [
133
+ 1,
134
+ 1
135
+ ],
136
+ "parent": "root"
137
+ },
138
+ {
139
+ "value": "Import",
140
+ "href": "#import",
141
+ "depth": 3,
142
+ "numbering": [
143
+ 1,
144
+ 1,
145
+ 1
146
+ ],
147
+ "parent": "root"
148
+ },
149
+ {
150
+ "value": "Basic usage",
151
+ "href": "#basic-usage",
152
+ "depth": 3,
153
+ "numbering": [
154
+ 1,
155
+ 1,
156
+ 2
157
+ ],
158
+ "parent": "root"
159
+ },
160
+ {
161
+ "value": "Usage examples",
162
+ "href": "#usage-examples",
163
+ "depth": 2,
164
+ "numbering": [
165
+ 1,
166
+ 2
167
+ ],
168
+ "parent": "root"
169
+ },
170
+ {
171
+ "value": "Size options",
172
+ "href": "#size-options",
173
+ "depth": 3,
174
+ "numbering": [
175
+ 1,
176
+ 2,
177
+ 1
178
+ ],
179
+ "parent": "root"
180
+ },
181
+ {
182
+ "value": "Visual variants",
183
+ "href": "#visual-variants",
184
+ "depth": 3,
185
+ "numbering": [
186
+ 1,
187
+ 2,
188
+ 2
189
+ ],
190
+ "parent": "root"
191
+ },
192
+ {
193
+ "value": "Interactive cards",
194
+ "href": "#interactive-cards",
195
+ "depth": 3,
196
+ "numbering": [
197
+ 1,
198
+ 2,
199
+ 3
200
+ ],
201
+ "parent": "root"
202
+ },
203
+ {
204
+ "value": "Component requirements",
205
+ "href": "#component-requirements",
206
+ "depth": 2,
207
+ "numbering": [
208
+ 1,
209
+ 3
210
+ ],
211
+ "parent": "root"
212
+ },
213
+ {
214
+ "value": "Accessibility",
215
+ "href": "#accessibility",
216
+ "depth": 2,
217
+ "numbering": [
218
+ 1,
219
+ 4
220
+ ],
221
+ "parent": "root"
222
+ },
223
+ {
224
+ "value": "Keyboard navigation",
225
+ "href": "#keyboard-navigation",
226
+ "depth": 4,
227
+ "numbering": [
228
+ 1,
229
+ 4,
230
+ 1,
231
+ 1
232
+ ],
233
+ "parent": "root"
234
+ },
235
+ {
236
+ "value": "API reference",
237
+ "href": "#api-reference",
238
+ "depth": 2,
239
+ "numbering": [
240
+ 1,
241
+ 5
242
+ ],
243
+ "parent": "root"
244
+ },
245
+ {
246
+ "value": "Testing your implementation",
247
+ "href": "#testing-your-implementation",
248
+ "depth": 2,
249
+ "numbering": [
250
+ 1,
251
+ 6
252
+ ],
253
+ "parent": "root"
254
+ },
255
+ {
256
+ "value": "Basic Rendering Tests",
257
+ "href": "#basic-rendering-tests",
258
+ "depth": 3,
259
+ "numbering": [
260
+ 1,
261
+ 6,
262
+ 1
263
+ ],
264
+ "parent": "root"
265
+ },
266
+ {
267
+ "value": "Resources",
268
+ "href": "#resources",
269
+ "depth": 2,
270
+ "numbering": [
271
+ 1,
272
+ 7
273
+ ],
274
+ "parent": "root"
275
+ }
276
+ ]
277
+ },
278
+ "guidelines": {
279
+ "mdx": "\n## Guidelines\n\nCard component guidelines focus on providing a clear, concise, and visually\ndistinct container for related content, ensuring scannability, clear actions,\nand adaptability across various layouts and screen sizes.\n\n### Best practices\n\n- **Clear purpose:** Each card should represent a single, distinct piece of\n content or concept. Avoid combining multiple unrelated ideas into one card.\n- **Concise content:** Keep the information within a card brief and scannable.\n Use clear headings, short descriptions, and only essential details.\n- **Visual hierarchy:** Establish a clear visual hierarchy to guide the user's\n eye. Use appropriate typography, spacing, and visual cues to prioritize\n important information.\n- **Actionable elements:** If the card requires user interaction, clearly\n present the primary action(s) with prominent buttons or links. Limit the\n number of actions to avoid overwhelming the user.\n- **Consistent styling:** Maintain consistent styling for cards. This includes\n borders, shadows, typography, and spacing.\n- **Responsive design:** Ensure cards adapt well to different screen sizes and\n orientations. Consider how the layout will change on mobile devices.\n\n### Usage\n\nThe strength of using cards in a UI lies in their ability to present information\nin concise, digestible chunks, making it easy for users to quickly scan,\nunderstand, and interact with related content, especially in responsive layouts.\n\n> [!TIP]\\\n> When to use\n\n- **Displaying a collection of related items:** When you have multiple, distinct\n items that share a similar structure or theme (e.g., product listings,\n documentation, user profiles).\n- **Presenting scannable summaries:** When you need to provide a quick overview\n of information, allowing users to grasp the key details at a glance.\n- **Highlighting key information:** When you want to draw attention to important\n pieces of content or features.\n- **Facilitating task completion:** When a card can contain actions that allow\n users to quickly interact with or manage the displayed information.\n- **Creating a visually organized layout:** When you need to break down complex\n information into digestible chunks and create a structured, modular design.\n- **Responsive design:** When you need a component that adapts well to various\n screen sizes and can be easily rearranged on different devices.\n- **Content discovery:** When you want to encourage users to explore different\n pieces of content.\n\n> [!CAUTION]\\\n> When not to use\n\n- **Presenting linear processes:** When users need to follow a specific,\n sequential flow (e.g., a step-by-step form or a tutorial). Other patterns like\n steppers are more appropriate.\n- **Displaying single, detailed items:** When you need to present a lot of\n in-depth information about one specific item. A dedicated page is usually\n better.\n- **Primary navigation:** Using cards for main site navigation can be\n overwhelming and make it difficult for users to understand the site's\n structure.\n- **Simple lists:** For basic lists of items with minimal information, a simple\n list or table might be more efficient and less visually heavy.\n- **When content is highly interrelated and needs comparison:** If users need to\n compare specific attributes across multiple items, a table might be a better\n choice.\n- **Overcrowding the UI with too many cards:** Using too many cards on a page\n can lead to visual clutter and make it hard for users to focus on what's\n important.\n- **Forcing content into a card structure:** If the content doesn't naturally\n fit into a card format, trying to force it can lead to awkward design and a\n poor user experience.\n\n### Content\n\nContent within cards should be concise and focused, prioritizing key information\nand clear actions to ensure scannability and quick user comprehension. Consider\nthe card's purpose and limit content to only the most relevant details, using\nclear headings and short descriptions.\n\n> [!TIP]\\\n> **Do**\n>\n> - Cards are best for presenting self-contained pieces of information.\n> - Design cards with clear headings, concise text, and a logical visual\n> hierarchy for easy scanning.\n\n```jsx live\nconst App = () => (\n <Card.Root cardPadding=\"md\" borderStyle=\"outlined\" width=\"8000\">\n <Card.Content>\n <Stack gap=\"400\">\n <img src=\"/images/card/card-discount-template.png\" alt=\"discount template illustration\" />\n <Text fontWeight=\"bold\">\n Discount templates\n </Text>\n <Text>\n Templates allow you to get started quickly and easily by displaying only\n what is needed for creating your discount.\n </Text>\n <Select.Root aria-label=\"Select template\" placeholder=\"Select...\">\n <Select.Options>{/* Options would go here */}</Select.Options>\n </Select.Root>\n <Box>\n <Button colorPalette=\"primary\" variant=\"solid\">\n Select template\n </Button>\n </Box>\n </Stack>\n </Card.Content>\n </Card.Root>\n);\n```\n\n> [!CAUTION]\\\n> **Don't**\n>\n> - Avoid cramming too much information into a single card. Each card should\n> focus on a single subject.\n> - Long, scrolling cards can be cumbersome; prioritize key information.\n> - Don't use a card to compare information.\n\n```jsx live\nconst App = () => (\n <Card.Root cardPadding=\"md\" borderStyle=\"outlined\" width=\"1\">\n <Card.Content>\n <Stack direction=\"horizontal\" gap=\"400\">\n <Stack gap=\"400\" width=\"1/2\">\n <img src=\"/images/card/card-discount-template.png\" alt=\"discount template illustration\" />\n <Text fontWeight=\"bold\">\n Discount templates\n </Text>\n <Text>\n Templates allow you to get started quickly and easily by displaying\n only what is needed for creating your discount.\n </Text>\n <Select.Root aria-label=\"Select template\" placeholder=\"Select...\">\n <Select.Options>{/* Options would go here */}</Select.Options>\n </Select.Root>\n <Box>\n <Button colorPalette=\"primary\" variant=\"solid\">\n Select template\n </Button>\n </Box>\n </Stack>\n <Stack gap=\"400\" width=\"1/2\">\n <img src=\"/images/card/card-product-discount.png\" alt=\"product discount illustration\" />\n <Text fontWeight=\"bold\">\n Product discount\n </Text>\n <Text>\n A product discount applies a percentage-off (relative) or amount-ff\n (absolute) discount to a specific product or subset of products\n before adding them to the cart. They are useful for displaying\n discounted or sale prices on a product info page\n </Text>\n <Box>\n <Button colorPalette=\"primary\" variant=\"solid\">\n Add product discount\n </Button>\n </Box>\n </Stack>\n </Stack>\n </Card.Content>\n </Card.Root>\n);\n```\n\n### Actions\n\nActions within a card should be limited and focused, prioritizing the primary\naction related to the card's content to avoid overwhelming the user. Ensure\nactions are clearly labeled and visually prominent to facilitate quick\ninteraction.\n\n> [!TIP]\\\n> **Do**\n>\n> - If interaction is needed, provide obvious and limited actions.\n> - Users often assume cards are clickable, especially when they contain visual\n> cues that suggest interactivity, like buttons, links, or hover effects.\n> However, this assumption isn't universal and can vary depending on the\n> context and user experience.\n\n```jsx live\nconst App = () => (\n <Card.Root cardPadding=\"md\" borderStyle=\"outlined\" width=\"384px\">\n <Card.Content>\n <Stack direction=\"horizontal\" gap=\"400\">\n <Box\n color=\"primary.11\"\n boxSize=\"1000\"\n borderRadius=\"50%\"\n bg=\"primary.3\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flexShrink=\"0\"\n >\n <Icons.ViewInAr width=\"24px\" height=\"24px\" />\n </Box>\n <Stack gap=\"100\">\n <Text fontWeight=\"bold\">\n Learn more about products\n </Text>\n <Text color=\"neutral.11\">\n Discover what a product list is and how to manage it.\n </Text>\n </Stack>\n </Stack>\n </Card.Content>\n </Card.Root>\n);\n```\n\n> [!CAUTION]\\\n> **Don't**\n>\n> - Don't use too many actions for the user within cards.\n> - Cards are generally not suitable for primary site navigation.\n\n```jsx live\nconst App = () => (\n <Stack gap=\"400\" alignItems=\"start\">\n {/* Main Card */}\n <Card.Root cardPadding=\"md\" borderStyle=\"outlined\" width=\"423px\">\n <Card.Content>\n <Stack direction=\"horizontal\" gap=\"400\">\n <Box\n alignSelf=\"flex-start\"\n color=\"primary.11\"\n boxSize=\"1000\"\n borderRadius=\"50%\"\n bg=\"primary.3\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flexShrink=\"0\"\n >\n <Icons.ViewInAr width=\"24px\" height=\"24px\" />\n </Box>\n <Stack direction=\"horizontal\" gap=\"400\" alignItems=\"center\">\n <Stack gap=\"200\">\n <Flex gap=\"100\" alignItems=\"center\">\n <Text fontWeight=\"bold\" color=\"primary.11\">\n See your products\n </Text>\n <Box color=\"primary.11\" boxSize=\"600\">\n <Icons.ArrowForward width=\"full\" height=\"full\" />\n </Box>\n </Flex>\n <Text color=\"neutral.11\">\n You have modified products that are waiting to be published\n </Text>\n {/* Buttons */}\n <Stack gap=\"200\">\n <Button\n colorPalette=\"primary\"\n variant=\"solid\"\n alignSelf=\"start\"\n >\n Publish Products\n </Button>\n <Stack direction=\"horizontal\" gap=\"300\">\n <Button colorPalette=\"primary\" variant=\"link\" size=\"sm\">\n Review\n </Button>\n <Button colorPalette=\"primary\" variant=\"link\" size=\"sm\">\n Reject\n </Button>\n <Button colorPalette=\"primary\" variant=\"link\" size=\"sm\">\n See drafts\n </Button>\n </Stack>\n </Stack>\n </Stack>\n </Stack>\n </Stack>\n </Card.Content>\n </Card.Root>\n\n {/* Bottom Row Cards */}\n <Stack direction=\"horizontal\" gap=\"400\">\n {/* Products Card */}\n <Card.Root\n cardPadding=\"md\"\n borderStyle=\"outlined\"\n width=\"201.5px\"\n > {/* Half width approx */}\n <Card.Content>\n <Stack direction=\"horizontal\" gap=\"300\" alignItems=\"center\">\n <Box\n alignSelf=\"flex-start\"\n color=\"primary.11\"\n boxSize=\"1000\"\n borderRadius=\"50%\"\n bg=\"primary.3\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flexShrink=\"0\"\n >\n <Icons.ViewInAr width=\"24px\" height=\"24px\" />\n </Box>\n <Text textStyle=\"bodyStrong\" fontWeight=\"bold\" color=\"primary.11\">\n Products\n </Text>\n </Stack>\n </Card.Content>\n </Card.Root>\n\n {/* Discounts Card */}\n <Card.Root\n cardPadding=\"md\"\n borderStyle=\"outlined\"\n width=\"201.5px\"\n > {/* Half width approx */}\n <Card.Content>\n <Stack direction=\"horizontal\" gap=\"300\" alignItems=\"center\">\n <Box\n alignSelf=\"flex-start\"\n color=\"primary.11\"\n boxSize=\"1000\"\n borderRadius=\"50%\"\n bg=\"primary.3\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flexShrink=\"0\"\n >\n <Icons.Discount width=\"24px\" height=\"24px\" />\n </Box>\n <Text textStyle=\"bodyStrong\" fontWeight=\"bold\" color=\"primary.11\">\n Discounts\n </Text>\n </Stack>\n </Card.Content>\n </Card.Root>\n </Stack>\n </Stack>\n);\n```\n",
280
+ "toc": [
281
+ {
282
+ "value": "Guidelines",
283
+ "href": "#guidelines",
284
+ "depth": 2,
285
+ "numbering": [
286
+ 1,
287
+ 1
288
+ ],
289
+ "parent": "root"
290
+ },
291
+ {
292
+ "value": "Best practices",
293
+ "href": "#best-practices",
294
+ "depth": 3,
295
+ "numbering": [
296
+ 1,
297
+ 1,
298
+ 1
299
+ ],
300
+ "parent": "root"
301
+ },
302
+ {
303
+ "value": "Usage",
304
+ "href": "#usage",
305
+ "depth": 3,
306
+ "numbering": [
307
+ 1,
308
+ 1,
309
+ 2
310
+ ],
311
+ "parent": "root"
312
+ },
313
+ {
314
+ "value": "Content",
315
+ "href": "#content",
316
+ "depth": 3,
317
+ "numbering": [
318
+ 1,
319
+ 1,
320
+ 3
321
+ ],
322
+ "parent": "root"
323
+ },
324
+ {
325
+ "value": "Actions",
326
+ "href": "#actions",
327
+ "depth": 3,
328
+ "numbering": [
329
+ 1,
330
+ 1,
331
+ 4
332
+ ],
333
+ "parent": "root"
334
+ }
335
+ ]
336
+ }
337
+ }
338
+ }