@cube-dev/ui-kit 0.121.0 → 0.121.2
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 +12 -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 +695 -0
- package/package.json +4 -8
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# FileTabs
|
|
2
|
+
|
|
3
|
+
A tab bar for file-like items with close buttons and dirty state indicators. Designed for editor-style interfaces.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Code editors or file editors
|
|
8
|
+
- Multi-document interfaces
|
|
9
|
+
- Tabbed interfaces with close/dirty indicators
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- **`activeKey`** `string` — Controlled active tab key
|
|
14
|
+
- **`defaultActiveKey`** `string` — Default active tab key (uncontrolled)
|
|
15
|
+
- **`onTabClick`** `(key: string) => void` — Callback when a tab is clicked
|
|
16
|
+
- **`onTabClose`** `(key: string) => void` — Callback when a tab's close button is clicked
|
|
17
|
+
- **`isClosable`** `boolean` (default: `true`) — Whether tabs can be closed
|
|
18
|
+
- **`paneStyles`** `Styles` — Custom styles for the tab pane area
|
|
19
|
+
|
|
20
|
+
### Style Defaults
|
|
21
|
+
|
|
22
|
+
- Tab `radius` — `1r 1r 0 0`
|
|
23
|
+
- Tab `padding` — `1x 1.5x`
|
|
24
|
+
- Tab `fill` — `#dark.04` (active tabs use `#white`)
|
|
25
|
+
- Tab gap — `.5x`
|
|
26
|
+
|
|
27
|
+
### Base Properties
|
|
28
|
+
|
|
29
|
+
Supports [Base properties](../../BaseProperties.md).
|
|
30
|
+
|
|
31
|
+
## Examples
|
|
32
|
+
|
|
33
|
+
```jsx
|
|
34
|
+
<FileTabs defaultActiveKey="1" onTabClose={(key) => removeTab(key)}>
|
|
35
|
+
<FileTabs.Tab key="1" title="index.ts" />
|
|
36
|
+
<FileTabs.Tab key="2" title="styles.css" isDirty />
|
|
37
|
+
<FileTabs.Tab key="3" title="readme.md" />
|
|
38
|
+
</FileTabs>
|
|
39
|
+
```
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# StatsCard
|
|
2
|
+
|
|
3
|
+
A card displaying a metric with title and value. Extends `Card` with a vertical layout showing label above value.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Dashboard metrics
|
|
8
|
+
- KPI displays
|
|
9
|
+
- Summary statistics
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- **`title`** `ReactNode` — Label for the metric
|
|
14
|
+
- **`value`** `string | number | ReactNode` — The metric value
|
|
15
|
+
- **`suffix`** `string | number | ReactNode` — Optional suffix (e.g. unit, "%")
|
|
16
|
+
|
|
17
|
+
### Style Defaults
|
|
18
|
+
|
|
19
|
+
Extends Card with:
|
|
20
|
+
|
|
21
|
+
- `display` — `flex`
|
|
22
|
+
- `placeContent` — `space-between`
|
|
23
|
+
- `gap` — `1x`
|
|
24
|
+
- `border` — none
|
|
25
|
+
- `shadow` — `0 2px 6px #dark.10`
|
|
26
|
+
- `padding` — `2.5x`
|
|
27
|
+
|
|
28
|
+
### Base Properties
|
|
29
|
+
|
|
30
|
+
Extends [Card](../content/Card.md) and supports [Base properties](../../BaseProperties.md).
|
|
31
|
+
|
|
32
|
+
## Examples
|
|
33
|
+
|
|
34
|
+
```jsx
|
|
35
|
+
<StatsCard title="Users" value={1234} />
|
|
36
|
+
|
|
37
|
+
<StatsCard title="Growth" value={12} suffix="%" />
|
|
38
|
+
|
|
39
|
+
<StatsCard title="Revenue" value="$1.2M" />
|
|
40
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# CloudLogo
|
|
2
|
+
|
|
3
|
+
A Cube Cloud logo button. Extends `Button` with `type="clear"` and brand styling. Used for navigation branding in app headers.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- App header branding
|
|
8
|
+
- Navigation to home/dashboard
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
Extends [Button](../actions/Button.md) props (`onPress`, `to`, `href`, etc.).
|
|
13
|
+
|
|
14
|
+
### Style Defaults
|
|
15
|
+
|
|
16
|
+
- `type` — `clear`
|
|
17
|
+
- `padding` — `0`
|
|
18
|
+
- `gap` — `0`
|
|
19
|
+
- `fill` — `#clear`
|
|
20
|
+
- `border` — `0`
|
|
21
|
+
- `radius` — `0`
|
|
22
|
+
|
|
23
|
+
### Base Properties
|
|
24
|
+
|
|
25
|
+
Supports [Base properties](../../BaseProperties.md).
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
```jsx
|
|
30
|
+
<CloudLogo onPress={() => navigate('/')} />
|
|
31
|
+
|
|
32
|
+
<CloudLogo to="/" />
|
|
33
|
+
```
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# AlertDialog
|
|
2
|
+
|
|
3
|
+
A modal dialog for important messages that require user acknowledgment. Extends `Dialog` with predefined confirm/cancel actions. Not dismissable by default.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Confirmation dialogs
|
|
8
|
+
- Error or warning messages
|
|
9
|
+
- Destructive action confirmations
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
- **`title`** `string` — Dialog title
|
|
14
|
+
- **`content`** `ReactNode` — Dialog body content
|
|
15
|
+
- **`danger`** `boolean` — Applies danger styling for destructive actions
|
|
16
|
+
- **`noActions`** `boolean` — Hide the action buttons entirely
|
|
17
|
+
- **`actions`** `object` — Customize buttons:
|
|
18
|
+
- `confirm` — Confirm button props or `false` to hide (default: `{ label: 'Ok', type: 'primary' }`)
|
|
19
|
+
- `cancel` — Cancel button props or `true` to show (default: hidden, uses `{ label: 'Cancel' }`)
|
|
20
|
+
- `secondary` — Optional secondary button props
|
|
21
|
+
|
|
22
|
+
### Base Properties
|
|
23
|
+
|
|
24
|
+
Extends [Dialog](./Dialog.md) and supports [Base properties](../../BaseProperties.md).
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### Confirmation dialog
|
|
29
|
+
|
|
30
|
+
```jsx
|
|
31
|
+
<DialogTrigger>
|
|
32
|
+
<Button>Delete Item</Button>
|
|
33
|
+
<AlertDialog
|
|
34
|
+
title="Confirm Delete"
|
|
35
|
+
content="Are you sure you want to delete this item?"
|
|
36
|
+
actions={{
|
|
37
|
+
confirm: { label: 'Delete', type: 'danger' },
|
|
38
|
+
cancel: true,
|
|
39
|
+
}}
|
|
40
|
+
/>
|
|
41
|
+
</DialogTrigger>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Info dialog (confirm only)
|
|
45
|
+
|
|
46
|
+
```jsx
|
|
47
|
+
<AlertDialog
|
|
48
|
+
title="Update Available"
|
|
49
|
+
content="A new version is available. Please refresh to update."
|
|
50
|
+
/>
|
|
51
|
+
```
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# Dialog
|
|
2
|
+
|
|
3
|
+
Dialogs are windows containing contextual information, tasks, or workflows that appear over the user interface. Depending on the kind of Dialog, further interactions may be blocked until the Dialog is acknowledged.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Display important information or actions that require user attention
|
|
8
|
+
- Confirm or cancel user actions before proceeding
|
|
9
|
+
- Collect user input in a focused, contextual interface
|
|
10
|
+
- Show complex workflows or forms that need dedicated space
|
|
11
|
+
- Present alerts or notifications that require user acknowledgment
|
|
12
|
+
|
|
13
|
+
## Component
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
### Properties
|
|
18
|
+
|
|
19
|
+
- **`children`** — Dialog content (Header, Content, Footer, etc.)
|
|
20
|
+
- **`size`** `'small' | 'medium' | 'large' | 'S' | 'M' | 'L'` (default: `S`) — Dialog size
|
|
21
|
+
- **`styles`** — Custom styles for the dialog root
|
|
22
|
+
- **`closeButtonStyles`** — Custom styles for the close button
|
|
23
|
+
- **`isDismissable`** `boolean` (default: `false`) — Whether the dialog is dismissable (shows close button, allows Escape key)
|
|
24
|
+
- **`onDismiss`** `function` — Callback fired when the dialog is dismissed
|
|
25
|
+
- **`closeIcon`** — Custom close icon element
|
|
26
|
+
- **`role`** `'dialog' | 'alertdialog'` (default: `dialog`) — ARIA role for the dialog
|
|
27
|
+
- **`onBlur`** `function` — Callback fired when the dialog loses focus
|
|
28
|
+
- **`onFocus`** `function` — Callback fired when the dialog receives focus
|
|
29
|
+
|
|
30
|
+
### Base Properties
|
|
31
|
+
|
|
32
|
+
Supports [Base properties](../../BaseProperties.md)
|
|
33
|
+
|
|
34
|
+
### Styling Properties
|
|
35
|
+
|
|
36
|
+
#### styles
|
|
37
|
+
|
|
38
|
+
Customizes the root element of the dialog.
|
|
39
|
+
|
|
40
|
+
**Sub-elements:**
|
|
41
|
+
- `Dialog` - The main dialog container
|
|
42
|
+
- `Content` - The content area wrapper
|
|
43
|
+
- `Header` - The header section wrapper
|
|
44
|
+
- `Footer` - The footer section wrapper
|
|
45
|
+
|
|
46
|
+
#### closeButtonStyles
|
|
47
|
+
|
|
48
|
+
Customizes the close button appearance.
|
|
49
|
+
|
|
50
|
+
### Style Properties
|
|
51
|
+
|
|
52
|
+
These properties allow direct style application without using the `styles` prop: `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`, `reset`, `padding`, `paddingInline`, `paddingBlock`, `shadow`, `border`, `radius`, `opacity`, `overflow`, `scrollbar`, `hide`, `outline`, `textAlign`, `resize`.
|
|
53
|
+
|
|
54
|
+
### Modifiers
|
|
55
|
+
|
|
56
|
+
The `mods` property accepts the following modifiers you can override:
|
|
57
|
+
|
|
58
|
+
- **`dismissable`** `boolean` — Applied when the dialog can be dismissed with close button or Escape key
|
|
59
|
+
|
|
60
|
+
## Variants
|
|
61
|
+
|
|
62
|
+
### Types
|
|
63
|
+
|
|
64
|
+
- `dialog` - Standard dialog for general content (default)
|
|
65
|
+
- `alertdialog` - Alert dialog for critical notifications or confirmations
|
|
66
|
+
|
|
67
|
+
### Sizes
|
|
68
|
+
|
|
69
|
+
- `small` / `S` - Compact dialog for simple content (360px width)
|
|
70
|
+
- `medium` / `M` - Standard dialog for moderate content (479px width)
|
|
71
|
+
- `large` / `L` - Large dialog for complex content (798px width)
|
|
72
|
+
|
|
73
|
+
## Examples
|
|
74
|
+
|
|
75
|
+
### Basic Dialog
|
|
76
|
+
|
|
77
|
+
```jsx
|
|
78
|
+
<Dialog>
|
|
79
|
+
<Header>
|
|
80
|
+
<Title>Dialog Title</Title>
|
|
81
|
+
</Header>
|
|
82
|
+
<Content>
|
|
83
|
+
<Paragraph>Dialog content goes here.</Paragraph>
|
|
84
|
+
</Content>
|
|
85
|
+
<Footer>
|
|
86
|
+
<Button onPress={close}>Close</Button>
|
|
87
|
+
</Footer>
|
|
88
|
+
</Dialog>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Dismissable Dialog
|
|
92
|
+
|
|
93
|
+
```jsx
|
|
94
|
+
<Dialog isDismissable onDismiss={close}>
|
|
95
|
+
<Header>
|
|
96
|
+
<Title>Dismissable Dialog</Title>
|
|
97
|
+
</Header>
|
|
98
|
+
<Content>
|
|
99
|
+
<Paragraph>You can close this dialog with the close button or Escape key.</Paragraph>
|
|
100
|
+
</Content>
|
|
101
|
+
</Dialog>
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Custom Size Dialog
|
|
105
|
+
|
|
106
|
+
```jsx
|
|
107
|
+
<Dialog size="large">
|
|
108
|
+
<Header>
|
|
109
|
+
<Title>Large Dialog</Title>
|
|
110
|
+
</Header>
|
|
111
|
+
<Content>
|
|
112
|
+
<Paragraph>This dialog uses the large size variant.</Paragraph>
|
|
113
|
+
</Content>
|
|
114
|
+
</Dialog>
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Alert Dialog
|
|
118
|
+
|
|
119
|
+
```jsx
|
|
120
|
+
<Dialog role="alertdialog">
|
|
121
|
+
<Header>
|
|
122
|
+
<Title>Confirm Action</Title>
|
|
123
|
+
</Header>
|
|
124
|
+
<Content>
|
|
125
|
+
<Paragraph>Are you sure you want to delete this item? This action cannot be undone.</Paragraph>
|
|
126
|
+
</Content>
|
|
127
|
+
<Footer>
|
|
128
|
+
<Button type="danger" onPress={confirmDelete}>Delete</Button>
|
|
129
|
+
<Button onPress={close}>Cancel</Button>
|
|
130
|
+
</Footer>
|
|
131
|
+
</Dialog>
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Accessibility
|
|
135
|
+
|
|
136
|
+
### Keyboard Navigation
|
|
137
|
+
|
|
138
|
+
- `Tab` - Moves focus between interactive elements within the dialog
|
|
139
|
+
- `Shift + Tab` - Moves focus backward between interactive elements
|
|
140
|
+
- `Escape` - Dismisses the dialog if `isDismissable` is true
|
|
141
|
+
- `Enter/Space` - Activates focused buttons or interactive elements
|
|
142
|
+
|
|
143
|
+
### Screen Reader Support
|
|
144
|
+
|
|
145
|
+
- Dialog announces as "dialog" or "alertdialog" based on role
|
|
146
|
+
- Focus is trapped within the dialog when open
|
|
147
|
+
- Focus returns to the trigger element when dialog closes
|
|
148
|
+
- Dialog title and content are properly announced
|
|
149
|
+
- State changes and actions are communicated to screen readers
|
|
150
|
+
|
|
151
|
+
### ARIA Properties
|
|
152
|
+
|
|
153
|
+
- `aria-labelledby` - Links dialog to its title element automatically
|
|
154
|
+
- `aria-describedby` - Links dialog to its description content
|
|
155
|
+
- `aria-modal` - Set to true for modal dialogs to indicate exclusive interaction
|
|
156
|
+
- `role` - Set to "dialog" or "alertdialog" based on content type
|
|
157
|
+
|
|
158
|
+
## Best Practices
|
|
159
|
+
|
|
160
|
+
1. **Do**: Provide clear titles and actionable buttons
|
|
161
|
+
```jsx
|
|
162
|
+
<Dialog>
|
|
163
|
+
<Header>
|
|
164
|
+
<Title>Save Changes</Title>
|
|
165
|
+
</Header>
|
|
166
|
+
<Content>
|
|
167
|
+
<Paragraph>Your changes will be saved to the document.</Paragraph>
|
|
168
|
+
</Content>
|
|
169
|
+
<Footer>
|
|
170
|
+
<Button type="primary" onPress={save}>Save</Button>
|
|
171
|
+
<Button onPress={close}>Cancel</Button>
|
|
172
|
+
</Footer>
|
|
173
|
+
</Dialog>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
2. **Don't**: Use dialogs for trivial notifications
|
|
177
|
+
```jsx
|
|
178
|
+
{/* Avoid using dialogs for simple success messages */}
|
|
179
|
+
<Dialog>
|
|
180
|
+
<Content>Item saved!</Content>
|
|
181
|
+
</Dialog>
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
3. **Accessibility**: Always provide a meaningful title for screen readers
|
|
185
|
+
4. **Dismissal**: Use `isDismissable` for dialogs that users can close voluntarily
|
|
186
|
+
5. **Focus Management**: Ensure focus moves to the most important action when dialog opens
|
|
187
|
+
|
|
188
|
+
## Integration with Overlays
|
|
189
|
+
|
|
190
|
+
Dialog is typically used within `DialogTrigger` or `Modal` components for proper overlay management and positioning. It should not be rendered directly without an overlay container.
|
|
191
|
+
|
|
192
|
+
## Suggested Improvements
|
|
193
|
+
|
|
194
|
+
- Enhancement 1: Add support for custom dialog animations and transitions
|
|
195
|
+
- Enhancement 2: Implement automatic focus management for complex form scenarios
|
|
196
|
+
|
|
197
|
+
## Related Components
|
|
198
|
+
|
|
199
|
+
- [DialogTrigger](./DialogTrigger.md) - Manages dialog open/close state and positioning
|
|
200
|
+
- [AlertDialog](./AlertDialog.md) - Specialized component for alert scenarios
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# DialogContainer
|
|
2
|
+
|
|
3
|
+
A DialogContainer accepts a single Dialog as a child, and manages to show and hide it in a modal. Useful in cases where there is no trigger element or when the trigger unmounts while the dialog is open.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- When you need to display a dialog without a specific trigger element
|
|
8
|
+
- To prevent dialog closure when the trigger component unmounts
|
|
9
|
+
- For programmatically controlled dialogs in complex application flows
|
|
10
|
+
- When managing dialog state externally from the component hierarchy
|
|
11
|
+
- For dialogs that need to persist across route changes or component updates
|
|
12
|
+
|
|
13
|
+
## Component
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
### Properties
|
|
18
|
+
|
|
19
|
+
- **`children`** — The Dialog to display, if any
|
|
20
|
+
- **`type`** `'modal' | 'fullscreen' | 'fullscreenTakeover' | 'panel'` (default: `modal`) — The type of Dialog that should be rendered
|
|
21
|
+
- **`isDismissable`** `boolean` (default: `false`) — Whether the Dialog is dismissible
|
|
22
|
+
- **`isKeyboardDismissDisabled`** `boolean` (default: `false`) — Whether pressing the escape key to close the dialog should be disabled
|
|
23
|
+
- **`isOpen`** `boolean` — Whether the modal is open or not
|
|
24
|
+
- **`onDismiss`** `function` — Handler called when the x button of a dismissible Dialog is clicked
|
|
25
|
+
- **`hideOnClose`** `boolean` (default: `false`) — Whether the dialog should be hidden when closed
|
|
26
|
+
|
|
27
|
+
### Base Properties
|
|
28
|
+
|
|
29
|
+
Supports [Base properties](../../BaseProperties.md)
|
|
30
|
+
|
|
31
|
+
### Styling Properties
|
|
32
|
+
|
|
33
|
+
DialogContainer has no styling capabilities.
|
|
34
|
+
|
|
35
|
+
## Variants
|
|
36
|
+
|
|
37
|
+
### Types
|
|
38
|
+
|
|
39
|
+
- `modal` - Standard modal dialog with backdrop (default)
|
|
40
|
+
- `fullscreen` - Takes up entire screen with padding
|
|
41
|
+
- `fullscreenTakeover` - Fullscreen without padding
|
|
42
|
+
- `panel` - Side panel overlay
|
|
43
|
+
|
|
44
|
+
## Examples
|
|
45
|
+
|
|
46
|
+
### Basic Usage
|
|
47
|
+
|
|
48
|
+
```jsx
|
|
49
|
+
<DialogContainer isOpen={isDialogOpen} onDismiss={() => setIsDialogOpen(false)}>
|
|
50
|
+
<Dialog>
|
|
51
|
+
<Header>
|
|
52
|
+
<Title>Dialog Title</Title>
|
|
53
|
+
</Header>
|
|
54
|
+
<Content>
|
|
55
|
+
<Paragraph>Dialog content goes here.</Paragraph>
|
|
56
|
+
</Content>
|
|
57
|
+
</Dialog>
|
|
58
|
+
</DialogContainer>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Controlled Dialog
|
|
62
|
+
|
|
63
|
+
```jsx
|
|
64
|
+
function ControlledDialogExample() {
|
|
65
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
66
|
+
|
|
67
|
+
return (
|
|
68
|
+
<>
|
|
69
|
+
<Button onPress={() => setIsOpen(true)}>Open Dialog</Button>
|
|
70
|
+
<DialogContainer
|
|
71
|
+
isOpen={isOpen}
|
|
72
|
+
isDismissable
|
|
73
|
+
onDismiss={() => setIsOpen(false)}
|
|
74
|
+
>
|
|
75
|
+
<Dialog>
|
|
76
|
+
<Header>
|
|
77
|
+
<Title>Controlled Dialog</Title>
|
|
78
|
+
</Header>
|
|
79
|
+
<Content>
|
|
80
|
+
<Paragraph>This dialog is controlled externally.</Paragraph>
|
|
81
|
+
</Content>
|
|
82
|
+
<Footer>
|
|
83
|
+
<Button onPress={() => setIsOpen(false)}>Close</Button>
|
|
84
|
+
</Footer>
|
|
85
|
+
</Dialog>
|
|
86
|
+
</DialogContainer>
|
|
87
|
+
</>
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Conditional Dialog
|
|
93
|
+
|
|
94
|
+
```jsx
|
|
95
|
+
function ConditionalDialog() {
|
|
96
|
+
const [showDialog, setShowDialog] = useState(false);
|
|
97
|
+
const [dialogContent, setDialogContent] = useState(null);
|
|
98
|
+
|
|
99
|
+
const openDialog = (content) => {
|
|
100
|
+
setDialogContent(content);
|
|
101
|
+
setShowDialog(true);
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
return (
|
|
105
|
+
<DialogContainer isOpen={showDialog} onDismiss={() => setShowDialog(false)}>
|
|
106
|
+
{dialogContent && (
|
|
107
|
+
<Dialog>
|
|
108
|
+
<Header>
|
|
109
|
+
<Title>Dynamic Dialog</Title>
|
|
110
|
+
</Header>
|
|
111
|
+
<Content>
|
|
112
|
+
{dialogContent}
|
|
113
|
+
</Content>
|
|
114
|
+
</Dialog>
|
|
115
|
+
)}
|
|
116
|
+
</DialogContainer>
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Non-dismissable Dialog
|
|
122
|
+
|
|
123
|
+
```jsx
|
|
124
|
+
<DialogContainer isOpen={isOpen} isDismissable={false}>
|
|
125
|
+
<Dialog>
|
|
126
|
+
<Header>
|
|
127
|
+
<Title>Important Notice</Title>
|
|
128
|
+
</Header>
|
|
129
|
+
<Content>
|
|
130
|
+
<Paragraph>This dialog requires user action to close.</Paragraph>
|
|
131
|
+
</Content>
|
|
132
|
+
<Footer>
|
|
133
|
+
<Button type="primary" onPress={handleAction}>
|
|
134
|
+
Take Action
|
|
135
|
+
</Button>
|
|
136
|
+
</Footer>
|
|
137
|
+
</Dialog>
|
|
138
|
+
</DialogContainer>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Accessibility
|
|
142
|
+
|
|
143
|
+
### Keyboard Navigation
|
|
144
|
+
|
|
145
|
+
- `Tab` - Moves focus between interactive elements within the dialog
|
|
146
|
+
- `Shift + Tab` - Moves focus backward between interactive elements
|
|
147
|
+
- `Escape` - Closes the dialog if `isDismissable` is true and `isKeyboardDismissDisabled` is false
|
|
148
|
+
|
|
149
|
+
### Screen Reader Support
|
|
150
|
+
|
|
151
|
+
- Dialog announces as "dialog" to screen readers
|
|
152
|
+
- Focus is trapped within the dialog when open
|
|
153
|
+
- Focus management is handled automatically
|
|
154
|
+
- Modal state is properly communicated to assistive technologies
|
|
155
|
+
|
|
156
|
+
### ARIA Properties
|
|
157
|
+
|
|
158
|
+
- `aria-modal` - Set to true to indicate modal behavior
|
|
159
|
+
- `aria-labelledby` - Links dialog to its title automatically
|
|
160
|
+
- `aria-describedby` - Links dialog to its description content
|
|
161
|
+
- `role` - Set to "dialog" for proper semantic meaning
|
|
162
|
+
|
|
163
|
+
## Best Practices
|
|
164
|
+
|
|
165
|
+
1. **Do**: Use DialogContainer for dialogs without specific triggers
|
|
166
|
+
```jsx
|
|
167
|
+
<DialogContainer isOpen={showErrorDialog} onDismiss={clearError}>
|
|
168
|
+
<Dialog>
|
|
169
|
+
<Header>
|
|
170
|
+
<Title>Error</Title>
|
|
171
|
+
</Header>
|
|
172
|
+
<Content>
|
|
173
|
+
<Paragraph>{errorMessage}</Paragraph>
|
|
174
|
+
</Content>
|
|
175
|
+
</Dialog>
|
|
176
|
+
</DialogContainer>
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
2. **Don't**: Use DialogContainer when DialogTrigger is more appropriate
|
|
180
|
+
```jsx
|
|
181
|
+
{/* Prefer DialogTrigger when you have a specific trigger */}
|
|
182
|
+
<DialogContainer isOpen={buttonPressed}>
|
|
183
|
+
<Dialog>...</Dialog>
|
|
184
|
+
</DialogContainer>
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
3. **State Management**: Always control the `isOpen` state externally
|
|
188
|
+
4. **Single Child**: Only pass one Dialog as a child to DialogContainer
|
|
189
|
+
5. **Cleanup**: Ensure proper cleanup of dialog state when component unmounts
|
|
190
|
+
|
|
191
|
+
## Suggested Improvements
|
|
192
|
+
|
|
193
|
+
- Enhancement 1: Add support for dialog stacking and z-index management
|
|
194
|
+
- Enhancement 2: Implement automatic focus restoration after dialog closes
|
|
195
|
+
- Enhancement 3: Add support for custom backdrop click behavior
|
|
196
|
+
|
|
197
|
+
## Related Components
|
|
198
|
+
|
|
199
|
+
- [DialogTrigger](./DialogTrigger.md) - Use when you have a specific trigger element
|
|
200
|
+
- [Dialog](./Dialog.md) - The content component used within DialogContainer
|
|
201
|
+
- [Button](../actions/Button.md) - Common element for dialog actions
|