@cube-dev/ui-kit 0.197.0 → 0.198.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 +48 -9
- package/dist/_internal/hooks/use-debounced-value.js +2 -3
- package/dist/_internal/hooks/use-debounced-value.js.map +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +2 -3
- package/dist/_internal/hooks/use-deprecation-warning.js.map +1 -1
- package/dist/_internal/hooks/use-event.js +2 -3
- package/dist/_internal/hooks/use-event.js.map +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +2 -3
- package/dist/_internal/hooks/use-is-first-render.js.map +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +2 -3
- package/dist/_internal/hooks/use-sync-ref.js.map +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +2 -2
- package/dist/_internal/hooks/use-timer/timer.js.map +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +2 -3
- package/dist/_internal/hooks/use-timer/use-timer.js.map +1 -1
- package/dist/_internal/hooks/use-warn.js +2 -3
- package/dist/_internal/hooks/use-warn.js.map +1 -1
- package/dist/components/Block.d.ts +2 -5
- package/dist/components/Block.js +2 -3
- package/dist/components/Block.js.map +1 -1
- package/dist/components/CollectionItem.d.ts +4 -5
- package/dist/components/CollectionItem.js +4 -5
- package/dist/components/CollectionItem.js.map +1 -1
- package/dist/components/GlobalStyles.js +4 -5
- package/dist/components/GlobalStyles.js.map +1 -1
- package/dist/components/GridProvider.d.ts +2 -5
- package/dist/components/GridProvider.js +4 -4
- package/dist/components/GridProvider.js.map +1 -1
- package/dist/components/HiddenInput.js +2 -3
- package/dist/components/HiddenInput.js.map +1 -1
- package/dist/components/Root.d.ts +2 -5
- package/dist/components/Root.js +2 -3
- package/dist/components/Root.js.map +1 -1
- package/dist/components/actions/Action/Action.d.ts +2 -6
- package/dist/components/actions/Action/Action.js +2 -3
- package/dist/components/actions/Action/Action.js.map +1 -1
- package/dist/components/actions/Banner/Banner.d.ts +9 -12
- package/dist/components/actions/Banner/Banner.js +3 -4
- package/dist/components/actions/Banner/Banner.js.map +1 -1
- package/dist/components/actions/Banner/index.d.ts +2 -1
- package/dist/components/actions/Button/Button.d.ts +4 -7
- package/dist/components/actions/Button/Button.js +2 -3
- package/dist/components/actions/Button/Button.js.map +1 -1
- package/dist/components/actions/Button/index.d.ts +2 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.d.ts +1 -4
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +2 -3
- package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.d.ts +3 -6
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +5 -5
- package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist/components/actions/ButtonSplit/context.d.ts +3 -6
- package/dist/components/actions/ButtonSplit/context.js +2 -3
- package/dist/components/actions/ButtonSplit/context.js.map +1 -1
- package/dist/components/actions/ButtonSplit/index.d.ts +2 -1
- package/dist/components/actions/CommandMenu/CommandMenu.d.ts +6 -9
- package/dist/components/actions/CommandMenu/CommandMenu.js +89 -76
- package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
- package/dist/components/actions/CommandMenu/index.d.ts +2 -1
- package/dist/components/actions/CommandMenu/styled.js +3 -4
- package/dist/components/actions/CommandMenu/styled.js.map +1 -1
- package/dist/components/actions/ItemAction/ItemAction.d.ts +3 -6
- package/dist/components/actions/ItemAction/ItemAction.js +11 -9
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemAction/index.d.ts +2 -1
- package/dist/components/actions/ItemActionContext.d.ts +5 -14
- package/dist/components/actions/ItemActionContext.js +2 -3
- package/dist/components/actions/ItemActionContext.js.map +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +2 -3
- package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
- package/dist/components/actions/ItemButton/ItemButton.d.ts +6 -9
- package/dist/components/actions/ItemButton/ItemButton.js +4 -5
- package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
- package/dist/components/actions/ItemButton/index.d.ts +2 -1
- package/dist/components/actions/Link/Link.d.ts +1 -5
- package/dist/components/actions/Link/Link.js +2 -3
- package/dist/components/actions/Link/Link.js.map +1 -1
- package/dist/components/actions/Menu/Menu.d.ts +7 -10
- package/dist/components/actions/Menu/Menu.js +9 -8
- package/dist/components/actions/Menu/Menu.js.map +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.d.ts +3 -4
- package/dist/components/actions/Menu/MenuCollectionItem.js +4 -5
- package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuItem.d.ts +5 -8
- package/dist/components/actions/Menu/MenuItem.js +4 -4
- package/dist/components/actions/Menu/MenuItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuSection.d.ts +4 -7
- package/dist/components/actions/Menu/MenuSection.js +2 -3
- package/dist/components/actions/Menu/MenuSection.js.map +1 -1
- package/dist/components/actions/Menu/MenuTrigger.d.ts +4 -6
- package/dist/components/actions/Menu/MenuTrigger.js +5 -6
- package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.d.ts +3 -5
- package/dist/components/actions/Menu/SubMenuTrigger.js +3 -4
- package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +2 -3
- package/dist/components/actions/Menu/SubmenuTriggerContext.js.map +1 -1
- package/dist/components/actions/Menu/context.d.ts +3 -5
- package/dist/components/actions/Menu/context.js +2 -3
- package/dist/components/actions/Menu/context.js.map +1 -1
- package/dist/components/actions/Menu/index.d.ts +4 -3
- package/dist/components/actions/Menu/styled.js +3 -4
- package/dist/components/actions/Menu/styled.js.map +1 -1
- package/dist/components/actions/actions-run.js +2 -2
- package/dist/components/actions/actions-run.js.map +1 -1
- package/dist/components/actions/index.d.ts +8 -11
- package/dist/components/actions/index.js +8 -9
- package/dist/components/actions/index.js.map +1 -1
- package/dist/components/actions/use-action.d.ts +10 -27
- package/dist/components/actions/use-action.js +15 -7
- package/dist/components/actions/use-action.js.map +1 -1
- package/dist/components/actions/use-anchored-menu.d.ts +3 -5
- package/dist/components/actions/use-anchored-menu.js +5 -5
- package/dist/components/actions/use-anchored-menu.js.map +1 -1
- package/dist/components/actions/use-context-menu.d.ts +4 -5
- package/dist/components/actions/use-context-menu.js +9 -7
- package/dist/components/actions/use-context-menu.js.map +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.d.ts +3 -5
- package/dist/components/content/ActiveZone/ActiveZone.js +3 -4
- package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
- package/dist/components/content/Alert/Alert.d.ts +1 -4
- package/dist/components/content/Alert/Alert.js +3 -3
- package/dist/components/content/Alert/Alert.js.map +1 -1
- package/dist/components/content/Alert/index.d.ts +2 -1
- package/dist/components/content/Alert/types.d.ts +2 -4
- package/dist/components/content/Alert/use-alert.js +2 -3
- package/dist/components/content/Alert/use-alert.js.map +1 -1
- package/dist/components/content/Avatar/Avatar.d.ts +2 -5
- package/dist/components/content/Avatar/Avatar.js +2 -3
- package/dist/components/content/Avatar/Avatar.js.map +1 -1
- package/dist/components/content/Badge/Badge.d.ts +5 -7
- package/dist/components/content/Badge/Badge.js +4 -5
- package/dist/components/content/Badge/Badge.js.map +1 -1
- package/dist/components/content/Card/Card.d.ts +2 -5
- package/dist/components/content/Card/Card.js +2 -3
- package/dist/components/content/Card/Card.js.map +1 -1
- package/dist/components/content/Content.d.ts +2 -5
- package/dist/components/content/Content.js +2 -3
- package/dist/components/content/Content.js.map +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.d.ts +3 -5
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -4
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
- package/dist/components/content/CopyPasteBlock/index.d.ts +2 -1
- package/dist/components/content/CopySnippet/CopySnippet.d.ts +529 -526
- package/dist/components/content/CopySnippet/CopySnippet.js +5 -6
- package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
- package/dist/components/content/CopySnippet/index.d.ts +2 -1
- package/dist/components/content/Disclosure/Disclosure.d.ts +12 -14
- package/dist/components/content/Disclosure/Disclosure.js +8 -7
- package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
- package/dist/components/content/Disclosure/index.d.ts +2 -1
- package/dist/components/content/Divider.d.ts +2 -5
- package/dist/components/content/Divider.js +4 -4
- package/dist/components/content/Divider.js.map +1 -1
- package/dist/components/content/Footer.d.ts +2 -5
- package/dist/components/content/Footer.js +2 -3
- package/dist/components/content/Footer.js.map +1 -1
- package/dist/components/content/Header.d.ts +2 -5
- package/dist/components/content/Header.js +2 -3
- package/dist/components/content/Header.js.map +1 -1
- package/dist/components/content/HotKeys/HotKeys.d.ts +3 -5
- package/dist/components/content/HotKeys/HotKeys.js +4 -5
- package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
- package/dist/components/content/HotKeys/index.d.ts +2 -1
- package/dist/components/content/InfoBadge/InfoBadge.d.ts +4 -6
- package/dist/components/content/InfoBadge/InfoBadge.js +2 -3
- package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
- package/dist/components/content/InlineInput/InlineInput.d.ts +4 -7
- package/dist/components/content/InlineInput/InlineInput.js +5 -5
- package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
- package/dist/components/content/InlineInput/index.d.ts +2 -1
- package/dist/components/content/Item/Item.d.ts +4 -7
- package/dist/components/content/Item/Item.js +4 -5
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +2 -3
- package/dist/components/content/Item/ItemWithNativeLinks.js.map +1 -1
- package/dist/components/content/Item/index.d.ts +2 -1
- package/dist/components/content/ItemBadge/ItemBadge.d.ts +3 -5
- package/dist/components/content/ItemBadge/ItemBadge.js +2 -3
- package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
- package/dist/components/content/ItemBadge/index.d.ts +2 -1
- package/dist/components/content/ItemCard/ItemCard.d.ts +5 -8
- package/dist/components/content/ItemCard/ItemCard.js +3 -4
- package/dist/components/content/ItemCard/ItemCard.js.map +1 -1
- package/dist/components/content/Layout/GridLayout.d.ts +12 -13
- package/dist/components/content/Layout/GridLayout.js +13 -14
- package/dist/components/content/Layout/GridLayout.js.map +1 -1
- package/dist/components/content/Layout/Layout.d.ts +1 -3
- package/dist/components/content/Layout/Layout.js +28 -17
- package/dist/components/content/Layout/Layout.js.map +1 -1
- package/dist/components/content/Layout/LayoutBlock.d.ts +3 -5
- package/dist/components/content/Layout/LayoutBlock.js +4 -5
- package/dist/components/content/Layout/LayoutBlock.js.map +1 -1
- package/dist/components/content/Layout/LayoutCenter.d.ts +3 -5
- package/dist/components/content/Layout/LayoutCenter.js +4 -5
- package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
- package/dist/components/content/Layout/LayoutContainer.d.ts +3 -5
- package/dist/components/content/Layout/LayoutContainer.js +5 -5
- package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
- package/dist/components/content/Layout/LayoutContent.d.ts +4 -6
- package/dist/components/content/Layout/LayoutContent.js +3 -4
- package/dist/components/content/Layout/LayoutContent.js.map +1 -1
- package/dist/components/content/Layout/LayoutContext.d.ts +1 -3
- package/dist/components/content/Layout/LayoutContext.js +2 -3
- package/dist/components/content/Layout/LayoutContext.js.map +1 -1
- package/dist/components/content/Layout/LayoutFlex.d.ts +3 -5
- package/dist/components/content/Layout/LayoutFlex.js +4 -5
- package/dist/components/content/Layout/LayoutFlex.js.map +1 -1
- package/dist/components/content/Layout/LayoutFooter.d.ts +3 -5
- package/dist/components/content/Layout/LayoutFooter.js +4 -5
- package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
- package/dist/components/content/Layout/LayoutGrid.d.ts +3 -5
- package/dist/components/content/Layout/LayoutGrid.js +4 -5
- package/dist/components/content/Layout/LayoutGrid.js.map +1 -1
- package/dist/components/content/Layout/LayoutHeader.d.ts +3 -5
- package/dist/components/content/Layout/LayoutHeader.js +6 -6
- package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPane.d.ts +4 -6
- package/dist/components/content/Layout/LayoutPane.js +7 -8
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.d.ts +20 -6
- package/dist/components/content/Layout/LayoutPanel.js +32 -21
- package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.d.ts +4 -6
- package/dist/components/content/Layout/LayoutPanelHeader.js +4 -5
- package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelTransition.js +54 -51
- package/dist/components/content/Layout/LayoutPanelTransition.js.map +1 -1
- package/dist/components/content/Layout/LayoutToolbar.d.ts +3 -5
- package/dist/components/content/Layout/LayoutToolbar.js +4 -5
- package/dist/components/content/Layout/LayoutToolbar.js.map +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +2 -3
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js.map +1 -1
- package/dist/components/content/Layout/index.d.ts +13 -14
- package/dist/components/content/Layout/index.js +17 -18
- package/dist/components/content/Layout/index.js.map +1 -1
- package/dist/components/content/Layout/utils.js +2 -2
- package/dist/components/content/Layout/utils.js.map +1 -1
- package/dist/components/content/Paragraph.d.ts +2 -5
- package/dist/components/content/Paragraph.js +3 -4
- package/dist/components/content/Paragraph.js.map +1 -1
- package/dist/components/content/Placeholder/Placeholder.d.ts +2 -5
- package/dist/components/content/Placeholder/Placeholder.js +2 -3
- package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/content/PrismCode/PrismCode.d.ts +3 -5
- package/dist/components/content/PrismCode/PrismCode.js +4 -5
- package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +3 -4
- package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.d.ts +2 -9
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +3 -4
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js.map +1 -1
- package/dist/components/content/Result/Result.d.ts +9 -12
- package/dist/components/content/Result/Result.js +4 -5
- package/dist/components/content/Result/Result.js.map +1 -1
- package/dist/components/content/Skeleton/Skeleton.d.ts +13 -61
- package/dist/components/content/Skeleton/Skeleton.js +2 -3
- package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/content/Tag/Tag.d.ts +4 -6
- package/dist/components/content/Tag/Tag.js +4 -5
- package/dist/components/content/Tag/Tag.js.map +1 -1
- package/dist/components/content/Text.d.ts +1347 -1350
- package/dist/components/content/Text.js +3 -4
- package/dist/components/content/Text.js.map +1 -1
- package/dist/components/content/TextItem/TextItem.d.ts +6 -5
- package/dist/components/content/TextItem/TextItem.js +2 -3
- package/dist/components/content/TextItem/TextItem.js.map +1 -1
- package/dist/components/content/TextItem/index.d.ts +2 -1
- package/dist/components/content/Title.d.ts +5 -7
- package/dist/components/content/Title.js +3 -4
- package/dist/components/content/Title.js.map +1 -1
- package/dist/components/content/Tree/Tree.d.ts +1 -4
- package/dist/components/content/Tree/Tree.js +4 -4
- package/dist/components/content/Tree/Tree.js.map +1 -1
- package/dist/components/content/Tree/TreeNode.js +5 -6
- package/dist/components/content/Tree/TreeNode.js.map +1 -1
- package/dist/components/content/Tree/index.d.ts +2 -1
- package/dist/components/content/Tree/styled.js +18 -4
- package/dist/components/content/Tree/styled.js.map +1 -1
- package/dist/components/content/Tree/tree-index.js +2 -2
- package/dist/components/content/Tree/tree-index.js.map +1 -1
- package/dist/components/content/Tree/types.d.ts +11 -13
- package/dist/components/content/Tree/use-checkbox-tree.js +2 -3
- package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
- package/dist/components/content/Tree/use-load-data.js +2 -3
- package/dist/components/content/Tree/use-load-data.js.map +1 -1
- package/dist/components/content/highlightText.js +3 -4
- package/dist/components/content/highlightText.js.map +1 -1
- package/dist/components/content/use-auto-tooltip.d.ts +1 -3
- package/dist/components/content/use-auto-tooltip.js +2 -3
- package/dist/components/content/use-auto-tooltip.js.map +1 -1
- package/dist/components/data/DataTable/DataTable.d.ts +1 -2
- package/dist/components/data/DataTable/DataTable.js +35 -25
- package/dist/components/data/DataTable/DataTable.js.map +1 -1
- package/dist/components/data/DataTable/index.d.ts +2 -1
- package/dist/components/data/DataTable/types.d.ts +4 -6
- package/dist/components/data/ItemTable/ItemTable.d.ts +6 -4
- package/dist/components/data/ItemTable/ItemTable.js +8 -5
- package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.d.ts +2 -5
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +8 -4
- package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +3 -4
- package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +8 -4
- package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.d.ts +4 -15
- package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -3
- package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
- package/dist/components/data/ItemTable/index.d.ts +2 -1
- package/dist/components/data/ItemTable/types.d.ts +6 -6
- package/dist/components/data/ItemTable/use-item-table-column-widths.js +4 -4
- package/dist/components/data/ItemTable/use-item-table-column-widths.js.map +1 -1
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js +2 -3
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js.map +1 -1
- package/dist/components/data/ItemTable/use-item-table-pagination.js +2 -3
- package/dist/components/data/ItemTable/use-item-table-pagination.js.map +1 -1
- package/dist/components/data/ItemTable/use-item-table-selection.js +2 -3
- package/dist/components/data/ItemTable/use-item-table-selection.js.map +1 -1
- package/dist/components/data/ItemTable/use-item-table-sort.js +2 -3
- package/dist/components/data/ItemTable/use-item-table-sort.js.map +1 -1
- package/dist/components/data/ItemTable/use-item-table-tree-model.js +2 -3
- package/dist/components/data/ItemTable/use-item-table-tree-model.js.map +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +2 -3
- package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
- package/dist/components/data/TableBase/RowCollection.d.ts +2 -0
- package/dist/components/data/TableBase/RowCollection.js +2 -2
- package/dist/components/data/TableBase/RowCollection.js.map +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +2 -3
- package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
- package/dist/components/data/TableBase/TableRow.js +2 -3
- package/dist/components/data/TableBase/TableRow.js.map +1 -1
- package/dist/components/data/TableBase/TableView.d.ts +2 -3
- package/dist/components/data/TableBase/TableView.js +25 -15
- package/dist/components/data/TableBase/TableView.js.map +1 -1
- package/dist/components/data/TableBase/TreeGridTable.js +9 -9
- package/dist/components/data/TableBase/TreeGridTable.js.map +1 -1
- package/dist/components/data/TableBase/column-header.js +2 -3
- package/dist/components/data/TableBase/column-header.js.map +1 -1
- package/dist/components/data/TableBase/column-menu.d.ts +3 -6
- package/dist/components/data/TableBase/column-menu.js +3 -4
- package/dist/components/data/TableBase/column-menu.js.map +1 -1
- package/dist/components/data/TableBase/column-styles.js +2 -3
- package/dist/components/data/TableBase/column-styles.js.map +1 -1
- package/dist/components/data/TableBase/column-tint.js +4 -5
- package/dist/components/data/TableBase/column-tint.js.map +1 -1
- package/dist/components/data/TableBase/index.d.ts +2 -1
- package/dist/components/data/TableBase/row-menu.js +2 -3
- package/dist/components/data/TableBase/row-menu.js.map +1 -1
- package/dist/components/data/TableBase/styled.d.ts +1 -3
- package/dist/components/data/TableBase/styled.js +168 -4
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-tree.d.ts +2 -0
- package/dist/components/data/TableBase/table-tree.js +2 -2
- package/dist/components/data/TableBase/table-tree.js.map +1 -1
- package/dist/components/data/TableBase/types.d.ts +30 -26
- package/dist/components/data/TableBase/types.js +2 -2
- package/dist/components/data/TableBase/types.js.map +1 -1
- package/dist/components/data/TableBase/use-cell-selection.d.ts +1 -2
- 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 +4 -5
- package/dist/components/data/TableBase/use-column-menu.js.map +1 -1
- package/dist/components/data/TableBase/use-column-order.js +3 -4
- package/dist/components/data/TableBase/use-column-order.js.map +1 -1
- package/dist/components/data/TableBase/use-column-window.js +3 -4
- package/dist/components/data/TableBase/use-column-window.js.map +1 -1
- package/dist/components/data/TableBase/use-container-width.js +2 -3
- package/dist/components/data/TableBase/use-container-width.js.map +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +3 -7
- package/dist/components/data/TableBase/use-row-move-animation.js.map +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +2 -3
- package/dist/components/data/TableBase/use-scrollability.js.map +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +4 -8
- package/dist/components/data/TableBase/use-table-columns.js.map +1 -1
- package/dist/components/data/TableBase/use-table-search.js +2 -3
- package/dist/components/data/TableBase/use-table-search.js.map +1 -1
- package/dist/components/data/TableBase/use-table-selection.d.ts +1 -0
- package/dist/components/data/TableBase/use-table-selection.js +7 -6
- package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +2 -3
- package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +2 -3
- package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
- package/dist/components/data/TableBase/use-table-storage.d.ts +1 -3
- package/dist/components/data/TableBase/use-table-storage.js +4 -4
- package/dist/components/data/TableBase/use-table-storage.js.map +1 -1
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js +3 -4
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js.map +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +2 -3
- package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
- package/dist/components/data/index.d.ts +4 -3
- package/dist/components/fields/Checkbox/Checkbox.d.ts +7 -10
- package/dist/components/fields/Checkbox/Checkbox.js +39 -36
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +4 -6
- package/dist/components/fields/Checkbox/CheckboxGroup.js +16 -16
- package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/components/fields/Checkbox/context.js +2 -3
- package/dist/components/fields/Checkbox/context.js.map +1 -1
- package/dist/components/fields/Checkbox/index.d.ts +3 -2
- package/dist/components/fields/ColorInput/ColorInput.d.ts +3 -6
- package/dist/components/fields/ColorInput/ColorInput.js +2 -3
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
- package/dist/components/fields/ColorInput/index.d.ts +2 -1
- package/dist/components/fields/ColorPicker/ColorPicker.d.ts +3 -6
- package/dist/components/fields/ColorPicker/ColorPicker.js +321 -118
- package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/fields/ColorPicker/index.d.ts +2 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.d.ts +2 -5
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +14 -3
- package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -1
- package/dist/components/fields/ColorSwatch/index.d.ts +2 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +3 -6
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +235 -72
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ColorSwatchGroup/index.d.ts +2 -1
- package/dist/components/fields/ComboBox/ComboBox.d.ts +5 -6
- package/dist/components/fields/ComboBox/ComboBox.js +48 -45
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/ComboBox/comboBoxOptions.js +2 -3
- package/dist/components/fields/ComboBox/comboBoxOptions.js.map +1 -1
- package/dist/components/fields/ComboBox/index.d.ts +2 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +10 -9
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +7 -7
- package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +2 -2
- package/dist/components/fields/CommandTextArea/caretPosition.js.map +1 -1
- package/dist/components/fields/CommandTextArea/index.d.ts +2 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +2 -3
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js.map +1 -1
- package/dist/components/fields/DatePicker/DateInput.d.ts +2 -3
- package/dist/components/fields/DatePicker/DateInput.js +10 -8
- package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +53 -44
- package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePicker.d.ts +3 -6
- package/dist/components/fields/DatePicker/DatePicker.js +28 -26
- package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +2 -3
- package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +2 -3
- package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +2 -3
- package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +2 -3
- package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.d.ts +2 -3
- package/dist/components/fields/DatePicker/DateRangePicker.js +29 -27
- package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +2 -3
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +110 -110
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.d.ts +3 -6
- package/dist/components/fields/DatePicker/MonthPicker.js +3 -4
- package/dist/components/fields/DatePicker/MonthPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.d.ts +2 -4
- package/dist/components/fields/DatePicker/PeriodPicker.js +14 -14
- package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.d.ts +3 -6
- package/dist/components/fields/DatePicker/QuarterPicker.js +3 -4
- package/dist/components/fields/DatePicker/QuarterPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/TimeInput.d.ts +3 -6
- package/dist/components/fields/DatePicker/TimeInput.js +10 -8
- package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.d.ts +3 -6
- package/dist/components/fields/DatePicker/WeekPicker.js +3 -4
- package/dist/components/fields/DatePicker/WeekPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/YearPicker.d.ts +3 -6
- package/dist/components/fields/DatePicker/YearPicker.js +3 -4
- package/dist/components/fields/DatePicker/YearPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/index.d.ts +10 -9
- package/dist/components/fields/DatePicker/parseDate.d.ts +1 -4
- package/dist/components/fields/DatePicker/parseDate.js +2 -3
- package/dist/components/fields/DatePicker/parseDate.js.map +1 -1
- package/dist/components/fields/DatePicker/period.d.ts +5 -7
- package/dist/components/fields/DatePicker/period.js +3 -4
- package/dist/components/fields/DatePicker/period.js.map +1 -1
- package/dist/components/fields/DatePicker/props.js +2 -2
- package/dist/components/fields/DatePicker/props.js.map +1 -1
- package/dist/components/fields/DatePicker/types.d.ts +2 -4
- package/dist/components/fields/DatePicker/utils.js +14 -11
- package/dist/components/fields/DatePicker/utils.js.map +1 -1
- package/dist/components/fields/FileInput/FileInput.d.ts +3 -5
- package/dist/components/fields/FileInput/FileInput.js +290 -107
- package/dist/components/fields/FileInput/FileInput.js.map +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.d.ts +4 -5
- package/dist/components/fields/FilterListBox/FilterListBox.js +24 -19
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterListBox/index.d.ts +2 -1
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +3 -5
- package/dist/components/fields/FilterPicker/FilterPicker.js +12 -10
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/FilterPicker/index.d.ts +2 -1
- package/dist/components/fields/Input/Input.d.ts +6 -7
- package/dist/components/fields/Input/Input.js +6 -7
- package/dist/components/fields/Input/Input.js.map +1 -1
- package/dist/components/fields/Input/index.d.ts +2 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +2 -3
- package/dist/components/fields/ListBox/DraggableListBox.js.map +1 -1
- package/dist/components/fields/ListBox/ListBox.d.ts +5 -7
- package/dist/components/fields/ListBox/ListBox.js +30 -26
- package/dist/components/fields/ListBox/ListBox.js.map +1 -1
- package/dist/components/fields/ListBox/index.d.ts +2 -1
- package/dist/components/fields/ListBox/optionId.js +2 -2
- package/dist/components/fields/ListBox/optionId.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +3 -4
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/index.d.ts +2 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.d.ts +2 -4
- package/dist/components/fields/ListBoxPopover/listNavigation.js +2 -2
- package/dist/components/fields/ListBoxPopover/listNavigation.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +4 -12
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +2 -3
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
- package/dist/components/fields/NumberInput/NumberInput.d.ts +4 -6
- package/dist/components/fields/NumberInput/NumberInput.js +114 -110
- package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +2 -3
- package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.d.ts +3 -5
- package/dist/components/fields/PasswordInput/PasswordInput.js +4 -4
- package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +3 -5
- package/dist/components/fields/Picker/Picker.js +12 -10
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/Picker/index.d.ts +2 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +397 -398
- package/dist/components/fields/RadioGroup/Radio.js +60 -65
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.d.ts +5 -7
- package/dist/components/fields/RadioGroup/RadioGroup.js +19 -19
- package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/fields/RadioGroup/context.js +2 -3
- package/dist/components/fields/RadioGroup/context.js.map +1 -1
- package/dist/components/fields/RadioGroup/index.d.ts +3 -2
- package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +5 -6
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +16 -16
- package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
- package/dist/components/fields/SearchComboBox/index.d.ts +2 -1
- package/dist/components/fields/SearchInput/SearchInput.d.ts +4 -6
- package/dist/components/fields/SearchInput/SearchInput.js +48 -49
- package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/fields/SearchInput/index.d.ts +2 -1
- package/dist/components/fields/Select/Select.d.ts +9 -29
- package/dist/components/fields/Select/Select.js +12 -10
- package/dist/components/fields/Select/Select.js.map +1 -1
- package/dist/components/fields/Select/index.d.ts +2 -1
- package/dist/components/fields/Slider/Gradation.js +2 -3
- package/dist/components/fields/Slider/Gradation.js.map +1 -1
- package/dist/components/fields/Slider/HueSlider.d.ts +3 -6
- package/dist/components/fields/Slider/HueSlider.js +5 -6
- package/dist/components/fields/Slider/HueSlider.js.map +1 -1
- package/dist/components/fields/Slider/RangeSlider.d.ts +3 -6
- package/dist/components/fields/Slider/RangeSlider.js +4 -5
- package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
- package/dist/components/fields/Slider/Slider.d.ts +3 -6
- package/dist/components/fields/Slider/Slider.js +4 -5
- package/dist/components/fields/Slider/Slider.js.map +1 -1
- package/dist/components/fields/Slider/SliderBase.js +296 -88
- package/dist/components/fields/Slider/SliderBase.js.map +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +2 -3
- package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +2 -3
- package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
- package/dist/components/fields/Slider/elements.js +2 -3
- package/dist/components/fields/Slider/elements.js.map +1 -1
- package/dist/components/fields/Slider/index.d.ts +4 -4
- package/dist/components/fields/Slider/index.js +5 -6
- package/dist/components/fields/Slider/types.d.ts +2 -3
- package/dist/components/fields/Switch/Switch.d.ts +4 -6
- package/dist/components/fields/Switch/Switch.js +78 -70
- package/dist/components/fields/Switch/Switch.js.map +1 -1
- package/dist/components/fields/TagInput/TagInput.d.ts +5 -6
- package/dist/components/fields/TagInput/TagInput.js +411 -998
- package/dist/components/fields/TagInput/TagInput.js.map +1 -1
- package/dist/components/fields/TagInput/TagList.js +3 -4
- package/dist/components/fields/TagInput/TagList.js.map +1 -1
- package/dist/components/fields/TagInput/index.d.ts +2 -1
- package/dist/components/fields/TagInput/useActiveOption.js +2 -3
- package/dist/components/fields/TagInput/useActiveOption.js.map +1 -1
- package/dist/components/fields/TagInput/useTagError.js +2 -3
- package/dist/components/fields/TagInput/useTagError.js.map +1 -1
- package/dist/components/fields/TextArea/TextArea.d.ts +4 -6
- package/dist/components/fields/TextArea/TextArea.js +4 -4
- package/dist/components/fields/TextArea/TextArea.js.map +1 -1
- package/dist/components/fields/TextArea/index.d.ts +2 -1
- package/dist/components/fields/TextInput/TextInput.d.ts +4 -6
- package/dist/components/fields/TextInput/TextInput.js +3 -3
- package/dist/components/fields/TextInput/TextInput.js.map +1 -1
- package/dist/components/fields/TextInput/TextInputBase.d.ts +6 -8
- package/dist/components/fields/TextInput/TextInputBase.js +10 -9
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInput/displayed-validation.js +2 -3
- package/dist/components/fields/TextInput/displayed-validation.js.map +1 -1
- package/dist/components/fields/TextInput/index.d.ts +2 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +2 -3
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +4 -6
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +8 -10
- package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
- package/dist/components/fields/TextInputMapper/index.d.ts +2 -1
- package/dist/components/fields/TriggerActions.js +3 -4
- package/dist/components/fields/TriggerActions.js.map +1 -1
- package/dist/components/fields/color/ColorPanel.js +4 -5
- package/dist/components/fields/color/ColorPanel.js.map +1 -1
- package/dist/components/fields/color/channels.d.ts +2 -4
- package/dist/components/fields/color/channels.js +2 -3
- package/dist/components/fields/color/channels.js.map +1 -1
- package/dist/components/fields/color/color.d.ts +4 -5
- package/dist/components/fields/color/color.js +3 -4
- package/dist/components/fields/color/color.js.map +1 -1
- package/dist/components/fields/color/context.js +2 -3
- package/dist/components/fields/color/context.js.map +1 -1
- package/dist/components/fields/color/index.d.ts +2 -1
- package/dist/components/fields/index.d.ts +27 -26
- package/dist/components/fields/option-origin-press.js +2 -2
- package/dist/components/fields/option-origin-press.js.map +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +15 -19
- package/dist/components/form/FieldWrapper/FieldWrapper.js +123 -123
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +2 -3
- package/dist/components/form/FieldWrapper/field-description.js.map +1 -1
- package/dist/components/form/FieldWrapper/index.d.ts +2 -1
- package/dist/components/form/FieldWrapper/types.d.ts +20 -12
- package/dist/components/form/Form/Field.d.ts +2 -5
- package/dist/components/form/Form/Field.js +2 -3
- package/dist/components/form/Form/Field.js.map +1 -1
- package/dist/components/form/Form/Form.d.ts +6 -12
- package/dist/components/form/Form/Form.js +5 -6
- package/dist/components/form/Form/Form.js.map +1 -1
- package/dist/components/form/Form/ModernFormRoot.d.ts +1 -3
- package/dist/components/form/Form/ModernFormRoot.js +3 -4
- package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.d.ts +3 -6
- package/dist/components/form/Form/ResetButton/ResetButton.js +3 -4
- package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
- package/dist/components/form/Form/ResetButton/index.d.ts +2 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.d.ts +3 -6
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +3 -4
- package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/dist/components/form/Form/SubmitButton/index.d.ts +2 -1
- package/dist/components/form/Form/SubmitError.d.ts +3 -5
- package/dist/components/form/Form/SubmitError.js +3 -4
- package/dist/components/form/Form/SubmitError.js.map +1 -1
- package/dist/components/form/Form/backend.d.ts +3 -5
- package/dist/components/form/Form/backend.js +2 -2
- package/dist/components/form/Form/backend.js.map +1 -1
- package/dist/components/form/Form/index.d.ts +7 -10
- package/dist/components/form/Form/index.js +7 -8
- package/dist/components/form/Form/index.js.map +1 -1
- package/dist/components/form/Form/modern/actions.js +2 -3
- package/dist/components/form/Form/modern/actions.js.map +1 -1
- package/dist/components/form/Form/modern/context.d.ts +2 -4
- package/dist/components/form/Form/modern/context.js +2 -3
- package/dist/components/form/Form/modern/context.js.map +1 -1
- package/dist/components/form/Form/modern/controller.d.ts +9 -11
- package/dist/components/form/Form/modern/controller.js +2 -3
- package/dist/components/form/Form/modern/controller.js.map +1 -1
- package/dist/components/form/Form/modern/field-binding.js +2 -3
- package/dist/components/form/Form/modern/field-binding.js.map +1 -1
- package/dist/components/form/Form/modern/field.d.ts +4 -5
- package/dist/components/form/Form/modern/field.js +2 -3
- package/dist/components/form/Form/modern/field.js.map +1 -1
- package/dist/components/form/Form/modern/path-types.d.ts +4 -5
- package/dist/components/form/Form/modern/react.d.ts +7 -10
- package/dist/components/form/Form/modern/react.js +2 -3
- package/dist/components/form/Form/modern/react.js.map +1 -1
- package/dist/components/form/Form/modern/read-types.d.ts +3 -4
- package/dist/components/form/Form/modern/store.js +2 -3
- package/dist/components/form/Form/modern/store.js.map +1 -1
- package/dist/components/form/Form/modern/types.d.ts +18 -20
- package/dist/components/form/Form/modern/validation.d.ts +2 -4
- package/dist/components/form/Form/modern/validation.js +2 -3
- package/dist/components/form/Form/modern/validation.js.map +1 -1
- package/dist/components/form/Form/modern/values.d.ts +1 -2
- package/dist/components/form/Form/modern/values.js +2 -2
- package/dist/components/form/Form/modern/values.js.map +1 -1
- package/dist/components/form/Form/reset-unbound-controls.js +3 -5
- package/dist/components/form/Form/reset-unbound-controls.js.map +1 -1
- package/dist/components/form/Form/types.d.ts +4 -6
- package/dist/components/form/Form/use-field/index.d.ts +2 -1
- package/dist/components/form/Form/use-field/types.d.ts +6 -6
- package/dist/components/form/Form/use-field/use-field-binding.js +2 -3
- package/dist/components/form/Form/use-field/use-field-binding.js.map +1 -1
- package/dist/components/form/Form/use-field/use-field-props.d.ts +11 -9
- package/dist/components/form/Form/use-field/use-field-props.js +48 -42
- 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 +2 -4
- package/dist/components/form/Form/use-field/use-field.js +2 -3
- package/dist/components/form/Form/use-field/use-field.js.map +1 -1
- package/dist/components/form/Form/use-form.d.ts +5 -6
- package/dist/components/form/Form/use-form.js +3 -4
- package/dist/components/form/Form/use-form.js.map +1 -1
- package/dist/components/form/Form/validation.js +2 -3
- package/dist/components/form/Form/validation.js.map +1 -1
- package/dist/components/form/Label.d.ts +7 -9
- package/dist/components/form/Label.js +3 -4
- package/dist/components/form/Label.js.map +1 -1
- package/dist/components/form/field-chrome.js +46 -6
- package/dist/components/form/field-chrome.js.map +1 -1
- package/dist/components/form/index.d.ts +6 -5
- package/dist/components/form/legacy-tooltip.js +2 -3
- package/dist/components/form/legacy-tooltip.js.map +1 -1
- package/dist/components/form/validation/ValidationIndicator.d.ts +4 -10
- package/dist/components/form/validation/ValidationIndicator.js +2 -3
- package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
- package/dist/components/form/validation/index.d.ts +2 -1
- package/dist/components/form/validation/resolve-validation-props.d.ts +6 -17
- package/dist/components/form/validation/resolve-validation-props.js +2 -2
- package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
- package/dist/components/form/validation/use-validation-props.d.ts +1 -3
- package/dist/components/form/validation/use-validation-props.js +2 -3
- package/dist/components/form/validation/use-validation-props.js.map +1 -1
- package/dist/components/form/wrapper.d.ts +23 -9
- package/dist/components/form/wrapper.js +20 -11
- package/dist/components/form/wrapper.js.map +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.d.ts +22 -25
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +16 -16
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js.map +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.d.ts +3 -5
- package/dist/components/helpers/IconSwitch/IconSwitch.js +2 -3
- package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
- package/dist/components/layout/Flex.d.ts +2 -5
- package/dist/components/layout/Flex.js +2 -3
- package/dist/components/layout/Flex.js.map +1 -1
- package/dist/components/layout/Flow.d.ts +2 -5
- package/dist/components/layout/Flow.js +2 -3
- package/dist/components/layout/Flow.js.map +1 -1
- package/dist/components/layout/Grid.d.ts +2 -5
- package/dist/components/layout/Grid.js +2 -3
- package/dist/components/layout/Grid.js.map +1 -1
- package/dist/components/layout/Panel.d.ts +3 -5
- package/dist/components/layout/Panel.js +22 -22
- package/dist/components/layout/Panel.js.map +1 -1
- package/dist/components/layout/Prefix.d.ts +2 -5
- package/dist/components/layout/Prefix.js +2 -3
- package/dist/components/layout/Prefix.js.map +1 -1
- package/dist/components/layout/ResizablePanel.d.ts +3 -5
- package/dist/components/layout/ResizablePanel.js +4 -5
- package/dist/components/layout/ResizablePanel.js.map +1 -1
- package/dist/components/layout/Space.d.ts +2 -5
- package/dist/components/layout/Space.js +2 -3
- package/dist/components/layout/Space.js.map +1 -1
- package/dist/components/layout/Suffix.d.ts +2 -5
- package/dist/components/layout/Suffix.js +2 -3
- package/dist/components/layout/Suffix.js.map +1 -1
- package/dist/components/navigation/Pagination/Pagination.d.ts +2 -4
- package/dist/components/navigation/Pagination/Pagination.js +9 -5
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
- package/dist/components/navigation/Pagination/index.d.ts +3 -2
- package/dist/components/navigation/Pagination/types.d.ts +4 -6
- package/dist/components/navigation/Pagination/use-pagination.d.ts +11 -16
- package/dist/components/navigation/Pagination/use-pagination.js +2 -3
- package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.d.ts +2 -5
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +2 -3
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.js.map +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +2 -3
- package/dist/components/navigation/Tabs/DraggableTabList.js.map +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +4 -5
- package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +2 -3
- package/dist/components/navigation/Tabs/TabDropIndicator.js.map +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +3 -4
- package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +2 -3
- package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.d.ts +4 -7
- package/dist/components/navigation/Tabs/Tabs.js +5 -5
- package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
- package/dist/components/navigation/Tabs/TabsAction.d.ts +2 -6
- package/dist/components/navigation/Tabs/TabsAction.js +3 -4
- package/dist/components/navigation/Tabs/TabsAction.js.map +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +2 -3
- package/dist/components/navigation/Tabs/TabsContext.js.map +1 -1
- package/dist/components/navigation/Tabs/index.d.ts +2 -1
- package/dist/components/navigation/Tabs/popover-placement.js +2 -2
- package/dist/components/navigation/Tabs/popover-placement.js.map +1 -1
- package/dist/components/navigation/Tabs/styled.js +3 -4
- package/dist/components/navigation/Tabs/styled.js.map +1 -1
- package/dist/components/navigation/Tabs/types.d.ts +15 -16
- package/dist/components/navigation/Tabs/types.js +2 -2
- package/dist/components/navigation/Tabs/types.js.map +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +2 -3
- package/dist/components/navigation/Tabs/use-tab-editing.js.map +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +2 -3
- package/dist/components/navigation/Tabs/use-tab-indicator.js.map +1 -1
- package/dist/components/navigation/index.d.ts +3 -2
- package/dist/components/organisms/StatsCard/StatsCard.d.ts +2 -10
- package/dist/components/organisms/StatsCard/StatsCard.js +4 -5
- package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
- package/dist/components/other/Calendar/Calendar.js +3 -4
- package/dist/components/other/Calendar/Calendar.js.map +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +2 -3
- package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +2 -3
- package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +3 -4
- package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +2 -3
- package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +2 -3
- package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +2 -3
- package/dist/components/other/Calendar/PeriodGrid.js.map +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +3 -4
- package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
- package/dist/components/other/Calendar/styled.js +2 -3
- package/dist/components/other/Calendar/styled.js.map +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.d.ts +3 -6
- package/dist/components/other/CubeLogo/CubeLogo.js +2 -3
- package/dist/components/other/CubeLogo/CubeLogo.js.map +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.d.ts +2 -5
- package/dist/components/other/NoDataIcon/NoDataIcon.js +2 -3
- package/dist/components/other/NoDataIcon/NoDataIcon.js.map +1 -1
- package/dist/components/other/NoDataIcon/index.d.ts +2 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.d.ts +4 -6
- package/dist/components/overlays/AlertDialog/AlertDialog.js +4 -5
- package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.d.ts +3 -6
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +3 -5
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.d.ts +1 -2
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +3 -4
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
- package/dist/components/overlays/AlertDialog/index.d.ts +3 -2
- package/dist/components/overlays/AlertDialog/types.d.ts +5 -10
- package/dist/components/overlays/Dialog/Dialog.d.ts +6 -6
- package/dist/components/overlays/Dialog/Dialog.js +95 -33
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.d.ts +2 -5
- package/dist/components/overlays/Dialog/DialogContainer.js +4 -5
- package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogForm.d.ts +5 -7
- package/dist/components/overlays/Dialog/DialogForm.js +5 -6
- package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.d.ts +3 -6
- package/dist/components/overlays/Dialog/DialogTrigger.js +5 -6
- package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +5 -6
- package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/context.js +12 -4
- package/dist/components/overlays/Dialog/context.js.map +1 -1
- package/dist/components/overlays/Dialog/default-button-text.js +2 -2
- package/dist/components/overlays/Dialog/default-button-text.js.map +1 -1
- package/dist/components/overlays/Dialog/index.d.ts +2 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +2 -3
- package/dist/components/overlays/Dialog/use-content-overflow.js.map +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.d.ts +2 -5
- package/dist/components/overlays/Dialog/use-dialog-container.js +2 -3
- package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js +2 -3
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js.map +1 -1
- package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +386 -0
- package/dist/components/overlays/Dialog/use-retained-dialog-focus.js.map +1 -0
- package/dist/components/overlays/Modal/Modal.d.ts +1 -2
- package/dist/components/overlays/Modal/Modal.js +5 -6
- package/dist/components/overlays/Modal/Modal.js.map +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +2 -3
- package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
- package/dist/components/overlays/Modal/Overlay.js +35 -14
- package/dist/components/overlays/Modal/Overlay.js.map +1 -1
- package/dist/components/overlays/Modal/Popover.js +4 -5
- package/dist/components/overlays/Modal/Popover.js.map +1 -1
- package/dist/components/overlays/Modal/Tray.js +5 -6
- package/dist/components/overlays/Modal/Tray.js.map +1 -1
- package/dist/components/overlays/Modal/Underlay.js +3 -4
- package/dist/components/overlays/Modal/Underlay.js.map +1 -1
- package/dist/components/overlays/Modal/index.d.ts +2 -1
- package/dist/components/overlays/Modal/modal-containment.js +2 -3
- package/dist/components/overlays/Modal/modal-containment.js.map +1 -1
- package/dist/components/overlays/Modal/types.d.ts +1 -3
- package/dist/components/overlays/Notifications/Notification.d.ts +1 -3
- package/dist/components/overlays/Notifications/Notification.js +4 -4
- package/dist/components/overlays/Notifications/Notification.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.d.ts +1 -10
- package/dist/components/overlays/Notifications/NotificationAction.js +2 -3
- package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.d.ts +2 -18
- package/dist/components/overlays/Notifications/NotificationCard.js +3 -4
- package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.d.ts +1 -4
- package/dist/components/overlays/Notifications/NotificationContext.js +2 -3
- package/dist/components/overlays/Notifications/NotificationContext.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.d.ts +2 -9
- package/dist/components/overlays/Notifications/NotificationItem.js +2 -3
- package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +6 -8
- package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.d.ts +1 -7
- package/dist/components/overlays/Notifications/OverlayProvider.js +3 -4
- package/dist/components/overlays/Notifications/OverlayProvider.js.map +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.d.ts +1 -8
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +3 -4
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +2 -2
- package/dist/components/overlays/Notifications/dismissed-storage.js.map +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.d.ts +1 -3
- package/dist/components/overlays/Notifications/format-relative-time.js +2 -2
- package/dist/components/overlays/Notifications/format-relative-time.js.map +1 -1
- package/dist/components/overlays/Notifications/index.d.ts +3 -4
- package/dist/components/overlays/Notifications/index.js +4 -5
- package/dist/components/overlays/Notifications/index.js.map +1 -1
- package/dist/components/overlays/Notifications/types.d.ts +14 -16
- package/dist/components/overlays/Notifications/use-notification-state.js +3 -4
- package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-notifications.d.ts +1 -3
- package/dist/components/overlays/Notifications/use-notifications.js +8 -7
- package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +2 -3
- package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.d.ts +2 -4
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +2 -3
- package/dist/components/overlays/Notifications/use-persistent-notifications.js.map +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +2 -3
- package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +2 -3
- package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
- package/dist/components/overlays/Toast/ToastItem.d.ts +3 -6
- package/dist/components/overlays/Toast/ToastItem.js +3 -4
- package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
- package/dist/components/overlays/Toast/ToastProvider.d.ts +2 -1
- package/dist/components/overlays/Toast/index.d.ts +6 -7
- package/dist/components/overlays/Toast/index.js +3 -4
- package/dist/components/overlays/Toast/index.js.map +1 -1
- package/dist/components/overlays/Toast/types.d.ts +8 -10
- package/dist/components/overlays/Toast/useProgressToast.d.ts +1 -3
- package/dist/components/overlays/Toast/useProgressToast.js +11 -10
- package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
- package/dist/components/overlays/Toast/useToast.d.ts +2 -4
- package/dist/components/overlays/Toast/useToast.js +2 -3
- package/dist/components/overlays/Toast/useToast.js.map +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.d.ts +3 -5
- package/dist/components/overlays/Tooltip/Tooltip.js +3 -4
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.d.ts +2 -4
- package/dist/components/overlays/Tooltip/TooltipProvider.js +3 -4
- package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.d.ts +3 -6
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +4 -5
- package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/components/overlays/Tooltip/context.js +2 -3
- package/dist/components/overlays/Tooltip/context.js.map +1 -1
- package/dist/components/overlays/Tooltip/split-trigger-props.d.ts +2 -3
- package/dist/components/overlays/Tooltip/split-trigger-props.js +2 -3
- package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -1
- package/dist/components/portal/Portal.d.ts +1 -4
- package/dist/components/portal/Portal.js +2 -3
- package/dist/components/portal/Portal.js.map +1 -1
- package/dist/components/portal/PortalProvider.js +2 -3
- package/dist/components/portal/PortalProvider.js.map +1 -1
- package/dist/components/portal/index.d.ts +2 -1
- package/dist/components/portal/types.d.ts +1 -3
- package/dist/components/portal/usePortal.js +2 -3
- package/dist/components/portal/usePortal.js.map +1 -1
- package/dist/components/shared/DraggableCollection.js +15 -15
- package/dist/components/shared/DraggableCollection.js.map +1 -1
- package/dist/components/shared/InvalidIcon.js +2 -3
- package/dist/components/shared/InvalidIcon.js.map +1 -1
- package/dist/components/shared/ValidIcon.js +2 -3
- package/dist/components/shared/ValidIcon.js.map +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.d.ts +2 -8
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +2 -3
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
- package/dist/components/status/LoadingAnimation/index.d.ts +2 -1
- package/dist/components/status/Spin/Cube.js +2 -3
- package/dist/components/status/Spin/Cube.js.map +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +2 -3
- package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
- package/dist/components/status/Spin/Spin.d.ts +1 -4
- package/dist/components/status/Spin/Spin.js +2 -3
- package/dist/components/status/Spin/Spin.js.map +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +2 -3
- package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
- package/dist/components/status/Spin/index.d.ts +2 -1
- package/dist/components/status/Spin/types.d.ts +2 -4
- package/dist/components/status/index.d.ts +2 -1
- package/dist/data/item-themes.d.ts +1 -3
- package/dist/data/item-themes.js +3 -3
- package/dist/data/item-themes.js.map +1 -1
- package/dist/data/themes.d.ts +9 -9
- package/dist/data/themes.js +10 -10
- package/dist/data/themes.js.map +1 -1
- package/dist/eslint-plugin/defaults.generated.d.ts +1 -3
- package/dist/eslint-plugin/defaults.generated.js +3 -8
- package/dist/eslint-plugin/defaults.generated.js.map +1 -1
- package/dist/eslint-plugin/index.d.ts +0 -1
- package/dist/eslint-plugin/index.js +2 -3
- package/dist/eslint-plugin/index.js.map +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.d.ts +2 -4
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +2 -3
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js.map +1 -1
- package/dist/eslint-plugin/types.d.ts +17 -10
- package/dist/i18n/I18nProvider.d.ts +2 -9
- package/dist/i18n/I18nProvider.js +2 -3
- package/dist/i18n/I18nProvider.js.map +1 -1
- package/dist/i18n/createFormatter.d.ts +6 -7
- package/dist/i18n/createFormatter.js +2 -2
- package/dist/i18n/createFormatter.js.map +1 -1
- package/dist/i18n/index.d.ts +2 -4
- package/dist/i18n/index.js +3 -4
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/instance.d.ts +5 -6
- package/dist/i18n/instance.js +3 -4
- package/dist/i18n/instance.js.map +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +2 -2
- package/dist/i18n/locales/en-US/uikit.js +2 -2
- package/dist/i18n/locales/en-US/uikit.json.d.ts +41 -41
- package/dist/i18n/locales/es-ES/uikit.js +2 -2
- package/dist/i18n/locales/es-MX/uikit.js +2 -2
- package/dist/i18n/locales/fr-FR/uikit.js +2 -2
- package/dist/i18n/locales/it-IT/uikit.js +2 -2
- package/dist/i18n/locales/ja-JP/uikit.js +2 -2
- package/dist/i18n/locales/nb-NO/uikit.js +2 -2
- package/dist/i18n/locales/pt-BR/uikit.js +2 -2
- package/dist/i18n/locales/pt-PT/uikit.js +2 -2
- package/dist/i18n/locales/sv-SE/uikit.js +2 -2
- package/dist/i18n/locales/vi-VN/uikit.js +2 -2
- package/dist/i18n/locales.d.ts +4 -5
- package/dist/i18n/locales.js +2 -2
- package/dist/i18n/locales.js.map +1 -1
- package/dist/i18n/namespace.d.ts +1 -2
- package/dist/i18n/namespace.js +2 -2
- package/dist/i18n/useFormatter.d.ts +1 -3
- package/dist/i18n/useFormatter.js +2 -3
- package/dist/i18n/useFormatter.js.map +1 -1
- package/dist/i18n/useI18n.js +2 -3
- package/dist/i18n/useI18n.js.map +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.d.ts +2 -5
- package/dist/icons/AdjustmentsHorizontalIcon.js +2 -3
- package/dist/icons/AdjustmentsHorizontalIcon.js.map +1 -1
- package/dist/icons/AdjustmentsIcon.d.ts +2 -5
- package/dist/icons/AdjustmentsIcon.js +2 -3
- package/dist/icons/AdjustmentsIcon.js.map +1 -1
- package/dist/icons/AiIcon.d.ts +2 -5
- package/dist/icons/AiIcon.js +2 -3
- package/dist/icons/AiIcon.js.map +1 -1
- package/dist/icons/AreaChartIcon.d.ts +2 -5
- package/dist/icons/AreaChartIcon.js +2 -3
- package/dist/icons/AreaChartIcon.js.map +1 -1
- package/dist/icons/ArrowNarrowDownIcon.d.ts +2 -5
- package/dist/icons/ArrowNarrowDownIcon.js +2 -3
- package/dist/icons/ArrowNarrowDownIcon.js.map +1 -1
- package/dist/icons/ArrowNarrowUpIcon.d.ts +2 -5
- package/dist/icons/ArrowNarrowUpIcon.js +2 -3
- package/dist/icons/ArrowNarrowUpIcon.js.map +1 -1
- package/dist/icons/BackwardIcon.d.ts +2 -5
- package/dist/icons/BackwardIcon.js +2 -3
- package/dist/icons/BackwardIcon.js.map +1 -1
- package/dist/icons/BarChartIcon.d.ts +2 -5
- package/dist/icons/BarChartIcon.js +2 -3
- package/dist/icons/BarChartIcon.js.map +1 -1
- package/dist/icons/BellFilledIcon.d.ts +2 -5
- package/dist/icons/BellFilledIcon.js +2 -3
- package/dist/icons/BellFilledIcon.js.map +1 -1
- package/dist/icons/BellIcon.d.ts +2 -5
- package/dist/icons/BellIcon.js +2 -3
- package/dist/icons/BellIcon.js.map +1 -1
- package/dist/icons/BooleanIcon.d.ts +2 -5
- package/dist/icons/BooleanIcon.js +2 -3
- package/dist/icons/BooleanIcon.js.map +1 -1
- package/dist/icons/CalendarEditIcon.d.ts +2 -5
- package/dist/icons/CalendarEditIcon.js +2 -3
- package/dist/icons/CalendarEditIcon.js.map +1 -1
- package/dist/icons/CalendarIcon.d.ts +2 -5
- package/dist/icons/CalendarIcon.js +2 -3
- package/dist/icons/CalendarIcon.js.map +1 -1
- package/dist/icons/CaretDownIcon.d.ts +2 -5
- package/dist/icons/CaretDownIcon.js +2 -3
- package/dist/icons/CaretDownIcon.js.map +1 -1
- package/dist/icons/CaretUpIcon.d.ts +2 -5
- package/dist/icons/CaretUpIcon.js +2 -3
- package/dist/icons/CaretUpIcon.js.map +1 -1
- package/dist/icons/ChartAreaStackedIcon.d.ts +2 -5
- package/dist/icons/ChartAreaStackedIcon.js +2 -3
- package/dist/icons/ChartAreaStackedIcon.js.map +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.d.ts +2 -5
- package/dist/icons/ChartAreaStackedPercentageIcon.js +2 -3
- package/dist/icons/ChartAreaStackedPercentageIcon.js.map +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.d.ts +2 -5
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +2 -3
- package/dist/icons/ChartBarGroupedHorizontalIcon.js.map +1 -1
- package/dist/icons/ChartBarGroupedIcon.d.ts +2 -5
- package/dist/icons/ChartBarGroupedIcon.js +2 -3
- package/dist/icons/ChartBarGroupedIcon.js.map +1 -1
- package/dist/icons/ChartBarHorizontalIcon.d.ts +2 -5
- package/dist/icons/ChartBarHorizontalIcon.js +2 -3
- package/dist/icons/ChartBarHorizontalIcon.js.map +1 -1
- package/dist/icons/ChartBarLineIcon.d.ts +2 -5
- package/dist/icons/ChartBarLineIcon.js +2 -3
- package/dist/icons/ChartBarLineIcon.js.map +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.d.ts +2 -5
- package/dist/icons/ChartBarStackedHorizontalIcon.js +2 -3
- package/dist/icons/ChartBarStackedHorizontalIcon.js.map +1 -1
- package/dist/icons/ChartBarStackedIcon.d.ts +2 -5
- package/dist/icons/ChartBarStackedIcon.js +2 -3
- package/dist/icons/ChartBarStackedIcon.js.map +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.d.ts +2 -5
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +2 -3
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js.map +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.d.ts +2 -5
- package/dist/icons/ChartBarStackedPercentageIcon.js +2 -3
- package/dist/icons/ChartBarStackedPercentageIcon.js.map +1 -1
- package/dist/icons/ChartBoxPlot2Icon.d.ts +2 -5
- package/dist/icons/ChartBoxPlot2Icon.js +2 -3
- package/dist/icons/ChartBoxPlot2Icon.js.map +1 -1
- package/dist/icons/ChartBoxPlotIcon.d.ts +2 -5
- package/dist/icons/ChartBoxPlotIcon.js +2 -3
- package/dist/icons/ChartBoxPlotIcon.js.map +1 -1
- package/dist/icons/ChartBubbleIcon.d.ts +2 -5
- package/dist/icons/ChartBubbleIcon.js +2 -3
- package/dist/icons/ChartBubbleIcon.js.map +1 -1
- package/dist/icons/ChartDonut2Icon.d.ts +2 -5
- package/dist/icons/ChartDonut2Icon.js +2 -3
- package/dist/icons/ChartDonut2Icon.js.map +1 -1
- package/dist/icons/ChartFunnelIcon.d.ts +2 -5
- package/dist/icons/ChartFunnelIcon.js +2 -3
- package/dist/icons/ChartFunnelIcon.js.map +1 -1
- package/dist/icons/ChartHeatmapIcon.d.ts +2 -5
- package/dist/icons/ChartHeatmapIcon.js +2 -3
- package/dist/icons/ChartHeatmapIcon.js.map +1 -1
- package/dist/icons/ChartKPIIcon.d.ts +2 -5
- package/dist/icons/ChartKPIIcon.js +2 -3
- package/dist/icons/ChartKPIIcon.js.map +1 -1
- package/dist/icons/ChartPie2Icon.d.ts +2 -5
- package/dist/icons/ChartPie2Icon.js +2 -3
- package/dist/icons/ChartPie2Icon.js.map +1 -1
- package/dist/icons/ChartScatterIcon.d.ts +2 -5
- package/dist/icons/ChartScatterIcon.js +2 -3
- package/dist/icons/ChartScatterIcon.js.map +1 -1
- package/dist/icons/CheckCircleFilledIcon.d.ts +2 -5
- package/dist/icons/CheckCircleFilledIcon.js +2 -3
- package/dist/icons/CheckCircleFilledIcon.js.map +1 -1
- package/dist/icons/CheckCircleIcon.d.ts +2 -5
- package/dist/icons/CheckCircleIcon.js +2 -3
- package/dist/icons/CheckCircleIcon.js.map +1 -1
- package/dist/icons/CheckIcon.d.ts +2 -5
- package/dist/icons/CheckIcon.js +2 -3
- package/dist/icons/CheckIcon.js.map +1 -1
- package/dist/icons/CircleFilledIcon.d.ts +2 -5
- package/dist/icons/CircleFilledIcon.js +2 -3
- package/dist/icons/CircleFilledIcon.js.map +1 -1
- package/dist/icons/ClearIcon.d.ts +2 -5
- package/dist/icons/ClearIcon.js +2 -3
- package/dist/icons/ClearIcon.js.map +1 -1
- package/dist/icons/CloseCircleFilledIcon.d.ts +2 -5
- package/dist/icons/CloseCircleFilledIcon.js +2 -3
- package/dist/icons/CloseCircleFilledIcon.js.map +1 -1
- package/dist/icons/CloseCircleIcon.d.ts +2 -5
- package/dist/icons/CloseCircleIcon.js +2 -3
- package/dist/icons/CloseCircleIcon.js.map +1 -1
- package/dist/icons/CloseIcon.d.ts +2 -5
- package/dist/icons/CloseIcon.js +2 -3
- package/dist/icons/CloseIcon.js.map +1 -1
- package/dist/icons/CodeIcon.d.ts +2 -5
- package/dist/icons/CodeIcon.js +2 -3
- package/dist/icons/CodeIcon.js.map +1 -1
- package/dist/icons/ColumnTotalIcon.d.ts +2 -5
- package/dist/icons/ColumnTotalIcon.js +2 -3
- package/dist/icons/ColumnTotalIcon.js.map +1 -1
- package/dist/icons/CopyIcon.d.ts +2 -5
- package/dist/icons/CopyIcon.js +2 -3
- package/dist/icons/CopyIcon.js.map +1 -1
- package/dist/icons/CountIcon.d.ts +2 -5
- package/dist/icons/CountIcon.js +2 -3
- package/dist/icons/CountIcon.js.map +1 -1
- package/dist/icons/CubeIcon.d.ts +2 -5
- package/dist/icons/CubeIcon.js +2 -3
- package/dist/icons/CubeIcon.js.map +1 -1
- package/dist/icons/CubePauseIcon.d.ts +2 -5
- package/dist/icons/CubePauseIcon.js +2 -3
- package/dist/icons/CubePauseIcon.js.map +1 -1
- package/dist/icons/CubePlayIcon.d.ts +2 -5
- package/dist/icons/CubePlayIcon.js +2 -3
- package/dist/icons/CubePlayIcon.js.map +1 -1
- package/dist/icons/CurrencyDollarIcon.d.ts +2 -5
- package/dist/icons/CurrencyDollarIcon.js +2 -3
- package/dist/icons/CurrencyDollarIcon.js.map +1 -1
- package/dist/icons/DangerIcon.d.ts +2 -5
- package/dist/icons/DangerIcon.js +2 -3
- package/dist/icons/DangerIcon.js.map +1 -1
- package/dist/icons/DashboardIcon.d.ts +2 -5
- package/dist/icons/DashboardIcon.js +2 -3
- package/dist/icons/DashboardIcon.js.map +1 -1
- package/dist/icons/DatabaseIcon.d.ts +2 -5
- package/dist/icons/DatabaseIcon.js +2 -3
- package/dist/icons/DatabaseIcon.js.map +1 -1
- package/dist/icons/DecimalDecreaseIcon.d.ts +2 -5
- package/dist/icons/DecimalDecreaseIcon.js +2 -3
- package/dist/icons/DecimalDecreaseIcon.js.map +1 -1
- package/dist/icons/DecimalIncreaseIcon.d.ts +2 -5
- package/dist/icons/DecimalIncreaseIcon.js +2 -3
- package/dist/icons/DecimalIncreaseIcon.js.map +1 -1
- package/dist/icons/DirectionIcon.d.ts +3 -5
- package/dist/icons/DirectionIcon.js +2 -3
- package/dist/icons/DirectionIcon.js.map +1 -1
- package/dist/icons/DonutIcon.d.ts +2 -5
- package/dist/icons/DonutIcon.js +2 -3
- package/dist/icons/DonutIcon.js.map +1 -1
- package/dist/icons/DownIcon.d.ts +2 -5
- package/dist/icons/DownIcon.js +2 -3
- package/dist/icons/DownIcon.js.map +1 -1
- package/dist/icons/EditIcon.d.ts +2 -5
- package/dist/icons/EditIcon.js +2 -3
- package/dist/icons/EditIcon.js.map +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.d.ts +2 -5
- package/dist/icons/ExclamationCircleFilledIcon.js +2 -3
- package/dist/icons/ExclamationCircleFilledIcon.js.map +1 -1
- package/dist/icons/ExclamationCircleIcon.d.ts +2 -5
- package/dist/icons/ExclamationCircleIcon.js +2 -3
- package/dist/icons/ExclamationCircleIcon.js.map +1 -1
- package/dist/icons/ExclamationIcon.d.ts +2 -5
- package/dist/icons/ExclamationIcon.js +2 -3
- package/dist/icons/ExclamationIcon.js.map +1 -1
- package/dist/icons/EyeIcon.d.ts +2 -5
- package/dist/icons/EyeIcon.js +2 -3
- package/dist/icons/EyeIcon.js.map +1 -1
- package/dist/icons/EyeInvisibleIcon.d.ts +2 -5
- package/dist/icons/EyeInvisibleIcon.js +2 -3
- package/dist/icons/EyeInvisibleIcon.js.map +1 -1
- package/dist/icons/FilterIcon.d.ts +2 -5
- package/dist/icons/FilterIcon.js +2 -3
- package/dist/icons/FilterIcon.js.map +1 -1
- package/dist/icons/FolderFilledIcon.d.ts +2 -5
- package/dist/icons/FolderFilledIcon.js +2 -3
- package/dist/icons/FolderFilledIcon.js.map +1 -1
- package/dist/icons/FolderIcon.d.ts +2 -5
- package/dist/icons/FolderIcon.js +2 -3
- package/dist/icons/FolderIcon.js.map +1 -1
- package/dist/icons/FolderOpenFilledIcon.d.ts +2 -5
- package/dist/icons/FolderOpenFilledIcon.js +2 -3
- package/dist/icons/FolderOpenFilledIcon.js.map +1 -1
- package/dist/icons/FolderOpenIcon.d.ts +2 -5
- package/dist/icons/FolderOpenIcon.js +2 -3
- package/dist/icons/FolderOpenIcon.js.map +1 -1
- package/dist/icons/ForwardIcon.d.ts +2 -5
- package/dist/icons/ForwardIcon.js +2 -3
- package/dist/icons/ForwardIcon.js.map +1 -1
- package/dist/icons/GripVerticalIcon.d.ts +2 -5
- package/dist/icons/GripVerticalIcon.js +2 -3
- package/dist/icons/GripVerticalIcon.js.map +1 -1
- package/dist/icons/HierarchyIcon.d.ts +2 -5
- package/dist/icons/HierarchyIcon.js +2 -3
- package/dist/icons/HierarchyIcon.js.map +1 -1
- package/dist/icons/HierarchyOpenIcon.d.ts +2 -5
- package/dist/icons/HierarchyOpenIcon.js +2 -3
- package/dist/icons/HierarchyOpenIcon.js.map +1 -1
- package/dist/icons/Icon.d.ts +2 -5
- package/dist/icons/Icon.js +2 -3
- package/dist/icons/Icon.js.map +1 -1
- package/dist/icons/InfoCircleIcon.d.ts +2 -5
- package/dist/icons/InfoCircleIcon.js +2 -3
- package/dist/icons/InfoCircleIcon.js.map +1 -1
- package/dist/icons/InfoIcon.d.ts +2 -5
- package/dist/icons/InfoIcon.js +2 -3
- package/dist/icons/InfoIcon.js.map +1 -1
- package/dist/icons/KeyIcon.d.ts +2 -5
- package/dist/icons/KeyIcon.js +2 -3
- package/dist/icons/KeyIcon.js.map +1 -1
- package/dist/icons/LeftIcon.d.ts +2 -5
- package/dist/icons/LeftIcon.js +2 -3
- package/dist/icons/LeftIcon.js.map +1 -1
- package/dist/icons/LineChartIcon.d.ts +2 -5
- package/dist/icons/LineChartIcon.js +2 -3
- package/dist/icons/LineChartIcon.js.map +1 -1
- package/dist/icons/LoadingIcon.d.ts +2 -5
- package/dist/icons/LoadingIcon.js +2 -3
- package/dist/icons/LoadingIcon.js.map +1 -1
- package/dist/icons/LockFilledIcon.d.ts +2 -5
- package/dist/icons/LockFilledIcon.js +2 -3
- package/dist/icons/LockFilledIcon.js.map +1 -1
- package/dist/icons/LockIcon.d.ts +2 -5
- package/dist/icons/LockIcon.js +2 -3
- package/dist/icons/LockIcon.js.map +1 -1
- package/dist/icons/MoreIcon.d.ts +2 -5
- package/dist/icons/MoreIcon.js +2 -3
- package/dist/icons/MoreIcon.js.map +1 -1
- package/dist/icons/NotAllowedIcon.d.ts +2 -5
- package/dist/icons/NotAllowedIcon.js +2 -3
- package/dist/icons/NotAllowedIcon.js.map +1 -1
- package/dist/icons/Number123Icon.d.ts +2 -5
- package/dist/icons/Number123Icon.js +2 -3
- package/dist/icons/Number123Icon.js.map +1 -1
- package/dist/icons/NumberIcon.d.ts +2 -5
- package/dist/icons/NumberIcon.js +2 -3
- package/dist/icons/NumberIcon.js.map +1 -1
- package/dist/icons/PauseCircleFilledIcon.d.ts +2 -5
- package/dist/icons/PauseCircleFilledIcon.js +2 -3
- package/dist/icons/PauseCircleFilledIcon.js.map +1 -1
- package/dist/icons/PauseCircleIcon.d.ts +2 -5
- package/dist/icons/PauseCircleIcon.js +2 -3
- package/dist/icons/PauseCircleIcon.js.map +1 -1
- package/dist/icons/PauseIcon.d.ts +2 -5
- package/dist/icons/PauseIcon.js +2 -3
- package/dist/icons/PauseIcon.js.map +1 -1
- package/dist/icons/PercentageIcon.d.ts +2 -5
- package/dist/icons/PercentageIcon.js +2 -3
- package/dist/icons/PercentageIcon.js.map +1 -1
- package/dist/icons/PieChartIcon.d.ts +2 -5
- package/dist/icons/PieChartIcon.js +2 -3
- package/dist/icons/PieChartIcon.js.map +1 -1
- package/dist/icons/PipetteIcon.d.ts +2 -5
- package/dist/icons/PipetteIcon.js +2 -3
- package/dist/icons/PipetteIcon.js.map +1 -1
- package/dist/icons/PlayCircleIcon.d.ts +2 -5
- package/dist/icons/PlayCircleIcon.js +2 -3
- package/dist/icons/PlayCircleIcon.js.map +1 -1
- package/dist/icons/PlayIcon.d.ts +2 -5
- package/dist/icons/PlayIcon.js +2 -3
- package/dist/icons/PlayIcon.js.map +1 -1
- package/dist/icons/PlusIcon.d.ts +2 -5
- package/dist/icons/PlusIcon.js +2 -3
- package/dist/icons/PlusIcon.js.map +1 -1
- package/dist/icons/ProgressBarIcon.d.ts +2 -5
- package/dist/icons/ProgressBarIcon.js +2 -3
- package/dist/icons/ProgressBarIcon.js.map +1 -1
- package/dist/icons/ReloadIcon.d.ts +2 -5
- package/dist/icons/ReloadIcon.js +2 -3
- package/dist/icons/ReloadIcon.js.map +1 -1
- package/dist/icons/ReportIcon.d.ts +2 -5
- package/dist/icons/ReportIcon.js +2 -3
- package/dist/icons/ReportIcon.js.map +1 -1
- package/dist/icons/ReturnIcon.d.ts +2 -5
- package/dist/icons/ReturnIcon.js +2 -3
- package/dist/icons/ReturnIcon.js.map +1 -1
- package/dist/icons/RightIcon.d.ts +2 -5
- package/dist/icons/RightIcon.js +2 -3
- package/dist/icons/RightIcon.js.map +1 -1
- package/dist/icons/RowTotalsIcon.d.ts +2 -5
- package/dist/icons/RowTotalsIcon.js +2 -3
- package/dist/icons/RowTotalsIcon.js.map +1 -1
- package/dist/icons/SchemeIcon.d.ts +2 -5
- package/dist/icons/SchemeIcon.js +2 -3
- package/dist/icons/SchemeIcon.js.map +1 -1
- package/dist/icons/SearchIcon.d.ts +2 -5
- package/dist/icons/SearchIcon.js +2 -3
- package/dist/icons/SearchIcon.js.map +1 -1
- package/dist/icons/SemanticQueryIcon.d.ts +2 -5
- package/dist/icons/SemanticQueryIcon.js +2 -3
- package/dist/icons/SemanticQueryIcon.js.map +1 -1
- package/dist/icons/SettingsIcon.d.ts +2 -5
- package/dist/icons/SettingsIcon.js +2 -3
- package/dist/icons/SettingsIcon.js.map +1 -1
- package/dist/icons/ShieldFilledIcon.d.ts +2 -5
- package/dist/icons/ShieldFilledIcon.js +2 -3
- package/dist/icons/ShieldFilledIcon.js.map +1 -1
- package/dist/icons/ShieldIcon.d.ts +2 -5
- package/dist/icons/ShieldIcon.js +2 -3
- package/dist/icons/ShieldIcon.js.map +1 -1
- package/dist/icons/SlashIcon.d.ts +2 -5
- package/dist/icons/SlashIcon.js +2 -3
- package/dist/icons/SlashIcon.js.map +1 -1
- package/dist/icons/SparklesIcon.d.ts +2 -5
- package/dist/icons/SparklesIcon.js +2 -3
- package/dist/icons/SparklesIcon.js.map +1 -1
- package/dist/icons/SqlIcon.d.ts +2 -5
- package/dist/icons/SqlIcon.js +2 -3
- package/dist/icons/SqlIcon.js.map +1 -1
- package/dist/icons/StatsIcon.d.ts +2 -5
- package/dist/icons/StatsIcon.js +2 -3
- package/dist/icons/StatsIcon.js.map +1 -1
- package/dist/icons/StopIcon.d.ts +2 -5
- package/dist/icons/StopIcon.js +2 -3
- package/dist/icons/StopIcon.js.map +1 -1
- package/dist/icons/StringIcon.d.ts +2 -5
- package/dist/icons/StringIcon.js +2 -3
- package/dist/icons/StringIcon.js.map +1 -1
- package/dist/icons/SubtotalsIcon.d.ts +2 -5
- package/dist/icons/SubtotalsIcon.js +2 -3
- package/dist/icons/SubtotalsIcon.js.map +1 -1
- package/dist/icons/SwitchIcon.d.ts +2 -5
- package/dist/icons/SwitchIcon.js +2 -3
- package/dist/icons/SwitchIcon.js.map +1 -1
- package/dist/icons/TableIcon.d.ts +2 -5
- package/dist/icons/TableIcon.js +2 -3
- package/dist/icons/TableIcon.js.map +1 -1
- package/dist/icons/ThumbsDownIcon.d.ts +2 -5
- package/dist/icons/ThumbsDownIcon.js +2 -3
- package/dist/icons/ThumbsDownIcon.js.map +1 -1
- package/dist/icons/ThumbsUpIcon.d.ts +2 -5
- package/dist/icons/ThumbsUpIcon.js +2 -3
- package/dist/icons/ThumbsUpIcon.js.map +1 -1
- package/dist/icons/ThunderboltCrossedIcon.d.ts +2 -5
- package/dist/icons/ThunderboltCrossedIcon.js +2 -3
- package/dist/icons/ThunderboltCrossedIcon.js.map +1 -1
- package/dist/icons/ThunderboltFilledIcon.d.ts +2 -5
- package/dist/icons/ThunderboltFilledIcon.js +2 -3
- package/dist/icons/ThunderboltFilledIcon.js.map +1 -1
- package/dist/icons/ThunderboltIcon.d.ts +2 -5
- package/dist/icons/ThunderboltIcon.js +2 -3
- package/dist/icons/ThunderboltIcon.js.map +1 -1
- package/dist/icons/TimeIcon.d.ts +2 -5
- package/dist/icons/TimeIcon.js +2 -3
- package/dist/icons/TimeIcon.js.map +1 -1
- package/dist/icons/TrashIcon.d.ts +2 -5
- package/dist/icons/TrashIcon.js +2 -3
- package/dist/icons/TrashIcon.js.map +1 -1
- package/dist/icons/UnlockIcon.d.ts +2 -5
- package/dist/icons/UnlockIcon.js +2 -3
- package/dist/icons/UnlockIcon.js.map +1 -1
- package/dist/icons/UpIcon.d.ts +2 -5
- package/dist/icons/UpIcon.js +2 -3
- package/dist/icons/UpIcon.js.map +1 -1
- package/dist/icons/UserGroupIcon.d.ts +2 -5
- package/dist/icons/UserGroupIcon.js +2 -3
- package/dist/icons/UserGroupIcon.js.map +1 -1
- package/dist/icons/UserIcon.d.ts +2 -5
- package/dist/icons/UserIcon.js +2 -3
- package/dist/icons/UserIcon.js.map +1 -1
- package/dist/icons/UserLockIcon.d.ts +2 -5
- package/dist/icons/UserLockIcon.js +2 -3
- package/dist/icons/UserLockIcon.js.map +1 -1
- package/dist/icons/ViewIcon.d.ts +2 -5
- package/dist/icons/ViewIcon.js +2 -3
- package/dist/icons/ViewIcon.js.map +1 -1
- package/dist/icons/WarningFilledIcon.d.ts +2 -5
- package/dist/icons/WarningFilledIcon.js +2 -3
- package/dist/icons/WarningFilledIcon.js.map +1 -1
- package/dist/icons/WarningIcon.d.ts +2 -5
- package/dist/icons/WarningIcon.js +2 -3
- package/dist/icons/WarningIcon.js.map +1 -1
- package/dist/icons/index.d.ts +2 -1
- package/dist/icons/wrap-icon.d.ts +2 -5
- package/dist/icons/wrap-icon.js +2 -3
- package/dist/icons/wrap-icon.js.map +1 -1
- package/dist/index.d.ts +59 -61
- package/dist/index.js +59 -64
- package/dist/index.js.map +1 -1
- package/dist/node_modules/.pnpm/csstype@3.1.2/node_modules/csstype/index.d.ts +3 -4
- package/dist/probe/canonicalize.d.ts +3 -4
- package/dist/probe/canonicalize.js +2 -2
- package/dist/probe/canonicalize.js.map +1 -1
- package/dist/probe/css.d.ts +4 -5
- package/dist/probe/css.js +2 -3
- package/dist/probe/css.js.map +1 -1
- package/dist/probe/index.js +2 -3
- package/dist/props.d.ts +1 -2
- package/dist/provider.d.ts +3 -6
- package/dist/provider.js +2 -3
- package/dist/provider.js.map +1 -1
- package/dist/providers/TrackingProvider.d.ts +1 -3
- package/dist/providers/TrackingProvider.js +3 -4
- package/dist/providers/TrackingProvider.js.map +1 -1
- package/dist/providers/navigation-url.js +2 -2
- package/dist/providers/navigation-url.js.map +1 -1
- package/dist/providers/navigation.types.d.ts +7 -8
- package/dist/providers/navigationAdapter.default.d.ts +1 -3
- package/dist/providers/navigationAdapter.default.js +6 -4
- package/dist/providers/navigationAdapter.default.js.map +1 -1
- package/dist/providers/use-navigation.js +2 -3
- package/dist/providers/use-navigation.js.map +1 -1
- package/dist/shared/form.d.ts +33 -23
- package/dist/shared/index.d.ts +4 -5
- package/dist/tokens/all-tokens.d.ts +2 -4
- package/dist/tokens/all-tokens.js +2 -3
- package/dist/tokens/all-tokens.js.map +1 -1
- package/dist/tokens/base.d.ts +1 -3
- package/dist/tokens/base.js +38 -2
- package/dist/tokens/base.js.map +1 -1
- package/dist/tokens/color-seed.d.ts +2 -3
- package/dist/tokens/color-seed.js +2 -3
- package/dist/tokens/color-seed.js.map +1 -1
- package/dist/tokens/color-theme.d.ts +5 -7
- package/dist/tokens/color-theme.js +5 -6
- package/dist/tokens/color-theme.js.map +1 -1
- package/dist/tokens/colors.d.ts +3 -5
- package/dist/tokens/colors.js +2 -3
- package/dist/tokens/colors.js.map +1 -1
- package/dist/tokens/index.d.ts +2 -1
- package/dist/tokens/layout.d.ts +1 -3
- package/dist/tokens/layout.js +7 -2
- package/dist/tokens/layout.js.map +1 -1
- package/dist/tokens/lazy-styles.js +2 -2
- package/dist/tokens/lazy-styles.js.map +1 -1
- package/dist/tokens/legacy-color.d.ts +3 -4
- package/dist/tokens/legacy-color.js +2 -3
- package/dist/tokens/legacy-color.js.map +1 -1
- package/dist/tokens/palette-config.d.ts +19 -20
- package/dist/tokens/palette-config.js +9 -24
- package/dist/tokens/palette-config.js.map +1 -1
- package/dist/tokens/palette.d.ts +6 -8
- package/dist/tokens/palette.js +73 -89
- package/dist/tokens/palette.js.map +1 -1
- package/dist/tokens/resolve.d.ts +8 -9
- package/dist/tokens/resolve.js +5 -6
- package/dist/tokens/resolve.js.map +1 -1
- package/dist/tokens/shadows.d.ts +1 -3
- package/dist/tokens/shadows.js +6 -2
- package/dist/tokens/shadows.js.map +1 -1
- package/dist/tokens/sizes.d.ts +5 -7
- package/dist/tokens/sizes.js +2 -2
- package/dist/tokens/sizes.js.map +1 -1
- package/dist/tokens/spacing.d.ts +1 -3
- package/dist/tokens/spacing.js +2 -2
- package/dist/tokens/spacing.js.map +1 -1
- package/dist/tokens/typography.d.ts +2 -3
- package/dist/tokens/typography.js +2 -2
- package/dist/tokens/typography.js.map +1 -1
- package/dist/utils/ResizeSensor.d.ts +1 -2
- package/dist/utils/ResizeSensor.js +11 -9
- package/dist/utils/ResizeSensor.js.map +1 -1
- package/dist/utils/colors.js +3 -4
- package/dist/utils/colors.js.map +1 -1
- package/dist/utils/dotize.js +2 -2
- package/dist/utils/dotize.js.map +1 -1
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/is-dev-env.js +2 -2
- package/dist/utils/is-dev-env.js.map +1 -1
- package/dist/utils/modules.d.ts +1 -2
- package/dist/utils/modules.js +2 -2
- package/dist/utils/modules.js.map +1 -1
- package/dist/utils/promise.d.ts +1 -2
- package/dist/utils/promise.js +2 -2
- package/dist/utils/promise.js.map +1 -1
- package/dist/utils/raf.d.ts +1 -2
- package/dist/utils/raf.js +2 -2
- package/dist/utils/raf.js.map +1 -1
- package/dist/utils/random.d.ts +2 -3
- package/dist/utils/random.js +3 -4
- package/dist/utils/random.js.map +1 -1
- package/dist/utils/range.d.ts +1 -2
- package/dist/utils/range.js +2 -2
- package/dist/utils/range.js.map +1 -1
- package/dist/utils/react/RenderCache.d.ts +2 -9
- package/dist/utils/react/RenderCache.js +2 -3
- package/dist/utils/react/RenderCache.js.map +1 -1
- package/dist/utils/react/Slots.d.ts +3 -6
- package/dist/utils/react/Slots.js +2 -3
- package/dist/utils/react/Slots.js.map +1 -1
- package/dist/utils/react/chain.d.ts +1 -2
- package/dist/utils/react/chain.js +2 -2
- package/dist/utils/react/chain.js.map +1 -1
- package/dist/utils/react/disabledProps.d.ts +4 -10
- package/dist/utils/react/disabledProps.js +3 -3
- package/dist/utils/react/disabledProps.js.map +1 -1
- package/dist/utils/react/forwardRefWithGenerics.d.ts +2 -5
- package/dist/utils/react/forwardRefWithGenerics.js +2 -2
- package/dist/utils/react/forwardRefWithGenerics.js.map +1 -1
- package/dist/utils/react/index.d.ts +1 -1
- package/dist/utils/react/index.js +2 -3
- package/dist/utils/react/interactions.js +2 -3
- package/dist/utils/react/interactions.js.map +1 -1
- package/dist/utils/react/isTextOnly.d.ts +1 -2
- package/dist/utils/react/isTextOnly.js +2 -3
- package/dist/utils/react/isTextOnly.js.map +1 -1
- package/dist/utils/react/mapProps.js +2 -2
- package/dist/utils/react/mapProps.js.map +1 -1
- package/dist/utils/react/mergeProps.d.ts +2 -3
- package/dist/utils/react/mergeProps.js +2 -3
- package/dist/utils/react/mergeProps.js.map +1 -1
- package/dist/utils/react/nullableValue.d.ts +1 -3
- package/dist/utils/react/nullableValue.js +3 -3
- package/dist/utils/react/nullableValue.js.map +1 -1
- package/dist/utils/react/overlayKeyPropagation.js +3 -3
- package/dist/utils/react/overlayKeyPropagation.js.map +1 -1
- package/dist/utils/react/programmaticFocus.js +2 -2
- package/dist/utils/react/programmaticFocus.js.map +1 -1
- package/dist/utils/react/resolveIcon.d.ts +4 -6
- package/dist/utils/react/resolveIcon.js +2 -2
- package/dist/utils/react/resolveIcon.js.map +1 -1
- package/dist/utils/react/sharedStore.js +2 -3
- package/dist/utils/react/sharedStore.js.map +1 -1
- package/dist/utils/react/useBufferedValue.d.ts +3 -4
- package/dist/utils/react/useBufferedValue.js +2 -3
- package/dist/utils/react/useBufferedValue.js.map +1 -1
- package/dist/utils/react/useCombinedRefs.d.ts +2 -4
- package/dist/utils/react/useCombinedRefs.js +2 -3
- package/dist/utils/react/useCombinedRefs.js.map +1 -1
- package/dist/utils/react/useControlledFocusVisible.d.ts +2 -3
- package/dist/utils/react/useControlledFocusVisible.js +2 -3
- package/dist/utils/react/useControlledFocusVisible.js.map +1 -1
- package/dist/utils/react/useEventBus.d.ts +6 -10
- package/dist/utils/react/useEventBus.js +2 -3
- package/dist/utils/react/useEventBus.js.map +1 -1
- package/dist/utils/react/useId.js +3 -4
- package/dist/utils/react/useId.js.map +1 -1
- package/dist/utils/react/useIsDarwin.js +2 -3
- package/dist/utils/react/useIsDarwin.js.map +1 -1
- package/dist/utils/react/useKeySymbols.js +2 -3
- package/dist/utils/react/useKeySymbols.js.map +1 -1
- package/dist/utils/react/useLayoutEffect.d.ts +0 -1
- package/dist/utils/react/useLayoutEffect.js +2 -3
- package/dist/utils/react/useLayoutEffect.js.map +1 -1
- package/dist/utils/react/useLocalStorage.d.ts +2 -2
- package/dist/utils/react/useLocalStorage.js +2 -3
- package/dist/utils/react/useLocalStorage.js.map +1 -1
- package/dist/utils/react/useMergeStyles.d.ts +1 -3
- package/dist/utils/react/useMergeStyles.js +4 -4
- package/dist/utils/react/useMergeStyles.js.map +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js +2 -3
- package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
- package/dist/utils/react/usePopoverSync.d.ts +3 -14
- package/dist/utils/react/usePopoverSync.js +2 -3
- package/dist/utils/react/usePopoverSync.js.map +1 -1
- package/dist/utils/react/useQaProps.d.ts +2 -2
- package/dist/utils/react/useQaProps.js +6 -4
- package/dist/utils/react/useQaProps.js.map +1 -1
- package/dist/utils/react/useScheme.d.ts +6 -7
- package/dist/utils/react/useScheme.js +2 -3
- package/dist/utils/react/useScheme.js.map +1 -1
- package/dist/utils/react/useViewportSize.d.ts +3 -3
- package/dist/utils/react/useViewportSize.js +2 -3
- package/dist/utils/react/useViewportSize.js.map +1 -1
- package/dist/utils/react/wrapNodeIfPlain.d.ts +1 -3
- package/dist/utils/react/wrapNodeIfPlain.js +2 -3
- package/dist/utils/react/wrapNodeIfPlain.js.map +1 -1
- package/dist/utils/selection.d.ts +1 -3
- package/dist/utils/selection.js +2 -2
- package/dist/utils/selection.js.map +1 -1
- package/dist/utils/styles.d.ts +1 -3
- package/dist/utils/styles.js +2 -3
- package/dist/utils/styles.js.map +1 -1
- package/dist/utils/tree.d.ts +1 -2
- package/dist/utils/tree.js +2 -2
- package/dist/utils/tree.js.map +1 -1
- package/dist/utils/warnings.d.ts +1 -2
- package/dist/utils/warnings.js +2 -3
- package/dist/utils/warnings.js.map +1 -1
- package/dist/version.d.ts +1 -0
- package/dist/version.js +4 -4
- package/dist/version.js.map +1 -1
- package/docs/CreateComponent.md +1 -1
- package/docs/FieldProperties.md +11 -7
- package/docs/Theming.md +1 -1
- package/docs/Usage.md +4 -2
- package/docs/components/content/Alert.md +3 -2
- package/docs/components/content/Layout.md +47 -0
- package/docs/components/content/TextItem.md +2 -2
- package/docs/components/fields/ComboBox.md +1 -2
- package/docs/components/fields/FilterListBox.md +3 -3
- package/docs/components/fields/FilterPicker.md +8 -12
- package/docs/components/fields/ListBox.md +11 -10
- package/docs/components/fields/NumberInput.md +1 -2
- package/docs/components/fields/Picker.md +10 -14
- package/docs/components/fields/Select.md +11 -9
- package/docs/components/fields/Switch.md +4 -5
- package/docs/components/overlays/AlertDialog.md +1 -1
- package/docs/components/overlays/Dialog.md +6 -6
- package/docs/components/overlays/DialogContainer.md +20 -1
- package/docs/components/overlays/DialogTrigger.md +5 -3
- package/docs/tasty/README.md +4 -1
- package/docs/tasty/adoption.md +25 -17
- package/docs/tasty/ai-agents.md +42 -34
- package/docs/tasty/comparison.md +9 -8
- package/docs/tasty/configuration.md +187 -69
- package/docs/tasty/debug.md +3 -2
- package/docs/tasty/design-system.md +117 -15
- package/docs/tasty/dsl.md +211 -117
- package/docs/tasty/getting-started.md +81 -24
- package/docs/tasty/injector.md +41 -40
- package/docs/tasty/methodology.md +46 -21
- package/docs/tasty/migration-v3.md +3 -3
- package/docs/tasty/pipeline.md +22 -19
- package/docs/tasty/plugins.md +21 -41
- package/docs/tasty/react-api.md +72 -9
- package/docs/tasty/runtime-benchmarks.md +11 -11
- package/docs/tasty/ssr.md +92 -66
- package/docs/tasty/styles.md +37 -17
- package/docs/tasty/tasty-static.md +175 -57
- package/package.json +18 -16
- package/tasty.config.ts +8 -0
- package/dist/i18n/useI18n.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabButton.js","names":["Children","cloneElement","isValidElement","ReactElement","ReactNode","useEffect","useMemo","useRef","useState","useDraggableItem","useFocus","useFocusVisible","useHover","useTab","useEvent","useI18n","CloseIcon","MoreIcon","mergeProps","CubeItemActionProps","ItemAction","ItemActionsWrapper","CubeMenuProps","Menu","MenuTrigger","useContextMenu","CubeInlineInputRef","InlineInput","createMockDragState","useBoardDragActive","POPOVER_PLACEMENT_BY_TABS_PLACEMENT","TabContainer","TabElement","TabDropIndicator","useTabsContext","ParsedTab","RADIO_SIZE_MAP","TabPlacement","Key","Node","KeyboardEvent","MouseEvent","PointerEvent","DraggableCollectionState","ACTIONS_EVENT_HANDLERS","onClick","e","stopPropagation","onPointerDown","onPointerUp","onMouseDown","onMouseUp","onKeyDown","key","INLINE_INPUT_STYLES","cursor","const","SPRING_LOAD_DELAY","MenuItemLikeProps","children","isDisabled","theme","getRawKey","element","keyStr","String","startsWith","slice","processMenuItems","effectiveIsEditable","isDeletable","result","forEach","child","push","childKey","childProps","props","isMenuEmpty","menu","undefined","toArray","length","TabButtonProps","item","tabData","isLastTab","hasPanel","disableTooltip","tooltip","title","scrollTabIntoStrip","tab","HTMLElement","placement","strip","closest","isVertical","stripRect","getBoundingClientRect","tabRect","start","top","left","end","bottom","right","delta","Math","min","scrollTop","scrollLeft","STRIP_INTERACTION_EVENTS","TabButton","t0","$","_c","t1","t","t2","editTabTitleLabel","state","type","size","autoHideActions","parentAutoHideActions","isEditable","parentIsEditable","parentMenu","menuTriggerProps","parentMenuTriggerProps","menuProps","parentMenuProps","contextMenu","parentContextMenu","onAction","parentOnAction","onDelete","dragState","dropState","editingKey","startEditing","submitEditing","cancelEditing","ref","containerRef","inlineInputRef","t3","tabProps","ariaTabProps","tabPropsWithoutControls","_ariaControls","t4","isDraggable","collection","selectionManager","mockDragState","t5","dragResult","t6","dragProps","effectiveDragProps","t7","isDragging","isMenuOpen","setIsMenuOpen","t8","Symbol","for","hoverProps","isHovered","isFocused","setIsFocused","t9","onFocusChange","focusProps","isFocusVisible","suppressFocusVisible","setSuppressFocusVisible","effectiveFocusVisible","isActive","selectedKey","t10","disabledKeys","has","isEditing","isBoardDragActive","isDropPending","setIsDropPending","springLoadTimerRef","t11","current","clearTimeout","clearSpringLoad","t12","window","setTimeout","setSelectedKey","handleSpringLoadEnter","t13","t14","effectiveMenu","t15","effectiveMenuTriggerProps","t16","effectiveMenuProps","effectiveContextMenu","effectiveType","contextMenuEnabled","contextMenuOnly","t17","showDeleteButton","t18","processedMenu","itemKeyStr","t19","handleDelete","titleString","t20","handleStartEditing","t21","onTitleChange","newTitle","focus","handleSubmitEditing","t22","handleCancelEditing","t23","editing","handleEditingChange","t24","action","actionStr","normalizedAction","handleMenuAction","t25","menuElement","menuPopoverPlacement","t26","t27","t28","preventDefault","shiftKey","open","handleKeyDown","t29","active","deletable","disabled","hovered","focused","draggable","dragging","mods","t30","keepActiveTabInStrip","t31","t32","scrollIntoView","block","inline","ResizeObserver","bar","observer","stopFollowing","disconnect","type_0","removeEventListener","observe","type_1","addEventListener","capture","passive","t33","menuAction","t34","deleteAction","t35","actions","effectiveSize","itemSize","isFileType","itemShape","effectiveAutoHideActions","itemStyleProps","qa","qaVal","styles","tabTooltip","_title","content","_content","_key","_isDisabled","prerender","_prerender","keepMounted","_keepMounted","_size","_actions","_autoHideActions","_isEditable","_onTitleChange","_menu","_menuTriggerProps","_menuProps","_contextMenu","_onAction","t36","t37","t38","t39","t40","renderTitleDisplay","tabElementTooltip","titleContent","effectiveContainerRef","targetRef","ariaProps","containerMods","t41","dropPosition","t42","t43","t44","showActions","skipActionsWidthTransition","onPointerEnter","onPointerLeave","itemType","t45","rendered","t46","t47"],"sources":["../../../../src/components/navigation/Tabs/TabButton.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n isValidElement,\n ReactElement,\n ReactNode,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n useDraggableItem,\n useFocus,\n useFocusVisible,\n useHover,\n useTab,\n} from 'react-aria';\n\nimport { useEvent } from '../../../_internal/hooks';\nimport { useI18n } from '../../../i18n';\nimport { CloseIcon } from '../../../icons/CloseIcon';\nimport { MoreIcon } from '../../../icons/MoreIcon';\nimport { mergeProps } from '../../../utils/react';\nimport { CubeItemActionProps, ItemAction } from '../../actions/ItemAction';\nimport { ItemActionsWrapper } from '../../actions/ItemActionsWrapper';\nimport { CubeMenuProps, Menu, MenuTrigger } from '../../actions/Menu';\nimport { useContextMenu } from '../../actions/use-context-menu';\nimport {\n CubeInlineInputRef,\n InlineInput,\n} from '../../content/InlineInput/InlineInput';\nimport { createMockDragState } from '../../shared/DraggableCollection';\n\nimport { useBoardDragActive } from './BoardDragActiveProvider';\nimport { POPOVER_PLACEMENT_BY_TABS_PLACEMENT } from './popover-placement';\nimport { TabContainer, TabElement } from './styled';\nimport { TabDropIndicator } from './TabDropIndicator';\nimport { useTabsContext } from './TabsContext';\nimport { ParsedTab, RADIO_SIZE_MAP, TabPlacement } from './types';\n\nimport type { Key, Node } from '@react-types/shared';\nimport type { KeyboardEvent, MouseEvent, PointerEvent } from 'react';\nimport type { DraggableCollectionState } from 'react-stately';\n\n// =============================================================================\n// Event handlers for actions to prevent event propagation to tab button\n// =============================================================================\n\nconst ACTIONS_EVENT_HANDLERS = {\n onClick: (e: MouseEvent) => e.stopPropagation(),\n onPointerDown: (e: PointerEvent) => e.stopPropagation(),\n onPointerUp: (e: PointerEvent) => e.stopPropagation(),\n onMouseDown: (e: MouseEvent) => e.stopPropagation(),\n onMouseUp: (e: MouseEvent) => e.stopPropagation(),\n onKeyDown: (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.stopPropagation();\n }\n },\n};\n\n// Inherit the tab button's pointer cursor — InlineInput's default `cursor: text`\n// hover hint is misleading inside a clickable tab.\nconst INLINE_INPUT_STYLES = { cursor: 'inherit' } as const;\n\n// How long a dragged board widget must hover a tab header before that tab\n// spring-loads (opens). Long enough to avoid accidental switches while crossing\n// tabs, short enough to feel responsive.\nconst SPRING_LOAD_DELAY = 500;\n\n// =============================================================================\n// Menu Processing Utilities\n// =============================================================================\n\ninterface MenuItemLikeProps {\n children?: ReactNode;\n isDisabled?: boolean;\n theme?: string;\n}\n\n/**\n * Extracts the raw key from a React element, stripping the \".$\" prefix\n * that React adds via Children.map/toArray.\n */\nfunction getRawKey(element: ReactElement): string | null {\n if (element.key == null) return null;\n const keyStr = String(element.key);\n return keyStr.startsWith('.$') ? keyStr.slice(2) : keyStr;\n}\n\n/**\n * Process menu items for predefined action keys (rename, delete).\n * Auto-adds labels and disables items when requirements aren't met.\n */\nfunction processMenuItems(\n children: ReactNode,\n effectiveIsEditable: boolean,\n isDeletable: boolean,\n): ReactNode {\n // Use Children.forEach instead of Children.toArray to avoid React prepending\n // \".$\" to element keys, which breaks selectedKeys matching in Menu.\n const result: ReactNode[] = [];\n\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) {\n result.push(child);\n return;\n }\n\n const childKey = getRawKey(child);\n const childProps = child.props as MenuItemLikeProps;\n\n // Handle predefined action keys\n if (childKey === 'rename') {\n result.push(\n cloneElement(child as ReactElement<MenuItemLikeProps>, {\n children: childProps.children ?? 'Rename',\n isDisabled: childProps.isDisabled ?? !effectiveIsEditable,\n }),\n );\n return;\n }\n if (childKey === 'delete') {\n result.push(\n cloneElement(child as ReactElement<MenuItemLikeProps>, {\n children: childProps.children ?? 'Delete',\n theme: childProps.theme ?? 'danger',\n isDisabled: childProps.isDisabled ?? !isDeletable,\n }),\n );\n return;\n }\n\n // Recursively process Menu.Section children\n if (childProps.children && typeof childProps.children !== 'string') {\n result.push(\n cloneElement(child as ReactElement<MenuItemLikeProps>, {\n children: processMenuItems(\n childProps.children,\n effectiveIsEditable,\n isDeletable,\n ),\n }),\n );\n return;\n }\n\n result.push(child);\n });\n\n return result;\n}\n\n/**\n * Check if menu children is empty (null, undefined, or empty fragment)\n */\nfunction isMenuEmpty(menu: ReactNode): boolean {\n if (menu === null || menu === undefined) return true;\n const children = Children.toArray(menu);\n return children.length === 0;\n}\n\n// =============================================================================\n// TabButton Props\n// =============================================================================\n\nexport interface TabButtonProps {\n /** React Aria collection item */\n item: Node<object>;\n /** Parsed tab data */\n tabData: ParsedTab;\n /** Whether this is the last tab (for drop indicator) */\n isLastTab?: boolean;\n /**\n * Whether a tabpanel renders for this tab. Without one, `aria-controls` is\n * dropped: it would name an id nothing on the page has.\n * @default true\n */\n hasPanel?: boolean;\n}\n\n/** The same tooltip, kept mounted but unable to open. */\nfunction disableTooltip(tooltip: ParsedTab['tooltip']): ParsedTab['tooltip'] {\n if (typeof tooltip === 'string') return { title: tooltip, isDisabled: true };\n if (tooltip && typeof tooltip === 'object') {\n return { ...tooltip, isDisabled: true };\n }\n\n return tooltip;\n}\n\n/**\n * Scroll the tab strip, and only the strip, so the tab is fully inside it.\n * Unlike `scrollIntoView` this never scrolls the page: it runs in response to a\n * layout change rather than to the user, so it must not move anything else.\n */\nfunction scrollTabIntoStrip(tab: HTMLElement, placement: TabPlacement) {\n const strip = tab.closest<HTMLElement>('[data-element=\"Scroll\"]');\n\n if (!strip) return;\n\n const isVertical = placement === 'left' || placement === 'right';\n const stripRect = strip.getBoundingClientRect();\n const tabRect = tab.getBoundingClientRect();\n const start = isVertical\n ? tabRect.top - stripRect.top\n : tabRect.left - stripRect.left;\n const end = isVertical\n ? tabRect.bottom - stripRect.bottom\n : tabRect.right - stripRect.right;\n\n // `nearest`: the smallest move that shows the tab, favouring its start when\n // it is longer than the strip.\n const delta = start < 0 ? start : end > 0 ? Math.min(end, start) : 0;\n\n if (!delta) return;\n\n if (isVertical) strip.scrollTop += delta;\n else strip.scrollLeft += delta;\n}\n\n/**\n * Events on the tab bar that mean the user has taken over the strip's scroll\n * position. Listened for on the whole `Bar`, not just the `Scroll` element: the\n * custom scrollbar and the scroll arrows sit outside it.\n */\nconst STRIP_INTERACTION_EVENTS = [\n 'wheel',\n 'pointerdown',\n 'touchstart',\n 'keydown',\n] as const;\n\n// =============================================================================\n// TabButton Component\n// =============================================================================\n\n/**\n * Individual tab button component.\n *\n * Uses TabsContext to access shared props, dramatically reducing prop drilling.\n * Handles:\n * - Tab selection and keyboard navigation\n * - Inline title editing\n * - Menu and context menu\n * - Drag-and-drop reordering\n * - Focus and hover states\n */\nexport function TabButton({\n item,\n tabData,\n isLastTab,\n hasPanel = true,\n}: TabButtonProps) {\n const { t } = useI18n();\n const editTabTitleLabel = t('tabs.editTabTitle', 'Edit tab title');\n\n // Get shared context\n const {\n state,\n type,\n size,\n placement,\n autoHideActions: parentAutoHideActions,\n isEditable: parentIsEditable,\n menu: parentMenu,\n menuTriggerProps: parentMenuTriggerProps,\n menuProps: parentMenuProps,\n contextMenu: parentContextMenu,\n onAction: parentOnAction,\n onDelete,\n dragState,\n dropState,\n editingKey,\n startEditing,\n submitEditing,\n cancelEditing,\n } = useTabsContext();\n\n const ref = useRef<HTMLButtonElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const inlineInputRef = useRef<CubeInlineInputRef>(null);\n const { tabProps: ariaTabProps } = useTab({ key: item.key }, state, ref);\n // React Aria points the selected tab at `<id>-tabpanel-<key>` whether or not\n // a panel renders. Navigation-only tabs have none, so the link would dangle.\n const { 'aria-controls': _ariaControls, ...tabPropsWithoutControls } =\n ariaTabProps;\n const tabProps = hasPanel ? ariaTabProps : tabPropsWithoutControls;\n\n // Drag-and-drop support - only enable when both states are provided\n const isDraggable = !!dragState && !!dropState;\n\n // useDraggableItem must be called unconditionally (Rules of Hooks)\n // When dragState is undefined, we pass a minimal mock state to satisfy the hook\n const mockDragState = useMemo(\n () => createMockDragState(state.collection, state.selectionManager),\n [state.collection, state.selectionManager],\n );\n\n const dragResult = useDraggableItem(\n { key: item.key },\n dragState ?? mockDragState,\n );\n const effectiveDragProps = isDraggable ? dragResult.dragProps : {};\n const isDragging = isDraggable && dragState.isDragging(item.key);\n\n // Controlled state for menu trigger (enables keyboard opening with Shift+F10)\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n\n // Hover, focus, and focus-visible state handling\n const { hoverProps, isHovered } = useHover({});\n const [isFocused, setIsFocused] = useState(false);\n const { focusProps } = useFocus({ onFocusChange: setIsFocused });\n const { isFocusVisible } = useFocusVisible();\n\n // Suppress focus-visible when restoring focus after editing\n const [suppressFocusVisible, setSuppressFocusVisible] = useState(false);\n const effectiveFocusVisible = isFocusVisible && !suppressFocusVisible;\n\n const isActive = state.selectedKey === item.key;\n const isDisabled = state.disabledKeys.has(item.key);\n const isDeletable = !!onDelete;\n const isEditing = editingKey === item.key;\n\n // Spring-load: when a `BoardDragActiveProvider` reports a widget drag,\n // hovering an inactive tab header for a moment opens it, so the user\n // can drop the widget into (or move it between) tabs. This relies on the\n // board's drag not capturing the pointer and its dragged widget being\n // `pointer-events: none` (see `BoardDragActiveProvider`), so the tab header\n // still receives native pointer enter/leave during the drag. `false` outside\n // a provider, so nothing changes.\n const isBoardDragActive = useBoardDragActive();\n const [isDropPending, setIsDropPending] = useState(false);\n const springLoadTimerRef = useRef<number | null>(null);\n\n const clearSpringLoad = useEvent(() => {\n if (springLoadTimerRef.current != null) {\n clearTimeout(springLoadTimerRef.current);\n springLoadTimerRef.current = null;\n }\n setIsDropPending(false);\n });\n\n const handleSpringLoadEnter = useEvent(() => {\n if (!isBoardDragActive || isActive || isDisabled) return;\n if (springLoadTimerRef.current != null) return;\n setIsDropPending(true);\n springLoadTimerRef.current = window.setTimeout(() => {\n springLoadTimerRef.current = null;\n setIsDropPending(false);\n state.setSelectedKey(item.key);\n }, SPRING_LOAD_DELAY);\n });\n\n // Cancel any pending spring-load when the drag ends (or the tab unmounts), so\n // a stale timer can never switch tabs after the drop.\n useEffect(() => {\n if (!isBoardDragActive) clearSpringLoad();\n return clearSpringLoad;\n }, [isBoardDragActive, clearSpringLoad]);\n\n // Compute effective values - Tab-level overrides Tabs-level.\n // Icon-only tabs (no `title`) have nothing to rename, so editing is disabled.\n const effectiveIsEditable =\n (tabData.isEditable ?? parentIsEditable ?? false) && tabData.title != null;\n const effectiveMenu =\n tabData.menu === null ? null : tabData.menu ?? parentMenu;\n const effectiveMenuTriggerProps: Partial<CubeItemActionProps> = {\n ...parentMenuTriggerProps,\n ...tabData.menuTriggerProps,\n };\n const effectiveMenuProps: Partial<CubeMenuProps<object>> = {\n ...parentMenuProps,\n ...tabData.menuProps,\n };\n const effectiveContextMenu =\n tabData.contextMenu ?? parentContextMenu ?? false;\n const effectiveType = type ?? 'default';\n\n const contextMenuEnabled =\n effectiveContextMenu === true || effectiveContextMenu === 'context-only';\n const contextMenuOnly = effectiveContextMenu === 'context-only';\n\n // Inline close when no menu, or context-only (no overflow trigger)\n const showDeleteButton =\n isDeletable && (isMenuEmpty(effectiveMenu) || contextMenuOnly);\n\n // Process menu items for auto-labels and disabled states\n const processedMenu =\n effectiveMenu && !isMenuEmpty(effectiveMenu)\n ? processMenuItems(effectiveMenu, effectiveIsEditable, isDeletable)\n : null;\n\n const itemKeyStr = String(item.key);\n\n const handleDelete = useEvent(() => {\n onDelete?.(itemKeyStr);\n });\n\n const titleString =\n typeof tabData.title === 'string' ? tabData.title : itemKeyStr;\n\n const handleStartEditing = useEvent(() => {\n if (!effectiveIsEditable || isDisabled) return;\n startEditing(itemKeyStr, titleString);\n });\n\n const handleSubmitEditing = useEvent((newTitle: string) => {\n submitEditing(itemKeyStr, newTitle, tabData.onTitleChange);\n // Suppress focus-visible and restore focus to the tab button after editing\n setSuppressFocusVisible(true);\n ref.current?.focus();\n });\n\n const handleCancelEditing = useEvent(() => {\n cancelEditing();\n // Suppress focus-visible and restore focus to the tab button after editing\n setSuppressFocusVisible(true);\n ref.current?.focus();\n });\n\n const handleEditingChange = useEvent((editing: boolean) => {\n if (editing && !isEditing) {\n handleStartEditing();\n }\n });\n\n // Handle menu actions - predefined actions first, then callbacks\n const handleMenuAction = useEvent((action: Key) => {\n // Strip the \".$\" prefix that React adds via Children.toArray/map\n const actionStr = String(action);\n const normalizedAction = actionStr.startsWith('.$')\n ? actionStr.slice(2)\n : actionStr;\n\n // Handle predefined actions first (only if requirements are met)\n // The rename input claims focus through its own `<FocusScope autoFocus>`,\n // and the closing Menu no longer takes focus back to its trigger once an\n // action has moved it (see `MenuTrigger`), so no refocus pass is needed.\n if (normalizedAction === 'rename' && effectiveIsEditable) {\n inlineInputRef.current?.startEditing();\n }\n if (normalizedAction === 'delete' && isDeletable) {\n onDelete?.(itemKeyStr);\n }\n // Call Tab-level onAction first (with normalized action)\n tabData.onAction?.(normalizedAction);\n // Then call Tabs-level onAction with tab key (with normalized action)\n parentOnAction?.(normalizedAction, itemKeyStr);\n });\n\n const menuElement = processedMenu ? (\n <Menu {...effectiveMenuProps} onAction={handleMenuAction}>\n {processedMenu}\n </Menu>\n ) : null;\n\n // Menus follow the same axis-aware popover rule as TabPicker so they always\n // open toward the panel area instead of past the bar's outer edge.\n const menuPopoverPlacement = POPOVER_PLACEMENT_BY_TABS_PLACEMENT[placement];\n\n const contextMenu = useContextMenu<HTMLDivElement, CubeMenuProps<object>>(\n Menu,\n { placement: menuPopoverPlacement },\n {\n ...effectiveMenuProps,\n onAction: handleMenuAction,\n children: processedMenu,\n },\n );\n\n // Keyboard handler for accessibility shortcuts (WAI-ARIA Tabs Pattern)\n const handleKeyDown = useEvent((e: KeyboardEvent) => {\n // Reset focus-visible suppression on any keyboard interaction\n if (suppressFocusVisible) {\n setSuppressFocusVisible(false);\n }\n\n // F2 to start editing (standard rename shortcut)\n if (e.key === 'F2' && effectiveIsEditable && !isDisabled) {\n e.preventDefault();\n e.stopPropagation();\n inlineInputRef.current?.startEditing();\n }\n\n // Shift+F10 opens the menu (standard context menu shortcut)\n if (e.key === 'F10' && e.shiftKey && processedMenu) {\n e.preventDefault();\n e.stopPropagation();\n if (contextMenuOnly) {\n contextMenu.open();\n } else {\n setIsMenuOpen(true);\n }\n }\n\n // Delete key for direct tab deletion (ARIA Tabs pattern optional feature)\n // Skip when editing to allow normal text editing operations\n if (\n (e.key === 'Delete' || e.key === 'Backspace') &&\n isDeletable &&\n !isEditing\n ) {\n e.preventDefault();\n onDelete?.(itemKeyStr);\n }\n });\n\n const mods = {\n type: effectiveType,\n placement,\n active: isActive,\n deletable: isDeletable,\n disabled: isDisabled,\n editing: isEditing,\n hovered: isHovered,\n focused: isFocused,\n 'focus-visible': effectiveFocusVisible,\n draggable: isDraggable,\n dragging: isDragging,\n 'drop-pending': isDropPending,\n };\n\n const keepActiveTabInStrip = useEvent(() => {\n if (ref.current) scrollTabIntoStrip(ref.current, placement);\n });\n\n // Scroll the active tab into view, and keep it there while it settles. The\n // mount commit lays a tab out before its actions run is measured, so it grows\n // by the run's width a frame later: a tab scrolled into view at its first\n // size can end up past the strip's edge. So the active tab's own size changes\n // re-scroll the strip, until the user first interacts with the tab bar\n // (wheel, pointer, touch or a key). From then on the strip stays where they\n // left it, even if the tab resizes, until a tab becomes active again. Keyed\n // off interaction events, not `scroll`: the re-scroll fires `scroll` too.\n useEffect(() => {\n const tab = ref.current;\n\n if (!tab || !isActive) return;\n\n tab.scrollIntoView?.({ block: 'nearest', inline: 'nearest' });\n\n if (typeof ResizeObserver === 'undefined') return;\n\n const bar = tab.closest<HTMLElement>('[data-element=\"Bar\"]');\n const observer = new ResizeObserver(keepActiveTabInStrip);\n const stopFollowing = () => {\n observer.disconnect();\n\n for (const type of STRIP_INTERACTION_EVENTS) {\n bar?.removeEventListener(type, stopFollowing, true);\n }\n };\n\n observer.observe(tab);\n\n for (const type of STRIP_INTERACTION_EVENTS) {\n // Capture: a tab's own handlers may stop these from bubbling.\n bar?.addEventListener(type, stopFollowing, {\n capture: true,\n passive: true,\n });\n }\n\n return stopFollowing;\n }, [isActive, keepActiveTabInStrip]);\n\n // Overflow trigger (hidden in context-only mode)\n const menuAction =\n menuElement && !contextMenuOnly ? (\n <MenuTrigger\n isOpen={isMenuOpen}\n placement={menuPopoverPlacement}\n onOpenChange={setIsMenuOpen}\n >\n <ItemAction\n tabIndex={-1}\n icon={<MoreIcon />}\n {...effectiveMenuTriggerProps}\n />\n {menuElement}\n </MenuTrigger>\n ) : null;\n\n // Build delete button (only shown when no menu)\n const deleteAction = showDeleteButton ? (\n <ItemAction\n tabIndex={-1}\n icon={<CloseIcon />}\n tooltip={t('tabs.close', 'Close')}\n onPress={handleDelete}\n />\n ) : null;\n\n // Order: custom actions → menu trigger → delete button\n const actions =\n tabData.actions || menuAction || deleteAction ? (\n <>\n {tabData.actions}\n {menuAction}\n {deleteAction}\n </>\n ) : undefined;\n\n // Determine effective size\n const effectiveSize = tabData.size ?? size ?? 'medium';\n const itemSize =\n effectiveType === 'radio'\n ? RADIO_SIZE_MAP[effectiveSize === 'large' ? 'large' : 'medium']\n : effectiveSize;\n\n // Determine Item type prop\n const itemType = 'clear';\n\n // Determine shape - file type uses sharp edges\n const isFileType = effectiveType === 'file';\n const itemShape = isFileType ? 'sharp' : undefined;\n\n // Determine autoHideActions - tab-level overrides parent-level\n const effectiveAutoHideActions =\n tabData.autoHideActions ?? parentAutoHideActions;\n\n // Extract tab-specific props and pass through the rest (style props) to the Item\n const {\n title: _title,\n content: _content,\n key: _key,\n isDisabled: _isDisabled,\n prerender: _prerender,\n keepMounted: _keepMounted,\n size: _size,\n actions: _actions,\n autoHideActions: _autoHideActions,\n isEditable: _isEditable,\n onTitleChange: _onTitleChange,\n menu: _menu,\n menuTriggerProps: _menuTriggerProps,\n menuProps: _menuProps,\n contextMenu: _contextMenu,\n onAction: _onAction,\n tooltip: tabTooltip,\n qa,\n qaVal,\n styles,\n ...itemStyleProps\n } = tabData;\n\n // Render title with editing support if editable\n // Override InlineInput's default `cursor: text` hover hint — in Tabs the\n // title sits inside a clickable tab, so a text caret cursor is misleading.\n //\n // When the title is a plain string we let InlineInput render it directly,\n // which lets the optimistic display kick in (avoids flicker if the parent's\n // `onTitleChange` updates the source asynchronously, e.g. inside a RAF).\n // For ReactNode titles (icons, badges, ...), preserve the original node.\n //\n // For editable tabs with a string title, route the tab's `tooltip` prop\n // through InlineInput so it owns the truncation + tooltip behaviour (and we\n // pass `tooltip={false}` to `TabElement` below to avoid double tooltips).\n // InlineInput shows no tooltip over a custom display, so a ReactNode title\n // keeps its tooltip on `TabElement`. It is disabled rather than dropped while\n // the title is edited: dropping it would unwrap the tab, remounting it just\n // as editing starts.\n const renderTitleDisplay =\n typeof tabData.title === 'string' ? undefined : () => tabData.title;\n const tabElementTooltip = !effectiveIsEditable\n ? tabTooltip\n : !renderTitleDisplay\n ? false\n : isEditing\n ? disableTooltip(tabTooltip)\n : tabTooltip;\n const titleContent = effectiveIsEditable ? (\n <InlineInput\n ref={inlineInputRef}\n value={titleString}\n isEditing={isEditing}\n isDisabled={isDisabled}\n keyboardActivation={false}\n aria-label={editTabTitleLabel}\n styles={INLINE_INPUT_STYLES}\n renderDisplay={renderTitleDisplay}\n tooltip={tabTooltip ?? true}\n onEditingChange={handleEditingChange}\n onSubmit={handleSubmitEditing}\n onCancel={handleCancelEditing}\n />\n ) : (\n tabData.title\n );\n\n // Use the hook's targetRef when context menu is enabled\n const effectiveContainerRef =\n contextMenuEnabled && processedMenu ? contextMenu.targetRef : containerRef;\n\n // ARIA: indicate popup menu presence\n const ariaProps = processedMenu ? { 'aria-haspopup': 'menu' as const } : {};\n\n // Mods for TabContainer\n const containerMods = {\n ...mods,\n 'auto-hide-actions': effectiveAutoHideActions,\n };\n\n return (\n <TabContainer\n ref={effectiveContainerRef}\n data-size={itemSize}\n mods={containerMods}\n {...effectiveDragProps}\n >\n {/* Drop indicator before this tab */}\n {isDraggable && dropState && (\n <TabDropIndicator\n target={{ type: 'item', key: item.key, dropPosition: 'before' }}\n dropState={dropState}\n position=\"before\"\n />\n )}\n <ItemActionsWrapper\n preserveActionsSpace\n // The active tab keeps its actions on show. Everywhere else the wrapper\n // reveals them on hover or focus, which is the same set of triggers the\n // hand-rolled run used, minus the `active` case it had to spell out in\n // CSS because it had no way to ask for it.\n autoHideActions={effectiveAutoHideActions && !isActive}\n type={itemType}\n theme=\"default\"\n size={itemSize}\n isDisabled={isDisabled}\n mods={mods}\n actions={actions}\n // The container carries the drag handlers, so a press on an action would\n // start a drag if it were allowed to reach it.\n actionsProps={ACTIONS_EVENT_HANDLERS}\n >\n {({ showActions, skipActionsWidthTransition }) => (\n <TabElement\n insideWrapper\n preserveActionsSpace\n showActions={showActions}\n skipActionsWidthTransition={skipActionsWidthTransition}\n autoHideActions={effectiveAutoHideActions}\n as=\"button\"\n {...mergeProps(tabProps, hoverProps, focusProps, {\n onKeyDown: handleKeyDown,\n onPointerEnter: handleSpringLoadEnter,\n onPointerLeave: clearSpringLoad,\n })}\n {...ariaProps}\n {...itemStyleProps}\n ref={ref}\n qa={qa ?? `Tab-${String(item.key)}`}\n qaVal={qaVal}\n styles={styles}\n mods={mods}\n isSelected={isActive}\n isDisabled={isDisabled}\n size={itemSize}\n type={itemType}\n shape={itemShape}\n actions={actions ? true : undefined}\n tooltip={tabElementTooltip}\n >\n {titleContent}\n </TabElement>\n )}\n </ItemActionsWrapper>\n {contextMenuEnabled && processedMenu && contextMenu.rendered}\n {/* Drop indicator after the last tab */}\n {isDraggable && dropState && isLastTab && (\n <TabDropIndicator\n target={{ type: 'item', key: item.key, dropPosition: 'after' }}\n dropState={dropState}\n position=\"after\"\n />\n )}\n </TabContainer>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TabButton.js","names":["Children","cloneElement","isValidElement","ReactElement","ReactNode","useEffect","useMemo","useRef","useState","useDraggableItem","useFocus","useFocusVisible","useHover","useTab","useEvent","useI18n","CloseIcon","MoreIcon","mergeProps","CubeItemActionProps","ItemAction","ItemActionsWrapper","CubeMenuProps","Menu","MenuTrigger","useContextMenu","CubeInlineInputRef","InlineInput","createMockDragState","useBoardDragActive","POPOVER_PLACEMENT_BY_TABS_PLACEMENT","TabContainer","TabElement","TabDropIndicator","useTabsContext","ParsedTab","RADIO_SIZE_MAP","TabPlacement","Key","Node","KeyboardEvent","MouseEvent","PointerEvent","DraggableCollectionState","ACTIONS_EVENT_HANDLERS","onClick","e","stopPropagation","onPointerDown","onPointerUp","onMouseDown","onMouseUp","onKeyDown","key","INLINE_INPUT_STYLES","cursor","const","SPRING_LOAD_DELAY","MenuItemLikeProps","children","isDisabled","theme","getRawKey","element","keyStr","String","startsWith","slice","processMenuItems","effectiveIsEditable","isDeletable","result","forEach","child","push","childKey","childProps","props","isMenuEmpty","menu","undefined","toArray","length","TabButtonProps","item","tabData","isLastTab","hasPanel","disableTooltip","tooltip","title","scrollTabIntoStrip","tab","HTMLElement","placement","strip","closest","isVertical","stripRect","getBoundingClientRect","tabRect","start","top","left","end","bottom","right","delta","Math","min","scrollTop","scrollLeft","STRIP_INTERACTION_EVENTS","TabButton","t0","$","_c","t1","t","t2","editTabTitleLabel","state","type","size","autoHideActions","parentAutoHideActions","isEditable","parentIsEditable","parentMenu","menuTriggerProps","parentMenuTriggerProps","menuProps","parentMenuProps","contextMenu","parentContextMenu","onAction","parentOnAction","onDelete","dragState","dropState","editingKey","startEditing","submitEditing","cancelEditing","ref","containerRef","inlineInputRef","t3","tabProps","ariaTabProps","tabPropsWithoutControls","_ariaControls","t4","isDraggable","collection","selectionManager","mockDragState","t5","dragResult","t6","dragProps","effectiveDragProps","t7","isDragging","isMenuOpen","setIsMenuOpen","t8","Symbol","for","hoverProps","isHovered","isFocused","setIsFocused","t9","onFocusChange","focusProps","isFocusVisible","suppressFocusVisible","setSuppressFocusVisible","effectiveFocusVisible","isActive","selectedKey","t10","disabledKeys","has","isEditing","isBoardDragActive","isDropPending","setIsDropPending","springLoadTimerRef","t11","current","clearTimeout","clearSpringLoad","t12","window","setTimeout","setSelectedKey","handleSpringLoadEnter","t13","t14","effectiveMenu","t15","effectiveMenuTriggerProps","t16","effectiveMenuProps","effectiveContextMenu","effectiveType","contextMenuEnabled","contextMenuOnly","t17","showDeleteButton","t18","processedMenu","itemKeyStr","t19","handleDelete","titleString","t20","handleStartEditing","t21","onTitleChange","newTitle","focus","handleSubmitEditing","t22","handleCancelEditing","t23","editing","handleEditingChange","t24","action","actionStr","normalizedAction","handleMenuAction","t25","menuElement","menuPopoverPlacement","t26","t27","t28","preventDefault","shiftKey","open","handleKeyDown","t29","active","deletable","disabled","hovered","focused","draggable","dragging","mods","t30","keepActiveTabInStrip","t31","t32","scrollIntoView","block","inline","ResizeObserver","bar","observer","stopFollowing","disconnect","type_0","removeEventListener","observe","type_1","addEventListener","capture","passive","t33","menuAction","t34","deleteAction","t35","actions","effectiveSize","itemSize","isFileType","itemShape","effectiveAutoHideActions","itemStyleProps","qa","qaVal","styles","tabTooltip","_title","content","_content","_key","_isDisabled","prerender","_prerender","keepMounted","_keepMounted","_size","_actions","_autoHideActions","_isEditable","_onTitleChange","_menu","_menuTriggerProps","_menuProps","_contextMenu","_onAction","t36","t37","t38","t39","t40","renderTitleDisplay","tabElementTooltip","titleContent","effectiveContainerRef","targetRef","ariaProps","containerMods","t41","dropPosition","t42","t43","t44","showActions","skipActionsWidthTransition","onPointerEnter","onPointerLeave","itemType","t45","rendered","t46","t47","_c","Menu","MenuTrigger","mergeProps"],"sources":["../../../../src/components/navigation/Tabs/TabButton.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n isValidElement,\n ReactElement,\n ReactNode,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n useDraggableItem,\n useFocus,\n useFocusVisible,\n useHover,\n useTab,\n} from 'react-aria';\n\nimport { useEvent } from '../../../_internal/hooks';\nimport { useI18n } from '../../../i18n';\nimport { CloseIcon } from '../../../icons/CloseIcon';\nimport { MoreIcon } from '../../../icons/MoreIcon';\nimport { mergeProps } from '../../../utils/react';\nimport { CubeItemActionProps, ItemAction } from '../../actions/ItemAction';\nimport { ItemActionsWrapper } from '../../actions/ItemActionsWrapper';\nimport { CubeMenuProps, Menu, MenuTrigger } from '../../actions/Menu';\nimport { useContextMenu } from '../../actions/use-context-menu';\nimport {\n CubeInlineInputRef,\n InlineInput,\n} from '../../content/InlineInput/InlineInput';\nimport { createMockDragState } from '../../shared/DraggableCollection';\n\nimport { useBoardDragActive } from './BoardDragActiveProvider';\nimport { POPOVER_PLACEMENT_BY_TABS_PLACEMENT } from './popover-placement';\nimport { TabContainer, TabElement } from './styled';\nimport { TabDropIndicator } from './TabDropIndicator';\nimport { useTabsContext } from './TabsContext';\nimport { ParsedTab, RADIO_SIZE_MAP, TabPlacement } from './types';\n\nimport type { Key, Node } from '@react-types/shared';\nimport type { KeyboardEvent, MouseEvent, PointerEvent } from 'react';\nimport type { DraggableCollectionState } from 'react-stately';\n\n// =============================================================================\n// Event handlers for actions to prevent event propagation to tab button\n// =============================================================================\n\nconst ACTIONS_EVENT_HANDLERS = {\n onClick: (e: MouseEvent) => e.stopPropagation(),\n onPointerDown: (e: PointerEvent) => e.stopPropagation(),\n onPointerUp: (e: PointerEvent) => e.stopPropagation(),\n onMouseDown: (e: MouseEvent) => e.stopPropagation(),\n onMouseUp: (e: MouseEvent) => e.stopPropagation(),\n onKeyDown: (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.stopPropagation();\n }\n },\n};\n\n// Inherit the tab button's pointer cursor — InlineInput's default `cursor: text`\n// hover hint is misleading inside a clickable tab.\nconst INLINE_INPUT_STYLES = { cursor: 'inherit' } as const;\n\n// How long a dragged board widget must hover a tab header before that tab\n// spring-loads (opens). Long enough to avoid accidental switches while crossing\n// tabs, short enough to feel responsive.\nconst SPRING_LOAD_DELAY = 500;\n\n// =============================================================================\n// Menu Processing Utilities\n// =============================================================================\n\ninterface MenuItemLikeProps {\n children?: ReactNode;\n isDisabled?: boolean;\n theme?: string;\n}\n\n/**\n * Extracts the raw key from a React element, stripping the \".$\" prefix\n * that React adds via Children.map/toArray.\n */\nfunction getRawKey(element: ReactElement): string | null {\n if (element.key == null) return null;\n const keyStr = String(element.key);\n return keyStr.startsWith('.$') ? keyStr.slice(2) : keyStr;\n}\n\n/**\n * Process menu items for predefined action keys (rename, delete).\n * Auto-adds labels and disables items when requirements aren't met.\n */\nfunction processMenuItems(\n children: ReactNode,\n effectiveIsEditable: boolean,\n isDeletable: boolean,\n): ReactNode {\n // Use Children.forEach instead of Children.toArray to avoid React prepending\n // \".$\" to element keys, which breaks selectedKeys matching in Menu.\n const result: ReactNode[] = [];\n\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) {\n result.push(child);\n return;\n }\n\n const childKey = getRawKey(child);\n const childProps = child.props as MenuItemLikeProps;\n\n // Handle predefined action keys\n if (childKey === 'rename') {\n result.push(\n cloneElement(child as ReactElement<MenuItemLikeProps>, {\n children: childProps.children ?? 'Rename',\n isDisabled: childProps.isDisabled ?? !effectiveIsEditable,\n }),\n );\n return;\n }\n if (childKey === 'delete') {\n result.push(\n cloneElement(child as ReactElement<MenuItemLikeProps>, {\n children: childProps.children ?? 'Delete',\n theme: childProps.theme ?? 'danger',\n isDisabled: childProps.isDisabled ?? !isDeletable,\n }),\n );\n return;\n }\n\n // Recursively process Menu.Section children\n if (childProps.children && typeof childProps.children !== 'string') {\n result.push(\n cloneElement(child as ReactElement<MenuItemLikeProps>, {\n children: processMenuItems(\n childProps.children,\n effectiveIsEditable,\n isDeletable,\n ),\n }),\n );\n return;\n }\n\n result.push(child);\n });\n\n return result;\n}\n\n/**\n * Check if menu children is empty (null, undefined, or empty fragment)\n */\nfunction isMenuEmpty(menu: ReactNode): boolean {\n if (menu === null || menu === undefined) return true;\n const children = Children.toArray(menu);\n return children.length === 0;\n}\n\n// =============================================================================\n// TabButton Props\n// =============================================================================\n\nexport interface TabButtonProps {\n /** React Aria collection item */\n item: Node<object>;\n /** Parsed tab data */\n tabData: ParsedTab;\n /** Whether this is the last tab (for drop indicator) */\n isLastTab?: boolean;\n /**\n * Whether a tabpanel renders for this tab. Without one, `aria-controls` is\n * dropped: it would name an id nothing on the page has.\n * @default true\n */\n hasPanel?: boolean;\n}\n\n/** The same tooltip, kept mounted but unable to open. */\nfunction disableTooltip(tooltip: ParsedTab['tooltip']): ParsedTab['tooltip'] {\n if (typeof tooltip === 'string') return { title: tooltip, isDisabled: true };\n if (tooltip && typeof tooltip === 'object') {\n return { ...tooltip, isDisabled: true };\n }\n\n return tooltip;\n}\n\n/**\n * Scroll the tab strip, and only the strip, so the tab is fully inside it.\n * Unlike `scrollIntoView` this never scrolls the page: it runs in response to a\n * layout change rather than to the user, so it must not move anything else.\n */\nfunction scrollTabIntoStrip(tab: HTMLElement, placement: TabPlacement) {\n const strip = tab.closest<HTMLElement>('[data-element=\"Scroll\"]');\n\n if (!strip) return;\n\n const isVertical = placement === 'left' || placement === 'right';\n const stripRect = strip.getBoundingClientRect();\n const tabRect = tab.getBoundingClientRect();\n const start = isVertical\n ? tabRect.top - stripRect.top\n : tabRect.left - stripRect.left;\n const end = isVertical\n ? tabRect.bottom - stripRect.bottom\n : tabRect.right - stripRect.right;\n\n // `nearest`: the smallest move that shows the tab, favouring its start when\n // it is longer than the strip.\n const delta = start < 0 ? start : end > 0 ? Math.min(end, start) : 0;\n\n if (!delta) return;\n\n if (isVertical) strip.scrollTop += delta;\n else strip.scrollLeft += delta;\n}\n\n/**\n * Events on the tab bar that mean the user has taken over the strip's scroll\n * position. Listened for on the whole `Bar`, not just the `Scroll` element: the\n * custom scrollbar and the scroll arrows sit outside it.\n */\nconst STRIP_INTERACTION_EVENTS = [\n 'wheel',\n 'pointerdown',\n 'touchstart',\n 'keydown',\n] as const;\n\n// =============================================================================\n// TabButton Component\n// =============================================================================\n\n/**\n * Individual tab button component.\n *\n * Uses TabsContext to access shared props, dramatically reducing prop drilling.\n * Handles:\n * - Tab selection and keyboard navigation\n * - Inline title editing\n * - Menu and context menu\n * - Drag-and-drop reordering\n * - Focus and hover states\n */\nexport function TabButton({\n item,\n tabData,\n isLastTab,\n hasPanel = true,\n}: TabButtonProps) {\n const { t } = useI18n();\n const editTabTitleLabel = t('tabs.editTabTitle', 'Edit tab title');\n\n // Get shared context\n const {\n state,\n type,\n size,\n placement,\n autoHideActions: parentAutoHideActions,\n isEditable: parentIsEditable,\n menu: parentMenu,\n menuTriggerProps: parentMenuTriggerProps,\n menuProps: parentMenuProps,\n contextMenu: parentContextMenu,\n onAction: parentOnAction,\n onDelete,\n dragState,\n dropState,\n editingKey,\n startEditing,\n submitEditing,\n cancelEditing,\n } = useTabsContext();\n\n const ref = useRef<HTMLButtonElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const inlineInputRef = useRef<CubeInlineInputRef>(null);\n const { tabProps: ariaTabProps } = useTab({ key: item.key }, state, ref);\n // React Aria points the selected tab at `<id>-tabpanel-<key>` whether or not\n // a panel renders. Navigation-only tabs have none, so the link would dangle.\n const { 'aria-controls': _ariaControls, ...tabPropsWithoutControls } =\n ariaTabProps;\n const tabProps = hasPanel ? ariaTabProps : tabPropsWithoutControls;\n\n // Drag-and-drop support - only enable when both states are provided\n const isDraggable = !!dragState && !!dropState;\n\n // useDraggableItem must be called unconditionally (Rules of Hooks)\n // When dragState is undefined, we pass a minimal mock state to satisfy the hook\n const mockDragState = useMemo(\n () => createMockDragState(state.collection, state.selectionManager),\n [state.collection, state.selectionManager],\n );\n\n const dragResult = useDraggableItem(\n { key: item.key },\n dragState ?? mockDragState,\n );\n const effectiveDragProps = isDraggable ? dragResult.dragProps : {};\n const isDragging = isDraggable && dragState.isDragging(item.key);\n\n // Controlled state for menu trigger (enables keyboard opening with Shift+F10)\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n\n // Hover, focus, and focus-visible state handling\n const { hoverProps, isHovered } = useHover({});\n const [isFocused, setIsFocused] = useState(false);\n const { focusProps } = useFocus({ onFocusChange: setIsFocused });\n const { isFocusVisible } = useFocusVisible();\n\n // Suppress focus-visible when restoring focus after editing\n const [suppressFocusVisible, setSuppressFocusVisible] = useState(false);\n const effectiveFocusVisible = isFocusVisible && !suppressFocusVisible;\n\n const isActive = state.selectedKey === item.key;\n const isDisabled = state.disabledKeys.has(item.key);\n const isDeletable = !!onDelete;\n const isEditing = editingKey === item.key;\n\n // Spring-load: when a `BoardDragActiveProvider` reports a widget drag,\n // hovering an inactive tab header for a moment opens it, so the user\n // can drop the widget into (or move it between) tabs. This relies on the\n // board's drag not capturing the pointer and its dragged widget being\n // `pointer-events: none` (see `BoardDragActiveProvider`), so the tab header\n // still receives native pointer enter/leave during the drag. `false` outside\n // a provider, so nothing changes.\n const isBoardDragActive = useBoardDragActive();\n const [isDropPending, setIsDropPending] = useState(false);\n const springLoadTimerRef = useRef<number | null>(null);\n\n const clearSpringLoad = useEvent(() => {\n if (springLoadTimerRef.current != null) {\n clearTimeout(springLoadTimerRef.current);\n springLoadTimerRef.current = null;\n }\n setIsDropPending(false);\n });\n\n const handleSpringLoadEnter = useEvent(() => {\n if (!isBoardDragActive || isActive || isDisabled) return;\n if (springLoadTimerRef.current != null) return;\n setIsDropPending(true);\n springLoadTimerRef.current = window.setTimeout(() => {\n springLoadTimerRef.current = null;\n setIsDropPending(false);\n state.setSelectedKey(item.key);\n }, SPRING_LOAD_DELAY);\n });\n\n // Cancel any pending spring-load when the drag ends (or the tab unmounts), so\n // a stale timer can never switch tabs after the drop.\n useEffect(() => {\n if (!isBoardDragActive) clearSpringLoad();\n return clearSpringLoad;\n }, [isBoardDragActive, clearSpringLoad]);\n\n // Compute effective values - Tab-level overrides Tabs-level.\n // Icon-only tabs (no `title`) have nothing to rename, so editing is disabled.\n const effectiveIsEditable =\n (tabData.isEditable ?? parentIsEditable ?? false) && tabData.title != null;\n const effectiveMenu =\n tabData.menu === null ? null : (tabData.menu ?? parentMenu);\n const effectiveMenuTriggerProps: Partial<CubeItemActionProps> = {\n ...parentMenuTriggerProps,\n ...tabData.menuTriggerProps,\n };\n const effectiveMenuProps: Partial<CubeMenuProps<object>> = {\n ...parentMenuProps,\n ...tabData.menuProps,\n };\n const effectiveContextMenu =\n tabData.contextMenu ?? parentContextMenu ?? false;\n const effectiveType = type ?? 'default';\n\n const contextMenuEnabled =\n effectiveContextMenu === true || effectiveContextMenu === 'context-only';\n const contextMenuOnly = effectiveContextMenu === 'context-only';\n\n // Inline close when no menu, or context-only (no overflow trigger)\n const showDeleteButton =\n isDeletable && (isMenuEmpty(effectiveMenu) || contextMenuOnly);\n\n // Process menu items for auto-labels and disabled states\n const processedMenu =\n effectiveMenu && !isMenuEmpty(effectiveMenu)\n ? processMenuItems(effectiveMenu, effectiveIsEditable, isDeletable)\n : null;\n\n const itemKeyStr = String(item.key);\n\n const handleDelete = useEvent(() => {\n onDelete?.(itemKeyStr);\n });\n\n const titleString =\n typeof tabData.title === 'string' ? tabData.title : itemKeyStr;\n\n const handleStartEditing = useEvent(() => {\n if (!effectiveIsEditable || isDisabled) return;\n startEditing(itemKeyStr, titleString);\n });\n\n const handleSubmitEditing = useEvent((newTitle: string) => {\n submitEditing(itemKeyStr, newTitle, tabData.onTitleChange);\n // Suppress focus-visible and restore focus to the tab button after editing\n setSuppressFocusVisible(true);\n ref.current?.focus();\n });\n\n const handleCancelEditing = useEvent(() => {\n cancelEditing();\n // Suppress focus-visible and restore focus to the tab button after editing\n setSuppressFocusVisible(true);\n ref.current?.focus();\n });\n\n const handleEditingChange = useEvent((editing: boolean) => {\n if (editing && !isEditing) {\n handleStartEditing();\n }\n });\n\n // Handle menu actions - predefined actions first, then callbacks\n const handleMenuAction = useEvent((action: Key) => {\n // Strip the \".$\" prefix that React adds via Children.toArray/map\n const actionStr = String(action);\n const normalizedAction = actionStr.startsWith('.$')\n ? actionStr.slice(2)\n : actionStr;\n\n // Handle predefined actions first (only if requirements are met)\n // The rename input claims focus through its own `<FocusScope autoFocus>`,\n // and the closing Menu no longer takes focus back to its trigger once an\n // action has moved it (see `MenuTrigger`), so no refocus pass is needed.\n if (normalizedAction === 'rename' && effectiveIsEditable) {\n inlineInputRef.current?.startEditing();\n }\n if (normalizedAction === 'delete' && isDeletable) {\n onDelete?.(itemKeyStr);\n }\n // Call Tab-level onAction first (with normalized action)\n tabData.onAction?.(normalizedAction);\n // Then call Tabs-level onAction with tab key (with normalized action)\n parentOnAction?.(normalizedAction, itemKeyStr);\n });\n\n const menuElement = processedMenu ? (\n <Menu {...effectiveMenuProps} onAction={handleMenuAction}>\n {processedMenu}\n </Menu>\n ) : null;\n\n // Menus follow the same axis-aware popover rule as TabPicker so they always\n // open toward the panel area instead of past the bar's outer edge.\n const menuPopoverPlacement = POPOVER_PLACEMENT_BY_TABS_PLACEMENT[placement];\n\n const contextMenu = useContextMenu<HTMLDivElement, CubeMenuProps<object>>(\n Menu,\n { placement: menuPopoverPlacement },\n {\n ...effectiveMenuProps,\n onAction: handleMenuAction,\n children: processedMenu,\n },\n );\n\n // Keyboard handler for accessibility shortcuts (WAI-ARIA Tabs Pattern)\n const handleKeyDown = useEvent((e: KeyboardEvent) => {\n // Reset focus-visible suppression on any keyboard interaction\n if (suppressFocusVisible) {\n setSuppressFocusVisible(false);\n }\n\n // F2 to start editing (standard rename shortcut)\n if (e.key === 'F2' && effectiveIsEditable && !isDisabled) {\n e.preventDefault();\n e.stopPropagation();\n inlineInputRef.current?.startEditing();\n }\n\n // Shift+F10 opens the menu (standard context menu shortcut)\n if (e.key === 'F10' && e.shiftKey && processedMenu) {\n e.preventDefault();\n e.stopPropagation();\n if (contextMenuOnly) {\n contextMenu.open();\n } else {\n setIsMenuOpen(true);\n }\n }\n\n // Delete key for direct tab deletion (ARIA Tabs pattern optional feature)\n // Skip when editing to allow normal text editing operations\n if (\n (e.key === 'Delete' || e.key === 'Backspace') &&\n isDeletable &&\n !isEditing\n ) {\n e.preventDefault();\n onDelete?.(itemKeyStr);\n }\n });\n\n const mods = {\n type: effectiveType,\n placement,\n active: isActive,\n deletable: isDeletable,\n disabled: isDisabled,\n editing: isEditing,\n hovered: isHovered,\n focused: isFocused,\n 'focus-visible': effectiveFocusVisible,\n draggable: isDraggable,\n dragging: isDragging,\n 'drop-pending': isDropPending,\n };\n\n const keepActiveTabInStrip = useEvent(() => {\n if (ref.current) scrollTabIntoStrip(ref.current, placement);\n });\n\n // Scroll the active tab into view, and keep it there while it settles. The\n // mount commit lays a tab out before its actions run is measured, so it grows\n // by the run's width a frame later: a tab scrolled into view at its first\n // size can end up past the strip's edge. So the active tab's own size changes\n // re-scroll the strip, until the user first interacts with the tab bar\n // (wheel, pointer, touch or a key). From then on the strip stays where they\n // left it, even if the tab resizes, until a tab becomes active again. Keyed\n // off interaction events, not `scroll`: the re-scroll fires `scroll` too.\n useEffect(() => {\n const tab = ref.current;\n\n if (!tab || !isActive) return;\n\n tab.scrollIntoView?.({ block: 'nearest', inline: 'nearest' });\n\n if (typeof ResizeObserver === 'undefined') return;\n\n const bar = tab.closest<HTMLElement>('[data-element=\"Bar\"]');\n const observer = new ResizeObserver(keepActiveTabInStrip);\n const stopFollowing = () => {\n observer.disconnect();\n\n for (const type of STRIP_INTERACTION_EVENTS) {\n bar?.removeEventListener(type, stopFollowing, true);\n }\n };\n\n observer.observe(tab);\n\n for (const type of STRIP_INTERACTION_EVENTS) {\n // Capture: a tab's own handlers may stop these from bubbling.\n bar?.addEventListener(type, stopFollowing, {\n capture: true,\n passive: true,\n });\n }\n\n return stopFollowing;\n }, [isActive, keepActiveTabInStrip]);\n\n // Overflow trigger (hidden in context-only mode)\n const menuAction =\n menuElement && !contextMenuOnly ? (\n <MenuTrigger\n isOpen={isMenuOpen}\n placement={menuPopoverPlacement}\n onOpenChange={setIsMenuOpen}\n >\n <ItemAction\n tabIndex={-1}\n icon={<MoreIcon />}\n {...effectiveMenuTriggerProps}\n />\n {menuElement}\n </MenuTrigger>\n ) : null;\n\n // Build delete button (only shown when no menu)\n const deleteAction = showDeleteButton ? (\n <ItemAction\n tabIndex={-1}\n icon={<CloseIcon />}\n tooltip={t('tabs.close', 'Close')}\n onPress={handleDelete}\n />\n ) : null;\n\n // Order: custom actions → menu trigger → delete button\n const actions =\n tabData.actions || menuAction || deleteAction ? (\n <>\n {tabData.actions}\n {menuAction}\n {deleteAction}\n </>\n ) : undefined;\n\n // Determine effective size\n const effectiveSize = tabData.size ?? size ?? 'medium';\n const itemSize =\n effectiveType === 'radio'\n ? RADIO_SIZE_MAP[effectiveSize === 'large' ? 'large' : 'medium']\n : effectiveSize;\n\n // Determine Item type prop\n const itemType = 'clear';\n\n // Determine shape - file type uses sharp edges\n const isFileType = effectiveType === 'file';\n const itemShape = isFileType ? 'sharp' : undefined;\n\n // Determine autoHideActions - tab-level overrides parent-level\n const effectiveAutoHideActions =\n tabData.autoHideActions ?? parentAutoHideActions;\n\n // Extract tab-specific props and pass through the rest (style props) to the Item\n const {\n title: _title,\n content: _content,\n key: _key,\n isDisabled: _isDisabled,\n prerender: _prerender,\n keepMounted: _keepMounted,\n size: _size,\n actions: _actions,\n autoHideActions: _autoHideActions,\n isEditable: _isEditable,\n onTitleChange: _onTitleChange,\n menu: _menu,\n menuTriggerProps: _menuTriggerProps,\n menuProps: _menuProps,\n contextMenu: _contextMenu,\n onAction: _onAction,\n tooltip: tabTooltip,\n qa,\n qaVal,\n styles,\n ...itemStyleProps\n } = tabData;\n\n // Render title with editing support if editable\n // Override InlineInput's default `cursor: text` hover hint — in Tabs the\n // title sits inside a clickable tab, so a text caret cursor is misleading.\n //\n // When the title is a plain string we let InlineInput render it directly,\n // which lets the optimistic display kick in (avoids flicker if the parent's\n // `onTitleChange` updates the source asynchronously, e.g. inside a RAF).\n // For ReactNode titles (icons, badges, ...), preserve the original node.\n //\n // For editable tabs with a string title, route the tab's `tooltip` prop\n // through InlineInput so it owns the truncation + tooltip behaviour (and we\n // pass `tooltip={false}` to `TabElement` below to avoid double tooltips).\n // InlineInput shows no tooltip over a custom display, so a ReactNode title\n // keeps its tooltip on `TabElement`. It is disabled rather than dropped while\n // the title is edited: dropping it would unwrap the tab, remounting it just\n // as editing starts.\n const renderTitleDisplay =\n typeof tabData.title === 'string' ? undefined : () => tabData.title;\n const tabElementTooltip = !effectiveIsEditable\n ? tabTooltip\n : !renderTitleDisplay\n ? false\n : isEditing\n ? disableTooltip(tabTooltip)\n : tabTooltip;\n const titleContent = effectiveIsEditable ? (\n <InlineInput\n ref={inlineInputRef}\n value={titleString}\n isEditing={isEditing}\n isDisabled={isDisabled}\n keyboardActivation={false}\n aria-label={editTabTitleLabel}\n styles={INLINE_INPUT_STYLES}\n renderDisplay={renderTitleDisplay}\n tooltip={tabTooltip ?? true}\n onEditingChange={handleEditingChange}\n onSubmit={handleSubmitEditing}\n onCancel={handleCancelEditing}\n />\n ) : (\n tabData.title\n );\n\n // Use the hook's targetRef when context menu is enabled\n const effectiveContainerRef =\n contextMenuEnabled && processedMenu ? contextMenu.targetRef : containerRef;\n\n // ARIA: indicate popup menu presence\n const ariaProps = processedMenu ? { 'aria-haspopup': 'menu' as const } : {};\n\n // Mods for TabContainer\n const containerMods = {\n ...mods,\n 'auto-hide-actions': effectiveAutoHideActions,\n };\n\n return (\n <TabContainer\n ref={effectiveContainerRef}\n data-size={itemSize}\n mods={containerMods}\n {...effectiveDragProps}\n >\n {/* Drop indicator before this tab */}\n {isDraggable && dropState && (\n <TabDropIndicator\n target={{ type: 'item', key: item.key, dropPosition: 'before' }}\n dropState={dropState}\n position=\"before\"\n />\n )}\n <ItemActionsWrapper\n preserveActionsSpace\n // The active tab keeps its actions on show. Everywhere else the wrapper\n // reveals them on hover or focus, which is the same set of triggers the\n // hand-rolled run used, minus the `active` case it had to spell out in\n // CSS because it had no way to ask for it.\n autoHideActions={effectiveAutoHideActions && !isActive}\n type={itemType}\n theme=\"default\"\n size={itemSize}\n isDisabled={isDisabled}\n mods={mods}\n actions={actions}\n // The container carries the drag handlers, so a press on an action would\n // start a drag if it were allowed to reach it.\n actionsProps={ACTIONS_EVENT_HANDLERS}\n >\n {({ showActions, skipActionsWidthTransition }) => (\n <TabElement\n insideWrapper\n preserveActionsSpace\n showActions={showActions}\n skipActionsWidthTransition={skipActionsWidthTransition}\n autoHideActions={effectiveAutoHideActions}\n as=\"button\"\n {...mergeProps(tabProps, hoverProps, focusProps, {\n onKeyDown: handleKeyDown,\n onPointerEnter: handleSpringLoadEnter,\n onPointerLeave: clearSpringLoad,\n })}\n {...ariaProps}\n {...itemStyleProps}\n ref={ref}\n qa={qa ?? `Tab-${String(item.key)}`}\n qaVal={qaVal}\n styles={styles}\n mods={mods}\n isSelected={isActive}\n isDisabled={isDisabled}\n size={itemSize}\n type={itemType}\n shape={itemShape}\n actions={actions ? true : undefined}\n tooltip={tabElementTooltip}\n >\n {titleContent}\n </TabElement>\n )}\n </ItemActionsWrapper>\n {contextMenuEnabled && processedMenu && contextMenu.rendered}\n {/* Drop indicator after the last tab */}\n {isDraggable && dropState && isLastTab && (\n <TabDropIndicator\n target={{ type: 'item', key: item.key, dropPosition: 'after' }}\n dropState={dropState}\n position=\"after\"\n />\n )}\n </TabContainer>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.198.0 | Cube Dev Team */
|
|
2
2
|
import { DropIndicatorElement } from "./styled.js";
|
|
3
3
|
import { useTabsContext } from "./TabsContext.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
5
5
|
import { useEffect, useRef, useState } from "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
7
|
import { useDropIndicator } from "react-aria";
|
|
8
|
-
|
|
9
8
|
//#region src/components/navigation/Tabs/TabDropIndicator.tsx
|
|
10
9
|
/**
|
|
11
10
|
* Visual drop indicator for drag-and-drop tab reordering.
|
|
@@ -85,7 +84,7 @@ function TabDropIndicator(t0) {
|
|
|
85
84
|
function _temp(n) {
|
|
86
85
|
return n + 1;
|
|
87
86
|
}
|
|
88
|
-
|
|
89
87
|
//#endregion
|
|
90
88
|
export { TabDropIndicator };
|
|
89
|
+
|
|
91
90
|
//# sourceMappingURL=TabDropIndicator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabDropIndicator.js","names":["useEffect","useRef","useState","useDropIndicator","DropIndicatorElement","useTabsContext","DropTarget","DroppableCollectionState","TabDropIndicatorProps","target","dropState","position","TabDropIndicator","t0","$","_c","ref","setTick","placement","t1","dropIndicatorProps","isHidden","isDropTarget","t2","element","current","tabList","closest","observer","ResizeObserver","_temp","observe","disconnect","t3","t4","t5","t6","after","before","t7","n"],"sources":["../../../../src/components/navigation/Tabs/TabDropIndicator.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { useDropIndicator } from 'react-aria';\n\nimport { DropIndicatorElement } from './styled';\nimport { useTabsContext } from './TabsContext';\n\nimport type { DropTarget } from 'react-aria';\nimport type { DroppableCollectionState } from 'react-stately';\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface TabDropIndicatorProps {\n /** Drop target configuration */\n target: DropTarget;\n /** Droppable collection state from React Aria */\n dropState: DroppableCollectionState;\n /** Position of the indicator (before or after the tab) */\n position: 'before' | 'after';\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Visual drop indicator for drag-and-drop tab reordering.\n *\n * Renders a bar showing where the dragged tab will be dropped. The bar is\n * vertical for horizontal Tabs (`placement: 'top' | 'bottom'`) and horizontal\n * for vertical Tabs (`placement: 'left' | 'right'`). Only visible when the\n * drop target is active.\n */\nexport function TabDropIndicator({\n target,\n dropState,\n position,\n}: TabDropIndicatorProps) {\n const ref = useRef<HTMLDivElement>(null);\n const [, setTick] = useState(0);\n const { placement } = useTabsContext();\n\n const { dropIndicatorProps, isHidden, isDropTarget } = useDropIndicator(\n { target },\n dropState,\n ref,\n );\n\n // Re-evaluate drop target registration when tab layout changes.\n // Active only while the indicator is rendered in the DOM (during drags).\n useEffect(() => {\n const element = ref.current;\n if (!element) return;\n\n const tabList = element.closest('[data-element=\"TabList\"]');\n if (!tabList) return;\n\n const observer = new ResizeObserver(() => {\n setTick((n) => n + 1);\n });\n\n observer.observe(tabList);\n\n return () => observer.disconnect();\n }, [isHidden]);\n\n if (isHidden) {\n return null;\n }\n\n return (\n <DropIndicatorElement\n ref={ref}\n role=\"option\"\n {...dropIndicatorProps}\n mods={{\n 'drop-target': isDropTarget,\n after: position === 'after',\n before: position === 'before',\n placement,\n }}\n />\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TabDropIndicator.js","names":["useEffect","useRef","useState","useDropIndicator","DropIndicatorElement","useTabsContext","DropTarget","DroppableCollectionState","TabDropIndicatorProps","target","dropState","position","TabDropIndicator","t0","$","_c","ref","setTick","placement","t1","dropIndicatorProps","isHidden","isDropTarget","t2","element","current","tabList","closest","observer","ResizeObserver","_temp","observe","disconnect","t3","t4","t5","t6","after","before","t7","n","_c"],"sources":["../../../../src/components/navigation/Tabs/TabDropIndicator.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { useDropIndicator } from 'react-aria';\n\nimport { DropIndicatorElement } from './styled';\nimport { useTabsContext } from './TabsContext';\n\nimport type { DropTarget } from 'react-aria';\nimport type { DroppableCollectionState } from 'react-stately';\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface TabDropIndicatorProps {\n /** Drop target configuration */\n target: DropTarget;\n /** Droppable collection state from React Aria */\n dropState: DroppableCollectionState;\n /** Position of the indicator (before or after the tab) */\n position: 'before' | 'after';\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Visual drop indicator for drag-and-drop tab reordering.\n *\n * Renders a bar showing where the dragged tab will be dropped. The bar is\n * vertical for horizontal Tabs (`placement: 'top' | 'bottom'`) and horizontal\n * for vertical Tabs (`placement: 'left' | 'right'`). Only visible when the\n * drop target is active.\n */\nexport function TabDropIndicator({\n target,\n dropState,\n position,\n}: TabDropIndicatorProps) {\n const ref = useRef<HTMLDivElement>(null);\n const [, setTick] = useState(0);\n const { placement } = useTabsContext();\n\n const { dropIndicatorProps, isHidden, isDropTarget } = useDropIndicator(\n { target },\n dropState,\n ref,\n );\n\n // Re-evaluate drop target registration when tab layout changes.\n // Active only while the indicator is rendered in the DOM (during drags).\n useEffect(() => {\n const element = ref.current;\n if (!element) return;\n\n const tabList = element.closest('[data-element=\"TabList\"]');\n if (!tabList) return;\n\n const observer = new ResizeObserver(() => {\n setTick((n) => n + 1);\n });\n\n observer.observe(tabList);\n\n return () => observer.disconnect();\n }, [isHidden]);\n\n if (isHidden) {\n return null;\n }\n\n return (\n <DropIndicatorElement\n ref={ref}\n role=\"option\"\n {...dropIndicatorProps}\n mods={{\n 'drop-target': isDropTarget,\n after: position === 'after',\n before: position === 'before',\n placement,\n }}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAkCA,SAAOY,iBAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAA0B,MAAA,EAAAN,QAAAC,WAAAC,aAAAE;CAK/B,MAAAG,MAAYf,OAAuB,IAAI;CACvC,MAAA,GAAAgB,WAAoBf,SAAS,CAAC;CAC9B,MAAA,EAAAgB,cAAsBb,eAAe;CAAE,IAAAc;CAAA,IAAAL,EAAA,OAAAL,QAAA;EAGrCU,KAAA,EAAAV,OAAS;EAACK,EAAA,KAAAL;EAAAK,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CADZ,MAAA,EAAAM,oBAAAC,UAAAC,iBAAuDnB,iBACrDgB,IACAT,WACAM,GACF;CAAE,IAAAO;CAAA,IAAAT,EAAA,OAAAG,SAAA;EAIQM,WAAA;GACR,MAAAC,UAAgBR,IAAGS;GACnB,IAAI,CAACD,SAAO;GAEZ,MAAAE,UAAgBF,QAAOG,QAAS,4BAA0B;GAC1D,IAAI,CAACD,SAAO;GAEZ,MAAAE,WAAiB,IAAIC,qBAAe;IAClCZ,QAAQa,KAAY;GAAC,CACtB;GAEDF,SAAQG,QAASL,OAAO;GAAC,aAEZE,SAAQI,WAAY;EAAC;EACnClB,EAAA,KAAAG;EAAAH,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,IAAAmB;CAAA,IAAAnB,EAAA,OAAAO,UAAA;EAAEY,KAAA,CAACZ,QAAQ;EAACP,EAAA,KAAAO;EAAAP,EAAA,KAAAmB;CAAA,OAAAA,KAAAnB,EAAA;CAdbd,UAAUuB,IAcPU,EAAU;CAEb,IAAIZ,UAAQ,OACH;CAUI,MAAAa,KAAAvB,aAAa;CACZ,MAAAwB,KAAAxB,aAAa;CAAQ,IAAAyB;CAAA,IAAAtB,EAAA,OAAAQ,gBAAAR,EAAA,OAAAI,aAAAJ,EAAA,OAAAoB,MAAApB,EAAA,OAAAqB,IAAA;EAHzBC,KAAA;GAAA,eACWd;GAAYe,OACpBH;GAAoBI,QACnBH;GAAqBjB;EAE/B;EAACJ,EAAA,KAAAQ;EAAAR,EAAA,KAAAI;EAAAJ,EAAA,KAAAoB;EAAApB,EAAA,KAAAqB;EAAArB,EAAA,MAAAsB;CAAA,OAAAA,KAAAtB,EAAA;CAAA,IAAAyB;CAAA,IAAAzB,EAAA,QAAAM,sBAAAN,EAAA,QAAAsB,IAAA;EATHG,KAAA,oBAAC,sBAAD;GACOvB;GACA,MAAA;GAAQ,GACTI;GACE,MAAAgB;EAKL,CAAA;EACDtB,EAAA,MAAAM;EAAAN,EAAA,MAAAsB;EAAAtB,EAAA,MAAAyB;CAAA,OAAAA,KAAAzB,EAAA;CAAA,OAVFyB;AAUE;AAhDC,SAAAT,MAAAU,GAAA;CAAA,OAyBcA,IAAI;AAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.198.0 | Cube Dev Team */
|
|
2
2
|
import { TabPanelElement } from "./styled.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useEffect, useMemo, useRef } from "react";
|
|
5
5
|
import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
|
|
6
6
|
import { useTabPanel } from "react-aria";
|
|
7
|
-
|
|
8
7
|
//#region src/components/navigation/Tabs/TabPanel.tsx
|
|
9
8
|
/**
|
|
10
9
|
* Determines if a panel should be rendered based on prerender/keepMounted settings.
|
|
@@ -131,7 +130,7 @@ function CachedPanelRenderer({ parsedTabs, explicitPanels, state, renderPanel, p
|
|
|
131
130
|
}, tab.key);
|
|
132
131
|
}) });
|
|
133
132
|
}
|
|
134
|
-
|
|
135
133
|
//#endregion
|
|
136
|
-
export { CachedPanelRenderer, TabPanelRenderer };
|
|
134
|
+
export { CachedPanelRenderer, TabPanelRenderer, shouldRenderPanel };
|
|
135
|
+
|
|
137
136
|
//# sourceMappingURL=TabPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabPanel.js","names":["useEffect","useMemo","useRef","useTabPanel","TabPanelElement","Styles","ReactNode","AriaTabPanelProps","TabListState","CacheKeyValue","ParsedPanel","ParsedTab","shouldRenderPanel","isActive","wasVisited","effectivePrerender","effectiveKeepMounted","TabPanelRendererProps","tabKey","state","content","prerender","keepMounted","tabPrerender","tabKeepMounted","visitedKeys","Set","panelStyles","qa","qaVal","TabPanelRenderer","t0","$","_c","ref","t1","key","tabPanelProps","selectedKey","has","t2","active","t3","t4","String","t5","CachedPanelRendererProps","parsedTabs","explicitPanels","Map","renderPanel","panelCacheKeys","Record","CachedPanelRenderer","contentCacheRef","cacheKey","getCacheKey","hasCacheKey","undefined","shouldCallRenderPanel","cached","current","get","currentCacheKey","currentTabKeys","map","t","keys","delete","tab","explicitPanel","needsRender","set","styles"],"sources":["../../../../src/components/navigation/Tabs/TabPanel.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\nimport { useTabPanel } from 'react-aria';\n\nimport { TabPanelElement } from './styled';\n\nimport type { Styles } from '@tenphi/tasty';\nimport type { ReactNode } from 'react';\nimport type { AriaTabPanelProps } from 'react-aria';\nimport type { TabListState } from 'react-stately';\nimport type { CacheKeyValue, ParsedPanel, ParsedTab } from './types';\n\n// =============================================================================\n// Panel Rendering Utilities\n// =============================================================================\n\n/**\n * Determines if a panel should be rendered based on prerender/keepMounted settings.\n */\nexport function shouldRenderPanel(\n isActive: boolean,\n wasVisited: boolean,\n effectivePrerender: boolean | undefined,\n effectiveKeepMounted: boolean | undefined,\n): boolean {\n return (\n !!effectivePrerender || isActive || (!!effectiveKeepMounted && wasVisited)\n );\n}\n\n// =============================================================================\n// TabPanelRenderer Component\n// =============================================================================\n\nexport interface TabPanelRendererProps {\n tabKey: string;\n state: TabListState<object>;\n content: ReactNode;\n prerender?: boolean;\n keepMounted?: boolean;\n tabPrerender?: boolean;\n tabKeepMounted?: boolean;\n visitedKeys: Set<string>;\n panelStyles?: Styles;\n qa?: string;\n qaVal?: string;\n}\n\n/**\n * Renders a single tab panel with proper ARIA attributes.\n */\nexport function TabPanelRenderer({\n tabKey,\n state,\n content,\n prerender,\n keepMounted,\n tabPrerender,\n tabKeepMounted,\n visitedKeys,\n panelStyles,\n qa,\n qaVal,\n}: TabPanelRendererProps) {\n const ref = useRef<HTMLElement>(null);\n const { tabPanelProps } = useTabPanel(\n { key: tabKey } as AriaTabPanelProps,\n state,\n ref,\n );\n\n const isActive = state.selectedKey === tabKey;\n\n // Determine effective prerender/keepMounted (tab-level overrides global)\n const effectivePrerender = tabPrerender ?? prerender;\n const effectiveKeepMounted = tabKeepMounted ?? keepMounted;\n\n // Determine if panel should render\n if (\n !shouldRenderPanel(\n isActive,\n visitedKeys.has(tabKey),\n effectivePrerender,\n effectiveKeepMounted,\n )\n ) {\n return null;\n }\n\n return (\n <TabPanelElement\n {...tabPanelProps}\n ref={ref}\n mods={{ active: isActive }}\n qa={qa ?? 'TabPanel'}\n qaVal={qaVal ?? String(tabKey)}\n styles={panelStyles}\n >\n {content}\n </TabPanelElement>\n );\n}\n\n// =============================================================================\n// CachedPanelRenderer Component\n// =============================================================================\n\nexport interface CachedPanelRendererProps {\n parsedTabs: ParsedTab[];\n explicitPanels: Map<string, ParsedPanel>;\n state: TabListState<object>;\n renderPanel: (key: string) => ReactNode;\n panelCacheKeys?: Record<string | number, CacheKeyValue>;\n prerender: boolean;\n keepMounted: boolean;\n visitedKeys: Set<string>;\n}\n\n/**\n * Renders panels with content caching for `renderPanel`.\n *\n * Core principle: `renderPanel` is only called when the tab is active\n * (or once on mount for `prerender`). Inactive panels use cached content.\n *\n * Caching behavior:\n * - `keepMounted=true`: Cache content after first activation, reuse while inactive\n * - `prerender=true`: Call `renderPanel` once on mount, reuse until active again\n * - `panelCacheKeys`: Adds cache-key-based invalidation (lazy - only when active)\n * - No caching props: Only active panel is rendered, unmount when inactive\n */\nexport function CachedPanelRenderer({\n parsedTabs,\n explicitPanels,\n state,\n renderPanel,\n panelCacheKeys,\n prerender,\n keepMounted,\n visitedKeys,\n}: CachedPanelRendererProps) {\n // Cache for rendered content - stores { content, cacheKey } per panel\n const contentCacheRef = useRef<\n Map<string, { content: ReactNode; cacheKey: CacheKeyValue }>\n >(new Map());\n\n /** Get the cache key for a panel. Returns undefined if not defined. */\n const getCacheKey = (key: string): CacheKeyValue => panelCacheKeys?.[key];\n\n /** Check if a panel has a defined (non-undefined) cache key. */\n const hasCacheKey = (key: string): boolean =>\n panelCacheKeys != null &&\n key in panelCacheKeys &&\n panelCacheKeys[key] !== undefined;\n\n /**\n * Determine if we should call renderPanel for this tab.\n */\n const shouldCallRenderPanel = (\n tabKey: string,\n isActive: boolean,\n ): boolean => {\n const cached = contentCacheRef.current.get(tabKey);\n\n // No cache exists - always need to populate on first render\n if (!cached) {\n return true;\n }\n\n // Cache exists\n if (isActive) {\n // If panelCacheKeys has an entry for this panel, use cache-key-based invalidation\n if (hasCacheKey(tabKey)) {\n const currentCacheKey = getCacheKey(tabKey);\n return cached.cacheKey !== currentCacheKey;\n }\n\n // No panelCacheKeys entry = always re-render when active\n return true;\n }\n\n // Inactive with cache - use cache\n return false;\n };\n\n // Clean up cache entries for removed tabs\n const currentTabKeys = useMemo(\n () => new Set(parsedTabs.map((t) => t.key)),\n [parsedTabs],\n );\n\n useEffect(() => {\n for (const key of contentCacheRef.current.keys()) {\n if (!currentTabKeys.has(key)) {\n contentCacheRef.current.delete(key);\n }\n }\n }, [currentTabKeys]);\n\n return (\n <>\n {parsedTabs.map((tab) => {\n const explicitPanel = explicitPanels.get(tab.key);\n const tabPrerender = explicitPanel?.prerender ?? tab.prerender;\n const tabKeepMounted = explicitPanel?.keepMounted ?? tab.keepMounted;\n const effectivePrerender = tabPrerender ?? prerender;\n const effectiveKeepMounted = tabKeepMounted ?? keepMounted;\n\n const isActive = state.selectedKey === tab.key;\n const wasVisited = visitedKeys.has(tab.key);\n\n // Determine if panel should be in DOM (visibility)\n if (\n !shouldRenderPanel(\n isActive,\n wasVisited,\n effectivePrerender,\n effectiveKeepMounted,\n )\n ) {\n // Panel not in DOM - clear cache if no caching strategy\n if (!effectiveKeepMounted && !effectivePrerender) {\n contentCacheRef.current.delete(tab.key);\n }\n return null;\n }\n\n // Determine if we need to call renderPanel\n let content: ReactNode;\n const needsRender = shouldCallRenderPanel(tab.key, isActive);\n\n if (needsRender) {\n // Call renderPanel and cache the result\n content = renderPanel(tab.key);\n const currentCacheKey = getCacheKey(tab.key);\n contentCacheRef.current.set(tab.key, {\n content,\n cacheKey: currentCacheKey,\n });\n } else {\n // Use cached content\n const cached = contentCacheRef.current.get(tab.key);\n content = cached?.content ?? null;\n }\n\n return (\n <TabPanelRenderer\n key={tab.key}\n tabKey={tab.key}\n state={state}\n content={content}\n prerender={prerender}\n keepMounted={keepMounted}\n tabPrerender={tabPrerender}\n tabKeepMounted={tabKeepMounted}\n visitedKeys={visitedKeys}\n panelStyles={explicitPanel?.styles}\n qa={explicitPanel?.qa}\n qaVal={explicitPanel?.qaVal}\n />\n );\n })}\n </>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TabPanel.js","names":["useEffect","useMemo","useRef","useTabPanel","TabPanelElement","Styles","ReactNode","AriaTabPanelProps","TabListState","CacheKeyValue","ParsedPanel","ParsedTab","shouldRenderPanel","isActive","wasVisited","effectivePrerender","effectiveKeepMounted","TabPanelRendererProps","tabKey","state","content","prerender","keepMounted","tabPrerender","tabKeepMounted","visitedKeys","Set","panelStyles","qa","qaVal","TabPanelRenderer","t0","$","_c","ref","t1","key","tabPanelProps","selectedKey","has","t2","active","t3","t4","String","t5","CachedPanelRendererProps","parsedTabs","explicitPanels","Map","renderPanel","panelCacheKeys","Record","CachedPanelRenderer","contentCacheRef","cacheKey","getCacheKey","hasCacheKey","undefined","shouldCallRenderPanel","cached","current","get","currentCacheKey","currentTabKeys","map","t","keys","delete","tab","explicitPanel","needsRender","set","styles","_c"],"sources":["../../../../src/components/navigation/Tabs/TabPanel.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from 'react';\nimport { useTabPanel } from 'react-aria';\n\nimport { TabPanelElement } from './styled';\n\nimport type { Styles } from '@tenphi/tasty';\nimport type { ReactNode } from 'react';\nimport type { AriaTabPanelProps } from 'react-aria';\nimport type { TabListState } from 'react-stately';\nimport type { CacheKeyValue, ParsedPanel, ParsedTab } from './types';\n\n// =============================================================================\n// Panel Rendering Utilities\n// =============================================================================\n\n/**\n * Determines if a panel should be rendered based on prerender/keepMounted settings.\n */\nexport function shouldRenderPanel(\n isActive: boolean,\n wasVisited: boolean,\n effectivePrerender: boolean | undefined,\n effectiveKeepMounted: boolean | undefined,\n): boolean {\n return (\n !!effectivePrerender || isActive || (!!effectiveKeepMounted && wasVisited)\n );\n}\n\n// =============================================================================\n// TabPanelRenderer Component\n// =============================================================================\n\nexport interface TabPanelRendererProps {\n tabKey: string;\n state: TabListState<object>;\n content: ReactNode;\n prerender?: boolean;\n keepMounted?: boolean;\n tabPrerender?: boolean;\n tabKeepMounted?: boolean;\n visitedKeys: Set<string>;\n panelStyles?: Styles;\n qa?: string;\n qaVal?: string;\n}\n\n/**\n * Renders a single tab panel with proper ARIA attributes.\n */\nexport function TabPanelRenderer({\n tabKey,\n state,\n content,\n prerender,\n keepMounted,\n tabPrerender,\n tabKeepMounted,\n visitedKeys,\n panelStyles,\n qa,\n qaVal,\n}: TabPanelRendererProps) {\n const ref = useRef<HTMLElement>(null);\n const { tabPanelProps } = useTabPanel(\n { key: tabKey } as AriaTabPanelProps,\n state,\n ref,\n );\n\n const isActive = state.selectedKey === tabKey;\n\n // Determine effective prerender/keepMounted (tab-level overrides global)\n const effectivePrerender = tabPrerender ?? prerender;\n const effectiveKeepMounted = tabKeepMounted ?? keepMounted;\n\n // Determine if panel should render\n if (\n !shouldRenderPanel(\n isActive,\n visitedKeys.has(tabKey),\n effectivePrerender,\n effectiveKeepMounted,\n )\n ) {\n return null;\n }\n\n return (\n <TabPanelElement\n {...tabPanelProps}\n ref={ref}\n mods={{ active: isActive }}\n qa={qa ?? 'TabPanel'}\n qaVal={qaVal ?? String(tabKey)}\n styles={panelStyles}\n >\n {content}\n </TabPanelElement>\n );\n}\n\n// =============================================================================\n// CachedPanelRenderer Component\n// =============================================================================\n\nexport interface CachedPanelRendererProps {\n parsedTabs: ParsedTab[];\n explicitPanels: Map<string, ParsedPanel>;\n state: TabListState<object>;\n renderPanel: (key: string) => ReactNode;\n panelCacheKeys?: Record<string | number, CacheKeyValue>;\n prerender: boolean;\n keepMounted: boolean;\n visitedKeys: Set<string>;\n}\n\n/**\n * Renders panels with content caching for `renderPanel`.\n *\n * Core principle: `renderPanel` is only called when the tab is active\n * (or once on mount for `prerender`). Inactive panels use cached content.\n *\n * Caching behavior:\n * - `keepMounted=true`: Cache content after first activation, reuse while inactive\n * - `prerender=true`: Call `renderPanel` once on mount, reuse until active again\n * - `panelCacheKeys`: Adds cache-key-based invalidation (lazy - only when active)\n * - No caching props: Only active panel is rendered, unmount when inactive\n */\nexport function CachedPanelRenderer({\n parsedTabs,\n explicitPanels,\n state,\n renderPanel,\n panelCacheKeys,\n prerender,\n keepMounted,\n visitedKeys,\n}: CachedPanelRendererProps) {\n // Cache for rendered content - stores { content, cacheKey } per panel\n const contentCacheRef = useRef<\n Map<string, { content: ReactNode; cacheKey: CacheKeyValue }>\n >(new Map());\n\n /** Get the cache key for a panel. Returns undefined if not defined. */\n const getCacheKey = (key: string): CacheKeyValue => panelCacheKeys?.[key];\n\n /** Check if a panel has a defined (non-undefined) cache key. */\n const hasCacheKey = (key: string): boolean =>\n panelCacheKeys != null &&\n key in panelCacheKeys &&\n panelCacheKeys[key] !== undefined;\n\n /**\n * Determine if we should call renderPanel for this tab.\n */\n const shouldCallRenderPanel = (\n tabKey: string,\n isActive: boolean,\n ): boolean => {\n const cached = contentCacheRef.current.get(tabKey);\n\n // No cache exists - always need to populate on first render\n if (!cached) {\n return true;\n }\n\n // Cache exists\n if (isActive) {\n // If panelCacheKeys has an entry for this panel, use cache-key-based invalidation\n if (hasCacheKey(tabKey)) {\n const currentCacheKey = getCacheKey(tabKey);\n return cached.cacheKey !== currentCacheKey;\n }\n\n // No panelCacheKeys entry = always re-render when active\n return true;\n }\n\n // Inactive with cache - use cache\n return false;\n };\n\n // Clean up cache entries for removed tabs\n const currentTabKeys = useMemo(\n () => new Set(parsedTabs.map((t) => t.key)),\n [parsedTabs],\n );\n\n useEffect(() => {\n for (const key of contentCacheRef.current.keys()) {\n if (!currentTabKeys.has(key)) {\n contentCacheRef.current.delete(key);\n }\n }\n }, [currentTabKeys]);\n\n return (\n <>\n {parsedTabs.map((tab) => {\n const explicitPanel = explicitPanels.get(tab.key);\n const tabPrerender = explicitPanel?.prerender ?? tab.prerender;\n const tabKeepMounted = explicitPanel?.keepMounted ?? tab.keepMounted;\n const effectivePrerender = tabPrerender ?? prerender;\n const effectiveKeepMounted = tabKeepMounted ?? keepMounted;\n\n const isActive = state.selectedKey === tab.key;\n const wasVisited = visitedKeys.has(tab.key);\n\n // Determine if panel should be in DOM (visibility)\n if (\n !shouldRenderPanel(\n isActive,\n wasVisited,\n effectivePrerender,\n effectiveKeepMounted,\n )\n ) {\n // Panel not in DOM - clear cache if no caching strategy\n if (!effectiveKeepMounted && !effectivePrerender) {\n contentCacheRef.current.delete(tab.key);\n }\n return null;\n }\n\n // Determine if we need to call renderPanel\n let content: ReactNode;\n const needsRender = shouldCallRenderPanel(tab.key, isActive);\n\n if (needsRender) {\n // Call renderPanel and cache the result\n content = renderPanel(tab.key);\n const currentCacheKey = getCacheKey(tab.key);\n contentCacheRef.current.set(tab.key, {\n content,\n cacheKey: currentCacheKey,\n });\n } else {\n // Use cached content\n const cached = contentCacheRef.current.get(tab.key);\n content = cached?.content ?? null;\n }\n\n return (\n <TabPanelRenderer\n key={tab.key}\n tabKey={tab.key}\n state={state}\n content={content}\n prerender={prerender}\n keepMounted={keepMounted}\n tabPrerender={tabPrerender}\n tabKeepMounted={tabKeepMounted}\n visitedKeys={visitedKeys}\n panelStyles={explicitPanel?.styles}\n qa={explicitPanel?.qa}\n qaVal={explicitPanel?.qaVal}\n />\n );\n })}\n </>\n );\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.198.0 | Cube Dev Team */
|
|
2
2
|
import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
|
|
3
3
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
4
4
|
import { CloseIcon } from "../../../icons/CloseIcon.js";
|
|
@@ -7,7 +7,6 @@ import { POPOVER_PLACEMENT_BY_TABS_PLACEMENT } from "./popover-placement.js";
|
|
|
7
7
|
import { FilterPicker } from "../../fields/FilterPicker/FilterPicker.js";
|
|
8
8
|
import { c } from "react/compiler-runtime";
|
|
9
9
|
import { jsx } from "react/jsx-runtime";
|
|
10
|
-
|
|
11
10
|
//#region src/components/navigation/Tabs/TabPicker.tsx
|
|
12
11
|
/**
|
|
13
12
|
* Tab picker component that displays a dropdown menu of all tabs.
|
|
@@ -129,7 +128,7 @@ function TabPicker(t0) {
|
|
|
129
128
|
} else t11 = $[29];
|
|
130
129
|
return t11;
|
|
131
130
|
}
|
|
132
|
-
|
|
133
131
|
//#endregion
|
|
134
132
|
export { TabPicker };
|
|
133
|
+
|
|
135
134
|
//# sourceMappingURL=TabPicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabPicker.js","names":["useI18n","CloseIcon","MoreIcon","ItemAction","FilterPicker","POPOVER_PLACEMENT_BY_TABS_PLACEMENT","ParsedTab","TabPlacement","TabSize","TabType","TabPickerProps","tabs","selectedKey","onSelect","key","onDelete","size","type","placement","isReorderable","onReorder","newOrder","TabPicker","t0","$","_c","t1","t2","undefined","t","isDeletable","pickerSize","showBorderDivider","isVertical","t3","Symbol","for","t4","t5","t6","border","t7","t8","t9","String","t10","t11","tab","icon","tooltip","title","map"],"sources":["../../../../src/components/navigation/Tabs/TabPicker.tsx"],"sourcesContent":["import { useI18n } from '../../../i18n';\nimport { CloseIcon } from '../../../icons/CloseIcon';\nimport { MoreIcon } from '../../../icons/MoreIcon';\nimport { ItemAction } from '../../actions/ItemAction';\nimport { FilterPicker } from '../../fields/FilterPicker/FilterPicker';\n\nimport { POPOVER_PLACEMENT_BY_TABS_PLACEMENT } from './popover-placement';\n\nimport type { ParsedTab, TabPlacement, TabSize, TabType } from './types';\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface TabPickerProps {\n /** Ordered list of parsed tabs to display in the picker */\n tabs: ParsedTab[];\n /** Currently selected tab key */\n selectedKey: string | null;\n /** Callback when a tab is selected from the picker */\n onSelect: (key: string) => void;\n /** Callback when a tab should be deleted. When provided, shows delete action on items. */\n onDelete?: (key: string) => void;\n /** Size of the picker trigger button */\n size?: TabSize;\n /** Type of the parent Tabs component (for border styling) */\n type?: TabType;\n /** Placement of the parent Tabs component (controls divider + popover placement) */\n placement?: TabPlacement;\n /** Enable drag-and-drop reordering of items in the picker dropdown */\n isReorderable?: boolean;\n /** Callback when items are reordered via drag-and-drop */\n onReorder?: (newOrder: string[]) => void;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Tab picker component that displays a dropdown menu of all tabs.\n *\n * Used in the Tabs suffix area when tabs overflow to provide quick navigation\n * to any tab without scrolling.\n */\nexport function TabPicker({\n tabs,\n selectedKey,\n onSelect,\n onDelete,\n size,\n type = 'default',\n placement = 'top',\n isReorderable,\n onReorder,\n}: TabPickerProps) {\n const { t } = useI18n();\n const isDeletable = !!onDelete;\n\n // Map TabSize to FilterPicker size (xsmall -> small)\n const pickerSize = size === 'xsmall' ? 'small' : size;\n\n // Only show border divider for file type\n const showBorderDivider = type === 'file';\n const isVertical = placement === 'left' || placement === 'right';\n\n return (\n <FilterPicker\n isBare\n selectedKey={selectedKey}\n renderSummary={false}\n icon={<MoreIcon />}\n rightIcon={null}\n shape=\"sharp\"\n type=\"clear\"\n size={pickerSize}\n placement={POPOVER_PLACEMENT_BY_TABS_PLACEMENT[placement]}\n // Apply border to wrapper (FilterPickerWrapper) so :first-child evaluates\n // relative to Suffix container, not the internal DialogTrigger. The\n // divider side flips with the bar's orientation.\n styles={{\n border: showBorderDivider\n ? {\n '': 0,\n '!:first-child': isVertical ? 'top' : 'left',\n }\n : 0,\n }}\n triggerStyles={{ border: 0 }}\n aria-label={t('tabs.selectTab', 'Select tab')}\n isReorderable={isReorderable}\n onReorder={onReorder}\n onSelectionChange={(key) => {\n if (key != null) {\n onSelect(String(key));\n }\n }}\n >\n {tabs.map((tab) => (\n <FilterPicker.Item\n key={tab.key}\n icon={tab.icon}\n tooltip={tab.tooltip}\n textValue={\n typeof tab.title === 'string' ? tab.title : String(tab.key)\n }\n autoHideActions={isDeletable}\n actions={\n isDeletable ? (\n <ItemAction\n icon={<CloseIcon />}\n aria-label={t('tabs.close', 'Close')}\n onPress={() => {\n onDelete(tab.key);\n }}\n />\n ) : undefined\n }\n >\n {tab.title}\n </FilterPicker.Item>\n ))}\n </FilterPicker>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TabPicker.js","names":["useI18n","CloseIcon","MoreIcon","ItemAction","FilterPicker","POPOVER_PLACEMENT_BY_TABS_PLACEMENT","ParsedTab","TabPlacement","TabSize","TabType","TabPickerProps","tabs","selectedKey","onSelect","key","onDelete","size","type","placement","isReorderable","onReorder","newOrder","TabPicker","t0","$","_c","t1","t2","undefined","t","isDeletable","pickerSize","showBorderDivider","isVertical","t3","Symbol","for","t4","t5","t6","border","t7","t8","t9","String","t10","t11","tab","icon","tooltip","title","map","_c"],"sources":["../../../../src/components/navigation/Tabs/TabPicker.tsx"],"sourcesContent":["import { useI18n } from '../../../i18n';\nimport { CloseIcon } from '../../../icons/CloseIcon';\nimport { MoreIcon } from '../../../icons/MoreIcon';\nimport { ItemAction } from '../../actions/ItemAction';\nimport { FilterPicker } from '../../fields/FilterPicker/FilterPicker';\n\nimport { POPOVER_PLACEMENT_BY_TABS_PLACEMENT } from './popover-placement';\n\nimport type { ParsedTab, TabPlacement, TabSize, TabType } from './types';\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport interface TabPickerProps {\n /** Ordered list of parsed tabs to display in the picker */\n tabs: ParsedTab[];\n /** Currently selected tab key */\n selectedKey: string | null;\n /** Callback when a tab is selected from the picker */\n onSelect: (key: string) => void;\n /** Callback when a tab should be deleted. When provided, shows delete action on items. */\n onDelete?: (key: string) => void;\n /** Size of the picker trigger button */\n size?: TabSize;\n /** Type of the parent Tabs component (for border styling) */\n type?: TabType;\n /** Placement of the parent Tabs component (controls divider + popover placement) */\n placement?: TabPlacement;\n /** Enable drag-and-drop reordering of items in the picker dropdown */\n isReorderable?: boolean;\n /** Callback when items are reordered via drag-and-drop */\n onReorder?: (newOrder: string[]) => void;\n}\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Tab picker component that displays a dropdown menu of all tabs.\n *\n * Used in the Tabs suffix area when tabs overflow to provide quick navigation\n * to any tab without scrolling.\n */\nexport function TabPicker({\n tabs,\n selectedKey,\n onSelect,\n onDelete,\n size,\n type = 'default',\n placement = 'top',\n isReorderable,\n onReorder,\n}: TabPickerProps) {\n const { t } = useI18n();\n const isDeletable = !!onDelete;\n\n // Map TabSize to FilterPicker size (xsmall -> small)\n const pickerSize = size === 'xsmall' ? 'small' : size;\n\n // Only show border divider for file type\n const showBorderDivider = type === 'file';\n const isVertical = placement === 'left' || placement === 'right';\n\n return (\n <FilterPicker\n isBare\n selectedKey={selectedKey}\n renderSummary={false}\n icon={<MoreIcon />}\n rightIcon={null}\n shape=\"sharp\"\n type=\"clear\"\n size={pickerSize}\n placement={POPOVER_PLACEMENT_BY_TABS_PLACEMENT[placement]}\n // Apply border to wrapper (FilterPickerWrapper) so :first-child evaluates\n // relative to Suffix container, not the internal DialogTrigger. The\n // divider side flips with the bar's orientation.\n styles={{\n border: showBorderDivider\n ? {\n '': 0,\n '!:first-child': isVertical ? 'top' : 'left',\n }\n : 0,\n }}\n triggerStyles={{ border: 0 }}\n aria-label={t('tabs.selectTab', 'Select tab')}\n isReorderable={isReorderable}\n onReorder={onReorder}\n onSelectionChange={(key) => {\n if (key != null) {\n onSelect(String(key));\n }\n }}\n >\n {tabs.map((tab) => (\n <FilterPicker.Item\n key={tab.key}\n icon={tab.icon}\n tooltip={tab.tooltip}\n textValue={\n typeof tab.title === 'string' ? tab.title : String(tab.key)\n }\n autoHideActions={isDeletable}\n actions={\n isDeletable ? (\n <ItemAction\n icon={<CloseIcon />}\n aria-label={t('tabs.close', 'Close')}\n onPress={() => {\n onDelete(tab.key);\n }}\n />\n ) : undefined\n }\n >\n {tab.title}\n </FilterPicker.Item>\n ))}\n </FilterPicker>\n );\n}\n"],"mappings":"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"}
|
|
@@ -3,15 +3,12 @@ import { CubeItemActionProps } from "../../actions/ItemAction/ItemAction.js";
|
|
|
3
3
|
import "../../actions/index.js";
|
|
4
4
|
import { CubeTabListProps, CubeTabPanelProps, CubeTabProps, CubeTabsProps } from "./types.js";
|
|
5
5
|
import { CubeTabsActionProps, TabsAction } from "./TabsAction.js";
|
|
6
|
-
import * as react from "react";
|
|
7
6
|
import { ReactElement } from "react";
|
|
8
|
-
import * as _react_types_shared0 from "@react-types/shared";
|
|
9
|
-
|
|
10
7
|
//#region src/components/navigation/Tabs/Tabs.d.ts
|
|
11
8
|
declare function Tab(_props: CubeTabProps): ReactElement | null;
|
|
12
9
|
declare namespace Tab {
|
|
13
10
|
var displayName: string;
|
|
14
|
-
var Action: react.ForwardRefExoticComponent<CubeItemActionProps & react.RefAttributes<
|
|
11
|
+
var Action: import("react").ForwardRefExoticComponent<CubeItemActionProps & import("react").RefAttributes<import("@react-types/shared").FocusableRefValue<HTMLElement, HTMLElement>>>;
|
|
15
12
|
}
|
|
16
13
|
declare function TabPanel(_props: CubeTabPanelProps): ReactElement | null;
|
|
17
14
|
declare namespace TabPanel {
|
|
@@ -52,12 +49,12 @@ declare namespace TabList {
|
|
|
52
49
|
* <Tabs.Panel key="tab2">Content 2</Tabs.Panel>
|
|
53
50
|
* </Tabs>
|
|
54
51
|
*/
|
|
55
|
-
declare const Tabs: react.ForwardRefExoticComponent<CubeTabsProps & react.RefAttributes<HTMLDivElement>> & {
|
|
52
|
+
export declare const Tabs: import("react").ForwardRefExoticComponent<CubeTabsProps & import("react").RefAttributes<HTMLDivElement>> & {
|
|
56
53
|
Tab: typeof Tab;
|
|
57
54
|
List: typeof TabList;
|
|
58
55
|
Panel: typeof TabPanel;
|
|
59
|
-
Action: react.ForwardRefExoticComponent<CubeTabsActionProps & react.RefAttributes<
|
|
56
|
+
Action: import("react").ForwardRefExoticComponent<CubeTabsActionProps & import("react").RefAttributes<import("@react-types/shared").FocusableRefValue<HTMLElement, HTMLElement>>>;
|
|
60
57
|
};
|
|
61
58
|
//#endregion
|
|
62
|
-
export { Tab,
|
|
59
|
+
export { Tab, TabList, TabPanel, TabsAction };
|
|
63
60
|
//# sourceMappingURL=Tabs.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.198.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
@@ -22,7 +22,6 @@ import { Children, forwardRef, isValidElement, useEffect, useMemo, useRef } from
|
|
|
22
22
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
23
23
|
import { useTabList } from "react-aria";
|
|
24
24
|
import { Item, useTabListState } from "react-stately";
|
|
25
|
-
|
|
26
25
|
//#region src/components/navigation/Tabs/Tabs.tsx
|
|
27
26
|
/**
|
|
28
27
|
* Generic helper to check if a child is a specific component by displayName.
|
|
@@ -80,9 +79,10 @@ function TabsComponent(props, ref) {
|
|
|
80
79
|
const effectiveType = orientation === "vertical" && type === "narrow" ? "default" : type;
|
|
81
80
|
const baseStyles = extractStyles(otherProps, OUTER_STYLES);
|
|
82
81
|
const tabListPaddingStyles = useMemo(() => tabListPadding ? { "$tablist-padding": `${tabListPadding}` } : void 0, [tabListPadding]);
|
|
82
|
+
const mergedTabListStyles = useMemo(() => mergeStyles(tabListPaddingStyles, tabListStyles), [tabListPaddingStyles, tabListStyles]);
|
|
83
83
|
const combinedStyles = useMergeStyles(baseStyles, {
|
|
84
84
|
Bar: barStyles,
|
|
85
|
-
TabList:
|
|
85
|
+
TabList: mergedTabListStyles,
|
|
86
86
|
Prefix: prefixStyles,
|
|
87
87
|
Suffix: suffixStyles
|
|
88
88
|
});
|
|
@@ -480,7 +480,7 @@ const Tabs = Object.assign(_Tabs, {
|
|
|
480
480
|
Panel: TabPanel,
|
|
481
481
|
Action: TabsAction
|
|
482
482
|
});
|
|
483
|
-
|
|
484
483
|
//#endregion
|
|
485
|
-
export { Tab, Tabs };
|
|
484
|
+
export { Tab, TabList, TabPanel, Tabs, TabsAction };
|
|
485
|
+
|
|
486
486
|
//# sourceMappingURL=Tabs.js.map
|