@cube-dev/ui-kit 0.0.0-canary-e530064 → 0.0.0-canary-52c46a3
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/_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.d.ts +0 -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.js +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/ColorPicker/ColorPicker.d.ts +37 -34
- package/dist/components/fields/ColorPicker/ColorPicker.js +182 -131
- package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/fields/{color/ColorPanel.js → ColorPicker/ColorPickerPanel.js} +11 -14
- package/dist/components/fields/ColorPicker/ColorPickerPanel.js.map +1 -0
- package/dist/components/fields/{color → ColorPicker}/channels.d.ts +1 -1
- package/dist/components/fields/{color → ColorPicker}/channels.js +2 -2
- package/dist/components/fields/ColorPicker/channels.js.map +1 -0
- package/dist/components/fields/ColorPicker/color.d.ts +15 -0
- package/dist/components/fields/{color → ColorPicker}/color.js +2 -2
- package/dist/components/fields/ColorPicker/color.js.map +1 -0
- package/dist/components/fields/ColorPicker/index.d.ts +3 -1
- 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.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +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.js +1 -1
- package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
- package/dist/components/fields/ListBoxPopover/index.d.ts +0 -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.js +1 -1
- package/dist/components/fields/Picker/Picker.js +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.js +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.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/fields/index.d.ts +3 -9
- 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.js +1 -1
- package/dist/components/layout/Board/Board.js +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.js +1 -1
- package/dist/components/layout/Board/WidgetHost.js +1 -1
- package/dist/components/layout/Board/board-context.js +1 -1
- package/dist/components/layout/Board/board-store.js +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 +1 -1
- 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.js +1 -1
- package/dist/components/layout/Board/responsive-utils.js +1 -1
- package/dist/components/layout/Board/use-board-layout.js +1 -1
- package/dist/components/layout/Board/use-board-registry.js +1 -1
- package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
- package/dist/components/layout/Board/use-board-selection.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.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.d.ts +1 -2
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.d.ts +0 -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/Modal/types.d.ts +0 -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.d.ts +0 -2
- 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/index.d.ts +0 -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 +203 -1
- package/dist/eslint-plugin/defaults.generated.js.map +1 -1
- package/dist/eslint-plugin/index.js +1 -1
- package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
- package/dist/i18n/I18nProvider.js +1 -1
- package/dist/i18n/createFormatter.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/instance.js +1 -1
- package/dist/i18n/locales/de-DE/uikit.js +36 -1
- package/dist/i18n/locales/en-US/uikit.js +36 -1
- package/dist/i18n/locales/en-US/uikit.json.d.ts +41 -1
- package/dist/i18n/locales/es-ES/uikit.js +36 -1
- package/dist/i18n/locales/es-MX/uikit.js +36 -1
- package/dist/i18n/locales/fr-FR/uikit.js +36 -1
- package/dist/i18n/locales/it-IT/uikit.js +36 -1
- package/dist/i18n/locales/ja-JP/uikit.js +36 -1
- package/dist/i18n/locales/nb-NO/uikit.js +36 -1
- package/dist/i18n/locales/pt-BR/uikit.js +36 -1
- package/dist/i18n/locales/pt-PT/uikit.js +36 -1
- package/dist/i18n/locales/sv-SE/uikit.js +36 -1
- package/dist/i18n/locales/vi-VN/uikit.js +36 -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.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 +22 -15
- package/dist/index.js +10 -9
- 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/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.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 +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/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/data/DataTable.md +298 -0
- package/docs/components/data/ItemTable.md +984 -0
- package/docs/components/fields/ColorPicker.md +144 -85
- package/docs/components/navigation/Pagination.md +245 -0
- package/package.json +8 -3
- package/dist/components/fields/ColorInput/ColorInput.d.ts +0 -67
- package/dist/components/fields/ColorInput/ColorInput.js +0 -230
- package/dist/components/fields/ColorInput/ColorInput.js.map +0 -1
- package/dist/components/fields/ColorInput/index.d.ts +0 -2
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +0 -50
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +0 -269
- package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +0 -1
- package/dist/components/fields/ColorSwatchGroup/index.d.ts +0 -2
- package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +0 -2
- package/dist/components/fields/color/ColorPanel.js.map +0 -1
- package/dist/components/fields/color/ColorSwatch.d.ts +0 -22
- package/dist/components/fields/color/ColorSwatch.js +0 -58
- package/dist/components/fields/color/ColorSwatch.js.map +0 -1
- package/dist/components/fields/color/channels.js.map +0 -1
- package/dist/components/fields/color/color.d.ts +0 -21
- package/dist/components/fields/color/color.js.map +0 -1
- package/dist/components/fields/color/context.js +0 -20
- package/dist/components/fields/color/context.js.map +0 -1
- package/dist/components/fields/color/index.d.ts +0 -4
- package/dist/components/portal/PortalProvider.d.ts +0 -2
- package/docs/components/fields/ColorInput.md +0 -284
- package/docs/components/fields/ColorSwatchGroup.md +0 -206
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
# ColorPicker
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
An input for a single color. It reads and writes color **text** — hex, `rgb()`,
|
|
4
|
+
`hsl()`, `okhsl()`, `okhst()` and `oklch()` — shows the current color as a
|
|
5
|
+
swatch, and opens a popover where the color can be dialed in on three
|
|
6
|
+
perceptual axes.
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
Every conversion goes through [Glaze](https://github.com/tenphi/glaze), so the
|
|
9
|
+
canonical value the picker holds is OKHSL: bounded on every channel, and always
|
|
10
|
+
inside the sRGB gamut. That is what makes an out-of-gamut state impossible and
|
|
11
|
+
lets the same value be re-serialized into any of the supported notations without
|
|
12
|
+
drift.
|
|
10
13
|
|
|
11
14
|
## When to Use
|
|
12
15
|
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
+
- Theme and branding forms — a seed color, an accent, a chart series color
|
|
17
|
+
- Anywhere a color has to be typed *or* explored, rather than chosen from a
|
|
18
|
+
fixed palette
|
|
19
|
+
- When the stored format matters (a design token file wants `oklch()`, a legacy
|
|
20
|
+
API wants hex) and the input has to guarantee it
|
|
16
21
|
|
|
17
|
-
|
|
18
|
-
|
|
22
|
+
Reach for a `RadioGroup` or `Picker` of swatches instead when the choice is
|
|
23
|
+
limited to a handful of approved colors.
|
|
19
24
|
|
|
20
25
|
## Component
|
|
21
26
|
|
|
@@ -25,26 +30,28 @@ readable and pasteable as text.
|
|
|
25
30
|
|
|
26
31
|
- **`value`** `string | null` — The selected color (controlled)
|
|
27
32
|
- **`defaultValue`** `string | null` — The selected color (uncontrolled)
|
|
28
|
-
- **`onChange`** `(value: string | null) => void` — Fired with the color string
|
|
29
|
-
- **`format`** `'hex' | 'rgb' | 'hsl' | 'okhsl' | 'okhst' | 'oklch'` (default: `hex`) — Notation the value is written in, and the one
|
|
33
|
+
- **`onChange`** `(value: string | null) => void` — Fired with the color string, or `null` when the field is cleared
|
|
34
|
+
- **`format`** `'hex' | 'rgb' | 'hsl' | 'okhsl' | 'okhst' | 'oklch'` (default: `hex`) — Notation the value is written in, and the one `forced` mode displays
|
|
35
|
+
- **`formatMode`** `'forced' | 'derive' | 'free'` (default: `forced`) — How strictly the input text is tied to `format`
|
|
30
36
|
- **`defaultSpace`** `'hst' | 'lch' | 'rgb'` (default: `hst`) — Color concept the popover opens with
|
|
31
|
-
- **`
|
|
32
|
-
- **`
|
|
33
|
-
- **`type`** `CubeItemProps['type']` (default: `outline`) — Visual type of the trigger
|
|
34
|
-
- **`theme`** `CubeItemProps['theme']` (default: `default`) — Theme of the trigger
|
|
35
|
-
- **`size`** `CubeItemProps['size']` — Size of the trigger
|
|
36
|
-
- **`triggerTooltip`** `CubeItemProps['tooltip']` — Tooltip for the trigger, separate from the field tooltip
|
|
37
|
-
- **`swatches`** `Array<string | { color: string; label?: string }>` — Colors to offer under the editor, as a [ColorSwatchGroup](./ColorSwatchGroup.md)
|
|
38
|
-
- **`swatchColumns`** `number` — How many swatches per row. Defaults to a single row
|
|
37
|
+
- **`placeholder`** `string` (default: `Pick a color`) — Text shown while the field is empty
|
|
38
|
+
- **`size`** `'small' | 'medium' | 'large' | (string & {})` (default: `medium`) — Input size
|
|
39
39
|
- **`isOpen`** `boolean` — Whether the popover is open (controlled)
|
|
40
40
|
- **`defaultOpen`** `boolean` (default: `false`) — Whether the popover is open initially
|
|
41
41
|
- **`onOpenChange`** `(isOpen: boolean) => void` — Fired when the popover opens or closes
|
|
42
|
-
- **`shouldFlip`** `boolean` (default: `true`) — Whether the popover may flip to the other side of the
|
|
42
|
+
- **`shouldFlip`** `boolean` (default: `true`) — Whether the popover may flip to the other side of the input
|
|
43
|
+
- **`onFocus`** `(event: FocusEvent) => void` — Fired when the text input receives focus
|
|
44
|
+
- **`onBlur`** `(event: FocusEvent) => void` — Fired when the text input loses focus
|
|
43
45
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
Named CSS colors (`red`, `rebeccapurple`) are **not** accepted — they are not a
|
|
47
|
+
color space, and Glaze does not resolve them either. Alpha is parsed but
|
|
48
|
+
dropped: the value is always opaque.
|
|
49
|
+
|
|
50
|
+
Focusing the field selects the whole value, so a pasted color replaces it
|
|
51
|
+
outright. The string is the unit of editing here: a single channel is tuned with
|
|
52
|
+
the sliders rather than by hand-editing one number inside `oklch(…)`. Clicking a
|
|
53
|
+
field that already has focus positions the caret as usual, so the text stays
|
|
54
|
+
editable by hand.
|
|
48
55
|
|
|
49
56
|
### Base Properties
|
|
50
57
|
|
|
@@ -58,83 +65,108 @@ Supports all [Field properties](../../FieldProperties.md)
|
|
|
58
65
|
|
|
59
66
|
#### styles
|
|
60
67
|
|
|
61
|
-
Customizes the wrapper
|
|
68
|
+
Customizes the input wrapper — the element that owns the border, fill and size.
|
|
69
|
+
|
|
70
|
+
**Sub-elements:**
|
|
71
|
+
|
|
72
|
+
- `Prefix` — the container holding the color swatch
|
|
73
|
+
- `Suffix` — the container holding the validation state, then the popover trigger
|
|
74
|
+
- `InputIcon` — the swatch slot
|
|
75
|
+
- `State` — the validation / loading indicator
|
|
76
|
+
|
|
77
|
+
#### inputStyles
|
|
78
|
+
|
|
79
|
+
Customizes the `<input>` element itself.
|
|
62
80
|
|
|
63
81
|
#### triggerStyles
|
|
64
82
|
|
|
65
|
-
Customizes the trigger button
|
|
83
|
+
Customizes the popover trigger button.
|
|
66
84
|
|
|
67
85
|
#### swatchStyles
|
|
68
86
|
|
|
69
|
-
Customizes the color swatch.
|
|
87
|
+
Customizes the color swatch shown inside the input.
|
|
70
88
|
|
|
71
89
|
### Style Properties
|
|
72
90
|
|
|
73
91
|
These properties allow direct style application without using the `styles` prop:
|
|
74
92
|
|
|
93
|
+
- **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
|
|
75
94
|
- **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
|
|
76
95
|
- **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
|
|
77
96
|
- **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
|
|
97
|
+
- **Color:** `color`, `fill`, `fade`, `image`
|
|
78
98
|
|
|
79
99
|
### Modifiers
|
|
80
100
|
|
|
81
101
|
The `mods` property accepts the following modifiers you can override:
|
|
82
102
|
|
|
83
|
-
| Modifier
|
|
84
|
-
|
|
|
85
|
-
| `
|
|
103
|
+
| Modifier | Type | Description |
|
|
104
|
+
| ---------- | --------- | ------------------------------------------------- |
|
|
105
|
+
| `focused` | `boolean` | The text input has focus |
|
|
106
|
+
| `hovered` | `boolean` | The pointer is over the input |
|
|
107
|
+
| `disabled` | `boolean` | The picker is disabled |
|
|
108
|
+
| `valid` | `boolean` | The field is in the valid state |
|
|
109
|
+
| `invalid` | `boolean` | The field is in the invalid state |
|
|
110
|
+
| `prefix` | `boolean` | A prefix (the swatch) is rendered |
|
|
111
|
+
| `suffix` | `boolean` | A suffix (the trigger) is rendered |
|
|
86
112
|
|
|
87
113
|
The swatch carries its own `empty` modifier while there is no color to show.
|
|
88
114
|
|
|
89
|
-
|
|
115
|
+
## Format modes
|
|
90
116
|
|
|
91
|
-
The
|
|
92
|
-
|
|
93
|
-
no trigger of its own — a disclosure inside the thing it discloses would be
|
|
94
|
-
meaningless — and clearing it clears the picker.
|
|
117
|
+
The three modes differ in how much freedom the *text* gets. The value is always
|
|
118
|
+
a real color in every one of them.
|
|
95
119
|
|
|
96
|
-
|
|
120
|
+
| Mode | Text | Value |
|
|
121
|
+
| -------- | ----------------------------------- | ---------------------------------------------------- |
|
|
122
|
+
| `forced` | Rewritten in `format` on blur/Enter | Always written in `format` |
|
|
123
|
+
| `derive` | Left exactly as typed | Normalized in the notation the text is written in |
|
|
124
|
+
| `free` | Left exactly as typed | The text itself, verbatim |
|
|
97
125
|
|
|
98
|
-
|
|
99
|
-
|
|
126
|
+
In every mode an entry that is not a color is rejected: the previous valid color
|
|
127
|
+
stays the value while it is being typed, and the text snaps back to it on blur.
|
|
128
|
+
Emptying the field is not an error — it commits `null`.
|
|
100
129
|
|
|
101
130
|
```jsx
|
|
102
|
-
|
|
131
|
+
// A design-token form that must store OKLCH
|
|
132
|
+
<ColorPicker label="Accent" format="oklch" onChange={setAccent} />
|
|
133
|
+
|
|
134
|
+
// A CSS editor: keep whatever the author wrote, but guarantee it parses
|
|
135
|
+
<ColorPicker label="Color" formatMode="free" onChange={setCss} />
|
|
103
136
|
```
|
|
104
137
|
|
|
105
|
-
|
|
106
|
-
hatch is a `ColorPicker` and would nest popovers without end.
|
|
138
|
+
## Color spaces
|
|
107
139
|
|
|
108
|
-
|
|
140
|
+
The popover edits one canonical color through three sets of axes:
|
|
109
141
|
|
|
110
|
-
|
|
142
|
+
| Space | Axes | Good for |
|
|
143
|
+
| ----- | ----------------------------- | ----------------------------------------------------- |
|
|
144
|
+
| `hst` | Hue, Saturation, Tone (OKHST) | Building ramps — equal tone steps read as equal steps |
|
|
145
|
+
| `lch` | Lightness, Chroma, Hue (OKLCH)| Matching a value from a design-token file |
|
|
146
|
+
| `rgb` | Red, Green, Blue | Matching a value from a legacy palette or a screenshot|
|
|
111
147
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
```
|
|
148
|
+
Each of these opens on its own space; the switcher inside the popover moves
|
|
149
|
+
between them at any time.
|
|
115
150
|
|
|
116
|
-
|
|
151
|
+
`H` means the same angle in HST and LCH, so the hue strip is identical in both.
|
|
152
|
+
The chroma slider is bounded by the sRGB gamut at the current lightness and hue,
|
|
153
|
+
which is why its range changes as `L` moves.
|
|
117
154
|
|
|
118
|
-
|
|
155
|
+
## Examples
|
|
156
|
+
|
|
157
|
+
### Basic usage
|
|
119
158
|
|
|
120
159
|
```jsx
|
|
121
|
-
<ColorPicker
|
|
122
|
-
{null}
|
|
123
|
-
</ColorPicker>
|
|
160
|
+
<ColorPicker label="Brand color" defaultValue="#7a4dbf" />
|
|
124
161
|
```
|
|
125
162
|
|
|
126
|
-
|
|
127
|
-
thing naming the control.
|
|
128
|
-
|
|
129
|
-
### A label of your own
|
|
163
|
+
### Controlled
|
|
130
164
|
|
|
131
165
|
```jsx
|
|
132
|
-
|
|
133
|
-
Accent
|
|
134
|
-
</ColorPicker>
|
|
135
|
-
```
|
|
166
|
+
const [color, setColor] = useState('#7a4dbf');
|
|
136
167
|
|
|
137
|
-
|
|
168
|
+
<ColorPicker label="Brand color" value={color} onChange={setColor} />;
|
|
169
|
+
```
|
|
138
170
|
|
|
139
171
|
### Inside a form
|
|
140
172
|
|
|
@@ -149,64 +181,91 @@ thing naming the control.
|
|
|
149
181
|
</Form>
|
|
150
182
|
```
|
|
151
183
|
|
|
184
|
+
### Opening on a specific space
|
|
185
|
+
|
|
186
|
+
```jsx
|
|
187
|
+
<ColorPicker label="Series color" defaultSpace="rgb" defaultValue="#26fcb2" />
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Using the value as a style
|
|
191
|
+
|
|
192
|
+
Because the emitted value is a plain color string, it can go straight into a
|
|
193
|
+
tasty style — including the `okhsl()` and `okhst()` notations, which tasty
|
|
194
|
+
parses natively.
|
|
195
|
+
|
|
196
|
+
```jsx
|
|
197
|
+
const [color, setColor] = useState('okhst(264 80% 60%)');
|
|
198
|
+
|
|
199
|
+
<>
|
|
200
|
+
<ColorPicker label="Fill" format="okhst" value={color} onChange={setColor} />
|
|
201
|
+
<Block fill={color} height="10x" radius="1r" />
|
|
202
|
+
</>;
|
|
203
|
+
```
|
|
204
|
+
|
|
152
205
|
## Accessibility
|
|
153
206
|
|
|
154
207
|
### Keyboard Navigation
|
|
155
208
|
|
|
156
|
-
- `Tab` — moves focus to the trigger
|
|
157
|
-
- `
|
|
158
|
-
- `
|
|
209
|
+
- `Tab` — moves focus to the text input, then to the popover trigger
|
|
210
|
+
- `Enter` — commits and normalizes the typed color without leaving the field
|
|
211
|
+
- `Space` / `Enter` on the trigger — opens the popover
|
|
212
|
+
- `Escape` — closes the popover
|
|
159
213
|
- `Left` / `Right`, `Home` / `End` on a channel slider — moves that channel
|
|
160
214
|
- `Left` / `Right` on the space switcher — moves between HST, LCH and RGB
|
|
161
215
|
|
|
162
216
|
### Screen Reader Support
|
|
163
217
|
|
|
164
|
-
- The
|
|
165
|
-
|
|
218
|
+
- The text input announces as a textbox with the field's label
|
|
219
|
+
- The trigger announces as "Open the color picker"
|
|
166
220
|
- The popover announces as a dialog named "Color picker"
|
|
167
|
-
- Each channel slider sits in a group named after its axis
|
|
168
|
-
|
|
169
|
-
|
|
221
|
+
- Each channel slider sits in a group named after its axis (`Hue`,
|
|
222
|
+
`Saturation`, `Tone`, `Lightness`, `Chroma`, `Red`, `Green`, `Blue`)
|
|
223
|
+
- The swatch is decorative and is not announced — the text carries the value
|
|
170
224
|
|
|
171
225
|
### ARIA Properties
|
|
172
226
|
|
|
173
|
-
- `aria-label` — names the
|
|
174
|
-
- `aria-
|
|
227
|
+
- `aria-label` — names the field when there is no visible label
|
|
228
|
+
- `aria-describedby` — wired to the field description by the form system
|
|
175
229
|
|
|
176
230
|
## Best Practices
|
|
177
231
|
|
|
178
|
-
1. **Do**: name
|
|
232
|
+
1. **Do**: name the field, so the text input is announced meaningfully
|
|
179
233
|
|
|
180
234
|
```jsx
|
|
181
|
-
<ColorPicker
|
|
235
|
+
<ColorPicker label="Brand color" />
|
|
182
236
|
```
|
|
183
237
|
|
|
184
|
-
2. **Don't**:
|
|
185
|
-
screen reader
|
|
238
|
+
2. **Don't**: rely on the swatch alone to convey the value
|
|
186
239
|
|
|
187
240
|
```jsx
|
|
188
|
-
<ColorPicker
|
|
241
|
+
<ColorPicker aria-label="" />
|
|
189
242
|
```
|
|
190
243
|
|
|
191
|
-
3. **Do**:
|
|
192
|
-
|
|
244
|
+
3. **Do**: pick the `format` your backend stores, and leave `formatMode` at
|
|
245
|
+
`forced` so the two can never disagree.
|
|
246
|
+
|
|
247
|
+
4. **Don't**: use `free` mode when the value is later parsed by something
|
|
248
|
+
stricter than a browser — the text is passed through as written.
|
|
193
249
|
|
|
194
250
|
## Integration with Forms
|
|
195
251
|
|
|
196
252
|
This component supports all
|
|
197
253
|
[Field properties](../../FieldProperties.md) when used
|
|
198
|
-
within a Form. The field value is the color string
|
|
254
|
+
within a Form. The field value is the color string, and clearing the input
|
|
255
|
+
stores `null`, which makes `required` rules behave as expected.
|
|
199
256
|
|
|
200
257
|
## Suggested Improvements
|
|
201
258
|
|
|
202
|
-
- A row of recent or preset swatches inside the popover
|
|
203
259
|
- An eyedropper that samples a pixel from the page, where
|
|
204
260
|
[`EyeDropper`](https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper) is
|
|
205
261
|
available
|
|
206
|
-
-
|
|
262
|
+
- Optional alpha support, which the canonical value currently drops
|
|
263
|
+
- A row of recent or preset swatches inside the popover
|
|
264
|
+
- Editable numeric inputs next to each channel slider, for exact entry without
|
|
265
|
+
going through the text field
|
|
207
266
|
|
|
208
267
|
## Related Components
|
|
209
268
|
|
|
210
|
-
- [
|
|
211
|
-
- [
|
|
212
|
-
- [
|
|
269
|
+
- [HueSlider](./HueSlider.md) — just the hue axis, when only a hue is needed
|
|
270
|
+
- [Slider](./Slider.md) — the primitive each channel is built from
|
|
271
|
+
- [TextInput](./TextInput.md) — the input chrome this component reuses
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
# Pagination
|
|
2
|
+
|
|
3
|
+
Pagination is the control for moving through a paged collection. It renders a
|
|
4
|
+
bounded run of page buttons, optional first/last jumps, an optional page-size
|
|
5
|
+
selector, and an optional item-range summary.
|
|
6
|
+
|
|
7
|
+
It is a pure control: it owns no data. Client-side slicing lives in the
|
|
8
|
+
companion `usePagination` hook, and `ItemTable` composes the two.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- Paging through a list, table, or grid where the user needs to jump around
|
|
13
|
+
rather than scroll.
|
|
14
|
+
- Cursor pagination with an unknown total — supply `hasNextPage` and omit
|
|
15
|
+
`total`/`totalPages`, and the control degrades to prev/next.
|
|
16
|
+
- Anywhere you need a page-size selector wired to the same state.
|
|
17
|
+
|
|
18
|
+
Prefer infinite scroll when the collection is a feed the user skims, and
|
|
19
|
+
pagination when they need stable, addressable positions.
|
|
20
|
+
|
|
21
|
+
## Component
|
|
22
|
+
|
|
23
|
+
### Properties
|
|
24
|
+
|
|
25
|
+
- **`page`** `number` — Controlled current page, 1-based. Pair with
|
|
26
|
+
`onPageChange`.
|
|
27
|
+
- **`defaultPage`** `number` (default: `1`) — Initial page for uncontrolled
|
|
28
|
+
usage.
|
|
29
|
+
- **`onPageChange`** `(page: number) => void` — Never fires with a page outside
|
|
30
|
+
`1…totalPages` when the total is known.
|
|
31
|
+
- **`total`** `number` — Total items across all pages. Preferred over
|
|
32
|
+
`totalPages`; it also powers the range summary and the `select` type's range
|
|
33
|
+
labels.
|
|
34
|
+
- **`totalPages`** `number` — Total pages. Only needed when the item count is
|
|
35
|
+
genuinely unavailable. Wins over the value derived from `total` + `pageSize`.
|
|
36
|
+
- **`pageSize`** `number` — Controlled page size.
|
|
37
|
+
- **`defaultPageSize`** `number` (default: `50`) — Initial page size for
|
|
38
|
+
uncontrolled usage.
|
|
39
|
+
- **`onPageSizeChange`** `(pageSize: number) => void` — Changing the size also
|
|
40
|
+
resets to page 1, because the old page index no longer refers to the same
|
|
41
|
+
items.
|
|
42
|
+
- **`pageSizeOptions`** `number[]` — Supplying this **and** `onPageSizeChange`
|
|
43
|
+
renders the size selector.
|
|
44
|
+
- **`type`** `'numbers' | 'select' | 'compact'` (default: `'numbers'`) — How the
|
|
45
|
+
page control is rendered. `numbers` is the default because it is the only mode
|
|
46
|
+
whose rendered element count is independent of the page count; `select`
|
|
47
|
+
materializes one entry per page, so above a safety cap the component falls
|
|
48
|
+
back to `compact` on its own.
|
|
49
|
+
- **`siblingCount`** `number` (default: `1`) — Page buttons either side of the
|
|
50
|
+
current page.
|
|
51
|
+
- **`boundaryCount`** `number` (default: `1`) — Page buttons pinned at each end.
|
|
52
|
+
Together with `siblingCount` this bounds the rendered count at
|
|
53
|
+
`boundaryCount * 2 + siblingCount * 2 + 3`.
|
|
54
|
+
- **`size`** `'small' | 'medium'` (default: `'small'`) — Control size.
|
|
55
|
+
- **`isDisabled`** `boolean` — Disable every control.
|
|
56
|
+
- **`hasNextPage`** `boolean` — Keeps "next" enabled when the total is unknown.
|
|
57
|
+
Ignored once `total` or `totalPages` is supplied — a known total is always
|
|
58
|
+
authoritative.
|
|
59
|
+
- **`isCompact`** `boolean` (default: `false`) — Hide the first/last jump
|
|
60
|
+
buttons.
|
|
61
|
+
- **`summary`** `boolean | ((info: CubeTablePageInfo) => ReactNode)` (default:
|
|
62
|
+
`false`) — `true` renders the localized `1–50 of 1,204`, with numbers
|
|
63
|
+
formatted for the active locale. Pass a function for full control.
|
|
64
|
+
- **`labelFormatter`** `(info: CubeTablePageInfo) => ReactNode` — Labels the
|
|
65
|
+
entries of `type="select"`. Receives the page info with `page` set to the
|
|
66
|
+
entry being labelled.
|
|
67
|
+
- **`ariaLabel`** `string` — Labels the `<nav>` landmark. Defaults to the
|
|
68
|
+
localized "Pagination".
|
|
69
|
+
|
|
70
|
+
#### `CubeTablePageInfo`
|
|
71
|
+
|
|
72
|
+
Handed to `summary` and `labelFormatter`:
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
interface CubeTablePageInfo {
|
|
76
|
+
page: number; // 1-based
|
|
77
|
+
pageSize: number;
|
|
78
|
+
totalPages: number;
|
|
79
|
+
total: number; // 0 when unknown
|
|
80
|
+
from: number; // 1-based index of the first item on this page
|
|
81
|
+
to: number; // 1-based index of the last item on this page
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Base Properties
|
|
86
|
+
|
|
87
|
+
Supports Base Properties.
|
|
88
|
+
|
|
89
|
+
### Styling Properties
|
|
90
|
+
|
|
91
|
+
#### styles
|
|
92
|
+
|
|
93
|
+
Customizes the root element.
|
|
94
|
+
|
|
95
|
+
**Sub-elements:**
|
|
96
|
+
|
|
97
|
+
- `Summary` — the range summary and the `compact` page label
|
|
98
|
+
- `Controls` — the row of nav and page buttons
|
|
99
|
+
- `Gap` — the `…` between two runs of page numbers
|
|
100
|
+
|
|
101
|
+
#### pageSizeSelectStyles
|
|
102
|
+
|
|
103
|
+
Customizes the page-size `Select`.
|
|
104
|
+
|
|
105
|
+
### Style Properties
|
|
106
|
+
|
|
107
|
+
These properties allow direct style application without using the `styles` prop:
|
|
108
|
+
|
|
109
|
+
- **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
|
|
110
|
+
- **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
|
|
111
|
+
- **Block:** `border`, `radius`, `shadow`, `outline`
|
|
112
|
+
|
|
113
|
+
### Modifiers
|
|
114
|
+
|
|
115
|
+
| Modifier | Type | Description |
|
|
116
|
+
| -------- | ---- | ----------- |
|
|
117
|
+
| `size` | `'small' \| 'medium'` | Control size |
|
|
118
|
+
|
|
119
|
+
## Examples
|
|
120
|
+
|
|
121
|
+
### Basic Usage
|
|
122
|
+
|
|
123
|
+
```jsx
|
|
124
|
+
const [page, setPage] = useState(1);
|
|
125
|
+
|
|
126
|
+
<Pagination page={page} pageSize={50} total={1204} onPageChange={setPage} />;
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### With a Summary
|
|
130
|
+
|
|
131
|
+
```jsx
|
|
132
|
+
<Pagination page={3} pageSize={50} total={1204} summary onPageChange={setPage} />
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Many Pages
|
|
136
|
+
|
|
137
|
+
A million rows at 50 per page is 20 000 pages — and still ~7 buttons.
|
|
138
|
+
|
|
139
|
+
```jsx
|
|
140
|
+
<Pagination page={9421} pageSize={50} total={1000000} summary onPageChange={setPage} />
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Page Size Selector
|
|
144
|
+
|
|
145
|
+
```jsx
|
|
146
|
+
const [page, setPage] = useState(1);
|
|
147
|
+
const [pageSize, setPageSize] = useState(50);
|
|
148
|
+
|
|
149
|
+
<Pagination
|
|
150
|
+
page={page}
|
|
151
|
+
pageSize={pageSize}
|
|
152
|
+
total={1204}
|
|
153
|
+
pageSizeOptions={[10, 20, 50, 100, 500]}
|
|
154
|
+
summary
|
|
155
|
+
onPageChange={setPage}
|
|
156
|
+
onPageSizeChange={setPageSize}
|
|
157
|
+
/>;
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Unknown Total (Cursor Pagination)
|
|
161
|
+
|
|
162
|
+
```jsx
|
|
163
|
+
<Pagination page={page} hasNextPage={hasNextPage} onPageChange={setPage} />
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Compact
|
|
167
|
+
|
|
168
|
+
```jsx
|
|
169
|
+
<Pagination type="compact" page={3} pageSize={50} total={1204} summary />
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Client-side Slicing with `usePagination`
|
|
173
|
+
|
|
174
|
+
```jsx
|
|
175
|
+
const { pageItems, page, pageSize, total, setPage, setPageSize } =
|
|
176
|
+
usePagination(items, { defaultPageSize: 10 });
|
|
177
|
+
|
|
178
|
+
return (
|
|
179
|
+
<>
|
|
180
|
+
{pageItems.map((item) => (
|
|
181
|
+
<Text key={item}>{item}</Text>
|
|
182
|
+
))}
|
|
183
|
+
<Pagination
|
|
184
|
+
page={page}
|
|
185
|
+
pageSize={pageSize}
|
|
186
|
+
total={total}
|
|
187
|
+
pageSizeOptions={[5, 10, 25]}
|
|
188
|
+
summary
|
|
189
|
+
onPageChange={setPage}
|
|
190
|
+
onPageSizeChange={setPageSize}
|
|
191
|
+
/>
|
|
192
|
+
</>
|
|
193
|
+
);
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Accessibility
|
|
197
|
+
|
|
198
|
+
### Keyboard Navigation
|
|
199
|
+
|
|
200
|
+
- `Tab` — moves through the controls in visual order.
|
|
201
|
+
- `Enter` / `Space` — activates the focused button.
|
|
202
|
+
|
|
203
|
+
Every control is a real `<button>`, so there is nothing bespoke to learn.
|
|
204
|
+
|
|
205
|
+
### Screen Reader Support
|
|
206
|
+
|
|
207
|
+
- The root is a `<nav>` landmark labelled "Pagination" (override with
|
|
208
|
+
`ariaLabel`).
|
|
209
|
+
- The current page button carries `aria-current="page"`.
|
|
210
|
+
- Every button has an explicit `aria-label` — "Page 3", "Next page", and so on
|
|
211
|
+
— so an icon-only button is never announced as unlabelled.
|
|
212
|
+
- The `…` gap is `aria-hidden`; it conveys nothing a screen reader user needs.
|
|
213
|
+
|
|
214
|
+
### ARIA Properties
|
|
215
|
+
|
|
216
|
+
| Property | Applied to |
|
|
217
|
+
| -------- | ---------- |
|
|
218
|
+
| `aria-label` | The `<nav>` and every button |
|
|
219
|
+
| `aria-current="page"` | The current page button |
|
|
220
|
+
| `aria-hidden="true"` | The `…` gap |
|
|
221
|
+
|
|
222
|
+
## Best Practices
|
|
223
|
+
|
|
224
|
+
- Do: pass `total` rather than `totalPages` when you know the item count — the
|
|
225
|
+
summary and range labels both need it.
|
|
226
|
+
- Do: use `type="numbers"` (the default) for anything that can grow. It is the
|
|
227
|
+
only mode whose cost does not scale with the page count.
|
|
228
|
+
- Do: reset to page 1 whenever the underlying query changes (a new search term,
|
|
229
|
+
a new filter). A stale page index against a smaller result set shows an empty
|
|
230
|
+
page.
|
|
231
|
+
- Don't: render `type="select"` over a large page count. It builds one
|
|
232
|
+
collection item per page.
|
|
233
|
+
- Don't: pass both `hasNextPage` and a known total and expect the former to win
|
|
234
|
+
— it doesn't.
|
|
235
|
+
|
|
236
|
+
## Suggested Improvements
|
|
237
|
+
|
|
238
|
+
- A "jump to page" input for very large page counts.
|
|
239
|
+
- Optional URL synchronization, so a page is linkable.
|
|
240
|
+
|
|
241
|
+
## Related Components
|
|
242
|
+
|
|
243
|
+
- ItemTable — composes `Pagination` in its footer
|
|
244
|
+
- [Select](../fields/Select.md) — used for the page-size selector
|
|
245
|
+
- [Button](../actions/Button.md) — used for every nav and page control
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cube-dev/ui-kit",
|
|
3
|
-
"version": "0.0.0-canary-
|
|
3
|
+
"version": "0.0.0-canary-52c46a3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "UIKit for Cube Projects",
|
|
6
6
|
"repository": {
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"build": "tsdown",
|
|
38
38
|
"watch": "tsdown --watch",
|
|
39
39
|
"test": "vitest run",
|
|
40
|
+
"test:browser": "vitest run --config vitest.browser.config.ts",
|
|
40
41
|
"test-cover": "vitest run --coverage",
|
|
41
42
|
"test-watch": "vitest",
|
|
42
43
|
"prettier": "prettier --check \"src/**/*.{js,jsx,ts,tsx}\"",
|
|
@@ -79,6 +80,7 @@
|
|
|
79
80
|
"@react-aria/ssr": "^3.9.10",
|
|
80
81
|
"@react-aria/utils": "^3.32.0",
|
|
81
82
|
"@react-spectrum/utils": "^3.12.10",
|
|
83
|
+
"@react-stately/selection": "^3.20.7",
|
|
82
84
|
"@react-stately/utils": "^3.11.0",
|
|
83
85
|
"@react-types/shared": "^3.32.1",
|
|
84
86
|
"@tabler/icons-react": "^3.31.0",
|
|
@@ -135,7 +137,9 @@
|
|
|
135
137
|
"@types/react-test-renderer": "^18.0.7",
|
|
136
138
|
"@uiw/react-codemirror": "^4.25.4",
|
|
137
139
|
"@vitejs/plugin-react": "^6.0.0",
|
|
138
|
-
"@vitest/
|
|
140
|
+
"@vitest/browser": "^4.1.10",
|
|
141
|
+
"@vitest/browser-playwright": "^4.1.10",
|
|
142
|
+
"@vitest/coverage-v8": "^4.1.10",
|
|
139
143
|
"best-effort-json-parser": "^1.2.1",
|
|
140
144
|
"bytes": "^3.1.2",
|
|
141
145
|
"chromatic": "^13.1.4",
|
|
@@ -148,6 +152,7 @@
|
|
|
148
152
|
"markdown-table": "^3.0.3",
|
|
149
153
|
"npm-run-all": "^4.1.5",
|
|
150
154
|
"oxlint": "^1.72.0",
|
|
155
|
+
"playwright": "^1.62.1",
|
|
151
156
|
"prettier": "^3.2.5",
|
|
152
157
|
"react": "^19.1.1",
|
|
153
158
|
"react-dom": "^19.1.1",
|
|
@@ -162,7 +167,7 @@
|
|
|
162
167
|
"tsdown": "^0.20.3",
|
|
163
168
|
"typescript": "^5.6.3",
|
|
164
169
|
"vite": "^8.0.0",
|
|
165
|
-
"vitest": "^4.1.
|
|
170
|
+
"vitest": "^4.1.10"
|
|
166
171
|
},
|
|
167
172
|
"browserslist": [
|
|
168
173
|
"last 2 Chrome versions",
|