@cube-dev/ui-kit 0.121.0 → 0.121.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CHANGELOG.md +6 -0
- package/dist/_internal/hooks/use-chained-callback.js +1 -1
- package/dist/_internal/hooks/use-debounced-value.js +1 -1
- package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
- package/dist/_internal/hooks/use-event.js +1 -1
- package/dist/_internal/hooks/use-is-first-render.js +1 -1
- package/dist/_internal/hooks/use-sync-ref.js +1 -1
- package/dist/_internal/hooks/use-timer/timer.js +1 -1
- package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
- package/dist/_internal/hooks/use-warn.js +1 -1
- package/dist/components/Block.js +1 -1
- package/dist/components/CollectionItem.js +1 -1
- package/dist/components/GlobalStyles.js +1 -1
- package/dist/components/GridProvider.js +1 -1
- package/dist/components/HiddenInput.js +1 -1
- package/dist/components/Root.js +1 -1
- package/dist/components/actions/Action/Action.js +1 -1
- package/dist/components/actions/Banner/Banner.js +1 -1
- package/dist/components/actions/Button/Button.js +1 -1
- package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
- package/dist/components/actions/ButtonSplit/context.js +1 -1
- package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/dist/components/actions/CommandMenu/styled.js +1 -1
- package/dist/components/actions/ItemAction/ItemAction.js +1 -1
- package/dist/components/actions/ItemActionContext.js +1 -1
- package/dist/components/actions/ItemButton/ItemButton.js +1 -1
- package/dist/components/actions/Link/Link.js +1 -1
- package/dist/components/actions/Menu/Menu.js +1 -1
- package/dist/components/actions/Menu/MenuItem.js +1 -1
- package/dist/components/actions/Menu/MenuSection.js +1 -1
- package/dist/components/actions/Menu/MenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
- package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
- package/dist/components/actions/Menu/context.js +1 -1
- package/dist/components/actions/Menu/styled.js +1 -1
- package/dist/components/actions/index.js +1 -1
- package/dist/components/actions/use-action.js +1 -1
- package/dist/components/actions/use-anchored-menu.js +1 -1
- package/dist/components/actions/use-context-menu.js +1 -1
- package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
- package/dist/components/content/Alert/Alert.js +1 -1
- package/dist/components/content/Alert/use-alert.js +1 -1
- package/dist/components/content/Avatar/Avatar.js +1 -1
- package/dist/components/content/Badge/Badge.js +1 -1
- package/dist/components/content/Card/Card.js +1 -1
- package/dist/components/content/Content.js +1 -1
- package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
- package/dist/components/content/Disclosure/Disclosure.js +1 -1
- package/dist/components/content/Divider.js +1 -1
- package/dist/components/content/Footer.js +1 -1
- package/dist/components/content/Header.js +1 -1
- package/dist/components/content/HotKeys/HotKeys.js +1 -1
- package/dist/components/content/Item/Item.js +1 -1
- package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
- package/dist/components/content/ItemCard/ItemCard.js +1 -1
- package/dist/components/content/Layout/GridLayout.js +1 -1
- package/dist/components/content/Layout/Layout.js +1 -1
- package/dist/components/content/Layout/LayoutBlock.js +1 -1
- package/dist/components/content/Layout/LayoutCenter.js +1 -1
- package/dist/components/content/Layout/LayoutContainer.js +1 -1
- package/dist/components/content/Layout/LayoutContent.js +1 -1
- package/dist/components/content/Layout/LayoutContext.js +1 -1
- package/dist/components/content/Layout/LayoutFlex.js +1 -1
- package/dist/components/content/Layout/LayoutFooter.js +1 -1
- package/dist/components/content/Layout/LayoutGrid.js +1 -1
- package/dist/components/content/Layout/LayoutHeader.js +1 -1
- package/dist/components/content/Layout/LayoutPane.js +1 -1
- package/dist/components/content/Layout/LayoutPanel.js +1 -1
- package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
- package/dist/components/content/Layout/LayoutToolbar.js +1 -1
- package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
- package/dist/components/content/Layout/index.js +1 -1
- package/dist/components/content/Layout/utils.js +1 -1
- package/dist/components/content/Paragraph.js +1 -1
- package/dist/components/content/Placeholder/Placeholder.js +1 -1
- package/dist/components/content/PrismCode/PrismCode.js +1 -1
- package/dist/components/content/PrismCode/prismSetup.js +1 -1
- package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/dist/components/content/Result/Result.js +1 -1
- package/dist/components/content/Skeleton/Skeleton.js +1 -1
- package/dist/components/content/Tag/Tag.js +1 -1
- package/dist/components/content/Text.js +1 -1
- package/dist/components/content/TextItem/TextItem.js +1 -1
- package/dist/components/content/Title.js +1 -1
- package/dist/components/content/highlightText.js +1 -1
- package/dist/components/content/use-auto-tooltip.js +1 -1
- package/dist/components/fields/Checkbox/Checkbox.js +1 -1
- package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/dist/components/fields/Checkbox/context.js +1 -1
- package/dist/components/fields/ComboBox/ComboBox.js +1 -1
- package/dist/components/fields/DatePicker/DateInput.js +1 -1
- package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
- package/dist/components/fields/DatePicker/DatePicker.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/dist/components/fields/DatePicker/TimeInput.js +1 -1
- package/dist/components/fields/DatePicker/intl.js +1 -1
- package/dist/components/fields/DatePicker/parseDate.js +1 -1
- package/dist/components/fields/DatePicker/props.js +1 -1
- package/dist/components/fields/DatePicker/utils.js +1 -1
- package/dist/components/fields/FileInput/FileInput.js +1 -1
- package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
- package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
- package/dist/components/fields/Input/Input.js +1 -1
- package/dist/components/fields/ListBox/ListBox.js +1 -1
- package/dist/components/fields/NumberInput/NumberInput.js +1 -1
- package/dist/components/fields/NumberInput/StepButton.js +1 -1
- package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/dist/components/fields/Picker/Picker.js +1 -1
- package/dist/components/fields/RadioGroup/Radio.js +1 -1
- package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/dist/components/fields/RadioGroup/context.js +1 -1
- package/dist/components/fields/SearchInput/SearchInput.js +1 -1
- package/dist/components/fields/Select/Select.d.ts +8 -2
- package/dist/components/fields/Select/Select.js +1 -1
- package/dist/components/fields/Select/Select.js.map +1 -1
- package/dist/components/fields/Slider/Gradation.js +1 -1
- package/dist/components/fields/Slider/HueSlider.js +1 -1
- package/dist/components/fields/Slider/RangeSlider.js +1 -1
- package/dist/components/fields/Slider/Slider.js +1 -1
- package/dist/components/fields/Slider/SliderBase.js +1 -1
- package/dist/components/fields/Slider/SliderThumb.js +1 -1
- package/dist/components/fields/Slider/SliderTrack.js +1 -1
- package/dist/components/fields/Slider/elements.js +1 -1
- package/dist/components/fields/Slider/index.js +1 -1
- package/dist/components/fields/Switch/Switch.js +1 -1
- package/dist/components/fields/TextArea/TextArea.js +1 -1
- package/dist/components/fields/TextInput/TextInput.js +1 -1
- package/dist/components/fields/TextInput/TextInputBase.js +1 -1
- package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/dist/components/form/Form/Field.js +1 -1
- package/dist/components/form/Form/Form.js +1 -1
- package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/dist/components/form/Form/SubmitError.js +1 -1
- package/dist/components/form/Form/index.js +1 -1
- package/dist/components/form/Form/use-field/use-field-props.js +1 -1
- package/dist/components/form/Form/use-field/use-field.js +1 -1
- package/dist/components/form/Form/use-form.js +1 -1
- package/dist/components/form/Form/validation.js +1 -1
- package/dist/components/form/Label.js +1 -1
- package/dist/components/form/wrapper.js +1 -1
- package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
- package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
- package/dist/components/layout/Flex.js +1 -1
- package/dist/components/layout/Flow.js +1 -1
- package/dist/components/layout/Grid.js +1 -1
- package/dist/components/layout/Panel.js +1 -1
- package/dist/components/layout/Prefix.js +1 -1
- package/dist/components/layout/ResizablePanel.js +1 -1
- package/dist/components/layout/Space.js +1 -1
- package/dist/components/layout/Suffix.js +1 -1
- package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
- package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
- package/dist/components/navigation/Tabs/TabButton.js +1 -1
- package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
- package/dist/components/navigation/Tabs/TabPanel.js +1 -1
- package/dist/components/navigation/Tabs/TabPicker.js +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/components/navigation/Tabs/TabsAction.js +1 -1
- package/dist/components/navigation/Tabs/TabsContext.js +1 -1
- package/dist/components/navigation/Tabs/styled.js +1 -1
- package/dist/components/navigation/Tabs/types.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
- package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
- package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
- package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
- package/dist/components/other/Calendar/Calendar.js +1 -1
- package/dist/components/other/Calendar/CalendarCell.js +1 -1
- package/dist/components/other/Calendar/CalendarGrid.js +1 -1
- package/dist/components/other/Calendar/RangeCalendar.js +1 -1
- package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +1 -1
- package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
- package/dist/components/overlays/Dialog/DialogForm.js +1 -1
- package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/dist/components/overlays/Dialog/context.js +1 -1
- package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
- package/dist/components/overlays/Modal/Modal.js +1 -1
- package/dist/components/overlays/Modal/OpenTransition.js +1 -1
- package/dist/components/overlays/Modal/Overlay.js +1 -1
- package/dist/components/overlays/Modal/Popover.js +1 -1
- package/dist/components/overlays/Modal/Tray.js +1 -1
- package/dist/components/overlays/Modal/Underlay.js +1 -1
- package/dist/components/overlays/Notifications/Notification.js +1 -1
- package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
- package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
- package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
- package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
- package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
- package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
- package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
- package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
- package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
- package/dist/components/overlays/Notifications/index.js +1 -1
- package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
- package/dist/components/overlays/Notifications/use-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
- package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
- package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
- package/dist/components/overlays/Toast/ToastItem.js +1 -1
- package/dist/components/overlays/Toast/index.js +1 -1
- package/dist/components/overlays/Toast/useProgressToast.js +1 -1
- package/dist/components/overlays/Toast/useToast.js +1 -1
- package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/dist/components/overlays/Tooltip/context.js +1 -1
- package/dist/components/portal/Portal.js +1 -1
- package/dist/components/portal/PortalProvider.js +1 -1
- package/dist/components/portal/usePortal.js +1 -1
- package/dist/components/shared/InvalidIcon.js +1 -1
- package/dist/components/shared/ValidIcon.js +1 -1
- package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/dist/components/status/Spin/Cube.js +1 -1
- package/dist/components/status/Spin/InternalSpinner.js +1 -1
- package/dist/components/status/Spin/Spin.js +1 -1
- package/dist/components/status/Spin/SpinsContainer.js +1 -1
- package/dist/data/item-themes.js +1 -1
- package/dist/data/themes.js +1 -1
- package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/dist/icons/AdjustmentsIcon.js +1 -1
- package/dist/icons/AiIcon.js +1 -1
- package/dist/icons/AreaChartIcon.js +1 -1
- package/dist/icons/BackwardIcon.js +1 -1
- package/dist/icons/BarChartIcon.js +1 -1
- package/dist/icons/BellFilledIcon.js +1 -1
- package/dist/icons/BellIcon.js +1 -1
- package/dist/icons/BooleanIcon.js +1 -1
- package/dist/icons/CalendarEditIcon.js +1 -1
- package/dist/icons/CalendarIcon.js +1 -1
- package/dist/icons/CaretDownIcon.js +1 -1
- package/dist/icons/CaretUpIcon.js +1 -1
- package/dist/icons/ChartAreaStackedIcon.js +1 -1
- package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarGroupedIcon.js +1 -1
- package/dist/icons/ChartBarHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarLineIcon.js +1 -1
- package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/dist/icons/ChartBoxPlot2Icon.js +1 -1
- package/dist/icons/ChartBoxPlotIcon.js +1 -1
- package/dist/icons/ChartBubbleIcon.js +1 -1
- package/dist/icons/ChartDonut2Icon.js +1 -1
- package/dist/icons/ChartFunnelIcon.js +1 -1
- package/dist/icons/ChartHeatmapIcon.js +1 -1
- package/dist/icons/ChartKPIIcon.js +1 -1
- package/dist/icons/ChartPie2Icon.js +1 -1
- package/dist/icons/ChartScatterIcon.js +1 -1
- package/dist/icons/CheckCircleFilledIcon.js +1 -1
- package/dist/icons/CheckCircleIcon.js +1 -1
- package/dist/icons/CheckIcon.js +1 -1
- package/dist/icons/CircleFilledIcon.js +1 -1
- package/dist/icons/ClearIcon.js +1 -1
- package/dist/icons/CloseCircleFilledIcon.js +1 -1
- package/dist/icons/CloseCircleIcon.js +1 -1
- package/dist/icons/CloseIcon.js +1 -1
- package/dist/icons/CodeIcon.js +1 -1
- package/dist/icons/ColumnTotalIcon.js +1 -1
- package/dist/icons/CopyIcon.js +1 -1
- package/dist/icons/CountIcon.js +1 -1
- package/dist/icons/CubeIcon.js +1 -1
- package/dist/icons/CubePauseIcon.js +1 -1
- package/dist/icons/CubePlayIcon.js +1 -1
- package/dist/icons/CurrencyDollarIcon.js +1 -1
- package/dist/icons/DangerIcon.js +1 -1
- package/dist/icons/DashboardIcon.js +1 -1
- package/dist/icons/DatabaseIcon.js +1 -1
- package/dist/icons/DecimalDecreaseIcon.js +1 -1
- package/dist/icons/DecimalIncreaseIcon.js +1 -1
- package/dist/icons/DirectionIcon.js +1 -1
- package/dist/icons/DonutIcon.js +1 -1
- package/dist/icons/DownIcon.js +1 -1
- package/dist/icons/EditIcon.js +1 -1
- package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
- package/dist/icons/ExclamationCircleIcon.js +1 -1
- package/dist/icons/ExclamationIcon.js +1 -1
- package/dist/icons/EyeIcon.js +1 -1
- package/dist/icons/EyeInvisibleIcon.js +1 -1
- package/dist/icons/FilterIcon.js +1 -1
- package/dist/icons/FolderFilledIcon.js +1 -1
- package/dist/icons/FolderIcon.js +1 -1
- package/dist/icons/FolderOpenFilledIcon.js +1 -1
- package/dist/icons/FolderOpenIcon.js +1 -1
- package/dist/icons/ForwardIcon.js +1 -1
- package/dist/icons/HierarchyIcon.js +1 -1
- package/dist/icons/HierarchyOpenIcon.js +1 -1
- package/dist/icons/Icon.js +1 -1
- package/dist/icons/InfoCircleIcon.js +1 -1
- package/dist/icons/InfoIcon.js +1 -1
- package/dist/icons/KeyIcon.js +1 -1
- package/dist/icons/LeftIcon.js +1 -1
- package/dist/icons/LineChartIcon.js +1 -1
- package/dist/icons/LoadingIcon.js +1 -1
- package/dist/icons/LockFilledIcon.js +1 -1
- package/dist/icons/LockIcon.js +1 -1
- package/dist/icons/MoreIcon.js +1 -1
- package/dist/icons/NotAllowedIcon.js +1 -1
- package/dist/icons/Number123Icon.js +1 -1
- package/dist/icons/NumberIcon.js +1 -1
- package/dist/icons/PauseCircleFilledIcon.js +1 -1
- package/dist/icons/PauseCircleIcon.js +1 -1
- package/dist/icons/PauseIcon.js +1 -1
- package/dist/icons/PercentageIcon.js +1 -1
- package/dist/icons/PieChartIcon.js +1 -1
- package/dist/icons/PlayCircleIcon.js +1 -1
- package/dist/icons/PlayIcon.js +1 -1
- package/dist/icons/PlusIcon.js +1 -1
- package/dist/icons/ProgressBarIcon.js +1 -1
- package/dist/icons/ReloadIcon.js +1 -1
- package/dist/icons/ReportIcon.js +1 -1
- package/dist/icons/ReturnIcon.js +1 -1
- package/dist/icons/RightIcon.js +1 -1
- package/dist/icons/RowTotalsIcon.js +1 -1
- package/dist/icons/SchemeIcon.js +1 -1
- package/dist/icons/SearchIcon.js +1 -1
- package/dist/icons/SemanticQueryIcon.js +1 -1
- package/dist/icons/SettingsIcon.js +1 -1
- package/dist/icons/ShieldFilledIcon.js +1 -1
- package/dist/icons/ShieldIcon.js +1 -1
- package/dist/icons/SlashIcon.js +1 -1
- package/dist/icons/SparklesIcon.js +1 -1
- package/dist/icons/SqlIcon.js +1 -1
- package/dist/icons/StatsIcon.js +1 -1
- package/dist/icons/StopIcon.js +1 -1
- package/dist/icons/StringIcon.js +1 -1
- package/dist/icons/SubtotalsIcon.js +1 -1
- package/dist/icons/SwitchIcon.js +1 -1
- package/dist/icons/TableIcon.js +1 -1
- package/dist/icons/ThumbsDownIcon.js +1 -1
- package/dist/icons/ThumbsUpIcon.js +1 -1
- package/dist/icons/ThunderboltCrossedIcon.js +1 -1
- package/dist/icons/ThunderboltFilledIcon.js +1 -1
- package/dist/icons/ThunderboltIcon.js +1 -1
- package/dist/icons/TimeIcon.js +1 -1
- package/dist/icons/TrashIcon.js +1 -1
- package/dist/icons/UnlockIcon.js +1 -1
- package/dist/icons/UpIcon.js +1 -1
- package/dist/icons/UserGroupIcon.js +1 -1
- package/dist/icons/UserIcon.js +1 -1
- package/dist/icons/UserLockIcon.js +1 -1
- package/dist/icons/ViewIcon.js +1 -1
- package/dist/icons/WarningFilledIcon.js +1 -1
- package/dist/icons/WarningIcon.js +1 -1
- package/dist/icons/wrap-icon.js +1 -1
- package/dist/index.js +1 -1
- package/dist/provider.js +1 -1
- package/dist/providers/TrackingProvider.js +1 -1
- package/dist/providers/navigationAdapter.default.js +1 -1
- package/dist/tokens/base.js +1 -1
- package/dist/tokens/colors.js +1 -1
- package/dist/tokens/index.js +1 -1
- package/dist/tokens/layout.js +1 -1
- package/dist/tokens/shadows.js +1 -1
- package/dist/tokens/sizes.js +1 -1
- package/dist/tokens/spacing.js +1 -1
- package/dist/utils/ResizeSensor.js +1 -1
- package/dist/utils/is-dev-env.js +1 -1
- package/dist/utils/modules.js +1 -1
- package/dist/utils/promise.js +1 -1
- package/dist/utils/raf.js +1 -1
- package/dist/utils/random.js +1 -1
- package/dist/utils/range.js +1 -1
- package/dist/utils/react/RenderCache.js +1 -1
- package/dist/utils/react/Slots.js +1 -1
- package/dist/utils/react/chain.js +1 -1
- package/dist/utils/react/forwardRefWithGenerics.js +1 -1
- package/dist/utils/react/index.js +1 -1
- package/dist/utils/react/interactions.js +1 -1
- package/dist/utils/react/isTextOnly.js +1 -1
- package/dist/utils/react/mapProps.js +1 -1
- package/dist/utils/react/mergeProps.js +1 -1
- package/dist/utils/react/nullableValue.js +1 -1
- package/dist/utils/react/resolveIcon.js +1 -1
- package/dist/utils/react/sharedStore.js +1 -1
- package/dist/utils/react/useCombinedRefs.js +1 -1
- package/dist/utils/react/useControlledFocusVisible.js +1 -1
- package/dist/utils/react/useEventBus.js +1 -1
- package/dist/utils/react/useId.js +1 -1
- package/dist/utils/react/useIsDarwin.js +1 -1
- package/dist/utils/react/useKeySymbols.js +1 -1
- package/dist/utils/react/useLayoutEffect.js +1 -1
- package/dist/utils/react/useLocalStorage.js +1 -1
- package/dist/utils/react/useMergeStyles.js +1 -1
- package/dist/utils/react/useQaProps.js +1 -1
- package/dist/utils/react/useViewportSize.js +1 -1
- package/dist/utils/react/wrapNodeIfPlain.js +1 -1
- package/dist/utils/tree.js +1 -1
- package/dist/utils/warnings.js +1 -1
- package/dist/version.js +2 -2
- package/docs/BaseProperties.md +78 -0
- package/docs/ComplexLayout.md +459 -0
- package/docs/CreateComponent.md +410 -0
- package/docs/FieldProperties.md +117 -0
- package/docs/Introduction.md +122 -0
- package/docs/RenderCache.md +177 -0
- package/docs/Result.md +42 -0
- package/docs/SimpleLayout.md +26 -0
- package/docs/Typography.md +38 -0
- package/docs/components/Block.md +33 -0
- package/docs/components/CollectionItem.md +293 -0
- package/docs/components/GridProvider.md +38 -0
- package/docs/components/Root.md +50 -0
- package/docs/components/actions/Action.md +47 -0
- package/docs/components/actions/Banner.md +195 -0
- package/docs/components/actions/Button.md +209 -0
- package/docs/components/actions/ButtonGroup.md +46 -0
- package/docs/components/actions/ButtonSplit.md +199 -0
- package/docs/components/actions/CommandMenu.md +422 -0
- package/docs/components/actions/ItemAction.md +60 -0
- package/docs/components/actions/ItemButton.md +316 -0
- package/docs/components/actions/Link.md +325 -0
- package/docs/components/actions/Menu.md +485 -0
- package/docs/components/actions/MenuTrigger.md +47 -0
- package/docs/components/actions/SubMenuTrigger.md +38 -0
- package/docs/components/actions/use-anchored-menu.md +209 -0
- package/docs/components/actions/use-context-menu.md +218 -0
- package/docs/components/content/ActiveZone.md +37 -0
- package/docs/components/content/Alert.md +40 -0
- package/docs/components/content/Avatar.md +37 -0
- package/docs/components/content/Badge.md +194 -0
- package/docs/components/content/Card.md +40 -0
- package/docs/components/content/Content.md +44 -0
- package/docs/components/content/CopyPasteBlock.md +36 -0
- package/docs/components/content/CopySnippet.md +43 -0
- package/docs/components/content/Disclosure.md +181 -0
- package/docs/components/content/Divider.md +39 -0
- package/docs/components/content/Footer.md +35 -0
- package/docs/components/content/Header.md +35 -0
- package/docs/components/content/HotKeys.md +352 -0
- package/docs/components/content/Item.md +499 -0
- package/docs/components/content/ItemBadge.md +31 -0
- package/docs/components/content/ItemCard.md +131 -0
- package/docs/components/content/Layout.md +843 -0
- package/docs/components/content/Paragraph.md +32 -0
- package/docs/components/content/Placeholder.md +37 -0
- package/docs/components/content/PrismCode.md +36 -0
- package/docs/components/content/PrismDiffCode.md +29 -0
- package/docs/components/content/Result.md +46 -0
- package/docs/components/content/Skeleton.md +35 -0
- package/docs/components/content/Tag.md +165 -0
- package/docs/components/content/Text.md +54 -0
- package/docs/components/content/TextItem.md +217 -0
- package/docs/components/content/Title.md +45 -0
- package/docs/components/fields/Checkbox.md +176 -0
- package/docs/components/fields/ComboBox.md +651 -0
- package/docs/components/fields/DatePicker.md +227 -0
- package/docs/components/fields/FileInput.md +194 -0
- package/docs/components/fields/FilterListBox.md +726 -0
- package/docs/components/fields/FilterPicker.md +776 -0
- package/docs/components/fields/HueSlider.md +175 -0
- package/docs/components/fields/ListBox.md +714 -0
- package/docs/components/fields/NumberInput.md +180 -0
- package/docs/components/fields/PasswordInput.md +214 -0
- package/docs/components/fields/Picker.md +906 -0
- package/docs/components/fields/RadioGroup.md +310 -0
- package/docs/components/fields/SearchInput.md +224 -0
- package/docs/components/fields/Select.md +576 -0
- package/docs/components/fields/Slider.md +53 -0
- package/docs/components/fields/Switch.md +169 -0
- package/docs/components/fields/TextArea.md +61 -0
- package/docs/components/fields/TextInput.md +205 -0
- package/docs/components/fields/TextInputMapper.md +34 -0
- package/docs/components/form/Field.md +333 -0
- package/docs/components/form/Form.md +644 -0
- package/docs/components/form/FormInstance.md +307 -0
- package/docs/components/helpers/DisplayTransition.md +268 -0
- package/docs/components/helpers/IconSwitch.md +160 -0
- package/docs/components/layout/Flex.md +51 -0
- package/docs/components/layout/Flow.md +32 -0
- package/docs/components/layout/Grid.md +46 -0
- package/docs/components/layout/Panel.md +65 -0
- package/docs/components/layout/Prefix.md +37 -0
- package/docs/components/layout/ResizablePanel.md +69 -0
- package/docs/components/layout/Space.md +44 -0
- package/docs/components/layout/Suffix.md +39 -0
- package/docs/components/navigation/Tabs.md +726 -0
- package/docs/components/organisms/FileTabs.md +39 -0
- package/docs/components/organisms/StatsCard.md +40 -0
- package/docs/components/other/CloudLogo.md +33 -0
- package/docs/components/overlays/AlertDialog.md +51 -0
- package/docs/components/overlays/Dialog.md +200 -0
- package/docs/components/overlays/DialogContainer.md +201 -0
- package/docs/components/overlays/DialogForm.md +295 -0
- package/docs/components/overlays/DialogTrigger.md +191 -0
- package/docs/components/overlays/Notifications.md +402 -0
- package/docs/components/overlays/Toast.md +289 -0
- package/docs/components/overlays/Tooltip.md +400 -0
- package/docs/components/overlays/TooltipProvider.md +42 -0
- package/docs/components/overlays/TooltipTrigger.md +42 -0
- package/docs/components/overlays/UseDialogContainer.md +597 -0
- package/docs/components/portal/Portal.md +29 -0
- package/docs/components/status/LoadingAnimation.md +27 -0
- package/docs/components/status/Spin.md +35 -0
- package/docs/tasty/configuration.md +211 -0
- package/docs/tasty/debug.md +505 -0
- package/docs/tasty/injector.md +528 -0
- package/docs/tasty/styles.md +567 -0
- package/docs/tasty/tasty-static.md +376 -0
- package/docs/tasty/usage.md +643 -0
- package/package.json +4 -8
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
# RadioGroup
|
|
2
|
+
|
|
3
|
+
A radio group allows users to select exactly one option from a set of mutually exclusive choices. It provides clear visual indication of selection state and ensures only one option can be selected at a time.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Allow users to select exactly one option from 2-7 choices
|
|
8
|
+
- Present mutually exclusive options in forms
|
|
9
|
+
- Create settings panels with single-choice preferences
|
|
10
|
+
- Display filter options where only one can be active
|
|
11
|
+
- Provide clear selection options in surveys or questionnaires
|
|
12
|
+
|
|
13
|
+
## Component
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
### Properties
|
|
18
|
+
|
|
19
|
+
- **`children`** — Radio elements that define the available options
|
|
20
|
+
- **`value`** `string` — The currently selected value (controlled)
|
|
21
|
+
- **`defaultValue`** `string` — The default selected value (uncontrolled)
|
|
22
|
+
- **`type`** `'radio' | 'button' | 'tabs'` (default: `radio`) — Visual type for all radios in the group (button/tabs default to horizontal)
|
|
23
|
+
- **`orientation`** `undefined | 'vertical' | 'horizontal'` (default: `auto`) — Orientation of the radio group (auto-set based on type)
|
|
24
|
+
- **`size`** `'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'` (default: `xsmall`) — Size for all radio buttons in the group
|
|
25
|
+
- **`buttonType`** `'outline' | 'neutral' | 'primary' | 'clear'` — Button type for button-style radios (ignored in tabs mode). When set to "primary", selected buttons use primary style and non-selected use secondary
|
|
26
|
+
- **`onChange`** `function` — Callback fired when the selected value changes
|
|
27
|
+
- **`onBlur`** `function` — Callback fired when the radio group loses focus
|
|
28
|
+
- **`onFocus`** `function` — Callback fired when the radio group receives focus
|
|
29
|
+
|
|
30
|
+
### Base Properties
|
|
31
|
+
|
|
32
|
+
Supports [Base properties](../../BaseProperties.md)
|
|
33
|
+
|
|
34
|
+
### Field Properties
|
|
35
|
+
|
|
36
|
+
Supports all [Field properties](../../FieldProperties.md)
|
|
37
|
+
|
|
38
|
+
### Styling Properties
|
|
39
|
+
|
|
40
|
+
#### styles
|
|
41
|
+
|
|
42
|
+
Customizes the root wrapper element of the component.
|
|
43
|
+
|
|
44
|
+
**Sub-elements:** None
|
|
45
|
+
|
|
46
|
+
#### groupStyles
|
|
47
|
+
|
|
48
|
+
Customizes the radio group container specifically.
|
|
49
|
+
|
|
50
|
+
**Sub-elements:** None
|
|
51
|
+
|
|
52
|
+
### Style Properties
|
|
53
|
+
|
|
54
|
+
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`.
|
|
55
|
+
|
|
56
|
+
### Modifiers
|
|
57
|
+
|
|
58
|
+
The `mods` property accepts the following modifiers you can override:
|
|
59
|
+
|
|
60
|
+
- **`horizontal`** `boolean` — Whether the radio group is oriented horizontally
|
|
61
|
+
- **`tabs`** `boolean` — Whether the radio group uses tabs styling
|
|
62
|
+
- **`inside-form`** `boolean` — Whether the radio group is inside a form field
|
|
63
|
+
- **`side-label`** `boolean` — Whether the label is positioned at the side
|
|
64
|
+
|
|
65
|
+
## Variants
|
|
66
|
+
|
|
67
|
+
### Type
|
|
68
|
+
|
|
69
|
+
- `radio` - Traditional radio button appearance (default)
|
|
70
|
+
- `button` - Button-style radio options with spacing
|
|
71
|
+
- `tabs` - Connected tab-style buttons (compact, neutral styling)
|
|
72
|
+
|
|
73
|
+
**Default Orientation:**
|
|
74
|
+
- `radio` type: vertical
|
|
75
|
+
- `button` and `tabs` types: horizontal
|
|
76
|
+
|
|
77
|
+
### Orientation
|
|
78
|
+
|
|
79
|
+
- `vertical` - Stack radio options vertically
|
|
80
|
+
- `horizontal` - Arrange radio options horizontally
|
|
81
|
+
|
|
82
|
+
The orientation is automatically set based on the `type`:
|
|
83
|
+
- Traditional radios default to vertical
|
|
84
|
+
- Button and tabs types default to horizontal for better UX
|
|
85
|
+
|
|
86
|
+
### Size
|
|
87
|
+
|
|
88
|
+
Controls the size of all radio buttons in the group:
|
|
89
|
+
- `xsmall` - Extra small size
|
|
90
|
+
- `small` - Small size
|
|
91
|
+
- `medium` - Medium size (default)
|
|
92
|
+
- `large` - Large size
|
|
93
|
+
- `xlarge` - Extra large size
|
|
94
|
+
|
|
95
|
+
**Size Mapping in Tabs Mode:**
|
|
96
|
+
When `type="tabs"`, sizes are automatically mapped to maintain visual consistency:
|
|
97
|
+
- `small` and `medium` → `xsmall`
|
|
98
|
+
- `large` → `medium`
|
|
99
|
+
- `xlarge` → `large`
|
|
100
|
+
- `xsmall` remains `xsmall`
|
|
101
|
+
|
|
102
|
+
This ensures tab groups remain compact and cohesive.
|
|
103
|
+
|
|
104
|
+
### Button Type
|
|
105
|
+
|
|
106
|
+
When using `type="button"`, you can customize the button appearance:
|
|
107
|
+
- `outline` - Outlined buttons (default)
|
|
108
|
+
- `neutral` - Neutral filled buttons
|
|
109
|
+
- `primary` - Primary action buttons with smart styling: selected buttons use primary style, non-selected buttons automatically use secondary style
|
|
110
|
+
- `clear` - Minimal buttons without background
|
|
111
|
+
|
|
112
|
+
**Note:**
|
|
113
|
+
- The `buttonType` prop is ignored when `type="tabs"`. Tabs always use neutral styling for visual consistency.
|
|
114
|
+
- The `secondary` type cannot be used directly. Use `primary` instead, which automatically applies secondary styling to non-selected buttons.
|
|
115
|
+
|
|
116
|
+
## Examples
|
|
117
|
+
|
|
118
|
+
### Basic Usage
|
|
119
|
+
|
|
120
|
+
```jsx
|
|
121
|
+
<Radio.Group label="Select an option">
|
|
122
|
+
<Radio value="option1">Option 1</Radio>
|
|
123
|
+
<Radio value="option2">Option 2</Radio>
|
|
124
|
+
<Radio value="option3">Option 3</Radio>
|
|
125
|
+
</Radio.Group>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Horizontal Layout
|
|
129
|
+
|
|
130
|
+
```jsx
|
|
131
|
+
<Radio.Group label="Size" orientation="horizontal">
|
|
132
|
+
<Radio value="small">Small</Radio>
|
|
133
|
+
<Radio value="medium">Medium</Radio>
|
|
134
|
+
<Radio value="large">Large</Radio>
|
|
135
|
+
</Radio.Group>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Button Style
|
|
139
|
+
|
|
140
|
+
```jsx
|
|
141
|
+
<Radio.Group label="Priority" type="button">
|
|
142
|
+
<Radio value="low">Low</Radio>
|
|
143
|
+
<Radio value="medium">Medium</Radio>
|
|
144
|
+
<Radio value="high">High</Radio>
|
|
145
|
+
</Radio.Group>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Tabs Group
|
|
149
|
+
|
|
150
|
+
```jsx
|
|
151
|
+
<Radio.Tabs label="Status">
|
|
152
|
+
<Radio value="active">Active</Radio>
|
|
153
|
+
<Radio value="inactive">Inactive</Radio>
|
|
154
|
+
<Radio value="pending">Pending</Radio>
|
|
155
|
+
</Radio.Tabs>
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Custom Button Type
|
|
159
|
+
|
|
160
|
+
```jsx
|
|
161
|
+
{/* Primary buttonType: selected uses primary, non-selected uses secondary */}
|
|
162
|
+
<Radio.Group label="Action" type="button" buttonType="primary">
|
|
163
|
+
<Radio value="save">Save</Radio>
|
|
164
|
+
<Radio value="cancel">Cancel</Radio>
|
|
165
|
+
</Radio.Group>
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Size Control
|
|
169
|
+
|
|
170
|
+
```jsx
|
|
171
|
+
<Radio.Group label="Choose size" type="button" size="large">
|
|
172
|
+
<Radio value="xs">XS</Radio>
|
|
173
|
+
<Radio value="s">S</Radio>
|
|
174
|
+
<Radio value="m">M</Radio>
|
|
175
|
+
<Radio value="l">L</Radio>
|
|
176
|
+
<Radio value="xl">XL</Radio>
|
|
177
|
+
</Radio.Group>
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### With Default Value
|
|
181
|
+
|
|
182
|
+
```jsx
|
|
183
|
+
<Radio.Group label="Theme" defaultValue="light">
|
|
184
|
+
<Radio value="light">Light</Radio>
|
|
185
|
+
<Radio value="dark">Dark</Radio>
|
|
186
|
+
<Radio value="auto">Auto</Radio>
|
|
187
|
+
</Radio.Group>
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### With Validation
|
|
191
|
+
|
|
192
|
+
```jsx
|
|
193
|
+
<Radio.Group
|
|
194
|
+
label="Required selection"
|
|
195
|
+
isRequired
|
|
196
|
+
isInvalid={true}
|
|
197
|
+
errorMessage="Please select an option"
|
|
198
|
+
>
|
|
199
|
+
<Radio value="yes">Yes</Radio>
|
|
200
|
+
<Radio value="no">No</Radio>
|
|
201
|
+
</Radio.Group>
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Disabled State
|
|
205
|
+
|
|
206
|
+
```jsx
|
|
207
|
+
<Radio.Group label="Disabled options" isDisabled>
|
|
208
|
+
<Radio value="option1">Cannot select</Radio>
|
|
209
|
+
<Radio value="option2">Cannot select</Radio>
|
|
210
|
+
</Radio.Group>
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Individual Disabled Options
|
|
214
|
+
|
|
215
|
+
```jsx
|
|
216
|
+
<Radio.Group label="Mixed state">
|
|
217
|
+
<Radio value="available">Available</Radio>
|
|
218
|
+
<Radio value="limited">Limited</Radio>
|
|
219
|
+
<Radio value="unavailable" isDisabled>Unavailable</Radio>
|
|
220
|
+
</Radio.Group>
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Accessibility
|
|
224
|
+
|
|
225
|
+
### Keyboard Navigation
|
|
226
|
+
|
|
227
|
+
- `Tab` - Moves focus to the radio group (or first radio if none selected)
|
|
228
|
+
- `Arrow Keys` - Navigate between radio options within the group
|
|
229
|
+
- `Space` - Selects the focused radio option
|
|
230
|
+
- `Shift + Tab` - Moves focus away from the radio group
|
|
231
|
+
|
|
232
|
+
### Screen Reader Support
|
|
233
|
+
|
|
234
|
+
- Component announces as "radio group" to screen readers
|
|
235
|
+
- Current selection is announced when navigating
|
|
236
|
+
- Required state and validation errors are communicated
|
|
237
|
+
- Group label and individual radio labels are properly associated
|
|
238
|
+
|
|
239
|
+
### ARIA Properties
|
|
240
|
+
|
|
241
|
+
- `aria-label` - Provides accessible label when no visible label exists
|
|
242
|
+
- `aria-labelledby` - References external label elements
|
|
243
|
+
- `aria-describedby` - References additional descriptive text
|
|
244
|
+
- `aria-required` - Indicates if selection is required
|
|
245
|
+
- `aria-invalid` - Indicates validation state for the group
|
|
246
|
+
- `role="radiogroup"` - Identifies the container as a radio group
|
|
247
|
+
|
|
248
|
+
## Best Practices
|
|
249
|
+
|
|
250
|
+
1. **Do**: Provide clear, descriptive labels for both group and options
|
|
251
|
+
```jsx
|
|
252
|
+
<Radio.Group label="Preferred contact method">
|
|
253
|
+
<Radio value="email">Email</Radio>
|
|
254
|
+
<Radio value="phone">Phone</Radio>
|
|
255
|
+
</Radio.Group>
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
2. **Don't**: Use radio groups for more than 7 options
|
|
259
|
+
```jsx
|
|
260
|
+
<Radio.Group label="Country"> {/* Use Select instead */}
|
|
261
|
+
{/* Too many options... */}
|
|
262
|
+
</Radio.Group>
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
3. **Visual Type**: Use `Radio.Tabs` for compact toolbars, `type="button"` for spaced selections, traditional radios for forms
|
|
266
|
+
```jsx
|
|
267
|
+
{/* Good for compact toolbars */}
|
|
268
|
+
<Radio.Tabs label="View">
|
|
269
|
+
<Radio value="list">List</Radio>
|
|
270
|
+
<Radio value="grid">Grid</Radio>
|
|
271
|
+
</Radio.Tabs>
|
|
272
|
+
|
|
273
|
+
{/* Good for button selections */}
|
|
274
|
+
<Radio.Group type="button" label="Priority">
|
|
275
|
+
<Radio value="low">Low</Radio>
|
|
276
|
+
<Radio value="high">High</Radio>
|
|
277
|
+
</Radio.Group>
|
|
278
|
+
|
|
279
|
+
{/* Good for forms */}
|
|
280
|
+
<Radio.Group label="Gender">
|
|
281
|
+
<Radio value="male">Male</Radio>
|
|
282
|
+
<Radio value="female">Female</Radio>
|
|
283
|
+
</Radio.Group>
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
4. **Size**: Set size at the group level for consistency
|
|
287
|
+
5. **Selection**: Always provide a default selection for required fields
|
|
288
|
+
6. **Grouping**: Use meaningful group labels that describe the choice
|
|
289
|
+
7. **Options**: Keep option labels concise and mutually exclusive
|
|
290
|
+
8. **Layout**: Use horizontal layout only when space permits and options are short
|
|
291
|
+
9. **Tabs Mode**: Use `Radio.Tabs` for compact, connected button groups in limited space
|
|
292
|
+
|
|
293
|
+
## Integration with Forms
|
|
294
|
+
|
|
295
|
+
This component supports all [Field properties](../../FieldProperties.md) when used within a Form.
|
|
296
|
+
|
|
297
|
+
## Suggested Improvements
|
|
298
|
+
|
|
299
|
+
- Add support for rich content in radio options (icons, descriptions)
|
|
300
|
+
- Implement card-style radio buttons for complex options
|
|
301
|
+
- Add support for custom radio button indicators
|
|
302
|
+
- Consider adding image-based radio options
|
|
303
|
+
- Implement grouped radio sections for complex forms
|
|
304
|
+
|
|
305
|
+
## Related Components
|
|
306
|
+
|
|
307
|
+
- [Checkbox](./Checkbox.md) - For multiple selection scenarios
|
|
308
|
+
- CheckboxGroup - For selecting multiple related options
|
|
309
|
+
- [Select](./Select.md) - For single selection from many options
|
|
310
|
+
- [Switch](./Switch.md) - For binary on/off choices
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
# SearchInput
|
|
2
|
+
|
|
3
|
+
A search input provides a specialized text field for search functionality, featuring a search icon and optional clear button. It's optimized for search queries and includes built-in state management for search field behavior.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Enable users to search through large datasets or content
|
|
8
|
+
- Provide filtering capabilities in lists, tables, or catalogs
|
|
9
|
+
- Create search bars for navigation or content discovery
|
|
10
|
+
- Implement autocomplete or suggestion functionality
|
|
11
|
+
- Offer quick search access in headers or sidebars
|
|
12
|
+
|
|
13
|
+
## Component
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
### Properties
|
|
18
|
+
|
|
19
|
+
- **`value`** `string` — The search value in controlled mode
|
|
20
|
+
- **`defaultValue`** `string` — The default search value in uncontrolled mode
|
|
21
|
+
- **`placeholder`** `string` — Placeholder text when input is empty
|
|
22
|
+
- **`suffix`** — Input decoration after the main input (before clear button)
|
|
23
|
+
- **`isClearable`** `boolean` (default: `false`) — Whether the search input shows a clear button
|
|
24
|
+
- **`size`** `'small' | 'medium' | 'large'` (default: `medium`) — Input size
|
|
25
|
+
- **`onChange`** `function` — Callback fired when the search value changes
|
|
26
|
+
- **`onSubmit`** `function` — Callback fired when search is submitted
|
|
27
|
+
- **`onClear`** `function` — Callback fired when search is cleared
|
|
28
|
+
- **`onBlur`** `function` — Callback fired when the input loses focus
|
|
29
|
+
- **`onFocus`** `function` — Callback fired when the input receives focus
|
|
30
|
+
|
|
31
|
+
### Base Properties
|
|
32
|
+
|
|
33
|
+
Supports [Base properties](../../BaseProperties.md)
|
|
34
|
+
|
|
35
|
+
### Field Properties
|
|
36
|
+
|
|
37
|
+
Supports all [Field properties](../../FieldProperties.md)
|
|
38
|
+
|
|
39
|
+
### Styling Properties
|
|
40
|
+
|
|
41
|
+
#### styles
|
|
42
|
+
|
|
43
|
+
Customizes the root wrapper element of the component.
|
|
44
|
+
|
|
45
|
+
**Sub-elements:**
|
|
46
|
+
- `Prefix` - Element displayed before the input (contains search icon)
|
|
47
|
+
- `Suffix` - Element displayed after the input (contains clear button when shown)
|
|
48
|
+
- `State` - Container for validation state indicators
|
|
49
|
+
- `InputIcon` - Icon displayed within the input area
|
|
50
|
+
- `ValidationIcon` - Icon displayed for validation state
|
|
51
|
+
|
|
52
|
+
#### inputStyles
|
|
53
|
+
|
|
54
|
+
Customizes the search input field specifically.
|
|
55
|
+
|
|
56
|
+
### Style Properties
|
|
57
|
+
|
|
58
|
+
The SearchInput component supports all standard style properties:
|
|
59
|
+
|
|
60
|
+
`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`
|
|
61
|
+
|
|
62
|
+
### Modifiers
|
|
63
|
+
|
|
64
|
+
The `mods` property accepts the following modifiers you can override:
|
|
65
|
+
|
|
66
|
+
- **`focused`** `boolean` — Whether the input has focus
|
|
67
|
+
- **`disabled`** `boolean` — Whether the search input is disabled
|
|
68
|
+
- **`invalid`** `boolean` — Whether the search input has validation errors
|
|
69
|
+
- **`valid`** `boolean` — Whether the search input is valid
|
|
70
|
+
- **`hovered`** `boolean` — Whether the search input is being hovered
|
|
71
|
+
- **`inside-form`** `boolean` — Whether the search input is inside a form field
|
|
72
|
+
|
|
73
|
+
## Variants
|
|
74
|
+
|
|
75
|
+
### Sizes
|
|
76
|
+
|
|
77
|
+
- `small` - Compact size for dense interfaces
|
|
78
|
+
- `medium` - Standard size
|
|
79
|
+
- `large` - Emphasized size for prominent search functionality
|
|
80
|
+
|
|
81
|
+
## Examples
|
|
82
|
+
|
|
83
|
+
### Basic Usage
|
|
84
|
+
|
|
85
|
+
```jsx
|
|
86
|
+
<SearchInput
|
|
87
|
+
label="Search"
|
|
88
|
+
placeholder="Search products..."
|
|
89
|
+
/>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### With Clear Button
|
|
93
|
+
|
|
94
|
+
```jsx
|
|
95
|
+
<SearchInput
|
|
96
|
+
label="Filter items"
|
|
97
|
+
placeholder="Type to filter..."
|
|
98
|
+
isClearable={true}
|
|
99
|
+
/>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Controlled Search
|
|
103
|
+
|
|
104
|
+
```jsx
|
|
105
|
+
const [searchValue, setSearchValue] = useState('');
|
|
106
|
+
|
|
107
|
+
<SearchInput
|
|
108
|
+
label="Search"
|
|
109
|
+
value={searchValue}
|
|
110
|
+
onChange={setSearchValue}
|
|
111
|
+
placeholder="Search content..."
|
|
112
|
+
/>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### With Description
|
|
116
|
+
|
|
117
|
+
```jsx
|
|
118
|
+
<SearchInput
|
|
119
|
+
label="Search Library"
|
|
120
|
+
description="Search by title, author, or ISBN"
|
|
121
|
+
placeholder="Enter search terms..."
|
|
122
|
+
/>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Small Size
|
|
126
|
+
|
|
127
|
+
```jsx
|
|
128
|
+
<SearchInput
|
|
129
|
+
size="small"
|
|
130
|
+
placeholder="Quick search..."
|
|
131
|
+
aria-label="Quick search"
|
|
132
|
+
/>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### With Validation
|
|
136
|
+
|
|
137
|
+
```jsx
|
|
138
|
+
<SearchInput
|
|
139
|
+
label="Search Query"
|
|
140
|
+
validationState="invalid"
|
|
141
|
+
errorMessage="Search query too short"
|
|
142
|
+
placeholder="Enter at least 3 characters"
|
|
143
|
+
/>
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Disabled State
|
|
147
|
+
|
|
148
|
+
```jsx
|
|
149
|
+
<SearchInput
|
|
150
|
+
label="Search (Offline)"
|
|
151
|
+
isDisabled
|
|
152
|
+
placeholder="Search unavailable"
|
|
153
|
+
/>
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### With Custom Suffix
|
|
157
|
+
|
|
158
|
+
```jsx
|
|
159
|
+
<SearchInput
|
|
160
|
+
label="Advanced Search"
|
|
161
|
+
placeholder="Search with filters..."
|
|
162
|
+
suffix={<FilterButton />}
|
|
163
|
+
/>
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Accessibility
|
|
167
|
+
|
|
168
|
+
### Keyboard Navigation
|
|
169
|
+
|
|
170
|
+
- `Tab` - Moves focus to the search input
|
|
171
|
+
- `Escape` - Clears the search input (when `isClearable` is true)
|
|
172
|
+
- `Enter` - Submits search or triggers onSubmit callback
|
|
173
|
+
- All standard text input keyboard shortcuts work for text entry
|
|
174
|
+
|
|
175
|
+
### Screen Reader Support
|
|
176
|
+
|
|
177
|
+
- Component announces as "search" input type to screen readers
|
|
178
|
+
- Search icon and clear button have appropriate labels
|
|
179
|
+
- Current search value and results count are announced when available
|
|
180
|
+
- Loading states and validation errors are communicated
|
|
181
|
+
|
|
182
|
+
### ARIA Properties
|
|
183
|
+
|
|
184
|
+
- `aria-label` - Provides accessible label when no visible label exists
|
|
185
|
+
- `aria-labelledby` - References external label elements
|
|
186
|
+
- `aria-describedby` - References additional descriptive text
|
|
187
|
+
- `aria-invalid` - Indicates validation state
|
|
188
|
+
- `role="searchbox"` - Identifies the input as a search field
|
|
189
|
+
- Clear button includes appropriate `aria-label`
|
|
190
|
+
|
|
191
|
+
## Best Practices
|
|
192
|
+
|
|
193
|
+
1. **Do**: Provide clear placeholder text indicating what can be searched
|
|
194
|
+
```jsx
|
|
195
|
+
<SearchInput placeholder="Search by name, email, or department..." />
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
2. **Don't**: Use search input for non-search related text entry
|
|
199
|
+
```jsx
|
|
200
|
+
<SearchInput label="Enter your name" /> {/* Use TextInput instead */}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
3. **Performance**: Debounce search queries to avoid excessive API calls
|
|
204
|
+
4. **UX**: Show search results or feedback immediately when possible
|
|
205
|
+
5. **Accessibility**: Always provide meaningful labels or aria-label
|
|
206
|
+
6. **Clear**: Enable clear functionality for better user experience
|
|
207
|
+
|
|
208
|
+
## Integration with Forms
|
|
209
|
+
|
|
210
|
+
This component supports all [Field properties](../../FieldProperties.md) when used within a Form.
|
|
211
|
+
|
|
212
|
+
## Suggested Improvements
|
|
213
|
+
|
|
214
|
+
- Add built-in debouncing for search queries
|
|
215
|
+
- Implement search suggestions or autocomplete dropdown
|
|
216
|
+
- Add search history or recent searches functionality
|
|
217
|
+
- Include advanced search filters integration
|
|
218
|
+
- Add keyboard shortcuts for common search actions
|
|
219
|
+
|
|
220
|
+
## Related Components
|
|
221
|
+
|
|
222
|
+
- [TextInput](./TextInput.md) - For general text input
|
|
223
|
+
- [ComboBox](./ComboBox.md) - For searchable selection with predefined options
|
|
224
|
+
- [Select](./Select.md) - For selection without search functionality
|