@cube-dev/ui-kit 0.207.0 → 0.208.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 +12 -0
- 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-sync-ref.js.map +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.d.ts +0 -2
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/CollectionItem.js.map +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GlobalStyles.js.map +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/GridProvider.js.map +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +3 -3
- package/dist/components/Root.js.map +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Banner/Banner.js.map +1 -1
- package/dist/components/actions/Button/Button.d.ts +0 -1
- package/dist/components/actions/Button/Button.js +8 -7
- package/dist/components/actions/Button/Button.js.map +1 -1
- package/dist/components/actions/Button/index.d.ts +16 -1
- package/dist/components/actions/Button/index.js +13 -0
- package/dist/components/actions/Button/index.js.map +1 -0
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.d.ts +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +2 -2
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.d.ts +0 -2
- package/dist/components/actions/ItemButton/ItemButton.js +2 -2
- package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.d.ts +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/Menu.js.map +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +2 -2
- package/dist/components/actions/Menu/MenuItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +3 -3
- package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +2 -2
- package/dist/components/actions/Menu/SubMenuTrigger.js.map +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/index.d.ts +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.d.ts +6 -18
- package/dist/components/actions/use-action.js +2 -2
- package/dist/components/actions/use-action.js.map +1 -1
- package/dist/components/actions/use-anchored-menu.d.ts +0 -1
- package/dist/components/actions/use-anchored-menu.js +2 -2
- package/dist/components/actions/use-anchored-menu.js.map +1 -1
- package/dist/components/actions/use-context-menu.d.ts +0 -1
- package/dist/components/actions/use-context-menu.js +2 -2
- package/dist/components/actions/use-context-menu.js.map +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js.map +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/Alert/use-alert.js.map +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.d.ts +0 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Badge/Badge.js.map +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/Content.js.map +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -3
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.d.ts +2 -18
- package/dist/components/content/CopySnippet/CopySnippet.js +2 -2
- package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
- package/dist/components/content/Disclosure/Disclosure.d.ts +0 -1
- package/dist/components/content/Disclosure/Disclosure.js +2 -2
- package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
- package/dist/components/content/Divider/Divider.js +1 -1
- package/dist/components/content/Divider/Divider.js.map +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Footer.js.map +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/Header.js.map +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
- package/dist/components/content/Item/Item.d.ts +1 -2
- package/dist/components/content/Item/Item.js +4 -4
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +2 -2
- package/dist/components/content/Item/index.d.ts +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemBadge/index.d.ts +1 -2
- 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/Layout.js.map +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/LayoutContainer.js.map +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js.map +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js.map +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/LayoutHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPane.js +2 -2
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +3 -3
- package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelTransition.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/Placeholder/Placeholder.js.map +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 +2 -2
- package/dist/components/content/Result/Result.js.map +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/content/Tag/Tag.d.ts +0 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Tag/Tag.js.map +1 -1
- 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/Title.js.map +1 -1
- package/dist/components/content/Tree/Tree.js +1 -1
- package/dist/components/content/Tree/Tree.js.map +1 -1
- package/dist/components/content/Tree/TreeNode.js +5 -5
- package/dist/components/content/Tree/TreeNode.js.map +1 -1
- package/dist/components/content/Tree/checked-keys.js +1 -1
- package/dist/components/content/Tree/rowId.js +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/styled.js.map +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/types.d.ts +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
- package/dist/components/content/Tree/use-load-data.js +1 -1
- package/dist/components/content/Tree/use-load-data.js.map +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/DataTable/DataTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +2 -2
- package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -2
- package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
- package/dist/components/data/ItemTable/item-table-sections.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js.map +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/TableHeaderCell.js.map +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableRow.js.map +1 -1
- package/dist/components/data/TableBase/TableRowLink.js +1 -1
- package/dist/components/data/TableBase/TableView.js +6 -6
- package/dist/components/data/TableBase/TableView.js.map +1 -1
- package/dist/components/data/TableBase/TreeGridTable.js +1 -1
- package/dist/components/data/TableBase/column-header.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-menu.js.map +1 -1
- package/dist/components/data/TableBase/column-styles.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.js +1 -1
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-body-sections.js +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
- package/dist/components/data/TableBase/use-column-menu.js +2 -2
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-column-order.js.map +1 -1
- package/dist/components/data/TableBase/use-column-window.js +1 -1
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
- package/dist/components/fields/Checkbox/Checkbox.d.ts +0 -1
- package/dist/components/fields/Checkbox/Checkbox.js +3 -3
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +0 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +3 -3
- package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.d.ts +0 -1
- package/dist/components/fields/ColorInput/ColorInput.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.d.ts +0 -3
- package/dist/components/fields/ColorPicker/ColorPicker.js +3 -3
- package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +0 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +2 -2
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ComboBox/ComboBox.d.ts +0 -1
- package/dist/components/fields/ComboBox/ComboBox.js +6 -6
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +1 -2
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +2 -2
- 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/CalendarPopover.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateInput.js +2 -2
- package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DatePicker.js +2 -2
- package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js.map +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/DatePickerInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +2 -2
- package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +2 -2
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +2 -2
- package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.d.ts +0 -1
- package/dist/components/fields/DatePicker/TimeInput.js +2 -2
- package/dist/components/fields/DatePicker/TimeInput.js.map +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.d.ts +0 -1
- package/dist/components/fields/FileInput/FileInput.js +3 -3
- package/dist/components/fields/FileInput/FileInput.js.map +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +3 -3
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterListBox/styled.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +0 -3
- package/dist/components/fields/FilterPicker/FilterPicker.js +8 -8
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterTree.js +2 -2
- package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -1
- package/dist/components/fields/Input/Input.d.ts +0 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/Input/Input.js.map +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +4 -4
- package/dist/components/fields/ListBox/ListBox.js.map +1 -1
- package/dist/components/fields/ListBox/optionId.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +2 -2
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +2 -2
- package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +0 -2
- package/dist/components/fields/Picker/Picker.js +8 -8
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +0 -1
- package/dist/components/fields/RadioGroup/Radio.js +2 -2
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.d.ts +0 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +3 -3
- package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +0 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +6 -6
- package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +2 -2
- package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/fields/Select/Select.d.ts +1 -2
- package/dist/components/fields/Select/Select.js +7 -7
- package/dist/components/fields/Select/Select.js.map +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/Slider.js.map +1 -1
- package/dist/components/fields/Slider/SliderBase.js +2 -2
- package/dist/components/fields/Slider/SliderBase.js.map +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +2 -2
- package/dist/components/fields/Slider/types.d.ts +0 -1
- package/dist/components/fields/Switch/Switch.d.ts +0 -1
- package/dist/components/fields/Switch/Switch.js +3 -3
- package/dist/components/fields/Switch/Switch.js.map +1 -1
- package/dist/components/fields/TagInput/TagInput.js +5 -5
- package/dist/components/fields/TagInput/TagInput.js.map +1 -1
- package/dist/components/fields/TagInput/TagList.js +1 -1
- package/dist/components/fields/TagInput/TagList.js.map +1 -1
- package/dist/components/fields/TagInput/useActiveOption.js +1 -1
- package/dist/components/fields/TagInput/useTagError.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +2 -2
- package/dist/components/fields/TextArea/TextArea.js.map +1 -1
- package/dist/components/fields/TextInput/TextInput.js +2 -2
- package/dist/components/fields/TextInput/TextInput.js.map +1 -1
- package/dist/components/fields/TextInput/TextInputBase.d.ts +0 -1
- package/dist/components/fields/TextInput/TextInputBase.js +3 -3
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInput/displayed-validation.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +0 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +3 -3
- package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
- package/dist/components/fields/TriggerActions.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +1 -1
- package/dist/components/fields/color/ColorPanel.js.map +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/fields/index.d.ts +2 -2
- package/dist/components/fields/option-origin-press.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +2 -2
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +1 -1
- package/dist/components/form/FieldWrapper/types.d.ts +0 -1
- package/dist/components/form/Form/Field.d.ts +0 -1
- package/dist/components/form/Form/Field.js +3 -3
- package/dist/components/form/Form/Field.js.map +1 -1
- package/dist/components/form/Form/Form.d.ts +1 -26
- package/dist/components/form/Form/Form.js +7 -116
- package/dist/components/form/Form/Form.js.map +1 -1
- package/dist/components/form/Form/FormContext.d.ts +30 -0
- package/dist/components/form/Form/FormContext.js +79 -0
- package/dist/components/form/Form/FormContext.js.map +1 -0
- package/dist/components/form/Form/FormElement.js +49 -0
- package/dist/components/form/Form/FormElement.js.map +1 -0
- package/dist/components/form/Form/ModernFormRoot.js +3 -2
- package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +2 -2
- package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +2 -2
- package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/dist/components/form/Form/SubmitError.d.ts +0 -1
- package/dist/components/form/Form/SubmitError.js +3 -3
- package/dist/components/form/Form/SubmitError.js.map +1 -1
- package/dist/components/form/Form/backend.js +1 -1
- package/dist/components/form/Form/index.d.ts +2 -1
- package/dist/components/form/Form/index.js +6 -5
- package/dist/components/form/Form/index.js.map +1 -1
- package/dist/components/form/Form/modern/actions.js +1 -1
- package/dist/components/form/Form/modern/context.js +1 -1
- package/dist/components/form/Form/modern/controller.js +1 -1
- package/dist/components/form/Form/modern/field-binding.js +1 -1
- package/dist/components/form/Form/modern/field.js +1 -1
- package/dist/components/form/Form/modern/react.js +1 -1
- package/dist/components/form/Form/modern/store.js +1 -1
- package/dist/components/form/Form/modern/validation.js +1 -1
- package/dist/components/form/Form/modern/values.js +1 -1
- package/dist/components/form/Form/reset-unbound-controls.js +1 -1
- package/dist/components/form/Form/use-field/types.d.ts +0 -1
- package/dist/components/form/Form/use-field/use-field-binding.js +2 -2
- package/dist/components/form/Form/use-field/use-field-props.js +4 -4
- package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
- package/dist/components/form/Form/use-field/use-field.d.ts +0 -1
- package/dist/components/form/Form/use-field/use-field.js +2 -2
- package/dist/components/form/Form/use-field/use-field.js.map +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.d.ts +0 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/Label.js.map +1 -1
- package/dist/components/form/field-chrome.js +1 -1
- package/dist/components/form/field-layout.js +1 -1
- package/dist/components/form/field-layout.js.map +1 -1
- package/dist/components/form/index.d.ts +2 -1
- package/dist/components/form/legacy-tooltip.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.d.ts +0 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
- package/dist/components/form/validation/resolve-validation-props.d.ts +0 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js.map +1 -1
- package/dist/components/form/wrapper.d.ts +0 -1
- package/dist/components/form/wrapper.js +1 -1
- package/dist/components/form/wrapper.js.map +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.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/Prefix.js.map +1 -1
- package/dist/components/layout/ResizablePanel.js +2 -2
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/layout/Suffix.js.map +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +3 -3
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +4 -4
- package/dist/components/navigation/Tabs/TabButton.js.map +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/TabPicker.js.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +2 -2
- package/dist/components/navigation/Tabs/Tabs.js.map +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/segmented-styles.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/styled.js.map +1 -1
- package/dist/components/navigation/Tabs/types.d.ts +2 -2
- 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 +2 -2
- package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js.map +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 +2 -2
- package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
- package/dist/components/overlays/AlertDialog/types.d.ts +0 -1
- package/dist/components/overlays/Dialog/Dialog.js +2 -2
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +2 -2
- package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.d.ts +0 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +5 -5
- package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +2 -2
- package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/default-button-text.js +1 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js +1 -1
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js.map +1 -1
- package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +2 -2
- package/dist/components/overlays/Modal/Modal.js.map +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js.map +1 -1
- package/dist/components/overlays/Modal/Popover.js +2 -2
- package/dist/components/overlays/Modal/Popover.js.map +1 -1
- package/dist/components/overlays/Modal/Tray.js +2 -2
- package/dist/components/overlays/Modal/Tray.js.map +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/modal-containment.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/NotificationAction.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js.map +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/NotificationItem.js.map +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +2 -2
- package/dist/components/overlays/Notifications/OverlayContainer.js.map +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/PersistentNotificationsList.js.map +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-notification-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js.map +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-persistent-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +2 -2
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
- package/dist/components/overlays/Toast/useToast.js +2 -2
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +3 -3
- package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/overlays/Tooltip/context.js.map +1 -1
- package/dist/components/overlays/Tooltip/split-trigger-props.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/LoadingAnimation/LoadingAnimation.js.map +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 +8 -32
- package/dist/data/item-themes.js.map +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +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 +4 -4
- package/dist/i18n/instance.js +3 -3
- package/dist/i18n/locales/de-DE/uikit.js +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/namespace.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 +29 -27
- package/dist/index.js +69 -69
- 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 +2 -2
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigation-url.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +1 -1
- package/dist/tokens/all-tokens.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/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/legacy-color.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +23 -11
- package/dist/tokens/palette.js.map +1 -1
- package/dist/tokens/resolve.js +2 -2
- 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/colors.js +1 -1
- package/dist/utils/dotize.js +1 -1
- package/dist/utils/index.d.ts +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.d.ts +3 -3
- package/dist/utils/react/index.js +13 -13
- 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/overlayKeyPropagation.js +1 -1
- package/dist/utils/react/programmaticFocus.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/useOverlayEscapeGuard.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useScheme.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/components/actions/ButtonSplit.md +1 -1
- package/docs/glaze/contrast.mdx +751 -0
- package/docs/glaze/exporting.mdx +635 -0
- package/docs/glaze/getting-started.mdx +487 -0
- package/docs/glaze/hdr.mdx +523 -0
- package/docs/glaze/methodology.mdx +979 -0
- package/docs/glaze/migration.md +476 -285
- package/docs/glaze/mixes.mdx +348 -0
- package/docs/glaze/okhst.mdx +692 -0
- package/docs/glaze/reference/color-definitions.md +552 -0
- package/docs/glaze/reference/color-tokens.md +421 -0
- package/docs/glaze/reference/configuration.md +532 -0
- package/docs/glaze/reference/contrast.md +279 -0
- package/docs/glaze/reference/index.md +225 -0
- package/docs/glaze/reference/output.md +714 -0
- package/docs/glaze/reference/palette.md +435 -0
- package/docs/glaze/reference/theme.md +332 -0
- package/docs/glaze/reference/utilities.md +646 -0
- package/docs/glaze/schemes.mdx +644 -0
- package/docs/glaze/shadows-and-glows.mdx +550 -0
- package/package.json +4 -4
- package/dist/components/actions/index.js +0 -29
- package/dist/components/actions/index.js.map +0 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.d.ts +0 -4
- package/dist/components/fields/ListBoxPopover/index.d.ts +0 -5
- package/dist/components/overlays/Modal/Modal.d.ts +0 -3
- package/dist/components/overlays/Modal/Popover.d.ts +0 -7
- package/dist/components/overlays/Modal/Tray.d.ts +0 -5
- package/dist/components/overlays/Modal/Underlay.d.ts +0 -3
- package/dist/components/overlays/Modal/index.d.ts +0 -8
- package/docs/glaze/api.md +0 -2021
- package/docs/glaze/methodology.md +0 -686
- package/docs/glaze/okhst.md +0 -207
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-checkbox-tree.js","names":["useState","useEvent","deriveCheckedSets","toggleCheckedKey","Key","TreeIndex","CubeTreeNodeData","TreeOnCheckInfo","UseCheckboxTreeOptions","treeData","index","isCheckable","defaultCheckedKeys","checkedKeys","checked","halfChecked","onCheck","info","CheckboxTree","checkedSet","Set","halfCheckedSet","toggle","key","normalizeControlledChecked","controlled","Array","isArray","resolveCheckedSets","sourceChecked","ownHalfChecked","Pick","useCheckboxTree","opts","$","_c","isControlled","wantsObjectShape","t0","uncontrolledChecked","setUncontrolledChecked","t1","node","byKey","get","next","finalChecked","finalHalf","checkedArr","from","halfArr","checkedNodes","map","k","filter","_temp","has","halfCheckedKeys","t2","n","_c"],"sources":["../../../../src/components/content/Tree/use-checkbox-tree.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks';\n\nimport { deriveCheckedSets, toggleCheckedKey } from './checked-keys';\n\nimport type { Key } from '@react-types/shared';\nimport type { TreeIndex } from './tree-index';\nimport type { CubeTreeNodeData, TreeOnCheckInfo } from './types';\n\nexport interface UseCheckboxTreeOptions {\n treeData: CubeTreeNodeData[];\n /**\n * Pre-built tree index, shared with `Tree.tsx` so that `treeData`\n * is walked exactly once per change rather than once per consumer.\n */\n index: TreeIndex;\n isCheckable: boolean;\n defaultCheckedKeys?: string[];\n /** Either an array (AntD's default) or `{ checked, halfChecked }`. */\n checkedKeys?: string[] | { checked: string[]; halfChecked?: string[] };\n onCheck?: (\n checked: Key[] | { checked: Key[]; halfChecked: Key[] },\n info: TreeOnCheckInfo,\n ) => void;\n}\n\nexport interface CheckboxTree {\n /** Set of keys that are fully checked. */\n checkedSet: Set<string>;\n /** Set of keys that are in the indeterminate (half-checked) state. */\n halfCheckedSet: Set<string>;\n /** Toggle a key, propagating to descendants and updating ancestors. */\n toggle: (key: string) => void;\n}\n\nfunction normalizeControlledChecked(\n controlled: UseCheckboxTreeOptions['checkedKeys'],\n): { checked: Set<string>; halfChecked: Set<string> } | null {\n if (controlled == null) return null;\n if (Array.isArray(controlled)) {\n return {\n checked: new Set(controlled),\n halfChecked: new Set(),\n };\n }\n return {\n checked: new Set(controlled.checked ?? []),\n halfChecked: new Set(controlled.halfChecked ?? []),\n };\n}\n\n/** Resolve the rendered sets from the source-of-truth `checked` set. */\nfunction resolveCheckedSets({\n isCheckable,\n sourceChecked,\n ownHalfChecked,\n treeData,\n index,\n}: {\n isCheckable: boolean;\n sourceChecked: Set<string>;\n /**\n * If the consumer passed the object shape (`{ checked, halfChecked }`),\n * they own the half-checked set and we use it as-is. With the array\n * shape we still need to derive `halfChecked` ourselves — the consumer\n * only provides `checked`, so parents should still light up\n * indeterminate when only some descendants are checked.\n */\n ownHalfChecked: Set<string> | null;\n treeData: CubeTreeNodeData[];\n index: TreeIndex;\n}): Pick<CheckboxTree, 'checkedSet' | 'halfCheckedSet'> {\n if (!isCheckable) {\n return {\n checkedSet: new Set<string>(),\n halfCheckedSet: new Set<string>(),\n };\n }\n\n if (ownHalfChecked) {\n return {\n checkedSet: new Set(sourceChecked),\n halfCheckedSet: new Set(ownHalfChecked),\n };\n }\n\n const { checked, halfChecked } = deriveCheckedSets(\n treeData,\n index,\n sourceChecked,\n );\n\n return { checkedSet: checked, halfCheckedSet: halfChecked };\n}\n\n/**\n * Local hook implementing AntD-style cascading checkbox state.\n *\n * - `checked` and `halfChecked` are always derived together from a single\n * `checked` set (the source of truth) so callers don't need to track\n * indeterminate keys themselves.\n * - When the consumer passes `checkedKeys` as `{ checked, halfChecked }`,\n * we keep the wire shape on the way out — same as AntD.\n * - Toggling a node propagates *down* through its subtree, past locked\n * nodes to the eligible ones below them, and ancestors are then\n * recomputed *up* by the derive.\n */\nexport function useCheckboxTree(opts: UseCheckboxTreeOptions): CheckboxTree {\n const {\n treeData,\n index,\n isCheckable,\n defaultCheckedKeys,\n checkedKeys,\n onCheck,\n } = opts;\n\n /** Normalize the controlled `checkedKeys` prop into `Set` instances. */\n const controlled = normalizeControlledChecked(checkedKeys);\n const isControlled = controlled != null;\n const wantsObjectShape = checkedKeys != null && !Array.isArray(checkedKeys);\n\n const [uncontrolledChecked, setUncontrolledChecked] = useState<Set<string>>(\n () => new Set(defaultCheckedKeys ?? []),\n );\n\n const sourceChecked = isControlled\n ? controlled!.checked\n : uncontrolledChecked;\n\n const { checkedSet, halfCheckedSet } = resolveCheckedSets({\n isCheckable,\n sourceChecked,\n ownHalfChecked:\n isControlled && wantsObjectShape ? controlled!.halfChecked : null,\n treeData,\n index,\n });\n\n const toggle = useEvent((key: string) => {\n const node = index.byKey.get(key);\n const next = toggleCheckedKey(index, checkedSet, key);\n if (!node || !next) return;\n\n const { checked: finalChecked, halfChecked: finalHalf } = deriveCheckedSets(\n treeData,\n index,\n next,\n );\n\n // Store the derived set, as a controlled consumer stores `onCheck`'s\n // keys, so a parent a check completed still covers children that load\n // later.\n if (!isControlled) {\n setUncontrolledChecked(finalChecked);\n }\n\n if (onCheck) {\n const checkedArr = Array.from(finalChecked);\n const halfArr = Array.from(finalHalf);\n const checkedNodes: CubeTreeNodeData[] = checkedArr\n .map((k) => index.byKey.get(k))\n .filter((n): n is CubeTreeNodeData => !!n);\n\n const info: TreeOnCheckInfo = {\n checked: next.has(key),\n node,\n checkedNodes,\n halfCheckedKeys: halfArr,\n };\n\n if (wantsObjectShape) {\n onCheck({ checked: checkedArr, halfChecked: halfArr }, info);\n } else {\n onCheck(checkedArr, info);\n }\n }\n });\n\n return { checkedSet, halfCheckedSet, toggle };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-checkbox-tree.js","names":["useState","useEvent","deriveCheckedSets","toggleCheckedKey","Key","TreeIndex","CubeTreeNodeData","TreeOnCheckInfo","UseCheckboxTreeOptions","treeData","index","isCheckable","defaultCheckedKeys","checkedKeys","checked","halfChecked","onCheck","info","CheckboxTree","checkedSet","Set","halfCheckedSet","toggle","key","normalizeControlledChecked","controlled","Array","isArray","resolveCheckedSets","sourceChecked","ownHalfChecked","Pick","useCheckboxTree","opts","$","_c","isControlled","wantsObjectShape","t0","uncontrolledChecked","setUncontrolledChecked","t1","node","byKey","get","next","finalChecked","finalHalf","checkedArr","from","halfArr","checkedNodes","map","k","filter","_temp","has","halfCheckedKeys","t2","n","_c"],"sources":["../../../../src/components/content/Tree/use-checkbox-tree.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\n\nimport { deriveCheckedSets, toggleCheckedKey } from './checked-keys';\n\nimport type { Key } from '@react-types/shared';\nimport type { TreeIndex } from './tree-index';\nimport type { CubeTreeNodeData, TreeOnCheckInfo } from './types';\n\nexport interface UseCheckboxTreeOptions {\n treeData: CubeTreeNodeData[];\n /**\n * Pre-built tree index, shared with `Tree.tsx` so that `treeData`\n * is walked exactly once per change rather than once per consumer.\n */\n index: TreeIndex;\n isCheckable: boolean;\n defaultCheckedKeys?: string[];\n /** Either an array (AntD's default) or `{ checked, halfChecked }`. */\n checkedKeys?: string[] | { checked: string[]; halfChecked?: string[] };\n onCheck?: (\n checked: Key[] | { checked: Key[]; halfChecked: Key[] },\n info: TreeOnCheckInfo,\n ) => void;\n}\n\nexport interface CheckboxTree {\n /** Set of keys that are fully checked. */\n checkedSet: Set<string>;\n /** Set of keys that are in the indeterminate (half-checked) state. */\n halfCheckedSet: Set<string>;\n /** Toggle a key, propagating to descendants and updating ancestors. */\n toggle: (key: string) => void;\n}\n\nfunction normalizeControlledChecked(\n controlled: UseCheckboxTreeOptions['checkedKeys'],\n): { checked: Set<string>; halfChecked: Set<string> } | null {\n if (controlled == null) return null;\n if (Array.isArray(controlled)) {\n return {\n checked: new Set(controlled),\n halfChecked: new Set(),\n };\n }\n return {\n checked: new Set(controlled.checked ?? []),\n halfChecked: new Set(controlled.halfChecked ?? []),\n };\n}\n\n/** Resolve the rendered sets from the source-of-truth `checked` set. */\nfunction resolveCheckedSets({\n isCheckable,\n sourceChecked,\n ownHalfChecked,\n treeData,\n index,\n}: {\n isCheckable: boolean;\n sourceChecked: Set<string>;\n /**\n * If the consumer passed the object shape (`{ checked, halfChecked }`),\n * they own the half-checked set and we use it as-is. With the array\n * shape we still need to derive `halfChecked` ourselves — the consumer\n * only provides `checked`, so parents should still light up\n * indeterminate when only some descendants are checked.\n */\n ownHalfChecked: Set<string> | null;\n treeData: CubeTreeNodeData[];\n index: TreeIndex;\n}): Pick<CheckboxTree, 'checkedSet' | 'halfCheckedSet'> {\n if (!isCheckable) {\n return {\n checkedSet: new Set<string>(),\n halfCheckedSet: new Set<string>(),\n };\n }\n\n if (ownHalfChecked) {\n return {\n checkedSet: new Set(sourceChecked),\n halfCheckedSet: new Set(ownHalfChecked),\n };\n }\n\n const { checked, halfChecked } = deriveCheckedSets(\n treeData,\n index,\n sourceChecked,\n );\n\n return { checkedSet: checked, halfCheckedSet: halfChecked };\n}\n\n/**\n * Local hook implementing AntD-style cascading checkbox state.\n *\n * - `checked` and `halfChecked` are always derived together from a single\n * `checked` set (the source of truth) so callers don't need to track\n * indeterminate keys themselves.\n * - When the consumer passes `checkedKeys` as `{ checked, halfChecked }`,\n * we keep the wire shape on the way out — same as AntD.\n * - Toggling a node propagates *down* through its subtree, past locked\n * nodes to the eligible ones below them, and ancestors are then\n * recomputed *up* by the derive.\n */\nexport function useCheckboxTree(opts: UseCheckboxTreeOptions): CheckboxTree {\n const {\n treeData,\n index,\n isCheckable,\n defaultCheckedKeys,\n checkedKeys,\n onCheck,\n } = opts;\n\n /** Normalize the controlled `checkedKeys` prop into `Set` instances. */\n const controlled = normalizeControlledChecked(checkedKeys);\n const isControlled = controlled != null;\n const wantsObjectShape = checkedKeys != null && !Array.isArray(checkedKeys);\n\n const [uncontrolledChecked, setUncontrolledChecked] = useState<Set<string>>(\n () => new Set(defaultCheckedKeys ?? []),\n );\n\n const sourceChecked = isControlled\n ? controlled!.checked\n : uncontrolledChecked;\n\n const { checkedSet, halfCheckedSet } = resolveCheckedSets({\n isCheckable,\n sourceChecked,\n ownHalfChecked:\n isControlled && wantsObjectShape ? controlled!.halfChecked : null,\n treeData,\n index,\n });\n\n const toggle = useEvent((key: string) => {\n const node = index.byKey.get(key);\n const next = toggleCheckedKey(index, checkedSet, key);\n if (!node || !next) return;\n\n const { checked: finalChecked, halfChecked: finalHalf } = deriveCheckedSets(\n treeData,\n index,\n next,\n );\n\n // Store the derived set, as a controlled consumer stores `onCheck`'s\n // keys, so a parent a check completed still covers children that load\n // later.\n if (!isControlled) {\n setUncontrolledChecked(finalChecked);\n }\n\n if (onCheck) {\n const checkedArr = Array.from(finalChecked);\n const halfArr = Array.from(finalHalf);\n const checkedNodes: CubeTreeNodeData[] = checkedArr\n .map((k) => index.byKey.get(k))\n .filter((n): n is CubeTreeNodeData => !!n);\n\n const info: TreeOnCheckInfo = {\n checked: next.has(key),\n node,\n checkedNodes,\n halfCheckedKeys: halfArr,\n };\n\n if (wantsObjectShape) {\n onCheck({ checked: checkedArr, halfChecked: halfArr }, info);\n } else {\n onCheck(checkedArr, info);\n }\n }\n });\n\n return { checkedSet, halfCheckedSet, toggle };\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
3
3
|
import { isDevEnvOrTest } from "../../../utils/is-dev-env.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-load-data.js","names":["useRef","useState","useEvent","isDevEnvOrTest","Key","CubeTreeNodeData","TreeLoadDataNode","UseLoadDataOptions","nodesByKey","Map","loadData","node","Promise","initialExpandedKeys","Iterable","LoadDataController","loadingKeys","Set","onExpandedChanged","expandedKeys","useLoadData","opts","$","_c","setLoadingKeys","_temp","t0","previousExpandedRef","t1","Symbol","for","inFlightRef","t2","next","k","add","String","prev","current","newlyExpanded","k_0","has","push","length","toLoad","key","get","isLeaf","children","updated","k_1","key_0","loadNode","resolve","catch","err","console","error","finally","delete","current_0","updated_0","t3","_c"],"sources":["../../../../src/components/content/Tree/use-load-data.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks';\nimport { isDevEnvOrTest } from '../../../utils/is-dev-env';\n\nimport type { Key } from '@react-types/shared';\nimport type { CubeTreeNodeData, TreeLoadDataNode } from './types';\n\nexport interface UseLoadDataOptions {\n /**\n * Map of `key -> node` built from the consumer's `treeData`. Used to\n * find the node being expanded when `loadData` fires.\n */\n nodesByKey: Map<string, CubeTreeNodeData>;\n loadData?: (node: TreeLoadDataNode) => Promise<void>;\n /**\n * Keys that are expanded at mount time (controlled or default).\n * Seeds `previousExpandedRef` so the first `onExpandedChanged` call\n * doesn't misidentify them as user-triggered expansions.\n */\n initialExpandedKeys?: Iterable<string>;\n}\n\nexport interface LoadDataController {\n /** Set of keys that are currently waiting on `loadData`. */\n loadingKeys: Set<string>;\n /**\n * Called by `Tree.tsx` whenever the underlying React Stately state's\n * `expandedKeys` change. We diff against the previous set, and for\n * each newly-expanded key we trigger `loadData` if appropriate.\n */\n onExpandedChanged: (expandedKeys: Iterable<Key>) => void;\n}\n\n/**\n * Tracks which rows are currently fetching their children via `loadData`\n * and exposes a setter for the Tree to call after every expand change.\n *\n * `loadData` is fired exactly once per key per \"first expand\" event:\n *\n * - Skipped if there is no `loadData` callback.\n * - Skipped for leaf nodes (`isLeaf === true`).\n * - Skipped if the node already has `children` (already loaded).\n * - Skipped if a previous fetch for the same key is still in flight.\n *\n * The promise's resolution is awaited only to clear the `loading` mod;\n * the consumer is expected to commit the new children to the controlled\n * `treeData` themselves (matching AntD's pattern).\n */\nexport function useLoadData(opts: UseLoadDataOptions): LoadDataController {\n const { nodesByKey, loadData, initialExpandedKeys } = opts;\n const [loadingKeys, setLoadingKeys] = useState<Set<string>>(() => new Set());\n const previousExpandedRef = useRef<Set<string>>(new Set(initialExpandedKeys));\n const inFlightRef = useRef<Set<string>>(new Set());\n\n const onExpandedChanged = useEvent((expandedKeys: Iterable<Key>) => {\n const next = new Set<string>();\n for (const k of expandedKeys) next.add(String(k));\n\n const prev = previousExpandedRef.current;\n const newlyExpanded: string[] = [];\n for (const k of next) {\n if (!prev.has(k)) newlyExpanded.push(k);\n }\n previousExpandedRef.current = next;\n\n if (!loadData || newlyExpanded.length === 0) return;\n\n const toLoad: string[] = [];\n for (const key of newlyExpanded) {\n const node = nodesByKey.get(key);\n if (!node) continue;\n if (node.isLeaf) continue;\n if (node.children && node.children.length > 0) continue;\n if (inFlightRef.current.has(key)) continue;\n inFlightRef.current.add(key);\n toLoad.push(key);\n }\n\n if (toLoad.length === 0) return;\n\n setLoadingKeys((current) => {\n const updated = new Set(current);\n for (const k of toLoad) updated.add(k);\n return updated;\n });\n\n for (const key of toLoad) {\n const loadNode = nodesByKey.get(key);\n Promise.resolve(loadData({ key, children: loadNode?.children }))\n .catch((err) => {\n if (isDevEnvOrTest()) {\n console.error(`[Tree] loadData failed for key \"${key}\":`, err);\n }\n })\n .finally(() => {\n inFlightRef.current.delete(key);\n setLoadingKeys((current) => {\n if (!current.has(key)) return current;\n const updated = new Set(current);\n updated.delete(key);\n return updated;\n });\n });\n }\n });\n\n return { loadingKeys, onExpandedChanged };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-load-data.js","names":["useRef","useState","useEvent","isDevEnvOrTest","Key","CubeTreeNodeData","TreeLoadDataNode","UseLoadDataOptions","nodesByKey","Map","loadData","node","Promise","initialExpandedKeys","Iterable","LoadDataController","loadingKeys","Set","onExpandedChanged","expandedKeys","useLoadData","opts","$","_c","setLoadingKeys","_temp","t0","previousExpandedRef","t1","Symbol","for","inFlightRef","t2","next","k","add","String","prev","current","newlyExpanded","k_0","has","push","length","toLoad","key","get","isLeaf","children","updated","k_1","key_0","loadNode","resolve","catch","err","console","error","finally","delete","current_0","updated_0","t3","_c"],"sources":["../../../../src/components/content/Tree/use-load-data.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { isDevEnvOrTest } from '../../../utils/is-dev-env';\n\nimport type { Key } from '@react-types/shared';\nimport type { CubeTreeNodeData, TreeLoadDataNode } from './types';\n\nexport interface UseLoadDataOptions {\n /**\n * Map of `key -> node` built from the consumer's `treeData`. Used to\n * find the node being expanded when `loadData` fires.\n */\n nodesByKey: Map<string, CubeTreeNodeData>;\n loadData?: (node: TreeLoadDataNode) => Promise<void>;\n /**\n * Keys that are expanded at mount time (controlled or default).\n * Seeds `previousExpandedRef` so the first `onExpandedChanged` call\n * doesn't misidentify them as user-triggered expansions.\n */\n initialExpandedKeys?: Iterable<string>;\n}\n\nexport interface LoadDataController {\n /** Set of keys that are currently waiting on `loadData`. */\n loadingKeys: Set<string>;\n /**\n * Called by `Tree.tsx` whenever the underlying React Stately state's\n * `expandedKeys` change. We diff against the previous set, and for\n * each newly-expanded key we trigger `loadData` if appropriate.\n */\n onExpandedChanged: (expandedKeys: Iterable<Key>) => void;\n}\n\n/**\n * Tracks which rows are currently fetching their children via `loadData`\n * and exposes a setter for the Tree to call after every expand change.\n *\n * `loadData` is fired exactly once per key per \"first expand\" event:\n *\n * - Skipped if there is no `loadData` callback.\n * - Skipped for leaf nodes (`isLeaf === true`).\n * - Skipped if the node already has `children` (already loaded).\n * - Skipped if a previous fetch for the same key is still in flight.\n *\n * The promise's resolution is awaited only to clear the `loading` mod;\n * the consumer is expected to commit the new children to the controlled\n * `treeData` themselves (matching AntD's pattern).\n */\nexport function useLoadData(opts: UseLoadDataOptions): LoadDataController {\n const { nodesByKey, loadData, initialExpandedKeys } = opts;\n const [loadingKeys, setLoadingKeys] = useState<Set<string>>(() => new Set());\n const previousExpandedRef = useRef<Set<string>>(new Set(initialExpandedKeys));\n const inFlightRef = useRef<Set<string>>(new Set());\n\n const onExpandedChanged = useEvent((expandedKeys: Iterable<Key>) => {\n const next = new Set<string>();\n for (const k of expandedKeys) next.add(String(k));\n\n const prev = previousExpandedRef.current;\n const newlyExpanded: string[] = [];\n for (const k of next) {\n if (!prev.has(k)) newlyExpanded.push(k);\n }\n previousExpandedRef.current = next;\n\n if (!loadData || newlyExpanded.length === 0) return;\n\n const toLoad: string[] = [];\n for (const key of newlyExpanded) {\n const node = nodesByKey.get(key);\n if (!node) continue;\n if (node.isLeaf) continue;\n if (node.children && node.children.length > 0) continue;\n if (inFlightRef.current.has(key)) continue;\n inFlightRef.current.add(key);\n toLoad.push(key);\n }\n\n if (toLoad.length === 0) return;\n\n setLoadingKeys((current) => {\n const updated = new Set(current);\n for (const k of toLoad) updated.add(k);\n return updated;\n });\n\n for (const key of toLoad) {\n const loadNode = nodesByKey.get(key);\n Promise.resolve(loadData({ key, children: loadNode?.children }))\n .catch((err) => {\n if (isDevEnvOrTest()) {\n console.error(`[Tree] loadData failed for key \"${key}\":`, err);\n }\n })\n .finally(() => {\n inFlightRef.current.delete(key);\n setLoadingKeys((current) => {\n if (!current.has(key)) return current;\n const updated = new Set(current);\n updated.delete(key);\n return updated;\n });\n });\n }\n });\n\n return { loadingKeys, onExpandedChanged };\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { TooltipProvider } from "../overlays/Tooltip/TooltipProvider.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useEffect, useRef, useState } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles, mergeStyleLayers } from "../../../utils/styles.js";
|
|
3
3
|
import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.js","names":["useCollator","SelectionManager","useControlledState","CONTAINER_STYLES","forwardRef","useMemo","useRef","useState","useMultipleSelectionState","useEvent","useWarn","useI18n","useCombinedRefs","extractStyles","mergeStyleLayers","clampPage","getPageInfo","DraggableCollection","ItemTableFooter","RowCollection","buildTableTree","flattenTableTree","reindexTableTree","sortTableTree","TableView","selectionRowKey","useCellSelection","getDraggableColumnKeys","isColumnDraggable","useColumnOrder","useContainerWidth","freezeColumnWidths","getColumnText","useTableColumns","ROW_NUMBER_COLUMN_KEY","compareByColumn","useTableSorts","useTableStorage","useTableTreeState","Key","Styles","ForwardedRef","ReactElement","CubeTableColumnGroupHeader","CubeTableColumnLayout","CubeTableRowSection","CubeDataTableColumn","CubeDataTableColumnDefinition","CubeDataTableColumnGroup","CubeDataTableProps","ROW_NUMBER_WIDTH","EMPTY_WIDTHS","Record","DataTableColumnModel","columns","T","headerPaths","Map","isColumnGroup","column","buildColumnModel","definitions","visit","entries","path","entry","children","key","title","push","length","set","NUMERIC_CELL_STYLES","fontVariantNumeric","NUMERIC_MERGED","WeakMap","withNumeric","own","merged","get","numericCellStyles","cellStyles","ctx","defaultGetRowKey","rowKey","row","index","value","DataTable","props","ref","HTMLDivElement","data","getRowKey","getRowChildren","treeColumnKey","expandedKeys","defaultExpandedKeys","onExpand","pinnedTopRows","pinnedBottomRows","isLoading","loadingIndicator","skeletonRowCount","error","emptyLabel","noResultsLabel","isFiltered","shape","size","rowSize","rowHeight","headerHeight","isStriped","isHeaderHidden","isHeaderSticky","isAutoHeight","showRowNumbers","sortMode","sorts","sortsProp","defaultSorts","onSortsChange","paginationMode","page","pageProp","defaultPage","onPageChange","pageSize","pageSizeProp","defaultPageSize","onPageSizeChange","pageSizeOptions","total","totalProp","totalPages","hasNextPage","summary","autoHidePagination","footerStart","footerCenter","footerEnd","cellSelectionMode","isCellSelectable","selectedCellRange","defaultSelectedCellRange","onCellRangeChange","isRowMoveAnimated","isResizable","columnWidths","columnWidthsProp","defaultColumnWidths","onColumnResize","isColumnReorderable","columnOrder","defaultColumnOrder","onColumnOrderChange","columnContextMenu","onColumnMenuAction","columnMenuTriggerProps","columnMenuProps","isVirtualized","virtualizeThreshold","overscan","getRowProps","storageKey","styles","headerStyles","headerCellStyles","bodyStyles","rowStyles","footerStyles","ariaLabel","qa","mods","rest","localRef","rootRef","scrollerEl","setScrollerEl","HTMLElement","containerWidth","resolvedGetRowKey","treeModel","duplicateKeys","args","cyclicKeys","storage","columnModel","hasColumnGroups","resolvedColumns","map","isNumeric","dataType","align","columnOrderState","orderedColumns","resolvedTreeColumnKey","undefined","visibleColumns","filter","isHidden","some","sortedRows","toggleSort","setColumnSort","mode","resolvedSortMode","rows","roots","node","collator","numeric","sensitivity","treeSortMode","isSortable","processedTreeRoots","active","sort","find","columnKey","a","b","result","sourceIndex","direction","siblingIndex","setPageSizeState","has","initial","setPageState","isPaginated","isServerPaginated","pageInfo","setPage","next","setPageSize","write","flatVisibleRows","slice","pageTreeRoots","treeState","allNodesByKey","byKey","getTextValue","String","visibleTreeEntries","visibleEntries","visibleRows","visibleRowKeys","ownColumnWidths","setOwnColumnWidths","draftColumnWidths","setDraftColumnWidths","draftRef","baseColumnWidths","layoutRef","handleColumnResize","width","base","current","Math","round","handleColumnResizeEnd","leadingColumns","layout","t","selectionRows","selectionRowKeys","resolveCellSelectable","indexOf","topCount","section","cellSelection","rowKeys","range","defaultRange","onRangeChange","rootStyles","smallestPageSize","min","showPagination","hasFooter","canReorderColumns","headRowRef","HTMLTableRowElement","draggableColumnKeys","columnCollection","Set","columnSelectionState","selectionMode","disabledBehavior","columnSelectionManager","handleColumnFocus","setFocusedKey","isColumnDragEnabled","treeRowNumberOffset","renderTable","columnDragState","columnDropState","headCollectionProps","state","ariaProps","nodes","visibleNodes","collection","selectionManager","disabledKeys","reorder","dragState","dropState","collectionProps","_DataTable","displayName"],"sources":["../../../../src/components/data/DataTable/DataTable.tsx"],"sourcesContent":["import { useCollator } from '@react-aria/i18n';\nimport { SelectionManager } from '@react-stately/selection';\nimport { useControlledState } from '@react-stately/utils';\nimport { CONTAINER_STYLES } from '@tenphi/tasty';\nimport { forwardRef, useMemo, useRef, useState } from 'react';\nimport { useMultipleSelectionState } from 'react-stately';\n\nimport { useEvent, useWarn } from '../../../_internal/hooks';\nimport { useI18n } from '../../../i18n';\nimport { useCombinedRefs } from '../../../utils/react';\nimport { extractStyles, mergeStyleLayers } from '../../../utils/styles';\nimport { clampPage, getPageInfo } from '../../navigation/Pagination';\nimport { DraggableCollection } from '../../shared/DraggableCollection';\nimport { ItemTableFooter } from '../ItemTable/ItemTableFooter';\nimport { RowCollection } from '../TableBase/RowCollection';\nimport {\n buildTableTree,\n flattenTableTree,\n reindexTableTree,\n sortTableTree,\n} from '../TableBase/table-tree';\nimport { TableView } from '../TableBase/TableView';\nimport { selectionRowKey } from '../TableBase/types';\nimport { useCellSelection } from '../TableBase/use-cell-selection';\nimport {\n getDraggableColumnKeys,\n isColumnDraggable,\n useColumnOrder,\n} from '../TableBase/use-column-order';\nimport { useContainerWidth } from '../TableBase/use-container-width';\nimport {\n freezeColumnWidths,\n getColumnText,\n useTableColumns,\n} from '../TableBase/use-table-columns';\nimport { ROW_NUMBER_COLUMN_KEY } from '../TableBase/use-table-selection';\nimport { compareByColumn } from '../TableBase/use-table-sort';\nimport { useTableSorts } from '../TableBase/use-table-sorts';\nimport { useTableStorage } from '../TableBase/use-table-storage';\nimport { useTableTreeState } from '../TableBase/use-table-tree-state';\n\nimport type { Key } from '@react-types/shared';\nimport type { Styles } from '@tenphi/tasty';\nimport type { ForwardedRef, ReactElement } from 'react';\nimport type {\n CubeTableColumnGroupHeader,\n CubeTableColumnLayout,\n CubeTableRowSection,\n} from '../TableBase/types';\nimport type {\n CubeDataTableColumn,\n CubeDataTableColumnDefinition,\n CubeDataTableColumnGroup,\n CubeDataTableProps,\n} from './types';\n\n/** Wide enough for five digits at the dense default. */\nconst ROW_NUMBER_WIDTH = 56;\n\nconst EMPTY_WIDTHS: Record<string, number> = {};\n\ninterface DataTableColumnModel<T> {\n columns: CubeDataTableColumn<T>[];\n headerPaths: Map<string, readonly CubeTableColumnGroupHeader[]>;\n}\n\nfunction isColumnGroup<T>(\n column: CubeDataTableColumnDefinition<T>,\n): column is CubeDataTableColumnGroup<T> {\n return 'children' in column;\n}\n\n/** Flattens the public column tree while retaining each leaf's header path. */\nfunction buildColumnModel<T>(\n definitions: readonly CubeDataTableColumnDefinition<T>[],\n): DataTableColumnModel<T> {\n const columns: CubeDataTableColumn<T>[] = [];\n const headerPaths = new Map<string, readonly CubeTableColumnGroupHeader[]>();\n\n function visit(\n entries: readonly CubeDataTableColumnDefinition<T>[],\n path: readonly CubeTableColumnGroupHeader[],\n ) {\n for (const entry of entries) {\n if (isColumnGroup(entry)) {\n visit(entry.children, [\n ...path,\n { key: entry.key, title: entry.title },\n ]);\n } else {\n columns.push(entry);\n if (path.length) headerPaths.set(entry.key, path);\n }\n }\n }\n\n visit(definitions, []);\n\n return { columns, headerPaths };\n}\n\n/** What `dataType: 'number'` adds to a column's own `cellStyles`. */\nconst NUMERIC_CELL_STYLES: Styles = { fontVariantNumeric: 'tabular-nums' };\n\n/**\n * The merge per consumer object, so a `cellStyles` that returns a shared\n * constant keeps one identity per cell rather than a fresh object on every\n * call — which is what `column-styles.ts` and tasty key their caches on.\n */\nconst NUMERIC_MERGED = new WeakMap<Styles, Styles>();\n\nfunction withNumeric(own: Styles | null | undefined): Styles {\n if (!own) return NUMERIC_CELL_STYLES;\n\n let merged = NUMERIC_MERGED.get(own);\n\n if (!merged) {\n merged = { ...NUMERIC_CELL_STYLES, ...own };\n NUMERIC_MERGED.set(own, merged);\n }\n\n return merged;\n}\n\n/**\n * Folds the numeric default under a column's own `cellStyles`, in either form.\n * A function stays a function, called per cell with its result merged over the\n * default, so a numeric column keeps reacting to its cell context.\n */\nfunction numericCellStyles<T>(\n cellStyles: CubeDataTableColumn<T>['cellStyles'],\n): CubeDataTableColumn<T>['cellStyles'] {\n if (typeof cellStyles === 'function') {\n return (ctx) => withNumeric(cellStyles(ctx));\n }\n\n return withNumeric(cellStyles);\n}\n\nfunction defaultGetRowKey<T>(rowKey: string) {\n return (row: T, index: number): Key => {\n const value = (row as any)?.[rowKey];\n\n return value == null ? index : (value as Key);\n };\n}\n\n/**\n * A grid for query results.\n *\n * The same engine as `ItemTable` — one `TableView`, one column layout, one\n * value pipeline — with the defaults an analytical grid wants rather than a\n * list's: denser type, banded rows, resizable columns, multi-column sort, and\n * rows pinned for totals.\n *\n * It knows nothing about Cube. Measures, dimensions, pivots and drill-downs\n * reach it as leaf columns, presentational column groups, `render` output and\n * `column.header.menu` content, which is what keeps the ~34 kB of Cloud's\n * column-header menu in Cloud.\n */\nfunction DataTable<T = any>(\n props: CubeDataTableProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n data,\n columns,\n rowKey = 'id',\n getRowKey,\n getRowChildren,\n treeColumnKey,\n expandedKeys,\n defaultExpandedKeys,\n onExpand,\n pinnedTopRows,\n pinnedBottomRows,\n isLoading = false,\n loadingIndicator = 'overlay',\n skeletonRowCount,\n error,\n emptyLabel,\n noResultsLabel,\n isFiltered,\n shape = 'plain',\n // Denser than `ItemTable`'s `medium`: a result grid is read as a block, and\n // more rows on screen is the point of it.\n size = 'small',\n rowSize,\n rowHeight,\n headerHeight,\n isStriped = true,\n isHeaderHidden,\n isHeaderSticky,\n isAutoHeight = false,\n showRowNumbers = false,\n sortMode,\n sorts: sortsProp,\n defaultSorts,\n onSortsChange,\n paginationMode = 'client',\n page: pageProp,\n defaultPage,\n onPageChange,\n pageSize: pageSizeProp,\n defaultPageSize = 100,\n onPageSizeChange,\n pageSizeOptions,\n total: totalProp,\n totalPages,\n hasNextPage,\n summary = true,\n autoHidePagination = true,\n footerStart,\n footerCenter,\n footerEnd,\n cellSelectionMode = 'range',\n isCellSelectable,\n selectedCellRange,\n defaultSelectedCellRange,\n onCellRangeChange,\n isRowMoveAnimated,\n isResizable = true,\n columnWidths: columnWidthsProp,\n defaultColumnWidths,\n onColumnResize,\n isColumnReorderable = false,\n columnOrder,\n defaultColumnOrder,\n onColumnOrderChange,\n columnContextMenu,\n onColumnMenuAction,\n columnMenuTriggerProps,\n columnMenuProps,\n isVirtualized,\n virtualizeThreshold,\n overscan,\n getRowProps,\n storageKey,\n styles,\n headerStyles,\n headerCellStyles,\n bodyStyles,\n rowStyles,\n cellStyles,\n footerStyles,\n ariaLabel,\n qa,\n mods,\n ...rest\n } = props;\n\n const localRef = useRef<HTMLDivElement>(null);\n const rootRef = useCombinedRefs(ref, localRef);\n const [scrollerEl, setScrollerEl] = useState<HTMLElement | null>(null);\n const containerWidth = useContainerWidth(scrollerEl);\n\n const resolvedGetRowKey = useMemo(\n () => getRowKey ?? defaultGetRowKey<T>(rowKey),\n [getRowKey, rowKey],\n );\n\n const treeModel = useMemo(\n () =>\n getRowChildren\n ? buildTableTree(data, getRowChildren, resolvedGetRowKey)\n : null,\n [data, getRowChildren, resolvedGetRowKey],\n );\n\n useWarn(treeModel != null && treeModel.duplicateKeys.length > 0, {\n key: ['data-table-tree-duplicate-keys'],\n args: [\n 'DataTable:',\n 'Tree row keys must be unique across the complete hierarchy. Duplicate rows were ignored.',\n ],\n });\n useWarn(treeModel != null && treeModel.cyclicKeys.length > 0, {\n key: ['data-table-tree-cyclic-keys'],\n args: [\n 'DataTable:',\n 'Tree data contains a cycle. Cyclic descendants were ignored.',\n ],\n });\n\n const storage = useTableStorage(storageKey);\n\n const columnModel = useMemo(() => buildColumnModel(columns), [columns]);\n const hasColumnGroups = columnModel.headerPaths.size > 0;\n\n /**\n * `dataType` is presentational, so it is folded into the column here rather\n * than reaching the renderer: `number` right-aligns and takes tabular figures\n * so digits line up down the column.\n */\n const resolvedColumns = useMemo(\n () =>\n columnModel.columns.map((column) => {\n const isNumeric = column.dataType === 'number';\n\n return {\n ...column,\n align: column.align ?? (isNumeric ? 'end' : 'start'),\n cellStyles: isNumeric\n ? numericCellStyles(column.cellStyles)\n : column.cellStyles,\n } as CubeDataTableColumn<T>;\n }),\n [columnModel.columns],\n );\n\n // Applied to the SOURCE columns, before `useTableColumns`, so hidden-column\n // filtering, structural injection and pinned hoisting all still happen\n // downstream and `columnOrder` can never fight `pin`.\n const columnOrderState = useColumnOrder<T>({\n columns: resolvedColumns,\n columnOrder,\n defaultColumnOrder,\n onColumnOrderChange,\n storage,\n });\n const orderedColumns = columnOrderState.columns;\n\n const resolvedTreeColumnKey = useMemo(() => {\n if (!treeModel) return undefined;\n const visibleColumns = orderedColumns.filter((column) => !column.isHidden);\n return visibleColumns.some((column) => column.key === treeColumnKey)\n ? treeColumnKey\n : visibleColumns[0]?.key;\n }, [treeModel, orderedColumns, treeColumnKey]);\n\n useWarn(\n treeModel != null &&\n treeColumnKey != null &&\n resolvedTreeColumnKey !== treeColumnKey,\n {\n key: ['data-table-tree-column-invalid', treeColumnKey],\n args: [\n 'DataTable:',\n '`treeColumnKey` must identify a visible data column. Falling back to the first visible column.',\n ],\n },\n );\n\n const {\n sorts,\n sortedRows,\n toggleSort,\n setColumnSort,\n mode: resolvedSortMode,\n } = useTableSorts<T>({\n columns: orderedColumns,\n rows: treeModel ? treeModel.roots.map((node) => node.row) : data,\n mode: treeModel ? 'server' : sortMode,\n sorts: sortsProp,\n defaultSorts,\n onSortsChange,\n });\n\n const collator = useCollator({ numeric: true, sensitivity: 'base' });\n const treeSortMode = treeModel\n ? (sortMode ??\n (orderedColumns.some((column) => column.isSortable) ? 'client' : 'off'))\n : resolvedSortMode;\n const processedTreeRoots = useMemo(() => {\n const roots = treeModel?.roots ?? [];\n if (treeSortMode !== 'client' || !sorts.length) return roots;\n\n const active = sorts\n .map((sort) => ({\n sort,\n column: orderedColumns.find((column) => column.key === sort.columnKey),\n }))\n .filter((entry) => entry.column != null);\n\n return sortTableTree(roots, (a, b) => {\n for (const { sort, column } of active) {\n const result = compareByColumn(\n column!,\n collator,\n a.row,\n a.sourceIndex,\n b.row,\n b.sourceIndex,\n );\n if (result !== 0) {\n return result * (sort.direction === 'asc' ? 1 : -1);\n }\n }\n return a.siblingIndex - b.siblingIndex;\n });\n }, [treeModel, treeSortMode, sorts, orderedColumns, collator]);\n\n const [pageSize, setPageSizeState] = useControlledState<number>(\n pageSizeProp as number,\n (pageSizeProp === undefined && storage.has('pageSize')\n ? (storage.initial.pageSize ?? defaultPageSize)\n : defaultPageSize) as number,\n onPageSizeChange as (value: number) => void,\n );\n const [page, setPageState] = useControlledState<number>(\n pageProp as number,\n defaultPage ?? 1,\n onPageChange as (value: number) => void,\n );\n\n const isPaginated = paginationMode !== 'off';\n const isServerPaginated = paginationMode === 'server';\n const total = isServerPaginated\n ? (totalProp ?? 0)\n : treeModel\n ? processedTreeRoots.length\n : sortedRows.length;\n\n const pageInfo = getPageInfo({\n page,\n pageSize,\n total,\n totalPages: isServerPaginated ? totalPages : undefined,\n });\n\n const setPage = useEvent((next: number) =>\n setPageState(clampPage(next, pageInfo.totalPages)),\n );\n const setPageSize = useEvent((next: number) => {\n setPageSizeState(next);\n setPageState(1);\n\n if (pageSizeProp === undefined) storage.write({ pageSize: next });\n });\n\n const flatVisibleRows =\n paginationMode === 'client'\n ? sortedRows.slice(\n (pageInfo.page - 1) * pageSize,\n pageInfo.page * pageSize,\n )\n : sortedRows;\n\n const pageTreeRoots = useMemo(\n () =>\n reindexTableTree(\n paginationMode === 'client'\n ? processedTreeRoots.slice(\n (pageInfo.page - 1) * pageSize,\n pageInfo.page * pageSize,\n )\n : processedTreeRoots,\n ),\n [processedTreeRoots, paginationMode, pageInfo.page, pageSize],\n );\n\n const treeState = useTableTreeState<T>({\n roots: pageTreeRoots,\n allNodesByKey: treeModel?.byKey ?? new Map(),\n expandedKeys,\n defaultExpandedKeys,\n getTextValue: (node) => {\n const column = orderedColumns.find(\n (entry) => entry.key === resolvedTreeColumnKey,\n );\n return column\n ? (getColumnText(column, node.row, node.sourceIndex) ??\n String(node.key))\n : String(node.key);\n },\n onExpand,\n ariaLabel,\n });\n\n const visibleTreeEntries = treeModel ? treeState.visibleEntries : [];\n const visibleRows = treeModel\n ? visibleTreeEntries.map((entry) => entry.row)\n : flatVisibleRows;\n const visibleRowKeys = treeModel\n ? visibleTreeEntries.map((entry) => entry.key)\n : undefined;\n\n const [ownColumnWidths, setOwnColumnWidths] = useState<\n Record<string, number>\n >(\n () =>\n (columnWidthsProp === undefined && storage.has('columnWidths')\n ? (storage.initial.columnWidths ?? defaultColumnWidths)\n : defaultColumnWidths) ?? EMPTY_WIDTHS,\n );\n const [draftColumnWidths, setDraftColumnWidths] = useState<Record<\n string,\n number\n > | null>(null);\n const draftRef = useRef<Record<string, number> | null>(null);\n\n const baseColumnWidths = columnWidthsProp ?? ownColumnWidths;\n const columnWidths = draftColumnWidths ?? baseColumnWidths;\n\n /**\n * The resolved widths, for the freeze below. A ref because `layout` is\n * computed *after* this handler is defined, and `useEvent` only reads it when\n * the drag actually runs.\n */\n const layoutRef = useRef<CubeTableColumnLayout<T> | null>(null);\n\n const handleColumnResize = useEvent((key: string, width: number) => {\n // First move of a drag freezes every column, so this changes exactly one\n // width instead of re-splitting the flex pool. See `freezeColumnWidths`.\n const base =\n draftRef.current ??\n freezeColumnWidths(layoutRef.current, baseColumnWidths);\n\n draftRef.current = { ...base, [key]: Math.round(width) };\n setDraftColumnWidths(draftRef.current);\n });\n\n const handleColumnResizeEnd = useEvent((key: string) => {\n const next = draftRef.current ?? baseColumnWidths;\n\n if (columnWidthsProp === undefined) {\n setOwnColumnWidths(next);\n storage.write({ columnWidths: next });\n }\n\n onColumnResize?.(key, next[key], next);\n draftRef.current = null;\n setDraftColumnWidths(null);\n });\n\n const leadingColumns = useMemo(\n () =>\n showRowNumbers\n ? [{ key: ROW_NUMBER_COLUMN_KEY, width: ROW_NUMBER_WIDTH }]\n : undefined,\n [showRowNumbers],\n );\n\n const layout = useTableColumns<T>({\n columns: orderedColumns,\n containerWidth,\n columnWidths,\n leadingColumns,\n });\n\n layoutRef.current = layout;\n\n const { t } = useI18n();\n\n // Every row a range can reach, in the order they appear on screen. Pinned rows\n // are in it: a total is a figure like any other, and having to copy it\n // separately from the column it sums is the wrong trade.\n //\n // The keys are built here rather than inside the hook so they cannot disagree\n // with the ones the renderer stamps — a pinned row is keyed by its own index\n // within its group, exactly as `renderPinnedRow` keys it.\n const selectionRows = useMemo(\n () => [\n ...(pinnedTopRows ?? []),\n ...visibleRows,\n ...(pinnedBottomRows ?? []),\n ],\n [pinnedTopRows, visibleRows, pinnedBottomRows],\n );\n const selectionRowKeys = useMemo(\n () => [\n // Section-qualified, matching what the renderer stamps: the same record\n // is routinely pinned at both edges, and one flat key space collapsed the\n // two into whichever came first.\n ...(pinnedTopRows ?? []).map((row, index) =>\n selectionRowKey('pinnedTop', resolvedGetRowKey(row, index)),\n ),\n ...visibleRows.map(\n (row, index) =>\n visibleRowKeys?.[index] ?? resolvedGetRowKey(row, index),\n ),\n ...(pinnedBottomRows ?? []).map((row, index) =>\n selectionRowKey('pinnedBottom', resolvedGetRowKey(row, index)),\n ),\n ],\n [\n pinnedTopRows,\n visibleRows,\n visibleRowKeys,\n pinnedBottomRows,\n resolvedGetRowKey,\n ],\n );\n\n // The hook works in one flat row order; the section a row belongs to is a\n // property of where it sits in that order, so it is resolved here rather than\n // asking the consumer to track it.\n const resolveCellSelectable = useEvent(\n (row: T, rowKey: Key, columnKey: string) => {\n if (!isCellSelectable) return true;\n\n const index = selectionRowKeys.indexOf(rowKey);\n const topCount = pinnedTopRows?.length ?? 0;\n const section: CubeTableRowSection =\n index < topCount\n ? 'pinnedTop'\n : index < topCount + visibleRows.length\n ? 'body'\n : 'pinnedBottom';\n\n return isCellSelectable({ row, rowKey, columnKey, section });\n },\n );\n\n const cellSelection = useCellSelection<T>({\n mode: cellSelectionMode,\n columns: layout.columns,\n rows: selectionRows,\n rowKeys: selectionRowKeys,\n isCellSelectable: isCellSelectable ? resolveCellSelectable : undefined,\n range: selectedCellRange,\n defaultRange: defaultSelectedCellRange,\n onRangeChange: onCellRangeChange,\n });\n\n const rootStyles = mergeStyleLayers(\n extractStyles(props, CONTAINER_STYLES),\n styles,\n );\n\n const smallestPageSize = pageSizeOptions?.length\n ? Math.min(...pageSizeOptions)\n : pageSize;\n\n const showPagination =\n isPaginated &&\n !(\n autoHidePagination &&\n !hasNextPage &&\n pageInfo.totalPages <= 1 &&\n total <= smallestPageSize\n );\n\n const hasFooter =\n showPagination ||\n footerStart != null ||\n footerCenter != null ||\n footerEnd != null;\n\n /* ── column reordering ────────────────────────────────────────────────── */\n\n useWarn(isColumnReorderable && hasColumnGroups, {\n key: ['data-table-grouped-column-reorder'],\n args: [\n 'DataTable:',\n '`isColumnReorderable` is ignored when columns contain header groups.',\n ],\n });\n\n const canReorderColumns = isColumnReorderable && !hasColumnGroups;\n\n const headRowRef = useRef<HTMLTableRowElement>(null);\n const draggableColumnKeys = useMemo(\n () => getDraggableColumnKeys(layout.columns, canReorderColumns),\n [layout.columns, canReorderColumns],\n );\n const columnCollection = useMemo(\n () =>\n new RowCollection(\n layout.columns.filter((column) =>\n isColumnDraggable(column, canReorderColumns),\n ),\n (column) => column.key,\n new Set(),\n // The drag announcements read this — otherwise a screen reader hears\n // \"Insert between and \".\n (column) =>\n typeof column.title === 'string' ? column.title : column.key,\n ),\n [layout.columns, canReorderColumns],\n );\n /**\n * `'single'`, not `'none'`.\n *\n * `useDraggableItem` only deletes its own `onClick` — the one that would\n * hijack a screen-reader click away from the sort — when the selection mode is\n * not `'none'`, and only then does it attach the keyboard drag description.\n * Nothing is ever actually selected here.\n */\n const columnSelectionState = useMultipleSelectionState({\n selectionMode: 'single',\n disabledBehavior: 'all',\n });\n const columnSelectionManager = useMemo(\n () => new SelectionManager(columnCollection, columnSelectionState),\n [columnCollection, columnSelectionState],\n );\n const handleColumnFocus = useEvent((columnKey: string | null) => {\n columnSelectionManager.setFocusedKey(columnKey);\n });\n\n // One draggable column cannot be reordered, so the machinery stays unmounted\n // and the header keeps its exact DOM.\n const isColumnDragEnabled =\n canReorderColumns && draggableColumnKeys.length > 1;\n\n const treeRowNumberOffset = treeModel\n ? paginationMode === 'client'\n ? flattenTableTree(\n processedTreeRoots.slice(0, (pageInfo.page - 1) * pageSize),\n treeState.expandedKeys,\n ).length\n : 0\n : null;\n\n const renderTable = (\n columnDragState?: any,\n columnDropState?: any,\n headCollectionProps?: Record<string, any>,\n ) => (\n <TableView<T>\n {...rest}\n rootRef={rootRef}\n qa={qa || 'DataTable'}\n rows={visibleRows}\n rowKeys={visibleRowKeys}\n pinnedTopRows={pinnedTopRows}\n pinnedBottomRows={pinnedBottomRows}\n // Continuous across pages: row 101 is row 101, not row 1 of page two.\n //\n // Server mode counts too — the page and its size are known there just the\n // same, and `rows` is that page. Only `'off'` starts at 1, because then\n // there is no page to be on.\n rowNumberOffset={\n treeRowNumberOffset ??\n (paginationMode === 'off' ? 0 : (pageInfo.page - 1) * pageSize)\n }\n // The same offset drives `aria-rowindex`, which is document-absolute by\n // contract — a screen reader on page 3 should hear \"row 51 of 240\", not\n // \"row 1 of 25\".\n rowIndexOffset={\n treeModel\n ? 0\n : paginationMode === 'off'\n ? 0\n : (pageInfo.page - 1) * pageSize\n }\n totalRowCount={treeModel ? visibleRows.length : total}\n layout={layout}\n columnHeaderPaths={columnModel.headerPaths}\n // Always on, unlike `ItemTable`. A result grid is read down a column, and\n // once the values are wide and right-aligned the rule is what keeps a\n // figure attached to its column — which is why Cloud's ag-grid theme sets\n // `columnBorder` for `DataTable` and not for the list grids.\n hasColumnDividers\n cellSelection={cellSelection}\n getRowKey={resolvedGetRowKey}\n onScrollerRef={setScrollerEl}\n isLoading={isLoading}\n loadingIndicator={loadingIndicator}\n skeletonRowCount={skeletonRowCount}\n error={error}\n // Same localized fallbacks as `ItemTable`: a grid that has finished\n // loading and shows an unexplained blank rectangle reads as broken.\n emptyLabel={emptyLabel ?? t('itemTable.noItems', 'No items')}\n noResultsLabel={\n noResultsLabel ?? t('itemTable.noResults', 'No results found')\n }\n isFiltered={isFiltered}\n shape={shape}\n size={size}\n rowSize={rowSize}\n rowHeight={rowHeight}\n headerHeight={headerHeight}\n isStriped={isStriped}\n isRowMoveAnimated={isRowMoveAnimated}\n isHeaderHidden={isHeaderHidden}\n isHeaderSticky={isHeaderSticky}\n isAutoHeight={isAutoHeight}\n // The header shows the column name at body size — a result grid has no\n // room for the uppercase caption a list header uses.\n // `t4` throughout: a result grid is read as a block, and one step down\n // from the list preset fits noticeably more on screen without losing\n // legibility. The header takes the medium weight of the same step.\n contentPreset=\"t4\"\n headerPreset=\"t4m\"\n sortMode={treeSortMode}\n sorts={sorts}\n onColumnSort={toggleSort}\n onColumnSortChange={setColumnSort}\n columnContextMenu={columnContextMenu}\n onColumnMenuAction={onColumnMenuAction}\n columnMenuTriggerProps={columnMenuTriggerProps}\n columnMenuProps={columnMenuProps}\n isVirtualized={isVirtualized}\n virtualizeThreshold={virtualizeThreshold}\n overscan={overscan}\n isResizable={isResizable}\n onColumnResize={handleColumnResize}\n onColumnResizeEnd={handleColumnResizeEnd}\n getRowProps={getRowProps}\n ariaLabel={ariaLabel}\n styles={rootStyles}\n headerStyles={headerStyles}\n headerCellStyles={headerCellStyles}\n bodyStyles={bodyStyles}\n rowStyles={rowStyles}\n cellStyles={cellStyles}\n mods={mods}\n isColumnReorderable={isColumnDragEnabled}\n columnDragState={columnDragState}\n columnDropState={columnDropState}\n headCollectionProps={headCollectionProps}\n headRowRef={headRowRef}\n onColumnFocus={handleColumnFocus}\n tree={\n treeModel\n ? {\n state: treeState.state,\n ariaProps: treeState.ariaProps,\n nodes: treeState.visibleNodes,\n entries: visibleTreeEntries,\n columnKey: resolvedTreeColumnKey!,\n }\n : undefined\n }\n footer={\n hasFooter ? (\n <ItemTableFooter\n start={footerStart}\n center={footerCenter}\n end={footerEnd}\n styles={footerStyles}\n pagination={\n showPagination\n ? {\n page: pageInfo.page,\n pageSize,\n total,\n totalPages: pageInfo.totalPages,\n pageSizeOptions,\n summary,\n hasNextPage,\n onPageChange: setPage,\n onPageSizeChange: setPageSize,\n }\n : undefined\n }\n />\n ) : null\n }\n />\n );\n\n return isColumnDragEnabled ? (\n <DraggableCollection\n state={{\n collection: columnCollection as any,\n selectionManager: columnSelectionManager as any,\n disabledKeys: new Set(),\n }}\n // The element that DIRECTLY contains the header cells. React Aria's\n // `ListDropTargetDelegate` resolves a drop by measuring `[data-key]`\n // descendants of this element, so pointing it anywhere else leaves every\n // drop unresolvable — the column lifts but never lands.\n listRef={headRowRef}\n orderedKeys={draggableColumnKeys}\n orientation=\"horizontal\"\n onReorder={columnOrderState.reorder}\n >\n {(dragState, dropState, collectionProps) =>\n renderTable(dragState, dropState, collectionProps)\n }\n </DraggableCollection>\n ) : (\n renderTable()\n );\n}\n\nconst _DataTable = forwardRef(DataTable) as unknown as (<T = any>(\n props: CubeDataTableProps<T> & { ref?: ForwardedRef<HTMLDivElement> },\n) => ReactElement) & { displayName?: string };\n\n_DataTable.displayName = 'DataTable';\n\nexport { _DataTable as DataTable };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataTable.js","names":["useCollator","SelectionManager","useControlledState","CONTAINER_STYLES","forwardRef","useMemo","useRef","useState","useMultipleSelectionState","useEvent","useWarn","useI18n","useCombinedRefs","extractStyles","mergeStyleLayers","clampPage","getPageInfo","DraggableCollection","ItemTableFooter","RowCollection","buildTableTree","flattenTableTree","reindexTableTree","sortTableTree","TableView","selectionRowKey","useCellSelection","getDraggableColumnKeys","isColumnDraggable","useColumnOrder","useContainerWidth","freezeColumnWidths","getColumnText","useTableColumns","ROW_NUMBER_COLUMN_KEY","compareByColumn","useTableSorts","useTableStorage","useTableTreeState","Key","Styles","ForwardedRef","ReactElement","CubeTableColumnGroupHeader","CubeTableColumnLayout","CubeTableRowSection","CubeDataTableColumn","CubeDataTableColumnDefinition","CubeDataTableColumnGroup","CubeDataTableProps","ROW_NUMBER_WIDTH","EMPTY_WIDTHS","Record","DataTableColumnModel","columns","T","headerPaths","Map","isColumnGroup","column","buildColumnModel","definitions","visit","entries","path","entry","children","key","title","push","length","set","NUMERIC_CELL_STYLES","fontVariantNumeric","NUMERIC_MERGED","WeakMap","withNumeric","own","merged","get","numericCellStyles","cellStyles","ctx","defaultGetRowKey","rowKey","row","index","value","DataTable","props","ref","HTMLDivElement","data","getRowKey","getRowChildren","treeColumnKey","expandedKeys","defaultExpandedKeys","onExpand","pinnedTopRows","pinnedBottomRows","isLoading","loadingIndicator","skeletonRowCount","error","emptyLabel","noResultsLabel","isFiltered","shape","size","rowSize","rowHeight","headerHeight","isStriped","isHeaderHidden","isHeaderSticky","isAutoHeight","showRowNumbers","sortMode","sorts","sortsProp","defaultSorts","onSortsChange","paginationMode","page","pageProp","defaultPage","onPageChange","pageSize","pageSizeProp","defaultPageSize","onPageSizeChange","pageSizeOptions","total","totalProp","totalPages","hasNextPage","summary","autoHidePagination","footerStart","footerCenter","footerEnd","cellSelectionMode","isCellSelectable","selectedCellRange","defaultSelectedCellRange","onCellRangeChange","isRowMoveAnimated","isResizable","columnWidths","columnWidthsProp","defaultColumnWidths","onColumnResize","isColumnReorderable","columnOrder","defaultColumnOrder","onColumnOrderChange","columnContextMenu","onColumnMenuAction","columnMenuTriggerProps","columnMenuProps","isVirtualized","virtualizeThreshold","overscan","getRowProps","storageKey","styles","headerStyles","headerCellStyles","bodyStyles","rowStyles","footerStyles","ariaLabel","qa","mods","rest","localRef","rootRef","scrollerEl","setScrollerEl","HTMLElement","containerWidth","resolvedGetRowKey","treeModel","duplicateKeys","args","cyclicKeys","storage","columnModel","hasColumnGroups","resolvedColumns","map","isNumeric","dataType","align","columnOrderState","orderedColumns","resolvedTreeColumnKey","undefined","visibleColumns","filter","isHidden","some","sortedRows","toggleSort","setColumnSort","mode","resolvedSortMode","rows","roots","node","collator","numeric","sensitivity","treeSortMode","isSortable","processedTreeRoots","active","sort","find","columnKey","a","b","result","sourceIndex","direction","siblingIndex","setPageSizeState","has","initial","setPageState","isPaginated","isServerPaginated","pageInfo","setPage","next","setPageSize","write","flatVisibleRows","slice","pageTreeRoots","treeState","allNodesByKey","byKey","getTextValue","String","visibleTreeEntries","visibleEntries","visibleRows","visibleRowKeys","ownColumnWidths","setOwnColumnWidths","draftColumnWidths","setDraftColumnWidths","draftRef","baseColumnWidths","layoutRef","handleColumnResize","width","base","current","Math","round","handleColumnResizeEnd","leadingColumns","layout","t","selectionRows","selectionRowKeys","resolveCellSelectable","indexOf","topCount","section","cellSelection","rowKeys","range","defaultRange","onRangeChange","rootStyles","smallestPageSize","min","showPagination","hasFooter","canReorderColumns","headRowRef","HTMLTableRowElement","draggableColumnKeys","columnCollection","Set","columnSelectionState","selectionMode","disabledBehavior","columnSelectionManager","handleColumnFocus","setFocusedKey","isColumnDragEnabled","treeRowNumberOffset","renderTable","columnDragState","columnDropState","headCollectionProps","state","ariaProps","nodes","visibleNodes","collection","selectionManager","disabledKeys","reorder","dragState","dropState","collectionProps","_DataTable","displayName"],"sources":["../../../../src/components/data/DataTable/DataTable.tsx"],"sourcesContent":["import { useCollator } from '@react-aria/i18n';\nimport { SelectionManager } from '@react-stately/selection';\nimport { useControlledState } from '@react-stately/utils';\nimport { CONTAINER_STYLES } from '@tenphi/tasty';\nimport { forwardRef, useMemo, useRef, useState } from 'react';\nimport { useMultipleSelectionState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { useWarn } from '../../../_internal/hooks/use-warn';\nimport { useI18n } from '../../../i18n/useI18n';\nimport { useCombinedRefs } from '../../../utils/react/useCombinedRefs';\nimport { extractStyles, mergeStyleLayers } from '../../../utils/styles';\nimport {\n clampPage,\n getPageInfo,\n} from '../../navigation/Pagination/use-pagination';\nimport { DraggableCollection } from '../../shared/DraggableCollection';\nimport { ItemTableFooter } from '../ItemTable/ItemTableFooter';\nimport { RowCollection } from '../TableBase/RowCollection';\nimport {\n buildTableTree,\n flattenTableTree,\n reindexTableTree,\n sortTableTree,\n} from '../TableBase/table-tree';\nimport { TableView } from '../TableBase/TableView';\nimport { selectionRowKey } from '../TableBase/types';\nimport { useCellSelection } from '../TableBase/use-cell-selection';\nimport {\n getDraggableColumnKeys,\n isColumnDraggable,\n useColumnOrder,\n} from '../TableBase/use-column-order';\nimport { useContainerWidth } from '../TableBase/use-container-width';\nimport {\n freezeColumnWidths,\n getColumnText,\n useTableColumns,\n} from '../TableBase/use-table-columns';\nimport { ROW_NUMBER_COLUMN_KEY } from '../TableBase/use-table-selection';\nimport { compareByColumn } from '../TableBase/use-table-sort';\nimport { useTableSorts } from '../TableBase/use-table-sorts';\nimport { useTableStorage } from '../TableBase/use-table-storage';\nimport { useTableTreeState } from '../TableBase/use-table-tree-state';\n\nimport type { Key } from '@react-types/shared';\nimport type { Styles } from '@tenphi/tasty';\nimport type { ForwardedRef, ReactElement } from 'react';\nimport type {\n CubeTableColumnGroupHeader,\n CubeTableColumnLayout,\n CubeTableRowSection,\n} from '../TableBase/types';\nimport type {\n CubeDataTableColumn,\n CubeDataTableColumnDefinition,\n CubeDataTableColumnGroup,\n CubeDataTableProps,\n} from './types';\n\n/** Wide enough for five digits at the dense default. */\nconst ROW_NUMBER_WIDTH = 56;\n\nconst EMPTY_WIDTHS: Record<string, number> = {};\n\ninterface DataTableColumnModel<T> {\n columns: CubeDataTableColumn<T>[];\n headerPaths: Map<string, readonly CubeTableColumnGroupHeader[]>;\n}\n\nfunction isColumnGroup<T>(\n column: CubeDataTableColumnDefinition<T>,\n): column is CubeDataTableColumnGroup<T> {\n return 'children' in column;\n}\n\n/** Flattens the public column tree while retaining each leaf's header path. */\nfunction buildColumnModel<T>(\n definitions: readonly CubeDataTableColumnDefinition<T>[],\n): DataTableColumnModel<T> {\n const columns: CubeDataTableColumn<T>[] = [];\n const headerPaths = new Map<string, readonly CubeTableColumnGroupHeader[]>();\n\n function visit(\n entries: readonly CubeDataTableColumnDefinition<T>[],\n path: readonly CubeTableColumnGroupHeader[],\n ) {\n for (const entry of entries) {\n if (isColumnGroup(entry)) {\n visit(entry.children, [\n ...path,\n { key: entry.key, title: entry.title },\n ]);\n } else {\n columns.push(entry);\n if (path.length) headerPaths.set(entry.key, path);\n }\n }\n }\n\n visit(definitions, []);\n\n return { columns, headerPaths };\n}\n\n/** What `dataType: 'number'` adds to a column's own `cellStyles`. */\nconst NUMERIC_CELL_STYLES: Styles = { fontVariantNumeric: 'tabular-nums' };\n\n/**\n * The merge per consumer object, so a `cellStyles` that returns a shared\n * constant keeps one identity per cell rather than a fresh object on every\n * call — which is what `column-styles.ts` and tasty key their caches on.\n */\nconst NUMERIC_MERGED = new WeakMap<Styles, Styles>();\n\nfunction withNumeric(own: Styles | null | undefined): Styles {\n if (!own) return NUMERIC_CELL_STYLES;\n\n let merged = NUMERIC_MERGED.get(own);\n\n if (!merged) {\n merged = { ...NUMERIC_CELL_STYLES, ...own };\n NUMERIC_MERGED.set(own, merged);\n }\n\n return merged;\n}\n\n/**\n * Folds the numeric default under a column's own `cellStyles`, in either form.\n * A function stays a function, called per cell with its result merged over the\n * default, so a numeric column keeps reacting to its cell context.\n */\nfunction numericCellStyles<T>(\n cellStyles: CubeDataTableColumn<T>['cellStyles'],\n): CubeDataTableColumn<T>['cellStyles'] {\n if (typeof cellStyles === 'function') {\n return (ctx) => withNumeric(cellStyles(ctx));\n }\n\n return withNumeric(cellStyles);\n}\n\nfunction defaultGetRowKey<T>(rowKey: string) {\n return (row: T, index: number): Key => {\n const value = (row as any)?.[rowKey];\n\n return value == null ? index : (value as Key);\n };\n}\n\n/**\n * A grid for query results.\n *\n * The same engine as `ItemTable` — one `TableView`, one column layout, one\n * value pipeline — with the defaults an analytical grid wants rather than a\n * list's: denser type, banded rows, resizable columns, multi-column sort, and\n * rows pinned for totals.\n *\n * It knows nothing about Cube. Measures, dimensions, pivots and drill-downs\n * reach it as leaf columns, presentational column groups, `render` output and\n * `column.header.menu` content, which is what keeps the ~34 kB of Cloud's\n * column-header menu in Cloud.\n */\nfunction DataTable<T = any>(\n props: CubeDataTableProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n data,\n columns,\n rowKey = 'id',\n getRowKey,\n getRowChildren,\n treeColumnKey,\n expandedKeys,\n defaultExpandedKeys,\n onExpand,\n pinnedTopRows,\n pinnedBottomRows,\n isLoading = false,\n loadingIndicator = 'overlay',\n skeletonRowCount,\n error,\n emptyLabel,\n noResultsLabel,\n isFiltered,\n shape = 'plain',\n // Denser than `ItemTable`'s `medium`: a result grid is read as a block, and\n // more rows on screen is the point of it.\n size = 'small',\n rowSize,\n rowHeight,\n headerHeight,\n isStriped = true,\n isHeaderHidden,\n isHeaderSticky,\n isAutoHeight = false,\n showRowNumbers = false,\n sortMode,\n sorts: sortsProp,\n defaultSorts,\n onSortsChange,\n paginationMode = 'client',\n page: pageProp,\n defaultPage,\n onPageChange,\n pageSize: pageSizeProp,\n defaultPageSize = 100,\n onPageSizeChange,\n pageSizeOptions,\n total: totalProp,\n totalPages,\n hasNextPage,\n summary = true,\n autoHidePagination = true,\n footerStart,\n footerCenter,\n footerEnd,\n cellSelectionMode = 'range',\n isCellSelectable,\n selectedCellRange,\n defaultSelectedCellRange,\n onCellRangeChange,\n isRowMoveAnimated,\n isResizable = true,\n columnWidths: columnWidthsProp,\n defaultColumnWidths,\n onColumnResize,\n isColumnReorderable = false,\n columnOrder,\n defaultColumnOrder,\n onColumnOrderChange,\n columnContextMenu,\n onColumnMenuAction,\n columnMenuTriggerProps,\n columnMenuProps,\n isVirtualized,\n virtualizeThreshold,\n overscan,\n getRowProps,\n storageKey,\n styles,\n headerStyles,\n headerCellStyles,\n bodyStyles,\n rowStyles,\n cellStyles,\n footerStyles,\n ariaLabel,\n qa,\n mods,\n ...rest\n } = props;\n\n const localRef = useRef<HTMLDivElement>(null);\n const rootRef = useCombinedRefs(ref, localRef);\n const [scrollerEl, setScrollerEl] = useState<HTMLElement | null>(null);\n const containerWidth = useContainerWidth(scrollerEl);\n\n const resolvedGetRowKey = useMemo(\n () => getRowKey ?? defaultGetRowKey<T>(rowKey),\n [getRowKey, rowKey],\n );\n\n const treeModel = useMemo(\n () =>\n getRowChildren\n ? buildTableTree(data, getRowChildren, resolvedGetRowKey)\n : null,\n [data, getRowChildren, resolvedGetRowKey],\n );\n\n useWarn(treeModel != null && treeModel.duplicateKeys.length > 0, {\n key: ['data-table-tree-duplicate-keys'],\n args: [\n 'DataTable:',\n 'Tree row keys must be unique across the complete hierarchy. Duplicate rows were ignored.',\n ],\n });\n useWarn(treeModel != null && treeModel.cyclicKeys.length > 0, {\n key: ['data-table-tree-cyclic-keys'],\n args: [\n 'DataTable:',\n 'Tree data contains a cycle. Cyclic descendants were ignored.',\n ],\n });\n\n const storage = useTableStorage(storageKey);\n\n const columnModel = useMemo(() => buildColumnModel(columns), [columns]);\n const hasColumnGroups = columnModel.headerPaths.size > 0;\n\n /**\n * `dataType` is presentational, so it is folded into the column here rather\n * than reaching the renderer: `number` right-aligns and takes tabular figures\n * so digits line up down the column.\n */\n const resolvedColumns = useMemo(\n () =>\n columnModel.columns.map((column) => {\n const isNumeric = column.dataType === 'number';\n\n return {\n ...column,\n align: column.align ?? (isNumeric ? 'end' : 'start'),\n cellStyles: isNumeric\n ? numericCellStyles(column.cellStyles)\n : column.cellStyles,\n } as CubeDataTableColumn<T>;\n }),\n [columnModel.columns],\n );\n\n // Applied to the SOURCE columns, before `useTableColumns`, so hidden-column\n // filtering, structural injection and pinned hoisting all still happen\n // downstream and `columnOrder` can never fight `pin`.\n const columnOrderState = useColumnOrder<T>({\n columns: resolvedColumns,\n columnOrder,\n defaultColumnOrder,\n onColumnOrderChange,\n storage,\n });\n const orderedColumns = columnOrderState.columns;\n\n const resolvedTreeColumnKey = useMemo(() => {\n if (!treeModel) return undefined;\n const visibleColumns = orderedColumns.filter((column) => !column.isHidden);\n return visibleColumns.some((column) => column.key === treeColumnKey)\n ? treeColumnKey\n : visibleColumns[0]?.key;\n }, [treeModel, orderedColumns, treeColumnKey]);\n\n useWarn(\n treeModel != null &&\n treeColumnKey != null &&\n resolvedTreeColumnKey !== treeColumnKey,\n {\n key: ['data-table-tree-column-invalid', treeColumnKey],\n args: [\n 'DataTable:',\n '`treeColumnKey` must identify a visible data column. Falling back to the first visible column.',\n ],\n },\n );\n\n const {\n sorts,\n sortedRows,\n toggleSort,\n setColumnSort,\n mode: resolvedSortMode,\n } = useTableSorts<T>({\n columns: orderedColumns,\n rows: treeModel ? treeModel.roots.map((node) => node.row) : data,\n mode: treeModel ? 'server' : sortMode,\n sorts: sortsProp,\n defaultSorts,\n onSortsChange,\n });\n\n const collator = useCollator({ numeric: true, sensitivity: 'base' });\n const treeSortMode = treeModel\n ? (sortMode ??\n (orderedColumns.some((column) => column.isSortable) ? 'client' : 'off'))\n : resolvedSortMode;\n const processedTreeRoots = useMemo(() => {\n const roots = treeModel?.roots ?? [];\n if (treeSortMode !== 'client' || !sorts.length) return roots;\n\n const active = sorts\n .map((sort) => ({\n sort,\n column: orderedColumns.find((column) => column.key === sort.columnKey),\n }))\n .filter((entry) => entry.column != null);\n\n return sortTableTree(roots, (a, b) => {\n for (const { sort, column } of active) {\n const result = compareByColumn(\n column!,\n collator,\n a.row,\n a.sourceIndex,\n b.row,\n b.sourceIndex,\n );\n if (result !== 0) {\n return result * (sort.direction === 'asc' ? 1 : -1);\n }\n }\n return a.siblingIndex - b.siblingIndex;\n });\n }, [treeModel, treeSortMode, sorts, orderedColumns, collator]);\n\n const [pageSize, setPageSizeState] = useControlledState<number>(\n pageSizeProp as number,\n (pageSizeProp === undefined && storage.has('pageSize')\n ? (storage.initial.pageSize ?? defaultPageSize)\n : defaultPageSize) as number,\n onPageSizeChange as (value: number) => void,\n );\n const [page, setPageState] = useControlledState<number>(\n pageProp as number,\n defaultPage ?? 1,\n onPageChange as (value: number) => void,\n );\n\n const isPaginated = paginationMode !== 'off';\n const isServerPaginated = paginationMode === 'server';\n const total = isServerPaginated\n ? (totalProp ?? 0)\n : treeModel\n ? processedTreeRoots.length\n : sortedRows.length;\n\n const pageInfo = getPageInfo({\n page,\n pageSize,\n total,\n totalPages: isServerPaginated ? totalPages : undefined,\n });\n\n const setPage = useEvent((next: number) =>\n setPageState(clampPage(next, pageInfo.totalPages)),\n );\n const setPageSize = useEvent((next: number) => {\n setPageSizeState(next);\n setPageState(1);\n\n if (pageSizeProp === undefined) storage.write({ pageSize: next });\n });\n\n const flatVisibleRows =\n paginationMode === 'client'\n ? sortedRows.slice(\n (pageInfo.page - 1) * pageSize,\n pageInfo.page * pageSize,\n )\n : sortedRows;\n\n const pageTreeRoots = useMemo(\n () =>\n reindexTableTree(\n paginationMode === 'client'\n ? processedTreeRoots.slice(\n (pageInfo.page - 1) * pageSize,\n pageInfo.page * pageSize,\n )\n : processedTreeRoots,\n ),\n [processedTreeRoots, paginationMode, pageInfo.page, pageSize],\n );\n\n const treeState = useTableTreeState<T>({\n roots: pageTreeRoots,\n allNodesByKey: treeModel?.byKey ?? new Map(),\n expandedKeys,\n defaultExpandedKeys,\n getTextValue: (node) => {\n const column = orderedColumns.find(\n (entry) => entry.key === resolvedTreeColumnKey,\n );\n return column\n ? (getColumnText(column, node.row, node.sourceIndex) ??\n String(node.key))\n : String(node.key);\n },\n onExpand,\n ariaLabel,\n });\n\n const visibleTreeEntries = treeModel ? treeState.visibleEntries : [];\n const visibleRows = treeModel\n ? visibleTreeEntries.map((entry) => entry.row)\n : flatVisibleRows;\n const visibleRowKeys = treeModel\n ? visibleTreeEntries.map((entry) => entry.key)\n : undefined;\n\n const [ownColumnWidths, setOwnColumnWidths] = useState<\n Record<string, number>\n >(\n () =>\n (columnWidthsProp === undefined && storage.has('columnWidths')\n ? (storage.initial.columnWidths ?? defaultColumnWidths)\n : defaultColumnWidths) ?? EMPTY_WIDTHS,\n );\n const [draftColumnWidths, setDraftColumnWidths] = useState<Record<\n string,\n number\n > | null>(null);\n const draftRef = useRef<Record<string, number> | null>(null);\n\n const baseColumnWidths = columnWidthsProp ?? ownColumnWidths;\n const columnWidths = draftColumnWidths ?? baseColumnWidths;\n\n /**\n * The resolved widths, for the freeze below. A ref because `layout` is\n * computed *after* this handler is defined, and `useEvent` only reads it when\n * the drag actually runs.\n */\n const layoutRef = useRef<CubeTableColumnLayout<T> | null>(null);\n\n const handleColumnResize = useEvent((key: string, width: number) => {\n // First move of a drag freezes every column, so this changes exactly one\n // width instead of re-splitting the flex pool. See `freezeColumnWidths`.\n const base =\n draftRef.current ??\n freezeColumnWidths(layoutRef.current, baseColumnWidths);\n\n draftRef.current = { ...base, [key]: Math.round(width) };\n setDraftColumnWidths(draftRef.current);\n });\n\n const handleColumnResizeEnd = useEvent((key: string) => {\n const next = draftRef.current ?? baseColumnWidths;\n\n if (columnWidthsProp === undefined) {\n setOwnColumnWidths(next);\n storage.write({ columnWidths: next });\n }\n\n onColumnResize?.(key, next[key], next);\n draftRef.current = null;\n setDraftColumnWidths(null);\n });\n\n const leadingColumns = useMemo(\n () =>\n showRowNumbers\n ? [{ key: ROW_NUMBER_COLUMN_KEY, width: ROW_NUMBER_WIDTH }]\n : undefined,\n [showRowNumbers],\n );\n\n const layout = useTableColumns<T>({\n columns: orderedColumns,\n containerWidth,\n columnWidths,\n leadingColumns,\n });\n\n layoutRef.current = layout;\n\n const { t } = useI18n();\n\n // Every row a range can reach, in the order they appear on screen. Pinned rows\n // are in it: a total is a figure like any other, and having to copy it\n // separately from the column it sums is the wrong trade.\n //\n // The keys are built here rather than inside the hook so they cannot disagree\n // with the ones the renderer stamps — a pinned row is keyed by its own index\n // within its group, exactly as `renderPinnedRow` keys it.\n const selectionRows = useMemo(\n () => [\n ...(pinnedTopRows ?? []),\n ...visibleRows,\n ...(pinnedBottomRows ?? []),\n ],\n [pinnedTopRows, visibleRows, pinnedBottomRows],\n );\n const selectionRowKeys = useMemo(\n () => [\n // Section-qualified, matching what the renderer stamps: the same record\n // is routinely pinned at both edges, and one flat key space collapsed the\n // two into whichever came first.\n ...(pinnedTopRows ?? []).map((row, index) =>\n selectionRowKey('pinnedTop', resolvedGetRowKey(row, index)),\n ),\n ...visibleRows.map(\n (row, index) =>\n visibleRowKeys?.[index] ?? resolvedGetRowKey(row, index),\n ),\n ...(pinnedBottomRows ?? []).map((row, index) =>\n selectionRowKey('pinnedBottom', resolvedGetRowKey(row, index)),\n ),\n ],\n [\n pinnedTopRows,\n visibleRows,\n visibleRowKeys,\n pinnedBottomRows,\n resolvedGetRowKey,\n ],\n );\n\n // The hook works in one flat row order; the section a row belongs to is a\n // property of where it sits in that order, so it is resolved here rather than\n // asking the consumer to track it.\n const resolveCellSelectable = useEvent(\n (row: T, rowKey: Key, columnKey: string) => {\n if (!isCellSelectable) return true;\n\n const index = selectionRowKeys.indexOf(rowKey);\n const topCount = pinnedTopRows?.length ?? 0;\n const section: CubeTableRowSection =\n index < topCount\n ? 'pinnedTop'\n : index < topCount + visibleRows.length\n ? 'body'\n : 'pinnedBottom';\n\n return isCellSelectable({ row, rowKey, columnKey, section });\n },\n );\n\n const cellSelection = useCellSelection<T>({\n mode: cellSelectionMode,\n columns: layout.columns,\n rows: selectionRows,\n rowKeys: selectionRowKeys,\n isCellSelectable: isCellSelectable ? resolveCellSelectable : undefined,\n range: selectedCellRange,\n defaultRange: defaultSelectedCellRange,\n onRangeChange: onCellRangeChange,\n });\n\n const rootStyles = mergeStyleLayers(\n extractStyles(props, CONTAINER_STYLES),\n styles,\n );\n\n const smallestPageSize = pageSizeOptions?.length\n ? Math.min(...pageSizeOptions)\n : pageSize;\n\n const showPagination =\n isPaginated &&\n !(\n autoHidePagination &&\n !hasNextPage &&\n pageInfo.totalPages <= 1 &&\n total <= smallestPageSize\n );\n\n const hasFooter =\n showPagination ||\n footerStart != null ||\n footerCenter != null ||\n footerEnd != null;\n\n /* ── column reordering ────────────────────────────────────────────────── */\n\n useWarn(isColumnReorderable && hasColumnGroups, {\n key: ['data-table-grouped-column-reorder'],\n args: [\n 'DataTable:',\n '`isColumnReorderable` is ignored when columns contain header groups.',\n ],\n });\n\n const canReorderColumns = isColumnReorderable && !hasColumnGroups;\n\n const headRowRef = useRef<HTMLTableRowElement>(null);\n const draggableColumnKeys = useMemo(\n () => getDraggableColumnKeys(layout.columns, canReorderColumns),\n [layout.columns, canReorderColumns],\n );\n const columnCollection = useMemo(\n () =>\n new RowCollection(\n layout.columns.filter((column) =>\n isColumnDraggable(column, canReorderColumns),\n ),\n (column) => column.key,\n new Set(),\n // The drag announcements read this — otherwise a screen reader hears\n // \"Insert between and \".\n (column) =>\n typeof column.title === 'string' ? column.title : column.key,\n ),\n [layout.columns, canReorderColumns],\n );\n /**\n * `'single'`, not `'none'`.\n *\n * `useDraggableItem` only deletes its own `onClick` — the one that would\n * hijack a screen-reader click away from the sort — when the selection mode is\n * not `'none'`, and only then does it attach the keyboard drag description.\n * Nothing is ever actually selected here.\n */\n const columnSelectionState = useMultipleSelectionState({\n selectionMode: 'single',\n disabledBehavior: 'all',\n });\n const columnSelectionManager = useMemo(\n () => new SelectionManager(columnCollection, columnSelectionState),\n [columnCollection, columnSelectionState],\n );\n const handleColumnFocus = useEvent((columnKey: string | null) => {\n columnSelectionManager.setFocusedKey(columnKey);\n });\n\n // One draggable column cannot be reordered, so the machinery stays unmounted\n // and the header keeps its exact DOM.\n const isColumnDragEnabled =\n canReorderColumns && draggableColumnKeys.length > 1;\n\n const treeRowNumberOffset = treeModel\n ? paginationMode === 'client'\n ? flattenTableTree(\n processedTreeRoots.slice(0, (pageInfo.page - 1) * pageSize),\n treeState.expandedKeys,\n ).length\n : 0\n : null;\n\n const renderTable = (\n columnDragState?: any,\n columnDropState?: any,\n headCollectionProps?: Record<string, any>,\n ) => (\n <TableView<T>\n {...rest}\n rootRef={rootRef}\n qa={qa || 'DataTable'}\n rows={visibleRows}\n rowKeys={visibleRowKeys}\n pinnedTopRows={pinnedTopRows}\n pinnedBottomRows={pinnedBottomRows}\n // Continuous across pages: row 101 is row 101, not row 1 of page two.\n //\n // Server mode counts too — the page and its size are known there just the\n // same, and `rows` is that page. Only `'off'` starts at 1, because then\n // there is no page to be on.\n rowNumberOffset={\n treeRowNumberOffset ??\n (paginationMode === 'off' ? 0 : (pageInfo.page - 1) * pageSize)\n }\n // The same offset drives `aria-rowindex`, which is document-absolute by\n // contract — a screen reader on page 3 should hear \"row 51 of 240\", not\n // \"row 1 of 25\".\n rowIndexOffset={\n treeModel\n ? 0\n : paginationMode === 'off'\n ? 0\n : (pageInfo.page - 1) * pageSize\n }\n totalRowCount={treeModel ? visibleRows.length : total}\n layout={layout}\n columnHeaderPaths={columnModel.headerPaths}\n // Always on, unlike `ItemTable`. A result grid is read down a column, and\n // once the values are wide and right-aligned the rule is what keeps a\n // figure attached to its column — which is why Cloud's ag-grid theme sets\n // `columnBorder` for `DataTable` and not for the list grids.\n hasColumnDividers\n cellSelection={cellSelection}\n getRowKey={resolvedGetRowKey}\n onScrollerRef={setScrollerEl}\n isLoading={isLoading}\n loadingIndicator={loadingIndicator}\n skeletonRowCount={skeletonRowCount}\n error={error}\n // Same localized fallbacks as `ItemTable`: a grid that has finished\n // loading and shows an unexplained blank rectangle reads as broken.\n emptyLabel={emptyLabel ?? t('itemTable.noItems', 'No items')}\n noResultsLabel={\n noResultsLabel ?? t('itemTable.noResults', 'No results found')\n }\n isFiltered={isFiltered}\n shape={shape}\n size={size}\n rowSize={rowSize}\n rowHeight={rowHeight}\n headerHeight={headerHeight}\n isStriped={isStriped}\n isRowMoveAnimated={isRowMoveAnimated}\n isHeaderHidden={isHeaderHidden}\n isHeaderSticky={isHeaderSticky}\n isAutoHeight={isAutoHeight}\n // The header shows the column name at body size — a result grid has no\n // room for the uppercase caption a list header uses.\n // `t4` throughout: a result grid is read as a block, and one step down\n // from the list preset fits noticeably more on screen without losing\n // legibility. The header takes the medium weight of the same step.\n contentPreset=\"t4\"\n headerPreset=\"t4m\"\n sortMode={treeSortMode}\n sorts={sorts}\n onColumnSort={toggleSort}\n onColumnSortChange={setColumnSort}\n columnContextMenu={columnContextMenu}\n onColumnMenuAction={onColumnMenuAction}\n columnMenuTriggerProps={columnMenuTriggerProps}\n columnMenuProps={columnMenuProps}\n isVirtualized={isVirtualized}\n virtualizeThreshold={virtualizeThreshold}\n overscan={overscan}\n isResizable={isResizable}\n onColumnResize={handleColumnResize}\n onColumnResizeEnd={handleColumnResizeEnd}\n getRowProps={getRowProps}\n ariaLabel={ariaLabel}\n styles={rootStyles}\n headerStyles={headerStyles}\n headerCellStyles={headerCellStyles}\n bodyStyles={bodyStyles}\n rowStyles={rowStyles}\n cellStyles={cellStyles}\n mods={mods}\n isColumnReorderable={isColumnDragEnabled}\n columnDragState={columnDragState}\n columnDropState={columnDropState}\n headCollectionProps={headCollectionProps}\n headRowRef={headRowRef}\n onColumnFocus={handleColumnFocus}\n tree={\n treeModel\n ? {\n state: treeState.state,\n ariaProps: treeState.ariaProps,\n nodes: treeState.visibleNodes,\n entries: visibleTreeEntries,\n columnKey: resolvedTreeColumnKey!,\n }\n : undefined\n }\n footer={\n hasFooter ? (\n <ItemTableFooter\n start={footerStart}\n center={footerCenter}\n end={footerEnd}\n styles={footerStyles}\n pagination={\n showPagination\n ? {\n page: pageInfo.page,\n pageSize,\n total,\n totalPages: pageInfo.totalPages,\n pageSizeOptions,\n summary,\n hasNextPage,\n onPageChange: setPage,\n onPageSizeChange: setPageSize,\n }\n : undefined\n }\n />\n ) : null\n }\n />\n );\n\n return isColumnDragEnabled ? (\n <DraggableCollection\n state={{\n collection: columnCollection as any,\n selectionManager: columnSelectionManager as any,\n disabledKeys: new Set(),\n }}\n // The element that DIRECTLY contains the header cells. React Aria's\n // `ListDropTargetDelegate` resolves a drop by measuring `[data-key]`\n // descendants of this element, so pointing it anywhere else leaves every\n // drop unresolvable — the column lifts but never lands.\n listRef={headRowRef}\n orderedKeys={draggableColumnKeys}\n orientation=\"horizontal\"\n onReorder={columnOrderState.reorder}\n >\n {(dragState, dropState, collectionProps) =>\n renderTable(dragState, dropState, collectionProps)\n }\n </DraggableCollection>\n ) : (\n renderTable()\n );\n}\n\nconst _DataTable = forwardRef(DataTable) as unknown as (<T = any>(\n props: CubeDataTableProps<T> & { ref?: ForwardedRef<HTMLDivElement> },\n) => ReactElement) & { displayName?: string };\n\n_DataTable.displayName = 'DataTable';\n\nexport { _DataTable as DataTable };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,MAAMkD,mBAAmB;AAEzB,MAAMC,eAAuC,CAAC;AAO9C,SAASO,cACPC,QACuC;CACvC,OAAO,cAAcA;AACvB;;AAGA,SAASC,iBACPC,aACyB;CACzB,MAAMP,UAAoC,CAAA;CAC1C,MAAME,8BAAc,IAAIC,IAAmD;CAE3E,SAASK,MACPC,SACAC,MACA;EACA,KAAK,MAAMC,SAASF,SAClB,IAAIL,cAAcO,KAAK,GACrBH,MAAMG,MAAMC,UAAU,CACpB,GAAGF,MACH;GAAEG,KAAKF,MAAME;GAAKC,OAAOH,MAAMG;EAAM,CAAC,CACvC;OACI;GACLd,QAAQe,KAAKJ,KAAK;GAClB,IAAID,KAAKM,QAAQd,YAAYe,IAAIN,MAAME,KAAKH,IAAI;EAClD;CAEJ;CAEAF,MAAMD,aAAa,CAAA,CAAE;CAErB,OAAO;EAAEP;EAASE;CAAY;AAChC;;AAGA,MAAMgB,sBAA8B,EAAEC,oBAAoB,eAAe;;;;;;AAOzE,MAAMC,iCAAiB,IAAIC,QAAwB;AAEnD,SAASC,YAAYC,KAAwC;CAC3D,IAAI,CAACA,KAAK,OAAOL;CAEjB,IAAIM,SAASJ,eAAeK,IAAIF,GAAG;CAEnC,IAAI,CAACC,QAAQ;EACXA,SAAS;GAAE,GAAGN;GAAqB,GAAGK;EAAI;EAC1CH,eAAeH,IAAIM,KAAKC,MAAM;CAChC;CAEA,OAAOA;AACT;;;;;;AAOA,SAASE,kBACPC,YACsC;CACtC,IAAI,OAAOA,eAAe,YACxB,QAAQC,QAAQN,YAAYK,WAAWC,GAAG,CAAC;CAG7C,OAAON,YAAYK,UAAU;AAC/B;AAEA,SAASE,iBAAoBC,QAAgB;CAC3C,QAAQC,KAAQC,UAAuB;EACrC,MAAMC,QAASF,MAAcD;EAE7B,OAAOG,SAAS,OAAOD,QAASC;CAClC;AACF;;;;;;;;;;;;;;AAeA,SAASC,UACPC,OACAC,KACA;CACA,MAAM,EACJE,MACAtC,SACA8B,SAAS,MACTS,WACAC,gBACAC,eACAC,cACAC,qBACAC,UACAC,eACAC,kBACAC,YAAY,OACZC,mBAAmB,WACnBC,kBACAC,OACAC,YACAC,gBACAC,YACAC,QAAQ,SAGRC,OAAO,SACPC,SACAC,WACAC,cACAC,YAAY,MACZC,gBACAC,gBACAC,eAAe,OACfC,iBAAiB,OACjBC,UACAC,OAAOC,WACPC,cACAC,eACAC,iBAAiB,UACjBC,MAAMC,UACNC,aACAC,cACAC,UAAUC,cACVC,kBAAkB,KAClBC,kBACAC,iBACAC,OAAOC,WACPC,YACAC,aACAC,UAAU,MACVC,qBAAqB,MACrBC,aACAC,cACAC,WACAC,oBAAoB,SACpBC,kBACAC,mBACAC,0BACAC,mBACAC,mBACAC,cAAc,MACdC,cAAcC,kBACdC,qBACAC,gBACAC,sBAAsB,OACtBC,aACAC,oBACAC,qBACAC,mBACAC,oBACAC,wBACAC,iBACAC,eACAC,qBACAC,UACAC,aACAC,YACAC,QACAC,cACAC,kBACAC,YACAC,WACAzF,YACA0F,cACAC,WACAC,IACAC,MACA,GAAGC,SACDtF;CAEJ,MAAMuF,WAAW1K,OAAuB,IAAI;CAC5C,MAAM2K,UAAUrK,gBAAgB8E,KAAKsF,QAAQ;CAC7C,MAAM,CAACE,YAAYC,iBAAiB5K,SAA6B,IAAI;CACrE,MAAM8K,iBAAiBvJ,kBAAkBoJ,UAAU;CAEnD,MAAMI,oBAAoBjL,cAClBwF,aAAaV,iBAAoBC,MAAM,GAC7C,CAACS,WAAWT,MAAM,CACpB;CAEA,MAAMmG,YAAYlL,cAEdyF,iBACI1E,eAAewE,MAAME,gBAAgBwF,iBAAiB,IACtD,MACN;EAAC1F;EAAME;EAAgBwF;CAAiB,CAC1C;CAEA5K,QAAQ6K,aAAa,QAAQA,UAAUC,cAAclH,SAAS,GAAG;EAC/DH,KAAK,CAAC,gCAAgC;EACtCsH,MAAM,CACJ,cACA,0FAA0F;CAE9F,CAAC;CACD/K,QAAQ6K,aAAa,QAAQA,UAAUG,WAAWpH,SAAS,GAAG;EAC5DH,KAAK,CAAC,6BAA6B;EACnCsH,MAAM,CACJ,cACA,8DAA8D;CAElE,CAAC;CAED,MAAME,UAAUtJ,gBAAgBgI,UAAU;CAE1C,MAAMuB,cAAcvL,cAAcuD,iBAAiBN,OAAO,GAAG,CAACA,OAAO,CAAC;CACtE,MAAMuI,kBAAkBD,YAAYpI,YAAYqD,OAAO;;;;;;CAOvD,MAAMiF,kBAAkBzL,cAEpBuL,YAAYtI,QAAQyI,KAAKpI,WAAW;EAClC,MAAMqI,YAAYrI,OAAOsI,aAAa;EAEtC,OAAO;GACL,GAAGtI;GACHuI,OAAOvI,OAAOuI,UAAUF,YAAY,QAAQ;GAC5C/G,YAAY+G,YACRhH,kBAAkBrB,OAAOsB,UAAU,IACnCtB,OAAOsB;EACb;CACF,CAAC,GACH,CAAC2G,YAAYtI,OAAO,CACtB;CAKA,MAAM6I,mBAAmBtK,eAAkB;EACzCyB,SAASwI;EACTpC;EACAC;EACAC;EACA+B;CACF,CAAC;CACD,MAAMS,iBAAiBD,iBAAiB7I;CAExC,MAAM+I,wBAAwBhM,cAAc;EAC1C,IAAI,CAACkL,WAAW,OAAOe,KAAAA;EACvB,MAAMC,iBAAiBH,eAAeI,QAAQ7I,aAAW,CAACA,SAAO8I,QAAQ;EACzE,OAAOF,eAAeG,MAAM/I,aAAWA,SAAOQ,QAAQ4B,aAAa,IAC/DA,gBACAwG,eAAe,EAAE,EAAEpI;CACzB,GAAG;EAACoH;EAAWa;EAAgBrG;CAAa,CAAC;CAE7CrF,QACE6K,aAAa,QACXxF,iBAAiB,QACjBsG,0BAA0BtG,eAC5B;EACE5B,KAAK,CAAC,kCAAkC4B,aAAa;EACrD0F,MAAM,CACJ,cACA,gGAAgG;CAEpG,CACF;CAEA,MAAM,EACJlE,OACAoF,YACAC,YACAC,eACAC,MAAMC,qBACJ3K,cAAiB;EACnBkB,SAAS8I;EACTY,MAAMzB,YAAYA,UAAU0B,MAAMlB,KAAKmB,SAASA,KAAK7H,GAAG,IAAIO;EAC5DkH,MAAMvB,YAAY,WAAWjE;EAC7BC,OAAOC;EACPC;EACAC;CACF,CAAC;CAED,MAAMyF,WAAWnN,YAAY;EAAEoN,SAAS;EAAMC,aAAa;CAAO,CAAC;CACnE,MAAMC,eAAe/B,YAChBjE,aACA8E,eAAeM,MAAM/I,aAAWA,SAAO4J,UAAU,IAAI,WAAW,SACjER;CACJ,MAAMS,qBAAqBnN,cAAc;EACvC,MAAM4M,QAAQ1B,WAAW0B,SAAS,CAAA;EAClC,IAAIK,iBAAiB,YAAY,CAAC/F,MAAMjD,QAAQ,OAAO2I;EAEvD,MAAMQ,SAASlG,MACZwE,KAAK2B,UAAU;GACdA;GACA/J,QAAQyI,eAAeuB,MAAMhK,aAAWA,SAAOQ,QAAQuJ,KAAKE,SAAS;EACvE,EAAE,CAAC,CACFpB,QAAQvI,UAAUA,MAAMN,UAAU,IAAI;EAEzC,OAAOpC,cAAc0L,QAAQY,GAAGC,MAAM;GACpC,KAAK,MAAM,EAAEJ,MAAAA,QAAM/J,QAAAA,cAAY8J,QAAQ;IACrC,MAAMM,SAAS5L,gBACbwB,UACAwJ,UACAU,EAAExI,KACFwI,EAAEG,aACFF,EAAEzI,KACFyI,EAAEE,WACJ;IACA,IAAID,WAAW,GACb,OAAOA,UAAUL,OAAKO,cAAc,QAAQ,IAAI;GAEpD;GACA,OAAOJ,EAAEK,eAAeJ,EAAEI;EAC5B,CAAC;CACH,GAAG;EAAC3C;EAAW+B;EAAc/F;EAAO6E;EAAgBe;CAAQ,CAAC;CAE7D,MAAM,CAACnF,UAAUmG,oBAAoBjO,mBACnC+H,cACCA,iBAAiBqE,KAAAA,KAAaX,QAAQyC,IAAI,UAAU,IAChDzC,QAAQ0C,QAAQrG,YAAYE,kBAC7BA,iBACJC,gBACF;CACA,MAAM,CAACP,MAAM0G,gBAAgBpO,mBAC3B2H,UACAC,eAAe,GACfC,YACF;CAEA,MAAMwG,cAAc5G,mBAAmB;CACvC,MAAM6G,oBAAoB7G,mBAAmB;CAC7C,MAAMU,QAAQmG,oBACTlG,aAAa,IACdiD,YACEiC,mBAAmBlJ,SACnBqI,WAAWrI;CAEjB,MAAMmK,WAAWzN,YAAY;EAC3B4G;EACAI;EACAK;EACAE,YAAYiG,oBAAoBjG,aAAa+D,KAAAA;CAC/C,CAAC;CAED,MAAMoC,UAAUjO,UAAUkO,SACxBL,aAAavN,UAAU4N,MAAMF,SAASlG,UAAU,CAAC,CACnD;CACA,MAAMqG,cAAcnO,UAAUkO,WAAiB;EAC7CR,iBAAiBQ,MAAI;EACrBL,aAAa,CAAC;EAEd,IAAIrG,iBAAiBqE,KAAAA,GAAWX,QAAQkD,MAAM,EAAE7G,UAAU2G,OAAK,CAAC;CAClE,CAAC;CAED,MAAMG,kBACJnH,mBAAmB,WACfgF,WAAWoC,OACRN,SAAS7G,OAAO,KAAKI,UACtByG,SAAS7G,OAAOI,QAClB,IACA2E;CAEN,MAAMqC,gBAAgB3O,cAElBiB,iBACEqG,mBAAmB,WACf6F,mBAAmBuB,OAChBN,SAAS7G,OAAO,KAAKI,UACtByG,SAAS7G,OAAOI,QAClB,IACAwF,kBACN,GACF;EAACA;EAAoB7F;EAAgB8G,SAAS7G;EAAMI;CAAQ,CAC9D;CAEA,MAAMiH,YAAY3M,kBAAqB;EACrC2K,OAAO+B;EACPE,eAAe3D,WAAW4D,yBAAS,IAAI1L,IAAI;EAC3CuC;EACAC;EACAmJ,eAAelC,WAAS;GACtB,MAAMvJ,WAASyI,eAAeuB,MAC3B1J,YAAUA,QAAME,QAAQkI,qBAC3B;GACA,OAAO1I,WACF3B,cAAc2B,UAAQuJ,OAAK7H,KAAK6H,OAAKc,WAAW,KAC/CqB,OAAOnC,OAAK/I,GAAG,IACjBkL,OAAOnC,OAAK/I,GAAG;EACrB;EACA+B;EACA0E;CACF,CAAC;CAED,MAAM0E,qBAAqB/D,YAAY0D,UAAUM,iBAAiB,CAAA;CAClE,MAAMC,cAAcjE,YAChB+D,mBAAmBvD,KAAK9H,YAAUA,QAAMoB,GAAG,IAC3CyJ;CACJ,MAAMW,iBAAiBlE,YACnB+D,mBAAmBvD,KAAK9H,YAAUA,QAAME,GAAG,IAC3CmI,KAAAA;CAEJ,MAAM,CAACoD,iBAAiBC,sBAAsBpP,gBAIzC+I,qBAAqBgD,KAAAA,KAAaX,QAAQyC,IAAI,cAAc,IACxDzC,QAAQ0C,QAAQhF,gBAAgBE,sBACjCA,wBAAwBpG,YAChC;CACA,MAAM,CAACyM,mBAAmBC,wBAAwBtP,SAGxC,IAAI;CACd,MAAMuP,WAAWxP,OAAsC,IAAI;CAE3D,MAAMyP,mBAAmBzG,oBAAoBoG;CAC7C,MAAMrG,eAAeuG,qBAAqBG;;;;;;CAO1C,MAAMC,YAAY1P,OAAwC,IAAI;CAE9D,MAAM2P,qBAAqBxP,UAAU0D,KAAa+L,UAAkB;EAGlE,MAAMC,OACJL,SAASM,WACTrO,mBAAmBiO,UAAUI,SAASL,gBAAgB;EAExDD,SAASM,UAAU;GAAE,GAAGD;IAAOhM,MAAMkM,KAAKC,MAAMJ,KAAK;EAAE;EACvDL,qBAAqBC,SAASM,OAAO;CACvC,CAAC;CAED,MAAMG,wBAAwB9P,UAAU0D,UAAgB;EACtD,MAAMwK,SAAOmB,SAASM,WAAWL;EAEjC,IAAIzG,qBAAqBgD,KAAAA,GAAW;GAClCqD,mBAAmBhB,MAAI;GACvBhD,QAAQkD,MAAM,EAAExF,cAAcsF,OAAK,CAAC;EACtC;EAEAnF,iBAAiBrF,OAAKwK,OAAKxK,QAAMwK,MAAI;EACrCmB,SAASM,UAAU;EACnBP,qBAAqB,IAAI;CAC3B,CAAC;CAED,MAAMW,iBAAiBnQ,cAEnBgH,iBACI,CAAC;EAAElD,KAAKjC;EAAuBgO,OAAOhN;CAAiB,CAAC,IACxDoJ,KAAAA,GACN,CAACjF,cAAc,CACjB;CAEA,MAAMoJ,SAASxO,gBAAmB;EAChCqB,SAAS8I;EACTf;EACAhC;EACAmH;CACF,CAAC;CAEDR,UAAUI,UAAUK;CAEpB,MAAM,EAAEC,MAAM/P,QAAQ;CAStB,MAAMgQ,gBAAgBtQ,cACd;EACJ,GAAI8F,iBAAiB,CAAA;EACrB,GAAGqJ;EACH,GAAIpJ,oBAAoB,CAAA;CAAG,GAE7B;EAACD;EAAeqJ;EAAapJ;CAAgB,CAC/C;CACA,MAAMwK,mBAAmBvQ,cACjB;EAIJ,IAAI8F,iBAAiB,CAAA,EAAA,CAAI4F,KAAK1G,KAAKC,UACjC7D,gBAAgB,aAAa6J,kBAAkBjG,KAAKC,KAAK,CAAC,CAC5D;EACA,GAAGkK,YAAYzD,KACZ1G,OAAKC,YACJmK,iBAAiBnK,YAAUgG,kBAAkBjG,OAAKC,OAAK,CAC3D;EACA,IAAIc,oBAAoB,CAAA,EAAA,CAAI2F,KAAK1G,OAAKC,YACpC7D,gBAAgB,gBAAgB6J,kBAAkBjG,OAAKC,OAAK,CAAC,CAC/D;CAAC,GAEH;EACEa;EACAqJ;EACAC;EACArJ;EACAkF;CAAiB,CAErB;CAKA,MAAMuF,wBAAwBpQ,UAC3B4E,OAAQD,UAAawI,cAAsB;EAC1C,IAAI,CAAC7E,kBAAkB,OAAO;EAE9B,MAAMzD,UAAQsL,iBAAiBE,QAAQ1L,QAAM;EAC7C,MAAM2L,WAAW5K,eAAe7B,UAAU;EAC1C,MAAM0M,UACJ1L,UAAQyL,WACJ,cACAzL,UAAQyL,WAAWvB,YAAYlL,SAC7B,SACA;EAER,OAAOyE,iBAAiB;GAAE1D,KAAAA;GAAKD,QAAAA;GAAQwI;GAAWoD;EAAQ,CAAC;CAC7D,CACF;CAEA,MAAMC,gBAAgBvP,iBAAoB;EACxCoL,MAAMhE;EACNxF,SAASmN,OAAOnN;EAChB0J,MAAM2D;EACNO,SAASN;EACT7H,kBAAkBA,mBAAmB8H,wBAAwBvE,KAAAA;EAC7D6E,OAAOnI;EACPoI,cAAcnI;EACdoI,eAAenI;CACjB,CAAC;CAED,MAAMoI,aAAaxQ,iBACjBD,cAAc4E,OAAOtF,gBAAgB,GACrCmK,MACF;CAEA,MAAMiH,mBAAmBnJ,iBAAiB9D,SACtC+L,KAAKmB,IAAI,GAAGpJ,eAAe,IAC3BJ;CAEJ,MAAMyJ,iBACJlD,eACA,EACE7F,sBACA,CAACF,eACDiG,SAASlG,cAAc,KACvBF,SAASkJ;CAGb,MAAMG,YACJD,kBACA9I,eAAe,QACfC,gBAAgB,QAChBC,aAAa;CAIfnI,QAAQ+I,uBAAuBoC,iBAAiB;EAC9C1H,KAAK,CAAC,mCAAmC;EACzCsH,MAAM,CACJ,cACA,sEAAsE;CAE1E,CAAC;CAED,MAAMkG,oBAAoBlI,uBAAuB,CAACoC;CAElD,MAAM+F,aAAatR,OAA4B,IAAI;CACnD,MAAMwR,sBAAsBzR,cACpBsB,uBAAuB8O,OAAOnN,SAASqO,iBAAiB,GAC9D,CAAClB,OAAOnN,SAASqO,iBAAiB,CACpC;CACA,MAAMI,mBAAmB1R,cAErB,IAAIc,cACFsP,OAAOnN,QAAQkJ,QAAQ7I,aACrB/B,kBAAkB+B,UAAQgO,iBAAiB,CAC7C,IACChO,aAAWA,SAAOQ,qBACnB,IAAI6N,IAAI,IAGPrO,aACC,OAAOA,SAAOS,UAAU,WAAWT,SAAOS,QAAQT,SAAOQ,GAC7D,GACF,CAACsM,OAAOnN,SAASqO,iBAAiB,CACpC;;;;;;;;;CASA,MAAMM,uBAAuBzR,0BAA0B;EACrD0R,eAAe;EACfC,kBAAkB;CACpB,CAAC;CACD,MAAMC,yBAAyB/R,cACvB,IAAIJ,iBAAiB8R,kBAAkBE,oBAAoB,GACjE,CAACF,kBAAkBE,oBAAoB,CACzC;CACA,MAAMI,oBAAoB5R,UAAUmN,gBAA6B;EAC/DwE,uBAAuBE,cAAc1E,WAAS;CAChD,CAAC;CAID,MAAM2E,sBACJZ,qBAAqBG,oBAAoBxN,SAAS;CAEpD,MAAMkO,sBAAsBjH,YACxB5D,mBAAmB,WACjBtG,iBACEmM,mBAAmBuB,MAAM,IAAIN,SAAS7G,OAAO,KAAKI,QAAQ,GAC1DiH,UAAUjJ,YACZ,CAAC,CAAC1B,SACF,IACF;CAEJ,MAAMmO,eACJC,iBACAC,iBACAC,wBAEA,oBAAC,WAAD;EACE,GAAI7H;EACKE;EACT,IAAIJ,MAAM;EACV,MAAM2E;EACN,SAASC;EACMtJ;EACGC;EAMlB,iBACEoM,wBACC7K,mBAAmB,QAAQ,KAAK8G,SAAS7G,OAAO,KAAKI;EAKxD,gBACEuD,YACI,IACA5D,mBAAmB,QACjB,KACC8G,SAAS7G,OAAO,KAAKI;EAE9B,eAAeuD,YAAYiE,YAAYlL,SAAS+D;EACxCoI;EACR,mBAAmB7E,YAAYpI;EAK/B,mBAAA;EACeyN;EACf,WAAW3F;EACX,eAAeH;EACJ9E;EACOC;EACAC;EACXC;EAGP,YAAYC,cAAciK,EAAE,qBAAqB,UAAU;EAC3D,gBACEhK,kBAAkBgK,EAAE,uBAAuB,kBAAkB;EAEnD/J;EACLC;EACDC;EACGC;EACEC;EACGC;EACHC;EACQkC;EACHjC;EACAC;EACFC;EAMd,eAAc;EACd,cAAa;EACb,UAAUkG;EACH/F;EACP,cAAcqF;EACd,oBAAoBC;EACDhD;EACCC;EACIC;EACPC;EACFC;EACMC;EACXC;EACGf;EACb,gBAAgB6G;EAChB,mBAAmBM;EACNnG;EACFQ;EACX,QAAQ0G;EACM/G;EACIC;EACNC;EACDC;EACCzF;EACN6F;EACN,qBAAqByH;EACJG;EACAC;EACIC;EACThB;EACZ,eAAeS;EACf,MACE9G,YACI;GACEsH,OAAO5D,UAAU4D;GACjBC,WAAW7D,UAAU6D;GACrBC,OAAO9D,UAAU+D;GACjBjP,SAASuL;GACT1B,WAAWvB;EACb,IACAC,KAAAA;EAEN,QACEoF,YACE,oBAAC,iBAAD;GACE,OAAO/I;GACP,QAAQC;GACR,KAAKC;GACL,QAAQ8B;GACR,YACE8G,iBACI;IACE7J,MAAM6G,SAAS7G;IACfI;IACAK;IACAE,YAAYkG,SAASlG;IACrBH;IACAK;IACAD;IACAT,cAAc2G;IACdvG,kBAAkByG;GACpB,IACAtC,KAAAA;EACL,CAAA,IAED;CACL,CAAA;CAIL,OAAOiG,sBACL,oBAAC,qBAAD;EACE,OAAO;GACLU,YAAYlB;GACZmB,kBAAkBd;GAClBe,8BAAc,IAAInB,IAAI;EACxB;EAKA,SAASJ;EACT,aAAaE;EACb,aAAY;EACZ,WAAW3F,iBAAiBiH;EAE1BC,WAAAA,WAAWC,WAAWC,oBACtBd,YAAYY,WAAWC,WAAWC,eAAe;CAEhC,CAAA,IAErBd,YAAY;AAEhB;AAEA,MAAMe,aAAapT,WAAWoF,SAAS;AAIvCgO,WAAWC,cAAc"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles, mergeStyleLayers } from "../../../utils/styles.js";
|
|
3
3
|
import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { useWarn } from "../../../_internal/hooks/use-warn.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemTable.js","names":["CONTAINER_STYLES","forwardRef","useMemo","useRef","useState","useWarn","useI18n","useCombinedRefs","extractStyles","mergeStyleLayers","DraggableCollection","ROW_MENU_COLUMN_KEY","ROW_MENU_COLUMN_WIDTH","filterTableTree","TableView","useContainerWidth","getColumnText","matchesTableSearch","useTableSearch","SELECTION_COLUMN_KEY","SELECTION_COLUMN_WIDTH","useTableStorage","useTableTreeState","buildItemTableSections","sectionPageLayout","ItemTableBulkBar","ItemTableFooter","ItemTableChromeProvider","ItemTableSearch","ItemTableToolbar","useItemTableColumnWidths","useItemTableDragDrop","useItemTablePagination","useItemTableSelection","useItemTableSort","useItemTableTreeModel","Key","ForwardedRef","ReactElement","ReactNode","CubeTableRowContext","CubeItemTableProps","defaultGetRowKey","rowKey","row","T","index","value","ItemTable","props","ref","$","_c","data","columns","t0","getRowKey","sections","getSectionKey","getRowChildren","treeColumnKey","expandedKeys","defaultExpandedKeys","onExpand","isLoading","t1","loadingIndicator","t2","selectionMode","bulkActions","rowLink","onRowAction","rowMenu","rowContextMenu","t3","onRowMenuAction","rowMenuTriggerProps","bulkBarPlacement","t4","bulkBarStyles","selectedKeys","selectedKeysProp","defaultSelectedKeys","onSelectionChange","selectAllMode","t5","isRowSelectable","selectionTooltip","disabledKeys","treeSelectionBehavior","t6","skeletonRowCount","t7","emptyLabel","noResultsLabel","error","isFiltered","toolbar","isSearchable","t8","searchMode","t9","searchPlaceholder","searchValue","searchValueProp","defaultSearchValue","onSearchChange","searchDelay","t10","searchFilter","filters","actions","onRefresh","paginationMode","t11","pageSize","pageSizeProp","defaultPageSize","t12","autoHidePagination","t13","onLoadMore","hasMore","isLoadingMore","loadMoreMargin","storageKey","persist","isReorderable","t14","onReorder","dropOnRow","getItemDragInfo","isResizable","t15","columnWidths","columnWidthsProp","defaultColumnWidths","onColumnResize","columnContextMenu","onColumnMenuAction","columnMenuTriggerProps","columnMenuProps","onPageSizeChange","pageSizeOptions","t16","page","pageProp","defaultPage","onPageChange","total","totalProp","totalPages","hasNextPage","summary","t17","footer","footerStart","footerCenter","footerEnd","sortMode","sort","sortProp","defaultSort","onSortChange","shape","t18","size","t19","rowHeight","headerHeight","isStriped","t20","isHeaderHidden","t21","isHeaderSticky","t22","isAutoHeight","t23","isVirtualized","t24","virtualizeThreshold","t25","overscan","t26","getRowProps","ariaLabel","qa","mods","styles","headerStyles","headerCellStyles","headerPreset","t27","toolbarStyles","searchStyles","footerStyles","bodyStyles","rowStyles","cellStyles","isRowMoveAnimated","undefined","t28","t","localRef","rootRef","scrollerEl","setScrollerEl","containerWidth","t29","rootStyles","t30","resolvedGetRowKey","t31","treeModel","resolvedTreeColumnKey","t32","t33","rows","mode","defaultValue","onChange","delay","filter","setSearchValue","searchedRows","query","isSearching","t34","bb0","t35","Symbol","for","Set","t36","roots","forcedExpandedKeys","node","sourceIndex","searchedTree","storage","tree","sortedRows","sortedTreeRoots","resolvedSortMode","toggleSort","setColumnSort","hasSectionProps","canSection","sectionModel","t37","key","args","t38","orderedRows","t39","t40","treeRoots","isTree","autoHide","pagination","t41","byKey","Map","t42","t43","node_0","column","find","entry","String","t44","pageTreeRoots","allNodesByKey","getTextValue","treeState","visibleTreeEntries","visibleEntries","pageStart","visibleRows","map","_temp","pageRows","visibleRowCount","length","t45","layout","viewportWidth","keys","slice","sectionPage","visibleRowKeys","_temp2","selection","rowKeys","sortedRowKeys","t46","ctx","resolveRowMenu","t47","width","medium","align","const","trailingColumns","t48","isEnabled","leadingColumns","t49","handleColumnResize","handleColumnResizeEnd","t50","some","_temp3","_temp4","implicitRowHeader","t51","column_2","isRowHeader","tableLayout","hasBulkSelection","selectedCount","t52","bulkBar","isBulkBarInToolbar","hasToolbar","t53","toolbarNode","hasFooter","control","t54","footerNode","bodyRef","drag","renderTable","dragState","dropState","collectionProps","isPaginated","isInfinite","state","ariaProps","nodes","visibleNodes","entries","columnKey","table","collection","selectionManager","orderedKeys","onItemDrop","shouldAcceptItemDrop","renderPreview","dragState_0","dropState_0","collectionProps_0","t55","clearSelection","selectedRows","t56","column_0","isStructural","column_1","entry_1","entry_0","ItemTableRoot","HTMLDivElement","displayName","ItemTableComponent","Search","Toolbar","BulkBar","_ItemTable","Object","assign","_c"],"sources":["../../../../src/components/data/ItemTable/ItemTable.tsx"],"sourcesContent":["import { CONTAINER_STYLES } from '@tenphi/tasty';\nimport { forwardRef, useMemo, useRef, useState } from 'react';\n\nimport { useWarn } from '../../../_internal/hooks/use-warn';\nimport { useI18n } from '../../../i18n';\nimport { useCombinedRefs } from '../../../utils/react';\nimport { extractStyles, mergeStyleLayers } from '../../../utils/styles';\nimport { DraggableCollection } from '../../shared/DraggableCollection';\nimport {\n ROW_MENU_COLUMN_KEY,\n ROW_MENU_COLUMN_WIDTH,\n} from '../TableBase/row-menu';\nimport { filterTableTree } from '../TableBase/table-tree';\nimport { TableView } from '../TableBase/TableView';\nimport { useContainerWidth } from '../TableBase/use-container-width';\nimport { getColumnText } from '../TableBase/use-table-columns';\nimport {\n matchesTableSearch,\n useTableSearch,\n} from '../TableBase/use-table-search';\nimport {\n SELECTION_COLUMN_KEY,\n SELECTION_COLUMN_WIDTH,\n} from '../TableBase/use-table-selection';\nimport { useTableStorage } from '../TableBase/use-table-storage';\nimport { useTableTreeState } from '../TableBase/use-table-tree-state';\n\nimport {\n buildItemTableSections,\n sectionPageLayout,\n} from './item-table-sections';\nimport { ItemTableBulkBar } from './ItemTableBulkBar';\nimport { ItemTableFooter } from './ItemTableFooter';\nimport {\n ItemTableChromeProvider,\n ItemTableSearch,\n ItemTableToolbar,\n} from './ItemTableToolbar';\nimport { useItemTableColumnWidths } from './use-item-table-column-widths';\nimport { useItemTableDragDrop } from './use-item-table-drag-drop';\nimport { useItemTablePagination } from './use-item-table-pagination';\nimport { useItemTableSelection } from './use-item-table-selection';\nimport { useItemTableSort } from './use-item-table-sort';\nimport { useItemTableTreeModel } from './use-item-table-tree-model';\n\nimport type { Key } from '@react-types/shared';\nimport type { ForwardedRef, ReactElement, ReactNode } from 'react';\nimport type { CubeTableRowContext } from '../TableBase/types';\nimport type { CubeItemTableProps } from './types';\n\nfunction defaultGetRowKey<T>(rowKey: string) {\n return (row: T, index: number): Key => {\n const value = (row as any)?.[rowKey];\n\n return value == null ? index : (value as Key);\n };\n}\n\nfunction ItemTable<T = any>(\n props: CubeItemTableProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n): ReactElement {\n const {\n data,\n columns,\n rowKey = 'id',\n getRowKey,\n sections,\n getSectionKey,\n getRowChildren,\n treeColumnKey,\n expandedKeys,\n defaultExpandedKeys,\n onExpand,\n isLoading = false,\n loadingIndicator = 'overlay',\n selectionMode,\n bulkActions,\n rowLink,\n onRowAction,\n rowMenu,\n rowContextMenu = false,\n onRowMenuAction,\n rowMenuTriggerProps,\n bulkBarPlacement = 'floating',\n bulkBarStyles,\n selectedKeys: selectedKeysProp,\n defaultSelectedKeys,\n onSelectionChange,\n selectAllMode = 'page',\n isRowSelectable,\n selectionTooltip,\n disabledKeys,\n treeSelectionBehavior = 'cascade',\n skeletonRowCount = 6,\n emptyLabel,\n noResultsLabel,\n error,\n isFiltered,\n toolbar,\n isSearchable = false,\n searchMode = 'client',\n searchPlaceholder,\n searchValue: searchValueProp,\n defaultSearchValue,\n onSearchChange,\n searchDelay = 500,\n searchFilter,\n filters,\n actions,\n onRefresh,\n paginationMode = 'client',\n pageSize: pageSizeProp,\n defaultPageSize = 50,\n autoHidePagination = true,\n onLoadMore,\n hasMore,\n isLoadingMore,\n loadMoreMargin,\n storageKey,\n persist,\n isReorderable = false,\n onReorder,\n dropOnRow,\n getItemDragInfo,\n isResizable = false,\n columnWidths: columnWidthsProp,\n defaultColumnWidths,\n onColumnResize,\n columnContextMenu,\n onColumnMenuAction,\n columnMenuTriggerProps,\n columnMenuProps,\n onPageSizeChange,\n pageSizeOptions = [10, 20, 50, 100, 500],\n page: pageProp,\n defaultPage,\n onPageChange,\n total: totalProp,\n totalPages,\n hasNextPage,\n summary = true,\n footer,\n footerStart,\n footerCenter,\n footerEnd,\n sortMode,\n sort: sortProp,\n defaultSort,\n onSortChange,\n shape = 'plain',\n size = 'medium',\n rowHeight,\n headerHeight,\n isStriped = false,\n isHeaderHidden = false,\n isHeaderSticky = true,\n isAutoHeight = false,\n isVirtualized = 'auto',\n virtualizeThreshold = 50,\n overscan = 20,\n getRowProps,\n ariaLabel,\n qa,\n mods,\n styles,\n headerStyles,\n headerCellStyles,\n headerPreset = 'c3',\n toolbarStyles,\n searchStyles,\n footerStyles,\n bodyStyles,\n rowStyles,\n cellStyles,\n isRowMoveAnimated,\n } = props;\n\n const { t } = useI18n();\n\n const localRef = useRef<HTMLDivElement>(null);\n const rootRef = useCombinedRefs(ref, localRef);\n\n // Held in state, not a ref: the virtualized path's scroller is created by\n // Virtuoso and arrives through a callback, and the column layout has to\n // re-derive once it does.\n const [scrollerEl, setScrollerEl] = useState<HTMLDivElement | null>(null);\n const containerWidth = useContainerWidth(scrollerEl);\n\n // Style props (`height`, `maxHeight`, `margin`, …) land on the root frame.\n // `height` matters most: there is no page-scroll mode, so bounding the table\n // is what turns the body into a scroller and pins the header.\n const rootStyles = mergeStyleLayers(\n extractStyles(props, CONTAINER_STYLES),\n styles,\n );\n\n const resolvedGetRowKey = useMemo(\n () => getRowKey ?? defaultGetRowKey<T>(rowKey),\n [getRowKey, rowKey],\n );\n\n const { treeModel, treeColumnKey: resolvedTreeColumnKey } =\n useItemTableTreeModel<T>({\n data,\n columns,\n getRowKey: resolvedGetRowKey,\n getRowChildren,\n treeColumnKey,\n isReorderable,\n });\n\n const {\n searchValue,\n setSearchValue,\n searchedRows,\n query,\n isFiltered: isSearching,\n } = useTableSearch<T>({\n columns,\n rows: data,\n // Tree filtering needs to preserve ancestors and descendants, so the flat\n // hook owns only the controlled/debounced value in this mode.\n mode: treeModel ? 'server' : searchMode,\n value: searchValueProp,\n defaultValue: defaultSearchValue,\n onChange: onSearchChange,\n delay: searchDelay,\n filter: searchFilter,\n });\n\n const searchedTree = useMemo(() => {\n if (!treeModel) return null;\n if (searchMode !== 'client' || !query) {\n return { roots: treeModel.roots, forcedExpandedKeys: new Set<Key>() };\n }\n\n return filterTableTree(treeModel.roots, (node) =>\n searchFilter\n ? searchFilter(node.row, query)\n : matchesTableSearch(columns, node.row, node.sourceIndex, query),\n );\n }, [treeModel, searchMode, query, searchFilter, columns]);\n\n const storage = useTableStorage(storageKey, persist);\n\n const {\n sort,\n sortedRows,\n sortedTreeRoots,\n mode: resolvedSortMode,\n toggleSort,\n setColumnSort,\n } = useItemTableSort<T>({\n columns,\n rows: searchedRows,\n tree: searchedTree,\n mode: sortMode,\n sort: sortProp,\n defaultSort,\n onSortChange,\n storage,\n });\n\n const hasSectionProps = sections != null || getSectionKey != null;\n const canSection =\n !treeModel && !isReorderable && !dropOnRow && paginationMode !== 'server';\n // These keys and positions feed the virtualizer's retained getItemKey\n // callback. Keep that wiring stable in uncompiled consumers too.\n const sectionModel = useMemo(\n () =>\n sections && getSectionKey && canSection\n ? buildItemTableSections(\n data,\n sortedRows,\n sections,\n getSectionKey,\n resolvedGetRowKey,\n )\n : null,\n [data, sortedRows, sections, getSectionKey, canSection, resolvedGetRowKey],\n );\n useWarn(hasSectionProps && !canSection, {\n key: ['item-table-sections-unsupported'],\n args: [\n 'ItemTable:',\n 'Sections are ignored for tree rows, row drag/drop and server pagination.',\n ],\n });\n useWarn(hasSectionProps && canSection && sectionModel == null, {\n key: ['item-table-sections-invalid'],\n args: [\n 'ItemTable:',\n 'Sections require unique section keys and getSectionKey returning a declared key for every displayed record. Falling back to the ordinary flat list.',\n ],\n });\n const orderedRows = sectionModel?.rows ?? sortedRows;\n\n // Search → sort → section → paginate. Captions never consume record slots.\n const pagination = useItemTablePagination<T>({\n mode: paginationMode,\n rows: orderedRows,\n treeRoots: sortedTreeRoots,\n isTree: treeModel != null,\n pageSize: pageSizeProp,\n defaultPageSize,\n onPageSizeChange,\n pageSizeOptions,\n page: pageProp,\n defaultPage,\n onPageChange,\n total: totalProp,\n totalPages,\n hasNextPage,\n summary,\n autoHide: autoHidePagination,\n storage,\n });\n\n const treeState = useTableTreeState<T>({\n roots: pagination.pageTreeRoots,\n allNodesByKey: treeModel?.byKey ?? new Map(),\n expandedKeys,\n defaultExpandedKeys,\n forcedExpandedKeys: searchedTree?.forcedExpandedKeys,\n disabledKeys,\n getTextValue: (node) => {\n const column = columns.find(\n (entry) => entry.key === resolvedTreeColumnKey,\n );\n return column\n ? (getColumnText(column, node.row, node.sourceIndex) ??\n String(node.key))\n : String(node.key);\n },\n onExpand,\n ariaLabel,\n });\n\n const visibleTreeEntries = treeModel ? treeState.visibleEntries : [];\n const pageStart =\n paginationMode === 'client'\n ? (pagination.page - 1) * pagination.pageSize\n : 0;\n const visibleRows = treeModel\n ? visibleTreeEntries.map((entry) => entry.row)\n : pagination.pageRows;\n const visibleRowCount = visibleRows.length;\n const sectionPage = useMemo(\n () =>\n sectionModel\n ? {\n layout: {\n ...sectionPageLayout(sectionModel, pageStart, visibleRowCount),\n viewportWidth: containerWidth,\n },\n keys: sectionModel.keys.slice(\n pageStart,\n pageStart + visibleRowCount,\n ),\n }\n : undefined,\n [sectionModel, pageStart, visibleRowCount, containerWidth],\n );\n const visibleRowKeys = treeModel\n ? visibleTreeEntries.map((entry) => entry.key)\n : sectionPage?.keys;\n\n const selection = useItemTableSelection<T>({\n rows: visibleRows,\n rowKeys: visibleRowKeys,\n sortedRows: orderedRows,\n sortedRowKeys: sectionModel?.keys,\n isTree: treeModel != null,\n sortedTreeRoots,\n pageTreeRoots: pagination.pageTreeRoots,\n paginationMode,\n getRowKey: resolvedGetRowKey,\n selectionMode,\n bulkActions,\n selectedKeys: selectedKeysProp,\n defaultSelectedKeys,\n onSelectionChange,\n selectAllMode,\n isRowSelectable,\n disabledKeys,\n treeSelectionBehavior,\n });\n\n // A `ReactNode` menu applies to every row; a function decides per row. The\n // renderer only ever sees the function form.\n const resolveRowMenu = useMemo(\n () =>\n rowMenu == null\n ? undefined\n : typeof rowMenu === 'function'\n ? (rowMenu as (\n row: T,\n ctx: CubeTableRowContext<T>,\n ) => ReactNode | null)\n : () => rowMenu as ReactNode,\n [rowMenu],\n );\n\n const trailingColumns = useMemo(\n () =>\n resolveRowMenu && rowContextMenu === true\n ? [\n {\n key: ROW_MENU_COLUMN_KEY,\n width:\n ROW_MENU_COLUMN_WIDTH[size] ?? ROW_MENU_COLUMN_WIDTH.medium,\n align: 'center' as const,\n },\n ]\n : undefined,\n [resolveRowMenu, rowContextMenu, size],\n );\n\n const leadingColumns = useMemo(\n () =>\n selection.isEnabled\n ? [\n {\n key: SELECTION_COLUMN_KEY,\n width:\n SELECTION_COLUMN_WIDTH[size] ?? SELECTION_COLUMN_WIDTH.medium,\n align: 'center' as const,\n },\n ]\n : undefined,\n [selection.isEnabled, size],\n );\n\n const { layout, handleColumnResize, handleColumnResizeEnd } =\n useItemTableColumnWidths<T>({\n columns,\n containerWidth,\n leadingColumns,\n trailingColumns,\n columnWidths: columnWidthsProp,\n defaultColumnWidths,\n onColumnResize,\n storage,\n });\n\n // The layout has already removed hidden columns and identified structural\n // ones. Resolve the header here so body windowing also retains its anchor.\n const implicitRowHeader =\n rowLink && !layout.columns.some((column) => column.isRowHeader)\n ? layout.columns.find(\n (column) => !column.isStructural && column.isRowHeader !== false,\n )?.key\n : undefined;\n const tableLayout =\n implicitRowHeader === undefined\n ? layout\n : {\n ...layout,\n columns: layout.columns.map((column) =>\n column.key === implicitRowHeader\n ? { ...column, isRowHeader: true }\n : column,\n ),\n };\n\n const hasBulkSelection =\n bulkActions != null &&\n bulkActions.length > 0 &&\n selection.selectedCount > 0;\n\n const bulkBar = hasBulkSelection ? (\n <ItemTableBulkBar<T>\n actions={bulkActions!}\n placement={bulkBarPlacement}\n styles={bulkBarStyles}\n />\n ) : null;\n\n const isBulkBarInToolbar = bulkBar != null && bulkBarPlacement === 'toolbar';\n\n const hasToolbar =\n toolbar !== undefined ||\n isSearchable ||\n filters != null ||\n actions != null ||\n onRefresh != null ||\n isBulkBarInToolbar;\n\n const toolbarNode = hasToolbar\n ? (toolbar ?? (\n <ItemTableToolbar\n isSearchable={isSearchable}\n filters={filters}\n // The bar takes the actions group rather than sitting beside it: the\n // two compete for the same space, and while rows are selected the\n // bulk actions are what the user is reaching for.\n actions={isBulkBarInToolbar ? bulkBar : actions}\n isLoading={isLoading}\n styles={toolbarStyles}\n searchStyles={searchStyles}\n onRefresh={onRefresh}\n />\n ))\n : null;\n\n const hasFooter =\n footer !== undefined ||\n pagination.control != null ||\n footerStart != null ||\n footerCenter != null ||\n footerEnd != null;\n\n const footerNode = hasFooter\n ? (footer ?? (\n <ItemTableFooter\n start={footerStart}\n center={footerCenter}\n end={footerEnd}\n styles={footerStyles}\n pagination={pagination.control}\n />\n ))\n : null;\n\n const bodyRef = useRef<HTMLTableSectionElement>(null);\n\n const drag = useItemTableDragDrop<T>({\n rows: visibleRows,\n rowKeys: visibleRowKeys,\n getRowKey: resolvedGetRowKey,\n treeModel,\n isReorderable,\n onReorder,\n dropOnRow,\n getItemDragInfo,\n });\n\n /**\n * `DraggableCollection` owns the React Aria drag/drop hooks and hands the two\n * states down. It is only mounted when reordering is on, so a plain table\n * pays nothing for it.\n *\n * `RowCollection` and the `SelectionManager` from `useTableSelection` satisfy\n * its structural `state` contract unchanged — both exist even when selection\n * itself is off.\n */\n const renderTable = (\n dragState?: any,\n dropState?: any,\n collectionProps?: Record<string, any>,\n ) => (\n <TableView<T>\n rootRef={rootRef}\n dragState={dragState}\n dropState={dropState}\n collectionProps={collectionProps}\n bodyRef={bodyRef}\n qa={qa || 'ItemTable'}\n rows={visibleRows}\n rowKeys={visibleRowKeys}\n sectionLayout={sectionPage?.layout}\n // `aria-rowindex` is document-absolute by contract: on page 3 a screen\n // reader should hear \"row 51 of 240\", not \"row 1 of 25\". Infinite scroll\n // never offsets — every loaded row is already in `visibleRows`.\n // `isPaginated` already excludes infinite scroll, where every loaded row\n // is in `visibleRows` and there is no page to offset by.\n rowIndexOffset={\n treeModel\n ? 0\n : pagination.isPaginated\n ? (pagination.page - 1) * pagination.pageSize\n : 0\n }\n totalRowCount={treeModel ? visibleRows.length : pagination.total}\n getRowKey={resolvedGetRowKey}\n layout={tableLayout}\n onScrollerRef={setScrollerEl}\n size={size}\n shape={shape}\n rowHeight={rowHeight}\n headerHeight={headerHeight}\n isHeaderHidden={isHeaderHidden}\n isHeaderSticky={isHeaderSticky}\n isAutoHeight={isAutoHeight}\n isVirtualized={isVirtualized}\n virtualizeThreshold={virtualizeThreshold}\n overscan={overscan}\n isStriped={isStriped}\n isRowMoveAnimated={isRowMoveAnimated}\n isLoading={isLoading}\n loadingIndicator={loadingIndicator}\n selection={selection}\n selectionTooltip={selectionTooltip}\n rowLink={rowLink}\n onRowAction={onRowAction}\n onLoadMore={pagination.isInfinite ? onLoadMore : undefined}\n hasMore={hasMore}\n isLoadingMore={isLoadingMore}\n loadMoreMargin={loadMoreMargin}\n isReorderable={drag.isEnabled}\n isResizable={isResizable}\n onColumnResize={handleColumnResize}\n onColumnResizeEnd={handleColumnResizeEnd}\n rowMenu={resolveRowMenu}\n rowContextMenu={rowContextMenu}\n onRowMenuAction={onRowMenuAction}\n rowMenuTriggerProps={rowMenuTriggerProps}\n skeletonRowCount={skeletonRowCount}\n emptyLabel={emptyLabel ?? t('itemTable.noItems', 'No items')}\n noResultsLabel={\n noResultsLabel ?? t('itemTable.noResults', 'No results found')\n }\n error={error}\n toolbar={toolbarNode}\n footer={footerNode}\n isFiltered={isFiltered ?? isSearching}\n sortMode={resolvedSortMode}\n sort={sort}\n onColumnSort={toggleSort}\n onColumnSortChange={setColumnSort}\n columnContextMenu={columnContextMenu}\n onColumnMenuAction={onColumnMenuAction}\n columnMenuTriggerProps={columnMenuTriggerProps}\n columnMenuProps={columnMenuProps}\n getRowProps={getRowProps}\n ariaLabel={ariaLabel}\n styles={rootStyles}\n headerStyles={headerStyles}\n headerCellStyles={headerCellStyles}\n headerPreset={headerPreset}\n bodyStyles={bodyStyles}\n rowStyles={rowStyles}\n cellStyles={cellStyles}\n mods={mods}\n overlay={bulkBarPlacement === 'floating' ? bulkBar : null}\n tree={\n treeModel\n ? {\n state: treeState.state,\n ariaProps: treeState.ariaProps,\n nodes: treeState.visibleNodes,\n entries: visibleTreeEntries,\n columnKey: resolvedTreeColumnKey!,\n }\n : undefined\n }\n />\n );\n\n const table = drag.isEnabled ? (\n <DraggableCollection\n state={{\n collection: selection.collection,\n selectionManager: selection.selectionManager as any,\n disabledKeys: new Set(disabledKeys ?? []),\n }}\n // The element that directly contains the rows. React Aria's\n // `ListDropTargetDelegate` measures the drop position from this element's\n // children, so pointing it at the table root would leave every drop\n // unresolvable — the row lifts but never lands.\n listRef={bodyRef}\n orderedKeys={drag.orderedKeys}\n orientation=\"vertical\"\n onReorder={drag.onReorder}\n onItemDrop={drag.onItemDrop}\n shouldAcceptItemDrop={drag.shouldAcceptItemDrop}\n renderPreview={drag.renderPreview}\n >\n {(dragState, dropState, collectionProps) =>\n renderTable(dragState, dropState, collectionProps)\n }\n </DraggableCollection>\n ) : (\n renderTable()\n );\n\n // The provider always wraps, so `ItemTable.Search` works from a custom\n // `toolbar` as well as from the built-in one.\n return (\n <ItemTableChromeProvider\n value={{\n searchValue,\n setSearchValue,\n searchPlaceholder,\n isLoading,\n onRefresh,\n selectedKeys: selection.selectedKeys,\n selectedRows: selection.selectedRows,\n selectedCount: selection.selectedCount,\n clearSelection: selection.clearSelection,\n }}\n >\n {table}\n </ItemTableChromeProvider>\n );\n}\n\n/** `forwardRef` loses the row type, so the table is cast back to a generic. */\ninterface ItemTableRoot {\n <T = any>(\n props: CubeItemTableProps<T> & { ref?: ForwardedRef<HTMLDivElement> },\n ): ReactElement;\n displayName?: string;\n}\n\nexport interface ItemTableComponent extends ItemTableRoot {\n /** The table's search input, bound to the table's own state. */\n Search: typeof ItemTableSearch;\n /** The default toolbar row, for rebuilding it around extra content. */\n Toolbar: typeof ItemTableToolbar;\n /** The selection action bar, for placing it outside the default chrome. */\n BulkBar: typeof ItemTableBulkBar;\n}\n\nconst _ItemTable: ItemTableComponent = Object.assign(\n forwardRef(ItemTable) as unknown as ItemTableRoot,\n {\n Search: ItemTableSearch,\n Toolbar: ItemTableToolbar,\n BulkBar: ItemTableBulkBar,\n },\n);\n\n_ItemTable.displayName = 'ItemTable';\n\nexport { _ItemTable as ItemTable };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ItemTable.js","names":["CONTAINER_STYLES","forwardRef","useMemo","useRef","useState","useWarn","useI18n","useCombinedRefs","extractStyles","mergeStyleLayers","DraggableCollection","ROW_MENU_COLUMN_KEY","ROW_MENU_COLUMN_WIDTH","filterTableTree","TableView","useContainerWidth","getColumnText","matchesTableSearch","useTableSearch","SELECTION_COLUMN_KEY","SELECTION_COLUMN_WIDTH","useTableStorage","useTableTreeState","buildItemTableSections","sectionPageLayout","ItemTableBulkBar","ItemTableFooter","ItemTableChromeProvider","ItemTableSearch","ItemTableToolbar","useItemTableColumnWidths","useItemTableDragDrop","useItemTablePagination","useItemTableSelection","useItemTableSort","useItemTableTreeModel","Key","ForwardedRef","ReactElement","ReactNode","CubeTableRowContext","CubeItemTableProps","defaultGetRowKey","rowKey","row","T","index","value","ItemTable","props","ref","$","_c","data","columns","t0","getRowKey","sections","getSectionKey","getRowChildren","treeColumnKey","expandedKeys","defaultExpandedKeys","onExpand","isLoading","t1","loadingIndicator","t2","selectionMode","bulkActions","rowLink","onRowAction","rowMenu","rowContextMenu","t3","onRowMenuAction","rowMenuTriggerProps","bulkBarPlacement","t4","bulkBarStyles","selectedKeys","selectedKeysProp","defaultSelectedKeys","onSelectionChange","selectAllMode","t5","isRowSelectable","selectionTooltip","disabledKeys","treeSelectionBehavior","t6","skeletonRowCount","t7","emptyLabel","noResultsLabel","error","isFiltered","toolbar","isSearchable","t8","searchMode","t9","searchPlaceholder","searchValue","searchValueProp","defaultSearchValue","onSearchChange","searchDelay","t10","searchFilter","filters","actions","onRefresh","paginationMode","t11","pageSize","pageSizeProp","defaultPageSize","t12","autoHidePagination","t13","onLoadMore","hasMore","isLoadingMore","loadMoreMargin","storageKey","persist","isReorderable","t14","onReorder","dropOnRow","getItemDragInfo","isResizable","t15","columnWidths","columnWidthsProp","defaultColumnWidths","onColumnResize","columnContextMenu","onColumnMenuAction","columnMenuTriggerProps","columnMenuProps","onPageSizeChange","pageSizeOptions","t16","page","pageProp","defaultPage","onPageChange","total","totalProp","totalPages","hasNextPage","summary","t17","footer","footerStart","footerCenter","footerEnd","sortMode","sort","sortProp","defaultSort","onSortChange","shape","t18","size","t19","rowHeight","headerHeight","isStriped","t20","isHeaderHidden","t21","isHeaderSticky","t22","isAutoHeight","t23","isVirtualized","t24","virtualizeThreshold","t25","overscan","t26","getRowProps","ariaLabel","qa","mods","styles","headerStyles","headerCellStyles","headerPreset","t27","toolbarStyles","searchStyles","footerStyles","bodyStyles","rowStyles","cellStyles","isRowMoveAnimated","undefined","t28","t","localRef","rootRef","scrollerEl","setScrollerEl","containerWidth","t29","rootStyles","t30","resolvedGetRowKey","t31","treeModel","resolvedTreeColumnKey","t32","t33","rows","mode","defaultValue","onChange","delay","filter","setSearchValue","searchedRows","query","isSearching","t34","bb0","t35","Symbol","for","Set","t36","roots","forcedExpandedKeys","node","sourceIndex","searchedTree","storage","tree","sortedRows","sortedTreeRoots","resolvedSortMode","toggleSort","setColumnSort","hasSectionProps","canSection","sectionModel","t37","key","args","t38","orderedRows","t39","t40","treeRoots","isTree","autoHide","pagination","t41","byKey","Map","t42","t43","node_0","column","find","entry","String","t44","pageTreeRoots","allNodesByKey","getTextValue","treeState","visibleTreeEntries","visibleEntries","pageStart","visibleRows","map","_temp","pageRows","visibleRowCount","length","t45","layout","viewportWidth","keys","slice","sectionPage","visibleRowKeys","_temp2","selection","rowKeys","sortedRowKeys","t46","ctx","resolveRowMenu","t47","width","medium","align","const","trailingColumns","t48","isEnabled","leadingColumns","t49","handleColumnResize","handleColumnResizeEnd","t50","some","_temp3","_temp4","implicitRowHeader","t51","column_2","isRowHeader","tableLayout","hasBulkSelection","selectedCount","t52","bulkBar","isBulkBarInToolbar","hasToolbar","t53","toolbarNode","hasFooter","control","t54","footerNode","bodyRef","drag","renderTable","dragState","dropState","collectionProps","isPaginated","isInfinite","state","ariaProps","nodes","visibleNodes","entries","columnKey","table","collection","selectionManager","orderedKeys","onItemDrop","shouldAcceptItemDrop","renderPreview","dragState_0","dropState_0","collectionProps_0","t55","clearSelection","selectedRows","t56","column_0","isStructural","column_1","entry_1","entry_0","ItemTableRoot","HTMLDivElement","displayName","ItemTableComponent","Search","Toolbar","BulkBar","_ItemTable","Object","assign","_c"],"sources":["../../../../src/components/data/ItemTable/ItemTable.tsx"],"sourcesContent":["import { CONTAINER_STYLES } from '@tenphi/tasty';\nimport { forwardRef, useMemo, useRef, useState } from 'react';\n\nimport { useWarn } from '../../../_internal/hooks/use-warn';\nimport { useI18n } from '../../../i18n/useI18n';\nimport { useCombinedRefs } from '../../../utils/react/useCombinedRefs';\nimport { extractStyles, mergeStyleLayers } from '../../../utils/styles';\nimport { DraggableCollection } from '../../shared/DraggableCollection';\nimport {\n ROW_MENU_COLUMN_KEY,\n ROW_MENU_COLUMN_WIDTH,\n} from '../TableBase/row-menu';\nimport { filterTableTree } from '../TableBase/table-tree';\nimport { TableView } from '../TableBase/TableView';\nimport { useContainerWidth } from '../TableBase/use-container-width';\nimport { getColumnText } from '../TableBase/use-table-columns';\nimport {\n matchesTableSearch,\n useTableSearch,\n} from '../TableBase/use-table-search';\nimport {\n SELECTION_COLUMN_KEY,\n SELECTION_COLUMN_WIDTH,\n} from '../TableBase/use-table-selection';\nimport { useTableStorage } from '../TableBase/use-table-storage';\nimport { useTableTreeState } from '../TableBase/use-table-tree-state';\n\nimport {\n buildItemTableSections,\n sectionPageLayout,\n} from './item-table-sections';\nimport { ItemTableBulkBar } from './ItemTableBulkBar';\nimport { ItemTableFooter } from './ItemTableFooter';\nimport {\n ItemTableChromeProvider,\n ItemTableSearch,\n ItemTableToolbar,\n} from './ItemTableToolbar';\nimport { useItemTableColumnWidths } from './use-item-table-column-widths';\nimport { useItemTableDragDrop } from './use-item-table-drag-drop';\nimport { useItemTablePagination } from './use-item-table-pagination';\nimport { useItemTableSelection } from './use-item-table-selection';\nimport { useItemTableSort } from './use-item-table-sort';\nimport { useItemTableTreeModel } from './use-item-table-tree-model';\n\nimport type { Key } from '@react-types/shared';\nimport type { ForwardedRef, ReactElement, ReactNode } from 'react';\nimport type { CubeTableRowContext } from '../TableBase/types';\nimport type { CubeItemTableProps } from './types';\n\nfunction defaultGetRowKey<T>(rowKey: string) {\n return (row: T, index: number): Key => {\n const value = (row as any)?.[rowKey];\n\n return value == null ? index : (value as Key);\n };\n}\n\nfunction ItemTable<T = any>(\n props: CubeItemTableProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n): ReactElement {\n const {\n data,\n columns,\n rowKey = 'id',\n getRowKey,\n sections,\n getSectionKey,\n getRowChildren,\n treeColumnKey,\n expandedKeys,\n defaultExpandedKeys,\n onExpand,\n isLoading = false,\n loadingIndicator = 'overlay',\n selectionMode,\n bulkActions,\n rowLink,\n onRowAction,\n rowMenu,\n rowContextMenu = false,\n onRowMenuAction,\n rowMenuTriggerProps,\n bulkBarPlacement = 'floating',\n bulkBarStyles,\n selectedKeys: selectedKeysProp,\n defaultSelectedKeys,\n onSelectionChange,\n selectAllMode = 'page',\n isRowSelectable,\n selectionTooltip,\n disabledKeys,\n treeSelectionBehavior = 'cascade',\n skeletonRowCount = 6,\n emptyLabel,\n noResultsLabel,\n error,\n isFiltered,\n toolbar,\n isSearchable = false,\n searchMode = 'client',\n searchPlaceholder,\n searchValue: searchValueProp,\n defaultSearchValue,\n onSearchChange,\n searchDelay = 500,\n searchFilter,\n filters,\n actions,\n onRefresh,\n paginationMode = 'client',\n pageSize: pageSizeProp,\n defaultPageSize = 50,\n autoHidePagination = true,\n onLoadMore,\n hasMore,\n isLoadingMore,\n loadMoreMargin,\n storageKey,\n persist,\n isReorderable = false,\n onReorder,\n dropOnRow,\n getItemDragInfo,\n isResizable = false,\n columnWidths: columnWidthsProp,\n defaultColumnWidths,\n onColumnResize,\n columnContextMenu,\n onColumnMenuAction,\n columnMenuTriggerProps,\n columnMenuProps,\n onPageSizeChange,\n pageSizeOptions = [10, 20, 50, 100, 500],\n page: pageProp,\n defaultPage,\n onPageChange,\n total: totalProp,\n totalPages,\n hasNextPage,\n summary = true,\n footer,\n footerStart,\n footerCenter,\n footerEnd,\n sortMode,\n sort: sortProp,\n defaultSort,\n onSortChange,\n shape = 'plain',\n size = 'medium',\n rowHeight,\n headerHeight,\n isStriped = false,\n isHeaderHidden = false,\n isHeaderSticky = true,\n isAutoHeight = false,\n isVirtualized = 'auto',\n virtualizeThreshold = 50,\n overscan = 20,\n getRowProps,\n ariaLabel,\n qa,\n mods,\n styles,\n headerStyles,\n headerCellStyles,\n headerPreset = 'c3',\n toolbarStyles,\n searchStyles,\n footerStyles,\n bodyStyles,\n rowStyles,\n cellStyles,\n isRowMoveAnimated,\n } = props;\n\n const { t } = useI18n();\n\n const localRef = useRef<HTMLDivElement>(null);\n const rootRef = useCombinedRefs(ref, localRef);\n\n // Held in state, not a ref: the virtualized path's scroller is created by\n // Virtuoso and arrives through a callback, and the column layout has to\n // re-derive once it does.\n const [scrollerEl, setScrollerEl] = useState<HTMLDivElement | null>(null);\n const containerWidth = useContainerWidth(scrollerEl);\n\n // Style props (`height`, `maxHeight`, `margin`, …) land on the root frame.\n // `height` matters most: there is no page-scroll mode, so bounding the table\n // is what turns the body into a scroller and pins the header.\n const rootStyles = mergeStyleLayers(\n extractStyles(props, CONTAINER_STYLES),\n styles,\n );\n\n const resolvedGetRowKey = useMemo(\n () => getRowKey ?? defaultGetRowKey<T>(rowKey),\n [getRowKey, rowKey],\n );\n\n const { treeModel, treeColumnKey: resolvedTreeColumnKey } =\n useItemTableTreeModel<T>({\n data,\n columns,\n getRowKey: resolvedGetRowKey,\n getRowChildren,\n treeColumnKey,\n isReorderable,\n });\n\n const {\n searchValue,\n setSearchValue,\n searchedRows,\n query,\n isFiltered: isSearching,\n } = useTableSearch<T>({\n columns,\n rows: data,\n // Tree filtering needs to preserve ancestors and descendants, so the flat\n // hook owns only the controlled/debounced value in this mode.\n mode: treeModel ? 'server' : searchMode,\n value: searchValueProp,\n defaultValue: defaultSearchValue,\n onChange: onSearchChange,\n delay: searchDelay,\n filter: searchFilter,\n });\n\n const searchedTree = useMemo(() => {\n if (!treeModel) return null;\n if (searchMode !== 'client' || !query) {\n return { roots: treeModel.roots, forcedExpandedKeys: new Set<Key>() };\n }\n\n return filterTableTree(treeModel.roots, (node) =>\n searchFilter\n ? searchFilter(node.row, query)\n : matchesTableSearch(columns, node.row, node.sourceIndex, query),\n );\n }, [treeModel, searchMode, query, searchFilter, columns]);\n\n const storage = useTableStorage(storageKey, persist);\n\n const {\n sort,\n sortedRows,\n sortedTreeRoots,\n mode: resolvedSortMode,\n toggleSort,\n setColumnSort,\n } = useItemTableSort<T>({\n columns,\n rows: searchedRows,\n tree: searchedTree,\n mode: sortMode,\n sort: sortProp,\n defaultSort,\n onSortChange,\n storage,\n });\n\n const hasSectionProps = sections != null || getSectionKey != null;\n const canSection =\n !treeModel && !isReorderable && !dropOnRow && paginationMode !== 'server';\n // These keys and positions feed the virtualizer's retained getItemKey\n // callback. Keep that wiring stable in uncompiled consumers too.\n const sectionModel = useMemo(\n () =>\n sections && getSectionKey && canSection\n ? buildItemTableSections(\n data,\n sortedRows,\n sections,\n getSectionKey,\n resolvedGetRowKey,\n )\n : null,\n [data, sortedRows, sections, getSectionKey, canSection, resolvedGetRowKey],\n );\n useWarn(hasSectionProps && !canSection, {\n key: ['item-table-sections-unsupported'],\n args: [\n 'ItemTable:',\n 'Sections are ignored for tree rows, row drag/drop and server pagination.',\n ],\n });\n useWarn(hasSectionProps && canSection && sectionModel == null, {\n key: ['item-table-sections-invalid'],\n args: [\n 'ItemTable:',\n 'Sections require unique section keys and getSectionKey returning a declared key for every displayed record. Falling back to the ordinary flat list.',\n ],\n });\n const orderedRows = sectionModel?.rows ?? sortedRows;\n\n // Search → sort → section → paginate. Captions never consume record slots.\n const pagination = useItemTablePagination<T>({\n mode: paginationMode,\n rows: orderedRows,\n treeRoots: sortedTreeRoots,\n isTree: treeModel != null,\n pageSize: pageSizeProp,\n defaultPageSize,\n onPageSizeChange,\n pageSizeOptions,\n page: pageProp,\n defaultPage,\n onPageChange,\n total: totalProp,\n totalPages,\n hasNextPage,\n summary,\n autoHide: autoHidePagination,\n storage,\n });\n\n const treeState = useTableTreeState<T>({\n roots: pagination.pageTreeRoots,\n allNodesByKey: treeModel?.byKey ?? new Map(),\n expandedKeys,\n defaultExpandedKeys,\n forcedExpandedKeys: searchedTree?.forcedExpandedKeys,\n disabledKeys,\n getTextValue: (node) => {\n const column = columns.find(\n (entry) => entry.key === resolvedTreeColumnKey,\n );\n return column\n ? (getColumnText(column, node.row, node.sourceIndex) ??\n String(node.key))\n : String(node.key);\n },\n onExpand,\n ariaLabel,\n });\n\n const visibleTreeEntries = treeModel ? treeState.visibleEntries : [];\n const pageStart =\n paginationMode === 'client'\n ? (pagination.page - 1) * pagination.pageSize\n : 0;\n const visibleRows = treeModel\n ? visibleTreeEntries.map((entry) => entry.row)\n : pagination.pageRows;\n const visibleRowCount = visibleRows.length;\n const sectionPage = useMemo(\n () =>\n sectionModel\n ? {\n layout: {\n ...sectionPageLayout(sectionModel, pageStart, visibleRowCount),\n viewportWidth: containerWidth,\n },\n keys: sectionModel.keys.slice(\n pageStart,\n pageStart + visibleRowCount,\n ),\n }\n : undefined,\n [sectionModel, pageStart, visibleRowCount, containerWidth],\n );\n const visibleRowKeys = treeModel\n ? visibleTreeEntries.map((entry) => entry.key)\n : sectionPage?.keys;\n\n const selection = useItemTableSelection<T>({\n rows: visibleRows,\n rowKeys: visibleRowKeys,\n sortedRows: orderedRows,\n sortedRowKeys: sectionModel?.keys,\n isTree: treeModel != null,\n sortedTreeRoots,\n pageTreeRoots: pagination.pageTreeRoots,\n paginationMode,\n getRowKey: resolvedGetRowKey,\n selectionMode,\n bulkActions,\n selectedKeys: selectedKeysProp,\n defaultSelectedKeys,\n onSelectionChange,\n selectAllMode,\n isRowSelectable,\n disabledKeys,\n treeSelectionBehavior,\n });\n\n // A `ReactNode` menu applies to every row; a function decides per row. The\n // renderer only ever sees the function form.\n const resolveRowMenu = useMemo(\n () =>\n rowMenu == null\n ? undefined\n : typeof rowMenu === 'function'\n ? (rowMenu as (\n row: T,\n ctx: CubeTableRowContext<T>,\n ) => ReactNode | null)\n : () => rowMenu as ReactNode,\n [rowMenu],\n );\n\n const trailingColumns = useMemo(\n () =>\n resolveRowMenu && rowContextMenu === true\n ? [\n {\n key: ROW_MENU_COLUMN_KEY,\n width:\n ROW_MENU_COLUMN_WIDTH[size] ?? ROW_MENU_COLUMN_WIDTH.medium,\n align: 'center' as const,\n },\n ]\n : undefined,\n [resolveRowMenu, rowContextMenu, size],\n );\n\n const leadingColumns = useMemo(\n () =>\n selection.isEnabled\n ? [\n {\n key: SELECTION_COLUMN_KEY,\n width:\n SELECTION_COLUMN_WIDTH[size] ?? SELECTION_COLUMN_WIDTH.medium,\n align: 'center' as const,\n },\n ]\n : undefined,\n [selection.isEnabled, size],\n );\n\n const { layout, handleColumnResize, handleColumnResizeEnd } =\n useItemTableColumnWidths<T>({\n columns,\n containerWidth,\n leadingColumns,\n trailingColumns,\n columnWidths: columnWidthsProp,\n defaultColumnWidths,\n onColumnResize,\n storage,\n });\n\n // The layout has already removed hidden columns and identified structural\n // ones. Resolve the header here so body windowing also retains its anchor.\n const implicitRowHeader =\n rowLink && !layout.columns.some((column) => column.isRowHeader)\n ? layout.columns.find(\n (column) => !column.isStructural && column.isRowHeader !== false,\n )?.key\n : undefined;\n const tableLayout =\n implicitRowHeader === undefined\n ? layout\n : {\n ...layout,\n columns: layout.columns.map((column) =>\n column.key === implicitRowHeader\n ? { ...column, isRowHeader: true }\n : column,\n ),\n };\n\n const hasBulkSelection =\n bulkActions != null &&\n bulkActions.length > 0 &&\n selection.selectedCount > 0;\n\n const bulkBar = hasBulkSelection ? (\n <ItemTableBulkBar<T>\n actions={bulkActions!}\n placement={bulkBarPlacement}\n styles={bulkBarStyles}\n />\n ) : null;\n\n const isBulkBarInToolbar = bulkBar != null && bulkBarPlacement === 'toolbar';\n\n const hasToolbar =\n toolbar !== undefined ||\n isSearchable ||\n filters != null ||\n actions != null ||\n onRefresh != null ||\n isBulkBarInToolbar;\n\n const toolbarNode = hasToolbar\n ? (toolbar ?? (\n <ItemTableToolbar\n isSearchable={isSearchable}\n filters={filters}\n // The bar takes the actions group rather than sitting beside it: the\n // two compete for the same space, and while rows are selected the\n // bulk actions are what the user is reaching for.\n actions={isBulkBarInToolbar ? bulkBar : actions}\n isLoading={isLoading}\n styles={toolbarStyles}\n searchStyles={searchStyles}\n onRefresh={onRefresh}\n />\n ))\n : null;\n\n const hasFooter =\n footer !== undefined ||\n pagination.control != null ||\n footerStart != null ||\n footerCenter != null ||\n footerEnd != null;\n\n const footerNode = hasFooter\n ? (footer ?? (\n <ItemTableFooter\n start={footerStart}\n center={footerCenter}\n end={footerEnd}\n styles={footerStyles}\n pagination={pagination.control}\n />\n ))\n : null;\n\n const bodyRef = useRef<HTMLTableSectionElement>(null);\n\n const drag = useItemTableDragDrop<T>({\n rows: visibleRows,\n rowKeys: visibleRowKeys,\n getRowKey: resolvedGetRowKey,\n treeModel,\n isReorderable,\n onReorder,\n dropOnRow,\n getItemDragInfo,\n });\n\n /**\n * `DraggableCollection` owns the React Aria drag/drop hooks and hands the two\n * states down. It is only mounted when reordering is on, so a plain table\n * pays nothing for it.\n *\n * `RowCollection` and the `SelectionManager` from `useTableSelection` satisfy\n * its structural `state` contract unchanged — both exist even when selection\n * itself is off.\n */\n const renderTable = (\n dragState?: any,\n dropState?: any,\n collectionProps?: Record<string, any>,\n ) => (\n <TableView<T>\n rootRef={rootRef}\n dragState={dragState}\n dropState={dropState}\n collectionProps={collectionProps}\n bodyRef={bodyRef}\n qa={qa || 'ItemTable'}\n rows={visibleRows}\n rowKeys={visibleRowKeys}\n sectionLayout={sectionPage?.layout}\n // `aria-rowindex` is document-absolute by contract: on page 3 a screen\n // reader should hear \"row 51 of 240\", not \"row 1 of 25\". Infinite scroll\n // never offsets — every loaded row is already in `visibleRows`.\n // `isPaginated` already excludes infinite scroll, where every loaded row\n // is in `visibleRows` and there is no page to offset by.\n rowIndexOffset={\n treeModel\n ? 0\n : pagination.isPaginated\n ? (pagination.page - 1) * pagination.pageSize\n : 0\n }\n totalRowCount={treeModel ? visibleRows.length : pagination.total}\n getRowKey={resolvedGetRowKey}\n layout={tableLayout}\n onScrollerRef={setScrollerEl}\n size={size}\n shape={shape}\n rowHeight={rowHeight}\n headerHeight={headerHeight}\n isHeaderHidden={isHeaderHidden}\n isHeaderSticky={isHeaderSticky}\n isAutoHeight={isAutoHeight}\n isVirtualized={isVirtualized}\n virtualizeThreshold={virtualizeThreshold}\n overscan={overscan}\n isStriped={isStriped}\n isRowMoveAnimated={isRowMoveAnimated}\n isLoading={isLoading}\n loadingIndicator={loadingIndicator}\n selection={selection}\n selectionTooltip={selectionTooltip}\n rowLink={rowLink}\n onRowAction={onRowAction}\n onLoadMore={pagination.isInfinite ? onLoadMore : undefined}\n hasMore={hasMore}\n isLoadingMore={isLoadingMore}\n loadMoreMargin={loadMoreMargin}\n isReorderable={drag.isEnabled}\n isResizable={isResizable}\n onColumnResize={handleColumnResize}\n onColumnResizeEnd={handleColumnResizeEnd}\n rowMenu={resolveRowMenu}\n rowContextMenu={rowContextMenu}\n onRowMenuAction={onRowMenuAction}\n rowMenuTriggerProps={rowMenuTriggerProps}\n skeletonRowCount={skeletonRowCount}\n emptyLabel={emptyLabel ?? t('itemTable.noItems', 'No items')}\n noResultsLabel={\n noResultsLabel ?? t('itemTable.noResults', 'No results found')\n }\n error={error}\n toolbar={toolbarNode}\n footer={footerNode}\n isFiltered={isFiltered ?? isSearching}\n sortMode={resolvedSortMode}\n sort={sort}\n onColumnSort={toggleSort}\n onColumnSortChange={setColumnSort}\n columnContextMenu={columnContextMenu}\n onColumnMenuAction={onColumnMenuAction}\n columnMenuTriggerProps={columnMenuTriggerProps}\n columnMenuProps={columnMenuProps}\n getRowProps={getRowProps}\n ariaLabel={ariaLabel}\n styles={rootStyles}\n headerStyles={headerStyles}\n headerCellStyles={headerCellStyles}\n headerPreset={headerPreset}\n bodyStyles={bodyStyles}\n rowStyles={rowStyles}\n cellStyles={cellStyles}\n mods={mods}\n overlay={bulkBarPlacement === 'floating' ? bulkBar : null}\n tree={\n treeModel\n ? {\n state: treeState.state,\n ariaProps: treeState.ariaProps,\n nodes: treeState.visibleNodes,\n entries: visibleTreeEntries,\n columnKey: resolvedTreeColumnKey!,\n }\n : undefined\n }\n />\n );\n\n const table = drag.isEnabled ? (\n <DraggableCollection\n state={{\n collection: selection.collection,\n selectionManager: selection.selectionManager as any,\n disabledKeys: new Set(disabledKeys ?? []),\n }}\n // The element that directly contains the rows. React Aria's\n // `ListDropTargetDelegate` measures the drop position from this element's\n // children, so pointing it at the table root would leave every drop\n // unresolvable — the row lifts but never lands.\n listRef={bodyRef}\n orderedKeys={drag.orderedKeys}\n orientation=\"vertical\"\n onReorder={drag.onReorder}\n onItemDrop={drag.onItemDrop}\n shouldAcceptItemDrop={drag.shouldAcceptItemDrop}\n renderPreview={drag.renderPreview}\n >\n {(dragState, dropState, collectionProps) =>\n renderTable(dragState, dropState, collectionProps)\n }\n </DraggableCollection>\n ) : (\n renderTable()\n );\n\n // The provider always wraps, so `ItemTable.Search` works from a custom\n // `toolbar` as well as from the built-in one.\n return (\n <ItemTableChromeProvider\n value={{\n searchValue,\n setSearchValue,\n searchPlaceholder,\n isLoading,\n onRefresh,\n selectedKeys: selection.selectedKeys,\n selectedRows: selection.selectedRows,\n selectedCount: selection.selectedCount,\n clearSelection: selection.clearSelection,\n }}\n >\n {table}\n </ItemTableChromeProvider>\n );\n}\n\n/** `forwardRef` loses the row type, so the table is cast back to a generic. */\ninterface ItemTableRoot {\n <T = any>(\n props: CubeItemTableProps<T> & { ref?: ForwardedRef<HTMLDivElement> },\n ): ReactElement;\n displayName?: string;\n}\n\nexport interface ItemTableComponent extends ItemTableRoot {\n /** The table's search input, bound to the table's own state. */\n Search: typeof ItemTableSearch;\n /** The default toolbar row, for rebuilding it around extra content. */\n Toolbar: typeof ItemTableToolbar;\n /** The selection action bar, for placing it outside the default chrome. */\n BulkBar: typeof ItemTableBulkBar;\n}\n\nconst _ItemTable: ItemTableComponent = Object.assign(\n forwardRef(ItemTable) as unknown as ItemTableRoot,\n {\n Search: ItemTableSearch,\n Toolbar: ItemTableToolbar,\n BulkBar: ItemTableBulkBar,\n },\n);\n\n_ItemTable.displayName = 'ItemTable';\n\nexport { _ItemTable as ItemTable };\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { Text as _Text } from "../../content/Text.js";
|
|
3
3
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
4
4
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
5
|
-
import { Button } from "../../actions/
|
|
5
|
+
import { Button } from "../../actions/Button/Button.js";
|
|
6
6
|
import { CloseIcon } from "../../../icons/CloseIcon.js";
|
|
7
7
|
import { useItemTableChrome } from "./ItemTableToolbar.js";
|
|
8
8
|
import { tasty } from "@tenphi/tasty";
|