@cube-dev/ui-kit 0.146.1 → 0.147.0

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 (475) hide show
  1. package/dist/CHANGELOG.md +12 -0
  2. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.js +1 -1
  17. package/dist/components/actions/Action/Action.js +1 -1
  18. package/dist/components/actions/Banner/Banner.js +1 -1
  19. package/dist/components/actions/Button/Button.js +1 -1
  20. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  21. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  22. package/dist/components/actions/ButtonSplit/context.js +1 -1
  23. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  24. package/dist/components/actions/CommandMenu/styled.js +1 -1
  25. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  26. package/dist/components/actions/ItemActionContext.js +1 -1
  27. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  28. package/dist/components/actions/Link/Link.js +1 -1
  29. package/dist/components/actions/Menu/Menu.js +1 -1
  30. package/dist/components/actions/Menu/MenuItem.js +1 -1
  31. package/dist/components/actions/Menu/MenuSection.js +1 -1
  32. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  35. package/dist/components/actions/Menu/context.js +1 -1
  36. package/dist/components/actions/Menu/styled.js +1 -1
  37. package/dist/components/actions/index.js +1 -1
  38. package/dist/components/actions/use-action.js +1 -1
  39. package/dist/components/actions/use-anchored-menu.js +1 -1
  40. package/dist/components/actions/use-context-menu.js +1 -1
  41. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  42. package/dist/components/content/Alert/Alert.js +1 -1
  43. package/dist/components/content/Alert/use-alert.js +1 -1
  44. package/dist/components/content/Avatar/Avatar.js +1 -1
  45. package/dist/components/content/Badge/Badge.js +1 -1
  46. package/dist/components/content/Card/Card.js +1 -1
  47. package/dist/components/content/Content.js +1 -1
  48. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  49. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  50. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  51. package/dist/components/content/Divider.js +1 -1
  52. package/dist/components/content/Footer.js +1 -1
  53. package/dist/components/content/Header.js +1 -1
  54. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  55. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  56. package/dist/components/content/Item/Item.js +1 -1
  57. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  58. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  59. package/dist/components/content/Layout/GridLayout.js +1 -1
  60. package/dist/components/content/Layout/Layout.js +1 -1
  61. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  62. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  63. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  64. package/dist/components/content/Layout/LayoutContent.js +1 -1
  65. package/dist/components/content/Layout/LayoutContext.js +1 -1
  66. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  67. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  68. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  69. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  70. package/dist/components/content/Layout/LayoutPane.js +1 -1
  71. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  72. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  73. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  74. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  75. package/dist/components/content/Layout/index.js +1 -1
  76. package/dist/components/content/Layout/utils.js +1 -1
  77. package/dist/components/content/Paragraph.js +1 -1
  78. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  79. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  80. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  81. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  82. package/dist/components/content/Result/Result.js +1 -1
  83. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  84. package/dist/components/content/Tag/Tag.js +1 -1
  85. package/dist/components/content/Text.d.ts +7 -7
  86. package/dist/components/content/Text.js +1 -1
  87. package/dist/components/content/TextItem/TextItem.js +1 -1
  88. package/dist/components/content/Title.js +1 -1
  89. package/dist/components/content/Tree/Tree.js +1 -1
  90. package/dist/components/content/Tree/TreeNode.js +1 -1
  91. package/dist/components/content/Tree/styled.js +1 -1
  92. package/dist/components/content/Tree/tree-index.js +1 -1
  93. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  94. package/dist/components/content/Tree/use-load-data.js +1 -1
  95. package/dist/components/content/highlightText.js +1 -1
  96. package/dist/components/content/use-auto-tooltip.js +1 -1
  97. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  98. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  99. package/dist/components/fields/Checkbox/context.js +1 -1
  100. package/dist/components/fields/ComboBox/ComboBox.js +3 -2
  101. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  102. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  103. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  104. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  105. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  106. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  107. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  108. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  109. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  110. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  111. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  112. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  113. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  114. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  115. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  116. package/dist/components/fields/DatePicker/props.js +1 -1
  117. package/dist/components/fields/DatePicker/utils.js +1 -1
  118. package/dist/components/fields/FileInput/FileInput.js +1 -1
  119. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  120. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  121. package/dist/components/fields/Input/Input.js +1 -1
  122. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  123. package/dist/components/fields/ListBox/ListBox.js +1 -1
  124. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +3 -2
  125. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  126. package/dist/components/fields/ListBoxPopover/listNavigation.js +2 -2
  127. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  128. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  129. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  130. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  131. package/dist/components/fields/Picker/Picker.d.ts +1 -1
  132. package/dist/components/fields/Picker/Picker.js +1 -1
  133. package/dist/components/fields/Picker/Picker.js.map +1 -1
  134. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  135. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  136. package/dist/components/fields/RadioGroup/context.js +1 -1
  137. package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +136 -0
  138. package/dist/components/fields/SearchComboBox/SearchComboBox.js +470 -0
  139. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -0
  140. package/dist/components/fields/SearchComboBox/index.d.ts +2 -0
  141. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  142. package/dist/components/fields/Select/Select.js +1 -1
  143. package/dist/components/fields/Slider/Gradation.js +1 -1
  144. package/dist/components/fields/Slider/HueSlider.js +1 -1
  145. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  146. package/dist/components/fields/Slider/Slider.js +1 -1
  147. package/dist/components/fields/Slider/SliderBase.js +1 -1
  148. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  149. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  150. package/dist/components/fields/Slider/elements.js +1 -1
  151. package/dist/components/fields/Slider/index.js +1 -1
  152. package/dist/components/fields/Switch/Switch.js +1 -1
  153. package/dist/components/fields/TextArea/TextArea.js +1 -1
  154. package/dist/components/fields/TextInput/TextInput.js +1 -1
  155. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  156. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  157. package/dist/components/fields/index.d.ts +2 -0
  158. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  159. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  160. package/dist/components/form/Form/Field.js +1 -1
  161. package/dist/components/form/Form/Form.js +1 -1
  162. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  163. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  164. package/dist/components/form/Form/SubmitError.js +1 -1
  165. package/dist/components/form/Form/index.js +1 -1
  166. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  167. package/dist/components/form/Form/use-field/use-field.js +1 -1
  168. package/dist/components/form/Form/use-form.js +1 -1
  169. package/dist/components/form/Form/validation.js +1 -1
  170. package/dist/components/form/Label.js +1 -1
  171. package/dist/components/form/wrapper.js +1 -1
  172. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  173. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  174. package/dist/components/layout/Board/Board.js +1 -1
  175. package/dist/components/layout/Board/BoardProvider.js +1 -1
  176. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  177. package/dist/components/layout/Board/Widget.js +1 -1
  178. package/dist/components/layout/Board/WidgetHost.js +1 -1
  179. package/dist/components/layout/Board/board-context.js +1 -1
  180. package/dist/components/layout/Board/board-store.js +1 -1
  181. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  182. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  183. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  184. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  185. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  186. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  187. package/dist/components/layout/Board/index.js +1 -1
  188. package/dist/components/layout/Board/responsive-utils.js +1 -1
  189. package/dist/components/layout/Board/use-board-layout.js +1 -1
  190. package/dist/components/layout/Board/use-board-registry.js +1 -1
  191. package/dist/components/layout/Flex.js +1 -1
  192. package/dist/components/layout/Flow.js +1 -1
  193. package/dist/components/layout/Grid.js +1 -1
  194. package/dist/components/layout/Panel.js +1 -1
  195. package/dist/components/layout/Prefix.js +1 -1
  196. package/dist/components/layout/ResizablePanel.js +1 -1
  197. package/dist/components/layout/Space.js +1 -1
  198. package/dist/components/layout/Suffix.js +1 -1
  199. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  200. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  201. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  202. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  203. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  204. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  205. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  206. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  207. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  208. package/dist/components/navigation/Tabs/styled.js +1 -1
  209. package/dist/components/navigation/Tabs/types.js +1 -1
  210. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  211. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  212. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  213. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  214. package/dist/components/other/Calendar/Calendar.js +1 -1
  215. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  216. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  217. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  218. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  219. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  220. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  221. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  222. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  223. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  224. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  225. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  226. package/dist/components/overlays/Dialog/context.js +1 -1
  227. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  228. package/dist/components/overlays/Modal/Modal.js +1 -1
  229. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  230. package/dist/components/overlays/Modal/Overlay.js +1 -1
  231. package/dist/components/overlays/Modal/Popover.js +1 -1
  232. package/dist/components/overlays/Modal/Tray.js +1 -1
  233. package/dist/components/overlays/Modal/Underlay.js +1 -1
  234. package/dist/components/overlays/Notifications/Notification.js +1 -1
  235. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  236. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  237. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  238. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  239. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  240. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  241. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  242. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  243. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  244. package/dist/components/overlays/Notifications/index.js +1 -1
  245. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  246. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  247. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  248. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  249. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  250. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  251. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  252. package/dist/components/overlays/Toast/index.js +1 -1
  253. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  254. package/dist/components/overlays/Toast/useToast.js +1 -1
  255. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  256. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  257. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  258. package/dist/components/overlays/Tooltip/context.js +1 -1
  259. package/dist/components/portal/Portal.js +1 -1
  260. package/dist/components/portal/PortalProvider.js +1 -1
  261. package/dist/components/portal/usePortal.js +1 -1
  262. package/dist/components/shared/DraggableCollection.js +1 -1
  263. package/dist/components/shared/InvalidIcon.js +1 -1
  264. package/dist/components/shared/ValidIcon.js +1 -1
  265. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  266. package/dist/components/status/Spin/Cube.js +1 -1
  267. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  268. package/dist/components/status/Spin/Spin.js +1 -1
  269. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  270. package/dist/data/item-themes.js +1 -1
  271. package/dist/data/themes.js +1 -1
  272. package/dist/i18n/I18nProvider.js +1 -1
  273. package/dist/i18n/createFormatter.js +1 -1
  274. package/dist/i18n/index.js +1 -1
  275. package/dist/i18n/instance.js +1 -1
  276. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  277. package/dist/i18n/locales/en-US/uikit.js +1 -1
  278. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  279. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  280. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  281. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  282. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  283. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  284. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  285. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  286. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  287. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  288. package/dist/i18n/locales.js +1 -1
  289. package/dist/i18n/useFormatter.js +1 -1
  290. package/dist/i18n/useI18n.js +1 -1
  291. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  292. package/dist/icons/AdjustmentsIcon.js +1 -1
  293. package/dist/icons/AiIcon.js +1 -1
  294. package/dist/icons/AreaChartIcon.js +1 -1
  295. package/dist/icons/BackwardIcon.js +1 -1
  296. package/dist/icons/BarChartIcon.js +1 -1
  297. package/dist/icons/BellFilledIcon.js +1 -1
  298. package/dist/icons/BellIcon.js +1 -1
  299. package/dist/icons/BooleanIcon.js +1 -1
  300. package/dist/icons/CalendarEditIcon.js +1 -1
  301. package/dist/icons/CalendarIcon.js +1 -1
  302. package/dist/icons/CaretDownIcon.js +1 -1
  303. package/dist/icons/CaretUpIcon.js +1 -1
  304. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  305. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  306. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  307. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  308. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  309. package/dist/icons/ChartBarLineIcon.js +1 -1
  310. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  311. package/dist/icons/ChartBarStackedIcon.js +1 -1
  312. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  313. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  314. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  315. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  316. package/dist/icons/ChartBubbleIcon.js +1 -1
  317. package/dist/icons/ChartDonut2Icon.js +1 -1
  318. package/dist/icons/ChartFunnelIcon.js +1 -1
  319. package/dist/icons/ChartHeatmapIcon.js +1 -1
  320. package/dist/icons/ChartKPIIcon.js +1 -1
  321. package/dist/icons/ChartPie2Icon.js +1 -1
  322. package/dist/icons/ChartScatterIcon.js +1 -1
  323. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  324. package/dist/icons/CheckCircleIcon.js +1 -1
  325. package/dist/icons/CheckIcon.js +1 -1
  326. package/dist/icons/CircleFilledIcon.js +1 -1
  327. package/dist/icons/ClearIcon.js +1 -1
  328. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  329. package/dist/icons/CloseCircleIcon.js +1 -1
  330. package/dist/icons/CloseIcon.js +1 -1
  331. package/dist/icons/CodeIcon.js +1 -1
  332. package/dist/icons/ColumnTotalIcon.js +1 -1
  333. package/dist/icons/CopyIcon.js +1 -1
  334. package/dist/icons/CountIcon.js +1 -1
  335. package/dist/icons/CubeIcon.js +1 -1
  336. package/dist/icons/CubePauseIcon.js +1 -1
  337. package/dist/icons/CubePlayIcon.js +1 -1
  338. package/dist/icons/CurrencyDollarIcon.js +1 -1
  339. package/dist/icons/DangerIcon.js +1 -1
  340. package/dist/icons/DashboardIcon.js +1 -1
  341. package/dist/icons/DatabaseIcon.js +1 -1
  342. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  343. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  344. package/dist/icons/DirectionIcon.js +1 -1
  345. package/dist/icons/DonutIcon.js +1 -1
  346. package/dist/icons/DownIcon.js +1 -1
  347. package/dist/icons/EditIcon.js +1 -1
  348. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  349. package/dist/icons/ExclamationCircleIcon.js +1 -1
  350. package/dist/icons/ExclamationIcon.js +1 -1
  351. package/dist/icons/EyeIcon.js +1 -1
  352. package/dist/icons/EyeInvisibleIcon.js +1 -1
  353. package/dist/icons/FilterIcon.js +1 -1
  354. package/dist/icons/FolderFilledIcon.js +1 -1
  355. package/dist/icons/FolderIcon.js +1 -1
  356. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  357. package/dist/icons/FolderOpenIcon.js +1 -1
  358. package/dist/icons/ForwardIcon.js +1 -1
  359. package/dist/icons/GripVerticalIcon.js +1 -1
  360. package/dist/icons/HierarchyIcon.js +1 -1
  361. package/dist/icons/HierarchyOpenIcon.js +1 -1
  362. package/dist/icons/Icon.js +1 -1
  363. package/dist/icons/InfoCircleIcon.js +1 -1
  364. package/dist/icons/InfoIcon.js +1 -1
  365. package/dist/icons/KeyIcon.js +1 -1
  366. package/dist/icons/LeftIcon.js +1 -1
  367. package/dist/icons/LineChartIcon.js +1 -1
  368. package/dist/icons/LoadingIcon.js +1 -1
  369. package/dist/icons/LockFilledIcon.js +1 -1
  370. package/dist/icons/LockIcon.js +1 -1
  371. package/dist/icons/MoreIcon.js +1 -1
  372. package/dist/icons/NotAllowedIcon.js +1 -1
  373. package/dist/icons/Number123Icon.js +1 -1
  374. package/dist/icons/NumberIcon.js +1 -1
  375. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  376. package/dist/icons/PauseCircleIcon.js +1 -1
  377. package/dist/icons/PauseIcon.js +1 -1
  378. package/dist/icons/PercentageIcon.js +1 -1
  379. package/dist/icons/PieChartIcon.js +1 -1
  380. package/dist/icons/PlayCircleIcon.js +1 -1
  381. package/dist/icons/PlayIcon.js +1 -1
  382. package/dist/icons/PlusIcon.js +1 -1
  383. package/dist/icons/ProgressBarIcon.js +1 -1
  384. package/dist/icons/ReloadIcon.js +1 -1
  385. package/dist/icons/ReportIcon.js +1 -1
  386. package/dist/icons/ReturnIcon.js +1 -1
  387. package/dist/icons/RightIcon.js +1 -1
  388. package/dist/icons/RowTotalsIcon.js +1 -1
  389. package/dist/icons/SchemeIcon.js +1 -1
  390. package/dist/icons/SearchIcon.js +1 -1
  391. package/dist/icons/SemanticQueryIcon.js +1 -1
  392. package/dist/icons/SettingsIcon.js +1 -1
  393. package/dist/icons/ShieldFilledIcon.js +1 -1
  394. package/dist/icons/ShieldIcon.js +1 -1
  395. package/dist/icons/SlashIcon.js +1 -1
  396. package/dist/icons/SparklesIcon.js +1 -1
  397. package/dist/icons/SqlIcon.js +1 -1
  398. package/dist/icons/StatsIcon.js +1 -1
  399. package/dist/icons/StopIcon.js +1 -1
  400. package/dist/icons/StringIcon.js +1 -1
  401. package/dist/icons/SubtotalsIcon.js +1 -1
  402. package/dist/icons/SwitchIcon.js +1 -1
  403. package/dist/icons/TableIcon.js +1 -1
  404. package/dist/icons/ThumbsDownIcon.js +1 -1
  405. package/dist/icons/ThumbsUpIcon.js +1 -1
  406. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  407. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  408. package/dist/icons/ThunderboltIcon.js +1 -1
  409. package/dist/icons/TimeIcon.js +1 -1
  410. package/dist/icons/TrashIcon.js +1 -1
  411. package/dist/icons/UnlockIcon.js +1 -1
  412. package/dist/icons/UpIcon.js +1 -1
  413. package/dist/icons/UserGroupIcon.js +1 -1
  414. package/dist/icons/UserIcon.js +1 -1
  415. package/dist/icons/UserLockIcon.js +1 -1
  416. package/dist/icons/ViewIcon.js +1 -1
  417. package/dist/icons/WarningFilledIcon.js +1 -1
  418. package/dist/icons/WarningIcon.js +1 -1
  419. package/dist/icons/wrap-icon.js +1 -1
  420. package/dist/index.d.ts +2 -1
  421. package/dist/index.js +3 -2
  422. package/dist/index.js.map +1 -1
  423. package/dist/provider.js +1 -1
  424. package/dist/providers/TrackingProvider.js +1 -1
  425. package/dist/providers/navigationAdapter.default.js +1 -1
  426. package/dist/tokens/base.js +1 -1
  427. package/dist/tokens/colors.js +1 -1
  428. package/dist/tokens/index.js +1 -1
  429. package/dist/tokens/layout.js +1 -1
  430. package/dist/tokens/palette.js +1 -1
  431. package/dist/tokens/shadows.js +1 -1
  432. package/dist/tokens/sizes.js +1 -1
  433. package/dist/tokens/spacing.js +1 -1
  434. package/dist/tokens/typography.js +1 -1
  435. package/dist/utils/ResizeSensor.js +1 -1
  436. package/dist/utils/is-dev-env.js +1 -1
  437. package/dist/utils/modules.js +1 -1
  438. package/dist/utils/promise.js +1 -1
  439. package/dist/utils/raf.js +1 -1
  440. package/dist/utils/random.js +1 -1
  441. package/dist/utils/range.js +1 -1
  442. package/dist/utils/react/RenderCache.js +1 -1
  443. package/dist/utils/react/Slots.js +1 -1
  444. package/dist/utils/react/chain.js +1 -1
  445. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  446. package/dist/utils/react/index.js +1 -1
  447. package/dist/utils/react/interactions.js +1 -1
  448. package/dist/utils/react/isTextOnly.js +1 -1
  449. package/dist/utils/react/mapProps.js +1 -1
  450. package/dist/utils/react/mergeProps.js +1 -1
  451. package/dist/utils/react/nullableValue.js +1 -1
  452. package/dist/utils/react/resolveIcon.js +1 -1
  453. package/dist/utils/react/sharedStore.js +1 -1
  454. package/dist/utils/react/useCombinedRefs.js +1 -1
  455. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  456. package/dist/utils/react/useEventBus.js +1 -1
  457. package/dist/utils/react/useId.js +1 -1
  458. package/dist/utils/react/useIsDarwin.js +1 -1
  459. package/dist/utils/react/useKeySymbols.js +1 -1
  460. package/dist/utils/react/useLayoutEffect.js +1 -1
  461. package/dist/utils/react/useLocalStorage.js +1 -1
  462. package/dist/utils/react/useMergeStyles.js +1 -1
  463. package/dist/utils/react/usePopoverSync.js +1 -1
  464. package/dist/utils/react/useQaProps.js +1 -1
  465. package/dist/utils/react/useViewportSize.js +1 -1
  466. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  467. package/dist/utils/selection.js +1 -1
  468. package/dist/utils/styles.js +1 -1
  469. package/dist/utils/tree.js +1 -1
  470. package/dist/utils/warnings.js +1 -1
  471. package/dist/version.js +2 -2
  472. package/docs/components/fields/ComboBox.md +0 -1
  473. package/docs/components/fields/Picker.md +0 -1
  474. package/docs/components/fields/SearchComboBox.md +251 -0
  475. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import { Children, isValidElement } from "react";
3
3
 
4
4
  //#region src/utils/react/isTextOnly.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  //#region src/utils/react/mapProps.ts
3
3
  /** Converts AriaButtonProps to CubeButtonProps */
4
4
  function ariaToCubeButtonProps(props) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { mergeIds } from "./useId.js";
4
4
  import { mergeStyles } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  //#region src/utils/react/nullableValue.ts
3
3
  function castNullableStringValue(props) {
4
4
  return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v));
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  //#region src/utils/react/resolveIcon.ts
3
3
  /**
4
4
  * Resolves a dynamic icon prop to its content and slot state.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import { useEffect, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useCombinedRefs.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import { createSharedStore } from "./sharedStore.js";
3
3
  import { useEffect } from "react";
4
4
  import { useFocusVisible } from "react-aria";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useEventBus.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { useSSRSafeId } from "@react-aria/ssr";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useIsDarwin.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import { useIsDarwin } from "./useIsDarwin.js";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import * as React$1 from "react";
3
3
 
4
4
  //#region src/utils/react/useLayoutEffect.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import { mergeStyles } from "@tenphi/tasty";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import { EventBusContext, useEventBus } from "./useEventBus.js";
3
3
  import { useCallback, useContext, useEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  //#region src/utils/react/useQaProps.ts
3
3
  /**
4
4
  * Processes QA props.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useViewportSize.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  import { isValidElement } from "react";
3
3
  import { isFragment } from "react-is";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  //#region src/utils/selection.ts
3
3
  /**
4
4
  * Deduplicate/toggle keys in a selection: if a key appears twice it is
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  //#region src/utils/styles.ts
3
3
  /**
4
4
  * Split properties into style and non-style properties.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  //#region src/utils/tree.ts
3
3
  function toFlatTree(tree, includingFolders) {
4
4
  return tree.reduce((result, node) => {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  //#region src/utils/warnings.ts
3
3
  const SUGGESTED_PROP_MAP = {
4
4
  disabled: "isDisabled",
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.146.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.147.0 | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.146.1";
3
+ const VERSION = "0.147.0";
4
4
  const TASTY_VERSION = "2.8.0";
5
5
  if (typeof window !== "undefined") {
6
6
  const version = VERSION;
@@ -672,7 +672,6 @@ This component supports all [Field properties](../../FieldProperties.md) when us
672
672
  - **Async Loading**: Built-in support for async data loading with loading states per scroll position (partial support via `isLoading` prop)
673
673
  - **Custom Option Rendering**: Allow more flexibility in rendering option content beyond text
674
674
  - **Grouped Item Navigation**: Improve keyboard navigation to allow jumping between section groups (e.g., Ctrl+Arrow to skip to next section)
675
- - **Empty State Component**: Allow passing custom React components for empty state when no results are found
676
675
  - **Prefix/Suffix Slots**: Add more flexible slot-based API for prefix and suffix content
677
676
  - **Item Descriptions**: Support for showing secondary text/descriptions in list items
678
677
 
@@ -56,7 +56,6 @@ A versatile selection component that combines a trigger button with a dropdown l
56
56
  - **`onClear`** `() => void` — Callback called when the clear button is pressed
57
57
  - **`onOpenChange`** `(isOpen: boolean) => void` — Callback called when the popover open state changes
58
58
  - **`filter`** `((textValue: string, inputValue: string) => boolean) | false` — Custom filter function for items. Pass `false` to disable filtering.
59
- - **`emptyLabel`** `ReactNode` — Content shown when no items match the filter or the collection is empty
60
59
 
61
60
  ### Base Properties
62
61
 
@@ -0,0 +1,251 @@
1
+ # SearchComboBox
2
+
3
+ A search-styled combobox for "search and act" flows. The user types a query, picks a suggestion (or optionally submits raw text), a callback fires, and the input clears so they can search again. Unlike [ComboBox](./ComboBox.md), it does not hold a persistent selection and cannot be connected to a form.
4
+
5
+ ## When to Use
6
+
7
+ - Command palettes, "add item" inputs, or global search where each interaction is a discrete action
8
+ - Server-driven suggestions where results are fetched based on the query (use `filter={false}`)
9
+ - When you want the input to reset after every pick instead of showing the selected label
10
+ - When you optionally want to submit a free-form query that matches no suggestion
11
+
12
+ For a field that keeps a selected value (e.g. inside a form), use [ComboBox](./ComboBox.md) instead.
13
+
14
+ ## Component
15
+
16
+ ---
17
+
18
+ ### Properties
19
+
20
+ - **`children`** `ReactNode` — SearchComboBox.Item elements that define the available suggestions
21
+ - **`items`** `Iterable<T>` — Items for the listbox (alternative to children, enables data-driven mode)
22
+ - **`placeholder`** `string` — Placeholder text when the input is empty
23
+ - **`icon`** `ReactElement | null` — Icon rendered before the input. Defaults to a search icon; pass `null` to remove it
24
+ - **`inputValue`** `string` — The current input value in controlled mode
25
+ - **`defaultInputValue`** `string` — The default input value in uncontrolled mode
26
+ - **`emptyLabel`** `ReactNode` (default: context-aware `No results found` / `Loading…`) — Label shown when the list is empty
27
+ - **`filter`** `((textValue: string, inputValue: string) => boolean) | false` — Custom filter function, or `false` to disable internal filtering for external/server-side filtering
28
+ - **`isClearable`** `boolean` (default: `true`) — Whether the input is clearable via the clear button or Escape key
29
+ - **`hideTrigger`** `boolean` (default: `true`) — Whether the dropdown trigger button is hidden (search-field look)
30
+ - **`popoverTrigger`** `'focus' | 'input' | 'manual'` (default: `input`) — How the popover is triggered
31
+ - **`isLoading`** `boolean` (default: `false`) — Whether items are being loaded (e.g. from a server)
32
+ - **`loadingDelay`** `number` (default: `1000`) — Delay in ms before the loading indicator appears
33
+ - **`size`** `'small' | 'medium' | 'large'` (default: `medium`) — Size of the component
34
+ - **`disabledKeys`** `Iterable<Key>` — Keys of suggestions that cannot be selected
35
+ - **`onSelect`** `(key: string, textValue: string) => void` — Fired when a suggestion is picked; the input clears afterwards
36
+ - **`onSubmit`** `(value: string) => void` — Opt-in. Fired when Enter is pressed with no focused/available option; the input clears afterwards
37
+ - **`onInputChange`** `(value: string) => void` — Fired when the input text changes
38
+ - **`onClear`** `() => void` — Fired when the input is cleared
39
+ - **`onOpenChange`** `(isOpen: boolean) => void` — Fired when the popover opens or closes
40
+ - **`onFocus`** `() => void` — Fired when focus enters the component
41
+ - **`onBlur`** `() => void` — Fired when focus leaves the component
42
+ - **`onKeyDown`** `(e: KeyboardEvent) => void` — Fired when a key is pressed on the input
43
+ - **`prefix`** `ReactNode` — Content rendered before the input
44
+ - **`suffix`** `ReactNode` — Content rendered after the input
45
+ - **`suffixPosition`** `'before' | 'after'` (default: `before`) — Position of suffix relative to status icons
46
+ - **`direction`** `'top' | 'bottom'` (default: `bottom`) — Preferred direction for the dropdown
47
+ - **`shouldFlip`** `boolean` (default: `true`) — Whether the dropdown flips to fit in the viewport
48
+ - **`overlayOffset`** `number` (default: `8`) — Distance between input and dropdown in pixels
49
+ - **`containerPadding`** `number` (default: `8`) — Minimum padding between the popover and viewport edges
50
+
51
+ #### Notable Properties
52
+
53
+ **onSelect vs onSubmit** — `onSelect(key, textValue)` fires when a suggestion from the list is chosen. When the popover has visible suggestions, pressing Enter selects the highlighted one (or the first visible one when nothing is highlighted). `onSubmit(value)` is an opt-in escape hatch: only when there are no visible suggestions and the user presses Enter is the raw trimmed text submitted. Without `onSubmit`, Enter with no visible suggestion is a no-op. Both callbacks clear the input afterwards.
54
+
55
+ **filter** — By default the list is filtered client-side with a contains match. Pass a custom `(textValue, inputValue) => boolean`, or set `filter={false}` to disable internal filtering entirely and provide already-filtered `items` yourself (server-side filtering).
56
+
57
+ **isLoading + loadingDelay** — While `isLoading` is `true`, the previous results stay visible. The loading indicator (and the `Loading…` empty label) only appear after `loadingDelay` has elapsed, so fast responses never flash a loading state.
58
+
59
+ ### Base Properties
60
+
61
+ Supports [Base properties](../../BaseProperties.md)
62
+
63
+ ### Field Properties
64
+
65
+ Supports the layout-related [Field properties](../../FieldProperties.md) (`label`, `description`, `message`, `labelPosition`, etc.). Note that SearchComboBox is not form-connected: it does not accept `name`/`rules` and does not participate in form state or validation.
66
+
67
+ ### Styling Properties
68
+
69
+ #### styles
70
+
71
+ Customizes the root wrapper element of the SearchComboBox (the input container).
72
+
73
+ **Sub-elements:**
74
+ - `Prefix` - Container for prefix content and icons
75
+ - `Suffix` - Container for suffix content, status icons, and action buttons
76
+ - `InputIcon` - Container for the left icon
77
+
78
+ #### inputStyles
79
+
80
+ Customizes the text input element where users type.
81
+
82
+ #### triggerStyles
83
+
84
+ Customizes the dropdown trigger button (visible when `hideTrigger={false}`).
85
+
86
+ #### listBoxStyles
87
+
88
+ Customizes the dropdown list container that displays suggestions.
89
+
90
+ #### overlayStyles
91
+
92
+ Customizes the popover overlay wrapper that contains the list.
93
+
94
+ #### optionStyles
95
+
96
+ Customizes individual option items in the dropdown list.
97
+
98
+ #### sectionStyles
99
+
100
+ Customizes section containers when using grouped suggestions.
101
+
102
+ #### headingStyles
103
+
104
+ Customizes section heading elements within grouped suggestions.
105
+
106
+ ### Style Properties
107
+
108
+ These properties allow direct style application without using the `styles` prop:
109
+
110
+ - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
111
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
112
+ - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
113
+ - **Block:** `border`, `radius`, `shadow`, `outline`
114
+ - **Color:** `color`, `fill`, `fade`, `image`
115
+
116
+ ### Modifiers
117
+
118
+ The `mods` property accepts the following modifiers you can override:
119
+
120
+ - **`invalid`** `boolean` — Applied when validation state is invalid
121
+ - **`valid`** `boolean` — Applied when validation state is valid
122
+ - **`disabled`** `boolean` — Applied when the component is disabled
123
+ - **`focused`** `boolean` — Applied when the input has focus
124
+ - **`loading`** `boolean` — Applied when the loading indicator is visible
125
+ - **`prefix`** `boolean` — Applied when prefix content is present
126
+ - **`suffix`** `boolean` — Applied when suffix content is present
127
+ - **`clearable`** `boolean` — Applied when the clear button is visible
128
+
129
+ ## Variants
130
+
131
+ ### Sizes
132
+
133
+ ### With Trigger Button
134
+
135
+ ## Examples
136
+
137
+ ### Clears on Select
138
+
139
+ ```jsx
140
+ <SearchComboBox
141
+ label="Add a fruit"
142
+ placeholder="Search a fruit..."
143
+ onSelect={(key, textValue) => addFruit(key, textValue)}
144
+ >
145
+ <SearchComboBox.Item key="apple">Apple</SearchComboBox.Item>
146
+ <SearchComboBox.Item key="banana">Banana</SearchComboBox.Item>
147
+ </SearchComboBox>
148
+ ```
149
+
150
+ ### Submit Free-form Text
151
+
152
+ ```jsx
153
+ <SearchComboBox
154
+ label="Search or add a tag"
155
+ placeholder="Type and press Enter..."
156
+ onSubmit={(value) => addTag(value)}
157
+ >
158
+ <SearchComboBox.Item key="apple">Apple</SearchComboBox.Item>
159
+ <SearchComboBox.Item key="banana">Banana</SearchComboBox.Item>
160
+ </SearchComboBox>
161
+ ```
162
+
163
+ ### Custom Empty Label
164
+
165
+ ```jsx
166
+ <SearchComboBox
167
+ label="Search a fruit"
168
+ emptyLabel="No fruit matches your search"
169
+ >
170
+ <SearchComboBox.Item key="apple">Apple</SearchComboBox.Item>
171
+ <SearchComboBox.Item key="banana">Banana</SearchComboBox.Item>
172
+ </SearchComboBox>
173
+ ```
174
+
175
+ ### Server-side Filtering
176
+
177
+ Set `filter={false}` and drive `items` from your own (debounced) fetch. Toggle `isLoading` while the request is in flight — the indicator only appears if it takes longer than `loadingDelay`.
178
+
179
+ ```jsx
180
+ const [value, setValue] = useState('');
181
+ const [isLoading, setIsLoading] = useState(false);
182
+ const [results, setResults] = useState([]);
183
+
184
+ useEffect(() => {
185
+ if (!value.trim()) {
186
+ setResults([]);
187
+ return;
188
+ }
189
+ setIsLoading(true);
190
+ const handle = setTimeout(async () => {
191
+ setResults(await fetchCountries(value));
192
+ setIsLoading(false);
193
+ }, 400); // debounce is your responsibility
194
+ return () => clearTimeout(handle);
195
+ }, [value]);
196
+
197
+ <SearchComboBox
198
+ filter={false}
199
+ label="Country"
200
+ placeholder="Search countries..."
201
+ inputValue={value}
202
+ isLoading={isLoading}
203
+ items={results}
204
+ emptyLabel={value.trim() ? 'No countries found' : 'Type to search'}
205
+ onInputChange={setValue}
206
+ onSelect={(key) => selectCountry(key)}
207
+ >
208
+ {(item) => <SearchComboBox.Item key={item.key}>{item.name}</SearchComboBox.Item>}
209
+ </SearchComboBox>
210
+ ```
211
+
212
+ ## Accessibility
213
+
214
+ ### Keyboard Navigation
215
+
216
+ - `Tab` - Moves focus to/from the input
217
+ - `ArrowDown` - Opens the popover (if closed) or moves focus to the next suggestion
218
+ - `ArrowUp` - Opens the popover (if closed) or moves focus to the previous suggestion
219
+ - `Enter` - Selects the highlighted suggestion, falling back to the first visible suggestion; when no suggestion is visible, submits the raw text via `onSubmit`
220
+ - `Escape` - Closes the popover (if open) or clears the input (if clearable and popover closed)
221
+ - `Home` / `End` - Moves focus to the first / last suggestion (when the popover is open)
222
+ - Typing - Filters suggestions based on the input value
223
+
224
+ ### ARIA Properties
225
+
226
+ - `role="combobox"` - Identifies the input as a combobox
227
+ - `aria-expanded` - Indicates whether the popover is open
228
+ - `aria-haspopup="listbox"` - Indicates the combobox has a listbox popup
229
+ - `aria-controls` - References the listbox ID when the popover is open
230
+ - `aria-activedescendant` - References the currently focused suggestion
231
+ - `aria-label` - Provides an accessible label when no visible label exists
232
+
233
+ ## Best Practices
234
+
235
+ 1. **Do**: Debounce server requests before updating `items`
236
+ ```jsx
237
+ <SearchComboBox filter={false} isLoading={isLoading} items={results} />
238
+ ```
239
+
240
+ 2. **Do**: Provide a meaningful `emptyLabel` for both the empty and loading states
241
+ ```jsx
242
+ <SearchComboBox emptyLabel={query ? 'No results' : 'Type to search'} />
243
+ ```
244
+
245
+ 3. **Don't**: Use SearchComboBox to capture a persistent value in a form — use [ComboBox](./ComboBox.md) instead
246
+
247
+ ## Related Components
248
+
249
+ - [ComboBox](./ComboBox.md) - Use when you need a persistent selection that can be bound to a form
250
+ - [SearchInput](./SearchInput.md) - Use for free-text search without suggestions
251
+ - [ListBox](./ListBox.md) - The underlying list component used in the popover
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.146.1",
3
+ "version": "0.147.0",
4
4
  "type": "module",
5
5
  "description": "UIKit for Cube Projects",
6
6
  "repository": {