@commercetools/nimbus-mcp 0.1.0 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -14
- package/data/docs/route-manifest.json +10998 -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-scrollarea.json +428 -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 +179 -0
- package/data/docs/types/ScrollAreaElementIds.json +9 -0
- package/data/docs/types/ScrollAreaProps.json +9 -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 +280 -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,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"id": "Components-Code",
|
|
4
|
+
"title": "Code",
|
|
5
|
+
"exportName": "Code",
|
|
6
|
+
"description": "renders code blocks",
|
|
7
|
+
"lifecycleState": "Stable",
|
|
8
|
+
"order": 999,
|
|
9
|
+
"repoPath": "packages/nimbus/src/components/code/code.mdx",
|
|
10
|
+
"menu": [
|
|
11
|
+
"Components",
|
|
12
|
+
"Typography",
|
|
13
|
+
"Code"
|
|
14
|
+
],
|
|
15
|
+
"route": "components/typography/code",
|
|
16
|
+
"tags": [
|
|
17
|
+
"component",
|
|
18
|
+
"code",
|
|
19
|
+
"syntax",
|
|
20
|
+
"monospace"
|
|
21
|
+
],
|
|
22
|
+
"toc": [],
|
|
23
|
+
"layout": "app-frame",
|
|
24
|
+
"tabs": [
|
|
25
|
+
{
|
|
26
|
+
"key": "overview",
|
|
27
|
+
"title": "Overview",
|
|
28
|
+
"order": 0
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"mdx": "\nAdd description later.\n",
|
|
33
|
+
"views": {
|
|
34
|
+
"overview": {
|
|
35
|
+
"mdx": "\nAdd description later.\n",
|
|
36
|
+
"toc": []
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"id": "Components-Heading",
|
|
4
|
+
"title": "Heading",
|
|
5
|
+
"exportName": "Heading",
|
|
6
|
+
"description": "The heading component establishes typographic hierarchy throughout the product experience. It is crucial for organizing content, defining page structure, and improving content scan ability.",
|
|
7
|
+
"lifecycleState": "Stable",
|
|
8
|
+
"order": 2,
|
|
9
|
+
"repoPath": "packages/nimbus/src/components/heading/heading.mdx",
|
|
10
|
+
"menu": [
|
|
11
|
+
"Components",
|
|
12
|
+
"Typography",
|
|
13
|
+
"Heading"
|
|
14
|
+
],
|
|
15
|
+
"route": "components/typography/heading",
|
|
16
|
+
"tags": [
|
|
17
|
+
"component",
|
|
18
|
+
"typography",
|
|
19
|
+
"heading"
|
|
20
|
+
],
|
|
21
|
+
"toc": [
|
|
22
|
+
{
|
|
23
|
+
"value": "Overview",
|
|
24
|
+
"href": "#overview",
|
|
25
|
+
"depth": 2,
|
|
26
|
+
"numbering": [
|
|
27
|
+
1,
|
|
28
|
+
1
|
|
29
|
+
],
|
|
30
|
+
"parent": "root"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"value": "Resources",
|
|
34
|
+
"href": "#resources",
|
|
35
|
+
"depth": 3,
|
|
36
|
+
"numbering": [
|
|
37
|
+
1,
|
|
38
|
+
1,
|
|
39
|
+
1
|
|
40
|
+
],
|
|
41
|
+
"parent": "root"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"value": "Variables",
|
|
45
|
+
"href": "#variables",
|
|
46
|
+
"depth": 2,
|
|
47
|
+
"numbering": [
|
|
48
|
+
1,
|
|
49
|
+
2
|
|
50
|
+
],
|
|
51
|
+
"parent": "root"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"value": "Typographic scale and hierarchy",
|
|
55
|
+
"href": "#typographic-scale-and-hierarchy",
|
|
56
|
+
"depth": 4,
|
|
57
|
+
"numbering": [
|
|
58
|
+
1,
|
|
59
|
+
2,
|
|
60
|
+
1,
|
|
61
|
+
1
|
|
62
|
+
],
|
|
63
|
+
"parent": "root"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"figmaLink": "https://www.figma.com/design/gHbAJGfcrCv7f2bgzUQgHq/NIMBUS-Guidelines?node-id=5373-117&focus-id=5373-92&m=dev",
|
|
67
|
+
"layout": "app-frame",
|
|
68
|
+
"tabs": [
|
|
69
|
+
{
|
|
70
|
+
"key": "overview",
|
|
71
|
+
"title": "Overview",
|
|
72
|
+
"order": 0
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"key": "guidelines",
|
|
76
|
+
"title": "Guidelines",
|
|
77
|
+
"order": 2
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"key": "dev",
|
|
81
|
+
"title": "Implementation",
|
|
82
|
+
"order": 3
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"key": "a11y",
|
|
86
|
+
"title": "Accessibility",
|
|
87
|
+
"order": 4
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"mdx": "\n## Overview\n\nGood headings are essential for organizing information and engaging users. They\nclearly communicate the content's topic, making the page scannable and easier to\nnavigate. Effective headlines also improve accessibility for screen readers and\naid search engine optimization (SEO) by defining content relevance.\n\n### Resources\n\nDeep dive on details and access design library.\n\n[Figma library](https://www.figma.com/design/gHbAJGfcrCv7f2bgzUQgHq/NIMBUS-Guidelines?node-id=5373-117&focus-id=5373-92&m=dev)\n\n## Variables\n\nGet familiar with the features.\n\n#### Typographic scale and hierarchy\n\nThese text styles are the recommended styles for headings.\n\n| **Category** | **Description** |\n| -------------- | ------------------------------------------------------------- |\n| **Heading H1** | Primary page titles and largest headers. |\n| **Heading H2** | Used for secondary headlines. |\n| **Heading H3** | Used for tertiary headlines. |\n| **Heading H4** | Commonly used for section headers and large accordion titles. |\n",
|
|
92
|
+
"views": {
|
|
93
|
+
"overview": {
|
|
94
|
+
"mdx": "\n## Overview\n\nGood headings are essential for organizing information and engaging users. They\nclearly communicate the content's topic, making the page scannable and easier to\nnavigate. Effective headlines also improve accessibility for screen readers and\naid search engine optimization (SEO) by defining content relevance.\n\n### Resources\n\nDeep dive on details and access design library.\n\n[Figma library](https://www.figma.com/design/gHbAJGfcrCv7f2bgzUQgHq/NIMBUS-Guidelines?node-id=5373-117&focus-id=5373-92&m=dev)\n\n## Variables\n\nGet familiar with the features.\n\n#### Typographic scale and hierarchy\n\nThese text styles are the recommended styles for headings.\n\n| **Category** | **Description** |\n| -------------- | ------------------------------------------------------------- |\n| **Heading H1** | Primary page titles and largest headers. |\n| **Heading H2** | Used for secondary headlines. |\n| **Heading H3** | Used for tertiary headlines. |\n| **Heading H4** | Commonly used for section headers and large accordion titles. |\n",
|
|
95
|
+
"toc": [
|
|
96
|
+
{
|
|
97
|
+
"value": "Overview",
|
|
98
|
+
"href": "#overview",
|
|
99
|
+
"depth": 2,
|
|
100
|
+
"numbering": [
|
|
101
|
+
1,
|
|
102
|
+
1
|
|
103
|
+
],
|
|
104
|
+
"parent": "root"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"value": "Resources",
|
|
108
|
+
"href": "#resources",
|
|
109
|
+
"depth": 3,
|
|
110
|
+
"numbering": [
|
|
111
|
+
1,
|
|
112
|
+
1,
|
|
113
|
+
1
|
|
114
|
+
],
|
|
115
|
+
"parent": "root"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"value": "Variables",
|
|
119
|
+
"href": "#variables",
|
|
120
|
+
"depth": 2,
|
|
121
|
+
"numbering": [
|
|
122
|
+
1,
|
|
123
|
+
2
|
|
124
|
+
],
|
|
125
|
+
"parent": "root"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"value": "Typographic scale and hierarchy",
|
|
129
|
+
"href": "#typographic-scale-and-hierarchy",
|
|
130
|
+
"depth": 4,
|
|
131
|
+
"numbering": [
|
|
132
|
+
1,
|
|
133
|
+
2,
|
|
134
|
+
1,
|
|
135
|
+
1
|
|
136
|
+
],
|
|
137
|
+
"parent": "root"
|
|
138
|
+
}
|
|
139
|
+
]
|
|
140
|
+
},
|
|
141
|
+
"a11y": {
|
|
142
|
+
"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 <Heading as=\"h1\" size=\"4xl\">Heading H1</Heading>\n <Heading as=\"h2\" size=\"3xl\">Heading H2</Heading>\n <Heading as=\"h3\" size=\"2xl\">Heading H3</Heading>\n <Heading as=\"h4\" size=\"xl\">Heading H4</Heading>\n </Stack>\n)\n```\n\n### Accessibility standards\n\n- **Semantic markup:** Use the correct HTML heading tags (`<h1>` to `<h6>`) to\n establish a document outline, rather than relying on font styling alone.\n- **Logical order:** Maintain the correct hierarchical order (e.g., `<h2>`\n follows `<h1>`, not `<h4>`).\n- **Informative text:** Ensure the headline clearly describes the content that\n immediately follows it for easy scanning.\n- **Contrast:** Maintain a high contrast ratio (`3:1` for large text, `4.5:1`\n for smaller/regular text) between the text and background.\n- **Visual distinction:** Ensure the headline is visually distinct (size,\n weight) from body text to aid quick visual scanning.\n- **Language attribute:** Use the lang attribute if the headline is in a\n language different from the rest of the page.\n",
|
|
143
|
+
"toc": [
|
|
144
|
+
{
|
|
145
|
+
"value": "Accessibility",
|
|
146
|
+
"href": "#accessibility",
|
|
147
|
+
"depth": 2,
|
|
148
|
+
"numbering": [
|
|
149
|
+
1,
|
|
150
|
+
1
|
|
151
|
+
],
|
|
152
|
+
"parent": "root"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"value": "Accessibility standards",
|
|
156
|
+
"href": "#accessibility-standards",
|
|
157
|
+
"depth": 3,
|
|
158
|
+
"numbering": [
|
|
159
|
+
1,
|
|
160
|
+
1,
|
|
161
|
+
1
|
|
162
|
+
],
|
|
163
|
+
"parent": "root"
|
|
164
|
+
}
|
|
165
|
+
]
|
|
166
|
+
},
|
|
167
|
+
"dev": {
|
|
168
|
+
"mdx": "\n## Getting started\n\n### Import\n\n```tsx\nimport { Heading, type HeadingProps } from '@commercetools/nimbus';\n```\n\n### Basic usage\n\nThe simplest implementation renders a heading with the default xl size:\n\n```jsx live-dev\nconst App = () => (\n <Heading>Welcome to Nimbus</Heading>\n)\n```\n\n## Usage examples\n\n### Size options\n\nThe Heading component provides 11 size variants (xs through 7xl) to establish clear typographic hierarchy:\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"400\">\n <Heading size=\"xs\">Extra Small Heading (xs)</Heading>\n <Heading size=\"sm\">Small Heading (sm)</Heading>\n <Heading size=\"md\">Medium Heading (md)</Heading>\n <Heading size=\"lg\">Large Heading (lg)</Heading>\n <Heading size=\"xl\">Extra Large Heading (xl - default)</Heading>\n <Heading size=\"2xl\">2XL Heading</Heading>\n <Heading size=\"3xl\">3XL Heading</Heading>\n <Heading size=\"4xl\">4XL Heading</Heading>\n <Heading size=\"5xl\">5XL Heading</Heading>\n <Heading size=\"6xl\">6XL Heading</Heading>\n <Heading size=\"7xl\">7XL Heading</Heading>\n </Stack>\n)\n```\n\n### Semantic HTML levels\n\nUse the `as` prop to render the appropriate semantic HTML heading element (h1-h6):\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"400\">\n <Heading as=\"h1\" size=\"4xl\">Page Title (h1)</Heading>\n <Heading as=\"h2\" size=\"2xl\">Section Heading (h2)</Heading>\n <Heading as=\"h3\" size=\"xl\">Subsection Heading (h3)</Heading>\n <Heading as=\"h4\" size=\"lg\">Card Title (h4)</Heading>\n <Heading as=\"h5\" size=\"md\">Minor Heading (h5)</Heading>\n <Heading as=\"h6\" size=\"sm\">Smallest Heading (h6)</Heading>\n </Stack>\n)\n```\n\n**Best practice:** Match visual hierarchy (size) with semantic hierarchy (h1-h6) for optimal accessibility. Use h1 for main page titles, h2 for major sections, and so on.\n\n### Custom styling\n\nThe Heading component supports Chakra UI style props for additional customization:\n\n```jsx live-dev\nconst App = () => (\n <Stack direction=\"column\" gap=\"400\">\n <Heading size=\"2xl\" color=\"primary.11\">\n Primary Color Heading\n </Heading>\n <Heading size=\"xl\" marginTop=\"600\" marginBottom=\"400\">\n Heading with Custom Margins\n </Heading>\n <Heading size=\"lg\" fontWeight=\"400\">\n Lighter Weight Heading\n </Heading>\n <Heading size=\"md\" textAlign=\"center\">\n Center-Aligned Heading\n </Heading>\n </Stack>\n)\n```\n\n## Component requirements\n\n## Accessibility\n\nThe Heading component provides semantic HTML heading elements for proper document structure. Screen readers use heading levels to navigate content and understand page hierarchy.\n\n**Heading level best practices:**\n- Use heading levels sequentially (don't skip levels)\n- Typically one h1 per page (the main title)\n- Use h2-h6 to create logical content hierarchy\n- Visual size (size prop) can differ from semantic level (as prop)\n\nIf your use case requires tracking and analytics for this component, it is good practice to add a **persistent**, **unique** id to the component:\n\n```tsx\nconst PERSISTENT_ID = \"example-heading-id\";\n\nexport const Example = () => (\n <Heading id={PERSISTENT_ID}>Analytics-Tracked Heading</Heading>\n);\n```\n\n#### Keyboard navigation\n\nAs a non-interactive display component, Heading does not require keyboard interaction. However, screen reader users can navigate between headings using keyboard shortcuts (typically H key) to quickly scan page structure.\n\n## API reference\n\n<PropsTable id=\"Heading\" />\n\nThe Heading component extends Chakra UI's Heading component and accepts all style props including:\n\n- Typography: `size`, `fontSize`, `fontWeight`, `lineHeight`, `letterSpacing`\n- Color: `color`, `colorPalette`\n- Layout: `display`, `width`, `maxWidth`\n- Spacing: `margin`, `padding`, `gap`\n- Text formatting: `textAlign`, `textTransform`, `textDecoration`\n\n## Testing your implementation\n\nThese examples demonstrate how to test your implementation when using Heading 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 heading component renders with expected content\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Heading, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Heading - Basic rendering\", () => {\n it(\"renders heading with text content\", () => {\n render(\n <NimbusProvider>\n <Heading>Welcome to Dashboard</Heading>\n </NimbusProvider>\n );\n\n expect(\n screen.getByRole(\"heading\", { name: \"Welcome to Dashboard\" })\n ).toBeInTheDocument();\n });\n\n it(\"renders with default h2 semantic level\", () => {\n render(\n <NimbusProvider>\n <Heading>Default Heading</Heading>\n </NimbusProvider>\n );\n\n const heading = screen.getByRole(\"heading\", { name: \"Default Heading\" });\n expect(heading.tagName).toBe(\"H2\");\n });\n});\n```\n\n### Size Variant Tests\n\nTest different size variants to ensure proper rendering\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Heading, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Heading - Size variants\", () => {\n it(\"renders with small size\", () => {\n render(\n <NimbusProvider>\n <Heading size=\"sm\">Small Heading</Heading>\n </NimbusProvider>\n );\n\n expect(\n screen.getByRole(\"heading\", { name: \"Small Heading\" })\n ).toBeInTheDocument();\n });\n\n it(\"renders with extra large size\", () => {\n render(\n <NimbusProvider>\n <Heading size=\"xl\">Extra Large Heading</Heading>\n </NimbusProvider>\n );\n\n expect(\n screen.getByRole(\"heading\", { name: \"Extra Large Heading\" })\n ).toBeInTheDocument();\n });\n\n it(\"renders with 5xl size\", () => {\n render(\n <NimbusProvider>\n <Heading size=\"5xl\">Massive Heading</Heading>\n </NimbusProvider>\n );\n\n expect(\n screen.getByRole(\"heading\", { name: \"Massive Heading\" })\n ).toBeInTheDocument();\n });\n});\n```\n\n### Semantic HTML Level Tests\n\nTest heading semantic levels for proper document structure\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Heading, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Heading - Semantic levels\", () => {\n it(\"renders as h1 when specified\", () => {\n render(\n <NimbusProvider>\n <Heading as=\"h1\">Page Title</Heading>\n </NimbusProvider>\n );\n\n const heading = screen.getByRole(\"heading\", {\n level: 1,\n name: \"Page Title\",\n });\n expect(heading).toBeInTheDocument();\n expect(heading.tagName).toBe(\"H1\");\n });\n\n it(\"renders as h3 when specified\", () => {\n render(\n <NimbusProvider>\n <Heading as=\"h3\">Subsection Title</Heading>\n </NimbusProvider>\n );\n\n const heading = screen.getByRole(\"heading\", {\n level: 3,\n name: \"Subsection Title\",\n });\n expect(heading).toBeInTheDocument();\n expect(heading.tagName).toBe(\"H3\");\n });\n\n it(\"renders as h6 when specified\", () => {\n render(\n <NimbusProvider>\n <Heading as=\"h6\">Minor Heading</Heading>\n </NimbusProvider>\n );\n\n const heading = screen.getByRole(\"heading\", {\n level: 6,\n name: \"Minor Heading\",\n });\n expect(heading).toBeInTheDocument();\n expect(heading.tagName).toBe(\"H6\");\n });\n});\n```\n\n### Style Props Tests\n\nTest that style props are properly applied\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Heading, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Heading - Style props\", () => {\n it(\"applies custom id for analytics tracking\", () => {\n const PERSISTENT_ID = \"dashboard-title\";\n\n render(\n <NimbusProvider>\n <Heading id={PERSISTENT_ID}>Dashboard</Heading>\n </NimbusProvider>\n );\n\n const heading = screen.getByRole(\"heading\", { name: \"Dashboard\" });\n expect(heading).toHaveAttribute(\"id\", PERSISTENT_ID);\n });\n\n it(\"applies className for custom styling\", () => {\n render(\n <NimbusProvider>\n <Heading className=\"custom-heading\">Styled Heading</Heading>\n </NimbusProvider>\n );\n\n const heading = screen.getByRole(\"heading\", { name: \"Styled Heading\" });\n expect(heading).toHaveClass(\"custom-heading\");\n });\n});\n```\n\n### Accessibility Tests\n\nVerify heading accessibility features\n\n```tsx\nimport { describe, it, expect } from \"vitest\";\nimport { render, screen } from \"@testing-library/react\";\nimport { Heading, NimbusProvider } from \"@commercetools/nimbus\";\n\ndescribe(\"Heading - Accessibility\", () => {\n it(\"provides accessible heading role\", () => {\n render(\n <NimbusProvider>\n <Heading>Accessible Heading</Heading>\n </NimbusProvider>\n );\n\n const heading = screen.getByRole(\"heading\");\n expect(heading).toBeInTheDocument();\n expect(heading).toHaveAccessibleName(\"Accessible Heading\");\n });\n\n it(\"supports aria-label for screen readers\", () => {\n render(\n <NimbusProvider>\n <Heading aria-label=\"Dashboard Overview\">Dashboard</Heading>\n </NimbusProvider>\n );\n\n const heading = screen.getByRole(\"heading\", { name: \"Dashboard Overview\" });\n expect(heading).toBeInTheDocument();\n });\n\n it(\"maintains proper heading hierarchy\", () => {\n render(\n <NimbusProvider>\n <div>\n <Heading as=\"h1\">Main Title</Heading>\n <Heading as=\"h2\">Section Title</Heading>\n <Heading as=\"h3\">Subsection Title</Heading>\n </div>\n </NimbusProvider>\n );\n\n const h1 = screen.getByRole(\"heading\", { level: 1 });\n const h2 = screen.getByRole(\"heading\", { level: 2 });\n const h3 = screen.getByRole(\"heading\", { level: 3 });\n\n expect(h1).toBeInTheDocument();\n expect(h2).toBeInTheDocument();\n expect(h3).toBeInTheDocument();\n });\n});\n```\n\n\n## Resources\n\n- [Storybook](https://nimbus-storybook.vercel.app/?path=/docs/components-heading--docs)\n- [Text Component](../components/typography/text) - Related typography component\n",
|
|
169
|
+
"toc": [
|
|
170
|
+
{
|
|
171
|
+
"value": "Getting started",
|
|
172
|
+
"href": "#getting-started",
|
|
173
|
+
"depth": 2,
|
|
174
|
+
"numbering": [
|
|
175
|
+
1,
|
|
176
|
+
1
|
|
177
|
+
],
|
|
178
|
+
"parent": "root"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"value": "Import",
|
|
182
|
+
"href": "#import",
|
|
183
|
+
"depth": 3,
|
|
184
|
+
"numbering": [
|
|
185
|
+
1,
|
|
186
|
+
1,
|
|
187
|
+
1
|
|
188
|
+
],
|
|
189
|
+
"parent": "root"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"value": "Basic usage",
|
|
193
|
+
"href": "#basic-usage",
|
|
194
|
+
"depth": 3,
|
|
195
|
+
"numbering": [
|
|
196
|
+
1,
|
|
197
|
+
1,
|
|
198
|
+
2
|
|
199
|
+
],
|
|
200
|
+
"parent": "root"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"value": "Usage examples",
|
|
204
|
+
"href": "#usage-examples",
|
|
205
|
+
"depth": 2,
|
|
206
|
+
"numbering": [
|
|
207
|
+
1,
|
|
208
|
+
2
|
|
209
|
+
],
|
|
210
|
+
"parent": "root"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"value": "Size options",
|
|
214
|
+
"href": "#size-options",
|
|
215
|
+
"depth": 3,
|
|
216
|
+
"numbering": [
|
|
217
|
+
1,
|
|
218
|
+
2,
|
|
219
|
+
1
|
|
220
|
+
],
|
|
221
|
+
"parent": "root"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"value": "Semantic HTML levels",
|
|
225
|
+
"href": "#semantic-html-levels",
|
|
226
|
+
"depth": 3,
|
|
227
|
+
"numbering": [
|
|
228
|
+
1,
|
|
229
|
+
2,
|
|
230
|
+
2
|
|
231
|
+
],
|
|
232
|
+
"parent": "root"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"value": "Custom styling",
|
|
236
|
+
"href": "#custom-styling",
|
|
237
|
+
"depth": 3,
|
|
238
|
+
"numbering": [
|
|
239
|
+
1,
|
|
240
|
+
2,
|
|
241
|
+
3
|
|
242
|
+
],
|
|
243
|
+
"parent": "root"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"value": "Component requirements",
|
|
247
|
+
"href": "#component-requirements",
|
|
248
|
+
"depth": 2,
|
|
249
|
+
"numbering": [
|
|
250
|
+
1,
|
|
251
|
+
3
|
|
252
|
+
],
|
|
253
|
+
"parent": "root"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"value": "Accessibility",
|
|
257
|
+
"href": "#accessibility",
|
|
258
|
+
"depth": 2,
|
|
259
|
+
"numbering": [
|
|
260
|
+
1,
|
|
261
|
+
4
|
|
262
|
+
],
|
|
263
|
+
"parent": "root"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"value": "Keyboard navigation",
|
|
267
|
+
"href": "#keyboard-navigation",
|
|
268
|
+
"depth": 4,
|
|
269
|
+
"numbering": [
|
|
270
|
+
1,
|
|
271
|
+
4,
|
|
272
|
+
1,
|
|
273
|
+
1
|
|
274
|
+
],
|
|
275
|
+
"parent": "root"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"value": "API reference",
|
|
279
|
+
"href": "#api-reference",
|
|
280
|
+
"depth": 2,
|
|
281
|
+
"numbering": [
|
|
282
|
+
1,
|
|
283
|
+
5
|
|
284
|
+
],
|
|
285
|
+
"parent": "root"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"value": "Testing your implementation",
|
|
289
|
+
"href": "#testing-your-implementation",
|
|
290
|
+
"depth": 2,
|
|
291
|
+
"numbering": [
|
|
292
|
+
1,
|
|
293
|
+
6
|
|
294
|
+
],
|
|
295
|
+
"parent": "root"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"value": "Basic Rendering Tests",
|
|
299
|
+
"href": "#basic-rendering-tests",
|
|
300
|
+
"depth": 3,
|
|
301
|
+
"numbering": [
|
|
302
|
+
1,
|
|
303
|
+
6,
|
|
304
|
+
1
|
|
305
|
+
],
|
|
306
|
+
"parent": "root"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"value": "Size Variant Tests",
|
|
310
|
+
"href": "#size-variant-tests",
|
|
311
|
+
"depth": 3,
|
|
312
|
+
"numbering": [
|
|
313
|
+
1,
|
|
314
|
+
6,
|
|
315
|
+
2
|
|
316
|
+
],
|
|
317
|
+
"parent": "root"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"value": "Semantic HTML Level Tests",
|
|
321
|
+
"href": "#semantic-html-level-tests",
|
|
322
|
+
"depth": 3,
|
|
323
|
+
"numbering": [
|
|
324
|
+
1,
|
|
325
|
+
6,
|
|
326
|
+
3
|
|
327
|
+
],
|
|
328
|
+
"parent": "root"
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"value": "Style Props Tests",
|
|
332
|
+
"href": "#style-props-tests",
|
|
333
|
+
"depth": 3,
|
|
334
|
+
"numbering": [
|
|
335
|
+
1,
|
|
336
|
+
6,
|
|
337
|
+
4
|
|
338
|
+
],
|
|
339
|
+
"parent": "root"
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"value": "Accessibility Tests",
|
|
343
|
+
"href": "#accessibility-tests",
|
|
344
|
+
"depth": 3,
|
|
345
|
+
"numbering": [
|
|
346
|
+
1,
|
|
347
|
+
6,
|
|
348
|
+
5
|
|
349
|
+
],
|
|
350
|
+
"parent": "root"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"value": "Resources",
|
|
354
|
+
"href": "#resources",
|
|
355
|
+
"depth": 2,
|
|
356
|
+
"numbering": [
|
|
357
|
+
1,
|
|
358
|
+
7
|
|
359
|
+
],
|
|
360
|
+
"parent": "root"
|
|
361
|
+
}
|
|
362
|
+
]
|
|
363
|
+
},
|
|
364
|
+
"guidelines": {
|
|
365
|
+
"mdx": "\n## Guidelines\n\nUsing headings is a good way to keep content accessible and formatted for those\nwho use screen readers but also helps visual users understand the format of the\npage and easily scan to find the needed sections efficiently.\n\n### Best practices\n\n- **Keep hierarchy consistent**: Use a limited, predefined set of text styles to\n maintain visual consistency across all products. Add custom styles with\n caution.\n- **Prioritize line length**: Use optimal line lengths (typically 50 to 75\n characters per line) to prevent eye strain and facilitate reading.\n- **Use concise language**: Write clearly, avoiding unnecessary jargon or overly\n long sentences to reduce cognitive load.\n- **Break up content**: Use short paragraphs, lists, and headings to break up\n large blocks of text, making content easier to scan.\n- **Maintain consistent tone**: The language, style, and formality should be\n consistent throughout the application, reflecting the brand's voice.\n- **Handle truncation gracefully**: When necessary, truncate long text with\n ellipses and provide a tooltip or interaction element to reveal the full\n content.\n- **Keep length in mind for translation**: When supporting text localization,\n length can expand more than 20%. Design experiences that can be flexible to\n shortening and lengthening of content.\n\n### Header Do's and Don'ts\n\n> [!TIP]\\\n> **Do**\n>\n> - Use predefined headings, body sizes, and weights to clearly signal the\n> importance of content.\n> - Always maintain sufficient contrast between text and its background to meet\n> WCAG AA standards (4.5:1 minimum).\n> - Headings should be short and aid users when scanning sections.\n> - Ensure adequate vertical spacing (line-height) to prevent text lines from\n> colliding and improve readability.\n> - Write clearly, avoiding unnecessary jargon and overly long sentences.\n\n> [!CAUTION]\\\n> **Don't**\n>\n> - Avoid introducing too many different font sizes, weights, or families, which\n> destroys visual consistency.\n> - Never use color as the only method to convey meaning (e.g., indicating an\n> error solely with red text).\n> - Avoid excessively long lines of text (over 80 characters), which makes\n> tracking difficult and causes fatigue.\n> - Avoid line heights that are too small, which makes text visually dense and\n> difficult to read.\n> - Never truncate text without providing a clear way (like a tooltip) to view\n> the full content.\n> - Avoid pairing text colors that barely distinguish themselves from the\n> background, even if they look \"stylish.\"\n",
|
|
366
|
+
"toc": [
|
|
367
|
+
{
|
|
368
|
+
"value": "Guidelines",
|
|
369
|
+
"href": "#guidelines",
|
|
370
|
+
"depth": 2,
|
|
371
|
+
"numbering": [
|
|
372
|
+
1,
|
|
373
|
+
1
|
|
374
|
+
],
|
|
375
|
+
"parent": "root"
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
"value": "Best practices",
|
|
379
|
+
"href": "#best-practices",
|
|
380
|
+
"depth": 3,
|
|
381
|
+
"numbering": [
|
|
382
|
+
1,
|
|
383
|
+
1,
|
|
384
|
+
1
|
|
385
|
+
],
|
|
386
|
+
"parent": "root"
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"value": "Header Do's and Don'ts",
|
|
390
|
+
"href": "#header-dos-and-donts",
|
|
391
|
+
"depth": 3,
|
|
392
|
+
"numbering": [
|
|
393
|
+
1,
|
|
394
|
+
1,
|
|
395
|
+
2
|
|
396
|
+
],
|
|
397
|
+
"parent": "root"
|
|
398
|
+
}
|
|
399
|
+
]
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
}
|