@cube-dev/ui-kit 0.0.0-canary-57f1bfe → 0.0.0-canary-ffc66c6
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 +43 -54
- package/dist/components/GlobalStyles.js.map +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +4 -9
- 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 +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 +3 -3
- package/dist/components/actions/CommandMenu/styled.js.map +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 +5 -5
- package/dist/components/actions/Menu/styled.js.map +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 +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 +2 -2
- package/dist/components/content/Card/Card.js.map +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 +2 -2
- package/dist/components/content/Disclosure/Disclosure.js.map +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/InlineInput/InlineInput.d.ts +25 -0
- package/dist/components/content/InlineInput/InlineInput.js +88 -44
- package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
- package/dist/components/content/Item/Item.js +2 -2
- package/dist/components/content/Item/Item.js.map +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 +2 -2
- package/dist/components/content/Layout/LayoutPane.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +3 -3
- package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/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 +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/fields/Checkbox/Checkbox.js +5 -5
- package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +2 -2
- package/dist/components/fields/ComboBox/ComboBox.js.map +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/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/intl.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.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 +3 -3
- package/dist/components/fields/FileInput/FileInput.js.map +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 +1 -1
- package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
- package/dist/components/fields/ListBox/ListBox.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.js +4 -4
- package/dist/components/fields/RadioGroup/Radio.js.map +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/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.js +5 -5
- package/dist/components/fields/Select/Select.js.map +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/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 +3 -3
- package/dist/components/fields/Slider/elements.js.map +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +2 -2
- package/dist/components/fields/Switch/Switch.js.map +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 +3 -3
- package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/FieldWrapper/extract-field-wrapper-props.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/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/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 +2 -2
- package/dist/components/layout/ResizablePanel.js.map +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +5 -2
- package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/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/styled.js +3 -3
- package/dist/components/navigation/Tabs/styled.js.map +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/FileTabs/FileTabs.js +2 -2
- package/dist/components/organisms/FileTabs/FileTabs.js.map +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +2 -2
- package/dist/components/organisms/StatsCard/StatsCard.js.map +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/RangeCalendar.js +1 -1
- package/dist/components/other/CloudLogo/CloudLogo.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 +2 -2
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +7 -7
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/DraggableCollection.js +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 +7 -23
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +115 -114
- package/dist/data/item-themes.js.map +1 -1
- package/dist/data/themes.d.ts +17 -17
- package/dist/data/themes.js +18 -18
- package/dist/data/themes.js.map +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/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.js +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.d.ts +3 -4
- package/dist/tokens/colors.js +83 -93
- package/dist/tokens/colors.js.map +1 -1
- package/dist/tokens/index.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/shadows.d.ts +1 -4
- package/dist/tokens/shadows.js +6 -9
- package/dist/tokens/shadows.js.map +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/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/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.d.ts +0 -3
- package/dist/version.js +5 -13
- package/dist/version.js.map +1 -1
- package/docs/Usage.md +30 -98
- package/docs/components/content/Card.md +1 -1
- package/docs/components/content/InlineInput.md +45 -2
- package/docs/components/content/PrismCode.md +0 -21
- package/docs/components/form/Field.md +1 -1
- package/docs/components/layout/ResizablePanel.md +1 -1
- package/docs/components/navigation/Tabs.md +2 -0
- package/docs/components/organisms/FileTabs.md +1 -1
- package/docs/components/organisms/StatsCard.md +1 -1
- package/docs/tasty/configuration.md +0 -44
- package/docs/tasty/dsl.md +13 -14
- package/docs/tasty/methodology.md +0 -26
- package/docs/tasty/react-api.md +0 -24
- package/docs/tasty/ssr.md +3 -5
- package/docs/tasty/styles.md +7 -9
- package/docs/tasty/tasty-static.md +0 -15
- package/package.json +8 -10
- package/dist/tokens/palette.js +0 -364
- package/dist/tokens/palette.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { DEFAULT_NEUTRAL_STYLES } from "../../../data/item-themes.js";
|
|
3
3
|
import { Space } from "../../layout/Space.js";
|
|
4
4
|
import { DEFAULT_BUTTON_STYLES } from "../Button/Button.js";
|
|
@@ -10,7 +10,7 @@ const StyledMenuWrapper = tasty({
|
|
|
10
10
|
styles: {
|
|
11
11
|
display: "grid",
|
|
12
12
|
gridRows: "max-content 1sf max-content",
|
|
13
|
-
fill: "#
|
|
13
|
+
fill: "#white",
|
|
14
14
|
margin: 0,
|
|
15
15
|
padding: 0,
|
|
16
16
|
border: true,
|
|
@@ -21,7 +21,7 @@ const StyledMenuWrapper = tasty({
|
|
|
21
21
|
},
|
|
22
22
|
shadow: {
|
|
23
23
|
"": "",
|
|
24
|
-
"popover | tray": "
|
|
24
|
+
"popover | tray": "0px 5px 15px #dark.05"
|
|
25
25
|
},
|
|
26
26
|
height: {
|
|
27
27
|
"": "initial",
|
|
@@ -120,7 +120,7 @@ const StyledSection = tasty({
|
|
|
120
120
|
margin: "0",
|
|
121
121
|
padding: "0",
|
|
122
122
|
listStyle: "none",
|
|
123
|
-
fill: "#
|
|
123
|
+
fill: "#white"
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
126
|
const StyledItem = tasty({
|
|
@@ -151,7 +151,7 @@ const StyledItem = tasty({
|
|
|
151
151
|
color: {
|
|
152
152
|
"": "#dark-02",
|
|
153
153
|
"selected | pressed": "#dark",
|
|
154
|
-
disabled: "#
|
|
154
|
+
disabled: "#dark-04"
|
|
155
155
|
},
|
|
156
156
|
cursor: {
|
|
157
157
|
"": "default",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled.js","names":[],"sources":["../../../../src/components/actions/Menu/styled.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\n\nimport { DEFAULT_NEUTRAL_STYLES } from '../../../data/item-themes';\nimport { Space } from '../../layout/Space';\nimport { DEFAULT_BUTTON_STYLES } from '../Button/Button';\n\nexport const StyledMenuWrapper = tasty({\n qa: 'Menu',\n styles: {\n display: 'grid',\n gridRows: 'max-content 1sf max-content',\n fill: '#
|
|
1
|
+
{"version":3,"file":"styled.js","names":[],"sources":["../../../../src/components/actions/Menu/styled.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\n\nimport { DEFAULT_NEUTRAL_STYLES } from '../../../data/item-themes';\nimport { Space } from '../../layout/Space';\nimport { DEFAULT_BUTTON_STYLES } from '../Button/Button';\n\nexport const StyledMenuWrapper = tasty({\n qa: 'Menu',\n styles: {\n display: 'grid',\n gridRows: 'max-content 1sf max-content',\n fill: '#white',\n margin: 0,\n padding: 0,\n border: true,\n radius: '(1cr + 1bw)',\n width: {\n '': 'auto',\n popover: 'max-content',\n },\n shadow: {\n '': '',\n 'popover | tray': '0px 5px 15px #dark.05',\n },\n height: {\n '': 'initial',\n popover: 'initial max-content (50vh - 4x)',\n tray: 'initial max-content (100vh - 4x)',\n },\n boxSizing: 'border-box',\n },\n});\n\nexport const StyledMenu = tasty({\n as: 'ul',\n qa: 'MenuList',\n styles: {\n display: 'flex',\n flow: 'column',\n gap: {\n '': '1bw',\n sections: false,\n },\n boxSizing: 'border-box',\n margin: 0,\n padding: {\n '': '0.5x',\n section: 0, // section menu\n },\n overflow: {\n '': 'auto',\n section: '',\n },\n scrollbar: 'styled',\n },\n});\n\nexport const StyledDivider = tasty({\n qa: 'Divider',\n as: 'li',\n styles: {\n display: 'flex',\n flow: 'column',\n margin: '.5x',\n listStyle: 'none',\n fill: '#border',\n height: '1bw',\n flexShrink: 0,\n },\n});\n\nexport const StyledHeader = tasty(Space, {\n qa: 'Header',\n as: 'div',\n role: 'heading',\n 'aria-level': 3,\n styles: {\n color: '#dark-02',\n preset: 't3',\n placeContent: 'space-between',\n placeItems: 'center',\n whiteSpace: 'nowrap',\n padding: '.5x 1.5x',\n height: 'min $size',\n boxSizing: 'border-box',\n border: 'bottom',\n radius: '1cr top',\n\n $size: {\n '': '$size-md',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n },\n },\n});\n\nexport const StyledFooter = tasty(Space, {\n qa: 'Footer',\n as: 'div',\n role: 'footer',\n styles: {\n color: '#dark-02',\n preset: 't3',\n placeContent: 'space-between',\n placeItems: 'center',\n whiteSpace: 'nowrap',\n padding: '.5x 1.5x',\n height: {\n '': 'min $size-md',\n 'size=large': 'min $size-lg',\n },\n boxSizing: 'border-box',\n border: 'top',\n radius: '1cr bottom',\n },\n});\n\nexport const StyledSection = tasty({\n qa: 'Section',\n as: 'li',\n styles: {\n display: 'flex',\n flow: 'column',\n margin: '0',\n padding: '0',\n listStyle: 'none',\n fill: '#white',\n },\n});\n\nexport const StyledItem = tasty({\n qa: 'Item',\n as: 'li',\n styles: {\n // Base button-like styles merged from Action/Button defaults\n ...DEFAULT_BUTTON_STYLES,\n ...DEFAULT_NEUTRAL_STYLES,\n\n // Override specifics for menu context\n display: 'flex',\n flow: 'row',\n justifyContent: 'stretch',\n listStyle: 'none',\n flexShrink: 0,\n height: {\n '': 'min $size-md',\n 'size=large': 'min $size-lg',\n },\n border: false,\n boxSizing: 'border-box',\n fill: {\n '': '#clear',\n focused: '#dark.03',\n selected: '#dark.09',\n 'selected & focused': '#dark.12',\n pressed: '#dark.09',\n disabled: '#clear',\n },\n color: {\n '': '#dark-02',\n 'selected | pressed': '#dark',\n disabled: '#dark-04',\n },\n cursor: {\n '': 'default',\n disabled: 'not-allowed',\n },\n shadow: '#clear',\n padding: {\n '': '.5x 1x',\n 'selectionIcon & selectable & !selected': '.5x 1x .5x (1x + 3x)',\n },\n gap: '.75x',\n outline: false,\n\n Description: {\n preset: 't4',\n color: '#dark-03',\n },\n },\n});\n\nexport const StyledSectionHeading = tasty(Space, {\n qa: 'SectionHeading',\n as: 'div',\n styles: {\n color: '#dark-04',\n preset: 'c2',\n height: '3x',\n placeContent: 'center space-between',\n padding: {\n '': '.5x .75x',\n prefix: '0 .75x 0 .5x',\n },\n\n $size: {\n '': '$size-md',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n },\n },\n});\n"],"mappings":";;;;;;;AAMA,MAAa,oBAAoB,MAAM;CACrC,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,UAAU;EACV,MAAM;EACN,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,OAAO;GACL,IAAI;GACJ,SAAS;GACV;EACD,QAAQ;GACN,IAAI;GACJ,kBAAkB;GACnB;EACD,QAAQ;GACN,IAAI;GACJ,SAAS;GACT,MAAM;GACP;EACD,WAAW;EACZ;CACF,CAAC;AAEF,MAAa,aAAa,MAAM;CAC9B,IAAI;CACJ,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,KAAK;GACH,IAAI;GACJ,UAAU;GACX;EACD,WAAW;EACX,QAAQ;EACR,SAAS;GACP,IAAI;GACJ,SAAS;GACV;EACD,UAAU;GACR,IAAI;GACJ,SAAS;GACV;EACD,WAAW;EACZ;CACF,CAAC;AAEF,MAAa,gBAAgB,MAAM;CACjC,IAAI;CACJ,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,QAAQ;EACR,WAAW;EACX,MAAM;EACN,QAAQ;EACR,YAAY;EACb;CACF,CAAC;AAEF,MAAa,eAAe,MAAM,OAAO;CACvC,IAAI;CACJ,IAAI;CACJ,MAAM;CACN,cAAc;CACd,QAAQ;EACN,OAAO;EACP,QAAQ;EACR,cAAc;EACd,YAAY;EACZ,YAAY;EACZ,SAAS;EACT,QAAQ;EACR,WAAW;EACX,QAAQ;EACR,QAAQ;EAER,OAAO;GACL,IAAI;GACJ,cAAc;GACd,eAAe;GACf,cAAc;GACf;EACF;CACF,CAAC;AAEF,MAAa,eAAe,MAAM,OAAO;CACvC,IAAI;CACJ,IAAI;CACJ,MAAM;CACN,QAAQ;EACN,OAAO;EACP,QAAQ;EACR,cAAc;EACd,YAAY;EACZ,YAAY;EACZ,SAAS;EACT,QAAQ;GACN,IAAI;GACJ,cAAc;GACf;EACD,WAAW;EACX,QAAQ;EACR,QAAQ;EACT;CACF,CAAC;AAEF,MAAa,gBAAgB,MAAM;CACjC,IAAI;CACJ,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,QAAQ;EACR,SAAS;EACT,WAAW;EACX,MAAM;EACP;CACF,CAAC;AAEF,MAAa,aAAa,MAAM;CAC9B,IAAI;CACJ,IAAI;CACJ,QAAQ;EAEN,GAAG;EACH,GAAG;EAGH,SAAS;EACT,MAAM;EACN,gBAAgB;EAChB,WAAW;EACX,YAAY;EACZ,QAAQ;GACN,IAAI;GACJ,cAAc;GACf;EACD,QAAQ;EACR,WAAW;EACX,MAAM;GACJ,IAAI;GACJ,SAAS;GACT,UAAU;GACV,sBAAsB;GACtB,SAAS;GACT,UAAU;GACX;EACD,OAAO;GACL,IAAI;GACJ,sBAAsB;GACtB,UAAU;GACX;EACD,QAAQ;GACN,IAAI;GACJ,UAAU;GACX;EACD,QAAQ;EACR,SAAS;GACP,IAAI;GACJ,0CAA0C;GAC3C;EACD,KAAK;EACL,SAAS;EAET,aAAa;GACX,QAAQ;GACR,OAAO;GACR;EACF;CACF,CAAC;AAEF,MAAa,uBAAuB,MAAM,OAAO;CAC/C,IAAI;CACJ,IAAI;CACJ,QAAQ;EACN,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,cAAc;EACd,SAAS;GACP,IAAI;GACJ,QAAQ;GACT;EAED,OAAO;GACL,IAAI;GACJ,cAAc;GACd,eAAe;GACf,cAAc;GACf;EACF;CACF,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { ItemActionProvider, useItemActionContext } from "./ItemActionContext.js";
|
|
3
3
|
import { openLink, parseTo, performClickHandler, useAction } from "./use-action.js";
|
|
4
4
|
import { ItemAction } from "./ItemAction/ItemAction.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../utils/react/mergeProps.js";
|
|
3
3
|
import { useEvent } from "../../_internal/hooks/use-event.js";
|
|
4
4
|
import { useFocus as useFocus$1 } from "../../utils/react/interactions.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../utils/react/mergeProps.js";
|
|
3
3
|
import { useEvent } from "../../_internal/hooks/use-event.js";
|
|
4
4
|
import { generateRandomId } from "../../utils/random.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { mergeProps as mergeProps$1 } from "../../utils/react/mergeProps.js";
|
|
3
3
|
import { useEvent } from "../../_internal/hooks/use-event.js";
|
|
4
4
|
import { generateRandomId } from "../../utils/random.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { useFocus as useFocus$1 } from "../../../utils/react/interactions.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import themes_default from "../../../data/themes.js";
|
|
3
3
|
import { useAlert } from "./use-alert.js";
|
|
4
4
|
import { tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { useDeprecationWarning } from "../../../_internal/hooks/use-deprecation-warning.js";
|
|
4
4
|
import { CONTAINER_STYLES, TEXT_STYLES, filterBaseProps } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { CONTAINER_STYLES, Element, filterBaseProps } from "@tenphi/tasty";
|
|
4
4
|
import { forwardRef } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { _Item } from "../Item/Item.js";
|
|
3
3
|
import themes_default from "../../../data/themes.js";
|
|
4
4
|
import { tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
4
4
|
import { forwardRef } from "react";
|
|
@@ -11,7 +11,7 @@ const CardElement = tasty({
|
|
|
11
11
|
display: "block",
|
|
12
12
|
flow: "column",
|
|
13
13
|
radius: "(1cr + 1bw)",
|
|
14
|
-
fill: "#
|
|
14
|
+
fill: "#white",
|
|
15
15
|
border: "#border",
|
|
16
16
|
padding: "1.5x",
|
|
17
17
|
preset: "t3"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","names":[],"sources":["../../../../src/components/content/Card/Card.tsx"],"sourcesContent":["import {\n AllBaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { extractStyles } from '../../../utils/styles';\n\nconst CardElement = tasty({\n role: 'region',\n styles: {\n display: 'block',\n flow: 'column',\n radius: '(1cr + 1bw)',\n fill: '#
|
|
1
|
+
{"version":3,"file":"Card.js","names":[],"sources":["../../../../src/components/content/Card/Card.tsx"],"sourcesContent":["import {\n AllBaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { extractStyles } from '../../../utils/styles';\n\nconst CardElement = tasty({\n role: 'region',\n styles: {\n display: 'block',\n flow: 'column',\n radius: '(1cr + 1bw)',\n fill: '#white',\n border: '#border',\n padding: '1.5x',\n preset: 't3',\n },\n styleProps: CONTAINER_STYLES,\n});\n\nexport interface CubeCardProps\n extends Omit<AllBaseProps, 'title' | 'value' | 'placeholder' | 'text'>,\n ContainerStyleProps {}\n\nexport const Card = forwardRef(function Card(props: CubeCardProps, ref) {\n const styles = extractStyles(props, CONTAINER_STYLES);\n\n return (\n <CardElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n />\n );\n});\n"],"mappings":";;;;;;;AAWA,MAAM,cAAc,MAAM;CACxB,MAAM;CACN,QAAQ;EACN,SAAS;EACT,MAAM;EACN,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,SAAS;EACT,QAAQ;EACT;CACD,YAAY;CACb,CAAC;AAMF,MAAa,OAAO,WAAW,SAAS,KAAK,OAAsB,KAAK;CACtE,MAAM,SAAS,cAAc,OAAO,iBAAiB;AAErD,QACE,oBAAC;EACC,GAAI,gBAAgB,OAAO,EAAE,YAAY,MAAM,CAAC;EAC3C;EACG;GACR;EAEJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { useSlotProps } from "../../utils/react/Slots.js";
|
|
4
4
|
import { CONTAINER_STYLES, TEXT_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { useTimer } from "../../../_internal/hooks/use-timer/use-timer.js";
|
|
4
4
|
import { CopyIcon } from "../../../icons/CopyIcon.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { _Tooltip } from "../../overlays/Tooltip/Tooltip.js";
|
|
3
3
|
import { TooltipTrigger } from "../../overlays/Tooltip/TooltipTrigger.js";
|
|
4
4
|
import { CopyIcon } from "../../../icons/CopyIcon.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeRefs } from "../../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
|
|
@@ -39,7 +39,7 @@ const DisclosureRoot = tasty({
|
|
|
39
39
|
},
|
|
40
40
|
fill: {
|
|
41
41
|
"": false,
|
|
42
|
-
"shape=card": "#
|
|
42
|
+
"shape=card": "#white"
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Disclosure.js","names":["ItemButton","useId"],"sources":["../../../../src/components/content/Disclosure/Disclosure.tsx"],"sourcesContent":["import {\n BaseProps,\n BasePropsWithoutChildren,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n createContext,\n forwardRef,\n Key,\n ReactNode,\n RefObject,\n useContext,\n useMemo,\n useRef,\n} from 'react';\nimport { mergeProps, useDisclosure, useId } from 'react-aria';\nimport {\n DisclosureGroupState,\n DisclosureState,\n useDisclosureGroupState,\n useDisclosureState,\n} from 'react-stately';\n\nimport { RightIcon } from '../../../icons';\nimport { mergeRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { CubeItemButtonProps, ItemButton } from '../../actions/ItemButton';\nimport { DisplayTransition } from '../../helpers';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface DisclosureStateContext {\n isExpanded: boolean;\n toggle: () => void;\n expand: () => void;\n collapse: () => void;\n}\n\ninterface DisclosureContextValue {\n state: DisclosureState;\n buttonProps: Record<string, unknown>;\n panelProps: Record<string, unknown>;\n panelRef: RefObject<HTMLDivElement | null>;\n isDisabled: boolean;\n isExpanded: boolean;\n shape: 'default' | 'card' | 'sharp';\n transitionDuration?: number;\n triggerProps?: Partial<CubeItemButtonProps>;\n contentStyles?: Styles;\n}\n\ninterface DisclosureGroupContextValue {\n groupState: DisclosureGroupState;\n triggerProps?: Partial<CubeItemButtonProps>;\n contentStyles?: Styles;\n}\n\nexport interface CubeDisclosureProps\n extends BasePropsWithoutChildren,\n OuterStyleProps {\n /** Controls expanded state in controlled mode */\n isExpanded?: boolean;\n /** Initial expanded state in uncontrolled mode */\n defaultExpanded?: boolean;\n /** Callback fired when expanded state changes */\n onExpandedChange?: (isExpanded: boolean) => void;\n /** Disables trigger interactions and force-closes the content */\n isDisabled?: boolean;\n /** Render-prop alternative to achieve custom trigger markup */\n children?: ReactNode | ((state: DisclosureStateContext) => ReactNode);\n /** Visual shape variant */\n shape?: 'default' | 'card' | 'sharp';\n /** Duration for DisplayTransition animation in milliseconds */\n transitionDuration?: number;\n}\n\nexport interface CubeDisclosureTriggerProps\n extends Omit<CubeItemButtonProps, 'onPress' | 'isDisabled'> {\n /** Children content for the trigger */\n children?: ReactNode;\n}\n\nexport interface CubeDisclosureContentProps extends BaseProps {\n /** Children content for the panel */\n children?: ReactNode;\n}\n\nexport interface CubeDisclosureGroupProps extends BaseProps, OuterStyleProps {\n /** Allow more than one disclosure to be open */\n allowsMultipleExpanded?: boolean;\n /** Controlled expanded keys */\n expandedKeys?: Iterable<Key>;\n /** Uncontrolled default expanded keys */\n defaultExpandedKeys?: Iterable<Key>;\n /** Change handler providing the full expanded keys Set */\n onExpandedChange?: (keys: Set<Key>) => void;\n /** Disable all disclosures within group and force-close their content */\n isDisabled?: boolean;\n /** Props forwarded to all ItemButton triggers in the group */\n triggerProps?: Partial<CubeItemButtonProps>;\n /** Optional panel styles applied to all Content panels in the group */\n contentStyles?: Styles;\n children: ReactNode;\n}\n\nexport interface CubeDisclosureItemProps\n extends Omit<BasePropsWithoutChildren, 'id'>,\n OuterStyleProps {\n /** Unique identifier for the disclosure item in a group */\n id?: Key;\n /** Children content */\n children?: ReactNode;\n /** Disables trigger interactions and force-closes the content */\n isDisabled?: boolean;\n /** Controls expanded state in controlled mode */\n isExpanded?: boolean;\n /** Initial expanded state in uncontrolled mode */\n defaultExpanded?: boolean;\n /** Callback fired when expanded state changes */\n onExpandedChange?: (isExpanded: boolean) => void;\n /** Visual shape variant */\n shape?: 'default' | 'card' | 'sharp';\n}\n\n// ============================================================================\n// Contexts\n// ============================================================================\n\nconst DisclosureContext = createContext<DisclosureContextValue | null>(null);\nconst DisclosureGroupContext =\n createContext<DisclosureGroupContextValue | null>(null);\n\nfunction useDisclosureContext(): DisclosureContextValue {\n const context = useContext(DisclosureContext);\n\n if (!context) {\n throw new Error(\n 'Disclosure.Trigger and Disclosure.Content must be used within a Disclosure',\n );\n }\n\n return context;\n}\n\nfunction useDisclosureGroupContext(): DisclosureGroupContextValue | null {\n return useContext(DisclosureGroupContext);\n}\n\n// ============================================================================\n// Styled Components\n// ============================================================================\n\nconst DisclosureRoot = tasty({\n qa: 'Disclosure',\n styles: {\n display: 'flex',\n flow: 'column',\n gap: 0,\n position: 'relative',\n border: {\n '': 'none',\n 'shape=card': '1bw solid #border',\n },\n radius: {\n '': '1r',\n 'shape=card': '1cr',\n 'shape=sharp': '0',\n },\n fill: {\n '': false,\n 'shape=card': '#surface',\n },\n },\n});\n\nconst ContentWrapperElement = tasty({\n qa: 'DisclosureContentWrapper',\n styles: {\n display: 'block',\n overflow: 'hidden',\n interpolateSize: 'allow-keywords',\n height: {\n '': 0,\n shown: 'max-content',\n },\n transition: 'height $disclosure-transition',\n },\n});\n\nconst ContentElement = tasty({\n qa: 'DisclosureContent',\n styles: {\n display: 'block',\n flow: 'column',\n contentVisibility: 'auto',\n },\n});\n\nconst GroupRoot = tasty({\n qa: 'DisclosureGroup',\n styles: {\n display: 'flex',\n flow: 'column',\n gap: '0',\n },\n});\n\nconst TriggerIcon = tasty(RightIcon, {\n styles: {\n transition: 'rotate',\n rotate: {\n '': '0deg',\n expanded: '90deg',\n },\n },\n});\n\nconst StyledTrigger = tasty(ItemButton, {\n qa: 'DisclosureTrigger',\n type: 'header',\n styles: {\n radius: {\n '': '1r',\n 'expanded & shape=card': '(1cr - 1bw) (1cr - 1bw) 0 0',\n 'shape=sharp': '0',\n },\n border: '#clear',\n },\n});\n\n// ============================================================================\n// Disclosure Component\n// ============================================================================\n\nconst DisclosureComponent = forwardRef<HTMLDivElement, CubeDisclosureProps>(\n function Disclosure(props, ref) {\n const {\n isExpanded: controlledIsExpanded,\n defaultExpanded,\n onExpandedChange,\n isDisabled = false,\n children,\n shape = 'default',\n transitionDuration,\n qa,\n mods,\n ...otherProps\n } = props;\n\n const groupContext = useDisclosureGroupContext();\n const panelRef = useRef<HTMLDivElement>(null);\n\n // When disabled, force expanded to false\n const effectiveIsExpanded = isDisabled ? false : controlledIsExpanded;\n\n const state = useDisclosureState({\n isExpanded: effectiveIsExpanded,\n defaultExpanded: isDisabled ? false : defaultExpanded,\n onExpandedChange: isDisabled ? undefined : onExpandedChange,\n });\n\n // When disabled, override state.isExpanded to false\n const isExpanded = isDisabled ? false : state.isExpanded;\n\n const { buttonProps, panelProps } = useDisclosure(\n {\n isExpanded,\n isDisabled,\n },\n state,\n panelRef,\n );\n\n const contextValue = useMemo<DisclosureContextValue>(\n () => ({\n state,\n buttonProps,\n panelProps,\n panelRef,\n isDisabled,\n isExpanded,\n shape,\n transitionDuration,\n triggerProps: groupContext?.triggerProps,\n contentStyles: groupContext?.contentStyles,\n }),\n [\n state,\n buttonProps,\n panelProps,\n isDisabled,\n isExpanded,\n shape,\n transitionDuration,\n groupContext?.triggerProps,\n groupContext?.contentStyles,\n ],\n );\n\n const stateContext = useMemo<DisclosureStateContext>(\n () => ({\n isExpanded,\n toggle: state.toggle,\n expand: state.expand,\n collapse: state.collapse,\n }),\n [isExpanded, state.toggle, state.expand, state.collapse],\n );\n\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n\n const finalMods = useMemo(\n () => ({\n expanded: isExpanded,\n disabled: isDisabled,\n shape,\n ...mods,\n }),\n [isExpanded, isDisabled, shape, mods],\n );\n\n const content =\n typeof children === 'function' ? children(stateContext) : children;\n\n return (\n <DisclosureContext.Provider value={contextValue}>\n <DisclosureRoot ref={ref} qa={qa} mods={finalMods} styles={outerStyles}>\n {content}\n </DisclosureRoot>\n </DisclosureContext.Provider>\n );\n },\n);\n\n// ============================================================================\n// Disclosure.Trigger Component\n// ============================================================================\n\nconst DisclosureTrigger = forwardRef<\n HTMLButtonElement,\n CubeDisclosureTriggerProps\n>(function DisclosureTrigger(props, ref) {\n const { children, icon, mods, ...otherProps } = props;\n const context = useDisclosureContext();\n const { buttonProps, isDisabled, isExpanded, shape, triggerProps } = context;\n\n const finalMods = useMemo(\n () => ({\n expanded: isExpanded,\n disabled: isDisabled,\n shape,\n selected: false,\n ...mods,\n }),\n [isExpanded, isDisabled, shape, mods],\n );\n\n // Default icon is a rotating chevron\n const defaultIcon = <TriggerIcon mods={{ expanded: isExpanded }} />;\n\n return (\n <StyledTrigger\n ref={ref}\n icon={icon ?? defaultIcon}\n isDisabled={isDisabled}\n isSelected={isExpanded}\n {...triggerProps}\n {...(mergeProps(otherProps, buttonProps as any) as any)}\n mods={finalMods}\n >\n {children}\n </StyledTrigger>\n );\n});\n\n// ============================================================================\n// Disclosure.Content Component\n// ============================================================================\n\nconst DisclosureContent = forwardRef<\n HTMLDivElement,\n CubeDisclosureContentProps\n>(function DisclosureContent(props, ref) {\n const { children, styles, mods, ...otherProps } = props;\n const context = useDisclosureContext();\n const {\n panelProps,\n panelRef,\n isExpanded,\n transitionDuration,\n contentStyles,\n } = context;\n\n const mergedStyles = useMemo<Styles>(\n () => ({\n ...contentStyles,\n ...styles,\n }),\n [contentStyles, styles],\n );\n\n // Filter out hidden attribute from panelProps since we manage visibility via CSS height animation\n const { hidden, ...filteredPanelProps } = panelProps as Record<\n string,\n unknown\n >;\n\n return (\n <DisplayTransition\n isShown={isExpanded}\n duration={transitionDuration}\n animateOnMount={false}\n >\n {({ phase, isShown, ref: transitionRef }) => (\n <ContentWrapperElement\n ref={transitionRef}\n mods={{ shown: isShown, phase }}\n tokens={\n transitionDuration != null\n ? { '$disclosure-transition': `${transitionDuration}ms` }\n : undefined\n }\n >\n <ContentElement\n ref={mergeRefs(ref, panelRef)}\n mods={mods}\n styles={mergedStyles}\n {...filteredPanelProps}\n {...otherProps}\n >\n {children}\n </ContentElement>\n </ContentWrapperElement>\n )}\n </DisplayTransition>\n );\n});\n\n// ============================================================================\n// Disclosure.Group Component\n// ============================================================================\n\nconst DisclosureGroup = forwardRef<HTMLDivElement, CubeDisclosureGroupProps>(\n function DisclosureGroup(props, ref) {\n const {\n allowsMultipleExpanded = false,\n expandedKeys,\n defaultExpandedKeys,\n onExpandedChange,\n isDisabled = false,\n triggerProps,\n contentStyles,\n children,\n qa,\n mods,\n styles,\n ...otherProps\n } = props;\n\n const groupState = useDisclosureGroupState({\n allowsMultipleExpanded,\n expandedKeys,\n defaultExpandedKeys,\n onExpandedChange,\n isDisabled,\n });\n\n const contextValue = useMemo<DisclosureGroupContextValue>(\n () => ({\n groupState,\n triggerProps,\n contentStyles,\n }),\n [groupState, triggerProps, contentStyles],\n );\n\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n\n const finalStyles = useMemo<Styles>(\n () => ({\n ...outerStyles,\n ...styles,\n }),\n [outerStyles, styles],\n );\n\n return (\n <DisclosureGroupContext.Provider value={contextValue}>\n <GroupRoot ref={ref} qa={qa} mods={mods} styles={finalStyles}>\n {children}\n </GroupRoot>\n </DisclosureGroupContext.Provider>\n );\n },\n);\n\n// ============================================================================\n// Disclosure.Item Component\n// ============================================================================\n\nconst DisclosureItem = forwardRef<HTMLDivElement, CubeDisclosureItemProps>(\n function DisclosureItem(props, ref) {\n const {\n id: providedId,\n children,\n isDisabled: itemDisabled = false,\n isExpanded: controlledIsExpanded,\n defaultExpanded,\n onExpandedChange,\n shape = 'default',\n qa,\n mods,\n styles,\n ...otherProps\n } = props;\n\n const defaultId = useId();\n const id = providedId ?? defaultId;\n\n const groupContext = useDisclosureGroupContext();\n const panelRef = useRef<HTMLDivElement>(null);\n\n // Determine if disabled from group or item\n const isDisabled =\n itemDisabled || groupContext?.groupState?.isDisabled || false;\n\n // Determine expanded state from group or local props\n const groupIsExpanded = groupContext\n ? groupContext.groupState.expandedKeys.has(id)\n : undefined;\n\n // When disabled, force expanded to false\n const effectiveIsExpanded = isDisabled\n ? false\n : groupIsExpanded ?? controlledIsExpanded;\n\n const state = useDisclosureState({\n isExpanded: effectiveIsExpanded,\n defaultExpanded: isDisabled ? false : defaultExpanded,\n onExpandedChange(expanded) {\n if (isDisabled) return;\n\n if (groupContext) {\n groupContext.groupState.toggleKey(id);\n }\n onExpandedChange?.(expanded);\n },\n });\n\n // When disabled, override state.isExpanded to false\n const isExpanded = isDisabled ? false : state.isExpanded;\n\n const { buttonProps, panelProps } = useDisclosure(\n {\n isExpanded,\n isDisabled,\n },\n state,\n panelRef,\n );\n\n const contextValue = useMemo<DisclosureContextValue>(\n () => ({\n state,\n buttonProps,\n panelProps,\n panelRef,\n isDisabled,\n isExpanded,\n shape,\n transitionDuration: undefined,\n triggerProps: groupContext?.triggerProps,\n contentStyles: groupContext?.contentStyles,\n }),\n [\n state,\n buttonProps,\n panelProps,\n isDisabled,\n isExpanded,\n shape,\n groupContext?.triggerProps,\n groupContext?.contentStyles,\n ],\n );\n\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n\n const finalStyles = useMemo<Styles>(\n () => ({\n ...outerStyles,\n ...styles,\n }),\n [outerStyles, styles],\n );\n\n const finalMods = useMemo(\n () => ({\n expanded: isExpanded,\n disabled: isDisabled,\n shape,\n ...mods,\n }),\n [isExpanded, isDisabled, shape, mods],\n );\n\n return (\n <DisclosureContext.Provider value={contextValue}>\n <DisclosureRoot\n ref={ref}\n qa={qa}\n mods={finalMods}\n styles={finalStyles}\n data-key={id}\n >\n {children}\n </DisclosureRoot>\n </DisclosureContext.Provider>\n );\n },\n);\n\n// ============================================================================\n// Compound Component Export\n// ============================================================================\n\nconst _Disclosure = Object.assign(DisclosureComponent, {\n Trigger: DisclosureTrigger,\n Content: DisclosureContent,\n Group: DisclosureGroup,\n Item: DisclosureItem,\n});\n\nexport { _Disclosure as Disclosure };\nexport type {\n CubeDisclosureProps as DisclosureProps,\n CubeDisclosureTriggerProps as DisclosureTriggerProps,\n CubeDisclosureContentProps as DisclosureContentProps,\n CubeDisclosureGroupProps as DisclosureGroupProps,\n CubeDisclosureItemProps as DisclosureItemProps,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Disclosure.js","names":["ItemButton","useId"],"sources":["../../../../src/components/content/Disclosure/Disclosure.tsx"],"sourcesContent":["import {\n BaseProps,\n BasePropsWithoutChildren,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n createContext,\n forwardRef,\n Key,\n ReactNode,\n RefObject,\n useContext,\n useMemo,\n useRef,\n} from 'react';\nimport { mergeProps, useDisclosure, useId } from 'react-aria';\nimport {\n DisclosureGroupState,\n DisclosureState,\n useDisclosureGroupState,\n useDisclosureState,\n} from 'react-stately';\n\nimport { RightIcon } from '../../../icons';\nimport { mergeRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { CubeItemButtonProps, ItemButton } from '../../actions/ItemButton';\nimport { DisplayTransition } from '../../helpers';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface DisclosureStateContext {\n isExpanded: boolean;\n toggle: () => void;\n expand: () => void;\n collapse: () => void;\n}\n\ninterface DisclosureContextValue {\n state: DisclosureState;\n buttonProps: Record<string, unknown>;\n panelProps: Record<string, unknown>;\n panelRef: RefObject<HTMLDivElement | null>;\n isDisabled: boolean;\n isExpanded: boolean;\n shape: 'default' | 'card' | 'sharp';\n transitionDuration?: number;\n triggerProps?: Partial<CubeItemButtonProps>;\n contentStyles?: Styles;\n}\n\ninterface DisclosureGroupContextValue {\n groupState: DisclosureGroupState;\n triggerProps?: Partial<CubeItemButtonProps>;\n contentStyles?: Styles;\n}\n\nexport interface CubeDisclosureProps\n extends BasePropsWithoutChildren,\n OuterStyleProps {\n /** Controls expanded state in controlled mode */\n isExpanded?: boolean;\n /** Initial expanded state in uncontrolled mode */\n defaultExpanded?: boolean;\n /** Callback fired when expanded state changes */\n onExpandedChange?: (isExpanded: boolean) => void;\n /** Disables trigger interactions and force-closes the content */\n isDisabled?: boolean;\n /** Render-prop alternative to achieve custom trigger markup */\n children?: ReactNode | ((state: DisclosureStateContext) => ReactNode);\n /** Visual shape variant */\n shape?: 'default' | 'card' | 'sharp';\n /** Duration for DisplayTransition animation in milliseconds */\n transitionDuration?: number;\n}\n\nexport interface CubeDisclosureTriggerProps\n extends Omit<CubeItemButtonProps, 'onPress' | 'isDisabled'> {\n /** Children content for the trigger */\n children?: ReactNode;\n}\n\nexport interface CubeDisclosureContentProps extends BaseProps {\n /** Children content for the panel */\n children?: ReactNode;\n}\n\nexport interface CubeDisclosureGroupProps extends BaseProps, OuterStyleProps {\n /** Allow more than one disclosure to be open */\n allowsMultipleExpanded?: boolean;\n /** Controlled expanded keys */\n expandedKeys?: Iterable<Key>;\n /** Uncontrolled default expanded keys */\n defaultExpandedKeys?: Iterable<Key>;\n /** Change handler providing the full expanded keys Set */\n onExpandedChange?: (keys: Set<Key>) => void;\n /** Disable all disclosures within group and force-close their content */\n isDisabled?: boolean;\n /** Props forwarded to all ItemButton triggers in the group */\n triggerProps?: Partial<CubeItemButtonProps>;\n /** Optional panel styles applied to all Content panels in the group */\n contentStyles?: Styles;\n children: ReactNode;\n}\n\nexport interface CubeDisclosureItemProps\n extends Omit<BasePropsWithoutChildren, 'id'>,\n OuterStyleProps {\n /** Unique identifier for the disclosure item in a group */\n id?: Key;\n /** Children content */\n children?: ReactNode;\n /** Disables trigger interactions and force-closes the content */\n isDisabled?: boolean;\n /** Controls expanded state in controlled mode */\n isExpanded?: boolean;\n /** Initial expanded state in uncontrolled mode */\n defaultExpanded?: boolean;\n /** Callback fired when expanded state changes */\n onExpandedChange?: (isExpanded: boolean) => void;\n /** Visual shape variant */\n shape?: 'default' | 'card' | 'sharp';\n}\n\n// ============================================================================\n// Contexts\n// ============================================================================\n\nconst DisclosureContext = createContext<DisclosureContextValue | null>(null);\nconst DisclosureGroupContext =\n createContext<DisclosureGroupContextValue | null>(null);\n\nfunction useDisclosureContext(): DisclosureContextValue {\n const context = useContext(DisclosureContext);\n\n if (!context) {\n throw new Error(\n 'Disclosure.Trigger and Disclosure.Content must be used within a Disclosure',\n );\n }\n\n return context;\n}\n\nfunction useDisclosureGroupContext(): DisclosureGroupContextValue | null {\n return useContext(DisclosureGroupContext);\n}\n\n// ============================================================================\n// Styled Components\n// ============================================================================\n\nconst DisclosureRoot = tasty({\n qa: 'Disclosure',\n styles: {\n display: 'flex',\n flow: 'column',\n gap: 0,\n position: 'relative',\n border: {\n '': 'none',\n 'shape=card': '1bw solid #border',\n },\n radius: {\n '': '1r',\n 'shape=card': '1cr',\n 'shape=sharp': '0',\n },\n fill: {\n '': false,\n 'shape=card': '#white',\n },\n },\n});\n\nconst ContentWrapperElement = tasty({\n qa: 'DisclosureContentWrapper',\n styles: {\n display: 'block',\n overflow: 'hidden',\n interpolateSize: 'allow-keywords',\n height: {\n '': 0,\n shown: 'max-content',\n },\n transition: 'height $disclosure-transition',\n },\n});\n\nconst ContentElement = tasty({\n qa: 'DisclosureContent',\n styles: {\n display: 'block',\n flow: 'column',\n contentVisibility: 'auto',\n },\n});\n\nconst GroupRoot = tasty({\n qa: 'DisclosureGroup',\n styles: {\n display: 'flex',\n flow: 'column',\n gap: '0',\n },\n});\n\nconst TriggerIcon = tasty(RightIcon, {\n styles: {\n transition: 'rotate',\n rotate: {\n '': '0deg',\n expanded: '90deg',\n },\n },\n});\n\nconst StyledTrigger = tasty(ItemButton, {\n qa: 'DisclosureTrigger',\n type: 'header',\n styles: {\n radius: {\n '': '1r',\n 'expanded & shape=card': '(1cr - 1bw) (1cr - 1bw) 0 0',\n 'shape=sharp': '0',\n },\n border: '#clear',\n },\n});\n\n// ============================================================================\n// Disclosure Component\n// ============================================================================\n\nconst DisclosureComponent = forwardRef<HTMLDivElement, CubeDisclosureProps>(\n function Disclosure(props, ref) {\n const {\n isExpanded: controlledIsExpanded,\n defaultExpanded,\n onExpandedChange,\n isDisabled = false,\n children,\n shape = 'default',\n transitionDuration,\n qa,\n mods,\n ...otherProps\n } = props;\n\n const groupContext = useDisclosureGroupContext();\n const panelRef = useRef<HTMLDivElement>(null);\n\n // When disabled, force expanded to false\n const effectiveIsExpanded = isDisabled ? false : controlledIsExpanded;\n\n const state = useDisclosureState({\n isExpanded: effectiveIsExpanded,\n defaultExpanded: isDisabled ? false : defaultExpanded,\n onExpandedChange: isDisabled ? undefined : onExpandedChange,\n });\n\n // When disabled, override state.isExpanded to false\n const isExpanded = isDisabled ? false : state.isExpanded;\n\n const { buttonProps, panelProps } = useDisclosure(\n {\n isExpanded,\n isDisabled,\n },\n state,\n panelRef,\n );\n\n const contextValue = useMemo<DisclosureContextValue>(\n () => ({\n state,\n buttonProps,\n panelProps,\n panelRef,\n isDisabled,\n isExpanded,\n shape,\n transitionDuration,\n triggerProps: groupContext?.triggerProps,\n contentStyles: groupContext?.contentStyles,\n }),\n [\n state,\n buttonProps,\n panelProps,\n isDisabled,\n isExpanded,\n shape,\n transitionDuration,\n groupContext?.triggerProps,\n groupContext?.contentStyles,\n ],\n );\n\n const stateContext = useMemo<DisclosureStateContext>(\n () => ({\n isExpanded,\n toggle: state.toggle,\n expand: state.expand,\n collapse: state.collapse,\n }),\n [isExpanded, state.toggle, state.expand, state.collapse],\n );\n\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n\n const finalMods = useMemo(\n () => ({\n expanded: isExpanded,\n disabled: isDisabled,\n shape,\n ...mods,\n }),\n [isExpanded, isDisabled, shape, mods],\n );\n\n const content =\n typeof children === 'function' ? children(stateContext) : children;\n\n return (\n <DisclosureContext.Provider value={contextValue}>\n <DisclosureRoot ref={ref} qa={qa} mods={finalMods} styles={outerStyles}>\n {content}\n </DisclosureRoot>\n </DisclosureContext.Provider>\n );\n },\n);\n\n// ============================================================================\n// Disclosure.Trigger Component\n// ============================================================================\n\nconst DisclosureTrigger = forwardRef<\n HTMLButtonElement,\n CubeDisclosureTriggerProps\n>(function DisclosureTrigger(props, ref) {\n const { children, icon, mods, ...otherProps } = props;\n const context = useDisclosureContext();\n const { buttonProps, isDisabled, isExpanded, shape, triggerProps } = context;\n\n const finalMods = useMemo(\n () => ({\n expanded: isExpanded,\n disabled: isDisabled,\n shape,\n selected: false,\n ...mods,\n }),\n [isExpanded, isDisabled, shape, mods],\n );\n\n // Default icon is a rotating chevron\n const defaultIcon = <TriggerIcon mods={{ expanded: isExpanded }} />;\n\n return (\n <StyledTrigger\n ref={ref}\n icon={icon ?? defaultIcon}\n isDisabled={isDisabled}\n isSelected={isExpanded}\n {...triggerProps}\n {...(mergeProps(otherProps, buttonProps as any) as any)}\n mods={finalMods}\n >\n {children}\n </StyledTrigger>\n );\n});\n\n// ============================================================================\n// Disclosure.Content Component\n// ============================================================================\n\nconst DisclosureContent = forwardRef<\n HTMLDivElement,\n CubeDisclosureContentProps\n>(function DisclosureContent(props, ref) {\n const { children, styles, mods, ...otherProps } = props;\n const context = useDisclosureContext();\n const {\n panelProps,\n panelRef,\n isExpanded,\n transitionDuration,\n contentStyles,\n } = context;\n\n const mergedStyles = useMemo<Styles>(\n () => ({\n ...contentStyles,\n ...styles,\n }),\n [contentStyles, styles],\n );\n\n // Filter out hidden attribute from panelProps since we manage visibility via CSS height animation\n const { hidden, ...filteredPanelProps } = panelProps as Record<\n string,\n unknown\n >;\n\n return (\n <DisplayTransition\n isShown={isExpanded}\n duration={transitionDuration}\n animateOnMount={false}\n >\n {({ phase, isShown, ref: transitionRef }) => (\n <ContentWrapperElement\n ref={transitionRef}\n mods={{ shown: isShown, phase }}\n tokens={\n transitionDuration != null\n ? { '$disclosure-transition': `${transitionDuration}ms` }\n : undefined\n }\n >\n <ContentElement\n ref={mergeRefs(ref, panelRef)}\n mods={mods}\n styles={mergedStyles}\n {...filteredPanelProps}\n {...otherProps}\n >\n {children}\n </ContentElement>\n </ContentWrapperElement>\n )}\n </DisplayTransition>\n );\n});\n\n// ============================================================================\n// Disclosure.Group Component\n// ============================================================================\n\nconst DisclosureGroup = forwardRef<HTMLDivElement, CubeDisclosureGroupProps>(\n function DisclosureGroup(props, ref) {\n const {\n allowsMultipleExpanded = false,\n expandedKeys,\n defaultExpandedKeys,\n onExpandedChange,\n isDisabled = false,\n triggerProps,\n contentStyles,\n children,\n qa,\n mods,\n styles,\n ...otherProps\n } = props;\n\n const groupState = useDisclosureGroupState({\n allowsMultipleExpanded,\n expandedKeys,\n defaultExpandedKeys,\n onExpandedChange,\n isDisabled,\n });\n\n const contextValue = useMemo<DisclosureGroupContextValue>(\n () => ({\n groupState,\n triggerProps,\n contentStyles,\n }),\n [groupState, triggerProps, contentStyles],\n );\n\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n\n const finalStyles = useMemo<Styles>(\n () => ({\n ...outerStyles,\n ...styles,\n }),\n [outerStyles, styles],\n );\n\n return (\n <DisclosureGroupContext.Provider value={contextValue}>\n <GroupRoot ref={ref} qa={qa} mods={mods} styles={finalStyles}>\n {children}\n </GroupRoot>\n </DisclosureGroupContext.Provider>\n );\n },\n);\n\n// ============================================================================\n// Disclosure.Item Component\n// ============================================================================\n\nconst DisclosureItem = forwardRef<HTMLDivElement, CubeDisclosureItemProps>(\n function DisclosureItem(props, ref) {\n const {\n id: providedId,\n children,\n isDisabled: itemDisabled = false,\n isExpanded: controlledIsExpanded,\n defaultExpanded,\n onExpandedChange,\n shape = 'default',\n qa,\n mods,\n styles,\n ...otherProps\n } = props;\n\n const defaultId = useId();\n const id = providedId ?? defaultId;\n\n const groupContext = useDisclosureGroupContext();\n const panelRef = useRef<HTMLDivElement>(null);\n\n // Determine if disabled from group or item\n const isDisabled =\n itemDisabled || groupContext?.groupState?.isDisabled || false;\n\n // Determine expanded state from group or local props\n const groupIsExpanded = groupContext\n ? groupContext.groupState.expandedKeys.has(id)\n : undefined;\n\n // When disabled, force expanded to false\n const effectiveIsExpanded = isDisabled\n ? false\n : groupIsExpanded ?? controlledIsExpanded;\n\n const state = useDisclosureState({\n isExpanded: effectiveIsExpanded,\n defaultExpanded: isDisabled ? false : defaultExpanded,\n onExpandedChange(expanded) {\n if (isDisabled) return;\n\n if (groupContext) {\n groupContext.groupState.toggleKey(id);\n }\n onExpandedChange?.(expanded);\n },\n });\n\n // When disabled, override state.isExpanded to false\n const isExpanded = isDisabled ? false : state.isExpanded;\n\n const { buttonProps, panelProps } = useDisclosure(\n {\n isExpanded,\n isDisabled,\n },\n state,\n panelRef,\n );\n\n const contextValue = useMemo<DisclosureContextValue>(\n () => ({\n state,\n buttonProps,\n panelProps,\n panelRef,\n isDisabled,\n isExpanded,\n shape,\n transitionDuration: undefined,\n triggerProps: groupContext?.triggerProps,\n contentStyles: groupContext?.contentStyles,\n }),\n [\n state,\n buttonProps,\n panelProps,\n isDisabled,\n isExpanded,\n shape,\n groupContext?.triggerProps,\n groupContext?.contentStyles,\n ],\n );\n\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n\n const finalStyles = useMemo<Styles>(\n () => ({\n ...outerStyles,\n ...styles,\n }),\n [outerStyles, styles],\n );\n\n const finalMods = useMemo(\n () => ({\n expanded: isExpanded,\n disabled: isDisabled,\n shape,\n ...mods,\n }),\n [isExpanded, isDisabled, shape, mods],\n );\n\n return (\n <DisclosureContext.Provider value={contextValue}>\n <DisclosureRoot\n ref={ref}\n qa={qa}\n mods={finalMods}\n styles={finalStyles}\n data-key={id}\n >\n {children}\n </DisclosureRoot>\n </DisclosureContext.Provider>\n );\n },\n);\n\n// ============================================================================\n// Compound Component Export\n// ============================================================================\n\nconst _Disclosure = Object.assign(DisclosureComponent, {\n Trigger: DisclosureTrigger,\n Content: DisclosureContent,\n Group: DisclosureGroup,\n Item: DisclosureItem,\n});\n\nexport { _Disclosure as Disclosure };\nexport type {\n CubeDisclosureProps as DisclosureProps,\n CubeDisclosureTriggerProps as DisclosureTriggerProps,\n CubeDisclosureContentProps as DisclosureContentProps,\n CubeDisclosureGroupProps as DisclosureGroupProps,\n CubeDisclosureItemProps as DisclosureItemProps,\n};\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { useSlotProps } from "../../utils/react/Slots.js";
|
|
3
3
|
import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
|
|
4
4
|
import { BASE_STYLES, COLOR_STYLES, OUTER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { useSlotProps } from "../../utils/react/Slots.js";
|
|
4
4
|
import { CONTAINER_STYLES, TEXT_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../utils/styles.js";
|
|
3
3
|
import { useSlotProps } from "../../utils/react/Slots.js";
|
|
4
4
|
import { CONTAINER_STYLES, TEXT_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { _Text } from "../Text.js";
|
|
4
4
|
import { useKeySymbols } from "../../../utils/react/useKeySymbols.js";
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
|
|
2
|
+
import { AutoTooltipValue } from "../use-auto-tooltip.js";
|
|
2
3
|
import { BaseProps, BlockStyleProps, ColorStyleProps, OuterStyleProps, Styles } from "@tenphi/tasty";
|
|
3
4
|
import * as react from "react";
|
|
4
5
|
import { ReactNode } from "react";
|
|
6
|
+
import { OverlayProps } from "react-aria";
|
|
5
7
|
|
|
6
8
|
//#region src/components/content/InlineInput/InlineInput.d.ts
|
|
7
9
|
type CubeInlineInputEditTrigger = 'dblclick' | 'click' | 'none';
|
|
@@ -35,6 +37,17 @@ interface CubeInlineInputProps extends BaseProps, BlockStyleProps, OuterStylePro
|
|
|
35
37
|
onCancel?: () => void;
|
|
36
38
|
/** How edit mode is activated from the display element. Default: `'dblclick'`. */
|
|
37
39
|
editTrigger?: CubeInlineInputEditTrigger;
|
|
40
|
+
/**
|
|
41
|
+
* When true (default) the display element is keyboard-focusable and
|
|
42
|
+
* responds to `Enter`, `F2` and `Space` by entering edit mode. Set to
|
|
43
|
+
* `false` when a host (e.g. an editable tab inside a button) already
|
|
44
|
+
* routes keyboard activation through `ref.startEditing()` — exposing the
|
|
45
|
+
* display element as a separate tab stop would create a nested keyboard
|
|
46
|
+
* focus inside the host.
|
|
47
|
+
*
|
|
48
|
+
* @default true
|
|
49
|
+
*/
|
|
50
|
+
keyboardActivation?: boolean;
|
|
38
51
|
/** Whether to submit when focus leaves the input. Default: `true`. */
|
|
39
52
|
submitOnBlur?: boolean;
|
|
40
53
|
/** Whether to trim the value on submit. Default: `true`. */
|
|
@@ -53,6 +66,18 @@ interface CubeInlineInputProps extends BaseProps, BlockStyleProps, OuterStylePro
|
|
|
53
66
|
'aria-label'?: string;
|
|
54
67
|
/** ARIA labelledby for the input. */
|
|
55
68
|
'aria-labelledby'?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Tooltip behaviour for the display value:
|
|
71
|
+
* - `true` (default): auto-tooltip — show the full value when the text is truncated.
|
|
72
|
+
* - `false`: never show a tooltip.
|
|
73
|
+
* - `string`: always show this tooltip text.
|
|
74
|
+
* - object: full `TooltipProvider` configuration (with optional `auto`).
|
|
75
|
+
*
|
|
76
|
+
* The tooltip is automatically suppressed while editing and when `renderDisplay` is used.
|
|
77
|
+
*/
|
|
78
|
+
tooltip?: AutoTooltipValue;
|
|
79
|
+
/** Default tooltip placement. @default 'top' */
|
|
80
|
+
tooltipPlacement?: OverlayProps['placement'];
|
|
56
81
|
/** Convenience prop for styling the `Input` sub-element. Merged into `styles.Input`. */
|
|
57
82
|
inputStyles?: Styles;
|
|
58
83
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-
|
|
1
|
+
/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ffc66c6 | Cube Dev Team */
|
|
2
2
|
import { extractStyles } from "../../../utils/styles.js";
|
|
3
3
|
import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
|
|
4
4
|
import { useEvent } from "../../../_internal/hooks/use-event.js";
|
|
5
|
+
import { useAutoTooltip } from "../use-auto-tooltip.js";
|
|
5
6
|
import { BLOCK_STYLES, COLOR_STYLES, OUTER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
|
|
6
7
|
import { forwardRef, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
7
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -12,9 +13,19 @@ import { useControlledState } from "@react-stately/utils";
|
|
|
12
13
|
const InlineInputRoot = tasty({
|
|
13
14
|
as: "span",
|
|
14
15
|
styles: {
|
|
15
|
-
display: "inline-
|
|
16
|
+
display: "inline-block",
|
|
16
17
|
verticalAlign: "baseline",
|
|
17
18
|
position: "relative",
|
|
19
|
+
maxWidth: "100%",
|
|
20
|
+
whiteSpace: {
|
|
21
|
+
"": "nowrap",
|
|
22
|
+
editing: "normal"
|
|
23
|
+
},
|
|
24
|
+
overflow: {
|
|
25
|
+
"": "hidden",
|
|
26
|
+
editing: "visible"
|
|
27
|
+
},
|
|
28
|
+
textOverflow: "ellipsis",
|
|
18
29
|
color: "inherit",
|
|
19
30
|
preset: "inherit",
|
|
20
31
|
cursor: {
|
|
@@ -63,7 +74,7 @@ const STYLE_PROPS = [
|
|
|
63
74
|
* works regardless of `editTrigger`.
|
|
64
75
|
*/
|
|
65
76
|
const InlineInput = forwardRef(function InlineInput(allProps, ref) {
|
|
66
|
-
const { value: valueProp, defaultValue, onChange, isEditing: isEditingProp, defaultIsEditing, onEditingChange, onSubmit, onCancel, editTrigger = "dblclick", submitOnBlur = true, trimOnSubmit = true, allowEmpty = false, isDisabled = false, isReadOnly = false, placeholder, renderDisplay, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, qa, qaVal, styles: stylesProp, inputStyles, mods: customMods, tokens: customTokens, ...otherProps } = allProps;
|
|
77
|
+
const { value: valueProp, defaultValue, onChange, isEditing: isEditingProp, defaultIsEditing, onEditingChange, onSubmit, onCancel, editTrigger = "dblclick", keyboardActivation = true, submitOnBlur = true, trimOnSubmit = true, allowEmpty = false, isDisabled = false, isReadOnly = false, placeholder, renderDisplay, tooltip = true, tooltipPlacement = "top", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, qa, qaVal, styles: stylesProp, inputStyles, mods: customMods, tokens: customTokens, ...otherProps } = allProps;
|
|
67
78
|
const isControlled = valueProp !== void 0;
|
|
68
79
|
const inputRef = useRef(null);
|
|
69
80
|
const measureRef = useRef(null);
|
|
@@ -76,7 +87,9 @@ const InlineInput = forwardRef(function InlineInput(allProps, ref) {
|
|
|
76
87
|
const [inputWidth, setInputWidth] = useState(null);
|
|
77
88
|
const submitTokenRef = useRef(0);
|
|
78
89
|
const isEditingRef = useRef(isEditing);
|
|
79
|
-
|
|
90
|
+
useLayoutEffect(() => {
|
|
91
|
+
isEditingRef.current = isEditing;
|
|
92
|
+
}, [isEditing]);
|
|
80
93
|
useEffect(() => {
|
|
81
94
|
setOptimisticValue(null);
|
|
82
95
|
}, [value]);
|
|
@@ -154,26 +167,31 @@ const InlineInput = forwardRef(function InlineInput(allProps, ref) {
|
|
|
154
167
|
}
|
|
155
168
|
});
|
|
156
169
|
const handleDblClick = useEvent((e) => {
|
|
157
|
-
if (editTrigger !== "dblclick") return;
|
|
158
170
|
e.preventDefault();
|
|
159
171
|
e.stopPropagation();
|
|
160
172
|
enterEditing();
|
|
161
173
|
});
|
|
162
174
|
const handleClick = useEvent((e) => {
|
|
163
|
-
if (editTrigger !== "click") return;
|
|
164
175
|
e.preventDefault();
|
|
165
176
|
e.stopPropagation();
|
|
166
177
|
enterEditing();
|
|
167
178
|
});
|
|
179
|
+
const handleRootKeyDown = useEvent((e) => {
|
|
180
|
+
if (e.key === "Enter" || e.key === "F2" || e.key === " ") {
|
|
181
|
+
e.preventDefault();
|
|
182
|
+
e.stopPropagation();
|
|
183
|
+
enterEditing();
|
|
184
|
+
}
|
|
185
|
+
});
|
|
168
186
|
useImperativeHandle(ref, () => ({
|
|
169
187
|
startEditing: () => enterEditing(),
|
|
170
188
|
stopEditing: (submit = true) => {
|
|
171
|
-
if (!
|
|
189
|
+
if (!isEditingRef.current) return;
|
|
172
190
|
if (submit) commit(draft);
|
|
173
191
|
else cancel();
|
|
174
192
|
},
|
|
175
193
|
focus: () => {
|
|
176
|
-
if (
|
|
194
|
+
if (isEditingRef.current) inputRef.current?.focus();
|
|
177
195
|
else rootRef.current?.focus();
|
|
178
196
|
},
|
|
179
197
|
getValue: () => displayedValue
|
|
@@ -182,8 +200,7 @@ const InlineInput = forwardRef(function InlineInput(allProps, ref) {
|
|
|
182
200
|
commit,
|
|
183
201
|
cancel,
|
|
184
202
|
draft,
|
|
185
|
-
displayedValue
|
|
186
|
-
isEditing
|
|
203
|
+
displayedValue
|
|
187
204
|
]);
|
|
188
205
|
const isEditable = editTrigger !== "none" && !isDisabled && !isReadOnly;
|
|
189
206
|
const mods = useMemo(() => ({
|
|
@@ -222,41 +239,68 @@ const InlineInput = forwardRef(function InlineInput(allProps, ref) {
|
|
|
222
239
|
children: placeholder
|
|
223
240
|
}) : "");
|
|
224
241
|
const baseProps = filterBaseProps(otherProps, { eventProps: true });
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
qaVal,
|
|
229
|
-
mods,
|
|
230
|
-
tokens,
|
|
231
|
-
styles: extractedStyles,
|
|
232
|
-
...mergeProps$1(baseProps, focusWithinProps, {
|
|
233
|
-
onDoubleClick: isEditing ? void 0 : handleDblClick,
|
|
234
|
-
onClick: isEditing ? void 0 : handleClick
|
|
235
|
-
}),
|
|
236
|
-
children: isEditing ? /* @__PURE__ */ jsxs(FocusScope, {
|
|
237
|
-
autoFocus: true,
|
|
238
|
-
restoreFocus: false,
|
|
239
|
-
contain: false,
|
|
240
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
241
|
-
ref: measureRef,
|
|
242
|
-
"data-element": "Measure",
|
|
243
|
-
"aria-hidden": "true",
|
|
244
|
-
children: draft || placeholder || " "
|
|
245
|
-
}), /* @__PURE__ */ jsx("input", {
|
|
246
|
-
ref: inputRef,
|
|
247
|
-
"data-element": "Input",
|
|
248
|
-
type: "text",
|
|
249
|
-
value: draft,
|
|
250
|
-
placeholder,
|
|
251
|
-
disabled: isDisabled,
|
|
252
|
-
readOnly: isReadOnly,
|
|
253
|
-
"aria-label": ariaLabel,
|
|
254
|
-
"aria-labelledby": ariaLabelledby,
|
|
255
|
-
onChange: handleInputChange,
|
|
256
|
-
onKeyDown: handleKeyDown
|
|
257
|
-
})]
|
|
258
|
-
}) : displayContent
|
|
242
|
+
const { labelRef: tooltipLabelRef, renderWithTooltip } = useAutoTooltip({
|
|
243
|
+
tooltip: isEditing || renderDisplay ? false : tooltip,
|
|
244
|
+
children: displayedValue
|
|
259
245
|
});
|
|
246
|
+
const wantsClick = !isEditing && isEditable && editTrigger === "click";
|
|
247
|
+
const wantsDblClick = !isEditing && isEditable && editTrigger === "dblclick";
|
|
248
|
+
const wantsKeyboard = !isEditing && isEditable && keyboardActivation;
|
|
249
|
+
const renderRoot = (triggerProps, tooltipRef) => {
|
|
250
|
+
const handleRootRef = (element) => {
|
|
251
|
+
rootRef.current = element;
|
|
252
|
+
if (tooltipRef) tooltipRef.current = element;
|
|
253
|
+
tooltipLabelRef(element);
|
|
254
|
+
};
|
|
255
|
+
const a11yProps = {};
|
|
256
|
+
if (wantsKeyboard) {
|
|
257
|
+
a11yProps.tabIndex = 0;
|
|
258
|
+
a11yProps.role = "button";
|
|
259
|
+
a11yProps["aria-roledescription"] = "editable text";
|
|
260
|
+
if (ariaLabel) a11yProps["aria-label"] = ariaLabel;
|
|
261
|
+
if (ariaLabelledby) a11yProps["aria-labelledby"] = ariaLabelledby;
|
|
262
|
+
}
|
|
263
|
+
if (isDisabled) a11yProps["aria-disabled"] = true;
|
|
264
|
+
if (isReadOnly) a11yProps["aria-readonly"] = true;
|
|
265
|
+
return /* @__PURE__ */ jsx(InlineInputRoot, {
|
|
266
|
+
ref: handleRootRef,
|
|
267
|
+
qa: qa ?? "InlineInput",
|
|
268
|
+
qaVal,
|
|
269
|
+
mods,
|
|
270
|
+
tokens,
|
|
271
|
+
styles: extractedStyles,
|
|
272
|
+
...mergeProps$1(baseProps, focusWithinProps, triggerProps ?? {}, {
|
|
273
|
+
onDoubleClick: wantsDblClick ? handleDblClick : void 0,
|
|
274
|
+
onClick: wantsClick ? handleClick : void 0,
|
|
275
|
+
onKeyDown: wantsKeyboard ? handleRootKeyDown : void 0,
|
|
276
|
+
...a11yProps
|
|
277
|
+
}),
|
|
278
|
+
children: isEditing ? /* @__PURE__ */ jsxs(FocusScope, {
|
|
279
|
+
autoFocus: true,
|
|
280
|
+
restoreFocus: false,
|
|
281
|
+
contain: false,
|
|
282
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
283
|
+
ref: measureRef,
|
|
284
|
+
"data-element": "Measure",
|
|
285
|
+
"aria-hidden": "true",
|
|
286
|
+
children: draft || placeholder || " "
|
|
287
|
+
}), /* @__PURE__ */ jsx("input", {
|
|
288
|
+
ref: inputRef,
|
|
289
|
+
"data-element": "Input",
|
|
290
|
+
type: "text",
|
|
291
|
+
value: draft,
|
|
292
|
+
placeholder,
|
|
293
|
+
disabled: isDisabled,
|
|
294
|
+
readOnly: isReadOnly,
|
|
295
|
+
"aria-label": ariaLabel,
|
|
296
|
+
"aria-labelledby": ariaLabelledby,
|
|
297
|
+
onChange: handleInputChange,
|
|
298
|
+
onKeyDown: handleKeyDown
|
|
299
|
+
})]
|
|
300
|
+
}) : displayContent
|
|
301
|
+
});
|
|
302
|
+
};
|
|
303
|
+
return renderWithTooltip(renderRoot, tooltipPlacement);
|
|
260
304
|
});
|
|
261
305
|
|
|
262
306
|
//#endregion
|