@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,393 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"id": "Components-Grid",
|
|
4
|
+
"title": "Grid",
|
|
5
|
+
"exportName": "Grid",
|
|
6
|
+
"description": "The Grid Layout Component provides a flexible and responsive way to structure content using a two-dimensional grid system. It allows elements to be arranged in rows and columns, enabling dynamic and efficient layouts for different screen sizes. The component accepts all the chakra supported properties and Grid.Item as children elements.",
|
|
7
|
+
"lifecycleState": "Stable",
|
|
8
|
+
"order": 999,
|
|
9
|
+
"repoPath": "packages/nimbus/src/components/grid/grid.mdx",
|
|
10
|
+
"menu": [
|
|
11
|
+
"Components",
|
|
12
|
+
"Layout",
|
|
13
|
+
"Grid"
|
|
14
|
+
],
|
|
15
|
+
"route": "components/layout/grid",
|
|
16
|
+
"tags": [
|
|
17
|
+
"component",
|
|
18
|
+
"grid",
|
|
19
|
+
"layout",
|
|
20
|
+
"columns",
|
|
21
|
+
"rows"
|
|
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 columns",
|
|
36
|
+
"href": "#with-columns",
|
|
37
|
+
"depth": 3,
|
|
38
|
+
"numbering": [
|
|
39
|
+
1,
|
|
40
|
+
1,
|
|
41
|
+
1
|
|
42
|
+
],
|
|
43
|
+
"parent": "root"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"value": "With varying layout",
|
|
47
|
+
"href": "#with-varying-layout",
|
|
48
|
+
"depth": 3,
|
|
49
|
+
"numbering": [
|
|
50
|
+
1,
|
|
51
|
+
1,
|
|
52
|
+
2
|
|
53
|
+
],
|
|
54
|
+
"parent": "root"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"value": "With template areas properties",
|
|
58
|
+
"href": "#with-template-areas-properties",
|
|
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\nUse Grid → When you need fine control over layout, spanning, and custom grid\nbehaviors.\n\n```jsx\nimport { Grid } from \"@commercetools/nimbus\";\n```\n\nTo use the Grid layout, ensure to wrap the individual grid items inside of the\n`<Grid.Item>` component\n\n```jsx live\nconst App = () => (\n <Grid gap=\"100\">\n <Grid.Item>\n <Box key=\"1\" p=\"400\" bg=\"neutral.7\">\n Item 1\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box key=\"1\" p=\"400\" bg=\"neutral.7\">\n Item 2\n </Box>\n </Grid.Item>\n </Grid>\n)\n```\n\n### With columns\n\n```jsx live\nconst App = () => (\n <Grid gap=\"100\" templateColumns=\"repeat(2, 1fr)\">\n <Grid.Item>\n <Box key=\"1\" p=\"400\" bg=\"neutral.7\">\n Item 1\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box key=\"1\" p=\"400\" bg=\"neutral.7\">\n Item 2\n </Box>\n </Grid.Item>\n </Grid>\n)\n```\n\n### With varying layout\n\nShowcases how elements can span multiple rows and columns within a structured\ngrid. This layout is useful for dashboards, content cards, or complex UI\ncomponents where elements need different sizes while maintaining alignment.\n\n```jsx live\nconst App = () => (\n <Grid\n h=\"200px\"\n templateRows=\"repeat(2, 1fr)\"\n templateColumns=\"repeat(5, 1fr)\"\n gap={4}\n >\n <Grid.Item rowSpan={2} colSpan={1}>\n <Box p=\"400\" bg=\"neutral.7\">\n colSpan=1\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={2}>\n <Box p=\"400\" bg=\"neutral.7\">\n colSpan=2\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={2}>\n <Box p=\"400\" bg=\"neutral.7\">\n colSpan=2\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={4}>\n <Box p=\"400\" bg=\"neutral.7\">\n colSpan=4\n </Box>\n </Grid.Item>\n </Grid>\n)\n```\n\n### With template areas properties\n\nDemonstrate layout with template areas - shows how to create a common page\nlayout pattern\n\n```jsx live\nconst App = () => (\n <Grid\n h=\"400px\"\n templateAreas={`\n \"header header\"\n \"nav main\"\n \"footer footer\"\n `}\n templateColumns=\"200px 1fr\"\n gap=\"400\"\n >\n <Grid.Item gridArea=\"header\">\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Header\n </Box>\n </Grid.Item>\n <Grid.Item gridArea=\"nav\">\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Navigation\n </Box>\n </Grid.Item>\n <Grid.Item gridArea=\"main\">\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Main Content\n </Box>\n </Grid.Item>\n <Grid.Item gridArea=\"footer\">\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Footer\n </Box>\n </Grid.Item>\n </Grid>\n)\n```\n",
|
|
88
|
+
"views": {
|
|
89
|
+
"overview": {
|
|
90
|
+
"mdx": "\n## Basic usage\n\nUse Grid → When you need fine control over layout, spanning, and custom grid\nbehaviors.\n\n```jsx\nimport { Grid } from \"@commercetools/nimbus\";\n```\n\nTo use the Grid layout, ensure to wrap the individual grid items inside of the\n`<Grid.Item>` component\n\n```jsx live\nconst App = () => (\n <Grid gap=\"100\">\n <Grid.Item>\n <Box key=\"1\" p=\"400\" bg=\"neutral.7\">\n Item 1\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box key=\"1\" p=\"400\" bg=\"neutral.7\">\n Item 2\n </Box>\n </Grid.Item>\n </Grid>\n)\n```\n\n### With columns\n\n```jsx live\nconst App = () => (\n <Grid gap=\"100\" templateColumns=\"repeat(2, 1fr)\">\n <Grid.Item>\n <Box key=\"1\" p=\"400\" bg=\"neutral.7\">\n Item 1\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box key=\"1\" p=\"400\" bg=\"neutral.7\">\n Item 2\n </Box>\n </Grid.Item>\n </Grid>\n)\n```\n\n### With varying layout\n\nShowcases how elements can span multiple rows and columns within a structured\ngrid. This layout is useful for dashboards, content cards, or complex UI\ncomponents where elements need different sizes while maintaining alignment.\n\n```jsx live\nconst App = () => (\n <Grid\n h=\"200px\"\n templateRows=\"repeat(2, 1fr)\"\n templateColumns=\"repeat(5, 1fr)\"\n gap={4}\n >\n <Grid.Item rowSpan={2} colSpan={1}>\n <Box p=\"400\" bg=\"neutral.7\">\n colSpan=1\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={2}>\n <Box p=\"400\" bg=\"neutral.7\">\n colSpan=2\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={2}>\n <Box p=\"400\" bg=\"neutral.7\">\n colSpan=2\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={4}>\n <Box p=\"400\" bg=\"neutral.7\">\n colSpan=4\n </Box>\n </Grid.Item>\n </Grid>\n)\n```\n\n### With template areas properties\n\nDemonstrate layout with template areas - shows how to create a common page\nlayout pattern\n\n```jsx live\nconst App = () => (\n <Grid\n h=\"400px\"\n templateAreas={`\n \"header header\"\n \"nav main\"\n \"footer footer\"\n `}\n templateColumns=\"200px 1fr\"\n gap=\"400\"\n >\n <Grid.Item gridArea=\"header\">\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Header\n </Box>\n </Grid.Item>\n <Grid.Item gridArea=\"nav\">\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Navigation\n </Box>\n </Grid.Item>\n <Grid.Item gridArea=\"main\">\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Main Content\n </Box>\n </Grid.Item>\n <Grid.Item gridArea=\"footer\">\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Footer\n </Box>\n </Grid.Item>\n </Grid>\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 columns",
|
|
104
|
+
"href": "#with-columns",
|
|
105
|
+
"depth": 3,
|
|
106
|
+
"numbering": [
|
|
107
|
+
1,
|
|
108
|
+
1,
|
|
109
|
+
1
|
|
110
|
+
],
|
|
111
|
+
"parent": "root"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"value": "With varying layout",
|
|
115
|
+
"href": "#with-varying-layout",
|
|
116
|
+
"depth": 3,
|
|
117
|
+
"numbering": [
|
|
118
|
+
1,
|
|
119
|
+
1,
|
|
120
|
+
2
|
|
121
|
+
],
|
|
122
|
+
"parent": "root"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"value": "With template areas properties",
|
|
126
|
+
"href": "#with-template-areas-properties",
|
|
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 <Grid templateColumns=\"repeat(3, 1fr)\" gap=\"400\">\n <Box bg=\"gray.100\" p=\"400\">Item 1</Box>\n <Box bg=\"gray.100\" p=\"400\">Item 2</Box>\n <Box bg=\"gray.100\" p=\"400\">Item 3</Box>\n </Grid>\n);\n```\n\n### Accessibility standards\n\n- **Use semantic HTML:** Grid is a layout component that renders a `div` by\n default. Use the `as` prop to apply semantic elements when appropriate.\n- **Maintain reading order:** Ensure the visual grid order matches the DOM order\n so screen readers navigate content logically.\n- **Avoid layout-only containers:** When possible, apply grid styles directly to\n semantic elements rather than wrapping content in non-semantic divs.\n- **Responsive design:** Ensure grid layouts adapt appropriately for different\n screen sizes and zoom levels.\n- **Focus order:** Ensure keyboard focus follows a logical order through grid\n items.\n- **Don't rely on visual position alone:** Important relationships or\n information should be conveyed through semantic HTML, not just visual\n positioning.\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 { Grid, type GridProps } from \"@commercetools/nimbus\";\n```\n\n### Basic usage\n\n```jsx live-dev\nconst App = () => (\n <Grid gap=\"100\">\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 1\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 2\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 3\n </Box>\n </Grid.Item>\n </Grid>\n);\n```\n\n## Usage examples\n\n### Column-based layout\n\nUse the `templateColumns` prop to define the number and size of columns in your grid.\n\n```jsx live-dev\nconst App = () => (\n <Grid gap=\"100\" templateColumns=\"repeat(3, 1fr)\">\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 1\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 2\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 3\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 4\n </Box>\n </Grid.Item>\n </Grid>\n);\n```\n\n### Row and column spanning\n\nGrid items can span multiple rows or columns using the `rowSpan` and `colSpan` props on `Grid.Item`.\n\n```jsx live-dev\nconst App = () => (\n <Grid\n h=\"200px\"\n templateRows=\"repeat(2, 1fr)\"\n templateColumns=\"repeat(5, 1fr)\"\n gap=\"100\"\n >\n <Grid.Item rowSpan={2} colSpan={1}>\n <Box p=\"400\" bg=\"primary.7\" h=\"full\">\n Sidebar\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={2}>\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Top Left\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={2}>\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Top Right\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={4}>\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Bottom Section\n </Box>\n </Grid.Item>\n </Grid>\n);\n```\n\n### Template areas\n\nUse named grid areas to create semantic layouts. This approach is particularly useful for common page layouts.\n\n```jsx live-dev\nconst App = () => (\n <Grid\n h=\"400px\"\n templateAreas={`\n \"header header\"\n \"nav main\"\n \"footer footer\"\n `}\n templateColumns=\"200px 1fr\"\n gap=\"400\"\n >\n <Grid.Item gridArea=\"header\">\n <Box p=\"400\" bg=\"primary.7\" h=\"full\">\n Header\n </Box>\n </Grid.Item>\n <Grid.Item gridArea=\"nav\">\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Navigation\n </Box>\n </Grid.Item>\n <Grid.Item gridArea=\"main\">\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Main Content\n </Box>\n </Grid.Item>\n <Grid.Item gridArea=\"footer\">\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\">\n Footer\n </Box>\n </Grid.Item>\n </Grid>\n);\n```\n\n### Responsive grids\n\nGrid properties can be responsive using Chakra UI's responsive syntax with breakpoint objects.\n\n```jsx live-dev\nconst App = () => (\n <Grid\n gap=\"100\"\n templateColumns={{\n base: \"1fr\",\n sm: \"repeat(2, 1fr)\",\n md: \"repeat(3, 1fr)\",\n lg: \"repeat(4, 1fr)\",\n }}\n >\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 1\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 2\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 3\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 4\n </Box>\n </Grid.Item>\n </Grid>\n);\n```\n\n### Gap variations\n\nControl spacing between grid items using the `gap` prop, or use `columnGap` and `rowGap` for independent control.\n\n```jsx live-dev\nconst App = () => (\n <Stack gap=\"400\">\n <Box>\n <Text mb=\"100\" fontWeight=\"semibold\">\n Uniform gap\n </Text>\n <Grid gap=\"200\" templateColumns=\"repeat(3, 1fr)\">\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 1\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 2\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 3\n </Box>\n </Grid.Item>\n </Grid>\n </Box>\n\n <Box>\n <Text mb=\"100\" fontWeight=\"semibold\">\n Different row and column gaps\n </Text>\n <Grid rowGap=\"400\" columnGap=\"100\" templateColumns=\"repeat(3, 1fr)\">\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 1\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 2\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 3\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 4\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 5\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\">\n Item 6\n </Box>\n </Grid.Item>\n </Grid>\n </Box>\n </Stack>\n);\n```\n\n## Component requirements\n\n### Usage context\n\n**Grid vs SimpleGrid**: Use Grid when you need fine-grained control over layout with template areas, custom spanning, or complex grid configurations. Use SimpleGrid for simpler, uniform grid layouts where items have equal size.\n\n**Grid.Item wrapper**: Always wrap child elements in `Grid.Item` components to ensure proper grid behavior and enable spanning props.\n\n## Accessibility\n\n**Role**: Grid renders as a `<div>` with `display: grid`. It has no implicit ARIA role.\n\n**Labeling**: For grids that represent data tables or require context, use `aria-label` or `aria-labelledby`:\n\n```tsx\n<Grid aria-label=\"Product catalog\">\n {/* Grid items */}\n</Grid>\n```\n\n**Keyboard navigation**: Grid itself doesn't provide keyboard navigation. If your grid contains interactive elements, ensure they maintain logical tab order.\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\nconst PERSISTENT_ID = \"product-grid\";\n\nexport const ProductGrid = () => (\n <Grid id={PERSISTENT_ID} templateColumns=\"repeat(3, 1fr)\" gap=\"400\">\n <Grid.Item>\n <ProductCard />\n </Grid.Item>\n {/* More items */}\n </Grid>\n);\n```\n\n## API reference\n\n<PropsTable id=\"Grid\" />\n\n## Common patterns\n\n### Dashboard layout\n\nA responsive dashboard layout with varying widget sizes.\n\n```jsx live-dev\nconst App = () => (\n <Grid\n templateColumns=\"repeat(12, 1fr)\"\n templateRows=\"repeat(3, 100px)\"\n gap=\"400\"\n >\n <Grid.Item colSpan={{ base: 12, md: 8 }} rowSpan={2}>\n <Box p=\"400\" bg=\"primary.7\" h=\"full\" borderRadius=\"md\">\n <Text fontWeight=\"bold\" mb=\"200\">\n Main Chart\n </Text>\n <Text color=\"neutral.11\">Primary analytics visualization</Text>\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={{ base: 12, md: 4 }} rowSpan={2}>\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\" borderRadius=\"md\">\n <Text fontWeight=\"bold\" mb=\"200\">\n Statistics\n </Text>\n <Text color=\"neutral.11\">Key metrics summary</Text>\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={{ base: 12, md: 4 }}>\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\" borderRadius=\"md\">\n <Text fontWeight=\"bold\">Recent Activity</Text>\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={{ base: 12, md: 4 }}>\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\" borderRadius=\"md\">\n <Text fontWeight=\"bold\">Notifications</Text>\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={{ base: 12, md: 4 }}>\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\" borderRadius=\"md\">\n <Text fontWeight=\"bold\">Quick Actions</Text>\n </Box>\n </Grid.Item>\n </Grid>\n);\n```\n\n### Card gallery with featured item\n\nA gallery layout where one item is featured more prominently.\n\n```jsx live-dev\nconst App = () => (\n <Grid\n templateColumns=\"repeat(4, 1fr)\"\n templateRows=\"repeat(2, 150px)\"\n gap=\"400\"\n >\n <Grid.Item colSpan={2} rowSpan={2}>\n <Box\n p=\"400\"\n bg=\"primary.7\"\n h=\"full\"\n borderRadius=\"md\"\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Text fontWeight=\"bold\" fontSize=\"xl\" mb=\"200\">\n Featured Product\n </Text>\n <Text color=\"neutral.11\">Premium collection highlight</Text>\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={2}>\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\" borderRadius=\"md\">\n <Text fontWeight=\"bold\">Product 2</Text>\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\" borderRadius=\"md\">\n <Text fontWeight=\"bold\">Product 3</Text>\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\" h=\"full\" borderRadius=\"md\">\n <Text fontWeight=\"bold\">Product 4</Text>\n </Box>\n </Grid.Item>\n </Grid>\n);\n```\n\n### Sidebar layout with sticky navigation\n\nA page layout with a sticky sidebar using template areas.\n\n```jsx live-dev\nconst App = () => (\n <Grid\n minH=\"400px\"\n templateAreas={`\n \"sidebar content\"\n `}\n templateColumns=\"250px 1fr\"\n gap=\"400\"\n >\n <Grid.Item gridArea=\"sidebar\">\n <Box p=\"400\" bg=\"neutral.7\" borderRadius=\"md\" position=\"sticky\" top=\"0\">\n <Text fontWeight=\"bold\" mb=\"300\">\n Navigation\n </Text>\n <Stack gap=\"200\">\n <Text>Dashboard</Text>\n <Text>Products</Text>\n <Text>Orders</Text>\n <Text>Customers</Text>\n <Text>Settings</Text>\n </Stack>\n </Box>\n </Grid.Item>\n <Grid.Item gridArea=\"content\">\n <Box p=\"400\" bg=\"neutral.7\" borderRadius=\"md\" minH=\"400px\">\n <Text fontWeight=\"bold\" mb=\"300\">\n Main Content\n </Text>\n <Text color=\"neutral.11\">\n Your page content goes here. The sidebar will remain visible as users\n scroll.\n </Text>\n </Box>\n </Grid.Item>\n </Grid>\n);\n```\n\n### Form sections grid\n\nOrganize form fields in a structured grid layout.\n\n```jsx live-dev\nconst App = () => (\n <Grid templateColumns=\"repeat(2, 1fr)\" gap=\"400\">\n <Grid.Item colSpan={2}>\n <Box p=\"400\" bg=\"primary.7\" borderRadius=\"md\">\n <Text fontWeight=\"bold\">Account Information</Text>\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\" borderRadius=\"md\">\n <Text fontWeight=\"bold\" mb=\"200\">\n First Name\n </Text>\n <Text fontSize=\"sm\" color=\"neutral.11\">\n Input field placeholder\n </Text>\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\" borderRadius=\"md\">\n <Text fontWeight=\"bold\" mb=\"200\">\n Last Name\n </Text>\n <Text fontSize=\"sm\" color=\"neutral.11\">\n Input field placeholder\n </Text>\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={2}>\n <Box p=\"400\" bg=\"neutral.7\" borderRadius=\"md\">\n <Text fontWeight=\"bold\" mb=\"200\">\n Email Address\n </Text>\n <Text fontSize=\"sm\" color=\"neutral.11\">\n Input field placeholder\n </Text>\n </Box>\n </Grid.Item>\n <Grid.Item colSpan={2}>\n <Box p=\"400\" bg=\"primary.7\" borderRadius=\"md\">\n <Text fontWeight=\"bold\">Contact Preferences</Text>\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\" borderRadius=\"md\">\n <Text fontWeight=\"bold\" mb=\"200\">\n Phone\n </Text>\n <Text fontSize=\"sm\" color=\"neutral.11\">\n Input field placeholder\n </Text>\n </Box>\n </Grid.Item>\n <Grid.Item>\n <Box p=\"400\" bg=\"neutral.7\" borderRadius=\"md\">\n <Text fontWeight=\"bold\" mb=\"200\">\n Preferred Contact Method\n </Text>\n <Text fontSize=\"sm\" color=\"neutral.11\">\n Select placeholder\n </Text>\n </Box>\n </Grid.Item>\n </Grid>\n);\n```\n\n## Resources\n\n- [Grid component in Storybook](https://nimbus-storybook.vercel.app/?path=/docs/components-grid--docs)\n- [Chakra UI Grid documentation](https://www.chakra-ui.com/docs/components/grid)\n- [CSS Grid Layout on MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout)\n- [SimpleGrid component](/components/layout/simplegrid) - For simpler, uniform grid layouts\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": "Column-based layout",
|
|
221
|
+
"href": "#column-based-layout",
|
|
222
|
+
"depth": 3,
|
|
223
|
+
"numbering": [
|
|
224
|
+
1,
|
|
225
|
+
2,
|
|
226
|
+
1
|
|
227
|
+
],
|
|
228
|
+
"parent": "root"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"value": "Row and column spanning",
|
|
232
|
+
"href": "#row-and-column-spanning",
|
|
233
|
+
"depth": 3,
|
|
234
|
+
"numbering": [
|
|
235
|
+
1,
|
|
236
|
+
2,
|
|
237
|
+
2
|
|
238
|
+
],
|
|
239
|
+
"parent": "root"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"value": "Template areas",
|
|
243
|
+
"href": "#template-areas",
|
|
244
|
+
"depth": 3,
|
|
245
|
+
"numbering": [
|
|
246
|
+
1,
|
|
247
|
+
2,
|
|
248
|
+
3
|
|
249
|
+
],
|
|
250
|
+
"parent": "root"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"value": "Responsive grids",
|
|
254
|
+
"href": "#responsive-grids",
|
|
255
|
+
"depth": 3,
|
|
256
|
+
"numbering": [
|
|
257
|
+
1,
|
|
258
|
+
2,
|
|
259
|
+
4
|
|
260
|
+
],
|
|
261
|
+
"parent": "root"
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"value": "Gap variations",
|
|
265
|
+
"href": "#gap-variations",
|
|
266
|
+
"depth": 3,
|
|
267
|
+
"numbering": [
|
|
268
|
+
1,
|
|
269
|
+
2,
|
|
270
|
+
5
|
|
271
|
+
],
|
|
272
|
+
"parent": "root"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"value": "Component requirements",
|
|
276
|
+
"href": "#component-requirements",
|
|
277
|
+
"depth": 2,
|
|
278
|
+
"numbering": [
|
|
279
|
+
1,
|
|
280
|
+
3
|
|
281
|
+
],
|
|
282
|
+
"parent": "root"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"value": "Usage context",
|
|
286
|
+
"href": "#usage-context",
|
|
287
|
+
"depth": 3,
|
|
288
|
+
"numbering": [
|
|
289
|
+
1,
|
|
290
|
+
3,
|
|
291
|
+
1
|
|
292
|
+
],
|
|
293
|
+
"parent": "root"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"value": "Accessibility",
|
|
297
|
+
"href": "#accessibility",
|
|
298
|
+
"depth": 2,
|
|
299
|
+
"numbering": [
|
|
300
|
+
1,
|
|
301
|
+
4
|
|
302
|
+
],
|
|
303
|
+
"parent": "root"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"value": "Persistent ID",
|
|
307
|
+
"href": "#persistent-id",
|
|
308
|
+
"depth": 3,
|
|
309
|
+
"numbering": [
|
|
310
|
+
1,
|
|
311
|
+
4,
|
|
312
|
+
1
|
|
313
|
+
],
|
|
314
|
+
"parent": "root"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"value": "API reference",
|
|
318
|
+
"href": "#api-reference",
|
|
319
|
+
"depth": 2,
|
|
320
|
+
"numbering": [
|
|
321
|
+
1,
|
|
322
|
+
5
|
|
323
|
+
],
|
|
324
|
+
"parent": "root"
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"value": "Common patterns",
|
|
328
|
+
"href": "#common-patterns",
|
|
329
|
+
"depth": 2,
|
|
330
|
+
"numbering": [
|
|
331
|
+
1,
|
|
332
|
+
6
|
|
333
|
+
],
|
|
334
|
+
"parent": "root"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"value": "Dashboard layout",
|
|
338
|
+
"href": "#dashboard-layout",
|
|
339
|
+
"depth": 3,
|
|
340
|
+
"numbering": [
|
|
341
|
+
1,
|
|
342
|
+
6,
|
|
343
|
+
1
|
|
344
|
+
],
|
|
345
|
+
"parent": "root"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"value": "Card gallery with featured item",
|
|
349
|
+
"href": "#card-gallery-with-featured-item",
|
|
350
|
+
"depth": 3,
|
|
351
|
+
"numbering": [
|
|
352
|
+
1,
|
|
353
|
+
6,
|
|
354
|
+
2
|
|
355
|
+
],
|
|
356
|
+
"parent": "root"
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"value": "Sidebar layout with sticky navigation",
|
|
360
|
+
"href": "#sidebar-layout-with-sticky-navigation",
|
|
361
|
+
"depth": 3,
|
|
362
|
+
"numbering": [
|
|
363
|
+
1,
|
|
364
|
+
6,
|
|
365
|
+
3
|
|
366
|
+
],
|
|
367
|
+
"parent": "root"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"value": "Form sections grid",
|
|
371
|
+
"href": "#form-sections-grid",
|
|
372
|
+
"depth": 3,
|
|
373
|
+
"numbering": [
|
|
374
|
+
1,
|
|
375
|
+
6,
|
|
376
|
+
4
|
|
377
|
+
],
|
|
378
|
+
"parent": "root"
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"value": "Resources",
|
|
382
|
+
"href": "#resources",
|
|
383
|
+
"depth": 2,
|
|
384
|
+
"numbering": [
|
|
385
|
+
1,
|
|
386
|
+
7
|
|
387
|
+
],
|
|
388
|
+
"parent": "root"
|
|
389
|
+
}
|
|
390
|
+
]
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|