@cube-dev/ui-kit 0.121.0 → 0.121.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CHANGELOG.md +6 -0
- package/dist/_internal/hooks/use-chained-callback.js +1 -1
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.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 +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/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 +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/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- 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/ComboBox/ComboBox.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/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 +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/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 +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +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.d.ts +8 -2
- package/dist/components/fields/Select/Select.js +1 -1
- 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 +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/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 +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/EditableTitle.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/styled.js +1 -1
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/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 +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/OpenTransition.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/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/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/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.js +1 -1
- package/dist/tokens/index.js +1 -1
- package/dist/tokens/layout.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/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/useQaProps.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.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/BaseProperties.md +78 -0
- package/docs/ComplexLayout.md +459 -0
- package/docs/CreateComponent.md +410 -0
- package/docs/FieldProperties.md +117 -0
- package/docs/Introduction.md +122 -0
- package/docs/RenderCache.md +177 -0
- package/docs/Result.md +42 -0
- package/docs/SimpleLayout.md +26 -0
- package/docs/Typography.md +38 -0
- package/docs/components/Block.md +33 -0
- package/docs/components/CollectionItem.md +293 -0
- package/docs/components/GridProvider.md +38 -0
- package/docs/components/Root.md +50 -0
- package/docs/components/actions/Action.md +47 -0
- package/docs/components/actions/Banner.md +195 -0
- package/docs/components/actions/Button.md +209 -0
- package/docs/components/actions/ButtonGroup.md +46 -0
- package/docs/components/actions/ButtonSplit.md +199 -0
- package/docs/components/actions/CommandMenu.md +422 -0
- package/docs/components/actions/ItemAction.md +60 -0
- package/docs/components/actions/ItemButton.md +316 -0
- package/docs/components/actions/Link.md +325 -0
- package/docs/components/actions/Menu.md +485 -0
- package/docs/components/actions/MenuTrigger.md +47 -0
- package/docs/components/actions/SubMenuTrigger.md +38 -0
- package/docs/components/actions/use-anchored-menu.md +209 -0
- package/docs/components/actions/use-context-menu.md +218 -0
- package/docs/components/content/ActiveZone.md +37 -0
- package/docs/components/content/Alert.md +40 -0
- package/docs/components/content/Avatar.md +37 -0
- package/docs/components/content/Badge.md +194 -0
- package/docs/components/content/Card.md +40 -0
- package/docs/components/content/Content.md +44 -0
- package/docs/components/content/CopyPasteBlock.md +36 -0
- package/docs/components/content/CopySnippet.md +43 -0
- package/docs/components/content/Disclosure.md +181 -0
- package/docs/components/content/Divider.md +39 -0
- package/docs/components/content/Footer.md +35 -0
- package/docs/components/content/Header.md +35 -0
- package/docs/components/content/HotKeys.md +352 -0
- package/docs/components/content/Item.md +499 -0
- package/docs/components/content/ItemBadge.md +31 -0
- package/docs/components/content/ItemCard.md +131 -0
- package/docs/components/content/Layout.md +843 -0
- package/docs/components/content/Paragraph.md +32 -0
- package/docs/components/content/Placeholder.md +37 -0
- package/docs/components/content/PrismCode.md +36 -0
- package/docs/components/content/PrismDiffCode.md +29 -0
- package/docs/components/content/Result.md +46 -0
- package/docs/components/content/Skeleton.md +35 -0
- package/docs/components/content/Tag.md +165 -0
- package/docs/components/content/Text.md +54 -0
- package/docs/components/content/TextItem.md +217 -0
- package/docs/components/content/Title.md +45 -0
- package/docs/components/fields/Checkbox.md +176 -0
- package/docs/components/fields/ComboBox.md +651 -0
- package/docs/components/fields/DatePicker.md +227 -0
- package/docs/components/fields/FileInput.md +194 -0
- package/docs/components/fields/FilterListBox.md +726 -0
- package/docs/components/fields/FilterPicker.md +776 -0
- package/docs/components/fields/HueSlider.md +175 -0
- package/docs/components/fields/ListBox.md +714 -0
- package/docs/components/fields/NumberInput.md +180 -0
- package/docs/components/fields/PasswordInput.md +214 -0
- package/docs/components/fields/Picker.md +906 -0
- package/docs/components/fields/RadioGroup.md +310 -0
- package/docs/components/fields/SearchInput.md +224 -0
- package/docs/components/fields/Select.md +576 -0
- package/docs/components/fields/Slider.md +53 -0
- package/docs/components/fields/Switch.md +169 -0
- package/docs/components/fields/TextArea.md +61 -0
- package/docs/components/fields/TextInput.md +205 -0
- package/docs/components/fields/TextInputMapper.md +34 -0
- package/docs/components/form/Field.md +333 -0
- package/docs/components/form/Form.md +644 -0
- package/docs/components/form/FormInstance.md +307 -0
- package/docs/components/helpers/DisplayTransition.md +268 -0
- package/docs/components/helpers/IconSwitch.md +160 -0
- package/docs/components/layout/Flex.md +51 -0
- package/docs/components/layout/Flow.md +32 -0
- package/docs/components/layout/Grid.md +46 -0
- package/docs/components/layout/Panel.md +65 -0
- package/docs/components/layout/Prefix.md +37 -0
- package/docs/components/layout/ResizablePanel.md +69 -0
- package/docs/components/layout/Space.md +44 -0
- package/docs/components/layout/Suffix.md +39 -0
- package/docs/components/navigation/Tabs.md +726 -0
- package/docs/components/organisms/FileTabs.md +39 -0
- package/docs/components/organisms/StatsCard.md +40 -0
- package/docs/components/other/CloudLogo.md +33 -0
- package/docs/components/overlays/AlertDialog.md +51 -0
- package/docs/components/overlays/Dialog.md +200 -0
- package/docs/components/overlays/DialogContainer.md +201 -0
- package/docs/components/overlays/DialogForm.md +295 -0
- package/docs/components/overlays/DialogTrigger.md +191 -0
- package/docs/components/overlays/Notifications.md +402 -0
- package/docs/components/overlays/Toast.md +289 -0
- package/docs/components/overlays/Tooltip.md +400 -0
- package/docs/components/overlays/TooltipProvider.md +42 -0
- package/docs/components/overlays/TooltipTrigger.md +42 -0
- package/docs/components/overlays/UseDialogContainer.md +597 -0
- package/docs/components/portal/Portal.md +29 -0
- package/docs/components/status/LoadingAnimation.md +27 -0
- package/docs/components/status/Spin.md +35 -0
- package/docs/tasty/configuration.md +211 -0
- package/docs/tasty/debug.md +505 -0
- package/docs/tasty/injector.md +528 -0
- package/docs/tasty/styles.md +567 -0
- package/docs/tasty/tasty-static.md +376 -0
- package/docs/tasty/usage.md +643 -0
- package/package.json +4 -8
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
# DialogForm
|
|
2
|
+
|
|
3
|
+
DialogForm combines [Dialog](./Dialog.md) and [Form](../form/Form.md) functionality into a single component for collecting user input in a modal context. It provides automatic form submission handling, dialog closing, and default action buttons.
|
|
4
|
+
|
|
5
|
+
**Recommended Usage:** Use the [`useDialogContainer`](./UseDialogContainer.md) hook for programmatic control over DialogForm. This provides a cleaner API and better state management compared to `DialogTrigger`.
|
|
6
|
+
|
|
7
|
+
## When to Use
|
|
8
|
+
|
|
9
|
+
- Collect user input in a focused modal interface
|
|
10
|
+
- Create forms that require user attention and confirmation
|
|
11
|
+
- Build edit dialogs, creation modals, or settings forms
|
|
12
|
+
- Handle form submission with automatic dialog closing
|
|
13
|
+
|
|
14
|
+
## Component
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
### Properties
|
|
19
|
+
|
|
20
|
+
- **`title`** `string` — The title of the dialog
|
|
21
|
+
- **`danger`** `boolean` — Whether the submit button has a danger theme
|
|
22
|
+
- **`submitProps`** `CubeButtonProps` — Properties for submit button (use `label` to change text)
|
|
23
|
+
- **`cancelProps`** `CubeButtonProps` — Properties for cancel button (use `label` to change text)
|
|
24
|
+
- **`preserve`** `boolean` (default: `false`) — Preserve form values after submission/dismissal
|
|
25
|
+
- **`noActions`** `boolean` — Hide default action buttons to manually specify them
|
|
26
|
+
|
|
27
|
+
### DialogForm-specific Properties
|
|
28
|
+
|
|
29
|
+
- **`title`** `string` — The title of the dialog
|
|
30
|
+
- **`danger`** `boolean` — Whether the submit button has a danger theme
|
|
31
|
+
- **`submitProps`** `CubeButtonProps` — Properties for submit button (use `label` to change text)
|
|
32
|
+
- **`cancelProps`** `CubeButtonProps` — Properties for cancel button (use `label` to change text)
|
|
33
|
+
- **`preserve`** `boolean` (default: `false`) — Preserve form values after submission/dismissal
|
|
34
|
+
- **`noActions`** `boolean` — Hide default action buttons to manually specify them
|
|
35
|
+
|
|
36
|
+
### Inherited Properties
|
|
37
|
+
|
|
38
|
+
DialogForm inherits all properties from:
|
|
39
|
+
- **[Dialog](./Dialog.md)**: `size`, `isDismissable`, `closeIcon`, styling properties, etc.
|
|
40
|
+
- **[Form](../form/Form.md)**: `name`, `defaultValues`, `onSubmit`, `onSubmitFailed`, `onValuesChange`, `labelPosition`, `requiredMark`, validation properties, etc.
|
|
41
|
+
|
|
42
|
+
See the respective component documentation for complete property lists.
|
|
43
|
+
|
|
44
|
+
### Base Properties
|
|
45
|
+
|
|
46
|
+
Supports [Base properties](../../BaseProperties.md)
|
|
47
|
+
|
|
48
|
+
## Examples
|
|
49
|
+
|
|
50
|
+
### Basic DialogForm (Recommended)
|
|
51
|
+
|
|
52
|
+
Using `useDialogContainer` for programmatic control:
|
|
53
|
+
|
|
54
|
+
```jsx
|
|
55
|
+
import { useDialogContainer, DialogForm, Input, Button } from '@cube-dev/ui-kit';
|
|
56
|
+
|
|
57
|
+
function UserFormDialog({ onSubmit, initialData }) {
|
|
58
|
+
return (
|
|
59
|
+
<DialogForm
|
|
60
|
+
title="User Information"
|
|
61
|
+
defaultValues={initialData}
|
|
62
|
+
onSubmit={onSubmit}
|
|
63
|
+
>
|
|
64
|
+
<Input.Text
|
|
65
|
+
name="name"
|
|
66
|
+
label="Name"
|
|
67
|
+
rules={[{ required: true, message: 'Name is required' }]}
|
|
68
|
+
placeholder="Enter your name"
|
|
69
|
+
/>
|
|
70
|
+
<Input.Text
|
|
71
|
+
name="email"
|
|
72
|
+
label="Email"
|
|
73
|
+
type="email"
|
|
74
|
+
rules={[
|
|
75
|
+
{ required: true, message: 'Email is required' },
|
|
76
|
+
{ type: 'email', message: 'Please enter a valid email' }
|
|
77
|
+
]}
|
|
78
|
+
placeholder="Enter your email"
|
|
79
|
+
/>
|
|
80
|
+
</DialogForm>
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function App() {
|
|
85
|
+
const userDialog = useDialogContainer(UserFormDialog);
|
|
86
|
+
|
|
87
|
+
const openDialog = () => {
|
|
88
|
+
userDialog.open({
|
|
89
|
+
initialData: { name: '', email: '' },
|
|
90
|
+
onSubmit: async (data) => {
|
|
91
|
+
await saveUser(data);
|
|
92
|
+
userDialog.close();
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
return (
|
|
98
|
+
<>
|
|
99
|
+
<Button onPress={openDialog}>Add User</Button>
|
|
100
|
+
{userDialog.rendered}
|
|
101
|
+
</>
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### With DialogTrigger (Alternative)
|
|
107
|
+
|
|
108
|
+
For simpler use cases, you can use `DialogTrigger`:
|
|
109
|
+
|
|
110
|
+
```jsx
|
|
111
|
+
<DialogTrigger>
|
|
112
|
+
<Button>Open Form</Button>
|
|
113
|
+
<DialogForm
|
|
114
|
+
title="User Information"
|
|
115
|
+
onSubmit={async (data) => {
|
|
116
|
+
await saveUser(data);
|
|
117
|
+
}}
|
|
118
|
+
>
|
|
119
|
+
<Input.Text
|
|
120
|
+
name="name"
|
|
121
|
+
label="Name"
|
|
122
|
+
rules={[{ required: true }]}
|
|
123
|
+
placeholder="Enter your name"
|
|
124
|
+
/>
|
|
125
|
+
<Input.Text
|
|
126
|
+
name="email"
|
|
127
|
+
label="Email"
|
|
128
|
+
type="email"
|
|
129
|
+
rules={[
|
|
130
|
+
{ required: true },
|
|
131
|
+
{ type: 'email', message: 'Please enter a valid email' }
|
|
132
|
+
]}
|
|
133
|
+
placeholder="Enter your email"
|
|
134
|
+
/>
|
|
135
|
+
</DialogForm>
|
|
136
|
+
</DialogTrigger>
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Danger DialogForm
|
|
140
|
+
|
|
141
|
+
```jsx
|
|
142
|
+
<DialogForm
|
|
143
|
+
title="Delete Account"
|
|
144
|
+
danger
|
|
145
|
+
submitProps={{ label: 'Delete' }}
|
|
146
|
+
cancelProps={{ label: 'Keep Account' }}
|
|
147
|
+
onSubmit={async (data) => {
|
|
148
|
+
await deleteAccount(data.confirmation);
|
|
149
|
+
}}
|
|
150
|
+
>
|
|
151
|
+
<Input.Text
|
|
152
|
+
name="confirmation"
|
|
153
|
+
label="Type DELETE to confirm"
|
|
154
|
+
rules={[
|
|
155
|
+
{ required: true },
|
|
156
|
+
{ pattern: /^DELETE$/, message: 'Please type DELETE' }
|
|
157
|
+
]}
|
|
158
|
+
/>
|
|
159
|
+
</DialogForm>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Custom Actions with Access to Dismiss
|
|
163
|
+
|
|
164
|
+
When you need custom action buttons, use `noActions` prop and the render function pattern:
|
|
165
|
+
|
|
166
|
+
```jsx
|
|
167
|
+
<DialogForm
|
|
168
|
+
title="Advanced Form"
|
|
169
|
+
noActions
|
|
170
|
+
onSubmit={handleSubmit}
|
|
171
|
+
>
|
|
172
|
+
{(dismiss) => (
|
|
173
|
+
<>
|
|
174
|
+
<Input.Text name="field1" label="Field 1" />
|
|
175
|
+
<Input.Text name="field2" label="Field 2" />
|
|
176
|
+
|
|
177
|
+
<ButtonGroup>
|
|
178
|
+
<SubmitButton>Save</SubmitButton>
|
|
179
|
+
<Button onPress={() => {
|
|
180
|
+
saveAsDraft();
|
|
181
|
+
dismiss();
|
|
182
|
+
}}>
|
|
183
|
+
Save as Draft
|
|
184
|
+
</Button>
|
|
185
|
+
<Button onPress={dismiss}>Cancel</Button>
|
|
186
|
+
</ButtonGroup>
|
|
187
|
+
</>
|
|
188
|
+
)}
|
|
189
|
+
</DialogForm>
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Preserving Form Values
|
|
193
|
+
|
|
194
|
+
Use `preserve` prop to keep form values when reopening the dialog:
|
|
195
|
+
|
|
196
|
+
```jsx
|
|
197
|
+
<DialogForm
|
|
198
|
+
title="Edit Draft"
|
|
199
|
+
preserve
|
|
200
|
+
defaultValues={draftData}
|
|
201
|
+
onSubmit={saveDraft}
|
|
202
|
+
>
|
|
203
|
+
<Input.Text name="title" label="Title" />
|
|
204
|
+
<TextArea name="content" label="Content" />
|
|
205
|
+
</DialogForm>
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## Behavior
|
|
209
|
+
|
|
210
|
+
### Form Submission
|
|
211
|
+
|
|
212
|
+
- On successful submission (`onSubmit`), the dialog automatically closes
|
|
213
|
+
- Form fields are automatically reset after closing (unless `preserve` is true)
|
|
214
|
+
- Reset happens after a 250ms delay to allow exit animations to complete
|
|
215
|
+
|
|
216
|
+
### Dialog Dismissal
|
|
217
|
+
|
|
218
|
+
- When dismissed via cancel button or Escape key, form fields are reset (unless `preserve` is true)
|
|
219
|
+
- Both `onClose` (from dialog context) and `onDismiss` callbacks are triggered
|
|
220
|
+
|
|
221
|
+
### Default Buttons
|
|
222
|
+
|
|
223
|
+
- **Submit Button**: Labeled "Submit" by default, automatically handles form submission and loading states
|
|
224
|
+
- **Cancel Button**: Labeled "Cancel" by default, dismisses the dialog and resets the form
|
|
225
|
+
- Both buttons can be customized via `submitProps` and `cancelProps`
|
|
226
|
+
- Hide default buttons with `noActions={true}` to provide custom actions
|
|
227
|
+
|
|
228
|
+
## Accessibility
|
|
229
|
+
|
|
230
|
+
DialogForm combines accessibility features from both Dialog and Form:
|
|
231
|
+
|
|
232
|
+
### Keyboard Navigation
|
|
233
|
+
|
|
234
|
+
- `Tab` / `Shift + Tab` - Navigate through form fields and buttons
|
|
235
|
+
- `Enter` - Submit the form (when on submit button)
|
|
236
|
+
- `Escape` - Dismiss the dialog (if `isDismissable` is true)
|
|
237
|
+
|
|
238
|
+
### Screen Reader Support
|
|
239
|
+
|
|
240
|
+
- Dialog announces with proper title
|
|
241
|
+
- Form fields have proper label associations
|
|
242
|
+
- Validation errors are announced
|
|
243
|
+
- Submit/cancel actions are clearly communicated
|
|
244
|
+
- Focus management handles transitions between dialog open/close
|
|
245
|
+
|
|
246
|
+
See [Dialog Accessibility](./Dialog.md#accessibility) and [Form Accessibility](../form/Form.md#accessibility) for complete details.
|
|
247
|
+
|
|
248
|
+
## Best Practices
|
|
249
|
+
|
|
250
|
+
1. **Use useDialogContainer for programmatic control**: Preferred method for better state management
|
|
251
|
+
```jsx
|
|
252
|
+
const dialog = useDialogContainer(MyFormDialog);
|
|
253
|
+
dialog.open({ initialData, onSubmit: handleSubmit });
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
2. **Provide clear titles**: Always set a descriptive `title` for context
|
|
257
|
+
```jsx
|
|
258
|
+
<DialogForm title="Edit User Profile" onSubmit={save}>
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
3. **Use danger theme for destructive actions**: Apply `danger` for delete/remove operations
|
|
262
|
+
```jsx
|
|
263
|
+
<DialogForm title="Delete Item" danger submitProps={{ label: 'Delete' }}>
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
4. **Customize button labels**: Make action buttons specific to the task
|
|
267
|
+
```jsx
|
|
268
|
+
<DialogForm
|
|
269
|
+
title="Create Project"
|
|
270
|
+
submitProps={{ label: 'Create' }}
|
|
271
|
+
cancelProps={{ label: 'Discard' }}
|
|
272
|
+
>
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
5. **Handle submission errors**: Implement `onSubmitFailed` for error handling
|
|
276
|
+
```jsx
|
|
277
|
+
<DialogForm
|
|
278
|
+
onSubmit={save}
|
|
279
|
+
onSubmitFailed={(error) => notify.error(error.message)}
|
|
280
|
+
>
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
6. **Use preserve for drafts**: Enable `preserve` when working with draft content
|
|
284
|
+
```jsx
|
|
285
|
+
<DialogForm preserve title="Edit Draft" defaultValues={draft}>
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
## Related Components
|
|
289
|
+
|
|
290
|
+
- [useDialogContainer](./UseDialogContainer.md) - **Recommended hook for programmatic dialog control**
|
|
291
|
+
- [Dialog](./Dialog.md) - Base dialog component
|
|
292
|
+
- [Form](../form/Form.md) - Form component with validation
|
|
293
|
+
- [DialogTrigger](./DialogTrigger.md) - Alternative: manages dialog open/close state
|
|
294
|
+
- [AlertDialog](./AlertDialog.md) - For simple confirmations without forms
|
|
295
|
+
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# DialogTrigger
|
|
2
|
+
|
|
3
|
+
DialogTrigger serves as a wrapper around a Dialog and its associated trigger, linking the Dialog's open state with the trigger's press state. Additionally, it allows you to customize the type and positioning of the Dialog.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- When you need to open a Dialog in response to user interaction with a trigger element
|
|
8
|
+
- To display contextual information, forms, or workflows that require user attention
|
|
9
|
+
- When you want to control the positioning and behavior of overlay content
|
|
10
|
+
- For creating modal dialogs, popovers, trays, or fullscreen overlays
|
|
11
|
+
|
|
12
|
+
## Component
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
### Properties
|
|
17
|
+
|
|
18
|
+
- **`children`** — The Dialog and its trigger element
|
|
19
|
+
- **`type`** `'modal' | 'popover' | 'tray' | 'fullscreen' | 'fullscreenTakeover' | 'panel'` (default: `modal`) — The type of Dialog that should be rendered
|
|
20
|
+
- **`mobileType`** `'modal' | 'tray' | 'fullscreen' | 'fullscreenTakeover' | 'panel' | 'popover'` — The type of Dialog that should be rendered when on a mobile device
|
|
21
|
+
- **`placement`** `'top' | 'bottom' | 'left' | 'right' | 'top start' | 'top end' | 'bottom start' | 'bottom end' | 'left top' | 'left bottom' | 'right top' | 'right bottom'` — The placement of the dialog relative to its trigger
|
|
22
|
+
- **`hideArrow`** `boolean` (default: `false`) — Whether a popover type Dialog's arrow should be hidden
|
|
23
|
+
- **`mobileViewport`** `number` (default: `700`) — The screen breakpoint for the mobile type
|
|
24
|
+
- **`isDismissable`** `boolean` (default: `true`) — Whether a modal type Dialog should be dismissable
|
|
25
|
+
- **`isKeyboardDismissDisabled`** `boolean` (default: `false`) — Whether pressing the escape key to close the dialog should be disabled
|
|
26
|
+
- **`isOpen`** `boolean` — Whether the dialog is open (controlled)
|
|
27
|
+
- **`defaultOpen`** `boolean` (default: `false`) — Whether the dialog is open by default (uncontrolled)
|
|
28
|
+
- **`offset`** `number` (default: `8`) — The additional offset applied along the main axis
|
|
29
|
+
- **`crossOffset`** `number` (default: `0`) — The additional offset applied along the cross axis
|
|
30
|
+
- **`containerPadding`** `number` (default: `12`) — The padding between the edge of the overlay and the boundary
|
|
31
|
+
- **`shouldFlip`** `boolean` (default: `true`) — Whether the overlay should flip positions when insufficient space
|
|
32
|
+
- **`onOpenChange`** `function` — Callback fired when the dialog open state changes
|
|
33
|
+
- **`onDismiss`** `function` — Callback fired when the dialog is dismissed
|
|
34
|
+
- **`targetRef`** — The ref of the element the Dialog should visually attach itself to
|
|
35
|
+
- **`styles`** — The style map for the overlay
|
|
36
|
+
- **`shouldCloseOnInteractOutside`** — Function to determine if overlay should close on outside interaction
|
|
37
|
+
|
|
38
|
+
### Base Properties
|
|
39
|
+
|
|
40
|
+
Supports [Base properties](../../BaseProperties.md)
|
|
41
|
+
|
|
42
|
+
### Styling Properties
|
|
43
|
+
|
|
44
|
+
DialogTrigger has no styling capabilities.
|
|
45
|
+
|
|
46
|
+
## Variants
|
|
47
|
+
|
|
48
|
+
### Types
|
|
49
|
+
|
|
50
|
+
- `modal` - Full modal dialog with backdrop (default)
|
|
51
|
+
- `popover` - Positioned relative to trigger element
|
|
52
|
+
- `tray` - Slides up from bottom on mobile
|
|
53
|
+
- `fullscreen` - Takes up entire screen
|
|
54
|
+
- `fullscreenTakeover` - Fullscreen without padding
|
|
55
|
+
- `panel` - Side panel overlay
|
|
56
|
+
|
|
57
|
+
### Mobile Types
|
|
58
|
+
|
|
59
|
+
- `modal` - Mobile modal dialog
|
|
60
|
+
- `tray` - Bottom tray on mobile
|
|
61
|
+
- `fullscreen` - Mobile fullscreen
|
|
62
|
+
- `fullscreenTakeover` - Mobile fullscreen takeover
|
|
63
|
+
- `panel` - Mobile side panel
|
|
64
|
+
- `popover` - Mobile popover (not recommended)
|
|
65
|
+
|
|
66
|
+
## Examples
|
|
67
|
+
|
|
68
|
+
### Basic Modal
|
|
69
|
+
|
|
70
|
+
```jsx
|
|
71
|
+
<DialogTrigger>
|
|
72
|
+
<Button>Open Dialog</Button>
|
|
73
|
+
<Dialog>
|
|
74
|
+
<Header>
|
|
75
|
+
<Title>Dialog Title</Title>
|
|
76
|
+
</Header>
|
|
77
|
+
<Content>
|
|
78
|
+
<Paragraph>Dialog content goes here.</Paragraph>
|
|
79
|
+
</Content>
|
|
80
|
+
</Dialog>
|
|
81
|
+
</DialogTrigger>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Popover Dialog
|
|
85
|
+
|
|
86
|
+
```jsx
|
|
87
|
+
<DialogTrigger type="popover" placement="bottom">
|
|
88
|
+
<Button>Show Popover</Button>
|
|
89
|
+
<Dialog>
|
|
90
|
+
<Content>
|
|
91
|
+
<Paragraph>Popover content</Paragraph>
|
|
92
|
+
</Content>
|
|
93
|
+
</Dialog>
|
|
94
|
+
</DialogTrigger>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### With Close Function
|
|
98
|
+
|
|
99
|
+
```jsx
|
|
100
|
+
<DialogTrigger>
|
|
101
|
+
<Button>Open Dialog</Button>
|
|
102
|
+
{(close) => (
|
|
103
|
+
<Dialog>
|
|
104
|
+
<Header>
|
|
105
|
+
<Title>Confirm Action</Title>
|
|
106
|
+
</Header>
|
|
107
|
+
<Content>
|
|
108
|
+
<Paragraph>Are you sure you want to continue?</Paragraph>
|
|
109
|
+
</Content>
|
|
110
|
+
<Footer>
|
|
111
|
+
<Button onPress={close}>Cancel</Button>
|
|
112
|
+
<Button type="primary" onPress={close}>Confirm</Button>
|
|
113
|
+
</Footer>
|
|
114
|
+
</Dialog>
|
|
115
|
+
)}
|
|
116
|
+
</DialogTrigger>
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Controlled State
|
|
120
|
+
|
|
121
|
+
```jsx
|
|
122
|
+
function ControlledDialog() {
|
|
123
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
124
|
+
|
|
125
|
+
return (
|
|
126
|
+
<DialogTrigger isOpen={isOpen} onOpenChange={setIsOpen}>
|
|
127
|
+
<Button>Open Dialog</Button>
|
|
128
|
+
<Dialog>
|
|
129
|
+
<Content>
|
|
130
|
+
<Paragraph>Controlled dialog content</Paragraph>
|
|
131
|
+
</Content>
|
|
132
|
+
</Dialog>
|
|
133
|
+
</DialogTrigger>
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Accessibility
|
|
139
|
+
|
|
140
|
+
### Keyboard Navigation
|
|
141
|
+
|
|
142
|
+
- `Enter/Space` - Opens the dialog when trigger is focused
|
|
143
|
+
- `Escape` - Closes the dialog (unless disabled)
|
|
144
|
+
- `Tab` - Cycles through focusable elements within the dialog
|
|
145
|
+
|
|
146
|
+
### Screen Reader Support
|
|
147
|
+
|
|
148
|
+
- Dialog announces as "dialog" to screen readers
|
|
149
|
+
- Focus is trapped within the dialog when open
|
|
150
|
+
- Focus returns to trigger element when dialog closes
|
|
151
|
+
- Proper ARIA attributes are applied automatically
|
|
152
|
+
|
|
153
|
+
### ARIA Properties
|
|
154
|
+
|
|
155
|
+
- `aria-haspopup` - Automatically applied to trigger element
|
|
156
|
+
- `aria-expanded` - Indicates dialog open state
|
|
157
|
+
- `aria-labelledby` - Links dialog to its title
|
|
158
|
+
- `aria-describedby` - Links dialog to its description
|
|
159
|
+
|
|
160
|
+
## Best Practices
|
|
161
|
+
|
|
162
|
+
1. **Do**: Provide clear trigger labels
|
|
163
|
+
```jsx
|
|
164
|
+
<DialogTrigger>
|
|
165
|
+
<Button>Edit Profile</Button>
|
|
166
|
+
<Dialog>...</Dialog>
|
|
167
|
+
</DialogTrigger>
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
2. **Don't**: Use vague trigger text
|
|
171
|
+
```jsx
|
|
172
|
+
<DialogTrigger>
|
|
173
|
+
<Button>Click</Button>
|
|
174
|
+
<Dialog>...</Dialog>
|
|
175
|
+
</DialogTrigger>
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
3. **Focus Management**: Always ensure focus returns properly after dialog closes
|
|
179
|
+
4. **Mobile Considerations**: Use appropriate mobile types for better UX
|
|
180
|
+
5. **Dismissible**: Make modal dialogs dismissible unless absolutely necessary
|
|
181
|
+
|
|
182
|
+
## Suggested Improvements
|
|
183
|
+
|
|
184
|
+
- Enhancement 1: Add animation duration customization options
|
|
185
|
+
- Enhancement 2: Support for multiple dialog instances
|
|
186
|
+
- Enhancement 3: Improved positioning algorithms for complex layouts
|
|
187
|
+
|
|
188
|
+
## Related Components
|
|
189
|
+
|
|
190
|
+
- [Dialog](./Dialog.md) - The content component used within DialogTrigger
|
|
191
|
+
- [Button](../actions/Button.md) - Common trigger element
|