@cube-dev/ui-kit 0.195.0 → 0.197.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 +180 -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-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.d.ts +6 -0
- package/dist/components/Root.js +125 -102
- 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/Button/Button.js +11 -5
- package/dist/components/actions/Button/Button.js.map +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.d.ts +9 -4
- 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.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +27 -25
- 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.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/MenuCollectionItem.js +7 -4
- package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -1
- package/dist/components/actions/Menu/MenuItem.js +69 -60
- 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 +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 -4
- package/dist/components/actions/Menu/styled.js.map +1 -1
- package/dist/components/actions/actions-run.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +15 -14
- package/dist/components/actions/use-action.js.map +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +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.d.ts +16 -16
- 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 +16 -4
- package/dist/components/content/Item/Item.js.map +1 -1
- package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +7 -3
- package/dist/components/content/ItemBadge/ItemBadge.js.map +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 +29 -15
- 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/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +20 -10
- 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 +12 -9
- package/dist/components/content/Layout/LayoutFooter.js.map +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.d.ts +7 -3
- package/dist/components/content/Layout/LayoutPanel.js +75 -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/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/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 +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/Tree/Tree.js +1 -1
- package/dist/components/content/Tree/TreeNode.js +2 -1
- package/dist/components/content/Tree/TreeNode.js.map +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 +3 -3
- package/dist/components/content/use-auto-tooltip.js.map +1 -1
- package/dist/components/data/DataTable/DataTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTable.js +1 -1
- package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
- package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
- package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -1
- package/dist/components/data/ItemTable/ItemTableToolbar.js.map +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/RowCollection.js +1 -1
- package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
- package/dist/components/data/TableBase/TableRow.js +1 -1
- package/dist/components/data/TableBase/TableView.js +3 -1
- 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-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/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-column-menu.js +1 -1
- package/dist/components/data/TableBase/use-column-order.js +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-sort.js +1 -1
- package/dist/components/data/TableBase/use-table-sorts.js +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/fields/Checkbox/Checkbox.js +2 -2
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +5 -5
- 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.js +1 -1
- package/dist/components/fields/ColorPicker/ColorPicker.js +3 -1
- 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.js +2 -1
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
- package/dist/components/fields/ComboBox/ComboBox.d.ts +27 -7
- package/dist/components/fields/ComboBox/ComboBox.js +1095 -619
- package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/fields/ComboBox/comboBoxOptions.js +84 -0
- package/dist/components/fields/ComboBox/comboBoxOptions.js.map +1 -0
- 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.d.ts +7 -0
- package/dist/components/fields/DatePicker/parseDate.js +17 -3
- package/dist/components/fields/DatePicker/parseDate.js.map +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.js +2 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +15 -6
- package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
- package/dist/components/fields/Input/Input.d.ts +2 -2
- 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 +10 -4
- package/dist/components/fields/ListBox/ListBox.js +298 -146
- 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 +150 -139
- 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/NumberInput/NumberInput.d.ts +6 -1
- package/dist/components/fields/NumberInput/NumberInput.js +136 -128
- package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +38 -48
- package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.d.ts +1 -2
- package/dist/components/fields/PasswordInput/PasswordInput.js +77 -111
- package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/fields/Picker/Picker.d.ts +1 -1
- package/dist/components/fields/Picker/Picker.js +22 -8
- package/dist/components/fields/Picker/Picker.js.map +1 -1
- package/dist/components/fields/RadioGroup/Radio.d.ts +12 -12
- package/dist/components/fields/RadioGroup/Radio.js +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +2 -2
- 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.js +1 -6
- package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
- package/dist/components/fields/SearchInput/SearchInput.d.ts +8 -3
- package/dist/components/fields/SearchInput/SearchInput.js +22 -34
- package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/fields/Select/Select.d.ts +12 -1
- package/dist/components/fields/Select/Select.js +365 -207
- 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 +3 -4
- package/dist/components/fields/Slider/RangeSlider.js.map +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/TagInput/TagInput.js +2 -2
- package/dist/components/fields/TagInput/TagInput.js.map +1 -1
- package/dist/components/fields/TagInput/TagList.js +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.d.ts +0 -1
- package/dist/components/fields/TextArea/TextArea.js +49 -63
- package/dist/components/fields/TextArea/TextArea.js.map +1 -1
- package/dist/components/fields/TextInput/TextInput.d.ts +1 -1
- package/dist/components/fields/TextInput/TextInput.js +42 -46
- package/dist/components/fields/TextInput/TextInput.js.map +1 -1
- package/dist/components/fields/TextInput/TextInputBase.d.ts +6 -2
- package/dist/components/fields/TextInput/TextInputBase.js +32 -10
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInput/displayed-validation.js +50 -0
- package/dist/components/fields/TextInput/displayed-validation.js.map +1 -0
- package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +20 -17
- 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 +3 -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 +78 -0
- package/dist/components/fields/option-origin-press.js.map +1 -0
- package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +10 -8
- package/dist/components/form/FieldWrapper/FieldWrapper.js +214 -159
- package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
- package/dist/components/form/FieldWrapper/field-description.js +3 -3
- package/dist/components/form/FieldWrapper/field-description.js.map +1 -1
- package/dist/components/form/FieldWrapper/types.d.ts +4 -3
- package/dist/components/form/Form/Field.js +1 -1
- package/dist/components/form/Form/Form.js +1 -1
- package/dist/components/form/Form/ModernFormRoot.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/backend.js +1 -1
- package/dist/components/form/Form/index.js +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/use-field-binding.js +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +21 -33
- package/dist/components/form/Form/use-field/use-field-props.js.map +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/field-chrome.js +4 -34
- package/dist/components/form/field-chrome.js.map +1 -1
- package/dist/components/form/legacy-tooltip.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.d.ts +6 -17
- package/dist/components/form/wrapper.js +6 -14
- 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/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.js +3 -1
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
- package/dist/components/navigation/Pagination/use-pagination.js +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 +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 +2 -1
- package/dist/components/navigation/Tabs/TabPicker.js.map +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/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 +1 -1
- package/dist/components/other/Calendar/CalendarPanel.js +1 -1
- package/dist/components/other/Calendar/PeriodCalendar.js +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.d.ts +6 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +3 -2
- package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +3 -2
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +28 -14
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.d.ts +4 -2
- package/dist/components/overlays/Dialog/DialogContainer.js +40 -34
- package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.d.ts +7 -3
- package/dist/components/overlays/Dialog/DialogTrigger.js +149 -132
- package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
- package/dist/components/overlays/Dialog/ModernDialogForm.js +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-open-sync.js +83 -0
- package/dist/components/overlays/Dialog/use-dialog-open-sync.js.map +1 -0
- 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 +9 -3
- package/dist/components/overlays/Modal/Overlay.js.map +1 -1
- package/dist/components/overlays/Modal/Popover.d.ts +1 -1
- package/dist/components/overlays/Modal/Popover.js +31 -29
- package/dist/components/overlays/Modal/Popover.js.map +1 -1
- package/dist/components/overlays/Modal/Tray.js +69 -60
- package/dist/components/overlays/Modal/Tray.js.map +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Modal/index.d.ts +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/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 +18 -32
- 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/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.d.ts +8 -0
- package/dist/components/overlays/Tooltip/Tooltip.js +16 -22
- 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.d.ts +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +163 -113
- 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 +6 -5
- package/dist/components/overlays/Tooltip/split-trigger-props.js.map +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/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 +11 -17
- 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 +6 -4
- package/dist/i18n/locales/en-US/uikit.js +6 -4
- package/dist/i18n/locales/en-US/uikit.json.d.ts +3 -1
- package/dist/i18n/locales/es-ES/uikit.js +6 -4
- package/dist/i18n/locales/es-MX/uikit.js +6 -4
- package/dist/i18n/locales/fr-FR/uikit.js +6 -4
- package/dist/i18n/locales/it-IT/uikit.js +6 -4
- package/dist/i18n/locales/ja-JP/uikit.js +6 -4
- package/dist/i18n/locales/nb-NO/uikit.js +6 -4
- package/dist/i18n/locales/pt-BR/uikit.js +6 -4
- package/dist/i18n/locales/pt-PT/uikit.js +6 -4
- package/dist/i18n/locales/sv-SE/uikit.js +6 -4
- package/dist/i18n/locales/vi-VN/uikit.js +6 -4
- 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 +1 -1
- package/dist/index.js +2 -2
- 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 +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigation-url.js +15 -3
- package/dist/providers/navigation-url.js.map +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/providers/use-navigation.js +1 -1
- package/dist/shared/form.d.ts +11 -12
- 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 +1 -1
- package/dist/tokens/resolve.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.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/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.js +1 -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 +18 -9
- package/dist/utils/react/nullableValue.js.map +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/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/ComplexLayout.md +1 -1
- package/docs/CreateComponent.md +6 -0
- package/docs/FieldProperties.md +31 -6
- package/docs/Theming.md +2 -1
- package/docs/Usage.md +6 -0
- package/docs/components/Root.md +1 -1
- package/docs/components/actions/Button.md +8 -2
- package/docs/components/actions/ButtonSplit.md +27 -1
- package/docs/components/actions/Link.md +1 -1
- package/docs/components/actions/Menu.md +4 -2
- package/docs/components/content/InfoBadge.md +2 -0
- package/docs/components/content/ItemBadge.md +4 -0
- package/docs/components/content/Layout.md +41 -6
- package/docs/components/fields/ComboBox.md +30 -19
- package/docs/components/fields/FilterListBox.md +2 -2
- package/docs/components/fields/FilterPicker.md +2 -2
- package/docs/components/fields/ListBox.md +14 -10
- package/docs/components/fields/NumberInput.md +20 -11
- package/docs/components/fields/PasswordInput.md +6 -7
- package/docs/components/fields/Picker.md +6 -5
- package/docs/components/fields/RadioGroup.md +1 -1
- package/docs/components/fields/SearchInput.md +7 -6
- package/docs/components/fields/Select.md +14 -8
- package/docs/components/fields/TagInput.md +8 -1
- package/docs/components/fields/TextArea.md +4 -3
- package/docs/components/fields/TextInput.md +13 -6
- package/docs/components/overlays/AlertDialog.md +7 -1
- package/docs/components/overlays/Dialog.md +5 -5
- package/docs/components/overlays/DialogContainer.md +26 -10
- package/docs/components/overlays/DialogTrigger.md +6 -6
- package/docs/components/overlays/Tooltip.md +17 -6
- package/docs/components/overlays/TooltipTrigger.md +2 -0
- package/package.json +1 -1
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,185 @@
|
|
|
1
1
|
# @cube-dev/ui-kit
|
|
2
2
|
|
|
3
|
+
## 0.197.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1532](https://github.com/cube-js/cube-ui-kit/pull/1532) [`31bf64e6`](https://github.com/cube-js/cube-ui-kit/commit/31bf64e64b1414ad01688e2ddd065e3342ec66e9) Thanks [@tenphi](https://github.com/tenphi)! - Support native trays and overlay styles in DialogContainer, and expose Layout.Panel dialogStyles for custom dialog sizing. Consumers can expand a tray through styles without remounting its content. Retained closed trays release page scrolling and modal state.
|
|
8
|
+
|
|
9
|
+
## 0.196.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [#1526](https://github.com/cube-js/cube-ui-kit/pull/1526) [`ef9cccec`](https://github.com/cube-js/cube-ui-kit/commit/ef9cccecc90817f62de2ca5157b61cf3f170a618) Thanks [@tenphi](https://github.com/tenphi)! - Fields now render stable field chrome by default, including standalone inputs without a label, so generated validation and TagInput refusal messages stay visible and describe the control without sentinel props. Use `isBare` explicitly for inline controls or controls whose parent owns their field layout; it suppresses chrome even with a label or deprecated `forceField`, while preserving a supplied label for accessibility. Move whole-field layout styles to `fieldStyles` when migrating previously bare controls. An explicit empty `errorMessage` now suppresses the deprecated `message` fallback, and label-less fields no longer reserve a side-label column. Internal composite controls retain their compact presentation.
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [#1529](https://github.com/cube-js/cube-ui-kit/pull/1529) [`be50525c`](https://github.com/cube-js/cube-ui-kit/commit/be50525c6d2ac2f381203f805acda294369f48da) Thanks [@tenphi](https://github.com/tenphi)! - `Button.Split` no longer styles the Buttons inside a popover, dialog or menu opened from it. Its `type`, `theme`, `size` and `isDisabled` used to reach every `Button` in that overlay, so a confirm popover's Cancel button on a primary, small split turned primary and small, and was disabled whenever the split was. The split's own Buttons still inherit them, and a `Button.Split` inside an overlay still styles its own Buttons. A workaround that wraps the overlay in `<ButtonSplitContext.Provider value={null}>` is no longer needed and can be removed.
|
|
18
|
+
|
|
19
|
+
- [#1529](https://github.com/cube-js/cube-ui-kit/pull/1529) [`be50525c`](https://github.com/cube-js/cube-ui-kit/commit/be50525c6d2ac2f381203f805acda294369f48da) Thanks [@tenphi](https://github.com/tenphi)! - `ComboBox` without `allowsCustomValue` no longer selects a disabled item when focus leaves the input. Typing the label of an item in `disabledKeys`, or text that leaves a disabled item as the only match, used to select it on blur and report it through `onSelectionChange`, although it cannot be picked with the pointer or keyboard. Such text now counts as invalid input: the input shows the selected item's label again (or nothing when no item is selected), and with `clearOnBlur` both the selection and the input are cleared. A disabled item that is already selected stays selected when focus leaves. When several items share the typed label, blur now keeps the selected one, or else picks the first enabled one, instead of always taking the first.
|
|
20
|
+
|
|
21
|
+
- [#1531](https://github.com/cube-js/cube-ui-kit/pull/1531) [`aa0de8ca`](https://github.com/cube-js/cube-ui-kit/commit/aa0de8cadc93e5a9b9512e831ba15f885d687971) Thanks [@tenphi](https://github.com/tenphi)! - `ComboBox`: a press in the input opens a closed list, also when the input already has focus, for example after `Tab` or after `Escape` closed the list. The list shows the options the typed text leaves, and text that matches nothing keeps it hidden, so a press that moves the caret does not change what `Enter` commits. A click on the field label only focuses the input. With `popoverTrigger="manual"` the list still opens only from the chevron and the arrow keys.
|
|
22
|
+
|
|
23
|
+
`ComboBox`: a press in the input while the list is open moves the caret and keeps the list open. It used to close the list. The chevron still toggles it.
|
|
24
|
+
|
|
25
|
+
`ComboBox` with `isReadOnly` no longer opens its list from the chevron, the arrow keys, a press in the input or `popoverTrigger="focus"`, and `Enter`, `Escape` and blur no longer change its value or text. Read-only used to only hide the clear button.
|
|
26
|
+
|
|
27
|
+
`ComboBox` with `allowsCustomValue` commits the typed text trimmed, on `Enter` and on blur, and empty or whitespace-only text clears the selection with `null` instead of committing `''`.
|
|
28
|
+
|
|
29
|
+
`ComboBox`: picking the option that is already selected, with a click or `Enter`, keeps it selected and closes the list. It used to clear the value.
|
|
30
|
+
|
|
31
|
+
`ComboBox`: the input has `aria-autocomplete="list"`, so screen readers announce that typing filters the options.
|
|
32
|
+
|
|
33
|
+
`ComboBox` lets `Escape` and `Tab` reach its ancestors unless it acts on them. `Escape` with the list closed and nothing to clear now closes a surrounding dialog, and `Tab` reaches a dialog's focus containment. `Escape` that closes the list or clears the value still stops at the input.
|
|
34
|
+
|
|
35
|
+
`ComboBox`: leaving the field without editing it no longer calls `onSelectionChange(null)` or `onInputChange`. Blur reports only what it changes.
|
|
36
|
+
|
|
37
|
+
`ComboBox`: `aria-activedescendant` no longer points at an option the typed text filtered out. It names a shown option or is absent.
|
|
38
|
+
|
|
39
|
+
`ComboBox` with `allowsCustomValue`: `Enter` with the list closed commits the typed text, even when it is part of an option's label, so "app" can be committed next to an "apple" option. With the list open, `Enter` still picks the highlighted option.
|
|
40
|
+
|
|
41
|
+
`ComboBox`: `onOpenChange` is no longer called on mount and reports only the list showing or hiding. Typing text that matches nothing no longer reports an open and a close on every keystroke. `aria-expanded` follows whether the list is shown.
|
|
42
|
+
|
|
43
|
+
`ComboBox` shows the selected option's label once the options load after `selectedKey`, instead of the raw key, and shows the label of `defaultSelectedKey` from the first paint instead of an empty input.
|
|
44
|
+
|
|
45
|
+
`ComboBox`: `Enter` pressed right after typing picks the first match. It used to find nothing highlighted yet, so it picked nothing and could submit an enclosing form instead.
|
|
46
|
+
|
|
47
|
+
`ComboBox`: the chevron and clear buttons are no longer `Tab` stops, `Tab` closes the list as focus moves on, and closing the list with the chevron returns focus to the input.
|
|
48
|
+
|
|
49
|
+
`ComboBox` recognises an exact match with the same locale-aware comparison the filter uses, so text the list shows for an option, such as "ete" for "Été", selects that option on blur.
|
|
50
|
+
|
|
51
|
+
`ComboBox` with a controlled `selectedKey` keeps showing the controlled option's label when the parent rejects a pick. The input used to show the rejected option.
|
|
52
|
+
|
|
53
|
+
`ComboBox` leaves keys pressed during IME composition to the input method, so the `Enter` that confirms a candidate no longer selects an option or commits half-composed text.
|
|
54
|
+
|
|
55
|
+
`ComboBox` with `items` shows items that arrive while its list is open at once. It used to keep showing the previous items until the next keystroke.
|
|
56
|
+
|
|
57
|
+
`ComboBox`, `SearchComboBox` and `TagInput` with `size="large"` open a list of large options, as `Select` does. A small field keeps medium options.
|
|
58
|
+
|
|
59
|
+
- [#1531](https://github.com/cube-js/cube-ui-kit/pull/1531) [`aa0de8ca`](https://github.com/cube-js/cube-ui-kit/commit/aa0de8cadc93e5a9b9512e831ba15f885d687971) Thanks [@tenphi](https://github.com/tenphi)! - `AlertDialog` is now described by its message through `aria-describedby`, so a screen reader reads the message together with the title when it opens. A plain `Dialog` still links no description by default, so a form inside it is not read aloud on open; pass `aria-describedby` to link one.
|
|
60
|
+
|
|
61
|
+
`AlertDialog` with `danger` now opens with focus on Cancel, or on the dialog itself when there is no Cancel, instead of on the destructive confirm button, so an Enter pressed out of habit no longer runs it. An explicit `autoFocus` on the confirm action still puts focus there. Dialogs without `danger` still focus the confirm button.
|
|
62
|
+
|
|
63
|
+
`AlertDialog` opened through `useAlertDialogAPI` now stays mounted until its exit animation has finished, instead of being removed 50 ms early.
|
|
64
|
+
|
|
65
|
+
`Dialog` now contains focus from the moment it opens. A Tab pressed while it was still animating in could move focus to the page behind a modal, where it stayed.
|
|
66
|
+
|
|
67
|
+
`DialogTrigger` with `offset={0}` now places a popover flush against its trigger instead of 8px away.
|
|
68
|
+
|
|
69
|
+
`DialogTrigger` popovers with `isDismissable={false}` no longer swallow outside presses: the control pressed receives the press, and a text field outside can take focus and be typed into, because the popover no longer holds focus. They stay open when a `Button` outside them is pressed or another popover opens, and still close when a modal, tray, fullscreen or panel dialog opens from another `DialogTrigger`.
|
|
70
|
+
|
|
71
|
+
`DialogTrigger` popovers anchored with `targetRef` now close when the anchor scrolls, like popovers anchored to their trigger.
|
|
72
|
+
|
|
73
|
+
`DialogTrigger`'s `hideArrow` is deprecated. Popovers have never rendered an arrow, so it has no effect.
|
|
74
|
+
|
|
75
|
+
- [#1531](https://github.com/cube-js/cube-ui-kit/pull/1531) [`aa0de8ca`](https://github.com/cube-js/cube-ui-kit/commit/aa0de8cadc93e5a9b9512e831ba15f885d687971) Thanks [@tenphi](https://github.com/tenphi)! - `ItemAction`: `excludeFromTabOrder` now takes the action out of the Tab order. The action used to reset it, so `SearchInput`'s clear button and other field actions that ask to stay pointer-only were Tab stops. An explicit `tabIndex` still wins.
|
|
76
|
+
|
|
77
|
+
- [#1531](https://github.com/cube-js/cube-ui-kit/pull/1531) [`aa0de8ca`](https://github.com/cube-js/cube-ui-kit/commit/aa0de8cadc93e5a9b9512e831ba15f885d687971) Thanks [@tenphi](https://github.com/tenphi)! - `ItemAction`, `ItemButton` and other `Item`-based rows: an open tooltip now adds its id to the row's own `aria-describedby` instead of replacing it, so screen readers read both the caller's description and the tooltip.
|
|
78
|
+
|
|
79
|
+
`Item`, `ItemButton`, `TextItem` and other rows with an automatic tooltip: `tooltip={{ title: undefined }}` or `{{ title: null }}` now falls back to the automatic title, like `tooltip={{}}`, instead of opening an empty bubble.
|
|
80
|
+
|
|
81
|
+
- [#1529](https://github.com/cube-js/cube-ui-kit/pull/1529) [`be50525c`](https://github.com/cube-js/cube-ui-kit/commit/be50525c6d2ac2f381203f805acda294369f48da) Thanks [@tenphi](https://github.com/tenphi)! - A `Layout.Panel` in `overlay` mode no longer closes when you focus a control inside it or a popover, menu or dialog opened from it, so its inputs and buttons can be used. Focus moving into the main content, a backdrop click and Escape still close it; focus moving into another `Layout.Panel` of the same Layout keeps it open. Opening an overlay panel now moves focus to its first control, unless focus already moved elsewhere as it opened, such as to a field with `autoFocus`, and closing it returns focus to the element that had it before, unless focus has moved elsewhere; a panel already open when its Layout first renders leaves page focus alone. A panel opened from a menu item now stays open, and a wrapper that focuses the panel's first control and stops its focus events is no longer needed.
|
|
82
|
+
|
|
83
|
+
- [#1531](https://github.com/cube-js/cube-ui-kit/pull/1531) [`aa0de8ca`](https://github.com/cube-js/cube-ui-kit/commit/aa0de8cadc93e5a9b9512e831ba15f885d687971) Thanks [@tenphi](https://github.com/tenphi)! - `Select`, `ListBox` and the pickers built on it (`FilterListBox`, `FilterPicker`, `Picker`, `ComboBox`): a mouse press on an option now selects the option it started on when the pointer comes up inside that option's original box, even if the list moved in between, as it does while a popover is still animating in or scrolls while closing. The press used to pick the neighbouring option under the pointer, or nothing. A release over a different option no longer selects that option, and a press interrupted by `Escape` or another key doesn't pick the moved option.
|
|
84
|
+
|
|
85
|
+
- [#1529](https://github.com/cube-js/cube-ui-kit/pull/1529) [`be50525c`](https://github.com/cube-js/cube-ui-kit/commit/be50525c6d2ac2f381203f805acda294369f48da) Thanks [@tenphi](https://github.com/tenphi)! - `ComboBox`, `SearchComboBox` and `CommandTextArea`: while the list is open, the first click on an enabled control outside it now acts on that control and closes the list, as a click on a UI Kit `Button` already did. A control is a checkbox, switch, radio, text field, native button, link or any other focusable element, in the dialog, popover or menu the field sits in, or anywhere on the page when the field is in none of them. Such a click used to only close the list, so a checkbox stayed unchanged and a text field took no focus until a second click. Focus moves to the control, so the field settles its typed text first, as it does on `Tab`. A click anywhere else still only closes the list and leaves the field focused with its text: on blank space, a dialog's surface or backdrop, or a control outside the dialog or popover the field sits in. A click on a disabled control, including a disabled UI Kit `Button`, which used to commit the typed text, keeps the field's focus and text as well. An enabled UI Kit `Button` or `ItemButton` is still reached from anywhere. `TagInput` now treats blank space in a dialog and controls outside the dialog or popover it sits in the same way; a click there used to move focus away and add the typed text as a tag.
|
|
86
|
+
|
|
87
|
+
- [#1531](https://github.com/cube-js/cube-ui-kit/pull/1531) [`aa0de8ca`](https://github.com/cube-js/cube-ui-kit/commit/aa0de8cadc93e5a9b9512e831ba15f885d687971) Thanks [@tenphi](https://github.com/tenphi)! - `ListBox` scrolls a long (virtualized) list to the option that receives focus when that option isn't rendered yet: `End`, `Home`, `Page Down`, typeahead, and the selected option when the list takes focus on open or on `Tab`. The option is then focused, and an input pointing `aria-activedescendant` at it (ComboBox) names an element that exists.
|
|
88
|
+
|
|
89
|
+
`ListBox` keeps its `role="listbox"` element when it has no items, described by the empty label, so a label's `aria-labelledby` or a search input's `aria-controls` no longer points at nothing. The empty list is a Tab stop, and the list's card shows focus while it has it.
|
|
90
|
+
|
|
91
|
+
`ListBox` renders "Select All" as a tri-state `checkbox` (`aria-checked` true, false or mixed) above the list instead of an `option` outside it. It is its own Tab stop, reached with `Tab` or `Shift+Tab` and toggled with `Space`, and no list item is left outside a list. Queries for it by role change from `option` to `checkbox`; its name is unchanged.
|
|
92
|
+
|
|
93
|
+
`ListBox` shows "Select All" as checked once every selectable item it shows is selected, including when the items were selected one by one; disabled items don't count. The next press takes the items shown out of the selection, so selected keys that aren't among its items stay selected.
|
|
94
|
+
|
|
95
|
+
`ListBox`, `FilterListBox` and `FilterPicker`: under a search or `filter`, "Select All" selects or deselects only the options shown, and selected options the search hides stay selected. It used to select every option, hidden ones included, and its next press cleared them all.
|
|
96
|
+
|
|
97
|
+
`ListBox` with `disableSelectionToggle` keeps a re-picked option selected also when `selectionMode` is left to its default, single. It used to apply only with an explicit `selectionMode="single"`.
|
|
98
|
+
|
|
99
|
+
`ListBox` reports one `onSelectionChange` call per "Select All" press instead of two, and none when `disallowEmptySelection` keeps the selection.
|
|
100
|
+
|
|
101
|
+
`ListBox` section dividers are presentational, so a listbox holds only options and groups. `Menu`, `CommandMenu`, `ListBox` and `FilterListBox` headers no longer carry `role="heading"`, which read any controls inside as part of a title, and their footers drop the invalid `role="footer"`.
|
|
102
|
+
|
|
103
|
+
- [#1530](https://github.com/cube-js/cube-ui-kit/pull/1530) [`c814fafd`](https://github.com/cube-js/cube-ui-kit/commit/c814fafd11eb9beae65457d04c92dca129e299b6) Thanks [@tenphi](https://github.com/tenphi)! - In `Menu` and `CommandMenu`, the icon, label and description of a navigation item (or of a command item with inline actions) no longer sit on top of the row's `role="menuitem"` anchor as pointer targets. Before, a long label covered the centre of that anchor, so a role-based browser-test click such as Playwright's `getByRole('menuitem', { name }).click()` failed with "intercepts pointer events". Now those slots let presses through to the menuitem anchor, which carries the same `href`, so plain, modified, middle and right clicks anywhere on the row behave as before for users, and inline actions and controls in the prefix, suffix and actions slots stay clickable. Tests that click such an item by its label, description or icon now fail instead: a browser test reports that the anchor "intercepts pointer events", and jsdom's user-event rejects an element with `pointer-events: none`. Click the item by its role instead, as `getByRole('menuitem', { name })`.
|
|
104
|
+
|
|
105
|
+
- [#1531](https://github.com/cube-js/cube-ui-kit/pull/1531) [`aa0de8ca`](https://github.com/cube-js/cube-ui-kit/commit/aa0de8cadc93e5a9b9512e831ba15f885d687971) Thanks [@tenphi](https://github.com/tenphi)! - `RangeSlider`: `ref.current.focus()` now focuses the first thumb. It used to do nothing, because the ref targeted an input no thumb rendered.
|
|
106
|
+
|
|
107
|
+
`Layout.Footer`: only the footer of a top-level `Layout` is a `contentinfo` landmark now. A footer inside a `Layout.Panel`, a nested `Layout` or any other Layout region gets `role="none"`, so panel footers no longer add unnamed "content info" landmarks. An explicit `role` still wins.
|
|
108
|
+
|
|
109
|
+
`Picker`: the trigger now describes itself with the value it shows (the selection, the `renderSummary` output or the placeholder), so screen readers announce "Status, button, Open" instead of the label alone, and it sets `aria-haspopup="dialog"` for the popover it opens. Its accessible name is still the label.
|
|
110
|
+
|
|
111
|
+
- [#1530](https://github.com/cube-js/cube-ui-kit/pull/1530) [`c814fafd`](https://github.com/cube-js/cube-ui-kit/commit/c814fafd11eb9beae65457d04c92dca129e299b6) Thanks [@tenphi](https://github.com/tenphi)! - `NumberInput`: a `suffix` now sits next to the number, before the stepper buttons, by default, so a unit reads `40 px ⌃⌄` instead of `40 ⌃⌄ px`. This matches the documented `suffixPosition` default of `before`, which previously behaved like `after`. `suffixPosition="after"` still places the suffix after the steppers; pass it (or move the control to `actions`, which always renders last) to keep the old order for a suffix that is a control rather than a unit. The docs now describe `suffixPosition` as the suffix's position relative to the steppers; the validation and loading icon always comes before both.
|
|
112
|
+
|
|
113
|
+
- [#1529](https://github.com/cube-js/cube-ui-kit/pull/1529) [`be50525c`](https://github.com/cube-js/cube-ui-kit/commit/be50525c6d2ac2f381203f805acda294369f48da) Thanks [@tenphi](https://github.com/tenphi)! - Removing many toasts or notifications when each removal commits synchronously on its own (for example one `flushSync` per removal) no longer ends in React's "Maximum update depth exceeded" error. Each removal used to leave a state update pending after its commit, which React 19 counts as a nested update; the stack now forgets a removed item in the same render that drops its height.
|
|
114
|
+
|
|
115
|
+
- [#1530](https://github.com/cube-js/cube-ui-kit/pull/1530) [`c814fafd`](https://github.com/cube-js/cube-ui-kit/commit/c814fafd11eb9beae65457d04c92dca129e299b6) Thanks [@tenphi](https://github.com/tenphi)! - `parseAbsoluteDate` now returns a UTC `ZonedDateTime` for a string with a zone or offset, such as `2024-01-05T00:00:00Z` or `2024-01-05T00:00:00+02:00`, instead of `undefined`. A `DateInput` given such a string as its value now shows it instead of an empty field. An ISO date-time without a zone, such as `2024-01-05T10:30` or `2024-01-05 10:30:15`, is now read as UTC wall time; it used to be read in the browser's time zone, which moved it by the browser's offset and could show the previous or next day. A malformed day `00` is still rejected. Date-only strings, `Date` objects and other date strings parse as before. A local workaround that parses these strings before passing them in is no longer needed.
|
|
116
|
+
|
|
117
|
+
- [#1530](https://github.com/cube-js/cube-ui-kit/pull/1530) [`c814fafd`](https://github.com/cube-js/cube-ui-kit/commit/c814fafd11eb9beae65457d04c92dca129e299b6) Thanks [@tenphi](https://github.com/tenphi)! - `<Root palette>` no longer writes the palette store while it renders when the prop changes. Before, a new `palette` value notified `GlobalStyles` and every `usePaletteValue` / `usePaletteConfig` reader in the middle of Root's render, and React logged "Cannot update a component while rendering a different component", so hosts had to call `setPaletteConfig()` themselves before changing the prop. The first mount still applies the palette during render, so the first paint and SSR output stay branded; later changes now apply in a layout effect, which still lands before paint. Changing the prop alone is enough. A `<Root>` that mounts while another tree is already rendered with a different palette still applies it during its first render. Because Root's layout effect runs after its descendants', a `setPaletteConfig()` call from a descendant's layout effect in the same commit now loses to the prop; call it from a passive effect or an event handler.
|
|
118
|
+
|
|
119
|
+
- [#1531](https://github.com/cube-js/cube-ui-kit/pull/1531) [`aa0de8ca`](https://github.com/cube-js/cube-ui-kit/commit/aa0de8cadc93e5a9b9512e831ba15f885d687971) Thanks [@tenphi](https://github.com/tenphi)! - `Select`: `isReadOnly` now fixes the value. The trigger stays focusable, but the list no longer opens and typeahead and the arrow keys no longer pick another option. Before, only the clear button was hidden.
|
|
120
|
+
|
|
121
|
+
`Select`: `onOpenChange` fires once per open or close, and no longer fires with `false` on mount.
|
|
122
|
+
|
|
123
|
+
`Select`: the options in the list follow the field's `size`, so a `large` Select opens `large` options. A `small` Select still opens `medium` options.
|
|
124
|
+
|
|
125
|
+
`Select`: the divider between sections no longer has `role="separator"`, which a listbox may not contain. It is presentation only and looks the same.
|
|
126
|
+
|
|
127
|
+
`Select`: `autoFocus` focuses the trigger, `inputProps` reach the trigger button and `loadingIndicator` replaces the default loading icon. All three were accepted and ignored. `popoverRef` is typed as `RefObject<HTMLElement | null>`, the popover element it receives; refs to an input element still type-check. `hideTrigger` never had an effect and is deprecated: pass `rightIcon={null}` to hide the caret.
|
|
128
|
+
|
|
129
|
+
`Select`: clearing calls `onSelectionChange(null)` once instead of twice.
|
|
130
|
+
|
|
131
|
+
`Select`: while `isLoading` is set the list no longer opens with nothing in it and typeahead no longer changes the value. Turning on `isDisabled`, `isLoading` or `isReadOnly` while the list is open closes it, so the trigger no longer reports `aria-expanded="true"` with no popup and the list does not reopen when the field is enabled again.
|
|
132
|
+
|
|
133
|
+
`Select`: opening from the keyboard focuses the right option. `ArrowUp` opens on the last option, `ArrowDown`, `Enter` and `Space` on the selected option or the first one, never on an option focused during an earlier opening or on the bare list. The focused option is scrolled into view as the list opens.
|
|
134
|
+
|
|
135
|
+
`Select`: the list is now the element that scrolls and that the popup's height limit applies to, so `PageDown` and `PageUp` move about one visible page instead of jumping to the last or first option. The popup also stays within the space left in the viewport.
|
|
136
|
+
|
|
137
|
+
`Select`: the clear button hands focus back to the trigger without opening the trigger's tooltip, so the next `Escape` closes a surrounding Dialog instead of that tooltip.
|
|
138
|
+
|
|
139
|
+
- [#1531](https://github.com/cube-js/cube-ui-kit/pull/1531) [`aa0de8ca`](https://github.com/cube-js/cube-ui-kit/commit/aa0de8cadc93e5a9b9512e831ba15f885d687971) Thanks [@tenphi](https://github.com/tenphi)! - `TextInput`, `TextArea`, `PasswordInput`, `SearchInput`, `NumberInput`: `loadingIndicator` is now rendered in place of the default loading icon while `isLoading` is set. It was accepted and never shown.
|
|
140
|
+
|
|
141
|
+
`TextInput`, `TextArea`, `PasswordInput`, `SearchInput`, `NumberInput`: `inputProps` values for `disabled`, `maxLength`, `minLength` and `autoFocus`, and `rows` on a `multiLine` `TextInput`, are no longer overwritten by the matching explicit props when those are unset. An explicit prop that is set still wins.
|
|
142
|
+
|
|
143
|
+
`TextInput`, `TextArea`, `PasswordInput`, `NumberInput`: errors from `validate` now show the invalid style and the message after the user edits or leaves the field, so an empty field does not open in red. `aria-invalid` still follows `validate` from the start, an explicit `isInvalid` still shows at once, and an explicit `errorMessage` still replaces the returned message.
|
|
144
|
+
|
|
145
|
+
`TextInput`, `TextArea`, `PasswordInput`, `SearchInput`, `NumberInput` and the other fields that share their input box: a press inside the field box but outside the input, such as on the prefix, an icon or a textarea's margins, now focuses the input. Presses on buttons inside the field still go to those buttons.
|
|
146
|
+
|
|
147
|
+
`TextInput`: `multiLine` no longer puts input-only attributes such as `type="text"` on the textarea.
|
|
148
|
+
|
|
149
|
+
`SearchInput`: `onClear` is now called when `Escape` clears the text, not only from the clear button. `Escape` keeps clearing whether or not `isClearable` is set.
|
|
150
|
+
|
|
151
|
+
`SearchInput`: `isInvalid` now sets `aria-invalid` on the input.
|
|
152
|
+
|
|
153
|
+
`SearchInput`: a caller's `inputRef` no longer detaches the field's own ref, so the clear button returns focus to the input again.
|
|
154
|
+
|
|
155
|
+
`PasswordInput`: the show/hide toggle is now named "Show password" and reports whether the password is visible with `aria-pressed`. It was named "Toggle masking" in both states.
|
|
156
|
+
|
|
157
|
+
`TextInput`, `TextArea`, `PasswordInput`, `SearchInput`, `NumberInput`, `RadioGroup`, `CheckboxGroup`, `TagInput`, `CommandTextArea`: `value={null}` now clears a controlled field and keeps it controlled, and so does `isSelected={null}` on `Checkbox` and `Switch`. It used to switch the field to uncontrolled mode, which kept the last value on screen.
|
|
158
|
+
|
|
159
|
+
`NumberInput`: `wrapperProps` now reach the field wrapper, merged with the props React Aria puts there. They were dropped.
|
|
160
|
+
|
|
161
|
+
`NumberInput`: the stepper buttons now use the UI Kit translations. The English names stay "Increase {label}" and "Decrease {label}", or "Increase" and "Decrease" when the label is not text, and other locales now follow the UI Kit's own strings.
|
|
162
|
+
|
|
163
|
+
`NumberInput`: pressing a stepper no longer closes a popover the field sits in.
|
|
164
|
+
|
|
165
|
+
`CheckboxGroup`: style props and `styles` now apply to the group. They were accepted and ignored.
|
|
166
|
+
|
|
167
|
+
- [#1531](https://github.com/cube-js/cube-ui-kit/pull/1531) [`aa0de8ca`](https://github.com/cube-js/cube-ui-kit/commit/aa0de8cadc93e5a9b9512e831ba15f885d687971) Thanks [@tenphi](https://github.com/tenphi)! - `Button`: an open tooltip now joins the button's own `aria-describedby` instead of replacing it, so a screen reader reads both the button's hint or error and the tooltip. `ItemBadge` does the same.
|
|
168
|
+
|
|
169
|
+
`TooltipTrigger`: `shouldCloseOnPress={false}` now keeps the tooltip open when the trigger is pressed, and `Tooltip`'s `shouldFlip={false}` now keeps the requested placement. The `delay` default is documented as 250ms, which is what it always was. `Tooltip`'s `showIcon` never did anything and is now marked deprecated.
|
|
170
|
+
|
|
171
|
+
`Tooltip`: when the page or an element containing the trigger scrolls, an open tooltip now follows its trigger while the trigger stays in view, and closes once it scrolls out of view. It used to stay where it was drawn while the trigger scrolled away.
|
|
172
|
+
|
|
173
|
+
`TooltipProvider` and `TooltipTrigger`: empty tooltip content (a `TooltipProvider` `title` of `null`, `undefined` or `''`, or a `Tooltip` with no content inside a `TooltipTrigger`) no longer opens an empty bubble or adds `aria-describedby` to the trigger.
|
|
174
|
+
|
|
175
|
+
`ItemBadge` and `InfoBadge`: a non-interactive icon badge with a name is now exposed as `role="img"`, so screen readers announce its name. When `aria-label` differs from a plain-text tooltip, the tooltip text becomes the badge's description, so keyboard and screen reader users get it without hovering.
|
|
176
|
+
|
|
177
|
+
`Button`: a disabled button stays natively disabled unless it has a tooltip you passed. The automatic tooltip for a truncated label used to keep it focusable, so whether a disabled button was a Tab stop changed with the window width.
|
|
178
|
+
|
|
179
|
+
`Button`: a button that is only loading (`isLoading` without `isDisabled`) keeps keyboard focus, so pressing Enter on it no longer drops focus to the page. It is marked `aria-disabled` and `aria-busy`, stays inert, and Tab skips it until loading ends. A button that is both loading and disabled, as `SubmitButton` is during a submission, is still natively disabled.
|
|
180
|
+
|
|
181
|
+
- [#1530](https://github.com/cube-js/cube-ui-kit/pull/1530) [`c814fafd`](https://github.com/cube-js/cube-ui-kit/commit/c814fafd11eb9beae65457d04c92dca129e299b6) Thanks [@tenphi](https://github.com/tenphi)! - A `to` or `href` with leading or trailing spaces or control characters (such as `" https://example.com"` from data) is now read the way the browser reads a URL. Before, under a router navigation adapter, `Menu.Item`, `CommandMenu.Item`, `Link`, `Button`, `ItemButton` and `ItemAction` took such an external URL for an app path: they rendered a router-resolved href like `/ https:/example.com` and a plain click navigated in-app. Now those characters are dropped first, so the link renders and opens the external URL, `" /pricing"` goes to `/pricing`, and the `!`, `@` and `#` prefixes are recognised after leading whitespace. A `to` or `href` made only of such characters counts as empty: `Link` and `Button` render a button, and a `Menu.Item` with `href=" "` links to the current document like `href=""`. A no-break space is kept, as the browser keeps it. This is not URL sanitization: keep validating untrusted URLs before passing them, since a whitespace-wrapped `javascript:` URL is now treated as external like an unwrapped one.
|
|
182
|
+
|
|
3
183
|
## 0.195.0
|
|
4
184
|
|
|
5
185
|
### Minor Changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
|
|
2
2
|
import { deprecationWarning } from "../../utils/warnings.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import React, { useEffect } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
|
|
2
2
|
import { useLayoutEffect as useLayoutEffect$1 } from "../../utils/react/useLayoutEffect.js";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useRef } from "react";
|
package/dist/components/Block.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.197.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.197.0 | Cube Dev Team */
|
|
2
2
|
import { ItemAction } from "./actions/ItemAction/ItemAction.js";
|
|
3
3
|
import { ItemBadge } from "./content/ItemBadge/ItemBadge.js";
|
|
4
4
|
import { Item } from "react-stately";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
|
|
2
2
|
import { mergeStyleLayers } from "../utils/styles.js";
|
|
3
3
|
import { usePaletteValue } from "../tokens/palette-config.js";
|
|
4
4
|
import { getTokens } from "../tokens/all-tokens.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
|
|
2
2
|
import { useCombinedRefs } from "../utils/react/useCombinedRefs.js";
|
|
3
3
|
import { filterBaseProps, tasty } from "@tenphi/tasty";
|
|
4
4
|
import { forwardRef, useCallback, useEffect, useState } from "react";
|
|
@@ -22,8 +22,14 @@ interface CubeRootProps extends BaseProps {
|
|
|
22
22
|
* palette, so `<Root>` with no `palette` cannot clobber a host's imperative
|
|
23
23
|
* `setPaletteConfig()` call. Pass `{}` to ask for the default.
|
|
24
24
|
*
|
|
25
|
+
* The first mount applies it during render, so the first paint is already
|
|
26
|
+
* tuned; a later change applies in a layout effect, before paint.
|
|
27
|
+
*
|
|
25
28
|
* The palette is global process state, so this is a declarative wrapper over
|
|
26
29
|
* `setPaletteConfig()`; both drive the same store, and the last write wins.
|
|
30
|
+
* Root's layout effect runs after its descendants' in the same commit, so a
|
|
31
|
+
* descendant's `setPaletteConfig()` from a layout effect in that commit loses
|
|
32
|
+
* to the prop; write from a passive effect or an event handler instead.
|
|
27
33
|
* See `Getting Started/Theming` in Storybook.
|
|
28
34
|
*/
|
|
29
35
|
palette?: PaletteConfig;
|
package/dist/components/Root.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../utils/styles.js";
|
|
3
3
|
import { AMBIENT_PREDEFINED_STATES } from "../utils/react/useScheme.js";
|
|
4
4
|
import { EventBusProvider } from "../utils/react/useEventBus.js";
|
|
@@ -13,7 +13,7 @@ import { AlertDialogApiProvider } from "./overlays/AlertDialog/AlertDialogApiPro
|
|
|
13
13
|
import { OverlayProvider } from "./overlays/Notifications/OverlayProvider.js";
|
|
14
14
|
import { c } from "react/compiler-runtime";
|
|
15
15
|
import { BASE_STYLES, BLOCK_STYLES, TastyBatchProvider, configure, filterBaseProps, setGlobalPredefinedStates, tasty } from "@tenphi/tasty";
|
|
16
|
-
import { useEffect, useRef, useState } from "react";
|
|
16
|
+
import { useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
17
17
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
18
18
|
import { ModalProvider } from "react-aria";
|
|
19
19
|
|
|
@@ -91,51 +91,74 @@ const RootElement = tasty({
|
|
|
91
91
|
});
|
|
92
92
|
const STYLES = [...BASE_STYLES, ...BLOCK_STYLES];
|
|
93
93
|
function Root(allProps) {
|
|
94
|
-
const $ = c(
|
|
94
|
+
const $ = c(48);
|
|
95
95
|
const { children, bodyStyles, fontDisplay: t0, fonts, publicUrl, navigation, font, monospaceFont, applyLegacyTokens: _applyLegacyTokens, tracking, cursorStrategy: t1, style, tokens, palette, i18n, locale, ...props } = allProps;
|
|
96
96
|
const fontDisplay = t0 === void 0 ? "swap" : t0;
|
|
97
97
|
const cursorStrategy = t1 === void 0 ? "web" : t1;
|
|
98
|
-
if (palette) setPaletteConfig(palette);
|
|
99
|
-
const ref = useRef(null);
|
|
100
|
-
const [rootRef, setRootRef] = useState();
|
|
101
98
|
let t2;
|
|
102
|
-
if ($[0] !==
|
|
99
|
+
if ($[0] !== palette) {
|
|
103
100
|
t2 = () => {
|
|
104
|
-
if (
|
|
101
|
+
if (palette) setPaletteConfig(palette);
|
|
105
102
|
};
|
|
106
|
-
$[0] =
|
|
103
|
+
$[0] = palette;
|
|
107
104
|
$[1] = t2;
|
|
108
105
|
} else t2 = $[1];
|
|
106
|
+
useState(t2);
|
|
109
107
|
let t3;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
108
|
+
let t4;
|
|
109
|
+
if ($[2] !== palette) {
|
|
110
|
+
t3 = () => {
|
|
111
|
+
if (palette) setPaletteConfig(palette);
|
|
112
|
+
};
|
|
113
|
+
t4 = [palette];
|
|
114
|
+
$[2] = palette;
|
|
115
|
+
$[3] = t3;
|
|
116
|
+
$[4] = t4;
|
|
117
|
+
} else {
|
|
118
|
+
t3 = $[3];
|
|
119
|
+
t4 = $[4];
|
|
120
|
+
}
|
|
121
|
+
useLayoutEffect(t3, t4);
|
|
122
|
+
const ref = useRef(null);
|
|
123
|
+
const [rootRef, setRootRef] = useState();
|
|
124
|
+
let t5;
|
|
125
|
+
if ($[5] !== rootRef) {
|
|
126
|
+
t5 = () => {
|
|
127
|
+
if (!rootRef) setRootRef(ref?.current);
|
|
128
|
+
};
|
|
129
|
+
$[5] = rootRef;
|
|
130
|
+
$[6] = t5;
|
|
131
|
+
} else t5 = $[6];
|
|
132
|
+
let t6;
|
|
133
|
+
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
134
|
+
t6 = [];
|
|
135
|
+
$[7] = t6;
|
|
136
|
+
} else t6 = $[7];
|
|
137
|
+
useEffect(t5, t6);
|
|
115
138
|
const styles = extractStyles(props, STYLES);
|
|
116
139
|
const T0 = TastyBatchProvider;
|
|
117
140
|
const T1 = I18nProvider$1;
|
|
118
141
|
const T2 = Provider;
|
|
119
142
|
const T3 = TrackingProvider;
|
|
120
|
-
const
|
|
143
|
+
const t7 = tracking?.event;
|
|
121
144
|
const T4 = RootElement;
|
|
122
|
-
const
|
|
123
|
-
const
|
|
124
|
-
const
|
|
125
|
-
const
|
|
126
|
-
let
|
|
127
|
-
if ($[
|
|
128
|
-
|
|
129
|
-
"--pointer":
|
|
145
|
+
const t8 = VERSION;
|
|
146
|
+
const t9 = TASTY_VERSION;
|
|
147
|
+
const t10 = filterBaseProps(props, { eventProps: true });
|
|
148
|
+
const t11 = cursorStrategy === "web" ? "pointer" : "default";
|
|
149
|
+
let t12;
|
|
150
|
+
if ($[8] !== style || $[9] !== t11) {
|
|
151
|
+
t12 = {
|
|
152
|
+
"--pointer": t11,
|
|
130
153
|
...style
|
|
131
154
|
};
|
|
132
|
-
$[
|
|
133
|
-
$[
|
|
134
|
-
$[
|
|
135
|
-
} else
|
|
136
|
-
let
|
|
137
|
-
if ($[
|
|
138
|
-
|
|
155
|
+
$[8] = style;
|
|
156
|
+
$[9] = t11;
|
|
157
|
+
$[10] = t12;
|
|
158
|
+
} else t12 = $[10];
|
|
159
|
+
let t13;
|
|
160
|
+
if ($[11] !== bodyStyles || $[12] !== font || $[13] !== fontDisplay || $[14] !== fonts || $[15] !== monospaceFont || $[16] !== publicUrl) {
|
|
161
|
+
t13 = /* @__PURE__ */ jsx(GlobalStyles, {
|
|
139
162
|
bodyStyles,
|
|
140
163
|
publicUrl,
|
|
141
164
|
fonts,
|
|
@@ -143,93 +166,93 @@ function Root(allProps) {
|
|
|
143
166
|
monospaceFont,
|
|
144
167
|
fontDisplay
|
|
145
168
|
});
|
|
146
|
-
$[
|
|
147
|
-
$[
|
|
148
|
-
$[
|
|
149
|
-
$[
|
|
150
|
-
$[
|
|
151
|
-
$[
|
|
152
|
-
$[
|
|
153
|
-
} else
|
|
154
|
-
let
|
|
155
|
-
if ($[
|
|
156
|
-
|
|
169
|
+
$[11] = bodyStyles;
|
|
170
|
+
$[12] = font;
|
|
171
|
+
$[13] = fontDisplay;
|
|
172
|
+
$[14] = fonts;
|
|
173
|
+
$[15] = monospaceFont;
|
|
174
|
+
$[16] = publicUrl;
|
|
175
|
+
$[17] = t13;
|
|
176
|
+
} else t13 = $[17];
|
|
177
|
+
let t14;
|
|
178
|
+
if ($[18] !== children) {
|
|
179
|
+
t14 = /* @__PURE__ */ jsx(ModalProvider, { children: /* @__PURE__ */ jsx(PortalProvider, {
|
|
157
180
|
value: ref,
|
|
158
181
|
children: /* @__PURE__ */ jsx(EventBusProvider, { children: /* @__PURE__ */ jsx(OverlayProvider, { children: /* @__PURE__ */ jsx(AlertDialogApiProvider, { children }) }) })
|
|
159
182
|
}) });
|
|
160
|
-
$[
|
|
161
|
-
$[
|
|
162
|
-
} else
|
|
163
|
-
let
|
|
164
|
-
if ($[
|
|
165
|
-
|
|
183
|
+
$[18] = children;
|
|
184
|
+
$[19] = t14;
|
|
185
|
+
} else t14 = $[19];
|
|
186
|
+
let t15;
|
|
187
|
+
if ($[20] !== T4 || $[21] !== fontDisplay || $[22] !== styles || $[23] !== t10 || $[24] !== t12 || $[25] !== t13 || $[26] !== t14 || $[27] !== t8 || $[28] !== t9 || $[29] !== tokens) {
|
|
188
|
+
t15 = /* @__PURE__ */ jsxs(T4, {
|
|
166
189
|
ref,
|
|
167
|
-
"data-uikit":
|
|
168
|
-
"data-tasty":
|
|
190
|
+
"data-uikit": t8,
|
|
191
|
+
"data-tasty": t9,
|
|
169
192
|
"data-font-display": fontDisplay,
|
|
170
|
-
...
|
|
193
|
+
...t10,
|
|
171
194
|
styles,
|
|
172
|
-
style:
|
|
195
|
+
style: t12,
|
|
173
196
|
tokens,
|
|
174
|
-
children: [
|
|
197
|
+
children: [t13, t14]
|
|
175
198
|
});
|
|
176
|
-
$[
|
|
177
|
-
$[
|
|
178
|
-
$[
|
|
179
|
-
$[
|
|
180
|
-
$[
|
|
181
|
-
$[
|
|
182
|
-
$[
|
|
183
|
-
$[
|
|
184
|
-
$[
|
|
185
|
-
$[
|
|
186
|
-
$[
|
|
187
|
-
} else
|
|
188
|
-
let
|
|
189
|
-
if ($[
|
|
190
|
-
|
|
191
|
-
event:
|
|
192
|
-
children:
|
|
199
|
+
$[20] = T4;
|
|
200
|
+
$[21] = fontDisplay;
|
|
201
|
+
$[22] = styles;
|
|
202
|
+
$[23] = t10;
|
|
203
|
+
$[24] = t12;
|
|
204
|
+
$[25] = t13;
|
|
205
|
+
$[26] = t14;
|
|
206
|
+
$[27] = t8;
|
|
207
|
+
$[28] = t9;
|
|
208
|
+
$[29] = tokens;
|
|
209
|
+
$[30] = t15;
|
|
210
|
+
} else t15 = $[30];
|
|
211
|
+
let t16;
|
|
212
|
+
if ($[31] !== T3 || $[32] !== t15 || $[33] !== t7) {
|
|
213
|
+
t16 = /* @__PURE__ */ jsx(T3, {
|
|
214
|
+
event: t7,
|
|
215
|
+
children: t15
|
|
193
216
|
});
|
|
194
|
-
$[
|
|
195
|
-
$[
|
|
196
|
-
$[
|
|
197
|
-
$[
|
|
198
|
-
} else
|
|
199
|
-
let
|
|
200
|
-
if ($[
|
|
201
|
-
|
|
217
|
+
$[31] = T3;
|
|
218
|
+
$[32] = t15;
|
|
219
|
+
$[33] = t7;
|
|
220
|
+
$[34] = t16;
|
|
221
|
+
} else t16 = $[34];
|
|
222
|
+
let t17;
|
|
223
|
+
if ($[35] !== T2 || $[36] !== navigation || $[37] !== rootRef || $[38] !== t16) {
|
|
224
|
+
t17 = /* @__PURE__ */ jsx(T2, {
|
|
202
225
|
navigation,
|
|
203
226
|
root: rootRef,
|
|
204
|
-
children:
|
|
227
|
+
children: t16
|
|
205
228
|
});
|
|
206
|
-
$[
|
|
207
|
-
$[
|
|
208
|
-
$[
|
|
209
|
-
$[
|
|
210
|
-
$[
|
|
211
|
-
} else
|
|
212
|
-
let
|
|
213
|
-
if ($[
|
|
214
|
-
|
|
229
|
+
$[35] = T2;
|
|
230
|
+
$[36] = navigation;
|
|
231
|
+
$[37] = rootRef;
|
|
232
|
+
$[38] = t16;
|
|
233
|
+
$[39] = t17;
|
|
234
|
+
} else t17 = $[39];
|
|
235
|
+
let t18;
|
|
236
|
+
if ($[40] !== T1 || $[41] !== i18n || $[42] !== locale || $[43] !== t17) {
|
|
237
|
+
t18 = /* @__PURE__ */ jsx(T1, {
|
|
215
238
|
i18n,
|
|
216
239
|
locale,
|
|
217
|
-
children:
|
|
240
|
+
children: t17
|
|
218
241
|
});
|
|
219
|
-
$[
|
|
220
|
-
$[
|
|
221
|
-
$[
|
|
222
|
-
$[
|
|
223
|
-
$[
|
|
224
|
-
} else
|
|
225
|
-
let
|
|
226
|
-
if ($[
|
|
227
|
-
|
|
228
|
-
$[
|
|
229
|
-
$[
|
|
230
|
-
$[
|
|
231
|
-
} else
|
|
232
|
-
return
|
|
242
|
+
$[40] = T1;
|
|
243
|
+
$[41] = i18n;
|
|
244
|
+
$[42] = locale;
|
|
245
|
+
$[43] = t17;
|
|
246
|
+
$[44] = t18;
|
|
247
|
+
} else t18 = $[44];
|
|
248
|
+
let t19;
|
|
249
|
+
if ($[45] !== T0 || $[46] !== t18) {
|
|
250
|
+
t19 = /* @__PURE__ */ jsx(T0, { children: t18 });
|
|
251
|
+
$[45] = T0;
|
|
252
|
+
$[46] = t18;
|
|
253
|
+
$[47] = t19;
|
|
254
|
+
} else t19 = $[47];
|
|
255
|
+
return t19;
|
|
233
256
|
}
|
|
234
257
|
|
|
235
258
|
//#endregion
|