@cube-dev/ui-kit 0.84.0 → 0.85.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (532) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/es/_internal/hooks/index.js +1 -1
  3. package/es/_internal/hooks/use-chained-callback.js +1 -1
  4. package/es/_internal/hooks/use-debounced-value.js +1 -1
  5. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  6. package/es/_internal/hooks/use-effect-once.js +1 -1
  7. package/es/_internal/hooks/use-event.js +1 -1
  8. package/es/_internal/hooks/use-is-first-render.js +1 -1
  9. package/es/_internal/hooks/use-sync-ref.js +1 -1
  10. package/es/_internal/hooks/use-timer/index.js +1 -1
  11. package/es/_internal/hooks/use-timer/timer.js +1 -1
  12. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  13. package/es/_internal/hooks/use-update-effect.js +1 -1
  14. package/es/_internal/hooks/use-warn.js +1 -1
  15. package/es/_internal/index.js +1 -1
  16. package/es/components/Block.js +1 -1
  17. package/es/components/GlobalStyles.js +1 -1
  18. package/es/components/GridProvider.js +1 -1
  19. package/es/components/HiddenInput.js +1 -1
  20. package/es/components/Item.js +7 -2
  21. package/es/components/OpenTrasition.js +1 -1
  22. package/es/components/Root.js +1 -1
  23. package/es/components/actions/Action/Action.js +1 -1
  24. package/es/components/actions/Button/Button.js +1 -1
  25. package/es/components/actions/Button/index.js +1 -1
  26. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  27. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  28. package/es/components/actions/CommandMenu/index.js +1 -1
  29. package/es/components/actions/CommandMenu/styled.js +1 -1
  30. package/es/components/actions/ItemAction/ItemAction.js +127 -12
  31. package/es/components/actions/ItemAction/index.js +1 -1
  32. package/es/components/actions/ItemActionContext.js +25 -0
  33. package/es/components/actions/ItemButton/ItemButton.js +102 -6
  34. package/es/components/actions/ItemButton/index.js +1 -1
  35. package/es/components/actions/Link/Link.js +1 -1
  36. package/es/components/actions/Menu/Menu.js +1 -1
  37. package/es/components/actions/Menu/MenuItem.js +3 -3
  38. package/es/components/actions/Menu/MenuSection.js +1 -1
  39. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  40. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  41. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  42. package/es/components/actions/Menu/context.js +1 -1
  43. package/es/components/actions/Menu/index.js +1 -1
  44. package/es/components/actions/Menu/styled.js +1 -1
  45. package/es/components/actions/index.js +2 -1
  46. package/es/components/actions/use-action.js +1 -1
  47. package/es/components/actions/use-anchored-menu.js +1 -1
  48. package/es/components/actions/use-context-menu.js +1 -1
  49. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  50. package/es/components/content/Alert/Alert.js +1 -1
  51. package/es/components/content/Alert/index.js +1 -1
  52. package/es/components/content/Alert/types.js +1 -1
  53. package/es/components/content/Alert/use-alert.js +1 -1
  54. package/es/components/content/Avatar/Avatar.js +1 -1
  55. package/es/components/content/Badge/Badge.js +1 -1
  56. package/es/components/content/Card/Card.js +1 -1
  57. package/es/components/content/Content.js +1 -1
  58. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  59. package/es/components/content/CopyPasteBlock/index.js +1 -1
  60. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  61. package/es/components/content/CopySnippet/index.js +1 -1
  62. package/es/components/content/Divider.js +1 -1
  63. package/es/components/content/Footer.js +1 -1
  64. package/es/components/content/Header.js +1 -1
  65. package/es/components/content/HotKeys/HotKeys.js +1 -1
  66. package/es/components/content/HotKeys/index.js +1 -1
  67. package/es/components/content/ItemBadge/ItemBadge.js +119 -0
  68. package/es/components/{fields/LegacyComboBox → content/ItemBadge}/index.js +2 -2
  69. package/es/components/content/ItemBase/ItemBase.js +92 -22
  70. package/es/components/content/ItemBase/index.js +2 -1
  71. package/es/components/content/List/SectionHeading.js +1 -1
  72. package/es/components/content/List/index.js +1 -1
  73. package/es/components/content/Paragraph.js +1 -1
  74. package/es/components/content/Placeholder/Placeholder.js +1 -1
  75. package/es/components/content/PrismCode/PrismCode.js +1 -1
  76. package/es/components/content/PrismCode/prismSetup.js +1 -1
  77. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  78. package/es/components/content/Result/Result.js +1 -1
  79. package/es/components/content/Skeleton/Skeleton.js +1 -1
  80. package/es/components/content/Tag/Tag.js +1 -1
  81. package/es/components/content/Text.js +1 -1
  82. package/es/components/content/Title.js +1 -1
  83. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  84. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  85. package/es/components/fields/Checkbox/context.js +1 -1
  86. package/es/components/fields/Checkbox/index.js +1 -1
  87. package/es/components/fields/ComboBox/ComboBox.js +33 -30
  88. package/es/components/fields/ComboBox/index.js +1 -1
  89. package/es/components/fields/DatePicker/DateInput.js +1 -1
  90. package/es/components/fields/DatePicker/DateInputBase.js +4 -3
  91. package/es/components/fields/DatePicker/DatePicker.js +2 -3
  92. package/es/components/fields/DatePicker/DatePickerButton.js +3 -8
  93. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  94. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  95. package/es/components/fields/DatePicker/DatePickerSegment.js +3 -1
  96. package/es/components/fields/DatePicker/DateRangePicker.js +2 -3
  97. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +9 -5
  98. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  99. package/es/components/fields/DatePicker/index.js +1 -1
  100. package/es/components/fields/DatePicker/intl.js +1 -1
  101. package/es/components/fields/DatePicker/parseDate.js +1 -1
  102. package/es/components/fields/DatePicker/props.js +1 -1
  103. package/es/components/fields/DatePicker/types.js +1 -1
  104. package/es/components/fields/DatePicker/utils.js +1 -1
  105. package/es/components/fields/FileInput/FileInput.js +1 -1
  106. package/es/components/fields/FilterListBox/FilterListBox.js +53 -109
  107. package/es/components/fields/FilterListBox/index.js +1 -1
  108. package/es/components/fields/FilterPicker/FilterPicker.js +1 -2
  109. package/es/components/fields/FilterPicker/index.js +1 -1
  110. package/es/components/fields/Input/Input.js +1 -1
  111. package/es/components/fields/Input/index.js +1 -1
  112. package/es/components/fields/ListBox/ListBox.js +3 -3
  113. package/es/components/fields/ListBox/index.js +1 -1
  114. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  115. package/es/components/fields/NumberInput/StepButton.js +1 -1
  116. package/es/components/fields/PasswordInput/PasswordInput.js +3 -3
  117. package/es/components/fields/Picker/Picker.js +2 -3
  118. package/es/components/fields/Picker/index.js +1 -1
  119. package/es/components/fields/RadioGroup/Radio.js +1 -1
  120. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  121. package/es/components/fields/RadioGroup/context.js +1 -1
  122. package/es/components/fields/RadioGroup/index.js +1 -1
  123. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  124. package/es/components/fields/SearchInput/index.js +1 -1
  125. package/es/components/fields/Select/Select.js +37 -35
  126. package/es/components/fields/Select/index.js +1 -1
  127. package/es/components/fields/Slider/Gradation.js +1 -1
  128. package/es/components/fields/Slider/Header.js +1 -1
  129. package/es/components/fields/Slider/RangeSlider.js +1 -1
  130. package/es/components/fields/Slider/Slider.js +1 -1
  131. package/es/components/fields/Slider/SliderBase.js +1 -1
  132. package/es/components/fields/Slider/SliderInput.js +1 -1
  133. package/es/components/fields/Slider/SliderThumb.js +1 -1
  134. package/es/components/fields/Slider/SliderTrack.js +1 -1
  135. package/es/components/fields/Slider/elements.js +1 -1
  136. package/es/components/fields/Slider/index.js +1 -1
  137. package/es/components/fields/Slider/types.js +1 -1
  138. package/es/components/fields/Switch/Switch.js +1 -1
  139. package/es/components/fields/Switch/index.js +1 -1
  140. package/es/components/fields/TextArea/TextArea.js +1 -1
  141. package/es/components/fields/TextArea/index.js +1 -1
  142. package/es/components/fields/TextInput/TextInput.js +1 -1
  143. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  144. package/es/components/fields/TextInput/index.js +1 -1
  145. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  146. package/es/components/fields/TextInputMapper/index.js +1 -1
  147. package/es/components/fields/index.js +1 -2
  148. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  149. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  150. package/es/components/form/FieldWrapper/index.js +1 -1
  151. package/es/components/form/FieldWrapper/types.js +1 -1
  152. package/es/components/form/Form/Field.js +1 -1
  153. package/es/components/form/Form/Form.js +1 -1
  154. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  155. package/es/components/form/Form/ResetButton/index.js +1 -1
  156. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  157. package/es/components/form/Form/SubmitButton/index.js +1 -1
  158. package/es/components/form/Form/SubmitError.js +1 -1
  159. package/es/components/form/Form/index.js +1 -1
  160. package/es/components/form/Form/types.js +1 -1
  161. package/es/components/form/Form/use-field/index.js +1 -1
  162. package/es/components/form/Form/use-field/types.js +1 -1
  163. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  164. package/es/components/form/Form/use-field/use-field.js +3 -1
  165. package/es/components/form/Form/use-form.js +1 -1
  166. package/es/components/form/Form/validation.js +1 -1
  167. package/es/components/form/Label.js +1 -1
  168. package/es/components/form/index.js +1 -1
  169. package/es/components/form/wrapper.js +1 -1
  170. package/es/components/helpers/DisplayTransition/DisplayTransition.js +17 -3
  171. package/es/components/helpers/index.js +1 -1
  172. package/es/components/layout/Flex.js +1 -1
  173. package/es/components/layout/Flow.js +1 -1
  174. package/es/components/layout/Grid.js +1 -1
  175. package/es/components/layout/Panel.js +1 -1
  176. package/es/components/layout/Prefix.js +1 -1
  177. package/es/components/layout/ResizablePanel.js +1 -1
  178. package/es/components/layout/Space.js +1 -1
  179. package/es/components/layout/Suffix.js +1 -1
  180. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  181. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  182. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  183. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  184. package/es/components/other/Calendar/Calendar.js +2 -2
  185. package/es/components/other/Calendar/CalendarCell.js +7 -10
  186. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  187. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  188. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  189. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  190. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  191. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  192. package/es/components/overlays/AlertDialog/index.js +1 -1
  193. package/es/components/overlays/AlertDialog/types.js +1 -1
  194. package/es/components/overlays/Dialog/Dialog.js +1 -1
  195. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  196. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  197. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  198. package/es/components/overlays/Dialog/context.js +1 -1
  199. package/es/components/overlays/Dialog/index.js +1 -1
  200. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  201. package/es/components/overlays/Modal/Modal.js +1 -1
  202. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  203. package/es/components/overlays/Modal/Overlay.js +1 -1
  204. package/es/components/overlays/Modal/Popover.js +1 -1
  205. package/es/components/overlays/Modal/Tray.js +1 -1
  206. package/es/components/overlays/Modal/Underlay.js +1 -1
  207. package/es/components/overlays/Modal/index.js +1 -1
  208. package/es/components/overlays/Modal/types.js +1 -1
  209. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  210. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  211. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  212. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  213. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  214. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  215. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  216. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  217. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  218. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  219. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  220. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  221. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  222. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  223. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  224. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  225. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  226. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  227. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  228. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  229. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  230. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  231. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  232. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  233. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  234. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  235. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  236. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  237. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  238. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  239. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  240. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  241. package/es/components/overlays/NewNotifications/index.js +1 -1
  242. package/es/components/overlays/NewNotifications/types.js +1 -1
  243. package/es/components/overlays/Notification/Notification.js +1 -1
  244. package/es/components/overlays/OverlayWrapper.js +1 -14
  245. package/es/components/overlays/Toasts/Toast.js +1 -1
  246. package/es/components/overlays/Toasts/index.js +1 -1
  247. package/es/components/overlays/Toasts/types.js +1 -1
  248. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  249. package/es/components/overlays/Tooltip/Tooltip.js +2 -2
  250. package/es/components/overlays/Tooltip/TooltipProvider.js +4 -4
  251. package/es/components/overlays/Tooltip/TooltipTrigger.js +5 -4
  252. package/es/components/overlays/Tooltip/context.js +1 -1
  253. package/es/components/overlays/Tooltip/index.js +1 -1
  254. package/es/components/portal/Portal.js +1 -1
  255. package/es/components/portal/PortalProvider.js +1 -1
  256. package/es/components/portal/index.js +1 -1
  257. package/es/components/portal/types.js +1 -1
  258. package/es/components/portal/usePortal.js +1 -1
  259. package/es/components/shared/InvalidIcon.js +1 -1
  260. package/es/components/shared/ValidIcon.js +1 -1
  261. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  262. package/es/components/status/LoadingAnimation/index.js +1 -1
  263. package/es/components/status/Spin/Cube.js +1 -1
  264. package/es/components/status/Spin/InternalSpinner.js +1 -1
  265. package/es/components/status/Spin/Spin.js +1 -1
  266. package/es/components/status/Spin/SpinsContainer.js +1 -1
  267. package/es/components/status/Spin/index.js +1 -1
  268. package/es/components/status/Spin/types.js +1 -1
  269. package/es/components/status/index.js +1 -1
  270. package/es/data/item-themes.js +48 -1
  271. package/es/data/themes.js +1 -1
  272. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  273. package/es/icons/AdjustmentsIcon.js +1 -1
  274. package/es/icons/AiIcon.js +1 -1
  275. package/es/icons/AreaChartIcon.js +1 -1
  276. package/es/icons/BackwardIcon.js +1 -1
  277. package/es/icons/BarChartIcon.js +1 -1
  278. package/es/icons/BellFilledIcon.js +1 -1
  279. package/es/icons/BellIcon.js +1 -1
  280. package/es/icons/BooleanIcon.js +1 -1
  281. package/es/icons/CalendarEditIcon.js +1 -1
  282. package/es/icons/CalendarIcon.js +1 -1
  283. package/es/icons/CaretDownIcon.js +1 -1
  284. package/es/icons/CaretUpIcon.js +1 -1
  285. package/es/icons/ChartAreaStackedIcon.js +1 -1
  286. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  287. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  288. package/es/icons/ChartBarGroupedIcon.js +1 -1
  289. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  290. package/es/icons/ChartBarLineIcon.js +1 -1
  291. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  292. package/es/icons/ChartBarStackedIcon.js +1 -1
  293. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  294. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  295. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  296. package/es/icons/ChartBoxPlotIcon.js +1 -1
  297. package/es/icons/ChartBubbleIcon.js +1 -1
  298. package/es/icons/ChartDonut2Icon.js +1 -1
  299. package/es/icons/ChartFunnelIcon.js +1 -1
  300. package/es/icons/ChartHeatmapIcon.js +1 -1
  301. package/es/icons/ChartKPIIcon.js +1 -1
  302. package/es/icons/ChartPie2Icon.js +1 -1
  303. package/es/icons/ChartScatterIcon.js +1 -1
  304. package/es/icons/CheckCircleFilledIcon.js +1 -1
  305. package/es/icons/CheckCircleIcon.js +1 -1
  306. package/es/icons/CheckIcon.js +1 -1
  307. package/es/icons/CircleFilledIcon.js +1 -1
  308. package/es/icons/ClearIcon.js +1 -1
  309. package/es/icons/CloseCircleFilledIcon.js +1 -1
  310. package/es/icons/CloseCircleIcon.js +1 -1
  311. package/es/icons/CloseIcon.js +1 -1
  312. package/es/icons/CodeIcon.js +1 -1
  313. package/es/icons/CopyIcon.js +1 -1
  314. package/es/icons/CountIcon.js +1 -1
  315. package/es/icons/CubeIcon.js +1 -1
  316. package/es/icons/CubePauseIcon.js +1 -1
  317. package/es/icons/CubePlayIcon.js +1 -1
  318. package/es/icons/CurrencyDollarIcon.js +1 -1
  319. package/es/icons/DangerIcon.js +1 -1
  320. package/es/icons/DashboardIcon.js +1 -1
  321. package/es/icons/DatabaseIcon.js +1 -1
  322. package/es/icons/DecimalDecreaseIcon.js +1 -1
  323. package/es/icons/DecimalIncreaseIcon.js +1 -1
  324. package/es/icons/DirectionIcon.js +1 -1
  325. package/es/icons/DonutIcon.js +1 -1
  326. package/es/icons/DownIcon.js +1 -1
  327. package/es/icons/EditIcon.js +1 -1
  328. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  329. package/es/icons/ExclamationCircleIcon.js +1 -1
  330. package/es/icons/ExclamationIcon.js +1 -1
  331. package/es/icons/EyeIcon.js +1 -1
  332. package/es/icons/EyeInvisibleIcon.js +1 -1
  333. package/es/icons/FilterIcon.js +1 -1
  334. package/es/icons/FolderFilledIcon.js +1 -1
  335. package/es/icons/FolderIcon.js +1 -1
  336. package/es/icons/FolderOpenFilledIcon.js +1 -1
  337. package/es/icons/FolderOpenIcon.js +1 -1
  338. package/es/icons/ForwardIcon.js +1 -1
  339. package/es/icons/HierarchyIcon.js +1 -1
  340. package/es/icons/Icon.js +1 -1
  341. package/es/icons/InfoCircleIcon.js +1 -1
  342. package/es/icons/InfoIcon.js +1 -1
  343. package/es/icons/KeyIcon.js +1 -1
  344. package/es/icons/LeftIcon.js +1 -1
  345. package/es/icons/LineChartIcon.js +1 -1
  346. package/es/icons/LoadingIcon.js +1 -1
  347. package/es/icons/LockFilledIcon.js +1 -1
  348. package/es/icons/LockIcon.js +1 -1
  349. package/es/icons/MoreIcon.js +1 -1
  350. package/es/icons/NotAllowedIcon.js +1 -1
  351. package/es/icons/Number123Icon.js +1 -1
  352. package/es/icons/NumberIcon.js +1 -1
  353. package/es/icons/PauseCircleFilledIcon.js +1 -1
  354. package/es/icons/PauseCircleIcon.js +1 -1
  355. package/es/icons/PauseIcon.js +1 -1
  356. package/es/icons/PercentageIcon.js +1 -1
  357. package/es/icons/PieChartIcon.js +1 -1
  358. package/es/icons/PlayCircleIcon.js +1 -1
  359. package/es/icons/PlayIcon.js +1 -1
  360. package/es/icons/PlusIcon.js +1 -1
  361. package/es/icons/ProgressBarIcon.js +1 -1
  362. package/es/icons/ReloadIcon.js +1 -1
  363. package/es/icons/ReportIcon.js +1 -1
  364. package/es/icons/ReturnIcon.js +1 -1
  365. package/es/icons/RightIcon.js +1 -1
  366. package/es/icons/SchemeIcon.js +1 -1
  367. package/es/icons/SearchIcon.js +1 -1
  368. package/es/icons/SettingsIcon.js +1 -1
  369. package/es/icons/ShieldFilledIcon.js +1 -1
  370. package/es/icons/ShieldIcon.js +1 -1
  371. package/es/icons/SlashIcon.js +1 -1
  372. package/es/icons/SparklesIcon.js +1 -1
  373. package/es/icons/SqlIcon.js +1 -1
  374. package/es/icons/StatsIcon.js +1 -1
  375. package/es/icons/StopIcon.js +1 -1
  376. package/es/icons/StringIcon.js +1 -1
  377. package/es/icons/SwitchIcon.js +1 -1
  378. package/es/icons/TableIcon.js +1 -1
  379. package/es/icons/ThumbsDownIcon.js +1 -1
  380. package/es/icons/ThumbsUpIcon.js +1 -1
  381. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  382. package/es/icons/ThunderboltFilledIcon.js +1 -1
  383. package/es/icons/ThunderboltIcon.js +1 -1
  384. package/es/icons/TimeIcon.js +1 -1
  385. package/es/icons/UnlockIcon.js +1 -1
  386. package/es/icons/UpIcon.js +1 -1
  387. package/es/icons/UserGroupIcon.js +1 -1
  388. package/es/icons/UserIcon.js +1 -1
  389. package/es/icons/UserLockIcon.js +1 -1
  390. package/es/icons/ViewIcon.js +1 -1
  391. package/es/icons/WarningFilledIcon.js +1 -1
  392. package/es/icons/WarningIcon.js +1 -1
  393. package/es/icons/add-new-icon.js +1 -1
  394. package/es/icons/index.js +1 -1
  395. package/es/icons/wrap-icon.js +1 -1
  396. package/es/index.js +3 -2
  397. package/es/provider.js +1 -1
  398. package/es/providers/TrackingProvider.js +1 -1
  399. package/es/providers/navigation.types.js +1 -1
  400. package/es/providers/navigationAdapter.default.js +1 -1
  401. package/es/services/notification.js +1 -1
  402. package/es/shared/form.js +1 -1
  403. package/es/shared/index.js +1 -1
  404. package/es/stories/Form.legacy-stories.js +1 -1
  405. package/es/stories/FormFieldArgs.js +1 -1
  406. package/es/stories/Layout.stories.js +1 -1
  407. package/es/stories/Tasty.stories.js +1 -1
  408. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  409. package/es/stories/components/DialogFormApp.js +1 -1
  410. package/es/stories/components/StyledButton.js +1 -1
  411. package/es/stories/lists/baseProps.js +1 -1
  412. package/es/tasty/debug.js +1 -1
  413. package/es/tasty/index.js +1 -1
  414. package/es/tasty/injector/index.js +1 -1
  415. package/es/tasty/injector/injector.js +1 -1
  416. package/es/tasty/injector/sheet-manager.js +1 -1
  417. package/es/tasty/injector/types.js +1 -1
  418. package/es/tasty/parser/classify.js +1 -1
  419. package/es/tasty/parser/const.js +1 -1
  420. package/es/tasty/parser/lru.js +1 -1
  421. package/es/tasty/parser/parser.js +1 -1
  422. package/es/tasty/parser/tokenizer.js +1 -1
  423. package/es/tasty/parser/types.js +1 -1
  424. package/es/tasty/providers/BreakpointsProvider.js +1 -1
  425. package/es/tasty/styles/align.js +1 -1
  426. package/es/tasty/styles/border.js +1 -1
  427. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  428. package/es/tasty/styles/color.js +1 -1
  429. package/es/tasty/styles/createStyle.js +1 -1
  430. package/es/tasty/styles/dimension.js +1 -1
  431. package/es/tasty/styles/display.js +1 -1
  432. package/es/tasty/styles/fade.js +1 -1
  433. package/es/tasty/styles/fill.js +1 -1
  434. package/es/tasty/styles/flow.js +1 -1
  435. package/es/tasty/styles/font.js +1 -1
  436. package/es/tasty/styles/fontStyle.js +1 -1
  437. package/es/tasty/styles/gap.js +1 -1
  438. package/es/tasty/styles/groupRadius.js +1 -1
  439. package/es/tasty/styles/height.js +1 -1
  440. package/es/tasty/styles/index.js +1 -1
  441. package/es/tasty/styles/inset.js +1 -1
  442. package/es/tasty/styles/justify.js +1 -1
  443. package/es/tasty/styles/list.js +1 -1
  444. package/es/tasty/styles/margin.js +1 -1
  445. package/es/tasty/styles/outline.js +1 -1
  446. package/es/tasty/styles/padding.js +1 -1
  447. package/es/tasty/styles/place.js +1 -1
  448. package/es/tasty/styles/predefined.js +1 -1
  449. package/es/tasty/styles/preset.js +1 -1
  450. package/es/tasty/styles/radius.js +1 -1
  451. package/es/tasty/styles/reset.js +1 -1
  452. package/es/tasty/styles/scrollbar.js +1 -1
  453. package/es/tasty/styles/shadow.js +1 -1
  454. package/es/tasty/styles/styledScrollbar.js +1 -1
  455. package/es/tasty/styles/transition.js +1 -1
  456. package/es/tasty/styles/types.js +1 -1
  457. package/es/tasty/styles/width.js +1 -1
  458. package/es/tasty/tasty.js +1 -1
  459. package/es/tasty/types.js +1 -1
  460. package/es/tasty/utils/cache-wrapper.js +1 -1
  461. package/es/tasty/utils/case-converter.js +1 -1
  462. package/es/tasty/utils/colors.js +1 -1
  463. package/es/tasty/utils/dotize.js +1 -1
  464. package/es/tasty/utils/filterBaseProps.js +1 -1
  465. package/es/tasty/utils/getDisplayName.js +1 -1
  466. package/es/tasty/utils/getModCombinations.js +1 -1
  467. package/es/tasty/utils/isDevEnv.js +1 -1
  468. package/es/tasty/utils/mergeStyles.js +1 -1
  469. package/es/tasty/utils/modAttrs.js +1 -1
  470. package/es/tasty/utils/renderStyles.js +1 -1
  471. package/es/tasty/utils/responsive.js +1 -1
  472. package/es/tasty/utils/string.js +1 -1
  473. package/es/tasty/utils/styles.js +1 -1
  474. package/es/tasty/utils/warnings.js +1 -1
  475. package/es/tokens.js +8 -1
  476. package/es/utils/ResizeSensor.js +1 -1
  477. package/es/utils/index.js +27 -0
  478. package/es/utils/modules.js +1 -1
  479. package/es/utils/promise.js +1 -1
  480. package/es/utils/raf.js +47 -0
  481. package/es/utils/random.js +1 -1
  482. package/es/utils/range.js +1 -1
  483. package/es/utils/react/Slots.js +1 -1
  484. package/es/utils/react/chain.js +1 -1
  485. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  486. package/es/utils/react/index.js +1 -1
  487. package/es/utils/react/interactions.js +1 -1
  488. package/es/utils/react/isTextOnly.js +1 -1
  489. package/es/utils/react/mapProps.js +1 -1
  490. package/es/utils/react/mergeProps.js +1 -1
  491. package/es/utils/react/nullableValue.js +1 -1
  492. package/es/utils/react/sharedStore.js +1 -1
  493. package/es/utils/react/useCombinedRefs.js +1 -1
  494. package/es/utils/react/useControlledFocusVisible.js +1 -1
  495. package/es/utils/react/useEventBus.js +1 -1
  496. package/es/utils/react/useId.js +1 -1
  497. package/es/utils/react/useIsDarwin.js +1 -1
  498. package/es/utils/react/useKeySymbols.js +1 -1
  499. package/es/utils/react/useLayoutEffect.js +1 -1
  500. package/es/utils/react/useQaProps.js +1 -1
  501. package/es/utils/react/useViewportSize.js +1 -1
  502. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  503. package/es/utils/tree.js +1 -1
  504. package/es/utils/warnings.js +1 -1
  505. package/es/version.js +2 -2
  506. package/package.json +1 -1
  507. package/types/components/Item.d.ts +4 -1
  508. package/types/components/actions/ItemAction/ItemAction.d.ts +15 -7
  509. package/types/components/actions/ItemActionContext.d.ts +14 -0
  510. package/types/components/actions/ItemButton/ItemButton.d.ts +14 -3
  511. package/types/components/actions/Menu/Menu.d.ts +4 -1
  512. package/types/components/actions/index.d.ts +1 -0
  513. package/types/components/content/ItemBadge/ItemBadge.d.ts +16 -0
  514. package/types/components/content/ItemBadge/index.d.ts +2 -0
  515. package/types/components/content/ItemBase/ItemBase.d.ts +21 -3
  516. package/types/components/content/ItemBase/index.d.ts +1 -0
  517. package/types/components/fields/ComboBox/ComboBox.d.ts +4 -2
  518. package/types/components/fields/DatePicker/DateInputBase.d.ts +1 -0
  519. package/types/components/fields/ListBox/ListBox.d.ts +1 -1
  520. package/types/components/fields/Select/Select.d.ts +4 -1
  521. package/types/components/fields/index.d.ts +0 -1
  522. package/types/components/helpers/DisplayTransition/DisplayTransition.d.ts +5 -1
  523. package/types/data/item-themes.d.ts +1 -0
  524. package/types/index.d.ts +3 -1
  525. package/types/tokens.d.ts +7 -0
  526. package/types/utils/index.d.ts +9 -0
  527. package/types/utils/raf.d.ts +17 -0
  528. package/es/components/fields/LegacyComboBox/LegacyComboBox.js +0 -290
  529. package/es/utils/transitions.js +0 -63
  530. package/types/components/fields/LegacyComboBox/LegacyComboBox.d.ts +0 -49
  531. package/types/components/fields/LegacyComboBox/index.d.ts +0 -1
  532. package/types/utils/transitions.d.ts +0 -8
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.84.0
4
+ * @cube-dev/ui-kit v0.85.1
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -13,8 +13,11 @@ import { CheckIcon } from '../../../icons/CheckIcon';
13
13
  import { LoadingIcon } from '../../../icons/LoadingIcon';
14
14
  import { CONTAINER_STYLES, tasty, } from '../../../tasty';
15
15
  import { mergeProps } from '../../../utils/react';
16
+ import { ItemAction } from '../../actions/ItemAction';
17
+ import { ItemActionProvider } from '../../actions/ItemActionContext';
16
18
  import { TooltipProvider, } from '../../overlays/Tooltip/TooltipProvider';
17
19
  import { HotKeys } from '../HotKeys';
20
+ import { ItemBadge } from '../ItemBadge';
18
21
  const DEFAULT_ICON_STYLES = {
19
22
  display: 'grid',
20
23
  placeItems: 'center',
@@ -36,6 +39,18 @@ const ADDITION_STYLES = {
36
39
  placeContent: 'stretch',
37
40
  gridRow: 'span 2',
38
41
  };
42
+ const ACTIONS_EVENT_HANDLERS = {
43
+ onClick: (e) => e.stopPropagation(),
44
+ onPointerDown: (e) => e.stopPropagation(),
45
+ onPointerUp: (e) => e.stopPropagation(),
46
+ onMouseDown: (e) => e.stopPropagation(),
47
+ onMouseUp: (e) => e.stopPropagation(),
48
+ onKeyDown: (e) => {
49
+ if (e.key === 'Enter' || e.key === ' ') {
50
+ e.stopPropagation();
51
+ }
52
+ },
53
+ };
39
54
  const ItemBaseElement = tasty({
40
55
  styles: {
41
56
  display: 'inline-grid',
@@ -46,8 +61,11 @@ const ItemBaseElement = tasty({
46
61
  placeContent: 'stretch',
47
62
  gridColumns: {
48
63
  '': '1sf max-content max-content',
64
+ 'with-actions': '1sf max-content max-content max-content',
49
65
  'with-icon ^ with-prefix': 'max-content 1sf max-content max-content',
66
+ 'with-icon ^ with-prefix & with-actions': 'max-content 1sf max-content max-content max-content',
50
67
  'with-icon & with-prefix': 'max-content max-content 1sf max-content max-content',
68
+ 'with-icon & with-prefix & with-actions': 'max-content max-content 1sf max-content max-content max-content',
51
69
  '(with-icon ^ with-right-icon) & !with-description & !with-prefix & !with-suffix & !with-label': 'max-content',
52
70
  },
53
71
  gridRows: {
@@ -58,7 +76,10 @@ const ItemBaseElement = tasty({
58
76
  position: 'relative',
59
77
  padding: 0,
60
78
  margin: 0,
61
- radius: true,
79
+ radius: {
80
+ '': true,
81
+ card: '1cr',
82
+ },
62
83
  height: {
63
84
  '': 'min $size',
64
85
  '[data-size="inline"]': 'initial',
@@ -127,12 +148,12 @@ const ItemBaseElement = tasty({
127
148
  padding: {
128
149
  '': '$block-padding $inline-padding',
129
150
  '(with-icon | with-prefix)': '$block-padding $inline-padding $block-padding 0',
130
- '(with-right-icon | with-suffix)': '$block-padding 0 $block-padding $inline-padding',
131
- '(with-icon | with-prefix) & (with-right-icon | with-suffix)': '$block-padding 0',
151
+ '(with-right-icon | with-suffix | with-actions)': '$block-padding 0 $block-padding $inline-padding',
152
+ '(with-icon | with-prefix) & (with-right-icon | with-suffix | with-actions)': '$block-padding 0',
132
153
  'with-description & !with-description-block': '$block-padding $inline-padding 0 $inline-padding',
133
154
  'with-description & !with-description-block & (with-icon | with-prefix)': '$block-padding $inline-padding 0 0',
134
- 'with-description & !with-description-block & (with-right-icon | with-suffix)': '$block-padding 0 0 $inline-padding',
135
- 'with-description & !with-description-block & (with-icon | with-prefix) & (with-right-icon | with-suffix)': '$block-padding 0 0 0',
155
+ 'with-description & !with-description-block & (with-right-icon | with-suffix | with-actions)': '$block-padding 0 0 $inline-padding',
156
+ 'with-description & !with-description-block & (with-icon | with-prefix) & (with-right-icon | with-suffix | with-actions)': '$block-padding 0 0 0',
136
157
  },
137
158
  gridRow: {
138
159
  '': 'span 2',
@@ -162,11 +183,12 @@ const ItemBaseElement = tasty({
162
183
  '(with-icon | with-prefix)': '0 $inline-padding $block-padding 0',
163
184
  '(with-right-icon | with-suffix)': '0 0 $block-padding $inline-padding',
164
185
  '(with-icon | with-prefix) & (with-right-icon | with-suffix)': '0 0 $block-padding 0',
165
- 'with-description-block': '0 ($inline-padding - $inline-compensation + 1bw) $block-padding ($inline-padding - $inline-compensation + 1bw)',
166
- 'with-description-block & !with-icon': '0 ($inline-padding - $inline-compensation + 1bw) $block-padding $inline-padding',
167
- 'with-description-block & !with-right-icon': '0 $inline-padding $block-padding ($inline-padding - $inline-compensation + 1bw)',
168
- 'with-description-block & !with-right-icon & !with-icon': '0 $inline-padding $block-padding $inline-padding',
186
+ 'with-description-block': '0 ($inline-padding - $inline-compensation + 1bw) $bottom-padding ($inline-padding - $inline-compensation + 1bw)',
187
+ 'with-description-block & !with-icon': '0 ($inline-padding - $inline-compensation + 1bw) $bottom-padding $inline-padding',
188
+ 'with-description-block & !with-right-icon': '0 $inline-padding $bottom-padding ($inline-padding - $inline-compensation + 1bw)',
189
+ 'with-description-block & !with-right-icon & !with-icon': '0 $inline-padding $bottom-padding $inline-padding',
169
190
  },
191
+ '$bottom-padding': 'max($block-padding, (($size - 4x) / 2) + $block-padding)',
170
192
  },
171
193
  Prefix: {
172
194
  ...ADDITION_STYLES,
@@ -182,6 +204,24 @@ const ItemBaseElement = tasty({
182
204
  'with-right-icon': 0,
183
205
  },
184
206
  },
207
+ Actions: {
208
+ display: 'flex',
209
+ gap: '1bw',
210
+ placeItems: 'center',
211
+ placeContent: 'stretch',
212
+ placeSelf: 'stretch',
213
+ padding: '0 $side-padding',
214
+ boxSizing: 'border-box',
215
+ height: 'min ($size - 2bw)',
216
+ gridRow: 'span 2',
217
+ width: {
218
+ '': 'var(--actions-width, 0px)',
219
+ 'with-actions-content': 'calc-size(max-content, size)',
220
+ },
221
+ transition: 'width $transition ease-out',
222
+ interpolateSize: 'allow-keywords',
223
+ '$side-padding': 'max(min(.5x, (($size - 3x + 2bw) / 2)), 1bw)',
224
+ },
185
225
  },
186
226
  variants: {
187
227
  // Default theme
@@ -219,7 +259,8 @@ const ItemBaseElement = tasty({
219
259
  },
220
260
  styleProps: CONTAINER_STYLES,
221
261
  });
222
- export function useAutoTooltip({ tooltip, children, labelProps, }) {
262
+ export function useAutoTooltip({ tooltip, children, labelProps, isDynamicLabel = false, // if actions are set
263
+ }) {
223
264
  // Determine if auto tooltip is enabled
224
265
  // Auto tooltip only works when children is a string (overflow detection needs text)
225
266
  const isAutoTooltipEnabled = useMemo(() => {
@@ -325,8 +366,9 @@ export function useAutoTooltip({ tooltip, children, labelProps, }) {
325
366
  }
326
367
  // Boolean tooltip - auto tooltip on overflow
327
368
  if (tooltip === true) {
328
- if ((children || labelProps) && isLabelOverflowed) {
329
- return (_jsx(TooltipProvider, { placement: defaultTooltipPlacement, title: children, children: (triggerProps, ref) => renderElement(triggerProps, ref) }));
369
+ if ((children || labelProps) &&
370
+ (isLabelOverflowed || isDynamicLabel)) {
371
+ return (_jsx(TooltipProvider, { placement: defaultTooltipPlacement, title: children, isDisabled: !isLabelOverflowed && isDynamicLabel, children: (triggerProps, ref) => renderElement(triggerProps, ref) }));
330
372
  }
331
373
  }
332
374
  // Object tooltip - advanced configuration
@@ -337,8 +379,11 @@ export function useAutoTooltip({ tooltip, children, labelProps, }) {
337
379
  return (_jsx(TooltipProvider, { placement: defaultTooltipPlacement, ...tooltipProps, children: (triggerProps, ref) => renderElement(triggerProps, ref) }));
338
380
  }
339
381
  // If title is provided with auto=true, OR no title but auto behavior enabled
340
- if ((children || labelProps) && isLabelOverflowed) {
341
- return (_jsx(TooltipProvider, { placement: defaultTooltipPlacement, title: tooltipProps.title ?? children, ...tooltipProps, children: (triggerProps, ref) => renderElement(triggerProps, ref) }));
382
+ if ((children || labelProps) &&
383
+ (isLabelOverflowed || isDynamicLabel)) {
384
+ return (_jsx(TooltipProvider, { placement: defaultTooltipPlacement, title: tooltipProps.title ?? children, isDisabled: !isLabelOverflowed &&
385
+ isDynamicLabel &&
386
+ tooltipProps.isDisabled !== true, ...tooltipProps, children: (triggerProps, ref) => renderElement(triggerProps, ref) }));
342
387
  }
343
388
  }
344
389
  }
@@ -354,7 +399,7 @@ export function useAutoTooltip({ tooltip, children, labelProps, }) {
354
399
  };
355
400
  }
356
401
  const ItemBase = (props, ref) => {
357
- let { children, size, type = 'item', theme = 'default', mods, icon, rightIcon, prefix, suffix, description, descriptionPlacement = 'inline', labelProps, descriptionProps, keyboardShortcutProps, styles, htmlType, isSelected, hotkeys, tooltip = true, isDisabled, loadingSlot = 'auto', isLoading = false, defaultTooltipPlacement = 'top', ...rest } = props;
402
+ let { children, size = 'medium', type = 'item', theme = 'default', mods, icon, rightIcon, prefix, suffix, description, descriptionPlacement = 'inline', labelProps, descriptionProps, keyboardShortcutProps, styles, htmlType, isSelected, hotkeys, tooltip = true, isDisabled, style, loadingSlot = 'auto', isLoading = false, isCard = false, actions, defaultTooltipPlacement = 'top', ...rest } = props;
358
403
  // Loading state makes the component disabled
359
404
  const finalIsDisabled = isDisabled === true || (isLoading && isDisabled !== false);
360
405
  // Determine if we should show checkbox instead of icon
@@ -368,6 +413,11 @@ const ItemBase = (props, ref) => {
368
413
  return 'rightIcon';
369
414
  return 'icon'; // fallback
370
415
  }, [loadingSlot, icon, rightIcon]);
416
+ const showDescriptions = useMemo(() => {
417
+ const copyProps = { ...descriptionProps };
418
+ delete copyProps.id;
419
+ return !!(description || Object.keys(copyProps).length > 0);
420
+ }, [description, descriptionProps]);
371
421
  // Apply loading state to appropriate slots
372
422
  const finalIcon = isLoading && resolvedLoadingSlot === 'icon' ? _jsx(LoadingIcon, {}) : icon;
373
423
  const finalRightIcon = isLoading && resolvedLoadingSlot === 'rightIcon' ? (_jsx(LoadingIcon, {})) : (rightIcon);
@@ -398,12 +448,15 @@ const ItemBase = (props, ref) => {
398
448
  'with-label': !!(children || labelProps),
399
449
  'with-prefix': !!finalPrefix,
400
450
  'with-suffix': !!finalSuffix,
401
- 'with-description': !!description,
402
- 'with-description-block': !!description && descriptionPlacement === 'block',
451
+ 'with-description': showDescriptions,
452
+ 'with-description-block': showDescriptions && descriptionPlacement === 'block',
453
+ 'with-actions': !!actions,
454
+ 'with-actions-content': !!(actions && actions !== true),
403
455
  checkbox: hasCheckbox,
404
456
  disabled: finalIsDisabled,
405
457
  selected: isSelected === true,
406
458
  loading: isLoading,
459
+ card: isCard === true,
407
460
  ...mods,
408
461
  };
409
462
  }, [
@@ -411,14 +464,21 @@ const ItemBase = (props, ref) => {
411
464
  finalRightIcon,
412
465
  finalPrefix,
413
466
  finalSuffix,
414
- description,
467
+ showDescriptions,
415
468
  descriptionPlacement,
416
469
  hasCheckbox,
417
470
  isSelected,
418
471
  isLoading,
472
+ isCard,
473
+ actions,
419
474
  mods,
420
475
  ]);
421
- const { labelProps: finalLabelProps, labelRef, renderWithTooltip, } = useAutoTooltip({ tooltip, children, labelProps });
476
+ const { labelProps: finalLabelProps, labelRef, renderWithTooltip, } = useAutoTooltip({
477
+ tooltip,
478
+ children,
479
+ labelProps,
480
+ isDynamicLabel: !!actions,
481
+ });
422
482
  // Create a stable render function that doesn't call hooks
423
483
  const renderItemElement = useCallback((tooltipTriggerProps, tooltipRef) => {
424
484
  // Use callback ref to merge multiple refs without calling hooks
@@ -435,7 +495,11 @@ const ItemBase = (props, ref) => {
435
495
  tooltipRef.current = element;
436
496
  }
437
497
  };
438
- return (_jsxs(ItemBaseElement, { ref: handleRef, variant: theme && type ? `${theme}.${type}` : undefined, disabled: finalIsDisabled, "data-size": size, "data-type": type, "data-theme": theme, "aria-disabled": finalIsDisabled, "aria-selected": isSelected, mods: mods, styles: styles, type: htmlType, ...mergeProps(rest, tooltipTriggerProps || {}), children: [finalIcon && (_jsx("div", { "data-element": "Icon", children: hasCheckbox ? _jsx(CheckIcon, {}) : finalIcon })), finalPrefix && _jsx("div", { "data-element": "Prefix", children: finalPrefix }), children || labelProps ? (_jsx("div", { "data-element": "Label", ...finalLabelProps, ref: labelRef, children: children })) : null, description || descriptionProps ? (_jsx("div", { "data-element": "Description", ...descriptionProps, children: description })) : null, finalSuffix && _jsx("div", { "data-element": "Suffix", children: finalSuffix }), finalRightIcon && (_jsx("div", { "data-element": "RightIcon", children: finalRightIcon }))] }));
498
+ // Merge custom size style with provided style
499
+ const finalStyle = typeof size === 'number'
500
+ ? { ...style, '--size': `${size}px` }
501
+ : style;
502
+ return (_jsxs(ItemBaseElement, { ref: handleRef, variant: theme && type ? `${theme}.${type}` : undefined, disabled: finalIsDisabled, "data-size": typeof size === 'number' ? undefined : size, "data-type": type, "data-theme": theme, "aria-disabled": finalIsDisabled, "aria-selected": isSelected, mods: mods, styles: styles, type: htmlType, ...mergeProps(rest, tooltipTriggerProps || {}), style: finalStyle, children: [finalIcon && (_jsx("div", { "data-element": "Icon", children: hasCheckbox ? _jsx(CheckIcon, {}) : finalIcon })), finalPrefix && _jsx("div", { "data-element": "Prefix", children: finalPrefix }), children || labelProps ? (_jsx("div", { "data-element": "Label", ...finalLabelProps, ref: labelRef, children: children })) : null, showDescriptions ? (_jsx("div", { "data-element": "Description", ...descriptionProps, children: description })) : null, finalSuffix && _jsx("div", { "data-element": "Suffix", children: finalSuffix }), finalRightIcon && (_jsx("div", { "data-element": "RightIcon", children: finalRightIcon })), actions && (_jsx("div", { "data-element": "Actions", ...ACTIONS_EVENT_HANDLERS, children: actions !== true ? (_jsx(ItemActionProvider, { type: type, theme: theme, children: actions })) : null }))] }));
439
503
  }, [
440
504
  ref,
441
505
  theme,
@@ -457,10 +521,16 @@ const ItemBase = (props, ref) => {
457
521
  descriptionProps,
458
522
  finalSuffix,
459
523
  finalRightIcon,
524
+ actions,
525
+ size,
526
+ style,
460
527
  ]);
461
528
  return renderWithTooltip(renderItemElement, defaultTooltipPlacement);
462
529
  };
463
- const _ItemBase = forwardRef(ItemBase);
530
+ const _ItemBase = Object.assign(forwardRef(ItemBase), {
531
+ Action: ItemAction,
532
+ Badge: ItemBadge,
533
+ });
464
534
  export { _ItemBase as ItemBase };
465
535
 
466
536
 
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.84.0
4
+ * @cube-dev/ui-kit v0.85.1
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  export * from './ItemBase';
9
+ export * from '../ItemBadge';
9
10
 
10
11
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -13,6 +13,7 @@ import { useEvent } from '../../../_internal';
13
13
  import { CloseIcon, DirectionIcon, LoadingIcon } from '../../../icons';
14
14
  import { useProviderProps } from '../../../provider';
15
15
  import { BASE_STYLES, COLOR_STYLES, extractStyles, OUTER_STYLES, tasty, } from '../../../tasty';
16
+ import { chainRaf } from '../../../utils/raf';
16
17
  import { generateRandomId } from '../../../utils/random';
17
18
  import { mergeProps, useCombinedRefs, useLayoutEffect, } from '../../../utils/react';
18
19
  import { useFocus } from '../../../utils/react/interactions';
@@ -34,6 +35,13 @@ const InputElement = tasty({
34
35
  as: 'input',
35
36
  styles: DEFAULT_INPUT_STYLES,
36
37
  });
38
+ const ComboBoxOverlayWrapper = tasty({
39
+ qa: 'ComboBoxOverlayWrapper',
40
+ styles: {
41
+ position: 'absolute',
42
+ zIndex: 1000,
43
+ },
44
+ });
37
45
  const ComboBoxOverlayElement = tasty({
38
46
  qa: 'ComboBoxOverlay',
39
47
  styles: {
@@ -41,7 +49,7 @@ const ComboBoxOverlayElement = tasty({
41
49
  gridRows: '1sf',
42
50
  gridColumns: '1sf',
43
51
  width: '$min-width max-content 50vw',
44
- height: 'initial max-content (50vh - $size)',
52
+ height: 'initial max-content (50vh - 5x)',
45
53
  overflow: 'auto',
46
54
  background: '#white',
47
55
  radius: '1cr',
@@ -348,9 +356,9 @@ function useComboBoxKeyboard({ isPopoverOpen, listStateRef, hasResults, allowsCu
348
356
  });
349
357
  return { keyboardProps };
350
358
  }
351
- const ComboBoxInput = forwardRef(function ComboBoxInput({ qa, inputRef, id, value, placeholder, isDisabled, isReadOnly, autoFocus, size, mods, inputStyles, keyboardProps, focusProps, onChange, onFocus, isPopoverOpen, hasResults, comboBoxId, listStateRef, }, ref) {
359
+ const ComboBoxInput = forwardRef(function ComboBoxInput({ qa, inputRef, id, value, placeholder, isDisabled, isReadOnly, autoFocus, autoComplete, size, mods, inputStyles, keyboardProps, focusProps, onChange, onFocus, isPopoverOpen, hasResults, comboBoxId, listStateRef, }, ref) {
352
360
  const combinedRef = useCombinedRefs(ref, inputRef);
353
- return (_jsx(InputElement, { ref: combinedRef, qa: qa, id: id, type: "text", value: value, placeholder: placeholder, isDisabled: isDisabled, readOnly: isReadOnly, autoFocus: autoFocus, "data-autofocus": autoFocus ? '' : undefined, onChange: onChange, onFocus: onFocus, onBlur: focusProps.onBlur, ...keyboardProps, styles: inputStyles, mods: mods, "data-size": size, role: "combobox", "aria-expanded": isPopoverOpen && hasResults, "aria-haspopup": "listbox", "aria-controls": isPopoverOpen && hasResults
361
+ return (_jsx(InputElement, { ref: combinedRef, qa: qa, id: id, type: "text", value: value, placeholder: placeholder, isDisabled: isDisabled, readOnly: isReadOnly, autoFocus: autoFocus, autoComplete: autoComplete, "data-autofocus": autoFocus ? '' : undefined, onChange: onChange, onFocus: onFocus, onBlur: focusProps.onBlur, ...keyboardProps, styles: inputStyles, mods: mods, "data-size": size, role: "combobox", "aria-expanded": isPopoverOpen && hasResults, "aria-haspopup": "listbox", "aria-controls": isPopoverOpen && hasResults
354
362
  ? `ComboBoxListBox-${comboBoxId}`
355
363
  : undefined, "aria-activedescendant": isPopoverOpen &&
356
364
  hasResults &&
@@ -358,7 +366,7 @@ const ComboBoxInput = forwardRef(function ComboBoxInput({ qa, inputRef, id, valu
358
366
  ? `ListBoxItem-${listStateRef.current?.selectionManager.focusedKey}`
359
367
  : undefined }));
360
368
  });
361
- 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, }) {
369
+ 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, size = 'medium', }) {
362
370
  // Overlay positioning
363
371
  const { overlayProps: overlayPositionProps, placement, updatePosition, } = useOverlayPosition({
364
372
  targetRef: triggerRef,
@@ -383,31 +391,26 @@ function ComboBoxOverlay({ isOpen, triggerRef, popoverRef, listBoxRef, direction
383
391
  return false;
384
392
  },
385
393
  }, popoverRef);
386
- // Update position when overlay opens
394
+ // Update position when overlay opens or content changes
387
395
  useLayoutEffect(() => {
388
- if (isOpen) {
389
- // Use double RAF to ensure layout is complete before positioning
390
- requestAnimationFrame(() => {
391
- requestAnimationFrame(() => {
392
- updatePosition?.();
393
- });
394
- });
395
- }
396
- }, [isOpen, updatePosition]);
396
+ if (isOpen && updatePosition) {
397
+ // Use triple RAF to ensure layout is complete before positioning
398
+ // This gives enough time for the DisplayTransition and content to render
399
+ return chainRaf(() => {
400
+ updatePosition();
401
+ }, 3);
402
+ }
403
+ }, [isOpen]);
397
404
  // Extract primary placement direction for consistent styling
398
405
  const placementDirection = placement?.split(' ')[0] || direction;
399
- const overlayContent = (_jsx(DisplayTransition, { isShown: isOpen, children: ({ phase, isShown, ref: transitionRef }) => (_jsx(ComboBoxOverlayElement, { ...mergeProps(overlayPositionProps, overlayBehaviorProps, compositeFocusProps), ref: (value) => {
400
- transitionRef(value);
401
- popoverRef.current = value;
402
- }, "data-placement": placementDirection, "data-phase": phase, mods: {
403
- open: isShown,
404
- hidden: phase === 'unmounted',
405
- }, styles: overlayStyles, style: {
406
- '--min-width': comboBoxWidth ? `${comboBoxWidth}px` : undefined,
407
- ...overlayPositionProps.style,
408
- }, 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: {
409
- popover: true,
410
- }, onSelectionChange: onSelectionChange, children: children }) })) }));
406
+ const overlayContent = (_jsx(DisplayTransition, { isShown: isOpen, children: ({ phase, isShown, ref: transitionRef }) => (_jsx(ComboBoxOverlayWrapper, { ...mergeProps(overlayPositionProps, overlayBehaviorProps, compositeFocusProps), ref: popoverRef, style: overlayPositionProps.style, children: _jsx(ComboBoxOverlayElement, { ref: transitionRef, "data-placement": placementDirection, "data-phase": phase, mods: {
407
+ open: isShown,
408
+ hidden: phase === 'unmounted',
409
+ }, styles: overlayStyles, style: {
410
+ '--min-width': comboBoxWidth ? `${comboBoxWidth}px` : undefined,
411
+ }, 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, size: "medium", mods: {
412
+ popover: true,
413
+ }, onSelectionChange: onSelectionChange, children: children }) }) })) }));
411
414
  return _jsx(Portal, { children: overlayContent });
412
415
  }
413
416
  // ============================================================================
@@ -428,7 +431,7 @@ export const ComboBox = forwardRef(function ComboBox(props, ref) {
428
431
  };
429
432
  },
430
433
  });
431
- let { qa, label, extra, labelStyles, isRequired, necessityIndicator, validationState, id, icon, prefix, isDisabled, autoFocus, wrapperRef, inputRef, triggerRef, popoverRef, listBoxRef, isLoading, inputStyles, optionStyles, triggerStyles, listBoxStyles, overlayStyles, fieldStyles, suffix, hideTrigger, message, description, size = 'medium', direction = 'bottom', shouldFlip = true, popoverTrigger = 'input', suffixPosition = 'before', filter, styles, labelSuffix, selectedKey, defaultSelectedKey, inputValue, defaultInputValue, onInputChange, isClearable, onClear, placeholder, allowsCustomValue, shouldCommitOnBlur = true, clearOnBlur, items, children: renderChildren, sectionStyles, headingStyles, isReadOnly, overlayOffset = 8, onSelectionChange: externalOnSelectionChange, sortSelectedToTop: sortSelectedToTopProp, onFocus, onBlur, onKeyDown, form, ...otherProps } = props;
434
+ let { qa, label, extra, labelStyles, isRequired, necessityIndicator, validationState, id, icon, prefix, isDisabled, autoFocus, autoComplete = 'off', wrapperRef, inputRef, triggerRef, popoverRef, listBoxRef, isLoading, inputStyles, optionStyles, triggerStyles, listBoxStyles, overlayStyles, fieldStyles, suffix, hideTrigger, message, description, size = 'medium', direction = 'bottom', shouldFlip = true, popoverTrigger = 'input', suffixPosition = 'before', filter, styles, labelSuffix, selectedKey, defaultSelectedKey, inputValue, defaultInputValue, onInputChange, isClearable, onClear, placeholder, allowsCustomValue, shouldCommitOnBlur = true, clearOnBlur, items, children: renderChildren, sectionStyles, headingStyles, isReadOnly, overlayOffset = 8, onSelectionChange: externalOnSelectionChange, sortSelectedToTop: sortSelectedToTopProp, onFocus, onBlur, onKeyDown, form, ...otherProps } = props;
432
435
  // Generate a unique ID for this combobox instance
433
436
  const comboBoxId = useMemo(() => generateRandomId(), []);
434
437
  // State management hook
@@ -961,7 +964,7 @@ export const ComboBox = forwardRef(function ComboBox(props, ref) {
961
964
  }, [shouldShowPopover, ensureInitialFocus]);
962
965
  const comboBoxField = (_jsxs(ComboBoxWrapperElement, { ref: wrapperRef, mods: mods, styles: styles, style: {
963
966
  zIndex: isFocused ? 1 : 'initial',
964
- }, "data-size": size, ...compositeFocusProps, children: [prefix ? _jsx("div", { "data-element": "Prefix", children: prefix }) : null, _jsx(ComboBoxInput, { qa: qa || 'ComboBox', inputRef: inputRef, id: id, value: effectiveInputValue, placeholder: placeholder, isDisabled: isDisabled, isReadOnly: isReadOnly, autoFocus: autoFocus, size: size, mods: mods, inputStyles: inputStyles, keyboardProps: keyboardProps, focusProps: { ...focusProps, onBlur: handleInputBlur }, isPopoverOpen: isPopoverOpen, hasResults: hasResults, comboBoxId: comboBoxId, listStateRef: listStateRef, onChange: handleInputChange, onFocus: handleInputFocus }), _jsxs("div", { "data-element": "Suffix", children: [suffixPosition === 'before' ? suffix : null, validationState || isLoading ? (_jsxs(_Fragment, { children: [validationState && !isLoading ? validation : null, isLoading ? _jsx(LoadingIcon, {}) : null] })) : null, suffixPosition === 'after' ? suffix : null, showClearButton && (_jsx(ItemAction, { icon: _jsx(CloseIcon, {}), size: size, theme: validationState === 'invalid' ? 'danger' : undefined, qa: "ComboBoxClearButton", "data-no-trigger": hideTrigger ? '' : undefined, "aria-label": "Clear value", onPress: clearValue })), !hideTrigger ? (_jsx(ItemAction, { ref: triggerRef, "data-popover-trigger": true, icon: _jsx(DirectionIcon, { to: isPopoverOpen ? 'up' : 'down' }), qa: "ComboBoxTrigger", mods: {
967
+ }, "data-size": size, ...compositeFocusProps, children: [prefix ? _jsx("div", { "data-element": "Prefix", children: prefix }) : null, _jsx(ComboBoxInput, { qa: qa || 'ComboBox', inputRef: inputRef, id: id, value: effectiveInputValue, placeholder: placeholder, isDisabled: isDisabled, isReadOnly: isReadOnly, autoFocus: autoFocus, autoComplete: autoComplete, size: size, mods: mods, inputStyles: inputStyles, keyboardProps: keyboardProps, focusProps: { ...focusProps, onBlur: handleInputBlur }, isPopoverOpen: isPopoverOpen, hasResults: hasResults, comboBoxId: comboBoxId, listStateRef: listStateRef, onChange: handleInputChange, onFocus: handleInputFocus }), _jsxs("div", { "data-element": "Suffix", children: [suffixPosition === 'before' ? suffix : null, validationState || isLoading ? (_jsxs(_Fragment, { children: [validationState && !isLoading ? validation : null, isLoading ? _jsx(LoadingIcon, {}) : null] })) : null, suffixPosition === 'after' ? suffix : null, showClearButton && (_jsx(ItemAction, { icon: _jsx(CloseIcon, {}), size: size, theme: validationState === 'invalid' ? 'danger' : undefined, qa: "ComboBoxClearButton", "data-no-trigger": hideTrigger ? '' : undefined, "aria-label": "Clear value", onPress: clearValue })), !hideTrigger ? (_jsx(ItemAction, { ref: triggerRef, "data-popover-trigger": true, icon: _jsx(DirectionIcon, { to: isPopoverOpen ? 'up' : 'down' }), qa: "ComboBoxTrigger", mods: {
965
968
  pressed: isPopoverOpen,
966
969
  disabled: isDisabled,
967
970
  loading: isLoading,
@@ -977,7 +980,7 @@ export const ComboBox = forwardRef(function ComboBox(props, ref) {
977
980
  }
978
981
  }
979
982
  }
980
- } })) : 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 })] }));
983
+ } })) : 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, size: size, onSelectionChange: handleSelectionChange, onClose: () => setIsPopoverOpen(false), children: children })] }));
981
984
  const { children: _, ...propsWithoutChildren } = props;
982
985
  const finalProps = {
983
986
  ...propsWithoutChildren,
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
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.84.0
4
+ * @cube-dev/ui-kit v0.85.1
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -38,7 +38,7 @@ const DateInputElement = tasty({
38
38
  });
39
39
  function DateInputBase(props, ref) {
40
40
  let inputRef = useRef(null);
41
- let { isDisabled, inputStyles, children, fieldProps, style, disableFocusRing, autoFocus, validationState, isLoading, size = 'medium', } = props;
41
+ let { isDisabled, inputStyles, children, fieldProps, style, disableFocusRing, autoFocus, validationState, isLoading, size = 'medium', suffix, } = props;
42
42
  let styles = extractStyles(props, CONTAINER_STYLES);
43
43
  let { focusProps, isFocused } = useFocusRing({
44
44
  isTextInput: true,
@@ -52,7 +52,8 @@ function DateInputBase(props, ref) {
52
52
  disabled: isDisabled,
53
53
  focused: isFocused && !disableFocusRing,
54
54
  invalid: isInvalid,
55
- }, ...mergeProps(fieldProps ?? {}, focusProps), style: style, children: [_jsx("div", { "data-element": "Contents", role: "presentation", children: _jsx(DateInputElement, { ref: mergeRefs(ref, inputRef), "data-size": size, role: "presentation", styles: inputStyles, children: children }) }), validationState && !isLoading ? validation : undefined] }));
55
+ suffix: (validationState && !isLoading) || isLoading || !!suffix,
56
+ }, ...mergeProps(fieldProps ?? {}, focusProps), style: style, children: [_jsx("div", { "data-element": "Contents", role: "presentation", children: _jsx(DateInputElement, { ref: mergeRefs(ref, inputRef), "data-size": size, role: "presentation", styles: inputStyles, children: children }) }), (validationState && !isLoading) || isLoading || suffix ? (_jsxs("div", { "data-element": "Suffix", children: [(validationState && !isLoading) || isLoading ? (_jsx("div", { "data-element": "State", children: validationState && !isLoading ? validation : null })) : null, suffix] })) : null] }));
56
57
  }
57
58
  const _DateInputBase = React.forwardRef(DateInputBase);
58
59
  _DateInputBase.displayName = 'DateInputBase';