@commercetools/nimbus-mcp 0.1.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -14
- package/data/docs/route-manifest.json +10913 -0
- package/data/docs/routes/components-accessibility-visually-hidden.json +388 -0
- package/data/docs/routes/components-accessibility.json +34 -0
- package/data/docs/routes/components-buttons-button.json +715 -0
- package/data/docs/routes/components-buttons-icon-button.json +852 -0
- package/data/docs/routes/components-buttons-icon-toggle-button.json +594 -0
- package/data/docs/routes/components-buttons-split-button.json +670 -0
- package/data/docs/routes/components-buttons-toggle-button-group.json +722 -0
- package/data/docs/routes/components-buttons-toggle-button.json +689 -0
- package/data/docs/routes/components-buttons.json +36 -0
- package/data/docs/routes/components-data-display-badge.json +555 -0
- package/data/docs/routes/components-data-display-card.json +338 -0
- package/data/docs/routes/components-data-display-data-table.json +855 -0
- package/data/docs/routes/components-data-display-draggable-list.json +596 -0
- package/data/docs/routes/components-data-display-table.json +472 -0
- package/data/docs/routes/components-data-display-tag-group.json +535 -0
- package/data/docs/routes/components-data-display.json +34 -0
- package/data/docs/routes/components-feedback-alert.json +696 -0
- package/data/docs/routes/components-feedback-dialog.json +682 -0
- package/data/docs/routes/components-feedback-drawer.json +600 -0
- package/data/docs/routes/components-feedback-loading-spinner.json +415 -0
- package/data/docs/routes/components-feedback-progress-bar.json +661 -0
- package/data/docs/routes/components-feedback-toast.json +1040 -0
- package/data/docs/routes/components-feedback-tooltip.json +510 -0
- package/data/docs/routes/components-feedback.json +34 -0
- package/data/docs/routes/components-forms-field-errors.json +557 -0
- package/data/docs/routes/components-forms-form-field.json +848 -0
- package/data/docs/routes/components-forms-group.json +427 -0
- package/data/docs/routes/components-forms-localized-field.json +770 -0
- package/data/docs/routes/components-forms.json +37 -0
- package/data/docs/routes/components-inputs-calendar.json +611 -0
- package/data/docs/routes/components-inputs-checkbox.json +774 -0
- package/data/docs/routes/components-inputs-combo-box.json +761 -0
- package/data/docs/routes/components-inputs-date-input.json +628 -0
- package/data/docs/routes/components-inputs-date-picker.json +709 -0
- package/data/docs/routes/components-inputs-date-range-picker.json +599 -0
- package/data/docs/routes/components-inputs-money-input.json +721 -0
- package/data/docs/routes/components-inputs-multiline-text-input.json +611 -0
- package/data/docs/routes/components-inputs-number-input.json +647 -0
- package/data/docs/routes/components-inputs-password-input.json +576 -0
- package/data/docs/routes/components-inputs-radio-input.json +583 -0
- package/data/docs/routes/components-inputs-range-calendar.json +607 -0
- package/data/docs/routes/components-inputs-rich-text-input.json +599 -0
- package/data/docs/routes/components-inputs-scoped-search-input.json +570 -0
- package/data/docs/routes/components-inputs-search-input.json +588 -0
- package/data/docs/routes/components-inputs-select-input.json +960 -0
- package/data/docs/routes/components-inputs-switch.json +720 -0
- package/data/docs/routes/components-inputs-text-input.json +566 -0
- package/data/docs/routes/components-inputs-time-input.json +775 -0
- package/data/docs/routes/components-inputs.json +34 -0
- package/data/docs/routes/components-layout-box.json +501 -0
- package/data/docs/routes/components-layout-defaultpage.json +748 -0
- package/data/docs/routes/components-layout-flex.json +587 -0
- package/data/docs/routes/components-layout-grid.json +393 -0
- package/data/docs/routes/components-layout-modalpage.json +716 -0
- package/data/docs/routes/components-layout-pagecontent.json +673 -0
- package/data/docs/routes/components-layout-separator.json +461 -0
- package/data/docs/routes/components-layout-simple-grid.json +519 -0
- package/data/docs/routes/components-layout-spacer.json +573 -0
- package/data/docs/routes/components-layout-stack.json +481 -0
- package/data/docs/routes/components-layout.json +34 -0
- package/data/docs/routes/components-media-avatar.json +427 -0
- package/data/docs/routes/components-media-icon.json +663 -0
- package/data/docs/routes/components-media-image.json +511 -0
- package/data/docs/routes/components-media-inline-svg.json +586 -0
- package/data/docs/routes/components-media.json +34 -0
- package/data/docs/routes/components-navigation-accordion.json +643 -0
- package/data/docs/routes/components-navigation-collapsible-motion.json +628 -0
- package/data/docs/routes/components-navigation-link.json +554 -0
- package/data/docs/routes/components-navigation-menu.json +546 -0
- package/data/docs/routes/components-navigation-pagination.json +502 -0
- package/data/docs/routes/components-navigation-steps.json +629 -0
- package/data/docs/routes/components-navigation-tabnav.json +546 -0
- package/data/docs/routes/components-navigation-tabs.json +635 -0
- package/data/docs/routes/components-navigation-toolbar.json +549 -0
- package/data/docs/routes/components-navigation.json +34 -0
- package/data/docs/routes/components-typography-code.json +39 -0
- package/data/docs/routes/components-typography-heading.json +402 -0
- package/data/docs/routes/components-typography-kbd.json +399 -0
- package/data/docs/routes/components-typography-list.json +593 -0
- package/data/docs/routes/components-typography-text.json +444 -0
- package/data/docs/routes/components-typography.json +34 -0
- package/data/docs/routes/components-utilities-nimbus-i18n-provider.json +295 -0
- package/data/docs/routes/components-utilities-nimbus-provider.json +663 -0
- package/data/docs/routes/components-utilities.json +34 -0
- package/data/docs/routes/components.json +33 -0
- package/data/docs/routes/home-contribute-adrs-adr0001-consumer-component-apis.json +314 -0
- package/data/docs/routes/home-contribute-adrs-adr0002-compound-component-extraction.json +160 -0
- package/data/docs/routes/home-contribute-adrs-adr0003-component-lifecycle-states.json +460 -0
- package/data/docs/routes/home-contribute-adrs.json +205 -0
- package/data/docs/routes/home-contribute-development-setup.json +213 -0
- package/data/docs/routes/home-contribute-stats.json +36 -0
- package/data/docs/routes/home-contribute.json +36 -0
- package/data/docs/routes/home-design-tokens-aspect-ratios.json +36 -0
- package/data/docs/routes/home-design-tokens-borders.json +35 -0
- package/data/docs/routes/home-design-tokens-colors.json +157 -0
- package/data/docs/routes/home-design-tokens-other-animations.json +119 -0
- package/data/docs/routes/home-design-tokens-other-blurs.json +36 -0
- package/data/docs/routes/home-design-tokens-other-breakpoints.json +61 -0
- package/data/docs/routes/home-design-tokens-other-cursors.json +36 -0
- package/data/docs/routes/home-design-tokens-other-z-indices.json +39 -0
- package/data/docs/routes/home-design-tokens-other.json +35 -0
- package/data/docs/routes/home-design-tokens-radii.json +59 -0
- package/data/docs/routes/home-design-tokens-shadows.json +57 -0
- package/data/docs/routes/home-design-tokens-sizes.json +137 -0
- package/data/docs/routes/home-design-tokens-spacing.json +36 -0
- package/data/docs/routes/home-design-tokens-typography.json +184 -0
- package/data/docs/routes/home-design-tokens.json +34 -0
- package/data/docs/routes/home-getting-started-core-concepts.json +301 -0
- package/data/docs/routes/home-getting-started-installation.json +621 -0
- package/data/docs/routes/home-getting-started-mcp-server-overview.json +139 -0
- package/data/docs/routes/home-getting-started-mcp-server-setup.json +316 -0
- package/data/docs/routes/home-getting-started-release-process.json +294 -0
- package/data/docs/routes/home-getting-started-testing-setup.json +296 -0
- package/data/docs/routes/home-playground-markdown.json +638 -0
- package/data/docs/routes/home-playground-toc.json +169 -0
- package/data/docs/routes/home-playground.json +34 -0
- package/data/docs/routes/home-style-props-background.json +236 -0
- package/data/docs/routes/home-style-props-border.json +310 -0
- package/data/docs/routes/home-style-props-display.json +120 -0
- package/data/docs/routes/home-style-props-effects.json +116 -0
- package/data/docs/routes/home-style-props-filters.json +396 -0
- package/data/docs/routes/home-style-props-flex-and-grid.json +496 -0
- package/data/docs/routes/home-style-props-interactivity.json +356 -0
- package/data/docs/routes/home-style-props-layout.json +422 -0
- package/data/docs/routes/home-style-props-list.json +116 -0
- package/data/docs/routes/home-style-props-sizing.json +244 -0
- package/data/docs/routes/home-style-props-spacing.json +228 -0
- package/data/docs/routes/home-style-props-svg.json +96 -0
- package/data/docs/routes/home-style-props-tables.json +116 -0
- package/data/docs/routes/home-style-props-transforms.json +216 -0
- package/data/docs/routes/home-style-props-transitions.json +216 -0
- package/data/docs/routes/home-style-props-typography.json +536 -0
- package/data/docs/routes/home-style-props.json +33 -0
- package/data/docs/routes/home.json +32 -0
- package/data/docs/routes/hooks-usecopytoclipboard.json +76 -0
- package/data/docs/routes/hooks-usehotkeys.json +117 -0
- package/data/docs/routes/hooks.json +33 -0
- package/data/docs/routes/icons.json +32 -0
- package/data/docs/routes/patterns-fields-date-range-picker-field.json +393 -0
- package/data/docs/routes/patterns-fields-money-input-field.json +415 -0
- package/data/docs/routes/patterns-fields-multiline-text-input-field.json +404 -0
- package/data/docs/routes/patterns-fields-number-input-field.json +470 -0
- package/data/docs/routes/patterns-fields-password-input-field.json +319 -0
- package/data/docs/routes/patterns-fields-search-input-field.json +382 -0
- package/data/docs/routes/patterns-fields-text-input-field.json +404 -0
- package/data/docs/routes/patterns-fields.json +78 -0
- package/data/docs/routes/patterns.json +34 -0
- package/data/docs/search-index.json +1 -0
- package/data/docs/types/Accordion.json +12 -0
- package/data/docs/types/AccordionContent.json +286 -0
- package/data/docs/types/AccordionHeader.json +891 -0
- package/data/docs/types/AccordionHeaderRightContent.json +27 -0
- package/data/docs/types/AccordionItem.json +242 -0
- package/data/docs/types/AccordionRoot.json +162 -0
- package/data/docs/types/Alert.json +12 -0
- package/data/docs/types/AlertActions.json +11 -0
- package/data/docs/types/AlertDescription.json +118 -0
- package/data/docs/types/AlertDismissButton.json +937 -0
- package/data/docs/types/AlertRoot.json +42 -0
- package/data/docs/types/AlertTitle.json +118 -0
- package/data/docs/types/Avatar.json +125 -0
- package/data/docs/types/Badge.json +64 -0
- package/data/docs/types/Body.json +67 -0
- package/data/docs/types/Box.json +85 -0
- package/data/docs/types/Button.json +1015 -0
- package/data/docs/types/Calendar.json +565 -0
- package/data/docs/types/Caption.json +67 -0
- package/data/docs/types/Card.json +12 -0
- package/data/docs/types/CardContent.json +27 -0
- package/data/docs/types/CardHeader.json +27 -0
- package/data/docs/types/CardRoot.json +106 -0
- package/data/docs/types/Cell.json +227 -0
- package/data/docs/types/Checkbox.json +897 -0
- package/data/docs/types/Code.json +112 -0
- package/data/docs/types/CollapsibleMotionContent.json +35 -0
- package/data/docs/types/CollapsibleMotionRoot.json +99 -0
- package/data/docs/types/CollapsibleMotionTrigger.json +71 -0
- package/data/docs/types/Column.json +101 -0
- package/data/docs/types/ColumnGroup.json +101 -0
- package/data/docs/types/ColumnHeader.json +193 -0
- package/data/docs/types/ComboBoxListBox.json +751 -0
- package/data/docs/types/ComboBoxOption.json +672 -0
- package/data/docs/types/ComboBoxPopover.json +786 -0
- package/data/docs/types/ComboBoxRoot.json +747 -0
- package/data/docs/types/ComboBoxSection.json +277 -0
- package/data/docs/types/ComboBoxTrigger.json +70 -0
- package/data/docs/types/Content.json +33 -0
- package/data/docs/types/DataTable.json +596 -0
- package/data/docs/types/DataTableBody.json +223 -0
- package/data/docs/types/DataTableFooter.json +27 -0
- package/data/docs/types/DataTableHeader.json +269 -0
- package/data/docs/types/DataTableManager.json +11 -0
- package/data/docs/types/DataTableRoot.json +590 -0
- package/data/docs/types/DataTableTable.json +271 -0
- package/data/docs/types/DateInput.json +792 -0
- package/data/docs/types/DatePicker.json +700 -0
- package/data/docs/types/DateRangePicker.json +936 -0
- package/data/docs/types/DateRangePickerField.json +1047 -0
- package/data/docs/types/DefaultPage.json +12 -0
- package/data/docs/types/DefaultPageActions.json +27 -0
- package/data/docs/types/DefaultPageBackLink.json +213 -0
- package/data/docs/types/DefaultPageContent.json +27 -0
- package/data/docs/types/DefaultPageFooter.json +27 -0
- package/data/docs/types/DefaultPageHeader.json +27 -0
- package/data/docs/types/DefaultPageRoot.json +106 -0
- package/data/docs/types/DefaultPageSubtitle.json +27 -0
- package/data/docs/types/DefaultPageTabNav.json +28 -0
- package/data/docs/types/DefaultPageTitle.json +27 -0
- package/data/docs/types/DialogBody.json +27 -0
- package/data/docs/types/DialogCloseTrigger.json +939 -0
- package/data/docs/types/DialogContent.json +27 -0
- package/data/docs/types/DialogFooter.json +27 -0
- package/data/docs/types/DialogHeader.json +27 -0
- package/data/docs/types/DialogRoot.json +138 -0
- package/data/docs/types/DialogTitle.json +27 -0
- package/data/docs/types/DialogTrigger.json +80 -0
- package/data/docs/types/DraggableList.json +12 -0
- package/data/docs/types/DraggableListField.json +894 -0
- package/data/docs/types/DraggableListItem.json +574 -0
- package/data/docs/types/DraggableListRoot.json +745 -0
- package/data/docs/types/Drawer.json +12 -0
- package/data/docs/types/DrawerBody.json +27 -0
- package/data/docs/types/DrawerCloseTrigger.json +939 -0
- package/data/docs/types/DrawerContent.json +27 -0
- package/data/docs/types/DrawerFooter.json +27 -0
- package/data/docs/types/DrawerHeader.json +27 -0
- package/data/docs/types/DrawerRoot.json +142 -0
- package/data/docs/types/DrawerTitle.json +27 -0
- package/data/docs/types/DrawerTrigger.json +80 -0
- package/data/docs/types/FieldErrors.getBuiltInMessage.json +11 -0
- package/data/docs/types/FieldErrors.getCustomMessage.json +9 -0
- package/data/docs/types/FieldErrors.json +109 -0
- package/data/docs/types/Flex.json +238 -0
- package/data/docs/types/Footer.json +67 -0
- package/data/docs/types/FormFieldDescription.json +11 -0
- package/data/docs/types/FormFieldError.json +11 -0
- package/data/docs/types/FormFieldInfoBox.json +27 -0
- package/data/docs/types/FormFieldInput.json +11 -0
- package/data/docs/types/FormFieldLabel.json +11 -0
- package/data/docs/types/FormFieldRoot.json +148 -0
- package/data/docs/types/Grid.json +253 -0
- package/data/docs/types/GridProps.json +11 -0
- package/data/docs/types/Group.json +143 -0
- package/data/docs/types/Header.json +67 -0
- package/data/docs/types/Heading.json +109 -0
- package/data/docs/types/Icon.json +112 -0
- package/data/docs/types/IconButton.json +1019 -0
- package/data/docs/types/IconToggleButton.json +787 -0
- package/data/docs/types/Image.json +373 -0
- package/data/docs/types/Indicator.json +67 -0
- package/data/docs/types/InlineSvg.json +98 -0
- package/data/docs/types/Item.json +67 -0
- package/data/docs/types/Kbd.json +118 -0
- package/data/docs/types/Link.json +380 -0
- package/data/docs/types/List.json +12 -0
- package/data/docs/types/ListIndicator.json +70 -0
- package/data/docs/types/ListItem.json +70 -0
- package/data/docs/types/ListRoot.json +124 -0
- package/data/docs/types/LoadingSpinner.json +87 -0
- package/data/docs/types/LocalizedField.json +460 -0
- package/data/docs/types/LocalizedStringFormatter.json +9 -0
- package/data/docs/types/MakeElementFocusable.json +196 -0
- package/data/docs/types/MenuContent.json +111 -0
- package/data/docs/types/MenuItem.json +671 -0
- package/data/docs/types/MenuRoot.json +670 -0
- package/data/docs/types/MenuSection.json +364 -0
- package/data/docs/types/MenuSubmenu.json +111 -0
- package/data/docs/types/MenuSubmenuTrigger.json +67 -0
- package/data/docs/types/MenuTrigger.json +906 -0
- package/data/docs/types/ModalPage.json +12 -0
- package/data/docs/types/ModalPageActions.json +27 -0
- package/data/docs/types/ModalPageContent.json +27 -0
- package/data/docs/types/ModalPageFooter.json +27 -0
- package/data/docs/types/ModalPageHeader.json +27 -0
- package/data/docs/types/ModalPageRoot.json +87 -0
- package/data/docs/types/ModalPageSubtitle.json +27 -0
- package/data/docs/types/ModalPageTabNav.json +28 -0
- package/data/docs/types/ModalPageTitle.json +27 -0
- package/data/docs/types/ModalPageTopBar.json +57 -0
- package/data/docs/types/MoneyInput.isEmpty.json +40 -0
- package/data/docs/types/MoneyInput.json +282 -0
- package/data/docs/types/MoneyInputField.json +379 -0
- package/data/docs/types/MoneyInputFieldProps.json +9 -0
- package/data/docs/types/MultilineTextInput.json +1194 -0
- package/data/docs/types/MultilineTextInputField.json +1269 -0
- package/data/docs/types/MultilineTextInputFieldProps.json +9 -0
- package/data/docs/types/NimbusI18nProvider.json +42 -0
- package/data/docs/types/NimbusI18nProviderProps.json +9 -0
- package/data/docs/types/NimbusProvider.json +270 -0
- package/data/docs/types/NumberInput.json +952 -0
- package/data/docs/types/NumberInputField.json +1004 -0
- package/data/docs/types/NumberInputFieldProps.json +9 -0
- package/data/docs/types/PageContent.json +11 -0
- package/data/docs/types/PageContentColumn.json +99 -0
- package/data/docs/types/PageContentRoot.json +114 -0
- package/data/docs/types/Pagination.json +159 -0
- package/data/docs/types/PasswordInput.json +1120 -0
- package/data/docs/types/PasswordInputField.json +1216 -0
- package/data/docs/types/PasswordInputFieldProps.json +9 -0
- package/data/docs/types/ProgressBar.json +280 -0
- package/data/docs/types/RadioInputOption.json +550 -0
- package/data/docs/types/RadioInputRoot.json +514 -0
- package/data/docs/types/RangeCalendar.json +618 -0
- package/data/docs/types/RichTextInput.json +134 -0
- package/data/docs/types/Root.json +122 -0
- package/data/docs/types/Row.json +67 -0
- package/data/docs/types/ScopedSearchInput.isEmpty.json +40 -0
- package/data/docs/types/ScopedSearchInput.json +253 -0
- package/data/docs/types/ScrollArea.json +82 -0
- package/data/docs/types/SearchInput.json +1165 -0
- package/data/docs/types/SearchInputField.json +1240 -0
- package/data/docs/types/Select.json +12 -0
- package/data/docs/types/SelectOption.json +572 -0
- package/data/docs/types/SelectOptionGroup.json +215 -0
- package/data/docs/types/SelectOptions.json +693 -0
- package/data/docs/types/SelectRoot.json +926 -0
- package/data/docs/types/Separator.json +65 -0
- package/data/docs/types/SimpleGrid.json +291 -0
- package/data/docs/types/Spacer.json +27 -0
- package/data/docs/types/SpacerProps.json +9 -0
- package/data/docs/types/SplitButton.json +203 -0
- package/data/docs/types/Stack.json +144 -0
- package/data/docs/types/Steps.json +12 -0
- package/data/docs/types/StepsChangeDetails.json +9 -0
- package/data/docs/types/StepsCompletedContent.json +28 -0
- package/data/docs/types/StepsCompletedContentProps.json +9 -0
- package/data/docs/types/StepsContent.json +43 -0
- package/data/docs/types/StepsContentProps.json +9 -0
- package/data/docs/types/StepsDescription.json +28 -0
- package/data/docs/types/StepsDescriptionProps.json +9 -0
- package/data/docs/types/StepsIndicator.json +28 -0
- package/data/docs/types/StepsIndicatorProps.json +9 -0
- package/data/docs/types/StepsItem.json +43 -0
- package/data/docs/types/StepsItemProps.json +9 -0
- package/data/docs/types/StepsList.json +28 -0
- package/data/docs/types/StepsListProps.json +9 -0
- package/data/docs/types/StepsNextTrigger.json +62 -0
- package/data/docs/types/StepsNextTriggerProps.json +9 -0
- package/data/docs/types/StepsNumber.json +28 -0
- package/data/docs/types/StepsNumberProps.json +9 -0
- package/data/docs/types/StepsPrevTrigger.json +62 -0
- package/data/docs/types/StepsPrevTriggerProps.json +9 -0
- package/data/docs/types/StepsRoot.json +183 -0
- package/data/docs/types/StepsRootProps.json +11 -0
- package/data/docs/types/StepsSeparator.json +28 -0
- package/data/docs/types/StepsSeparatorProps.json +9 -0
- package/data/docs/types/StepsStatus.json +57 -0
- package/data/docs/types/StepsStatusProps.json +9 -0
- package/data/docs/types/StepsTitle.json +28 -0
- package/data/docs/types/StepsTitleProps.json +9 -0
- package/data/docs/types/StepsTrigger.json +47 -0
- package/data/docs/types/StepsTriggerProps.json +9 -0
- package/data/docs/types/Switch.json +371 -0
- package/data/docs/types/TabListProps.json +9 -0
- package/data/docs/types/TabNav.json +12 -0
- package/data/docs/types/TabNavItem.json +300 -0
- package/data/docs/types/TabNavItemProps.json +9 -0
- package/data/docs/types/TabNavProps.json +9 -0
- package/data/docs/types/TabNavRoot.json +80 -0
- package/data/docs/types/TabPanelProps.json +9 -0
- package/data/docs/types/TabPanelsProps.json +9 -0
- package/data/docs/types/TabProps.json +9 -0
- package/data/docs/types/Table.json +9 -0
- package/data/docs/types/TableBody.json +67 -0
- package/data/docs/types/TableBodyProps.json +9 -0
- package/data/docs/types/TableCaption.json +67 -0
- package/data/docs/types/TableCaptionProps.json +9 -0
- package/data/docs/types/TableCell.json +227 -0
- package/data/docs/types/TableCellProps.json +9 -0
- package/data/docs/types/TableColumn.json +101 -0
- package/data/docs/types/TableColumnGroup.json +101 -0
- package/data/docs/types/TableColumnGroupProps.json +9 -0
- package/data/docs/types/TableColumnHeader.json +193 -0
- package/data/docs/types/TableColumnHeaderProps.json +9 -0
- package/data/docs/types/TableColumnProps.json +9 -0
- package/data/docs/types/TableFooter.json +67 -0
- package/data/docs/types/TableFooterProps.json +9 -0
- package/data/docs/types/TableHeader.json +67 -0
- package/data/docs/types/TableHeaderProps.json +9 -0
- package/data/docs/types/TableRoot.json +365 -0
- package/data/docs/types/TableRootProps.json +12 -0
- package/data/docs/types/TableRow.json +67 -0
- package/data/docs/types/TableRowProps.json +9 -0
- package/data/docs/types/TableScrollArea.json +82 -0
- package/data/docs/types/TableScrollAreaProps.json +9 -0
- package/data/docs/types/Tabs.json +12 -0
- package/data/docs/types/TabsList.json +110 -0
- package/data/docs/types/TabsPanel.json +112 -0
- package/data/docs/types/TabsPanels.json +108 -0
- package/data/docs/types/TabsRoot.json +211 -0
- package/data/docs/types/TabsTab.json +174 -0
- package/data/docs/types/TagGroup.json +12 -0
- package/data/docs/types/TagGroupRoot.json +306 -0
- package/data/docs/types/TagGroupTag.json +595 -0
- package/data/docs/types/TagGroupTagList.json +166 -0
- package/data/docs/types/Text.json +119 -0
- package/data/docs/types/TextInput.json +1156 -0
- package/data/docs/types/TextInputField.json +1263 -0
- package/data/docs/types/TimeInput.json +752 -0
- package/data/docs/types/ToastAction.json +9 -0
- package/data/docs/types/ToastManagerApi.json +9 -0
- package/data/docs/types/ToastOptions.json +9 -0
- package/data/docs/types/ToastOutlet.json +12 -0
- package/data/docs/types/ToastPlacement.json +9 -0
- package/data/docs/types/ToastPromiseOptions.json +9 -0
- package/data/docs/types/ToastType.json +9 -0
- package/data/docs/types/ToastVariant.json +9 -0
- package/data/docs/types/ToggleButton.json +789 -0
- package/data/docs/types/ToggleButtonGroup.json +9 -0
- package/data/docs/types/ToggleButtonGroupButton.json +331 -0
- package/data/docs/types/ToggleButtonGroupRoot.json +269 -0
- package/data/docs/types/Toolbar.json +176 -0
- package/data/docs/types/Tooltip.json +12 -0
- package/data/docs/types/TooltipContent.json +372 -0
- package/data/docs/types/TooltipRoot.json +179 -0
- package/data/docs/types/Trigger.json +69 -0
- package/data/docs/types/VisuallyHidden.json +93 -0
- package/data/docs/types/__object.json +12 -0
- package/data/docs/types/filters.json +11 -0
- package/data/docs/types/manifest.json +278 -0
- package/data/docs/types/toast.json +234 -0
- package/data/docs/types/useColorMode.json +13 -0
- package/data/docs/types/useColorModeValue.json +13 -0
- package/data/docs/types/useColorScheme.json +12 -0
- package/data/docs/types/useLocalizedStringFormatter.json +14 -0
- package/data/icons.json +21940 -0
- package/data/tokens.json +40061 -0
- package/dist/index.js +2516 -17
- package/package.json +25 -6
- package/dist/data-loader.d.ts +0 -102
- package/dist/data-loader.js +0 -104
- package/dist/index.d.ts +0 -13
- package/dist/server.d.ts +0 -9
- package/dist/server.js +0 -22
- package/dist/server.spec.d.ts +0 -1
- package/dist/server.spec.js +0 -69
- package/dist/tools/list-components.d.ts +0 -9
- package/dist/tools/list-components.js +0 -42
- package/dist/types.d.ts +0 -28
- package/dist/types.js +0 -4
- package/src/data-loader.ts +0 -226
- package/src/index.ts +0 -29
- package/src/server.spec.ts +0 -86
- package/src/server.ts +0 -28
- package/src/tools/list-components.ts +0 -49
- package/src/types.ts +0 -31
- package/tsconfig.json +0 -14
- package/vitest.config.ts +0 -9
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"id": "Patterns-DateRangePickerField",
|
|
4
|
+
"title": "Date range picker field",
|
|
5
|
+
"exportName": "DateRangePickerField",
|
|
6
|
+
"description": "This pattern component integrates the DateRangePicker within a FormField using a simple, consistent, and opinionated API.",
|
|
7
|
+
"order": 999,
|
|
8
|
+
"repoPath": "packages/nimbus/src/patterns/fields/date-range-picker-field/date-range-picker-field.mdx",
|
|
9
|
+
"menu": [
|
|
10
|
+
"Patterns",
|
|
11
|
+
"Fields",
|
|
12
|
+
"Date range picker field"
|
|
13
|
+
],
|
|
14
|
+
"route": "patterns/fields/date-range-picker-field",
|
|
15
|
+
"tags": [
|
|
16
|
+
"component",
|
|
17
|
+
"pattern",
|
|
18
|
+
"field",
|
|
19
|
+
"DateRangePicker",
|
|
20
|
+
"DateRangePickerField"
|
|
21
|
+
],
|
|
22
|
+
"toc": [
|
|
23
|
+
{
|
|
24
|
+
"value": "Overview",
|
|
25
|
+
"href": "#overview",
|
|
26
|
+
"depth": 2,
|
|
27
|
+
"numbering": [
|
|
28
|
+
1,
|
|
29
|
+
1
|
|
30
|
+
],
|
|
31
|
+
"parent": "root"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"value": "Resources",
|
|
35
|
+
"href": "#resources",
|
|
36
|
+
"depth": 3,
|
|
37
|
+
"numbering": [
|
|
38
|
+
1,
|
|
39
|
+
1,
|
|
40
|
+
1
|
|
41
|
+
],
|
|
42
|
+
"parent": "root"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"layout": "app-frame",
|
|
46
|
+
"tabs": [
|
|
47
|
+
{
|
|
48
|
+
"key": "overview",
|
|
49
|
+
"title": "Overview",
|
|
50
|
+
"order": 0
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"key": "dev",
|
|
54
|
+
"title": "Implementation",
|
|
55
|
+
"order": 3
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"mdx": "\n## Overview\n\nDateRangePickerField is a pattern component that combines the FormField wrapper with the DateRangePicker input component. This integration provides a complete form field experience including accessible labels, helper text descriptions, info popovers for supplementary information, and comprehensive validation and error handling, all through a simplified, opinionated API.\n\n### Resources\n\nFor detailed guidance on the individual components that make up this pattern, consult the component guidelines:\n\n- [DateRangePicker Guidelines](/components/inputs/daterangepicker) - Date range selection patterns, interaction guidelines, and accessibility standards\n- [FormField Guidelines](/components/inputs/formfield) - Label options, helper text, validation patterns, and form field accessibility\n- [Storybook](https://nimbus-storybook.vercel.app/?path=/docs/patterns-fields-daterangepickerfield--docs)\n",
|
|
60
|
+
"views": {
|
|
61
|
+
"overview": {
|
|
62
|
+
"mdx": "\n## Overview\n\nDateRangePickerField is a pattern component that combines the FormField wrapper with the DateRangePicker input component. This integration provides a complete form field experience including accessible labels, helper text descriptions, info popovers for supplementary information, and comprehensive validation and error handling, all through a simplified, opinionated API.\n\n### Resources\n\nFor detailed guidance on the individual components that make up this pattern, consult the component guidelines:\n\n- [DateRangePicker Guidelines](/components/inputs/daterangepicker) - Date range selection patterns, interaction guidelines, and accessibility standards\n- [FormField Guidelines](/components/inputs/formfield) - Label options, helper text, validation patterns, and form field accessibility\n- [Storybook](https://nimbus-storybook.vercel.app/?path=/docs/patterns-fields-daterangepickerfield--docs)\n",
|
|
63
|
+
"toc": [
|
|
64
|
+
{
|
|
65
|
+
"value": "Overview",
|
|
66
|
+
"href": "#overview",
|
|
67
|
+
"depth": 2,
|
|
68
|
+
"numbering": [
|
|
69
|
+
1,
|
|
70
|
+
1
|
|
71
|
+
],
|
|
72
|
+
"parent": "root"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"value": "Resources",
|
|
76
|
+
"href": "#resources",
|
|
77
|
+
"depth": 3,
|
|
78
|
+
"numbering": [
|
|
79
|
+
1,
|
|
80
|
+
1,
|
|
81
|
+
1
|
|
82
|
+
],
|
|
83
|
+
"parent": "root"
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
"dev": {
|
|
88
|
+
"mdx": "\n\n## Comparison: field pattern vs manual composition\n\n**With DateRangePickerField:**\n```tsx\n<DateRangePickerField\n label=\"Event Date Range\"\n description=\"Select start and end dates\"\n value={dateRange}\n onChange={setDateRange}\n onBlur={() => formik.setFieldTouched('dateRange', true)}\n errors={formik.errors.dateRange}\n touched={formik.touched.dateRange}\n/>\n```\n\n**Manual composition:**\n```tsx\n<FormField.Root isInvalid={!!(formik.errors.dateRange && formik.touched.dateRange)}>\n <FormField.Label>Event Date Range</FormField.Label>\n <FormField.Input>\n <DateRangePicker\n value={dateRange}\n onChange={setDateRange}\n width=\"full\"\n />\n </FormField.Input>\n <FormField.Description>\n Select start and end dates\n </FormField.Description>\n {formik.touched.dateRange && formik.errors.dateRange && (\n <FormField.Error>{formik.errors.dateRange}</FormField.Error>\n )}\n</FormField.Root>\n```\n\n### When to use which\n\n**Use DateRangePickerField when:**\n- Building standard forms with typical field layouts\n- You want consistent field patterns across your app\n- You need built-in error handling with FieldErrors\n- You want to minimize boilerplate code\n\n**Use DateRangePicker with manual FormField composition when:**\n- You need custom field layouts\n- You're building complex, non-standard forms\n- You need granular control over FormField sub-components\n- You require a different error handling implementation\n\n## Getting started\n\n### Import\n\n```tsx\nimport { DateRangePickerField, type DateRangePickerFieldProps } from '@commercetools/nimbus';\n```\n\n### Basic usage\n\nThe simplest implementation with a label and controlled state:\n\n```jsx live-dev\nconst App = () => {\n const [value, setValue] = useState<DateRangePickerProps[\"value\"]>(null);\n\n return (\n <DateRangePickerField\n label=\"Select Date Range\"\n value={value}\n onChange={setValue}\n />\n );\n}\n```\n\n### Working with date values\n\nDateRangePickerField uses the same `@internationalized/date` library as DateRangePicker.\n\n## Usage examples\n\n### Size options\n\nThe `sm` and `md` size variants are available to match your interface density:\n\n```jsx live-dev\nconst App = () => {\n const [valueSmall, setValueSmall] = useState<DateRangePickerProps[\"value\"]>(null);\n const [valueMedium, setValueMedium] = useState<DateRangePickerProps[\"value\"]>(null);\n\n return (\n <Stack direction=\"column\" gap=\"400\">\n <DateRangePickerField\n size=\"sm\"\n label=\"Small size\"\n value={valueSmall}\n onChange={setValueSmall}\n />\n <DateRangePickerField\n size=\"md\"\n label=\"Medium size (default)\"\n value={valueMedium}\n onChange={setValueMedium}\n />\n </Stack>\n );\n}\n```\n\n### Visual variants\n\nChoose between `solid` and `ghost` variants to match your design context:\n\n```jsx live-dev\nconst App = () => {\n const [valueSolid, setValueSolid] = useState<DateRangePickerProps[\"value\"]>(null);\n const [valueGhost, setValueGhost] = useState<DateRangePickerProps[\"value\"]>(null);\n\n return (\n <Stack direction=\"column\" gap=\"400\">\n <DateRangePickerField\n variant=\"solid\"\n label=\"Solid variant (default)\"\n value={valueSolid}\n onChange={setValueSolid}\n />\n <DateRangePickerField\n variant=\"ghost\"\n label=\"Ghost variant\"\n value={valueGhost}\n onChange={setValueGhost}\n />\n </Stack>\n );\n}\n```\n\n### With description\n\nAdd helper text below the input to provide context:\n\n```jsx live-dev\nconst App = () => {\n const [value, setValue] = useState<DateRangePickerProps[\"value\"]>(null);\n\n return (\n <DateRangePickerField\n label=\"Event Duration\"\n description=\"Select the start and end dates for your event\"\n value={value}\n onChange={setValue}\n />\n );\n}\n```\n\n### With validation errors\n\nShow error messages when the field is touched and has validation errors:\n\n```jsx live-dev\nconst App = () => {\n const [value, setValue] = useState<DateRangePickerProps[\"value\"]>(null);\n const [touched, setTouched] = useState<boolean>(false);\n\n // Simulate validation errors\n const errors = !value && touched ? { missing: true } : undefined;\n\n return (\n <DateRangePickerField\n label=\"Required Date Range\"\n description=\"Please select a date range\"\n value={value}\n onChange={setValue}\n onBlur={() => setTouched(true)}\n errors={errors}\n touched={touched}\n isRequired\n />\n );\n}\n```\n\n**Note**: Errors only display when both `touched={true}` and `errors` exist. This prevents showing errors before the user interacts with the field.\n\n### With info popover\n\nProvide additional context through an info button and popover:\n\n```jsx live-dev\nconst App = () => {\n const [value, setValue] = useState<DateRangePickerProps[\"value\"]>(null);\n\n return (\n <DateRangePickerField\n label=\"Report Period\"\n description=\"Select the date range for your report\"\n info=\"Date ranges are inclusive. Both the start and end dates will be included in the report results.\"\n value={value}\n onChange={setValue}\n />\n );\n}\n```\n\n### Required field\n\nMark fields as required with the `isRequired` prop:\n\n```jsx live-dev\nconst App = () => {\n const [value, setValue] = useState<DateRangePickerProps[\"value\"]>(null);\n\n return (\n <DateRangePickerField\n label=\"Event Dates\"\n description=\"Select your event dates\"\n value={value}\n onChange={setValue}\n isRequired\n />\n );\n}\n```\n\n### Disabled state\n\nPrevent user interaction with the `isDisabled` prop:\n\n```jsx live-dev\nconst App = () => {\n const [value, setValue] = useState<DateRangePickerProps[\"value\"]>(null);\n\n return (\n <DateRangePickerField\n label=\"Unavailable Dates\"\n description=\"This field cannot be modified\"\n value={value}\n onChange={setValue}\n isDisabled\n />\n );\n}\n```\n\n### Read-only state\n\nDisplay a non-editable value with the `isReadOnly` prop:\n\n```jsx live-dev\nconst App = () => {\n const [value, setValue] = useState<DateRangePickerProps[\"value\"]>(null);\n\n return (\n <DateRangePickerField\n label=\"Scheduled Period\"\n description=\"This period is set and cannot be changed\"\n value={value}\n onChange={setValue}\n isReadOnly\n />\n );\n}\n```\n\n### With time selection\n\nInclude time selection by setting the granularity prop:\n\n```jsx live-dev\nconst App = () => {\n const [value, setValue] = useState<DateRangePickerProps[\"value\"]>(null);\n\n return (\n <DateRangePickerField\n label=\"Meeting Schedule\"\n description=\"Select date range with specific times\"\n granularity=\"minute\"\n value={value}\n onChange={setValue}\n />\n );\n}\n```\n\nWhen `granularity=\"minute\"` (or other time values), the calendar remains open after date selection to allow time input.\n\n## Component requirements\n\n### Error handling\n\nDateRangePickerField uses the `FieldErrors` component to display validation errors with built-in localized messages. For custom error messages, use the `renderError` prop (see [Custom error rendering](#custom-error-rendering) below).\n\n**Error object format** (`FieldErrorsData`):\n```tsx\ntype FieldErrorsData = {\n [key: string]: boolean | string | ReactNode;\n};\n\n// Examples:\nconst errors = {\n missing: true, // Built-in message: \"This field is required\"\n format: true, // Built-in message: \"Please enter a valid format\"\n custom: \"Custom error text\" // Custom message\n};\n```\n\n## Accessibility\n\nDateRangePickerField provides comprehensive accessibility through [FormField](components/inputs/formfield):\n\n**Automatic ARIA relationships:**\n- Labels connected via `aria-labelledby`\n- Descriptions connected via `aria-describedby`\n- Error messages connected via `aria-describedby`\n- Required fields indicated with `aria-required`\n- Invalid state indicated with `aria-invalid`\n\nIf your use case requires tracking and analytics for this component, add a **persistent**, **unique** id:\n\n```tsx\nconst PERSISTENT_ID = \"report-date-range-picker\";\n\nexport const Example = () => {\n const [value, setValue] = useState<DateRangePickerProps[\"value\"]>(null);\n\n return (\n <DateRangePickerField\n id={PERSISTENT_ID}\n label=\"Report Period\"\n description=\"Select the date range for your report\"\n value={value}\n onChange={setValue}\n />\n );\n};\n```\n\n**Note:** The `label` prop already provides an accessible name, so `aria-label` is not needed.\n\n#### Keyboard navigation\n\nThe component supports keyboard interaction inherited from DateRangePicker:\n- `Tab` / `Shift+Tab`: Navigate between segments and buttons\n- `Arrow keys`: Increment/decrement date segments\n- `Enter` / `Space`: Open calendar\n- `Escape`: Close calendar\n\n## Form integration\n\nDateRangePickerField integrates seamlessly with Formik:\n\n```tsx\nimport { useFormik } from 'formik';\nimport { DateRangePickerField } from '@commercetools/nimbus';\n\nconst MyForm = () => {\n const formik = useFormik({\n initialValues: {\n dateRange: null,\n },\n validate: (values) => {\n const errors = {};\n if (!values.dateRange) {\n errors.dateRange = { missing: true };\n }\n return errors;\n },\n onSubmit: (values) => {\n console.log('Submitted:', values);\n },\n });\n\n return (\n <form onSubmit={formik.handleSubmit}>\n <DateRangePickerField\n name=\"dateRange\"\n label=\"Event Dates\"\n description=\"Select your event dates\"\n value={formik.values.dateRange}\n onChange={(value) => formik.setFieldValue('dateRange', value)}\n onBlur={() => formik.setFieldTouched('dateRange', true)}\n errors={formik.errors.dateRange}\n touched={formik.touched.dateRange}\n isRequired\n />\n <Button type=\"submit\">Submit</Button>\n </form>\n );\n};\n```\n\n**Key integration points:**\n- **Value/OnChange**: Connect Formik values with `value` and `setFieldValue`\n- **OnBlur**: Mark field as touched on blur\n- **Errors**: Pass `errors.fieldName` (supports `FieldErrorsData` format or strings)\n- **Touched**: Pass `touched.fieldName` to control error visibility\n\n## API reference\n\n<PropsTable id=\"DateRangePickerField\" />\n\n### Custom error rendering\n\nUse the `renderError` prop to customize how specific error keys are displayed:\n\n```tsx\n<DateRangePickerField\n label=\"Custom Validation\"\n value={value}\n onChange={setValue}\n errors={{ tooLong: true, overlap: true }}\n touched={true}\n renderError={(key) => {\n switch (key) {\n case 'tooLong':\n return 'Date range cannot exceed 90 days';\n case 'overlap':\n return 'This date range overlaps with an existing booking';\n default:\n return null; // Fall back to FieldErrors built-in messages\n }\n }}\n/>\n```\n\n## Testing your implementation\n\nThese examples demonstrate how to test your implementation when using DateRangePickerField in your application. As the component's internal functionality is already tested by Nimbus, these patterns help you verify your integration and application-specific logic.\n\n### Basic rendering tests\n\nVerify the component renders with expected elements:\n\n```tsx\nimport { render, screen } from '@testing-library/react';\nimport { DateRangePickerField } from '@commercetools/nimbus';\n\ndescribe('DateRangePickerField', () => {\n it('renders label and description', () => {\n render(\n <DateRangePickerField\n label=\"Event Dates\"\n description=\"Select your event dates\"\n />\n );\n\n expect(screen.getByText('Event Dates')).toBeInTheDocument();\n expect(screen.getByText('Select your event dates')).toBeInTheDocument();\n });\n\n it('renders DateRangePicker with date segments', () => {\n render(<DateRangePickerField label=\"Dates\" />);\n\n // 6 segments: start (month, day, year) + end (month, day, year)\n const segments = screen.getAllByRole('spinbutton');\n expect(segments).toHaveLength(6);\n });\n\n it('shows required indicator when isRequired', () => {\n render(<DateRangePickerField label=\"Required Field\" isRequired />);\n\n expect(screen.getByText('*')).toBeInTheDocument();\n });\n});\n```\n\n### Interaction tests\n\nTest user interactions with the component:\n\n```tsx\nimport { render, screen, waitFor } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { DateRangePickerField } from '@commercetools/nimbus';\n\ndescribe('DateRangePickerField interactions', () => {\n it('opens calendar when trigger button is clicked', async () => {\n const user = userEvent.setup();\n\n render(\n <DateRangePickerField\n label=\"Event Dates\"\n value={null}\n onChange={() => {}}\n />\n );\n\n const calendarButton = screen.getByRole('button', { name: /calendar/i });\n await user.click(calendarButton);\n\n await waitFor(() => {\n expect(screen.getByRole('dialog')).toBeInTheDocument();\n });\n });\n\n it('allows keyboard navigation through date segments', async () => {\n const user = userEvent.setup();\n\n render(\n <DateRangePickerField\n label=\"Event Dates\"\n value={null}\n onChange={() => {}}\n />\n );\n\n // Get first date segment (start date month)\n const segments = screen.getAllByRole('spinbutton');\n const firstSegment = segments[0];\n\n await user.click(firstSegment);\n expect(firstSegment).toHaveFocus();\n\n // Navigate to next segment with arrow key\n await user.keyboard('{ArrowRight}');\n expect(segments[1]).toHaveFocus();\n });\n\n it('calls onChange when date is selected from calendar', async () => {\n const user = userEvent.setup();\n const handleChange = jest.fn();\n\n render(\n <DateRangePickerField\n label=\"Event Dates\"\n value={null}\n onChange={handleChange}\n />\n );\n\n // Open calendar\n const calendarButton = screen.getByRole('button', { name: /calendar/i });\n await user.click(calendarButton);\n\n await waitFor(() => {\n expect(screen.getByRole('dialog')).toBeInTheDocument();\n });\n\n // Select a date (this will vary based on current month)\n const dateButtons = screen.getAllByRole('button');\n const selectableDate = dateButtons.find(btn =>\n btn.getAttribute('data-focused') === 'true'\n );\n\n if (selectableDate) {\n await user.click(selectableDate);\n expect(handleChange).toHaveBeenCalled();\n }\n });\n\n it('calls onBlur when focus leaves the field', async () => {\n const user = userEvent.setup();\n const handleBlur = jest.fn();\n\n render(\n <DateRangePickerField\n label=\"Event Dates\"\n value={null}\n onChange={() => {}}\n onBlur={handleBlur}\n />\n );\n\n const segments = screen.getAllByRole('spinbutton');\n await user.click(segments[0]);\n await user.tab(); // Move focus away from all segments\n\n expect(handleBlur).toHaveBeenCalled();\n });\n\n it('does not allow interaction when disabled', async () => {\n const user = userEvent.setup();\n const handleChange = jest.fn();\n\n render(\n <DateRangePickerField\n label=\"Event Dates\"\n value={null}\n onChange={handleChange}\n isDisabled\n />\n );\n\n const calendarButton = screen.getByRole('button', { name: /calendar/i });\n expect(calendarButton).toBeDisabled();\n\n // Attempt to open calendar (should not work)\n await user.click(calendarButton);\n expect(screen.queryByRole('dialog')).not.toBeInTheDocument();\n expect(handleChange).not.toHaveBeenCalled();\n });\n});\n```\n\n### Testing validation and errors\n\nTest error handling and validation behavior:\n\n```tsx\nimport { render, screen } from '@testing-library/react';\nimport { DateRangePickerField } from '@commercetools/nimbus';\n\ndescribe('DateRangePickerField error handling', () => {\n it('does not show errors when field is not touched', () => {\n render(\n <DateRangePickerField\n label=\"Dates\"\n errors={{ missing: true }}\n touched={false}\n />\n );\n\n expect(screen.queryByRole('alert')).not.toBeInTheDocument();\n });\n\n it('shows errors when field is touched and has errors', () => {\n render(\n <DateRangePickerField\n label=\"Dates\"\n errors={{ missing: true }}\n touched={true}\n />\n );\n\n expect(screen.getByRole('alert')).toBeInTheDocument();\n expect(screen.getByText(/field is required/i)).toBeInTheDocument();\n });\n\n it('displays custom error messages', () => {\n render(\n <DateRangePickerField\n label=\"Dates\"\n errors={{ custom: \"Date range cannot exceed 30 days\" }}\n touched={true}\n />\n );\n\n expect(screen.getByText(\"Date range cannot exceed 30 days\")).toBeInTheDocument();\n });\n});\n```\n\n## Resources\n\n- [Storybook](https://nimbus-storybook.vercel.app/?path=/docs/patterns-fields-daterangepickerfield--docs)\n- [DateRangePicker Component](/components/inputs/daterangepicker)\n- [FormField Component](/components/inputs/formfield)\n- [FieldErrors Component](/components/forms/fielderrors)\n- [React Aria DateRangePicker](https://react-spectrum.adobe.com/react-aria/DateRangePicker.html)\n",
|
|
89
|
+
"toc": [
|
|
90
|
+
{
|
|
91
|
+
"value": "Comparison: field pattern vs manual composition",
|
|
92
|
+
"href": "#comparison-field-pattern-vs-manual-composition",
|
|
93
|
+
"depth": 2,
|
|
94
|
+
"numbering": [
|
|
95
|
+
1,
|
|
96
|
+
1
|
|
97
|
+
],
|
|
98
|
+
"parent": "root"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"value": "When to use which",
|
|
102
|
+
"href": "#when-to-use-which",
|
|
103
|
+
"depth": 3,
|
|
104
|
+
"numbering": [
|
|
105
|
+
1,
|
|
106
|
+
1,
|
|
107
|
+
1
|
|
108
|
+
],
|
|
109
|
+
"parent": "root"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"value": "Getting started",
|
|
113
|
+
"href": "#getting-started",
|
|
114
|
+
"depth": 2,
|
|
115
|
+
"numbering": [
|
|
116
|
+
1,
|
|
117
|
+
2
|
|
118
|
+
],
|
|
119
|
+
"parent": "root"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"value": "Import",
|
|
123
|
+
"href": "#import",
|
|
124
|
+
"depth": 3,
|
|
125
|
+
"numbering": [
|
|
126
|
+
1,
|
|
127
|
+
2,
|
|
128
|
+
1
|
|
129
|
+
],
|
|
130
|
+
"parent": "root"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"value": "Basic usage",
|
|
134
|
+
"href": "#basic-usage",
|
|
135
|
+
"depth": 3,
|
|
136
|
+
"numbering": [
|
|
137
|
+
1,
|
|
138
|
+
2,
|
|
139
|
+
2
|
|
140
|
+
],
|
|
141
|
+
"parent": "root"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"value": "Working with date values",
|
|
145
|
+
"href": "#working-with-date-values",
|
|
146
|
+
"depth": 3,
|
|
147
|
+
"numbering": [
|
|
148
|
+
1,
|
|
149
|
+
2,
|
|
150
|
+
3
|
|
151
|
+
],
|
|
152
|
+
"parent": "root"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"value": "Usage examples",
|
|
156
|
+
"href": "#usage-examples",
|
|
157
|
+
"depth": 2,
|
|
158
|
+
"numbering": [
|
|
159
|
+
1,
|
|
160
|
+
3
|
|
161
|
+
],
|
|
162
|
+
"parent": "root"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"value": "Size options",
|
|
166
|
+
"href": "#size-options",
|
|
167
|
+
"depth": 3,
|
|
168
|
+
"numbering": [
|
|
169
|
+
1,
|
|
170
|
+
3,
|
|
171
|
+
1
|
|
172
|
+
],
|
|
173
|
+
"parent": "root"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"value": "Visual variants",
|
|
177
|
+
"href": "#visual-variants",
|
|
178
|
+
"depth": 3,
|
|
179
|
+
"numbering": [
|
|
180
|
+
1,
|
|
181
|
+
3,
|
|
182
|
+
2
|
|
183
|
+
],
|
|
184
|
+
"parent": "root"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"value": "With description",
|
|
188
|
+
"href": "#with-description",
|
|
189
|
+
"depth": 3,
|
|
190
|
+
"numbering": [
|
|
191
|
+
1,
|
|
192
|
+
3,
|
|
193
|
+
3
|
|
194
|
+
],
|
|
195
|
+
"parent": "root"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"value": "With validation errors",
|
|
199
|
+
"href": "#with-validation-errors",
|
|
200
|
+
"depth": 3,
|
|
201
|
+
"numbering": [
|
|
202
|
+
1,
|
|
203
|
+
3,
|
|
204
|
+
4
|
|
205
|
+
],
|
|
206
|
+
"parent": "root"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"value": "With info popover",
|
|
210
|
+
"href": "#with-info-popover",
|
|
211
|
+
"depth": 3,
|
|
212
|
+
"numbering": [
|
|
213
|
+
1,
|
|
214
|
+
3,
|
|
215
|
+
5
|
|
216
|
+
],
|
|
217
|
+
"parent": "root"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"value": "Required field",
|
|
221
|
+
"href": "#required-field",
|
|
222
|
+
"depth": 3,
|
|
223
|
+
"numbering": [
|
|
224
|
+
1,
|
|
225
|
+
3,
|
|
226
|
+
6
|
|
227
|
+
],
|
|
228
|
+
"parent": "root"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"value": "Disabled state",
|
|
232
|
+
"href": "#disabled-state",
|
|
233
|
+
"depth": 3,
|
|
234
|
+
"numbering": [
|
|
235
|
+
1,
|
|
236
|
+
3,
|
|
237
|
+
7
|
|
238
|
+
],
|
|
239
|
+
"parent": "root"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"value": "Read-only state",
|
|
243
|
+
"href": "#read-only-state",
|
|
244
|
+
"depth": 3,
|
|
245
|
+
"numbering": [
|
|
246
|
+
1,
|
|
247
|
+
3,
|
|
248
|
+
8
|
|
249
|
+
],
|
|
250
|
+
"parent": "root"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"value": "With time selection",
|
|
254
|
+
"href": "#with-time-selection",
|
|
255
|
+
"depth": 3,
|
|
256
|
+
"numbering": [
|
|
257
|
+
1,
|
|
258
|
+
3,
|
|
259
|
+
9
|
|
260
|
+
],
|
|
261
|
+
"parent": "root"
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"value": "Component requirements",
|
|
265
|
+
"href": "#component-requirements",
|
|
266
|
+
"depth": 2,
|
|
267
|
+
"numbering": [
|
|
268
|
+
1,
|
|
269
|
+
4
|
|
270
|
+
],
|
|
271
|
+
"parent": "root"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"value": "Error handling",
|
|
275
|
+
"href": "#error-handling",
|
|
276
|
+
"depth": 3,
|
|
277
|
+
"numbering": [
|
|
278
|
+
1,
|
|
279
|
+
4,
|
|
280
|
+
1
|
|
281
|
+
],
|
|
282
|
+
"parent": "root"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"value": "Accessibility",
|
|
286
|
+
"href": "#accessibility",
|
|
287
|
+
"depth": 2,
|
|
288
|
+
"numbering": [
|
|
289
|
+
1,
|
|
290
|
+
5
|
|
291
|
+
],
|
|
292
|
+
"parent": "root"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"value": "Keyboard navigation",
|
|
296
|
+
"href": "#keyboard-navigation",
|
|
297
|
+
"depth": 4,
|
|
298
|
+
"numbering": [
|
|
299
|
+
1,
|
|
300
|
+
5,
|
|
301
|
+
1,
|
|
302
|
+
1
|
|
303
|
+
],
|
|
304
|
+
"parent": "root"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"value": "Form integration",
|
|
308
|
+
"href": "#form-integration",
|
|
309
|
+
"depth": 2,
|
|
310
|
+
"numbering": [
|
|
311
|
+
1,
|
|
312
|
+
6
|
|
313
|
+
],
|
|
314
|
+
"parent": "root"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"value": "API reference",
|
|
318
|
+
"href": "#api-reference",
|
|
319
|
+
"depth": 2,
|
|
320
|
+
"numbering": [
|
|
321
|
+
1,
|
|
322
|
+
7
|
|
323
|
+
],
|
|
324
|
+
"parent": "root"
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"value": "Custom error rendering",
|
|
328
|
+
"href": "#custom-error-rendering",
|
|
329
|
+
"depth": 3,
|
|
330
|
+
"numbering": [
|
|
331
|
+
1,
|
|
332
|
+
7,
|
|
333
|
+
1
|
|
334
|
+
],
|
|
335
|
+
"parent": "root"
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"value": "Testing your implementation",
|
|
339
|
+
"href": "#testing-your-implementation",
|
|
340
|
+
"depth": 2,
|
|
341
|
+
"numbering": [
|
|
342
|
+
1,
|
|
343
|
+
8
|
|
344
|
+
],
|
|
345
|
+
"parent": "root"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"value": "Basic rendering tests",
|
|
349
|
+
"href": "#basic-rendering-tests",
|
|
350
|
+
"depth": 3,
|
|
351
|
+
"numbering": [
|
|
352
|
+
1,
|
|
353
|
+
8,
|
|
354
|
+
1
|
|
355
|
+
],
|
|
356
|
+
"parent": "root"
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"value": "Interaction tests",
|
|
360
|
+
"href": "#interaction-tests",
|
|
361
|
+
"depth": 3,
|
|
362
|
+
"numbering": [
|
|
363
|
+
1,
|
|
364
|
+
8,
|
|
365
|
+
2
|
|
366
|
+
],
|
|
367
|
+
"parent": "root"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"value": "Testing validation and errors",
|
|
371
|
+
"href": "#testing-validation-and-errors",
|
|
372
|
+
"depth": 3,
|
|
373
|
+
"numbering": [
|
|
374
|
+
1,
|
|
375
|
+
8,
|
|
376
|
+
3
|
|
377
|
+
],
|
|
378
|
+
"parent": "root"
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"value": "Resources",
|
|
382
|
+
"href": "#resources",
|
|
383
|
+
"depth": 2,
|
|
384
|
+
"numbering": [
|
|
385
|
+
1,
|
|
386
|
+
9
|
|
387
|
+
],
|
|
388
|
+
"parent": "root"
|
|
389
|
+
}
|
|
390
|
+
]
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|