@cube-dev/ui-kit 0.207.0 → 0.209.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 +26 -0
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js.map +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.d.ts +0 -2
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/CollectionItem.js.map +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GlobalStyles.js.map +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/GridProvider.js.map +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +7 -4
- package/dist/components/Root.js.map +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Banner/Banner.js.map +1 -1
- package/dist/components/actions/Button/AutoCollapseObserver.js +215 -0
- package/dist/components/actions/Button/AutoCollapseObserver.js.map +1 -0
- package/dist/components/actions/Button/Button.d.ts +38 -1
- package/dist/components/actions/Button/Button.js +80 -19
- package/dist/components/actions/Button/Button.js.map +1 -1
- package/dist/components/actions/Button/index.d.ts +16 -1
- package/dist/components/actions/Button/index.js +13 -0
- package/dist/components/actions/Button/index.js.map +1 -0
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.d.ts +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +2 -2
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +2 -2
- package/dist/components/actions/ItemButton/ItemButton.d.ts +0 -2
- package/dist/components/actions/ItemButton/ItemButton.js +2 -2
- package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.d.ts +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/Menu.js.map +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +2 -2
- package/dist/components/actions/Menu/MenuItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +3 -3
- package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +2 -2
- package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/index.d.ts +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.d.ts +6 -18
- package/dist/components/actions/use-action.js +2 -2
- package/dist/components/actions/use-action.js.map +1 -1
- package/dist/components/actions/use-anchored-menu.d.ts +0 -1
- package/dist/components/actions/use-anchored-menu.js +2 -2
- package/dist/components/actions/use-anchored-menu.js.map +1 -1
- package/dist/components/actions/use-context-menu.d.ts +0 -1
- package/dist/components/actions/use-context-menu.js +3 -3
- package/dist/components/actions/use-context-menu.js.map +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js.map +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.d.ts +0 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Badge/Badge.js.map +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/Content.js.map +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -3
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.d.ts +2 -18
- package/dist/components/content/CopySnippet/CopySnippet.js +2 -2
- package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
- package/dist/components/content/Disclosure/Disclosure.d.ts +0 -1
- package/dist/components/content/Disclosure/Disclosure.js +2 -2
- package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
- package/dist/components/content/Divider/Divider.js +1 -1
- package/dist/components/content/Divider/Divider.js.map +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Footer.js.map +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/Header.js.map +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
- package/dist/components/content/Item/Item.d.ts +1 -11
- package/dist/components/content/Item/Item.js +111 -115
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +2 -2
- package/dist/components/content/Item/index.d.ts +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemBadge/index.d.ts +1 -2
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/Layout.js.map +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js.map +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js.map +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPane.js +2 -2
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +4 -4
- package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +2 -2
- package/dist/components/content/Result/Result.js.map +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/content/Tag/Tag.d.ts +0 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Tag/Tag.js.map +1 -1
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/Title.js.map +1 -1
- package/dist/components/content/Tree/Tree.js +1 -1
- package/dist/components/content/Tree/Tree.js.map +1 -1
- package/dist/components/content/Tree/TreeNode.js +5 -5
- package/dist/components/content/Tree/TreeNode.js.map +1 -1
- package/dist/components/content/Tree/checked-keys.js +1 -1
- package/dist/components/content/Tree/rowId.js +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/styled.js.map +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/types.d.ts +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
- package/dist/components/content/Tree/use-load-data.js +1 -1
- package/dist/components/content/Tree/use-load-data.js.map +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +233 -111
- package/dist/components/content/use-auto-tooltip.js.map +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/DataTable/DataTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +2 -2
- package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -2
- package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
- package/dist/components/data/ItemTable/item-table-sections.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableRow.js.map +1 -1
- package/dist/components/data/TableBase/TableRowLink.js +1 -1
- package/dist/components/data/TableBase/TableView.js +6 -6
- package/dist/components/data/TableBase/TableView.js.map +1 -1
- package/dist/components/data/TableBase/TreeGridTable.js +1 -1
- package/dist/components/data/TableBase/column-header.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-menu.js.map +1 -1
- package/dist/components/data/TableBase/column-styles.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.js +1 -1
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-body-sections.js +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
- package/dist/components/data/TableBase/use-column-menu.js +2 -2
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-column-order.js.map +1 -1
- package/dist/components/data/TableBase/use-column-window.js +1 -1
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
- package/dist/components/fields/Checkbox/Checkbox.d.ts +0 -1
- package/dist/components/fields/Checkbox/Checkbox.js +3 -3
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +0 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +3 -3
- package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.d.ts +0 -1
- package/dist/components/fields/ColorInput/ColorInput.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.d.ts +0 -3
- package/dist/components/fields/ColorPicker/ColorPicker.js +3 -3
- package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +0 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +2 -2
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ComboBox/ComboBox.d.ts +0 -1
- package/dist/components/fields/ComboBox/ComboBox.js +6 -6
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +1 -2
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +2 -2
- package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/CalendarPopover.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateInput.js +2 -2
- package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DatePicker.js +2 -2
- package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +2 -2
- package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +2 -2
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +2 -2
- package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.d.ts +0 -1
- package/dist/components/fields/DatePicker/TimeInput.js +2 -2
- package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.d.ts +0 -1
- package/dist/components/fields/FileInput/FileInput.js +207 -185
- package/dist/components/fields/FileInput/FileInput.js.map +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +3 -3
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterListBox/styled.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +0 -3
- package/dist/components/fields/FilterPicker/FilterPicker.js +8 -8
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterTree.js +2 -2
- package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -1
- package/dist/components/fields/Input/Input.d.ts +0 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/Input/Input.js.map +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +4 -4
- package/dist/components/fields/ListBox/ListBox.js.map +1 -1
- package/dist/components/fields/ListBox/optionId.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +2 -2
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +2 -2
- package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +0 -2
- package/dist/components/fields/Picker/Picker.js +8 -8
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +0 -1
- package/dist/components/fields/RadioGroup/Radio.js +3 -5
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.d.ts +0 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +3 -3
- package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +0 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +6 -6
- package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +2 -2
- package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/fields/Select/Select.d.ts +1 -2
- package/dist/components/fields/Select/Select.js +7 -7
- package/dist/components/fields/Select/Select.js.map +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/Slider.js.map +1 -1
- package/dist/components/fields/Slider/SliderBase.js +2 -2
- package/dist/components/fields/Slider/SliderBase.js.map +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +2 -2
- package/dist/components/fields/Slider/types.d.ts +0 -1
- package/dist/components/fields/Switch/Switch.d.ts +0 -1
- package/dist/components/fields/Switch/Switch.js +3 -3
- package/dist/components/fields/Switch/Switch.js.map +1 -1
- package/dist/components/fields/TagInput/TagInput.js +5 -5
- package/dist/components/fields/TagInput/TagInput.js.map +1 -1
- package/dist/components/fields/TagInput/TagList.js +1 -1
- package/dist/components/fields/TagInput/TagList.js.map +1 -1
- package/dist/components/fields/TagInput/useActiveOption.js +1 -1
- package/dist/components/fields/TagInput/useTagError.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +2 -2
- package/dist/components/fields/TextArea/TextArea.js.map +1 -1
- package/dist/components/fields/TextInput/TextInput.js +2 -2
- package/dist/components/fields/TextInput/TextInput.js.map +1 -1
- package/dist/components/fields/TextInput/TextInputBase.d.ts +0 -1
- package/dist/components/fields/TextInput/TextInputBase.js +3 -3
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInput/displayed-validation.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +0 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +3 -3
- package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
- package/dist/components/fields/TriggerActions.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +1 -1
- package/dist/components/fields/color/ColorPanel.js.map +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/fields/index.d.ts +2 -2
- package/dist/components/fields/option-origin-press.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +2 -2
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +1 -1
- package/dist/components/form/FieldWrapper/types.d.ts +0 -1
- package/dist/components/form/Form/Field.d.ts +0 -1
- package/dist/components/form/Form/Field.js +3 -3
- package/dist/components/form/Form/Field.js.map +1 -1
- package/dist/components/form/Form/Form.d.ts +1 -26
- package/dist/components/form/Form/Form.js +7 -116
- package/dist/components/form/Form/Form.js.map +1 -1
- package/dist/components/form/Form/FormContext.d.ts +30 -0
- package/dist/components/form/Form/FormContext.js +79 -0
- package/dist/components/form/Form/FormContext.js.map +1 -0
- package/dist/components/form/Form/FormElement.js +49 -0
- package/dist/components/form/Form/FormElement.js.map +1 -0
- package/dist/components/form/Form/ModernFormRoot.js +3 -2
- package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +2 -2
- package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +2 -2
- package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/dist/components/form/Form/SubmitError.d.ts +0 -1
- package/dist/components/form/Form/SubmitError.js +3 -3
- package/dist/components/form/Form/SubmitError.js.map +1 -1
- package/dist/components/form/Form/backend.js +1 -1
- package/dist/components/form/Form/index.d.ts +2 -1
- package/dist/components/form/Form/index.js +6 -5
- package/dist/components/form/Form/index.js.map +1 -1
- package/dist/components/form/Form/modern/actions.js +1 -1
- package/dist/components/form/Form/modern/context.js +1 -1
- package/dist/components/form/Form/modern/controller.js +1 -1
- package/dist/components/form/Form/modern/field-binding.js +1 -1
- package/dist/components/form/Form/modern/field.js +1 -1
- package/dist/components/form/Form/modern/react.js +1 -1
- package/dist/components/form/Form/modern/store.js +1 -1
- package/dist/components/form/Form/modern/validation.js +1 -1
- package/dist/components/form/Form/modern/values.js +1 -1
- package/dist/components/form/Form/reset-unbound-controls.js +1 -1
- package/dist/components/form/Form/use-field/types.d.ts +0 -1
- package/dist/components/form/Form/use-field/use-field-binding.js +2 -2
- package/dist/components/form/Form/use-field/use-field-props.js +4 -4
- package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
- package/dist/components/form/Form/use-field/use-field.d.ts +0 -1
- package/dist/components/form/Form/use-field/use-field.js +2 -2
- package/dist/components/form/Form/use-field/use-field.js.map +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.d.ts +0 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/Label.js.map +1 -1
- package/dist/components/form/field-chrome.js +1 -1
- package/dist/components/form/field-layout.js +1 -1
- package/dist/components/form/field-layout.js.map +1 -1
- package/dist/components/form/index.d.ts +2 -1
- package/dist/components/form/legacy-tooltip.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.d.ts +0 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
- package/dist/components/form/validation/resolve-validation-props.d.ts +0 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js.map +1 -1
- package/dist/components/form/wrapper.d.ts +0 -1
- package/dist/components/form/wrapper.js +1 -1
- package/dist/components/form/wrapper.js.map +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/Prefix.js.map +1 -1
- package/dist/components/layout/ResizablePanel.js +2 -2
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/layout/Suffix.js.map +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +3 -3
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +4 -4
- package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +2 -2
- package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/segmented-styles.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/styled.js.map +1 -1
- package/dist/components/navigation/Tabs/types.d.ts +2 -2
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +2 -2
- package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +2 -2
- package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
- package/dist/components/overlays/AlertDialog/types.d.ts +0 -1
- package/dist/components/overlays/Dialog/Dialog.js +2 -2
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +2 -2
- package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.d.ts +0 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +5 -5
- package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +2 -2
- package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/default-button-text.js +1 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js +1 -1
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js.map +1 -1
- package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +2 -2
- package/dist/components/overlays/Modal/Modal.js.map +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js.map +1 -1
- package/dist/components/overlays/Modal/Popover.js +2 -2
- package/dist/components/overlays/Modal/Popover.js.map +1 -1
- package/dist/components/overlays/Modal/Tray.js +2 -2
- package/dist/components/overlays/Modal/Tray.js.map +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/modal-containment.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +2 -2
- package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +2 -2
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
- package/dist/components/overlays/Toast/useToast.js +2 -2
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +20 -7
- package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.d.ts +1 -0
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +225 -103
- package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/overlays/Tooltip/context.js.map +1 -1
- package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +8 -32
- package/dist/data/item-themes.js.map +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +4 -4
- package/dist/i18n/instance.js +3 -3
- package/dist/i18n/locales/de-DE/uikit.js +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/namespace.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.d.ts +29 -27
- package/dist/index.js +69 -69
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +2 -2
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigation-url.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +1 -1
- package/dist/tokens/all-tokens.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/legacy-color.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +23 -11
- package/dist/tokens/palette.js.map +1 -1
- package/dist/tokens/resolve.js +2 -2
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/dotize.js +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.d.ts +3 -3
- package/dist/utils/react/index.js +13 -13
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/overlayKeyPropagation.js +1 -1
- package/dist/utils/react/programmaticFocus.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useScheme.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +3 -3
- package/docs/Usage.md +15 -1
- package/docs/components/actions/Button.md +45 -0
- package/docs/components/actions/ButtonSplit.md +1 -1
- package/docs/components/fields/FileInput.md +18 -5
- package/docs/glaze/contrast.mdx +751 -0
- package/docs/glaze/exporting.mdx +635 -0
- package/docs/glaze/getting-started.mdx +487 -0
- package/docs/glaze/hdr.mdx +523 -0
- package/docs/glaze/methodology.mdx +979 -0
- package/docs/glaze/migration.md +476 -285
- package/docs/glaze/mixes.mdx +348 -0
- package/docs/glaze/okhst.mdx +692 -0
- package/docs/glaze/reference/color-definitions.md +552 -0
- package/docs/glaze/reference/color-tokens.md +421 -0
- package/docs/glaze/reference/configuration.md +532 -0
- package/docs/glaze/reference/contrast.md +279 -0
- package/docs/glaze/reference/index.md +225 -0
- package/docs/glaze/reference/output.md +714 -0
- package/docs/glaze/reference/palette.md +435 -0
- package/docs/glaze/reference/theme.md +332 -0
- package/docs/glaze/reference/utilities.md +646 -0
- package/docs/glaze/schemes.mdx +644 -0
- package/docs/glaze/shadows-and-glows.mdx +550 -0
- package/docs/tasty/ai-agents.md +1 -1
- package/docs/tasty/design-system.md +12 -0
- package/docs/tasty/dsl.md +20 -0
- package/docs/tasty/pipeline.md +1 -1
- package/package.json +5 -5
- package/tasty.config.generated.ts +1 -1
- package/dist/components/actions/index.js +0 -29
- package/dist/components/actions/index.js.map +0 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.d.ts +0 -4
- package/dist/components/fields/ListBoxPopover/index.d.ts +0 -5
- package/dist/components/overlays/Modal/Modal.d.ts +0 -3
- package/dist/components/overlays/Modal/Popover.d.ts +0 -7
- package/dist/components/overlays/Modal/Tray.d.ts +0 -5
- package/dist/components/overlays/Modal/Underlay.d.ts +0 -3
- package/dist/components/overlays/Modal/index.d.ts +0 -8
- package/docs/glaze/api.md +0 -2021
- package/docs/glaze/methodology.md +0 -686
- package/docs/glaze/okhst.md +0 -207
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipTrigger.js","names":["FocusableProvider","Children","ContextType","createContext","FocusEvent","HTMLAttributes","isValidElement","ReactElement","ReactNode","RefObject","useContext","useEffectEvent","useRef","useState","Placement","TooltipTriggerProps","useOverlayPosition","useTooltipTrigger","useTooltipTriggerState","useEvent","isDevEnv","isFocusRestoration","useLayoutEffect","Block","ActiveZone","DisplayTransition","DisplayTransitionProps","Portal","TooltipContext","CubeTooltipProps","Tooltip","TooltipPositionOptions","Pick","Parameters","onClose","TooltipPositionContext","TooltipTransition","props","$","_c","hasShown","setHasShown","isShown","t0","Box","DOMRect","overlaps","a","b","bottom","top","right","left","isInView","trigger","Element","scrolled","EventTarget","rect","getBoundingClientRect","viewport","window","innerHeight","innerWidth","PositionedTooltip","tooltip","contextValue","t1","options","overlayProps","arrowProps","placement","updatePosition","t2","targetRef","current","event","target","Node","contains","HTMLInputElement","HTMLTextAreaElement","onScroll","t3","isOpen","listener","event_0","addEventListener","removeEventListener","t4","t5","t6","t7","DEFAULT_OFFSET","DEFAULT_CROSS_OFFSET","isTriggerFunction","value","TooltipTriggerFunction","isReactElement","P","isEmptyTooltip","type","toArray","children","every","child","triggerProps","HTMLElement","ref","CubeTooltipTriggerProps","crossOffset","offset","isMaterial","isLight","activeWrap","onOpenChange","defaultOpen","isDisabled","delay","closeDelay","disableFocusableProvider","TooltipTrigger","externalRef","triggerAction","shouldCloseOnPress","undefined","rawChildrenArray","Array","isArray","Error","console","warn","internalRef","tooltipTriggerRef","overlayRef","state","isTooltipDisabled","rawTriggerProps","tooltipProps","onFocus","close","positionOptions","shouldFlip","tooltipContextValue","tooltipContent","phase","transitionRef","Symbol","for","onClick","e","currentTarget","parentNode","click","t8","triggerContent","_c","Tooltip","ActiveZone"],"sources":["../../../../src/components/overlays/Tooltip/TooltipTrigger.tsx"],"sourcesContent":["import { FocusableProvider } from '@react-aria/focus';\nimport {\n Children,\n ContextType,\n createContext,\n FocusEvent,\n HTMLAttributes,\n isValidElement,\n ReactElement,\n ReactNode,\n RefObject,\n useContext,\n useEffectEvent,\n useRef,\n useState,\n} from 'react';\nimport {\n Placement,\n TooltipTriggerProps,\n useOverlayPosition,\n useTooltipTrigger,\n} from 'react-aria';\nimport { useTooltipTriggerState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal';\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { isFocusRestoration } from '../../../utils/react/programmaticFocus';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Block } from '../../Block';\nimport { ActiveZone } from '../../content/ActiveZone/ActiveZone';\nimport {\n DisplayTransition,\n DisplayTransitionProps,\n} from '../../helpers/DisplayTransition/DisplayTransition';\nimport { Portal } from '../../portal';\n\nimport { TooltipContext } from './context';\nimport { CubeTooltipProps, Tooltip } from './Tooltip';\n\ntype TooltipPositionOptions = Pick<\n Parameters<typeof useOverlayPosition>[0],\n | 'placement'\n | 'targetRef'\n | 'overlayRef'\n | 'offset'\n | 'crossOffset'\n | 'isOpen'\n | 'shouldFlip'\n> & {\n onClose: () => void;\n};\n\n// DisplayTransition preserves its last shown render prop during exit. Position\n// subscriptions must still see the current target, configuration and open state.\nconst TooltipPositionContext = createContext<TooltipPositionOptions>(null!);\n\nfunction TooltipTransition(\n props: Pick<DisplayTransitionProps, 'children' | 'isShown'>,\n) {\n const [hasShown, setHasShown] = useState(props.isShown);\n\n // Once opened, retain the transition owner through closing and reopening.\n // A never-opened tooltip has no animation resources to maintain.\n if (props.isShown && !hasShown) setHasShown(true);\n if (!hasShown && !props.isShown) return null;\n\n return <DisplayTransition {...props} />;\n}\n\ntype Box = Pick<DOMRect, 'top' | 'right' | 'bottom' | 'left'>;\n\nfunction overlaps(a: Box, b: Box) {\n return (\n a.bottom > b.top && a.top < b.bottom && a.right > b.left && a.left < b.right\n );\n}\n\n/**\n * Whether the trigger is still visible after `scrolled` scrolled: it overlaps\n * the viewport and, when an element scrolled, that element's box.\n */\nfunction isInView(trigger: Element, scrolled: EventTarget | null) {\n const rect = trigger.getBoundingClientRect();\n const viewport = {\n top: 0,\n left: 0,\n bottom: window.innerHeight,\n right: window.innerWidth,\n };\n\n return (\n overlaps(rect, viewport) &&\n (!(scrolled instanceof Element) ||\n overlaps(rect, scrolled.getBoundingClientRect()))\n );\n}\n\nfunction PositionedTooltip({\n tooltip,\n contextValue,\n}: {\n tooltip: ReactElement;\n contextValue: ContextType<typeof TooltipContext>;\n}) {\n const { onClose, ...options } = useContext(TooltipPositionContext);\n const { overlayProps, arrowProps, placement, updatePosition } =\n useOverlayPosition(options);\n\n // A scroll of the page or of an element that contains the trigger moves the\n // trigger. The tooltip follows it while it stays in view, and closes once it\n // is scrolled out. Closing on any scroll, as a popover does, would close the\n // tooltip a keyboard user just opened: focus scrolls a trigger into view —\n // the browser at once, a list a frame later — and the scroll is reported\n // after the tooltip opened.\n const onScroll = useEffectEvent((event: Event) => {\n const trigger = options.targetRef.current;\n const { target } = event;\n\n if (\n !trigger ||\n (target instanceof Node && !target.contains(trigger)) ||\n // A text field scrolls its own text to keep the caret in view.\n target instanceof HTMLInputElement ||\n target instanceof HTMLTextAreaElement\n ) {\n return;\n }\n\n if (isInView(trigger, target)) {\n updatePosition();\n } else {\n onClose();\n }\n });\n\n // Subscribed at commit, with the positioning, so a scroll reported on the\n // next frame is never missed.\n useLayoutEffect(() => {\n if (!options.isOpen) return;\n\n const listener = (event: Event) => onScroll(event);\n\n window.addEventListener('scroll', listener, true);\n\n return () => window.removeEventListener('scroll', listener, true);\n }, [options.isOpen]);\n\n return (\n <TooltipContext.Provider\n value={{\n ...contextValue,\n placement: placement || options.placement || 'top',\n overlayProps,\n arrowProps,\n updatePosition,\n }}\n >\n {tooltip}\n </TooltipContext.Provider>\n );\n}\n\nconst DEFAULT_OFFSET = 8; // Offset needed to reach 4px/5px (med/large) distance between tooltip and trigger button\nconst DEFAULT_CROSS_OFFSET = 0;\n\n// Type guards\nfunction isTriggerFunction(value: unknown): value is TooltipTriggerFunction {\n return typeof value === 'function';\n}\n\nfunction isReactElement<P = unknown>(value: unknown): value is ReactElement<P> {\n return isValidElement(value);\n}\n\n/**\n * Whether a `Tooltip` has nothing to show. The docs turn a tooltip off with\n * `title={null}`, and opening it anyway drew an empty bubble and described the\n * trigger by it. Only a `Tooltip` is inspected: another component may render\n * content of its own.\n */\nfunction isEmptyTooltip(tooltip: ReactElement<CubeTooltipProps>): boolean {\n return (\n tooltip.type === Tooltip &&\n Children.toArray(tooltip.props.children).every((child) => child === '')\n );\n}\n\nexport type TooltipTriggerFunction = (\n triggerProps: HTMLAttributes<HTMLElement>,\n ref: RefObject<HTMLElement>,\n) => ReactNode;\n\nexport interface CubeTooltipTriggerProps extends TooltipTriggerProps {\n children: [ReactElement | string | TooltipTriggerFunction, ReactElement];\n crossOffset?: number;\n offset?: number;\n placement?: Placement;\n isMaterial?: boolean;\n isLight?: boolean;\n /**\n * @deprecated Use function-as-first-child pattern instead.\n * Whether the trigger should have an ActiveZone wrap to make sure it's focusable and hoverable.\n * Otherwise, tooltip won't work.\n */\n activeWrap?: boolean;\n /**\n * External ref to use instead of internal ref (optional).\n */\n targetRef?: RefObject<HTMLElement>;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n /**\n * Whether the tooltip should be disabled, independent of the trigger.\n */\n isDisabled?: boolean;\n /**\n * The delay time for the tooltip to show up.\n * @default 250\n */\n delay?: number;\n /**\n * The delay time for the tooltip to close.\n * @default 500\n */\n closeDelay?: number;\n /**\n * By default, opens for both focus and hover. Can be made to open only for focus.\n */\n trigger?: 'focus';\n /**\n * When true, FocusableProvider won't be applied to the trigger.\n * Useful when trigger already handles focus or uses render props pattern.\n */\n disableFocusableProvider?: boolean;\n}\n\n/**\n * TooltipTrigger wraps around a trigger element and a Tooltip. It handles opening and closing\n * the Tooltip when the user hovers over or focuses the trigger, and positioning the Tooltip\n * relative to the trigger.\n */\nexport function TooltipTrigger(props: CubeTooltipTriggerProps) {\n let {\n children,\n activeWrap,\n targetRef: externalRef,\n crossOffset = DEFAULT_CROSS_OFFSET,\n isDisabled,\n isMaterial,\n isLight,\n offset = DEFAULT_OFFSET,\n trigger: triggerAction,\n delay = 250,\n shouldCloseOnPress,\n isOpen,\n onOpenChange,\n defaultOpen,\n disableFocusableProvider,\n } = props;\n\n // Extract both children without using React.Children.toArray so we don't lose\n // function-as-child (render-prop) which React.Children filters out.\n const rawChildrenArray = Array.isArray(children)\n ? (children as unknown[])\n : ([children] as unknown[]);\n\n const [trigger, tooltip] = rawChildrenArray;\n\n // Type guard the tooltip\n if (!isReactElement<CubeTooltipProps>(tooltip)) {\n throw new Error(\n 'CubeUIKit: TooltipTrigger expects the second child to be a valid React element (Tooltip component).',\n );\n }\n\n // Type guard the trigger\n if (\n !isTriggerFunction(trigger) &&\n !isReactElement(trigger) &&\n typeof trigger !== 'string'\n ) {\n throw new Error(\n 'CubeUIKit: TooltipTrigger expects the first child to be a function, React element, or string.',\n );\n }\n\n // Show deprecation warning for activeWrap\n if (activeWrap && isDevEnv()) {\n console.warn(\n 'CubeUIKit: The `activeWrap` prop is deprecated. Use function-as-first-child pattern instead.',\n );\n }\n\n let internalRef = useRef<HTMLElement>(null!);\n let tooltipTriggerRef = externalRef ?? internalRef;\n let overlayRef = useRef<HTMLDivElement>(null);\n\n let state = useTooltipTriggerState({ delay, ...props });\n\n // A tooltip with nothing to show is a disabled one.\n const isTooltipDisabled = isDisabled || isEmptyTooltip(tooltip);\n\n let { triggerProps: rawTriggerProps, tooltipProps } = useTooltipTrigger(\n {\n // Without it a disabled tooltip still opened — invisibly, since nothing\n // renders it — and while open React Aria's document-level listener eats\n // every `Escape`, so a Dialog under the pointer would not close.\n isDisabled: isTooltipDisabled,\n trigger: triggerAction,\n delay,\n isOpen,\n onOpenChange,\n defaultOpen,\n shouldCloseOnPress,\n },\n state,\n tooltipTriggerRef,\n );\n\n // A tooltip answers a user arriving at the trigger. Focus handed back by a\n // component — a popup returning it to the trigger it came from — is not that\n // arrival, but the DOM event is identical and the modality is still\n // \"keyboard\", so React Aria would show the tooltip anyway. It then absorbs\n // the user's next `Escape` from its own document-level listener, which is\n // how a Dialog ended up needing two presses to close (CUB-4839).\n //\n // Dropping the focus handler rather than closing after the fact: React Aria\n // decides to show inside it, so this never starts and nothing flashes.\n //\n // Covers both restore paths — ours and a `FocusScope`'s — see\n // `programmaticFocus`.\n const onFocus = useEvent((event: FocusEvent<HTMLElement>) => {\n if (isFocusRestoration()) return;\n\n rawTriggerProps.onFocus?.(event);\n });\n\n const triggerProps = {\n ...rawTriggerProps,\n onFocus,\n // A controlled `isOpen` still opens a disabled tooltip's state, and nothing\n // is rendered to describe the trigger by.\n 'aria-describedby': isTooltipDisabled\n ? undefined\n : rawTriggerProps['aria-describedby'],\n };\n\n const positionOptions: TooltipPositionOptions = {\n placement: props.placement || 'top',\n targetRef: tooltipTriggerRef,\n overlayRef,\n offset,\n crossOffset,\n isOpen: state.isOpen,\n // Documented on `Tooltip`, which renders inside the positioned layer, so\n // it is read from the element here.\n shouldFlip: tooltip.props.shouldFlip,\n // Called once a scroll carries the trigger out of view.\n onClose: () => state.close(true),\n };\n\n const tooltipContextValue = {\n state,\n ref: overlayRef,\n isMaterial,\n isLight,\n ...tooltipProps,\n };\n\n // Closed triggers retain their interaction state, but positioning resources\n // belong to the overlay's visible/closing lifetime rather than every label.\n const tooltipContent = (\n <TooltipPositionContext.Provider value={positionOptions}>\n <TooltipTransition isShown={state.isOpen && !isTooltipDisabled}>\n {({ phase, isShown, ref: transitionRef }) => (\n <Portal>\n <PositionedTooltip\n tooltip={tooltip}\n contextValue={{\n ...tooltipContextValue,\n phase,\n isShown,\n ref: overlayRef,\n transitionRef,\n }}\n />\n </Portal>\n )}\n </TooltipTransition>\n </TooltipPositionContext.Provider>\n );\n\n // Function trigger pattern (new)\n if (isTriggerFunction(trigger)) {\n return (\n <>\n {trigger(triggerProps, tooltipTriggerRef)}\n {tooltipContent}\n </>\n );\n }\n\n // Legacy element/string trigger pattern\n if (!activeWrap && typeof trigger === 'string') {\n console.warn(\n 'CubeUIKit: Tooltips are only supported on elements that are both focusable and hoverable. To solve this issue you can: 1) Use active element as a trigger (`Button`, `Link`, etc); 2) Use function-as-first-child pattern to manually apply trigger props; 3) Use `ActiveZone` component to manually wrap the content.',\n );\n\n return <Block>{trigger}</Block>;\n }\n\n function onClick(e) {\n e?.currentTarget?.parentNode.click();\n }\n\n const triggerContent = (\n <>\n {activeWrap ? (\n <ActiveZone onClick={onClick}>{trigger}</ActiveZone>\n ) : (\n trigger\n )}\n {tooltipContent}\n </>\n );\n\n if (disableFocusableProvider) {\n return triggerContent;\n }\n\n return (\n <FocusableProvider {...triggerProps} ref={tooltipTriggerRef}>\n {triggerContent}\n </FocusableProvider>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TooltipTrigger.js","names":["FocusableProvider","Children","ContextType","createContext","FocusEvent","HTMLAttributes","isValidElement","ReactElement","ReactNode","RefObject","useContext","useEffectEvent","useRef","useState","Placement","TooltipTriggerProps","useOverlayPosition","useTooltipTrigger","useTooltipTriggerState","useEvent","isDevEnv","isFocusRestoration","useLayoutEffect","Block","ActiveZone","DisplayTransition","DisplayTransitionProps","Portal","TooltipContext","CubeTooltipProps","Tooltip","TooltipPositionOptions","Pick","Parameters","onClose","TooltipPositionContext","TooltipTransition","props","$","_c","hasShown","setHasShown","isShown","t0","Box","DOMRect","overlaps","a","b","bottom","top","right","left","isInView","trigger","Element","scrolled","EventTarget","rect","getBoundingClientRect","viewport","window","innerHeight","innerWidth","PositionedTooltip","tooltip","contextValue","t1","options","overlayProps","arrowProps","placement","updatePosition","t2","targetRef","current","event","target","Node","contains","HTMLInputElement","HTMLTextAreaElement","onScroll","t3","isOpen","listener","event_0","addEventListener","removeEventListener","t4","t5","t6","t7","DEFAULT_OFFSET","DEFAULT_CROSS_OFFSET","isTriggerFunction","value","TooltipTriggerFunction","isReactElement","P","isEmptyTooltip","type","toArray","children","every","child","triggerProps","HTMLElement","ref","CubeTooltipTriggerProps","crossOffset","offset","isMaterial","isLight","activeWrap","onOpenChange","defaultOpen","isDisabled","delay","closeDelay","disableFocusableProvider","TooltipTriggerBindingProps","Omit","TooltipTriggerBinding","triggerRef","renderTooltip","useTooltipTriggerBinding","externalRef","triggerAction","shouldCloseOnPress","undefined","internalRef","tooltipTriggerRef","overlayRef","state","isTooltipDisabled","rawTriggerProps","tooltipProps","onFocus","t8","t9","tooltipContextValue","t10","positionOptions","shouldFlip","close","t11","phase","transitionRef","TooltipTrigger","Array","isArray","rawChildrenArray","Error","console","warn","tooltipContent","Symbol","for","onClick","e","currentTarget","parentNode","click","triggerContent","_c","Tooltip","rawChildrenArray","ActiveZone"],"sources":["../../../../src/components/overlays/Tooltip/TooltipTrigger.tsx"],"sourcesContent":["import { FocusableProvider } from '@react-aria/focus';\nimport {\n Children,\n ContextType,\n createContext,\n FocusEvent,\n HTMLAttributes,\n isValidElement,\n ReactElement,\n ReactNode,\n RefObject,\n useContext,\n useEffectEvent,\n useRef,\n useState,\n} from 'react';\nimport {\n Placement,\n TooltipTriggerProps,\n useOverlayPosition,\n useTooltipTrigger,\n} from 'react-aria';\nimport { useTooltipTriggerState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { isFocusRestoration } from '../../../utils/react/programmaticFocus';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Block } from '../../Block';\nimport { ActiveZone } from '../../content/ActiveZone/ActiveZone';\nimport {\n DisplayTransition,\n DisplayTransitionProps,\n} from '../../helpers/DisplayTransition/DisplayTransition';\nimport { Portal } from '../../portal/Portal';\n\nimport { TooltipContext } from './context';\nimport { CubeTooltipProps, Tooltip } from './Tooltip';\n\ntype TooltipPositionOptions = Pick<\n Parameters<typeof useOverlayPosition>[0],\n | 'placement'\n | 'targetRef'\n | 'overlayRef'\n | 'offset'\n | 'crossOffset'\n | 'isOpen'\n | 'shouldFlip'\n> & {\n onClose: () => void;\n};\n\n// DisplayTransition preserves its last shown render prop during exit. Position\n// subscriptions must still see the current target, configuration and open state.\nconst TooltipPositionContext = createContext<TooltipPositionOptions>(null!);\n\nfunction TooltipTransition(\n props: Pick<DisplayTransitionProps, 'children' | 'isShown'>,\n) {\n const [hasShown, setHasShown] = useState(props.isShown);\n\n // Once opened, retain the transition owner through closing and reopening.\n // A never-opened tooltip has no animation resources to maintain.\n if (props.isShown && !hasShown) setHasShown(true);\n if (!hasShown && !props.isShown) return null;\n\n return <DisplayTransition {...props} />;\n}\n\ntype Box = Pick<DOMRect, 'top' | 'right' | 'bottom' | 'left'>;\n\nfunction overlaps(a: Box, b: Box) {\n return (\n a.bottom > b.top && a.top < b.bottom && a.right > b.left && a.left < b.right\n );\n}\n\n/**\n * Whether the trigger is still visible after `scrolled` scrolled: it overlaps\n * the viewport and, when an element scrolled, that element's box.\n */\nfunction isInView(trigger: Element, scrolled: EventTarget | null) {\n const rect = trigger.getBoundingClientRect();\n const viewport = {\n top: 0,\n left: 0,\n bottom: window.innerHeight,\n right: window.innerWidth,\n };\n\n return (\n overlaps(rect, viewport) &&\n (!(scrolled instanceof Element) ||\n overlaps(rect, scrolled.getBoundingClientRect()))\n );\n}\n\nfunction PositionedTooltip({\n tooltip,\n contextValue,\n}: {\n tooltip: ReactElement;\n contextValue: ContextType<typeof TooltipContext>;\n}) {\n const { onClose, ...options } = useContext(TooltipPositionContext);\n const { overlayProps, arrowProps, placement, updatePosition } =\n useOverlayPosition(options);\n\n // A scroll of the page or of an element that contains the trigger moves the\n // trigger. The tooltip follows it while it stays in view, and closes once it\n // is scrolled out. Closing on any scroll, as a popover does, would close the\n // tooltip a keyboard user just opened: focus scrolls a trigger into view —\n // the browser at once, a list a frame later — and the scroll is reported\n // after the tooltip opened.\n const onScroll = useEffectEvent((event: Event) => {\n const trigger = options.targetRef.current;\n const { target } = event;\n\n if (\n !trigger ||\n (target instanceof Node && !target.contains(trigger)) ||\n // A text field scrolls its own text to keep the caret in view.\n target instanceof HTMLInputElement ||\n target instanceof HTMLTextAreaElement\n ) {\n return;\n }\n\n if (isInView(trigger, target)) {\n updatePosition();\n } else {\n onClose();\n }\n });\n\n // Subscribed at commit, with the positioning, so a scroll reported on the\n // next frame is never missed.\n useLayoutEffect(() => {\n if (!options.isOpen) return;\n\n const listener = (event: Event) => onScroll(event);\n\n window.addEventListener('scroll', listener, true);\n\n return () => window.removeEventListener('scroll', listener, true);\n }, [options.isOpen]);\n\n return (\n <TooltipContext.Provider\n value={{\n ...contextValue,\n placement: placement || options.placement || 'top',\n overlayProps,\n arrowProps,\n updatePosition,\n }}\n >\n {tooltip}\n </TooltipContext.Provider>\n );\n}\n\nconst DEFAULT_OFFSET = 8; // Offset needed to reach 4px/5px (med/large) distance between tooltip and trigger button\nconst DEFAULT_CROSS_OFFSET = 0;\n\n// Type guards\nfunction isTriggerFunction(value: unknown): value is TooltipTriggerFunction {\n return typeof value === 'function';\n}\n\nfunction isReactElement<P = unknown>(value: unknown): value is ReactElement<P> {\n return isValidElement(value);\n}\n\n/**\n * Whether a `Tooltip` has nothing to show. The docs turn a tooltip off with\n * `title={null}`, and opening it anyway drew an empty bubble and described the\n * trigger by it. Only a `Tooltip` is inspected: another component may render\n * content of its own.\n */\nfunction isEmptyTooltip(tooltip: ReactElement<CubeTooltipProps>): boolean {\n return (\n tooltip.type === Tooltip &&\n Children.toArray(tooltip.props.children).every((child) => child === '')\n );\n}\n\nexport type TooltipTriggerFunction = (\n triggerProps: HTMLAttributes<HTMLElement>,\n ref: RefObject<HTMLElement>,\n) => ReactNode;\n\nexport interface CubeTooltipTriggerProps extends TooltipTriggerProps {\n children: [ReactElement | string | TooltipTriggerFunction, ReactElement];\n crossOffset?: number;\n offset?: number;\n placement?: Placement;\n isMaterial?: boolean;\n isLight?: boolean;\n /**\n * @deprecated Use function-as-first-child pattern instead.\n * Whether the trigger should have an ActiveZone wrap to make sure it's focusable and hoverable.\n * Otherwise, tooltip won't work.\n */\n activeWrap?: boolean;\n /**\n * External ref to use instead of internal ref (optional).\n */\n targetRef?: RefObject<HTMLElement>;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n defaultOpen?: boolean;\n /**\n * Whether the tooltip should be disabled, independent of the trigger.\n */\n isDisabled?: boolean;\n /**\n * The delay time for the tooltip to show up.\n * @default 250\n */\n delay?: number;\n /**\n * The delay time for the tooltip to close.\n * @default 500\n */\n closeDelay?: number;\n /**\n * By default, opens for both focus and hover. Can be made to open only for focus.\n */\n trigger?: 'focus';\n /**\n * When true, FocusableProvider won't be applied to the trigger.\n * Useful when trigger already handles focus or uses render props pattern.\n */\n disableFocusableProvider?: boolean;\n}\n\n/** The `TooltipTrigger` options `useTooltipTriggerBinding` reads. */\nexport type TooltipTriggerBindingProps = Omit<\n CubeTooltipTriggerProps,\n 'children' | 'activeWrap' | 'disableFocusableProvider'\n>;\n\nexport interface TooltipTriggerBinding {\n /** Spread on the trigger element. */\n triggerProps: HTMLAttributes<HTMLElement>;\n /** Attached to the trigger element; the tooltip is positioned against it. */\n triggerRef: RefObject<HTMLElement>;\n /**\n * The positioned tooltip, rendered beside the trigger: it portals out, and\n * mounts nothing until the tooltip first opens.\n */\n renderTooltip: (placement?: Placement) => ReactNode;\n}\n\n/**\n * Everything `TooltipTrigger` does except render the trigger: the open state,\n * the trigger's props and ref, and the positioned tooltip.\n *\n * A component that renders its own trigger and turns its tooltip on and off\n * calls this directly and renders the tooltip beside the trigger. Wrapping the\n * trigger in `TooltipTrigger` only while a tooltip exists changes the element\n * type above the trigger, so React remounts it: the node is replaced and its\n * focus drops to the page.\n *\n * `tooltip` is the second child `TooltipTrigger` would get: the `Tooltip` to\n * show, or a placeholder while `isDisabled`.\n */\nexport function useTooltipTriggerBinding(\n props: TooltipTriggerBindingProps,\n tooltip: ReactElement<CubeTooltipProps>,\n): TooltipTriggerBinding {\n const {\n targetRef: externalRef,\n crossOffset = DEFAULT_CROSS_OFFSET,\n isDisabled,\n isMaterial,\n isLight,\n offset = DEFAULT_OFFSET,\n trigger: triggerAction,\n delay = 250,\n shouldCloseOnPress,\n isOpen,\n onOpenChange,\n defaultOpen,\n } = props;\n\n let internalRef = useRef<HTMLElement>(null!);\n let tooltipTriggerRef = externalRef ?? internalRef;\n let overlayRef = useRef<HTMLDivElement>(null);\n\n let state = useTooltipTriggerState({ delay, ...props });\n\n // A tooltip with nothing to show is a disabled one.\n const isTooltipDisabled = isDisabled || isEmptyTooltip(tooltip);\n\n let { triggerProps: rawTriggerProps, tooltipProps } = useTooltipTrigger(\n {\n // Without it a disabled tooltip still opened — invisibly, since nothing\n // renders it — and while open React Aria's document-level listener eats\n // every `Escape`, so a Dialog under the pointer would not close.\n isDisabled: isTooltipDisabled,\n trigger: triggerAction,\n delay,\n isOpen,\n onOpenChange,\n defaultOpen,\n shouldCloseOnPress,\n },\n state,\n tooltipTriggerRef,\n );\n\n // A tooltip answers a user arriving at the trigger. Focus handed back by a\n // component — a popup returning it to the trigger it came from — is not that\n // arrival, but the DOM event is identical and the modality is still\n // \"keyboard\", so React Aria would show the tooltip anyway. It then absorbs\n // the user's next `Escape` from its own document-level listener, which is\n // how a Dialog ended up needing two presses to close (CUB-4839).\n //\n // Dropping the focus handler rather than closing after the fact: React Aria\n // decides to show inside it, so this never starts and nothing flashes.\n //\n // Covers both restore paths — ours and a `FocusScope`'s — see\n // `programmaticFocus`.\n const onFocus = useEvent((event: FocusEvent<HTMLElement>) => {\n if (isFocusRestoration()) return;\n\n rawTriggerProps.onFocus?.(event);\n });\n\n const triggerProps = {\n ...rawTriggerProps,\n onFocus,\n // A controlled `isOpen` still opens a disabled tooltip's state, and nothing\n // is rendered to describe the trigger by.\n 'aria-describedby': isTooltipDisabled\n ? undefined\n : rawTriggerProps['aria-describedby'],\n };\n\n const tooltipContextValue = {\n state,\n ref: overlayRef,\n isMaterial,\n isLight,\n ...tooltipProps,\n };\n\n // Closed triggers retain their interaction state, but positioning resources\n // belong to the overlay's visible/closing lifetime rather than every label.\n const renderTooltip = (placement?: Placement) => {\n const positionOptions: TooltipPositionOptions = {\n placement: placement || 'top',\n targetRef: tooltipTriggerRef,\n overlayRef,\n offset,\n crossOffset,\n isOpen: state.isOpen,\n // Documented on `Tooltip`, which renders inside the positioned layer, so\n // it is read from the element here.\n shouldFlip: tooltip.props.shouldFlip,\n // Called once a scroll carries the trigger out of view.\n onClose: () => state.close(true),\n };\n\n return (\n <TooltipPositionContext.Provider value={positionOptions}>\n <TooltipTransition isShown={state.isOpen && !isTooltipDisabled}>\n {({ phase, isShown, ref: transitionRef }) => (\n <Portal>\n <PositionedTooltip\n tooltip={tooltip}\n contextValue={{\n ...tooltipContextValue,\n phase,\n isShown,\n ref: overlayRef,\n transitionRef,\n }}\n />\n </Portal>\n )}\n </TooltipTransition>\n </TooltipPositionContext.Provider>\n );\n };\n\n return { triggerProps, triggerRef: tooltipTriggerRef, renderTooltip };\n}\n\n/**\n * TooltipTrigger wraps around a trigger element and a Tooltip. It handles opening and closing\n * the Tooltip when the user hovers over or focuses the trigger, and positioning the Tooltip\n * relative to the trigger.\n */\nexport function TooltipTrigger(props: CubeTooltipTriggerProps) {\n const { children, activeWrap, disableFocusableProvider } = props;\n\n // Extract both children without using React.Children.toArray so we don't lose\n // function-as-child (render-prop) which React.Children filters out.\n const rawChildrenArray = Array.isArray(children)\n ? (children as unknown[])\n : ([children] as unknown[]);\n\n const [trigger, tooltip] = rawChildrenArray;\n\n // Type guard the tooltip\n if (!isReactElement<CubeTooltipProps>(tooltip)) {\n throw new Error(\n 'CubeUIKit: TooltipTrigger expects the second child to be a valid React element (Tooltip component).',\n );\n }\n\n // Type guard the trigger\n if (\n !isTriggerFunction(trigger) &&\n !isReactElement(trigger) &&\n typeof trigger !== 'string'\n ) {\n throw new Error(\n 'CubeUIKit: TooltipTrigger expects the first child to be a function, React element, or string.',\n );\n }\n\n // Show deprecation warning for activeWrap\n if (activeWrap && isDevEnv()) {\n console.warn(\n 'CubeUIKit: The `activeWrap` prop is deprecated. Use function-as-first-child pattern instead.',\n );\n }\n\n const {\n triggerProps,\n triggerRef: tooltipTriggerRef,\n renderTooltip,\n } = useTooltipTriggerBinding(props, tooltip);\n\n const tooltipContent = renderTooltip(props.placement);\n\n // Function trigger pattern (new)\n if (isTriggerFunction(trigger)) {\n return (\n <>\n {trigger(triggerProps, tooltipTriggerRef)}\n {tooltipContent}\n </>\n );\n }\n\n // Legacy element/string trigger pattern\n if (!activeWrap && typeof trigger === 'string') {\n console.warn(\n 'CubeUIKit: Tooltips are only supported on elements that are both focusable and hoverable. To solve this issue you can: 1) Use active element as a trigger (`Button`, `Link`, etc); 2) Use function-as-first-child pattern to manually apply trigger props; 3) Use `ActiveZone` component to manually wrap the content.',\n );\n\n return <Block>{trigger}</Block>;\n }\n\n function onClick(e) {\n e?.currentTarget?.parentNode.click();\n }\n\n const triggerContent = (\n <>\n {activeWrap ? (\n <ActiveZone onClick={onClick}>{trigger}</ActiveZone>\n ) : (\n trigger\n )}\n {tooltipContent}\n </>\n );\n\n if (disableFocusableProvider) {\n return triggerContent;\n }\n\n return (\n <FocusableProvider {...triggerProps} ref={tooltipTriggerRef}>\n {triggerContent}\n </FocusableProvider>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":["React","HTMLAttributes","RefCallback","RefObject","Placement","TooltipTriggerState","
|
|
1
|
+
{"version":3,"file":"context.js","names":["React","HTMLAttributes","RefCallback","RefObject","Placement","TooltipTriggerState","Props","PlacementAxis","Phase","TooltipContextProps","state","ref","HTMLDivElement","transitionRef","placement","arrowProps","HTMLElement","overlayProps","isMaterial","isLight","phase","isShown","updatePosition","TooltipContext","createContext"],"sources":["../../../../src/components/overlays/Tooltip/context.ts"],"sourcesContent":["import React, { HTMLAttributes, RefCallback, RefObject } from 'react';\nimport { Placement } from 'react-aria';\nimport { TooltipTriggerState } from 'react-stately';\n\nimport type { Props } from '../../../props';\nimport type { PlacementAxis } from '../../../shared';\n\ntype Phase = 'enter' | 'entered' | 'exit' | 'unmounted';\n\ninterface TooltipContextProps {\n state?: TooltipTriggerState;\n ref?: RefObject<HTMLDivElement | null>;\n transitionRef?: RefCallback<HTMLDivElement>;\n placement?: Placement | PlacementAxis;\n arrowProps?: HTMLAttributes<HTMLElement>;\n overlayProps?: Props;\n isMaterial?: boolean;\n isLight?: boolean;\n phase?: Phase;\n isShown?: boolean;\n updatePosition?: () => void;\n}\n\nexport const TooltipContext = React.createContext<TooltipContextProps>({});\n"],"mappings":";;;AAuBA,MAAauB,iBAAiBvB,MAAMwB,cAAmC,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { usePortal } from "./usePortal.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { TastyBatchProvider } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { c } from "react/compiler-runtime";
|
|
3
3
|
import { createContext, useContext } from "react";
|
|
4
4
|
//#region src/components/portal/PortalProvider.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { usePortalContext } from "./PortalProvider.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useEffect, useEffectEvent, useState } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../_internal/hooks/use-event.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useEffect, useEffectEvent, useRef } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { WarningIcon } from "../../icons/WarningIcon.js";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/shared/InvalidIcon.tsx
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { CheckIcon } from "../../icons/CheckIcon.js";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/shared/ValidIcon.tsx
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
|
|
3
3
|
import { Block } from "../../Block.js";
|
|
4
4
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingAnimation.js","names":["tasty","RefObject","useRef","useI18n","useLayoutEffect","Block","CubeBlockProps","CubeElement","as","styles","display","position","width","height","animationName","animationDuration","animationIterationCount","animationTimingFunction","zIndex","transform","dice0","from","to","dice1","dice2","useTimelineSyncedAnimation","ref","isAnimated","$","_c","t0","element","current","getAnimations","animation","timeline","ownerDocument","startTime","t1","CubeProps","index","base","Cube","t2","t3","t4","Symbol","for","t5","SIZE_MAP","small","medium","large","CubeLoadingAnimationProps","size","LoadingAnimation","props","undefined","t","numSize","t6","t7","t8","t9","t10","_c"],"sources":["../../../../src/components/status/LoadingAnimation/LoadingAnimation.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { RefObject, useRef } from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Block, CubeBlockProps } from '../../Block';\n\nconst CubeElement = tasty({\n as: 'svg',\n styles: {\n display: 'block',\n position: 'absolute',\n width: '50%',\n height: '50%',\n\n // The three visible faces of the cube get their colors via the SVG\n // `fill=\"…\"` attribute on each `<path>` (see the JSX below), NOT via a\n // tasty `fill` style. Tasty's `fill` is a typed shorthand for\n // `background-color` — applying it to an SVG `<path>` would inject\n // `background-color: …` which paths simply ignore (this was the\n // \"invisible cube\" bug). Pointing the SVG `fill` attribute at the\n // adaptive `--loading-face-N-color` CSS variables published by Glaze\n // (defined in `src/tokens/palette.ts`) keeps the three faces driven by\n // the design system without going through a style property tasty would\n // re-route to the wrong CSS slot.\n //\n // Those three tokens are the kit's shared isometric-cube ramp — `NoDataIcon`\n // draws its crate from the same ones — and they are pinned by a WCAG floor\n // against `surface` rather than by a tone delta, so the faces hold the same\n // separation in light, dark, and high contrast. See the recipe's comment for\n // why that matters.\n\n animationName: {\n '': 'none',\n 'index=0': 'dice0',\n 'index=1': 'dice1',\n 'index=2': 'dice2',\n },\n animationDuration: {\n '': '0s',\n // oxlint-disable-next-line tasty/no-raw-motion-duration -- the length of one dice loop, tuned with its keyframes; not a UI transition\n 'index=0 | index=1 | index=2': '2s',\n },\n animationIterationCount: {\n '': 1,\n 'index=0 | index=1 | index=2': 'infinite',\n },\n animationTimingFunction: {\n '': 'ease',\n 'index=0 | index=1 | index=2': 'ease',\n },\n zIndex: {\n '': 0,\n 'index=0 | index=1 | index=2': 0,\n },\n // The three cubes of the base row stand still; the animated ones move\n // through the keyframes below.\n transform: {\n '': 'none',\n 'base=left': 'translate(0%, 72.5%)',\n 'base=right': 'translate(98%, 72.5%)',\n 'base=bottom': 'translate(49%, 96.5%)',\n },\n\n '@keyframes': {\n dice0: {\n from: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '25%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '50%': { transform: 'translate(0%, 25%)', zIndex: 0 },\n '51%': { zIndex: 1 },\n '75%': { zIndex: 1 },\n to: { transform: 'translate(0%, 25%)', zIndex: 1 },\n },\n dice1: {\n from: { transform: 'translate(0%, 25%)', zIndex: 3 },\n '25%': { transform: 'translate(49%, 49%)', zIndex: 3 },\n '75%': { transform: 'translate(49%, 49%)', zIndex: 2 },\n to: { transform: 'translate(98%, 25%)', zIndex: 1 },\n },\n dice2: {\n from: { transform: 'translate(98%, 25%)', zIndex: 1 },\n '50%': { transform: 'translate(98%, 25%)', zIndex: 0 },\n '75%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n to: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n },\n },\n },\n});\n\n/**\n * Phase-lock a cube's `dice*` animation to the document timeline.\n *\n * A page under load mounts these animations at whatever moment each level of\n * the tree resolves — a route shell, then a panel, then the table inside it —\n * and every wrapper that appears around a running `LoadingAnimation` remounts\n * it. A CSS animation is created with its start time at \"now\", so each of\n * those events snapped the cubes back to the first frame: the visible symptom\n * is a loader that keeps stuttering back to the start while the page settles.\n *\n * Moving the start time to 0 puts it at the origin of the document timeline,\n * so the cube's position is a function of the timeline's current reading and\n * nothing else. Two consequences: a remount picks up exactly where the removed\n * element was, and every instance in the document runs in lockstep, because\n * they all read the same clock.\n *\n * Done through the animation object in a layout effect (before the first paint\n * of the new element) rather than through a negative `animation-delay`: the\n * delay would have to be computed during render from `Date.now()`, which is\n * both a different clock than the one the animation runs on — so the phase\n * would be off by the render-to-paint gap — and a value that differs between\n * the server and the client, i.e. a hydration mismatch on every render.\n */\nfunction useTimelineSyncedAnimation(\n ref: RefObject<SVGSVGElement | null>,\n isAnimated: boolean,\n) {\n useLayoutEffect(() => {\n const element = ref.current;\n\n // `getAnimations` is absent in jsdom, where there is nothing to sync.\n if (!isAnimated || !element?.getAnimations) return;\n\n for (const animation of element.getAnimations()) {\n // These elements carry nothing but the `dice*` animation, and it always\n // runs on the document timeline — the one timeline an explicit numeric\n // start time is meaningful against.\n if (animation.timeline === element.ownerDocument.timeline) {\n animation.startTime = 0;\n }\n }\n }, [isAnimated]);\n}\n\ninterface CubeProps {\n index?: 0 | 1 | 2;\n base?: 'left' | 'right' | 'bottom';\n}\n\nfunction Cube({ index, base }: CubeProps) {\n const ref = useRef<SVGSVGElement>(null);\n\n useTimelineSyncedAnimation(ref, index != null);\n\n return (\n <CubeElement\n ref={ref}\n mods={{ index, base }}\n viewBox=\"0 0 36 41\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"presentation\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"var(--loading-face-1-color)\"\n d=\"M35.899 10.351l-18 10.25L.1 10.25l18-10.25L35.9 10.351z\"\n />\n <path\n fill=\"var(--loading-face-2-color)\"\n d=\"M18 41L0 30.75l.101-20.5L18 20.5\"\n />\n <path\n fill=\"var(--loading-face-3-color)\"\n d=\"M36 30.75L18 41V20.6l17.899-10.25L36 30.75z\"\n />\n </CubeElement>\n );\n}\n\nconst SIZE_MAP = {\n small: 32,\n medium: 64,\n large: 96,\n};\n\nexport interface CubeLoadingAnimationProps extends CubeBlockProps {\n size?: 'small' | 'medium' | 'large' | number;\n}\n\nexport function LoadingAnimation({\n size = 'medium',\n ...props\n}: CubeLoadingAnimationProps) {\n const { t } = useI18n();\n const numSize: number = SIZE_MAP[size] || size || SIZE_MAP.medium;\n\n return (\n <Block\n role=\"img\"\n aria-label={t('loadingAnimation.ariaLabel', 'Loading animation')}\n width={numSize}\n height={numSize * 1.1388888889}\n position=\"relative\"\n {...props}\n >\n <Cube base=\"left\" />\n <Cube base=\"right\" />\n <Cube base=\"bottom\" />\n <Cube index={0} />\n <Cube index={1} />\n <Cube index={2} />\n </Block>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LoadingAnimation.js","names":["tasty","RefObject","useRef","useI18n","useLayoutEffect","Block","CubeBlockProps","CubeElement","as","styles","display","position","width","height","animationName","animationDuration","animationIterationCount","animationTimingFunction","zIndex","transform","dice0","from","to","dice1","dice2","useTimelineSyncedAnimation","ref","isAnimated","$","_c","t0","element","current","getAnimations","animation","timeline","ownerDocument","startTime","t1","CubeProps","index","base","Cube","t2","t3","t4","Symbol","for","t5","SIZE_MAP","small","medium","large","CubeLoadingAnimationProps","size","LoadingAnimation","props","undefined","t","numSize","t6","t7","t8","t9","t10","_c"],"sources":["../../../../src/components/status/LoadingAnimation/LoadingAnimation.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { RefObject, useRef } from 'react';\n\nimport { useI18n } from '../../../i18n/useI18n';\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\nimport { Block, CubeBlockProps } from '../../Block';\n\nconst CubeElement = tasty({\n as: 'svg',\n styles: {\n display: 'block',\n position: 'absolute',\n width: '50%',\n height: '50%',\n\n // The three visible faces of the cube get their colors via the SVG\n // `fill=\"…\"` attribute on each `<path>` (see the JSX below), NOT via a\n // tasty `fill` style. Tasty's `fill` is a typed shorthand for\n // `background-color` — applying it to an SVG `<path>` would inject\n // `background-color: …` which paths simply ignore (this was the\n // \"invisible cube\" bug). Pointing the SVG `fill` attribute at the\n // adaptive `--loading-face-N-color` CSS variables published by Glaze\n // (defined in `src/tokens/palette.ts`) keeps the three faces driven by\n // the design system without going through a style property tasty would\n // re-route to the wrong CSS slot.\n //\n // Those three tokens are the kit's shared isometric-cube ramp — `NoDataIcon`\n // draws its crate from the same ones — and they are pinned by a WCAG floor\n // against `surface` rather than by a tone delta, so the faces hold the same\n // separation in light, dark, and high contrast. See the recipe's comment for\n // why that matters.\n\n animationName: {\n '': 'none',\n 'index=0': 'dice0',\n 'index=1': 'dice1',\n 'index=2': 'dice2',\n },\n animationDuration: {\n '': '0s',\n // oxlint-disable-next-line tasty/no-raw-motion-duration -- the length of one dice loop, tuned with its keyframes; not a UI transition\n 'index=0 | index=1 | index=2': '2s',\n },\n animationIterationCount: {\n '': 1,\n 'index=0 | index=1 | index=2': 'infinite',\n },\n animationTimingFunction: {\n '': 'ease',\n 'index=0 | index=1 | index=2': 'ease',\n },\n zIndex: {\n '': 0,\n 'index=0 | index=1 | index=2': 0,\n },\n // The three cubes of the base row stand still; the animated ones move\n // through the keyframes below.\n transform: {\n '': 'none',\n 'base=left': 'translate(0%, 72.5%)',\n 'base=right': 'translate(98%, 72.5%)',\n 'base=bottom': 'translate(49%, 96.5%)',\n },\n\n '@keyframes': {\n dice0: {\n from: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '25%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n '50%': { transform: 'translate(0%, 25%)', zIndex: 0 },\n '51%': { zIndex: 1 },\n '75%': { zIndex: 1 },\n to: { transform: 'translate(0%, 25%)', zIndex: 1 },\n },\n dice1: {\n from: { transform: 'translate(0%, 25%)', zIndex: 3 },\n '25%': { transform: 'translate(49%, 49%)', zIndex: 3 },\n '75%': { transform: 'translate(49%, 49%)', zIndex: 2 },\n to: { transform: 'translate(98%, 25%)', zIndex: 1 },\n },\n dice2: {\n from: { transform: 'translate(98%, 25%)', zIndex: 1 },\n '50%': { transform: 'translate(98%, 25%)', zIndex: 0 },\n '75%': { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n to: { transform: 'translate(49%, 0.5%)', zIndex: 0 },\n },\n },\n },\n});\n\n/**\n * Phase-lock a cube's `dice*` animation to the document timeline.\n *\n * A page under load mounts these animations at whatever moment each level of\n * the tree resolves — a route shell, then a panel, then the table inside it —\n * and every wrapper that appears around a running `LoadingAnimation` remounts\n * it. A CSS animation is created with its start time at \"now\", so each of\n * those events snapped the cubes back to the first frame: the visible symptom\n * is a loader that keeps stuttering back to the start while the page settles.\n *\n * Moving the start time to 0 puts it at the origin of the document timeline,\n * so the cube's position is a function of the timeline's current reading and\n * nothing else. Two consequences: a remount picks up exactly where the removed\n * element was, and every instance in the document runs in lockstep, because\n * they all read the same clock.\n *\n * Done through the animation object in a layout effect (before the first paint\n * of the new element) rather than through a negative `animation-delay`: the\n * delay would have to be computed during render from `Date.now()`, which is\n * both a different clock than the one the animation runs on — so the phase\n * would be off by the render-to-paint gap — and a value that differs between\n * the server and the client, i.e. a hydration mismatch on every render.\n */\nfunction useTimelineSyncedAnimation(\n ref: RefObject<SVGSVGElement | null>,\n isAnimated: boolean,\n) {\n useLayoutEffect(() => {\n const element = ref.current;\n\n // `getAnimations` is absent in jsdom, where there is nothing to sync.\n if (!isAnimated || !element?.getAnimations) return;\n\n for (const animation of element.getAnimations()) {\n // These elements carry nothing but the `dice*` animation, and it always\n // runs on the document timeline — the one timeline an explicit numeric\n // start time is meaningful against.\n if (animation.timeline === element.ownerDocument.timeline) {\n animation.startTime = 0;\n }\n }\n }, [isAnimated]);\n}\n\ninterface CubeProps {\n index?: 0 | 1 | 2;\n base?: 'left' | 'right' | 'bottom';\n}\n\nfunction Cube({ index, base }: CubeProps) {\n const ref = useRef<SVGSVGElement>(null);\n\n useTimelineSyncedAnimation(ref, index != null);\n\n return (\n <CubeElement\n ref={ref}\n mods={{ index, base }}\n viewBox=\"0 0 36 41\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"presentation\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"var(--loading-face-1-color)\"\n d=\"M35.899 10.351l-18 10.25L.1 10.25l18-10.25L35.9 10.351z\"\n />\n <path\n fill=\"var(--loading-face-2-color)\"\n d=\"M18 41L0 30.75l.101-20.5L18 20.5\"\n />\n <path\n fill=\"var(--loading-face-3-color)\"\n d=\"M36 30.75L18 41V20.6l17.899-10.25L36 30.75z\"\n />\n </CubeElement>\n );\n}\n\nconst SIZE_MAP = {\n small: 32,\n medium: 64,\n large: 96,\n};\n\nexport interface CubeLoadingAnimationProps extends CubeBlockProps {\n size?: 'small' | 'medium' | 'large' | number;\n}\n\nexport function LoadingAnimation({\n size = 'medium',\n ...props\n}: CubeLoadingAnimationProps) {\n const { t } = useI18n();\n const numSize: number = SIZE_MAP[size] || size || SIZE_MAP.medium;\n\n return (\n <Block\n role=\"img\"\n aria-label={t('loadingAnimation.ariaLabel', 'Loading animation')}\n width={numSize}\n height={numSize * 1.1388888889}\n position=\"relative\"\n {...props}\n >\n <Cube base=\"left\" />\n <Cube base=\"right\" />\n <Cube base=\"bottom\" />\n <Cube index={0} />\n <Cube index={1} />\n <Cube index={2} />\n </Block>\n );\n}\n"],"mappings":";;;;;;;;;AAOA,MAAMO,cAAcP,MAAM;CACxBQ,IAAI;CACJC,QAAQ;EACNC,SAAS;EACTC,UAAU;EACVC,OAAO;EACPC,QAAQ;EAmBRC,eAAe;GACb,IAAI;GACJ,WAAW;GACX,WAAW;GACX,WAAW;EACb;EACAC,mBAAmB;GACjB,IAAI;GAEJ,+BAA+B;EACjC;EACAC,yBAAyB;GACvB,IAAI;GACJ,+BAA+B;EACjC;EACAC,yBAAyB;GACvB,IAAI;GACJ,+BAA+B;EACjC;EACAC,QAAQ;GACN,IAAI;GACJ,+BAA+B;EACjC;EAGAC,WAAW;GACT,IAAI;GACJ,aAAa;GACb,cAAc;GACd,eAAe;EACjB;EAEA,cAAc;GACZC,OAAO;IACLC,MAAM;KAAEF,WAAW;KAAwBD,QAAQ;IAAE;IACrD,OAAO;KAAEC,WAAW;KAAwBD,QAAQ;IAAE;IACtD,OAAO;KAAEC,WAAW;KAAsBD,QAAQ;IAAE;IACpD,OAAO,EAAEA,QAAQ,EAAE;IACnB,OAAO,EAAEA,QAAQ,EAAE;IACnBI,IAAI;KAAEH,WAAW;KAAsBD,QAAQ;IAAE;GACnD;GACAK,OAAO;IACLF,MAAM;KAAEF,WAAW;KAAsBD,QAAQ;IAAE;IACnD,OAAO;KAAEC,WAAW;KAAuBD,QAAQ;IAAE;IACrD,OAAO;KAAEC,WAAW;KAAuBD,QAAQ;IAAE;IACrDI,IAAI;KAAEH,WAAW;KAAuBD,QAAQ;IAAE;GACpD;GACAM,OAAO;IACLH,MAAM;KAAEF,WAAW;KAAuBD,QAAQ;IAAE;IACpD,OAAO;KAAEC,WAAW;KAAuBD,QAAQ;IAAE;IACrD,OAAO;KAAEC,WAAW;KAAwBD,QAAQ;IAAE;IACtDI,IAAI;KAAEH,WAAW;KAAwBD,QAAQ;IAAE;GACrD;EACF;CACF;AACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AAyBD,SAAAO,2BAAAC,KAAAC,YAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAC;CAAA,IAAAF,EAAA,OAAAD,cAAAC,EAAA,OAAAF,KAAA;EAIkBI,WAAA;GACd,MAAAC,UAAgBL,IAAGM;GAGnB,IAAI,CAACL,cAAD,CAAgBI,SAAOE,eAAe;GAE1C,KAAK,MAAAC,aAAmBH,QAAOE,cAAe,GAI5C,IAAIC,UAASC,aAAcJ,QAAOK,cAAcD,UAC9CD,UAASG,YAAa;EAEzB;EACFT,EAAA,KAAAD;EAAAC,EAAA,KAAAF;EAAAE,EAAA,KAAAE;CAAA,OAAAA,KAAAF,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAD,YAAA;EAAEW,KAAA,CAACX,UAAU;EAACC,EAAA,KAAAD;EAAAC,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAdfxB,kBAAgB0B,IAcbQ,EAAY;AAAC;AAQlB,SAAAI,KAAAZ,IAAA;CAAA,MAAAF,IAAAC,EAAA,CAAA;CAAc,MAAA,EAAAW,OAAAC,SAAAX;CACZ,MAAAJ,MAAYxB,OAAsB,IAAI;CAEtCuB,2BAA2BC,KAAKc,SAAS,IAAI;CAAC,IAAAF;CAAA,IAAAV,EAAA,OAAAa,QAAAb,EAAA,OAAAY,OAAA;EAKpCF,KAAA;GAAAE;GAAAC;EAAc;EAACb,EAAA,KAAAa;EAAAb,EAAA,KAAAY;EAAAZ,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAAA,IAAAe;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAjB,EAAA,OAAAkB,OAAAC,IAAA,2BAAA,GAAA;EAOrBJ,KAAA,oBAAA,QAAA;GACO,MAAA;GACH,GAAA;EAAyD,CAAA;EAE7DC,KAAA,oBAAA,QAAA;GACO,MAAA;GACH,GAAA;EAAkC,CAAA;EAEtCC,KAAA,oBAAA,QAAA;GACO,MAAA;GACH,GAAA;EAA6C,CAAA;EAC/CjB,EAAA,KAAAe;EAAAf,EAAA,KAAAgB;EAAAhB,EAAA,KAAAiB;CAAA,OAAA;EAAAF,KAAAf,EAAA;EAAAgB,KAAAhB,EAAA;EAAAiB,KAAAjB,EAAA;CAAA;CAAA,IAAAoB;CAAA,IAAApB,EAAA,OAAAU,IAAA;EApBJU,KAAA,qBAAC,aAAD;GACOtB;GACC,MAAAY;GACE,SAAA;GACH,MAAA;GACC,OAAA;GACD,MAAA;GACO,eAAA;GAPd,UAAA;IASEK;IAIAC;IAIAC;GAjBU;;EAqBEjB,EAAA,KAAAU;EAAAV,EAAA,KAAAoB;CAAA,OAAAA,KAAApB,EAAA;CAAA,OArBdoB;AAqBc;AAIlB,MAAMC,WAAW;CACfC,OAAO;CACPC,QAAQ;CACRC,OAAO;AACT;AAMA,SAAOG,iBAAAzB,IAAA;CAAA,MAAAF,IAAAC,EAAA,EAAA;CAAA,IAAA2B;CAAA,IAAAlB;CAAA,IAAAV,EAAA,OAAAE,IAAA;EAA0B,CAAA,CAAAwB,MAAAhB,IAAA,GAAAkB,SAAA1B;EAGLF,EAAA,KAAAE;EAAAF,EAAA,KAAA4B;EAAA5B,EAAA,KAAAU;CAAA,OAAA;EAAAkB,QAAA5B,EAAA;EAAAU,KAAAV,EAAA;CAAA;CAF1B,MAAA0B,OAAAhB,OAAAmB,KAAAA,IAAA,WAAAnB;CAGA,MAAA,EAAAoB,MAAcvD,QAAQ;CACtB,MAAAwD,UAAwBV,SAASK,SAATA,QAA0BL,SAAQE;CAAQ,IAAAR;CAAA,IAAAf,EAAA,OAAA8B,GAAA;EAKlDf,KAAAe,EAAE,8BAA8B,mBAAmB;EAAC9B,EAAA,KAAA8B;EAAA9B,EAAA,KAAAe;CAAA,OAAAA,KAAAf,EAAA;CAExD,MAAAgB,KAAAe,UAAU;CAAY,IAAAd;CAAA,IAAAG;CAAA,IAAAY;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAnC,EAAA,OAAAkB,OAAAC,IAAA,2BAAA,GAAA;EAI9BF,KAAA,oBAAC,MAAD,EAAW,MAAA,OAAM,CAAA;EACjBG,KAAA,oBAAC,MAAD,EAAW,MAAA,QAAO,CAAA;EAClBY,KAAA,oBAAC,MAAD,EAAW,MAAA,SAAQ,CAAA;EACnBC,KAAA,oBAAC,MAAD,EAAa,OAAA,EAAC,CAAA;EACdC,KAAA,oBAAC,MAAD,EAAa,OAAA,EAAC,CAAA;EACdC,KAAA,oBAAC,MAAD,EAAa,OAAA,EAAC,CAAA;EAAInC,EAAA,KAAAiB;EAAAjB,EAAA,KAAAoB;EAAApB,EAAA,KAAAgC;EAAAhC,EAAA,KAAAiC;EAAAjC,EAAA,KAAAkC;EAAAlC,EAAA,MAAAmC;CAAA,OAAA;EAAAlB,KAAAjB,EAAA;EAAAoB,KAAApB,EAAA;EAAAgC,KAAAhC,EAAA;EAAAiC,KAAAjC,EAAA;EAAAkC,KAAAlC,EAAA;EAAAmC,KAAAnC,EAAA;CAAA;CAAA,IAAAoC;CAAA,IAAApC,EAAA,QAAA+B,WAAA/B,EAAA,QAAA4B,SAAA5B,EAAA,QAAAe,MAAAf,EAAA,QAAAgB,IAAA;EAbpBoB,MAAA,qBAAC,OAAD;GACO,MAAA;GACO,cAAArB;GACLgB,OAAAA;GACC,QAAAf;GACC,UAAA;GAAU,GACfY;GANN,UAAA;IAQEX;IACAG;IACAY;IACAC;IACAC;IACAC;GAbI;;EAcEnC,EAAA,MAAA+B;EAAA/B,EAAA,MAAA4B;EAAA5B,EAAA,MAAAe;EAAAf,EAAA,MAAAgB;EAAAhB,EAAA,MAAAoC;CAAA,OAAAA,MAAApC,EAAA;CAAA,OAdRoC;AAcQ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { Block } from "../../Block.js";
|
|
3
3
|
import { InternalSpinner } from "./InternalSpinner.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
package/dist/data/item-themes.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.209.0 | Cube Dev Team */
|
|
2
2
|
import { mergeStyles } from "@tenphi/tasty";
|
|
3
3
|
//#region src/data/item-themes.ts
|
|
4
4
|
const VALIDATION_STYLES = { border: {
|
|
@@ -54,11 +54,7 @@ const DEFAULT_PRIMARY_STYLES = {
|
|
|
54
54
|
"": "0 #primary-accent-text.0",
|
|
55
55
|
focused: "$ring-width #primary-accent-text"
|
|
56
56
|
},
|
|
57
|
-
border:
|
|
58
|
-
"": "#primary-accent-surface-border",
|
|
59
|
-
pressed: "#primary-accent-surface-border",
|
|
60
|
-
disabled: "#clear"
|
|
61
|
-
},
|
|
57
|
+
border: "#clear",
|
|
62
58
|
fill: {
|
|
63
59
|
"": "#primary-accent-surface",
|
|
64
60
|
hovered: "#primary-accent-surface-2",
|
|
@@ -172,11 +168,7 @@ const DANGER_PRIMARY_STYLES = {
|
|
|
172
168
|
"": "0 #primary-accent-text.0",
|
|
173
169
|
focused: "$ring-width #primary-accent-text"
|
|
174
170
|
},
|
|
175
|
-
border:
|
|
176
|
-
"": "#white.2",
|
|
177
|
-
pressed: "#danger-accent-text",
|
|
178
|
-
disabled: "#clear"
|
|
179
|
-
},
|
|
171
|
+
border: "#clear",
|
|
180
172
|
fill: {
|
|
181
173
|
"": "#danger-accent-surface",
|
|
182
174
|
hovered: "#danger-accent-surface-2",
|
|
@@ -282,11 +274,7 @@ const SUCCESS_PRIMARY_STYLES = {
|
|
|
282
274
|
"": "0 #primary-accent-text.0",
|
|
283
275
|
focused: "$ring-width #primary-accent-text"
|
|
284
276
|
},
|
|
285
|
-
border:
|
|
286
|
-
"": "#white.2",
|
|
287
|
-
pressed: "#success-accent-text",
|
|
288
|
-
disabled: "#clear"
|
|
289
|
-
},
|
|
277
|
+
border: "#clear",
|
|
290
278
|
fill: {
|
|
291
279
|
"": "#success-accent-surface",
|
|
292
280
|
hovered: "#success-accent-surface-2",
|
|
@@ -392,11 +380,7 @@ const WARNING_PRIMARY_STYLES = {
|
|
|
392
380
|
"": "0 #primary-accent-text.0",
|
|
393
381
|
focused: "$ring-width #primary-accent-text"
|
|
394
382
|
},
|
|
395
|
-
border:
|
|
396
|
-
"": "#white.2",
|
|
397
|
-
pressed: "#warning-accent-text",
|
|
398
|
-
disabled: "#clear"
|
|
399
|
-
},
|
|
383
|
+
border: "#clear",
|
|
400
384
|
fill: {
|
|
401
385
|
"": "#warning-accent-surface",
|
|
402
386
|
hovered: "#warning-accent-surface-2",
|
|
@@ -502,11 +486,7 @@ const NOTE_PRIMARY_STYLES = {
|
|
|
502
486
|
"": "0 #primary-accent-text.0",
|
|
503
487
|
focused: "$ring-width #primary-accent-text"
|
|
504
488
|
},
|
|
505
|
-
border:
|
|
506
|
-
"": "#white.2",
|
|
507
|
-
pressed: "#note-accent-text",
|
|
508
|
-
disabled: "#clear"
|
|
509
|
-
},
|
|
489
|
+
border: "#clear",
|
|
510
490
|
fill: {
|
|
511
491
|
"": "#note-accent-surface",
|
|
512
492
|
hovered: "#note-accent-surface-2",
|
|
@@ -612,11 +592,7 @@ const SPECIAL_PRIMARY_STYLES = {
|
|
|
612
592
|
"": "0 #special-accent-text.0",
|
|
613
593
|
focused: "$ring-width #special-accent-text"
|
|
614
594
|
},
|
|
615
|
-
border:
|
|
616
|
-
"": "#special-accent-surface-border",
|
|
617
|
-
pressed: "#special-accent-surface-border",
|
|
618
|
-
disabled: "#clear"
|
|
619
|
-
},
|
|
595
|
+
border: "#clear",
|
|
620
596
|
fill: {
|
|
621
597
|
"": "#special-accent-surface",
|
|
622
598
|
hovered: "#special-accent-surface-2",
|
|
@@ -797,7 +773,7 @@ const CURRENT_OUTLINE_2_STYLES = mergeStyles(CURRENT_FOCUS_RING, {
|
|
|
797
773
|
});
|
|
798
774
|
const CURRENT_PRIMARY_STYLES = mergeStyles(CURRENT_FOCUS_RING, {
|
|
799
775
|
border: {
|
|
800
|
-
"": "#
|
|
776
|
+
"": "#clear",
|
|
801
777
|
disabled: "#surface-text.2"
|
|
802
778
|
},
|
|
803
779
|
fill: {
|