@commercetools/nimbus-mcp 0.1.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -14
- package/data/docs/route-manifest.json +10913 -0
- package/data/docs/routes/components-accessibility-visually-hidden.json +388 -0
- package/data/docs/routes/components-accessibility.json +34 -0
- package/data/docs/routes/components-buttons-button.json +715 -0
- package/data/docs/routes/components-buttons-icon-button.json +852 -0
- package/data/docs/routes/components-buttons-icon-toggle-button.json +594 -0
- package/data/docs/routes/components-buttons-split-button.json +670 -0
- package/data/docs/routes/components-buttons-toggle-button-group.json +722 -0
- package/data/docs/routes/components-buttons-toggle-button.json +689 -0
- package/data/docs/routes/components-buttons.json +36 -0
- package/data/docs/routes/components-data-display-badge.json +555 -0
- package/data/docs/routes/components-data-display-card.json +338 -0
- package/data/docs/routes/components-data-display-data-table.json +855 -0
- package/data/docs/routes/components-data-display-draggable-list.json +596 -0
- package/data/docs/routes/components-data-display-table.json +472 -0
- package/data/docs/routes/components-data-display-tag-group.json +535 -0
- package/data/docs/routes/components-data-display.json +34 -0
- package/data/docs/routes/components-feedback-alert.json +696 -0
- package/data/docs/routes/components-feedback-dialog.json +682 -0
- package/data/docs/routes/components-feedback-drawer.json +600 -0
- package/data/docs/routes/components-feedback-loading-spinner.json +415 -0
- package/data/docs/routes/components-feedback-progress-bar.json +661 -0
- package/data/docs/routes/components-feedback-toast.json +1040 -0
- package/data/docs/routes/components-feedback-tooltip.json +510 -0
- package/data/docs/routes/components-feedback.json +34 -0
- package/data/docs/routes/components-forms-field-errors.json +557 -0
- package/data/docs/routes/components-forms-form-field.json +848 -0
- package/data/docs/routes/components-forms-group.json +427 -0
- package/data/docs/routes/components-forms-localized-field.json +770 -0
- package/data/docs/routes/components-forms.json +37 -0
- package/data/docs/routes/components-inputs-calendar.json +611 -0
- package/data/docs/routes/components-inputs-checkbox.json +774 -0
- package/data/docs/routes/components-inputs-combo-box.json +761 -0
- package/data/docs/routes/components-inputs-date-input.json +628 -0
- package/data/docs/routes/components-inputs-date-picker.json +709 -0
- package/data/docs/routes/components-inputs-date-range-picker.json +599 -0
- package/data/docs/routes/components-inputs-money-input.json +721 -0
- package/data/docs/routes/components-inputs-multiline-text-input.json +611 -0
- package/data/docs/routes/components-inputs-number-input.json +647 -0
- package/data/docs/routes/components-inputs-password-input.json +576 -0
- package/data/docs/routes/components-inputs-radio-input.json +583 -0
- package/data/docs/routes/components-inputs-range-calendar.json +607 -0
- package/data/docs/routes/components-inputs-rich-text-input.json +599 -0
- package/data/docs/routes/components-inputs-scoped-search-input.json +570 -0
- package/data/docs/routes/components-inputs-search-input.json +588 -0
- package/data/docs/routes/components-inputs-select-input.json +960 -0
- package/data/docs/routes/components-inputs-switch.json +720 -0
- package/data/docs/routes/components-inputs-text-input.json +566 -0
- package/data/docs/routes/components-inputs-time-input.json +775 -0
- package/data/docs/routes/components-inputs.json +34 -0
- package/data/docs/routes/components-layout-box.json +501 -0
- package/data/docs/routes/components-layout-defaultpage.json +748 -0
- package/data/docs/routes/components-layout-flex.json +587 -0
- package/data/docs/routes/components-layout-grid.json +393 -0
- package/data/docs/routes/components-layout-modalpage.json +716 -0
- package/data/docs/routes/components-layout-pagecontent.json +673 -0
- package/data/docs/routes/components-layout-separator.json +461 -0
- package/data/docs/routes/components-layout-simple-grid.json +519 -0
- package/data/docs/routes/components-layout-spacer.json +573 -0
- package/data/docs/routes/components-layout-stack.json +481 -0
- package/data/docs/routes/components-layout.json +34 -0
- package/data/docs/routes/components-media-avatar.json +427 -0
- package/data/docs/routes/components-media-icon.json +663 -0
- package/data/docs/routes/components-media-image.json +511 -0
- package/data/docs/routes/components-media-inline-svg.json +586 -0
- package/data/docs/routes/components-media.json +34 -0
- package/data/docs/routes/components-navigation-accordion.json +643 -0
- package/data/docs/routes/components-navigation-collapsible-motion.json +628 -0
- package/data/docs/routes/components-navigation-link.json +554 -0
- package/data/docs/routes/components-navigation-menu.json +546 -0
- package/data/docs/routes/components-navigation-pagination.json +502 -0
- package/data/docs/routes/components-navigation-steps.json +629 -0
- package/data/docs/routes/components-navigation-tabnav.json +546 -0
- package/data/docs/routes/components-navigation-tabs.json +635 -0
- package/data/docs/routes/components-navigation-toolbar.json +549 -0
- package/data/docs/routes/components-navigation.json +34 -0
- package/data/docs/routes/components-typography-code.json +39 -0
- package/data/docs/routes/components-typography-heading.json +402 -0
- package/data/docs/routes/components-typography-kbd.json +399 -0
- package/data/docs/routes/components-typography-list.json +593 -0
- package/data/docs/routes/components-typography-text.json +444 -0
- package/data/docs/routes/components-typography.json +34 -0
- package/data/docs/routes/components-utilities-nimbus-i18n-provider.json +295 -0
- package/data/docs/routes/components-utilities-nimbus-provider.json +663 -0
- package/data/docs/routes/components-utilities.json +34 -0
- package/data/docs/routes/components.json +33 -0
- package/data/docs/routes/home-contribute-adrs-adr0001-consumer-component-apis.json +314 -0
- package/data/docs/routes/home-contribute-adrs-adr0002-compound-component-extraction.json +160 -0
- package/data/docs/routes/home-contribute-adrs-adr0003-component-lifecycle-states.json +460 -0
- package/data/docs/routes/home-contribute-adrs.json +205 -0
- package/data/docs/routes/home-contribute-development-setup.json +213 -0
- package/data/docs/routes/home-contribute-stats.json +36 -0
- package/data/docs/routes/home-contribute.json +36 -0
- package/data/docs/routes/home-design-tokens-aspect-ratios.json +36 -0
- package/data/docs/routes/home-design-tokens-borders.json +35 -0
- package/data/docs/routes/home-design-tokens-colors.json +157 -0
- package/data/docs/routes/home-design-tokens-other-animations.json +119 -0
- package/data/docs/routes/home-design-tokens-other-blurs.json +36 -0
- package/data/docs/routes/home-design-tokens-other-breakpoints.json +61 -0
- package/data/docs/routes/home-design-tokens-other-cursors.json +36 -0
- package/data/docs/routes/home-design-tokens-other-z-indices.json +39 -0
- package/data/docs/routes/home-design-tokens-other.json +35 -0
- package/data/docs/routes/home-design-tokens-radii.json +59 -0
- package/data/docs/routes/home-design-tokens-shadows.json +57 -0
- package/data/docs/routes/home-design-tokens-sizes.json +137 -0
- package/data/docs/routes/home-design-tokens-spacing.json +36 -0
- package/data/docs/routes/home-design-tokens-typography.json +184 -0
- package/data/docs/routes/home-design-tokens.json +34 -0
- package/data/docs/routes/home-getting-started-core-concepts.json +301 -0
- package/data/docs/routes/home-getting-started-installation.json +621 -0
- package/data/docs/routes/home-getting-started-mcp-server-overview.json +139 -0
- package/data/docs/routes/home-getting-started-mcp-server-setup.json +316 -0
- package/data/docs/routes/home-getting-started-release-process.json +294 -0
- package/data/docs/routes/home-getting-started-testing-setup.json +296 -0
- package/data/docs/routes/home-playground-markdown.json +638 -0
- package/data/docs/routes/home-playground-toc.json +169 -0
- package/data/docs/routes/home-playground.json +34 -0
- package/data/docs/routes/home-style-props-background.json +236 -0
- package/data/docs/routes/home-style-props-border.json +310 -0
- package/data/docs/routes/home-style-props-display.json +120 -0
- package/data/docs/routes/home-style-props-effects.json +116 -0
- package/data/docs/routes/home-style-props-filters.json +396 -0
- package/data/docs/routes/home-style-props-flex-and-grid.json +496 -0
- package/data/docs/routes/home-style-props-interactivity.json +356 -0
- package/data/docs/routes/home-style-props-layout.json +422 -0
- package/data/docs/routes/home-style-props-list.json +116 -0
- package/data/docs/routes/home-style-props-sizing.json +244 -0
- package/data/docs/routes/home-style-props-spacing.json +228 -0
- package/data/docs/routes/home-style-props-svg.json +96 -0
- package/data/docs/routes/home-style-props-tables.json +116 -0
- package/data/docs/routes/home-style-props-transforms.json +216 -0
- package/data/docs/routes/home-style-props-transitions.json +216 -0
- package/data/docs/routes/home-style-props-typography.json +536 -0
- package/data/docs/routes/home-style-props.json +33 -0
- package/data/docs/routes/home.json +32 -0
- package/data/docs/routes/hooks-usecopytoclipboard.json +76 -0
- package/data/docs/routes/hooks-usehotkeys.json +117 -0
- package/data/docs/routes/hooks.json +33 -0
- package/data/docs/routes/icons.json +32 -0
- package/data/docs/routes/patterns-fields-date-range-picker-field.json +393 -0
- package/data/docs/routes/patterns-fields-money-input-field.json +415 -0
- package/data/docs/routes/patterns-fields-multiline-text-input-field.json +404 -0
- package/data/docs/routes/patterns-fields-number-input-field.json +470 -0
- package/data/docs/routes/patterns-fields-password-input-field.json +319 -0
- package/data/docs/routes/patterns-fields-search-input-field.json +382 -0
- package/data/docs/routes/patterns-fields-text-input-field.json +404 -0
- package/data/docs/routes/patterns-fields.json +78 -0
- package/data/docs/routes/patterns.json +34 -0
- package/data/docs/search-index.json +1 -0
- package/data/docs/types/Accordion.json +12 -0
- package/data/docs/types/AccordionContent.json +286 -0
- package/data/docs/types/AccordionHeader.json +891 -0
- package/data/docs/types/AccordionHeaderRightContent.json +27 -0
- package/data/docs/types/AccordionItem.json +242 -0
- package/data/docs/types/AccordionRoot.json +162 -0
- package/data/docs/types/Alert.json +12 -0
- package/data/docs/types/AlertActions.json +11 -0
- package/data/docs/types/AlertDescription.json +118 -0
- package/data/docs/types/AlertDismissButton.json +937 -0
- package/data/docs/types/AlertRoot.json +42 -0
- package/data/docs/types/AlertTitle.json +118 -0
- package/data/docs/types/Avatar.json +125 -0
- package/data/docs/types/Badge.json +64 -0
- package/data/docs/types/Body.json +67 -0
- package/data/docs/types/Box.json +85 -0
- package/data/docs/types/Button.json +1015 -0
- package/data/docs/types/Calendar.json +565 -0
- package/data/docs/types/Caption.json +67 -0
- package/data/docs/types/Card.json +12 -0
- package/data/docs/types/CardContent.json +27 -0
- package/data/docs/types/CardHeader.json +27 -0
- package/data/docs/types/CardRoot.json +106 -0
- package/data/docs/types/Cell.json +227 -0
- package/data/docs/types/Checkbox.json +897 -0
- package/data/docs/types/Code.json +112 -0
- package/data/docs/types/CollapsibleMotionContent.json +35 -0
- package/data/docs/types/CollapsibleMotionRoot.json +99 -0
- package/data/docs/types/CollapsibleMotionTrigger.json +71 -0
- package/data/docs/types/Column.json +101 -0
- package/data/docs/types/ColumnGroup.json +101 -0
- package/data/docs/types/ColumnHeader.json +193 -0
- package/data/docs/types/ComboBoxListBox.json +751 -0
- package/data/docs/types/ComboBoxOption.json +672 -0
- package/data/docs/types/ComboBoxPopover.json +786 -0
- package/data/docs/types/ComboBoxRoot.json +747 -0
- package/data/docs/types/ComboBoxSection.json +277 -0
- package/data/docs/types/ComboBoxTrigger.json +70 -0
- package/data/docs/types/Content.json +33 -0
- package/data/docs/types/DataTable.json +596 -0
- package/data/docs/types/DataTableBody.json +223 -0
- package/data/docs/types/DataTableFooter.json +27 -0
- package/data/docs/types/DataTableHeader.json +269 -0
- package/data/docs/types/DataTableManager.json +11 -0
- package/data/docs/types/DataTableRoot.json +590 -0
- package/data/docs/types/DataTableTable.json +271 -0
- package/data/docs/types/DateInput.json +792 -0
- package/data/docs/types/DatePicker.json +700 -0
- package/data/docs/types/DateRangePicker.json +936 -0
- package/data/docs/types/DateRangePickerField.json +1047 -0
- package/data/docs/types/DefaultPage.json +12 -0
- package/data/docs/types/DefaultPageActions.json +27 -0
- package/data/docs/types/DefaultPageBackLink.json +213 -0
- package/data/docs/types/DefaultPageContent.json +27 -0
- package/data/docs/types/DefaultPageFooter.json +27 -0
- package/data/docs/types/DefaultPageHeader.json +27 -0
- package/data/docs/types/DefaultPageRoot.json +106 -0
- package/data/docs/types/DefaultPageSubtitle.json +27 -0
- package/data/docs/types/DefaultPageTabNav.json +28 -0
- package/data/docs/types/DefaultPageTitle.json +27 -0
- package/data/docs/types/DialogBody.json +27 -0
- package/data/docs/types/DialogCloseTrigger.json +939 -0
- package/data/docs/types/DialogContent.json +27 -0
- package/data/docs/types/DialogFooter.json +27 -0
- package/data/docs/types/DialogHeader.json +27 -0
- package/data/docs/types/DialogRoot.json +138 -0
- package/data/docs/types/DialogTitle.json +27 -0
- package/data/docs/types/DialogTrigger.json +80 -0
- package/data/docs/types/DraggableList.json +12 -0
- package/data/docs/types/DraggableListField.json +894 -0
- package/data/docs/types/DraggableListItem.json +574 -0
- package/data/docs/types/DraggableListRoot.json +745 -0
- package/data/docs/types/Drawer.json +12 -0
- package/data/docs/types/DrawerBody.json +27 -0
- package/data/docs/types/DrawerCloseTrigger.json +939 -0
- package/data/docs/types/DrawerContent.json +27 -0
- package/data/docs/types/DrawerFooter.json +27 -0
- package/data/docs/types/DrawerHeader.json +27 -0
- package/data/docs/types/DrawerRoot.json +142 -0
- package/data/docs/types/DrawerTitle.json +27 -0
- package/data/docs/types/DrawerTrigger.json +80 -0
- package/data/docs/types/FieldErrors.getBuiltInMessage.json +11 -0
- package/data/docs/types/FieldErrors.getCustomMessage.json +9 -0
- package/data/docs/types/FieldErrors.json +109 -0
- package/data/docs/types/Flex.json +238 -0
- package/data/docs/types/Footer.json +67 -0
- package/data/docs/types/FormFieldDescription.json +11 -0
- package/data/docs/types/FormFieldError.json +11 -0
- package/data/docs/types/FormFieldInfoBox.json +27 -0
- package/data/docs/types/FormFieldInput.json +11 -0
- package/data/docs/types/FormFieldLabel.json +11 -0
- package/data/docs/types/FormFieldRoot.json +148 -0
- package/data/docs/types/Grid.json +253 -0
- package/data/docs/types/GridProps.json +11 -0
- package/data/docs/types/Group.json +143 -0
- package/data/docs/types/Header.json +67 -0
- package/data/docs/types/Heading.json +109 -0
- package/data/docs/types/Icon.json +112 -0
- package/data/docs/types/IconButton.json +1019 -0
- package/data/docs/types/IconToggleButton.json +787 -0
- package/data/docs/types/Image.json +373 -0
- package/data/docs/types/Indicator.json +67 -0
- package/data/docs/types/InlineSvg.json +98 -0
- package/data/docs/types/Item.json +67 -0
- package/data/docs/types/Kbd.json +118 -0
- package/data/docs/types/Link.json +380 -0
- package/data/docs/types/List.json +12 -0
- package/data/docs/types/ListIndicator.json +70 -0
- package/data/docs/types/ListItem.json +70 -0
- package/data/docs/types/ListRoot.json +124 -0
- package/data/docs/types/LoadingSpinner.json +87 -0
- package/data/docs/types/LocalizedField.json +460 -0
- package/data/docs/types/LocalizedStringFormatter.json +9 -0
- package/data/docs/types/MakeElementFocusable.json +196 -0
- package/data/docs/types/MenuContent.json +111 -0
- package/data/docs/types/MenuItem.json +671 -0
- package/data/docs/types/MenuRoot.json +670 -0
- package/data/docs/types/MenuSection.json +364 -0
- package/data/docs/types/MenuSubmenu.json +111 -0
- package/data/docs/types/MenuSubmenuTrigger.json +67 -0
- package/data/docs/types/MenuTrigger.json +906 -0
- package/data/docs/types/ModalPage.json +12 -0
- package/data/docs/types/ModalPageActions.json +27 -0
- package/data/docs/types/ModalPageContent.json +27 -0
- package/data/docs/types/ModalPageFooter.json +27 -0
- package/data/docs/types/ModalPageHeader.json +27 -0
- package/data/docs/types/ModalPageRoot.json +87 -0
- package/data/docs/types/ModalPageSubtitle.json +27 -0
- package/data/docs/types/ModalPageTabNav.json +28 -0
- package/data/docs/types/ModalPageTitle.json +27 -0
- package/data/docs/types/ModalPageTopBar.json +57 -0
- package/data/docs/types/MoneyInput.isEmpty.json +40 -0
- package/data/docs/types/MoneyInput.json +282 -0
- package/data/docs/types/MoneyInputField.json +379 -0
- package/data/docs/types/MoneyInputFieldProps.json +9 -0
- package/data/docs/types/MultilineTextInput.json +1194 -0
- package/data/docs/types/MultilineTextInputField.json +1269 -0
- package/data/docs/types/MultilineTextInputFieldProps.json +9 -0
- package/data/docs/types/NimbusI18nProvider.json +42 -0
- package/data/docs/types/NimbusI18nProviderProps.json +9 -0
- package/data/docs/types/NimbusProvider.json +270 -0
- package/data/docs/types/NumberInput.json +952 -0
- package/data/docs/types/NumberInputField.json +1004 -0
- package/data/docs/types/NumberInputFieldProps.json +9 -0
- package/data/docs/types/PageContent.json +11 -0
- package/data/docs/types/PageContentColumn.json +99 -0
- package/data/docs/types/PageContentRoot.json +114 -0
- package/data/docs/types/Pagination.json +159 -0
- package/data/docs/types/PasswordInput.json +1120 -0
- package/data/docs/types/PasswordInputField.json +1216 -0
- package/data/docs/types/PasswordInputFieldProps.json +9 -0
- package/data/docs/types/ProgressBar.json +280 -0
- package/data/docs/types/RadioInputOption.json +550 -0
- package/data/docs/types/RadioInputRoot.json +514 -0
- package/data/docs/types/RangeCalendar.json +618 -0
- package/data/docs/types/RichTextInput.json +134 -0
- package/data/docs/types/Root.json +122 -0
- package/data/docs/types/Row.json +67 -0
- package/data/docs/types/ScopedSearchInput.isEmpty.json +40 -0
- package/data/docs/types/ScopedSearchInput.json +253 -0
- package/data/docs/types/ScrollArea.json +82 -0
- package/data/docs/types/SearchInput.json +1165 -0
- package/data/docs/types/SearchInputField.json +1240 -0
- package/data/docs/types/Select.json +12 -0
- package/data/docs/types/SelectOption.json +572 -0
- package/data/docs/types/SelectOptionGroup.json +215 -0
- package/data/docs/types/SelectOptions.json +693 -0
- package/data/docs/types/SelectRoot.json +926 -0
- package/data/docs/types/Separator.json +65 -0
- package/data/docs/types/SimpleGrid.json +291 -0
- package/data/docs/types/Spacer.json +27 -0
- package/data/docs/types/SpacerProps.json +9 -0
- package/data/docs/types/SplitButton.json +203 -0
- package/data/docs/types/Stack.json +144 -0
- package/data/docs/types/Steps.json +12 -0
- package/data/docs/types/StepsChangeDetails.json +9 -0
- package/data/docs/types/StepsCompletedContent.json +28 -0
- package/data/docs/types/StepsCompletedContentProps.json +9 -0
- package/data/docs/types/StepsContent.json +43 -0
- package/data/docs/types/StepsContentProps.json +9 -0
- package/data/docs/types/StepsDescription.json +28 -0
- package/data/docs/types/StepsDescriptionProps.json +9 -0
- package/data/docs/types/StepsIndicator.json +28 -0
- package/data/docs/types/StepsIndicatorProps.json +9 -0
- package/data/docs/types/StepsItem.json +43 -0
- package/data/docs/types/StepsItemProps.json +9 -0
- package/data/docs/types/StepsList.json +28 -0
- package/data/docs/types/StepsListProps.json +9 -0
- package/data/docs/types/StepsNextTrigger.json +62 -0
- package/data/docs/types/StepsNextTriggerProps.json +9 -0
- package/data/docs/types/StepsNumber.json +28 -0
- package/data/docs/types/StepsNumberProps.json +9 -0
- package/data/docs/types/StepsPrevTrigger.json +62 -0
- package/data/docs/types/StepsPrevTriggerProps.json +9 -0
- package/data/docs/types/StepsRoot.json +183 -0
- package/data/docs/types/StepsRootProps.json +11 -0
- package/data/docs/types/StepsSeparator.json +28 -0
- package/data/docs/types/StepsSeparatorProps.json +9 -0
- package/data/docs/types/StepsStatus.json +57 -0
- package/data/docs/types/StepsStatusProps.json +9 -0
- package/data/docs/types/StepsTitle.json +28 -0
- package/data/docs/types/StepsTitleProps.json +9 -0
- package/data/docs/types/StepsTrigger.json +47 -0
- package/data/docs/types/StepsTriggerProps.json +9 -0
- package/data/docs/types/Switch.json +371 -0
- package/data/docs/types/TabListProps.json +9 -0
- package/data/docs/types/TabNav.json +12 -0
- package/data/docs/types/TabNavItem.json +300 -0
- package/data/docs/types/TabNavItemProps.json +9 -0
- package/data/docs/types/TabNavProps.json +9 -0
- package/data/docs/types/TabNavRoot.json +80 -0
- package/data/docs/types/TabPanelProps.json +9 -0
- package/data/docs/types/TabPanelsProps.json +9 -0
- package/data/docs/types/TabProps.json +9 -0
- package/data/docs/types/Table.json +9 -0
- package/data/docs/types/TableBody.json +67 -0
- package/data/docs/types/TableBodyProps.json +9 -0
- package/data/docs/types/TableCaption.json +67 -0
- package/data/docs/types/TableCaptionProps.json +9 -0
- package/data/docs/types/TableCell.json +227 -0
- package/data/docs/types/TableCellProps.json +9 -0
- package/data/docs/types/TableColumn.json +101 -0
- package/data/docs/types/TableColumnGroup.json +101 -0
- package/data/docs/types/TableColumnGroupProps.json +9 -0
- package/data/docs/types/TableColumnHeader.json +193 -0
- package/data/docs/types/TableColumnHeaderProps.json +9 -0
- package/data/docs/types/TableColumnProps.json +9 -0
- package/data/docs/types/TableFooter.json +67 -0
- package/data/docs/types/TableFooterProps.json +9 -0
- package/data/docs/types/TableHeader.json +67 -0
- package/data/docs/types/TableHeaderProps.json +9 -0
- package/data/docs/types/TableRoot.json +365 -0
- package/data/docs/types/TableRootProps.json +12 -0
- package/data/docs/types/TableRow.json +67 -0
- package/data/docs/types/TableRowProps.json +9 -0
- package/data/docs/types/TableScrollArea.json +82 -0
- package/data/docs/types/TableScrollAreaProps.json +9 -0
- package/data/docs/types/Tabs.json +12 -0
- package/data/docs/types/TabsList.json +110 -0
- package/data/docs/types/TabsPanel.json +112 -0
- package/data/docs/types/TabsPanels.json +108 -0
- package/data/docs/types/TabsRoot.json +211 -0
- package/data/docs/types/TabsTab.json +174 -0
- package/data/docs/types/TagGroup.json +12 -0
- package/data/docs/types/TagGroupRoot.json +306 -0
- package/data/docs/types/TagGroupTag.json +595 -0
- package/data/docs/types/TagGroupTagList.json +166 -0
- package/data/docs/types/Text.json +119 -0
- package/data/docs/types/TextInput.json +1156 -0
- package/data/docs/types/TextInputField.json +1263 -0
- package/data/docs/types/TimeInput.json +752 -0
- package/data/docs/types/ToastAction.json +9 -0
- package/data/docs/types/ToastManagerApi.json +9 -0
- package/data/docs/types/ToastOptions.json +9 -0
- package/data/docs/types/ToastOutlet.json +12 -0
- package/data/docs/types/ToastPlacement.json +9 -0
- package/data/docs/types/ToastPromiseOptions.json +9 -0
- package/data/docs/types/ToastType.json +9 -0
- package/data/docs/types/ToastVariant.json +9 -0
- package/data/docs/types/ToggleButton.json +789 -0
- package/data/docs/types/ToggleButtonGroup.json +9 -0
- package/data/docs/types/ToggleButtonGroupButton.json +331 -0
- package/data/docs/types/ToggleButtonGroupRoot.json +269 -0
- package/data/docs/types/Toolbar.json +176 -0
- package/data/docs/types/Tooltip.json +12 -0
- package/data/docs/types/TooltipContent.json +372 -0
- package/data/docs/types/TooltipRoot.json +179 -0
- package/data/docs/types/Trigger.json +69 -0
- package/data/docs/types/VisuallyHidden.json +93 -0
- package/data/docs/types/__object.json +12 -0
- package/data/docs/types/filters.json +11 -0
- package/data/docs/types/manifest.json +278 -0
- package/data/docs/types/toast.json +234 -0
- package/data/docs/types/useColorMode.json +13 -0
- package/data/docs/types/useColorModeValue.json +13 -0
- package/data/docs/types/useColorScheme.json +12 -0
- package/data/docs/types/useLocalizedStringFormatter.json +14 -0
- package/data/icons.json +21940 -0
- package/data/tokens.json +40061 -0
- package/dist/index.js +2516 -17
- package/package.json +25 -6
- package/dist/data-loader.d.ts +0 -102
- package/dist/data-loader.js +0 -104
- package/dist/index.d.ts +0 -13
- package/dist/server.d.ts +0 -9
- package/dist/server.js +0 -22
- package/dist/server.spec.d.ts +0 -1
- package/dist/server.spec.js +0 -69
- package/dist/tools/list-components.d.ts +0 -9
- package/dist/tools/list-components.js +0 -42
- package/dist/types.d.ts +0 -28
- package/dist/types.js +0 -4
- package/src/data-loader.ts +0 -226
- package/src/index.ts +0 -29
- package/src/server.spec.ts +0 -86
- package/src/server.ts +0 -28
- package/src/tools/list-components.ts +0 -49
- package/src/types.ts +0 -31
- package/tsconfig.json +0 -14
- package/vitest.config.ts +0 -9
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"id": "Components-Stack",
|
|
4
|
+
"title": "Stack",
|
|
5
|
+
"exportName": "Stack",
|
|
6
|
+
"description": "An easily customizable Stack component, re-exported from Chakra UI stack component, that provides a consistent and responsive layout structure across different products. Stacks allow you to effortlessly build flexible layouts with automatic distribution. You can arrange elements horizontally or vertically, adding spacing and/or separators between each item.",
|
|
7
|
+
"lifecycleState": "Stable",
|
|
8
|
+
"order": 999,
|
|
9
|
+
"repoPath": "packages/nimbus/src/components/stack/stack.mdx",
|
|
10
|
+
"menu": [
|
|
11
|
+
"Components",
|
|
12
|
+
"Layout",
|
|
13
|
+
"Stack"
|
|
14
|
+
],
|
|
15
|
+
"route": "components/layout/stack",
|
|
16
|
+
"tags": [
|
|
17
|
+
"component",
|
|
18
|
+
"stack",
|
|
19
|
+
"layout",
|
|
20
|
+
"vertical",
|
|
21
|
+
"horizontal"
|
|
22
|
+
],
|
|
23
|
+
"toc": [
|
|
24
|
+
{
|
|
25
|
+
"value": "Basic usage",
|
|
26
|
+
"href": "#basic-usage",
|
|
27
|
+
"depth": 2,
|
|
28
|
+
"numbering": [
|
|
29
|
+
1,
|
|
30
|
+
1
|
|
31
|
+
],
|
|
32
|
+
"parent": "root"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"value": "With direction",
|
|
36
|
+
"href": "#with-direction",
|
|
37
|
+
"depth": 3,
|
|
38
|
+
"numbering": [
|
|
39
|
+
1,
|
|
40
|
+
1,
|
|
41
|
+
1
|
|
42
|
+
],
|
|
43
|
+
"parent": "root"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"value": "With spacing",
|
|
47
|
+
"href": "#with-spacing",
|
|
48
|
+
"depth": 3,
|
|
49
|
+
"numbering": [
|
|
50
|
+
1,
|
|
51
|
+
1,
|
|
52
|
+
2
|
|
53
|
+
],
|
|
54
|
+
"parent": "root"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"value": "With separator",
|
|
58
|
+
"href": "#with-separator",
|
|
59
|
+
"depth": 3,
|
|
60
|
+
"numbering": [
|
|
61
|
+
1,
|
|
62
|
+
1,
|
|
63
|
+
3
|
|
64
|
+
],
|
|
65
|
+
"parent": "root"
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"layout": "app-frame",
|
|
69
|
+
"tabs": [
|
|
70
|
+
{
|
|
71
|
+
"key": "overview",
|
|
72
|
+
"title": "Overview",
|
|
73
|
+
"order": 0
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"key": "dev",
|
|
77
|
+
"title": "Implementation",
|
|
78
|
+
"order": 3
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"key": "a11y",
|
|
82
|
+
"title": "Accessibility",
|
|
83
|
+
"order": 4
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
"mdx": "\n## Basic usage\n\n```jsx\nimport { Stack } from \"@commercetools/nimbus\";\n```\n\n```jsx live\nconst App = () => (\n <Stack>\n {\" \"}\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">\n Item 1\n </Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">\n Item 2\n </Box>\n </Stack>\n);\n```\n\n### With direction\n\nUse the direction prop to change the layout direction. The default direction is\n\"column\" (vertical). Set it to \"row\" for horizontal stacking.\n\n```jsx live\nconst App = () => (\n <Stack direction=\"row\">\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Item 1</Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Item 2</Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Item 3</Box>\n </Stack>\n)\n```\n\n### With spacing\n\n```jsx live\nconst App = () => (\n <Stack gap=\"100\">\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Spaced Item 1</Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Spaced Item 2</Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Spaced Item 3</Box>\n </Stack>\n)\n```\n\n### With separator\n\nAdd a visual separator between stacked items using the separator prop. You can\nalso use custom separators like icons or styled elements.\n\n```jsx live\nconst App = () => (\n <Stack separator={<hr />}>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Spaced Item with separator 1</Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Spaced Item with separator 2</Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Spaced Item with separator 3</Box>\n </Stack>\n)\n```\n",
|
|
88
|
+
"views": {
|
|
89
|
+
"overview": {
|
|
90
|
+
"mdx": "\n## Basic usage\n\n```jsx\nimport { Stack } from \"@commercetools/nimbus\";\n```\n\n```jsx live\nconst App = () => (\n <Stack>\n {\" \"}\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">\n Item 1\n </Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">\n Item 2\n </Box>\n </Stack>\n);\n```\n\n### With direction\n\nUse the direction prop to change the layout direction. The default direction is\n\"column\" (vertical). Set it to \"row\" for horizontal stacking.\n\n```jsx live\nconst App = () => (\n <Stack direction=\"row\">\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Item 1</Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Item 2</Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Item 3</Box>\n </Stack>\n)\n```\n\n### With spacing\n\n```jsx live\nconst App = () => (\n <Stack gap=\"100\">\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Spaced Item 1</Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Spaced Item 2</Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Spaced Item 3</Box>\n </Stack>\n)\n```\n\n### With separator\n\nAdd a visual separator between stacked items using the separator prop. You can\nalso use custom separators like icons or styled elements.\n\n```jsx live\nconst App = () => (\n <Stack separator={<hr />}>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Spaced Item with separator 1</Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Spaced Item with separator 2</Box>\n <Box key=\"1\" p=\"400\" bg=\"primary.7\">Spaced Item with separator 3</Box>\n </Stack>\n)\n```\n",
|
|
91
|
+
"toc": [
|
|
92
|
+
{
|
|
93
|
+
"value": "Basic usage",
|
|
94
|
+
"href": "#basic-usage",
|
|
95
|
+
"depth": 2,
|
|
96
|
+
"numbering": [
|
|
97
|
+
1,
|
|
98
|
+
1
|
|
99
|
+
],
|
|
100
|
+
"parent": "root"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"value": "With direction",
|
|
104
|
+
"href": "#with-direction",
|
|
105
|
+
"depth": 3,
|
|
106
|
+
"numbering": [
|
|
107
|
+
1,
|
|
108
|
+
1,
|
|
109
|
+
1
|
|
110
|
+
],
|
|
111
|
+
"parent": "root"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"value": "With spacing",
|
|
115
|
+
"href": "#with-spacing",
|
|
116
|
+
"depth": 3,
|
|
117
|
+
"numbering": [
|
|
118
|
+
1,
|
|
119
|
+
1,
|
|
120
|
+
2
|
|
121
|
+
],
|
|
122
|
+
"parent": "root"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"value": "With separator",
|
|
126
|
+
"href": "#with-separator",
|
|
127
|
+
"depth": 3,
|
|
128
|
+
"numbering": [
|
|
129
|
+
1,
|
|
130
|
+
1,
|
|
131
|
+
3
|
|
132
|
+
],
|
|
133
|
+
"parent": "root"
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
"a11y": {
|
|
138
|
+
"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 <Stack direction=\"column\" gap=\"400\">\n <Button variant=\"solid\">First</Button>\n <Button variant=\"outline\">Second</Button>\n <Button variant=\"ghost\">Third</Button>\n </Stack>\n);\n```\n\n### Accessibility standards\n\n- **Use semantic HTML:** Stack is a layout component that renders a `div` by\n default. Use the `as` prop to apply semantic elements when the stack has\n semantic meaning (e.g., `nav`, `section`).\n- **Maintain reading order:** Ensure the visual stack order matches the DOM\n order so screen readers navigate content logically.\n- **Avoid layout-only containers:** When possible, apply stack styles directly\n to semantic parent elements.\n- **Focus order:** Ensure keyboard focus follows the logical stacking order (top\n to bottom for column, left to right for row).\n- **Responsive design:** Ensure stacked layouts adapt appropriately for\n different screen sizes and orientations.\n- **Don't rely on visual spacing alone:** Use semantic HTML to convey\n relationships between stacked items, not just visual separation.\n\n### Resources\n\n- [WCAG 1.3.2 Meaningful Sequence](https://www.w3.org/WAI/WCAG21/Understanding/meaningful-sequence.html)\n- [WCAG 2.4.3 Focus Order](https://www.w3.org/WAI/WCAG21/Understanding/focus-order.html)\n",
|
|
139
|
+
"toc": [
|
|
140
|
+
{
|
|
141
|
+
"value": "Accessibility",
|
|
142
|
+
"href": "#accessibility",
|
|
143
|
+
"depth": 2,
|
|
144
|
+
"numbering": [
|
|
145
|
+
1,
|
|
146
|
+
1
|
|
147
|
+
],
|
|
148
|
+
"parent": "root"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"value": "Accessibility standards",
|
|
152
|
+
"href": "#accessibility-standards",
|
|
153
|
+
"depth": 3,
|
|
154
|
+
"numbering": [
|
|
155
|
+
1,
|
|
156
|
+
1,
|
|
157
|
+
1
|
|
158
|
+
],
|
|
159
|
+
"parent": "root"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"value": "Resources",
|
|
163
|
+
"href": "#resources",
|
|
164
|
+
"depth": 3,
|
|
165
|
+
"numbering": [
|
|
166
|
+
1,
|
|
167
|
+
1,
|
|
168
|
+
2
|
|
169
|
+
],
|
|
170
|
+
"parent": "root"
|
|
171
|
+
}
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"dev": {
|
|
175
|
+
"mdx": "\n## Getting started\n\n### Import\n\n```tsx\nimport { Stack, type StackProps } from \"@commercetools/nimbus\";\n```\n\n### Basic usage\n\nBy default, Stack arranges children vertically with no gap:\n\n```jsx live-dev\nconst App = () => (\n <Stack>\n <Box p=\"400\" bg=\"primary.7\" borderRadius=\"200\">\n Item 1\n </Box>\n <Box p=\"400\" bg=\"primary.7\" borderRadius=\"200\">\n Item 2\n </Box>\n <Box p=\"400\" bg=\"primary.7\" borderRadius=\"200\">\n Item 3\n </Box>\n </Stack>\n)\n```\n\n## Usage examples\n\n### Direction variants\n\nControl the layout direction with the `direction` prop. Supports `column` (default), `row`, `column-reverse`, and `row-reverse`:\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"400\">\n <Stack direction=\"row\" gap=\"200\">\n <Box p=\"400\" bg=\"primary.7\" borderRadius=\"200\" flex=\"1\">Row Item 1</Box>\n <Box p=\"400\" bg=\"primary.7\" borderRadius=\"200\" flex=\"1\">Row Item 2</Box>\n <Box p=\"400\" bg=\"primary.7\" borderRadius=\"200\" flex=\"1\">Row Item 3</Box>\n </Stack>\n \n <Stack direction=\"column\" gap=\"200\">\n <Box p=\"400\" bg=\"info.7\" borderRadius=\"200\">Column Item 1</Box>\n <Box p=\"400\" bg=\"info.7\" borderRadius=\"200\">Column Item 2</Box>\n <Box p=\"400\" bg=\"info.7\" borderRadius=\"200\">Column Item 3</Box>\n </Stack>\n \n <Stack direction=\"row-reverse\" gap=\"200\">\n <Box p=\"400\" bg=\"positive.7\" borderRadius=\"200\">Reverse 1</Box>\n <Box p=\"400\" bg=\"positive.7\" borderRadius=\"200\">Reverse 2</Box>\n <Box p=\"400\" bg=\"positive.7\" borderRadius=\"200\">Reverse 3</Box>\n </Stack>\n </Stack>\n)\n```\n\n### Gap and spacing\n\nUse the `gap` prop to control spacing between items. Accepts Nimbus spacing tokens:\n\n```jsx live-dev\nconst App = () => {\n const [gap, setGap] = useState<StackProps[\"gap\"]>(\"200\");\n \n return (\n <Stack direction=\"column\" gap=\"400\">\n <Stack direction=\"row\" gap=\"200\" align=\"center\">\n <Text fontWeight=\"600\">Gap:</Text>\n <Button size=\"2xs\" onClick={() => setGap(\"100\")}>Small (100)</Button>\n <Button size=\"2xs\" onClick={() => setGap(\"300\")}>Medium (300)</Button>\n <Button size=\"2xs\" onClick={() => setGap(\"600\")}>Large (600)</Button>\n </Stack>\n \n <Stack direction=\"row\" gap={gap}>\n <Box p=\"400\" bg=\"primary.7\" borderRadius=\"200\">Item 1</Box>\n <Box p=\"400\" bg=\"primary.7\" borderRadius=\"200\">Item 2</Box>\n <Box p=\"400\" bg=\"primary.7\" borderRadius=\"200\">Item 3</Box>\n </Stack>\n \n <Text fontSize=\"sm\" color=\"neutral.11\">\n Current gap: {gap}\n </Text>\n </Stack>\n );\n}\n```\n\n### With separator\n\nAdd visual separators between items using the `separator` prop:\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"600\">\n <Stack \n direction=\"column\" \n separator={<Box height=\"25\" bg=\"neutral.6\" />}\n >\n <Box p=\"400\">\n <Text fontWeight=\"600\">Section 1</Text>\n <Text fontSize=\"sm\" color=\"neutral.11\">Content for first section</Text>\n </Box>\n <Box p=\"400\">\n <Text fontWeight=\"600\">Section 2</Text>\n <Text fontSize=\"sm\" color=\"neutral.11\">Content for second section</Text>\n </Box>\n <Box p=\"400\">\n <Text fontWeight=\"600\">Section 3</Text>\n <Text fontSize=\"sm\" color=\"neutral.11\">Content for third section</Text>\n </Box>\n </Stack>\n \n <Stack \n direction=\"row\" \n separator={<Box width=\"25\" bg=\"neutral.6\" height=\"full\" />}\n >\n <Box p=\"400\" flex=\"1\">\n <Text fontWeight=\"600\">Left</Text>\n </Box>\n <Box p=\"400\" flex=\"1\">\n <Text fontWeight=\"600\">Center</Text>\n </Box>\n <Box p=\"400\" flex=\"1\">\n <Text fontWeight=\"600\">Right</Text>\n </Box>\n </Stack>\n </Stack>\n)\n```\n\n### Alignment options\n\nControl alignment with `align` and `justify` props:\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"400\">\n <Box>\n <Text fontWeight=\"600\" mb=\"200\">Horizontal alignment (align):</Text>\n <Stack direction=\"row\" gap=\"400\">\n <Stack direction=\"column\" gap=\"200\" align=\"flex-start\" bg=\"neutral.3\" p=\"400\" borderRadius=\"200\" flex=\"1\">\n <Text fontSize=\"sm\" fontWeight=\"600\">Start</Text>\n <Box p=\"200\" bg=\"primary.7\" borderRadius=\"200\">Item</Box>\n </Stack>\n <Stack direction=\"column\" gap=\"200\" align=\"center\" bg=\"neutral.3\" p=\"400\" borderRadius=\"200\" flex=\"1\">\n <Text fontSize=\"sm\" fontWeight=\"600\">Center</Text>\n <Box p=\"200\" bg=\"primary.7\" borderRadius=\"200\">Item</Box>\n </Stack>\n <Stack direction=\"column\" gap=\"200\" align=\"flex-end\" bg=\"neutral.3\" p=\"400\" borderRadius=\"200\" flex=\"1\">\n <Text fontSize=\"sm\" fontWeight=\"600\">End</Text>\n <Box p=\"200\" bg=\"primary.7\" borderRadius=\"200\">Item</Box>\n </Stack>\n </Stack>\n </Box>\n \n <Box>\n <Text fontWeight=\"600\" mb=\"200\">Vertical alignment (justify):</Text>\n <Stack direction=\"row\" gap=\"400\">\n <Stack direction=\"row\" gap=\"200\" justify=\"flex-start\" bg=\"neutral.3\" p=\"400\" borderRadius=\"200\" flex=\"1\" height=\"2000\">\n <Box p=\"200\" bg=\"info.7\" borderRadius=\"200\">Start</Box>\n </Stack>\n <Stack direction=\"row\" gap=\"200\" justify=\"center\" bg=\"neutral.3\" p=\"400\" borderRadius=\"200\" flex=\"1\" height=\"2000\">\n <Box p=\"200\" bg=\"info.7\" borderRadius=\"200\">Center</Box>\n </Stack>\n <Stack direction=\"row\" gap=\"200\" justify=\"space-between\" bg=\"neutral.3\" p=\"400\" borderRadius=\"200\" flex=\"1\" height=\"2000\">\n <Box p=\"200\" bg=\"info.7\" borderRadius=\"200\">Between</Box>\n <Box p=\"200\" bg=\"info.7\" borderRadius=\"200\">Between</Box>\n </Stack>\n </Stack>\n </Box>\n </Stack>\n)\n```\n\n### Wrapping behavior\n\nControl how items wrap with the `wrap` prop:\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"400\">\n <Box>\n <Text fontWeight=\"600\" mb=\"200\">Wrap (default):</Text>\n <Stack direction=\"row\" wrap=\"wrap\" gap=\"200\" bg=\"neutral.3\" p=\"400\" borderRadius=\"200\">\n {Array.from({ length: 12 }, (_, i) => (\n <Box key={i} p=\"300\" bg=\"primary.7\" borderRadius=\"200\" minWidth=\"1600\">\n Item {i + 1}\n </Box>\n ))}\n </Stack>\n </Box>\n \n <Box>\n <Text fontWeight=\"600\" mb=\"200\">No wrap (overflow):</Text>\n <Stack direction=\"row\" wrap=\"nowrap\" gap=\"200\" bg=\"neutral.3\" p=\"400\" borderRadius=\"200\" overflow=\"auto\">\n {Array.from({ length: 12 }, (_, i) => (\n <Box key={i} p=\"300\" bg=\"info.7\" borderRadius=\"200\" minWidth=\"1600\">\n Item {i + 1}\n </Box>\n ))}\n </Stack>\n </Box>\n </Stack>\n)\n```\n\n### Responsive layouts\n\nStack supports responsive prop values for different breakpoints:\n\n```jsx live-dev\nconst App = () => (\n <Stack \n direction={{ base: \"column\", md: \"row\" }}\n gap={{ base: \"300\", md: \"600\" }}\n align={{ base: \"stretch\", md: \"center\" }}\n >\n <Box p=\"600\" bg=\"primary.7\" borderRadius=\"200\" flex=\"1\">\n <Text fontWeight=\"600\" mb=\"200\">Card 1</Text>\n <Text fontSize=\"sm\">Stacks vertically on mobile, horizontally on desktop</Text>\n </Box>\n <Box p=\"600\" bg=\"primary.7\" borderRadius=\"200\" flex=\"1\">\n <Text fontWeight=\"600\" mb=\"200\">Card 2</Text>\n <Text fontSize=\"sm\">Resize the window to see the layout change</Text>\n </Box>\n <Box p=\"600\" bg=\"primary.7\" borderRadius=\"200\" flex=\"1\">\n <Text fontWeight=\"600\" mb=\"200\">Card 3</Text>\n <Text fontSize=\"sm\">Gap also adjusts responsively</Text>\n </Box>\n </Stack>\n)\n```\n\n## Component requirements\n\n### Usage context\n\nStack should be used when you need to:\n- Arrange multiple elements in a single direction (horizontal or vertical)\n- Apply consistent spacing between elements\n- Add separators between items\n- Create responsive layouts that change direction based on viewport\n\nFor more complex grid-based layouts, consider using the `Grid` component. For simple flex containers with more control over individual item properties, consider using `Flex` or `Box`.\n\n## Accessibility\n\nStack is a layout component with no inherent accessibility requirements. However:\n\n- Ensure child elements have appropriate accessibility attributes\n- Use semantic HTML elements within Stack when appropriate\n- Consider reading order when using `row-reverse` or `column-reverse`\n- Test keyboard navigation flows through stacked elements\n\n#### Persistent ID\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\n<Stack id=\"main-navigation-stack\">\n {/* children */}\n</Stack>\n```\n\n## API reference\n\n<PropsTable id=\"Stack\" />\n\n## Common patterns\n\n### Navigation bar with actions\n\nUse Stack to create navigation layouts with items on opposite ends:\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"row\" align=\"center\" gap=\"400\" p=\"400\" bg=\"neutral.2\" borderRadius=\"200\">\n <Text fontWeight=\"600\" fontSize=\"lg\">Logo</Text>\n <Spacer />\n <Stack direction=\"row\" gap=\"200\">\n <Button size=\"xs\" variant=\"ghost\">Home</Button>\n <Button size=\"xs\" variant=\"ghost\">Products</Button>\n <Button size=\"xs\" variant=\"ghost\">About</Button>\n <Button size=\"xs\" variant=\"outline\">Sign In</Button>\n </Stack>\n </Stack>\n)\n```\n\n### Form sections with separators\n\nOrganize form sections with visual separators:\n\n```jsx live-dev\nconst App = () => (\n <Stack \n direction=\"column\" \n separator={<Box height=\"25\" bg=\"neutral.6\" />}\n divideY=\"1px\"\n >\n <Stack direction=\"column\" gap=\"300\" p=\"400\">\n <Text fontWeight=\"600\">Personal Information</Text>\n <TextInput label=\"Full Name\" />\n <TextInput label=\"Email Address\" />\n </Stack>\n \n <Stack direction=\"column\" gap=\"300\" p=\"400\">\n <Text fontWeight=\"600\">Shipping Address</Text>\n <TextInput label=\"Street Address\" />\n <Stack direction=\"row\" gap=\"200\">\n <TextInput label=\"City\" />\n <TextInput label=\"Postal Code\" />\n </Stack>\n </Stack>\n \n <Stack direction=\"column\" gap=\"300\" p=\"400\">\n <Text fontWeight=\"600\">Payment Method</Text>\n <TextInput label=\"Card Number\" />\n <Stack direction=\"row\" gap=\"200\">\n <TextInput label=\"Expiry Date\" />\n <TextInput label=\"CVV\" />\n </Stack>\n </Stack>\n </Stack>\n)\n```\n\n### Action button groups\n\nCreate consistent button groups with proper spacing:\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"600\" align=\"stretch\">\n <Box>\n <Text fontWeight=\"600\" mb=\"300\">Primary/Secondary Actions:</Text>\n <Stack direction=\"row\" gap=\"200\" justify=\"flex-end\">\n <Button variant=\"ghost\">Cancel</Button>\n <Button variant=\"solid\" colorPalette=\"primary\">Save</Button>\n </Stack>\n </Box>\n \n <Box>\n <Text fontWeight=\"600\" mb=\"300\">Multiple Actions:</Text>\n <Stack direction=\"row\" gap=\"200\" justify=\"space-between\">\n <Button variant=\"outline\" colorPalette=\"critical\">Delete</Button>\n <Stack direction=\"row\" gap=\"200\">\n <Button variant=\"ghost\">Cancel</Button>\n <Button variant=\"outline\">Save Draft</Button>\n <Button variant=\"solid\" colorPalette=\"primary\">Publish</Button>\n </Stack>\n </Stack>\n </Box>\n \n <Box>\n <Text fontWeight=\"600\" mb=\"300\">Icon Buttons:</Text>\n <Stack direction=\"row\" gap=\"100\">\n <IconButton aria-label=\"Edit\" size=\"xs\" variant=\"ghost\">\n <Icons.Edit />\n </IconButton>\n <IconButton aria-label=\"Copy\" size=\"xs\" variant=\"ghost\">\n <Icons.ContentCopy />\n </IconButton>\n <IconButton aria-label=\"Share\" size=\"xs\" variant=\"ghost\">\n <Icons.Share />\n </IconButton>\n <IconButton aria-label=\"Delete\" size=\"xs\" variant=\"ghost\" colorPalette=\"critical\">\n <Icons.Delete />\n </IconButton>\n </Stack>\n </Box>\n </Stack>\n)\n```\n\n### Card content layouts\n\nStructure card content with proper spacing:\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"400\">\n <Card.Root>\n <Card.Content>\n <Stack direction=\"column\" gap=\"300\">\n <Stack direction=\"row\" justify=\"space-between\" align=\"center\">\n <Text fontWeight=\"600\" fontSize=\"lg\">Product Details</Text>\n <IconButton aria-label=\"More options\" size=\"xs\" variant=\"ghost\">\n <Icons.MoreVert />\n </IconButton>\n </Stack>\n \n <Stack direction=\"column\" gap=\"200\">\n <Stack direction=\"row\" justify=\"space-between\">\n <Text color=\"neutral.11\">SKU:</Text>\n <Text fontWeight=\"500\">ABC-12345</Text>\n </Stack>\n <Stack direction=\"row\" justify=\"space-between\">\n <Text color=\"neutral.11\">Price:</Text>\n <Text fontWeight=\"500\">$99.99</Text>\n </Stack>\n <Stack direction=\"row\" justify=\"space-between\">\n <Text color=\"neutral.11\">Stock:</Text>\n <Text fontWeight=\"500\" color=\"positive.11\">In Stock</Text>\n </Stack>\n </Stack>\n \n <Stack direction=\"row\" gap=\"200\" justify=\"flex-end\">\n <Button size=\"xs\" variant=\"outline\">Edit</Button>\n <Button size=\"xs\" variant=\"solid\" colorPalette=\"primary\">View Details</Button>\n </Stack>\n </Stack>\n </Card.Content>\n </Card.Root>\n </Stack>\n)\n```\n\n## Testing your implementation\n\nThese examples demonstrate how to test your implementation when using Stack 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 Stack component renders with expected structure and children\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Stack, Box, Button, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Stack - Basic rendering\", () => {\n it(\"renders Stack with children\", () => {\n render(\n <NimbusProvider>\n <Stack data-testid=\"test-stack\">\n <Box>Item 1</Box>\n <Box>Item 2</Box>\n <Box>Item 3</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"test-stack\");\n expect(stack).toBeInTheDocument();\n expect(stack).toHaveTextContent(\"Item 1\");\n expect(stack).toHaveTextContent(\"Item 2\");\n expect(stack).toHaveTextContent(\"Item 3\");\n });\n\n it(\"applies direction prop correctly\", () => {\n render(\n <NimbusProvider>\n <Stack data-testid=\"row-stack\" direction=\"row\">\n <Box>Item 1</Box>\n <Box>Item 2</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"row-stack\");\n expect(stack).toHaveStyle({ flexDirection: \"row\" });\n });\n\n it(\"applies gap prop for spacing\", () => {\n render(\n <NimbusProvider>\n <Stack data-testid=\"spaced-stack\" gap=\"400\">\n <Box>Item 1</Box>\n <Box>Item 2</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"spaced-stack\");\n expect(stack).toHaveStyle({ gap: \"var(--nimbus-spacing-400)\" });\n });\n});\n```\n\n### Layout Behavior Tests\n\nTest different layout configurations and responsive behavior\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Stack, Box, Button, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Stack - Layout behavior\", () => {\n it(\"renders with column direction by default\", () => {\n render(\n <NimbusProvider>\n <Stack data-testid=\"default-stack\">\n <Box>Item 1</Box>\n <Box>Item 2</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"default-stack\");\n // Chakra Stack defaults to column direction\n expect(stack).toHaveStyle({ display: \"flex\" });\n });\n\n it(\"handles horizontal layout with row direction\", () => {\n render(\n <NimbusProvider>\n <Stack data-testid=\"horizontal-stack\" direction=\"row\" gap=\"200\">\n <Button>Left</Button>\n <Button>Right</Button>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"horizontal-stack\");\n expect(stack).toHaveStyle({ flexDirection: \"row\" });\n expect(screen.getByRole(\"button\", { name: \"Left\" })).toBeInTheDocument();\n expect(screen.getByRole(\"button\", { name: \"Right\" })).toBeInTheDocument();\n });\n\n it(\"applies alignment props correctly\", () => {\n render(\n <NimbusProvider>\n <Stack\n data-testid=\"aligned-stack\"\n direction=\"row\"\n align=\"center\"\n justify=\"space-between\"\n >\n <Box>Left</Box>\n <Box>Right</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"aligned-stack\");\n expect(stack).toHaveStyle({\n alignItems: \"center\",\n justifyContent: \"space-between\",\n });\n });\n\n it(\"applies wrap prop for multi-row layouts\", () => {\n render(\n <NimbusProvider>\n <Stack data-testid=\"wrapped-stack\" direction=\"row\" wrap=\"wrap\">\n {Array.from({ length: 10 }, (_, i) => (\n <Box key={i}>Item {i + 1}</Box>\n ))}\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"wrapped-stack\");\n expect(stack).toHaveStyle({ flexWrap: \"wrap\" });\n });\n});\n```\n\n### Separator Tests\n\nTest rendering of separators between stack items\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Stack, Box, Button, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Stack - Separators\", () => {\n it(\"renders separator elements between children\", () => {\n render(\n <NimbusProvider>\n <Stack\n data-testid=\"separated-stack\"\n separator={<Box data-testid=\"separator\">---</Box>}\n >\n <Box>Item 1</Box>\n <Box>Item 2</Box>\n <Box>Item 3</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const separators = screen.getAllByTestId(\"separator\");\n // Should have n-1 separators for n items\n expect(separators).toHaveLength(2);\n });\n\n it(\"renders custom separator components\", () => {\n render(\n <NimbusProvider>\n <Stack\n separator={<Box height=\"25\" bg=\"neutral.6\" data-testid=\"divider\" />}\n >\n <Box>Section 1</Box>\n <Box>Section 2</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const dividers = screen.getAllByTestId(\"divider\");\n expect(dividers).toHaveLength(1);\n });\n});\n```\n\n### Style Props Tests\n\nTest that Stack accepts and applies Chakra style props\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Stack, Box, Button, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Stack - Style props\", () => {\n it(\"applies background color prop\", () => {\n render(\n <NimbusProvider>\n <Stack data-testid=\"styled-stack\" bg=\"primary.7\" p=\"400\">\n <Box>Content</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"styled-stack\");\n expect(stack).toHaveStyle({\n padding: \"var(--nimbus-spacing-400)\",\n });\n // Background color is applied via colorPalette system\n });\n\n it(\"applies border radius and border props\", () => {\n render(\n <NimbusProvider>\n <Stack\n data-testid=\"bordered-stack\"\n borderRadius=\"200\"\n borderWidth=\"25\"\n borderColor=\"neutral.6\"\n >\n <Box>Content</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"bordered-stack\");\n // Border styles are applied (checking presence, not exact CSS vars)\n expect(stack).toBeInTheDocument();\n });\n\n it(\"applies width and height props\", () => {\n render(\n <NimbusProvider>\n <Stack data-testid=\"sized-stack\" width=\"6400\" height=\"3200\">\n <Box>Content</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"sized-stack\");\n expect(stack).toHaveStyle({\n width: \"var(--nimbus-sizes-6400)\",\n height: \"var(--nimbus-sizes-3200)\",\n });\n });\n\n it(\"applies overflow props\", () => {\n render(\n <NimbusProvider>\n <Stack data-testid=\"overflow-stack\" overflow=\"auto\">\n <Box>Content</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"overflow-stack\");\n expect(stack).toHaveStyle({ overflow: \"auto\" });\n });\n});\n```\n\n### Props Forwarding Tests\n\nVerify that Stack forwards standard HTML and ARIA attributes\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Stack, Box, Button, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Stack - Props forwarding\", () => {\n it(\"forwards data attributes\", () => {\n render(\n <NimbusProvider>\n <Stack data-testid=\"data-stack\" data-custom=\"custom-value\">\n <Box>Content</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"data-stack\");\n expect(stack).toHaveAttribute(\"data-custom\", \"custom-value\");\n });\n\n it(\"forwards className prop\", () => {\n render(\n <NimbusProvider>\n <Stack data-testid=\"class-stack\" className=\"custom-class\">\n <Box>Content</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"class-stack\");\n expect(stack).toHaveClass(\"custom-class\");\n });\n\n it(\"forwards id prop\", () => {\n render(\n <NimbusProvider>\n <Stack id=\"unique-stack-id\">\n <Box>Content</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = document.getElementById(\"unique-stack-id\");\n expect(stack).toBeInTheDocument();\n });\n\n it(\"forwards ARIA attributes\", () => {\n render(\n <NimbusProvider>\n <Stack\n data-testid=\"aria-stack\"\n aria-label=\"Navigation stack\"\n role=\"navigation\"\n >\n <Box>Content</Box>\n </Stack>\n </NimbusProvider>\n );\n\n const stack = screen.getByTestId(\"aria-stack\");\n expect(stack).toHaveAttribute(\"aria-label\", \"Navigation stack\");\n expect(stack).toHaveAttribute(\"role\", \"navigation\");\n });\n});\n```\n\n### Ref Forwarding Tests\n\nVerify that Stack properly forwards refs to the underlying DOM element\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Stack, Box, Button, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Stack - Ref forwarding\", () => {\n it(\"forwards ref to underlying div element\", () => {\n const ref = { current: null as HTMLDivElement | null };\n\n render(\n <NimbusProvider>\n <Stack ref={ref}>\n <Box>Content</Box>\n </Stack>\n </NimbusProvider>\n );\n\n expect(ref.current).toBeInstanceOf(HTMLDivElement);\n });\n\n it(\"allows access to DOM methods through ref\", () => {\n const ref = { current: null as HTMLDivElement | null };\n\n render(\n <NimbusProvider>\n <Stack ref={ref}>\n <Box>Content</Box>\n </Stack>\n </NimbusProvider>\n );\n\n expect(ref.current).not.toBeNull();\n expect(typeof ref.current?.getBoundingClientRect).toBe(\"function\");\n });\n});\n```\n\n\n## Resources\n\n- [Storybook](https://nimbus-storybook.vercel.app/?path=/docs/components-stack--docs)\n- [Chakra UI Stack Documentation](https://www.chakra-ui.com/docs/components/stack)\n- [Box Component](/components/layout/box)\n- [Flex Component](/components/layout/flex)\n- [Spacer Component](/components/layout/spacer)\n- [Grid Component](/components/layout/grid)\n",
|
|
176
|
+
"toc": [
|
|
177
|
+
{
|
|
178
|
+
"value": "Getting started",
|
|
179
|
+
"href": "#getting-started",
|
|
180
|
+
"depth": 2,
|
|
181
|
+
"numbering": [
|
|
182
|
+
1,
|
|
183
|
+
1
|
|
184
|
+
],
|
|
185
|
+
"parent": "root"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"value": "Import",
|
|
189
|
+
"href": "#import",
|
|
190
|
+
"depth": 3,
|
|
191
|
+
"numbering": [
|
|
192
|
+
1,
|
|
193
|
+
1,
|
|
194
|
+
1
|
|
195
|
+
],
|
|
196
|
+
"parent": "root"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"value": "Basic usage",
|
|
200
|
+
"href": "#basic-usage",
|
|
201
|
+
"depth": 3,
|
|
202
|
+
"numbering": [
|
|
203
|
+
1,
|
|
204
|
+
1,
|
|
205
|
+
2
|
|
206
|
+
],
|
|
207
|
+
"parent": "root"
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"value": "Usage examples",
|
|
211
|
+
"href": "#usage-examples",
|
|
212
|
+
"depth": 2,
|
|
213
|
+
"numbering": [
|
|
214
|
+
1,
|
|
215
|
+
2
|
|
216
|
+
],
|
|
217
|
+
"parent": "root"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"value": "Direction variants",
|
|
221
|
+
"href": "#direction-variants",
|
|
222
|
+
"depth": 3,
|
|
223
|
+
"numbering": [
|
|
224
|
+
1,
|
|
225
|
+
2,
|
|
226
|
+
1
|
|
227
|
+
],
|
|
228
|
+
"parent": "root"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"value": "Gap and spacing",
|
|
232
|
+
"href": "#gap-and-spacing",
|
|
233
|
+
"depth": 3,
|
|
234
|
+
"numbering": [
|
|
235
|
+
1,
|
|
236
|
+
2,
|
|
237
|
+
2
|
|
238
|
+
],
|
|
239
|
+
"parent": "root"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"value": "With separator",
|
|
243
|
+
"href": "#with-separator",
|
|
244
|
+
"depth": 3,
|
|
245
|
+
"numbering": [
|
|
246
|
+
1,
|
|
247
|
+
2,
|
|
248
|
+
3
|
|
249
|
+
],
|
|
250
|
+
"parent": "root"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"value": "Alignment options",
|
|
254
|
+
"href": "#alignment-options",
|
|
255
|
+
"depth": 3,
|
|
256
|
+
"numbering": [
|
|
257
|
+
1,
|
|
258
|
+
2,
|
|
259
|
+
4
|
|
260
|
+
],
|
|
261
|
+
"parent": "root"
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"value": "Wrapping behavior",
|
|
265
|
+
"href": "#wrapping-behavior",
|
|
266
|
+
"depth": 3,
|
|
267
|
+
"numbering": [
|
|
268
|
+
1,
|
|
269
|
+
2,
|
|
270
|
+
5
|
|
271
|
+
],
|
|
272
|
+
"parent": "root"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"value": "Responsive layouts",
|
|
276
|
+
"href": "#responsive-layouts",
|
|
277
|
+
"depth": 3,
|
|
278
|
+
"numbering": [
|
|
279
|
+
1,
|
|
280
|
+
2,
|
|
281
|
+
6
|
|
282
|
+
],
|
|
283
|
+
"parent": "root"
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"value": "Component requirements",
|
|
287
|
+
"href": "#component-requirements",
|
|
288
|
+
"depth": 2,
|
|
289
|
+
"numbering": [
|
|
290
|
+
1,
|
|
291
|
+
3
|
|
292
|
+
],
|
|
293
|
+
"parent": "root"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"value": "Usage context",
|
|
297
|
+
"href": "#usage-context",
|
|
298
|
+
"depth": 3,
|
|
299
|
+
"numbering": [
|
|
300
|
+
1,
|
|
301
|
+
3,
|
|
302
|
+
1
|
|
303
|
+
],
|
|
304
|
+
"parent": "root"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"value": "Accessibility",
|
|
308
|
+
"href": "#accessibility",
|
|
309
|
+
"depth": 2,
|
|
310
|
+
"numbering": [
|
|
311
|
+
1,
|
|
312
|
+
4
|
|
313
|
+
],
|
|
314
|
+
"parent": "root"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"value": "Persistent ID",
|
|
318
|
+
"href": "#persistent-id",
|
|
319
|
+
"depth": 4,
|
|
320
|
+
"numbering": [
|
|
321
|
+
1,
|
|
322
|
+
4,
|
|
323
|
+
1,
|
|
324
|
+
1
|
|
325
|
+
],
|
|
326
|
+
"parent": "root"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"value": "API reference",
|
|
330
|
+
"href": "#api-reference",
|
|
331
|
+
"depth": 2,
|
|
332
|
+
"numbering": [
|
|
333
|
+
1,
|
|
334
|
+
5
|
|
335
|
+
],
|
|
336
|
+
"parent": "root"
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"value": "Common patterns",
|
|
340
|
+
"href": "#common-patterns",
|
|
341
|
+
"depth": 2,
|
|
342
|
+
"numbering": [
|
|
343
|
+
1,
|
|
344
|
+
6
|
|
345
|
+
],
|
|
346
|
+
"parent": "root"
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"value": "Navigation bar with actions",
|
|
350
|
+
"href": "#navigation-bar-with-actions",
|
|
351
|
+
"depth": 3,
|
|
352
|
+
"numbering": [
|
|
353
|
+
1,
|
|
354
|
+
6,
|
|
355
|
+
1
|
|
356
|
+
],
|
|
357
|
+
"parent": "root"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"value": "Form sections with separators",
|
|
361
|
+
"href": "#form-sections-with-separators",
|
|
362
|
+
"depth": 3,
|
|
363
|
+
"numbering": [
|
|
364
|
+
1,
|
|
365
|
+
6,
|
|
366
|
+
2
|
|
367
|
+
],
|
|
368
|
+
"parent": "root"
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"value": "Action button groups",
|
|
372
|
+
"href": "#action-button-groups",
|
|
373
|
+
"depth": 3,
|
|
374
|
+
"numbering": [
|
|
375
|
+
1,
|
|
376
|
+
6,
|
|
377
|
+
3
|
|
378
|
+
],
|
|
379
|
+
"parent": "root"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"value": "Card content layouts",
|
|
383
|
+
"href": "#card-content-layouts",
|
|
384
|
+
"depth": 3,
|
|
385
|
+
"numbering": [
|
|
386
|
+
1,
|
|
387
|
+
6,
|
|
388
|
+
4
|
|
389
|
+
],
|
|
390
|
+
"parent": "root"
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"value": "Testing your implementation",
|
|
394
|
+
"href": "#testing-your-implementation",
|
|
395
|
+
"depth": 2,
|
|
396
|
+
"numbering": [
|
|
397
|
+
1,
|
|
398
|
+
7
|
|
399
|
+
],
|
|
400
|
+
"parent": "root"
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"value": "Basic Rendering Tests",
|
|
404
|
+
"href": "#basic-rendering-tests",
|
|
405
|
+
"depth": 3,
|
|
406
|
+
"numbering": [
|
|
407
|
+
1,
|
|
408
|
+
7,
|
|
409
|
+
1
|
|
410
|
+
],
|
|
411
|
+
"parent": "root"
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"value": "Layout Behavior Tests",
|
|
415
|
+
"href": "#layout-behavior-tests",
|
|
416
|
+
"depth": 3,
|
|
417
|
+
"numbering": [
|
|
418
|
+
1,
|
|
419
|
+
7,
|
|
420
|
+
2
|
|
421
|
+
],
|
|
422
|
+
"parent": "root"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"value": "Separator Tests",
|
|
426
|
+
"href": "#separator-tests",
|
|
427
|
+
"depth": 3,
|
|
428
|
+
"numbering": [
|
|
429
|
+
1,
|
|
430
|
+
7,
|
|
431
|
+
3
|
|
432
|
+
],
|
|
433
|
+
"parent": "root"
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"value": "Style Props Tests",
|
|
437
|
+
"href": "#style-props-tests",
|
|
438
|
+
"depth": 3,
|
|
439
|
+
"numbering": [
|
|
440
|
+
1,
|
|
441
|
+
7,
|
|
442
|
+
4
|
|
443
|
+
],
|
|
444
|
+
"parent": "root"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"value": "Props Forwarding Tests",
|
|
448
|
+
"href": "#props-forwarding-tests",
|
|
449
|
+
"depth": 3,
|
|
450
|
+
"numbering": [
|
|
451
|
+
1,
|
|
452
|
+
7,
|
|
453
|
+
5
|
|
454
|
+
],
|
|
455
|
+
"parent": "root"
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
"value": "Ref Forwarding Tests",
|
|
459
|
+
"href": "#ref-forwarding-tests",
|
|
460
|
+
"depth": 3,
|
|
461
|
+
"numbering": [
|
|
462
|
+
1,
|
|
463
|
+
7,
|
|
464
|
+
6
|
|
465
|
+
],
|
|
466
|
+
"parent": "root"
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"value": "Resources",
|
|
470
|
+
"href": "#resources",
|
|
471
|
+
"depth": 2,
|
|
472
|
+
"numbering": [
|
|
473
|
+
1,
|
|
474
|
+
8
|
|
475
|
+
],
|
|
476
|
+
"parent": "root"
|
|
477
|
+
}
|
|
478
|
+
]
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"id": "Layout",
|
|
4
|
+
"title": "Layout",
|
|
5
|
+
"description": "Components that structure the content on the page.",
|
|
6
|
+
"order": 1,
|
|
7
|
+
"repoPath": "packages/nimbus/src/docs/components-layout.mdx",
|
|
8
|
+
"menu": [
|
|
9
|
+
"Components",
|
|
10
|
+
"Layout"
|
|
11
|
+
],
|
|
12
|
+
"route": "components/layout",
|
|
13
|
+
"tags": [
|
|
14
|
+
"layout"
|
|
15
|
+
],
|
|
16
|
+
"toc": [],
|
|
17
|
+
"icon": "ViewComfy",
|
|
18
|
+
"layout": "app-frame",
|
|
19
|
+
"tabs": [
|
|
20
|
+
{
|
|
21
|
+
"key": "overview",
|
|
22
|
+
"title": "Overview",
|
|
23
|
+
"order": 0
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"mdx": "\n# Layout\n\nComponents that structure the content on the page.\n\n<CategoryOverview variant=\"list\" />\n",
|
|
28
|
+
"views": {
|
|
29
|
+
"overview": {
|
|
30
|
+
"mdx": "\n# Layout\n\nComponents that structure the content on the page.\n\n<CategoryOverview variant=\"list\" />\n",
|
|
31
|
+
"toc": []
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|