@cube-dev/ui-kit 0.0.0-canary-c210a8c → 0.0.0-canary-60981ef
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/hooks/use-chained-callback.js +1 -1
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.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.js +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/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/ComplexLayout.md +469 -0
- package/docs/CreateComponent.md +410 -0
- package/docs/Introduction.md +122 -0
- package/docs/RenderCache.md +172 -0
- package/docs/Result.md +35 -0
- package/docs/SimpleLayout.md +26 -0
- package/docs/Typography.md +38 -0
- package/docs/components/CollectionItem.md +299 -0
- package/docs/components/actions/Banner.md +189 -0
- package/docs/components/actions/Button.md +183 -0
- package/docs/components/actions/ButtonSplit.md +189 -0
- package/docs/components/actions/CommandMenu.md +430 -0
- package/docs/components/actions/ItemButton.md +304 -0
- package/docs/components/actions/Link.md +325 -0
- package/docs/components/actions/Menu.md +509 -0
- package/docs/components/actions/use-anchored-menu.md +211 -0
- package/docs/components/actions/use-context-menu.md +220 -0
- package/docs/components/content/Badge.md +187 -0
- package/docs/components/content/Disclosure.md +177 -0
- package/docs/components/content/HotKeys.md +352 -0
- package/docs/components/content/Item.md +488 -0
- package/docs/components/content/ItemCard.md +125 -0
- package/docs/components/content/Layout.md +866 -0
- package/docs/components/content/Tag.md +156 -0
- package/docs/components/content/TextItem.md +211 -0
- package/docs/components/fields/Checkbox.md +180 -0
- package/docs/components/fields/ComboBox.md +617 -0
- package/docs/components/fields/DatePicker.md +231 -0
- package/docs/components/fields/FileInput.md +197 -0
- package/docs/components/fields/FilterListBox.md +703 -0
- package/docs/components/fields/FilterPicker.md +736 -0
- package/docs/components/fields/HueSlider.md +175 -0
- package/docs/components/fields/ListBox.md +691 -0
- package/docs/components/fields/NumberInput.md +184 -0
- package/docs/components/fields/PasswordInput.md +218 -0
- package/docs/components/fields/Picker.md +884 -0
- package/docs/components/fields/RadioGroup.md +314 -0
- package/docs/components/fields/SearchInput.md +227 -0
- package/docs/components/fields/Select.md +583 -0
- package/docs/components/fields/Slider.md +53 -0
- package/docs/components/fields/Switch.md +174 -0
- package/docs/components/fields/TextArea.md +61 -0
- package/docs/components/fields/TextInput.md +204 -0
- package/docs/components/fields/TextInputMapper.md +34 -0
- package/docs/components/form/Field.md +341 -0
- package/docs/components/form/Form.md +455 -0
- package/docs/components/form/FormInstance.md +319 -0
- package/docs/components/helpers/DisplayTransition.md +259 -0
- package/docs/components/helpers/IconSwitch.md +156 -0
- package/docs/components/navigation/Tabs.md +704 -0
- package/docs/components/overlays/Dialog.md +202 -0
- package/docs/components/overlays/DialogContainer.md +201 -0
- package/docs/components/overlays/DialogForm.md +290 -0
- package/docs/components/overlays/DialogTrigger.md +191 -0
- package/docs/components/overlays/Notifications.md +406 -0
- package/docs/components/overlays/Toast.md +285 -0
- package/docs/components/overlays/Tooltip.md +371 -0
- package/docs/components/overlays/UseDialogContainer.md +603 -0
- package/package.json +1 -1
- package/docs/.gitignore +0 -3
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# Button
|
|
2
|
+
|
|
3
|
+
A versatile action component that triggers commands and navigates users.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Trigger an immediate in-page action (e.g., open a dialog)
|
|
8
|
+
- Navigate to another route or URL using the `to` prop while keeping button styling
|
|
9
|
+
- Toggle a boolean state with `isSelected`
|
|
10
|
+
- Display progress feedback with `isLoading`
|
|
11
|
+
|
|
12
|
+
## Component
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Properties
|
|
17
|
+
|
|
18
|
+
- **`type`** `'primary' | 'secondary' | 'outline' | 'neutral' | 'clear' | 'link'` (default: `outline`) — Visual style variant of the button
|
|
19
|
+
- **`theme`** `'default' | 'danger' | 'success' | 'warning' | 'note' | 'special'` (default: `default`) — Semantic colour palette theme
|
|
20
|
+
- **`size`** `'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'` (default: `medium`) — Button size
|
|
21
|
+
- **`icon`** — Icon rendered before the content. Can be: ReactNode, `true` (empty slot), or function `({ loading, selected, ...mods }) => ReactNode | true`
|
|
22
|
+
- **`rightIcon`** — Icon rendered after the content. Can be: ReactNode, `true` (empty slot), or function `({ loading, selected, ...mods }) => ReactNode | true`
|
|
23
|
+
- **`children`** `string` — Button label or custom content
|
|
24
|
+
- **`isLoading`** `boolean` (default: `false`) — Show loading spinner and disable interactions (default: false)
|
|
25
|
+
- **`isSelected`** `boolean` (default: `false`) — Marks the button as pressed / selected (toggle) (default: false)
|
|
26
|
+
- **`to`** `string` — Destination URL or route; prefix with `!` to open in new tab, `@` to bypass router
|
|
27
|
+
- **`onPress`** `function` — Callback fired when the button is activated by mouse, touch, or keyboard
|
|
28
|
+
|
|
29
|
+
### Base Properties
|
|
30
|
+
|
|
31
|
+
Supports [Base properties](../../tasty/tasty.md)
|
|
32
|
+
|
|
33
|
+
### Styling Properties
|
|
34
|
+
|
|
35
|
+
#### styles
|
|
36
|
+
|
|
37
|
+
Customises the root element of the component.
|
|
38
|
+
|
|
39
|
+
Sub-elements:
|
|
40
|
+
- `ButtonIcon` – wrapper around `icon` and `rightIcon`.
|
|
41
|
+
|
|
42
|
+
### Style Properties
|
|
43
|
+
|
|
44
|
+
These properties allow direct styling without using the `styles` prop: `width`, `height`.
|
|
45
|
+
|
|
46
|
+
### Modifiers
|
|
47
|
+
|
|
48
|
+
The `mods` prop accepts the following modifiers you can override:
|
|
49
|
+
|
|
50
|
+
| Modifier | Type | Description |
|
|
51
|
+
|----------|------|-------------|
|
|
52
|
+
| hovered | `boolean` | Forces hover state. |
|
|
53
|
+
| pressed | `boolean` | Forces pressed state. |
|
|
54
|
+
| focused | `boolean` | Forces focus ring. |
|
|
55
|
+
| disabled | `boolean` | Forces disabled appearance. |
|
|
56
|
+
| loading | `boolean` | Displays loading spinner. |
|
|
57
|
+
| selected | `boolean` | Displays selected state. |
|
|
58
|
+
| has-icons | `boolean` | Indicates that the button contains at least one icon. |
|
|
59
|
+
| single-icon | `boolean` | Icon-only button without text. |
|
|
60
|
+
|
|
61
|
+
## Variants
|
|
62
|
+
|
|
63
|
+
### Types. `type` prop
|
|
64
|
+
|
|
65
|
+
- `primary` – Emphasised call-to-action.
|
|
66
|
+
- `secondary` – Less emphasised, alternative action.
|
|
67
|
+
- `outline` – Transparent background with border.
|
|
68
|
+
- `neutral` – Minimal style that blends with surroundings.
|
|
69
|
+
- `clear` – Text-only variant without background and border.
|
|
70
|
+
- `link` – Styled as a textual link.
|
|
71
|
+
|
|
72
|
+
### Themes. `theme` prop
|
|
73
|
+
|
|
74
|
+
- `default` – Brand purple colours.
|
|
75
|
+
- `danger` – Red palette for destructive actions.
|
|
76
|
+
- `success` – Green palette for positive actions.
|
|
77
|
+
- `warning` – Yellow/amber palette for caution or attention.
|
|
78
|
+
- `note` – Violet palette for informational context.
|
|
79
|
+
- `special` – White palette for dark backgrounds.
|
|
80
|
+
|
|
81
|
+
### Sizes. `size` prop
|
|
82
|
+
|
|
83
|
+
- `xsmall` – Extra compact height (24px).
|
|
84
|
+
- `small` – Compact height (28px).
|
|
85
|
+
- `medium` – Default height (32px).
|
|
86
|
+
- `large` – Spacious height (40px).
|
|
87
|
+
- `xlarge` – Extra spacious height (48px).
|
|
88
|
+
|
|
89
|
+
## Examples
|
|
90
|
+
|
|
91
|
+
### Basic Usage
|
|
92
|
+
|
|
93
|
+
```jsx
|
|
94
|
+
<Button onPress={() => console.log('Pressed')}>Save</Button>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Icon Button
|
|
98
|
+
|
|
99
|
+
```jsx
|
|
100
|
+
import { IconPlus } from '@tabler/icons-react';
|
|
101
|
+
|
|
102
|
+
{/* Standard icon */}
|
|
103
|
+
<Button icon={<IconPlus />} aria-label="Add item" />
|
|
104
|
+
|
|
105
|
+
{/* Empty slot (reserves space but shows nothing) */}
|
|
106
|
+
<Button icon={true} aria-label="Empty slot" />
|
|
107
|
+
|
|
108
|
+
{/* Dynamic icon based on mods */}
|
|
109
|
+
<Button
|
|
110
|
+
icon={({ loading }) => loading ? <SpinnerIcon /> : <IconPlus />}
|
|
111
|
+
aria-label="Dynamic icon"
|
|
112
|
+
>
|
|
113
|
+
Save
|
|
114
|
+
</Button>
|
|
115
|
+
|
|
116
|
+
{/* Return true from function for empty slot */}
|
|
117
|
+
<Button
|
|
118
|
+
icon={({ selected }) => selected ? <CheckIcon /> : true}
|
|
119
|
+
aria-label="Conditional icon"
|
|
120
|
+
>
|
|
121
|
+
Option
|
|
122
|
+
</Button>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Link Button
|
|
126
|
+
|
|
127
|
+
```jsx
|
|
128
|
+
<!-- Navigate to a new page using the router -->
|
|
129
|
+
<Button to="/pricing">Pricing</Button>
|
|
130
|
+
<!-- Use `!` prefix to open in a new tab -->
|
|
131
|
+
<Button to="!/pricing">Pricing</Button>
|
|
132
|
+
<!-- Use `@` prefix to navigate to a new page without using the router -->
|
|
133
|
+
<Button to="@/pricing">Pricing</Button>
|
|
134
|
+
<!-- Use `@` to reload the page -->
|
|
135
|
+
<Button to="@/pricing">Pricing</Button>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Loading State
|
|
139
|
+
|
|
140
|
+
```jsx
|
|
141
|
+
<Button isLoading>Processing…</Button>
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Accessibility
|
|
145
|
+
|
|
146
|
+
### Keyboard Navigation
|
|
147
|
+
|
|
148
|
+
- `Tab` – Moves focus to the button.
|
|
149
|
+
- `Space` / `Enter` – Activates the button.
|
|
150
|
+
|
|
151
|
+
### Screen Reader Support
|
|
152
|
+
|
|
153
|
+
- Announces role "button".
|
|
154
|
+
- Announces state changes such as "pressed", "disabled", or "selected".
|
|
155
|
+
- Provide `label`/`aria-label` when the button has no visible text.
|
|
156
|
+
|
|
157
|
+
### ARIA Properties
|
|
158
|
+
|
|
159
|
+
- `aria-label`, `aria-labelledby` – Accessible name.
|
|
160
|
+
- `aria-pressed` – Managed automatically when `isSelected` is used.
|
|
161
|
+
- Additional ARIA attributes supported by React Aria's `useButton`.
|
|
162
|
+
|
|
163
|
+
## Best Practices
|
|
164
|
+
|
|
165
|
+
1. **Do**: Provide a label for icon-only buttons
|
|
166
|
+
```jsx
|
|
167
|
+
<Button icon={<IconPlus />} aria-label="Add" />
|
|
168
|
+
```
|
|
169
|
+
2. **Don't**: Use the `link` type for destructive actions – prefer `danger.primary` instead.
|
|
170
|
+
3. **Callbacks**: Always use `onPress` for actions that don't navigate. Use `onClick` only if you need to access the event object.
|
|
171
|
+
4. **Accessibility**: Use `isLoading` rather than disabling a button without feedback.
|
|
172
|
+
5. **Performance**: Reuse icon components to avoid unnecessary re-renders.
|
|
173
|
+
|
|
174
|
+
## Suggested Improvements
|
|
175
|
+
|
|
176
|
+
- Add `autoFocus` support.
|
|
177
|
+
- Provide `block` modifier to stretch the button 100% width.
|
|
178
|
+
- Expose a `tooltip` helper for icon-only buttons.
|
|
179
|
+
|
|
180
|
+
## Related Components
|
|
181
|
+
|
|
182
|
+
- [Link](./Link.md) – Semantic navigation styled like a button.
|
|
183
|
+
- [ItemButton](./ItemButton.md) – Interactive button built on Item with icon support.
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# Button.Split
|
|
2
|
+
|
|
3
|
+
A split button that groups a primary action with a dropdown trigger for secondary actions. Supports two modes: **custom** (arbitrary button children) and **strict** (declarative action list with built-in menu).
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Present a default action alongside alternative actions in a compact control
|
|
8
|
+
- Allow users to switch between related operations (e.g., deploy targets, save modes)
|
|
9
|
+
- Group two or more buttons visually as a single connected unit
|
|
10
|
+
|
|
11
|
+
## Component
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Properties
|
|
16
|
+
|
|
17
|
+
### Base Properties
|
|
18
|
+
|
|
19
|
+
Supports [Base properties](../../tasty/tasty.md)
|
|
20
|
+
|
|
21
|
+
### Styling Properties
|
|
22
|
+
|
|
23
|
+
#### styles
|
|
24
|
+
|
|
25
|
+
Customises the root wrapper element of the split button.
|
|
26
|
+
|
|
27
|
+
### Style Properties
|
|
28
|
+
|
|
29
|
+
These properties allow direct styling without using the `styles` prop: `width`, `height`.
|
|
30
|
+
|
|
31
|
+
### Context Inheritance
|
|
32
|
+
|
|
33
|
+
`type`, `theme`, `size`, and `isDisabled` set on `Button.Split` are inherited by all child `Button` components via context. Explicitly passed props on individual buttons always take precedence.
|
|
34
|
+
|
|
35
|
+
## Modes
|
|
36
|
+
|
|
37
|
+
### Strict Mode
|
|
38
|
+
|
|
39
|
+
Pass an `actions` array to automatically render an action button and a trigger button with a dropdown menu. The trigger displays a `DirectionIcon` pointing down.
|
|
40
|
+
|
|
41
|
+
Each action object requires `key` and `label`, and inherits all other props from `Menu.Item` (`icon`, `rightIcon`, `description`, `descriptionPlacement`, `prefix`, `suffix`, `hotkeys`, `textValue`, `isDisabled`, `qa`, `styles`, etc.).
|
|
42
|
+
|
|
43
|
+
```jsx
|
|
44
|
+
import { Button } from '@cube-dev/ui-kit';
|
|
45
|
+
|
|
46
|
+
const actions = [
|
|
47
|
+
{ key: 'deploy', label: 'Deploy', icon: <IconSend />, hotkeys: 'Mod+D' },
|
|
48
|
+
{ key: 'deploy-staging', label: 'Deploy to Staging', icon: <IconSend />, description: 'Preview environment' },
|
|
49
|
+
{ key: 'deploy-preview', label: 'Deploy Preview', icon: <IconPlayerPlay /> },
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
<Button.Split
|
|
53
|
+
actions={actions}
|
|
54
|
+
defaultActionKey="deploy"
|
|
55
|
+
type="primary"
|
|
56
|
+
onAction={(key) => console.log('Executed:', key)}
|
|
57
|
+
onActionChange={(key) => console.log('Switched to:', key)}
|
|
58
|
+
/>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
#### Controlled
|
|
62
|
+
|
|
63
|
+
Use `actionKey` and `onActionChange` for controlled state.
|
|
64
|
+
|
|
65
|
+
```jsx
|
|
66
|
+
const [currentKey, setCurrentKey] = useState('deploy');
|
|
67
|
+
|
|
68
|
+
<Button.Split
|
|
69
|
+
actions={actions}
|
|
70
|
+
actionKey={currentKey}
|
|
71
|
+
type="primary"
|
|
72
|
+
onAction={(key) => console.log('Executed:', key)}
|
|
73
|
+
onActionChange={setCurrentKey}
|
|
74
|
+
/>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Custom Mode
|
|
78
|
+
|
|
79
|
+
Pass `children` to render arbitrary buttons with split-group styling (joined radius, collapsed borders). Set `type` and `theme` on the wrapper -- child buttons inherit them via context.
|
|
80
|
+
|
|
81
|
+
```jsx
|
|
82
|
+
import { Button, Menu } from '@cube-dev/ui-kit';
|
|
83
|
+
import { DirectionIcon } from '@cube-dev/ui-kit';
|
|
84
|
+
|
|
85
|
+
<Button.Split type="primary">
|
|
86
|
+
<Button onPress={() => console.log('Save')}>Save</Button>
|
|
87
|
+
<Menu.Trigger placement="bottom end">
|
|
88
|
+
<Button
|
|
89
|
+
aria-label="More save options"
|
|
90
|
+
icon={({ pressed }) => <DirectionIcon to={pressed ? 'up' : 'down'} />}
|
|
91
|
+
/>
|
|
92
|
+
<Menu onAction={(key) => console.log(key)}>
|
|
93
|
+
<Menu.Item key="save-draft">Save as Draft</Menu.Item>
|
|
94
|
+
<Menu.Item key="save-publish">Save & Publish</Menu.Item>
|
|
95
|
+
</Menu>
|
|
96
|
+
</Menu.Trigger>
|
|
97
|
+
</Button.Split>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Multiple Buttons
|
|
101
|
+
|
|
102
|
+
More than two buttons are supported. Middle buttons have no border radius.
|
|
103
|
+
|
|
104
|
+
```jsx
|
|
105
|
+
<Button.Split type="outline">
|
|
106
|
+
<Button icon={<IconPlus />}>Add</Button>
|
|
107
|
+
<Button icon={<IconCopy />}>Copy</Button>
|
|
108
|
+
<Button icon={<IconDownload />}>Export</Button>
|
|
109
|
+
</Button.Split>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Examples
|
|
113
|
+
|
|
114
|
+
### Variants
|
|
115
|
+
|
|
116
|
+
Different types and themes can be applied. All child buttons inherit the styling.
|
|
117
|
+
|
|
118
|
+
```jsx
|
|
119
|
+
<Button.Split actions={actions} defaultActionKey="copy" type="primary" />
|
|
120
|
+
<Button.Split actions={actions} defaultActionKey="copy" type="secondary" />
|
|
121
|
+
<Button.Split actions={actions} defaultActionKey="copy" type="outline" />
|
|
122
|
+
<Button.Split actions={actions} defaultActionKey="copy" type="primary" theme="danger" />
|
|
123
|
+
<Button.Split actions={actions} defaultActionKey="copy" type="primary" isDisabled />
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Customizing Sub-Components
|
|
127
|
+
|
|
128
|
+
Use `actionProps`, `triggerProps`, and `menuProps` to customise individual parts in strict mode.
|
|
129
|
+
|
|
130
|
+
```jsx
|
|
131
|
+
<Button.Split
|
|
132
|
+
actions={actions}
|
|
133
|
+
defaultActionKey="deploy"
|
|
134
|
+
type="primary"
|
|
135
|
+
actionProps={{ size: 'large' }}
|
|
136
|
+
triggerProps={{ 'aria-label': 'Select deploy target' }}
|
|
137
|
+
menuProps={{ placement: 'bottom start' }}
|
|
138
|
+
/>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Accessibility
|
|
142
|
+
|
|
143
|
+
### Keyboard Navigation
|
|
144
|
+
|
|
145
|
+
- `Tab` -- Moves focus between the action button and the trigger button.
|
|
146
|
+
- `Space` / `Enter` -- Activates the focused button. On the trigger, opens the dropdown menu.
|
|
147
|
+
- `Arrow Down` -- When the menu is open, navigates menu items.
|
|
148
|
+
- `Escape` -- Closes the dropdown menu and returns focus to the trigger.
|
|
149
|
+
|
|
150
|
+
### Screen Reader Support
|
|
151
|
+
|
|
152
|
+
- The action button announces its label.
|
|
153
|
+
- The trigger button has `aria-label="More options"` by default (override via `triggerProps`).
|
|
154
|
+
- The dropdown menu announces selection changes.
|
|
155
|
+
|
|
156
|
+
### ARIA Properties
|
|
157
|
+
|
|
158
|
+
- `aria-label` -- Provide on the trigger for context (e.g., "Select deploy target").
|
|
159
|
+
- Menu items support `aria-disabled` via the `isDisabled` property on actions.
|
|
160
|
+
|
|
161
|
+
## Best Practices
|
|
162
|
+
|
|
163
|
+
1. **Do**: Use strict mode for standard action+trigger patterns.
|
|
164
|
+
```jsx
|
|
165
|
+
<Button.Split actions={actions} defaultActionKey="deploy" type="primary" />
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
2. **Do**: Set `type` and `theme` on the wrapper instead of repeating on each child.
|
|
169
|
+
```jsx
|
|
170
|
+
<Button.Split type="primary">
|
|
171
|
+
<Button>Save</Button>
|
|
172
|
+
<Button icon={<DirectionIcon to="down" />} aria-label="Options" />
|
|
173
|
+
</Button.Split>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
3. **Don't**: Mix `actions` prop with `children`. Use one mode or the other.
|
|
177
|
+
|
|
178
|
+
4. **Accessibility**: Always provide `aria-label` on icon-only trigger buttons.
|
|
179
|
+
|
|
180
|
+
## Suggested Improvements
|
|
181
|
+
|
|
182
|
+
- Support `isLoading` on the action button in strict mode.
|
|
183
|
+
- Add keyboard shortcut display in menu items via `hotkeys` prop.
|
|
184
|
+
|
|
185
|
+
## Related Components
|
|
186
|
+
|
|
187
|
+
- [Button](./Button.md) -- Standalone action button.
|
|
188
|
+
- [Menu](./Menu.md) -- Dropdown menu for action lists.
|
|
189
|
+
- Button.Group -- Layout wrapper for spacing multiple buttons.
|