@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
package/docs/Usage.md
CHANGED
|
@@ -16,7 +16,7 @@ For styling engine internals see the [Tasty documentation](./tasty/usage.md). Ta
|
|
|
16
16
|
Tasty provides custom units that map to CSS custom properties defined on the Root component. Use these instead of raw pixel values to keep styling consistent.
|
|
17
17
|
|
|
18
18
|
| Unit | CSS Variable | Example | Computed (defaults) |
|
|
19
|
-
|
|
19
|
+
|------|-------------|---------|---------------------|
|
|
20
20
|
| `x` | `var(--gap)` | `2x` → `calc(var(--gap) * 2)` | 16px |
|
|
21
21
|
| `r` | `var(--radius)` | `1r` → `var(--radius)` | 6px |
|
|
22
22
|
| `cr` | `var(--card-radius)` | `1cr` → `var(--card-radius)` | 10px |
|
|
@@ -28,7 +28,7 @@ Tasty provides custom units that map to CSS custom properties defined on the Roo
|
|
|
28
28
|
These CSS custom properties are defined in `src/tokens/base.ts` and applied globally.
|
|
29
29
|
|
|
30
30
|
| Token | Default | Description |
|
|
31
|
-
|
|
31
|
+
|-------|---------|-------------|
|
|
32
32
|
| `$gap` | `8px` | Base spacing unit (used with `x` multiplier) |
|
|
33
33
|
| `$radius` | `6px` | Base border radius (used with `r` multiplier) |
|
|
34
34
|
| `$border-width` | `1px` | Base border width (used with `bw` multiplier) |
|
|
@@ -47,20 +47,20 @@ These CSS custom properties are defined in `src/tokens/base.ts` and applied glob
|
|
|
47
47
|
|
|
48
48
|
Defined in `src/tokens/spacing.ts`. Values use the `x` unit.
|
|
49
49
|
|
|
50
|
-
| Token
|
|
51
|
-
|
|
52
|
-
| `$space-xs` | `0.5x`
|
|
53
|
-
| `$space-sm` | `0.75x` | 6px
|
|
54
|
-
| `$space-md` | `1x`
|
|
55
|
-
| `$space-lg` | `1.5x`
|
|
56
|
-
| `$space-xl` | `2x`
|
|
50
|
+
| Token | Value | Computed (gap=8px) |
|
|
51
|
+
|-------|-------|-------------------|
|
|
52
|
+
| `$space-xs` | `0.5x` | 4px |
|
|
53
|
+
| `$space-sm` | `0.75x` | 6px |
|
|
54
|
+
| `$space-md` | `1x` | 8px |
|
|
55
|
+
| `$space-lg` | `1.5x` | 12px |
|
|
56
|
+
| `$space-xl` | `2x` | 16px |
|
|
57
57
|
|
|
58
58
|
## Size Tokens
|
|
59
59
|
|
|
60
60
|
Defined in `src/tokens/sizes.ts`. Used for component heights and icon sizes.
|
|
61
61
|
|
|
62
|
-
| Token
|
|
63
|
-
|
|
62
|
+
| Token | Value |
|
|
63
|
+
|-------|-------|
|
|
64
64
|
| `$size-xs` | `24px` |
|
|
65
65
|
| `$size-sm` | `28px` |
|
|
66
66
|
| `$size-md` | `32px` |
|
|
@@ -71,22 +71,22 @@ Defined in `src/tokens/sizes.ts`. Used for component heights and icon sizes.
|
|
|
71
71
|
|
|
72
72
|
Defined in `src/tokens/shadows.ts`. Shadow colors (`#shadow-sm`, `#shadow-md`, `#shadow-lg`) are generated by Glaze and adapt automatically to dark / high-contrast schemes.
|
|
73
73
|
|
|
74
|
-
| Token
|
|
75
|
-
|
|
76
|
-
| `$item-shadow`
|
|
77
|
-
| `$card-shadow`
|
|
78
|
-
| `$shadow`
|
|
79
|
-
| `$dialog-shadow` | `0 1x 4x #shadow-lg`
|
|
74
|
+
| Token | Value |
|
|
75
|
+
|-------|-------|
|
|
76
|
+
| `$item-shadow` | `0 1bw 0.375x #shadow-sm` |
|
|
77
|
+
| `$card-shadow` | `0 0.5x 2x #shadow-md` |
|
|
78
|
+
| `$shadow` | `0 0.5x 2x #shadow-md` |
|
|
79
|
+
| `$dialog-shadow` | `0 1x 4x #shadow-lg` |
|
|
80
80
|
|
|
81
81
|
## Layout Tokens
|
|
82
82
|
|
|
83
83
|
Defined in `src/tokens/layout.ts`.
|
|
84
84
|
|
|
85
|
-
| Token
|
|
86
|
-
|
|
85
|
+
| Token | Value |
|
|
86
|
+
|-------|-------|
|
|
87
87
|
| `$max-content-width` | `1440px` |
|
|
88
|
-
| `$topbar-height`
|
|
89
|
-
| `$sidebar-width`
|
|
88
|
+
| `$topbar-height` | `48px` |
|
|
89
|
+
| `$sidebar-width` | `200px` |
|
|
90
90
|
|
|
91
91
|
## Color Tokens
|
|
92
92
|
|
|
@@ -118,7 +118,7 @@ When the attribute is absent, the scheme falls back to `@media (prefers-color-sc
|
|
|
118
118
|
The neutral palette uses a `surface` / `surface-text` model. Each surface depth has its own AAA text color, plus a soft (AA) variant for secondary copy:
|
|
119
119
|
|
|
120
120
|
| Token | Role |
|
|
121
|
-
|
|
121
|
+
|-------|------|
|
|
122
122
|
| `#surface` | Primary background |
|
|
123
123
|
| `#surface-2` | Slightly recessed background (cards, inputs) |
|
|
124
124
|
| `#surface-3` | Deepest background (panels, code blocks) |
|
|
@@ -132,7 +132,7 @@ The neutral palette uses a `surface` / `surface-text` model. Each surface depth
|
|
|
132
132
|
### Other Neutral Tokens
|
|
133
133
|
|
|
134
134
|
| Token | Role |
|
|
135
|
-
|
|
135
|
+
|-------|------|
|
|
136
136
|
| `#border` | Default border color |
|
|
137
137
|
| `#placeholder` | Input placeholder text |
|
|
138
138
|
| `#focus` | Focus ring color |
|
|
@@ -144,13 +144,20 @@ The neutral palette uses a `surface` / `surface-text` model. Each surface depth
|
|
|
144
144
|
|
|
145
145
|
### Context Hooks
|
|
146
146
|
|
|
147
|
-
Tokens a **container** sets to steer a component that cannot resolve the color on
|
|
147
|
+
Tokens a **container** sets to steer a component that cannot resolve the color on
|
|
148
|
+
its own. They ship with a default, so nothing has to be set unless the default is
|
|
149
|
+
wrong.
|
|
148
150
|
|
|
149
151
|
| Token | Default | Role |
|
|
150
|
-
|
|
152
|
+
|-------|---------|------|
|
|
151
153
|
| `#current-fill` | `#surface` | The label color `current.primary` punches out of its `currentcolor` chip — read by that one flavour and nothing else |
|
|
152
154
|
|
|
153
|
-
`theme="current" type="primary"` fills with the color it **inherits**, so its
|
|
155
|
+
`theme="current" type="primary"` fills with the color it **inherits**, so its
|
|
156
|
+
label cannot come from that color too and reads `#current-fill` instead. The page
|
|
157
|
+
(`#surface`) is the right answer almost everywhere, and wrong in exactly one
|
|
158
|
+
place: a container whose own text color is the page paints `#white`, which *is*
|
|
159
|
+
`#surface` in light mode, so the label would vanish into its own chip. Such a container sets
|
|
160
|
+
the token to its own fill, which contrasts with its own text by construction:
|
|
154
161
|
|
|
155
162
|
```jsx
|
|
156
163
|
<Block fill="#fixed-dark" color="#white" styles={{ '#current-fill': '#fixed-dark' }}>
|
|
@@ -158,14 +165,16 @@ Tokens a **container** sets to steer a component that cannot resolve the color o
|
|
|
158
165
|
</Block>
|
|
159
166
|
```
|
|
160
167
|
|
|
161
|
-
Setting it moves the label, the icon slots and the chip's rim together. It also
|
|
168
|
+
Setting it moves the label, the icon slots and the chip's rim together. It also
|
|
169
|
+
takes the alpha suffix like any other token (`#current-fill.5` is the disabled
|
|
170
|
+
label), because it is a declared token rather than a bare custom property.
|
|
162
171
|
|
|
163
172
|
### Accent System
|
|
164
173
|
|
|
165
174
|
Each themed color (default, primary, success, danger, warning, note) provides an `accent-*` family anchored to a fixed white "accent surface text". These tokens stay recognizable across schemes (used for branded buttons, CTAs, etc.):
|
|
166
175
|
|
|
167
176
|
| Token (default theme; prefixed in others) | Role |
|
|
168
|
-
|
|
177
|
+
|-------|------|
|
|
169
178
|
| `#accent-surface` | Saturated brand fill (button bg) |
|
|
170
179
|
| `#accent-surface-2`, `#accent-surface-3` | Darker / more saturated variants |
|
|
171
180
|
| `#accent-surface-text` | Near-white text on accent fill |
|
|
@@ -178,15 +187,15 @@ In the `default` theme these tokens are unprefixed (`#accent-surface`). In color
|
|
|
178
187
|
|
|
179
188
|
Each colored theme (`primary`, `purple`, `success`, `danger`, `warning`, `note`) also provides its own tinted `<theme>-surface` (banner / chip background) and `<theme>-surface-text` (banner text).
|
|
180
189
|
|
|
181
|
-
The hues below are the
|
|
190
|
+
The hues below are the *defaults*; each is tunable at runtime (see [Theming](./Theming.md)).
|
|
182
191
|
|
|
183
|
-
| Group
|
|
184
|
-
|
|
185
|
-
| `#primary-*` / `#purple-*` | 280.3°
|
|
186
|
-
| `#success-*`
|
|
187
|
-
| `#danger-*`
|
|
188
|
-
| `#warning-*`
|
|
189
|
-
| `#note-*`
|
|
192
|
+
| Group | Default hue | Purpose |
|
|
193
|
+
|-------|-------------|---------|
|
|
194
|
+
| `#primary-*` / `#purple-*` | 280.3° | Primary actions, brand color |
|
|
195
|
+
| `#success-*` | 156.9° | Success states, confirmations |
|
|
196
|
+
| `#danger-*` | 23.1° | Errors, destructive actions |
|
|
197
|
+
| `#warning-*` | 84.3° | Warning states, caution |
|
|
198
|
+
| `#note-*` | 302.3° | Informational notes |
|
|
190
199
|
|
|
191
200
|
For example, a success banner uses `fill: '#success-surface'` + `color: '#success-surface-text'`, while a primary button uses `fill: '#primary-accent-surface'` + `color: '#primary-accent-surface-text'`.
|
|
192
201
|
|
|
@@ -203,7 +212,7 @@ resetPaletteConfig();
|
|
|
203
212
|
|
|
204
213
|
Also available: `getPaletteConfig()`, `subscribePaletteConfig()`, the `usePaletteConfig()` hook, a `<Root palette={…}>` prop, `DEFAULT_PALETTE_CONFIG`, and `invalidatePaletteTokens()` for when you drive `glaze.configure(...)` yourself after mount. The palette is process-global — one palette per process, not per tree or per request.
|
|
205
214
|
|
|
206
|
-
To theme a
|
|
215
|
+
To theme a *region* instead of the document — a theme preview, or a dark panel inside a light page — use `renderColorTokens()`. It resolves one config and one scheme to flat values you apply via a `tokens` prop, without touching the live palette:
|
|
207
216
|
|
|
208
217
|
```tsx
|
|
209
218
|
<Block tokens={renderColorTokens({ accent: { hue: 210 }, scheme: 'dark' })} fill="#surface">
|
|
@@ -217,27 +226,27 @@ Full contract, caveats and a live playground: [Theming](./Theming.md).
|
|
|
217
226
|
|
|
218
227
|
The previous token names continue to work as aliases (defined at the bottom of `src/tokens/colors.ts`). New code should prefer the Glaze tokens, but existing components do not need to be migrated:
|
|
219
228
|
|
|
220
|
-
| Legacy
|
|
221
|
-
|
|
222
|
-
| `#text`
|
|
223
|
-
| `#dark` / `#dark-01`
|
|
224
|
-
| `#dark-02`
|
|
225
|
-
| `#dark-03`
|
|
226
|
-
| `#dark-04`
|
|
227
|
-
| `#dark-05`
|
|
228
|
-
| `#minor`
|
|
229
|
-
| `#shadow`
|
|
230
|
-
| `#light`
|
|
231
|
-
| `#dark-bg`
|
|
232
|
-
| `#primary` / `#purple`
|
|
233
|
-
| `#primary-text` / `#purple-text` | `#primary-accent-text`
|
|
234
|
-
| `#primary-bg` / `#purple-bg`
|
|
235
|
-
| `#primary-icon` / `#purple-icon` | `#primary-accent-icon`
|
|
236
|
-
| `#<status>`
|
|
237
|
-
| `#<status>-text`
|
|
238
|
-
| `#<status>-bg`
|
|
239
|
-
| `#<status>-icon`
|
|
240
|
-
| `#<status>-disabled`
|
|
229
|
+
| Legacy | Resolves to |
|
|
230
|
+
|-------|------------|
|
|
231
|
+
| `#text` | `#surface-text-soft` |
|
|
232
|
+
| `#dark` / `#dark-01` | `#surface-text` |
|
|
233
|
+
| `#dark-02` | `#surface-text-soft` |
|
|
234
|
+
| `#dark-03` | `#surface-text-soft-2` |
|
|
235
|
+
| `#dark-04` | `#placeholder` |
|
|
236
|
+
| `#dark-05` | `#border` |
|
|
237
|
+
| `#minor` | `#surface-text-soft.65` |
|
|
238
|
+
| `#shadow` | `#shadow-md` |
|
|
239
|
+
| `#light` | `#surface-3` |
|
|
240
|
+
| `#dark-bg` | `#surface-2` |
|
|
241
|
+
| `#primary` / `#purple` | `#primary-accent-surface` |
|
|
242
|
+
| `#primary-text` / `#purple-text` | `#primary-accent-text` |
|
|
243
|
+
| `#primary-bg` / `#purple-bg` | `#primary-surface` |
|
|
244
|
+
| `#primary-icon` / `#purple-icon` | `#primary-accent-icon` |
|
|
245
|
+
| `#<status>` | `#<status>-accent-surface` |
|
|
246
|
+
| `#<status>-text` | `#<status>-accent-text` |
|
|
247
|
+
| `#<status>-bg` | `#<status>-surface` |
|
|
248
|
+
| `#<status>-icon` | `#<status>-accent-icon` |
|
|
249
|
+
| `#<status>-disabled` | `#disabled` |
|
|
241
250
|
|
|
242
251
|
`#white`, `#black`, and `#clear` are not defined in the palette — `#white` and `#black` are tasty's built-in named colors, and `#clear` is an alias for `transparent`.
|
|
243
252
|
|
|
@@ -250,74 +259,74 @@ Defined in `src/tokens/typography.ts`.
|
|
|
250
259
|
### Headings
|
|
251
260
|
|
|
252
261
|
| Preset | Size | Line Height | Weight |
|
|
253
|
-
|
|
254
|
-
| `h1`
|
|
255
|
-
| `h2`
|
|
256
|
-
| `h3`
|
|
257
|
-
| `h4`
|
|
258
|
-
| `h5`
|
|
259
|
-
| `h6`
|
|
262
|
+
|--------|------|-------------|--------|
|
|
263
|
+
| `h1` | 36px | 44px | 600 |
|
|
264
|
+
| `h2` | 24px | 32px | 600 |
|
|
265
|
+
| `h3` | 20px | 28px | 600 |
|
|
266
|
+
| `h4` | 18px | 24px | 600 |
|
|
267
|
+
| `h5` | 16px | 22px | 600 |
|
|
268
|
+
| `h6` | 14px | 20px | 600 |
|
|
260
269
|
|
|
261
270
|
### Text
|
|
262
271
|
|
|
263
|
-
| Preset | Size | Line Height | Weight | Notes
|
|
264
|
-
|
|
265
|
-
| `t1`
|
|
266
|
-
| `t2`
|
|
267
|
-
| `t2m`
|
|
268
|
-
| `t3`
|
|
269
|
-
| `t3m`
|
|
270
|
-
| `t4`
|
|
271
|
-
| `t4m`
|
|
272
|
+
| Preset | Size | Line Height | Weight | Notes |
|
|
273
|
+
|--------|------|-------------|--------|-------|
|
|
274
|
+
| `t1` | 18px | 24px | 400 | |
|
|
275
|
+
| `t2` | 16px | 22px | 400 | |
|
|
276
|
+
| `t2m` | 16px | 22px | 500 | Medium weight variant |
|
|
277
|
+
| `t3` | 14px | 20px | 400 | Base text size |
|
|
278
|
+
| `t3m` | 14px | 20px | 500 | Medium weight variant |
|
|
279
|
+
| `t4` | 12px | 18px | 500 | Small text |
|
|
280
|
+
| `t4m` | 12px | 18px | 600 | Small text, semi-bold |
|
|
272
281
|
|
|
273
282
|
### Paragraph
|
|
274
283
|
|
|
275
284
|
Paragraph presets have slightly increased line heights compared to text presets at the same size, optimized for multi-line reading.
|
|
276
285
|
|
|
277
286
|
| Preset | Size | Line Height | Weight |
|
|
278
|
-
|
|
279
|
-
| `p1`
|
|
280
|
-
| `p2`
|
|
281
|
-
| `p3`
|
|
282
|
-
| `p4`
|
|
287
|
+
|--------|------|-------------|--------|
|
|
288
|
+
| `p1` | 18px | 28px | 400 |
|
|
289
|
+
| `p2` | 16px | 24px | 400 |
|
|
290
|
+
| `p3` | 14px | 22px | 400 |
|
|
291
|
+
| `p4` | 12px | 20px | 500 |
|
|
283
292
|
|
|
284
293
|
### Markdown / Prose
|
|
285
294
|
|
|
286
295
|
Largest line heights, designed for long-form content blocks.
|
|
287
296
|
|
|
288
297
|
| Preset | Size | Line Height | Weight |
|
|
289
|
-
|
|
290
|
-
| `m1`
|
|
291
|
-
| `m2`
|
|
292
|
-
| `m3`
|
|
298
|
+
|--------|------|-------------|--------|
|
|
299
|
+
| `m1` | 18px | 32px | 400 |
|
|
300
|
+
| `m2` | 16px | 28px | 400 |
|
|
301
|
+
| `m3` | 14px | 24px | 400 |
|
|
293
302
|
|
|
294
303
|
### Snippet / Monospace
|
|
295
304
|
|
|
296
305
|
Sized to parallel `t2`–`t4`. Each preset sets `font-family` to `var(--font-mono)` (the design-system monospace stack from `Root`).
|
|
297
306
|
|
|
298
|
-
| Preset | Size | Line Height | Weight | Notes
|
|
299
|
-
|
|
300
|
-
| `s2`
|
|
301
|
-
| `s3`
|
|
302
|
-
| `s4`
|
|
307
|
+
| Preset | Size | Line Height | Weight | Notes |
|
|
308
|
+
|--------|------|-------------|--------|-------|
|
|
309
|
+
| `s2` | 16px | 22px | 400 | Larger code / snippet text |
|
|
310
|
+
| `s3` | 14px | 20px | 400 | Default snippet size (matches Prism) |
|
|
311
|
+
| `s4` | 12px | 18px | 400 | Compact code / snippet text |
|
|
303
312
|
|
|
304
313
|
### Special Presets
|
|
305
314
|
|
|
306
|
-
| Preset
|
|
307
|
-
|
|
308
|
-
| `c1`
|
|
309
|
-
| `c2`
|
|
310
|
-
| `tag`
|
|
311
|
-
| `strong`
|
|
312
|
-
| `em`
|
|
313
|
-
| `default` | Aliases `t3` values — the base text style
|
|
315
|
+
| Preset | Description |
|
|
316
|
+
|--------|-------------|
|
|
317
|
+
| `c1` | 14px, weight 600, uppercase — section captions |
|
|
318
|
+
| `c2` | 12px, weight 600, uppercase — small captions |
|
|
319
|
+
| `tag` | 12px, weight 600 — tag/badge text |
|
|
320
|
+
| `strong` | Inherits everything, applies bold weight |
|
|
321
|
+
| `em` | Inherits everything, applies italic style |
|
|
322
|
+
| `default` | Aliases `t3` values — the base text style |
|
|
314
323
|
|
|
315
324
|
## Themes
|
|
316
325
|
|
|
317
326
|
Component themes are set via the `theme` prop or `theme=name` modifier:
|
|
318
327
|
|
|
319
328
|
| Theme | Purpose |
|
|
320
|
-
|
|
329
|
+
|-------|---------|
|
|
321
330
|
| `default` | Standard appearance |
|
|
322
331
|
| `danger` | Destructive / error actions |
|
|
323
332
|
| `special` | Highlighted / promoted actions |
|
|
@@ -331,7 +340,7 @@ Component themes are set via the `theme` prop or `theme=name` modifier:
|
|
|
331
340
|
Reusable style presets applied via the `recipe` style property. Defined in `src/components/Root.tsx`.
|
|
332
341
|
|
|
333
342
|
| Recipe | Purpose |
|
|
334
|
-
|
|
343
|
+
|--------|---------|
|
|
335
344
|
| `reset` | Zero out margin, padding, border, outline; set `box-sizing: border-box` |
|
|
336
345
|
| `button` | Base button appearance: no native styling, `touch-action: manipulation` |
|
|
337
346
|
| `input` | Base input appearance: no native styling, inherit color |
|
|
@@ -344,7 +353,7 @@ Reusable style presets applied via the `recipe` style property. Defined in `src/
|
|
|
344
353
|
These are data-attribute modifiers used in component style maps (via the `mods` prop):
|
|
345
354
|
|
|
346
355
|
| Modifier | Description |
|
|
347
|
-
|
|
356
|
+
|----------|-------------|
|
|
348
357
|
| `disabled` | Disabled state |
|
|
349
358
|
| `hovered` | Hover state |
|
|
350
359
|
| `focused` | Focus state |
|
|
@@ -386,17 +395,38 @@ Icons live in `src/icons/`. Use existing icons when possible; otherwise use `@ta
|
|
|
386
395
|
- Always wrap tabler icons with `<Icon>` for custom size/color. Never add props directly to tabler icons.
|
|
387
396
|
- To add new icons run: `pnpm add-icons`
|
|
388
397
|
|
|
389
|
-
Illustrations are not icons and do not live in `src/icons/`: `CubeLogo` and
|
|
398
|
+
Illustrations are not icons and do not live in `src/icons/`: `CubeLogo` and
|
|
399
|
+
`NoDataIcon` are `Icon`-based components under `src/components/other/`. They size
|
|
400
|
+
like an icon, but `NoDataIcon` is a three-tone drawing on the shared cube-face
|
|
401
|
+
tokens (`#loading-face-1` … `#loading-face-3`) rather than a `currentColor`
|
|
402
|
+
glyph, so it ignores `color` and belongs at illustration sizes (`size="8x"` and
|
|
403
|
+
up).
|
|
390
404
|
|
|
391
405
|
## Hierarchical Table Rows
|
|
392
406
|
|
|
393
|
-
`ItemTable` and `DataTable` opt into native treegrid behavior with
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
407
|
+
`ItemTable` and `DataTable` opt into native treegrid behavior with
|
|
408
|
+
`getRowChildren`. Pass roots in `data`; the callback returns already-loaded
|
|
409
|
+
children, and row keys must be globally unique. Expansion is uncontrolled with
|
|
410
|
+
`defaultExpandedKeys` or controlled with `expandedKeys` / `onExpand`.
|
|
411
|
+
|
|
412
|
+
The shared table engine recursively sorts siblings, paginates roots with their
|
|
413
|
+
complete subtrees, and flattens only expanded rows for rendering and
|
|
414
|
+
virtualization. ItemTable client search preserves ancestor paths and temporarily
|
|
415
|
+
opens branches containing matches. Server modes do not transform nested data.
|
|
416
|
+
|
|
417
|
+
Use `treeColumnKey` to choose the disclosure/indent column. Its hierarchy chrome
|
|
418
|
+
is customizable through the `TreeContent`, `TreeToggle`, and `TreeValue`
|
|
419
|
+
sub-elements. ItemTable multiple selection cascades by default; DataTable cell
|
|
420
|
+
ranges contain visible rows only. See each component's docs for pagination,
|
|
421
|
+
numbering, selection, and drag/drop limits.
|
|
422
|
+
|
|
423
|
+
DataTable also accepts nested column definitions for already-shaped pivot
|
|
424
|
+
results. Group nodes create accessible multi-row headers with native column
|
|
425
|
+
spans, while sorting, resizing, ranges and copying continue to operate on their
|
|
426
|
+
leaf columns. Both tables fill an available flex pane by default; use
|
|
427
|
+
`isAutoHeight` for a compact result whose frame should end at its last rendered
|
|
428
|
+
row. Auto-height renders every row, so bounded tables remain the right choice
|
|
429
|
+
for large results.
|
|
400
430
|
|
|
401
431
|
## Form System
|
|
402
432
|
|
|
@@ -427,7 +457,7 @@ Returns a `CubeFormInstance` with:
|
|
|
427
457
|
Async rule-based system. Each rule is an object with one of these properties:
|
|
428
458
|
|
|
429
459
|
| Rule | Description |
|
|
430
|
-
|
|
460
|
+
|------|-------------|
|
|
431
461
|
| `required` | Field must have a value |
|
|
432
462
|
| `type` | Type check: `email`, `url`, `number`, `integer`, `date`, `hex`, etc. |
|
|
433
463
|
| `pattern` | Regex pattern match |
|
package/docs/Utilities.md
CHANGED
|
@@ -36,7 +36,7 @@ function extractStyles(
|
|
|
36
36
|
### Predefined style lists
|
|
37
37
|
|
|
38
38
|
| List | Contains |
|
|
39
|
-
|
|
39
|
+
|------|----------|
|
|
40
40
|
| `BASE_STYLES` | `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition` |
|
|
41
41
|
| `POSITION_STYLES` | `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position` |
|
|
42
42
|
| `DIMENSION_STYLES` | `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex` |
|
|
@@ -144,7 +144,7 @@ function filterBaseProps(
|
|
|
144
144
|
### What passes through
|
|
145
145
|
|
|
146
146
|
| Category | Examples |
|
|
147
|
-
|
|
147
|
+
|----------|----------|
|
|
148
148
|
| DOM ids | `id` |
|
|
149
149
|
| Base props | `role`, `as`, `children`, `style`, `className`, `href`, `target`, `tabIndex`, `hidden`, `disabled` |
|
|
150
150
|
| ARIA attributes | `aria-label`, `aria-describedby`, etc. |
|
|
@@ -195,7 +195,13 @@ import { IconPlus } from '@tabler/icons-react';
|
|
|
195
195
|
</Button>;
|
|
196
196
|
```
|
|
197
197
|
|
|
198
|
-
A disabled button keeps showing its tooltip. Browsers stop dispatching mouse
|
|
198
|
+
A disabled button keeps showing its tooltip. Browsers stop dispatching mouse
|
|
199
|
+
events on elements carrying the native `disabled` attribute, so a button that
|
|
200
|
+
has a tooltip is marked with `aria-disabled` instead and kept inert: `onPress`
|
|
201
|
+
never fires and clicks (including the ones Enter and Space produce) do nothing.
|
|
202
|
+
Such a button also stays in the tab order, so keyboard users can focus it and
|
|
203
|
+
read the tooltip. Buttons rendered as links (`to`) are always marked this way,
|
|
204
|
+
since `disabled` is not a valid attribute on an anchor.
|
|
199
205
|
|
|
200
206
|
### Custom Size
|
|
201
207
|
|
|
@@ -228,21 +234,35 @@ A disabled button keeps showing its tooltip. Browsers stop dispatching mouse eve
|
|
|
228
234
|
|
|
229
235
|
- `aria-label`, `aria-labelledby` – Accessible name.
|
|
230
236
|
- `aria-pressed` – Managed automatically when `isSelected` is used.
|
|
231
|
-
- `aria-disabled` – Announces the disabled state whenever the native `disabled`
|
|
237
|
+
- `aria-disabled` – Announces the disabled state whenever the native `disabled`
|
|
238
|
+
attribute cannot be used: on links, and on buttons that carry a tooltip.
|
|
232
239
|
- Additional ARIA attributes supported by React Aria's `useButton`.
|
|
233
240
|
|
|
234
241
|
## Behaviour Inside Popovers
|
|
235
242
|
|
|
236
|
-
By default, pressing a `Button` inside an open popover (any overlay that
|
|
243
|
+
By default, pressing a `Button` inside an open popover (any overlay that
|
|
244
|
+
uses `usePopoverSync` — including the popovers rendered by `FilterPicker`,
|
|
245
|
+
`Picker`, `ComboBox`, `Select`, `MenuTrigger`, and
|
|
246
|
+
`DialogTrigger type="popover"`) **dismisses that popover** after the user's
|
|
247
|
+
`onPress` runs. This matches the common UX where a popover is a transient
|
|
248
|
+
surface: any action inside it should close it.
|
|
237
249
|
|
|
238
|
-
Modal / tray / fullscreen Dialogs are **not** affected — a Button inside a
|
|
250
|
+
Modal / tray / fullscreen Dialogs are **not** affected — a Button inside a
|
|
251
|
+
modal Dialog does not auto-close it.
|
|
239
252
|
|
|
240
253
|
### Opt-outs
|
|
241
254
|
|
|
242
255
|
There are three ways to keep the popover open when a Button is pressed:
|
|
243
256
|
|
|
244
|
-
1. **Automatic for popover triggers.** Buttons that act as popover triggers
|
|
245
|
-
|
|
257
|
+
1. **Automatic for popover triggers.** Buttons that act as popover triggers
|
|
258
|
+
already carry `data-popover-trigger` (applied by `MenuTrigger`,
|
|
259
|
+
`DialogTrigger type="popover"`, `FilterPicker`, `Picker`, `ComboBox`,
|
|
260
|
+
`Select`). Modal-type `DialogTrigger` children are **not** marked, so they
|
|
261
|
+
correctly dismiss the parent popover and let the modal take over.
|
|
262
|
+
2. **Manual via `data-popover-keep`.** Add the attribute to the button
|
|
263
|
+
(toggle case) or to any ancestor element (subtree case — useful when a
|
|
264
|
+
custom inline editor inside a popover footer should not collapse on
|
|
265
|
+
every interaction):
|
|
246
266
|
|
|
247
267
|
```jsx
|
|
248
268
|
<Button data-popover-keep onPress={() => setMode((m) => !m)}>
|
|
@@ -254,7 +274,9 @@ There are three ways to keep the popover open when a Button is pressed:
|
|
|
254
274
|
</div>
|
|
255
275
|
```
|
|
256
276
|
|
|
257
|
-
3. **Custom non-Cube triggers.** Call `useDismissParentPopover()` yourself if
|
|
277
|
+
3. **Custom non-Cube triggers.** Call `useDismissParentPopover()` yourself if
|
|
278
|
+
your control should dismiss the popover but does not extend `Button` /
|
|
279
|
+
`ItemButton`:
|
|
258
280
|
```jsx
|
|
259
281
|
const dismiss = useDismissParentPopover();
|
|
260
282
|
<MyCustomPressable
|
|
@@ -267,7 +289,13 @@ There are three ways to keep the popover open when a Button is pressed:
|
|
|
267
289
|
|
|
268
290
|
### Async `onPress`
|
|
269
291
|
|
|
270
|
-
The dismiss is dispatched via the EventBus, which defers with `setTimeout(0)`.
|
|
292
|
+
The dismiss is dispatched via the EventBus, which defers with `setTimeout(0)`.
|
|
293
|
+
This means synchronous `onPress` handlers (and any React state updates they
|
|
294
|
+
trigger) flush **before** the popover closes — including the common case of
|
|
295
|
+
opening a hoisted modal via `useDialogContainer` from a popover footer (the
|
|
296
|
+
modal mounts first, then the popover closes behind it). If your `onPress` is
|
|
297
|
+
async and `await`s before opening another overlay, the popover will close
|
|
298
|
+
first and the new overlay will appear after — usually fine, but worth noting.
|
|
271
299
|
|
|
272
300
|
## Best Practices
|
|
273
301
|
|
|
@@ -180,13 +180,11 @@ Use `actionProps`, `triggerProps`, and `menuProps` to customise individual parts
|
|
|
180
180
|
## Best Practices
|
|
181
181
|
|
|
182
182
|
1. **Do**: Use strict mode for standard action+trigger patterns.
|
|
183
|
-
|
|
184
183
|
```jsx
|
|
185
184
|
<Button.Split actions={actions} defaultActionKey="deploy" type="primary" />
|
|
186
185
|
```
|
|
187
186
|
|
|
188
187
|
2. **Do**: Set `type` and `theme` on the wrapper instead of repeating on each child.
|
|
189
|
-
|
|
190
188
|
```jsx
|
|
191
189
|
<Button.Split type="primary">
|
|
192
190
|
<Button>Save</Button>
|
|
@@ -129,8 +129,8 @@ For detailed information about all available item properties, see the [Menu.Item
|
|
|
129
129
|
|
|
130
130
|
```jsx
|
|
131
131
|
<CommandMenu searchPlaceholder="Search commands...">
|
|
132
|
-
<CommandMenu.Item
|
|
133
|
-
key="save"
|
|
132
|
+
<CommandMenu.Item
|
|
133
|
+
key="save"
|
|
134
134
|
icon={<IconSave />}
|
|
135
135
|
hotkeys="cmd+s"
|
|
136
136
|
keywords={["write", "disk", "persist"]}
|
|
@@ -138,8 +138,8 @@ For detailed information about all available item properties, see the [Menu.Item
|
|
|
138
138
|
>
|
|
139
139
|
Save Document
|
|
140
140
|
</CommandMenu.Item>
|
|
141
|
-
<CommandMenu.Item
|
|
142
|
-
key="help"
|
|
141
|
+
<CommandMenu.Item
|
|
142
|
+
key="help"
|
|
143
143
|
icon={<IconHelp />}
|
|
144
144
|
forceMount={true}
|
|
145
145
|
description="Always visible help option"
|
|
@@ -358,10 +358,10 @@ function CommandMenuDialogContent({ onClose, ...args }) {
|
|
|
358
358
|
|
|
359
359
|
return (
|
|
360
360
|
<Dialog size="medium" isDismissable={false}>
|
|
361
|
-
<CommandMenu
|
|
362
|
-
width="100%"
|
|
363
|
-
height="max(40x, 90vh)"
|
|
364
|
-
size="medium"
|
|
361
|
+
<CommandMenu
|
|
362
|
+
width="100%"
|
|
363
|
+
height="max(40x, 90vh)"
|
|
364
|
+
size="medium"
|
|
365
365
|
onAction={handleAction}
|
|
366
366
|
{...args}
|
|
367
367
|
>
|
|
@@ -183,20 +183,34 @@ Actions automatically inherit the parent button's `type` prop and adjust their s
|
|
|
183
183
|
|
|
184
184
|
## Behaviour Inside Popovers
|
|
185
185
|
|
|
186
|
-
Like `Button`, an `ItemButton` press inside an open popover **dismisses
|
|
186
|
+
Like `Button`, an `ItemButton` press inside an open popover **dismisses
|
|
187
|
+
that popover** by default — popovers are transient surfaces and any action
|
|
188
|
+
inside them should close them. Modals/trays/fullscreen Dialogs are not
|
|
189
|
+
affected.
|
|
187
190
|
|
|
188
191
|
### Opt-outs
|
|
189
192
|
|
|
190
|
-
- **Automatic for popover triggers** — `MenuTrigger`, `DialogTrigger
|
|
191
|
-
|
|
193
|
+
- **Automatic for popover triggers** — `MenuTrigger`, `DialogTrigger
|
|
194
|
+
type="popover"`, and the picker components (`FilterPicker`, `Picker`,
|
|
195
|
+
`ComboBox`, `Select`) mark their trigger ItemButtons with
|
|
196
|
+
`data-popover-trigger` so they don't dismiss the popover they themselves
|
|
197
|
+
live in.
|
|
198
|
+
- **Manual via `data-popover-keep`** — add to the ItemButton (toggle) or
|
|
199
|
+
any ancestor (whole subtree):
|
|
192
200
|
```jsx
|
|
193
201
|
<ItemButton data-popover-keep onPress={() => setMode((m) => !m)}>
|
|
194
202
|
Toggle Mode
|
|
195
203
|
</ItemButton>
|
|
196
204
|
```
|
|
197
|
-
- **Custom non-Cube triggers** — call `useDismissParentPopover()` directly
|
|
198
|
-
|
|
199
|
-
|
|
205
|
+
- **Custom non-Cube triggers** — call `useDismissParentPopover()` directly
|
|
206
|
+
if you build a control on top of something other than `Button` /
|
|
207
|
+
`ItemButton`.
|
|
208
|
+
|
|
209
|
+
The dismiss is dispatched via the EventBus, which defers with `setTimeout(0)`
|
|
210
|
+
— so synchronous `onPress` handlers (and the React state updates they
|
|
211
|
+
trigger) flush BEFORE the popover closes. This makes the "open a hoisted
|
|
212
|
+
modal from a popover footer" pattern work without flicker: the modal mounts
|
|
213
|
+
first, then the popover closes behind it.
|
|
200
214
|
|
|
201
215
|
## Best Practices
|
|
202
216
|
|