@cube-dev/ui-kit 0.164.0 → 0.165.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 +17 -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.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 +140 -21
- package/dist/components/data/DataTable/DataTable.js.map +1 -1
- package/dist/components/data/DataTable/index.d.ts +1 -1
- package/dist/components/data/DataTable/types.d.ts +19 -4
- package/dist/components/data/ItemTable/ItemTable.js +169 -25
- package/dist/components/data/ItemTable/ItemTable.js.map +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/ItemTable/types.d.ts +7 -2
- 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 +30 -5
- package/dist/components/data/TableBase/TableRow.js.map +1 -1
- package/dist/components/data/TableBase/TableView.d.ts +2 -1
- package/dist/components/data/TableBase/TableView.js +299 -75
- package/dist/components/data/TableBase/TableView.js.map +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/index.d.ts +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 +75 -2
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-tree.js +129 -0
- package/dist/components/data/TableBase/table-tree.js.map +1 -0
- package/dist/components/data/TableBase/types.d.ts +46 -1
- 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.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 +4 -4
- package/dist/components/data/TableBase/use-table-search.js.map +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +124 -24
- package/dist/components/data/TableBase/use-table-selection.js.map +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 +107 -0
- package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -0
- package/dist/components/data/index.d.ts +2 -2
- 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 +8 -25
- package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +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 +10 -29
- package/dist/components/fields/TextArea/TextArea.js.map +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 +146 -0
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -0
- 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.d.ts +8 -5
- package/dist/components/layout/Board/Board.js +1 -1
- package/dist/components/layout/Board/Board.js.map +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 +7 -4
- package/dist/components/layout/Board/grid-core/collision-modes.js.map +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/grid-core/types.d.ts +6 -4
- 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 +90 -48
- package/dist/components/layout/Board/use-board-registry.js.map +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 +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 +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 +2 -1
- package/dist/i18n/locales/en-US/uikit.js +2 -1
- package/dist/i18n/locales/en-US/uikit.json.d.ts +1 -0
- package/dist/i18n/locales/es-ES/uikit.js +2 -1
- package/dist/i18n/locales/es-MX/uikit.js +2 -1
- package/dist/i18n/locales/fr-FR/uikit.js +2 -1
- package/dist/i18n/locales/it-IT/uikit.js +2 -1
- package/dist/i18n/locales/ja-JP/uikit.js +2 -1
- package/dist/i18n/locales/nb-NO/uikit.js +2 -1
- package/dist/i18n/locales/pt-BR/uikit.js +2 -1
- package/dist/i18n/locales/pt-PT/uikit.js +2 -1
- package/dist/i18n/locales/sv-SE/uikit.js +2 -1
- package/dist/i18n/locales/vi-VN/uikit.js +2 -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.d.ts +3 -3
- 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/Introduction.md +85 -97
- package/docs/Usage.md +26 -0
- package/docs/components/data/DataTable.md +110 -11
- package/docs/components/data/ItemTable.md +63 -1
- package/docs/components/layout/Board.md +6 -5
- package/docs/tasty/configuration.md +10 -6
- package/docs/tasty/dsl.md +99 -2
- package/docs/tasty/styles.md +3 -1
- package/package.json +2 -2
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +0 -2
- package/dist/components/portal/PortalProvider.d.ts +0 -2
|
@@ -30,9 +30,9 @@ API keys. That is the one with selection, bulk actions, row menus and row links.
|
|
|
30
30
|
## It knows nothing about Cube
|
|
31
31
|
|
|
32
32
|
Measures, dimensions, pivots, drill-downs and calculated fields never reach this
|
|
33
|
-
component as concepts. They arrive as
|
|
34
|
-
`column.header.menu` content — which is what keeps
|
|
35
|
-
and everything it knows about the query, in Cloud.
|
|
33
|
+
component as query concepts. They arrive as leaf columns, presentational column
|
|
34
|
+
groups, `render` output and `column.header.menu` content — which is what keeps
|
|
35
|
+
Cloud's column-header menu, and everything it knows about the query, in Cloud.
|
|
36
36
|
|
|
37
37
|
## Component
|
|
38
38
|
|
|
@@ -41,9 +41,19 @@ and everything it knows about the query, in Cloud.
|
|
|
41
41
|
#### Data
|
|
42
42
|
|
|
43
43
|
- **`data`** `readonly T[]` — The rows.
|
|
44
|
-
- **`columns`** `
|
|
44
|
+
- **`columns`** `CubeDataTableColumnDefinition<T>[]` — Leaf columns use the same
|
|
45
|
+
shape as `ItemTable`'s, plus `dataType`; group nodes contain nested `children`.
|
|
45
46
|
- **`rowKey`** `string` (default: `'id'`) — Property to read the row identity from.
|
|
46
47
|
- **`getRowKey`** `(row: T, index: number) => Key` — Wins over `rowKey`.
|
|
48
|
+
- **`getRowChildren`** `(row: T) => readonly T[] | undefined` — Enables nested
|
|
49
|
+
treegrid rows; `data` contains roots.
|
|
50
|
+
- **`treeColumnKey`** `string` — Indented disclosure column. Defaults to the
|
|
51
|
+
first visible data column.
|
|
52
|
+
- **`expandedKeys`** `Key[]` — Controlled expansion.
|
|
53
|
+
- **`defaultExpandedKeys`** `Key[]` — Initial expansion. Nothing is expanded by
|
|
54
|
+
default.
|
|
55
|
+
- **`onExpand`** `(keys, info) => void` — Reports the resulting keys and toggled
|
|
56
|
+
row metadata.
|
|
47
57
|
- **`pinnedTopRows`** `readonly T[]` — Rows stuck to the top of the scroller. Ordinary rows as far as the columns are concerned.
|
|
48
58
|
- **`pinnedBottomRows`** `readonly T[]` — The same, at the bottom. This is where totals go.
|
|
49
59
|
|
|
@@ -63,10 +73,13 @@ and everything it knows about the query, in Cloud.
|
|
|
63
73
|
- **`size`** `SizeName` (default: `'small'`) — An analytical grid packs more rows than a list.
|
|
64
74
|
- **`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
75
|
- **`rowHeight`** `number` — An exact height, when none of the named steps is the answer. Wins over both `rowSize` and `size`.
|
|
66
|
-
- **`headerHeight`** `number`
|
|
76
|
+
- **`headerHeight`** `number` — Exact height of each header row in px.
|
|
67
77
|
- **`isStriped`** `boolean` (default: `true`) — Banding is what makes a wide row readable across.
|
|
68
78
|
- **`isHeaderHidden`** `boolean`
|
|
69
79
|
- **`isHeaderSticky`** `boolean` (default: `true`)
|
|
80
|
+
- **`isAutoHeight`** `boolean` (default: `false`) — Shrink-wraps the frame to
|
|
81
|
+
the rendered rows instead of filling its flex pane. It takes precedence over
|
|
82
|
+
root height/flex sizing and disables virtualization.
|
|
70
83
|
- **`isRowMoveAnimated`** `boolean` (default: `true`) — Slide rows to their new positions when the order changes, instead of teleporting them. Respects `prefers-reduced-motion`.
|
|
71
84
|
- **`showRowNumbers`** `boolean` (default: `false`) — A continuous count down the side, which stays continuous across pages.
|
|
72
85
|
|
|
@@ -127,7 +140,7 @@ see [Column Colors](#column-colors) for the last two.
|
|
|
127
140
|
|
|
128
141
|
#### Virtualization
|
|
129
142
|
|
|
130
|
-
- **`isVirtualized`** `boolean | 'auto'` (default: `'auto'`) — On when the grid is height-bounded and has more rows than the threshold.
|
|
143
|
+
- **`isVirtualized`** `boolean | 'auto'` (default: `'auto'`) — On when the grid is height-bounded and has more rows than the threshold. Ignored when `isAutoHeight` is enabled.
|
|
131
144
|
- **`virtualizeThreshold`** `number`
|
|
132
145
|
- **`overscan`** `number`
|
|
133
146
|
|
|
@@ -136,6 +149,9 @@ see [Column Colors](#column-colors) for the last two.
|
|
|
136
149
|
- **`getRowProps`** `(ctx: CubeTableRowContext<T>) => Record<string, any>` — Per-row mods, styles and height.
|
|
137
150
|
- **`storageKey`** `string` — Persists page size, column widths and column order.
|
|
138
151
|
- **`ariaLabel`** `string`
|
|
152
|
+
- **`isChecked`** `boolean` — Base checked-state modifier.
|
|
153
|
+
- **`place`** `string` — Tasty placement shorthand on the root frame.
|
|
154
|
+
- **`scrollMargin`** `string | number` — Scroll margin on the root frame.
|
|
139
155
|
|
|
140
156
|
#### `dataType`
|
|
141
157
|
|
|
@@ -159,9 +175,10 @@ Customizes the root frame. Every internal part of the grid is a **sub-element**
|
|
|
159
175
|
reachable from this one prop — the same contract, and the same sub-element
|
|
160
176
|
names, as ItemTable.
|
|
161
177
|
|
|
162
|
-
`DataTable` adds
|
|
163
|
-
no-results and error content
|
|
164
|
-
|
|
178
|
+
`DataTable` adds `StateCell`, the full-span cell that carries the empty,
|
|
179
|
+
no-results and error content, and `HeaderGroupCell`, a spanning cell in a
|
|
180
|
+
multi-row header. `StateCell` is deliberately not a `Cell`, so it takes none of
|
|
181
|
+
the row's banding or hover paint.
|
|
165
182
|
|
|
166
183
|
#### Targeted slots
|
|
167
184
|
|
|
@@ -204,6 +221,72 @@ body into a scroller, pins the header, and lets virtualization engage at all.
|
|
|
204
221
|
Cell-level, in addition to `ItemTable`'s: `cell-selected`, `last-column`,
|
|
205
222
|
`pinned`.
|
|
206
223
|
|
|
224
|
+
## Pivoted Results and Column Groups
|
|
225
|
+
|
|
226
|
+
Pass group nodes in `columns` to render real multi-row headers. Groups may nest
|
|
227
|
+
to any depth; their `children` eventually resolve to ordinary leaf columns, and
|
|
228
|
+
only those leaves participate in sorting, resizing, ranges and copying.
|
|
229
|
+
|
|
230
|
+
```jsx
|
|
231
|
+
const columns = [
|
|
232
|
+
{ key: 'region', title: 'Region', pin: 'start' },
|
|
233
|
+
{
|
|
234
|
+
key: 'organic',
|
|
235
|
+
title: 'Organic',
|
|
236
|
+
children: [
|
|
237
|
+
{ key: 'organic_orders', title: 'Orders', dataType: 'number' },
|
|
238
|
+
{ key: 'organic_revenue', title: 'Revenue', dataType: 'number' },
|
|
239
|
+
],
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
key: 'paid',
|
|
243
|
+
title: 'Paid',
|
|
244
|
+
children: [
|
|
245
|
+
{ key: 'paid_orders', title: 'Orders', dataType: 'number' },
|
|
246
|
+
{ key: 'paid_revenue', title: 'Revenue', dataType: 'number' },
|
|
247
|
+
],
|
|
248
|
+
},
|
|
249
|
+
];
|
|
250
|
+
|
|
251
|
+
<DataTable data={pivotRows} columns={columns} isAutoHeight />;
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
The data/query layer still owns the pivot calculation. DataTable only renders
|
|
255
|
+
the already-shaped rows and generated column hierarchy. Leaf resizing and
|
|
256
|
+
sorting remain available; drag column reordering is ignored while groups are
|
|
257
|
+
present because moving one leaf cannot preserve an arbitrary hierarchy.
|
|
258
|
+
|
|
259
|
+
## Tree Rows
|
|
260
|
+
|
|
261
|
+
Tree mode uses the same nested-data contract as `ItemTable`:
|
|
262
|
+
|
|
263
|
+
```jsx
|
|
264
|
+
<DataTable
|
|
265
|
+
data={regions}
|
|
266
|
+
columns={columns}
|
|
267
|
+
getRowChildren={(row) => row.children}
|
|
268
|
+
treeColumnKey="region"
|
|
269
|
+
defaultExpandedKeys={['americas']}
|
|
270
|
+
/>
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
Multi-sort is recursive: every sibling collection is sorted by the same
|
|
274
|
+
precedence. Client pagination slices roots and keeps complete subtrees together;
|
|
275
|
+
server pages are rendered exactly as supplied and `total` counts roots. Pinned
|
|
276
|
+
rows remain ordinary non-hierarchical totals.
|
|
277
|
+
|
|
278
|
+
Only visible descendants participate in cell ranges and virtualization.
|
|
279
|
+
Collapsing a range endpoint makes the effective range inactive; a controlled or
|
|
280
|
+
uncontrolled range is restored when that endpoint becomes visible again. Client
|
|
281
|
+
row numbers remain continuous across root pages, while server tree pages restart
|
|
282
|
+
at 1 because preceding descendant counts are unknown.
|
|
283
|
+
|
|
284
|
+
The native table exposes `role="treegrid"`, `aria-level`, `aria-expanded`,
|
|
285
|
+
`aria-posinset` and `aria-setsize`. Right/Left expand, collapse or move to the
|
|
286
|
+
parent; Up/Down traverse visible rows, and typeahead reads `treeColumnKey`.
|
|
287
|
+
Customize the hierarchy chrome with `styles.TreeContent`, `styles.TreeToggle`
|
|
288
|
+
and `styles.TreeValue`.
|
|
289
|
+
|
|
207
290
|
## Examples
|
|
208
291
|
|
|
209
292
|
### Multi-Column Sorting
|
|
@@ -241,6 +324,20 @@ competing for a position.
|
|
|
241
324
|
Above `virtualizeThreshold` a bounded grid virtualizes on its own, so
|
|
242
325
|
`paginationMode="off"` is a reasonable default for a result the user scrolls.
|
|
243
326
|
|
|
327
|
+
For a compact result that should participate in normal page flow, set
|
|
328
|
+
`isAutoHeight`. The frame then ends at the last rendered row rather than filling
|
|
329
|
+
its flex pane. This renders the complete result and disables virtualization, so
|
|
330
|
+
keep larger results bounded instead.
|
|
331
|
+
|
|
332
|
+
```jsx
|
|
333
|
+
<DataTable
|
|
334
|
+
data={summaryRows}
|
|
335
|
+
columns={columns}
|
|
336
|
+
paginationMode="off"
|
|
337
|
+
isAutoHeight
|
|
338
|
+
/>
|
|
339
|
+
```
|
|
340
|
+
|
|
244
341
|
### Sorting Moves Rows
|
|
245
342
|
|
|
246
343
|
When a sort reorders rows, they slide to their new positions over 120ms rather
|
|
@@ -401,8 +498,10 @@ elsewhere.
|
|
|
401
498
|
## Accessibility
|
|
402
499
|
|
|
403
500
|
The table is a `role="grid"` with document-absolute `aria-rowindex` /
|
|
404
|
-
`aria-colindex`, and `aria-rowcount` counts pinned rows
|
|
405
|
-
|
|
501
|
+
`aria-colindex`, and `aria-rowcount` counts pinned rows and every visible header
|
|
502
|
+
row. Group cells use native `scope="colgroup"` / `colSpan`; ungrouped leaf
|
|
503
|
+
headers span the remaining rows. Every sorted leaf column carries `aria-sort`,
|
|
504
|
+
not just the first.
|
|
406
505
|
|
|
407
506
|
A header cell takes a tab stop when it is interactive — sortable, carrying a
|
|
408
507
|
menu, or reorderable. `Shift`+`F10` opens the column menu from the keyboard, and
|
|
@@ -31,6 +31,14 @@ pivots, totals. Use `ListBox` when there is only one column.
|
|
|
31
31
|
- **`columns`** `CubeItemTableColumn<T>[]` — Column definitions. See below.
|
|
32
32
|
- **`rowKey`** `string` (default: `'id'`) — Property used as the row key.
|
|
33
33
|
- **`getRowKey`** `(row: T, index: number) => Key` — Wins over `rowKey`.
|
|
34
|
+
- **`getRowChildren`** `(row: T) => readonly T[] | undefined` — Enables tree
|
|
35
|
+
mode. `data` then contains top-level rows and children are read recursively.
|
|
36
|
+
- **`treeColumnKey`** `string` — Column containing indentation and the
|
|
37
|
+
disclosure control. Defaults to the first visible data column.
|
|
38
|
+
- **`expandedKeys`** `Key[]` — Controlled expanded rows.
|
|
39
|
+
- **`defaultExpandedKeys`** `Key[]` — Initially expanded rows. Defaults to none.
|
|
40
|
+
- **`onExpand`** `(keys, info) => void` — Reports the complete expanded-key list
|
|
41
|
+
and the toggled row, key, zero-based level, parent key and resulting state.
|
|
34
42
|
- **`isLoading`** `boolean` (default: `false`) — Marks a fetch in flight. What
|
|
35
43
|
the user sees depends on `loadingIndicator`.
|
|
36
44
|
- **`loadingIndicator`** `'overlay' | 'skeleton' | 'none'` (default: `'overlay'`)
|
|
@@ -65,6 +73,9 @@ pivots, totals. Use `ListBox` when there is only one column.
|
|
|
65
73
|
row and drops it from `aria-rowcount`.
|
|
66
74
|
- **`isHeaderSticky`** `boolean` (default: `true`) — Pins the column header
|
|
67
75
|
while the body scrolls.
|
|
76
|
+
- **`isAutoHeight`** `boolean` (default: `false`) — Shrink-wraps the frame to
|
|
77
|
+
the rendered rows instead of filling its flex pane. It takes precedence over
|
|
78
|
+
root height/flex sizing and disables virtualization.
|
|
68
79
|
- **`sortMode`** `'client' | 'server' | 'off'` (default: `'client'` when any
|
|
69
80
|
column is sortable, else `'off'`) — `client` reorders `data` itself; `server`
|
|
70
81
|
only reflects `sort` and fires `onSortChange`; `off` removes the affordance.
|
|
@@ -96,7 +107,8 @@ pivots, totals. Use `ListBox` when there is only one column.
|
|
|
96
107
|
toolbar.
|
|
97
108
|
- **`isVirtualized`** `boolean | 'auto'` (default: `'auto'`) — `'auto'` turns
|
|
98
109
|
virtualization on once the row count passes `virtualizeThreshold`. It needs a
|
|
99
|
-
bounded height to have a viewport to work against
|
|
110
|
+
bounded height to have a viewport to work against and is ignored when
|
|
111
|
+
`isAutoHeight` is enabled.
|
|
100
112
|
- **`virtualizeThreshold`** `number` (default: `50`) — Row count above which
|
|
101
113
|
`'auto'` virtualizes.
|
|
102
114
|
- **`overscan`** `number` (default: `12`) — Rows mounted beyond each viewport
|
|
@@ -117,6 +129,10 @@ pivots, totals. Use `ListBox` when there is only one column.
|
|
|
117
129
|
- **`selectionTooltip`** `string | ((row: T) => string | undefined)` — Explains
|
|
118
130
|
an inert checkbox.
|
|
119
131
|
- **`disabledKeys`** `Key[]` — Rows that cannot be interacted with at all.
|
|
132
|
+
- **`treeSelectionBehavior`** `'cascade' | 'independent'` (default: `'cascade'`
|
|
133
|
+
in tree mode) — Multiple selection only. Cascade selects eligible descendants
|
|
134
|
+
and derives checked or indeterminate ancestors; single selection is always
|
|
135
|
+
independent.
|
|
120
136
|
- **`rowLink`** `(row: T, index: number) => NavigateArg | undefined` — Turns the
|
|
121
137
|
row-header cell into a stretched link covering the whole row. Return
|
|
122
138
|
`undefined` for a row that should not navigate.
|
|
@@ -207,6 +223,9 @@ pivots, totals. Use `ListBox` when there is only one column.
|
|
|
207
223
|
- **`getRowProps`** `(ctx) => { isDimmed?, mods?, styles?, height?, qa?, tooltip? }`
|
|
208
224
|
— Per-row visuals.
|
|
209
225
|
- **`ariaLabel`** `string` — Labels the grid.
|
|
226
|
+
- **`isChecked`** `boolean` — Base checked-state modifier.
|
|
227
|
+
- **`place`** `string` — Tasty placement shorthand on the root frame.
|
|
228
|
+
- **`scrollMargin`** `string | number` — Scroll margin on the root frame.
|
|
210
229
|
|
|
211
230
|
#### `CubeItemTableColumn<T>`
|
|
212
231
|
|
|
@@ -291,6 +310,8 @@ reachable from this one prop — that is the whole styling contract.
|
|
|
291
310
|
- `Table` — the `<table>`
|
|
292
311
|
- `Head`, `HeadRow`, `HeaderCell` — the column header
|
|
293
312
|
- `Body`, `Row`, `Cell` — the data rows
|
|
313
|
+
- `TreeContent`, `TreeToggle`, `TreeValue` — indentation, disclosure/leaf
|
|
314
|
+
placeholder, and the consumer-rendered value in the tree column
|
|
294
315
|
- `SortIndicator` — the sort arrow, inside the header `Item`'s suffix
|
|
295
316
|
- `Foot`, `FootRow`, `FootCell` — pinned totals
|
|
296
317
|
- `StateContent` — the empty / no-results / error content
|
|
@@ -390,6 +411,39 @@ Row-level modifiers, set on each `<tr>`: `odd`, `selected`, `focused`, `dimmed`,
|
|
|
390
411
|
/>
|
|
391
412
|
```
|
|
392
413
|
|
|
414
|
+
### Tree Rows
|
|
415
|
+
|
|
416
|
+
Supplying `getRowChildren` changes the root to `role="treegrid"`. Rows keep their
|
|
417
|
+
original objects; keys must be unique across the complete hierarchy.
|
|
418
|
+
|
|
419
|
+
```jsx
|
|
420
|
+
<ItemTable
|
|
421
|
+
data={folders}
|
|
422
|
+
columns={columns}
|
|
423
|
+
getRowChildren={(row) => row.children}
|
|
424
|
+
treeColumnKey="name"
|
|
425
|
+
defaultExpandedKeys={['production']}
|
|
426
|
+
selectionMode="multiple"
|
|
427
|
+
/>
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
Client sorting runs independently within every sibling collection. Client
|
|
431
|
+
search retains ancestor paths; a matching parent keeps its complete subtree,
|
|
432
|
+
and required branches open temporarily without changing `expandedKeys`. Client
|
|
433
|
+
pagination counts and slices roots, keeping each subtree on its parent's page.
|
|
434
|
+
Server modes treat the supplied nested page as already processed, and `total`
|
|
435
|
+
counts roots.
|
|
436
|
+
|
|
437
|
+
The chevron and Right/Left arrows expand or collapse. Up/Down traverse visible
|
|
438
|
+
rows, typeahead uses the tree column, and Left on a collapsed child moves to its
|
|
439
|
+
parent. Ordinary row clicks still activate `onRowAction`/`rowLink`; the
|
|
440
|
+
disclosure does not. Select-all includes collapsed descendants. Disabled and
|
|
441
|
+
unselectable descendants are excluded from cascade.
|
|
442
|
+
|
|
443
|
+
Tree mode ignores `isReorderable`, because a flat reordered array cannot encode
|
|
444
|
+
parents. `dropOnRow` remains available for folder moves; self/descendant cycles
|
|
445
|
+
are rejected and selected descendants are collapsed under a dragged ancestor.
|
|
446
|
+
|
|
393
447
|
### Custom Cells
|
|
394
448
|
|
|
395
449
|
```jsx
|
|
@@ -668,6 +722,14 @@ DOM and the styles are identical either way — only the number of mounted rows
|
|
|
668
722
|
changes, so sorting, search, pinned columns and the sticky header all behave the
|
|
669
723
|
same.
|
|
670
724
|
|
|
725
|
+
For a compact list in normal page flow, set `isAutoHeight`. Its frame then ends
|
|
726
|
+
at the final rendered row instead of filling the surrounding flex pane. The
|
|
727
|
+
complete result is rendered, so keep large lists bounded and virtualized.
|
|
728
|
+
|
|
729
|
+
```jsx
|
|
730
|
+
<ItemTable data={recentRows} columns={columns} paginationMode="off" isAutoHeight />
|
|
731
|
+
```
|
|
732
|
+
|
|
671
733
|
```jsx
|
|
672
734
|
<ItemTable height="420px" paginationMode="off" data={tenThousandRows} columns={columns} />
|
|
673
735
|
```
|
|
@@ -61,7 +61,7 @@ clipped by an ancestor's `overflow: hidden`.
|
|
|
61
61
|
- **`compact`** `'vertical' | 'horizontal' | 'free' | null` (default: `'vertical'`) — Compaction behavior. `'vertical'`/`'horizontal'` reflow widgets to remove gaps; `'free'` places each widget exactly where dropped and never pushes its neighbours (blocked from occupied cells unless `allowOverlap`); `null` disables compaction but still resolves collisions the legacy react-grid-layout way.
|
|
62
62
|
- **`allowOverlap`** `boolean` (default: `false`) — Allow widgets to overlap (stack). In `'free'` mode this is what distinguishes stacking from blocking a drop onto an occupied cell.
|
|
63
63
|
- **`preventCollision`** `boolean` (default: `false`) — Block movement into occupied cells instead of pushing.
|
|
64
|
-
- **`collisionMode`** `'revert' | 'downscale' | 'swap'` (default: `'revert'`) — How to resolve a drop the grid would otherwise refuse. Only applies where a collision *blocks* a move — `compact="free"` (which prevents collisions) or an explicit `preventCollision` — and never under `allowOverlap`, where nothing is blocked. `'revert'` snaps the widget back. `'downscale'` shrinks it into the free space at the drop cell, growing rightward and downward, floored at its `minW`/`minH` (below that it reverts). `'swap'` trades places with **one** widget — the one the drop covers most — which takes the cell the drag began at, each keeping as much of its own size as fits there
|
|
64
|
+
- **`collisionMode`** `'revert' | 'downscale' | 'swap'` (default: `'revert'`) — How to resolve a drop the grid would otherwise refuse. Only applies where a collision *blocks* a move — `compact="free"` (which prevents collisions) or an explicit `preventCollision` — and never under `allowOverlap`, where nothing is blocked. `'revert'` snaps the widget back. `'downscale'` shrinks it into the free space at the drop cell, growing rightward and downward, floored at its `minW`/`minH` (below that it reverts). Within one board, `'swap'` trades places with **one** widget — the one the drop covers most — which takes the cell the drag began at, each keeping as much of its own size as fits there. It never displaces more than that one widget. A drop straddling two widgets trades with one of them rather than refusing, so the swap never blinks away as you sweep across a boundary; ties go to the widget earlier in reading order. Dragging back retraces the original arrangement exactly. For a widget arriving from another board (including a nested board entering its parent), the destination board's `'swap'` mode becomes strict insertion: the requested anchor cell must be empty, the incoming widget keeps its size when possible or downscales into the available room to its right and below, and existing destination widgets are neither exchanged nor reflowed. Releasing over an occupied anchor or where `minW`/`minH` cannot fit cancels the transfer and restores both boards; it does not reuse the last valid preview or search for another slot. No mode ever *grows* a widget. Applies to single-widget drags. Arrow keys honour it too but never resize anything — each press is a gesture of its own, so a press that shrank a widget would have nothing to restore from, and only an exchange that fits outright is allowed. A multi-widget selection still only moves where it fits outright, and a resize is still blocked by a collision.
|
|
65
65
|
- **`isDraggable`** `boolean` (default: `true`) — Enable dragging for all widgets.
|
|
66
66
|
- **`isResizable`** `boolean` (default: `true`) — Enable resizing for all widgets.
|
|
67
67
|
- **`isDroppable`** `boolean` (default: `true`) — Whether the board accepts widgets dropped from other boards.
|
|
@@ -252,10 +252,11 @@ so it lines up with a control centred on the opposite corner.
|
|
|
252
252
|
### Resolving a blocked drop
|
|
253
253
|
|
|
254
254
|
On a free grid a drop onto occupied cells is refused. `collisionMode` resolves it
|
|
255
|
-
instead: `'downscale'` shrinks the widget into whatever room is at the drop cell
|
|
256
|
-
`'swap'` trades places with the widget already there.
|
|
257
|
-
|
|
258
|
-
|
|
255
|
+
instead: `'downscale'` shrinks the widget into whatever room is at the drop cell.
|
|
256
|
+
Within one board, `'swap'` trades places with the widget already there. Across
|
|
257
|
+
boards, the same mode inserts only at an empty anchor and downscales without
|
|
258
|
+
moving destination widgets; an invalid release cancels the transfer. None of
|
|
259
|
+
these paths ever grows a widget. The examples below show all three behaviors.
|
|
259
260
|
|
|
260
261
|
### Card widgets
|
|
261
262
|
|
|
@@ -78,7 +78,7 @@ These docs use `data-schema="dark"` in examples. If your app already standardize
|
|
|
78
78
|
|
|
79
79
|
## Color Space
|
|
80
80
|
|
|
81
|
-
Controls the CSS color space used for decomposed color token companion variables. When you define `#name` color tokens, tasty generates both `--name-color` (
|
|
81
|
+
Controls the CSS color space used for decomposed color token companion variables. When you define `#name` color tokens, tasty generates both `--name-color` (the color) and `--name-color-{suffix}` (its channels, decomposed).
|
|
82
82
|
|
|
83
83
|
```jsx
|
|
84
84
|
configure({
|
|
@@ -86,13 +86,17 @@ configure({
|
|
|
86
86
|
});
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
-
| Color Space | Suffix | Components Format |
|
|
89
|
+
| Color Space | Suffix | Components Format | Channel Reference |
|
|
90
90
|
|---|---|---|---|
|
|
91
|
-
| `rgb` | `-rgb` | `255 128 0` | `rgb(var(--name-color-rgb)
|
|
92
|
-
| `hsl` | `-hsl` | `300 100% 25%` | `hsl(var(--name-color-hsl)
|
|
93
|
-
| `oklch` | `-oklch` | `0.42 0.16 328` | `oklch(var(--name-color-oklch)
|
|
91
|
+
| `rgb` | `-rgb` | `255 128 0` | `rgb(var(--name-color-rgb))` |
|
|
92
|
+
| `hsl` | `-hsl` | `300 100% 25%` | `hsl(var(--name-color-hsl))` |
|
|
93
|
+
| `oklch` | `-oklch` | `0.42 0.16 328` | `oklch(var(--name-color-oklch))` |
|
|
94
94
|
|
|
95
|
-
The `oklch` color space is the default because it provides perceptually uniform color manipulation —
|
|
95
|
+
The `oklch` color space is the default because it provides perceptually uniform color manipulation — reaching for a channel to shift lightness or hue produces more natural-looking results.
|
|
96
|
+
|
|
97
|
+
The companion is there so you can *address the channels*: shift a lightness, animate a hue, build a derived color. It is not how the [opacity suffix](dsl.md#color-tokens--opacity) works — that sets the alpha on `--name-color` itself with relative color syntax, so it needs nothing from the companion and works on any color.
|
|
98
|
+
|
|
99
|
+
A color the engine cannot evaluate at build time — a `color-mix()`, a `light-dark()`, a `color()` in a space it has no conversion for — has no channels to decompose, so its companion is expressed *by reference* using CSS relative color syntax (`--name-color-oklch: from color-mix(…) l c h`). Reading a channel off it still works; the browser resolves them.
|
|
96
100
|
|
|
97
101
|
---
|
|
98
102
|
|
package/docs/tasty/dsl.md
CHANGED
|
@@ -111,7 +111,7 @@ const List = tasty({
|
|
|
111
111
|
Named color prefixed with `#` that maps to CSS custom properties. Supports opacity with `.N` suffix:
|
|
112
112
|
|
|
113
113
|
```jsx
|
|
114
|
-
fill: '#purple.5' // → var(--purple-color)
|
|
114
|
+
fill: '#purple.5' // → oklch(from var(--purple-color) l c h / .5)
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
### Modifier
|
|
@@ -133,11 +133,108 @@ Modifiers can also be exposed as top-level component props via `modProps` — se
|
|
|
133
133
|
color: '#purple', // Full opacity
|
|
134
134
|
color: '#purple.5', // 50% opacity
|
|
135
135
|
color: '#purple.05', // 5% opacity
|
|
136
|
+
color: '#purple.$fade', // Opacity from a custom property
|
|
136
137
|
fill: '#current', // → currentcolor
|
|
137
|
-
fill: '#current.5', // → color-mix(in oklab, currentcolor 50%, transparent)
|
|
138
138
|
color: '(#primary, #secondary)', // Fallback syntax
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
+
The suffix sets the alpha on the token's color with CSS relative color syntax:
|
|
142
|
+
|
|
143
|
+
```jsx
|
|
144
|
+
fill: '#purple.5';
|
|
145
|
+
// → oklch(from var(--purple-color) l c h / .5)
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
The channels are copied over and the alpha slot is written, which asks nothing of
|
|
149
|
+
the color beyond *being* a color. That means the suffix works on every one of
|
|
150
|
+
these:
|
|
151
|
+
|
|
152
|
+
- a token holding a `color-mix()`, a `light-dark()`, or a `color()` in a space
|
|
153
|
+
Tasty cannot convert — none of which have channels to decompose
|
|
154
|
+
- `#current`, which resolves to `currentcolor`
|
|
155
|
+
- a `--name-color` variable declared in your own CSS, with no Tasty token
|
|
156
|
+
definition and no companion variable behind it
|
|
157
|
+
|
|
158
|
+
Two properties follow from writing the alpha slot rather than compositing:
|
|
159
|
+
|
|
160
|
+
- **Alpha is replaced, not multiplied.** A token holding `rgb(255 0 0 / .8)`
|
|
161
|
+
faded to `.5` is alpha `.5`, not `.4`.
|
|
162
|
+
- **The alpha may be a number or a percentage.** `#purple.$fade` emits
|
|
163
|
+
`/ var(--fade)` unchanged, so it works whether `$fade` holds `.5` or `50%` —
|
|
164
|
+
which is what `--*-opacity` properties are registered to accept.
|
|
165
|
+
|
|
166
|
+
### `#current` composes instead
|
|
167
|
+
|
|
168
|
+
`#current` is the one exception, and the difference is deliberate. A token *names*
|
|
169
|
+
a color, so fading it sets its alpha. `currentcolor` is the color an element
|
|
170
|
+
**inherits**, which an ancestor may already have faded — `#current.4` means "40%
|
|
171
|
+
of what reaches me":
|
|
172
|
+
|
|
173
|
+
```jsx
|
|
174
|
+
fill: '#current.4';
|
|
175
|
+
// → color-mix(in oklab, currentcolor 40%, transparent)
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
So a `#current` fade nested inside another one composes: a label at `#current.4`
|
|
179
|
+
with a fill of `#current.18` under it lands at `.072`. Color ramps built on
|
|
180
|
+
`#current` depend on that — replacing would double the opacity of every nested
|
|
181
|
+
step. Because a `color-mix()` percentage cannot be a `<number>`, an opacity
|
|
182
|
+
custom property used as `#current.$fade` must hold a unitless number; a token
|
|
183
|
+
accepts either form.
|
|
184
|
+
|
|
185
|
+
The space is always `oklch`, whatever [`colorSpace`](configuration.md#color-space)
|
|
186
|
+
is set to: it is unbounded, so a wide-gamut color survives a round trip that a
|
|
187
|
+
gamut-limited space would clamp.
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## CSS Color Functions
|
|
192
|
+
|
|
193
|
+
Every CSS color function is recognized as a color, so it lands in the color slot
|
|
194
|
+
of whichever style property you use it in — and tokens inside it are expanded:
|
|
195
|
+
|
|
196
|
+
```jsx
|
|
197
|
+
fill: 'color-mix(in oklab, #primary 50%, #surface)',
|
|
198
|
+
color: 'light-dark(#dark, #light)',
|
|
199
|
+
color: 'contrast-color(#primary)',
|
|
200
|
+
fill: 'color(display-p3 1 .5 0)',
|
|
201
|
+
border: '1bw solid oklch(from #primary l c h / 50%)', // relative color syntax
|
|
202
|
+
shadow: '0 0 1x color-mix(in oklab, #dark 20%, transparent)',
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
`light-dark()` is the one exception to "always a color": CSS lets it pick between
|
|
206
|
+
values of any type, so it is treated as a color only when its arguments are
|
|
207
|
+
colors. `padding: 'light-dark(1x, 2x)'` still reaches the padding slot.
|
|
208
|
+
|
|
209
|
+
A color token defined as one of these functions takes the
|
|
210
|
+
[opacity suffix](#color-tokens--opacity) like any other:
|
|
211
|
+
|
|
212
|
+
```jsx
|
|
213
|
+
const Card = tasty({
|
|
214
|
+
styles: {
|
|
215
|
+
'#brand': 'color-mix(in oklab, #primary 50%, #surface)',
|
|
216
|
+
fill: '#brand.5',
|
|
217
|
+
},
|
|
218
|
+
});
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
A [replace token](configuration.md#replace-tokens-parse-time-substitution) is
|
|
222
|
+
substituted while parsing, so its color is right there to fade in place. A
|
|
223
|
+
channel function takes the alpha after a slash; a derived function has no alpha
|
|
224
|
+
channel, so it gets wrapped:
|
|
225
|
+
|
|
226
|
+
```jsx
|
|
227
|
+
configure({
|
|
228
|
+
replaceTokens: {
|
|
229
|
+
'#solid': 'hsl(220 90% 50%)',
|
|
230
|
+
'#adaptive': 'light-dark(#dark, #light)',
|
|
231
|
+
},
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
fill: '#solid.5'; // → hsl(220 90% 50% / .5)
|
|
235
|
+
fill: '#adaptive.5'; // → oklch(from light-dark(…) l c h / .5)
|
|
236
|
+
```
|
|
237
|
+
|
|
141
238
|
---
|
|
142
239
|
|
|
143
240
|
## Built-in Units
|
package/docs/tasty/styles.md
CHANGED
|
@@ -254,6 +254,7 @@ Background color with design token support. Preferred over `backgroundColor` and
|
|
|
254
254
|
| `"#purple.10"` | Token color at 10% opacity |
|
|
255
255
|
| `"#surface #primary.10"` | Background `#surface` with `#primary.10` overlay (two colors enable smooth transitions between both) |
|
|
256
256
|
| `"rgb(255 128 0)"` | CSS color value |
|
|
257
|
+
| `"color-mix(in oklab, #primary 50%, #surface)"` | CSS color function — see [CSS Color Functions](dsl.md#css-color-functions) |
|
|
257
258
|
| `true` | Default fill color |
|
|
258
259
|
|
|
259
260
|
When two colors are provided, the first sets the background color and the second is applied as an overlay gradient layer. This enables independent CSS transitions on each color. The overlay is only applied when no explicit `image` or `backgroundImage` is set.
|
|
@@ -286,9 +287,10 @@ Text color with design token support.
|
|
|
286
287
|
| `"#current"` | Current inherited color |
|
|
287
288
|
| `"#current.5"` | Current inherited color at 50% opacity |
|
|
288
289
|
| `"(#primary, #secondary)"` | Fallback: use `#primary`, fall back to `#secondary` |
|
|
290
|
+
| `"light-dark(#dark, #light)"` | CSS color function — see [CSS Color Functions](dsl.md#css-color-functions) |
|
|
289
291
|
| `true` | `currentColor` |
|
|
290
292
|
|
|
291
|
-
When set to a named color token, also sets `$current-color` and `$current-color-{colorSpace}` custom properties for downstream use (suffix depends on the configured `colorSpace`, default `oklch`).
|
|
293
|
+
When set to a named color token, also sets `$current-color` and `$current-color-{colorSpace}` custom properties for downstream use (suffix depends on the configured `colorSpace`, default `oklch`). An opacity suffix does not move the companion: `color="#purple.5"` still reports `#purple`'s channels, since components carry no alpha.
|
|
292
294
|
|
|
293
295
|
### `svgFill`
|
|
294
296
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cube-dev/ui-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.165.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "UIKit for Cube Projects",
|
|
6
6
|
"repository": {
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@tabler/icons-react": "^3.31.0",
|
|
60
60
|
"@tanstack/react-virtual": "^3.13.12",
|
|
61
61
|
"@tenphi/glaze": "2.0.0",
|
|
62
|
-
"@tenphi/tasty": "^3.0
|
|
62
|
+
"@tenphi/tasty": "^3.1.0",
|
|
63
63
|
"clipboard-copy": "^4.0.1",
|
|
64
64
|
"clsx": "^1.1.1",
|
|
65
65
|
"diff": "^8.0.3",
|