@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,184 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"id": "TokensTypography",
|
|
4
|
+
"title": "Typography",
|
|
5
|
+
"description": "everything typography related",
|
|
6
|
+
"order": 999,
|
|
7
|
+
"repoPath": "packages/nimbus/src/docs/tokens/typography.mdx",
|
|
8
|
+
"menu": [
|
|
9
|
+
"Home",
|
|
10
|
+
"Design Tokens",
|
|
11
|
+
"Typography"
|
|
12
|
+
],
|
|
13
|
+
"route": "home/design-tokens/typography",
|
|
14
|
+
"tags": [
|
|
15
|
+
"text",
|
|
16
|
+
"headings",
|
|
17
|
+
"strong",
|
|
18
|
+
"bold",
|
|
19
|
+
"italic",
|
|
20
|
+
"emphasize"
|
|
21
|
+
],
|
|
22
|
+
"toc": [
|
|
23
|
+
{
|
|
24
|
+
"value": "Text Styles",
|
|
25
|
+
"href": "#text-styles",
|
|
26
|
+
"depth": 2,
|
|
27
|
+
"numbering": [
|
|
28
|
+
1,
|
|
29
|
+
1
|
|
30
|
+
],
|
|
31
|
+
"parent": "root"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"value": "Available Text Styles",
|
|
35
|
+
"href": "#available-text-styles",
|
|
36
|
+
"depth": 3,
|
|
37
|
+
"numbering": [
|
|
38
|
+
1,
|
|
39
|
+
1,
|
|
40
|
+
1
|
|
41
|
+
],
|
|
42
|
+
"parent": "root"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"value": "Fonts",
|
|
46
|
+
"href": "#fonts",
|
|
47
|
+
"depth": 2,
|
|
48
|
+
"numbering": [
|
|
49
|
+
1,
|
|
50
|
+
2
|
|
51
|
+
],
|
|
52
|
+
"parent": "root"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"value": "Font Sizes",
|
|
56
|
+
"href": "#font-sizes",
|
|
57
|
+
"depth": 2,
|
|
58
|
+
"numbering": [
|
|
59
|
+
1,
|
|
60
|
+
3
|
|
61
|
+
],
|
|
62
|
+
"parent": "root"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"value": "Font Weights",
|
|
66
|
+
"href": "#font-weights",
|
|
67
|
+
"depth": 2,
|
|
68
|
+
"numbering": [
|
|
69
|
+
1,
|
|
70
|
+
4
|
|
71
|
+
],
|
|
72
|
+
"parent": "root"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"value": "Letter Spacings",
|
|
76
|
+
"href": "#letter-spacings",
|
|
77
|
+
"depth": 2,
|
|
78
|
+
"numbering": [
|
|
79
|
+
1,
|
|
80
|
+
5
|
|
81
|
+
],
|
|
82
|
+
"parent": "root"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"value": "Line Heights",
|
|
86
|
+
"href": "#line-heights",
|
|
87
|
+
"depth": 2,
|
|
88
|
+
"numbering": [
|
|
89
|
+
1,
|
|
90
|
+
6
|
|
91
|
+
],
|
|
92
|
+
"parent": "root"
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
"icon": "FormatSize",
|
|
96
|
+
"layout": "app-frame",
|
|
97
|
+
"tabs": [
|
|
98
|
+
{
|
|
99
|
+
"key": "overview",
|
|
100
|
+
"title": "Overview",
|
|
101
|
+
"order": 0
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
"mdx": "\n# Typography\n\nBelow you'll find the raw tokens to change typography styles on a text-element.\n\n## Text Styles\n\nText styles are collections of multiple typography rules (such as `font-size`,\n`line-height`, `letter-spacing` etc.) that create a specific, reusable style.\n\n> [!NOTE] \n> I added `caption`, `detail` & `body` from our existing styles, but they are\n> essentially just combinations of font-size & line-height and can be mapped to\n> `xs`, `sm` & `md`. The `headline` looks can be achieved by using the\n> textStyles on the `<Heading/>` component.\n\n```jsx\n<Text textStyle=\"nameOfDesiredTextStyle\">Heading 1</Text>\n```\n\n### Available Text Styles\n\n<TextStylesDemo />\n\n## Fonts\n\n<GenericTokenTableDemo category=\"fonts\" demoProperty=\"fontFamily\" />\n\n## Font Sizes\n\n<GenericTokenTableDemo category=\"fontSizes\" demoProperty=\"fontSize\" />\n\n## Font Weights\n\n<GenericTokenTableDemo category=\"fontWeights\" demoProperty=\"fontWeight\" />\n\n## Letter Spacings\n\n<GenericTokenTableDemo category=\"letterSpacings\" demoProperty=\"letterSpacing\" />\n\n## Line Heights\n\n<GenericTokenTableDemo category=\"lineHeights\" demoProperty=\"lineHeight\" />\n",
|
|
106
|
+
"views": {
|
|
107
|
+
"overview": {
|
|
108
|
+
"mdx": "\n# Typography\n\nBelow you'll find the raw tokens to change typography styles on a text-element.\n\n## Text Styles\n\nText styles are collections of multiple typography rules (such as `font-size`,\n`line-height`, `letter-spacing` etc.) that create a specific, reusable style.\n\n> [!NOTE] \n> I added `caption`, `detail` & `body` from our existing styles, but they are\n> essentially just combinations of font-size & line-height and can be mapped to\n> `xs`, `sm` & `md`. The `headline` looks can be achieved by using the\n> textStyles on the `<Heading/>` component.\n\n```jsx\n<Text textStyle=\"nameOfDesiredTextStyle\">Heading 1</Text>\n```\n\n### Available Text Styles\n\n<TextStylesDemo />\n\n## Fonts\n\n<GenericTokenTableDemo category=\"fonts\" demoProperty=\"fontFamily\" />\n\n## Font Sizes\n\n<GenericTokenTableDemo category=\"fontSizes\" demoProperty=\"fontSize\" />\n\n## Font Weights\n\n<GenericTokenTableDemo category=\"fontWeights\" demoProperty=\"fontWeight\" />\n\n## Letter Spacings\n\n<GenericTokenTableDemo category=\"letterSpacings\" demoProperty=\"letterSpacing\" />\n\n## Line Heights\n\n<GenericTokenTableDemo category=\"lineHeights\" demoProperty=\"lineHeight\" />\n",
|
|
109
|
+
"toc": [
|
|
110
|
+
{
|
|
111
|
+
"value": "Text Styles",
|
|
112
|
+
"href": "#text-styles",
|
|
113
|
+
"depth": 2,
|
|
114
|
+
"numbering": [
|
|
115
|
+
1,
|
|
116
|
+
1
|
|
117
|
+
],
|
|
118
|
+
"parent": "root"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"value": "Available Text Styles",
|
|
122
|
+
"href": "#available-text-styles",
|
|
123
|
+
"depth": 3,
|
|
124
|
+
"numbering": [
|
|
125
|
+
1,
|
|
126
|
+
1,
|
|
127
|
+
1
|
|
128
|
+
],
|
|
129
|
+
"parent": "root"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"value": "Fonts",
|
|
133
|
+
"href": "#fonts",
|
|
134
|
+
"depth": 2,
|
|
135
|
+
"numbering": [
|
|
136
|
+
1,
|
|
137
|
+
2
|
|
138
|
+
],
|
|
139
|
+
"parent": "root"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"value": "Font Sizes",
|
|
143
|
+
"href": "#font-sizes",
|
|
144
|
+
"depth": 2,
|
|
145
|
+
"numbering": [
|
|
146
|
+
1,
|
|
147
|
+
3
|
|
148
|
+
],
|
|
149
|
+
"parent": "root"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"value": "Font Weights",
|
|
153
|
+
"href": "#font-weights",
|
|
154
|
+
"depth": 2,
|
|
155
|
+
"numbering": [
|
|
156
|
+
1,
|
|
157
|
+
4
|
|
158
|
+
],
|
|
159
|
+
"parent": "root"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"value": "Letter Spacings",
|
|
163
|
+
"href": "#letter-spacings",
|
|
164
|
+
"depth": 2,
|
|
165
|
+
"numbering": [
|
|
166
|
+
1,
|
|
167
|
+
5
|
|
168
|
+
],
|
|
169
|
+
"parent": "root"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"value": "Line Heights",
|
|
173
|
+
"href": "#line-heights",
|
|
174
|
+
"depth": 2,
|
|
175
|
+
"numbering": [
|
|
176
|
+
1,
|
|
177
|
+
6
|
|
178
|
+
],
|
|
179
|
+
"parent": "root"
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"id": "DesignTokens",
|
|
4
|
+
"title": "Design Tokens",
|
|
5
|
+
"description": "Style definitions (colors, fonts, spacing, etc.) for consistent UI components.",
|
|
6
|
+
"order": 2,
|
|
7
|
+
"repoPath": "packages/nimbus/src/docs/tokens.mdx",
|
|
8
|
+
"menu": [
|
|
9
|
+
"Home",
|
|
10
|
+
"Design Tokens"
|
|
11
|
+
],
|
|
12
|
+
"route": "home/design-tokens",
|
|
13
|
+
"tags": [
|
|
14
|
+
"tokens",
|
|
15
|
+
"design"
|
|
16
|
+
],
|
|
17
|
+
"toc": [],
|
|
18
|
+
"layout": "app-frame",
|
|
19
|
+
"tabs": [
|
|
20
|
+
{
|
|
21
|
+
"key": "overview",
|
|
22
|
+
"title": "Overview",
|
|
23
|
+
"order": 0
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"mdx": "\n# Design Tokens\n\n<CategoryOverview />\n",
|
|
28
|
+
"views": {
|
|
29
|
+
"overview": {
|
|
30
|
+
"mdx": "\n# Design Tokens\n\n<CategoryOverview />\n",
|
|
31
|
+
"toc": []
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"id": "Home-Core Concepts",
|
|
4
|
+
"title": "Core Concepts",
|
|
5
|
+
"description": "Quick start guide to set up and use the package.",
|
|
6
|
+
"order": 2,
|
|
7
|
+
"repoPath": "packages/nimbus/src/docs/home-core-concepts.mdx",
|
|
8
|
+
"menu": [
|
|
9
|
+
"Home",
|
|
10
|
+
"Getting Started",
|
|
11
|
+
"Core Concepts"
|
|
12
|
+
],
|
|
13
|
+
"route": "home/getting-started/core-concepts",
|
|
14
|
+
"tags": [
|
|
15
|
+
"document"
|
|
16
|
+
],
|
|
17
|
+
"toc": [
|
|
18
|
+
{
|
|
19
|
+
"value": "Technical foundation",
|
|
20
|
+
"href": "#technical-foundation",
|
|
21
|
+
"depth": 2,
|
|
22
|
+
"numbering": [
|
|
23
|
+
1,
|
|
24
|
+
1
|
|
25
|
+
],
|
|
26
|
+
"parent": "root"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"value": "Core Concepts",
|
|
30
|
+
"href": "#core-concepts-1",
|
|
31
|
+
"depth": 2,
|
|
32
|
+
"numbering": [
|
|
33
|
+
1,
|
|
34
|
+
2
|
|
35
|
+
],
|
|
36
|
+
"parent": "root"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"value": "1. NimbusProvider",
|
|
40
|
+
"href": "#1-nimbusprovider",
|
|
41
|
+
"depth": 3,
|
|
42
|
+
"numbering": [
|
|
43
|
+
1,
|
|
44
|
+
2,
|
|
45
|
+
1
|
|
46
|
+
],
|
|
47
|
+
"parent": "root"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"value": "2. Component Types",
|
|
51
|
+
"href": "#2-component-types",
|
|
52
|
+
"depth": 3,
|
|
53
|
+
"numbering": [
|
|
54
|
+
1,
|
|
55
|
+
2,
|
|
56
|
+
2
|
|
57
|
+
],
|
|
58
|
+
"parent": "root"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"value": "Primitive Components",
|
|
62
|
+
"href": "#primitive-components",
|
|
63
|
+
"depth": 4,
|
|
64
|
+
"numbering": [
|
|
65
|
+
1,
|
|
66
|
+
2,
|
|
67
|
+
2,
|
|
68
|
+
1
|
|
69
|
+
],
|
|
70
|
+
"parent": "root"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"value": "Compound Components",
|
|
74
|
+
"href": "#compound-components",
|
|
75
|
+
"depth": 4,
|
|
76
|
+
"numbering": [
|
|
77
|
+
1,
|
|
78
|
+
2,
|
|
79
|
+
2,
|
|
80
|
+
2
|
|
81
|
+
],
|
|
82
|
+
"parent": "root"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"value": "3. Design Tokens",
|
|
86
|
+
"href": "#3-design-tokens",
|
|
87
|
+
"depth": 3,
|
|
88
|
+
"numbering": [
|
|
89
|
+
1,
|
|
90
|
+
2,
|
|
91
|
+
3
|
|
92
|
+
],
|
|
93
|
+
"parent": "root"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"value": "4. Style Props",
|
|
97
|
+
"href": "#4-style-props",
|
|
98
|
+
"depth": 3,
|
|
99
|
+
"numbering": [
|
|
100
|
+
1,
|
|
101
|
+
2,
|
|
102
|
+
4
|
|
103
|
+
],
|
|
104
|
+
"parent": "root"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"value": "5. Polymorphism",
|
|
108
|
+
"href": "#5-polymorphism",
|
|
109
|
+
"depth": 3,
|
|
110
|
+
"numbering": [
|
|
111
|
+
1,
|
|
112
|
+
2,
|
|
113
|
+
5
|
|
114
|
+
],
|
|
115
|
+
"parent": "root"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"value": "6. Theming",
|
|
119
|
+
"href": "#6-theming",
|
|
120
|
+
"depth": 3,
|
|
121
|
+
"numbering": [
|
|
122
|
+
1,
|
|
123
|
+
2,
|
|
124
|
+
6
|
|
125
|
+
],
|
|
126
|
+
"parent": "root"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"value": "7. Responsive Styling",
|
|
130
|
+
"href": "#7-responsive-styling",
|
|
131
|
+
"depth": 3,
|
|
132
|
+
"numbering": [
|
|
133
|
+
1,
|
|
134
|
+
2,
|
|
135
|
+
7
|
|
136
|
+
],
|
|
137
|
+
"parent": "root"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"value": "8. Using Icons",
|
|
141
|
+
"href": "#8-using-icons",
|
|
142
|
+
"depth": 3,
|
|
143
|
+
"numbering": [
|
|
144
|
+
1,
|
|
145
|
+
2,
|
|
146
|
+
8
|
|
147
|
+
],
|
|
148
|
+
"parent": "root"
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"icon": "LocalLibrary",
|
|
152
|
+
"layout": "app-frame",
|
|
153
|
+
"tabs": [
|
|
154
|
+
{
|
|
155
|
+
"key": "overview",
|
|
156
|
+
"title": "Overview",
|
|
157
|
+
"order": 0
|
|
158
|
+
}
|
|
159
|
+
]
|
|
160
|
+
},
|
|
161
|
+
"mdx": "\n# Core concepts\n\nThis page is designed to help you understand the foundational concepts so that\nyou can get quickly started with using the Nimbus Design System in your\nprojects.\n\nNimbus aims to provide a comprehensive suite of accessible and pre-themed React components, enabling developers to build beautiful and consistent user interfaces with ease. However, it's important to understand the following underlying concepts to make the most of the system.\n\n## Technical foundation\n\n- Nimbus is a [`react`](https://react.dev/) component library built to provide a\n consistent and accessible design system.\n- Under the hood, it leverages the power of CSS-in-JS through\n [`@emotion/react`](https://emotion.sh/)\n- For its styling and theming capabilities, Nimbus utilizes\n [Chakra UI](https://chakra-ui.com/).\n- For all components that are requiring user-interaction Nimbus is making use of\n suitable [`react-aria`](https://react-spectrum.adobe.com/react-aria/)\n components or hooks to guarantee enterprise-grade accessibility.\n\n## Core Concepts\n\nTo effectively use the Nimbus Design System, it's helpful to understand the\nfollowing core concepts:\n\n### 1. NimbusProvider\n\nAt the root of your application, you'll need to include the `NimbusProvider`.\nThis component is essential as it provides the theme (colors, spacing,\ntypography, etc.) and other context necessary for all Nimbus components to\nfunction correctly.\n\n```tsx\nimport { NimbusProvider } from \"@commercetools/nimbus\";\nimport { YourApp } from \"./you-app\";\n\nfunction App() {\n return (\n <NimbusProvider>\n <YourApp />\n </NimbusProvider>\n );\n}\n\nexport default App;\n```\n\n### 2. Component Types\n\nNimbus offers a rich library of pre-built UI components that you can use to\nconstruct your application's interface. These components are designed to be\naccessible, customizable, and consistent with the Nimbus design language.\n\nWe differentiate between two types of components:\n\n#### Primitive Components\n\nThese are fundamental building blocks, often representing a single HTML element\nor a very simple UI concept. They are designed to be used on their own or\ncomposed to create more complex UIs.\n\nExamples: `Button`, `Box`, `Flex`, `Text`, `Heading`, `Icon`.\n\n```tsx\nimport { Stack, Heading, Text, Button } from \"@commercetools/nimbus\";\n\nfunction MyPrimitiveExample() {\n return (\n <Stack>\n <Heading>This is a heading</Heading>\n <Text>This is a paragraph of text.</Text>\n <Button>Click me</Button>\n </Stack>\n );\n}\n```\n\n#### Compound Components\n\nThese components are more complex and are typically made up of several distinct\nparts that work together to provide a piece of functionality. They often manage\ninternal state or have a specific structure.\n\nExamples: `Alert`, `Card`, `Grid`, `Select`, `Accordion`, `Table`.\n\nWhen using compound components, you'll import multiple related components at\nonce. For instance, with `Select`, you might use `Select.Root`,\n`Select.Options`, `Select.Option`, etc.\n\n```tsx\nimport { Select } from \"@commercetools/nimbus\"; // Assuming Select is a top-level import\n\nfunction MySelectExample() {\n return (\n <Select.Root placeholder=\"Select a fruit\">\n <Select.Options>\n <Select.Option>Apples</Select.Option>\n <Select.Option>Bananas</Select.Option>\n <Select.Option>Oranges</Select.Option>\n <Select.Option>Cherries</Select.Option>\n </Select.Options>\n </Select.Root>\n );\n}\n```\n\n### 3. Design Tokens\n\nAt the heart of Nimbus's theming capabilities are **Design Tokens**. These are\nnamed entities that store indivisible pieces of the visual design, such as\nspecific colors, spacing units, font sizes, border radii, etc. Instead of\nhardcoding a hex value like `#007bff` or a pixel value like `16px`, you simply\nuse a token.\n\nDesign tokens are organized by their **purpose** and map to one or more\nstyle-props.\n\n- **Color Tokens**: For any property that accepts a color value, like\n `backgroundColor`, `color`, `borderColor`.\n- **Spacing Tokens**: Exclusively for properties that define space, such as\n `padding`, `margin`, `gap`, `top`, `left`, etc.\n- **Size Tokens** : Used for `width`, `height`, `minWidth`, `maxWidth`,\n `minHeight`, `maxHeight`.\n- **Typography Tokens**: For text-related style props like `fontSize`,\n `fontWeight`, `lineHeight`.\n- etc.\n\nAll Nimbus components are fundamentally built using these design tokens.\n\n### 4. Style Props\n\nFor direct and granular CSS control, many Nimbus components expose **Style\nProps**. These props are typically named after their corresponding CSS\nproperties (e.g., `backgroundColor`, `padding`, `margin`, `width`, `display`,\n`alignItems`).\n\nThe key advantage of using Nimbus Style Props over inline `style` attributes is\ntheir direct integration with the **Design Token** system (see the\n[Design Tokens](#3-design-tokens) section). You should primarily use Design\nTokens as values for these props. This ensures that even fine-grained\nadjustments remain consistent with the overall design system and are easily\nmaintainable.\n\nStyle props are excellent for:\n\n- Making specific layout adjustments\n- Applying a specific color from the token palette directly (e.g.,\n `color=\"primary.11\"`).\n- Overriding a particular aspect of a component's appearance when a more general\n theming prop (like `variant` or `colorPalette`) doesn't cover the specific need, or\n when a highly localized, one-off style is required.\n\n```tsx\nimport { Box, Text } from \"@commercetools/nimbus\";\n\nfunction CustomTextInBox() {\n return (\n <Box\n padding=\"400\" // Design token for padding, comming from the spacing tokens\n backgroundColor=\"primary.2\" // Design token for color, comming from the color tokens\n border=\"solid-25\" // Token for borders\n borderRadius=\"full\" // Design token for radii\n >\n <Text color=\"primary.11\" fontSize=\"1200\" fontWeight=\"500\">\n This box uses Style Props with Design Tokens for custom styling.\n </Text>\n </Box>\n );\n}\n```\n\nWhile Style Props offer great flexibility, it's generally recommended to use\nstandard theming props (discussed in the\n[Theming and Styling](#6-theming-and-styling) section) for common styling\nscenarios. Reserve Style Props for situations requiring specific, low-level\ncontrol, always pairing them with Design Tokens to maintain consistency.\n\n### 5. Polymorphism\n\nMany Nimbus components, particularly Primitive Components, support polymorphism.\nThis powerful feature allows you to change the underlying HTML element a\ncomponent renders to the DOM while retaining its established styling and\nbehavior. This is primarily achieved through the `as` or `asChild` props.\n\n- The `as` prop directly changes the rendered HTML tag. For example, a `Text`\n component, which might render a `<span>` by default, can be changed to render\n a `<p>` or an `<em>` tag:\n\n ```tsx\n import { Text } from \"@commercetools/nimbus\";\n\n <Text as=\"p\">This text will be rendered as a paragraph.</Text>\n <Text as=\"span\">This text will be rendered as a span.</Text>\n ```\n\n- The `asChild` prop offers a more advanced way to handle polymorphism. It\n allows a Nimbus component to delegate its rendering to a single child\n component. When `asChild` is true, the Nimbus component itself doesn't render\n a DOM element; instead, it clones its child and merges its own props (like\n styles and event handlers) onto the child. This is incredibly useful for\n applying Nimbus styling and behavior to an existing component (e.g., a `Link`\n from a routing library) without altering the child's core functionality or\n prop structure. It ensures that the child retains its own capabilities while\n seamlessly integrating the parent's visual attributes.\n\n ```tsx\n import { Button } from \"@commercetools/nimbus\";\n import { Link } from \"your-router-library\"; // Fictional router Link\n\n <Button variant=\"solid\" colorPalette=\"primary\" asChild>\n <Link to=\"/some-page\">Navigate</Link>\n </Button>;\n\n // = the Button's styles and behaviors are applied to the Link\n ```\n\n While most common in Primitive Components, some Compound Components might also\n offer polymorphic capabilities where appropriate.\n\n### 6. Theming\n\nNimbus components derive their appearance from the underlying\n[Design Tokens](#3-design-tokens). Beyond direct styling with\n[Style Props](#4-style-props), components offer dedicated **theming props** to\napply common, pre-defined visual treatments.\n\nThese theming props are the primary way to align components with the established\nNimbus design language and ensure a consistent look and feel. They encapsulate\nsets of styles related to a component's variants, sizes, or semantic `colorPalette`s.\n\nCommon theming props include:\n\n- `variant`: Often dictates the overall style of a component (e.g., `solid`,\n `outline`, `ghost`).\n- `size`: Controls the dimensions of the component (e.g., `sm`, `md`, `lg`).\n- `textStyle`: Specifically for text-based components like `Text` or `Heading`,\n this prop applies a predefined typographic style (which includes font size,\n weight, line height, etc.) like `body`, `caption`, `h1`, etc.\n- `colorPalette`: This prop is used to apply a specific color scheme to a\n component when the color isn't necessarily tied to a semantic meaning (like\n `success` or `warning`). Instead, it offers a way to achieve visual variation\n or categorization. For example, a `Badge` component might use `colorPalette`\n to offer various background and text color combinations (e.g., \"blue\",\n \"green\", \"purple\", \"orange\") for purely aesthetic purposes or to group items\n by a non-semantic color.\n\n```tsx\nimport { Button, Text, Card, Badge } from \"@commercetools/nimbus\";\n\nfunction ThemedComponents() {\n return (\n <>\n <Text textStyle=\"caption\">I look like a caption</Text>\n <Button variant=\"solid\" colorPalette=\"primary\" size=\"lg\">\n Large Primary Button\n </Button>\n <Button variant=\"outline\" colorPalette=\"critical\" size=\"xs\">\n xSmall Critical Outline\n </Button>\n <Badge colorPalette=\"blue\">Blue Badge</Badge>\n <Badge colorPalette=\"purple\">Purple Badge</Badge>\n </>\n );\n}\n```\n\n### 7. Responsive Styling\n\nNimbus components are designed to be responsive, allowing you to adapt their\nstyles for different screen sizes. This is typically achieved by providing an an\nobject to [Style Props](#4-style-props) or some theming props.\n\nThe [breakpoints](/tokens/other/breakpoints) (e.g., `sm`, `md`, `lg`, `xl`,\n`2xl`) used for responsive styling are defined within the theme provided by\n`NimbusProvider`.\n\nThe `base` key is the default value that applies if no screen size matches.\n\n```tsx\nimport { Stack, Text } from \"@commercetools/nimbus\";\n\nfunction ResponsiveStack() {\n return (\n <Stack\n direction={{ base: \"column\", md: \"row\" }} // Column on mobile, row on medium screens and up\n padding={{ base: \"400\", lg: \"600\" }} // Different padding for small vs large screens\n gap=\"400\"\n >\n <Text>Item 1</Text>\n <Text>Item 2</Text>\n </Stack>\n );\n}\n```\n\nThis approach allows for intuitive and declarative responsive design directly\nwithin your component's props.\n\n### 8. Using Icons\n\nThe `@nimbus/icons` package provides a large set of icons optimized for use with\nNimbus components. These icons can be easily integrated to enhance the visual\ncommunication of your interface. They will adapt to the context they are used in\nby default and allow for easy customization when used in combination with the\nIcon component.\n\nTo use an icon, import it from `@commercetools/nimbus-icons` and use it like any\nother React component.\n\n```tsx\nimport { Button } from \"@commercetools/nimbus\";\nimport { IconCheckCircle } from \"@commercetools/nimbus-icons\";\n\nfunction ComponentsWithIcons() {\n return (\n <Button variant=\"solid\" colorPalette=\"primary\">\n <IconCheckCircle /> Submit\n </Button>\n );\n}\n```\n\nFor more granular control over icon appearance, you can use the `Icon` component \nfrom Nimbus to customize properties such as size, color, and other style \nattributes. This component wraps the imported icons and allows them to be styled \nconsistently with the design system's tokens.\n\n```tsx\nimport { Icon, Box } from \"@commercetools/nimbus\";\nimport { IconEdit, IconDelete } from \"@commercetools/nimbus-icons\";\n\nfunction CustomizedIcons() {\n return (\n <Box display=\"flex\" gap=\"400\">\n {/* Customize icon size */}\n <Icon as={IconEdit} boxSize=\"800\" />\n \n {/* Customize icon color */}\n <Icon as={IconDelete} color=\"critical.9\" />\n \n {/* Apply multiple style properties */}\n <Icon\n as={IconEdit}\n boxSize=\"1000\"\n color=\"primary.11\"\n opacity=\"0.8\"\n transition=\"all 0.2s\"\n _hover={{ opacity: \"1\", transform: \"scale(1.1)\" }}\n />\n </Box>\n );\n}\n```\n",
|
|
162
|
+
"views": {
|
|
163
|
+
"overview": {
|
|
164
|
+
"mdx": "\n# Core concepts\n\nThis page is designed to help you understand the foundational concepts so that\nyou can get quickly started with using the Nimbus Design System in your\nprojects.\n\nNimbus aims to provide a comprehensive suite of accessible and pre-themed React components, enabling developers to build beautiful and consistent user interfaces with ease. However, it's important to understand the following underlying concepts to make the most of the system.\n\n## Technical foundation\n\n- Nimbus is a [`react`](https://react.dev/) component library built to provide a\n consistent and accessible design system.\n- Under the hood, it leverages the power of CSS-in-JS through\n [`@emotion/react`](https://emotion.sh/)\n- For its styling and theming capabilities, Nimbus utilizes\n [Chakra UI](https://chakra-ui.com/).\n- For all components that are requiring user-interaction Nimbus is making use of\n suitable [`react-aria`](https://react-spectrum.adobe.com/react-aria/)\n components or hooks to guarantee enterprise-grade accessibility.\n\n## Core Concepts\n\nTo effectively use the Nimbus Design System, it's helpful to understand the\nfollowing core concepts:\n\n### 1. NimbusProvider\n\nAt the root of your application, you'll need to include the `NimbusProvider`.\nThis component is essential as it provides the theme (colors, spacing,\ntypography, etc.) and other context necessary for all Nimbus components to\nfunction correctly.\n\n```tsx\nimport { NimbusProvider } from \"@commercetools/nimbus\";\nimport { YourApp } from \"./you-app\";\n\nfunction App() {\n return (\n <NimbusProvider>\n <YourApp />\n </NimbusProvider>\n );\n}\n\nexport default App;\n```\n\n### 2. Component Types\n\nNimbus offers a rich library of pre-built UI components that you can use to\nconstruct your application's interface. These components are designed to be\naccessible, customizable, and consistent with the Nimbus design language.\n\nWe differentiate between two types of components:\n\n#### Primitive Components\n\nThese are fundamental building blocks, often representing a single HTML element\nor a very simple UI concept. They are designed to be used on their own or\ncomposed to create more complex UIs.\n\nExamples: `Button`, `Box`, `Flex`, `Text`, `Heading`, `Icon`.\n\n```tsx\nimport { Stack, Heading, Text, Button } from \"@commercetools/nimbus\";\n\nfunction MyPrimitiveExample() {\n return (\n <Stack>\n <Heading>This is a heading</Heading>\n <Text>This is a paragraph of text.</Text>\n <Button>Click me</Button>\n </Stack>\n );\n}\n```\n\n#### Compound Components\n\nThese components are more complex and are typically made up of several distinct\nparts that work together to provide a piece of functionality. They often manage\ninternal state or have a specific structure.\n\nExamples: `Alert`, `Card`, `Grid`, `Select`, `Accordion`, `Table`.\n\nWhen using compound components, you'll import multiple related components at\nonce. For instance, with `Select`, you might use `Select.Root`,\n`Select.Options`, `Select.Option`, etc.\n\n```tsx\nimport { Select } from \"@commercetools/nimbus\"; // Assuming Select is a top-level import\n\nfunction MySelectExample() {\n return (\n <Select.Root placeholder=\"Select a fruit\">\n <Select.Options>\n <Select.Option>Apples</Select.Option>\n <Select.Option>Bananas</Select.Option>\n <Select.Option>Oranges</Select.Option>\n <Select.Option>Cherries</Select.Option>\n </Select.Options>\n </Select.Root>\n );\n}\n```\n\n### 3. Design Tokens\n\nAt the heart of Nimbus's theming capabilities are **Design Tokens**. These are\nnamed entities that store indivisible pieces of the visual design, such as\nspecific colors, spacing units, font sizes, border radii, etc. Instead of\nhardcoding a hex value like `#007bff` or a pixel value like `16px`, you simply\nuse a token.\n\nDesign tokens are organized by their **purpose** and map to one or more\nstyle-props.\n\n- **Color Tokens**: For any property that accepts a color value, like\n `backgroundColor`, `color`, `borderColor`.\n- **Spacing Tokens**: Exclusively for properties that define space, such as\n `padding`, `margin`, `gap`, `top`, `left`, etc.\n- **Size Tokens** : Used for `width`, `height`, `minWidth`, `maxWidth`,\n `minHeight`, `maxHeight`.\n- **Typography Tokens**: For text-related style props like `fontSize`,\n `fontWeight`, `lineHeight`.\n- etc.\n\nAll Nimbus components are fundamentally built using these design tokens.\n\n### 4. Style Props\n\nFor direct and granular CSS control, many Nimbus components expose **Style\nProps**. These props are typically named after their corresponding CSS\nproperties (e.g., `backgroundColor`, `padding`, `margin`, `width`, `display`,\n`alignItems`).\n\nThe key advantage of using Nimbus Style Props over inline `style` attributes is\ntheir direct integration with the **Design Token** system (see the\n[Design Tokens](#3-design-tokens) section). You should primarily use Design\nTokens as values for these props. This ensures that even fine-grained\nadjustments remain consistent with the overall design system and are easily\nmaintainable.\n\nStyle props are excellent for:\n\n- Making specific layout adjustments\n- Applying a specific color from the token palette directly (e.g.,\n `color=\"primary.11\"`).\n- Overriding a particular aspect of a component's appearance when a more general\n theming prop (like `variant` or `colorPalette`) doesn't cover the specific need, or\n when a highly localized, one-off style is required.\n\n```tsx\nimport { Box, Text } from \"@commercetools/nimbus\";\n\nfunction CustomTextInBox() {\n return (\n <Box\n padding=\"400\" // Design token for padding, comming from the spacing tokens\n backgroundColor=\"primary.2\" // Design token for color, comming from the color tokens\n border=\"solid-25\" // Token for borders\n borderRadius=\"full\" // Design token for radii\n >\n <Text color=\"primary.11\" fontSize=\"1200\" fontWeight=\"500\">\n This box uses Style Props with Design Tokens for custom styling.\n </Text>\n </Box>\n );\n}\n```\n\nWhile Style Props offer great flexibility, it's generally recommended to use\nstandard theming props (discussed in the\n[Theming and Styling](#6-theming-and-styling) section) for common styling\nscenarios. Reserve Style Props for situations requiring specific, low-level\ncontrol, always pairing them with Design Tokens to maintain consistency.\n\n### 5. Polymorphism\n\nMany Nimbus components, particularly Primitive Components, support polymorphism.\nThis powerful feature allows you to change the underlying HTML element a\ncomponent renders to the DOM while retaining its established styling and\nbehavior. This is primarily achieved through the `as` or `asChild` props.\n\n- The `as` prop directly changes the rendered HTML tag. For example, a `Text`\n component, which might render a `<span>` by default, can be changed to render\n a `<p>` or an `<em>` tag:\n\n ```tsx\n import { Text } from \"@commercetools/nimbus\";\n\n <Text as=\"p\">This text will be rendered as a paragraph.</Text>\n <Text as=\"span\">This text will be rendered as a span.</Text>\n ```\n\n- The `asChild` prop offers a more advanced way to handle polymorphism. It\n allows a Nimbus component to delegate its rendering to a single child\n component. When `asChild` is true, the Nimbus component itself doesn't render\n a DOM element; instead, it clones its child and merges its own props (like\n styles and event handlers) onto the child. This is incredibly useful for\n applying Nimbus styling and behavior to an existing component (e.g., a `Link`\n from a routing library) without altering the child's core functionality or\n prop structure. It ensures that the child retains its own capabilities while\n seamlessly integrating the parent's visual attributes.\n\n ```tsx\n import { Button } from \"@commercetools/nimbus\";\n import { Link } from \"your-router-library\"; // Fictional router Link\n\n <Button variant=\"solid\" colorPalette=\"primary\" asChild>\n <Link to=\"/some-page\">Navigate</Link>\n </Button>;\n\n // = the Button's styles and behaviors are applied to the Link\n ```\n\n While most common in Primitive Components, some Compound Components might also\n offer polymorphic capabilities where appropriate.\n\n### 6. Theming\n\nNimbus components derive their appearance from the underlying\n[Design Tokens](#3-design-tokens). Beyond direct styling with\n[Style Props](#4-style-props), components offer dedicated **theming props** to\napply common, pre-defined visual treatments.\n\nThese theming props are the primary way to align components with the established\nNimbus design language and ensure a consistent look and feel. They encapsulate\nsets of styles related to a component's variants, sizes, or semantic `colorPalette`s.\n\nCommon theming props include:\n\n- `variant`: Often dictates the overall style of a component (e.g., `solid`,\n `outline`, `ghost`).\n- `size`: Controls the dimensions of the component (e.g., `sm`, `md`, `lg`).\n- `textStyle`: Specifically for text-based components like `Text` or `Heading`,\n this prop applies a predefined typographic style (which includes font size,\n weight, line height, etc.) like `body`, `caption`, `h1`, etc.\n- `colorPalette`: This prop is used to apply a specific color scheme to a\n component when the color isn't necessarily tied to a semantic meaning (like\n `success` or `warning`). Instead, it offers a way to achieve visual variation\n or categorization. For example, a `Badge` component might use `colorPalette`\n to offer various background and text color combinations (e.g., \"blue\",\n \"green\", \"purple\", \"orange\") for purely aesthetic purposes or to group items\n by a non-semantic color.\n\n```tsx\nimport { Button, Text, Card, Badge } from \"@commercetools/nimbus\";\n\nfunction ThemedComponents() {\n return (\n <>\n <Text textStyle=\"caption\">I look like a caption</Text>\n <Button variant=\"solid\" colorPalette=\"primary\" size=\"lg\">\n Large Primary Button\n </Button>\n <Button variant=\"outline\" colorPalette=\"critical\" size=\"xs\">\n xSmall Critical Outline\n </Button>\n <Badge colorPalette=\"blue\">Blue Badge</Badge>\n <Badge colorPalette=\"purple\">Purple Badge</Badge>\n </>\n );\n}\n```\n\n### 7. Responsive Styling\n\nNimbus components are designed to be responsive, allowing you to adapt their\nstyles for different screen sizes. This is typically achieved by providing an an\nobject to [Style Props](#4-style-props) or some theming props.\n\nThe [breakpoints](/tokens/other/breakpoints) (e.g., `sm`, `md`, `lg`, `xl`,\n`2xl`) used for responsive styling are defined within the theme provided by\n`NimbusProvider`.\n\nThe `base` key is the default value that applies if no screen size matches.\n\n```tsx\nimport { Stack, Text } from \"@commercetools/nimbus\";\n\nfunction ResponsiveStack() {\n return (\n <Stack\n direction={{ base: \"column\", md: \"row\" }} // Column on mobile, row on medium screens and up\n padding={{ base: \"400\", lg: \"600\" }} // Different padding for small vs large screens\n gap=\"400\"\n >\n <Text>Item 1</Text>\n <Text>Item 2</Text>\n </Stack>\n );\n}\n```\n\nThis approach allows for intuitive and declarative responsive design directly\nwithin your component's props.\n\n### 8. Using Icons\n\nThe `@nimbus/icons` package provides a large set of icons optimized for use with\nNimbus components. These icons can be easily integrated to enhance the visual\ncommunication of your interface. They will adapt to the context they are used in\nby default and allow for easy customization when used in combination with the\nIcon component.\n\nTo use an icon, import it from `@commercetools/nimbus-icons` and use it like any\nother React component.\n\n```tsx\nimport { Button } from \"@commercetools/nimbus\";\nimport { IconCheckCircle } from \"@commercetools/nimbus-icons\";\n\nfunction ComponentsWithIcons() {\n return (\n <Button variant=\"solid\" colorPalette=\"primary\">\n <IconCheckCircle /> Submit\n </Button>\n );\n}\n```\n\nFor more granular control over icon appearance, you can use the `Icon` component \nfrom Nimbus to customize properties such as size, color, and other style \nattributes. This component wraps the imported icons and allows them to be styled \nconsistently with the design system's tokens.\n\n```tsx\nimport { Icon, Box } from \"@commercetools/nimbus\";\nimport { IconEdit, IconDelete } from \"@commercetools/nimbus-icons\";\n\nfunction CustomizedIcons() {\n return (\n <Box display=\"flex\" gap=\"400\">\n {/* Customize icon size */}\n <Icon as={IconEdit} boxSize=\"800\" />\n \n {/* Customize icon color */}\n <Icon as={IconDelete} color=\"critical.9\" />\n \n {/* Apply multiple style properties */}\n <Icon\n as={IconEdit}\n boxSize=\"1000\"\n color=\"primary.11\"\n opacity=\"0.8\"\n transition=\"all 0.2s\"\n _hover={{ opacity: \"1\", transform: \"scale(1.1)\" }}\n />\n </Box>\n );\n}\n```\n",
|
|
165
|
+
"toc": [
|
|
166
|
+
{
|
|
167
|
+
"value": "Technical foundation",
|
|
168
|
+
"href": "#technical-foundation",
|
|
169
|
+
"depth": 2,
|
|
170
|
+
"numbering": [
|
|
171
|
+
1,
|
|
172
|
+
1
|
|
173
|
+
],
|
|
174
|
+
"parent": "root"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"value": "Core Concepts",
|
|
178
|
+
"href": "#core-concepts-1",
|
|
179
|
+
"depth": 2,
|
|
180
|
+
"numbering": [
|
|
181
|
+
1,
|
|
182
|
+
2
|
|
183
|
+
],
|
|
184
|
+
"parent": "root"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"value": "1. NimbusProvider",
|
|
188
|
+
"href": "#1-nimbusprovider",
|
|
189
|
+
"depth": 3,
|
|
190
|
+
"numbering": [
|
|
191
|
+
1,
|
|
192
|
+
2,
|
|
193
|
+
1
|
|
194
|
+
],
|
|
195
|
+
"parent": "root"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"value": "2. Component Types",
|
|
199
|
+
"href": "#2-component-types",
|
|
200
|
+
"depth": 3,
|
|
201
|
+
"numbering": [
|
|
202
|
+
1,
|
|
203
|
+
2,
|
|
204
|
+
2
|
|
205
|
+
],
|
|
206
|
+
"parent": "root"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"value": "Primitive Components",
|
|
210
|
+
"href": "#primitive-components",
|
|
211
|
+
"depth": 4,
|
|
212
|
+
"numbering": [
|
|
213
|
+
1,
|
|
214
|
+
2,
|
|
215
|
+
2,
|
|
216
|
+
1
|
|
217
|
+
],
|
|
218
|
+
"parent": "root"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"value": "Compound Components",
|
|
222
|
+
"href": "#compound-components",
|
|
223
|
+
"depth": 4,
|
|
224
|
+
"numbering": [
|
|
225
|
+
1,
|
|
226
|
+
2,
|
|
227
|
+
2,
|
|
228
|
+
2
|
|
229
|
+
],
|
|
230
|
+
"parent": "root"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"value": "3. Design Tokens",
|
|
234
|
+
"href": "#3-design-tokens",
|
|
235
|
+
"depth": 3,
|
|
236
|
+
"numbering": [
|
|
237
|
+
1,
|
|
238
|
+
2,
|
|
239
|
+
3
|
|
240
|
+
],
|
|
241
|
+
"parent": "root"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"value": "4. Style Props",
|
|
245
|
+
"href": "#4-style-props",
|
|
246
|
+
"depth": 3,
|
|
247
|
+
"numbering": [
|
|
248
|
+
1,
|
|
249
|
+
2,
|
|
250
|
+
4
|
|
251
|
+
],
|
|
252
|
+
"parent": "root"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"value": "5. Polymorphism",
|
|
256
|
+
"href": "#5-polymorphism",
|
|
257
|
+
"depth": 3,
|
|
258
|
+
"numbering": [
|
|
259
|
+
1,
|
|
260
|
+
2,
|
|
261
|
+
5
|
|
262
|
+
],
|
|
263
|
+
"parent": "root"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"value": "6. Theming",
|
|
267
|
+
"href": "#6-theming",
|
|
268
|
+
"depth": 3,
|
|
269
|
+
"numbering": [
|
|
270
|
+
1,
|
|
271
|
+
2,
|
|
272
|
+
6
|
|
273
|
+
],
|
|
274
|
+
"parent": "root"
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"value": "7. Responsive Styling",
|
|
278
|
+
"href": "#7-responsive-styling",
|
|
279
|
+
"depth": 3,
|
|
280
|
+
"numbering": [
|
|
281
|
+
1,
|
|
282
|
+
2,
|
|
283
|
+
7
|
|
284
|
+
],
|
|
285
|
+
"parent": "root"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"value": "8. Using Icons",
|
|
289
|
+
"href": "#8-using-icons",
|
|
290
|
+
"depth": 3,
|
|
291
|
+
"numbering": [
|
|
292
|
+
1,
|
|
293
|
+
2,
|
|
294
|
+
8
|
|
295
|
+
],
|
|
296
|
+
"parent": "root"
|
|
297
|
+
}
|
|
298
|
+
]
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|