@cube-dev/ui-kit 0.0.0-canary-6d9cd75 → 0.0.0-canary-2bcceca

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 (504) hide show
  1. package/es/_internal/hooks/index.js +1 -1
  2. package/es/_internal/hooks/use-chained-callback.js +1 -1
  3. package/es/_internal/hooks/use-debounced-value.js +1 -1
  4. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/es/_internal/hooks/use-effect-once.js +1 -1
  6. package/es/_internal/hooks/use-event.js +1 -1
  7. package/es/_internal/hooks/use-is-first-render.js +1 -1
  8. package/es/_internal/hooks/use-sync-ref.js +1 -1
  9. package/es/_internal/hooks/use-timer/index.js +1 -1
  10. package/es/_internal/hooks/use-timer/timer.js +1 -1
  11. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  12. package/es/_internal/hooks/use-update-effect.js +1 -1
  13. package/es/_internal/hooks/use-warn.js +1 -1
  14. package/es/_internal/index.js +1 -1
  15. package/es/components/Block.js +1 -1
  16. package/es/components/GlobalStyles.js +1 -1
  17. package/es/components/GridProvider.js +1 -1
  18. package/es/components/HiddenInput.js +1 -1
  19. package/es/components/Item.js +1 -1
  20. package/es/components/OpenTrasition.js +1 -1
  21. package/es/components/Root.js +1 -1
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +1 -1
  24. package/es/components/actions/Button/index.js +1 -1
  25. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  27. package/es/components/actions/CommandMenu/index.js +1 -1
  28. package/es/components/actions/CommandMenu/styled.js +1 -1
  29. package/es/components/actions/ItemAction/ItemAction.js +1 -1
  30. package/es/components/actions/ItemAction/index.js +1 -1
  31. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  32. package/es/components/actions/ItemButton/index.js +1 -1
  33. package/es/components/actions/Link/Link.js +1 -1
  34. package/es/components/actions/Menu/Menu.js +1 -1
  35. package/es/components/actions/Menu/MenuItem.js +1 -1
  36. package/es/components/actions/Menu/MenuSection.js +1 -1
  37. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  38. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  39. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  40. package/es/components/actions/Menu/context.js +1 -1
  41. package/es/components/actions/Menu/index.js +1 -1
  42. package/es/components/actions/Menu/styled.js +1 -1
  43. package/es/components/actions/index.js +1 -1
  44. package/es/components/actions/use-action.js +1 -1
  45. package/es/components/actions/use-anchored-menu.js +1 -1
  46. package/es/components/actions/use-context-menu.js +1 -1
  47. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  48. package/es/components/content/Alert/Alert.js +1 -1
  49. package/es/components/content/Alert/index.js +1 -1
  50. package/es/components/content/Alert/types.js +1 -1
  51. package/es/components/content/Alert/use-alert.js +1 -1
  52. package/es/components/content/Avatar/Avatar.js +1 -1
  53. package/es/components/content/Badge/Badge.js +1 -1
  54. package/es/components/content/Card/Card.js +1 -1
  55. package/es/components/content/Content.js +1 -1
  56. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  57. package/es/components/content/CopyPasteBlock/index.js +1 -1
  58. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  59. package/es/components/content/CopySnippet/index.js +1 -1
  60. package/es/components/content/Divider.js +1 -1
  61. package/es/components/content/Footer.js +1 -1
  62. package/es/components/content/Header.js +1 -1
  63. package/es/components/content/HotKeys/HotKeys.js +1 -1
  64. package/es/components/content/HotKeys/index.js +1 -1
  65. package/es/components/content/ItemBase/ItemBase.js +1 -1
  66. package/es/components/content/ItemBase/index.js +1 -1
  67. package/es/components/content/List/SectionHeading.js +1 -1
  68. package/es/components/content/List/index.js +1 -1
  69. package/es/components/content/Paragraph.js +1 -1
  70. package/es/components/content/Placeholder/Placeholder.js +1 -1
  71. package/es/components/content/PrismCode/PrismCode.js +1 -1
  72. package/es/components/content/PrismCode/prismSetup.js +1 -1
  73. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  74. package/es/components/content/Result/Result.js +1 -1
  75. package/es/components/content/Skeleton/Skeleton.js +1 -1
  76. package/es/components/content/Tag/Tag.js +1 -1
  77. package/es/components/content/Text.js +1 -1
  78. package/es/components/content/Title.js +1 -1
  79. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  80. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  81. package/es/components/fields/Checkbox/context.js +1 -1
  82. package/es/components/fields/Checkbox/index.js +1 -1
  83. package/es/components/fields/ComboBox/ComboBox.js +154 -87
  84. package/es/components/fields/ComboBox/index.js +1 -1
  85. package/es/components/fields/DatePicker/DateInput.js +1 -1
  86. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  87. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  88. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  89. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  90. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  91. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  92. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  93. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  94. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  95. package/es/components/fields/DatePicker/index.js +1 -1
  96. package/es/components/fields/DatePicker/intl.js +1 -1
  97. package/es/components/fields/DatePicker/parseDate.js +1 -1
  98. package/es/components/fields/DatePicker/props.js +1 -1
  99. package/es/components/fields/DatePicker/types.js +1 -1
  100. package/es/components/fields/DatePicker/utils.js +1 -1
  101. package/es/components/fields/FileInput/FileInput.js +1 -1
  102. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  103. package/es/components/fields/FilterListBox/index.js +1 -1
  104. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  105. package/es/components/fields/FilterPicker/index.js +1 -1
  106. package/es/components/fields/Input/Input.js +1 -1
  107. package/es/components/fields/Input/index.js +1 -1
  108. package/es/components/fields/LegacyComboBox/LegacyComboBox.js +1 -1
  109. package/es/components/fields/LegacyComboBox/index.js +1 -1
  110. package/es/components/fields/ListBox/ListBox.js +6 -6
  111. package/es/components/fields/ListBox/index.js +1 -1
  112. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  113. package/es/components/fields/NumberInput/StepButton.js +1 -1
  114. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  115. package/es/components/fields/Picker/Picker.js +1 -1
  116. package/es/components/fields/Picker/index.js +1 -1
  117. package/es/components/fields/RadioGroup/Radio.js +1 -1
  118. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  119. package/es/components/fields/RadioGroup/context.js +1 -1
  120. package/es/components/fields/RadioGroup/index.js +1 -1
  121. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  122. package/es/components/fields/SearchInput/index.js +1 -1
  123. package/es/components/fields/Select/Select.js +1 -1
  124. package/es/components/fields/Select/index.js +1 -1
  125. package/es/components/fields/Slider/Gradation.js +1 -1
  126. package/es/components/fields/Slider/Header.js +1 -1
  127. package/es/components/fields/Slider/RangeSlider.js +1 -1
  128. package/es/components/fields/Slider/Slider.js +1 -1
  129. package/es/components/fields/Slider/SliderBase.js +1 -1
  130. package/es/components/fields/Slider/SliderInput.js +1 -1
  131. package/es/components/fields/Slider/SliderThumb.js +1 -1
  132. package/es/components/fields/Slider/SliderTrack.js +1 -1
  133. package/es/components/fields/Slider/elements.js +1 -1
  134. package/es/components/fields/Slider/index.js +1 -1
  135. package/es/components/fields/Slider/types.js +1 -1
  136. package/es/components/fields/Switch/Switch.js +1 -1
  137. package/es/components/fields/Switch/index.js +1 -1
  138. package/es/components/fields/TextArea/TextArea.js +1 -1
  139. package/es/components/fields/TextArea/index.js +1 -1
  140. package/es/components/fields/TextInput/TextInput.js +1 -1
  141. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  142. package/es/components/fields/TextInput/index.js +1 -1
  143. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  144. package/es/components/fields/TextInputMapper/index.js +1 -1
  145. package/es/components/fields/index.js +1 -1
  146. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  147. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  148. package/es/components/form/FieldWrapper/index.js +1 -1
  149. package/es/components/form/FieldWrapper/types.js +1 -1
  150. package/es/components/form/Form/Field.js +1 -1
  151. package/es/components/form/Form/Form.js +1 -1
  152. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  153. package/es/components/form/Form/ResetButton/index.js +1 -1
  154. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  155. package/es/components/form/Form/SubmitButton/index.js +1 -1
  156. package/es/components/form/Form/SubmitError.js +1 -1
  157. package/es/components/form/Form/index.js +1 -1
  158. package/es/components/form/Form/types.js +1 -1
  159. package/es/components/form/Form/use-field/index.js +1 -1
  160. package/es/components/form/Form/use-field/types.js +1 -1
  161. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  162. package/es/components/form/Form/use-field/use-field.js +1 -1
  163. package/es/components/form/Form/use-form.js +1 -1
  164. package/es/components/form/Form/validation.js +1 -1
  165. package/es/components/form/Label.js +1 -1
  166. package/es/components/form/index.js +1 -1
  167. package/es/components/form/wrapper.js +1 -1
  168. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  169. package/es/components/helpers/index.js +1 -1
  170. package/es/components/layout/Flex.js +1 -1
  171. package/es/components/layout/Flow.js +1 -1
  172. package/es/components/layout/Grid.js +1 -1
  173. package/es/components/layout/Panel.js +1 -1
  174. package/es/components/layout/Prefix.js +1 -1
  175. package/es/components/layout/ResizablePanel.js +1 -1
  176. package/es/components/layout/Space.js +1 -1
  177. package/es/components/layout/Suffix.js +1 -1
  178. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  179. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  180. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  181. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  182. package/es/components/other/Calendar/Calendar.js +1 -1
  183. package/es/components/other/Calendar/CalendarCell.js +1 -1
  184. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  185. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  186. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  187. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  188. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  189. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  190. package/es/components/overlays/AlertDialog/index.js +1 -1
  191. package/es/components/overlays/AlertDialog/types.js +1 -1
  192. package/es/components/overlays/Dialog/Dialog.js +1 -1
  193. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  194. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  195. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  196. package/es/components/overlays/Dialog/context.js +1 -1
  197. package/es/components/overlays/Dialog/index.js +1 -1
  198. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  199. package/es/components/overlays/Modal/Modal.js +1 -1
  200. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  201. package/es/components/overlays/Modal/Overlay.js +1 -1
  202. package/es/components/overlays/Modal/Popover.js +1 -1
  203. package/es/components/overlays/Modal/Tray.js +1 -1
  204. package/es/components/overlays/Modal/Underlay.js +1 -1
  205. package/es/components/overlays/Modal/index.js +1 -1
  206. package/es/components/overlays/Modal/types.js +1 -1
  207. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  208. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  209. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  210. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  211. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  212. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  213. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  214. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  215. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  216. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  217. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  218. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  219. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  220. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  221. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  222. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  223. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  224. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  225. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  226. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  227. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  228. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  229. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  230. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  231. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  232. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  233. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  234. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  235. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  236. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  237. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  238. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  239. package/es/components/overlays/NewNotifications/index.js +1 -1
  240. package/es/components/overlays/NewNotifications/types.js +1 -1
  241. package/es/components/overlays/Notification/Notification.js +1 -1
  242. package/es/components/overlays/OverlayWrapper.js +1 -1
  243. package/es/components/overlays/Toasts/Toast.js +1 -1
  244. package/es/components/overlays/Toasts/index.js +1 -1
  245. package/es/components/overlays/Toasts/types.js +1 -1
  246. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  247. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  248. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  249. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  250. package/es/components/overlays/Tooltip/context.js +1 -1
  251. package/es/components/overlays/Tooltip/index.js +1 -1
  252. package/es/components/portal/Portal.js +1 -1
  253. package/es/components/portal/PortalProvider.js +1 -1
  254. package/es/components/portal/index.js +1 -1
  255. package/es/components/portal/types.js +1 -1
  256. package/es/components/portal/usePortal.js +1 -1
  257. package/es/components/shared/InvalidIcon.js +1 -1
  258. package/es/components/shared/ValidIcon.js +1 -1
  259. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  260. package/es/components/status/LoadingAnimation/index.js +1 -1
  261. package/es/components/status/Spin/Cube.js +1 -1
  262. package/es/components/status/Spin/InternalSpinner.js +1 -1
  263. package/es/components/status/Spin/Spin.js +1 -1
  264. package/es/components/status/Spin/SpinsContainer.js +1 -1
  265. package/es/components/status/Spin/index.js +1 -1
  266. package/es/components/status/Spin/types.js +1 -1
  267. package/es/components/status/index.js +1 -1
  268. package/es/data/item-themes.js +1 -1
  269. package/es/data/themes.js +1 -1
  270. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  271. package/es/icons/AdjustmentsIcon.js +1 -1
  272. package/es/icons/AiIcon.js +1 -1
  273. package/es/icons/AreaChartIcon.js +1 -1
  274. package/es/icons/BackwardIcon.js +1 -1
  275. package/es/icons/BarChartIcon.js +1 -1
  276. package/es/icons/BellFilledIcon.js +1 -1
  277. package/es/icons/BellIcon.js +1 -1
  278. package/es/icons/BooleanIcon.js +1 -1
  279. package/es/icons/CalendarEditIcon.js +1 -1
  280. package/es/icons/CalendarIcon.js +1 -1
  281. package/es/icons/CaretDownIcon.js +1 -1
  282. package/es/icons/CaretUpIcon.js +1 -1
  283. package/es/icons/ChartAreaStackedIcon.js +1 -1
  284. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  285. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  286. package/es/icons/ChartBarGroupedIcon.js +1 -1
  287. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  288. package/es/icons/ChartBarLineIcon.js +1 -1
  289. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  290. package/es/icons/ChartBarStackedIcon.js +1 -1
  291. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  292. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  293. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  294. package/es/icons/ChartBoxPlotIcon.js +1 -1
  295. package/es/icons/ChartBubbleIcon.js +1 -1
  296. package/es/icons/ChartDonut2Icon.js +1 -1
  297. package/es/icons/ChartFunnelIcon.js +1 -1
  298. package/es/icons/ChartHeatmapIcon.js +1 -1
  299. package/es/icons/ChartKPIIcon.js +1 -1
  300. package/es/icons/ChartPie2Icon.js +1 -1
  301. package/es/icons/ChartScatterIcon.js +1 -1
  302. package/es/icons/CheckCircleFilledIcon.js +1 -1
  303. package/es/icons/CheckCircleIcon.js +1 -1
  304. package/es/icons/CheckIcon.js +1 -1
  305. package/es/icons/CircleFilledIcon.js +1 -1
  306. package/es/icons/ClearIcon.js +1 -1
  307. package/es/icons/CloseCircleFilledIcon.js +1 -1
  308. package/es/icons/CloseCircleIcon.js +1 -1
  309. package/es/icons/CloseIcon.js +1 -1
  310. package/es/icons/CodeIcon.js +1 -1
  311. package/es/icons/CopyIcon.js +1 -1
  312. package/es/icons/CountIcon.js +1 -1
  313. package/es/icons/CubeIcon.js +1 -1
  314. package/es/icons/CubePauseIcon.js +1 -1
  315. package/es/icons/CubePlayIcon.js +1 -1
  316. package/es/icons/CurrencyDollarIcon.js +1 -1
  317. package/es/icons/DangerIcon.js +1 -1
  318. package/es/icons/DashboardIcon.js +1 -1
  319. package/es/icons/DatabaseIcon.js +1 -1
  320. package/es/icons/DecimalDecreaseIcon.js +1 -1
  321. package/es/icons/DecimalIncreaseIcon.js +1 -1
  322. package/es/icons/DirectionIcon.js +1 -1
  323. package/es/icons/DonutIcon.js +1 -1
  324. package/es/icons/DownIcon.js +1 -1
  325. package/es/icons/EditIcon.js +1 -1
  326. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  327. package/es/icons/ExclamationCircleIcon.js +1 -1
  328. package/es/icons/ExclamationIcon.js +1 -1
  329. package/es/icons/EyeIcon.js +1 -1
  330. package/es/icons/EyeInvisibleIcon.js +1 -1
  331. package/es/icons/FilterIcon.js +1 -1
  332. package/es/icons/FolderFilledIcon.js +1 -1
  333. package/es/icons/FolderIcon.js +1 -1
  334. package/es/icons/FolderOpenFilledIcon.js +1 -1
  335. package/es/icons/FolderOpenIcon.js +1 -1
  336. package/es/icons/ForwardIcon.js +1 -1
  337. package/es/icons/HierarchyIcon.js +1 -1
  338. package/es/icons/Icon.js +1 -1
  339. package/es/icons/InfoCircleIcon.js +1 -1
  340. package/es/icons/InfoIcon.js +1 -1
  341. package/es/icons/KeyIcon.js +1 -1
  342. package/es/icons/LeftIcon.js +1 -1
  343. package/es/icons/LineChartIcon.js +1 -1
  344. package/es/icons/LoadingIcon.js +1 -1
  345. package/es/icons/LockFilledIcon.js +1 -1
  346. package/es/icons/LockIcon.js +1 -1
  347. package/es/icons/MoreIcon.js +1 -1
  348. package/es/icons/NotAllowedIcon.js +1 -1
  349. package/es/icons/Number123Icon.js +1 -1
  350. package/es/icons/NumberIcon.js +1 -1
  351. package/es/icons/PauseCircleFilledIcon.js +1 -1
  352. package/es/icons/PauseCircleIcon.js +1 -1
  353. package/es/icons/PauseIcon.js +1 -1
  354. package/es/icons/PercentageIcon.js +1 -1
  355. package/es/icons/PieChartIcon.js +1 -1
  356. package/es/icons/PlayCircleIcon.js +1 -1
  357. package/es/icons/PlayIcon.js +1 -1
  358. package/es/icons/PlusIcon.js +1 -1
  359. package/es/icons/ReloadIcon.js +1 -1
  360. package/es/icons/ReportIcon.js +1 -1
  361. package/es/icons/ReturnIcon.js +1 -1
  362. package/es/icons/RightIcon.js +1 -1
  363. package/es/icons/SchemeIcon.js +1 -1
  364. package/es/icons/SearchIcon.js +1 -1
  365. package/es/icons/SettingsIcon.js +1 -1
  366. package/es/icons/ShieldFilledIcon.js +1 -1
  367. package/es/icons/ShieldIcon.js +1 -1
  368. package/es/icons/SlashIcon.js +1 -1
  369. package/es/icons/SparklesIcon.js +1 -1
  370. package/es/icons/SqlIcon.js +1 -1
  371. package/es/icons/StatsIcon.js +1 -1
  372. package/es/icons/StopIcon.js +1 -1
  373. package/es/icons/StringIcon.js +1 -1
  374. package/es/icons/SwitchIcon.js +1 -1
  375. package/es/icons/TableIcon.js +1 -1
  376. package/es/icons/ThumbsDownIcon.js +1 -1
  377. package/es/icons/ThumbsUpIcon.js +1 -1
  378. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  379. package/es/icons/ThunderboltFilledIcon.js +1 -1
  380. package/es/icons/ThunderboltIcon.js +1 -1
  381. package/es/icons/TimeIcon.js +1 -1
  382. package/es/icons/UnlockIcon.js +1 -1
  383. package/es/icons/UpIcon.js +1 -1
  384. package/es/icons/UserGroupIcon.js +1 -1
  385. package/es/icons/UserIcon.js +1 -1
  386. package/es/icons/UserLockIcon.js +1 -1
  387. package/es/icons/ViewIcon.js +1 -1
  388. package/es/icons/WarningFilledIcon.js +1 -1
  389. package/es/icons/WarningIcon.js +1 -1
  390. package/es/icons/add-new-icon.js +1 -1
  391. package/es/icons/index.js +1 -1
  392. package/es/icons/wrap-icon.js +1 -1
  393. package/es/index.js +1 -1
  394. package/es/provider.js +1 -1
  395. package/es/providers/TrackingProvider.js +1 -1
  396. package/es/providers/navigation.types.js +1 -1
  397. package/es/providers/navigationAdapter.default.js +1 -1
  398. package/es/services/notification.js +1 -1
  399. package/es/shared/form.js +1 -1
  400. package/es/shared/index.js +1 -1
  401. package/es/stories/Form.legacy-stories.js +1 -1
  402. package/es/stories/FormFieldArgs.js +1 -1
  403. package/es/stories/Layout.stories.js +1 -1
  404. package/es/stories/Tasty.stories.js +1 -1
  405. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  406. package/es/stories/components/DialogFormApp.js +1 -1
  407. package/es/stories/components/StyledButton.js +1 -1
  408. package/es/stories/lists/baseProps.js +1 -1
  409. package/es/tasty/debug.js +1 -1
  410. package/es/tasty/index.js +1 -1
  411. package/es/tasty/injector/index.js +1 -1
  412. package/es/tasty/injector/injector.js +1 -1
  413. package/es/tasty/injector/sheet-manager.js +1 -1
  414. package/es/tasty/injector/types.js +1 -1
  415. package/es/tasty/parser/classify.js +1 -1
  416. package/es/tasty/parser/const.js +1 -1
  417. package/es/tasty/parser/lru.js +1 -1
  418. package/es/tasty/parser/parser.js +1 -1
  419. package/es/tasty/parser/tokenizer.js +1 -1
  420. package/es/tasty/parser/types.js +1 -1
  421. package/es/tasty/providers/BreakpointsProvider.js +1 -1
  422. package/es/tasty/styles/align.js +1 -1
  423. package/es/tasty/styles/border.js +1 -1
  424. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  425. package/es/tasty/styles/color.js +1 -1
  426. package/es/tasty/styles/createStyle.js +1 -1
  427. package/es/tasty/styles/dimension.js +1 -1
  428. package/es/tasty/styles/display.js +1 -1
  429. package/es/tasty/styles/fade.js +1 -1
  430. package/es/tasty/styles/fill.js +1 -1
  431. package/es/tasty/styles/flow.js +1 -1
  432. package/es/tasty/styles/font.js +1 -1
  433. package/es/tasty/styles/fontStyle.js +1 -1
  434. package/es/tasty/styles/gap.js +1 -1
  435. package/es/tasty/styles/groupRadius.js +1 -1
  436. package/es/tasty/styles/height.js +1 -1
  437. package/es/tasty/styles/index.js +1 -1
  438. package/es/tasty/styles/inset.js +1 -1
  439. package/es/tasty/styles/justify.js +1 -1
  440. package/es/tasty/styles/list.js +1 -1
  441. package/es/tasty/styles/margin.js +1 -1
  442. package/es/tasty/styles/outline.js +1 -1
  443. package/es/tasty/styles/padding.js +1 -1
  444. package/es/tasty/styles/place.js +1 -1
  445. package/es/tasty/styles/predefined.js +1 -1
  446. package/es/tasty/styles/preset.js +1 -1
  447. package/es/tasty/styles/radius.js +1 -1
  448. package/es/tasty/styles/reset.js +1 -1
  449. package/es/tasty/styles/scrollbar.js +1 -1
  450. package/es/tasty/styles/shadow.js +1 -1
  451. package/es/tasty/styles/styledScrollbar.js +1 -1
  452. package/es/tasty/styles/transition.js +1 -1
  453. package/es/tasty/styles/types.js +1 -1
  454. package/es/tasty/styles/width.js +1 -1
  455. package/es/tasty/tasty.js +1 -1
  456. package/es/tasty/types.js +1 -1
  457. package/es/tasty/utils/cache-wrapper.js +1 -1
  458. package/es/tasty/utils/case-converter.js +1 -1
  459. package/es/tasty/utils/colors.js +1 -1
  460. package/es/tasty/utils/dotize.js +1 -1
  461. package/es/tasty/utils/filterBaseProps.js +1 -1
  462. package/es/tasty/utils/getDisplayName.js +1 -1
  463. package/es/tasty/utils/getModCombinations.js +1 -1
  464. package/es/tasty/utils/isDevEnv.js +1 -1
  465. package/es/tasty/utils/mergeStyles.js +1 -1
  466. package/es/tasty/utils/modAttrs.js +1 -1
  467. package/es/tasty/utils/renderStyles.js +1 -1
  468. package/es/tasty/utils/responsive.js +1 -1
  469. package/es/tasty/utils/string.js +1 -1
  470. package/es/tasty/utils/styles.js +1 -1
  471. package/es/tasty/utils/warnings.js +1 -1
  472. package/es/tokens.js +1 -1
  473. package/es/utils/ResizeSensor.js +1 -1
  474. package/es/utils/modules.js +1 -1
  475. package/es/utils/promise.js +1 -1
  476. package/es/utils/random.js +1 -1
  477. package/es/utils/range.js +1 -1
  478. package/es/utils/react/Slots.js +1 -1
  479. package/es/utils/react/chain.js +1 -1
  480. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  481. package/es/utils/react/index.js +1 -1
  482. package/es/utils/react/interactions.js +1 -1
  483. package/es/utils/react/isTextOnly.js +1 -1
  484. package/es/utils/react/mapProps.js +1 -1
  485. package/es/utils/react/mergeProps.js +1 -1
  486. package/es/utils/react/nullableValue.js +1 -1
  487. package/es/utils/react/sharedStore.js +1 -1
  488. package/es/utils/react/useCombinedRefs.js +1 -1
  489. package/es/utils/react/useControlledFocusVisible.js +1 -1
  490. package/es/utils/react/useEventBus.js +1 -1
  491. package/es/utils/react/useId.js +1 -1
  492. package/es/utils/react/useIsDarwin.js +1 -1
  493. package/es/utils/react/useKeySymbols.js +1 -1
  494. package/es/utils/react/useLayoutEffect.js +1 -1
  495. package/es/utils/react/useQaProps.js +1 -1
  496. package/es/utils/react/useViewportSize.js +1 -1
  497. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  498. package/es/utils/transitions.js +1 -1
  499. package/es/utils/tree.js +1 -1
  500. package/es/utils/warnings.js +1 -1
  501. package/es/version.js +2 -2
  502. package/package.json +1 -1
  503. package/types/components/fields/FilterListBox/FilterListBox.d.ts +1 -1
  504. package/types/components/fields/ListBox/ListBox.d.ts +6 -0
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -118,65 +118,37 @@ function useComboBoxState({ selectedKey, defaultSelectedKey, inputValue, default
118
118
  isControlledInput,
119
119
  };
120
120
  }
121
- function useComboBoxFiltering({ children, effectiveInputValue, filter, }) {
121
+ function useComboBoxFiltering({ effectiveInputValue, filter, }) {
122
122
  const [isFilterActive, setIsFilterActive] = useState(false);
123
123
  const { contains } = useFilter({ sensitivity: 'base' });
124
124
  const textFilterFn = useMemo(() => (filter === false ? () => true : filter || contains), [filter, contains]);
125
- // Filter children based on input value
126
- const filteredChildren = useMemo(() => {
125
+ // Create a filter function for collection nodes
126
+ const filterFn = useCallback((nodes) => {
127
127
  const term = effectiveInputValue.trim();
128
- if (!isFilterActive || !term || !children) {
129
- return children;
130
- }
131
- const nodeMatches = (node) => {
132
- if (!node?.props)
133
- return false;
134
- const textValue = node.props.textValue ||
135
- (typeof node.props.children === 'string' ? node.props.children : '') ||
136
- String(node.props.children || '');
137
- return textFilterFn(textValue, term);
138
- };
139
- const filterChildren = (childNodes) => {
140
- if (!childNodes)
141
- return null;
142
- const childArray = Array.isArray(childNodes) ? childNodes : [childNodes];
143
- const filteredNodes = [];
144
- childArray.forEach((child) => {
145
- if (!child || typeof child !== 'object') {
146
- return;
147
- }
148
- if (child.type === BaseSection ||
149
- child.type?.displayName === 'Section') {
150
- const sectionChildren = Array.isArray(child.props.children)
151
- ? child.props.children
152
- : [child.props.children];
153
- const filteredSectionChildren = sectionChildren.filter((sectionChild) => {
154
- return (sectionChild &&
155
- typeof sectionChild === 'object' &&
156
- nodeMatches(sectionChild));
157
- });
158
- if (filteredSectionChildren.length > 0) {
159
- filteredNodes.push(cloneElement(child, {
160
- key: child.key,
161
- children: filteredSectionChildren,
162
- }));
163
- }
164
- }
165
- else if (child.type === Item) {
166
- if (nodeMatches(child)) {
167
- filteredNodes.push(child);
168
- }
169
- }
170
- else if (nodeMatches(child)) {
171
- filteredNodes.push(child);
128
+ // Don't filter if not active or no search term
129
+ if (!isFilterActive || !term) {
130
+ return nodes;
131
+ }
132
+ // Filter nodes based on their textValue and preserve section structure
133
+ return [...nodes]
134
+ .map((node) => {
135
+ if (node.type === 'section' && node.childNodes) {
136
+ const filteredChildren = [...node.childNodes].filter((child) => textFilterFn(child.textValue || '', term));
137
+ if (filteredChildren.length === 0) {
138
+ return null;
172
139
  }
173
- });
174
- return filteredNodes;
175
- };
176
- return filterChildren(children);
177
- }, [isFilterActive, children, effectiveInputValue, textFilterFn]);
140
+ return {
141
+ ...node,
142
+ childNodes: filteredChildren,
143
+ hasChildNodes: true,
144
+ };
145
+ }
146
+ return textFilterFn(node.textValue || '', term) ? node : null;
147
+ })
148
+ .filter(Boolean);
149
+ }, [isFilterActive, effectiveInputValue, textFilterFn]);
178
150
  return {
179
- filteredChildren,
151
+ filterFn,
180
152
  isFilterActive,
181
153
  setIsFilterActive,
182
154
  };
@@ -376,7 +348,7 @@ const ComboBoxInput = forwardRef(function ComboBoxInput({ qa, inputRef, id, valu
376
348
  ? `ListBoxItem-${listStateRef.current?.selectionManager.focusedKey}`
377
349
  : undefined }));
378
350
  });
379
- function ComboBoxOverlay({ isOpen, triggerRef, popoverRef, listBoxRef, direction, shouldFlip, overlayOffset, comboBoxWidth, comboBoxId, overlayStyles, listBoxStyles, optionStyles, sectionStyles, headingStyles, effectiveSelectedKey, isDisabled, disabledKeys, items, children, listStateRef, onSelectionChange, onClose, label, ariaLabel, compositeFocusProps, }) {
351
+ function ComboBoxOverlay({ isOpen, triggerRef, popoverRef, listBoxRef, direction, shouldFlip, overlayOffset, comboBoxWidth, comboBoxId, overlayStyles, listBoxStyles, optionStyles, sectionStyles, headingStyles, effectiveSelectedKey, isDisabled, disabledKeys, items, children, listStateRef, onSelectionChange, onClose, label, ariaLabel, compositeFocusProps, filter, }) {
380
352
  // Overlay positioning
381
353
  const { overlayProps: overlayPositionProps, placement, updatePosition, } = useOverlayPosition({
382
354
  targetRef: triggerRef,
@@ -423,7 +395,7 @@ function ComboBoxOverlay({ isOpen, triggerRef, popoverRef, listBoxRef, direction
423
395
  }, styles: overlayStyles, style: {
424
396
  '--min-width': comboBoxWidth ? `${comboBoxWidth}px` : undefined,
425
397
  ...overlayPositionProps.style,
426
- }, children: _jsx(ListBox, { ref: listBoxRef, focusOnHover: true, disableSelectionToggle: true, id: `ComboBoxListBox-${comboBoxId}`, "aria-label": ariaLabel || (typeof label === 'string' ? label : 'Options'), selectedKey: effectiveSelectedKey, selectionMode: "single", isDisabled: isDisabled, disabledKeys: disabledKeys, shouldUseVirtualFocus: true, items: items, styles: listBoxStyles, optionStyles: optionStyles, sectionStyles: sectionStyles, headingStyles: headingStyles, stateRef: listStateRef, mods: {
398
+ }, children: _jsx(ListBox, { ref: listBoxRef, focusOnHover: true, disableSelectionToggle: true, id: `ComboBoxListBox-${comboBoxId}`, "aria-label": ariaLabel || (typeof label === 'string' ? label : 'Options'), selectedKey: effectiveSelectedKey, selectionMode: "single", isDisabled: isDisabled, disabledKeys: disabledKeys, shouldUseVirtualFocus: true, items: items, filter: filter, styles: listBoxStyles, optionStyles: optionStyles, sectionStyles: sectionStyles, headingStyles: headingStyles, stateRef: listStateRef, mods: {
427
399
  popover: true,
428
400
  }, onSelectionChange: onSelectionChange, children: children }) })) }));
429
401
  return _jsx(Portal, { children: overlayContent });
@@ -553,31 +525,62 @@ export const ComboBox = forwardRef(function ComboBox(props, ref) {
553
525
  }
554
526
  }, [isPopoverOpen, effectiveSelectedKey]);
555
527
  // Filtering hook
556
- const { filteredChildren, isFilterActive, setIsFilterActive } = useComboBoxFiltering({
557
- children,
528
+ const { filterFn, isFilterActive, setIsFilterActive } = useComboBoxFiltering({
558
529
  effectiveInputValue,
559
530
  filter,
560
531
  });
561
- // Freeze filtered children during close animation to prevent visual jumps
562
- const frozenFilteredChildrenRef = useRef(null);
563
- useEffect(() => {
564
- // Update frozen children only when popover is open
565
- if (isPopoverOpen) {
566
- frozenFilteredChildrenRef.current = filteredChildren;
567
- }
568
- }, [isPopoverOpen, filteredChildren]);
569
- // Use frozen children during close animation, fresh children when open
570
- const displayedFilteredChildren = isPopoverOpen
571
- ? filteredChildren
572
- : frozenFilteredChildrenRef.current ?? filteredChildren;
573
532
  // Create local collection state for reading item data (labels, etc.)
574
533
  // This allows us to read item labels even before the popover opens
575
534
  const localCollectionState = useListState({
576
- children: displayedFilteredChildren,
535
+ children,
577
536
  items: sortedItems,
578
537
  selectionMode: 'none', // Don't manage selection in this state
579
538
  });
580
539
  const { isFocused, focusProps } = useFocus({ isDisabled });
540
+ // Helper to check if current input value is valid
541
+ const checkInputValidity = useCallback(() => {
542
+ if (!effectiveInputValue.trim()) {
543
+ return { isValid: false, singleMatchKey: null, filteredCount: 0 };
544
+ }
545
+ // Get filtered collection based on current input
546
+ const filteredNodes = filterFn(localCollectionState.collection);
547
+ const filteredItems = [];
548
+ // Flatten filtered nodes (handle sections)
549
+ for (const node of filteredNodes) {
550
+ if (node.type === 'section' && node.childNodes) {
551
+ for (const child of node.childNodes) {
552
+ if (child.type === 'item') {
553
+ filteredItems.push({
554
+ key: child.key,
555
+ textValue: child.textValue || '',
556
+ });
557
+ }
558
+ }
559
+ }
560
+ else if (node.type === 'item') {
561
+ filteredItems.push({
562
+ key: node.key,
563
+ textValue: node.textValue || '',
564
+ });
565
+ }
566
+ }
567
+ const filteredCount = filteredItems.length;
568
+ // Check for exact match
569
+ const exactMatch = filteredItems.find((item) => item.textValue.toLowerCase() ===
570
+ effectiveInputValue.trim().toLowerCase());
571
+ if (exactMatch) {
572
+ return { isValid: true, singleMatchKey: exactMatch.key, filteredCount };
573
+ }
574
+ // If exactly one filtered result, consider it valid
575
+ if (filteredCount === 1) {
576
+ return {
577
+ isValid: true,
578
+ singleMatchKey: filteredItems[0].key,
579
+ filteredCount,
580
+ };
581
+ }
582
+ return { isValid: false, singleMatchKey: null, filteredCount };
583
+ }, [effectiveInputValue, filterFn, localCollectionState.collection]);
581
584
  // Composite blur handler - fires when focus leaves the entire component
582
585
  const handleCompositeBlur = useEvent(() => {
583
586
  // Always disable filter on blur
@@ -595,19 +598,67 @@ export const ComboBox = forwardRef(function ComboBox(props, ref) {
595
598
  onBlur?.();
596
599
  return;
597
600
  }
598
- // In clearOnBlur mode (only for non-custom-value mode), clear selection and input
599
- if (clearOnBlur && !allowsCustomValue) {
600
- externalOnSelectionChange?.(null);
601
- if (!isControlledKey) {
602
- setInternalSelectedKey(null);
601
+ // In non-custom-value mode, validate input and handle accordingly
602
+ if (!allowsCustomValue) {
603
+ const { isValid, singleMatchKey } = checkInputValidity();
604
+ // If there's exactly one filtered result, auto-select it
605
+ if (isValid &&
606
+ singleMatchKey != null &&
607
+ singleMatchKey !== effectiveSelectedKey) {
608
+ const label = getItemLabel(singleMatchKey);
609
+ if (!isControlledKey) {
610
+ setInternalSelectedKey(singleMatchKey);
611
+ }
612
+ if (!isControlledInput) {
613
+ setInternalInputValue(label);
614
+ }
615
+ onInputChange?.(label);
616
+ externalOnSelectionChange?.(singleMatchKey);
617
+ // Call user's onBlur callback
618
+ onBlur?.();
619
+ return;
603
620
  }
604
- if (!isControlledInput) {
605
- setInternalInputValue('');
621
+ // If input is invalid (no exact match, not a single result)
622
+ if (!isValid) {
623
+ const trimmedInput = effectiveInputValue.trim();
624
+ if (clearOnBlur) {
625
+ // Clear selection and input
626
+ externalOnSelectionChange?.(null);
627
+ if (!isControlledKey) {
628
+ setInternalSelectedKey(null);
629
+ }
630
+ if (!isControlledInput) {
631
+ setInternalInputValue('');
632
+ }
633
+ onInputChange?.('');
634
+ }
635
+ else {
636
+ // If input is empty (after trim), clear selection and input
637
+ if (!trimmedInput) {
638
+ externalOnSelectionChange?.(null);
639
+ if (!isControlledKey) {
640
+ setInternalSelectedKey(null);
641
+ }
642
+ if (!isControlledInput) {
643
+ setInternalInputValue('');
644
+ }
645
+ onInputChange?.('');
646
+ }
647
+ else {
648
+ // Reset input to current selected value (or empty if none)
649
+ const nextValue = effectiveSelectedKey != null
650
+ ? getItemLabel(effectiveSelectedKey)
651
+ : '';
652
+ if (!isControlledInput) {
653
+ setInternalInputValue(nextValue);
654
+ }
655
+ onInputChange?.(nextValue);
656
+ }
657
+ }
658
+ // Call user's onBlur callback
659
+ onBlur?.();
660
+ return;
606
661
  }
607
- onInputChange?.('');
608
- // Call user's onBlur callback
609
- onBlur?.();
610
- return;
611
662
  }
612
663
  // Reset input to show current selection (or empty if none)
613
664
  const nextValue = effectiveSelectedKey != null ? getItemLabel(effectiveSelectedKey) : '';
@@ -746,10 +797,26 @@ export const ComboBox = forwardRef(function ComboBox(props, ref) {
746
797
  ? effectiveInputValue !== ''
747
798
  : effectiveSelectedKey != null;
748
799
  let showClearButton = isClearable && hasValue && !isDisabled && !isReadOnly;
749
- const hasResults = Boolean(displayedFilteredChildren &&
750
- (Array.isArray(displayedFilteredChildren)
751
- ? displayedFilteredChildren.length > 0
752
- : displayedFilteredChildren !== null));
800
+ // Check if there are any results after filtering
801
+ const hasResults = useMemo(() => {
802
+ if (!children)
803
+ return false;
804
+ if (!Array.isArray(children) && children === null)
805
+ return false;
806
+ // If we have a collection, check if filtering will produce any results
807
+ if (localCollectionState?.collection) {
808
+ const filteredNodes = filterFn(localCollectionState.collection);
809
+ const resultArray = Array.from(filteredNodes).flatMap((node) => {
810
+ if (node.type === 'section' && node.childNodes) {
811
+ return [...node.childNodes];
812
+ }
813
+ return [node];
814
+ });
815
+ return resultArray.length > 0;
816
+ }
817
+ // Fallback: check if children exists
818
+ return Array.isArray(children) ? children.length > 0 : true;
819
+ }, [children, localCollectionState?.collection, filterFn]);
753
820
  // Clear function
754
821
  let clearValue = useEvent(() => {
755
822
  // Clear input
@@ -890,7 +957,7 @@ export const ComboBox = forwardRef(function ComboBox(props, ref) {
890
957
  }
891
958
  }
892
959
  }
893
- } })) : null] }), _jsx(ComboBoxOverlay, { isOpen: shouldShowPopover, triggerRef: wrapperRef, popoverRef: popoverRef, listBoxRef: listBoxRef, direction: direction, shouldFlip: shouldFlip, overlayOffset: overlayOffset, comboBoxWidth: comboBoxWidth, comboBoxId: comboBoxId, overlayStyles: overlayStyles, listBoxStyles: listBoxStyles, optionStyles: optionStyles, sectionStyles: sectionStyles, headingStyles: headingStyles, effectiveSelectedKey: effectiveSelectedKey, isDisabled: isDisabled, disabledKeys: props.disabledKeys, items: sortedItems, listStateRef: listStateRef, label: label, ariaLabel: props['aria-label'], compositeFocusProps: compositeFocusProps, onSelectionChange: handleSelectionChange, onClose: () => setIsPopoverOpen(false), children: displayedFilteredChildren })] }));
960
+ } })) : null] }), _jsx(ComboBoxOverlay, { isOpen: shouldShowPopover, triggerRef: wrapperRef, popoverRef: popoverRef, listBoxRef: listBoxRef, direction: direction, shouldFlip: shouldFlip, overlayOffset: overlayOffset, comboBoxWidth: comboBoxWidth, comboBoxId: comboBoxId, overlayStyles: overlayStyles, listBoxStyles: listBoxStyles, optionStyles: optionStyles, sectionStyles: sectionStyles, headingStyles: headingStyles, effectiveSelectedKey: effectiveSelectedKey, isDisabled: isDisabled, disabledKeys: props.disabledKeys, items: sortedItems, listStateRef: listStateRef, label: label, ariaLabel: props['aria-label'], compositeFocusProps: compositeFocusProps, filter: filterFn, onSelectionChange: handleSelectionChange, onClose: () => setIsPopoverOpen(false), children: children })] }));
894
961
  const { children: _, ...propsWithoutChildren } = props;
895
962
  const finalProps = {
896
963
  ...propsWithoutChildren,
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-6d9cd75
4
+ * @cube-dev/ui-kit v0.0.0-canary-2bcceca
5
5
  * Released under the MIT license.
6
6
  */
7
7