@cube-dev/ui-kit 0.155.0 → 0.157.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 +284 -0
- package/dist/_internal/hooks/use-chained-callback.js +1 -1
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.d.ts +10 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +4 -3
- 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 +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +42 -44
- package/dist/components/actions/use-context-menu.js.map +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider.js +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
- package/dist/components/content/InlineInput/InlineInput.js +1 -1
- package/dist/components/content/Item/Item.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPane.js +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Tag/Tag.js +2 -2
- package/dist/components/content/Tag/Tag.js.map +1 -1
- package/dist/components/content/Text.d.ts +14 -14
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/Tree/Tree.js +1 -1
- package/dist/components/content/Tree/TreeNode.js +1 -1
- package/dist/components/content/Tree/styled.js +1 -1
- package/dist/components/content/Tree/tree-index.js +1 -1
- package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
- package/dist/components/content/Tree/use-load-data.js +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/data/DataTable/DataTable.d.ts +13 -0
- package/dist/components/data/DataTable/DataTable.js +246 -0
- package/dist/components/data/DataTable/DataTable.js.map +1 -0
- package/dist/components/data/DataTable/index.d.ts +3 -0
- package/dist/components/data/DataTable/types.d.ts +145 -0
- package/dist/components/data/ItemTable/ItemTable.d.ts +19 -0
- package/dist/components/data/ItemTable/ItemTable.js +350 -0
- package/dist/components/data/ItemTable/ItemTable.js.map +1 -0
- package/dist/components/data/ItemTable/ItemTableBulkBar.d.ts +23 -0
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +131 -0
- package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -0
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +46 -0
- package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -0
- package/dist/components/data/ItemTable/ItemTableFooter.js +79 -0
- package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -0
- package/dist/components/data/ItemTable/ItemTableToolbar.d.ts +34 -0
- package/dist/components/data/ItemTable/ItemTableToolbar.js +91 -0
- package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -0
- package/dist/components/data/ItemTable/index.d.ts +4 -0
- package/dist/components/data/ItemTable/types.d.ts +327 -0
- package/dist/components/data/TableBase/ColumnResizer.js +70 -0
- package/dist/components/data/TableBase/ColumnResizer.js.map +1 -0
- package/dist/components/data/TableBase/RowCollection.js +99 -0
- package/dist/components/data/TableBase/RowCollection.js.map +1 -0
- package/dist/components/data/TableBase/TableRow.js +89 -0
- package/dist/components/data/TableBase/TableRow.js.map +1 -0
- package/dist/components/data/TableBase/TableView.d.ts +22 -0
- package/dist/components/data/TableBase/TableView.js +921 -0
- package/dist/components/data/TableBase/TableView.js.map +1 -0
- package/dist/components/data/TableBase/index.d.ts +5 -0
- package/dist/components/data/TableBase/row-menu.js +40 -0
- package/dist/components/data/TableBase/row-menu.js.map +1 -0
- package/dist/components/data/TableBase/styled.d.ts +5 -0
- package/dist/components/data/TableBase/styled.js +532 -0
- package/dist/components/data/TableBase/styled.js.map +1 -0
- package/dist/components/data/TableBase/types.d.ts +160 -0
- package/dist/components/data/TableBase/types.js +31 -0
- package/dist/components/data/TableBase/types.js.map +1 -0
- package/dist/components/data/TableBase/use-cell-selection.d.ts +3 -0
- package/dist/components/data/TableBase/use-cell-selection.js +0 -0
- package/dist/components/data/TableBase/use-cell-selection.js.map +1 -0
- package/dist/components/data/TableBase/use-container-width.js +35 -0
- package/dist/components/data/TableBase/use-container-width.js.map +1 -0
- package/dist/components/data/TableBase/use-row-move-animation.js +90 -0
- package/dist/components/data/TableBase/use-row-move-animation.js.map +1 -0
- package/dist/components/data/TableBase/use-scrollability.js +49 -0
- package/dist/components/data/TableBase/use-scrollability.js.map +1 -0
- package/dist/components/data/TableBase/use-table-columns.d.ts +2 -0
- package/dist/components/data/TableBase/use-table-columns.js +166 -0
- package/dist/components/data/TableBase/use-table-columns.js.map +1 -0
- package/dist/components/data/TableBase/use-table-search.js +64 -0
- package/dist/components/data/TableBase/use-table-search.js.map +1 -0
- package/dist/components/data/TableBase/use-table-selection.d.ts +4 -0
- package/dist/components/data/TableBase/use-table-selection.js +233 -0
- package/dist/components/data/TableBase/use-table-selection.js.map +1 -0
- package/dist/components/data/TableBase/use-table-sort.js +91 -0
- package/dist/components/data/TableBase/use-table-sort.js.map +1 -0
- package/dist/components/data/TableBase/use-table-sorts.js +97 -0
- package/dist/components/data/TableBase/use-table-sorts.js.map +1 -0
- package/dist/components/data/TableBase/use-table-storage.d.ts +8 -0
- package/dist/components/data/TableBase/use-table-storage.js +58 -0
- package/dist/components/data/TableBase/use-table-storage.js.map +1 -0
- package/dist/components/data/index.d.ts +10 -0
- package/dist/components/fields/Checkbox/Checkbox.js +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ColorInput/ColorInput.d.ts +67 -0
- package/dist/components/fields/ColorInput/ColorInput.js +230 -0
- package/dist/components/fields/ColorInput/ColorInput.js.map +1 -0
- package/dist/components/fields/ColorInput/index.d.ts +2 -0
- package/dist/components/fields/ColorPicker/ColorPicker.d.ts +64 -0
- package/dist/components/fields/ColorPicker/ColorPicker.js +189 -0
- package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -0
- package/dist/components/fields/ColorPicker/index.d.ts +2 -0
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +50 -0
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +269 -0
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -0
- package/dist/components/fields/ColorSwatchGroup/index.d.ts +2 -0
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
- package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
- package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DatePicker.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
- package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
- package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
- package/dist/components/fields/DatePicker/YearPicker.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/period.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.d.ts +3 -3
- package/dist/components/fields/FilterListBox/FilterListBox.js +8 -6
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +6 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/Input/Input.js +2 -2
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.d.ts +7 -0
- package/dist/components/fields/ListBox/ListBox.js +4 -3
- package/dist/components/fields/ListBox/ListBox.js.map +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
- package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.d.ts +2 -2
- package/dist/components/fields/PasswordInput/PasswordInput.js +12 -2
- package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.js +6 -1
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +2 -2
- package/dist/components/fields/RadioGroup/Radio.js +4 -4
- package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.d.ts +2 -2
- package/dist/components/fields/SearchInput/SearchInput.js +17 -4
- package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/fields/Select/Select.js +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TextArea/TextArea.d.ts +2 -2
- package/dist/components/fields/TextArea/TextArea.js +12 -5
- package/dist/components/fields/TextArea/TextArea.js.map +1 -1
- package/dist/components/fields/TextInput/TextInput.d.ts +2 -2
- package/dist/components/fields/TextInput/TextInput.js +15 -3
- package/dist/components/fields/TextInput/TextInput.js.map +1 -1
- package/dist/components/fields/TextInput/TextInputBase.d.ts +17 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInput/index.d.ts +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/fields/color/ColorPanel.js +152 -0
- package/dist/components/fields/color/ColorPanel.js.map +1 -0
- package/dist/components/fields/color/ColorSwatch.d.ts +22 -0
- package/dist/components/fields/color/ColorSwatch.js +58 -0
- package/dist/components/fields/color/ColorSwatch.js.map +1 -0
- package/dist/components/fields/color/channels.d.ts +13 -0
- package/dist/components/fields/color/channels.js +194 -0
- package/dist/components/fields/color/channels.js.map +1 -0
- package/dist/components/fields/color/color.d.ts +21 -0
- package/dist/components/fields/color/color.js +282 -0
- package/dist/components/fields/color/color.js.map +1 -0
- package/dist/components/fields/color/context.js +20 -0
- package/dist/components/fields/color/context.js.map +1 -0
- package/dist/components/fields/color/index.d.ts +4 -0
- package/dist/components/fields/index.d.ts +11 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/Form/Field.js +1 -1
- package/dist/components/form/Form/Form.js +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/dist/components/form/Form/SubmitError.js +1 -1
- package/dist/components/form/Form/index.js +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +1 -1
- package/dist/components/form/Form/use-field/use-field.js +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/validation/ValidationIndicator.js +1 -1
- package/dist/components/form/validation/resolve-validation-props.js +1 -1
- package/dist/components/form/validation/use-validation-props.js +1 -1
- package/dist/components/form/wrapper.js +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.d.ts +26 -0
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Board/Board.d.ts +55 -1
- package/dist/components/layout/Board/Board.js +278 -75
- package/dist/components/layout/Board/Board.js.map +1 -1
- package/dist/components/layout/Board/BoardProvider.js +1 -1
- package/dist/components/layout/Board/BoardResponsive.js +1 -1
- package/dist/components/layout/Board/Widget.d.ts +16 -0
- package/dist/components/layout/Board/Widget.js +6 -3
- package/dist/components/layout/Board/Widget.js.map +1 -1
- package/dist/components/layout/Board/WidgetHost.js +81 -14
- package/dist/components/layout/Board/WidgetHost.js.map +1 -1
- package/dist/components/layout/Board/board-context.js +1 -1
- package/dist/components/layout/Board/board-context.js.map +1 -1
- package/dist/components/layout/Board/board-store.js +2 -2
- package/dist/components/layout/Board/board-store.js.map +1 -1
- package/dist/components/layout/Board/grid-core/calculate.js +1 -1
- package/dist/components/layout/Board/grid-core/collision.js +1 -1
- package/dist/components/layout/Board/grid-core/compactors.js +1 -1
- package/dist/components/layout/Board/grid-core/constraints.js +1 -1
- package/dist/components/layout/Board/grid-core/group-move.js +132 -0
- package/dist/components/layout/Board/grid-core/group-move.js.map +1 -0
- package/dist/components/layout/Board/grid-core/layout.js +1 -1
- package/dist/components/layout/Board/grid-core/sort.js +1 -1
- package/dist/components/layout/Board/index.d.ts +2 -1
- package/dist/components/layout/Board/index.js +2 -2
- package/dist/components/layout/Board/index.js.map +1 -1
- package/dist/components/layout/Board/responsive-utils.js +1 -1
- package/dist/components/layout/Board/use-board-layout.js +17 -12
- package/dist/components/layout/Board/use-board-layout.js.map +1 -1
- package/dist/components/layout/Board/use-board-registry.js +139 -20
- package/dist/components/layout/Board/use-board-registry.js.map +1 -1
- package/dist/components/layout/Board/use-board-select-modifier-key.js +24 -0
- package/dist/components/layout/Board/use-board-select-modifier-key.js.map +1 -0
- package/dist/components/layout/Board/use-board-selection.d.ts +8 -0
- package/dist/components/layout/Board/use-board-selection.js +113 -0
- package/dist/components/layout/Board/use-board-selection.js.map +1 -0
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Pagination/Pagination.d.ts +9 -0
- package/dist/components/navigation/Pagination/Pagination.js +258 -0
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -0
- package/dist/components/navigation/Pagination/index.d.ts +4 -0
- package/dist/components/navigation/Pagination/types.d.ts +81 -0
- package/dist/components/navigation/Pagination/use-pagination.d.ts +52 -0
- package/dist/components/navigation/Pagination/use-pagination.js +83 -0
- package/dist/components/navigation/Pagination/use-pagination.js.map +1 -0
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/popover-placement.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/navigation/index.d.ts +5 -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/PeriodCalendar.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +24 -8
- package/dist/components/shared/DraggableCollection.js.map +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/eslint-plugin/defaults.generated.js +227 -5
- package/dist/eslint-plugin/defaults.generated.js.map +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/instance.js +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +44 -1
- package/dist/i18n/locales/en-US/uikit.js +44 -1
- package/dist/i18n/locales/en-US/uikit.json.d.ts +49 -1
- package/dist/i18n/locales/es-ES/uikit.js +44 -1
- package/dist/i18n/locales/es-MX/uikit.js +44 -1
- package/dist/i18n/locales/fr-FR/uikit.js +44 -1
- package/dist/i18n/locales/it-IT/uikit.js +44 -1
- package/dist/i18n/locales/ja-JP/uikit.js +44 -1
- package/dist/i18n/locales/nb-NO/uikit.js +44 -1
- package/dist/i18n/locales/pt-BR/uikit.js +44 -1
- package/dist/i18n/locales/pt-PT/uikit.js +44 -1
- package/dist/i18n/locales/sv-SE/uikit.js +44 -1
- package/dist/i18n/locales/vi-VN/uikit.js +44 -1
- package/dist/i18n/locales.js +1 -1
- package/dist/i18n/useFormatter.js +1 -1
- package/dist/i18n/useI18n.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/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.d.ts +12 -0
- package/dist/icons/PipetteIcon.js +11 -0
- package/dist/icons/PipetteIcon.js.map +1 -0
- 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/index.d.ts +1 -0
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.d.ts +31 -12
- package/dist/index.js +24 -11
- package/dist/index.js.map +1 -1
- package/dist/provider.js +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/index.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/lazy-styles.js +1 -1
- package/dist/tokens/palette-config.js +1 -1
- package/dist/tokens/palette.js +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/tokens/typography.d.ts +1 -1
- package/dist/tokens/typography.js +11 -2
- package/dist/tokens/typography.js.map +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/index.d.ts +1 -0
- 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/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.d.ts +1 -0
- package/dist/utils/react/index.js +2 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useBufferedValue.d.ts +56 -0
- package/dist/utils/react/useBufferedValue.js +86 -0
- package/dist/utils/react/useBufferedValue.js.map +1 -0
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/usePopoverSync.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/selection.js +1 -1
- package/dist/utils/styles.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +2 -2
- package/docs/components/actions/ButtonGroup.md +1 -1
- package/docs/components/data/DataTable.md +298 -0
- package/docs/components/data/ItemTable.md +984 -0
- package/docs/components/fields/ColorInput.md +284 -0
- package/docs/components/fields/ColorPicker.md +212 -0
- package/docs/components/fields/ColorSwatchGroup.md +206 -0
- package/docs/components/fields/FilterPicker.md +1 -1
- package/docs/components/fields/ListBox.md +4 -0
- package/docs/components/fields/PasswordInput.md +1 -0
- package/docs/components/fields/Picker.md +1 -1
- package/docs/components/fields/SearchInput.md +1 -0
- package/docs/components/fields/TextArea.md +1 -0
- package/docs/components/fields/TextInput.md +1 -0
- package/docs/components/layout/Board.md +154 -6
- package/docs/components/navigation/Pagination.md +245 -0
- package/package.json +8 -3
- package/dist/components/organisms/FileTabs/FileTabs.d.ts +0 -54
- package/dist/components/organisms/FileTabs/FileTabs.js +0 -282
- package/dist/components/organisms/FileTabs/FileTabs.js.map +0 -1
- package/docs/components/organisms/FileTabs.md +0 -51
package/dist/tokens/palette.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.157.0 | Cube Dev Team */
|
|
2
2
|
import { getPaletteConfig, getPaletteVersion, resolvePaletteConfig } from "./palette-config.js";
|
|
3
3
|
import { lazyStyles } from "./lazy-styles.js";
|
|
4
4
|
import { glaze } from "@tenphi/glaze";
|
package/dist/tokens/shadows.js
CHANGED
package/dist/tokens/sizes.js
CHANGED
package/dist/tokens/spacing.js
CHANGED
|
@@ -24,7 +24,7 @@ interface TypographyPreset {
|
|
|
24
24
|
* - `t1m`-`t4m`: Text styles medium weight
|
|
25
25
|
* - `m1`-`m3`: Markdown/prose styles (larger line-height)
|
|
26
26
|
* - `p1`-`p4`: Paragraph styles
|
|
27
|
-
* - `c1`-`
|
|
27
|
+
* - `c1`-`c3`: Caption/uppercase styles
|
|
28
28
|
* - `s2`-`s4`: Snippet / monospace styles (parallel to `t2`-`t4`)
|
|
29
29
|
* - `tag`: Tag/badge typography
|
|
30
30
|
* - `default`: Base text style
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.157.0 | Cube Dev Team */
|
|
2
2
|
//#region src/tokens/typography.ts
|
|
3
3
|
/**
|
|
4
4
|
* Typography presets for headings, text, and special styles.
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* - `t1m`-`t4m`: Text styles medium weight
|
|
10
10
|
* - `m1`-`m3`: Markdown/prose styles (larger line-height)
|
|
11
11
|
* - `p1`-`p4`: Paragraph styles
|
|
12
|
-
* - `c1`-`
|
|
12
|
+
* - `c1`-`c3`: Caption/uppercase styles
|
|
13
13
|
* - `s2`-`s4`: Snippet / monospace styles (parallel to `t2`-`t4`)
|
|
14
14
|
* - `tag`: Tag/badge typography
|
|
15
15
|
* - `default`: Base text style
|
|
@@ -199,6 +199,15 @@ const TYPOGRAPHY_PRESETS = {
|
|
|
199
199
|
textTransform: "uppercase",
|
|
200
200
|
iconSize: "16px"
|
|
201
201
|
},
|
|
202
|
+
c3: {
|
|
203
|
+
fontSize: "11px",
|
|
204
|
+
lineHeight: "16px",
|
|
205
|
+
letterSpacing: "0.02em",
|
|
206
|
+
fontWeight: "600",
|
|
207
|
+
boldFontWeight: "700",
|
|
208
|
+
textTransform: "uppercase",
|
|
209
|
+
iconSize: "14px"
|
|
210
|
+
},
|
|
202
211
|
tag: {
|
|
203
212
|
fontSize: "12px",
|
|
204
213
|
lineHeight: "18px",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typography.js","names":[],"sources":["../../src/tokens/typography.ts"],"sourcesContent":["/**\n * Typography preset configuration.\n * Each preset defines font properties that get expanded into CSS custom properties.\n */\nexport interface TypographyPreset {\n fontSize: string;\n lineHeight: string;\n letterSpacing?: string;\n fontWeight: string | number;\n boldFontWeight?: string | number;\n iconSize?: string;\n textTransform?: string;\n fontFamily?: string;\n fontStyle?: string;\n}\n\n/**\n * Typography presets for headings, text, and special styles.\n *\n * Naming conventions:\n * - `h1`-`h6`: Headings (bold by default)\n * - `t1`-`t4`: Text styles (regular weight)\n * - `t1m`-`t4m`: Text styles medium weight\n * - `m1`-`m3`: Markdown/prose styles (larger line-height)\n * - `p1`-`p4`: Paragraph styles\n * - `c1`-`
|
|
1
|
+
{"version":3,"file":"typography.js","names":[],"sources":["../../src/tokens/typography.ts"],"sourcesContent":["/**\n * Typography preset configuration.\n * Each preset defines font properties that get expanded into CSS custom properties.\n */\nexport interface TypographyPreset {\n fontSize: string;\n lineHeight: string;\n letterSpacing?: string;\n fontWeight: string | number;\n boldFontWeight?: string | number;\n iconSize?: string;\n textTransform?: string;\n fontFamily?: string;\n fontStyle?: string;\n}\n\n/**\n * Typography presets for headings, text, and special styles.\n *\n * Naming conventions:\n * - `h1`-`h6`: Headings (bold by default)\n * - `t1`-`t4`: Text styles (regular weight)\n * - `t1m`-`t4m`: Text styles medium weight\n * - `m1`-`m3`: Markdown/prose styles (larger line-height)\n * - `p1`-`p4`: Paragraph styles\n * - `c1`-`c3`: Caption/uppercase styles\n * - `s2`-`s4`: Snippet / monospace styles (parallel to `t2`-`t4`)\n * - `tag`: Tag/badge typography\n * - `default`: Base text style\n */\nexport const TYPOGRAPHY_PRESETS: Record<string, TypographyPreset> = {\n // Text (basic)\n text: {\n fontSize: '14px',\n lineHeight: '20px',\n letterSpacing: '0',\n fontWeight: '400',\n },\n\n // Headings (h1-h6)\n h1: {\n fontSize: '36px',\n lineHeight: '44px',\n letterSpacing: '-0.01em',\n fontWeight: '600',\n boldFontWeight: '700',\n iconSize: '40px',\n },\n h2: {\n fontSize: '24px',\n lineHeight: '32px',\n letterSpacing: '0em',\n fontWeight: '600',\n boldFontWeight: '700',\n iconSize: '28px',\n },\n h3: {\n fontSize: '20px',\n lineHeight: '28px',\n letterSpacing: '0em',\n fontWeight: '600',\n boldFontWeight: '700',\n iconSize: '24px',\n },\n h4: {\n fontSize: '18px',\n lineHeight: '24px',\n letterSpacing: '0',\n fontWeight: '600',\n boldFontWeight: '700',\n iconSize: '22px',\n },\n h5: {\n fontSize: '16px',\n lineHeight: '22px',\n letterSpacing: '0',\n fontWeight: '600',\n boldFontWeight: '700',\n iconSize: '20px',\n },\n h6: {\n fontSize: '14px',\n lineHeight: '20px',\n letterSpacing: '0.01em',\n fontWeight: '600',\n boldFontWeight: '700',\n iconSize: '20px',\n },\n\n // Text styles (t1-t4)\n t1: {\n fontSize: '18px',\n lineHeight: '24px',\n letterSpacing: '0',\n fontWeight: '400',\n boldFontWeight: '600',\n iconSize: '20px',\n },\n t2: {\n fontSize: '16px',\n lineHeight: '22px',\n letterSpacing: '0',\n fontWeight: '400',\n boldFontWeight: '600',\n iconSize: '20px',\n },\n t2m: {\n fontSize: '16px',\n lineHeight: '22px',\n letterSpacing: '0',\n fontWeight: '500',\n boldFontWeight: '600',\n iconSize: '20px',\n },\n t3: {\n fontSize: '14px',\n lineHeight: '20px',\n letterSpacing: '0',\n fontWeight: '400',\n boldFontWeight: '600',\n iconSize: '18px',\n },\n t3m: {\n fontSize: '14px',\n lineHeight: '20px',\n letterSpacing: '0',\n fontWeight: '500',\n boldFontWeight: '600',\n iconSize: '18px',\n },\n t4: {\n fontSize: '12px',\n lineHeight: '18px',\n letterSpacing: '0',\n fontWeight: '500',\n boldFontWeight: '600',\n iconSize: '16px',\n },\n t4m: {\n fontSize: '12px',\n lineHeight: '18px',\n letterSpacing: '0',\n fontWeight: '600',\n boldFontWeight: '700',\n iconSize: '16px',\n },\n\n // Markdown/prose styles (m1-m3)\n m1: {\n fontSize: '18px',\n lineHeight: '32px',\n letterSpacing: '0',\n fontWeight: '400',\n boldFontWeight: '600',\n iconSize: '22px',\n },\n m2: {\n fontSize: '16px',\n lineHeight: '28px',\n letterSpacing: '0',\n fontWeight: '400',\n boldFontWeight: '600',\n iconSize: '20px',\n },\n m3: {\n fontSize: '14px',\n lineHeight: '24px',\n letterSpacing: '0',\n fontWeight: '400',\n boldFontWeight: '600',\n iconSize: '20px',\n },\n\n // Paragraph styles (p1-p4)\n p1: {\n fontSize: '18px',\n lineHeight: '28px',\n letterSpacing: '0',\n fontWeight: '400',\n boldFontWeight: '600',\n iconSize: '22px',\n },\n p2: {\n fontSize: '16px',\n lineHeight: '24px',\n letterSpacing: '0',\n fontWeight: '400',\n boldFontWeight: '600',\n iconSize: '20px',\n },\n p3: {\n fontSize: '14px',\n lineHeight: '22px',\n letterSpacing: '0',\n fontWeight: '400',\n boldFontWeight: '600',\n iconSize: '18px',\n },\n p4: {\n fontSize: '12px',\n lineHeight: '20px',\n letterSpacing: '0',\n fontWeight: '500',\n boldFontWeight: '600',\n iconSize: '16px',\n },\n\n // Caption/uppercase styles (c1-c3)\n c1: {\n fontSize: '14px',\n lineHeight: '20px',\n letterSpacing: '0',\n fontWeight: '600',\n boldFontWeight: '700',\n textTransform: 'uppercase',\n iconSize: '18px',\n },\n c2: {\n fontSize: '12px',\n lineHeight: '18px',\n letterSpacing: '0.01em',\n fontWeight: '600',\n boldFontWeight: '700',\n textTransform: 'uppercase',\n iconSize: '16px',\n },\n c3: {\n fontSize: '11px',\n lineHeight: '16px',\n letterSpacing: '0.02em',\n fontWeight: '600',\n boldFontWeight: '700',\n textTransform: 'uppercase',\n iconSize: '14px',\n },\n\n // Tag typography\n tag: {\n fontSize: '12px',\n lineHeight: '18px',\n letterSpacing: '0.01em',\n fontWeight: '600',\n boldFontWeight: '700',\n iconSize: '16px',\n },\n\n // Snippet / monospace styles (s2-s4) — sized to parallel t2-t4\n s2: {\n fontSize: '16px',\n lineHeight: '22px',\n letterSpacing: '0',\n fontWeight: '400',\n boldFontWeight: '600',\n iconSize: '20px',\n fontFamily: 'var(--font-mono)',\n },\n s3: {\n fontSize: '14px',\n lineHeight: '20px',\n letterSpacing: '0',\n fontWeight: '400',\n boldFontWeight: '600',\n iconSize: '18px',\n fontFamily: 'var(--font-mono)',\n },\n s4: {\n fontSize: '12px',\n lineHeight: '18px',\n letterSpacing: '0',\n fontWeight: '400',\n boldFontWeight: '600',\n iconSize: '16px',\n fontFamily: 'var(--font-mono)',\n },\n\n // Default text style (references t3)\n default: {\n fontSize: 'var(--t3-font-size)',\n lineHeight: 'var(--t3-line-height)',\n letterSpacing: 'var(--t3-letter-spacing)',\n fontWeight: 'var(--t3-font-weight)',\n boldFontWeight: 'var(--t3-bold-font-weight)',\n iconSize: 'var(--t3-icon-size)',\n },\n};\n"],"mappings":";;;;;;;;;;;;;;;;AA8BA,MAAa,qBAAuD;CAElE,MAAM;EACJ,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACb;CAGD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CAGD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,KAAK;EACH,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,KAAK;EACH,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,KAAK;EACH,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CAGD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CAGD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CAGD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,UAAU;EACX;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,UAAU;EACX;CAGD,KAAK;EACH,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CAGD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACV,YAAY;EACb;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACV,YAAY;EACb;CACD,IAAI;EACF,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACV,YAAY;EACb;CAGD,SAAS;EACP,UAAU;EACV,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACX;CACF"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ import { RenderCache, RenderCacheProps } from "./react/RenderCache.js";
|
|
|
16
16
|
import { useLocalStorage } from "./react/useLocalStorage.js";
|
|
17
17
|
import { DynamicIcon, IconRenderFn, ResolvedIcon, resolveIcon } from "./react/resolveIcon.js";
|
|
18
18
|
import { useMergeStyles } from "./react/useMergeStyles.js";
|
|
19
|
+
import { UseBufferedValueOptions, UseBufferedValueResult, useBufferedValue } from "./react/useBufferedValue.js";
|
|
19
20
|
import { modAttrs } from "./react/index.js";
|
|
20
21
|
import { chainRaf } from "./raf.js";
|
|
21
22
|
import { toFlatTree } from "./tree.js";
|
package/dist/utils/is-dev-env.js
CHANGED
package/dist/utils/modules.js
CHANGED
package/dist/utils/promise.js
CHANGED
package/dist/utils/raf.js
CHANGED
package/dist/utils/random.js
CHANGED
package/dist/utils/range.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.157.0 | Cube Dev Team */
|
|
2
2
|
import { mergeProps } from "./mergeProps.js";
|
|
3
3
|
import { Children, cloneElement, createContext, useContext, useMemo } from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -16,5 +16,6 @@ import { RenderCache, RenderCacheProps } from "./RenderCache.js";
|
|
|
16
16
|
import { useLocalStorage } from "./useLocalStorage.js";
|
|
17
17
|
import { DynamicIcon, IconRenderFn, ResolvedIcon, resolveIcon } from "./resolveIcon.js";
|
|
18
18
|
import { useMergeStyles } from "./useMergeStyles.js";
|
|
19
|
+
import { UseBufferedValueOptions, UseBufferedValueResult, useBufferedValue } from "./useBufferedValue.js";
|
|
19
20
|
import { modAttrs } from "@tenphi/tasty";
|
|
20
21
|
export { modAttrs };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.157.0 | Cube Dev Team */
|
|
2
2
|
import { chain } from "./chain.js";
|
|
3
3
|
import { forwardRefWithGenerics } from "./forwardRefWithGenerics.js";
|
|
4
4
|
import { isTextOnly } from "./isTextOnly.js";
|
|
@@ -16,6 +16,7 @@ import { RenderCache } from "./RenderCache.js";
|
|
|
16
16
|
import { useLocalStorage } from "./useLocalStorage.js";
|
|
17
17
|
import { resolveIcon } from "./resolveIcon.js";
|
|
18
18
|
import { useMergeStyles } from "./useMergeStyles.js";
|
|
19
|
+
import { useBufferedValue } from "./useBufferedValue.js";
|
|
19
20
|
import { modAttrs } from "@tenphi/tasty";
|
|
20
21
|
|
|
21
22
|
export { modAttrs };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.157.0 | Cube Dev Team */
|
|
2
2
|
//#region src/utils/react/nullableValue.ts
|
|
3
3
|
function castNullableStringValue(props) {
|
|
4
4
|
return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v));
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/utils/react/useBufferedValue.d.ts
|
|
3
|
+
interface UseBufferedValueOptions<T> {
|
|
4
|
+
/**
|
|
5
|
+
* Identity of a value, for values `Object.is` doesn't compare usefully — an array of colour
|
|
6
|
+
* stops, a settings object. Defaults to the value itself, which is what strings want.
|
|
7
|
+
*/
|
|
8
|
+
getKey?: (value: T) => unknown;
|
|
9
|
+
/** Nothing can be typed into a disabled control, so there is nothing to protect. */
|
|
10
|
+
isDisabled?: boolean;
|
|
11
|
+
/** Same for a read-only one. */
|
|
12
|
+
isReadOnly?: boolean;
|
|
13
|
+
/** Escape hatch: `false` makes the hook inert and passes `value`/`onChange` straight through. */
|
|
14
|
+
isBuffered?: boolean;
|
|
15
|
+
}
|
|
16
|
+
interface UseBufferedValueResult<T> {
|
|
17
|
+
/** Render this instead of `value`. `undefined` passes through, meaning uncontrolled. */
|
|
18
|
+
value: T | undefined;
|
|
19
|
+
/** Call this instead of `onChange`. Still emits once per call, in the same tick. */
|
|
20
|
+
onChange: (next: T) => void;
|
|
21
|
+
/** Drop the buffer and let `value` win again. The text fields call it on blur. */
|
|
22
|
+
reset: () => void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Holds a controlled value locally so a parent that echoes the new value back *late* cannot
|
|
26
|
+
* overwrite what the user is doing.
|
|
27
|
+
*
|
|
28
|
+
* **Why any of this is needed.** A controlled `<input>` renders whatever string its parent hands
|
|
29
|
+
* it. If the parent hands back the pre-keystroke string — because its state reaches the component
|
|
30
|
+
* through a store that publishes a render late, or through a debounce, or a deferred update —
|
|
31
|
+
* React writes that stale string into the DOM node, and a native `value` assignment collapses the
|
|
32
|
+
* selection to the end. Typing in the middle of a field throws the caret to the end. The value
|
|
33
|
+
* eventually lands, so it looks like a caret bug rather than a data-flow one.
|
|
34
|
+
*
|
|
35
|
+
* The buffer keeps the typed text on screen until the parent catches up, while still emitting
|
|
36
|
+
* `onChange` once per keystroke — so nothing downstream changes: no debouncing, no commit-on-blur,
|
|
37
|
+
* no swallowed calls.
|
|
38
|
+
*
|
|
39
|
+
* Generic on purpose. The same lateness affects values that aren't strings (a colour scale's array
|
|
40
|
+
* of stops emitted through a chart-spec pipeline), and `getKey` is where those pass the signature
|
|
41
|
+
* function they already have.
|
|
42
|
+
*
|
|
43
|
+
* ```tsx
|
|
44
|
+
* const buffered = useBufferedValue(value, onChange, { isReadOnly, isDisabled });
|
|
45
|
+
*
|
|
46
|
+
* <input value={buffered.value} onChange={buffered.onChange} onBlur={buffered.reset} />
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* One case it cannot resolve: an external change that lands *between* an emit and its echo, and
|
|
50
|
+
* happens to equal a value still in flight, is read as our own echo. Telling those apart needs a
|
|
51
|
+
* sequence number from the store rather than value matching.
|
|
52
|
+
*/
|
|
53
|
+
declare function useBufferedValue<T>(value: T | undefined, onChange?: (next: T) => void, options?: UseBufferedValueOptions<T>): UseBufferedValueResult<T>;
|
|
54
|
+
//#endregion
|
|
55
|
+
export { UseBufferedValueOptions, UseBufferedValueResult, useBufferedValue };
|
|
56
|
+
//# sourceMappingURL=useBufferedValue.d.ts.map
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.157.0 | Cube Dev Team */
|
|
2
|
+
import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
|
|
3
|
+
import { useCallback, useRef, useState } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/utils/react/useBufferedValue.ts
|
|
6
|
+
const NOTHING_PENDING = [];
|
|
7
|
+
/**
|
|
8
|
+
* Holds a controlled value locally so a parent that echoes the new value back *late* cannot
|
|
9
|
+
* overwrite what the user is doing.
|
|
10
|
+
*
|
|
11
|
+
* **Why any of this is needed.** A controlled `<input>` renders whatever string its parent hands
|
|
12
|
+
* it. If the parent hands back the pre-keystroke string — because its state reaches the component
|
|
13
|
+
* through a store that publishes a render late, or through a debounce, or a deferred update —
|
|
14
|
+
* React writes that stale string into the DOM node, and a native `value` assignment collapses the
|
|
15
|
+
* selection to the end. Typing in the middle of a field throws the caret to the end. The value
|
|
16
|
+
* eventually lands, so it looks like a caret bug rather than a data-flow one.
|
|
17
|
+
*
|
|
18
|
+
* The buffer keeps the typed text on screen until the parent catches up, while still emitting
|
|
19
|
+
* `onChange` once per keystroke — so nothing downstream changes: no debouncing, no commit-on-blur,
|
|
20
|
+
* no swallowed calls.
|
|
21
|
+
*
|
|
22
|
+
* Generic on purpose. The same lateness affects values that aren't strings (a colour scale's array
|
|
23
|
+
* of stops emitted through a chart-spec pipeline), and `getKey` is where those pass the signature
|
|
24
|
+
* function they already have.
|
|
25
|
+
*
|
|
26
|
+
* ```tsx
|
|
27
|
+
* const buffered = useBufferedValue(value, onChange, { isReadOnly, isDisabled });
|
|
28
|
+
*
|
|
29
|
+
* <input value={buffered.value} onChange={buffered.onChange} onBlur={buffered.reset} />
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* One case it cannot resolve: an external change that lands *between* an emit and its echo, and
|
|
33
|
+
* happens to equal a value still in flight, is read as our own echo. Telling those apart needs a
|
|
34
|
+
* sequence number from the store rather than value matching.
|
|
35
|
+
*/
|
|
36
|
+
function useBufferedValue(value, onChange, options = {}) {
|
|
37
|
+
const { getKey, isDisabled, isReadOnly, isBuffered = true } = options;
|
|
38
|
+
const isActive = isBuffered && value !== void 0 && !isDisabled && !isReadOnly;
|
|
39
|
+
const keyOf = (next) => getKey && next != null ? getKey(next) : next;
|
|
40
|
+
const valueKey = keyOf(value);
|
|
41
|
+
const [draft, setDraft] = useState(value);
|
|
42
|
+
const pendingRef = useRef(NOTHING_PENDING);
|
|
43
|
+
const seenKeyRef = useRef(valueKey);
|
|
44
|
+
const latestRef = useRef({
|
|
45
|
+
value,
|
|
46
|
+
onChange,
|
|
47
|
+
keyOf,
|
|
48
|
+
isActive
|
|
49
|
+
});
|
|
50
|
+
const pending = pendingRef.current;
|
|
51
|
+
const propMoved = valueKey !== seenKeyRef.current;
|
|
52
|
+
const echoAt = propMoved ? pending.indexOf(valueKey) : -1;
|
|
53
|
+
const isExternal = propMoved && echoAt < 0;
|
|
54
|
+
const rendered = isActive && !isExternal && pending.length > 0 ? draft : value;
|
|
55
|
+
useLayoutEffect$1(() => {
|
|
56
|
+
latestRef.current = {
|
|
57
|
+
value,
|
|
58
|
+
onChange,
|
|
59
|
+
keyOf,
|
|
60
|
+
isActive
|
|
61
|
+
};
|
|
62
|
+
seenKeyRef.current = valueKey;
|
|
63
|
+
if (!isActive || isExternal) pendingRef.current = NOTHING_PENDING;
|
|
64
|
+
else if (echoAt >= 0) pendingRef.current = pending.slice(echoAt + 1);
|
|
65
|
+
});
|
|
66
|
+
return {
|
|
67
|
+
value: rendered,
|
|
68
|
+
onChange: useCallback((next) => {
|
|
69
|
+
const { onChange: latestOnChange, keyOf: latestKeyOf, isActive: latestIsActive } = latestRef.current;
|
|
70
|
+
if (latestIsActive) {
|
|
71
|
+
pendingRef.current = [...pendingRef.current, latestKeyOf(next)];
|
|
72
|
+
setDraft(next);
|
|
73
|
+
}
|
|
74
|
+
latestOnChange?.(next);
|
|
75
|
+
}, []),
|
|
76
|
+
reset: useCallback(() => {
|
|
77
|
+
const { value: latestValue } = latestRef.current;
|
|
78
|
+
pendingRef.current = NOTHING_PENDING;
|
|
79
|
+
setDraft(latestValue);
|
|
80
|
+
}, [])
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
//#endregion
|
|
85
|
+
export { useBufferedValue };
|
|
86
|
+
//# sourceMappingURL=useBufferedValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBufferedValue.js","names":[],"sources":["../../../src/utils/react/useBufferedValue.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nimport { useLayoutEffect } from './useLayoutEffect';\n\nconst NOTHING_PENDING: unknown[] = [];\n\nexport interface UseBufferedValueOptions<T> {\n /**\n * Identity of a value, for values `Object.is` doesn't compare usefully — an array of colour\n * stops, a settings object. Defaults to the value itself, which is what strings want.\n */\n getKey?: (value: T) => unknown;\n /** Nothing can be typed into a disabled control, so there is nothing to protect. */\n isDisabled?: boolean;\n /** Same for a read-only one. */\n isReadOnly?: boolean;\n /** Escape hatch: `false` makes the hook inert and passes `value`/`onChange` straight through. */\n isBuffered?: boolean;\n}\n\nexport interface UseBufferedValueResult<T> {\n /** Render this instead of `value`. `undefined` passes through, meaning uncontrolled. */\n value: T | undefined;\n /** Call this instead of `onChange`. Still emits once per call, in the same tick. */\n onChange: (next: T) => void;\n /** Drop the buffer and let `value` win again. The text fields call it on blur. */\n reset: () => void;\n}\n\n/**\n * Holds a controlled value locally so a parent that echoes the new value back *late* cannot\n * overwrite what the user is doing.\n *\n * **Why any of this is needed.** A controlled `<input>` renders whatever string its parent hands\n * it. If the parent hands back the pre-keystroke string — because its state reaches the component\n * through a store that publishes a render late, or through a debounce, or a deferred update —\n * React writes that stale string into the DOM node, and a native `value` assignment collapses the\n * selection to the end. Typing in the middle of a field throws the caret to the end. The value\n * eventually lands, so it looks like a caret bug rather than a data-flow one.\n *\n * The buffer keeps the typed text on screen until the parent catches up, while still emitting\n * `onChange` once per keystroke — so nothing downstream changes: no debouncing, no commit-on-blur,\n * no swallowed calls.\n *\n * Generic on purpose. The same lateness affects values that aren't strings (a colour scale's array\n * of stops emitted through a chart-spec pipeline), and `getKey` is where those pass the signature\n * function they already have.\n *\n * ```tsx\n * const buffered = useBufferedValue(value, onChange, { isReadOnly, isDisabled });\n *\n * <input value={buffered.value} onChange={buffered.onChange} onBlur={buffered.reset} />\n * ```\n *\n * One case it cannot resolve: an external change that lands *between* an emit and its echo, and\n * happens to equal a value still in flight, is read as our own echo. Telling those apart needs a\n * sequence number from the store rather than value matching.\n */\nexport function useBufferedValue<T>(\n value: T | undefined,\n onChange?: (next: T) => void,\n options: UseBufferedValueOptions<T> = {},\n): UseBufferedValueResult<T> {\n const { getKey, isDisabled, isReadOnly, isBuffered = true } = options;\n\n // An `undefined` value means the control is uncontrolled — it already owns its text.\n const isActive =\n isBuffered && value !== undefined && !isDisabled && !isReadOnly;\n\n const keyOf = (next: T | undefined): unknown =>\n getKey && next != null ? getKey(next) : next;\n const valueKey = keyOf(value);\n\n // The only state, and the only thing that can force a render: what the user typed. It is rendered\n // *while we are ahead of the parent* and ignored otherwise — which is what makes adopting an\n // external value free, since there is nothing to write.\n const [draft, setDraft] = useState(value);\n // Keys we have emitted that the parent hasn't echoed back yet. A queue rather than one slot: the\n // user can type again before the first echo returns, and each echo has to be recognised as ours\n // or applying it would swallow everything typed after it.\n const pendingRef = useRef<unknown[]>(NOTHING_PENDING);\n // The last value we accepted as the parent's opinion — not the last one we rendered.\n const seenKeyRef = useRef<unknown>(valueKey);\n const latestRef = useRef({ value, onChange, keyOf, isActive });\n\n // These three refs are read during render but written *only* in an event handler or after commit,\n // never during a render. That is what keeps them honest under concurrent rendering: React may\n // discard a render (an interrupted pass, a StrictMode double-invoke), and a discarded render runs\n // no effects, so it cannot leave the bookkeeping describing a pass that never committed.\n const pending = pendingRef.current;\n const propMoved = valueKey !== seenKeyRef.current;\n // Our own echo, a render or more late — possibly an earlier emit a later one superseded.\n const echoAt = propMoved ? pending.indexOf(valueKey) : -1;\n // A real change from the parent: undo/redo, a reset, a transformed value, another record.\n const isExternal = propMoved && echoAt < 0;\n const isAhead = isActive && !isExternal && pending.length > 0;\n // Not being ahead is the whole of \"the parent wins\", so an external change needs no state write\n // and costs no extra render. Being ahead — including when the value is the stale one the parent\n // held *before* the keystroke — is what stops React writing that string back and collapsing the\n // selection.\n const rendered = isAhead ? draft : value;\n\n useLayoutEffect(() => {\n latestRef.current = { value, onChange, keyOf, isActive };\n seenKeyRef.current = valueKey;\n\n if (!isActive || isExternal) {\n pendingRef.current = NOTHING_PENDING;\n } else if (echoAt >= 0) {\n pendingRef.current = pending.slice(echoAt + 1);\n }\n });\n\n const handleChange = useCallback((next: T) => {\n const {\n onChange: latestOnChange,\n keyOf: latestKeyOf,\n isActive: latestIsActive,\n } = latestRef.current;\n\n if (latestIsActive) {\n // A ref write in an event handler, which runs after a commit — never mid-render.\n pendingRef.current = [...pendingRef.current, latestKeyOf(next)];\n setDraft(next);\n }\n\n latestOnChange?.(next);\n }, []);\n\n const reset = useCallback(() => {\n const { value: latestValue } = latestRef.current;\n\n // Emptying the queue is what hands control back: with nothing in flight we are no longer ahead,\n // so the parent's value is rendered again. `setDraft` is only here to schedule that render.\n pendingRef.current = NOTHING_PENDING;\n setDraft(latestValue);\n }, []);\n\n return { value: rendered, onChange: handleChange, reset };\n}\n"],"mappings":";;;;;AAIA,MAAM,kBAA6B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDrC,SAAgB,iBACd,OACA,UACA,UAAsC,EAAE,EACb;CAC3B,MAAM,EAAE,QAAQ,YAAY,YAAY,aAAa,SAAS;CAG9D,MAAM,WACJ,cAAc,UAAU,UAAa,CAAC,cAAc,CAAC;CAEvD,MAAM,SAAS,SACb,UAAU,QAAQ,OAAO,OAAO,KAAK,GAAG;CAC1C,MAAM,WAAW,MAAM,MAAM;CAK7B,MAAM,CAAC,OAAO,YAAY,SAAS,MAAM;CAIzC,MAAM,aAAa,OAAkB,gBAAgB;CAErD,MAAM,aAAa,OAAgB,SAAS;CAC5C,MAAM,YAAY,OAAO;EAAE;EAAO;EAAU;EAAO;EAAU,CAAC;CAM9D,MAAM,UAAU,WAAW;CAC3B,MAAM,YAAY,aAAa,WAAW;CAE1C,MAAM,SAAS,YAAY,QAAQ,QAAQ,SAAS,GAAG;CAEvD,MAAM,aAAa,aAAa,SAAS;CAMzC,MAAM,WALU,YAAY,CAAC,cAAc,QAAQ,SAAS,IAKjC,QAAQ;AAEnC,yBAAsB;AACpB,YAAU,UAAU;GAAE;GAAO;GAAU;GAAO;GAAU;AACxD,aAAW,UAAU;AAErB,MAAI,CAAC,YAAY,WACf,YAAW,UAAU;WACZ,UAAU,EACnB,YAAW,UAAU,QAAQ,MAAM,SAAS,EAAE;GAEhD;AA2BF,QAAO;EAAE,OAAO;EAAU,UAzBL,aAAa,SAAY;GAC5C,MAAM,EACJ,UAAU,gBACV,OAAO,aACP,UAAU,mBACR,UAAU;AAEd,OAAI,gBAAgB;AAElB,eAAW,UAAU,CAAC,GAAG,WAAW,SAAS,YAAY,KAAK,CAAC;AAC/D,aAAS,KAAK;;AAGhB,oBAAiB,KAAK;KACrB,EAAE,CAAC;EAW4C,OATpC,kBAAkB;GAC9B,MAAM,EAAE,OAAO,gBAAgB,UAAU;AAIzC,cAAW,UAAU;AACrB,YAAS,YAAY;KACpB,EAAE,CAAC;EAEmD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.157.0 | Cube Dev Team */
|
|
2
2
|
import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/utils/react/useEventBus.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.157.0 | Cube Dev Team */
|
|
2
2
|
import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
|
|
3
3
|
import { useEffect, useRef, useState } from "react";
|
|
4
4
|
import { useSSRSafeId } from "@react-aria/ssr";
|
package/dist/utils/selection.js
CHANGED
package/dist/utils/styles.js
CHANGED
package/dist/utils/tree.js
CHANGED
package/dist/utils/warnings.js
CHANGED
package/dist/version.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.157.0 | Cube Dev Team */
|
|
2
2
|
//#region src/version.ts
|
|
3
|
-
const VERSION = "0.
|
|
3
|
+
const VERSION = "0.157.0";
|
|
4
4
|
const TASTY_VERSION = "3.0.1";
|
|
5
5
|
if (typeof window !== "undefined") {
|
|
6
6
|
const version = VERSION;
|