@cube-dev/ui-kit 0.157.3 → 0.159.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CHANGELOG.md +155 -0
- 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.js +10 -4
- package/dist/components/actions/Button/Button.js.map +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.d.ts +7 -0
- package/dist/components/content/Item/Item.js +13 -6
- package/dist/components/content/Item/Item.js.map +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 +41 -32
- package/dist/components/content/use-auto-tooltip.js.map +1 -1
- package/dist/components/data/DataTable/DataTable.js +82 -24
- package/dist/components/data/DataTable/DataTable.js.map +1 -1
- package/dist/components/data/DataTable/types.d.ts +56 -1
- package/dist/components/data/ItemTable/ItemTable.js +13 -5
- package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +3 -7
- package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +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/ItemTable/types.d.ts +19 -0
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/RowCollection.js +5 -3
- package/dist/components/data/TableBase/RowCollection.js.map +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +115 -0
- package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -0
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableView.js +195 -33
- package/dist/components/data/TableBase/TableView.js.map +1 -1
- package/dist/components/data/TableBase/column-menu.d.ts +36 -0
- package/dist/components/data/TableBase/column-menu.js +104 -0
- package/dist/components/data/TableBase/column-menu.js.map +1 -0
- package/dist/components/data/TableBase/column-tint.js +168 -0
- package/dist/components/data/TableBase/column-tint.js.map +1 -0
- package/dist/components/data/TableBase/index.d.ts +3 -2
- package/dist/components/data/TableBase/row-menu.js +11 -6
- package/dist/components/data/TableBase/row-menu.js.map +1 -1
- package/dist/components/data/TableBase/styled.js +45 -16
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/types.d.ts +104 -6
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/types.js.map +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-column-order.js +100 -0
- package/dist/components/data/TableBase/use-column-order.js.map +1 -0
- 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 +24 -2
- package/dist/components/data/TableBase/use-table-columns.js.map +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 +20 -1
- package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +40 -1
- package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
- package/dist/components/data/TableBase/use-table-storage.d.ts +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +6 -2
- package/dist/components/data/TableBase/use-table-storage.js.map +1 -1
- package/dist/components/data/index.d.ts +2 -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/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/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/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +1 -1
- package/dist/components/fields/color/ColorSwatch.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.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/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.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.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -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/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.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 +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/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 +13 -1
- 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 +5 -1
- package/dist/i18n/locales/en-US/uikit.js +5 -1
- package/dist/i18n/locales/en-US/uikit.json.d.ts +4 -0
- package/dist/i18n/locales/es-ES/uikit.js +5 -1
- package/dist/i18n/locales/es-MX/uikit.js +5 -1
- package/dist/i18n/locales/fr-FR/uikit.js +5 -1
- package/dist/i18n/locales/it-IT/uikit.js +5 -1
- package/dist/i18n/locales/ja-JP/uikit.js +5 -1
- package/dist/i18n/locales/nb-NO/uikit.js +5 -1
- package/dist/i18n/locales/pt-BR/uikit.js +5 -1
- package/dist/i18n/locales/pt-PT/uikit.js +5 -1
- package/dist/i18n/locales/sv-SE/uikit.js +5 -1
- package/dist/i18n/locales/vi-VN/uikit.js +5 -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.d.ts +12 -0
- package/dist/icons/ArrowNarrowDownIcon.js +11 -0
- package/dist/icons/ArrowNarrowDownIcon.js.map +1 -0
- package/dist/icons/ArrowNarrowUpIcon.d.ts +12 -0
- package/dist/icons/ArrowNarrowUpIcon.js +11 -0
- package/dist/icons/ArrowNarrowUpIcon.js.map +1 -0
- 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/index.d.ts +2 -0
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.js +7 -2
- package/dist/index.js.map +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-theme.d.ts +86 -0
- package/dist/tokens/color-theme.js +156 -0
- package/dist/tokens/color-theme.js.map +1 -0
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/index.d.ts +1 -0
- package/dist/tokens/index.js +2 -1
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/palette-config.d.ts +1 -1
- package/dist/tokens/palette-config.js +17 -5
- package/dist/tokens/palette-config.js.map +1 -1
- package/dist/tokens/palette.d.ts +1 -1
- package/dist/tokens/palette.js +44 -2
- package/dist/tokens/palette.js.map +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/index.d.ts +1 -0
- 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.d.ts +49 -0
- package/dist/utils/react/disabledProps.js +82 -0
- package/dist/utils/react/disabledProps.js.map +1 -0
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.d.ts +1 -0
- package/dist/utils/react/index.js +2 -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 +2 -2
- package/docs/Theming.md +20 -13
- package/docs/components/actions/Button.md +17 -0
- package/docs/components/content/Item.md +8 -1
- package/docs/components/data/DataTable.md +118 -2
- package/docs/components/data/ItemTable.md +37 -5
- package/package.json +1 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
|
|
2
|
+
//#region src/utils/react/disabledProps.ts
|
|
3
|
+
/**
|
|
4
|
+
* Tags where `disabled` is a real HTML attribute. Browsers refuse to dispatch
|
|
5
|
+
* mouse events on those elements while the attribute is set, so nothing that
|
|
6
|
+
* listens for hover — a tooltip trigger above all — ever hears from them.
|
|
7
|
+
* On every other tag the attribute is invalid markup that does nothing.
|
|
8
|
+
*/
|
|
9
|
+
const FORM_CONTROL_TAGS = new Set([
|
|
10
|
+
"button",
|
|
11
|
+
"input",
|
|
12
|
+
"select",
|
|
13
|
+
"textarea",
|
|
14
|
+
"fieldset",
|
|
15
|
+
"option",
|
|
16
|
+
"optgroup"
|
|
17
|
+
]);
|
|
18
|
+
/**
|
|
19
|
+
* Handlers that can activate an element. They are dropped while the element is
|
|
20
|
+
* disabled through `aria-disabled` alone, so it stays as inert as a natively
|
|
21
|
+
* disabled one.
|
|
22
|
+
*/
|
|
23
|
+
const ACTIVATION_EVENT_PROPS = [
|
|
24
|
+
"onClick",
|
|
25
|
+
"onDoubleClick",
|
|
26
|
+
"onMouseDown",
|
|
27
|
+
"onMouseUp",
|
|
28
|
+
"onPointerDown",
|
|
29
|
+
"onPointerUp",
|
|
30
|
+
"onTouchStart",
|
|
31
|
+
"onTouchEnd",
|
|
32
|
+
"onKeyDown",
|
|
33
|
+
"onKeyUp",
|
|
34
|
+
"onKeyPress"
|
|
35
|
+
];
|
|
36
|
+
function preventActivation(event) {
|
|
37
|
+
event.preventDefault();
|
|
38
|
+
}
|
|
39
|
+
const INERT_PROPS = {
|
|
40
|
+
"aria-disabled": true,
|
|
41
|
+
onClick: preventActivation
|
|
42
|
+
};
|
|
43
|
+
const EMPTY_PROPS = {};
|
|
44
|
+
/**
|
|
45
|
+
* Decides how the disabled state reaches the DOM.
|
|
46
|
+
*
|
|
47
|
+
* The native `disabled` attribute is the strongest option, but it also makes
|
|
48
|
+
* the browser swallow the events the element needs to open a tooltip. When
|
|
49
|
+
* such an element has to stay hoverable, it is marked `aria-disabled` instead
|
|
50
|
+
* and kept inert by blocking activation — the outcome a user sees is the same,
|
|
51
|
+
* except the tooltip now opens and screen readers still announce the state.
|
|
52
|
+
*/
|
|
53
|
+
function getDisabledElementProps({ isDisabled, keepEvents, as = "div" }) {
|
|
54
|
+
if (!isDisabled) return {
|
|
55
|
+
isNativelyDisabled: false,
|
|
56
|
+
isInert: false,
|
|
57
|
+
inertProps: EMPTY_PROPS
|
|
58
|
+
};
|
|
59
|
+
if (FORM_CONTROL_TAGS.has(as) && !keepEvents) return {
|
|
60
|
+
isNativelyDisabled: true,
|
|
61
|
+
isInert: false,
|
|
62
|
+
inertProps: EMPTY_PROPS
|
|
63
|
+
};
|
|
64
|
+
return {
|
|
65
|
+
isNativelyDisabled: false,
|
|
66
|
+
isInert: true,
|
|
67
|
+
inertProps: INERT_PROPS
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Removes the handlers that would activate an element which is disabled
|
|
72
|
+
* without the native attribute.
|
|
73
|
+
*/
|
|
74
|
+
function omitActivationEventProps(props) {
|
|
75
|
+
const result = { ...props };
|
|
76
|
+
for (const prop of ACTIVATION_EVENT_PROPS) delete result[prop];
|
|
77
|
+
return result;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
//#endregion
|
|
81
|
+
export { getDisabledElementProps, omitActivationEventProps };
|
|
82
|
+
//# sourceMappingURL=disabledProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disabledProps.js","names":[],"sources":["../../../src/utils/react/disabledProps.ts"],"sourcesContent":["import type { SyntheticEvent } from 'react';\nimport type { Props } from '../../props';\n\n/**\n * Tags where `disabled` is a real HTML attribute. Browsers refuse to dispatch\n * mouse events on those elements while the attribute is set, so nothing that\n * listens for hover — a tooltip trigger above all — ever hears from them.\n * On every other tag the attribute is invalid markup that does nothing.\n */\nconst FORM_CONTROL_TAGS = new Set([\n 'button',\n 'input',\n 'select',\n 'textarea',\n 'fieldset',\n 'option',\n 'optgroup',\n]);\n\n/**\n * Handlers that can activate an element. They are dropped while the element is\n * disabled through `aria-disabled` alone, so it stays as inert as a natively\n * disabled one.\n */\nconst ACTIVATION_EVENT_PROPS = [\n 'onClick',\n 'onDoubleClick',\n 'onMouseDown',\n 'onMouseUp',\n 'onPointerDown',\n 'onPointerUp',\n 'onTouchStart',\n 'onTouchEnd',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n] as const;\n\nfunction preventActivation(event: SyntheticEvent) {\n // Without the native attribute a click (or Enter/Space, which the browser\n // turns into a click) still runs the default action and would submit the\n // surrounding form.\n event.preventDefault();\n}\n\nconst INERT_PROPS: Props = {\n 'aria-disabled': true,\n onClick: preventActivation,\n};\n\nconst EMPTY_PROPS: Props = {};\n\nexport interface DisabledElementOptions {\n /** Whether the component is disabled. */\n isDisabled?: boolean;\n /**\n * Whether the element has to keep receiving pointer and focus events while\n * disabled. Set it when the element hosts a tooltip: the tooltip is there to\n * explain why the element is unavailable, so hover has to reach it.\n */\n keepEvents?: boolean;\n /** The tag the component renders. */\n as?: string;\n}\n\nexport interface DisabledElementProps {\n /** Whether the element has to carry the native `disabled` attribute. */\n isNativelyDisabled: boolean;\n /**\n * Whether the element is disabled through `aria-disabled` only and therefore\n * has to be kept inert by hand.\n */\n isInert: boolean;\n /** Props that mark the element disabled and inert. Spread them last. */\n inertProps: Props;\n}\n\n/**\n * Decides how the disabled state reaches the DOM.\n *\n * The native `disabled` attribute is the strongest option, but it also makes\n * the browser swallow the events the element needs to open a tooltip. When\n * such an element has to stay hoverable, it is marked `aria-disabled` instead\n * and kept inert by blocking activation — the outcome a user sees is the same,\n * except the tooltip now opens and screen readers still announce the state.\n */\nexport function getDisabledElementProps({\n isDisabled,\n keepEvents,\n as = 'div',\n}: DisabledElementOptions): DisabledElementProps {\n if (!isDisabled) {\n return {\n isNativelyDisabled: false,\n isInert: false,\n inertProps: EMPTY_PROPS,\n };\n }\n\n // The attribute only means something on form controls, and there it can be\n // kept whenever nothing depends on the element's events.\n if (FORM_CONTROL_TAGS.has(as) && !keepEvents) {\n return {\n isNativelyDisabled: true,\n isInert: false,\n inertProps: EMPTY_PROPS,\n };\n }\n\n return { isNativelyDisabled: false, isInert: true, inertProps: INERT_PROPS };\n}\n\n/**\n * Removes the handlers that would activate an element which is disabled\n * without the native attribute.\n */\nexport function omitActivationEventProps<T extends Props>(props: T): T {\n const result = { ...props };\n\n for (const prop of ACTIVATION_EVENT_PROPS) {\n delete result[prop];\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;AASA,MAAM,oBAAoB,IAAI,IAAI;CAChC;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;;;;;;AAOF,MAAM,yBAAyB;CAC7B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,SAAS,kBAAkB,OAAuB;AAIhD,OAAM,gBAAgB;;AAGxB,MAAM,cAAqB;CACzB,iBAAiB;CACjB,SAAS;CACV;AAED,MAAM,cAAqB,EAAE;;;;;;;;;;AAoC7B,SAAgB,wBAAwB,EACtC,YACA,YACA,KAAK,SAC0C;AAC/C,KAAI,CAAC,WACH,QAAO;EACL,oBAAoB;EACpB,SAAS;EACT,YAAY;EACb;AAKH,KAAI,kBAAkB,IAAI,GAAG,IAAI,CAAC,WAChC,QAAO;EACL,oBAAoB;EACpB,SAAS;EACT,YAAY;EACb;AAGH,QAAO;EAAE,oBAAoB;EAAO,SAAS;EAAM,YAAY;EAAa;;;;;;AAO9E,SAAgB,yBAA0C,OAAa;CACrE,MAAM,SAAS,EAAE,GAAG,OAAO;AAE3B,MAAK,MAAM,QAAQ,uBACjB,QAAO,OAAO;AAGhB,QAAO"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { chain } from "./chain.js";
|
|
3
|
+
import { DisabledElementOptions, DisabledElementProps, getDisabledElementProps, omitActivationEventProps } from "./disabledProps.js";
|
|
3
4
|
import { forwardRefWithGenerics } from "./forwardRefWithGenerics.js";
|
|
4
5
|
import { isTextOnly } from "./isTextOnly.js";
|
|
5
6
|
import { mergeProps } from "./mergeProps.js";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
|
|
2
2
|
import { chain } from "./chain.js";
|
|
3
|
+
import { getDisabledElementProps, omitActivationEventProps } from "./disabledProps.js";
|
|
3
4
|
import { forwardRefWithGenerics } from "./forwardRefWithGenerics.js";
|
|
4
5
|
import { isTextOnly } from "./isTextOnly.js";
|
|
5
6
|
import { useLayoutEffect } from "./useLayoutEffect.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
|
|
2
2
|
//#region src/utils/react/nullableValue.ts
|
|
3
3
|
function castNullableStringValue(props) {
|
|
4
4
|
return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
|
|
2
2
|
import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/utils/react/useEventBus.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
|
|
2
2
|
import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
|
|
3
3
|
import { useEffect, useRef, useState } from "react";
|
|
4
4
|
import { useSSRSafeId } from "@react-aria/ssr";
|
package/dist/utils/selection.js
CHANGED
package/dist/utils/styles.js
CHANGED
package/dist/utils/tree.js
CHANGED
package/dist/utils/warnings.js
CHANGED
package/dist/version.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.159.0 | Cube Dev Team */
|
|
2
2
|
//#region src/version.ts
|
|
3
|
-
const VERSION = "0.
|
|
3
|
+
const VERSION = "0.159.0";
|
|
4
4
|
const TASTY_VERSION = "3.0.1";
|
|
5
5
|
if (typeof window !== "undefined") {
|
|
6
6
|
const version = VERSION;
|
package/docs/Theming.md
CHANGED
|
@@ -25,11 +25,11 @@ value so this stays true.
|
|
|
25
25
|
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
|
|
26
26
|
| `hue` | **Accent** hue in degrees — the brand. Drives the `accent-*` family, `primary` / `purple` / `special`, and the brand-tinted `focus`, loading faces and disabled chip. | `280.3` |
|
|
27
27
|
| `baseHue` | **Base** hue in degrees — the neutral chrome: `surface` and its ladder, the `surface-text*` ramp, `border`, `placeholder`. | inherits `hue` |
|
|
28
|
-
| `saturation` | Seed saturation (0–100) for the `default` theme, and the fallback for every theme that sets none. | `
|
|
28
|
+
| `saturation` | Seed saturation (0–100) for the `default` theme, and the fallback for every theme that sets none. | `100` |
|
|
29
29
|
| `themes.<status>.hue` | Hue for `success` / `danger` / `warning` / `note`. | `156.9` / `23.1` / `84.3` / `302.3` |
|
|
30
30
|
| `themes.<status>.saturation` | Saturation for that status theme. | inherits `saturation` |
|
|
31
|
-
| `themes.code.saturation` | Saturation for the `code-*` syntax family. Hues are fixed, and this does **not** inherit `saturation
|
|
32
|
-
| `pastel` | Global. Relaxes the sRGB-safe chroma limit. Every theme except `code`. | `
|
|
31
|
+
| `themes.code.saturation` | Saturation for the `code-*` syntax family. Hues are fixed, and this does **not** inherit `saturation`, nor track its default. | `80` |
|
|
32
|
+
| `pastel` | Global. Relaxes the sRGB-safe chroma limit. Every theme except `code`. | `true` |
|
|
33
33
|
| `contrastLevel` | Global. `'auto'`, or a manual `0`–`100` level. | `'auto'` |
|
|
34
34
|
|
|
35
35
|
### The setter replaces
|
|
@@ -101,9 +101,12 @@ Syntax colors are their own theme with their own seed, so neither the brand hue
|
|
|
101
101
|
the palette saturation reaches them. Hues are absolute literals — a brand re-seeded
|
|
102
102
|
toward green would otherwise collide `code-string` with `code-number` (156°) — and
|
|
103
103
|
the saturation is fixed at `80` rather than inheriting, so muting the app cannot
|
|
104
|
-
wash out a code block. `
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
wash out a code block. That `80` is its own constant (`DEFAULT_CODE_SATURATION`),
|
|
105
|
+
deliberately not the palette default it once shared a value with: the app seed moved
|
|
106
|
+
to `100` with the pastel palette and the syntax colors stayed put, which is the whole
|
|
107
|
+
point of them not inheriting. `pastel` skips them for the same reason: it lowers
|
|
108
|
+
the chroma ceiling far enough to take `code-keyword` from ~0.19 to ~0.07,
|
|
109
|
+
collapsing the spread that keeps the syntax hues apart.
|
|
107
110
|
|
|
108
111
|
So `themes.code.saturation` is the only thing that moves them. Tune it on its own:
|
|
109
112
|
|
|
@@ -117,7 +120,8 @@ and saturation are pinned.
|
|
|
117
120
|
|
|
118
121
|
That separate seed is also a hard requirement, not a preference: a Glaze colour can
|
|
119
122
|
never exceed its own theme seed, and four of these sit at factor `1.0`. Inside a
|
|
120
|
-
default theme seeded below 80 they simply could not hold their chroma
|
|
123
|
+
default theme seeded below `80` they simply could not hold their chroma — which is
|
|
124
|
+
also why the pinned seed is a floor to respect rather than a number to tidy up.
|
|
121
125
|
|
|
122
126
|
### Inherited vs pinned
|
|
123
127
|
|
|
@@ -141,7 +145,7 @@ setPaletteConfig(({ baseHue, ...config }) => config);
|
|
|
141
145
|
An explicit `baseHue: undefined` is equivalent to omitting it; neither is a value.
|
|
142
146
|
|
|
143
147
|
`getPaletteConfig()` resolves everything, which loses that distinction — it cannot
|
|
144
|
-
tell you whether `
|
|
148
|
+
tell you whether `100` was chosen or inherited. `getPaletteConfigInput()` returns the
|
|
145
149
|
sparse config as set, which is what a settings UI needs to render an inherited value
|
|
146
150
|
as inherited and offer a way back:
|
|
147
151
|
|
|
@@ -337,11 +341,14 @@ and not per request:
|
|
|
337
341
|
|
|
338
342
|
## Caveats
|
|
339
343
|
|
|
340
|
-
**`pastel
|
|
341
|
-
outside the `code-*` family
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
the
|
|
344
|
+
**`pastel` is a redesign, not a filter — in either direction.** It changes every
|
|
345
|
+
resolved color outside the `code-*` family, and the shipped palette is now pastel
|
|
346
|
+
(`pastel: true`, seed `100`), so it is `pastel: false` that is the departure. The two
|
|
347
|
+
spaces want different seeds: pastel equalizes the chroma ceiling across hues, where
|
|
348
|
+
the non-pastel one is per-hue and lets warm hues run further. Flipping the flag alone
|
|
349
|
+
therefore re-tunes nothing — a seed picked in one space lands somewhere else in the
|
|
350
|
+
other, and the warm statuses move most. Re-tune the seeds alongside it, in whichever
|
|
351
|
+
direction you flip.
|
|
345
352
|
|
|
346
353
|
**Re-seeding costs about 10 ms.** Rebuilding the eight themes and re-solving
|
|
347
354
|
~156 tokens across four scheme variants is not free, though it is inside a frame.
|
|
@@ -179,8 +179,23 @@ import { IconPlus } from '@tabler/icons-react';
|
|
|
179
179
|
<Button tooltip={true} width="100px">
|
|
180
180
|
This text will be truncated
|
|
181
181
|
</Button>;
|
|
182
|
+
|
|
183
|
+
{
|
|
184
|
+
/* Explain why the button is unavailable */
|
|
185
|
+
}
|
|
186
|
+
<Button isDisabled tooltip="Not enough permissions">
|
|
187
|
+
Delete
|
|
188
|
+
</Button>;
|
|
182
189
|
```
|
|
183
190
|
|
|
191
|
+
A disabled button keeps showing its tooltip. Browsers stop dispatching mouse
|
|
192
|
+
events on elements carrying the native `disabled` attribute, so a button that
|
|
193
|
+
has a tooltip is marked with `aria-disabled` instead and kept inert: `onPress`
|
|
194
|
+
never fires and clicks (including the ones Enter and Space produce) do nothing.
|
|
195
|
+
Such a button also stays in the tab order, so keyboard users can focus it and
|
|
196
|
+
read the tooltip. Buttons rendered as links (`to`) are always marked this way,
|
|
197
|
+
since `disabled` is not a valid attribute on an anchor.
|
|
198
|
+
|
|
184
199
|
### Custom Size
|
|
185
200
|
|
|
186
201
|
```jsx
|
|
@@ -212,6 +227,8 @@ import { IconPlus } from '@tabler/icons-react';
|
|
|
212
227
|
|
|
213
228
|
- `aria-label`, `aria-labelledby` – Accessible name.
|
|
214
229
|
- `aria-pressed` – Managed automatically when `isSelected` is used.
|
|
230
|
+
- `aria-disabled` – Announces the disabled state whenever the native `disabled`
|
|
231
|
+
attribute cannot be used: on links, and on buttons that carry a tooltip.
|
|
215
232
|
- Additional ARIA attributes supported by React Aria's `useButton`.
|
|
216
233
|
|
|
217
234
|
## Behaviour Inside Popovers
|
|
@@ -388,8 +388,15 @@ By default, Item shows an auto tooltip when content overflows.
|
|
|
388
388
|
>
|
|
389
389
|
This shows custom tooltip only when text overflows
|
|
390
390
|
</Item>
|
|
391
|
+
|
|
392
|
+
{/* Explain why the item is unavailable */}
|
|
393
|
+
<Item isDisabled tooltip="Available on the Enterprise plan">
|
|
394
|
+
Row-level security
|
|
395
|
+
</Item>
|
|
391
396
|
```
|
|
392
397
|
|
|
398
|
+
A disabled item keeps showing its tooltip — that is usually where the reason for being unavailable is written. Browsers stop dispatching mouse events on elements carrying the native `disabled` attribute, so an item that has a tooltip is marked with `aria-disabled` instead and kept inert: activation handlers are dropped and clicks (including the ones Enter and Space produce) do nothing.
|
|
399
|
+
|
|
393
400
|
## Accessibility
|
|
394
401
|
|
|
395
402
|
### Keyboard Navigation
|
|
@@ -408,7 +415,7 @@ By default, Item shows an auto tooltip when content overflows.
|
|
|
408
415
|
### ARIA Properties
|
|
409
416
|
|
|
410
417
|
- `aria-label` - Provides accessible label when no visible label exists
|
|
411
|
-
- `aria-disabled` - Indicates disabled state
|
|
418
|
+
- `aria-disabled` - Indicates disabled state. The native `disabled` attribute is only added on top of it when the item renders as a form control (`as="button"`, for instance) and has no tooltip to keep hoverable
|
|
412
419
|
- `aria-selected` - Indicates selection state when applicable
|
|
413
420
|
- `tabIndex` - Controls focus behavior
|
|
414
421
|
|
|
@@ -61,7 +61,8 @@ and everything it knows about the query, in Cloud.
|
|
|
61
61
|
|
|
62
62
|
- **`shape`** `'plain' | 'card'` (default: `'plain'`)
|
|
63
63
|
- **`size`** `SizeName` (default: `'small'`) — An analytical grid packs more rows than a list.
|
|
64
|
-
- **`
|
|
64
|
+
- **`rowSize`** `'small' | 'medium' | 'large'` — Row height as a named step: 28px / 32px / 40px. Rows only; the header keeps answering to `size`. Unset, the height comes from `size`.
|
|
65
|
+
- **`rowHeight`** `number` — An exact height, when none of the named steps is the answer. Wins over both `rowSize` and `size`.
|
|
65
66
|
- **`headerHeight`** `number`
|
|
66
67
|
- **`isStriped`** `boolean` (default: `true`) — Banding is what makes a wide row readable across.
|
|
67
68
|
- **`isHeaderHidden`** `boolean`
|
|
@@ -109,6 +110,20 @@ and everything it knows about the query, in Cloud.
|
|
|
109
110
|
- **`columnWidths`** `Record<string, number>`
|
|
110
111
|
- **`defaultColumnWidths`** `Record<string, number>`
|
|
111
112
|
- **`onColumnResize`** `(columnKey: string, width: number, all: Record<string, number>) => void`
|
|
113
|
+
- **`isColumnReorderable`** `boolean` (default: `false`) — Drag column headers sideways to reorder them.
|
|
114
|
+
- **`columnOrder`** `string[]` — Controlled order, as column keys. Works with or without dragging.
|
|
115
|
+
- **`defaultColumnOrder`** `string[]`
|
|
116
|
+
- **`onColumnOrderChange`** `(order: string[]) => void` — The full key list, including hidden and pinned columns.
|
|
117
|
+
|
|
118
|
+
Per column, on `CubeDataTableColumn`: `isReorderable`, `color` and `colorScope` —
|
|
119
|
+
see [Column Colors](#column-colors) for the last two.
|
|
120
|
+
|
|
121
|
+
#### Column menu
|
|
122
|
+
|
|
123
|
+
- **`columnContextMenu`** `boolean | 'context-only'` (default: `true`) — Where a column's `header.menu` is exposed.
|
|
124
|
+
- **`onColumnMenuAction`** `(action: string, columnKey: string) => void` — The pressed key, as written.
|
|
125
|
+
- **`columnMenuTriggerProps`** `Record<string, any>`
|
|
126
|
+
- **`columnMenuProps`** `Record<string, any>`
|
|
112
127
|
|
|
113
128
|
#### Virtualization
|
|
114
129
|
|
|
@@ -119,7 +134,7 @@ and everything it knows about the query, in Cloud.
|
|
|
119
134
|
#### Other
|
|
120
135
|
|
|
121
136
|
- **`getRowProps`** `(ctx: CubeTableRowContext<T>) => Record<string, any>` — Per-row mods, styles and height.
|
|
122
|
-
- **`storageKey`** `string` — Persists page size and column
|
|
137
|
+
- **`storageKey`** `string` — Persists page size, column widths and column order.
|
|
123
138
|
- **`ariaLabel`** `string`
|
|
124
139
|
|
|
125
140
|
#### `dataType`
|
|
@@ -286,12 +301,113 @@ succeeds.
|
|
|
286
301
|
|
|
287
302
|
### States
|
|
288
303
|
|
|
304
|
+
### Sorting Affordance
|
|
305
|
+
|
|
306
|
+
A sortable header shows nothing at rest. Hover it — or focus it from the keyboard
|
|
307
|
+
— and the sort arrow fades in at 40%, pointing the way a press would sort it
|
|
308
|
+
(ascending, for a column that is currently unsorted). Press it and the arrow goes
|
|
309
|
+
solid and stays that way with the pointer gone, which is what separates a hint
|
|
310
|
+
from a state.
|
|
311
|
+
|
|
312
|
+
The arrow keeps its slot throughout, so none of this shifts the label. A
|
|
313
|
+
non-sortable column has no arrow at all — the hint is not a reason to render one.
|
|
314
|
+
|
|
315
|
+
### Column Menu
|
|
316
|
+
|
|
317
|
+
A column exposes a menu through `header.menu`, opened from a `⋮` trigger in the
|
|
318
|
+
header, by right-click, or with `Shift`+`F10`. The contents are opaque — the grid
|
|
319
|
+
mounts the node and reports the pressed key back through `onColumnMenuAction`,
|
|
320
|
+
which is what keeps Cube vocabulary out of the kit.
|
|
321
|
+
|
|
322
|
+
Sorting is the exception, because it is the one thing the table itself can do.
|
|
323
|
+
`columnSortMenu()` returns `sort-asc` / `sort-desc` / `clear-sort` items that the
|
|
324
|
+
table labels from the current locale, disables when they would do nothing, and
|
|
325
|
+
applies before telling the consumer. Everything else is yours:
|
|
326
|
+
|
|
327
|
+
```tsx
|
|
328
|
+
import { columnSortMenu, Menu } from '@cube-dev/ui-kit';
|
|
329
|
+
|
|
330
|
+
const columns = [
|
|
331
|
+
{
|
|
332
|
+
key: 'revenue',
|
|
333
|
+
title: 'Revenue',
|
|
334
|
+
isSortable: true,
|
|
335
|
+
header: {
|
|
336
|
+
menu: (
|
|
337
|
+
<>
|
|
338
|
+
{columnSortMenu()}
|
|
339
|
+
<Menu.Item key="pin">Pin column</Menu.Item>
|
|
340
|
+
</>
|
|
341
|
+
),
|
|
342
|
+
},
|
|
343
|
+
},
|
|
344
|
+
];
|
|
345
|
+
|
|
346
|
+
<DataTable
|
|
347
|
+
columns={columns}
|
|
348
|
+
onColumnMenuAction={(action, columnKey) => {
|
|
349
|
+
if (action === 'pin') pinColumn(columnKey);
|
|
350
|
+
}}
|
|
351
|
+
/>;
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
Pressing the trigger never sorts the column: the header's `Item` swallows the
|
|
355
|
+
click, which is why it sits *inside* the `<th>` rather than being it.
|
|
356
|
+
|
|
357
|
+
### Column Reordering
|
|
358
|
+
|
|
359
|
+
`isColumnReorderable` lets a user drag a header sideways, or move the focused
|
|
360
|
+
column with `Alt`+`←` / `→`. Clicking still sorts and the resize handle still
|
|
361
|
+
resizes.
|
|
362
|
+
|
|
363
|
+
Structural and pinned columns stay put — `pin` is already the ordering authority
|
|
364
|
+
for a pinned column — and a single column opts out with `isReorderable: false`.
|
|
365
|
+
`columnOrder` works on its own too, so a column manager elsewhere in the page can
|
|
366
|
+
drive the order without any dragging.
|
|
367
|
+
|
|
368
|
+
A stale order is safe: keys for columns that no longer exist are ignored, and a
|
|
369
|
+
column missing from the list lands after the neighbour it had in `columns`
|
|
370
|
+
rather than being swept to the end.
|
|
371
|
+
|
|
372
|
+
### Column Colors
|
|
373
|
+
|
|
374
|
+
`column.color` tints a whole column — header, cells and pinned totals. It takes a
|
|
375
|
+
palette theme name, any CSS color, a `{ hue, saturation }` seed, or a
|
|
376
|
+
`{ fill, text }` pair for full manual control.
|
|
377
|
+
|
|
378
|
+
Every form but the last is *derived*: only the hue and saturation are kept, and
|
|
379
|
+
the tone ramp plus an AA/AAA text floor are re-solved for light, dark and
|
|
380
|
+
high-contrast. A column cannot end up unreadable in a scheme nobody checked.
|
|
381
|
+
|
|
382
|
+
```tsx
|
|
383
|
+
const columns = [
|
|
384
|
+
{ key: 'orders', title: 'Orders', color: 'note' },
|
|
385
|
+
{ key: 'revenue', title: 'Revenue', color: 'success' },
|
|
386
|
+
{ key: 'conversion', title: 'Conversion', color: '#0ea5e9' },
|
|
387
|
+
// Header only, cells left neutral.
|
|
388
|
+
{ key: 'region', title: 'Region', color: 'danger', colorScope: ['header'] },
|
|
389
|
+
];
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
Row banding survives inside a tinted column: the tint carries its own band one
|
|
393
|
+
tone step away, so the stripe still reads down the column instead of being
|
|
394
|
+
painted over.
|
|
395
|
+
|
|
396
|
+
Under the hood each distinct color becomes a small adaptive theme named by a hash
|
|
397
|
+
of its config, registered once per document — so ten columns sharing a color cost
|
|
398
|
+
one set of tokens. That machinery is public as `useColorTheme` if you want it
|
|
399
|
+
elsewhere.
|
|
400
|
+
|
|
289
401
|
## Accessibility
|
|
290
402
|
|
|
291
403
|
The table is a `role="grid"` with document-absolute `aria-rowindex` /
|
|
292
404
|
`aria-colindex`, and `aria-rowcount` counts pinned rows. Every sorted column
|
|
293
405
|
carries `aria-sort`, not just the first.
|
|
294
406
|
|
|
407
|
+
A header cell takes a tab stop when it is interactive — sortable, carrying a
|
|
408
|
+
menu, or reorderable. `Shift`+`F10` opens the column menu from the keyboard, and
|
|
409
|
+
`Alt`+`←` / `→` moves a reorderable column, so neither needs a pointer.
|
|
410
|
+
|
|
295
411
|
## Related Components
|
|
296
412
|
|
|
297
413
|
- ItemTable — a list of things to act on.
|