@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,156 @@
|
|
|
1
|
+
# Tag
|
|
2
|
+
|
|
3
|
+
Tags are compact, inline elements used to label, categorize, or organize items. They provide visual metadata and can optionally be dismissed by users.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- **Categorization**: Label items with topics, categories, or types
|
|
8
|
+
- **Filtering**: Display active filters or search criteria
|
|
9
|
+
- **Status**: Show status indicators or states
|
|
10
|
+
- **User Input**: Display selected items in multi-select scenarios
|
|
11
|
+
- **Metadata**: Show additional information about content
|
|
12
|
+
|
|
13
|
+
## When Not to Use
|
|
14
|
+
|
|
15
|
+
- **Navigation**: Use `Button` or `Link` for navigation actions
|
|
16
|
+
- **Actions**: Use `Button` for primary or secondary actions
|
|
17
|
+
- **Long text**: Tags should contain short, scannable text
|
|
18
|
+
- **Complex content**: For multi-line or detailed content, use `Badge` or `Card`
|
|
19
|
+
|
|
20
|
+
## Component
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
### Properties
|
|
25
|
+
|
|
26
|
+
### Base Properties
|
|
27
|
+
|
|
28
|
+
Tag extends from `Item` component and supports all base design system properties including:
|
|
29
|
+
- Layout props: `width`, `height`, `margin`, `padding`
|
|
30
|
+
- Color props: `fill`, `color`, `border`
|
|
31
|
+
- Typography props: `preset`, `fontSize`, `fontWeight`
|
|
32
|
+
- Other Item props: `tooltip`, `isDisabled`, `qa`
|
|
33
|
+
|
|
34
|
+
## Examples
|
|
35
|
+
|
|
36
|
+
### Themes
|
|
37
|
+
|
|
38
|
+
Tags support multiple themes for different semantic meanings:
|
|
39
|
+
|
|
40
|
+
Available themes:
|
|
41
|
+
- **Default**: Neutral, for general categorization
|
|
42
|
+
- **Warning**: Yellow/amber, caution or attention needed
|
|
43
|
+
- **Note**: Violet, informational content
|
|
44
|
+
- **Success**: Green, positive states or completed actions
|
|
45
|
+
- **Danger**: Red, errors or destructive actions
|
|
46
|
+
- **Special**: Purple, highlighted or premium features
|
|
47
|
+
- **Disabled**: Gray, inactive or unavailable items
|
|
48
|
+
|
|
49
|
+
### With Icons
|
|
50
|
+
|
|
51
|
+
Icons can be added to provide additional visual context:
|
|
52
|
+
|
|
53
|
+
```jsx
|
|
54
|
+
import { IconCoin } from '@tabler/icons-react';
|
|
55
|
+
|
|
56
|
+
<Tag icon={<IconCoin />}>With Icon</Tag>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Closable Tags
|
|
60
|
+
|
|
61
|
+
Tags can be made dismissible with the `isClosable` prop:
|
|
62
|
+
|
|
63
|
+
All themes support the closable variant:
|
|
64
|
+
|
|
65
|
+
```jsx
|
|
66
|
+
<Tag isClosable onClose={() => console.log('Tag closed')}>
|
|
67
|
+
Closable Tag
|
|
68
|
+
</Tag>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Closable with Icons
|
|
72
|
+
|
|
73
|
+
Combine icons with closable functionality:
|
|
74
|
+
|
|
75
|
+
### Sizes
|
|
76
|
+
|
|
77
|
+
Tags support multiple sizes inherited from the Item component:
|
|
78
|
+
|
|
79
|
+
- **inline** (default): Compact size that fits inline with text
|
|
80
|
+
- **xsmall**: Extra small button-like size
|
|
81
|
+
- **small**: Small button-like size
|
|
82
|
+
- **medium**: Medium button-like size
|
|
83
|
+
- **large**: Large button-like size
|
|
84
|
+
|
|
85
|
+
### Custom Styles
|
|
86
|
+
|
|
87
|
+
Apply custom styling using the `styles` prop:
|
|
88
|
+
|
|
89
|
+
```jsx
|
|
90
|
+
<Tag
|
|
91
|
+
styles={{
|
|
92
|
+
fill: '#purple.10',
|
|
93
|
+
color: '#purple',
|
|
94
|
+
border: '#purple.30',
|
|
95
|
+
}}
|
|
96
|
+
>
|
|
97
|
+
Custom Tag
|
|
98
|
+
</Tag>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Best Practices
|
|
102
|
+
|
|
103
|
+
### Content
|
|
104
|
+
|
|
105
|
+
- Keep tag text short and scannable (1-3 words ideal)
|
|
106
|
+
- Use sentence case for tag labels
|
|
107
|
+
- Use consistent terminology across similar tags
|
|
108
|
+
- Avoid punctuation unless necessary
|
|
109
|
+
|
|
110
|
+
### Interaction
|
|
111
|
+
|
|
112
|
+
- Only make tags closable when users can dismiss them
|
|
113
|
+
- Provide feedback when a tag is closed (e.g., update list)
|
|
114
|
+
- Consider confirmation for destructive closures
|
|
115
|
+
- Ensure close buttons are accessible via keyboard
|
|
116
|
+
|
|
117
|
+
### Visual Design
|
|
118
|
+
|
|
119
|
+
- Use theme consistently for semantic meaning
|
|
120
|
+
- Don't mix too many themes in the same group
|
|
121
|
+
- Maintain adequate spacing between tags
|
|
122
|
+
- Consider wrapping behavior for multiple tags
|
|
123
|
+
|
|
124
|
+
### Accessibility
|
|
125
|
+
|
|
126
|
+
- Tags have `role="status"` for screen readers
|
|
127
|
+
- Close buttons include `aria-label="Close"`
|
|
128
|
+
- All themes maintain sufficient color contrast
|
|
129
|
+
- Keyboard navigation is fully supported via Item
|
|
130
|
+
|
|
131
|
+
## Related Components
|
|
132
|
+
|
|
133
|
+
- **Badge**: For numerical indicators or counts
|
|
134
|
+
- **Chip**: For interactive selection chips
|
|
135
|
+
- **Button**: For actions and navigation
|
|
136
|
+
- **Item**: Base component that Tag extends from
|
|
137
|
+
|
|
138
|
+
## Migration from Legacy Tag
|
|
139
|
+
|
|
140
|
+
The Tag component now extends from `Item`, providing enhanced functionality:
|
|
141
|
+
|
|
142
|
+
```jsx
|
|
143
|
+
// Old API still works
|
|
144
|
+
<Tag type="success">Legacy</Tag>
|
|
145
|
+
|
|
146
|
+
// New API (preferred)
|
|
147
|
+
<Tag theme="success">Modern</Tag>
|
|
148
|
+
|
|
149
|
+
// New features from Item
|
|
150
|
+
<Tag tooltip="Additional info" isDisabled>
|
|
151
|
+
With Tooltip
|
|
152
|
+
</Tag>
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
The `type` prop is deprecated in favor of `theme` for consistency with other components.
|
|
156
|
+
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# TextItem
|
|
2
|
+
|
|
3
|
+
A text component with built-in overflow handling and auto-tooltips. When text is truncated, a tooltip automatically appears on hover showing the full content. Also supports text highlighting for search results.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Display text that may overflow its container with automatic tooltip fallback
|
|
8
|
+
- Show search results with highlighted matching terms
|
|
9
|
+
- Labels or descriptions in constrained layouts (sidebars, tables, lists)
|
|
10
|
+
- Any text that needs ellipsis truncation with accessible full-text disclosure
|
|
11
|
+
|
|
12
|
+
## Component
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
### Properties
|
|
17
|
+
|
|
18
|
+
### Base Properties
|
|
19
|
+
|
|
20
|
+
Supports [Base properties](../../tasty/tasty.md) and all Text properties including `preset`, `color`, `weight`, `transform`, `ellipsis`, `nowrap`.
|
|
21
|
+
|
|
22
|
+
### Styling Properties
|
|
23
|
+
|
|
24
|
+
#### styles
|
|
25
|
+
|
|
26
|
+
Customizes the root text element. Inherits all styling capabilities from the Text component.
|
|
27
|
+
|
|
28
|
+
#### highlightStyles
|
|
29
|
+
|
|
30
|
+
Customizes the appearance of highlighted text portions.
|
|
31
|
+
|
|
32
|
+
### Style Properties
|
|
33
|
+
|
|
34
|
+
These properties allow direct style application: `preset`, `color`, `weight`, `transform`, and all standard text/color style props.
|
|
35
|
+
|
|
36
|
+
## Examples
|
|
37
|
+
|
|
38
|
+
### Basic Usage
|
|
39
|
+
|
|
40
|
+
```jsx
|
|
41
|
+
<TextItem>Simple text content</TextItem>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Overflow with Auto-Tooltip
|
|
45
|
+
|
|
46
|
+
When text overflows its container, hovering reveals a tooltip with the full content:
|
|
47
|
+
|
|
48
|
+
```jsx
|
|
49
|
+
<Block width="200px">
|
|
50
|
+
<TextItem>
|
|
51
|
+
This is a very long text that will be truncated with ellipsis
|
|
52
|
+
and show a tooltip on hover
|
|
53
|
+
</TextItem>
|
|
54
|
+
</Block>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Text Highlighting
|
|
58
|
+
|
|
59
|
+
Highlight matching text within the content - useful for search results:
|
|
60
|
+
|
|
61
|
+
```jsx
|
|
62
|
+
<TextItem highlight="search">
|
|
63
|
+
Search results with highlighted text matching your query
|
|
64
|
+
</TextItem>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Custom Highlight Styles
|
|
68
|
+
|
|
69
|
+
Customize the appearance of highlighted text with `highlightStyles`:
|
|
70
|
+
|
|
71
|
+
```jsx
|
|
72
|
+
<TextItem
|
|
73
|
+
highlight="important"
|
|
74
|
+
highlightStyles={{ fill: '#purple.20', color: '#purple' }}
|
|
75
|
+
>
|
|
76
|
+
This important text has custom highlight styling
|
|
77
|
+
</TextItem>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Case-Sensitive Highlighting
|
|
81
|
+
|
|
82
|
+
By default, highlighting is case-insensitive. Enable case-sensitive matching with `highlightCaseSensitive`:
|
|
83
|
+
|
|
84
|
+
```jsx
|
|
85
|
+
{/* Case-insensitive (default) - matches TEXT, text, Text */}
|
|
86
|
+
<TextItem highlight="text">
|
|
87
|
+
TEXT and text and Text are all highlighted
|
|
88
|
+
</TextItem>
|
|
89
|
+
|
|
90
|
+
{/* Case-sensitive - only matches exact case */}
|
|
91
|
+
<TextItem highlight="text" highlightCaseSensitive>
|
|
92
|
+
TEXT and text and Text - only lowercase is highlighted
|
|
93
|
+
</TextItem>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Multiple Highlights
|
|
97
|
+
|
|
98
|
+
All occurrences of the highlight string are highlighted:
|
|
99
|
+
|
|
100
|
+
```jsx
|
|
101
|
+
<TextItem highlight="fox">
|
|
102
|
+
The quick brown fox jumps over the lazy fox
|
|
103
|
+
</TextItem>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Custom Tooltip
|
|
107
|
+
|
|
108
|
+
Override the auto-tooltip with custom content:
|
|
109
|
+
|
|
110
|
+
```jsx
|
|
111
|
+
<TextItem tooltip="Custom tooltip text that differs from the content">
|
|
112
|
+
Short text
|
|
113
|
+
</TextItem>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Disabled Tooltip
|
|
117
|
+
|
|
118
|
+
Disable the tooltip entirely:
|
|
119
|
+
|
|
120
|
+
```jsx
|
|
121
|
+
<TextItem tooltip={false}>
|
|
122
|
+
This text will truncate but won't show a tooltip
|
|
123
|
+
</TextItem>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Tooltip Placement
|
|
127
|
+
|
|
128
|
+
Control where the tooltip appears:
|
|
129
|
+
|
|
130
|
+
```jsx
|
|
131
|
+
<TextItem tooltipPlacement="bottom">
|
|
132
|
+
Tooltip appears below on hover
|
|
133
|
+
</TextItem>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### With Text Styles
|
|
137
|
+
|
|
138
|
+
Apply typography and color styles:
|
|
139
|
+
|
|
140
|
+
```jsx
|
|
141
|
+
<TextItem preset="h3">Heading style</TextItem>
|
|
142
|
+
<TextItem preset="t2" color="#purple">Colored text</TextItem>
|
|
143
|
+
<TextItem weight="bold">Bold text</TextItem>
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Search Results List
|
|
147
|
+
|
|
148
|
+
Common pattern for filterable lists with highlighted search terms:
|
|
149
|
+
|
|
150
|
+
```jsx
|
|
151
|
+
const items = ['Apple', 'Application', 'Banana', 'Apply', 'Grape'];
|
|
152
|
+
const searchTerm = 'app';
|
|
153
|
+
|
|
154
|
+
<Space flow="column" gap="0.5x">
|
|
155
|
+
{items.map((item) => (
|
|
156
|
+
<TextItem key={item} highlight={searchTerm}>
|
|
157
|
+
{item}
|
|
158
|
+
</TextItem>
|
|
159
|
+
))}
|
|
160
|
+
</Space>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Accessibility
|
|
164
|
+
|
|
165
|
+
### Keyboard Navigation
|
|
166
|
+
|
|
167
|
+
- `Tab` - Moves focus to the component (when tooltip is enabled)
|
|
168
|
+
- Tooltip content is accessible via focus, not just hover
|
|
169
|
+
|
|
170
|
+
### Screen Reader Support
|
|
171
|
+
|
|
172
|
+
- Truncated text is fully accessible via tooltip
|
|
173
|
+
- Highlighted text uses semantic `<mark>` element for screen reader announcement
|
|
174
|
+
- Tooltip content is announced when triggered
|
|
175
|
+
|
|
176
|
+
### ARIA Properties
|
|
177
|
+
|
|
178
|
+
- Tooltip trigger automatically manages `aria-describedby` for tooltip association
|
|
179
|
+
|
|
180
|
+
## Best Practices
|
|
181
|
+
|
|
182
|
+
1. **Do**: Use for text that may exceed container width
|
|
183
|
+
```jsx
|
|
184
|
+
<Block width="200px">
|
|
185
|
+
<TextItem>Long filename-that-might-overflow.tsx</TextItem>
|
|
186
|
+
</Block>
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
2. **Do**: Provide meaningful highlight terms for search
|
|
190
|
+
```jsx
|
|
191
|
+
<TextItem highlight={userSearchQuery}>{result.title}</TextItem>
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
3. **Don't**: Use for multi-line text (this component enforces single-line with ellipsis)
|
|
195
|
+
```jsx
|
|
196
|
+
{/* Use Text component instead for multi-line content */}
|
|
197
|
+
<Text>Multi-line paragraph content...</Text>
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
4. **Don't**: Disable tooltips for important truncated content
|
|
201
|
+
```jsx
|
|
202
|
+
{/* Users won't be able to see the full text */}
|
|
203
|
+
<TextItem tooltip={false}>Important information that gets cut off...</TextItem>
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Related Components
|
|
207
|
+
|
|
208
|
+
- Text - Base text component without overflow handling
|
|
209
|
+
- [Item](./Item.md) - Interactive list item with similar overflow behavior
|
|
210
|
+
- [TooltipProvider](../overlays/Tooltip.md) - Standalone tooltip wrapper
|
|
211
|
+
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Checkbox
|
|
2
|
+
|
|
3
|
+
Checkboxes allow users to select multiple items from a list of individual items, or to mark one individual item as selected. They provide a clear visual indication of selection state and support indeterminate states for partially selected groups.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Allow users to select multiple options from a list
|
|
8
|
+
- Enable/disable features or settings in forms
|
|
9
|
+
- Mark individual items as complete or selected
|
|
10
|
+
- Show indeterminate state when some items in a group are selected
|
|
11
|
+
- Create "Select All" functionality for data tables or lists
|
|
12
|
+
|
|
13
|
+
## Component
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
### Properties
|
|
18
|
+
|
|
19
|
+
- **`children`** `string` — The content to display as the checkbox label
|
|
20
|
+
- **`label`** `string` — External label for the checkbox
|
|
21
|
+
- **`value`** `string` — Value for the checkbox when used in a group
|
|
22
|
+
- **`isSelected`** `boolean` (default: `false`) — Whether the checkbox is selected (controlled)
|
|
23
|
+
- **`defaultSelected`** `boolean` (default: `false`) — Whether the checkbox is selected by default (uncontrolled)
|
|
24
|
+
- **`isIndeterminate`** `boolean` (default: `false`) — Whether the checkbox is in an indeterminate state
|
|
25
|
+
- **`isDisabled`** `boolean` (default: `false`) — Whether the checkbox is disabled
|
|
26
|
+
- **`isReadOnly`** `boolean` (default: `false`) — Whether the checkbox can be focused but not changed
|
|
27
|
+
- **`isRequired`** `boolean` (default: `false`) — Whether the checkbox must be checked before form submission
|
|
28
|
+
- **`validationState`** `undefined | 'valid' | 'invalid'` — Whether the checkbox should display valid or invalid visual styling
|
|
29
|
+
- **`autoFocus`** `boolean` (default: `false`) — Whether the element should receive focus on render
|
|
30
|
+
- **`onChange`** `function` — Callback fired when the checkbox value changes
|
|
31
|
+
- **`onFocus`** `function` — Callback fired when the checkbox receives focus
|
|
32
|
+
- **`onBlur`** `function` — Callback fired when the checkbox loses focus
|
|
33
|
+
|
|
34
|
+
### Base Properties
|
|
35
|
+
|
|
36
|
+
Supports [Base properties](../../tasty/tasty.md)
|
|
37
|
+
|
|
38
|
+
### Styling Properties
|
|
39
|
+
|
|
40
|
+
#### styles
|
|
41
|
+
|
|
42
|
+
Customizes the root wrapper element of the component.
|
|
43
|
+
|
|
44
|
+
#### inputStyles
|
|
45
|
+
|
|
46
|
+
Customizes the checkbox input element specifically.
|
|
47
|
+
|
|
48
|
+
### Style Properties
|
|
49
|
+
|
|
50
|
+
The Checkbox component supports all standard style properties:
|
|
51
|
+
|
|
52
|
+
`display`, `font`, `preset`, `hide`, `opacity`, `whiteSpace`, `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`, `reset`, `padding`, `paddingInline`, `paddingBlock`, `shadow`, `border`, `radius`, `overflow`, `scrollbar`, `outline`, `textAlign`, `color`, `fill`, `fade`, `textTransform`, `fontWeight`, `fontStyle`, `flow`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
|
|
53
|
+
|
|
54
|
+
### Modifiers
|
|
55
|
+
|
|
56
|
+
The `mods` property accepts the following modifiers you can override:
|
|
57
|
+
|
|
58
|
+
| Modifier | Type | Description |
|
|
59
|
+
|----------|------|-------------|
|
|
60
|
+
| checked | `boolean` | Whether the checkbox is checked |
|
|
61
|
+
| indeterminate | `boolean` | Whether the checkbox is in an indeterminate state |
|
|
62
|
+
| invalid | `boolean` | Whether the checkbox has validation errors |
|
|
63
|
+
| valid | `boolean` | Whether the checkbox is valid |
|
|
64
|
+
| disabled | `boolean` | Whether the checkbox is disabled |
|
|
65
|
+
| hovered | `boolean` | Whether the checkbox is being hovered |
|
|
66
|
+
| focused | `boolean` | Whether the checkbox has focus |
|
|
67
|
+
| side-label | `boolean` | Whether the label is positioned to the side |
|
|
68
|
+
| inside-form | `boolean` | Whether the checkbox is inside a form field |
|
|
69
|
+
|
|
70
|
+
## Examples
|
|
71
|
+
|
|
72
|
+
### Basic Usage
|
|
73
|
+
|
|
74
|
+
```jsx
|
|
75
|
+
<Checkbox>Accept terms and conditions</Checkbox>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### With Default Selection
|
|
79
|
+
|
|
80
|
+
```jsx
|
|
81
|
+
<Checkbox defaultSelected={true}>
|
|
82
|
+
Subscribe to newsletter
|
|
83
|
+
</Checkbox>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Indeterminate State
|
|
87
|
+
|
|
88
|
+
```jsx
|
|
89
|
+
<Checkbox isIndeterminate={true}>
|
|
90
|
+
Select All Items
|
|
91
|
+
</Checkbox>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Disabled State
|
|
95
|
+
|
|
96
|
+
```jsx
|
|
97
|
+
<Checkbox isDisabled={true}>
|
|
98
|
+
Cannot be changed
|
|
99
|
+
</Checkbox>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### With Validation
|
|
103
|
+
|
|
104
|
+
```jsx
|
|
105
|
+
<Checkbox validationState="invalid" isRequired>
|
|
106
|
+
Must accept to continue
|
|
107
|
+
</Checkbox>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### In a Group
|
|
111
|
+
|
|
112
|
+
```jsx
|
|
113
|
+
<Checkbox.Group
|
|
114
|
+
label="Select preferences"
|
|
115
|
+
value={['email', 'sms']}
|
|
116
|
+
onChange={setPreferences}
|
|
117
|
+
>
|
|
118
|
+
<Checkbox value="email">Email notifications</Checkbox>
|
|
119
|
+
<Checkbox value="sms">SMS notifications</Checkbox>
|
|
120
|
+
<Checkbox value="push">Push notifications</Checkbox>
|
|
121
|
+
</Checkbox.Group>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Accessibility
|
|
125
|
+
|
|
126
|
+
### Keyboard Navigation
|
|
127
|
+
|
|
128
|
+
- `Tab` - Moves focus to the checkbox
|
|
129
|
+
- `Space` - Toggles the checkbox state
|
|
130
|
+
- `Enter` - Activates the checkbox (when inside a form)
|
|
131
|
+
|
|
132
|
+
### Screen Reader Support
|
|
133
|
+
|
|
134
|
+
- Component announces as "checkbox" to screen readers
|
|
135
|
+
- State changes are announced (e.g., "checked", "unchecked", "indeterminate")
|
|
136
|
+
- Required state is communicated when `isRequired` is true
|
|
137
|
+
- Validation errors are announced when present
|
|
138
|
+
|
|
139
|
+
### ARIA Properties
|
|
140
|
+
|
|
141
|
+
- `aria-label` - Provides accessible label when no visible label exists
|
|
142
|
+
- `aria-labelledby` - References external label elements
|
|
143
|
+
- `aria-describedby` - References additional descriptive text
|
|
144
|
+
- `aria-checked` - Indicates checkbox state (true, false, or mixed for indeterminate)
|
|
145
|
+
- `aria-required` - Indicates if selection is required
|
|
146
|
+
- `aria-invalid` - Indicates validation state
|
|
147
|
+
|
|
148
|
+
## Best Practices
|
|
149
|
+
|
|
150
|
+
1. **Do**: Provide clear, descriptive labels
|
|
151
|
+
```jsx
|
|
152
|
+
<Checkbox>Enable two-factor authentication</Checkbox>
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
2. **Don't**: Use unclear or ambiguous text
|
|
156
|
+
```jsx
|
|
157
|
+
<Checkbox>Enable</Checkbox> {/* What gets enabled? */}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
3. **Accessibility**: Always provide meaningful labels for screen readers
|
|
161
|
+
4. **Groups**: Use CheckboxGroup for related options to improve organization
|
|
162
|
+
5. **Validation**: Provide clear error messages when validation fails
|
|
163
|
+
6. **Indeterminate**: Use sparingly, typically only for "Select All" scenarios
|
|
164
|
+
|
|
165
|
+
## Integration with Forms
|
|
166
|
+
|
|
167
|
+
This component supports all [Field properties](../form/Field.md) when used within a Form.
|
|
168
|
+
|
|
169
|
+
## Suggested Improvements
|
|
170
|
+
|
|
171
|
+
- Add support for custom icons for checked/unchecked states
|
|
172
|
+
- Implement animation transitions for state changes
|
|
173
|
+
- Add support for mixed checkbox groups with nested hierarchies
|
|
174
|
+
- Consider adding size variants (small, medium, large)
|
|
175
|
+
|
|
176
|
+
## Related Components
|
|
177
|
+
|
|
178
|
+
- CheckboxGroup - For organizing multiple related checkboxes
|
|
179
|
+
- [Switch](./Switch.md) - For binary on/off states
|
|
180
|
+
- [RadioGroup](./RadioGroup.md) - For single selection from multiple options
|