@cube-dev/ui-kit 0.0.0-canary-1f0dd2c → 0.0.0-canary-1d27aa0
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 +7 -4
- package/dist/README.md +7 -4
- package/dist/_internal/hooks/use-chained-callback.js +1 -1
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.d.ts +0 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider.js +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/Item/Item.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPane.js +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Text.d.ts +14 -14
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/Tree/Tree.js +1 -1
- package/dist/components/content/Tree/TreeNode.js +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
- package/dist/components/content/Tree/use-load-data.js +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableView.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.d.ts +1 -2
- package/dist/components/data/TableBase/styled.js +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.d.ts +0 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DatePicker.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
- package/dist/components/fields/ListBoxPopover/index.d.ts +0 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/dist/components/fields/Picker/Picker.js +1 -1
- package/dist/components/fields/RadioGroup/Radio.js +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.js +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/Form/Field.js +1 -1
- package/dist/components/form/Form/Form.js +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/dist/components/form/Form/SubmitError.js +1 -1
- package/dist/components/form/Form/index.js +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +1 -1
- package/dist/components/form/Form/use-field/use-field.js +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/wrapper.js +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Board/Board.js +1 -1
- package/dist/components/layout/Board/BoardProvider.js +1 -1
- package/dist/components/layout/Board/BoardResponsive.js +1 -1
- package/dist/components/layout/Board/Widget.js +1 -1
- package/dist/components/layout/Board/WidgetHost.js +1 -1
- package/dist/components/layout/Board/board-context.js +1 -1
- package/dist/components/layout/Board/board-store.js +1 -1
- package/dist/components/layout/Board/grid-core/calculate.js +1 -1
- package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
- package/dist/components/layout/Board/grid-core/collision.js +1 -1
- package/dist/components/layout/Board/grid-core/compactors.js +1 -1
- package/dist/components/layout/Board/grid-core/constraints.js +1 -1
- package/dist/components/layout/Board/grid-core/group-move.js +1 -1
- package/dist/components/layout/Board/grid-core/layout.js +1 -1
- package/dist/components/layout/Board/grid-core/sort.js +1 -1
- package/dist/components/layout/Board/index.js +1 -1
- package/dist/components/layout/Board/responsive-utils.js +1 -1
- package/dist/components/layout/Board/use-board-layout.js +1 -1
- package/dist/components/layout/Board/use-board-registry.js +1 -1
- package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
- package/dist/components/layout/Board/use-board-selection.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.d.ts +1 -2
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.d.ts +0 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/types.d.ts +0 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.d.ts +0 -2
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +2 -1
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/index.d.ts +0 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +1 -13
- package/dist/eslint-plugin/defaults.generated.js.map +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/instance.js +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.js +1 -1
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/index.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +3 -3
- package/docs/Colors.md +40 -16
- package/docs/ComplexLayout.md +0 -8
- package/docs/CreateComponent.md +8 -15
- package/docs/Introduction.md +36 -15
- package/docs/RenderCache.md +6 -8
- package/docs/Theming.md +497 -164
- package/docs/Usage.md +138 -108
- package/docs/Utilities.md +2 -2
- package/docs/components/CollectionItem.md +0 -1
- package/docs/components/actions/Banner.md +0 -1
- package/docs/components/actions/Button.md +36 -8
- package/docs/components/actions/ButtonSplit.md +0 -2
- package/docs/components/actions/CommandMenu.md +8 -8
- package/docs/components/actions/ItemButton.md +20 -6
- package/docs/components/actions/Link.md +5 -10
- package/docs/components/actions/Menu.md +11 -24
- package/docs/components/actions/MenuTrigger.md +12 -3
- package/docs/components/actions/use-anchored-menu.md +2 -2
- package/docs/components/actions/use-context-menu.md +2 -5
- package/docs/components/content/Badge.md +0 -3
- package/docs/components/content/HotKeys.md +14 -21
- package/docs/components/content/InlineInput.md +14 -14
- package/docs/components/content/Item.md +17 -25
- package/docs/components/content/ItemCard.md +0 -1
- package/docs/components/content/Layout.md +1 -12
- package/docs/components/content/PrismCode.md +18 -13
- package/docs/components/content/Tag.md +1 -1
- package/docs/components/content/TextItem.md +3 -5
- package/docs/components/content/Tree.md +154 -69
- package/docs/components/data/DataTable.md +168 -56
- package/docs/components/data/ItemTable.md +485 -182
- package/docs/components/fields/Checkbox.md +0 -2
- package/docs/components/fields/ColorInput.md +79 -38
- package/docs/components/fields/ColorPicker.md +39 -17
- package/docs/components/fields/ColorSwatch.md +30 -11
- package/docs/components/fields/ColorSwatchGroup.md +42 -18
- package/docs/components/fields/ComboBox.md +1 -13
- package/docs/components/fields/CommandTextArea.md +37 -10
- package/docs/components/fields/DatePicker.md +0 -3
- package/docs/components/fields/FileInput.md +0 -3
- package/docs/components/fields/FilterListBox.md +14 -34
- package/docs/components/fields/FilterPicker.md +16 -33
- package/docs/components/fields/HueSlider.md +5 -5
- package/docs/components/fields/ListBox.md +9 -35
- package/docs/components/fields/NumberInput.md +0 -3
- package/docs/components/fields/PasswordInput.md +0 -3
- package/docs/components/fields/PeriodPicker.md +17 -7
- package/docs/components/fields/Picker.md +29 -54
- package/docs/components/fields/RadioGroup.md +5 -13
- package/docs/components/fields/SearchComboBox.md +0 -3
- package/docs/components/fields/SearchInput.md +2 -4
- package/docs/components/fields/Select.md +13 -23
- package/docs/components/fields/Switch.md +0 -3
- package/docs/components/fields/TextInput.md +0 -3
- package/docs/components/fields/TextInputMapper.md +2 -1
- package/docs/components/form/Field.md +2 -5
- package/docs/components/form/Form.md +0 -5
- package/docs/components/form/FormInstance.md +1 -1
- package/docs/components/helpers/DisplayTransition.md +6 -10
- package/docs/components/helpers/IconSwitch.md +0 -1
- package/docs/components/layout/Board.md +190 -50
- package/docs/components/navigation/Pagination.md +75 -36
- package/docs/components/navigation/Tabs.md +15 -3
- package/docs/components/other/Calendar.md +39 -22
- package/docs/components/other/CubeLogo.md +1 -1
- package/docs/components/overlays/Dialog.md +0 -3
- package/docs/components/overlays/DialogContainer.md +0 -2
- package/docs/components/overlays/DialogForm.md +2 -6
- package/docs/components/overlays/DialogTrigger.md +2 -4
- package/docs/components/overlays/Notifications.md +0 -7
- package/docs/components/overlays/Toast.md +8 -12
- package/docs/components/overlays/Tooltip.md +12 -6
- package/docs/components/overlays/UseDialogContainer.md +10 -16
- package/docs/components/status/LoadingAnimation.md +9 -3
- package/docs/tasty/configuration.md +0 -127
- package/docs/tasty/injector.md +0 -11
- package/package.json +4 -4
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +0 -2
- package/dist/components/portal/PortalProvider.d.ts +0 -2
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
# Calendar
|
|
2
2
|
|
|
3
|
-
`Calendar` renders a month grid for picking a single date. `RangeCalendar` picks
|
|
3
|
+
`Calendar` renders a month grid for picking a single date. `RangeCalendar` picks
|
|
4
|
+
a contiguous range, and `PeriodCalendar` picks a whole month, quarter or year.
|
|
5
|
+
All three are the panels behind the date fields — [DatePicker](../fields/DatePicker.md),
|
|
6
|
+
DateRangePicker and the
|
|
7
|
+
[period pickers](../fields/PeriodPicker.md) — and they are built on
|
|
8
|
+
React Aria's `useCalendar` / `useRangeCalendar`.
|
|
4
9
|
|
|
5
|
-
The header title is the navigation: the month and the year are buttons that open
|
|
10
|
+
The header title is the navigation: the month and the year are buttons that open
|
|
11
|
+
a month list and a year list, so reaching a date two years out takes two clicks
|
|
12
|
+
instead of twenty-four.
|
|
6
13
|
|
|
7
14
|
## When to Use
|
|
8
15
|
|
|
9
16
|
- Embedding a calendar directly in a page or panel rather than behind a field
|
|
10
17
|
- Building a custom date input that needs the same grid and states
|
|
11
|
-
- Otherwise, prefer the date fields — they add the text input, label, validation
|
|
18
|
+
- Otherwise, prefer the date fields — they add the text input, label, validation
|
|
19
|
+
and popover for you
|
|
12
20
|
|
|
13
21
|
## Component
|
|
14
22
|
|
|
@@ -32,13 +40,14 @@ The header title is the navigation: the month and the year are buttons that open
|
|
|
32
40
|
|
|
33
41
|
#### RangeCalendar
|
|
34
42
|
|
|
35
|
-
Accepts React Aria's `AriaRangeCalendarProps` (a `{ start, end }` value) plus
|
|
43
|
+
Accepts React Aria's `AriaRangeCalendarProps` (a `{ start, end }` value) plus
|
|
44
|
+
**`hasMonthYearNavigation`**.
|
|
36
45
|
|
|
37
46
|
#### PeriodCalendar
|
|
38
47
|
|
|
39
48
|
- **`picker`** `'month' | 'quarter' | 'year'` — Which period the panel selects
|
|
40
49
|
- **`value`** `DateValue | null` — The selected period, represented by its start date
|
|
41
|
-
- **`minValue`** / **`maxValue`** `DateValue | null` — Range limits; a period is disabled only when
|
|
50
|
+
- **`minValue`** / **`maxValue`** `DateValue | null` — Range limits; a period is disabled only when *all* of it falls outside
|
|
42
51
|
- **`isDateUnavailable`** `(date: DateValue) => boolean` — Called with the period's start date
|
|
43
52
|
- **`isDisabled`** `boolean`
|
|
44
53
|
- **`autoFocus`** `boolean` — Moves focus into the grid on mount
|
|
@@ -52,16 +61,16 @@ Supports [Base properties](../../BaseProperties.md)
|
|
|
52
61
|
|
|
53
62
|
Day cells and period cells share one set of modifiers:
|
|
54
63
|
|
|
55
|
-
| Modifier | Type | Description
|
|
56
|
-
| ------------- | --------- |
|
|
57
|
-
| `selected` | `boolean` | The cell is part of the current selection
|
|
58
|
-
| `current` | `boolean` | The cell contains today
|
|
59
|
-
| `outside` | `boolean` | The cell belongs to an adjacent month or decade
|
|
60
|
-
| `rangeHover` | `boolean` | The whole row is highlighted (week mode)
|
|
61
|
-
| `pressed` | `boolean` | The cell is being pressed
|
|
62
|
-
| `focused` | `boolean` | The cell holds keyboard focus
|
|
63
|
-
| `disabled` | `boolean` | The cell is outside `minValue` / `maxValue`
|
|
64
|
-
| `unavailable` | `boolean` | `isDateUnavailable` returned `true` for the cell
|
|
64
|
+
| Modifier | Type | Description |
|
|
65
|
+
| ------------- | --------- | ---------------------------------------------------- |
|
|
66
|
+
| `selected` | `boolean` | The cell is part of the current selection |
|
|
67
|
+
| `current` | `boolean` | The cell contains today |
|
|
68
|
+
| `outside` | `boolean` | The cell belongs to an adjacent month or decade |
|
|
69
|
+
| `rangeHover` | `boolean` | The whole row is highlighted (week mode) |
|
|
70
|
+
| `pressed` | `boolean` | The cell is being pressed |
|
|
71
|
+
| `focused` | `boolean` | The cell holds keyboard focus |
|
|
72
|
+
| `disabled` | `boolean` | The cell is outside `minValue` / `maxValue` |
|
|
73
|
+
| `unavailable` | `boolean` | `isDateUnavailable` returned `true` for the cell |
|
|
65
74
|
|
|
66
75
|
## Examples
|
|
67
76
|
|
|
@@ -84,7 +93,8 @@ import { parseDate } from '@internationalized/date';
|
|
|
84
93
|
|
|
85
94
|
### Limited Range
|
|
86
95
|
|
|
87
|
-
Months and years that fall entirely outside `minValue` / `maxValue` are disabled
|
|
96
|
+
Months and years that fall entirely outside `minValue` / `maxValue` are disabled
|
|
97
|
+
in the month and year lists too, and the navigation arrows stop at the edge.
|
|
88
98
|
|
|
89
99
|
```jsx
|
|
90
100
|
<Calendar
|
|
@@ -143,25 +153,32 @@ Month and year lists:
|
|
|
143
153
|
### Screen Reader Support
|
|
144
154
|
|
|
145
155
|
- Each panel is a `grid`, labelled `Months` / `Quarters` / `Years`
|
|
146
|
-
- The visible month and year are the calendar's `heading`, and their buttons are
|
|
156
|
+
- The visible month and year are the calendar's `heading`, and their buttons are
|
|
157
|
+
the controls that open the lists
|
|
147
158
|
- Cells expose `aria-selected`; out-of-range periods are `disabled`
|
|
148
159
|
|
|
149
160
|
## Best Practices
|
|
150
161
|
|
|
151
|
-
1. **Do**: bound the calendar when the domain is bounded — the month and year
|
|
162
|
+
1. **Do**: bound the calendar when the domain is bounded — the month and year
|
|
163
|
+
lists disable everything out of range, which is far clearer than letting the
|
|
164
|
+
user land somewhere unselectable.
|
|
152
165
|
|
|
153
166
|
```jsx
|
|
154
167
|
<Calendar minValue={today(getLocalTimeZone())} />
|
|
155
168
|
```
|
|
156
169
|
|
|
157
|
-
2. **Don't**: reach for `PeriodCalendar` to pick a day. Its value is always the
|
|
170
|
+
2. **Don't**: reach for `PeriodCalendar` to pick a day. Its value is always the
|
|
171
|
+
*start* of a period, never an exact date.
|
|
158
172
|
|
|
159
|
-
3. **Accessibility**: always give a standalone calendar an `aria-label` — inside
|
|
173
|
+
3. **Accessibility**: always give a standalone calendar an `aria-label` — inside
|
|
174
|
+
a field the label comes from the field.
|
|
160
175
|
|
|
161
176
|
## Suggested Improvements
|
|
162
177
|
|
|
163
|
-
- Range calendars paint every day in the range the same way; distinct start/end
|
|
164
|
-
|
|
178
|
+
- Range calendars paint every day in the range the same way; distinct start/end
|
|
179
|
+
caps would read better for long ranges.
|
|
180
|
+
- Multi-month (`visibleDuration`) layouts are not implemented; the header falls
|
|
181
|
+
back to a plain title when a range spans more than one month.
|
|
165
182
|
|
|
166
183
|
## Related Components
|
|
167
184
|
|
|
@@ -47,7 +47,7 @@ That means the swap costs no re-render, is correct during SSR and before hydrati
|
|
|
47
47
|
|
|
48
48
|
### Pinning a scheme
|
|
49
49
|
|
|
50
|
-
`@dark` is a
|
|
50
|
+
`@dark` is a *state*, and it is resolved against the **document**. Where the background is known but the document scheme does not describe it, pass `scheme` to pin one mark:
|
|
51
51
|
|
|
52
52
|
```jsx
|
|
53
53
|
{/* A fixed-dark panel inside a light app */}
|
|
@@ -36,7 +36,6 @@ Supports [Base properties](../../BaseProperties.md)
|
|
|
36
36
|
Customizes the root element of the dialog.
|
|
37
37
|
|
|
38
38
|
**Sub-elements:**
|
|
39
|
-
|
|
40
39
|
- `Dialog` - The main dialog container
|
|
41
40
|
- `Content` - The content area wrapper
|
|
42
41
|
- `Header` - The header section wrapper
|
|
@@ -162,7 +161,6 @@ The `mods` property accepts the following modifiers you can override:
|
|
|
162
161
|
## Best Practices
|
|
163
162
|
|
|
164
163
|
1. **Do**: Provide clear titles and actionable buttons
|
|
165
|
-
|
|
166
164
|
```jsx
|
|
167
165
|
<Dialog>
|
|
168
166
|
<Header>
|
|
@@ -179,7 +177,6 @@ The `mods` property accepts the following modifiers you can override:
|
|
|
179
177
|
```
|
|
180
178
|
|
|
181
179
|
2. **Don't**: Use dialogs for trivial notifications
|
|
182
|
-
|
|
183
180
|
```jsx
|
|
184
181
|
{/* Avoid using dialogs for simple success messages */}
|
|
185
182
|
<Dialog>
|
|
@@ -172,7 +172,6 @@ function ConditionalDialog() {
|
|
|
172
172
|
## Best Practices
|
|
173
173
|
|
|
174
174
|
1. **Do**: Use DialogContainer for dialogs without specific triggers
|
|
175
|
-
|
|
176
175
|
```jsx
|
|
177
176
|
<DialogContainer isOpen={showErrorDialog} onDismiss={clearError}>
|
|
178
177
|
<Dialog>
|
|
@@ -187,7 +186,6 @@ function ConditionalDialog() {
|
|
|
187
186
|
```
|
|
188
187
|
|
|
189
188
|
2. **Don't**: Use DialogContainer when DialogTrigger is more appropriate
|
|
190
|
-
|
|
191
189
|
```jsx
|
|
192
190
|
{/* Prefer DialogTrigger when you have a specific trigger */}
|
|
193
191
|
<DialogContainer isOpen={buttonPressed}>
|
|
@@ -188,7 +188,7 @@ When you need custom action buttons, use `noActions` prop and the render functio
|
|
|
188
188
|
<>
|
|
189
189
|
<Input.Text name="field1" label="Field 1" />
|
|
190
190
|
<Input.Text name="field2" label="Field 2" />
|
|
191
|
-
|
|
191
|
+
|
|
192
192
|
<ButtonGroup>
|
|
193
193
|
<SubmitButton>Save</SubmitButton>
|
|
194
194
|
<Button onPress={() => {
|
|
@@ -263,26 +263,22 @@ See [Dialog Accessibility](./Dialog.md#accessibility) and [Form Accessibility](.
|
|
|
263
263
|
## Best Practices
|
|
264
264
|
|
|
265
265
|
1. **Use useDialogContainer for programmatic control**: Preferred method for better state management
|
|
266
|
-
|
|
267
266
|
```jsx
|
|
268
267
|
const dialog = useDialogContainer(MyFormDialog);
|
|
269
268
|
dialog.open({ initialData, onSubmit: handleSubmit });
|
|
270
269
|
```
|
|
271
270
|
|
|
272
271
|
2. **Provide clear titles**: Always set a descriptive `title` for context
|
|
273
|
-
|
|
274
272
|
```jsx
|
|
275
273
|
<DialogForm title="Edit User Profile" onSubmit={save}>
|
|
276
274
|
```
|
|
277
275
|
|
|
278
276
|
3. **Use danger theme for destructive actions**: Apply `danger` for delete/remove operations
|
|
279
|
-
|
|
280
277
|
```jsx
|
|
281
278
|
<DialogForm title="Delete Item" danger submitProps={{ label: 'Delete' }}>
|
|
282
279
|
```
|
|
283
280
|
|
|
284
281
|
4. **Customize button labels**: Make action buttons specific to the task
|
|
285
|
-
|
|
286
282
|
```jsx
|
|
287
283
|
<DialogForm
|
|
288
284
|
title="Create Project"
|
|
@@ -292,7 +288,6 @@ See [Dialog Accessibility](./Dialog.md#accessibility) and [Form Accessibility](.
|
|
|
292
288
|
```
|
|
293
289
|
|
|
294
290
|
5. **Handle submission errors**: Implement `onSubmitFailed` for error handling
|
|
295
|
-
|
|
296
291
|
```jsx
|
|
297
292
|
<DialogForm
|
|
298
293
|
onSubmit={save}
|
|
@@ -312,3 +307,4 @@ See [Dialog Accessibility](./Dialog.md#accessibility) and [Form Accessibility](.
|
|
|
312
307
|
- [Form](../form/Form.md) - Form component with validation
|
|
313
308
|
- [DialogTrigger](./DialogTrigger.md) - Alternative: manages dialog open/close state
|
|
314
309
|
- [AlertDialog](./AlertDialog.md) - For simple confirmations without forms
|
|
310
|
+
|
|
@@ -36,7 +36,7 @@ DialogTrigger serves as a wrapper around a Dialog and its associated trigger, li
|
|
|
36
36
|
- **`targetRef`** — The ref of the element the Dialog should visually attach itself to
|
|
37
37
|
- **`styles`** — The style map for the overlay
|
|
38
38
|
- **`shouldCloseOnInteractOutside`** — Function to determine if overlay should close on outside interaction
|
|
39
|
-
- **`shouldRestoreFocus`** `boolean` (default: `true`) — Whether focus returns to the trigger when the dialog closes. Only needed for a surface that claims focus
|
|
39
|
+
- **`shouldRestoreFocus`** `boolean` (default: `true`) — Whether focus returns to the trigger when the dialog closes. Only needed for a surface that claims focus *later* than the restore (async load, entry animation); an action that focuses the surface it opens is already left alone — see [Focus Management](#best-practices)
|
|
40
40
|
|
|
41
41
|
### Base Properties
|
|
42
42
|
|
|
@@ -172,7 +172,6 @@ function ControlledDialog() {
|
|
|
172
172
|
## Best Practices
|
|
173
173
|
|
|
174
174
|
1. **Do**: Provide clear trigger labels
|
|
175
|
-
|
|
176
175
|
```jsx
|
|
177
176
|
<DialogTrigger>
|
|
178
177
|
<Button>Edit Profile</Button>
|
|
@@ -181,7 +180,6 @@ function ControlledDialog() {
|
|
|
181
180
|
```
|
|
182
181
|
|
|
183
182
|
2. **Don't**: Use vague trigger text
|
|
184
|
-
|
|
185
183
|
```jsx
|
|
186
184
|
<DialogTrigger>
|
|
187
185
|
<Button>Click</Button>
|
|
@@ -189,7 +187,7 @@ function ControlledDialog() {
|
|
|
189
187
|
</DialogTrigger>
|
|
190
188
|
```
|
|
191
189
|
|
|
192
|
-
3. **Focus Management**: Closing the dialog returns focus to the trigger, unless the action that closed it already moved focus somewhere else — an action that opens a panel or another dialog just focuses that surface, and the trigger leaves it alone. A single `focus()` from a mount effect is enough; no retry loop is needed. Reach for `shouldRestoreFocus={false}` only when the opened surface claims focus
|
|
190
|
+
3. **Focus Management**: Closing the dialog returns focus to the trigger, unless the action that closed it already moved focus somewhere else — an action that opens a panel or another dialog just focuses that surface, and the trigger leaves it alone. A single `focus()` from a mount effect is enough; no retry loop is needed. Reach for `shouldRestoreFocus={false}` only when the opened surface claims focus *later* than the restore (after an async load or an entry animation), where the trigger would otherwise take focus first and flash.
|
|
193
191
|
4. **Mobile Considerations**: Use appropriate mobile types for better UX
|
|
194
192
|
5. **Dismissible**: Make modal dialogs dismissible unless absolutely necessary
|
|
195
193
|
|
|
@@ -25,7 +25,6 @@ Supports [Base properties](../../BaseProperties.md)
|
|
|
25
25
|
Customizes the root element of the notification.
|
|
26
26
|
|
|
27
27
|
**Sub-elements:**
|
|
28
|
-
|
|
29
28
|
- `Description` - The description text area below the title
|
|
30
29
|
|
|
31
30
|
## Variants
|
|
@@ -322,7 +321,6 @@ Collapse is disabled when notifications are present, since notifications require
|
|
|
322
321
|
## Best Practices
|
|
323
322
|
|
|
324
323
|
1. **Do**: Use notifications for action-oriented messages
|
|
325
|
-
|
|
326
324
|
```jsx
|
|
327
325
|
notify({
|
|
328
326
|
theme: 'success',
|
|
@@ -336,19 +334,16 @@ Collapse is disabled when notifications are present, since notifications require
|
|
|
336
334
|
```
|
|
337
335
|
|
|
338
336
|
2. **Don't**: Use notifications for simple messages without actions — use Toast instead
|
|
339
|
-
|
|
340
337
|
```jsx
|
|
341
338
|
// Use toast.success('Copied to clipboard') instead
|
|
342
339
|
```
|
|
343
340
|
|
|
344
341
|
3. **Do**: Provide explicit `id` for persistent and stored notifications
|
|
345
|
-
|
|
346
342
|
```jsx
|
|
347
343
|
notify({ id: 'deploy:123', persistent: true, ... });
|
|
348
344
|
```
|
|
349
345
|
|
|
350
346
|
4. **Do**: Place the dismiss action last for consistent right-side positioning
|
|
351
|
-
|
|
352
347
|
```jsx
|
|
353
348
|
notify({
|
|
354
349
|
actions: (
|
|
@@ -361,7 +356,6 @@ Collapse is disabled when notifications are present, since notifications require
|
|
|
361
356
|
```
|
|
362
357
|
|
|
363
358
|
5. **Do**: When using `isDismissable: false`, always provide actions — the user needs a way to interact
|
|
364
|
-
|
|
365
359
|
```jsx
|
|
366
360
|
// isDismissable: false hides the default "Dismiss" button and Escape key,
|
|
367
361
|
// but actions with closeOnPress (default true) still close the notification.
|
|
@@ -378,7 +372,6 @@ Collapse is disabled when notifications are present, since notifications require
|
|
|
378
372
|
```
|
|
379
373
|
|
|
380
374
|
6. **Do**: Return `false` from `onPress` to keep the notification when the user cancels a confirmation flow
|
|
381
|
-
|
|
382
375
|
```jsx
|
|
383
376
|
<Notification.Action
|
|
384
377
|
onPress={async () => {
|
|
@@ -30,7 +30,6 @@ Supports [Base properties](../../BaseProperties.md)
|
|
|
30
30
|
Customizes the root element of the toast. The toast uses the `Item` component with `type="card"` internally.
|
|
31
31
|
|
|
32
32
|
**Sub-elements:**
|
|
33
|
-
|
|
34
33
|
- `Label` - Primary content text
|
|
35
34
|
- `Description` - Secondary content text
|
|
36
35
|
- `Icon` - Icon container
|
|
@@ -113,20 +112,17 @@ type ProgressToastEmpty = null | undefined | false | {};
|
|
|
113
112
|
The hook requires a loading cycle (`isLoading: true`) before any toast becomes visible. If the initial state is not loading, no toast is shown until `isLoading: true` is passed. The hook handles three main scenarios:
|
|
114
113
|
|
|
115
114
|
**1. Loading State** (`isLoading: true`) — triggers initial appearance
|
|
116
|
-
|
|
117
115
|
- Toast appears immediately and persists until `isLoading` becomes `false`
|
|
118
116
|
- No auto-dismiss timer while loading
|
|
119
117
|
- This is the only state that can trigger the initial appearance of the toast
|
|
120
118
|
|
|
121
119
|
**2. Result State** (`isLoading: false` with content)
|
|
122
|
-
|
|
123
120
|
- Only shown after a prior loading state — ignored if loading was never seen
|
|
124
121
|
- When transitioning from loading to not loading, the toast updates to show the result
|
|
125
122
|
- Result toast auto-dismisses after 3 seconds
|
|
126
123
|
- Theme-based icons are automatically applied (success checkmark, danger X, etc.)
|
|
127
124
|
|
|
128
125
|
**3. Dismissed** (empty value, no argument, or no title when not loading)
|
|
129
|
-
|
|
130
126
|
- Pass `null`, `undefined`, `false`, `{}`, or call with no argument to immediately remove any existing toast
|
|
131
127
|
- Also resets the loading gate, so the next toast cycle requires `isLoading: true` again
|
|
132
128
|
- Useful for conditional rendering or cleanup
|
|
@@ -136,7 +132,7 @@ The hook requires a loading cycle (`isLoading: true`) before any toast becomes v
|
|
|
136
132
|
```jsx
|
|
137
133
|
function SaveButton() {
|
|
138
134
|
const [status, setStatus] = useState('idle');
|
|
139
|
-
|
|
135
|
+
|
|
140
136
|
useProgressToast(
|
|
141
137
|
status === 'saving'
|
|
142
138
|
? { isLoading: true, title: 'Saving...' }
|
|
@@ -146,7 +142,7 @@ function SaveButton() {
|
|
|
146
142
|
? { isLoading: false, title: 'Failed to save', theme: 'danger' }
|
|
147
143
|
: null // idle state - no toast
|
|
148
144
|
);
|
|
149
|
-
|
|
145
|
+
|
|
150
146
|
return <Button onPress={() => setStatus('saving')}>Save</Button>;
|
|
151
147
|
}
|
|
152
148
|
```
|
|
@@ -156,7 +152,7 @@ function SaveButton() {
|
|
|
156
152
|
```jsx
|
|
157
153
|
function DataLoader() {
|
|
158
154
|
const { data, isLoading, error } = useQuery('data');
|
|
159
|
-
|
|
155
|
+
|
|
160
156
|
useProgressToast(
|
|
161
157
|
isLoading
|
|
162
158
|
? { isLoading: true, title: 'Loading data...' }
|
|
@@ -164,7 +160,7 @@ function DataLoader() {
|
|
|
164
160
|
? { isLoading: false, title: 'Error', description: error.message, theme: 'danger' }
|
|
165
161
|
: { isLoading: false, title: 'Data loaded', theme: 'success' }
|
|
166
162
|
);
|
|
167
|
-
|
|
163
|
+
|
|
168
164
|
return <div>{/* content */}</div>;
|
|
169
165
|
}
|
|
170
166
|
```
|
|
@@ -176,8 +172,8 @@ Pass an empty value to prevent the toast from showing or to immediately remove a
|
|
|
176
172
|
```jsx
|
|
177
173
|
// Only show toast when needed
|
|
178
174
|
useProgressToast(
|
|
179
|
-
shouldShowProgress
|
|
180
|
-
? { isLoading: true, title: 'Processing...' }
|
|
175
|
+
shouldShowProgress
|
|
176
|
+
? { isLoading: true, title: 'Processing...' }
|
|
181
177
|
: null
|
|
182
178
|
);
|
|
183
179
|
|
|
@@ -206,7 +202,7 @@ useProgressToast({
|
|
|
206
202
|
|
|
207
203
|
For component-based usage, use `<Toast.Progress>`:
|
|
208
204
|
|
|
209
|
-
|
|
205
|
+
```jsx
|
|
210
206
|
<Toast.Progress
|
|
211
207
|
{...(isLoading
|
|
212
208
|
? { isLoading: true, title: 'Saving...' }
|
|
@@ -275,7 +271,7 @@ Maximum 3 toasts are visible at once. When the limit is exceeded, the oldest toa
|
|
|
275
271
|
|
|
276
272
|
```jsx
|
|
277
273
|
toast.success('Changes saved');
|
|
278
|
-
|
|
274
|
+
```
|
|
279
275
|
|
|
280
276
|
2. **Don't**: Use overly long or technical messages
|
|
281
277
|
|
|
@@ -59,7 +59,6 @@ Supports [Base properties](../../BaseProperties.md)
|
|
|
59
59
|
Customizes the root element of the tooltip.
|
|
60
60
|
|
|
61
61
|
**Sub-elements:**
|
|
62
|
-
|
|
63
62
|
- None
|
|
64
63
|
|
|
65
64
|
### Style Properties
|
|
@@ -139,6 +138,18 @@ Control where the tooltip appears relative to its trigger:
|
|
|
139
138
|
</TooltipProvider>
|
|
140
139
|
```
|
|
141
140
|
|
|
141
|
+
### Long Content
|
|
142
|
+
|
|
143
|
+
The tooltip is capped at `36x` wide (or the viewport minus `4x`, whichever is smaller) and wraps
|
|
144
|
+
its content to stay inside that cap. Runs with no spaces — URLs, tokens, identifiers, error strings —
|
|
145
|
+
are broken mid-word rather than allowed to overflow the bubble.
|
|
146
|
+
|
|
147
|
+
```jsx
|
|
148
|
+
<TooltipProvider title="https://cubecloud.example.com/deployments/12345/schema/files/model/cubes/very_long_cube_name.yml">
|
|
149
|
+
<Button>Hover me</Button>
|
|
150
|
+
</TooltipProvider>
|
|
151
|
+
```
|
|
152
|
+
|
|
142
153
|
### Light Theme
|
|
143
154
|
|
|
144
155
|
Use the light theme for tooltips on dark backgrounds:
|
|
@@ -245,7 +256,6 @@ Show tooltip only on focus, not on hover:
|
|
|
245
256
|
### Best Practices
|
|
246
257
|
|
|
247
258
|
1. **Keep it brief** - Tooltips should contain concise, supplementary information
|
|
248
|
-
|
|
249
259
|
```jsx
|
|
250
260
|
{/* Good */}
|
|
251
261
|
<TooltipProvider title="Save changes">
|
|
@@ -259,7 +269,6 @@ Show tooltip only on focus, not on hover:
|
|
|
259
269
|
```
|
|
260
270
|
|
|
261
271
|
2. **Don't hide critical information** - Never put essential information only in a tooltip
|
|
262
|
-
|
|
263
272
|
```jsx
|
|
264
273
|
{/* Good - tooltip adds context */}
|
|
265
274
|
<TooltipProvider title="Permanently delete this item">
|
|
@@ -273,7 +282,6 @@ Show tooltip only on focus, not on hover:
|
|
|
273
282
|
```
|
|
274
283
|
|
|
275
284
|
3. **Use appropriate delays** - Default delay (250ms) works for most cases
|
|
276
|
-
|
|
277
285
|
```jsx
|
|
278
286
|
{/* Good - default delay */}
|
|
279
287
|
<TooltipProvider title="Info">
|
|
@@ -287,7 +295,6 @@ Show tooltip only on focus, not on hover:
|
|
|
287
295
|
```
|
|
288
296
|
|
|
289
297
|
4. **Choose the right pattern** - Use function pattern only when necessary
|
|
290
|
-
|
|
291
298
|
```jsx
|
|
292
299
|
{/* Good - standard pattern for active elements */}
|
|
293
300
|
<TooltipProvider title="Click me">
|
|
@@ -310,7 +317,6 @@ Show tooltip only on focus, not on hover:
|
|
|
310
317
|
```
|
|
311
318
|
|
|
312
319
|
5. **Provide meaningful context** - Ensure tooltip text is descriptive
|
|
313
|
-
|
|
314
320
|
```jsx
|
|
315
321
|
{/* Good */}
|
|
316
322
|
<TooltipProvider title="Export as CSV">
|
|
@@ -189,14 +189,14 @@ function UserFormDialog({ onSubmit, initialData, onCancel }) {
|
|
|
189
189
|
label: 'Cancel'
|
|
190
190
|
}}
|
|
191
191
|
>
|
|
192
|
-
<Form.Item
|
|
193
|
-
name="name"
|
|
192
|
+
<Form.Item
|
|
193
|
+
name="name"
|
|
194
194
|
rules={[{ required: true, message: 'Name is required' }]}
|
|
195
195
|
>
|
|
196
196
|
<TextInput label="Name" />
|
|
197
197
|
</Form.Item>
|
|
198
|
-
<Form.Item
|
|
199
|
-
name="email"
|
|
198
|
+
<Form.Item
|
|
199
|
+
name="email"
|
|
200
200
|
rules={[
|
|
201
201
|
{ required: true, message: 'Email is required' },
|
|
202
202
|
{ type: 'email', message: 'Please enter a valid email' }
|
|
@@ -392,7 +392,7 @@ The `rendered` property **must** be included in your component tree, or the hook
|
|
|
392
392
|
// ✅ Correct usage
|
|
393
393
|
function App() {
|
|
394
394
|
const dialog = useDialogContainer(MyDialog);
|
|
395
|
-
|
|
395
|
+
|
|
396
396
|
return (
|
|
397
397
|
<div>
|
|
398
398
|
<Button onPress={() => dialog.open({ message: 'Hello' })}>Open</Button>
|
|
@@ -404,7 +404,7 @@ function App() {
|
|
|
404
404
|
// ❌ Incorrect usage - will throw error
|
|
405
405
|
function App() {
|
|
406
406
|
const dialog = useDialogContainer(MyDialog);
|
|
407
|
-
|
|
407
|
+
|
|
408
408
|
return (
|
|
409
409
|
<div>
|
|
410
410
|
<Button onPress={() => dialog.open({ message: 'Hello' })}>Open</Button>
|
|
@@ -424,7 +424,6 @@ function App() {
|
|
|
424
424
|
### Container Props Priority
|
|
425
425
|
|
|
426
426
|
When both `defaultContainerProps` and runtime `containerProps` are provided:
|
|
427
|
-
|
|
428
427
|
- Runtime `containerProps` override `defaultContainerProps`
|
|
429
428
|
- Deep merging is performed for nested objects
|
|
430
429
|
- Arrays are replaced entirely (no merging)
|
|
@@ -432,7 +431,6 @@ When both `defaultContainerProps` and runtime `containerProps` are provided:
|
|
|
432
431
|
## Best Practices
|
|
433
432
|
|
|
434
433
|
1. **Always include `rendered`**: Place `{dialog.rendered}` in your component tree
|
|
435
|
-
|
|
436
434
|
```tsx
|
|
437
435
|
return (
|
|
438
436
|
<div>
|
|
@@ -443,35 +441,32 @@ When both `defaultContainerProps` and runtime `containerProps` are provided:
|
|
|
443
441
|
```
|
|
444
442
|
|
|
445
443
|
2. **Use TypeScript for type safety**: The hook automatically infers prop types from your dialog component
|
|
446
|
-
|
|
447
444
|
```tsx
|
|
448
445
|
interface MyDialogProps {
|
|
449
446
|
title: string;
|
|
450
447
|
onConfirm: () => void;
|
|
451
448
|
}
|
|
452
|
-
|
|
449
|
+
|
|
453
450
|
function MyDialog(props: MyDialogProps) {
|
|
454
451
|
return <Dialog>{/* ... */}</Dialog>;
|
|
455
452
|
}
|
|
456
|
-
|
|
453
|
+
|
|
457
454
|
const dialog = useDialogContainer(MyDialog); // Props type is automatically inferred
|
|
458
455
|
```
|
|
459
456
|
|
|
460
457
|
3. **Handle cleanup in dialog components**: Ensure your dialog components handle their own cleanup
|
|
461
|
-
|
|
462
458
|
```tsx
|
|
463
459
|
function MyDialog({ onClose, onSubmit }) {
|
|
464
460
|
const handleSubmit = async (data) => {
|
|
465
461
|
await onSubmit(data);
|
|
466
462
|
onClose(); // Close dialog after successful submission
|
|
467
463
|
};
|
|
468
|
-
|
|
464
|
+
|
|
469
465
|
return <Dialog>{/* ... */}</Dialog>;
|
|
470
466
|
}
|
|
471
467
|
```
|
|
472
468
|
|
|
473
469
|
4. **Use default container props for common patterns**: Set common dialog behaviors once
|
|
474
|
-
|
|
475
470
|
```tsx
|
|
476
471
|
const dialog = useDialogContainer(MyDialog, {
|
|
477
472
|
isDismissable: true,
|
|
@@ -480,13 +475,12 @@ When both `defaultContainerProps` and runtime `containerProps` are provided:
|
|
|
480
475
|
```
|
|
481
476
|
|
|
482
477
|
5. **Separate concerns**: Keep dialog content components focused and reusable
|
|
483
|
-
|
|
484
478
|
```tsx
|
|
485
479
|
// Good: Focused dialog component
|
|
486
480
|
function ConfirmDialog({ message, onConfirm }) {
|
|
487
481
|
return <Dialog>{/* Simple confirmation UI */}</Dialog>;
|
|
488
482
|
}
|
|
489
|
-
|
|
483
|
+
|
|
490
484
|
// Avoid: Dialog component with complex business logic
|
|
491
485
|
function OverlyComplexDialog({ userId, permissions, settings }) {
|
|
492
486
|
// Too much business logic here
|
|
@@ -39,6 +39,12 @@ These properties allow direct style application without using the `styles` prop:
|
|
|
39
39
|
|
|
40
40
|
## Colors
|
|
41
41
|
|
|
42
|
-
The cube's three faces come from the shared isometric-cube tokens
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
The cube's three faces come from the shared isometric-cube tokens
|
|
43
|
+
(`#loading-face-1` … `#loading-face-3`), a near-neutral ramp positioned by a WCAG
|
|
44
|
+
floor against `#surface`. Each face therefore keeps the same separation from the
|
|
45
|
+
page in light, dark, and high contrast, and follows a re-seeded brand hue as a
|
|
46
|
+
tint rather than as a color. There is no `color` prop to override — recolouring
|
|
47
|
+
one face and not the others would break the shading.
|
|
48
|
+
|
|
49
|
+
[`NoDataIcon`](../other/NoDataIcon.md) draws its empty crate from the same
|
|
50
|
+
three tokens, so a loading table and an empty table read as the same object.
|