@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.
Files changed (462) hide show
  1. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.js +1 -1
  19. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  23. package/dist/components/actions/CommandMenu/styled.js +1 -1
  24. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  25. package/dist/components/actions/ItemActionContext.js +1 -1
  26. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  27. package/dist/components/actions/Link/Link.js +1 -1
  28. package/dist/components/actions/Menu/Menu.js +1 -1
  29. package/dist/components/actions/Menu/MenuItem.js +1 -1
  30. package/dist/components/actions/Menu/MenuSection.js +1 -1
  31. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  32. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  34. package/dist/components/actions/Menu/context.js +1 -1
  35. package/dist/components/actions/Menu/styled.js +1 -1
  36. package/dist/components/actions/index.js +1 -1
  37. package/dist/components/actions/use-action.js +1 -1
  38. package/dist/components/actions/use-anchored-menu.js +1 -1
  39. package/dist/components/actions/use-context-menu.js +1 -1
  40. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  41. package/dist/components/content/Alert/Alert.js +1 -1
  42. package/dist/components/content/Alert/use-alert.js +1 -1
  43. package/dist/components/content/Avatar/Avatar.js +1 -1
  44. package/dist/components/content/Badge/Badge.js +1 -1
  45. package/dist/components/content/Card/Card.js +1 -1
  46. package/dist/components/content/Content.js +1 -1
  47. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  48. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  49. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  50. package/dist/components/content/Divider.js +1 -1
  51. package/dist/components/content/Footer.js +1 -1
  52. package/dist/components/content/Header.js +1 -1
  53. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  54. package/dist/components/content/Item/Item.js +1 -1
  55. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  56. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  57. package/dist/components/content/Layout/GridLayout.js +1 -1
  58. package/dist/components/content/Layout/Layout.js +1 -1
  59. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  60. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  61. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  62. package/dist/components/content/Layout/LayoutContent.js +1 -1
  63. package/dist/components/content/Layout/LayoutContext.js +1 -1
  64. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  65. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  66. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  67. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  68. package/dist/components/content/Layout/LayoutPane.js +1 -1
  69. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  70. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  71. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  72. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  73. package/dist/components/content/Layout/index.js +1 -1
  74. package/dist/components/content/Layout/utils.js +1 -1
  75. package/dist/components/content/Paragraph.js +1 -1
  76. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  77. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  78. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  79. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  80. package/dist/components/content/Result/Result.js +1 -1
  81. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  82. package/dist/components/content/Tag/Tag.js +1 -1
  83. package/dist/components/content/Text.js +1 -1
  84. package/dist/components/content/TextItem/TextItem.js +1 -1
  85. package/dist/components/content/Title.js +1 -1
  86. package/dist/components/content/highlightText.js +1 -1
  87. package/dist/components/content/use-auto-tooltip.js +1 -1
  88. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  89. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  90. package/dist/components/fields/Checkbox/context.js +1 -1
  91. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  92. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  93. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  94. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  95. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  96. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  97. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  98. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  99. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  100. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  101. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  102. package/dist/components/fields/DatePicker/intl.js +1 -1
  103. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  104. package/dist/components/fields/DatePicker/props.js +1 -1
  105. package/dist/components/fields/DatePicker/utils.js +1 -1
  106. package/dist/components/fields/FileInput/FileInput.js +1 -1
  107. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  108. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  109. package/dist/components/fields/Input/Input.js +1 -1
  110. package/dist/components/fields/ListBox/ListBox.js +1 -1
  111. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  112. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  113. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  114. package/dist/components/fields/Picker/Picker.js +1 -1
  115. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  116. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  117. package/dist/components/fields/RadioGroup/context.js +1 -1
  118. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  119. package/dist/components/fields/Select/Select.js +1 -1
  120. package/dist/components/fields/Slider/Gradation.js +1 -1
  121. package/dist/components/fields/Slider/HueSlider.js +1 -1
  122. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  123. package/dist/components/fields/Slider/Slider.js +1 -1
  124. package/dist/components/fields/Slider/SliderBase.js +1 -1
  125. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  126. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  127. package/dist/components/fields/Slider/elements.js +1 -1
  128. package/dist/components/fields/Slider/index.js +1 -1
  129. package/dist/components/fields/Switch/Switch.js +1 -1
  130. package/dist/components/fields/TextArea/TextArea.js +1 -1
  131. package/dist/components/fields/TextInput/TextInput.js +1 -1
  132. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  133. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  134. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  135. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  136. package/dist/components/form/Form/Field.js +1 -1
  137. package/dist/components/form/Form/Form.js +1 -1
  138. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  139. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  140. package/dist/components/form/Form/SubmitError.js +1 -1
  141. package/dist/components/form/Form/index.js +1 -1
  142. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  143. package/dist/components/form/Form/use-field/use-field.js +1 -1
  144. package/dist/components/form/Form/use-form.js +1 -1
  145. package/dist/components/form/Form/validation.js +1 -1
  146. package/dist/components/form/Label.js +1 -1
  147. package/dist/components/form/wrapper.js +1 -1
  148. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  149. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  150. package/dist/components/layout/Flex.js +1 -1
  151. package/dist/components/layout/Flow.js +1 -1
  152. package/dist/components/layout/Grid.js +1 -1
  153. package/dist/components/layout/Panel.js +1 -1
  154. package/dist/components/layout/Prefix.js +1 -1
  155. package/dist/components/layout/ResizablePanel.js +1 -1
  156. package/dist/components/layout/Space.js +1 -1
  157. package/dist/components/layout/Suffix.js +1 -1
  158. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  159. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  160. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  161. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  162. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  163. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  164. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  165. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  166. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  167. package/dist/components/navigation/Tabs/styled.js +1 -1
  168. package/dist/components/navigation/Tabs/types.js +1 -1
  169. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  170. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  171. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  172. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  173. package/dist/components/other/Calendar/Calendar.js +1 -1
  174. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  175. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  176. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  177. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  178. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  179. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  180. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  181. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  182. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  183. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  184. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  185. package/dist/components/overlays/Dialog/context.js +1 -1
  186. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  187. package/dist/components/overlays/Modal/Modal.js +1 -1
  188. package/dist/components/overlays/Modal/OpenTransition.js +1 -1
  189. package/dist/components/overlays/Modal/Overlay.js +1 -1
  190. package/dist/components/overlays/Modal/Popover.js +1 -1
  191. package/dist/components/overlays/Modal/Tray.js +1 -1
  192. package/dist/components/overlays/Modal/Underlay.js +1 -1
  193. package/dist/components/overlays/Notifications/Notification.js +1 -1
  194. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  195. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  196. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  197. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  198. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  199. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  200. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  201. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  202. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  203. package/dist/components/overlays/Notifications/index.js +1 -1
  204. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  205. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  206. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  207. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  208. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  209. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  210. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  211. package/dist/components/overlays/Toast/index.js +1 -1
  212. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  213. package/dist/components/overlays/Toast/useToast.js +1 -1
  214. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  215. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  216. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  217. package/dist/components/overlays/Tooltip/context.js +1 -1
  218. package/dist/components/portal/Portal.js +1 -1
  219. package/dist/components/portal/PortalProvider.js +1 -1
  220. package/dist/components/portal/usePortal.js +1 -1
  221. package/dist/components/shared/InvalidIcon.js +1 -1
  222. package/dist/components/shared/ValidIcon.js +1 -1
  223. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  224. package/dist/components/status/Spin/Cube.js +1 -1
  225. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  226. package/dist/components/status/Spin/Spin.js +1 -1
  227. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  228. package/dist/data/item-themes.js +1 -1
  229. package/dist/data/themes.js +1 -1
  230. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  231. package/dist/icons/AdjustmentsIcon.js +1 -1
  232. package/dist/icons/AiIcon.js +1 -1
  233. package/dist/icons/AreaChartIcon.js +1 -1
  234. package/dist/icons/BackwardIcon.js +1 -1
  235. package/dist/icons/BarChartIcon.js +1 -1
  236. package/dist/icons/BellFilledIcon.js +1 -1
  237. package/dist/icons/BellIcon.js +1 -1
  238. package/dist/icons/BooleanIcon.js +1 -1
  239. package/dist/icons/CalendarEditIcon.js +1 -1
  240. package/dist/icons/CalendarIcon.js +1 -1
  241. package/dist/icons/CaretDownIcon.js +1 -1
  242. package/dist/icons/CaretUpIcon.js +1 -1
  243. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  244. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  245. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  246. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  247. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  248. package/dist/icons/ChartBarLineIcon.js +1 -1
  249. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  250. package/dist/icons/ChartBarStackedIcon.js +1 -1
  251. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  252. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  253. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  254. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  255. package/dist/icons/ChartBubbleIcon.js +1 -1
  256. package/dist/icons/ChartDonut2Icon.js +1 -1
  257. package/dist/icons/ChartFunnelIcon.js +1 -1
  258. package/dist/icons/ChartHeatmapIcon.js +1 -1
  259. package/dist/icons/ChartKPIIcon.js +1 -1
  260. package/dist/icons/ChartPie2Icon.js +1 -1
  261. package/dist/icons/ChartScatterIcon.js +1 -1
  262. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  263. package/dist/icons/CheckCircleIcon.js +1 -1
  264. package/dist/icons/CheckIcon.js +1 -1
  265. package/dist/icons/CircleFilledIcon.js +1 -1
  266. package/dist/icons/ClearIcon.js +1 -1
  267. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  268. package/dist/icons/CloseCircleIcon.js +1 -1
  269. package/dist/icons/CloseIcon.js +1 -1
  270. package/dist/icons/CodeIcon.js +1 -1
  271. package/dist/icons/ColumnTotalIcon.js +1 -1
  272. package/dist/icons/CopyIcon.js +1 -1
  273. package/dist/icons/CountIcon.js +1 -1
  274. package/dist/icons/CubeIcon.js +1 -1
  275. package/dist/icons/CubePauseIcon.js +1 -1
  276. package/dist/icons/CubePlayIcon.js +1 -1
  277. package/dist/icons/CurrencyDollarIcon.js +1 -1
  278. package/dist/icons/DangerIcon.js +1 -1
  279. package/dist/icons/DashboardIcon.js +1 -1
  280. package/dist/icons/DatabaseIcon.js +1 -1
  281. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  282. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  283. package/dist/icons/DirectionIcon.js +1 -1
  284. package/dist/icons/DonutIcon.js +1 -1
  285. package/dist/icons/DownIcon.js +1 -1
  286. package/dist/icons/EditIcon.js +1 -1
  287. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  288. package/dist/icons/ExclamationCircleIcon.js +1 -1
  289. package/dist/icons/ExclamationIcon.js +1 -1
  290. package/dist/icons/EyeIcon.js +1 -1
  291. package/dist/icons/EyeInvisibleIcon.js +1 -1
  292. package/dist/icons/FilterIcon.js +1 -1
  293. package/dist/icons/FolderFilledIcon.js +1 -1
  294. package/dist/icons/FolderIcon.js +1 -1
  295. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  296. package/dist/icons/FolderOpenIcon.js +1 -1
  297. package/dist/icons/ForwardIcon.js +1 -1
  298. package/dist/icons/HierarchyIcon.js +1 -1
  299. package/dist/icons/HierarchyOpenIcon.js +1 -1
  300. package/dist/icons/Icon.js +1 -1
  301. package/dist/icons/InfoCircleIcon.js +1 -1
  302. package/dist/icons/InfoIcon.js +1 -1
  303. package/dist/icons/KeyIcon.js +1 -1
  304. package/dist/icons/LeftIcon.js +1 -1
  305. package/dist/icons/LineChartIcon.js +1 -1
  306. package/dist/icons/LoadingIcon.js +1 -1
  307. package/dist/icons/LockFilledIcon.js +1 -1
  308. package/dist/icons/LockIcon.js +1 -1
  309. package/dist/icons/MoreIcon.js +1 -1
  310. package/dist/icons/NotAllowedIcon.js +1 -1
  311. package/dist/icons/Number123Icon.js +1 -1
  312. package/dist/icons/NumberIcon.js +1 -1
  313. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  314. package/dist/icons/PauseCircleIcon.js +1 -1
  315. package/dist/icons/PauseIcon.js +1 -1
  316. package/dist/icons/PercentageIcon.js +1 -1
  317. package/dist/icons/PieChartIcon.js +1 -1
  318. package/dist/icons/PlayCircleIcon.js +1 -1
  319. package/dist/icons/PlayIcon.js +1 -1
  320. package/dist/icons/PlusIcon.js +1 -1
  321. package/dist/icons/ProgressBarIcon.js +1 -1
  322. package/dist/icons/ReloadIcon.js +1 -1
  323. package/dist/icons/ReportIcon.js +1 -1
  324. package/dist/icons/ReturnIcon.js +1 -1
  325. package/dist/icons/RightIcon.js +1 -1
  326. package/dist/icons/RowTotalsIcon.js +1 -1
  327. package/dist/icons/SchemeIcon.js +1 -1
  328. package/dist/icons/SearchIcon.js +1 -1
  329. package/dist/icons/SemanticQueryIcon.js +1 -1
  330. package/dist/icons/SettingsIcon.js +1 -1
  331. package/dist/icons/ShieldFilledIcon.js +1 -1
  332. package/dist/icons/ShieldIcon.js +1 -1
  333. package/dist/icons/SlashIcon.js +1 -1
  334. package/dist/icons/SparklesIcon.js +1 -1
  335. package/dist/icons/SqlIcon.js +1 -1
  336. package/dist/icons/StatsIcon.js +1 -1
  337. package/dist/icons/StopIcon.js +1 -1
  338. package/dist/icons/StringIcon.js +1 -1
  339. package/dist/icons/SubtotalsIcon.js +1 -1
  340. package/dist/icons/SwitchIcon.js +1 -1
  341. package/dist/icons/TableIcon.js +1 -1
  342. package/dist/icons/ThumbsDownIcon.js +1 -1
  343. package/dist/icons/ThumbsUpIcon.js +1 -1
  344. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  345. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  346. package/dist/icons/ThunderboltIcon.js +1 -1
  347. package/dist/icons/TimeIcon.js +1 -1
  348. package/dist/icons/TrashIcon.js +1 -1
  349. package/dist/icons/UnlockIcon.js +1 -1
  350. package/dist/icons/UpIcon.js +1 -1
  351. package/dist/icons/UserGroupIcon.js +1 -1
  352. package/dist/icons/UserIcon.js +1 -1
  353. package/dist/icons/UserLockIcon.js +1 -1
  354. package/dist/icons/ViewIcon.js +1 -1
  355. package/dist/icons/WarningFilledIcon.js +1 -1
  356. package/dist/icons/WarningIcon.js +1 -1
  357. package/dist/icons/wrap-icon.js +1 -1
  358. package/dist/index.js +1 -1
  359. package/dist/provider.js +1 -1
  360. package/dist/providers/TrackingProvider.js +1 -1
  361. package/dist/providers/navigationAdapter.default.js +1 -1
  362. package/dist/tokens/base.js +1 -1
  363. package/dist/tokens/colors.js +1 -1
  364. package/dist/tokens/index.js +1 -1
  365. package/dist/tokens/layout.js +1 -1
  366. package/dist/tokens/shadows.js +1 -1
  367. package/dist/tokens/sizes.js +1 -1
  368. package/dist/tokens/spacing.js +1 -1
  369. package/dist/utils/ResizeSensor.js +1 -1
  370. package/dist/utils/is-dev-env.js +1 -1
  371. package/dist/utils/modules.js +1 -1
  372. package/dist/utils/promise.js +1 -1
  373. package/dist/utils/raf.js +1 -1
  374. package/dist/utils/random.js +1 -1
  375. package/dist/utils/range.js +1 -1
  376. package/dist/utils/react/RenderCache.js +1 -1
  377. package/dist/utils/react/Slots.js +1 -1
  378. package/dist/utils/react/chain.js +1 -1
  379. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  380. package/dist/utils/react/index.js +1 -1
  381. package/dist/utils/react/interactions.js +1 -1
  382. package/dist/utils/react/isTextOnly.js +1 -1
  383. package/dist/utils/react/mapProps.js +1 -1
  384. package/dist/utils/react/mergeProps.js +1 -1
  385. package/dist/utils/react/nullableValue.js +1 -1
  386. package/dist/utils/react/resolveIcon.js +1 -1
  387. package/dist/utils/react/sharedStore.js +1 -1
  388. package/dist/utils/react/useCombinedRefs.js +1 -1
  389. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  390. package/dist/utils/react/useEventBus.js +1 -1
  391. package/dist/utils/react/useId.js +1 -1
  392. package/dist/utils/react/useIsDarwin.js +1 -1
  393. package/dist/utils/react/useKeySymbols.js +1 -1
  394. package/dist/utils/react/useLayoutEffect.js +1 -1
  395. package/dist/utils/react/useLocalStorage.js +1 -1
  396. package/dist/utils/react/useMergeStyles.js +1 -1
  397. package/dist/utils/react/useQaProps.js +1 -1
  398. package/dist/utils/react/useViewportSize.js +1 -1
  399. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  400. package/dist/utils/tree.js +1 -1
  401. package/dist/utils/warnings.js +1 -1
  402. package/dist/version.js +2 -2
  403. package/docs/ComplexLayout.md +469 -0
  404. package/docs/CreateComponent.md +410 -0
  405. package/docs/Introduction.md +122 -0
  406. package/docs/RenderCache.md +172 -0
  407. package/docs/Result.md +35 -0
  408. package/docs/SimpleLayout.md +26 -0
  409. package/docs/Typography.md +38 -0
  410. package/docs/components/CollectionItem.md +299 -0
  411. package/docs/components/actions/Banner.md +189 -0
  412. package/docs/components/actions/Button.md +183 -0
  413. package/docs/components/actions/ButtonSplit.md +189 -0
  414. package/docs/components/actions/CommandMenu.md +430 -0
  415. package/docs/components/actions/ItemButton.md +304 -0
  416. package/docs/components/actions/Link.md +325 -0
  417. package/docs/components/actions/Menu.md +509 -0
  418. package/docs/components/actions/use-anchored-menu.md +211 -0
  419. package/docs/components/actions/use-context-menu.md +220 -0
  420. package/docs/components/content/Badge.md +187 -0
  421. package/docs/components/content/Disclosure.md +177 -0
  422. package/docs/components/content/HotKeys.md +352 -0
  423. package/docs/components/content/Item.md +488 -0
  424. package/docs/components/content/ItemCard.md +125 -0
  425. package/docs/components/content/Layout.md +866 -0
  426. package/docs/components/content/Tag.md +156 -0
  427. package/docs/components/content/TextItem.md +211 -0
  428. package/docs/components/fields/Checkbox.md +180 -0
  429. package/docs/components/fields/ComboBox.md +617 -0
  430. package/docs/components/fields/DatePicker.md +231 -0
  431. package/docs/components/fields/FileInput.md +197 -0
  432. package/docs/components/fields/FilterListBox.md +703 -0
  433. package/docs/components/fields/FilterPicker.md +736 -0
  434. package/docs/components/fields/HueSlider.md +175 -0
  435. package/docs/components/fields/ListBox.md +691 -0
  436. package/docs/components/fields/NumberInput.md +184 -0
  437. package/docs/components/fields/PasswordInput.md +218 -0
  438. package/docs/components/fields/Picker.md +884 -0
  439. package/docs/components/fields/RadioGroup.md +314 -0
  440. package/docs/components/fields/SearchInput.md +227 -0
  441. package/docs/components/fields/Select.md +583 -0
  442. package/docs/components/fields/Slider.md +53 -0
  443. package/docs/components/fields/Switch.md +174 -0
  444. package/docs/components/fields/TextArea.md +61 -0
  445. package/docs/components/fields/TextInput.md +204 -0
  446. package/docs/components/fields/TextInputMapper.md +34 -0
  447. package/docs/components/form/Field.md +341 -0
  448. package/docs/components/form/Form.md +455 -0
  449. package/docs/components/form/FormInstance.md +319 -0
  450. package/docs/components/helpers/DisplayTransition.md +259 -0
  451. package/docs/components/helpers/IconSwitch.md +156 -0
  452. package/docs/components/navigation/Tabs.md +704 -0
  453. package/docs/components/overlays/Dialog.md +202 -0
  454. package/docs/components/overlays/DialogContainer.md +201 -0
  455. package/docs/components/overlays/DialogForm.md +290 -0
  456. package/docs/components/overlays/DialogTrigger.md +191 -0
  457. package/docs/components/overlays/Notifications.md +406 -0
  458. package/docs/components/overlays/Toast.md +285 -0
  459. package/docs/components/overlays/Tooltip.md +371 -0
  460. package/docs/components/overlays/UseDialogContainer.md +603 -0
  461. package/package.json +1 -1
  462. package/docs/.gitignore +0 -3
@@ -0,0 +1,583 @@
1
+ # Select
2
+
3
+ A select allows users to choose a single option from a list of predefined choices. It provides a compact interface for selection with a dropdown menu that displays available options when activated.
4
+
5
+ ## When to Use
6
+
7
+ - Allow users to select one option from a predefined list
8
+ - Provide selection in forms where space is limited
9
+ - Offer choices where only one selection is allowed
10
+ - Create dropdown menus for navigation or filtering
11
+ - Present structured options in a compact interface
12
+
13
+ ## Component
14
+
15
+ ---
16
+
17
+ ### Properties
18
+
19
+ - **`selectedKey`** `string` — The selected value in controlled mode
20
+ - **`defaultSelectedKey`** `string` — The default selected value in uncontrolled mode
21
+ - **`placeholder`** `string` — Placeholder text when no option is selected
22
+ - **`icon`** `ReactElement` — Icon element rendered before the select value
23
+ - **`prefix`** `ReactNode` — Content rendered before the select value
24
+ - **`suffix`** `ReactNode` — Content rendered after the select value
25
+ - **`suffixPosition`** `string` (default: `before`) — Position of suffix relative to validation icons
26
+ - **`type`** `string` (default: `outline`) — Visual style variant of the select
27
+ - **`theme`** `string` (default: `default`) — Theme variant affecting overall styling
28
+ - **`size`** `string` (default: `medium`) — Size of the select component
29
+ - **`direction`** `string` (default: `bottom`) — Preferred direction for the dropdown menu
30
+ - **`isClearable`** `boolean` (default: `false`) — Whether the select is clearable using a clear button in the rightIcon slot
31
+ - **`shouldFlip`** `boolean` (default: `true`) — Whether dropdown should flip to fit in viewport
32
+ - **`overlayOffset`** `number` (default: `8`) — Distance between select and dropdown in pixels
33
+ - **`isDisabled`** `boolean` (default: `false`) — Whether the select is disabled
34
+ - **`isRequired`** `boolean` (default: `false`) — Whether user selection is required before form submission
35
+ - **`isLoading`** `boolean` (default: `false`) — Show loading spinner and disable interactions
36
+ - **`validationState`** `string` — Whether the select should display valid or invalid visual styling
37
+ - **`autoFocus`** `boolean` (default: `false`) — Whether the element should receive focus on render
38
+ - **`items`** `Iterable<T>` — Item objects used when rendering dynamic collections
39
+ - **`disabledKeys`** `Iterable<Key>` — Keys of items that are disabled
40
+ - **`children`** `ReactNode | (item: T) => ReactElement` — Static child items or render function for dynamic items
41
+ - **`triggerRef`** `RefObject<HTMLButtonElement>` — Ref for the trigger button element
42
+ - **`popoverRef`** `RefObject<HTMLInputElement>` — Ref for the popover overlay element
43
+ - **`listBoxRef`** `RefObject<HTMLElement>` — Ref for the list box element
44
+ - **`loadingIndicator`** `ReactNode` — Custom loading indicator element
45
+ - **`hideTrigger`** `boolean` (default: `false`) — Whether to hide the trigger button
46
+ - **`styles`** `Styles` — Styles for the root wrapper element
47
+ - **`inputStyles`** `Styles` — Styles for the input trigger element
48
+ - **`listBoxStyles`** `Styles` — Styles for the dropdown list container
49
+ - **`optionStyles`** `Styles` — Styles for individual option items
50
+ - **`overlayStyles`** `Styles` — Styles for the dropdown overlay wrapper
51
+ - **`wrapperStyles`** `Styles` — Styles for the outer wrapper element
52
+ - **`triggerStyles`** `Styles` — Styles for the trigger button element
53
+ - **`inputProps`** `Props` — Additional props for the input element
54
+ - **`onSelectionChange`** `(key: Key) => void` — Callback fired when the selected option changes
55
+ - **`onOpenChange`** `(isOpen: boolean) => void` — Callback fired when the dropdown opens or closes
56
+ - **`onFocus`** `(e: FocusEvent) => void` — Callback fired when the select receives focus
57
+ - **`onBlur`** `(e: FocusEvent) => void` — Callback fired when the select loses focus
58
+ - **`onFocusChange`** `(isFocused: boolean) => void` — Callback fired when focus state changes
59
+ - **`aria-label`** `string` — Accessible label when no visible label exists
60
+ - **`aria-labelledby`** `string` — ID of element that labels the select
61
+ - **`aria-describedby`** `string` — ID of element that describes the select
62
+ - **`name`** `string` — The name of the input element for form submission
63
+
64
+ #### Notable Properties
65
+
66
+ **isClearable** - Adds a clear button in the rightIcon slot that allows users to clear the selected value. The clear button only appears when a value is selected and the select is not disabled or read-only.
67
+
68
+ **onClear** - Callback fired when the clear button is pressed, allowing you to perform custom actions when the selection is cleared.
69
+
70
+ **tooltip** - Enables tooltip display on the trigger button. Can be:
71
+ - `string` - Simple tooltip text
72
+ - `true` - Auto tooltip on overflow (shows selected value when truncated)
73
+ - `object` - Advanced configuration with optional `auto` property
74
+
75
+ **triggerDescription** - Text description displayed within the trigger button. Different from field-level description provided by FieldWrapper.
76
+
77
+ **descriptionPlacement** - Controls how description is positioned: `inline`, `block`, or `auto`.
78
+
79
+ **overlayOffset** - Distance between the select trigger and dropdown in pixels (default: 8).
80
+
81
+ **direction** - Preferred direction for the dropdown: `top` or `bottom` (default: `bottom`).
82
+
83
+ **shouldFlip** - Whether the dropdown should flip to fit in viewport (default: `true`).
84
+
85
+ **suffixPosition** - Position of suffix content relative to validation icons: `before` or `after` (default: `before`).
86
+
87
+ ### Base Properties
88
+
89
+ Supports [Base properties](../../tasty/tasty.md)
90
+
91
+ ### Styling Properties
92
+
93
+ #### styles
94
+
95
+ Customizes the root wrapper element of the component.
96
+
97
+ #### triggerStyles
98
+
99
+ Customizes the trigger button element that opens the dropdown.
100
+
101
+ **Sub-elements:**
102
+ - `Label` - The displayed selected value text or placeholder
103
+ - `Prefix` - Container for prefix content
104
+ - `Suffix` - Container for suffix content
105
+ - `Icon` - Container for left icon
106
+ - `RightIcon` - Container for right icon (caret, loading, clear button)
107
+ - `Description` - Description text within the trigger
108
+ - `Hotkeys` - Keyboard shortcut display
109
+
110
+ #### listBoxStyles
111
+
112
+ Customizes the dropdown list container that displays options.
113
+
114
+ #### overlayStyles
115
+
116
+ Customizes the popover overlay wrapper that contains the list.
117
+
118
+ #### optionStyles
119
+
120
+ Customizes individual option items in the dropdown.
121
+
122
+ **Sub-elements:**
123
+ - `Label` - The main content/text of the option
124
+ - `Description` - Secondary description text
125
+ - `Prefix` - Container for prefix content
126
+ - `Suffix` - Container for suffix content
127
+ - `Icon` - Container for left icon
128
+ - `RightIcon` - Container for right icon
129
+
130
+ ### Style Properties
131
+
132
+ These properties allow direct style application without using the `styles` prop: `display`, `font`, `preset`, `hide`, `opacity`, `whiteSpace`, `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`, `color`, `fill`, `fade`
133
+
134
+ ### Modifiers
135
+
136
+ The `mods` property accepts the following modifiers you can override:
137
+
138
+ | Modifier | Type | Description |
139
+ |----------|------|-------------|
140
+ | opened | `boolean` | Whether the dropdown is open |
141
+ | focused | `boolean` | Whether the select has focus |
142
+ | disabled | `boolean` | Whether the select is disabled |
143
+ | invalid | `boolean` | Whether the select has validation errors |
144
+ | valid | `boolean` | Whether the select is valid |
145
+ | placeholder | `boolean` | Whether showing placeholder text |
146
+ | hovered | `boolean` | Whether the select is being hovered |
147
+ | loading | `boolean` | Whether the select is in loading state |
148
+ | prefix | `boolean` | Whether prefix content is present |
149
+ | suffix | `boolean` | Whether suffix content is present |
150
+
151
+ ## Sub-components
152
+
153
+ ### Select.Item
154
+
155
+ Individual option items within the select dropdown. Each item is rendered using [Item](../content/Item.md) and supports all Item properties for layout, icons, descriptions, and interactive features.
156
+
157
+ #### Item API
158
+
159
+ For detailed information about all available item properties, see [Item documentation](../content/Item.md). Key properties include:
160
+
161
+ | Property | Type | Description |
162
+ |----------|------|-------------|
163
+ | key | `string \| number` | Unique identifier for the item (required) |
164
+ | children | `ReactNode` | The main content/label for the option |
165
+ | icon | `ReactNode` | Icon displayed before the content |
166
+ | rightIcon | `ReactNode` | Icon displayed after the content |
167
+ | description | `ReactNode` | Secondary text below the main content |
168
+ | descriptionPlacement | `'inline' \| 'block'` | How the description is positioned |
169
+ | prefix | `ReactNode` | Content before the main text |
170
+ | suffix | `ReactNode` | Content after the main text |
171
+ | tooltip | `string \| boolean \| object` | Tooltip configuration |
172
+ | styles | `Styles` | Custom styling for the item |
173
+ | qa | `string` | QA identifier for testing |
174
+
175
+ #### Example with Rich Items
176
+
177
+ ```jsx
178
+ <Select label="Users">
179
+ <Select.Item
180
+ key="user1"
181
+ icon={<IconUser />}
182
+ description="Administrator"
183
+ >
184
+ John Doe
185
+ </Select.Item>
186
+ <Select.Item
187
+ key="user2"
188
+ icon={<IconUser />}
189
+ description="Editor"
190
+ suffix="Online"
191
+ >
192
+ Jane Smith
193
+ </Select.Item>
194
+ </Select>
195
+ ```
196
+
197
+ ### Select.Section
198
+
199
+ Groups related options together with an optional heading.
200
+
201
+ | Property | Type | Default | Description |
202
+ |----------|------|---------|-------------|
203
+ | title | `ReactNode` | - | Optional heading text for the section |
204
+ | children | `Select.Item[]` | - | Collection of Select.Item components |
205
+
206
+ ## Variants
207
+
208
+ ### Themes
209
+
210
+ - `default` - Standard select appearance
211
+ - `special` - Alternative styling for special contexts
212
+
213
+ ### Types
214
+
215
+ - `primary` - Primary emphasis styling
216
+ - `secondary` - Secondary emphasis styling
217
+ - `outline` - Outlined appearance
218
+ - `neutral` - Neutral appearance
219
+ - `clear` - Minimal appearance
220
+ - `link` - Link-like appearance
221
+
222
+ ### Sizes
223
+
224
+ - `small` - Compact size for dense interfaces
225
+ - `medium` - Standard size for general interfaces (default)
226
+ - `large` - Emphasized size for important selections
227
+
228
+ ## Examples
229
+
230
+ ### Basic Usage
231
+
232
+ ```jsx
233
+ <Select label="Choose an option">
234
+ <Select.Item key="option1">Option 1</Select.Item>
235
+ <Select.Item key="option2">Option 2</Select.Item>
236
+ <Select.Item key="option3">Option 3</Select.Item>
237
+ </Select>
238
+ ```
239
+
240
+ ### With Default Value
241
+
242
+ ```jsx
243
+ <Select label="Color" defaultSelectedKey="purple">
244
+ <Select.Item key="red">Red</Select.Item>
245
+ <Select.Item key="blue">Blue</Select.Item>
246
+ <Select.Item key="purple">Purple</Select.Item>
247
+ </Select>
248
+ ```
249
+
250
+ ### With Placeholder
251
+
252
+ ```jsx
253
+ <Select label="Country" placeholder="Select a country">
254
+ <Select.Item key="us">United States</Select.Item>
255
+ <Select.Item key="ca">Canada</Select.Item>
256
+ <Select.Item key="uk">United Kingdom</Select.Item>
257
+ </Select>
258
+ ```
259
+
260
+ ### Clearable
261
+
262
+ ```jsx
263
+ <Select
264
+ isClearable
265
+ label="Color"
266
+ defaultSelectedKey="blue"
267
+ placeholder="Choose a color..."
268
+ >
269
+ <Select.Item key="red">Red</Select.Item>
270
+ <Select.Item key="blue">Blue</Select.Item>
271
+ <Select.Item key="green">Green</Select.Item>
272
+ </Select>
273
+ ```
274
+
275
+ ### Validation States
276
+
277
+ ```jsx
278
+ {/* Valid state */}
279
+ <Select
280
+ label="Validated field"
281
+ selectedKey="yes"
282
+ validationState="valid"
283
+ >
284
+ <Select.Item key="yes">Yes</Select.Item>
285
+ <Select.Item key="no">No</Select.Item>
286
+ </Select>
287
+
288
+ {/* Invalid state */}
289
+ <Select
290
+ label="Required field"
291
+ validationState="invalid"
292
+ errorMessage="Please select an option"
293
+ >
294
+ <Select.Item key="yes">Yes</Select.Item>
295
+ <Select.Item key="no">No</Select.Item>
296
+ </Select>
297
+ ```
298
+
299
+ ### Disabled State
300
+
301
+ ```jsx
302
+ <Select
303
+ isDisabled
304
+ label="Disabled select"
305
+ selectedKey="option1"
306
+ >
307
+ <Select.Item key="option1">Cannot change</Select.Item>
308
+ <Select.Item key="option2">Option 2</Select.Item>
309
+ </Select>
310
+ ```
311
+
312
+ ### With Icon
313
+
314
+ ```jsx
315
+ <Select label="Currency" icon={<IconCoin />}>
316
+ <Select.Item key="usd">USD</Select.Item>
317
+ <Select.Item key="eur">EUR</Select.Item>
318
+ <Select.Item key="gbp">GBP</Select.Item>
319
+ </Select>
320
+ ```
321
+
322
+ ### With Description
323
+
324
+ ```jsx
325
+ <Select placeholder="Select a color" listBoxStyles={{ width: 'max 30x' }}>
326
+ <Select.Item key="red" description="The color of fire">
327
+ Red
328
+ </Select.Item>
329
+ <Select.Item key="green" description="The color of nature">
330
+ Green
331
+ </Select.Item>
332
+ <Select.Item key="blue" description="The color of the sky">
333
+ Blue
334
+ </Select.Item>
335
+ </Select>
336
+ ```
337
+
338
+ ### With Icons and Descriptions
339
+
340
+ ```jsx
341
+ <Select placeholder="Select a color">
342
+ <Select.Item
343
+ key="yellow"
344
+ description="Child and light"
345
+ icon={<IconUser />}
346
+ >
347
+ Yellow
348
+ </Select.Item>
349
+ <Select.Item
350
+ key="red"
351
+ description="Hot and strong"
352
+ prefix={<span>🔥</span>}
353
+ >
354
+ Red
355
+ </Select.Item>
356
+ <Select.Item
357
+ key="green"
358
+ description="Fresh and calm"
359
+ suffix={<Text color="#dark-03">#00A000</Text>}
360
+ >
361
+ Green
362
+ </Select.Item>
363
+ </Select>
364
+ ```
365
+
366
+ ### With Sections (Static)
367
+
368
+ ```jsx
369
+ <Select placeholder="Pick something">
370
+ <Select.Section title="Warm colors">
371
+ <Select.Item key="red">Red</Select.Item>
372
+ <Select.Item key="orange">Orange</Select.Item>
373
+ <Select.Item key="yellow">Yellow</Select.Item>
374
+ </Select.Section>
375
+ <Select.Section title="Cool colors">
376
+ <Select.Item key="blue">Blue</Select.Item>
377
+ <Select.Item key="purple">Purple</Select.Item>
378
+ </Select.Section>
379
+ </Select>
380
+ ```
381
+
382
+ ### With Sections (Dynamic)
383
+
384
+ ```jsx
385
+ const groups = [
386
+ {
387
+ name: 'Fruits',
388
+ children: [
389
+ { id: 'apple', label: 'Apple' },
390
+ { id: 'orange', label: 'Orange' },
391
+ ],
392
+ },
393
+ {
394
+ name: 'Vegetables',
395
+ children: [
396
+ { id: 'carrot', label: 'Carrot' },
397
+ { id: 'peas', label: 'Peas' },
398
+ ],
399
+ },
400
+ ];
401
+
402
+ <Select items={groups} placeholder="Choose an item">
403
+ {(group) => (
404
+ <Select.Section key={group.name} title={group.name} items={group.children}>
405
+ {(item) => <Select.Item key={item.id}>{item.label}</Select.Item>}
406
+ </Select.Section>
407
+ )}
408
+ </Select>
409
+ ```
410
+
411
+ ### With Tooltips
412
+
413
+ ```jsx
414
+ <Select placeholder="Choose a framework">
415
+ <Select.Item
416
+ key="react"
417
+ tooltip="React - A JavaScript library for building user interfaces"
418
+ >
419
+ React
420
+ </Select.Item>
421
+ <Select.Item
422
+ key="vue"
423
+ tooltip={{ title: 'Vue.js Framework' }}
424
+ >
425
+ Vue.js
426
+ </Select.Item>
427
+ <Select.Item
428
+ key="angular"
429
+ tooltip="Angular - Platform for building mobile and desktop web applications"
430
+ >
431
+ Angular
432
+ </Select.Item>
433
+ </Select>
434
+ ```
435
+
436
+ ### With Disabled Items
437
+
438
+ ```jsx
439
+ <Select disabledKeys={['red']}>
440
+ <Select.Item key="red">Red (disabled)</Select.Item>
441
+ <Select.Item key="blue">Blue</Select.Item>
442
+ <Select.Item key="green">Green</Select.Item>
443
+ </Select>
444
+ ```
445
+
446
+ ## Accessibility
447
+
448
+ ### Keyboard Navigation
449
+
450
+ - `Tab` - Moves focus to the select
451
+ - `Space/Enter` - Opens the dropdown
452
+ - `Arrow Down` - Opens dropdown and moves to first/next option
453
+ - `Arrow Up` - Moves to previous option (when open)
454
+ - `Home` - Moves to first option
455
+ - `End` - Moves to last option
456
+ - `Escape` - Closes dropdown without selecting
457
+ - `Enter` - Selects focused option and closes dropdown
458
+ - Typing - Navigates to options starting with typed character
459
+
460
+ ### Screen Reader Support
461
+
462
+ - Component announces as "combobox" or "listbox" to screen readers
463
+ - Current selection is announced when changed
464
+ - Available options are announced during navigation
465
+ - Dropdown state (open/closed) is communicated
466
+
467
+ ### ARIA Properties
468
+
469
+ - `aria-label` - Provides accessible label when no visible label exists
470
+ - `aria-labelledby` - References external label elements
471
+ - `aria-describedby` - References additional descriptive text
472
+ - `aria-expanded` - Indicates if dropdown is open
473
+ - `aria-activedescendant` - References the currently focused option
474
+ - `aria-required` - Indicates if selection is required
475
+ - `aria-invalid` - Indicates validation state
476
+
477
+ ## Best Practices
478
+
479
+ 1. **Do**: Provide clear, descriptive labels and meaningful option text
480
+ ```jsx
481
+ <Select label="Shipping method">
482
+ <Select.Item key="standard">Standard (5-7 days)</Select.Item>
483
+ <Select.Item key="express">Express (2-3 days)</Select.Item>
484
+ </Select>
485
+ ```
486
+
487
+ 2. **Don't**: Use select for very long lists (use ComboBox or FilterPicker with search instead)
488
+ ```jsx
489
+ {/* Consider ComboBox or FilterPicker for 50+ options */}
490
+ <Select label="Country">
491
+ {/* 100+ countries... */}
492
+ </Select>
493
+ ```
494
+
495
+ 3. **Do**: Use sections to group related options logically
496
+ ```jsx
497
+ <Select label="Category">
498
+ <Select.Section title="Popular">
499
+ <Select.Item key="featured1">Featured Option 1</Select.Item>
500
+ </Select.Section>
501
+ <Select.Section title="All Options">
502
+ <Select.Item key="all1">All Option 1</Select.Item>
503
+ </Select.Section>
504
+ </Select>
505
+ ```
506
+
507
+ 4. **Do**: Provide clear error messages for validation failures
508
+ ```jsx
509
+ <Select
510
+ isRequired
511
+ validationState="invalid"
512
+ errorMessage="Please select a shipping method"
513
+ label="Shipping"
514
+ >
515
+ <Select.Item key="standard">Standard</Select.Item>
516
+ </Select>
517
+ ```
518
+
519
+ 5. **Do**: Consider providing sensible defaults when appropriate
520
+ ```jsx
521
+ <Select label="Language" defaultSelectedKey="en">
522
+ <Select.Item key="en">English</Select.Item>
523
+ <Select.Item key="es">Spanish</Select.Item>
524
+ </Select>
525
+ ```
526
+
527
+ 6. **Do**: Show loading state when options are being fetched
528
+ ```jsx
529
+ <Select isLoading label="Categories" placeholder="Loading...">
530
+ {categories.map(cat => <Select.Item key={cat.id}>{cat.name}</Select.Item>)}
531
+ </Select>
532
+ ```
533
+
534
+ 7. **Accessibility**: Always provide meaningful labels
535
+ ```jsx
536
+ <Select label="Country" aria-label="Select your country">
537
+ <Select.Item key="us">United States</Select.Item>
538
+ </Select>
539
+ ```
540
+
541
+ 8. **Clearable**: Use `isClearable` for optional selections
542
+ ```jsx
543
+ <Select isClearable label="Filter by status" placeholder="All statuses">
544
+ <Select.Item key="active">Active</Select.Item>
545
+ <Select.Item key="inactive">Inactive</Select.Item>
546
+ </Select>
547
+ ```
548
+
549
+ ## Integration with Forms
550
+
551
+ This component supports all Field properties when used within a Form. It integrates seamlessly with the form validation system and supports both controlled and uncontrolled modes.
552
+
553
+ ```jsx
554
+ <Form>
555
+ <Select
556
+ name="country"
557
+ label="Country"
558
+ isRequired
559
+ validationBehavior="native"
560
+ >
561
+ <Select.Item key="us">United States</Select.Item>
562
+ <Select.Item key="uk">United Kingdom</Select.Item>
563
+ <Select.Item key="ca">Canada</Select.Item>
564
+ </Select>
565
+ </Form>
566
+ ```
567
+
568
+ ## Suggested Improvements
569
+
570
+ - Add support for multi-selection mode with visual badges
571
+ - Implement virtual scrolling for very large option lists (1000+ items)
572
+ - Built-in async loading support with loading states per scroll position
573
+ - Enhanced keyboard shortcuts for power users (e.g., type to jump to option)
574
+ - Custom empty state component when no options are available
575
+ - Support for option groups with visual separators beyond sections
576
+
577
+ ## Related Components
578
+
579
+ - [ComboBox](./ComboBox.md) - For searchable selection with filtering capabilities
580
+ - [FilterPicker](./FilterPicker.md) - Alternative with different interaction patterns
581
+ - [ListBox](./ListBox.md) - The underlying list component used in Select
582
+ - [RadioGroup](./RadioGroup.md) - For visible selection options with fewer choices
583
+ - [Item](../content/Item.md) - The base component used for rendering items
@@ -0,0 +1,53 @@
1
+ # Slider
2
+
3
+ <Badge variant="neutral">Form component</Badge>
4
+
5
+ The Slider component allows users to select a numeric value from a range by dragging a thumb along a track. It provides an intuitive way to input values that fall within a specific range.
6
+
7
+ ## Examples
8
+
9
+ ### With Label
10
+
11
+ ### Without Value Label
12
+
13
+ ### Custom Value Formatting
14
+
15
+ ### Vertical Orientation
16
+
17
+ ### Disabled State
18
+
19
+ ## Properties
20
+
21
+ ## Sub-elements
22
+
23
+ The Slider component renders the following sub-elements that can be customized via the `styles` prop:
24
+
25
+ - **SliderControls**: The container for the track and thumb
26
+ - **SliderTrackContainer**: The track background and range fill
27
+ - **SliderThumb**: The draggable thumb element
28
+ - **SliderGradation**: Container for gradation marks
29
+ - **SliderGrade**: Individual gradation mark
30
+
31
+ ## Style Properties
32
+
33
+ The Slider component supports all standard style properties:
34
+
35
+ `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`
36
+
37
+ ## Accessibility
38
+
39
+ The Slider component follows WAI-ARIA guidelines:
40
+
41
+ - Uses appropriate ARIA roles and properties for slider interaction
42
+ - Supports keyboard navigation with arrow keys
43
+ - Provides clear focus indicators
44
+ - Associates labels with the input element
45
+ - Includes proper value announcements for screen readers
46
+
47
+ ## Best Practices
48
+
49
+ - Use descriptive labels that clearly indicate what the slider controls
50
+ - Consider providing gradation marks for better value reference
51
+ - Set appropriate min, max, and step values for your use case
52
+ - Use custom value formatting when the raw numeric value isn't user-friendly
53
+ - Consider the orientation based on your layout and user expectations