@cube-dev/ui-kit 0.206.3 → 0.208.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CHANGELOG.md +18 -0
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js.map +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.d.ts +0 -2
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/CollectionItem.js.map +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GlobalStyles.js.map +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/GridProvider.js.map +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +3 -3
- package/dist/components/Root.js.map +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Banner/Banner.js.map +1 -1
- package/dist/components/actions/Button/Button.d.ts +10 -1
- package/dist/components/actions/Button/Button.js +13 -8
- package/dist/components/actions/Button/Button.js.map +1 -1
- package/dist/components/actions/Button/index.d.ts +16 -1
- package/dist/components/actions/Button/index.js +13 -0
- package/dist/components/actions/Button/index.js.map +1 -0
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.d.ts +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +2 -2
- package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemActionsWrapper.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.d.ts +0 -2
- package/dist/components/actions/ItemButton/ItemButton.js +2 -2
- package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.d.ts +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/Menu.js.map +1 -1
- package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +2 -2
- package/dist/components/actions/Menu/MenuItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +3 -3
- package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +2 -2
- package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/index.d.ts +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.d.ts +6 -18
- package/dist/components/actions/use-action.js +2 -2
- package/dist/components/actions/use-action.js.map +1 -1
- package/dist/components/actions/use-anchored-menu.d.ts +0 -1
- package/dist/components/actions/use-anchored-menu.js +2 -2
- package/dist/components/actions/use-anchored-menu.js.map +1 -1
- package/dist/components/actions/use-context-menu.d.ts +0 -1
- package/dist/components/actions/use-context-menu.js +2 -2
- package/dist/components/actions/use-context-menu.js.map +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js.map +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.d.ts +0 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Badge/Badge.js.map +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/Content.js.map +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -3
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.d.ts +2 -18
- package/dist/components/content/CopySnippet/CopySnippet.js +2 -2
- package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
- package/dist/components/content/Disclosure/Disclosure.d.ts +0 -1
- package/dist/components/content/Disclosure/Disclosure.js +2 -2
- package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
- package/dist/components/content/Divider/Divider.js +1 -1
- package/dist/components/content/Divider/Divider.js.map +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Footer.js.map +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/Header.js.map +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
- package/dist/components/content/Item/Item.d.ts +1 -2
- package/dist/components/content/Item/Item.js +4 -4
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +2 -2
- package/dist/components/content/Item/index.d.ts +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemBadge/index.d.ts +1 -2
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/Layout.js.map +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js.map +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js.map +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPane.js +2 -2
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +3 -3
- package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +2 -2
- package/dist/components/content/Result/Result.js.map +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/content/Tag/Tag.d.ts +0 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Tag/Tag.js.map +1 -1
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/Title.js.map +1 -1
- package/dist/components/content/Tree/Tree.js +1 -1
- package/dist/components/content/Tree/Tree.js.map +1 -1
- package/dist/components/content/Tree/TreeNode.js +5 -5
- package/dist/components/content/Tree/TreeNode.js.map +1 -1
- package/dist/components/content/Tree/checked-keys.js +1 -1
- package/dist/components/content/Tree/rowId.js +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/styled.js.map +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/types.d.ts +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
- package/dist/components/content/Tree/use-load-data.js +1 -1
- package/dist/components/content/Tree/use-load-data.js.map +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/DataTable/DataTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +2 -2
- package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -2
- package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
- package/dist/components/data/ItemTable/item-table-sections.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
- package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js +1 -1
- package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
- package/dist/components/data/TableBase/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableRow.js.map +1 -1
- package/dist/components/data/TableBase/TableRowLink.js +1 -1
- package/dist/components/data/TableBase/TableView.js +6 -6
- package/dist/components/data/TableBase/TableView.js.map +1 -1
- package/dist/components/data/TableBase/TreeGridTable.js +1 -1
- package/dist/components/data/TableBase/column-header.js +1 -1
- package/dist/components/data/TableBase/column-menu.js +1 -1
- package/dist/components/data/TableBase/column-menu.js.map +1 -1
- package/dist/components/data/TableBase/column-styles.js +1 -1
- package/dist/components/data/TableBase/column-tint.js +1 -1
- package/dist/components/data/TableBase/row-menu.js +1 -1
- package/dist/components/data/TableBase/styled.js +1 -1
- package/dist/components/data/TableBase/styled.js.map +1 -1
- package/dist/components/data/TableBase/table-body-sections.js +1 -1
- package/dist/components/data/TableBase/table-tree.js +1 -1
- package/dist/components/data/TableBase/types.js +1 -1
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
- package/dist/components/data/TableBase/use-column-menu.js +2 -2
- package/dist/components/data/TableBase/use-column-order.js +1 -1
- package/dist/components/data/TableBase/use-column-order.js.map +1 -1
- package/dist/components/data/TableBase/use-column-window.js +1 -1
- package/dist/components/data/TableBase/use-container-width.js +1 -1
- package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
- package/dist/components/data/TableBase/use-scrollability.js +1 -1
- package/dist/components/data/TableBase/use-table-columns.js +1 -1
- package/dist/components/data/TableBase/use-table-search.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js +1 -1
- package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
- package/dist/components/data/TableBase/use-table-storage.js +1 -1
- package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
- package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
- package/dist/components/fields/Checkbox/Checkbox.d.ts +0 -1
- package/dist/components/fields/Checkbox/Checkbox.js +3 -3
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +0 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +3 -3
- package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.d.ts +0 -1
- package/dist/components/fields/ColorInput/ColorInput.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.d.ts +0 -3
- package/dist/components/fields/ColorPicker/ColorPicker.js +3 -3
- package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +0 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +2 -2
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ComboBox/ComboBox.d.ts +0 -1
- package/dist/components/fields/ComboBox/ComboBox.js +6 -6
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +1 -2
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +2 -2
- package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/CalendarPopover.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateInput.js +2 -2
- package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DatePicker.js +2 -2
- package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +2 -2
- package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +2 -2
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.d.ts +0 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +2 -2
- package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.d.ts +0 -1
- package/dist/components/fields/DatePicker/TimeInput.js +2 -2
- package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.d.ts +0 -1
- package/dist/components/fields/FileInput/FileInput.js +3 -3
- package/dist/components/fields/FileInput/FileInput.js.map +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +3 -3
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterListBox/styled.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.d.ts +0 -3
- package/dist/components/fields/FilterPicker/FilterPicker.js +8 -8
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterTree.js +2 -2
- package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -1
- package/dist/components/fields/Input/Input.d.ts +0 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/Input/Input.js.map +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +4 -4
- package/dist/components/fields/ListBox/ListBox.js.map +1 -1
- package/dist/components/fields/ListBox/optionId.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +2 -2
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +2 -2
- package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +0 -2
- package/dist/components/fields/Picker/Picker.js +8 -8
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +0 -1
- package/dist/components/fields/RadioGroup/Radio.js +2 -2
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.d.ts +0 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +3 -3
- package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +0 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +6 -6
- package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +2 -2
- package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/fields/Select/Select.d.ts +1 -2
- package/dist/components/fields/Select/Select.js +7 -7
- package/dist/components/fields/Select/Select.js.map +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/Slider.js.map +1 -1
- package/dist/components/fields/Slider/SliderBase.js +2 -2
- package/dist/components/fields/Slider/SliderBase.js.map +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +2 -2
- package/dist/components/fields/Slider/types.d.ts +0 -1
- package/dist/components/fields/Switch/Switch.d.ts +0 -1
- package/dist/components/fields/Switch/Switch.js +3 -3
- package/dist/components/fields/Switch/Switch.js.map +1 -1
- package/dist/components/fields/TagInput/TagInput.js +5 -5
- package/dist/components/fields/TagInput/TagInput.js.map +1 -1
- package/dist/components/fields/TagInput/TagList.js +1 -1
- package/dist/components/fields/TagInput/TagList.js.map +1 -1
- package/dist/components/fields/TagInput/useActiveOption.js +1 -1
- package/dist/components/fields/TagInput/useTagError.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +2 -2
- package/dist/components/fields/TextArea/TextArea.js.map +1 -1
- package/dist/components/fields/TextInput/TextInput.js +2 -2
- package/dist/components/fields/TextInput/TextInput.js.map +1 -1
- package/dist/components/fields/TextInput/TextInputBase.d.ts +0 -1
- package/dist/components/fields/TextInput/TextInputBase.js +3 -3
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInput/displayed-validation.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +0 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +3 -3
- package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
- package/dist/components/fields/TriggerActions.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +1 -1
- package/dist/components/fields/color/ColorPanel.js.map +1 -1
- package/dist/components/fields/color/channels.js +1 -1
- package/dist/components/fields/color/color.js +1 -1
- package/dist/components/fields/color/context.js +1 -1
- package/dist/components/fields/index.d.ts +2 -2
- package/dist/components/fields/option-origin-press.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +2 -2
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +1 -1
- package/dist/components/form/FieldWrapper/types.d.ts +0 -1
- package/dist/components/form/Form/Field.d.ts +0 -1
- package/dist/components/form/Form/Field.js +3 -3
- package/dist/components/form/Form/Field.js.map +1 -1
- package/dist/components/form/Form/Form.d.ts +1 -26
- package/dist/components/form/Form/Form.js +7 -116
- package/dist/components/form/Form/Form.js.map +1 -1
- package/dist/components/form/Form/FormContext.d.ts +30 -0
- package/dist/components/form/Form/FormContext.js +79 -0
- package/dist/components/form/Form/FormContext.js.map +1 -0
- package/dist/components/form/Form/FormElement.js +49 -0
- package/dist/components/form/Form/FormElement.js.map +1 -0
- package/dist/components/form/Form/ModernFormRoot.js +3 -2
- package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +2 -2
- package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +2 -2
- package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
- package/dist/components/form/Form/SubmitError.d.ts +0 -1
- package/dist/components/form/Form/SubmitError.js +3 -3
- package/dist/components/form/Form/SubmitError.js.map +1 -1
- package/dist/components/form/Form/backend.js +1 -1
- package/dist/components/form/Form/index.d.ts +2 -1
- package/dist/components/form/Form/index.js +6 -5
- package/dist/components/form/Form/index.js.map +1 -1
- package/dist/components/form/Form/modern/actions.js +1 -1
- package/dist/components/form/Form/modern/context.js +1 -1
- package/dist/components/form/Form/modern/controller.js +1 -1
- package/dist/components/form/Form/modern/field-binding.js +1 -1
- package/dist/components/form/Form/modern/field.js +1 -1
- package/dist/components/form/Form/modern/react.js +1 -1
- package/dist/components/form/Form/modern/store.js +1 -1
- package/dist/components/form/Form/modern/validation.js +1 -1
- package/dist/components/form/Form/modern/values.js +1 -1
- package/dist/components/form/Form/reset-unbound-controls.js +1 -1
- package/dist/components/form/Form/use-field/types.d.ts +0 -1
- package/dist/components/form/Form/use-field/use-field-binding.js +2 -2
- package/dist/components/form/Form/use-field/use-field-props.js +4 -4
- package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
- package/dist/components/form/Form/use-field/use-field.d.ts +0 -1
- package/dist/components/form/Form/use-field/use-field.js +2 -2
- package/dist/components/form/Form/use-field/use-field.js.map +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.d.ts +0 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/Label.js.map +1 -1
- package/dist/components/form/field-chrome.js +1 -1
- package/dist/components/form/field-layout.js +1 -1
- package/dist/components/form/field-layout.js.map +1 -1
- package/dist/components/form/index.d.ts +2 -1
- package/dist/components/form/legacy-tooltip.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.d.ts +0 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
- package/dist/components/form/validation/resolve-validation-props.d.ts +0 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js.map +1 -1
- package/dist/components/form/wrapper.d.ts +0 -1
- package/dist/components/form/wrapper.js +1 -1
- package/dist/components/form/wrapper.js.map +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/Prefix.js.map +1 -1
- package/dist/components/layout/ResizablePanel.js +2 -2
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/layout/Suffix.js.map +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +3 -3
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
- package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +4 -4
- package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +2 -2
- package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/segmented-styles.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/styled.js.map +1 -1
- package/dist/components/navigation/Tabs/types.d.ts +2 -2
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/CalendarHeader.js +2 -2
- package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
- package/dist/components/other/Calendar/PeriodGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/Calendar/styled.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +2 -2
- package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
- package/dist/components/overlays/AlertDialog/types.d.ts +0 -1
- package/dist/components/overlays/Dialog/Dialog.js +2 -2
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +2 -2
- package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.d.ts +0 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +5 -5
- package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +2 -2
- package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/default-button-text.js +1 -1
- package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js +1 -1
- package/dist/components/overlays/Dialog/use-dismiss-confirmation.js.map +1 -1
- package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +2 -2
- package/dist/components/overlays/Modal/Modal.js.map +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js.map +1 -1
- package/dist/components/overlays/Modal/Popover.js +2 -2
- package/dist/components/overlays/Modal/Popover.js.map +1 -1
- package/dist/components/overlays/Modal/Tray.js +2 -2
- package/dist/components/overlays/Modal/Tray.js.map +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/modal-containment.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +2 -2
- package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +2 -2
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
- package/dist/components/overlays/Toast/useToast.js +2 -2
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +3 -3
- package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/overlays/Tooltip/context.js.map +1 -1
- package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +8 -32
- package/dist/data/item-themes.js.map +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +5 -1
- package/dist/eslint-plugin/defaults.generated.js.map +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +4 -4
- package/dist/i18n/instance.js +3 -3
- package/dist/i18n/locales/de-DE/uikit.js +1 -1
- package/dist/i18n/locales/en-US/uikit.js +1 -1
- package/dist/i18n/locales/es-ES/uikit.js +1 -1
- package/dist/i18n/locales/es-MX/uikit.js +1 -1
- package/dist/i18n/locales/fr-FR/uikit.js +1 -1
- package/dist/i18n/locales/it-IT/uikit.js +1 -1
- package/dist/i18n/locales/ja-JP/uikit.js +1 -1
- package/dist/i18n/locales/nb-NO/uikit.js +1 -1
- package/dist/i18n/locales/pt-BR/uikit.js +1 -1
- package/dist/i18n/locales/pt-PT/uikit.js +1 -1
- package/dist/i18n/locales/sv-SE/uikit.js +1 -1
- package/dist/i18n/locales/vi-VN/uikit.js +1 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/namespace.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/ArrowNarrowDownIcon.js +1 -1
- package/dist/icons/ArrowNarrowUpIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/GripVerticalIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PipetteIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.d.ts +29 -27
- package/dist/index.js +69 -69
- package/dist/probe/canonicalize.js +1 -1
- package/dist/probe/css.js +1 -1
- package/dist/probe/index.js +1 -1
- package/dist/provider.js +2 -2
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigation-url.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +1 -1
- package/dist/tokens/all-tokens.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/color-seed.js +1 -1
- package/dist/tokens/color-theme.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/legacy-color.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +23 -11
- package/dist/tokens/palette.js.map +1 -1
- package/dist/tokens/resolve.js +2 -2
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/dotize.js +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/disabledProps.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.d.ts +3 -3
- package/dist/utils/react/index.js +13 -13
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/overlayKeyPropagation.js +1 -1
- package/dist/utils/react/programmaticFocus.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
- package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useScheme.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +2 -2
- package/docs/components/actions/Button.md +10 -0
- package/docs/components/actions/ButtonSplit.md +1 -1
- package/docs/glaze/contrast.mdx +751 -0
- package/docs/glaze/exporting.mdx +635 -0
- package/docs/glaze/getting-started.mdx +487 -0
- package/docs/glaze/hdr.mdx +523 -0
- package/docs/glaze/methodology.mdx +979 -0
- package/docs/glaze/migration.md +476 -285
- package/docs/glaze/mixes.mdx +348 -0
- package/docs/glaze/okhst.mdx +692 -0
- package/docs/glaze/reference/color-definitions.md +552 -0
- package/docs/glaze/reference/color-tokens.md +421 -0
- package/docs/glaze/reference/configuration.md +532 -0
- package/docs/glaze/reference/contrast.md +279 -0
- package/docs/glaze/reference/index.md +225 -0
- package/docs/glaze/reference/output.md +714 -0
- package/docs/glaze/reference/palette.md +435 -0
- package/docs/glaze/reference/theme.md +332 -0
- package/docs/glaze/reference/utilities.md +646 -0
- package/docs/glaze/schemes.mdx +644 -0
- package/docs/glaze/shadows-and-glows.mdx +550 -0
- package/package.json +4 -4
- package/dist/components/actions/index.js +0 -29
- package/dist/components/actions/index.js.map +0 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.d.ts +0 -4
- package/dist/components/fields/ListBoxPopover/index.d.ts +0 -5
- package/dist/components/overlays/Modal/Modal.d.ts +0 -3
- package/dist/components/overlays/Modal/Popover.d.ts +0 -7
- package/dist/components/overlays/Modal/Tray.d.ts +0 -5
- package/dist/components/overlays/Modal/Underlay.d.ts +0 -3
- package/dist/components/overlays/Modal/index.d.ts +0 -8
- package/docs/glaze/api.md +0 -2021
- package/docs/glaze/methodology.md +0 -686
- package/docs/glaze/okhst.md +0 -207
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-layout.js","names":["DIMENSION_STYLES","POSITION_STYLES","mergeProps","extractStyles","mergeStyleLayers","rendersFieldChrome","DimensionStyleProps","PositionStyleProps","Styles","Props","FieldLayoutStyleProps","controlWidth","FIELD_LAYOUT_STYLES","FILL_WIDTH_STYLES","FILL_HEIGHT_STYLES","FLEX_STYLES","NOT_SIZING","Set","isSizing","value","has","PHYSICAL_SIZES","const","FieldLayoutOptions","hasChrome","fillHeightOnFlex","defaultStyles","overStyles","FieldLayout","styles","field","fieldStyles","fieldProps","fillWidth","fillHeight","withControlWidth","undefined","sized","width","Record","inlineSize","splitFieldLayout","props","options","record","layoutStyles","Object","keys","length","logical","physical","sizes","names","some","name","mods"],"sources":["../../../src/components/form/field-layout.ts"],"sourcesContent":["import { DIMENSION_STYLES, POSITION_STYLES } from '@tenphi/tasty';\n\nimport { mergeProps } from '../../utils/react/
|
|
1
|
+
{"version":3,"file":"field-layout.js","names":["DIMENSION_STYLES","POSITION_STYLES","mergeProps","extractStyles","mergeStyleLayers","rendersFieldChrome","DimensionStyleProps","PositionStyleProps","Styles","Props","FieldLayoutStyleProps","controlWidth","FIELD_LAYOUT_STYLES","FILL_WIDTH_STYLES","FILL_HEIGHT_STYLES","FLEX_STYLES","NOT_SIZING","Set","isSizing","value","has","PHYSICAL_SIZES","const","FieldLayoutOptions","hasChrome","fillHeightOnFlex","defaultStyles","overStyles","FieldLayout","styles","field","fieldStyles","fieldProps","fillWidth","fillHeight","withControlWidth","undefined","sized","width","Record","inlineSize","splitFieldLayout","props","options","record","layoutStyles","Object","keys","length","logical","physical","sizes","names","some","name","mods"],"sources":["../../../src/components/form/field-layout.ts"],"sourcesContent":["import { DIMENSION_STYLES, POSITION_STYLES } from '@tenphi/tasty';\n\nimport { mergeProps } from '../../utils/react/mergeProps';\nimport { extractStyles, mergeStyleLayers } from '../../utils/styles';\n\nimport { rendersFieldChrome } from './wrapper';\n\nimport type {\n DimensionStyleProps,\n PositionStyleProps,\n Styles,\n} from '@tenphi/tasty';\nimport type { Props } from '../../props';\n\n/**\n * An input's style props. They place and size its outer element: the field\n * wrapper when it renders, the input itself otherwise. `controlWidth` always\n * sizes the input.\n */\nexport interface FieldLayoutStyleProps\n extends PositionStyleProps, DimensionStyleProps {\n /**\n * The control's own width: the element `width` sizes when the input renders\n * bare, in every label position. Beside a side label, `width` takes the label\n * column too, so this is the one that sizes the control alone. It wins over\n * `width` on a bare input and over `styles.width`. A state map resolves\n * against the control, and `false` leaves the width as it is.\n */\n controlWidth?: Styles['width'];\n}\n\n/** The names of the style props in `FieldLayoutStyleProps`: all but `controlWidth`. */\nexport const FIELD_LAYOUT_STYLES: readonly string[] = [\n ...POSITION_STYLES,\n ...DIMENSION_STYLES,\n];\n\n/**\n * Style props that size the wrapper across, so the input fills its width.\n * `inlineSize` counts as `width`, below.\n */\nconst FILL_WIDTH_STYLES = ['width', 'flexBasis', 'flexGrow', 'flex'];\n/**\n * Style props that size the wrapper down, so the input fills its height.\n * `blockSize` counts as `height`, below.\n */\nconst FILL_HEIGHT_STYLES = ['height'];\nconst FLEX_STYLES = ['flexBasis', 'flexGrow', 'flex'];\n\n/** Values that leave an element at its natural size, `false` from a `cond && size` included. */\nconst NOT_SIZING = new Set<unknown>([false, 0, '0', 'none', 'auto', 'initial']);\n\n/** A value that sizes its element: set, and not a reset or a no-op. */\nfunction isSizing(value: unknown) {\n return value != null && !NOT_SIZING.has(value);\n}\n\n/**\n * The wrapper's own `width` follows a logical size in the same CSS rule and\n * overrides it, so on the wrapper a logical size takes its physical name. A\n * physical one given as well, `null` included, wins.\n */\nconst PHYSICAL_SIZES = [\n ['inlineSize', 'width'],\n ['blockSize', 'height'],\n] as const;\n\nexport interface FieldLayoutOptions {\n /**\n * Whether the input renders its field wrapper. Defaults to\n * `rendersFieldChrome(props)`, so pass the props `wrapWithField` receives. A\n * grouped option, which never wraps, passes `false`.\n */\n hasChrome?: boolean;\n /**\n * Whether flex props also fill the wrapper's height: set by the inputs whose\n * bare form grows with its flex line (lists, text areas). A single-line input\n * would only collect the spare height between itself and its message.\n */\n fillHeightOnFlex?: boolean;\n /** The input's own default styles, under `styles`. */\n defaultStyles?: Styles;\n /**\n * Styles a caller sets on the same element over `styles`, such as\n * `wrapperStyles` on the date pickers. `controlWidth` still wins.\n */\n overStyles?: Styles;\n}\n\nexport interface FieldLayout {\n /**\n * The input's styles: `styles`, plus the style props when it is bare, then\n * `overStyles`, and `controlWidth` over all of them.\n */\n styles: Styles;\n /**\n * Spread into the props of `wrapWithField`: the wrapper's `fieldStyles`,\n * with the style props over them, and its `fieldProps`, with the fill mods.\n */\n field: { fieldStyles?: Styles; fieldProps?: Props };\n /** Whether the style props size the wrapper across: the input fills it. */\n fillWidth: boolean;\n /** Whether the style props size the wrapper down: the input fills it. */\n fillHeight: boolean;\n}\n\n/**\n * The control's styles with `controlWidth` over their width. A logical size\n * counts as `width` here too, so it goes. `false`, from a `cond && size`, is\n * no width at all.\n */\nfunction withControlWidth(styles: Styles, controlWidth: unknown): Styles {\n if (controlWidth === undefined || controlWidth === false) return styles;\n\n const sized = { ...styles, width: controlWidth } as Record<string, unknown>;\n\n delete sized.inlineSize;\n\n return sized as Styles;\n}\n\n/**\n * Routes an input's style props to its outer element. Bare, they join the\n * input's `styles`. With the field chrome, they go to the wrapper over\n * `fieldStyles`, and a wrapper they size gets `fill-width` / `fill-height`,\n * under which `FieldWrapper` lets the input stretch as it would in a grid cell\n * of that size. `styles` always stays on the input, and `controlWidth` sizes\n * it over `styles`, wherever the style props go.\n */\nexport function splitFieldLayout(\n props: object,\n options: FieldLayoutOptions = {},\n): FieldLayout {\n const {\n hasChrome = rendersFieldChrome(props),\n fillHeightOnFlex = false,\n defaultStyles,\n overStyles,\n } = options;\n const record = props as Record<string, unknown> & {\n styles?: Styles;\n fieldStyles?: Styles;\n fieldProps?: Props;\n controlWidth?: Styles['width'];\n };\n\n if (!hasChrome) {\n const styles = extractStyles(props, FIELD_LAYOUT_STYLES, defaultStyles);\n\n return {\n styles: withControlWidth(\n overStyles ? mergeStyleLayers(styles, overStyles) : styles,\n record.controlWidth,\n ),\n field: {},\n fillWidth: false,\n fillHeight: false,\n };\n }\n\n const styles = withControlWidth(\n mergeStyleLayers(defaultStyles, record.styles, overStyles),\n record.controlWidth,\n );\n const layoutStyles = extractStyles(\n props,\n FIELD_LAYOUT_STYLES,\n undefined,\n undefined,\n ['styles'],\n );\n\n if (!Object.keys(layoutStyles).length) {\n return { styles, field: {}, fillWidth: false, fillHeight: false };\n }\n\n for (const [logical, physical] of PHYSICAL_SIZES) {\n if (!(logical in layoutStyles)) continue;\n\n if (layoutStyles[physical] === undefined) {\n layoutStyles[physical] = layoutStyles[logical];\n }\n\n delete layoutStyles[logical];\n }\n\n const sizes = (names: string[]) =>\n names.some((name) => isSizing(layoutStyles[name]));\n const fillWidth = sizes(FILL_WIDTH_STYLES);\n const fillHeight =\n sizes(FILL_HEIGHT_STYLES) || (fillHeightOnFlex && sizes(FLEX_STYLES));\n\n return {\n styles,\n field: {\n fieldStyles: mergeStyleLayers(record.fieldStyles, layoutStyles),\n fieldProps:\n fillWidth || fillHeight\n ? mergeProps(record.fieldProps, {\n mods: { 'fill-width': fillWidth, 'fill-height': fillHeight },\n })\n : record.fieldProps,\n },\n fillWidth,\n fillHeight,\n };\n}\n"],"mappings":";;;;;;;AAgCA,MAAaY,sBAAyC,CACpD,GAAGX,iBACH,GAAGD,gBAAgB;;;;;AAOrB,MAAMa,oBAAoB;CAAC;CAAS;CAAa;CAAY;AAAM;;;;;AAKnE,MAAMC,qBAAqB,CAAC,QAAQ;AACpC,MAAMC,cAAc;CAAC;CAAa;CAAY;AAAM;;AAGpD,MAAMC,6BAAa,IAAIC,IAAa;CAAC;CAAO;CAAG;CAAK;CAAQ;CAAQ;AAAS,CAAC;;AAG9E,SAASC,SAASC,OAAgB;CAChC,OAAOA,SAAS,QAAQ,CAACH,WAAWI,IAAID,KAAK;AAC/C;;;;;;AAOA,MAAME,iBAAiB,CACrB,CAAC,cAAc,OAAO,GACtB,CAAC,aAAa,QAAQ,CAAC;;;;;;AA+CzB,SAASc,iBAAiBN,QAAgBlB,cAA+B;CACvE,IAAIA,iBAAiByB,KAAAA,KAAazB,iBAAiB,OAAO,OAAOkB;CAEjE,MAAMQ,QAAQ;EAAE,GAAGR;EAAQS,OAAO3B;CAAa;CAE/C,OAAO0B,MAAMG;CAEb,OAAOH;AACT;;;;;;;;;AAUA,SAAgBI,iBACdC,OACAC,UAA8B,CAAC,GAClB;CACb,MAAM,EACJnB,YAAYnB,mBAAmBqC,KAAK,GACpCjB,mBAAmB,OACnBC,eACAC,eACEgB;CACJ,MAAMC,SAASF;CAOf,IAAI,CAAClB,WAAW;EACd,MAAMK,SAAS1B,cAAcuC,OAAO9B,qBAAqBc,aAAa;EAEtE,OAAO;GACLG,QAAQM,iBACNR,aAAavB,iBAAiByB,QAAQF,UAAU,IAAIE,QACpDe,OAAOjC,YACT;GACAmB,OAAO,CAAC;GACRG,WAAW;GACXC,YAAY;EACd;CACF;CAEA,MAAML,SAASM,iBACb/B,iBAAiBsB,eAAekB,OAAOf,QAAQF,UAAU,GACzDiB,OAAOjC,YACT;CACA,MAAMkC,eAAe1C,cACnBuC,OACA9B,qBACAwB,KAAAA,GACAA,KAAAA,GACA,CAAC,QAAQ,CACX;CAEA,IAAI,CAACU,OAAOC,KAAKF,YAAY,CAAC,CAACG,QAC7B,OAAO;EAAEnB;EAAQC,OAAO,CAAC;EAAGG,WAAW;EAAOC,YAAY;CAAM;CAGlE,KAAK,MAAM,CAACe,SAASC,aAAa7B,gBAAgB;EAChD,IAAI,EAAE4B,WAAWJ,eAAe;EAEhC,IAAIA,aAAaK,cAAcd,KAAAA,GAC7BS,aAAaK,YAAYL,aAAaI;EAGxC,OAAOJ,aAAaI;CACtB;CAEA,MAAME,SAASC,UACbA,MAAMC,MAAMC,SAASpC,SAAS2B,aAAaS,KAAK,CAAC;CACnD,MAAMrB,YAAYkB,MAAMtC,iBAAiB;CACzC,MAAMqB,aACJiB,MAAMrC,kBAAkB,KAAMW,oBAAoB0B,MAAMpC,WAAW;CAErE,OAAO;EACLc;EACAC,OAAO;GACLC,aAAa3B,iBAAiBwC,OAAOb,aAAac,YAAY;GAC9Db,YACEC,aAAaC,aACThC,WAAW0C,OAAOZ,YAAY,EAC5BuB,MAAM;IAAE,cAActB;IAAW,eAAeC;GAAW,EAC7D,CAAC,IACDU,OAAOZ;EACf;EACAC;EACAC;CACF;AACF"}
|
|
@@ -10,9 +10,10 @@ import { FieldLayoutStyleProps } from "./field-layout.js";
|
|
|
10
10
|
import { FieldTypes, Fields } from "./Form/types.js";
|
|
11
11
|
import { CubeFormInstance, useForm } from "./Form/use-form.js";
|
|
12
12
|
import { ModernFormProps } from "./Form/ModernFormRoot.js";
|
|
13
|
-
import { CubeFormProps
|
|
13
|
+
import { CubeFormProps } from "./Form/Form.js";
|
|
14
14
|
import { CubeSubmitButtonProps, SubmitButton as _SubmitButton } from "./Form/SubmitButton/SubmitButton.js";
|
|
15
15
|
import { CubeFieldProps, Field } from "./Form/Field.js";
|
|
16
|
+
import { FormContext, FormScopeMask, useFormProps } from "./Form/FormContext.js";
|
|
16
17
|
import { FormSelectorOptions, FormSubscribeProps } from "./Form/modern/react.js";
|
|
17
18
|
import { CubeResetButtonProps, ResetButton as _ResetButton } from "./Form/ResetButton/ResetButton.js";
|
|
18
19
|
import { CubeSubmitErrorProps, SubmitError as _SubmitError } from "./Form/SubmitError.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { warn } from "../../utils/warnings.js";
|
|
3
3
|
//#region src/components/form/legacy-tooltip.ts
|
|
4
4
|
let hasWarnedAboutLegacyTooltip = false;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
import { ValidationProps } from "../../../shared/form.js";
|
|
3
|
-
import "../../../shared/index.js";
|
|
4
3
|
import { ReactElement } from "react";
|
|
5
4
|
//#region src/components/form/validation/ValidationIndicator.d.ts
|
|
6
5
|
export interface ValidationIndicatorProps extends ValidationProps {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { LoadingIcon } from "../../../icons/LoadingIcon.js";
|
|
3
3
|
import { hasValidationState } from "./resolve-validation-props.js";
|
|
4
4
|
import { InvalidIcon } from "../../shared/InvalidIcon.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationIndicator.js","names":["ReactElement","LoadingIcon","ValidationProps","InvalidIcon","ValidIcon","hasValidationState","ValidationIndicatorProps","isLoading","getValidationIcon","isInvalid","isValid","hasValidationIndicator","props","ValidationIndicator","$","_c","t0","t1","_c"],"sources":["../../../../src/components/form/validation/ValidationIndicator.tsx"],"sourcesContent":["import { ReactElement } from 'react';\n\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { ValidationProps } from '../../../shared/
|
|
1
|
+
{"version":3,"file":"ValidationIndicator.js","names":["ReactElement","LoadingIcon","ValidationProps","InvalidIcon","ValidIcon","hasValidationState","ValidationIndicatorProps","isLoading","getValidationIcon","isInvalid","isValid","hasValidationIndicator","props","ValidationIndicator","$","_c","t0","t1","_c"],"sources":["../../../../src/components/form/validation/ValidationIndicator.tsx"],"sourcesContent":["import { ReactElement } from 'react';\n\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { ValidationProps } from '../../../shared/form';\nimport { InvalidIcon } from '../../shared/InvalidIcon';\nimport { ValidIcon } from '../../shared/ValidIcon';\n\nimport { hasValidationState } from './resolve-validation-props';\n\nexport interface ValidationIndicatorProps extends ValidationProps {\n isLoading?: boolean;\n}\n\n/** The validation icon for the current state, or `null` when there is nothing to show */\nexport function getValidationIcon({\n isInvalid,\n isValid,\n}: ValidationProps): ReactElement | null {\n if (isInvalid) return InvalidIcon;\n if (isValid) return ValidIcon;\n\n return null;\n}\n\n/**\n * Whether an input needs to render the `data-element=\"State\"` block. The loading indicator replaces the\n * validation icon while the input is loading.\n */\nexport function hasValidationIndicator(props: ValidationIndicatorProps) {\n return !!props.isLoading || hasValidationState(props);\n}\n\n/**\n * Renders the validation state of an input as a suffix: either the validation icon or, while loading, the\n * loading indicator.\n */\nexport function ValidationIndicator(props: ValidationIndicatorProps) {\n const { isLoading } = props;\n\n if (!hasValidationIndicator(props)) {\n return null;\n }\n\n return (\n <div data-element=\"State\">\n {isLoading ? (\n <LoadingIcon data-element=\"InputIcon\" />\n ) : (\n getValidationIcon(props)\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;AAcA,SAAgBQ,kBAAkB,EAChCC,WACAC,WACuC;CACvC,IAAID,WAAW,OAAON;CACtB,IAAIO,SAAS,OAAON;CAEpB,OAAO;AACT;;;;;AAMA,SAAgBO,uBAAuBC,OAAiC;CACtE,OAAO,CAAC,CAACA,MAAML,aAAaF,mBAAmBO,KAAK;AACtD;;;;;AAMA,SAAOC,oBAAAD,OAAA;CAAA,MAAAE,IAAAC,EAAA,CAAA;CACL,MAAA,EAAAR,cAAsBK;CAEtB,IAAI,CAACD,uBAAuBC,KAAK,GAAC,OACzB;CACR,IAAAI;CAAA,IAAAF,EAAA,OAAAP,aAAAO,EAAA,OAAAF,OAAA;EAIII,KAAAT,YACC,oBAAC,aAAD,EAA0B,gBAAA,YAAW,CAAA,IAErCC,kBAAkBI,KACpB;EAACE,EAAA,KAAAP;EAAAO,EAAA,KAAAF;EAAAE,EAAA,KAAAE;CAAA,OAAAA,KAAAF,EAAA;CAAA,IAAAG;CAAA,IAAAH,EAAA,OAAAE,IAAA;EALHC,KAAA,oBAAA,OAAA;GAAkB,gBAAA;GACfD,UAAAA;EAKG,CAAA;EAAAF,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,OANNG;AAMM"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
|
|
2
2
|
import { ValidationProps, ValidationState } from "../../../shared/form.js";
|
|
3
|
-
import "../../../shared/index.js";
|
|
4
3
|
//#region src/components/form/validation/resolve-validation-props.d.ts
|
|
5
4
|
export interface ResolvableValidationProps extends ValidationProps {
|
|
6
5
|
/** @deprecated Use `isInvalid` / `isValid` instead. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
//#region src/components/form/validation/resolve-validation-props.ts
|
|
3
3
|
/**
|
|
4
4
|
* Normalizes the validation props of a field into a pair of booleans.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-validation-props.js","names":["ValidationProps","ValidationState","ResolvableValidationProps","validationState","ResolvedValidationProps","isInvalid","isValid","resolveValidationProps","props","undefined","resolvedIsInvalid","hasValidationState","getValidationMods","invalid","valid","getValidationTheme","theme","T","options","includeValid"],"sources":["../../../../src/components/form/validation/resolve-validation-props.ts"],"sourcesContent":["import { ValidationProps, ValidationState } from '../../../shared/
|
|
1
|
+
{"version":3,"file":"resolve-validation-props.js","names":["ValidationProps","ValidationState","ResolvableValidationProps","validationState","ResolvedValidationProps","isInvalid","isValid","resolveValidationProps","props","undefined","resolvedIsInvalid","hasValidationState","getValidationMods","invalid","valid","getValidationTheme","theme","T","options","includeValid"],"sources":["../../../../src/components/form/validation/resolve-validation-props.ts"],"sourcesContent":["import { ValidationProps, ValidationState } from '../../../shared/form';\n\nexport interface ResolvableValidationProps extends ValidationProps {\n /** @deprecated Use `isInvalid` / `isValid` instead. */\n validationState?: ValidationState;\n}\n\nexport interface ResolvedValidationProps {\n isInvalid: boolean | undefined;\n isValid: boolean | undefined;\n}\n\n/**\n * Normalizes the validation props of a field into a pair of booleans.\n *\n * When none of `isInvalid`, `isValid` and the deprecated `validationState` is provided, both flags stay\n * `undefined` so the caller can fall back to a derived state (form errors, `showValid`, …). As soon as any\n * of them is provided, both flags become definite booleans and no fallback applies.\n *\n * `isInvalid` always wins over `isValid`.\n */\nexport function resolveValidationProps(\n props: ResolvableValidationProps,\n): ResolvedValidationProps {\n const { isInvalid, isValid, validationState } = props;\n\n if (\n isInvalid === undefined &&\n isValid === undefined &&\n validationState === undefined\n ) {\n return { isInvalid: undefined, isValid: undefined };\n }\n\n const resolvedIsInvalid = isInvalid ?? validationState === 'invalid';\n\n return {\n isInvalid: resolvedIsInvalid,\n isValid: resolvedIsInvalid\n ? false\n : (isValid ?? validationState === 'valid'),\n };\n}\n\n/** Whether the field has a validation state worth rendering an indicator for */\nexport function hasValidationState({\n isInvalid,\n isValid,\n}: ValidationProps): boolean {\n return !!isInvalid || !!isValid;\n}\n\n/** Tasty modifiers for the validation state. Use instead of hand-writing `invalid`/`valid` mods. */\nexport function getValidationMods({ isInvalid, isValid }: ValidationProps) {\n return {\n invalid: !!isInvalid,\n valid: !!isValid && !isInvalid,\n };\n}\n\n/**\n * Maps the validation state onto a theme name for triggers and items.\n *\n * By default only the invalid state is mapped, which keeps neutral triggers neutral while the suffix icon\n * communicates the valid state. Pass `includeValid` to also map the valid state onto `success`.\n */\nexport function getValidationTheme<T extends string | undefined>(\n theme: T,\n { isInvalid, isValid }: ValidationProps,\n options: { includeValid?: boolean } = {},\n): T | 'danger' | 'success' {\n if (isInvalid) return 'danger';\n if (options.includeValid && isValid) return 'success';\n\n return theme;\n}\n"],"mappings":";;;;;;;;;;;AAqBA,SAAgBO,uBACdC,OACyB;CACzB,MAAM,EAAEH,WAAWC,SAASH,oBAAoBK;CAEhD,IACEH,cAAcI,KAAAA,KACdH,YAAYG,KAAAA,KACZN,oBAAoBM,KAAAA,GAEpB,OAAO;EAAEJ,WAAWI,KAAAA;EAAWH,SAASG,KAAAA;CAAU;CAGpD,MAAMC,oBAAoBL,aAAaF,oBAAoB;CAE3D,OAAO;EACLE,WAAWK;EACXJ,SAASI,oBACL,QACCJ,WAAWH,oBAAoB;CACtC;AACF;;AAGA,SAAgBQ,mBAAmB,EACjCN,WACAC,WAC2B;CAC3B,OAAO,CAAC,CAACD,aAAa,CAAC,CAACC;AAC1B;;AAGA,SAAgBM,kBAAkB,EAAEP,WAAWC,WAA4B;CACzE,OAAO;EACLO,SAAS,CAAC,CAACR;EACXS,OAAO,CAAC,CAACR,WAAW,CAACD;CACvB;AACF;;;;;;;AAQA,SAAgBU,mBACdC,OACA,EAAEX,WAAWC,WACbY,UAAsC,CAAC,GACb;CAC1B,IAAIb,WAAW,OAAO;CACtB,IAAIa,QAAQC,gBAAgBb,SAAS,OAAO;CAE5C,OAAOU;AACT"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { useWarn } from "../../../_internal/hooks/use-warn.js";
|
|
3
3
|
import { resolveValidationProps } from "./resolve-validation-props.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-validation-props.js","names":["useWarn","ResolvableValidationProps","resolveValidationProps","useValidationProps","props","$","_c","t0","Symbol","for","key","args","validationState","undefined","isInvalid","isValid","rest","_validationState","t1","t2","T","_c"],"sources":["../../../../src/components/form/validation/use-validation-props.ts"],"sourcesContent":["import { useWarn } from '../../../_internal/
|
|
1
|
+
{"version":3,"file":"use-validation-props.js","names":["useWarn","ResolvableValidationProps","resolveValidationProps","useValidationProps","props","$","_c","t0","Symbol","for","key","args","validationState","undefined","isInvalid","isValid","rest","_validationState","t1","t2","T","_c"],"sources":["../../../../src/components/form/validation/use-validation-props.ts"],"sourcesContent":["import { useWarn } from '../../../_internal/hooks/use-warn';\n\nimport {\n ResolvableValidationProps,\n resolveValidationProps,\n} from './resolve-validation-props';\n\n/**\n * Resolves `isInvalid` / `isValid` from the props and removes the deprecated `validationState` prop, so\n * component bodies only ever deal with booleans.\n *\n * The validation props are intersected into the parameter instead of constraining `T`, because prop types\n * built with `Omit` over a `Props` index signature expose no named properties and would fail the weak type\n * check of an all-optional constraint.\n */\nexport function useValidationProps<T>(props: T & ResolvableValidationProps): T {\n useWarn(props.validationState !== undefined, {\n key: 'validation-state-deprecated',\n args: [\n 'The \"validationState\" property is deprecated. Use \"isInvalid\" and \"isValid\" instead.',\n ],\n });\n\n if (\n props.validationState === undefined &&\n props.isInvalid === undefined &&\n props.isValid === undefined\n ) {\n return props;\n }\n\n const { validationState: _validationState, ...rest } = props;\n\n return { ...rest, ...resolveValidationProps(props) } as T;\n}\n"],"mappings":";;;;;;;;;;;;;AAeA,SAAOG,mBAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAA,IAAAC;CAAA,IAAAF,EAAA,OAAAG,OAAAC,IAAA,2BAAA,GAAA;EACwCF,KAAA;GAAAG,KACtC;GAA6BC,MAC5B,CACJ,4FAAsF;EAE1F;EAACN,EAAA,KAAAE;CAAA,OAAAA,KAAAF,EAAA;CALDL,QAAQI,MAAKQ,oBAAqBC,KAAAA,GAAWN,EAK5C;CAED,IACEH,MAAKQ,oBAAqBC,KAAAA,KAC1BT,MAAKU,cAAeD,KAAAA,KACpBT,MAAKW,YAAaF,KAAAA,GAAS,OAEpBT;CACR,IAAAY;CAAA,IAAAX,EAAA,OAAAD,OAAA;EAED,MAAA,EAAAQ,iBAAAK,kBAAA,GAAAC,OAAuDd;EAAvDY,OAAAE;EAA6Db,EAAA,KAAAD;EAAAC,EAAA,KAAAW;CAAA,OAAAA,OAAAX,EAAA;CAAA,IAAAa;CAAA,IAAAb,EAAA,OAAAD,OAAA;EAExCc,KAAAhB,uBAAuBE,KAAK;EAACC,EAAA,KAAAD;EAAAC,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,OAAAW,QAAAX,EAAA,OAAAa,IAAA;EAA3CC,KAAA;GAAA,GAAKH;GAAI,GAAKE;EAA8B;EAACb,EAAA,KAAAW;EAAAX,EAAA,KAAAa;EAAAb,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,OAA7Cc;AAAkD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { mergeStyleLayers } from "../../utils/styles.js";
|
|
3
3
|
import { mergeProps } from "../../utils/react/mergeProps.js";
|
|
4
4
|
import { hasFieldContent, warnAboutForceField } from "./field-chrome.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.js","names":["DOMRef","FocusableRef","BaseProps","Styles","ReactElement","RefObject","FieldBaseProps","FormBaseProps","mergeProps","mergeStyleLayers","hasFieldContent","warnAboutForceField","FieldWrapper","warnAboutLegacyTooltip","WrapWithFieldProps","Omit","rendersFieldChrome","props","isBare","label","forceField","LegacyFieldRef","HTMLElement","wrapWithField","component","T","ref","args","length","extra","labelPosition","labelStyles","isRequired","isOptional","isDisabled","necessityIndicator","message","messageStyles","description","errorMessage","isInvalid","isValid","labelProps","labelRef","fieldProps","fieldStyles","requiredMark","labelTooltip","isHidden","labelSuffix","mergedFieldProps","styles","mergedLabelProps","id","_id","fieldPropsWithoutId","Component","controlId"],"sources":["../../../src/components/form/wrapper.tsx"],"sourcesContent":["import { DOMRef, FocusableRef } from '@react-types/shared';\nimport { BaseProps, Styles } from '@tenphi/tasty';\nimport { ReactElement, RefObject } from 'react';\n\nimport { FieldBaseProps, FormBaseProps } from '../../shared/
|
|
1
|
+
{"version":3,"file":"wrapper.js","names":["DOMRef","FocusableRef","BaseProps","Styles","ReactElement","RefObject","FieldBaseProps","FormBaseProps","mergeProps","mergeStyleLayers","hasFieldContent","warnAboutForceField","FieldWrapper","warnAboutLegacyTooltip","WrapWithFieldProps","Omit","rendersFieldChrome","props","isBare","label","forceField","LegacyFieldRef","HTMLElement","wrapWithField","component","T","ref","args","length","extra","labelPosition","labelStyles","isRequired","isOptional","isDisabled","necessityIndicator","message","messageStyles","description","errorMessage","isInvalid","isValid","labelProps","labelRef","fieldProps","fieldStyles","requiredMark","labelTooltip","isHidden","labelSuffix","mergedFieldProps","styles","mergedLabelProps","id","_id","fieldPropsWithoutId","Component","controlId"],"sources":["../../../src/components/form/wrapper.tsx"],"sourcesContent":["import { DOMRef, FocusableRef } from '@react-types/shared';\nimport { BaseProps, Styles } from '@tenphi/tasty';\nimport { ReactElement, RefObject } from 'react';\n\nimport { FieldBaseProps, FormBaseProps } from '../../shared/form';\nimport { mergeProps } from '../../utils/react/mergeProps';\nimport { mergeStyleLayers } from '../../utils/styles';\n\nimport { hasFieldContent, warnAboutForceField } from './field-chrome';\nimport { FieldWrapper } from './FieldWrapper/FieldWrapper';\nimport { warnAboutLegacyTooltip } from './legacy-tooltip';\n\n// The input is passed as `component`, never through props.children.\ninterface WrapWithFieldProps\n extends FieldBaseProps, Omit<BaseProps, 'children'>, FormBaseProps {}\n\n/**\n * Whether `wrapWithField` renders the field chrome for these props. An\n * explicit `isBare` decides; `useFieldProps` sets `isBare={false}` on a bound\n * field, one passed a chrome prop, or one with a `validate` whose errors the\n * control shows (`withFieldChrome`).\n * Otherwise a non-empty `label` renders it, as does the deprecated\n * `forceField`.\n */\nexport function rendersFieldChrome(props: object) {\n const { isBare, label, forceField } = props as WrapWithFieldProps;\n\n if (isBare != null) return !isBare;\n\n return hasFieldContent(label) || !!forceField;\n}\n\ntype LegacyFieldRef =\n | RefObject<unknown>\n | FocusableRef<HTMLElement>\n | DOMRef<HTMLElement>\n | null\n | undefined;\n\n/**\n * Wraps a control in its field chrome when it has one, and forwards its chrome\n * props. The chrome takes no ref: the control attaches the field's `ref` to\n * its own root, so the ref is the same element with or without the chrome, and\n * `labelRef` reaches the label.\n */\nexport function wrapWithField<T extends WrapWithFieldProps>(\n component: ReactElement,\n props: T,\n): ReactElement;\n/**\n * @deprecated Attach the field's ref to the control's root and call\n * `wrapWithField(component, props)`. The `ref` passed here is ignored.\n */\nexport function wrapWithField<T extends WrapWithFieldProps>(\n component: ReactElement,\n ref: LegacyFieldRef,\n props: T,\n): ReactElement;\nexport function wrapWithField<T extends WrapWithFieldProps>(\n component: ReactElement,\n ...args: [props: T] | [ref: LegacyFieldRef, props: T]\n) {\n const props = args[args.length - 1] as T;\n const isBare = !rendersFieldChrome(props);\n let {\n label,\n extra,\n labelPosition = 'top',\n labelStyles,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n labelProps,\n labelRef,\n fieldProps,\n fieldStyles,\n requiredMark = true,\n labelTooltip,\n isHidden,\n labelSuffix,\n } = props;\n\n warnAboutForceField(props);\n\n warnAboutLegacyTooltip(props);\n\n // `fieldStyles` is the shorthand for `fieldProps.styles` and wins over it.\n // Merged as layers, so a `null` reset in either survives to the wrapper.\n const mergedFieldProps = fieldStyles\n ? {\n ...fieldProps,\n styles: mergeStyleLayers(\n (fieldProps as { styles?: Styles } | undefined)?.styles,\n fieldStyles,\n ),\n }\n : fieldProps;\n\n // Merge labelStyles as shorthand for labelProps.styles (labelStyles takes priority)\n const mergedLabelProps = labelStyles\n ? mergeProps(labelProps, { styles: labelStyles })\n : labelProps;\n\n // Remove id from fieldProps to avoid duplication (id should be on the input element, not the field wrapper)\n const { id: _id, ...fieldPropsWithoutId } = (mergedFieldProps as any) || {};\n\n return (\n <FieldWrapper\n {...{\n label,\n isBare,\n extra,\n labelPosition,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n labelProps: mergedLabelProps,\n labelRef,\n fieldProps: fieldPropsWithoutId,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n requiredMark,\n labelTooltip,\n isHidden,\n labelSuffix,\n Component: component,\n // Where the description and message ids come from; see\n // `useFieldDescribedBy`, which points the control at them.\n controlId: props.id,\n }}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,SAAgBgB,mBAAmBC,OAAe;CAChD,MAAM,EAAEC,QAAQC,OAAOC,eAAeH;CAEtC,IAAIC,UAAU,MAAM,OAAO,CAACA;CAE5B,OAAOR,gBAAgBS,KAAK,KAAK,CAAC,CAACC;AACrC;AA4BA,SAAgBG,cACdC,WACA,GAAGG,MACH;CACA,MAAMV,QAAQU,KAAKA,KAAKC,SAAS;CACjC,MAAMV,SAAS,CAACF,mBAAmBC,KAAK;CACxC,IAAI,EACFE,OACAU,OACAC,gBAAgB,OAChBC,aACAC,YACAC,YACAC,YACAC,oBACAC,SACAC,eACAC,aACAC,cACAC,WACAC,SACAC,YACAC,UACAC,YACAC,aACAC,eAAe,MACfC,cACAC,UACAC,gBACEhC;CAEJN,oBAAoBM,KAAK;CAEzBJ,uBAAuBI,KAAK;CAI5B,MAAMiC,mBAAmBL,cACrB;EACE,GAAGD;EACHO,QAAQ1C,iBACLmC,YAAgDO,QACjDN,WACF;CACF,IACAD;CAGJ,MAAMQ,mBAAmBrB,cACrBvB,WAAWkC,YAAY,EAAES,QAAQpB,YAAY,CAAC,IAC9CW;CAGJ,MAAM,EAAEW,IAAIC,KAAK,GAAGC,wBAAyBL,oBAA4B,CAAC;CAE1E,OACE,oBAAC,cAAD;EAEI/B;EACAD;EACAW;EACAC;EACAE;EACAC;EACAC;EACAC;EACAO,YAAYU;EACZT;EACAC,YAAYW;EACZnB;EACAC;EACAC;EACAC;EACAC;EACAC;EACAK;EACAC;EACAC;EACAC;EACAO,WAAWhC;EAGXiC,WAAWxC,MAAMoC;CACjB,CAAA;AAGR"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { c } from "react/compiler-runtime";
|
|
3
3
|
import { useCallback, useLayoutEffect, useRef, useState } from "react";
|
|
4
4
|
//#region src/components/helpers/DisplayTransition/DisplayTransition.tsx
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { DisplayTransition } from "../DisplayTransition/DisplayTransition.js";
|
|
3
3
|
import { tasty } from "@tenphi/tasty";
|
|
4
4
|
import { isValidElement, useCallback, useLayoutEffect, useRef, useState } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { BASE_STYLES, BLOCK_STYLES, COLOR_STYLES, DIMENSION_STYLES, OUTER_STYLES, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { useLayoutEffect as useLayoutEffect$1 } from "../../utils/react/useLayoutEffect.js";
|
|
4
4
|
import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prefix.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","tasty","CSSProperties","forwardRef","useCombinedRefs","useLayoutEffect","extractStyles","PrefixElement","element","styles","position","display","placeContent","placeItems","flow","gap","left","top","bottom","color","height","CubePrefixProps","onWidthChange","Function","outerGap","Prefix","HTMLDivElement","allProps","outerRef","$","_c","t0","children","props","undefined","ref","t1","current","offsetWidth","t2","T0","t3","eventProps","t4","t5","_c"],"sources":["../../../src/components/layout/Prefix.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { CSSProperties, forwardRef } from 'react';\n\nimport { useCombinedRefs
|
|
1
|
+
{"version":3,"file":"Prefix.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","tasty","CSSProperties","forwardRef","useCombinedRefs","useLayoutEffect","extractStyles","PrefixElement","element","styles","position","display","placeContent","placeItems","flow","gap","left","top","bottom","color","height","CubePrefixProps","onWidthChange","Function","outerGap","Prefix","HTMLDivElement","allProps","outerRef","$","_c","t0","children","props","undefined","ref","t1","current","offsetWidth","t2","T0","t3","eventProps","t4","t5","_c"],"sources":["../../../src/components/layout/Prefix.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { CSSProperties, forwardRef } from 'react';\n\nimport { useCombinedRefs } from '../../utils/react/useCombinedRefs';\nimport { useLayoutEffect } from '../../utils/react/useLayoutEffect';\nimport { extractStyles } from '../../utils/styles';\n\nconst PrefixElement = tasty({\n element: 'Prefix',\n styles: {\n position: 'absolute',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n flow: 'column',\n gap: 0,\n left: '$prefix-gap',\n top: '$prefix-gap',\n bottom: '$prefix-gap',\n color: '#dark-02',\n height: '(100% - (2 * $prefix-gap))',\n },\n});\n\nexport interface CubePrefixProps extends BaseProps, ContainerStyleProps {\n onWidthChange?: Function;\n outerGap?: CSSProperties['gap'];\n}\n\nexport const Prefix = forwardRef<HTMLDivElement, CubePrefixProps>(\n function Prefix(allProps, outerRef) {\n let { onWidthChange, outerGap = '1bw', children, ...props } = allProps;\n\n const styles = extractStyles(props, CONTAINER_STYLES);\n const ref = useCombinedRefs(outerRef);\n\n useLayoutEffect(() => {\n if (ref?.current && onWidthChange) {\n onWidthChange(ref.current.offsetWidth);\n }\n }, [children, ref, onWidthChange]);\n\n return (\n <PrefixElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n tokens={{ '$prefix-gap': outerGap }}\n >\n {children}\n </PrefixElement>\n );\n },\n);\n"],"mappings":";;;;;;;;;AAaA,MAAMU,gBAAgBN,MAAM;CAC1BO,SAAS;CACTC,QAAQ;EACNC,UAAU;EACVC,SAAS;EACTC,cAAc;EACdC,YAAY;EACZC,MAAM;EACNC,KAAK;EACLC,MAAM;EACNC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,QAAQ;CACV;AACF,CAAC;AAOD,MAAaK,SAAStB,WACpB,SAAAsB,OAAAE,UAAAC,UAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACE,MAAA,EAAAR,eAAAE,UAAAO,IAAAC,UAAA,GAAAC,UAA8DN;CAAzC,MAAAH,WAAAO,OAAAG,KAAAA,IAAA,QAAAH;CAErB,MAAAtB,SAAeH,cAAc2B,OAAOnC,gBAAgB;CACpD,MAAAqC,MAAY/B,gBAAgBwB,QAAQ;CAAE,IAAAQ;CAAA,IAAAP,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAEtBC,WAAA;GACd,IAAID,KAAGE,WAAHf,eACFA,cAAca,IAAGE,QAAQC,WAAY;EACtC;EACFT,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAG,YAAAH,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAAEI,KAAA;GAACP;GAAUG;GAAKb;EAAa;EAACO,EAAA,KAAAG;EAAAH,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAJjCxB,kBAAgB+B,IAIbG,EAA8B;CAG9B,MAAAC,KAAAjC;CACK,MAAAkC,KAAAzC,gBAAgBiC,OAAO,EAAAS,YAAc,KAAK,CAAC;CAAC,IAAAC;CAAA,IAAAd,EAAA,OAAAL,UAAA;EAGxCmB,KAAA,EAAA,eAAiBnB,SAAS;EAACK,EAAA,KAAAL;EAAAK,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,OAAAW,MAAAX,EAAA,QAAAG,YAAAH,EAAA,QAAAM,OAAAN,EAAA,QAAApB,UAAAoB,EAAA,QAAAY,MAAAZ,EAAA,QAAAc,IAAA;EAJrCC,KAAA,oBAAC,IAAD;GAAc,GACRH;GACCN;GACG1B;GACA,QAAAkC;GAEPX;EANW,CAAA;EAOEH,EAAA,KAAAW;EAAAX,EAAA,MAAAG;EAAAH,EAAA,MAAAM;EAAAN,EAAA,MAAApB;EAAAoB,EAAA,MAAAY;EAAAZ,EAAA,MAAAc;EAAAd,EAAA,MAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,OAPhBe;AAOgB,CAGtB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../utils/react/mergeProps.js";
|
|
3
3
|
import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { useEvent } from "../../_internal/hooks/use-event.js";
|
|
5
|
-
import { useDebouncedValue } from "../../_internal/hooks/use-debounced-value.js";
|
|
6
5
|
import { Panel as _Panel } from "./Panel.js";
|
|
6
|
+
import { useDebouncedValue } from "../../_internal/hooks/use-debounced-value.js";
|
|
7
7
|
import { c } from "react/compiler-runtime";
|
|
8
8
|
import { tasty } from "@tenphi/tasty";
|
|
9
9
|
import { forwardRef, 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.208.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Suffix.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","tasty","CSSProperties","forwardRef","useEffect","useCombinedRefs","extractStyles","SuffixElement","element","styles","position","display","placeContent","placeItems","flow","gap","right","top","bottom","color","height","CubeSuffixProps","onWidthChange","Function","outerGap","Suffix","HTMLDivElement","allProps","outerRef","$","_c","t0","children","props","undefined","ref","t1","current","offsetWidth","t2","T0","t3","eventProps","t4","t5","_c"],"sources":["../../../src/components/layout/Suffix.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { CSSProperties, forwardRef, useEffect } from 'react';\n\nimport { useCombinedRefs } from '../../utils/react';\nimport { extractStyles } from '../../utils/styles';\n\nconst SuffixElement = tasty({\n element: 'Suffix',\n styles: {\n position: 'absolute',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n flow: 'column',\n gap: 0,\n right: '$suffix-gap',\n top: '$suffix-gap',\n bottom: '$suffix-gap',\n color: '#dark-02',\n height: '(100% - (2 * $suffix-gap))',\n },\n});\n\nexport interface CubeSuffixProps extends BaseProps, ContainerStyleProps {\n onWidthChange?: Function;\n outerGap?: CSSProperties['gap'];\n}\n\nexport const Suffix = forwardRef<HTMLDivElement, CubeSuffixProps>(\n function Suffix(allProps, outerRef) {\n let { onWidthChange, outerGap = '1bw', children, ...props } = allProps;\n const styles = extractStyles(props, CONTAINER_STYLES);\n const ref = useCombinedRefs(outerRef);\n\n useEffect(() => {\n if (ref && ref.current && onWidthChange) {\n onWidthChange(ref.current.offsetWidth);\n }\n }, [children, ref, onWidthChange]);\n\n return (\n <SuffixElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n tokens={{ '$suffix-gap': outerGap }}\n >\n {children}\n </SuffixElement>\n );\n },\n);\n"],"mappings":";;;;;;;;AAYA,MAAMU,gBAAgBN,MAAM;CAC1BO,SAAS;CACTC,QAAQ;EACNC,UAAU;EACVC,SAAS;EACTC,cAAc;EACdC,YAAY;EACZC,MAAM;EACNC,KAAK;EACLC,OAAO;EACPC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,QAAQ;CACV;AACF,CAAC;AAOD,MAAaK,SAAStB,WACpB,SAAAsB,OAAAE,UAAAC,UAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACE,MAAA,EAAAR,eAAAE,UAAAO,IAAAC,UAAA,GAAAC,UAA8DN;CAAzC,MAAAH,WAAAO,OAAAG,KAAAA,IAAA,QAAAH;CACrB,MAAAtB,SAAeH,cAAc2B,OAAOnC,gBAAgB;CACpD,MAAAqC,MAAY9B,gBAAgBuB,QAAQ;CAAE,IAAAQ;CAAA,IAAAP,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAE5BC,WAAA;GACR,IAAID,OAAOA,IAAGE,WAAVf,eACFA,cAAca,IAAGE,QAAQC,WAAY;EACtC;EACFT,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAG,YAAAH,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAAEI,KAAA;GAACP;GAAUG;GAAKb;EAAa;EAACO,EAAA,KAAAG;EAAAH,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAJjCzB,UAAUgC,IAIPG,EAA8B;CAG9B,MAAAC,KAAAjC;CACK,MAAAkC,KAAAzC,gBAAgBiC,OAAO,EAAAS,YAAc,KAAK,CAAC;CAAC,IAAAC;CAAA,IAAAd,EAAA,OAAAL,UAAA;EAGxCmB,KAAA,EAAA,eAAiBnB,SAAS;EAACK,EAAA,KAAAL;EAAAK,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,OAAAW,MAAAX,EAAA,QAAAG,YAAAH,EAAA,QAAAM,OAAAN,EAAA,QAAApB,UAAAoB,EAAA,QAAAY,MAAAZ,EAAA,QAAAc,IAAA;EAJrCC,KAAA,oBAAC,IAAD;GAAc,GACRH;GACCN;GACG1B;GACA,QAAAkC;GAEPX;EANW,CAAA;EAOEH,EAAA,KAAAW;EAAAX,EAAA,MAAAG;EAAAH,EAAA,MAAAM;EAAAN,EAAA,MAAApB;EAAAoB,EAAA,MAAAY;EAAAZ,EAAA,MAAAc;EAAAd,EAAA,MAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,OAPhBe;AAOgB,CAGtB"}
|
|
1
|
+
{"version":3,"file":"Suffix.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","tasty","CSSProperties","forwardRef","useEffect","useCombinedRefs","extractStyles","SuffixElement","element","styles","position","display","placeContent","placeItems","flow","gap","right","top","bottom","color","height","CubeSuffixProps","onWidthChange","Function","outerGap","Suffix","HTMLDivElement","allProps","outerRef","$","_c","t0","children","props","undefined","ref","t1","current","offsetWidth","t2","T0","t3","eventProps","t4","t5","_c"],"sources":["../../../src/components/layout/Suffix.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { CSSProperties, forwardRef, useEffect } from 'react';\n\nimport { useCombinedRefs } from '../../utils/react/useCombinedRefs';\nimport { extractStyles } from '../../utils/styles';\n\nconst SuffixElement = tasty({\n element: 'Suffix',\n styles: {\n position: 'absolute',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n flow: 'column',\n gap: 0,\n right: '$suffix-gap',\n top: '$suffix-gap',\n bottom: '$suffix-gap',\n color: '#dark-02',\n height: '(100% - (2 * $suffix-gap))',\n },\n});\n\nexport interface CubeSuffixProps extends BaseProps, ContainerStyleProps {\n onWidthChange?: Function;\n outerGap?: CSSProperties['gap'];\n}\n\nexport const Suffix = forwardRef<HTMLDivElement, CubeSuffixProps>(\n function Suffix(allProps, outerRef) {\n let { onWidthChange, outerGap = '1bw', children, ...props } = allProps;\n const styles = extractStyles(props, CONTAINER_STYLES);\n const ref = useCombinedRefs(outerRef);\n\n useEffect(() => {\n if (ref && ref.current && onWidthChange) {\n onWidthChange(ref.current.offsetWidth);\n }\n }, [children, ref, onWidthChange]);\n\n return (\n <SuffixElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n tokens={{ '$suffix-gap': outerGap }}\n >\n {children}\n </SuffixElement>\n );\n },\n);\n"],"mappings":";;;;;;;;AAYA,MAAMU,gBAAgBN,MAAM;CAC1BO,SAAS;CACTC,QAAQ;EACNC,UAAU;EACVC,SAAS;EACTC,cAAc;EACdC,YAAY;EACZC,MAAM;EACNC,KAAK;EACLC,OAAO;EACPC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,QAAQ;CACV;AACF,CAAC;AAOD,MAAaK,SAAStB,WACpB,SAAAsB,OAAAE,UAAAC,UAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACE,MAAA,EAAAR,eAAAE,UAAAO,IAAAC,UAAA,GAAAC,UAA8DN;CAAzC,MAAAH,WAAAO,OAAAG,KAAAA,IAAA,QAAAH;CACrB,MAAAtB,SAAeH,cAAc2B,OAAOnC,gBAAgB;CACpD,MAAAqC,MAAY9B,gBAAgBuB,QAAQ;CAAE,IAAAQ;CAAA,IAAAP,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAE5BC,WAAA;GACR,IAAID,OAAOA,IAAGE,WAAVf,eACFA,cAAca,IAAGE,QAAQC,WAAY;EACtC;EACFT,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAG,YAAAH,EAAA,OAAAP,iBAAAO,EAAA,OAAAM,KAAA;EAAEI,KAAA;GAACP;GAAUG;GAAKb;EAAa;EAACO,EAAA,KAAAG;EAAAH,EAAA,KAAAP;EAAAO,EAAA,KAAAM;EAAAN,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAJjCzB,UAAUgC,IAIPG,EAA8B;CAG9B,MAAAC,KAAAjC;CACK,MAAAkC,KAAAzC,gBAAgBiC,OAAO,EAAAS,YAAc,KAAK,CAAC;CAAC,IAAAC;CAAA,IAAAd,EAAA,OAAAL,UAAA;EAGxCmB,KAAA,EAAA,eAAiBnB,SAAS;EAACK,EAAA,KAAAL;EAAAK,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,OAAAW,MAAAX,EAAA,QAAAG,YAAAH,EAAA,QAAAM,OAAAN,EAAA,QAAApB,UAAAoB,EAAA,QAAAY,MAAAZ,EAAA,QAAAc,IAAA;EAJrCC,KAAA,oBAAC,IAAD;GAAc,GACRH;GACCN;GACG1B;GACA,QAAAkC;GAEPX;EANW,CAAA;EAOEH,EAAA,KAAAW;EAAAX,EAAA,MAAAG;EAAAH,EAAA,MAAAM;EAAAN,EAAA,MAAApB;EAAAoB,EAAA,MAAAY;EAAAZ,EAAA,MAAAc;EAAAd,EAAA,MAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,OAPhBe;AAOgB,CAGtB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
4
4
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
5
|
-
import {
|
|
5
|
+
import { Button } from "../../actions/Button/Button.js";
|
|
6
6
|
import { RightIcon } from "../../../icons/RightIcon.js";
|
|
7
|
-
import { Button } from "../../actions/index.js";
|
|
8
7
|
import { Select as __Select } from "../../fields/Select/Select.js";
|
|
8
|
+
import { useFormatter } from "../../../i18n/useFormatter.js";
|
|
9
9
|
import { BackwardIcon } from "../../../icons/BackwardIcon.js";
|
|
10
10
|
import { ForwardIcon } from "../../../icons/ForwardIcon.js";
|
|
11
11
|
import { LeftIcon } from "../../../icons/LeftIcon.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","names":["useControlledState","filterBaseProps","OUTER_STYLES","tasty","forwardRef","useEvent","useFormatter","useI18n","BackwardIcon","ForwardIcon","LeftIcon","RightIcon","extractStyles","Button","Select","clampPage","getPageInfo","getPaginationRange","ForwardedRef","ReactElement","CubePaginationProps","CubeTablePageInfo","PaginationElement","qa","as","styles","display","flow","gap","placeItems","placeContent","Summary","preset","color","whiteSpace","Controls","Gap","width","height","userSelect","Pages","styleProps","NavButton","type","border","PageButton","formatRange","info","start","page","pageSize","end","total","Math","min","Pagination","props","ref","$","_c","pageProp","defaultPage","onPageChange","totalPages","totalPagesProp","pageSizeProp","defaultPageSize","pageSizeOptions","onPageSizeChange","t0","siblingCount","t1","boundaryCount","t2","size","t3","isDisabled","hasNextPage","isCompact","t4","summary","t5","labelFormatter","ariaLabel","pageSizeSelectStyles","mods","rest","undefined","t","formatNumber","setPageSize","v","setPage","isCountable","Number","MAX_SAFE_INTEGER","from","to","goTo","next","clamped","max","t6","value","onPageSizeSelectionChange","t7","value_0","onPageSelectionChange","pageItems","selectEntries","Array","length","_temp","isFirst","isLast","t8","summaryNode","renderPageControl","String","map","entry","entryInfo","label","entry_0","index","showEdgeButtons","t9","eventProps","t10","t11","t12","option","label_0","t13","t14","Symbol","for","t15","t16","t17","t18","t19","t20","t21","t22","_","i","_Pagination","displayName","_c","Select"],"sources":["../../../../src/components/navigation/Pagination/Pagination.tsx"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\nimport { filterBaseProps, OUTER_STYLES, tasty } from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks';\nimport { useFormatter, useI18n } from '../../../i18n';\nimport { BackwardIcon } from '../../../icons/BackwardIcon';\nimport { ForwardIcon } from '../../../icons/ForwardIcon';\nimport { LeftIcon } from '../../../icons/LeftIcon';\nimport { RightIcon } from '../../../icons/RightIcon';\nimport { extractStyles } from '../../../utils/styles';\nimport { Button } from '../../actions';\nimport { Select } from '../../fields/Select';\n\nimport { clampPage, getPageInfo, getPaginationRange } from './use-pagination';\n\nimport type { ForwardedRef, ReactElement } from 'react';\nimport type { CubePaginationProps, CubeTablePageInfo } from './types';\n\nconst PaginationElement = tasty({\n qa: 'Pagination',\n as: 'nav',\n styles: {\n display: 'flex',\n flow: 'row',\n gap: '1x',\n placeItems: 'center',\n placeContent: 'start',\n\n Summary: {\n // Follows the control's size rather than being fixed, so the summary\n // matches whatever the buttons beside it are.\n preset: { '': 't3', 'size=xsmall': 't4' },\n color: '#dark-03',\n whiteSpace: 'nowrap',\n },\n\n Controls: {\n display: 'flex',\n flow: 'row',\n gap: '.5x',\n placeItems: 'center',\n },\n\n Gap: {\n display: 'grid',\n placeItems: 'center',\n width: 'min $gap-size',\n height: '$gap-size',\n preset: 't3',\n color: '#dark-04',\n userSelect: 'none',\n },\n\n /**\n * The page numbers sit tighter than the nav buttons around them: they read\n * as one run of pages, not as separate controls, and a hairline is enough\n * to keep the current page's outline off its neighbours.\n */\n Pages: {\n display: 'flex',\n flow: 'row',\n gap: '$item-gap',\n placeItems: 'center',\n },\n\n '$gap-size': {\n '': '$size-sm',\n 'size=xsmall': '$size-xs',\n 'size=medium': '$size-md',\n },\n },\n styleProps: OUTER_STYLES,\n});\n\nconst NavButton = tasty(Button, {\n type: 'clear',\n styles: { border: true },\n});\n\n// Page buttons are borderless so the current page — which renders as `outline`\n// and therefore draws its own border — is the only bordered one in the run.\nconst PageButton = tasty(Button, {\n type: 'clear',\n});\n\nfunction formatRange(info: CubeTablePageInfo): string {\n const start = (info.page - 1) * info.pageSize + 1;\n const end =\n info.total > 0\n ? Math.min(info.page * info.pageSize, info.total)\n : info.page * info.pageSize;\n\n return `${start}–${end}`;\n}\n\nfunction Pagination(\n props: CubePaginationProps,\n ref: ForwardedRef<HTMLElement>,\n): ReactElement {\n const {\n page: pageProp,\n defaultPage,\n onPageChange,\n totalPages: totalPagesProp,\n total,\n pageSize: pageSizeProp,\n defaultPageSize,\n pageSizeOptions,\n onPageSizeChange,\n type = 'numbers',\n siblingCount = 1,\n boundaryCount = 1,\n size = 'small',\n isDisabled,\n hasNextPage,\n isCompact = false,\n summary = false,\n labelFormatter,\n ariaLabel,\n pageSizeSelectStyles,\n qa,\n mods,\n ...rest\n } = props;\n\n const { t } = useI18n();\n const { formatNumber } = useFormatter();\n\n const [pageSize, setPageSize] = useControlledState<number>(\n pageSizeProp as number,\n defaultPageSize ?? 50,\n onPageSizeChange as (v: number) => void,\n );\n const [page, setPage] = useControlledState<number>(\n pageProp as number,\n defaultPage ?? 1,\n onPageChange as (v: number) => void,\n );\n\n // Unknown total: prev/next only, with `hasNextPage` driving the next button.\n // The page must NOT be clamped in that mode — there is nothing to clamp to.\n const isCountable = totalPagesProp != null || total != null;\n\n const info: CubeTablePageInfo = isCountable\n ? getPageInfo({\n page,\n pageSize,\n total: total ?? 0,\n totalPages: totalPagesProp,\n })\n : {\n page: clampPage(page, Number.MAX_SAFE_INTEGER),\n pageSize,\n totalPages: 0,\n total: 0,\n from: 0,\n to: 0,\n };\n\n const { totalPages } = info;\n\n const goTo = useEvent((next: number) => {\n const clamped = isCountable\n ? clampPage(next, totalPages)\n : Math.max(next, 1);\n\n if (clamped !== info.page) setPage(clamped);\n });\n\n const onPageSizeSelectionChange = useEvent((value: any) => {\n setPageSize(Number(value));\n setPage(1);\n });\n\n const onPageSelectionChange = useEvent((value: any) => {\n goTo(Number(value));\n });\n\n const pageItems =\n type === 'numbers' && isCountable\n ? getPaginationRange({\n page: info.page,\n totalPages,\n siblingCount,\n boundaryCount,\n })\n : [];\n\n // `type=\"select\"` materializes one entry per page, so it is only safe for\n // small page counts. Above the cap we fall back to `compact`, which reads the\n // same but renders a single label.\n const selectEntries =\n type === 'select' && isCountable && totalPages <= 200\n ? Array.from({ length: totalPages }, (_, i) => i + 1)\n : null;\n\n const isFirst = info.page <= 1;\n const isLast = isCountable ? info.page >= totalPages : !hasNextPage;\n\n const styles = extractStyles(props, OUTER_STYLES);\n\n const summaryNode =\n summary === false\n ? null\n : typeof summary === 'function'\n ? summary(info)\n : info.total > 0\n ? // Numbers are formatted here rather than left to i18next, which\n // interpolates them raw (\"1204\", not \"1,204\").\n t('pagination.summary', '{{from}}–{{to}} of {{total}}', {\n from: formatNumber(info.from),\n to: formatNumber(info.to),\n total: formatNumber(info.total),\n })\n : null;\n\n function renderPageControl() {\n if (selectEntries) {\n return (\n <Select\n isBare\n qa=\"PaginationPageSelect\"\n size={size}\n isDisabled={isDisabled}\n aria-label={t('pagination.selectPage', 'Select page')}\n selectedKey={String(info.page)}\n width=\"min 15x\"\n styles={pageSizeSelectStyles}\n onSelectionChange={onPageSelectionChange}\n >\n {selectEntries.map((entry) => {\n const entryInfo = { ...info, page: entry };\n const label =\n labelFormatter?.(entryInfo) ??\n (info.total > 0\n ? formatRange(entryInfo)\n : t('pagination.page', 'Page {{page}}', { page: entry }));\n\n return (\n <Select.Item key={entry} textValue={String(label)}>\n {label}\n </Select.Item>\n );\n })}\n </Select>\n );\n }\n\n if (type === 'numbers' && pageItems.length > 0) {\n return (\n <div data-element=\"Pages\">\n {pageItems.map((entry, index) =>\n entry === 'gap' ? (\n <div key={`gap-${index}`} data-element=\"Gap\" aria-hidden=\"true\">\n {'…'}\n </div>\n ) : (\n <PageButton\n key={entry}\n qa={`PaginationPage_${entry}`}\n size={size}\n type={entry === info.page ? 'outline' : 'clear'}\n isDisabled={isDisabled}\n aria-label={t('pagination.page', 'Page {{page}}', {\n page: entry,\n })}\n aria-current={entry === info.page ? 'page' : undefined}\n onPress={() => goTo(entry)}\n >\n {entry}\n </PageButton>\n ),\n )}\n </div>\n );\n }\n\n if (!isCountable) return null;\n\n return (\n <div data-element=\"Summary\" data-qa=\"PaginationPageLabel\">\n {t('pagination.pageOf', '{{page}} of {{totalPages}}', {\n page: info.page,\n totalPages,\n })}\n </div>\n );\n }\n\n const showEdgeButtons = !isCompact && isCountable;\n\n return (\n <PaginationElement\n {...filterBaseProps(rest, { eventProps: true })}\n ref={ref}\n qa={qa || 'Pagination'}\n styles={styles}\n mods={{ size, ...mods }}\n aria-label={ariaLabel ?? t('pagination.ariaLabel', 'Pagination')}\n >\n {summaryNode ? <div data-element=\"Summary\">{summaryNode}</div> : null}\n\n {pageSizeOptions && onPageSizeChange ? (\n <Select\n isBare\n qa=\"PaginationPageSizeSelect\"\n size={size}\n isDisabled={isDisabled}\n aria-label={t('pagination.itemsPerPage', 'Items per page')}\n selectedKey={String(pageSize)}\n styles={pageSizeSelectStyles}\n onSelectionChange={onPageSizeSelectionChange}\n >\n {pageSizeOptions.map((option) => {\n const label = t(\n 'pagination.itemsPerPageOption',\n '{{size}} / page',\n {\n size: option,\n },\n );\n\n return (\n <Select.Item key={option} textValue={label}>\n {label}\n </Select.Item>\n );\n })}\n </Select>\n ) : null}\n\n <div data-element=\"Controls\">\n {showEdgeButtons ? (\n <NavButton\n qa=\"PaginationFirstButton\"\n size={size}\n icon={<BackwardIcon />}\n isDisabled={isFirst || isDisabled}\n aria-label={t('pagination.firstPage', 'First page')}\n onPress={() => goTo(1)}\n />\n ) : null}\n\n <NavButton\n qa=\"PaginationPrevButton\"\n size={size}\n icon={<LeftIcon />}\n isDisabled={isFirst || isDisabled}\n aria-label={t('pagination.previousPage', 'Previous page')}\n onPress={() => goTo(info.page - 1)}\n />\n\n {renderPageControl()}\n\n <NavButton\n qa=\"PaginationNextButton\"\n size={size}\n icon={<RightIcon />}\n isDisabled={isLast || isDisabled}\n aria-label={t('pagination.nextPage', 'Next page')}\n onPress={() => goTo(info.page + 1)}\n />\n\n {showEdgeButtons ? (\n <NavButton\n qa=\"PaginationLastButton\"\n size={size}\n icon={<ForwardIcon />}\n isDisabled={isLast || isDisabled}\n aria-label={t('pagination.lastPage', 'Last page')}\n onPress={() => goTo(totalPages)}\n />\n ) : null}\n </div>\n </PaginationElement>\n );\n}\n\nconst _Pagination = forwardRef(Pagination);\n\n_Pagination.displayName = 'Pagination';\n\nexport { _Pagination as Pagination };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pagination.js","names":["useControlledState","filterBaseProps","OUTER_STYLES","tasty","forwardRef","useEvent","useFormatter","useI18n","BackwardIcon","ForwardIcon","LeftIcon","RightIcon","extractStyles","Button","Select","clampPage","getPageInfo","getPaginationRange","ForwardedRef","ReactElement","CubePaginationProps","CubeTablePageInfo","PaginationElement","qa","as","styles","display","flow","gap","placeItems","placeContent","Summary","preset","color","whiteSpace","Controls","Gap","width","height","userSelect","Pages","styleProps","NavButton","type","border","PageButton","formatRange","info","start","page","pageSize","end","total","Math","min","Pagination","props","ref","$","_c","pageProp","defaultPage","onPageChange","totalPages","totalPagesProp","pageSizeProp","defaultPageSize","pageSizeOptions","onPageSizeChange","t0","siblingCount","t1","boundaryCount","t2","size","t3","isDisabled","hasNextPage","isCompact","t4","summary","t5","labelFormatter","ariaLabel","pageSizeSelectStyles","mods","rest","undefined","t","formatNumber","setPageSize","v","setPage","isCountable","Number","MAX_SAFE_INTEGER","from","to","goTo","next","clamped","max","t6","value","onPageSizeSelectionChange","t7","value_0","onPageSelectionChange","pageItems","selectEntries","Array","length","_temp","isFirst","isLast","t8","summaryNode","renderPageControl","String","map","entry","entryInfo","label","entry_0","index","showEdgeButtons","t9","eventProps","t10","t11","t12","option","label_0","t13","t14","Symbol","for","t15","t16","t17","t18","t19","t20","t21","t22","_","i","_Pagination","displayName","_c","Select"],"sources":["../../../../src/components/navigation/Pagination/Pagination.tsx"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\nimport { filterBaseProps, OUTER_STYLES, tasty } from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\nimport { useFormatter } from '../../../i18n/useFormatter';\nimport { useI18n } from '../../../i18n/useI18n';\nimport { BackwardIcon } from '../../../icons/BackwardIcon';\nimport { ForwardIcon } from '../../../icons/ForwardIcon';\nimport { LeftIcon } from '../../../icons/LeftIcon';\nimport { RightIcon } from '../../../icons/RightIcon';\nimport { extractStyles } from '../../../utils/styles';\nimport { Button } from '../../actions/Button/Button';\nimport { Select } from '../../fields/Select/Select';\n\nimport { clampPage, getPageInfo, getPaginationRange } from './use-pagination';\n\nimport type { ForwardedRef, ReactElement } from 'react';\nimport type { CubePaginationProps, CubeTablePageInfo } from './types';\n\nconst PaginationElement = tasty({\n qa: 'Pagination',\n as: 'nav',\n styles: {\n display: 'flex',\n flow: 'row',\n gap: '1x',\n placeItems: 'center',\n placeContent: 'start',\n\n Summary: {\n // Follows the control's size rather than being fixed, so the summary\n // matches whatever the buttons beside it are.\n preset: { '': 't3', 'size=xsmall': 't4' },\n color: '#dark-03',\n whiteSpace: 'nowrap',\n },\n\n Controls: {\n display: 'flex',\n flow: 'row',\n gap: '.5x',\n placeItems: 'center',\n },\n\n Gap: {\n display: 'grid',\n placeItems: 'center',\n width: 'min $gap-size',\n height: '$gap-size',\n preset: 't3',\n color: '#dark-04',\n userSelect: 'none',\n },\n\n /**\n * The page numbers sit tighter than the nav buttons around them: they read\n * as one run of pages, not as separate controls, and a hairline is enough\n * to keep the current page's outline off its neighbours.\n */\n Pages: {\n display: 'flex',\n flow: 'row',\n gap: '$item-gap',\n placeItems: 'center',\n },\n\n '$gap-size': {\n '': '$size-sm',\n 'size=xsmall': '$size-xs',\n 'size=medium': '$size-md',\n },\n },\n styleProps: OUTER_STYLES,\n});\n\nconst NavButton = tasty(Button, {\n type: 'clear',\n styles: { border: true },\n});\n\n// Page buttons are borderless so the current page — which renders as `outline`\n// and therefore draws its own border — is the only bordered one in the run.\nconst PageButton = tasty(Button, {\n type: 'clear',\n});\n\nfunction formatRange(info: CubeTablePageInfo): string {\n const start = (info.page - 1) * info.pageSize + 1;\n const end =\n info.total > 0\n ? Math.min(info.page * info.pageSize, info.total)\n : info.page * info.pageSize;\n\n return `${start}–${end}`;\n}\n\nfunction Pagination(\n props: CubePaginationProps,\n ref: ForwardedRef<HTMLElement>,\n): ReactElement {\n const {\n page: pageProp,\n defaultPage,\n onPageChange,\n totalPages: totalPagesProp,\n total,\n pageSize: pageSizeProp,\n defaultPageSize,\n pageSizeOptions,\n onPageSizeChange,\n type = 'numbers',\n siblingCount = 1,\n boundaryCount = 1,\n size = 'small',\n isDisabled,\n hasNextPage,\n isCompact = false,\n summary = false,\n labelFormatter,\n ariaLabel,\n pageSizeSelectStyles,\n qa,\n mods,\n ...rest\n } = props;\n\n const { t } = useI18n();\n const { formatNumber } = useFormatter();\n\n const [pageSize, setPageSize] = useControlledState<number>(\n pageSizeProp as number,\n defaultPageSize ?? 50,\n onPageSizeChange as (v: number) => void,\n );\n const [page, setPage] = useControlledState<number>(\n pageProp as number,\n defaultPage ?? 1,\n onPageChange as (v: number) => void,\n );\n\n // Unknown total: prev/next only, with `hasNextPage` driving the next button.\n // The page must NOT be clamped in that mode — there is nothing to clamp to.\n const isCountable = totalPagesProp != null || total != null;\n\n const info: CubeTablePageInfo = isCountable\n ? getPageInfo({\n page,\n pageSize,\n total: total ?? 0,\n totalPages: totalPagesProp,\n })\n : {\n page: clampPage(page, Number.MAX_SAFE_INTEGER),\n pageSize,\n totalPages: 0,\n total: 0,\n from: 0,\n to: 0,\n };\n\n const { totalPages } = info;\n\n const goTo = useEvent((next: number) => {\n const clamped = isCountable\n ? clampPage(next, totalPages)\n : Math.max(next, 1);\n\n if (clamped !== info.page) setPage(clamped);\n });\n\n const onPageSizeSelectionChange = useEvent((value: any) => {\n setPageSize(Number(value));\n setPage(1);\n });\n\n const onPageSelectionChange = useEvent((value: any) => {\n goTo(Number(value));\n });\n\n const pageItems =\n type === 'numbers' && isCountable\n ? getPaginationRange({\n page: info.page,\n totalPages,\n siblingCount,\n boundaryCount,\n })\n : [];\n\n // `type=\"select\"` materializes one entry per page, so it is only safe for\n // small page counts. Above the cap we fall back to `compact`, which reads the\n // same but renders a single label.\n const selectEntries =\n type === 'select' && isCountable && totalPages <= 200\n ? Array.from({ length: totalPages }, (_, i) => i + 1)\n : null;\n\n const isFirst = info.page <= 1;\n const isLast = isCountable ? info.page >= totalPages : !hasNextPage;\n\n const styles = extractStyles(props, OUTER_STYLES);\n\n const summaryNode =\n summary === false\n ? null\n : typeof summary === 'function'\n ? summary(info)\n : info.total > 0\n ? // Numbers are formatted here rather than left to i18next, which\n // interpolates them raw (\"1204\", not \"1,204\").\n t('pagination.summary', '{{from}}–{{to}} of {{total}}', {\n from: formatNumber(info.from),\n to: formatNumber(info.to),\n total: formatNumber(info.total),\n })\n : null;\n\n function renderPageControl() {\n if (selectEntries) {\n return (\n <Select\n isBare\n qa=\"PaginationPageSelect\"\n size={size}\n isDisabled={isDisabled}\n aria-label={t('pagination.selectPage', 'Select page')}\n selectedKey={String(info.page)}\n width=\"min 15x\"\n styles={pageSizeSelectStyles}\n onSelectionChange={onPageSelectionChange}\n >\n {selectEntries.map((entry) => {\n const entryInfo = { ...info, page: entry };\n const label =\n labelFormatter?.(entryInfo) ??\n (info.total > 0\n ? formatRange(entryInfo)\n : t('pagination.page', 'Page {{page}}', { page: entry }));\n\n return (\n <Select.Item key={entry} textValue={String(label)}>\n {label}\n </Select.Item>\n );\n })}\n </Select>\n );\n }\n\n if (type === 'numbers' && pageItems.length > 0) {\n return (\n <div data-element=\"Pages\">\n {pageItems.map((entry, index) =>\n entry === 'gap' ? (\n <div key={`gap-${index}`} data-element=\"Gap\" aria-hidden=\"true\">\n {'…'}\n </div>\n ) : (\n <PageButton\n key={entry}\n qa={`PaginationPage_${entry}`}\n size={size}\n type={entry === info.page ? 'outline' : 'clear'}\n isDisabled={isDisabled}\n aria-label={t('pagination.page', 'Page {{page}}', {\n page: entry,\n })}\n aria-current={entry === info.page ? 'page' : undefined}\n onPress={() => goTo(entry)}\n >\n {entry}\n </PageButton>\n ),\n )}\n </div>\n );\n }\n\n if (!isCountable) return null;\n\n return (\n <div data-element=\"Summary\" data-qa=\"PaginationPageLabel\">\n {t('pagination.pageOf', '{{page}} of {{totalPages}}', {\n page: info.page,\n totalPages,\n })}\n </div>\n );\n }\n\n const showEdgeButtons = !isCompact && isCountable;\n\n return (\n <PaginationElement\n {...filterBaseProps(rest, { eventProps: true })}\n ref={ref}\n qa={qa || 'Pagination'}\n styles={styles}\n mods={{ size, ...mods }}\n aria-label={ariaLabel ?? t('pagination.ariaLabel', 'Pagination')}\n >\n {summaryNode ? <div data-element=\"Summary\">{summaryNode}</div> : null}\n\n {pageSizeOptions && onPageSizeChange ? (\n <Select\n isBare\n qa=\"PaginationPageSizeSelect\"\n size={size}\n isDisabled={isDisabled}\n aria-label={t('pagination.itemsPerPage', 'Items per page')}\n selectedKey={String(pageSize)}\n styles={pageSizeSelectStyles}\n onSelectionChange={onPageSizeSelectionChange}\n >\n {pageSizeOptions.map((option) => {\n const label = t(\n 'pagination.itemsPerPageOption',\n '{{size}} / page',\n {\n size: option,\n },\n );\n\n return (\n <Select.Item key={option} textValue={label}>\n {label}\n </Select.Item>\n );\n })}\n </Select>\n ) : null}\n\n <div data-element=\"Controls\">\n {showEdgeButtons ? (\n <NavButton\n qa=\"PaginationFirstButton\"\n size={size}\n icon={<BackwardIcon />}\n isDisabled={isFirst || isDisabled}\n aria-label={t('pagination.firstPage', 'First page')}\n onPress={() => goTo(1)}\n />\n ) : null}\n\n <NavButton\n qa=\"PaginationPrevButton\"\n size={size}\n icon={<LeftIcon />}\n isDisabled={isFirst || isDisabled}\n aria-label={t('pagination.previousPage', 'Previous page')}\n onPress={() => goTo(info.page - 1)}\n />\n\n {renderPageControl()}\n\n <NavButton\n qa=\"PaginationNextButton\"\n size={size}\n icon={<RightIcon />}\n isDisabled={isLast || isDisabled}\n aria-label={t('pagination.nextPage', 'Next page')}\n onPress={() => goTo(info.page + 1)}\n />\n\n {showEdgeButtons ? (\n <NavButton\n qa=\"PaginationLastButton\"\n size={size}\n icon={<ForwardIcon />}\n isDisabled={isLast || isDisabled}\n aria-label={t('pagination.lastPage', 'Last page')}\n onPress={() => goTo(totalPages)}\n />\n ) : null}\n </div>\n </PaginationElement>\n );\n}\n\nconst _Pagination = forwardRef(Pagination);\n\n_Pagination.displayName = 'Pagination';\n\nexport { _Pagination as Pagination };\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useControlledState } from "@react-stately/utils";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-pagination.js","names":["useControlledState","useEvent","CubePaginationItem","CubeTablePageInfo","range","start","end","length","Array","from","_","i","clampPage","page","totalPages","Number","isFinite","Math","min","max","trunc","PaginationRangeOptions","siblingCount","boundaryCount","getPaginationRange","current","startPages","endPages","siblingsStart","siblingsEnd","getPageInfo","options","pageSize","total","ceil","to","UsePaginationOptions","defaultPage","onPageChange","defaultPageSize","onPageSizeChange","UsePaginationResult","pageItems","T","setPage","setPageSize","usePagination","items","t0","$","_c","t1","undefined","setPageSizeState","v","setPageState","t2","info","t3","next","t4","next_0","t5","slice","t6","_c"],"sources":["../../../../src/components/navigation/Pagination/use-pagination.ts"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\n\nimport { useEvent } from '../../../_internal/hooks';\n\nimport type { CubePaginationItem, CubeTablePageInfo } from './types';\n\nfunction range(start: number, end: number): number[] {\n const length = end - start + 1;\n\n return length > 0 ? Array.from({ length }, (_, i) => start + i) : [];\n}\n\nexport function clampPage(page: number, totalPages: number): number {\n if (!Number.isFinite(page)) return 1;\n\n return Math.min(Math.max(Math.trunc(page), 1), Math.max(totalPages, 1));\n}\n\nexport interface PaginationRangeOptions {\n page: number;\n totalPages: number;\n /** Page buttons either side of the current page. @default 1 */\n siblingCount?: number;\n /** Page buttons pinned at each end. @default 1 */\n boundaryCount?: number;\n}\n\n/**\n * Page numbers to render, with `'gap'` marking an elided run. The output length\n * is bounded by `boundaryCount * 2 + siblingCount * 2 + 3` regardless of\n * `totalPages` — which is the whole point of `type=\"numbers\"`: a 100k-row table\n * at 100 per page renders ~7 buttons, not 1000 `Select` items.\n */\nexport function getPaginationRange({\n page,\n totalPages,\n siblingCount = 1,\n boundaryCount = 1,\n}: PaginationRangeOptions): CubePaginationItem[] {\n if (totalPages <= 0) return [];\n\n const current = clampPage(page, totalPages);\n\n const startPages = range(1, Math.min(boundaryCount, totalPages));\n const endPages = range(\n Math.max(totalPages - boundaryCount + 1, boundaryCount + 1),\n totalPages,\n );\n\n // Pull the sibling window inwards when it would run past either boundary, so\n // the rendered count stays constant as the user pages through.\n const siblingsStart = Math.max(\n Math.min(\n current - siblingCount,\n totalPages - boundaryCount - siblingCount * 2 - 1,\n ),\n boundaryCount + 2,\n );\n const siblingsEnd = Math.min(\n Math.max(current + siblingCount, boundaryCount + siblingCount * 2 + 2),\n endPages.length > 0 ? endPages[0] - 2 : totalPages - 1,\n );\n\n return [\n ...startPages,\n\n // A gap that would hide exactly one page renders that page instead.\n ...(siblingsStart > boundaryCount + 2\n ? (['gap'] as CubePaginationItem[])\n : boundaryCount + 1 < totalPages - boundaryCount\n ? [boundaryCount + 1]\n : []),\n\n ...range(siblingsStart, siblingsEnd),\n\n ...(siblingsEnd < totalPages - boundaryCount - 1\n ? (['gap'] as CubePaginationItem[])\n : totalPages - boundaryCount > boundaryCount\n ? [totalPages - boundaryCount]\n : []),\n\n ...endPages,\n ];\n}\n\nexport function getPageInfo(options: {\n page: number;\n pageSize: number;\n total: number;\n totalPages?: number;\n}): CubeTablePageInfo {\n const { pageSize, total } = options;\n const totalPages =\n options.totalPages ??\n (pageSize > 0 ? Math.max(Math.ceil(total / pageSize), 1) : 1);\n const page = clampPage(options.page, totalPages);\n const from = total === 0 ? 0 : (page - 1) * pageSize + 1;\n const to = total === 0 ? 0 : Math.min(page * pageSize, total);\n\n return { page, pageSize, totalPages, total, from, to };\n}\n\nexport interface UsePaginationOptions {\n page?: number;\n defaultPage?: number;\n onPageChange?: (page: number) => void;\n pageSize?: number;\n defaultPageSize?: number;\n onPageSizeChange?: (pageSize: number) => void;\n}\n\nexport type UsePaginationResult<T> = CubeTablePageInfo & {\n /** The current page's slice of `items`. */\n pageItems: T[];\n setPage: (page: number) => void;\n /** Also resets to page 1, since the old page index no longer means anything. */\n setPageSize: (pageSize: number) => void;\n};\n\n/**\n * Client-side pagination over an in-memory array. Standalone — `ItemTable` uses\n * it internally, but it works on its own for any paged list.\n */\nexport function usePagination<T>(\n items: readonly T[],\n options: UsePaginationOptions = {},\n): UsePaginationResult<T> {\n const [pageSize, setPageSizeState] = useControlledState<number>(\n options.pageSize as number,\n options.defaultPageSize ?? 50,\n options.onPageSizeChange as (v: number) => void,\n );\n const [page, setPageState] = useControlledState<number>(\n options.page as number,\n options.defaultPage ?? 1,\n options.onPageChange as (v: number) => void,\n );\n\n const info = getPageInfo({ page, pageSize, total: items.length });\n\n const setPage = useEvent((next: number) => {\n setPageState(clampPage(next, info.totalPages));\n });\n\n const setPageSize = useEvent((next: number) => {\n setPageSizeState(next);\n setPageState(1);\n });\n\n const pageItems = items.slice(\n (info.page - 1) * pageSize,\n info.page * pageSize,\n ) as T[];\n\n return { ...info, pageItems, setPage, setPageSize };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-pagination.js","names":["useControlledState","useEvent","CubePaginationItem","CubeTablePageInfo","range","start","end","length","Array","from","_","i","clampPage","page","totalPages","Number","isFinite","Math","min","max","trunc","PaginationRangeOptions","siblingCount","boundaryCount","getPaginationRange","current","startPages","endPages","siblingsStart","siblingsEnd","getPageInfo","options","pageSize","total","ceil","to","UsePaginationOptions","defaultPage","onPageChange","defaultPageSize","onPageSizeChange","UsePaginationResult","pageItems","T","setPage","setPageSize","usePagination","items","t0","$","_c","t1","undefined","setPageSizeState","v","setPageState","t2","info","t3","next","t4","next_0","t5","slice","t6","_c"],"sources":["../../../../src/components/navigation/Pagination/use-pagination.ts"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\n\nimport type { CubePaginationItem, CubeTablePageInfo } from './types';\n\nfunction range(start: number, end: number): number[] {\n const length = end - start + 1;\n\n return length > 0 ? Array.from({ length }, (_, i) => start + i) : [];\n}\n\nexport function clampPage(page: number, totalPages: number): number {\n if (!Number.isFinite(page)) return 1;\n\n return Math.min(Math.max(Math.trunc(page), 1), Math.max(totalPages, 1));\n}\n\nexport interface PaginationRangeOptions {\n page: number;\n totalPages: number;\n /** Page buttons either side of the current page. @default 1 */\n siblingCount?: number;\n /** Page buttons pinned at each end. @default 1 */\n boundaryCount?: number;\n}\n\n/**\n * Page numbers to render, with `'gap'` marking an elided run. The output length\n * is bounded by `boundaryCount * 2 + siblingCount * 2 + 3` regardless of\n * `totalPages` — which is the whole point of `type=\"numbers\"`: a 100k-row table\n * at 100 per page renders ~7 buttons, not 1000 `Select` items.\n */\nexport function getPaginationRange({\n page,\n totalPages,\n siblingCount = 1,\n boundaryCount = 1,\n}: PaginationRangeOptions): CubePaginationItem[] {\n if (totalPages <= 0) return [];\n\n const current = clampPage(page, totalPages);\n\n const startPages = range(1, Math.min(boundaryCount, totalPages));\n const endPages = range(\n Math.max(totalPages - boundaryCount + 1, boundaryCount + 1),\n totalPages,\n );\n\n // Pull the sibling window inwards when it would run past either boundary, so\n // the rendered count stays constant as the user pages through.\n const siblingsStart = Math.max(\n Math.min(\n current - siblingCount,\n totalPages - boundaryCount - siblingCount * 2 - 1,\n ),\n boundaryCount + 2,\n );\n const siblingsEnd = Math.min(\n Math.max(current + siblingCount, boundaryCount + siblingCount * 2 + 2),\n endPages.length > 0 ? endPages[0] - 2 : totalPages - 1,\n );\n\n return [\n ...startPages,\n\n // A gap that would hide exactly one page renders that page instead.\n ...(siblingsStart > boundaryCount + 2\n ? (['gap'] as CubePaginationItem[])\n : boundaryCount + 1 < totalPages - boundaryCount\n ? [boundaryCount + 1]\n : []),\n\n ...range(siblingsStart, siblingsEnd),\n\n ...(siblingsEnd < totalPages - boundaryCount - 1\n ? (['gap'] as CubePaginationItem[])\n : totalPages - boundaryCount > boundaryCount\n ? [totalPages - boundaryCount]\n : []),\n\n ...endPages,\n ];\n}\n\nexport function getPageInfo(options: {\n page: number;\n pageSize: number;\n total: number;\n totalPages?: number;\n}): CubeTablePageInfo {\n const { pageSize, total } = options;\n const totalPages =\n options.totalPages ??\n (pageSize > 0 ? Math.max(Math.ceil(total / pageSize), 1) : 1);\n const page = clampPage(options.page, totalPages);\n const from = total === 0 ? 0 : (page - 1) * pageSize + 1;\n const to = total === 0 ? 0 : Math.min(page * pageSize, total);\n\n return { page, pageSize, totalPages, total, from, to };\n}\n\nexport interface UsePaginationOptions {\n page?: number;\n defaultPage?: number;\n onPageChange?: (page: number) => void;\n pageSize?: number;\n defaultPageSize?: number;\n onPageSizeChange?: (pageSize: number) => void;\n}\n\nexport type UsePaginationResult<T> = CubeTablePageInfo & {\n /** The current page's slice of `items`. */\n pageItems: T[];\n setPage: (page: number) => void;\n /** Also resets to page 1, since the old page index no longer means anything. */\n setPageSize: (pageSize: number) => void;\n};\n\n/**\n * Client-side pagination over an in-memory array. Standalone — `ItemTable` uses\n * it internally, but it works on its own for any paged list.\n */\nexport function usePagination<T>(\n items: readonly T[],\n options: UsePaginationOptions = {},\n): UsePaginationResult<T> {\n const [pageSize, setPageSizeState] = useControlledState<number>(\n options.pageSize as number,\n options.defaultPageSize ?? 50,\n options.onPageSizeChange as (v: number) => void,\n );\n const [page, setPageState] = useControlledState<number>(\n options.page as number,\n options.defaultPage ?? 1,\n options.onPageChange as (v: number) => void,\n );\n\n const info = getPageInfo({ page, pageSize, total: items.length });\n\n const setPage = useEvent((next: number) => {\n setPageState(clampPage(next, info.totalPages));\n });\n\n const setPageSize = useEvent((next: number) => {\n setPageSizeState(next);\n setPageState(1);\n });\n\n const pageItems = items.slice(\n (info.page - 1) * pageSize,\n info.page * pageSize,\n ) as T[];\n\n return { ...info, pageItems, setPage, setPageSize };\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { DraggableCollection } from "../../shared/DraggableCollection.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
3
3
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
4
4
|
import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
|
|
5
5
|
import { useI18n } from "../../../i18n/useI18n.js";
|
|
6
6
|
import { InlineInput } from "../../content/InlineInput/InlineInput.js";
|
|
7
|
+
import { CloseIcon } from "../../../icons/CloseIcon.js";
|
|
8
|
+
import { ItemActionsWrapper } from "../../actions/ItemActionsWrapper.js";
|
|
9
|
+
import { MoreIcon } from "../../../icons/MoreIcon.js";
|
|
7
10
|
import { MenuTrigger as _MenuTrigger } from "../../actions/Menu/MenuTrigger.js";
|
|
8
11
|
import { Menu as __Menu } from "../../actions/Menu/Menu.js";
|
|
9
|
-
import { ItemActionsWrapper } from "../../actions/ItemActionsWrapper.js";
|
|
10
12
|
import { useContextMenu } from "../../actions/use-context-menu.js";
|
|
11
|
-
import { CloseIcon } from "../../../icons/CloseIcon.js";
|
|
12
|
-
import { MoreIcon } from "../../../icons/MoreIcon.js";
|
|
13
13
|
import { createMockDragState } from "../../shared/DraggableCollection.js";
|
|
14
14
|
import { useBoardDragActive } from "./BoardDragActiveProvider.js";
|
|
15
15
|
import { TabContainer, TabElement } from "./styled.js";
|