@commercetools/nimbus-mcp 0.1.0 → 2.11.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 (453) hide show
  1. package/README.md +63 -14
  2. package/data/docs/route-manifest.json +10998 -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-scrollarea.json +428 -0
  59. package/data/docs/routes/components-layout-separator.json +461 -0
  60. package/data/docs/routes/components-layout-simple-grid.json +519 -0
  61. package/data/docs/routes/components-layout-spacer.json +573 -0
  62. package/data/docs/routes/components-layout-stack.json +481 -0
  63. package/data/docs/routes/components-layout.json +34 -0
  64. package/data/docs/routes/components-media-avatar.json +427 -0
  65. package/data/docs/routes/components-media-icon.json +663 -0
  66. package/data/docs/routes/components-media-image.json +511 -0
  67. package/data/docs/routes/components-media-inline-svg.json +586 -0
  68. package/data/docs/routes/components-media.json +34 -0
  69. package/data/docs/routes/components-navigation-accordion.json +643 -0
  70. package/data/docs/routes/components-navigation-collapsible-motion.json +628 -0
  71. package/data/docs/routes/components-navigation-link.json +554 -0
  72. package/data/docs/routes/components-navigation-menu.json +546 -0
  73. package/data/docs/routes/components-navigation-pagination.json +502 -0
  74. package/data/docs/routes/components-navigation-steps.json +629 -0
  75. package/data/docs/routes/components-navigation-tabnav.json +546 -0
  76. package/data/docs/routes/components-navigation-tabs.json +635 -0
  77. package/data/docs/routes/components-navigation-toolbar.json +549 -0
  78. package/data/docs/routes/components-navigation.json +34 -0
  79. package/data/docs/routes/components-typography-code.json +39 -0
  80. package/data/docs/routes/components-typography-heading.json +402 -0
  81. package/data/docs/routes/components-typography-kbd.json +399 -0
  82. package/data/docs/routes/components-typography-list.json +593 -0
  83. package/data/docs/routes/components-typography-text.json +444 -0
  84. package/data/docs/routes/components-typography.json +34 -0
  85. package/data/docs/routes/components-utilities-nimbus-i18n-provider.json +295 -0
  86. package/data/docs/routes/components-utilities-nimbus-provider.json +663 -0
  87. package/data/docs/routes/components-utilities.json +34 -0
  88. package/data/docs/routes/components.json +33 -0
  89. package/data/docs/routes/home-contribute-adrs-adr0001-consumer-component-apis.json +314 -0
  90. package/data/docs/routes/home-contribute-adrs-adr0002-compound-component-extraction.json +160 -0
  91. package/data/docs/routes/home-contribute-adrs-adr0003-component-lifecycle-states.json +460 -0
  92. package/data/docs/routes/home-contribute-adrs.json +205 -0
  93. package/data/docs/routes/home-contribute-development-setup.json +213 -0
  94. package/data/docs/routes/home-contribute-stats.json +36 -0
  95. package/data/docs/routes/home-contribute.json +36 -0
  96. package/data/docs/routes/home-design-tokens-aspect-ratios.json +36 -0
  97. package/data/docs/routes/home-design-tokens-borders.json +35 -0
  98. package/data/docs/routes/home-design-tokens-colors.json +157 -0
  99. package/data/docs/routes/home-design-tokens-other-animations.json +119 -0
  100. package/data/docs/routes/home-design-tokens-other-blurs.json +36 -0
  101. package/data/docs/routes/home-design-tokens-other-breakpoints.json +61 -0
  102. package/data/docs/routes/home-design-tokens-other-cursors.json +36 -0
  103. package/data/docs/routes/home-design-tokens-other-z-indices.json +39 -0
  104. package/data/docs/routes/home-design-tokens-other.json +35 -0
  105. package/data/docs/routes/home-design-tokens-radii.json +59 -0
  106. package/data/docs/routes/home-design-tokens-shadows.json +57 -0
  107. package/data/docs/routes/home-design-tokens-sizes.json +137 -0
  108. package/data/docs/routes/home-design-tokens-spacing.json +36 -0
  109. package/data/docs/routes/home-design-tokens-typography.json +184 -0
  110. package/data/docs/routes/home-design-tokens.json +34 -0
  111. package/data/docs/routes/home-getting-started-core-concepts.json +301 -0
  112. package/data/docs/routes/home-getting-started-installation.json +621 -0
  113. package/data/docs/routes/home-getting-started-mcp-server-overview.json +139 -0
  114. package/data/docs/routes/home-getting-started-mcp-server-setup.json +316 -0
  115. package/data/docs/routes/home-getting-started-release-process.json +294 -0
  116. package/data/docs/routes/home-getting-started-testing-setup.json +296 -0
  117. package/data/docs/routes/home-playground-markdown.json +638 -0
  118. package/data/docs/routes/home-playground-toc.json +169 -0
  119. package/data/docs/routes/home-playground.json +34 -0
  120. package/data/docs/routes/home-style-props-background.json +236 -0
  121. package/data/docs/routes/home-style-props-border.json +310 -0
  122. package/data/docs/routes/home-style-props-display.json +120 -0
  123. package/data/docs/routes/home-style-props-effects.json +116 -0
  124. package/data/docs/routes/home-style-props-filters.json +396 -0
  125. package/data/docs/routes/home-style-props-flex-and-grid.json +496 -0
  126. package/data/docs/routes/home-style-props-interactivity.json +356 -0
  127. package/data/docs/routes/home-style-props-layout.json +422 -0
  128. package/data/docs/routes/home-style-props-list.json +116 -0
  129. package/data/docs/routes/home-style-props-sizing.json +244 -0
  130. package/data/docs/routes/home-style-props-spacing.json +228 -0
  131. package/data/docs/routes/home-style-props-svg.json +96 -0
  132. package/data/docs/routes/home-style-props-tables.json +116 -0
  133. package/data/docs/routes/home-style-props-transforms.json +216 -0
  134. package/data/docs/routes/home-style-props-transitions.json +216 -0
  135. package/data/docs/routes/home-style-props-typography.json +536 -0
  136. package/data/docs/routes/home-style-props.json +33 -0
  137. package/data/docs/routes/home.json +32 -0
  138. package/data/docs/routes/hooks-usecopytoclipboard.json +76 -0
  139. package/data/docs/routes/hooks-usehotkeys.json +117 -0
  140. package/data/docs/routes/hooks.json +33 -0
  141. package/data/docs/routes/icons.json +32 -0
  142. package/data/docs/routes/patterns-fields-date-range-picker-field.json +393 -0
  143. package/data/docs/routes/patterns-fields-money-input-field.json +415 -0
  144. package/data/docs/routes/patterns-fields-multiline-text-input-field.json +404 -0
  145. package/data/docs/routes/patterns-fields-number-input-field.json +470 -0
  146. package/data/docs/routes/patterns-fields-password-input-field.json +319 -0
  147. package/data/docs/routes/patterns-fields-search-input-field.json +382 -0
  148. package/data/docs/routes/patterns-fields-text-input-field.json +404 -0
  149. package/data/docs/routes/patterns-fields.json +78 -0
  150. package/data/docs/routes/patterns.json +34 -0
  151. package/data/docs/search-index.json +1 -0
  152. package/data/docs/types/Accordion.json +12 -0
  153. package/data/docs/types/AccordionContent.json +286 -0
  154. package/data/docs/types/AccordionHeader.json +891 -0
  155. package/data/docs/types/AccordionHeaderRightContent.json +27 -0
  156. package/data/docs/types/AccordionItem.json +242 -0
  157. package/data/docs/types/AccordionRoot.json +162 -0
  158. package/data/docs/types/Alert.json +12 -0
  159. package/data/docs/types/AlertActions.json +11 -0
  160. package/data/docs/types/AlertDescription.json +118 -0
  161. package/data/docs/types/AlertDismissButton.json +937 -0
  162. package/data/docs/types/AlertRoot.json +42 -0
  163. package/data/docs/types/AlertTitle.json +118 -0
  164. package/data/docs/types/Avatar.json +125 -0
  165. package/data/docs/types/Badge.json +64 -0
  166. package/data/docs/types/Body.json +67 -0
  167. package/data/docs/types/Box.json +85 -0
  168. package/data/docs/types/Button.json +1015 -0
  169. package/data/docs/types/Calendar.json +565 -0
  170. package/data/docs/types/Caption.json +67 -0
  171. package/data/docs/types/Card.json +12 -0
  172. package/data/docs/types/CardContent.json +27 -0
  173. package/data/docs/types/CardHeader.json +27 -0
  174. package/data/docs/types/CardRoot.json +106 -0
  175. package/data/docs/types/Cell.json +227 -0
  176. package/data/docs/types/Checkbox.json +897 -0
  177. package/data/docs/types/Code.json +112 -0
  178. package/data/docs/types/CollapsibleMotionContent.json +35 -0
  179. package/data/docs/types/CollapsibleMotionRoot.json +99 -0
  180. package/data/docs/types/CollapsibleMotionTrigger.json +71 -0
  181. package/data/docs/types/Column.json +101 -0
  182. package/data/docs/types/ColumnGroup.json +101 -0
  183. package/data/docs/types/ColumnHeader.json +193 -0
  184. package/data/docs/types/ComboBoxListBox.json +751 -0
  185. package/data/docs/types/ComboBoxOption.json +672 -0
  186. package/data/docs/types/ComboBoxPopover.json +786 -0
  187. package/data/docs/types/ComboBoxRoot.json +747 -0
  188. package/data/docs/types/ComboBoxSection.json +277 -0
  189. package/data/docs/types/ComboBoxTrigger.json +70 -0
  190. package/data/docs/types/Content.json +33 -0
  191. package/data/docs/types/DataTable.json +596 -0
  192. package/data/docs/types/DataTableBody.json +223 -0
  193. package/data/docs/types/DataTableFooter.json +27 -0
  194. package/data/docs/types/DataTableHeader.json +269 -0
  195. package/data/docs/types/DataTableManager.json +11 -0
  196. package/data/docs/types/DataTableRoot.json +590 -0
  197. package/data/docs/types/DataTableTable.json +271 -0
  198. package/data/docs/types/DateInput.json +792 -0
  199. package/data/docs/types/DatePicker.json +700 -0
  200. package/data/docs/types/DateRangePicker.json +936 -0
  201. package/data/docs/types/DateRangePickerField.json +1047 -0
  202. package/data/docs/types/DefaultPage.json +12 -0
  203. package/data/docs/types/DefaultPageActions.json +27 -0
  204. package/data/docs/types/DefaultPageBackLink.json +213 -0
  205. package/data/docs/types/DefaultPageContent.json +27 -0
  206. package/data/docs/types/DefaultPageFooter.json +27 -0
  207. package/data/docs/types/DefaultPageHeader.json +27 -0
  208. package/data/docs/types/DefaultPageRoot.json +106 -0
  209. package/data/docs/types/DefaultPageSubtitle.json +27 -0
  210. package/data/docs/types/DefaultPageTabNav.json +28 -0
  211. package/data/docs/types/DefaultPageTitle.json +27 -0
  212. package/data/docs/types/DialogBody.json +27 -0
  213. package/data/docs/types/DialogCloseTrigger.json +939 -0
  214. package/data/docs/types/DialogContent.json +27 -0
  215. package/data/docs/types/DialogFooter.json +27 -0
  216. package/data/docs/types/DialogHeader.json +27 -0
  217. package/data/docs/types/DialogRoot.json +138 -0
  218. package/data/docs/types/DialogTitle.json +27 -0
  219. package/data/docs/types/DialogTrigger.json +80 -0
  220. package/data/docs/types/DraggableList.json +12 -0
  221. package/data/docs/types/DraggableListField.json +894 -0
  222. package/data/docs/types/DraggableListItem.json +574 -0
  223. package/data/docs/types/DraggableListRoot.json +745 -0
  224. package/data/docs/types/Drawer.json +12 -0
  225. package/data/docs/types/DrawerBody.json +27 -0
  226. package/data/docs/types/DrawerCloseTrigger.json +939 -0
  227. package/data/docs/types/DrawerContent.json +27 -0
  228. package/data/docs/types/DrawerFooter.json +27 -0
  229. package/data/docs/types/DrawerHeader.json +27 -0
  230. package/data/docs/types/DrawerRoot.json +142 -0
  231. package/data/docs/types/DrawerTitle.json +27 -0
  232. package/data/docs/types/DrawerTrigger.json +80 -0
  233. package/data/docs/types/FieldErrors.getBuiltInMessage.json +11 -0
  234. package/data/docs/types/FieldErrors.getCustomMessage.json +9 -0
  235. package/data/docs/types/FieldErrors.json +109 -0
  236. package/data/docs/types/Flex.json +238 -0
  237. package/data/docs/types/Footer.json +67 -0
  238. package/data/docs/types/FormFieldDescription.json +11 -0
  239. package/data/docs/types/FormFieldError.json +11 -0
  240. package/data/docs/types/FormFieldInfoBox.json +27 -0
  241. package/data/docs/types/FormFieldInput.json +11 -0
  242. package/data/docs/types/FormFieldLabel.json +11 -0
  243. package/data/docs/types/FormFieldRoot.json +148 -0
  244. package/data/docs/types/Grid.json +253 -0
  245. package/data/docs/types/GridProps.json +11 -0
  246. package/data/docs/types/Group.json +143 -0
  247. package/data/docs/types/Header.json +67 -0
  248. package/data/docs/types/Heading.json +109 -0
  249. package/data/docs/types/Icon.json +112 -0
  250. package/data/docs/types/IconButton.json +1019 -0
  251. package/data/docs/types/IconToggleButton.json +787 -0
  252. package/data/docs/types/Image.json +373 -0
  253. package/data/docs/types/Indicator.json +67 -0
  254. package/data/docs/types/InlineSvg.json +98 -0
  255. package/data/docs/types/Item.json +67 -0
  256. package/data/docs/types/Kbd.json +118 -0
  257. package/data/docs/types/Link.json +380 -0
  258. package/data/docs/types/List.json +12 -0
  259. package/data/docs/types/ListIndicator.json +70 -0
  260. package/data/docs/types/ListItem.json +70 -0
  261. package/data/docs/types/ListRoot.json +124 -0
  262. package/data/docs/types/LoadingSpinner.json +87 -0
  263. package/data/docs/types/LocalizedField.json +460 -0
  264. package/data/docs/types/LocalizedStringFormatter.json +9 -0
  265. package/data/docs/types/MakeElementFocusable.json +196 -0
  266. package/data/docs/types/MenuContent.json +111 -0
  267. package/data/docs/types/MenuItem.json +671 -0
  268. package/data/docs/types/MenuRoot.json +670 -0
  269. package/data/docs/types/MenuSection.json +364 -0
  270. package/data/docs/types/MenuSubmenu.json +111 -0
  271. package/data/docs/types/MenuSubmenuTrigger.json +67 -0
  272. package/data/docs/types/MenuTrigger.json +906 -0
  273. package/data/docs/types/ModalPage.json +12 -0
  274. package/data/docs/types/ModalPageActions.json +27 -0
  275. package/data/docs/types/ModalPageContent.json +27 -0
  276. package/data/docs/types/ModalPageFooter.json +27 -0
  277. package/data/docs/types/ModalPageHeader.json +27 -0
  278. package/data/docs/types/ModalPageRoot.json +87 -0
  279. package/data/docs/types/ModalPageSubtitle.json +27 -0
  280. package/data/docs/types/ModalPageTabNav.json +28 -0
  281. package/data/docs/types/ModalPageTitle.json +27 -0
  282. package/data/docs/types/ModalPageTopBar.json +57 -0
  283. package/data/docs/types/MoneyInput.isEmpty.json +40 -0
  284. package/data/docs/types/MoneyInput.json +282 -0
  285. package/data/docs/types/MoneyInputField.json +379 -0
  286. package/data/docs/types/MoneyInputFieldProps.json +9 -0
  287. package/data/docs/types/MultilineTextInput.json +1194 -0
  288. package/data/docs/types/MultilineTextInputField.json +1269 -0
  289. package/data/docs/types/MultilineTextInputFieldProps.json +9 -0
  290. package/data/docs/types/NimbusI18nProvider.json +42 -0
  291. package/data/docs/types/NimbusI18nProviderProps.json +9 -0
  292. package/data/docs/types/NimbusProvider.json +270 -0
  293. package/data/docs/types/NumberInput.json +952 -0
  294. package/data/docs/types/NumberInputField.json +1004 -0
  295. package/data/docs/types/NumberInputFieldProps.json +9 -0
  296. package/data/docs/types/PageContent.json +11 -0
  297. package/data/docs/types/PageContentColumn.json +99 -0
  298. package/data/docs/types/PageContentRoot.json +114 -0
  299. package/data/docs/types/Pagination.json +159 -0
  300. package/data/docs/types/PasswordInput.json +1120 -0
  301. package/data/docs/types/PasswordInputField.json +1216 -0
  302. package/data/docs/types/PasswordInputFieldProps.json +9 -0
  303. package/data/docs/types/ProgressBar.json +280 -0
  304. package/data/docs/types/RadioInputOption.json +550 -0
  305. package/data/docs/types/RadioInputRoot.json +514 -0
  306. package/data/docs/types/RangeCalendar.json +618 -0
  307. package/data/docs/types/RichTextInput.json +134 -0
  308. package/data/docs/types/Root.json +122 -0
  309. package/data/docs/types/Row.json +67 -0
  310. package/data/docs/types/ScopedSearchInput.isEmpty.json +40 -0
  311. package/data/docs/types/ScopedSearchInput.json +253 -0
  312. package/data/docs/types/ScrollArea.json +179 -0
  313. package/data/docs/types/ScrollAreaElementIds.json +9 -0
  314. package/data/docs/types/ScrollAreaProps.json +9 -0
  315. package/data/docs/types/SearchInput.json +1165 -0
  316. package/data/docs/types/SearchInputField.json +1240 -0
  317. package/data/docs/types/Select.json +12 -0
  318. package/data/docs/types/SelectOption.json +572 -0
  319. package/data/docs/types/SelectOptionGroup.json +215 -0
  320. package/data/docs/types/SelectOptions.json +693 -0
  321. package/data/docs/types/SelectRoot.json +926 -0
  322. package/data/docs/types/Separator.json +65 -0
  323. package/data/docs/types/SimpleGrid.json +291 -0
  324. package/data/docs/types/Spacer.json +27 -0
  325. package/data/docs/types/SpacerProps.json +9 -0
  326. package/data/docs/types/SplitButton.json +203 -0
  327. package/data/docs/types/Stack.json +144 -0
  328. package/data/docs/types/Steps.json +12 -0
  329. package/data/docs/types/StepsChangeDetails.json +9 -0
  330. package/data/docs/types/StepsCompletedContent.json +28 -0
  331. package/data/docs/types/StepsCompletedContentProps.json +9 -0
  332. package/data/docs/types/StepsContent.json +43 -0
  333. package/data/docs/types/StepsContentProps.json +9 -0
  334. package/data/docs/types/StepsDescription.json +28 -0
  335. package/data/docs/types/StepsDescriptionProps.json +9 -0
  336. package/data/docs/types/StepsIndicator.json +28 -0
  337. package/data/docs/types/StepsIndicatorProps.json +9 -0
  338. package/data/docs/types/StepsItem.json +43 -0
  339. package/data/docs/types/StepsItemProps.json +9 -0
  340. package/data/docs/types/StepsList.json +28 -0
  341. package/data/docs/types/StepsListProps.json +9 -0
  342. package/data/docs/types/StepsNextTrigger.json +62 -0
  343. package/data/docs/types/StepsNextTriggerProps.json +9 -0
  344. package/data/docs/types/StepsNumber.json +28 -0
  345. package/data/docs/types/StepsNumberProps.json +9 -0
  346. package/data/docs/types/StepsPrevTrigger.json +62 -0
  347. package/data/docs/types/StepsPrevTriggerProps.json +9 -0
  348. package/data/docs/types/StepsRoot.json +183 -0
  349. package/data/docs/types/StepsRootProps.json +11 -0
  350. package/data/docs/types/StepsSeparator.json +28 -0
  351. package/data/docs/types/StepsSeparatorProps.json +9 -0
  352. package/data/docs/types/StepsStatus.json +57 -0
  353. package/data/docs/types/StepsStatusProps.json +9 -0
  354. package/data/docs/types/StepsTitle.json +28 -0
  355. package/data/docs/types/StepsTitleProps.json +9 -0
  356. package/data/docs/types/StepsTrigger.json +47 -0
  357. package/data/docs/types/StepsTriggerProps.json +9 -0
  358. package/data/docs/types/Switch.json +371 -0
  359. package/data/docs/types/TabListProps.json +9 -0
  360. package/data/docs/types/TabNav.json +12 -0
  361. package/data/docs/types/TabNavItem.json +300 -0
  362. package/data/docs/types/TabNavItemProps.json +9 -0
  363. package/data/docs/types/TabNavProps.json +9 -0
  364. package/data/docs/types/TabNavRoot.json +80 -0
  365. package/data/docs/types/TabPanelProps.json +9 -0
  366. package/data/docs/types/TabPanelsProps.json +9 -0
  367. package/data/docs/types/TabProps.json +9 -0
  368. package/data/docs/types/Table.json +9 -0
  369. package/data/docs/types/TableBody.json +67 -0
  370. package/data/docs/types/TableBodyProps.json +9 -0
  371. package/data/docs/types/TableCaption.json +67 -0
  372. package/data/docs/types/TableCaptionProps.json +9 -0
  373. package/data/docs/types/TableCell.json +227 -0
  374. package/data/docs/types/TableCellProps.json +9 -0
  375. package/data/docs/types/TableColumn.json +101 -0
  376. package/data/docs/types/TableColumnGroup.json +101 -0
  377. package/data/docs/types/TableColumnGroupProps.json +9 -0
  378. package/data/docs/types/TableColumnHeader.json +193 -0
  379. package/data/docs/types/TableColumnHeaderProps.json +9 -0
  380. package/data/docs/types/TableColumnProps.json +9 -0
  381. package/data/docs/types/TableFooter.json +67 -0
  382. package/data/docs/types/TableFooterProps.json +9 -0
  383. package/data/docs/types/TableHeader.json +67 -0
  384. package/data/docs/types/TableHeaderProps.json +9 -0
  385. package/data/docs/types/TableRoot.json +365 -0
  386. package/data/docs/types/TableRootProps.json +12 -0
  387. package/data/docs/types/TableRow.json +67 -0
  388. package/data/docs/types/TableRowProps.json +9 -0
  389. package/data/docs/types/TableScrollArea.json +82 -0
  390. package/data/docs/types/TableScrollAreaProps.json +9 -0
  391. package/data/docs/types/Tabs.json +12 -0
  392. package/data/docs/types/TabsList.json +110 -0
  393. package/data/docs/types/TabsPanel.json +112 -0
  394. package/data/docs/types/TabsPanels.json +108 -0
  395. package/data/docs/types/TabsRoot.json +211 -0
  396. package/data/docs/types/TabsTab.json +174 -0
  397. package/data/docs/types/TagGroup.json +12 -0
  398. package/data/docs/types/TagGroupRoot.json +306 -0
  399. package/data/docs/types/TagGroupTag.json +595 -0
  400. package/data/docs/types/TagGroupTagList.json +166 -0
  401. package/data/docs/types/Text.json +119 -0
  402. package/data/docs/types/TextInput.json +1156 -0
  403. package/data/docs/types/TextInputField.json +1263 -0
  404. package/data/docs/types/TimeInput.json +752 -0
  405. package/data/docs/types/ToastAction.json +9 -0
  406. package/data/docs/types/ToastManagerApi.json +9 -0
  407. package/data/docs/types/ToastOptions.json +9 -0
  408. package/data/docs/types/ToastOutlet.json +12 -0
  409. package/data/docs/types/ToastPlacement.json +9 -0
  410. package/data/docs/types/ToastPromiseOptions.json +9 -0
  411. package/data/docs/types/ToastType.json +9 -0
  412. package/data/docs/types/ToastVariant.json +9 -0
  413. package/data/docs/types/ToggleButton.json +789 -0
  414. package/data/docs/types/ToggleButtonGroup.json +9 -0
  415. package/data/docs/types/ToggleButtonGroupButton.json +331 -0
  416. package/data/docs/types/ToggleButtonGroupRoot.json +269 -0
  417. package/data/docs/types/Toolbar.json +176 -0
  418. package/data/docs/types/Tooltip.json +12 -0
  419. package/data/docs/types/TooltipContent.json +372 -0
  420. package/data/docs/types/TooltipRoot.json +179 -0
  421. package/data/docs/types/Trigger.json +69 -0
  422. package/data/docs/types/VisuallyHidden.json +93 -0
  423. package/data/docs/types/__object.json +12 -0
  424. package/data/docs/types/filters.json +11 -0
  425. package/data/docs/types/manifest.json +280 -0
  426. package/data/docs/types/toast.json +234 -0
  427. package/data/docs/types/useColorMode.json +13 -0
  428. package/data/docs/types/useColorModeValue.json +13 -0
  429. package/data/docs/types/useColorScheme.json +12 -0
  430. package/data/docs/types/useLocalizedStringFormatter.json +14 -0
  431. package/data/icons.json +21940 -0
  432. package/data/tokens.json +40061 -0
  433. package/dist/index.js +2516 -17
  434. package/package.json +25 -6
  435. package/dist/data-loader.d.ts +0 -102
  436. package/dist/data-loader.js +0 -104
  437. package/dist/index.d.ts +0 -13
  438. package/dist/server.d.ts +0 -9
  439. package/dist/server.js +0 -22
  440. package/dist/server.spec.d.ts +0 -1
  441. package/dist/server.spec.js +0 -69
  442. package/dist/tools/list-components.d.ts +0 -9
  443. package/dist/tools/list-components.js +0 -42
  444. package/dist/types.d.ts +0 -28
  445. package/dist/types.js +0 -4
  446. package/src/data-loader.ts +0 -226
  447. package/src/index.ts +0 -29
  448. package/src/server.spec.ts +0 -86
  449. package/src/server.ts +0 -28
  450. package/src/tools/list-components.ts +0 -49
  451. package/src/types.ts +0 -31
  452. package/tsconfig.json +0 -14
  453. package/vitest.config.ts +0 -9
@@ -0,0 +1,696 @@
1
+ {
2
+ "meta": {
3
+ "id": "Components-Alert",
4
+ "title": "Alert",
5
+ "exportName": "Alert",
6
+ "description": "For urgent, high-impact messages, such as system alerts, alert banners are used to ensure visibility and encourage immediate user response.",
7
+ "lifecycleState": "Stable",
8
+ "order": 999,
9
+ "repoPath": "packages/nimbus/src/components/alert/alert.mdx",
10
+ "menu": [
11
+ "Components",
12
+ "Feedback",
13
+ "Alert"
14
+ ],
15
+ "route": "components/feedback/alert",
16
+ "tags": [
17
+ "component",
18
+ "alert",
19
+ "notification",
20
+ "status",
21
+ "banner"
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
+ "value": "Variables",
47
+ "href": "#variables",
48
+ "depth": 2,
49
+ "numbering": [
50
+ 1,
51
+ 2
52
+ ],
53
+ "parent": "root"
54
+ },
55
+ {
56
+ "value": "Adjustable elements",
57
+ "href": "#adjustable-elements",
58
+ "depth": 3,
59
+ "numbering": [
60
+ 1,
61
+ 2,
62
+ 1
63
+ ],
64
+ "parent": "root"
65
+ },
66
+ {
67
+ "value": "Buttons and links",
68
+ "href": "#buttons-and-links",
69
+ "depth": 4,
70
+ "numbering": [
71
+ 1,
72
+ 2,
73
+ 1,
74
+ 1
75
+ ],
76
+ "parent": "root"
77
+ },
78
+ {
79
+ "value": "Close and dismiss buttons",
80
+ "href": "#close-and-dismiss-buttons",
81
+ "depth": 4,
82
+ "numbering": [
83
+ 1,
84
+ 2,
85
+ 1,
86
+ 2
87
+ ],
88
+ "parent": "root"
89
+ },
90
+ {
91
+ "value": "Title and description",
92
+ "href": "#title-and-description",
93
+ "depth": 4,
94
+ "numbering": [
95
+ 1,
96
+ 2,
97
+ 1,
98
+ 3
99
+ ],
100
+ "parent": "root"
101
+ },
102
+ {
103
+ "value": "Style",
104
+ "href": "#style",
105
+ "depth": 3,
106
+ "numbering": [
107
+ 1,
108
+ 2,
109
+ 2
110
+ ],
111
+ "parent": "root"
112
+ },
113
+ {
114
+ "value": "Outlined",
115
+ "href": "#outlined",
116
+ "depth": 4,
117
+ "numbering": [
118
+ 1,
119
+ 2,
120
+ 2,
121
+ 1
122
+ ],
123
+ "parent": "root"
124
+ },
125
+ {
126
+ "value": "Flat",
127
+ "href": "#flat",
128
+ "depth": 4,
129
+ "numbering": [
130
+ 1,
131
+ 2,
132
+ 2,
133
+ 2
134
+ ],
135
+ "parent": "root"
136
+ },
137
+ {
138
+ "value": "Width",
139
+ "href": "#width",
140
+ "depth": 4,
141
+ "numbering": [
142
+ 1,
143
+ 2,
144
+ 2,
145
+ 3
146
+ ],
147
+ "parent": "root"
148
+ },
149
+ {
150
+ "value": "Color palette",
151
+ "href": "#color-palette",
152
+ "depth": 3,
153
+ "numbering": [
154
+ 1,
155
+ 2,
156
+ 3
157
+ ],
158
+ "parent": "root"
159
+ },
160
+ {
161
+ "value": "Positive",
162
+ "href": "#positive",
163
+ "depth": 4,
164
+ "numbering": [
165
+ 1,
166
+ 2,
167
+ 3,
168
+ 1
169
+ ],
170
+ "parent": "root"
171
+ },
172
+ {
173
+ "value": "Info",
174
+ "href": "#info",
175
+ "depth": 4,
176
+ "numbering": [
177
+ 1,
178
+ 2,
179
+ 3,
180
+ 2
181
+ ],
182
+ "parent": "root"
183
+ },
184
+ {
185
+ "value": "Warning",
186
+ "href": "#warning",
187
+ "depth": 4,
188
+ "numbering": [
189
+ 1,
190
+ 2,
191
+ 3,
192
+ 3
193
+ ],
194
+ "parent": "root"
195
+ },
196
+ {
197
+ "value": "Critical",
198
+ "href": "#critical",
199
+ "depth": 4,
200
+ "numbering": [
201
+ 1,
202
+ 2,
203
+ 3,
204
+ 4
205
+ ],
206
+ "parent": "root"
207
+ }
208
+ ],
209
+ "figmaLink": "https://www.figma.com/design/AvtPX6g7OGGCRvNlatGOIY/NIMBUS-design-system?node-id=2702-5723",
210
+ "layout": "app-frame",
211
+ "tabs": [
212
+ {
213
+ "key": "overview",
214
+ "title": "Overview",
215
+ "order": 0
216
+ },
217
+ {
218
+ "key": "guidelines",
219
+ "title": "Guidelines",
220
+ "order": 2
221
+ },
222
+ {
223
+ "key": "dev",
224
+ "title": "Implementation",
225
+ "order": 3
226
+ },
227
+ {
228
+ "key": "a11y",
229
+ "title": "Accessibility",
230
+ "order": 4
231
+ }
232
+ ]
233
+ },
234
+ "mdx": "\n## Overview\n\nThese specifications define the standard styles and variations for icon buttons\nwithin our design system, covering different visual treatments for diverse use\ncases.\n\n### Resources\n\nDeep dive into implementation details and access the Nimbus design library.\n\n[Figma library](https://www.figma.com/design/AvtPX6g7OGGCRvNlatGOIY/NIMBUS-design-system?node-id=2702-5723)\n\n## Variables\n\nGet familiar with the features.\n\n### Adjustable elements\n\nSeveral of the features are flexible and optional for many use cases.\nNon-optional elements are the message, and the icons that are tied to the type\nof messaging.\n\n#### Buttons and links\n\nThe alert component allows for two buttons and links within the paragraph\nmessage. These buttons and links can be customized for any messaging needs.\n\n#### Close and dismiss buttons\n\nFeatures that may be used for closing or dismissing the alert message are\noptional. Removing these elements will make this message persistent for the\nuser. There is no need to duplicate a close action, using the close icon in the\nright corner or a dismiss button is enough for a user.\n\n#### Title and description\n\nThe message is needed in all uses. Please always utilize messaging for the user.\nUse of the title is optional, use if it gives greater clarity to the user.\n\n```jsx live\nconst App = () => (\n <Stack direction=\"column\">\n <Alert.Root colorPalette=\"critical\" variant=\"outlined\">\n <Alert.Title>Lorem Ipsum</Alert.Title>\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n <Alert.Actions>\n <Stack direction=\"row\" alignItems=\"center\">\n <Button variant=\"outline\">Dismiss</Button>\n <Button variant=\"outline\">View changes</Button>\n </Stack>\n </Alert.Actions>\n <Alert.DismissButton />\n </Alert.Root>\n\n <Alert.Root colorPalette=\"info\" variant=\"outlined\">\n <Alert.Title>Lorem Ipsum</Alert.Title>\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n <Alert.DismissButton />\n </Alert.Root>\n\n <Alert.Root colorPalette=\"warning\" variant=\"outlined\">\n <Alert.Title>Lorem Ipsum</Alert.Title>\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n </Alert.Root>\n\n <Alert.Root colorPalette=\"positive\" variant=\"outlined\">\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n </Alert.Root>\n </Stack>\n)\n```\n\n### Style\n\n#### Outlined\n\nUse when getting attention is more important. These can be used inline, but they\ntake up space and it is not as easy to slide into compact areas as much the flat\nvariant.\n\n```jsx live\nconst App = () => (\n <Alert.Root colorPalette=\"positive\" variant=\"outlined\" width=\"8000\">\n <Alert.Title>Success! Your Account is Verified</Alert.Title>\n <Alert.Description>\n Congratulations! Your account has been successfully verified. You now have full access to all features.\n </Alert.Description>\n </Alert.Root>\n)\n```\n\n#### Flat\n\nUse for inline messages specific to a field. You can also use this in dense\nareas with popovers. Do not use as a global page alert. In these placements, use\nlinks instead of buttons if a user needs to navigate to more information.\n\n```jsx live\nconst App = () => (\n <Stack direction=\"column\" alignItems=\"start\">\n <Text fontWeight=\"500\">Email</Text>\n <TextInput type=\"email\" />\n <Alert.Root colorPalette=\"positive\" variant=\"flat\">\n <Alert.Description>\n Email is verified\n </Alert.Description>\n </Alert.Root>\n </Stack>\n)\n```\n\n#### Width\n\nThe width is flexible, intended for many inline placements and page wide areas.\n\n```jsx live\nconst App = () => (\n <Grid templateColumns=\"repeat(6, 1fr)\" gap=\"400\">\n <Grid.Item colSpan={2}>\n <Alert.Root colorPalette=\"critical\" variant=\"outlined\">\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n </Alert.Root>\n </Grid.Item>\n\n <Grid.Item colSpan={3}>\n <Alert.Root colorPalette=\"critical\" variant=\"outlined\">\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n </Alert.Root>\n </Grid.Item>\n\n <Grid.Item colSpan={6}>\n <Alert.Root colorPalette=\"critical\" variant=\"outlined\">\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n <Alert.Actions>\n <Button variant=\"outline\">View Changes</Button>\n </Alert.Actions>\n <Alert.DismissButton />\n </Alert.Root>\n </Grid.Item>\n </Grid>\n);\n```\n\n### Color palette\n\n#### Positive\n\nPositive alerts should be used for important updates, and product wide\nannouncements. They should not be used in place of toasts or confirmation\nmessages.\n\n```jsx live\nconst App = () => (\n <Grid templateColumns=\"repeat(2, 1fr)\" gap=\"400\">\n <Alert.Root colorPalette=\"positive\" variant=\"outlined\">\n <Alert.Title>Success! Your Account is Verified</Alert.Title>\n <Alert.Description>\n Congratulations! Your account has been successfully verified. You now have full access to all features.\n </Alert.Description>\n </Alert.Root>\n\n <Alert.Root colorPalette=\"positive\" variant=\"flat\">\n <Alert.Title>Success! Your Account is Verified</Alert.Title>\n <Alert.Description>\n Congratulations! Your account has been successfully verified. You now have full access to all features.\n </Alert.Description>\n </Alert.Root>\n </Grid>\n);\n```\n\n#### Info\n\nShould be used when extra explanation is needed, this alert is meant to be more\ntemporary than using an info icon with a tooltip which declutters persistent\ninformation for users.\n\n```jsx live\nconst App = () => (\n <Grid templateColumns=\"repeat(2, 1fr)\" gap=\"400\">\n <Alert.Root colorPalette=\"info\" variant=\"outlined\">\n <Alert.Title>New Feature Available</Alert.Title>\n <Alert.Description>\n We've added a new 'Smart Suggestions' feature to help you find relevant content faster. <Link>Check it out in your settings.</Link>\n </Alert.Description>\n </Alert.Root>\n\n <Alert.Root colorPalette=\"info\" variant=\"flat\">\n <Alert.Title>New Feature Available</Alert.Title>\n <Alert.Description>\n We've added a new 'Smart Suggestions' feature to help you find relevant content faster. <Link>Check it out in your settings.</Link>\n </Alert.Description>\n </Alert.Root>\n </Grid>\n)\n```\n\n#### Warning\n\nMessages potential problems or situations that require user attention to prevent\nissues. They require the user to take action to make needed corrections or\nconfirmation.\n\n```jsx live\nconst App = () => (\n <Grid templateColumns=\"repeat(2, 1fr)\" gap=\"400\">\n <Alert.Root colorPalette=\"warning\" variant=\"outlined\">\n <Alert.Title>Low Storage Space</Alert.Title>\n <Alert.Description>\n Your device is running low on storage. Some features may be disabled until you free up space. <Link>Manage storage.</Link>\n </Alert.Description>\n </Alert.Root>\n\n <Alert.Root colorPalette=\"warning\" variant=\"flat\">\n <Alert.Title>Low Storage Space</Alert.Title>\n <Alert.Description>\n Your device is running low on storage. Some features may be disabled until you free up space. <Link>Manage storage.</Link>\n </Alert.Description>\n </Alert.Root>\n </Grid>\n)\n```\n\n#### Critical\n\nThese are used to message immediate, severe problems that require urgent action.\nThey indicate that something has already gone wrong and needs to be addressed\nimmediately.\n\n```jsx live\nconst App = () => (\n <Grid templateColumns=\"repeat(2, 1fr)\" gap=\"400\">\n <Alert.Root colorPalette=\"critical\" variant=\"outlined\">\n <Alert.Title>Payment Processing Error</Alert.Title>\n <Alert.Description>\n A payment processing error occurred for order #12345. Please <Link>verify your payment gateway settings</Link> immediately to prevent further issues.\n </Alert.Description>\n </Alert.Root>\n\n <Alert.Root colorPalette=\"critical\" variant=\"flat\">\n <Alert.Title>Payment Processing Error</Alert.Title>\n <Alert.Description>\n A payment processing error occurred for order #12345. Please <Link>verify your payment gateway settings</Link> immediately to prevent further issues.\n </Alert.Description>\n </Alert.Root>\n </Grid>\n)\n```\n",
235
+ "views": {
236
+ "overview": {
237
+ "mdx": "\n## Overview\n\nThese specifications define the standard styles and variations for icon buttons\nwithin our design system, covering different visual treatments for diverse use\ncases.\n\n### Resources\n\nDeep dive into implementation details and access the Nimbus design library.\n\n[Figma library](https://www.figma.com/design/AvtPX6g7OGGCRvNlatGOIY/NIMBUS-design-system?node-id=2702-5723)\n\n## Variables\n\nGet familiar with the features.\n\n### Adjustable elements\n\nSeveral of the features are flexible and optional for many use cases.\nNon-optional elements are the message, and the icons that are tied to the type\nof messaging.\n\n#### Buttons and links\n\nThe alert component allows for two buttons and links within the paragraph\nmessage. These buttons and links can be customized for any messaging needs.\n\n#### Close and dismiss buttons\n\nFeatures that may be used for closing or dismissing the alert message are\noptional. Removing these elements will make this message persistent for the\nuser. There is no need to duplicate a close action, using the close icon in the\nright corner or a dismiss button is enough for a user.\n\n#### Title and description\n\nThe message is needed in all uses. Please always utilize messaging for the user.\nUse of the title is optional, use if it gives greater clarity to the user.\n\n```jsx live\nconst App = () => (\n <Stack direction=\"column\">\n <Alert.Root colorPalette=\"critical\" variant=\"outlined\">\n <Alert.Title>Lorem Ipsum</Alert.Title>\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n <Alert.Actions>\n <Stack direction=\"row\" alignItems=\"center\">\n <Button variant=\"outline\">Dismiss</Button>\n <Button variant=\"outline\">View changes</Button>\n </Stack>\n </Alert.Actions>\n <Alert.DismissButton />\n </Alert.Root>\n\n <Alert.Root colorPalette=\"info\" variant=\"outlined\">\n <Alert.Title>Lorem Ipsum</Alert.Title>\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n <Alert.DismissButton />\n </Alert.Root>\n\n <Alert.Root colorPalette=\"warning\" variant=\"outlined\">\n <Alert.Title>Lorem Ipsum</Alert.Title>\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n </Alert.Root>\n\n <Alert.Root colorPalette=\"positive\" variant=\"outlined\">\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n </Alert.Root>\n </Stack>\n)\n```\n\n### Style\n\n#### Outlined\n\nUse when getting attention is more important. These can be used inline, but they\ntake up space and it is not as easy to slide into compact areas as much the flat\nvariant.\n\n```jsx live\nconst App = () => (\n <Alert.Root colorPalette=\"positive\" variant=\"outlined\" width=\"8000\">\n <Alert.Title>Success! Your Account is Verified</Alert.Title>\n <Alert.Description>\n Congratulations! Your account has been successfully verified. You now have full access to all features.\n </Alert.Description>\n </Alert.Root>\n)\n```\n\n#### Flat\n\nUse for inline messages specific to a field. You can also use this in dense\nareas with popovers. Do not use as a global page alert. In these placements, use\nlinks instead of buttons if a user needs to navigate to more information.\n\n```jsx live\nconst App = () => (\n <Stack direction=\"column\" alignItems=\"start\">\n <Text fontWeight=\"500\">Email</Text>\n <TextInput type=\"email\" />\n <Alert.Root colorPalette=\"positive\" variant=\"flat\">\n <Alert.Description>\n Email is verified\n </Alert.Description>\n </Alert.Root>\n </Stack>\n)\n```\n\n#### Width\n\nThe width is flexible, intended for many inline placements and page wide areas.\n\n```jsx live\nconst App = () => (\n <Grid templateColumns=\"repeat(6, 1fr)\" gap=\"400\">\n <Grid.Item colSpan={2}>\n <Alert.Root colorPalette=\"critical\" variant=\"outlined\">\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n </Alert.Root>\n </Grid.Item>\n\n <Grid.Item colSpan={3}>\n <Alert.Root colorPalette=\"critical\" variant=\"outlined\">\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n </Alert.Root>\n </Grid.Item>\n\n <Grid.Item colSpan={6}>\n <Alert.Root colorPalette=\"critical\" variant=\"outlined\">\n <Alert.Description>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. <Link>Read more</Link>\n </Alert.Description>\n <Alert.Actions>\n <Button variant=\"outline\">View Changes</Button>\n </Alert.Actions>\n <Alert.DismissButton />\n </Alert.Root>\n </Grid.Item>\n </Grid>\n);\n```\n\n### Color palette\n\n#### Positive\n\nPositive alerts should be used for important updates, and product wide\nannouncements. They should not be used in place of toasts or confirmation\nmessages.\n\n```jsx live\nconst App = () => (\n <Grid templateColumns=\"repeat(2, 1fr)\" gap=\"400\">\n <Alert.Root colorPalette=\"positive\" variant=\"outlined\">\n <Alert.Title>Success! Your Account is Verified</Alert.Title>\n <Alert.Description>\n Congratulations! Your account has been successfully verified. You now have full access to all features.\n </Alert.Description>\n </Alert.Root>\n\n <Alert.Root colorPalette=\"positive\" variant=\"flat\">\n <Alert.Title>Success! Your Account is Verified</Alert.Title>\n <Alert.Description>\n Congratulations! Your account has been successfully verified. You now have full access to all features.\n </Alert.Description>\n </Alert.Root>\n </Grid>\n);\n```\n\n#### Info\n\nShould be used when extra explanation is needed, this alert is meant to be more\ntemporary than using an info icon with a tooltip which declutters persistent\ninformation for users.\n\n```jsx live\nconst App = () => (\n <Grid templateColumns=\"repeat(2, 1fr)\" gap=\"400\">\n <Alert.Root colorPalette=\"info\" variant=\"outlined\">\n <Alert.Title>New Feature Available</Alert.Title>\n <Alert.Description>\n We've added a new 'Smart Suggestions' feature to help you find relevant content faster. <Link>Check it out in your settings.</Link>\n </Alert.Description>\n </Alert.Root>\n\n <Alert.Root colorPalette=\"info\" variant=\"flat\">\n <Alert.Title>New Feature Available</Alert.Title>\n <Alert.Description>\n We've added a new 'Smart Suggestions' feature to help you find relevant content faster. <Link>Check it out in your settings.</Link>\n </Alert.Description>\n </Alert.Root>\n </Grid>\n)\n```\n\n#### Warning\n\nMessages potential problems or situations that require user attention to prevent\nissues. They require the user to take action to make needed corrections or\nconfirmation.\n\n```jsx live\nconst App = () => (\n <Grid templateColumns=\"repeat(2, 1fr)\" gap=\"400\">\n <Alert.Root colorPalette=\"warning\" variant=\"outlined\">\n <Alert.Title>Low Storage Space</Alert.Title>\n <Alert.Description>\n Your device is running low on storage. Some features may be disabled until you free up space. <Link>Manage storage.</Link>\n </Alert.Description>\n </Alert.Root>\n\n <Alert.Root colorPalette=\"warning\" variant=\"flat\">\n <Alert.Title>Low Storage Space</Alert.Title>\n <Alert.Description>\n Your device is running low on storage. Some features may be disabled until you free up space. <Link>Manage storage.</Link>\n </Alert.Description>\n </Alert.Root>\n </Grid>\n)\n```\n\n#### Critical\n\nThese are used to message immediate, severe problems that require urgent action.\nThey indicate that something has already gone wrong and needs to be addressed\nimmediately.\n\n```jsx live\nconst App = () => (\n <Grid templateColumns=\"repeat(2, 1fr)\" gap=\"400\">\n <Alert.Root colorPalette=\"critical\" variant=\"outlined\">\n <Alert.Title>Payment Processing Error</Alert.Title>\n <Alert.Description>\n A payment processing error occurred for order #12345. Please <Link>verify your payment gateway settings</Link> immediately to prevent further issues.\n </Alert.Description>\n </Alert.Root>\n\n <Alert.Root colorPalette=\"critical\" variant=\"flat\">\n <Alert.Title>Payment Processing Error</Alert.Title>\n <Alert.Description>\n A payment processing error occurred for order #12345. Please <Link>verify your payment gateway settings</Link> immediately to prevent further issues.\n </Alert.Description>\n </Alert.Root>\n </Grid>\n)\n```\n",
238
+ "toc": [
239
+ {
240
+ "value": "Overview",
241
+ "href": "#overview",
242
+ "depth": 2,
243
+ "numbering": [
244
+ 1,
245
+ 1
246
+ ],
247
+ "parent": "root"
248
+ },
249
+ {
250
+ "value": "Resources",
251
+ "href": "#resources",
252
+ "depth": 3,
253
+ "numbering": [
254
+ 1,
255
+ 1,
256
+ 1
257
+ ],
258
+ "parent": "root"
259
+ },
260
+ {
261
+ "value": "Variables",
262
+ "href": "#variables",
263
+ "depth": 2,
264
+ "numbering": [
265
+ 1,
266
+ 2
267
+ ],
268
+ "parent": "root"
269
+ },
270
+ {
271
+ "value": "Adjustable elements",
272
+ "href": "#adjustable-elements",
273
+ "depth": 3,
274
+ "numbering": [
275
+ 1,
276
+ 2,
277
+ 1
278
+ ],
279
+ "parent": "root"
280
+ },
281
+ {
282
+ "value": "Buttons and links",
283
+ "href": "#buttons-and-links",
284
+ "depth": 4,
285
+ "numbering": [
286
+ 1,
287
+ 2,
288
+ 1,
289
+ 1
290
+ ],
291
+ "parent": "root"
292
+ },
293
+ {
294
+ "value": "Close and dismiss buttons",
295
+ "href": "#close-and-dismiss-buttons",
296
+ "depth": 4,
297
+ "numbering": [
298
+ 1,
299
+ 2,
300
+ 1,
301
+ 2
302
+ ],
303
+ "parent": "root"
304
+ },
305
+ {
306
+ "value": "Title and description",
307
+ "href": "#title-and-description",
308
+ "depth": 4,
309
+ "numbering": [
310
+ 1,
311
+ 2,
312
+ 1,
313
+ 3
314
+ ],
315
+ "parent": "root"
316
+ },
317
+ {
318
+ "value": "Style",
319
+ "href": "#style",
320
+ "depth": 3,
321
+ "numbering": [
322
+ 1,
323
+ 2,
324
+ 2
325
+ ],
326
+ "parent": "root"
327
+ },
328
+ {
329
+ "value": "Outlined",
330
+ "href": "#outlined",
331
+ "depth": 4,
332
+ "numbering": [
333
+ 1,
334
+ 2,
335
+ 2,
336
+ 1
337
+ ],
338
+ "parent": "root"
339
+ },
340
+ {
341
+ "value": "Flat",
342
+ "href": "#flat",
343
+ "depth": 4,
344
+ "numbering": [
345
+ 1,
346
+ 2,
347
+ 2,
348
+ 2
349
+ ],
350
+ "parent": "root"
351
+ },
352
+ {
353
+ "value": "Width",
354
+ "href": "#width",
355
+ "depth": 4,
356
+ "numbering": [
357
+ 1,
358
+ 2,
359
+ 2,
360
+ 3
361
+ ],
362
+ "parent": "root"
363
+ },
364
+ {
365
+ "value": "Color palette",
366
+ "href": "#color-palette",
367
+ "depth": 3,
368
+ "numbering": [
369
+ 1,
370
+ 2,
371
+ 3
372
+ ],
373
+ "parent": "root"
374
+ },
375
+ {
376
+ "value": "Positive",
377
+ "href": "#positive",
378
+ "depth": 4,
379
+ "numbering": [
380
+ 1,
381
+ 2,
382
+ 3,
383
+ 1
384
+ ],
385
+ "parent": "root"
386
+ },
387
+ {
388
+ "value": "Info",
389
+ "href": "#info",
390
+ "depth": 4,
391
+ "numbering": [
392
+ 1,
393
+ 2,
394
+ 3,
395
+ 2
396
+ ],
397
+ "parent": "root"
398
+ },
399
+ {
400
+ "value": "Warning",
401
+ "href": "#warning",
402
+ "depth": 4,
403
+ "numbering": [
404
+ 1,
405
+ 2,
406
+ 3,
407
+ 3
408
+ ],
409
+ "parent": "root"
410
+ },
411
+ {
412
+ "value": "Critical",
413
+ "href": "#critical",
414
+ "depth": 4,
415
+ "numbering": [
416
+ 1,
417
+ 2,
418
+ 3,
419
+ 4
420
+ ],
421
+ "parent": "root"
422
+ }
423
+ ]
424
+ },
425
+ "a11y": {
426
+ "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 <Alert.Root colorPalette=\"critical\" variant=\"outlined\">\n <Alert.Title>Payment Processing Error</Alert.Title>\n <Alert.Description>\n A payment processing error occurred for order #12345. Please <Link>verify your\n payment gateway settings</Link> immediately to prevent further issues.\n </Alert.Description>\n <Alert.Actions>\n <Button variant=\"outline\">View changes</Button>\n </Alert.Actions>\n <Alert.DismissButton />\n </Alert.Root>\n);\n```\n\n### Accessibility standards\n\n- **Info and relationships:** Ensure the alert's content and purpose are\n programmatically determinable. Use `ARIA` attributes like `aria-live` and\n `aria-atomic` to announce dynamic content changes to assistive technologies.\n- **Non-text content:** If the alert contains non-text content (e.g., icons),\n provide text alternatives (e.g., alt text for images).\n- **Color contrast:** Ensure sufficient color contrast between the alert's text\n and background.\n- **Use of color:** Don't rely solely on color to convey the alert's meaning.\n Use additional visual cues like icons or text.\n- **Keyboard accessibility:** If the alert contains interactive elements (e.g.,\n buttons), ensure they are keyboard operable. If the alert requires dismissal,\n ensure it can be dismissed using the keyboard (e.g., Esc key).\n- **Focus visible:** If the alert contains interactive elements, provide a clear\n visual focus indicator.\n- **On focus:** Ensure that the alert doesn't cause unexpected changes to the\n page or context.\n- **Error identification:** If the alert indicates an error, clearly identify\n and describe the error in text.\n- **Labels or instructions:** Provide clear and concise messages that are easy\n to understand.\n- **Name, role, value:** Use appropriate semantic `HTML` and `ARIA` attributes\n to define the alert's role, name, and value. This ensures compatibility with\n assistive technologies. Use `role=\"alert\"` or `role=\"alertdialog\"` to define\n the alert.\n- **Status messages:** For status messages that don't interrupt the user, use\n `role=\"status\"` instead of `role=\"alert\"`.\n",
427
+ "toc": [
428
+ {
429
+ "value": "Accessibility",
430
+ "href": "#accessibility",
431
+ "depth": 2,
432
+ "numbering": [
433
+ 1,
434
+ 1
435
+ ],
436
+ "parent": "root"
437
+ },
438
+ {
439
+ "value": "Accessibility standards",
440
+ "href": "#accessibility-standards",
441
+ "depth": 3,
442
+ "numbering": [
443
+ 1,
444
+ 1,
445
+ 1
446
+ ],
447
+ "parent": "root"
448
+ }
449
+ ]
450
+ },
451
+ "dev": {
452
+ "mdx": "\n## Getting started\n\n### Import\n\n```tsx\nimport { Alert, type AlertProps } from '@commercetools/nimbus';\n```\n\n### Basic usage\n\nThe Alert component uses a compound component pattern. You must wrap all parts in `Alert.Root`. The component automatically handles layout and icon selection based on the `colorPalette`.\n\n```jsx live-dev\nconst App = () => (\n <Alert.Root colorPalette=\"info\">\n <Alert.Title>Information</Alert.Title>\n <Alert.Description>\n This is a basic alert message notifying you of a change.\n </Alert.Description>\n </Alert.Root>\n)\n```\n\n## Usage examples\n\n### Color palettes\n\nThe `colorPalette` prop determines the semantic color and the accompanying icon. The following examples demonstrate every palette available for this component (`positive`, `warning`, `critical`, `info`).\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"400\">\n <Alert.Root colorPalette=\"positive\">\n <Alert.Title>Positive</Alert.Title>\n <Alert.Description>Operation completed successfully.</Alert.Description>\n </Alert.Root>\n\n <Alert.Root colorPalette=\"warning\">\n <Alert.Title>Warning</Alert.Title>\n <Alert.Description>Please review your changes.</Alert.Description>\n </Alert.Root>\n\n <Alert.Root colorPalette=\"critical\">\n <Alert.Title>Critical</Alert.Title>\n <Alert.Description>An error occurred while saving.</Alert.Description>\n </Alert.Root>\n\n <Alert.Root colorPalette=\"info\">\n <Alert.Title>Info</Alert.Title>\n <Alert.Description>New updates are available.</Alert.Description>\n </Alert.Root>\n </Stack>\n)\n```\n\n### Visual variants\n\nTwo visual variants are available to suit different interface needs: `outlined` (default) and `flat`.\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"400\">\n <Alert.Root variant=\"outlined\" colorPalette=\"info\">\n <Alert.Title>Outlined (Default)</Alert.Title>\n <Alert.Description>\n Best for high-contrast environments or when the alert needs to stand out against a colored background.\n </Alert.Description>\n </Alert.Root>\n\n <Alert.Root variant=\"flat\" colorPalette=\"info\">\n <Alert.Title>Flat</Alert.Title>\n <Alert.Description>\n A subtler look, suitable for dense interfaces or secondary notifications.\n </Alert.Description>\n </Alert.Root>\n </Stack>\n)\n```\n\n### Flexible composition\n\nThe component parts (`Title`, `Description`, `Actions`, `DismissButton`) can be composed as needed. The `Alert.Root` handles the layout regardless of the order in JSX.\n\n**Title only:**\n\n```jsx live-dev\nconst App = () => (\n <Alert.Root colorPalette=\"positive\">\n <Alert.Title>Success: Item created.</Alert.Title>\n </Alert.Root>\n)\n```\n\n**Description only:**\n\n```jsx live-dev\nconst App = () => (\n <Alert.Root colorPalette=\"info\">\n <Alert.Description>\n System maintenance scheduled for tonight at 02:00 UTC.\n </Alert.Description>\n </Alert.Root>\n)\n```\n\n### Adding actions\n\nUse `Alert.Actions` to group action buttons. These will be positioned correctly within the alert layout.\n\n```jsx live-dev\nconst App = () => (\n <Alert.Root colorPalette=\"warning\">\n <Alert.Title>Storage Limit Reached</Alert.Title>\n <Alert.Description>\n You have used 95% of your available storage.\n </Alert.Description>\n <Alert.Actions>\n <Stack direction=\"row\" gap=\"200\">\n <Button variant=\"solid\">Upgrade Plan</Button>\n <Button variant=\"ghost\">Dismiss</Button>\n </Stack>\n </Alert.Actions>\n </Alert.Root>\n)\n```\n\n### Dismissible alerts\n\nAdd the `Alert.DismissButton` to provide a close action. You must handle the dismissal logic (e.g., removing the alert from the DOM) yourself.\n\n```jsx live-dev\nconst App = () => {\n const [isVisible, setIsVisible] = useState(true);\n\n if (!isVisible) {\n return (\n <Button onPress={() => setIsVisible(true)}>\n Reset Example\n </Button>\n );\n }\n\n return (\n <Alert.Root colorPalette=\"info\" variant=\"outlined\">\n <Alert.Title>Dismissible Alert</Alert.Title>\n <Alert.Description>\n Click the close button to dismiss this message.\n </Alert.Description>\n <Alert.DismissButton onPress={() => setIsVisible(false)} />\n </Alert.Root>\n );\n}\n```\n\n## Component requirements\n\n## Accessibility\n\nThe `Alert` component has built-in accessibility features:\n\n- **Role**: The root element automatically has `role=\"alert\"`. This informs screen readers that the content is important and time-sensitive. Because of `role=\"alert\"`'s intrusive nature, the `Alert` component should be used sparingly and only in situations where the user's immediate attention is required.\n- **Icons**: Decorative icons are automatically hidden from screen readers to avoid redundancy.\n- **Dismiss Button**: The `Alert.DismissButton` comes with a default accessible label (\"Dismiss\") which can be localized or overridden via `aria-label`.\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 = \"example-alert\";\n\nexport const Example = () => (\n <Alert.Root id={PERSISTENT_ID}>\n <Alert.Title>Notification</Alert.Title>\n </Alert.Root>\n);\n```\n\n### Composition constraints\n\nThe `Alert` component manages its own layout grid. To ensure correct placement:\n\n- Keep sub-components (`Title`, `Description`, `Actions`, `DismissButton`) as direct children of `Alert.Root`.\n- Do not wrap sub-components in other elements (like `div` or `Stack`), as these wrappers will be rendered as part of the layout and may break the visual structure.\n- You *can* use layout components *inside* `Alert.Actions` or `Alert.Description` to organize content within those slots.\n\n## API reference\n\n<PropsTable id=\"Alert\" />\n\n## Testing your implementation\n\nThese examples demonstrate how to test your implementation when using Alert 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 alert renders with the expected content and role\n\n```tsx\nimport { describe, it, expect, vi } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport userEvent from \"@testing-library/user-event\";\nimport { Alert, Button, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Alert - Basic rendering\", () => {\n it(\"renders the alert message\", () => {\n render(\n <NimbusProvider>\n <Alert.Root colorPalette=\"critical\">\n <Alert.Title>Error saving</Alert.Title>\n <Alert.Description>Connection lost</Alert.Description>\n </Alert.Root>\n </NimbusProvider>\n );\n\n expect(screen.getByRole(\"alert\")).toBeInTheDocument();\n expect(screen.getByText(\"Error saving\")).toBeInTheDocument();\n expect(screen.getByText(\"Connection lost\")).toBeInTheDocument();\n });\n\n it(\"renders with title only\", () => {\n render(\n <NimbusProvider>\n <Alert.Root colorPalette=\"positive\">\n <Alert.Title>Success: Item created.</Alert.Title>\n </Alert.Root>\n </NimbusProvider>\n );\n\n expect(screen.getByRole(\"alert\")).toBeInTheDocument();\n expect(screen.getByText(\"Success: Item created.\")).toBeInTheDocument();\n });\n\n it(\"renders with description only\", () => {\n render(\n <NimbusProvider>\n <Alert.Root colorPalette=\"info\">\n <Alert.Description>\n System maintenance scheduled for tonight at 02:00 UTC.\n </Alert.Description>\n </Alert.Root>\n </NimbusProvider>\n );\n\n expect(screen.getByRole(\"alert\")).toBeInTheDocument();\n expect(\n screen.getByText(\"System maintenance scheduled for tonight at 02:00 UTC.\")\n ).toBeInTheDocument();\n });\n});\n```\n\n### Interaction Tests\n\nTest interactions with actions and dismiss buttons\n\n```tsx\nimport { describe, it, expect, vi } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport userEvent from \"@testing-library/user-event\";\nimport { Alert, Button, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Alert - Interactions\", () => {\n it(\"calls the dismiss handler when clicked\", async () => {\n const user = userEvent.setup();\n const handleDismiss = vi.fn();\n\n render(\n <NimbusProvider>\n <Alert.Root>\n <Alert.Title>Notification</Alert.Title>\n <Alert.DismissButton onPress={handleDismiss} />\n </Alert.Root>\n </NimbusProvider>\n );\n\n const dismissBtn = screen.getByRole(\"button\", { name: /dismiss/i });\n await user.click(dismissBtn);\n\n expect(handleDismiss).toHaveBeenCalledTimes(1);\n });\n\n it(\"handles action clicks\", async () => {\n const user = userEvent.setup();\n const handleAction = vi.fn();\n\n render(\n <NimbusProvider>\n <Alert.Root>\n <Alert.Title>Confirmation</Alert.Title>\n <Alert.Actions>\n <Button onPress={handleAction}>Confirm</Button>\n </Alert.Actions>\n </Alert.Root>\n </NimbusProvider>\n );\n\n await user.click(screen.getByRole(\"button\", { name: \"Confirm\" }));\n expect(handleAction).toHaveBeenCalled();\n });\n});\n```\n\n\n## Resources\n\n- [Storybook](https://nimbus-storybook.vercel.app/?path=/docs/components-alert--docs)\n\n",
453
+ "toc": [
454
+ {
455
+ "value": "Getting started",
456
+ "href": "#getting-started",
457
+ "depth": 2,
458
+ "numbering": [
459
+ 1,
460
+ 1
461
+ ],
462
+ "parent": "root"
463
+ },
464
+ {
465
+ "value": "Import",
466
+ "href": "#import",
467
+ "depth": 3,
468
+ "numbering": [
469
+ 1,
470
+ 1,
471
+ 1
472
+ ],
473
+ "parent": "root"
474
+ },
475
+ {
476
+ "value": "Basic usage",
477
+ "href": "#basic-usage",
478
+ "depth": 3,
479
+ "numbering": [
480
+ 1,
481
+ 1,
482
+ 2
483
+ ],
484
+ "parent": "root"
485
+ },
486
+ {
487
+ "value": "Usage examples",
488
+ "href": "#usage-examples",
489
+ "depth": 2,
490
+ "numbering": [
491
+ 1,
492
+ 2
493
+ ],
494
+ "parent": "root"
495
+ },
496
+ {
497
+ "value": "Color palettes",
498
+ "href": "#color-palettes",
499
+ "depth": 3,
500
+ "numbering": [
501
+ 1,
502
+ 2,
503
+ 1
504
+ ],
505
+ "parent": "root"
506
+ },
507
+ {
508
+ "value": "Visual variants",
509
+ "href": "#visual-variants",
510
+ "depth": 3,
511
+ "numbering": [
512
+ 1,
513
+ 2,
514
+ 2
515
+ ],
516
+ "parent": "root"
517
+ },
518
+ {
519
+ "value": "Flexible composition",
520
+ "href": "#flexible-composition",
521
+ "depth": 3,
522
+ "numbering": [
523
+ 1,
524
+ 2,
525
+ 3
526
+ ],
527
+ "parent": "root"
528
+ },
529
+ {
530
+ "value": "Adding actions",
531
+ "href": "#adding-actions",
532
+ "depth": 3,
533
+ "numbering": [
534
+ 1,
535
+ 2,
536
+ 4
537
+ ],
538
+ "parent": "root"
539
+ },
540
+ {
541
+ "value": "Dismissible alerts",
542
+ "href": "#dismissible-alerts",
543
+ "depth": 3,
544
+ "numbering": [
545
+ 1,
546
+ 2,
547
+ 5
548
+ ],
549
+ "parent": "root"
550
+ },
551
+ {
552
+ "value": "Component requirements",
553
+ "href": "#component-requirements",
554
+ "depth": 2,
555
+ "numbering": [
556
+ 1,
557
+ 3
558
+ ],
559
+ "parent": "root"
560
+ },
561
+ {
562
+ "value": "Accessibility",
563
+ "href": "#accessibility",
564
+ "depth": 2,
565
+ "numbering": [
566
+ 1,
567
+ 4
568
+ ],
569
+ "parent": "root"
570
+ },
571
+ {
572
+ "value": "Composition constraints",
573
+ "href": "#composition-constraints",
574
+ "depth": 3,
575
+ "numbering": [
576
+ 1,
577
+ 4,
578
+ 1
579
+ ],
580
+ "parent": "root"
581
+ },
582
+ {
583
+ "value": "API reference",
584
+ "href": "#api-reference",
585
+ "depth": 2,
586
+ "numbering": [
587
+ 1,
588
+ 5
589
+ ],
590
+ "parent": "root"
591
+ },
592
+ {
593
+ "value": "Testing your implementation",
594
+ "href": "#testing-your-implementation",
595
+ "depth": 2,
596
+ "numbering": [
597
+ 1,
598
+ 6
599
+ ],
600
+ "parent": "root"
601
+ },
602
+ {
603
+ "value": "Basic Rendering Tests",
604
+ "href": "#basic-rendering-tests",
605
+ "depth": 3,
606
+ "numbering": [
607
+ 1,
608
+ 6,
609
+ 1
610
+ ],
611
+ "parent": "root"
612
+ },
613
+ {
614
+ "value": "Interaction Tests",
615
+ "href": "#interaction-tests",
616
+ "depth": 3,
617
+ "numbering": [
618
+ 1,
619
+ 6,
620
+ 2
621
+ ],
622
+ "parent": "root"
623
+ },
624
+ {
625
+ "value": "Resources",
626
+ "href": "#resources",
627
+ "depth": 2,
628
+ "numbering": [
629
+ 1,
630
+ 7
631
+ ],
632
+ "parent": "root"
633
+ }
634
+ ]
635
+ },
636
+ "guidelines": {
637
+ "mdx": "\n## Guidelines\n\nAlert guidelines focus on delivering important and timely messages to users in a\nclear, noticeable, and accessible way, ensuring they understand the significance\nof the information and any required actions, while minimizing disruption to\ntheir workflow.\n\n### Writing guidelines\n\n- **Clarity and urgency:** Use clear, short messages with titles that match the\n alert's urgency, and use visuals to reinforce it.\n- **User experience:** Place alerts strategically, allow dismissal when\n available, provide actionable content, and avoid overuse to prevent alert\n fatigue. Excessive and poorly designed alerts can lead to alert fatigue, a\n state of desensitization where individuals disregard or fail to act upon\n critical notifications due to overexposure, often stemming from alerts that\n are too frequent, irrelevant to the user's context, or lacking in actionable\n information.\n - **Flat styled:** Use inline in forms and within popovers when needed. These\n can be used inside forms to signal validation status.\n - **Outlined styled:** Be mindful of how many alerts occur on one page. These\n are best used for page or product wide information. They are not meant to be\n used as toasts.\n- **Accessibility and design:** Maintain consistent styling, use color and icons\n effectively, and ensure alerts are accessible to all users. For example, do\n not use the information colorPalette to communicate a critical error.\n\n### Usage\n\nCorrect usage guides for alerts are important for we do not want to fatigue\nusers to a point where alert messages are ignored.\n\n> [!TIP]\\\n> When to use\n\n- **Do use alerts for important information:** Reserve alerts for critical,\n urgent, or highly relevant messages that require user attention.\n- **Do choose the right alert type:** Match the alert's colorPalette and visual\n style to the severity of the message (positive, informational, warning,\n critical).\n- **Do provide clear and concise messages:** Write messages that are easy to\n understand and avoid jargon.\n- **Do include actionable items:** If necessary, provide clear calls to action\n (buttons, links) to help users resolve the issue.\n- **Do allow users to dismiss alerts:** Give users the option to dismiss alerts\n when they are no longer relevant.\n- **Do place alerts strategically:** Position alerts where they are easily\n noticed but don't disrupt the user's workflow.\n- **Do maintain consistency:** Use consistent styling and behavior for alerts\n across your application or website.\n\n> [!CAUTION]\\\n> When not to use\n\n- **Don't overuse alerts:** Avoid using alerts for minor or non-essential\n information. Try to keep to one alert per view for most interactions. Overuse\n leads to alert fatigue.\n- **Don't use alerts for regular updates:** Use other UI elements (e.g., toasts,\n confirmation, and error states) for non-urgent updates.\n- **Don't obscure critical content:** Avoid placing alerts in a way that blocks\n important information or functionality.\n- **Don't use confusing or ambiguous language:** Ensure alert messages are clear\n and easy to understand.\n- **Don't create unnecessary interruptions:** Avoid using alerts that abruptly\n interrupt the user's workflow without a valid reason.\n- **Don't make them too hard to dismiss:** Ensure that the user can easily close\n an alert.\n\n### Use the correct colorPalette\n\nEnsure that you choose the correct colorPalette that will suit your message\nbest. If you choose the wrong type, it will confuse users.\n\n> [!TIP]\\\n> **Do**\n>\n> - This message correctly aligns message with the colorPalette needed to let\n> the user know the information should be taken seriously.\n> - There is enough detailed information for the user to understand the issue\n> and how to perform next steps to correct it.\n> - Utilizing actionable buttons to guide the user faster to the area that needs\n> to be addressed is useful and convenient.\n\n```jsx live\nconst App = () => (\n <Alert.Root colorPalette=\"critical\" variant=\"outlined\">\n <Alert.Title>Payment Processing Error</Alert.Title>\n <Alert.Description>\n A payment processing error occurred for order #12345. Please <Link>verify your\n payment gateway settings</Link> immediately to prevent further issues.\n </Alert.Description>\n <Alert.Actions>\n <Button variant=\"outline\">Go to settings</Button>\n </Alert.Actions>\n </Alert.Root>\n);\n```\n\n> [!CAUTION]\\\n> **Don't**\n>\n> - This message does not align with the correct colorPalette needed.\n> - There isn’t enough information for the user to understand how to fix the\n> issue, or what went wrong. Provide more detailed information and advice to\n> clear the error.\n> - This type of message is critical, rethink about allowing the user to clear\n> the message instead of fixing the issue.\n> - You do not need to use both a close icon and a dismiss button.\n\n```jsx live\nconst App = () => (\n <Alert.Root colorPalette=\"positive\" variant=\"outlined\">\n <Alert.Title>Payment Processing Error</Alert.Title>\n <Alert.Actions>\n <Button variant=\"outline\">Dismiss</Button>\n </Alert.Actions>\n <Alert.DismissButton />\n </Alert.Root>\n);\n```\n\n### Placements\n\nAlerts are very flexible and can be placed in line or within pages, but be\nmindful not to use alert placement to cover or mask features that a user means\nto use. Judge if this message is permanent, or if it would be okay to allow the\nuser to dismiss the alert to clean up their experience once digesting the\ninformation provided in the alert.\n\nAlerts should not hover or lay on top of other elements.\n\n> [!TIP]\\\n> **Do**\n>\n> - Place inline where the information makes sense and is needed most without\n> covering access to surrounding elements.\n> - Allow for the user to clear messages when applicable to keep their UI clean,\n> and if they find non-critical information distracting.\n> - If information is needed permanently in the UI, try using another component\n> like the info icon paired with the tooltip or popover.\n\n```jsx live\nconst App = () => (\n <Stack direction=\"column\" width=\"8000\">\n <Alert.Root colorPalette=\"critical\" variant=\"outlined\">\n <Alert.Title>Account needs validation</Alert.Title>\n <Alert.Description>\n To edit these fields you must first validate your account. Please check your email.\n </Alert.Description>\n </Alert.Root>\n <Text fontWeight=\"500\">Product price mode</Text>\n <TextInput isInvalid />\n </Stack>\n);\n```\n\n> [!CAUTION]\\\n> **Don't**\n>\n> - Do not use alerts for form errors, instead use error helper text that\n> populates below the field.\n> - Do not cover other elements on the page with the alert.\n> - Do not restrict the user from clearing messages when applicable. (Critical\n> and warning messages are more likely to be persistent. Judge if the content\n> needs to persist.)\n\n```jsx live\nconst App = () => (\n <Box>\n <Stack direction=\"column\">\n <Text fontWeight=\"500\">Product price mode</Text>\n <TextInput isInvalid />\n </Stack>\n\n <Alert.Root colorPalette=\"critical\" variant=\"outlined\" width=\"9600\" position=\"relative\" top=\"-500\" left=\"500\">\n <Alert.Title>Product price mode error</Alert.Title>\n <Alert.Description>\n This price mode has not been defined.\n </Alert.Description>\n <Alert.Actions>\n <Button variant=\"outline\">Define price mode</Button>\n </Alert.Actions>\n </Alert.Root>\n </Box>\n);\n```\n\n> [!TIP]\\\n> **Do**\n>\n> - With form specific validation alerts, use the flat styled alerts. Keep\n> warnings short in these locations, and if needed, include links for users.\n> - When there is more information needed, you can use flat-styled alerts within\n> popovers.\n\n```jsx live\nconst App = () => (\n <Stack direction=\"column\">\n <Text fontWeight=\"500\">Customer group</Text>\n <TextInput isDisabled />\n <Alert.Root colorPalette=\"warning\" variant=\"flat\">\n <Alert.Description>You do not have access to edit this field</Alert.Description>\n </Alert.Root>\n </Stack>\n);\n```\n\n> [!CAUTION]\\\n> **Don't**\n>\n> - Do not put error messages within info popovers, use error or alert messaging\n> that is shown to the user instead of hiding them in areas that require\n> interaction.\n\n```jsx live\nconst App = () => (\n <Stack direction=\"column\">\n <Text fontWeight=\"500\">Customer group</Text>\n <TextInput isInvalid />\n <Alert.Root colorPalette=\"critical\" variant=\"flat\" position=\"relative\" top=\"-1000\" width=\"8000\">\n <Alert.Description>This customer group does not exist or may have been deleted. Try again.</Alert.Description>\n </Alert.Root>\n </Stack>\n);\n```\n",
638
+ "toc": [
639
+ {
640
+ "value": "Guidelines",
641
+ "href": "#guidelines",
642
+ "depth": 2,
643
+ "numbering": [
644
+ 1,
645
+ 1
646
+ ],
647
+ "parent": "root"
648
+ },
649
+ {
650
+ "value": "Writing guidelines",
651
+ "href": "#writing-guidelines",
652
+ "depth": 3,
653
+ "numbering": [
654
+ 1,
655
+ 1,
656
+ 1
657
+ ],
658
+ "parent": "root"
659
+ },
660
+ {
661
+ "value": "Usage",
662
+ "href": "#usage",
663
+ "depth": 3,
664
+ "numbering": [
665
+ 1,
666
+ 1,
667
+ 2
668
+ ],
669
+ "parent": "root"
670
+ },
671
+ {
672
+ "value": "Use the correct colorPalette",
673
+ "href": "#use-the-correct-colorpalette",
674
+ "depth": 3,
675
+ "numbering": [
676
+ 1,
677
+ 1,
678
+ 3
679
+ ],
680
+ "parent": "root"
681
+ },
682
+ {
683
+ "value": "Placements",
684
+ "href": "#placements",
685
+ "depth": 3,
686
+ "numbering": [
687
+ 1,
688
+ 1,
689
+ 4
690
+ ],
691
+ "parent": "root"
692
+ }
693
+ ]
694
+ }
695
+ }
696
+ }