@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,629 @@
1
+ {
2
+ "meta": {
3
+ "id": "Components-Steps",
4
+ "title": "Steps",
5
+ "exportName": "Steps",
6
+ "description": "A progress indicator with built-in navigation that visually communicates the user's position within a multi-step process such as forms, wizards, and onboarding flows.",
7
+ "lifecycleState": "Beta",
8
+ "order": 999,
9
+ "repoPath": "packages/nimbus/src/components/steps/steps.mdx",
10
+ "menu": [
11
+ "Components",
12
+ "Navigation",
13
+ "Steps"
14
+ ],
15
+ "route": "components/navigation/steps",
16
+ "tags": [
17
+ "component",
18
+ "stepper",
19
+ "progress",
20
+ "wizard",
21
+ "navigation"
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": "Key Features",
36
+ "href": "#key-features",
37
+ "depth": 3,
38
+ "numbering": [
39
+ 1,
40
+ 1,
41
+ 1
42
+ ],
43
+ "parent": "root"
44
+ },
45
+ {
46
+ "value": "Resources",
47
+ "href": "#resources",
48
+ "depth": 3,
49
+ "numbering": [
50
+ 1,
51
+ 1,
52
+ 2
53
+ ],
54
+ "parent": "root"
55
+ },
56
+ {
57
+ "value": "Variables",
58
+ "href": "#variables",
59
+ "depth": 2,
60
+ "numbering": [
61
+ 1,
62
+ 2
63
+ ],
64
+ "parent": "root"
65
+ },
66
+ {
67
+ "value": "Size",
68
+ "href": "#size",
69
+ "depth": 3,
70
+ "numbering": [
71
+ 1,
72
+ 2,
73
+ 1
74
+ ],
75
+ "parent": "root"
76
+ },
77
+ {
78
+ "value": "Orientation",
79
+ "href": "#orientation",
80
+ "depth": 3,
81
+ "numbering": [
82
+ 1,
83
+ 2,
84
+ 2
85
+ ],
86
+ "parent": "root"
87
+ },
88
+ {
89
+ "value": "Horizontal",
90
+ "href": "#horizontal",
91
+ "depth": 4,
92
+ "numbering": [
93
+ 1,
94
+ 2,
95
+ 2,
96
+ 1
97
+ ],
98
+ "parent": "root"
99
+ },
100
+ {
101
+ "value": "Vertical",
102
+ "href": "#vertical",
103
+ "depth": 4,
104
+ "numbering": [
105
+ 1,
106
+ 2,
107
+ 2,
108
+ 2
109
+ ],
110
+ "parent": "root"
111
+ },
112
+ {
113
+ "value": "Indicator content",
114
+ "href": "#indicator-content",
115
+ "depth": 3,
116
+ "numbering": [
117
+ 1,
118
+ 2,
119
+ 3
120
+ ],
121
+ "parent": "root"
122
+ },
123
+ {
124
+ "value": "Numbers with checkmarks",
125
+ "href": "#numbers-with-checkmarks",
126
+ "depth": 4,
127
+ "numbering": [
128
+ 1,
129
+ 2,
130
+ 3,
131
+ 1
132
+ ],
133
+ "parent": "root"
134
+ },
135
+ {
136
+ "value": "Custom icons",
137
+ "href": "#custom-icons",
138
+ "depth": 4,
139
+ "numbering": [
140
+ 1,
141
+ 2,
142
+ 3,
143
+ 2
144
+ ],
145
+ "parent": "root"
146
+ },
147
+ {
148
+ "value": "Step states",
149
+ "href": "#step-states",
150
+ "depth": 3,
151
+ "numbering": [
152
+ 1,
153
+ 2,
154
+ 4
155
+ ],
156
+ "parent": "root"
157
+ },
158
+ {
159
+ "value": "Color palette",
160
+ "href": "#color-palette",
161
+ "depth": 3,
162
+ "numbering": [
163
+ 1,
164
+ 2,
165
+ 5
166
+ ],
167
+ "parent": "root"
168
+ },
169
+ {
170
+ "value": "Guidelines",
171
+ "href": "#guidelines",
172
+ "depth": 2,
173
+ "numbering": [
174
+ 1,
175
+ 3
176
+ ],
177
+ "parent": "root"
178
+ },
179
+ {
180
+ "value": "Best practices",
181
+ "href": "#best-practices",
182
+ "depth": 3,
183
+ "numbering": [
184
+ 1,
185
+ 3,
186
+ 1
187
+ ],
188
+ "parent": "root"
189
+ },
190
+ {
191
+ "value": "Accessibility",
192
+ "href": "#accessibility",
193
+ "depth": 2,
194
+ "numbering": [
195
+ 1,
196
+ 4
197
+ ],
198
+ "parent": "root"
199
+ },
200
+ {
201
+ "value": "Accessibility standards",
202
+ "href": "#accessibility-standards",
203
+ "depth": 3,
204
+ "numbering": [
205
+ 1,
206
+ 4,
207
+ 1
208
+ ],
209
+ "parent": "root"
210
+ }
211
+ ],
212
+ "figmaLink": "https://www.figma.com/design/AvtPX6g7OGGCRvNlatGOIY/NIMBUS-design-system?node-id=7347-81826",
213
+ "layout": "app-frame",
214
+ "tabs": [
215
+ {
216
+ "key": "overview",
217
+ "title": "Overview",
218
+ "order": 0
219
+ },
220
+ {
221
+ "key": "dev",
222
+ "title": "Implementation",
223
+ "order": 3
224
+ }
225
+ ]
226
+ },
227
+ "mdx": "\n## Overview\n\nThe Steps component helps users understand where they are in a multi-step\nprocess. It provides clear visual feedback about completed, current, and\nupcoming steps, making complex workflows feel more manageable and predictable.\n\n### Key Features\n\n- **Three size variants**: Extra small (xs), small (sm), and medium (md) to fit\n different interface densities\n- **Two orientations**: Horizontal for wide layouts and vertical for sidebar or\n narrow contexts\n- **Flexible indicators**: Numeric step numbers with optional checkmarks, or\n custom icons for semantic meaning\n- **Built-in navigation**: Includes navigation triggers and content panels with\n automatic state management\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=7347-81826)\n\n## Variables\n\nGet familiar with the features.\n\n### Size\n\nThree sizes are available to match your interface density.\n\n```jsx-live\nconst App = () => (\n <Stack direction=\"column\" gap=\"800\">\n <Stack direction=\"column\" gap=\"200\">\n <Text fontWeight=\"600\" fontSize=\"350\">Extra Small (xs) - 24px indicator</Text>\n <Steps.Root defaultStep={1} count={3} size=\"xs\">\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Profile</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Review</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n </Stack>\n\n <Stack direction=\"column\" gap=\"200\">\n <Text fontWeight=\"600\" fontSize=\"350\">Small (sm, default) - 32px indicator</Text>\n <Steps.Root defaultStep={1} count={3} size=\"sm\">\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Profile</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Review</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n </Stack>\n\n <Stack direction=\"column\" gap=\"200\">\n <Text fontWeight=\"600\" fontSize=\"350\">Medium (md) - 40px indicator</Text>\n <Steps.Root defaultStep={1} count={3} size=\"md\">\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Profile</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Review</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n </Stack>\n </Stack>\n)\n```\n\n### Orientation\n\nChoose between horizontal and vertical layouts.\n\n#### Horizontal\n\nDefault orientation, best for wide layouts and wizard headers.\n\n```jsx-live\nconst App = () => (\n <Steps.Root defaultStep={1} count={3} orientation=\"horizontal\">\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Account</Steps.Title>\n <Steps.Description>Create your account</Steps.Description>\n </Box>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Profile</Steps.Title>\n <Steps.Description>Complete your profile</Steps.Description>\n </Box>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Review</Steps.Title>\n <Steps.Description>Review and submit</Steps.Description>\n </Box>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n)\n```\n\n#### Vertical\n\nBest for sidebars, narrow containers, or when steps need longer descriptions.\n\n```jsx-live\nconst App = () => (\n <Steps.Root defaultStep={1} count={3} orientation=\"vertical\">\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Account Details</Steps.Title>\n <Steps.Description>Set up your email and password</Steps.Description>\n </Box>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Personal Information</Steps.Title>\n <Steps.Description>Enter your name and contact details</Steps.Description>\n </Box>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Confirmation</Steps.Title>\n <Steps.Description>Review and complete your setup</Steps.Description>\n </Box>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n)\n```\n\n### Indicator content\n\nThe `Steps.Status` component renders different content based on step state,\nallowing you to customize what appears for complete and incomplete steps.\n\n#### Numbers with checkmarks\n\nShow step numbers that transform into checkmarks when complete.\n\n```jsx-live\nconst App = () => (\n <Steps.Root defaultStep={1} count={3}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Complete</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Current</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Incomplete</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n)\n```\n\n#### Custom icons\n\nDisplay semantic icons that change to checkmarks when complete, providing visual\ncontext for each step's purpose.\n\n```jsx-live\nconst App = () => (\n <Steps.Root defaultStep={1} count={3}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Icons.Person />} />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Icons.Settings />} />\n </Steps.Indicator>\n <Steps.Title>Settings</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Icons.Verified />} />\n </Steps.Indicator>\n <Steps.Title>Verify</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n)\n```\n\n### Step states\n\nEach step visually indicates its state based on the current progress. Use the\nbuilt-in navigation triggers for seamless step management.\n\n```jsx-live\nconst App = () => (\n <Steps.Root defaultStep={1} count={4}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 1</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 2</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 3</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={3}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 4</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n\n <Stack direction=\"row\" gap=\"400\" mt=\"600\">\n <Steps.PrevTrigger asChild>\n <Button variant=\"outline\" size=\"sm\">Previous</Button>\n </Steps.PrevTrigger>\n <Steps.NextTrigger asChild>\n <Button variant=\"solid\" size=\"sm\">Next</Button>\n </Steps.NextTrigger>\n </Stack>\n </Steps.Root>\n)\n```\n\n### Color palette\n\nCustomize the visual theme using the `colorPalette` prop.\n\n```jsx-live\nconst App = () => {\n const renderSteps = (colorPalette) => (\n <Steps.Root defaultStep={1} count={3} colorPalette={colorPalette}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 1</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 2</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 3</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n );\n\n return (\n <Stack direction=\"column\" gap=\"600\">\n <Stack direction=\"column\" gap=\"200\">\n <Text fontWeight=\"600\">primary (default)</Text>\n {renderSteps(\"primary\")}\n </Stack>\n <Stack direction=\"column\" gap=\"200\">\n <Text fontWeight=\"600\">positive</Text>\n {renderSteps(\"positive\")}\n </Stack>\n <Stack direction=\"column\" gap=\"200\">\n <Text fontWeight=\"600\">critical</Text>\n {renderSteps(\"critical\")}\n </Stack>\n </Stack>\n );\n}\n```\n\n## Guidelines\n\nUse the Steps component strategically to enhance user workflow.\n\n### Best practices\n\n- **Keep labels concise**: Use short, clear step labels that describe the action\n or content\n- **Limit step count**: Avoid more than 5-7 steps to prevent overwhelming users\n- **Provide descriptions**: Use descriptions for complex steps that need\n additional context\n- **Maintain consistency**: Use the same indicator pattern throughout a flow\n\n> [!TIP]\\\n> When to use\n>\n> - **Multi-step forms**: Registration, checkout, surveys\n> - **Wizards**: Setup flows, configuration, onboarding\n> - **Progress tracking**: Task completion, status indicators\n\n> [!CAUTION]\\\n> When not to use\n>\n> - **Linear navigation**: Use tabs or pagination instead\n> - **Single actions**: Steps are meant for multi-step processes\n> - **Unknown step count**: Use progress bars for indeterminate progress\n\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### Accessibility standards\n\n- **Semantic structure**: Uses tablist semantics (`role=\"tablist\"` and\n `role=\"tab\"`) for proper screen reader navigation\n- **Current step indication**: Uses `aria-selected=\"true\"` to announce the\n active step\n- **Panel association**: Triggers reference their content panels via\n `aria-controls`\n- **Orientation**: Communicated via `aria-orientation` attribute\n- **Keyboard navigation**: Tab moves focus between triggers; Enter/Click\n activates a trigger\n- **Color independence**: State is communicated through both color AND visual\n indicators (checkmarks, styling) to support users with color vision deficiency\n",
228
+ "views": {
229
+ "overview": {
230
+ "mdx": "\n## Overview\n\nThe Steps component helps users understand where they are in a multi-step\nprocess. It provides clear visual feedback about completed, current, and\nupcoming steps, making complex workflows feel more manageable and predictable.\n\n### Key Features\n\n- **Three size variants**: Extra small (xs), small (sm), and medium (md) to fit\n different interface densities\n- **Two orientations**: Horizontal for wide layouts and vertical for sidebar or\n narrow contexts\n- **Flexible indicators**: Numeric step numbers with optional checkmarks, or\n custom icons for semantic meaning\n- **Built-in navigation**: Includes navigation triggers and content panels with\n automatic state management\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=7347-81826)\n\n## Variables\n\nGet familiar with the features.\n\n### Size\n\nThree sizes are available to match your interface density.\n\n```jsx-live\nconst App = () => (\n <Stack direction=\"column\" gap=\"800\">\n <Stack direction=\"column\" gap=\"200\">\n <Text fontWeight=\"600\" fontSize=\"350\">Extra Small (xs) - 24px indicator</Text>\n <Steps.Root defaultStep={1} count={3} size=\"xs\">\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Profile</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Review</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n </Stack>\n\n <Stack direction=\"column\" gap=\"200\">\n <Text fontWeight=\"600\" fontSize=\"350\">Small (sm, default) - 32px indicator</Text>\n <Steps.Root defaultStep={1} count={3} size=\"sm\">\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Profile</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Review</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n </Stack>\n\n <Stack direction=\"column\" gap=\"200\">\n <Text fontWeight=\"600\" fontSize=\"350\">Medium (md) - 40px indicator</Text>\n <Steps.Root defaultStep={1} count={3} size=\"md\">\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Profile</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Review</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n </Stack>\n </Stack>\n)\n```\n\n### Orientation\n\nChoose between horizontal and vertical layouts.\n\n#### Horizontal\n\nDefault orientation, best for wide layouts and wizard headers.\n\n```jsx-live\nconst App = () => (\n <Steps.Root defaultStep={1} count={3} orientation=\"horizontal\">\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Account</Steps.Title>\n <Steps.Description>Create your account</Steps.Description>\n </Box>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Profile</Steps.Title>\n <Steps.Description>Complete your profile</Steps.Description>\n </Box>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Review</Steps.Title>\n <Steps.Description>Review and submit</Steps.Description>\n </Box>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n)\n```\n\n#### Vertical\n\nBest for sidebars, narrow containers, or when steps need longer descriptions.\n\n```jsx-live\nconst App = () => (\n <Steps.Root defaultStep={1} count={3} orientation=\"vertical\">\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Account Details</Steps.Title>\n <Steps.Description>Set up your email and password</Steps.Description>\n </Box>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Personal Information</Steps.Title>\n <Steps.Description>Enter your name and contact details</Steps.Description>\n </Box>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Confirmation</Steps.Title>\n <Steps.Description>Review and complete your setup</Steps.Description>\n </Box>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n)\n```\n\n### Indicator content\n\nThe `Steps.Status` component renders different content based on step state,\nallowing you to customize what appears for complete and incomplete steps.\n\n#### Numbers with checkmarks\n\nShow step numbers that transform into checkmarks when complete.\n\n```jsx-live\nconst App = () => (\n <Steps.Root defaultStep={1} count={3}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Complete</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Current</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Incomplete</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n)\n```\n\n#### Custom icons\n\nDisplay semantic icons that change to checkmarks when complete, providing visual\ncontext for each step's purpose.\n\n```jsx-live\nconst App = () => (\n <Steps.Root defaultStep={1} count={3}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Icons.Person />} />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Icons.Settings />} />\n </Steps.Indicator>\n <Steps.Title>Settings</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Icons.Verified />} />\n </Steps.Indicator>\n <Steps.Title>Verify</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n)\n```\n\n### Step states\n\nEach step visually indicates its state based on the current progress. Use the\nbuilt-in navigation triggers for seamless step management.\n\n```jsx-live\nconst App = () => (\n <Steps.Root defaultStep={1} count={4}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 1</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 2</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 3</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={3}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 4</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n\n <Stack direction=\"row\" gap=\"400\" mt=\"600\">\n <Steps.PrevTrigger asChild>\n <Button variant=\"outline\" size=\"sm\">Previous</Button>\n </Steps.PrevTrigger>\n <Steps.NextTrigger asChild>\n <Button variant=\"solid\" size=\"sm\">Next</Button>\n </Steps.NextTrigger>\n </Stack>\n </Steps.Root>\n)\n```\n\n### Color palette\n\nCustomize the visual theme using the `colorPalette` prop.\n\n```jsx-live\nconst App = () => {\n const renderSteps = (colorPalette) => (\n <Steps.Root defaultStep={1} count={3} colorPalette={colorPalette}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 1</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 2</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status complete={<Icons.Check />} incomplete={<Steps.Number />} />\n </Steps.Indicator>\n <Steps.Title>Step 3</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n );\n\n return (\n <Stack direction=\"column\" gap=\"600\">\n <Stack direction=\"column\" gap=\"200\">\n <Text fontWeight=\"600\">primary (default)</Text>\n {renderSteps(\"primary\")}\n </Stack>\n <Stack direction=\"column\" gap=\"200\">\n <Text fontWeight=\"600\">positive</Text>\n {renderSteps(\"positive\")}\n </Stack>\n <Stack direction=\"column\" gap=\"200\">\n <Text fontWeight=\"600\">critical</Text>\n {renderSteps(\"critical\")}\n </Stack>\n </Stack>\n );\n}\n```\n\n## Guidelines\n\nUse the Steps component strategically to enhance user workflow.\n\n### Best practices\n\n- **Keep labels concise**: Use short, clear step labels that describe the action\n or content\n- **Limit step count**: Avoid more than 5-7 steps to prevent overwhelming users\n- **Provide descriptions**: Use descriptions for complex steps that need\n additional context\n- **Maintain consistency**: Use the same indicator pattern throughout a flow\n\n> [!TIP]\\\n> When to use\n>\n> - **Multi-step forms**: Registration, checkout, surveys\n> - **Wizards**: Setup flows, configuration, onboarding\n> - **Progress tracking**: Task completion, status indicators\n\n> [!CAUTION]\\\n> When not to use\n>\n> - **Linear navigation**: Use tabs or pagination instead\n> - **Single actions**: Steps are meant for multi-step processes\n> - **Unknown step count**: Use progress bars for indeterminate progress\n\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### Accessibility standards\n\n- **Semantic structure**: Uses tablist semantics (`role=\"tablist\"` and\n `role=\"tab\"`) for proper screen reader navigation\n- **Current step indication**: Uses `aria-selected=\"true\"` to announce the\n active step\n- **Panel association**: Triggers reference their content panels via\n `aria-controls`\n- **Orientation**: Communicated via `aria-orientation` attribute\n- **Keyboard navigation**: Tab moves focus between triggers; Enter/Click\n activates a trigger\n- **Color independence**: State is communicated through both color AND visual\n indicators (checkmarks, styling) to support users with color vision deficiency\n",
231
+ "toc": [
232
+ {
233
+ "value": "Overview",
234
+ "href": "#overview",
235
+ "depth": 2,
236
+ "numbering": [
237
+ 1,
238
+ 1
239
+ ],
240
+ "parent": "root"
241
+ },
242
+ {
243
+ "value": "Key Features",
244
+ "href": "#key-features",
245
+ "depth": 3,
246
+ "numbering": [
247
+ 1,
248
+ 1,
249
+ 1
250
+ ],
251
+ "parent": "root"
252
+ },
253
+ {
254
+ "value": "Resources",
255
+ "href": "#resources",
256
+ "depth": 3,
257
+ "numbering": [
258
+ 1,
259
+ 1,
260
+ 2
261
+ ],
262
+ "parent": "root"
263
+ },
264
+ {
265
+ "value": "Variables",
266
+ "href": "#variables",
267
+ "depth": 2,
268
+ "numbering": [
269
+ 1,
270
+ 2
271
+ ],
272
+ "parent": "root"
273
+ },
274
+ {
275
+ "value": "Size",
276
+ "href": "#size",
277
+ "depth": 3,
278
+ "numbering": [
279
+ 1,
280
+ 2,
281
+ 1
282
+ ],
283
+ "parent": "root"
284
+ },
285
+ {
286
+ "value": "Orientation",
287
+ "href": "#orientation",
288
+ "depth": 3,
289
+ "numbering": [
290
+ 1,
291
+ 2,
292
+ 2
293
+ ],
294
+ "parent": "root"
295
+ },
296
+ {
297
+ "value": "Horizontal",
298
+ "href": "#horizontal",
299
+ "depth": 4,
300
+ "numbering": [
301
+ 1,
302
+ 2,
303
+ 2,
304
+ 1
305
+ ],
306
+ "parent": "root"
307
+ },
308
+ {
309
+ "value": "Vertical",
310
+ "href": "#vertical",
311
+ "depth": 4,
312
+ "numbering": [
313
+ 1,
314
+ 2,
315
+ 2,
316
+ 2
317
+ ],
318
+ "parent": "root"
319
+ },
320
+ {
321
+ "value": "Indicator content",
322
+ "href": "#indicator-content",
323
+ "depth": 3,
324
+ "numbering": [
325
+ 1,
326
+ 2,
327
+ 3
328
+ ],
329
+ "parent": "root"
330
+ },
331
+ {
332
+ "value": "Numbers with checkmarks",
333
+ "href": "#numbers-with-checkmarks",
334
+ "depth": 4,
335
+ "numbering": [
336
+ 1,
337
+ 2,
338
+ 3,
339
+ 1
340
+ ],
341
+ "parent": "root"
342
+ },
343
+ {
344
+ "value": "Custom icons",
345
+ "href": "#custom-icons",
346
+ "depth": 4,
347
+ "numbering": [
348
+ 1,
349
+ 2,
350
+ 3,
351
+ 2
352
+ ],
353
+ "parent": "root"
354
+ },
355
+ {
356
+ "value": "Step states",
357
+ "href": "#step-states",
358
+ "depth": 3,
359
+ "numbering": [
360
+ 1,
361
+ 2,
362
+ 4
363
+ ],
364
+ "parent": "root"
365
+ },
366
+ {
367
+ "value": "Color palette",
368
+ "href": "#color-palette",
369
+ "depth": 3,
370
+ "numbering": [
371
+ 1,
372
+ 2,
373
+ 5
374
+ ],
375
+ "parent": "root"
376
+ },
377
+ {
378
+ "value": "Guidelines",
379
+ "href": "#guidelines",
380
+ "depth": 2,
381
+ "numbering": [
382
+ 1,
383
+ 3
384
+ ],
385
+ "parent": "root"
386
+ },
387
+ {
388
+ "value": "Best practices",
389
+ "href": "#best-practices",
390
+ "depth": 3,
391
+ "numbering": [
392
+ 1,
393
+ 3,
394
+ 1
395
+ ],
396
+ "parent": "root"
397
+ },
398
+ {
399
+ "value": "Accessibility",
400
+ "href": "#accessibility",
401
+ "depth": 2,
402
+ "numbering": [
403
+ 1,
404
+ 4
405
+ ],
406
+ "parent": "root"
407
+ },
408
+ {
409
+ "value": "Accessibility standards",
410
+ "href": "#accessibility-standards",
411
+ "depth": 3,
412
+ "numbering": [
413
+ 1,
414
+ 4,
415
+ 1
416
+ ],
417
+ "parent": "root"
418
+ }
419
+ ]
420
+ },
421
+ "dev": {
422
+ "mdx": "\n## Getting started\n\n### Import\n\nImport the Steps compound component and its TypeScript types:\n\n```tsx\nimport { Steps, type StepsRootProps } from \"@commercetools/nimbus\";\n```\n\n### Basic usage\n\nThe Steps component is a compound component with multiple parts that work together. At\nminimum, you need `Steps.Root`, `Steps.List`, `Steps.Item`, `Steps.Trigger`, and `Steps.Indicator`:\n\n```jsx-live-dev\nconst App = () => {\n return (\n <Steps.Root defaultStep={1} count={3}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Profile</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Review</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n );\n};\n```\n\n## Usage examples\n\n### Controlled vs Uncontrolled\n\nThe Steps component supports both controlled and uncontrolled usage patterns:\n\n**Uncontrolled** - The component manages state internally using `defaultStep`:\n\n```tsx\n<Steps.Root defaultStep={0} count={3}>...</Steps.Root>\n```\n\n**Controlled** - You manage state externally using `step` and `onStepChange`:\n\n```jsx-live-dev\nconst App = () => {\n const [currentStep, setCurrentStep] = React.useState(0);\n\n return (\n <Stack direction=\"column\" gap=\"600\">\n <Steps.Root\n step={currentStep}\n onStepChange={(details) => setCurrentStep(details.step)}\n count={3}\n >\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Profile</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Review</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n\n <Text color=\"neutral.11\" fontSize=\"350\">\n Current step: {currentStep}\n </Text>\n </Stack>\n );\n};\n```\n\n### Size variants\n\nThe Steps component supports three size variants: `xs` (extra small), `sm` (small, default), and `md` (medium). The size affects the indicator dimensions and typography:\n\n```jsx-live-dev\nconst App = () => {\n const renderSteps = (size) => (\n <Steps.Root defaultStep={1} count={3} size={size}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Profile</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Review</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n );\n\n return (\n <Stack direction=\"column\" gap=\"800\">\n <Stack direction=\"column\" gap=\"400\">\n <Text fontWeight=\"600\">Extra Small (xs) - 24px indicator</Text>\n {renderSteps(\"xs\")}\n </Stack>\n\n <Stack direction=\"column\" gap=\"400\">\n <Text fontWeight=\"600\">Small (sm, default) - 32px indicator</Text>\n {renderSteps(\"sm\")}\n </Stack>\n\n <Stack direction=\"column\" gap=\"400\">\n <Text fontWeight=\"600\">Medium (md) - 40px indicator</Text>\n {renderSteps(\"md\")}\n </Stack>\n </Stack>\n );\n};\n```\n\n### Orientation\n\nChoose between `horizontal` (default) and `vertical` orientations to match your layout needs:\n\n```jsx-live-dev\nconst App = () => {\n return (\n <Stack direction=\"row\" gap=\"800\" alignItems=\"flex-start\">\n <Stack direction=\"column\" gap=\"400\" flex=\"1\">\n <Text fontWeight=\"600\">Horizontal (default)</Text>\n <Steps.Root defaultStep={1} count={3} orientation=\"horizontal\">\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Profile</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Review</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n </Stack>\n\n <Stack direction=\"column\" gap=\"400\">\n <Text fontWeight=\"600\">Vertical</Text>\n <Steps.Root defaultStep={1} count={3} orientation=\"vertical\">\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Account</Steps.Title>\n <Steps.Description>Create your account</Steps.Description>\n </Box>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Profile</Steps.Title>\n <Steps.Description>Complete your profile</Steps.Description>\n </Box>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Box>\n <Steps.Title>Review</Steps.Title>\n <Steps.Description>Review and submit</Steps.Description>\n </Box>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n </Stack>\n </Stack>\n );\n};\n```\n\n### Custom indicator content\n\nThe `Steps.Indicator` wraps content that changes based on step state. Use `Steps.Status` to show different content for complete, current, and incomplete states:\n\n```jsx-live-dev\nconst App = () => {\n return (\n <Stack direction=\"column\" gap=\"800\">\n <Stack direction=\"column\" gap=\"400\">\n <Text fontWeight=\"600\">Numbers with checkmark on complete</Text>\n <Steps.Root defaultStep={1} count={3}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Complete</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Current</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Incomplete</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n </Stack>\n\n <Stack direction=\"column\" gap=\"400\">\n <Text fontWeight=\"600\">Custom icons for each step</Text>\n <Steps.Root defaultStep={1} count={3}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Icons.Person />}\n />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Icons.Settings />}\n />\n </Steps.Indicator>\n <Steps.Title>Settings</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Icons.Verified />}\n />\n </Steps.Indicator>\n <Steps.Title>Verify</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n </Stack>\n </Stack>\n );\n};\n```\n\n### With content panels and navigation\n\nUse `Steps.Content` to show content for each step and `Steps.PrevTrigger`/`Steps.NextTrigger` for built-in navigation:\n\n```jsx-live-dev\nconst App = () => {\n return (\n <Steps.Root defaultStep={0} count={3}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Profile</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Review</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n\n <Box mt=\"600\" p=\"400\" bg=\"neutral.2\" borderRadius=\"md\">\n <Steps.Content index={0}>\n <Text fontWeight=\"bold\" mb=\"200\">Create your account</Text>\n <Text>Enter your email and password to get started.</Text>\n </Steps.Content>\n <Steps.Content index={1}>\n <Text fontWeight=\"bold\" mb=\"200\">Complete your profile</Text>\n <Text>Add your personal information and preferences.</Text>\n </Steps.Content>\n <Steps.Content index={2}>\n <Text fontWeight=\"bold\" mb=\"200\">Review and confirm</Text>\n <Text>Review your information before submitting.</Text>\n </Steps.Content>\n <Steps.CompletedContent>\n <Text fontWeight=\"bold\" color=\"success.9\">\n All steps completed successfully!\n </Text>\n </Steps.CompletedContent>\n </Box>\n\n <Flex gap=\"400\" mt=\"400\">\n <Steps.PrevTrigger asChild>\n <Button variant=\"outline\">Back</Button>\n </Steps.PrevTrigger>\n <Steps.NextTrigger asChild>\n <Button variant=\"solid\">Continue</Button>\n </Steps.NextTrigger>\n </Flex>\n </Steps.Root>\n );\n};\n```\n\n### Linear mode\n\nUse the `linear` prop to restrict navigation to sequential progress only:\n\n```jsx-live-dev\nconst App = () => {\n return (\n <Steps.Root defaultStep={0} count={3} linear>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Step 1</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Step 2</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={2}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Status\n complete={<Icons.Check />}\n incomplete={<Steps.Number />}\n />\n </Steps.Indicator>\n <Steps.Title>Step 3</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n\n <Box mt=\"600\" p=\"400\" bg=\"neutral.2\" borderRadius=\"md\">\n <Steps.Content index={0}>\n <Text>Complete this step before proceeding.</Text>\n </Steps.Content>\n <Steps.Content index={1}>\n <Text>You can only go forward or back to completed steps.</Text>\n </Steps.Content>\n <Steps.Content index={2}>\n <Text>Final step - you can go back but not skip ahead.</Text>\n </Steps.Content>\n <Steps.CompletedContent>\n <Text fontWeight=\"bold\" color=\"success.9\">All steps completed!</Text>\n </Steps.CompletedContent>\n </Box>\n\n <Flex gap=\"400\" mt=\"400\">\n <Steps.PrevTrigger asChild>\n <Button variant=\"outline\">Back</Button>\n </Steps.PrevTrigger>\n <Steps.NextTrigger asChild>\n <Button variant=\"solid\">Next</Button>\n </Steps.NextTrigger>\n </Flex>\n </Steps.Root>\n );\n};\n```\n\n## Component structure\n\nThe Steps component is composed of the following parts:\n\n| Component | Description |\n|-----------|-------------|\n| `Steps.Root` | Container that manages step state and provides context |\n| `Steps.List` | Container for grouping step items |\n| `Steps.Item` | Container for a single step (trigger + separator) |\n| `Steps.Trigger` | Clickable element within each step for direct navigation |\n| `Steps.Indicator` | Visual marker showing step status |\n| `Steps.Number` | Displays the step number (1-indexed) |\n| `Steps.Status` | Renders different content based on step state |\n| `Steps.Title` | Displays the step title |\n| `Steps.Description` | Displays optional hint text |\n| `Steps.Separator` | Visual line connecting step indicators |\n| `Steps.Content` | Content container that auto-shows/hides based on current step |\n| `Steps.CompletedContent` | Content displayed when all steps are complete |\n| `Steps.PrevTrigger` | Navigation button to go to previous step |\n| `Steps.NextTrigger` | Navigation button to go to next step |\n| `Steps.Context` | Render prop for accessing step state |\n| `Steps.ItemContext` | Render prop for accessing current item state |\n\n## Accessibility\n\nThe Steps component implements accessibility features following WAI-ARIA patterns:\n\n**Roles:**\n\n- `Steps.List` has `role=\"tablist\"`\n- Each `Steps.Trigger` has `role=\"tab\"`\n- `Steps.Content` panels have `role=\"tabpanel\"`\n\n**State communication:**\n\n- Current step trigger has `aria-selected=\"true\"`\n- Triggers reference their content panels via `aria-controls`\n- Orientation is communicated via `aria-orientation`\n\n**Keyboard navigation:**\n\n- Tab moves focus between triggers\n- Click or Enter activates a trigger (unless `linear` mode restricts it)\n- Arrow keys can navigate between triggers\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 = \"checkout-progress-steps\";\n\nexport const CheckoutProgress = () => (\n <Steps.Root id={PERSISTENT_ID} defaultStep={0} count={4}>\n <Steps.List>\n {/* ... */}\n </Steps.List>\n </Steps.Root>\n);\n```\n\n## API reference\n\n<PropsTable id=\"Steps\" />\n\n## Testing your implementation\n\nThese examples demonstrate how to test your implementation when using Steps 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 component renders with correct structure\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Check } from \"@commercetools/nimbus-icons\";\nimport { Steps, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Steps - Basic rendering\", () => {\n it(\"renders a tablist with tab items\", () => {\n renderSteps();\n\n // Chakra/Ark Steps uses tablist pattern\n expect(screen.getByRole(\"tablist\")).toBeInTheDocument();\n expect(screen.getAllByRole(\"tab\")).toHaveLength(3);\n });\n\n it(\"renders step titles\", () => {\n renderSteps();\n\n expect(screen.getByText(\"Account\")).toBeInTheDocument();\n expect(screen.getByText(\"Profile\")).toBeInTheDocument();\n expect(screen.getByText(\"Review\")).toBeInTheDocument();\n });\n\n it(\"renders step descriptions\", () => {\n renderSteps();\n\n expect(screen.getByText(\"Set up account\")).toBeInTheDocument();\n expect(screen.getByText(\"Complete profile\")).toBeInTheDocument();\n expect(screen.getByText(\"Confirm details\")).toBeInTheDocument();\n });\n});\n```\n\n### Step State Tests\n\nVerify state attributes reflect progress\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Check } from \"@commercetools/nimbus-icons\";\nimport { Steps, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Steps - Step states\", () => {\n it(\"assigns data-state based on step index\", () => {\n const { container } = renderSteps();\n\n // Query triggers which have the data-state attribute\n // In Ark Steps: \"open\" = current step, \"closed\" = non-current steps\n // Completed steps are identified by data-complete attribute\n const triggers = container.querySelectorAll('[data-part=\"trigger\"]');\n expect(triggers[0]).toHaveAttribute(\"data-state\", \"closed\"); // past (completed) step\n expect(triggers[0]).toHaveAttribute(\"data-complete\", \"\"); // marked as complete\n expect(triggers[1]).toHaveAttribute(\"data-state\", \"open\"); // current step\n expect(triggers[2]).toHaveAttribute(\"data-state\", \"closed\"); // future (incomplete) step\n expect(triggers[2]).not.toHaveAttribute(\"data-complete\"); // not complete\n });\n\n it(\"shows current step content via tabpanel\", () => {\n renderSteps();\n\n // Step 1 (index 1) is current, so its content should be visible\n expect(screen.getByText(\"Profile content\")).toBeInTheDocument();\n // Other content should not be visible (Ark handles this)\n });\n});\n```\n\n### Indicator Content Tests\n\nValidate indicator content based on step state\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Check } from \"@commercetools/nimbus-icons\";\nimport { Steps, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Steps - Indicator content\", () => {\n it(\"renders step numbers for incomplete steps\", () => {\n renderSteps();\n\n // Step 2 (index 1 - current) should show \"2\"\n expect(screen.getByText(\"2\")).toBeInTheDocument();\n // Step 3 (index 2 - incomplete) should show \"3\"\n expect(screen.getByText(\"3\")).toBeInTheDocument();\n });\n\n it(\"renders complete icon for completed steps\", () => {\n renderSteps();\n\n // Step 1 (index 0) is complete, should show check icon\n expect(screen.getByTestId(\"complete-icon\")).toBeInTheDocument();\n });\n\n it(\"renders custom icons when provided\", () => {\n render(\n <NimbusProvider>\n <Steps.Root step={0} count={2}>\n <Steps.List>\n <Steps.Item index={0}>\n <Steps.Trigger>\n <Steps.Indicator>\n <span data-testid=\"custom-icon\">*</span>\n </Steps.Indicator>\n <Steps.Title>Account</Steps.Title>\n </Steps.Trigger>\n <Steps.Separator />\n </Steps.Item>\n\n <Steps.Item index={1}>\n <Steps.Trigger>\n <Steps.Indicator>\n <Steps.Number />\n </Steps.Indicator>\n <Steps.Title>Review</Steps.Title>\n </Steps.Trigger>\n </Steps.Item>\n </Steps.List>\n </Steps.Root>\n </NimbusProvider>\n );\n\n expect(screen.getByTestId(\"custom-icon\")).toBeInTheDocument();\n });\n});\n```\n\n### Orientation Tests\n\nVerify orientation attribute propagates correctly\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Check } from \"@commercetools/nimbus-icons\";\nimport { Steps, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Steps - Orientation\", () => {\n it(\"passes orientation to component elements\", () => {\n const { container } = renderSteps({ orientation: \"vertical\" });\n\n // Check that the tablist has vertical orientation\n const tablist = screen.getByRole(\"tablist\");\n expect(tablist).toHaveAttribute(\"aria-orientation\", \"vertical\");\n\n // Separators should also have vertical orientation\n const separators = container.querySelectorAll('[data-slot=\"separator\"]');\n expect(separators.length).toBe(2);\n separators.forEach((separator) => {\n expect(separator).toHaveAttribute(\"data-orientation\", \"vertical\");\n });\n });\n\n it(\"defaults to horizontal orientation\", () => {\n renderSteps();\n\n const tablist = screen.getByRole(\"tablist\");\n expect(tablist).toHaveAttribute(\"aria-orientation\", \"horizontal\");\n });\n});\n```\n\n\n## Resources\n\n- [Steps Storybook](https://nimbus-storybook.vercel.app/?path=/docs/components-steps--docs)\n",
423
+ "toc": [
424
+ {
425
+ "value": "Getting started",
426
+ "href": "#getting-started",
427
+ "depth": 2,
428
+ "numbering": [
429
+ 1,
430
+ 1
431
+ ],
432
+ "parent": "root"
433
+ },
434
+ {
435
+ "value": "Import",
436
+ "href": "#import",
437
+ "depth": 3,
438
+ "numbering": [
439
+ 1,
440
+ 1,
441
+ 1
442
+ ],
443
+ "parent": "root"
444
+ },
445
+ {
446
+ "value": "Basic usage",
447
+ "href": "#basic-usage",
448
+ "depth": 3,
449
+ "numbering": [
450
+ 1,
451
+ 1,
452
+ 2
453
+ ],
454
+ "parent": "root"
455
+ },
456
+ {
457
+ "value": "Usage examples",
458
+ "href": "#usage-examples",
459
+ "depth": 2,
460
+ "numbering": [
461
+ 1,
462
+ 2
463
+ ],
464
+ "parent": "root"
465
+ },
466
+ {
467
+ "value": "Controlled vs Uncontrolled",
468
+ "href": "#controlled-vs-uncontrolled",
469
+ "depth": 3,
470
+ "numbering": [
471
+ 1,
472
+ 2,
473
+ 1
474
+ ],
475
+ "parent": "root"
476
+ },
477
+ {
478
+ "value": "Size variants",
479
+ "href": "#size-variants",
480
+ "depth": 3,
481
+ "numbering": [
482
+ 1,
483
+ 2,
484
+ 2
485
+ ],
486
+ "parent": "root"
487
+ },
488
+ {
489
+ "value": "Orientation",
490
+ "href": "#orientation",
491
+ "depth": 3,
492
+ "numbering": [
493
+ 1,
494
+ 2,
495
+ 3
496
+ ],
497
+ "parent": "root"
498
+ },
499
+ {
500
+ "value": "Custom indicator content",
501
+ "href": "#custom-indicator-content",
502
+ "depth": 3,
503
+ "numbering": [
504
+ 1,
505
+ 2,
506
+ 4
507
+ ],
508
+ "parent": "root"
509
+ },
510
+ {
511
+ "value": "With content panels and navigation",
512
+ "href": "#with-content-panels-and-navigation",
513
+ "depth": 3,
514
+ "numbering": [
515
+ 1,
516
+ 2,
517
+ 5
518
+ ],
519
+ "parent": "root"
520
+ },
521
+ {
522
+ "value": "Linear mode",
523
+ "href": "#linear-mode",
524
+ "depth": 3,
525
+ "numbering": [
526
+ 1,
527
+ 2,
528
+ 6
529
+ ],
530
+ "parent": "root"
531
+ },
532
+ {
533
+ "value": "Component structure",
534
+ "href": "#component-structure",
535
+ "depth": 2,
536
+ "numbering": [
537
+ 1,
538
+ 3
539
+ ],
540
+ "parent": "root"
541
+ },
542
+ {
543
+ "value": "Accessibility",
544
+ "href": "#accessibility",
545
+ "depth": 2,
546
+ "numbering": [
547
+ 1,
548
+ 4
549
+ ],
550
+ "parent": "root"
551
+ },
552
+ {
553
+ "value": "API reference",
554
+ "href": "#api-reference",
555
+ "depth": 2,
556
+ "numbering": [
557
+ 1,
558
+ 5
559
+ ],
560
+ "parent": "root"
561
+ },
562
+ {
563
+ "value": "Testing your implementation",
564
+ "href": "#testing-your-implementation",
565
+ "depth": 2,
566
+ "numbering": [
567
+ 1,
568
+ 6
569
+ ],
570
+ "parent": "root"
571
+ },
572
+ {
573
+ "value": "Basic Rendering Tests",
574
+ "href": "#basic-rendering-tests",
575
+ "depth": 3,
576
+ "numbering": [
577
+ 1,
578
+ 6,
579
+ 1
580
+ ],
581
+ "parent": "root"
582
+ },
583
+ {
584
+ "value": "Step State Tests",
585
+ "href": "#step-state-tests",
586
+ "depth": 3,
587
+ "numbering": [
588
+ 1,
589
+ 6,
590
+ 2
591
+ ],
592
+ "parent": "root"
593
+ },
594
+ {
595
+ "value": "Indicator Content Tests",
596
+ "href": "#indicator-content-tests",
597
+ "depth": 3,
598
+ "numbering": [
599
+ 1,
600
+ 6,
601
+ 3
602
+ ],
603
+ "parent": "root"
604
+ },
605
+ {
606
+ "value": "Orientation Tests",
607
+ "href": "#orientation-tests",
608
+ "depth": 3,
609
+ "numbering": [
610
+ 1,
611
+ 6,
612
+ 4
613
+ ],
614
+ "parent": "root"
615
+ },
616
+ {
617
+ "value": "Resources",
618
+ "href": "#resources",
619
+ "depth": 2,
620
+ "numbering": [
621
+ 1,
622
+ 7
623
+ ],
624
+ "parent": "root"
625
+ }
626
+ ]
627
+ }
628
+ }
629
+ }