@cube-dev/ui-kit 0.69.0 → 0.69.2

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 (476) 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/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 +39 -16
  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/Menu/Menu.js +1 -1
  30. package/es/components/actions/Menu/MenuItem.js +1 -1
  31. package/es/components/actions/Menu/MenuSection.js +1 -1
  32. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  33. package/es/components/actions/Menu/context.js +1 -1
  34. package/es/components/actions/Menu/index.js +1 -1
  35. package/es/components/actions/Menu/styled.js +7 -1
  36. package/es/components/actions/index.js +1 -1
  37. package/es/components/actions/use-action.js +1 -1
  38. package/es/components/actions/use-anchored-menu.js +1 -1
  39. package/es/components/actions/use-context-menu.js +1 -1
  40. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  41. package/es/components/content/Alert/Alert.js +1 -1
  42. package/es/components/content/Alert/index.js +1 -1
  43. package/es/components/content/Alert/types.js +1 -1
  44. package/es/components/content/Alert/use-alert.js +1 -1
  45. package/es/components/content/Avatar/Avatar.js +1 -1
  46. package/es/components/content/Badge/Badge.js +1 -1
  47. package/es/components/content/Card/Card.js +1 -1
  48. package/es/components/content/Content.js +1 -1
  49. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  50. package/es/components/content/CopyPasteBlock/index.js +1 -1
  51. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  52. package/es/components/content/CopySnippet/index.js +1 -1
  53. package/es/components/content/Divider.js +1 -1
  54. package/es/components/content/Footer.js +1 -1
  55. package/es/components/content/Header.js +1 -1
  56. package/es/components/content/HotKeys/HotKeys.js +1 -1
  57. package/es/components/content/HotKeys/index.js +1 -1
  58. package/es/components/content/Paragraph.js +1 -1
  59. package/es/components/content/Placeholder/Placeholder.js +1 -1
  60. package/es/components/content/PrismCode/PrismCode.js +1 -1
  61. package/es/components/content/PrismCode/prismSetup.js +1 -1
  62. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  63. package/es/components/content/Result/Result.js +1 -1
  64. package/es/components/content/Skeleton/Skeleton.js +1 -1
  65. package/es/components/content/Tag/Tag.js +1 -1
  66. package/es/components/content/Text.js +1 -1
  67. package/es/components/content/Title.js +1 -1
  68. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  69. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  70. package/es/components/fields/Checkbox/context.js +1 -1
  71. package/es/components/fields/Checkbox/index.js +1 -1
  72. package/es/components/fields/ComboBox/ComboBox.js +2 -2
  73. package/es/components/fields/ComboBox/index.js +1 -1
  74. package/es/components/fields/DatePicker/DateInput.js +1 -1
  75. package/es/components/fields/DatePicker/DateInputBase.js +6 -1
  76. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  77. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  78. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  79. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  80. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  81. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  82. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  83. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  84. package/es/components/fields/DatePicker/index.js +1 -1
  85. package/es/components/fields/DatePicker/intl.js +1 -1
  86. package/es/components/fields/DatePicker/parseDate.js +1 -1
  87. package/es/components/fields/DatePicker/props.js +1 -1
  88. package/es/components/fields/DatePicker/types.js +1 -1
  89. package/es/components/fields/DatePicker/utils.js +1 -1
  90. package/es/components/fields/FileInput/FileInput.js +1 -1
  91. package/es/components/fields/FilterListBox/FilterListBox.js +54 -11
  92. package/es/components/fields/FilterListBox/index.js +1 -1
  93. package/es/components/fields/FilterPicker/FilterPicker.js +213 -100
  94. package/es/components/fields/FilterPicker/index.js +1 -1
  95. package/es/components/fields/Input/Input.js +1 -1
  96. package/es/components/fields/Input/index.js +1 -1
  97. package/es/components/fields/ListBox/ListBox.js +132 -25
  98. package/es/components/fields/ListBox/index.js +1 -1
  99. package/es/components/fields/NumberInput/NumberInput.js +3 -3
  100. package/es/components/fields/NumberInput/StepButton.js +24 -22
  101. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  102. package/es/components/fields/RadioGroup/Radio.js +1 -1
  103. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  104. package/es/components/fields/RadioGroup/context.js +1 -1
  105. package/es/components/fields/RadioGroup/index.js +1 -1
  106. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  107. package/es/components/fields/SearchInput/index.js +1 -1
  108. package/es/components/fields/Select/Select.js +58 -39
  109. package/es/components/fields/Select/index.js +1 -1
  110. package/es/components/fields/Slider/Gradation.js +1 -1
  111. package/es/components/fields/Slider/Header.js +1 -1
  112. package/es/components/fields/Slider/RangeSlider.js +1 -1
  113. package/es/components/fields/Slider/Slider.js +1 -1
  114. package/es/components/fields/Slider/SliderBase.js +1 -1
  115. package/es/components/fields/Slider/SliderInput.js +1 -1
  116. package/es/components/fields/Slider/SliderThumb.js +1 -1
  117. package/es/components/fields/Slider/SliderTrack.js +1 -1
  118. package/es/components/fields/Slider/elements.js +1 -1
  119. package/es/components/fields/Slider/index.js +1 -1
  120. package/es/components/fields/Slider/types.js +1 -1
  121. package/es/components/fields/Switch/Switch.js +1 -1
  122. package/es/components/fields/Switch/index.js +1 -1
  123. package/es/components/fields/TextArea/TextArea.js +1 -1
  124. package/es/components/fields/TextArea/index.js +1 -1
  125. package/es/components/fields/TextInput/TextInput.js +1 -1
  126. package/es/components/fields/TextInput/TextInputBase.js +31 -29
  127. package/es/components/fields/TextInput/index.js +1 -1
  128. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  129. package/es/components/fields/TextInputMapper/index.js +1 -1
  130. package/es/components/fields/index.js +1 -1
  131. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  132. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  133. package/es/components/form/FieldWrapper/index.js +1 -1
  134. package/es/components/form/FieldWrapper/types.js +1 -1
  135. package/es/components/form/Form/Field.js +1 -1
  136. package/es/components/form/Form/Form.js +1 -1
  137. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  138. package/es/components/form/Form/ResetButton/index.js +1 -1
  139. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  140. package/es/components/form/Form/SubmitButton/index.js +1 -1
  141. package/es/components/form/Form/SubmitError.js +1 -1
  142. package/es/components/form/Form/index.js +1 -1
  143. package/es/components/form/Form/types.js +1 -1
  144. package/es/components/form/Form/use-field/index.js +1 -1
  145. package/es/components/form/Form/use-field/types.js +1 -1
  146. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  147. package/es/components/form/Form/use-field/use-field.js +1 -1
  148. package/es/components/form/Form/use-form.js +1 -1
  149. package/es/components/form/Form/validation.js +1 -1
  150. package/es/components/form/Label.js +1 -1
  151. package/es/components/form/index.js +1 -1
  152. package/es/components/form/wrapper.js +1 -1
  153. package/es/components/layout/Flex.js +1 -1
  154. package/es/components/layout/Flow.js +1 -1
  155. package/es/components/layout/Grid.js +1 -1
  156. package/es/components/layout/Panel.js +1 -1
  157. package/es/components/layout/Prefix.js +1 -1
  158. package/es/components/layout/ResizablePanel.js +1 -1
  159. package/es/components/layout/Space.js +1 -1
  160. package/es/components/layout/Suffix.js +1 -1
  161. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  162. package/es/components/navigation/Link/Link.js +1 -1
  163. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  164. package/es/components/organisms/Modal/Modal.js +1 -1
  165. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  166. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  167. package/es/components/other/Calendar/Calendar.js +1 -1
  168. package/es/components/other/Calendar/CalendarCell.js +1 -1
  169. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  170. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  171. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  172. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  173. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  174. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  175. package/es/components/overlays/AlertDialog/index.js +1 -1
  176. package/es/components/overlays/AlertDialog/types.js +1 -1
  177. package/es/components/overlays/Dialog/Dialog.js +1 -1
  178. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  179. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  180. package/es/components/overlays/Dialog/DialogTrigger.js +2 -1
  181. package/es/components/overlays/Dialog/context.js +1 -1
  182. package/es/components/overlays/Dialog/index.js +1 -1
  183. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  184. package/es/components/overlays/Modal/Modal.js +1 -1
  185. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  186. package/es/components/overlays/Modal/Overlay.js +1 -1
  187. package/es/components/overlays/Modal/Popover.js +1 -1
  188. package/es/components/overlays/Modal/Tray.js +1 -1
  189. package/es/components/overlays/Modal/Underlay.js +1 -1
  190. package/es/components/overlays/Modal/index.js +1 -1
  191. package/es/components/overlays/Modal/types.js +1 -1
  192. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  193. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  194. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  195. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  196. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  197. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  198. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  199. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  200. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  201. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  202. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  203. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  204. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  205. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  206. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  207. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  208. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  209. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  210. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  211. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  212. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  213. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  214. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  215. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  216. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  217. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  218. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  219. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  220. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  221. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  222. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  223. package/es/components/overlays/NewNotifications/index.js +1 -1
  224. package/es/components/overlays/NewNotifications/types.js +1 -1
  225. package/es/components/overlays/Notification/Notification.js +1 -1
  226. package/es/components/overlays/OverlayWrapper.js +1 -1
  227. package/es/components/overlays/Toasts/Toast.js +1 -1
  228. package/es/components/overlays/Toasts/index.js +1 -1
  229. package/es/components/overlays/Toasts/types.js +1 -1
  230. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  231. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  232. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  233. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  234. package/es/components/overlays/Tooltip/context.js +1 -1
  235. package/es/components/overlays/Tooltip/index.js +1 -1
  236. package/es/components/portal/Portal.js +1 -1
  237. package/es/components/portal/PortalProvider.js +1 -1
  238. package/es/components/portal/index.js +1 -1
  239. package/es/components/portal/storybook/templates/CustomRoot.js +1 -1
  240. package/es/components/portal/storybook/templates/PortalOrder.js +1 -1
  241. package/es/components/portal/storybook/templates/basic.js +1 -1
  242. package/es/components/portal/storybook/templates/index.js +1 -1
  243. package/es/components/portal/types.js +1 -1
  244. package/es/components/portal/usePortal.js +1 -1
  245. package/es/components/shared/InvalidIcon.js +1 -1
  246. package/es/components/shared/ValidIcon.js +1 -1
  247. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  248. package/es/components/status/LoadingAnimation/index.js +1 -1
  249. package/es/components/status/Spin/Cube.js +1 -1
  250. package/es/components/status/Spin/InternalSpinner.js +1 -1
  251. package/es/components/status/Spin/Spin.js +1 -1
  252. package/es/components/status/Spin/SpinsContainer.js +1 -1
  253. package/es/components/status/Spin/index.js +1 -1
  254. package/es/components/status/Spin/types.js +1 -1
  255. package/es/components/status/index.js +1 -1
  256. package/es/data/themes.js +1 -1
  257. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  258. package/es/icons/AdjustmentsIcon.js +1 -1
  259. package/es/icons/AiIcon.js +1 -1
  260. package/es/icons/AreaChartIcon.js +1 -1
  261. package/es/icons/BackwardIcon.js +1 -1
  262. package/es/icons/BarChartIcon.js +1 -1
  263. package/es/icons/BellFilledIcon.js +1 -1
  264. package/es/icons/BellIcon.js +1 -1
  265. package/es/icons/BooleanIcon.js +1 -1
  266. package/es/icons/CalendarEditIcon.js +1 -1
  267. package/es/icons/CalendarIcon.js +1 -1
  268. package/es/icons/CaretDownIcon.js +1 -1
  269. package/es/icons/CaretUpIcon.js +1 -1
  270. package/es/icons/ChartAreaStackedIcon.js +1 -1
  271. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  272. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  273. package/es/icons/ChartBarGroupedIcon.js +1 -1
  274. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  275. package/es/icons/ChartBarLineIcon.js +1 -1
  276. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  277. package/es/icons/ChartBarStackedIcon.js +1 -1
  278. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  279. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  280. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  281. package/es/icons/ChartBoxPlotIcon.js +1 -1
  282. package/es/icons/ChartBubbleIcon.js +1 -1
  283. package/es/icons/ChartDonut2Icon.js +1 -1
  284. package/es/icons/ChartFunnelIcon.js +1 -1
  285. package/es/icons/ChartKPIIcon.js +1 -1
  286. package/es/icons/ChartPie2Icon.js +1 -1
  287. package/es/icons/ChartScatterIcon.js +1 -1
  288. package/es/icons/CheckCircleFilledIcon.js +1 -1
  289. package/es/icons/CheckCircleIcon.js +1 -1
  290. package/es/icons/CheckIcon.js +1 -1
  291. package/es/icons/CircleFilledIcon.js +1 -1
  292. package/es/icons/ClearIcon.js +1 -1
  293. package/es/icons/CloseCircleFilledIcon.js +1 -1
  294. package/es/icons/CloseCircleIcon.js +1 -1
  295. package/es/icons/CloseIcon.js +1 -1
  296. package/es/icons/CodeIcon.js +1 -1
  297. package/es/icons/CopyIcon.js +1 -1
  298. package/es/icons/CountIcon.js +1 -1
  299. package/es/icons/CubeIcon.js +1 -1
  300. package/es/icons/DangerIcon.js +1 -1
  301. package/es/icons/DashboardIcon.js +1 -1
  302. package/es/icons/DatabaseIcon.js +1 -1
  303. package/es/icons/DirectionIcon.js +4 -2
  304. package/es/icons/DonutIcon.js +1 -1
  305. package/es/icons/DownIcon.js +1 -1
  306. package/es/icons/EditIcon.js +1 -1
  307. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  308. package/es/icons/ExclamationCircleIcon.js +1 -1
  309. package/es/icons/ExclamationIcon.js +1 -1
  310. package/es/icons/EyeIcon.js +1 -1
  311. package/es/icons/EyeInvisibleIcon.js +1 -1
  312. package/es/icons/FilterIcon.js +1 -1
  313. package/es/icons/FolderFilledIcon.js +1 -1
  314. package/es/icons/FolderIcon.js +1 -1
  315. package/es/icons/FolderOpenFilledIcon.js +1 -1
  316. package/es/icons/FolderOpenIcon.js +1 -1
  317. package/es/icons/ForwardIcon.js +1 -1
  318. package/es/icons/HierarchyIcon.js +1 -1
  319. package/es/icons/Icon.js +1 -1
  320. package/es/icons/InfoCircleIcon.js +1 -1
  321. package/es/icons/InfoIcon.js +1 -1
  322. package/es/icons/KeyIcon.js +1 -1
  323. package/es/icons/LeftIcon.js +1 -1
  324. package/es/icons/LineChartIcon.js +1 -1
  325. package/es/icons/LoadingIcon.js +1 -1
  326. package/es/icons/LockFilledIcon.js +1 -1
  327. package/es/icons/LockIcon.js +1 -1
  328. package/es/icons/MoreIcon.js +1 -1
  329. package/es/icons/NotAllowedIcon.js +1 -1
  330. package/es/icons/NumberIcon.js +1 -1
  331. package/es/icons/PauseCircleFilledIcon.js +1 -1
  332. package/es/icons/PauseCircleIcon.js +1 -1
  333. package/es/icons/PauseIcon.js +1 -1
  334. package/es/icons/PieChartIcon.js +1 -1
  335. package/es/icons/PlayCircleIcon.js +1 -1
  336. package/es/icons/PlayIcon.js +1 -1
  337. package/es/icons/PlusIcon.js +1 -1
  338. package/es/icons/ReloadIcon.js +1 -1
  339. package/es/icons/ReportIcon.js +1 -1
  340. package/es/icons/ReturnIcon.js +1 -1
  341. package/es/icons/RightIcon.js +1 -1
  342. package/es/icons/SchemeIcon.js +1 -1
  343. package/es/icons/SearchIcon.js +1 -1
  344. package/es/icons/SettingsIcon.js +1 -1
  345. package/es/icons/ShieldFilledIcon.js +1 -1
  346. package/es/icons/ShieldIcon.js +1 -1
  347. package/es/icons/SlashIcon.js +1 -1
  348. package/es/icons/SparklesIcon.js +1 -1
  349. package/es/icons/SqlIcon.js +1 -1
  350. package/es/icons/StatsIcon.js +1 -1
  351. package/es/icons/StopIcon.js +1 -1
  352. package/es/icons/StringIcon.js +1 -1
  353. package/es/icons/SwitchIcon.js +1 -1
  354. package/es/icons/TableIcon.js +1 -1
  355. package/es/icons/ThumbsDownIcon.js +1 -1
  356. package/es/icons/ThumbsUpIcon.js +1 -1
  357. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  358. package/es/icons/ThunderboltFilledIcon.js +1 -1
  359. package/es/icons/ThunderboltIcon.js +1 -1
  360. package/es/icons/TimeIcon.js +1 -1
  361. package/es/icons/UnlockIcon.js +1 -1
  362. package/es/icons/UpIcon.js +1 -1
  363. package/es/icons/UserGroupIcon.js +1 -1
  364. package/es/icons/UserIcon.js +1 -1
  365. package/es/icons/UserLockIcon.js +1 -1
  366. package/es/icons/ViewIcon.js +1 -1
  367. package/es/icons/WarningFilledIcon.js +1 -1
  368. package/es/icons/WarningIcon.js +1 -1
  369. package/es/icons/add-new-icon.js +1 -1
  370. package/es/icons/index.js +1 -1
  371. package/es/icons/wrap-icon.js +1 -1
  372. package/es/index.js +1 -1
  373. package/es/provider.js +1 -1
  374. package/es/providers/TrackingProvider.js +1 -1
  375. package/es/services/notification.js +1 -1
  376. package/es/shared/form.js +1 -1
  377. package/es/shared/index.js +1 -1
  378. package/es/stories/Form.legacy-stories.js +1 -1
  379. package/es/stories/FormFieldArgs.js +1 -1
  380. package/es/stories/Layout.stories.js +1 -1
  381. package/es/stories/Tasty.stories.js +1 -1
  382. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  383. package/es/stories/components/DialogFormApp.js +1 -1
  384. package/es/stories/components/StyledButton.js +1 -1
  385. package/es/stories/lists/baseProps.js +1 -1
  386. package/es/tasty/index.js +1 -1
  387. package/es/tasty/providers/BreakpointsProvider.js +1 -1
  388. package/es/tasty/styles/align.js +1 -1
  389. package/es/tasty/styles/border.js +1 -1
  390. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  391. package/es/tasty/styles/color.js +1 -1
  392. package/es/tasty/styles/createStyle.js +1 -1
  393. package/es/tasty/styles/dimension.js +1 -1
  394. package/es/tasty/styles/display.js +1 -1
  395. package/es/tasty/styles/fade.js +1 -1
  396. package/es/tasty/styles/fill.js +1 -1
  397. package/es/tasty/styles/flow.js +1 -1
  398. package/es/tasty/styles/font.js +1 -1
  399. package/es/tasty/styles/fontStyle.js +1 -1
  400. package/es/tasty/styles/gap.js +1 -1
  401. package/es/tasty/styles/groupRadius.js +1 -1
  402. package/es/tasty/styles/height.js +1 -1
  403. package/es/tasty/styles/index.js +1 -1
  404. package/es/tasty/styles/inset.js +1 -1
  405. package/es/tasty/styles/justify.js +1 -1
  406. package/es/tasty/styles/list.js +1 -1
  407. package/es/tasty/styles/margin.js +1 -1
  408. package/es/tasty/styles/marginBlock.js +1 -1
  409. package/es/tasty/styles/marginInline.js +1 -1
  410. package/es/tasty/styles/outline.js +1 -1
  411. package/es/tasty/styles/padding.js +1 -1
  412. package/es/tasty/styles/paddingBlock.js +1 -1
  413. package/es/tasty/styles/paddingInline.js +1 -1
  414. package/es/tasty/styles/place.js +1 -1
  415. package/es/tasty/styles/predefined.js +1 -1
  416. package/es/tasty/styles/preset.js +1 -1
  417. package/es/tasty/styles/radius.js +1 -1
  418. package/es/tasty/styles/reset.js +1 -1
  419. package/es/tasty/styles/scrollbar.js +1 -1
  420. package/es/tasty/styles/shadow.js +1 -1
  421. package/es/tasty/styles/styledScrollbar.js +1 -1
  422. package/es/tasty/styles/transition.js +1 -1
  423. package/es/tasty/styles/types.js +1 -1
  424. package/es/tasty/styles/width.js +1 -1
  425. package/es/tasty/tasty.js +1 -1
  426. package/es/tasty/types.js +1 -1
  427. package/es/tasty/utils/cache-wrapper.js +1 -1
  428. package/es/tasty/utils/case-converter.js +1 -1
  429. package/es/tasty/utils/colors.js +1 -1
  430. package/es/tasty/utils/dotize.js +1 -1
  431. package/es/tasty/utils/filterBaseProps.js +1 -1
  432. package/es/tasty/utils/getDisplayName.js +1 -1
  433. package/es/tasty/utils/getModCombinations.js +1 -1
  434. package/es/tasty/utils/mergeStyles.js +1 -1
  435. package/es/tasty/utils/modAttrs.js +1 -1
  436. package/es/tasty/utils/renderStyles.js +1 -1
  437. package/es/tasty/utils/responsive.js +1 -1
  438. package/es/tasty/utils/string.js +1 -1
  439. package/es/tasty/utils/styles.js +1 -1
  440. package/es/tasty/utils/warnings.js +1 -1
  441. package/es/tokens.js +1 -1
  442. package/es/type-checks.js +1 -1
  443. package/es/utils/ResizeSensor.js +1 -1
  444. package/es/utils/modules.js +1 -1
  445. package/es/utils/promise.js +1 -1
  446. package/es/utils/random.js +1 -1
  447. package/es/utils/range.js +1 -1
  448. package/es/utils/react/Slots.js +1 -1
  449. package/es/utils/react/chain.js +1 -1
  450. package/es/utils/react/index.js +1 -1
  451. package/es/utils/react/interactions.js +1 -1
  452. package/es/utils/react/isTextOnly.js +1 -1
  453. package/es/utils/react/mapProps.js +1 -1
  454. package/es/utils/react/mergeProps.js +1 -1
  455. package/es/utils/react/nullableValue.js +1 -1
  456. package/es/utils/react/sharedStore.js +1 -1
  457. package/es/utils/react/useCombinedRefs.js +1 -1
  458. package/es/utils/react/useControlledFocusVisible.js +1 -1
  459. package/es/utils/react/useEventBus.js +1 -1
  460. package/es/utils/react/useId.js +1 -1
  461. package/es/utils/react/useIsDarwin.js +1 -1
  462. package/es/utils/react/useKeySymbols.js +1 -1
  463. package/es/utils/react/useLayoutEffect.js +1 -1
  464. package/es/utils/react/useQaProps.js +1 -1
  465. package/es/utils/react/useViewportSize.js +1 -1
  466. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  467. package/es/utils/transitions.js +1 -1
  468. package/es/utils/tree.js +1 -1
  469. package/es/utils/warnings.js +1 -1
  470. package/es/version.js +2 -2
  471. package/package.json +1 -1
  472. package/types/components/actions/Button/Button.d.ts +30 -12
  473. package/types/components/fields/FilterListBox/FilterListBox.d.ts +11 -11
  474. package/types/components/fields/FilterPicker/FilterPicker.d.ts +20 -16
  475. package/types/components/fields/ListBox/ListBox.d.ts +39 -22
  476. package/types/components/overlays/Dialog/DialogTrigger.d.ts +1 -0
@@ -1,18 +1,20 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.69.0
4
+ * @cube-dev/ui-kit v0.69.2
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
9
  import { useHover } from '@react-aria/interactions';
10
+ import { IconMinus } from '@tabler/icons-react';
10
11
  import { useVirtualizer } from '@tanstack/react-virtual';
11
- import { forwardRef, useEffect, useMemo, useRef, } from 'react';
12
+ import { forwardRef, useEffect, useMemo, useRef, useState, } from 'react';
12
13
  import { useKeyboard, useListBox, useListBoxSection, useOption, } from 'react-aria';
13
14
  import { Section as BaseSection, Item, useListState } from 'react-stately';
14
15
  import { useWarn } from '../../../_internal/hooks/use-warn';
15
16
  import { CheckIcon } from '../../../icons';
17
+ import { Icon } from '../../../icons/index';
16
18
  import { useProviderProps } from '../../../provider';
17
19
  import { BASE_STYLES, COLOR_STYLES, extractStyles, OUTER_STYLES, tasty, } from '../../../tasty';
18
20
  import { SIZES } from '../../../tokens';
@@ -26,7 +28,7 @@ const ListBoxWrapperElement = tasty({
26
28
  styles: {
27
29
  display: 'grid',
28
30
  gridColumns: '1sf',
29
- gridRows: 'max-content 1sf max-content',
31
+ gridRows: 'max-content max-content max-content 1sf max-content',
30
32
  flow: 'column',
31
33
  gap: 0,
32
34
  position: 'relative',
@@ -57,7 +59,7 @@ const ListElement = tasty({
57
59
  boxSizing: 'border-box',
58
60
  margin: {
59
61
  '': '.5x .5x 0 .5x',
60
- sections: '0 .5x',
62
+ sections: '.5x .5x 0 .5x',
61
63
  },
62
64
  height: 'max-content',
63
65
  },
@@ -84,6 +86,7 @@ const OptionElement = tasty({
84
86
  margin: {
85
87
  '': '0 0 1bw 0',
86
88
  ':last-of-type': '0',
89
+ all: '.5x',
87
90
  },
88
91
  height: {
89
92
  '': 'min @size-md',
@@ -133,13 +136,13 @@ const OptionElement = tasty({
133
136
  transition: 'theme',
134
137
  opacity: {
135
138
  '': 0,
136
- 'selected | :hover | focused': 1,
139
+ 'selected | indeterminate | :hover | focused': 1,
137
140
  },
138
141
  fill: {
139
142
  '': '#white',
140
- selected: '#purple-text',
141
- 'invalid & !selected': '#white',
142
- 'invalid & selected': '#danger',
143
+ 'selected | indeterminate': '#purple-text',
144
+ 'invalid & !(selected | indeterminate)': '#white',
145
+ 'invalid & (selected | indeterminate)': '#danger',
143
146
  disabled: '#dark.12',
144
147
  },
145
148
  color: {
@@ -149,7 +152,7 @@ const OptionElement = tasty({
149
152
  border: {
150
153
  '': '#dark.30',
151
154
  invalid: '#danger',
152
- 'disabled | (selected & !invalid)': '#clear',
155
+ 'disabled | ((selected | indeterminate) & !invalid)': '#clear',
153
156
  },
154
157
  },
155
158
  Content: {
@@ -202,6 +205,44 @@ const SectionListElement = tasty({
202
205
  },
203
206
  });
204
207
  const PROP_STYLES = [...BASE_STYLES, ...OUTER_STYLES, ...COLOR_STYLES];
208
+ const SelectAllOption = ({ label = 'Select All', isSelected, isIndeterminate, isDisabled, isCheckable, size = 'medium', state, lastFocusSourceRef, onClick, }) => {
209
+ const { hoverProps, isHovered } = useHover({ isDisabled });
210
+ const markIcon = isIndeterminate ? (_jsx(Icon, { size: 12, stroke: 3, children: _jsx(IconMinus, {}) })) : (_jsx(CheckIcon, { size: 12, stroke: 3 }));
211
+ const localRef = useRef(null);
212
+ const handleOptionClick = (e) => {
213
+ // Mark focus changes from mouse clicks
214
+ if (lastFocusSourceRef) {
215
+ lastFocusSourceRef.current = 'mouse';
216
+ }
217
+ // If there's an onOptionClick callback and this is checkable in multiple mode,
218
+ // we need to distinguish between checkbox and content clicks
219
+ if (state.selectionManager.selectionMode === 'multiple') {
220
+ // Check if the click target is within the checkbox area
221
+ const clickTarget = e.target;
222
+ const checkboxElement = localRef.current?.querySelector('[data-element="CheckboxWrapper"]');
223
+ if (checkboxElement &&
224
+ (checkboxElement === clickTarget ||
225
+ checkboxElement.contains(clickTarget))) {
226
+ onClick?.(false);
227
+ }
228
+ else {
229
+ // Then call the callback (which will close the popover in FilterPicker)
230
+ onClick?.(true);
231
+ }
232
+ }
233
+ else {
234
+ onClick?.(true);
235
+ }
236
+ };
237
+ return (_jsxs(_Fragment, { children: [_jsxs(OptionElement, { ref: localRef, as: "div", ...hoverProps, "data-size": size, role: "option", "aria-selected": isSelected, mods: {
238
+ selected: isSelected,
239
+ disabled: isDisabled,
240
+ checkable: isCheckable,
241
+ hovered: isHovered,
242
+ indeterminate: isIndeterminate,
243
+ all: true,
244
+ }, style: { cursor: isDisabled ? 'not-allowed' : 'pointer' }, onClick: handleOptionClick, children: [isCheckable && (_jsx("div", { "data-element": "CheckboxWrapper", children: _jsx("div", { "data-element": "Checkbox", children: (isIndeterminate || isSelected) && markIcon }) })), _jsx("div", { "data-element": "Content", children: _jsx("div", { "data-element": "Label", children: label }) })] }), _jsx(StyledDivider, {})] }));
245
+ };
205
246
  export const ListBox = forwardRef(function ListBox(props, ref) {
206
247
  props = useProviderProps(props);
207
248
  props = useFormProps(props);
@@ -225,7 +266,8 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
225
266
  return fieldProps;
226
267
  },
227
268
  });
228
- let { qa, label, extra, labelStyles, isRequired, necessityIndicator, validationState, isDisabled, listStyles, optionStyles, sectionStyles, headingStyles, listRef, message, description, styles, mods: externalMods, size = 'medium', labelSuffix, selectedKey, defaultSelectedKey, selectedKeys, defaultSelectedKeys, shouldUseVirtualFocus, onSelectionChange, stateRef, focusOnHover, header, footer, headerStyles, footerStyles, escapeKeyBehavior, onEscape, isCheckable, onOptionClick, ...otherProps } = props;
269
+ let { qa, label, extra, labelStyles, isRequired, necessityIndicator, validationState, isDisabled, listStyles, optionStyles, sectionStyles, headingStyles, listRef, message, description, styles, mods: externalMods, size = 'medium', labelSuffix, selectedKey, defaultSelectedKey, selectedKeys, defaultSelectedKeys, shouldUseVirtualFocus, onSelectionChange, stateRef, focusOnHover, header, footer, headerStyles, footerStyles, onEscape, isCheckable, onOptionClick, showSelectAll, selectAllLabel, ...otherProps } = props;
270
+ const [, forceUpdate] = useState({});
229
271
  // Wrap onSelectionChange to prevent selection when disabled and handle React Aria's Set format
230
272
  const externalSelectionHandler = onSelectionChange || props.onChange;
231
273
  const wrappedOnSelectionChange = useMemo(() => {
@@ -237,8 +279,11 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
237
279
  return;
238
280
  }
239
281
  // React Aria always passes a Set for selection changes
240
- // For single selection mode, we extract the first (and only) key
241
- if (keys instanceof Set) {
282
+ // Handle the special "all" case and convert to our public API format
283
+ if (keys === 'all') {
284
+ externalSelectionHandler('all');
285
+ }
286
+ else if (keys instanceof Set) {
242
287
  if (keys.size === 0) {
243
288
  externalSelectionHandler(props.selectionMode === 'multiple' ? [] : null);
244
289
  }
@@ -253,7 +298,12 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
253
298
  externalSelectionHandler(keys);
254
299
  }
255
300
  };
256
- }, [externalSelectionHandler, isDisabled, props.selectionMode]);
301
+ }, [
302
+ externalSelectionHandler,
303
+ isDisabled,
304
+ props.selectionMode,
305
+ showSelectAll,
306
+ ]);
257
307
  // Prepare props for useListState with correct selection props
258
308
  const listStateProps = {
259
309
  ...props,
@@ -264,10 +314,16 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
264
314
  // Set selection props based on mode
265
315
  if (listStateProps.selectionMode === 'multiple') {
266
316
  if (selectedKeys !== undefined) {
267
- listStateProps.selectedKeys = new Set(selectedKeys);
317
+ // Handle "all" selection by passing it directly to React Aria
318
+ listStateProps.selectedKeys =
319
+ selectedKeys === 'all' ? 'all' : new Set(selectedKeys);
268
320
  }
269
321
  if (defaultSelectedKeys !== undefined) {
270
- listStateProps.defaultSelectedKeys = new Set(defaultSelectedKeys);
322
+ // Handle "all" default selection
323
+ listStateProps.defaultSelectedKeys =
324
+ defaultSelectedKeys === 'all'
325
+ ? 'all'
326
+ : new Set(defaultSelectedKeys);
271
327
  }
272
328
  // Remove single-selection props if any
273
329
  delete listStateProps.selectedKey;
@@ -291,6 +347,55 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
291
347
  const listState = useListState({
292
348
  ...listStateProps,
293
349
  });
350
+ // Calculate select all state for multiple selection mode
351
+ const selectAllState = useMemo(() => {
352
+ // Select-all only makes sense for multiple selection mode *and* when the UI is enabled
353
+ if (props.selectionMode !== 'multiple' || !showSelectAll) {
354
+ return { isSelected: false, isIndeterminate: false };
355
+ }
356
+ // React Stately exposes the raw selection value which is either the string "all"
357
+ // (when `selectAll(true)` was used) **or** a Set of item keys.
358
+ const rawSelection = listState.selectionManager.rawSelection;
359
+ // Fast path – user pressed our "Select All" control previously.
360
+ if (rawSelection === 'all') {
361
+ return { isSelected: true, isIndeterminate: false };
362
+ }
363
+ const selectedKeys = listState.selectionManager.selectedKeys;
364
+ // When there is nothing selected, we are in a clear state
365
+ if (selectedKeys.size === 0) {
366
+ return { isSelected: false, isIndeterminate: false };
367
+ }
368
+ // Otherwise it must be a partial (indeterminate) selection.
369
+ return { isSelected: false, isIndeterminate: true };
370
+ }, [
371
+ props.selectionMode,
372
+ showSelectAll,
373
+ listState.collection,
374
+ listState.disabledKeys,
375
+ listState.selectionManager.selectedKeys,
376
+ listState.selectionManager.rawSelection,
377
+ ]);
378
+ // Handle select all click
379
+ const handleSelectAllClick = (propagate) => {
380
+ if (isDisabled || props.selectionMode !== 'multiple')
381
+ return;
382
+ if (selectAllState.isSelected) {
383
+ // All selected, deselect all
384
+ listState.selectionManager.clearSelection();
385
+ // Manually call the wrapped handler since React Aria might not trigger it
386
+ wrappedOnSelectionChange?.(new Set());
387
+ }
388
+ else {
389
+ // Some or none selected, select all
390
+ listState.selectionManager.selectAll(true);
391
+ // Manually call the wrapped handler since React Aria might not trigger it
392
+ wrappedOnSelectionChange?.('all');
393
+ forceUpdate({});
394
+ }
395
+ if (propagate && !selectAllState.isSelected) {
396
+ onOptionClick?.('__ALL__');
397
+ }
398
+ };
294
399
  // Track whether the last focus change was due to keyboard navigation
295
400
  const lastFocusSourceRef = useRef('other');
296
401
  // Expose the list state instance via the provided ref (if any)
@@ -334,7 +439,6 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
334
439
  'aria-label': props['aria-label'] || label?.toString(),
335
440
  isDisabled,
336
441
  shouldUseVirtualFocus: shouldUseVirtualFocus ?? false,
337
- shouldFocusWrap: true,
338
442
  escapeKeyBehavior: onEscape ? 'none' : 'clearSelection',
339
443
  }, listState, listRef);
340
444
  const { isFocused, focusProps } = useFocus({ isDisabled });
@@ -413,8 +517,9 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
413
517
  valid: validationState === 'valid',
414
518
  disabled: isDisabled,
415
519
  focused: isFocused,
416
- header: !!header,
520
+ header: !!header || (showSelectAll && props.selectionMode === 'multiple'),
417
521
  footer: !!footer,
522
+ selectAll: showSelectAll && props.selectionMode === 'multiple',
418
523
  ...externalMods,
419
524
  }), [
420
525
  isInvalid,
@@ -423,9 +528,11 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
423
528
  isFocused,
424
529
  header,
425
530
  footer,
531
+ showSelectAll,
532
+ props.selectionMode,
426
533
  externalMods,
427
534
  ]);
428
- const listBoxField = (_jsxs(ListBoxWrapperElement, { ref: ref, qa: qa || 'ListBox', mods: mods, styles: styles, children: [header ? (_jsx(StyledHeader, { styles: headerStyles, "data-size": size, children: header })) : (_jsx("div", { role: "presentation" })), _jsx(ListBoxScrollElement, { ref: scrollRef, mods: mods, ...focusProps, children: _jsx(ListElement, { ...mergedListBoxProps, ref: listRef, styles: listStyles, "aria-disabled": isDisabled || undefined, mods: { sections: hasSections }, style: shouldVirtualize
535
+ const listBoxField = (_jsxs(ListBoxWrapperElement, { ref: ref, qa: qa || 'ListBox', mods: mods, styles: styles, children: [header ? (_jsx(StyledHeader, { styles: headerStyles, "data-size": size, children: header })) : (_jsx("div", { role: "presentation" })), showSelectAll && props.selectionMode === 'multiple' ? (_jsx(SelectAllOption, { label: selectAllLabel || 'Select All', state: listState, lastFocusSourceRef: lastFocusSourceRef, isSelected: selectAllState.isSelected, isIndeterminate: selectAllState.isIndeterminate, isDisabled: isDisabled, isCheckable: isCheckable, size: size, onClick: handleSelectAllClick })) : (_jsxs(_Fragment, { children: [_jsx("div", { role: "presentation" }), _jsx("div", { role: "presentation" })] })), _jsx(ListBoxScrollElement, { ref: scrollRef, mods: mods, ...focusProps, children: _jsx(ListElement, { ...mergedListBoxProps, ref: listRef, styles: listStyles, "aria-disabled": isDisabled || undefined, mods: { sections: hasSections }, style: shouldVirtualize
429
536
  ? {
430
537
  position: 'relative',
431
538
  height: `${rowVirtualizer.getTotalSize() + 3}px`,
@@ -442,7 +549,7 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
442
549
  left: 0,
443
550
  right: 0,
444
551
  transform: `translateY(${virtualItem.start}px)`,
445
- }, virtualIndex: virtualItem.index, lastFocusSourceRef: lastFocusSourceRef, onOptionClick: onOptionClick }, virtualItem.key));
552
+ }, virtualIndex: virtualItem.index, lastFocusSourceRef: lastFocusSourceRef, onClick: onOptionClick }, virtualItem.key));
446
553
  })
447
554
  : (() => {
448
555
  const renderedItems = [];
@@ -452,18 +559,18 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
452
559
  if (!isFirstSection) {
453
560
  renderedItems.push(_jsx(StyledDivider, { role: "separator", "aria-orientation": "horizontal" }, `divider-${String(item.key)}`));
454
561
  }
455
- renderedItems.push(_jsx(ListBoxSection, { item: item, state: listState, optionStyles: optionStyles, headingStyles: headingStyles, sectionStyles: sectionStyles, isParentDisabled: isDisabled, validationState: validationState, focusOnHover: focusOnHover, isCheckable: isCheckable, size: size, lastFocusSourceRef: lastFocusSourceRef, onOptionClick: onOptionClick }, item.key));
562
+ renderedItems.push(_jsx(ListBoxSection, { item: item, state: listState, optionStyles: optionStyles, headingStyles: headingStyles, sectionStyles: sectionStyles, isParentDisabled: isDisabled, validationState: validationState, focusOnHover: focusOnHover, isCheckable: isCheckable, size: size, lastFocusSourceRef: lastFocusSourceRef, onClick: onOptionClick }, item.key));
456
563
  isFirstSection = false;
457
564
  }
458
565
  else {
459
- renderedItems.push(_jsx(Option, { size: size, item: item, state: listState, styles: optionStyles, isParentDisabled: isDisabled, validationState: validationState, focusOnHover: focusOnHover, isCheckable: isCheckable, lastFocusSourceRef: lastFocusSourceRef, onOptionClick: onOptionClick }, item.key));
566
+ renderedItems.push(_jsx(Option, { size: size, item: item, state: listState, styles: optionStyles, isParentDisabled: isDisabled, validationState: validationState, focusOnHover: focusOnHover, isCheckable: isCheckable, lastFocusSourceRef: lastFocusSourceRef, onClick: onOptionClick }, item.key));
460
567
  }
461
568
  }
462
569
  return renderedItems;
463
570
  })() }) }), footer ? (_jsx(StyledFooter, { styles: footerStyles, "data-size": size, children: footer })) : (_jsx("div", { role: "presentation" }))] }));
464
571
  return wrapWithField(listBoxField, ref, mergeProps({ ...props, styles: undefined }, {}));
465
572
  });
466
- function Option({ size = 'medium', item, state, styles, isParentDisabled, validationState, focusOnHover = false, isCheckable, onOptionClick, virtualStyle, virtualRef, virtualIndex, lastFocusSourceRef, }) {
573
+ function Option({ size = 'medium', item, state, styles, isParentDisabled, validationState, focusOnHover = false, isCheckable, onClick: onOptionClick, virtualStyle, virtualRef, virtualIndex, lastFocusSourceRef, }) {
467
574
  const localRef = useRef(null);
468
575
  // Merge local ref with react-virtual measure ref when provided
469
576
  const combinedRef = useCombinedRefs(localRef, virtualRef);
@@ -537,7 +644,7 @@ function Option({ size = 'medium', item, state, styles, isParentDisabled, valida
537
644
  }, styles: styles, onClick: handleOptionClick, children: [isCheckable && state.selectionManager.selectionMode === 'multiple' && (_jsx("div", { "data-element": "CheckboxWrapper", children: _jsx("div", { "data-element": "Checkbox", children: _jsx(CheckIcon, { size: 12, stroke: 3 }) }) })), _jsxs("div", { "data-element": "Content", children: [_jsx("div", { "data-element": "Label", children: item.rendered }), description ? (_jsx("div", { "data-element": "Description", children: description })) : null] })] }));
538
645
  }
539
646
  function ListBoxSection(props) {
540
- const { item, state, optionStyles, headingStyles, sectionStyles, isParentDisabled, validationState, focusOnHover, isCheckable, onOptionClick, lastFocusSourceRef, } = props;
647
+ const { item, state, optionStyles, headingStyles, sectionStyles, isParentDisabled, validationState, focusOnHover, isCheckable, onClick: onOptionClick, lastFocusSourceRef, } = props;
541
648
  const heading = item.rendered;
542
649
  const { itemProps, headingProps, groupProps } = useListBoxSection({
543
650
  heading,
@@ -545,7 +652,7 @@ function ListBoxSection(props) {
545
652
  });
546
653
  return (_jsxs(SectionWrapperElement, { ...itemProps, styles: sectionStyles, children: [heading && (_jsx(StyledSectionHeading, { ...headingProps, styles: headingStyles, children: heading })), _jsx(SectionListElement, { ...groupProps, children: [...item.childNodes]
547
654
  .filter((node) => state.collection.getItem(node.key))
548
- .map((node) => (_jsx(Option, { size: props.size, item: node, state: state, styles: optionStyles, isParentDisabled: isParentDisabled, validationState: validationState, focusOnHover: focusOnHover, isCheckable: isCheckable, lastFocusSourceRef: lastFocusSourceRef, onOptionClick: onOptionClick }, node.key))) })] }));
655
+ .map((node) => (_jsx(Option, { size: props.size, item: node, state: state, styles: optionStyles, isParentDisabled: isParentDisabled, validationState: validationState, focusOnHover: focusOnHover, isCheckable: isCheckable, lastFocusSourceRef: lastFocusSourceRef, onClick: onOptionClick }, node.key))) })] }));
549
656
  }
550
657
  const ListBoxSectionComponent = Object.assign(BaseSection, {
551
658
  displayName: 'Section',
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.69.0
4
+ * @cube-dev/ui-kit v0.69.2
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.69.0
4
+ * @cube-dev/ui-kit v0.69.2
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -23,8 +23,8 @@ const StyledTextInputBase = tasty(TextInputBase, {
23
23
  const StepperContainer = tasty({
24
24
  styles: {
25
25
  display: 'grid',
26
- gridColumns: '1fr',
27
- gridRows: 'minmax(1px, 1fr) minmax(1px, 1fr)',
26
+ gridColumns: '1sf',
27
+ gridRows: '1sf 1sf',
28
28
  flow: 'column',
29
29
  placeSelf: 'stretch',
30
30
  },
@@ -1,38 +1,40 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.69.0
4
+ * @cube-dev/ui-kit v0.69.2
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
- import { CaretDownIcon, CaretUpIcon } from '../../../icons';
9
+ import { DirectionIcon } from '../../../icons';
10
+ import { tasty } from '../../../tasty';
10
11
  import { Button } from '../../actions';
11
- const STEP_BUTTON_STYLES = {
12
- width: '4x',
13
- radius: {
14
- '': '0 (1r - 1bw) 0 0',
15
- down: '0 0 (1r - 1bw) 0',
12
+ const StepButtonElement = tasty(Button, {
13
+ preventDefault: true,
14
+ type: 'neutral',
15
+ styles: {
16
+ width: '2.5x',
17
+ height: 'auto',
18
+ radius: {
19
+ '': '0 (1r - 1bw) 0 0',
20
+ down: '0 0 (1r - 1bw) 0',
21
+ },
22
+ fontSize: '12px',
23
+ lineHeight: '12px',
24
+ fill: {
25
+ '': '#dark.0',
26
+ hovered: '#dark.04',
27
+ pressed: '#purple.10',
28
+ '[disabled]': '#dark.0',
29
+ },
30
+ '@icon-size': '1fs',
16
31
  },
17
- fontSize: '12px',
18
- lineHeight: '12px',
19
- height: 'auto',
20
- fill: {
21
- '': '#dark.0',
22
- hovered: '#dark.04',
23
- pressed: '#purple.10',
24
- '[disabled]': '#dark.0',
25
- },
26
- '@icon-size': {
27
- '': '14px',
28
- '[data-size="small"]': '13px',
29
- },
30
- };
32
+ });
31
33
  /**
32
34
  * Buttons for NumberField.
33
35
  */
34
36
  export function StepButton(props) {
35
- return (_jsx(Button, { preventDefault: true, type: "neutral", styles: STEP_BUTTON_STYLES, icon: props.direction === 'up' ? _jsx(CaretUpIcon, {}) : _jsx(CaretDownIcon, {}), mods: {
37
+ return (_jsx(StepButtonElement, { preventDefault: true, type: "neutral", icon: _jsx(DirectionIcon, { to: props.direction }), mods: {
36
38
  up: props.direction === 'up',
37
39
  down: props.direction === 'down',
38
40
  }, label: `Step ${props.direction}`, ...props }));
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.69.0
4
+ * @cube-dev/ui-kit v0.69.2
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.69.0
4
+ * @cube-dev/ui-kit v0.69.2
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.69.0
4
+ * @cube-dev/ui-kit v0.69.2
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.69.0
4
+ * @cube-dev/ui-kit v0.69.2
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.69.0
4
+ * @cube-dev/ui-kit v0.69.2
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.69.0
4
+ * @cube-dev/ui-kit v0.69.2
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.69.0
4
+ * @cube-dev/ui-kit v0.69.2
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.69.0
4
+ * @cube-dev/ui-kit v0.69.2
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -10,7 +10,7 @@ import { cloneElement, forwardRef, useEffect, useMemo, useRef, } from 'react';
10
10
  import { DismissButton, FocusScope, HiddenSelect, useButton, useHover, useListBox, useListBoxSection, useOption, useOverlay, useOverlayPosition, useSelect, } from 'react-aria';
11
11
  import { Section as BaseSection, Item, useSelectState } from 'react-stately';
12
12
  import styled from 'styled-components';
13
- import { DownIcon, LoadingIcon } from '../../../icons/index';
13
+ import { DirectionIcon, LoadingIcon } from '../../../icons/index';
14
14
  import { useProviderProps } from '../../../provider';
15
15
  import { BASE_STYLES, COLOR_STYLES, extractStyles, OUTER_STYLES, tasty, } from '../../../tasty/index';
16
16
  import { generateRandomId } from '../../../utils/random';
@@ -24,7 +24,7 @@ import { useFieldProps, useFormProps, wrapWithField } from '../../form';
24
24
  import { OverlayWrapper } from '../../overlays/OverlayWrapper';
25
25
  import { InvalidIcon } from '../../shared/InvalidIcon';
26
26
  import { ValidIcon } from '../../shared/ValidIcon';
27
- import { DEFAULT_INPUT_STYLES, INPUT_WRAPPER_STYLES } from '../index';
27
+ import { INPUT_WRAPPER_STYLES } from '../index';
28
28
  const SelectWrapperElement = tasty({
29
29
  styles: {
30
30
  display: 'grid',
@@ -41,40 +41,6 @@ const SelectWrapperElement = tasty({
41
41
  invalid: '#danger-text',
42
42
  disabled: '#dark.30',
43
43
  },
44
- Value: {
45
- ...DEFAULT_INPUT_STYLES,
46
- preset: {
47
- '': 't3',
48
- '[data-type="primary"]': 't3m',
49
- },
50
- color: 'inherit',
51
- opacity: {
52
- '': 1,
53
- placeholder: '.6',
54
- },
55
- textAlign: 'left',
56
- fill: '#clear',
57
- textOverflow: 'ellipsis',
58
- overflow: 'hidden',
59
- },
60
- CaretIcon: {
61
- display: 'grid',
62
- placeItems: 'center',
63
- width: {
64
- '': '4x',
65
- '[data-size="small"]': '@size-xs',
66
- '[data-size="medium"]': '@size-sm',
67
- },
68
- cursor: 'pointer',
69
- fontSize: 'inherit',
70
- },
71
- ButtonIcon: {
72
- display: 'grid',
73
- placeItems: 'center',
74
- width: 'min @size-sm',
75
- color: 'inherit',
76
- fontSize: '@icon-size',
77
- },
78
44
  },
79
45
  });
80
46
  function WithValidationState(styles) {
@@ -93,8 +59,61 @@ const SelectElement = tasty({
93
59
  styles: {
94
60
  ...INPUT_WRAPPER_STYLES,
95
61
  ...DEFAULT_BUTTON_STYLES,
96
- padding: 0,
62
+ backgroundClip: 'initial',
97
63
  gap: 0,
64
+ Prefix: {
65
+ display: 'flex',
66
+ placeContent: 'center start',
67
+ placeItems: 'center',
68
+ placeSelf: 'center start',
69
+ flexShrink: 0,
70
+ },
71
+ Suffix: {
72
+ display: 'flex',
73
+ placeContent: 'center start',
74
+ placeItems: 'center',
75
+ placeSelf: 'center end',
76
+ flexShrink: 0,
77
+ },
78
+ ButtonIcon: {
79
+ display: 'grid',
80
+ placeItems: 'center',
81
+ color: 'inherit',
82
+ fontSize: '@icon-size',
83
+ },
84
+ Value: {
85
+ display: 'block',
86
+ width: 'max 100%',
87
+ placeItems: 'center stretch',
88
+ preset: {
89
+ '': 't3',
90
+ '[data-type="primary"]': 't3m',
91
+ },
92
+ padding: {
93
+ '': 0,
94
+ prefix: '.5x left',
95
+ suffix: '.5x right',
96
+ 'prefix & suffix': '.5x left right',
97
+ },
98
+ color: 'inherit',
99
+ opacity: {
100
+ '': 1,
101
+ placeholder: '.6',
102
+ },
103
+ textAlign: 'left',
104
+ fill: '#clear',
105
+ textOverflow: 'ellipsis',
106
+ overflow: 'hidden',
107
+ flexGrow: 1,
108
+ },
109
+ '& [data-element="Prefix"] [data-element="ButtonIcon"]': {
110
+ marginLeft: -4,
111
+ placeSelf: 'center start',
112
+ },
113
+ '& [data-element="Suffix"] [data-element="ButtonIcon"]': {
114
+ marginRight: -4,
115
+ placeSelf: 'center end',
116
+ },
98
117
  },
99
118
  variants: {
100
119
  // Default theme
@@ -293,7 +312,7 @@ function Select(props, ref) {
293
312
  ]);
294
313
  let selectField = (_jsxs(SelectWrapperElement, { qa: qa || 'Select', mods: modifiers, styles: { ...wrapperStyles, ...styles }, "data-size": size, "data-type": type, "data-theme": theme, children: [_jsx(HiddenSelect, { state: state, triggerRef: triggerRef, label: props.label, name: props.name }), _jsxs(SelectElement, { ...mergeProps(buttonProps, hoverProps, focusProps), ref: triggerRef, "data-menu-trigger": true, styles: { ...inputStyles, ...triggerStyles }, variant: `${theme}.${type}`, "data-theme": theme, "data-size": size, "data-type": type, mods: modifiers, children: [prefix ? _jsx("div", { "data-element": "Prefix", children: prefix }) : null, _jsx("span", { "data-element": "Value", ...valueProps, children: state.selectedItem
295
314
  ? state.selectedItem.rendered
296
- : placeholder || _jsx(_Fragment, { children: "\u00A0" }) }), _jsxs("div", { "data-element": "Suffix", children: [suffixPosition === 'before' ? suffix : null, validationState && !isLoading ? validation : null, isLoading && _jsx(LoadingIcon, {}), suffixPosition === 'after' ? suffix : null, _jsx("div", { "data-element": "CaretIcon", children: _jsx(DownIcon, {}) })] })] }), _jsx(OverlayWrapper, { isOpen: state.isOpen && !isDisabled, children: _jsx(ListBoxPopup, { ...menuProps, popoverRef: popoverRef, listBoxRef: listBoxRef, overlayProps: overlayProps, placement: placement, state: state, listBoxStyles: listBoxStyles, overlayStyles: overlayStyles, optionStyles: optionStyles, minWidth: triggerWidth, triggerRef: triggerRef }) })] }));
315
+ : placeholder || _jsx(_Fragment, { children: "\u00A0" }) }), _jsxs("div", { "data-element": "Suffix", children: [suffixPosition === 'before' ? suffix : null, validationState && !isLoading ? validation : null, isLoading && _jsx(LoadingIcon, {}), suffixPosition === 'after' ? suffix : null, _jsx("div", { "data-element": "ButtonIcon", children: _jsx(DirectionIcon, { to: state.isOpen ? 'up' : 'down' }) })] })] }), _jsx(OverlayWrapper, { isOpen: state.isOpen && !isDisabled, children: _jsx(ListBoxPopup, { ...menuProps, popoverRef: popoverRef, listBoxRef: listBoxRef, overlayProps: overlayProps, placement: placement, state: state, listBoxStyles: listBoxStyles, overlayStyles: overlayStyles, optionStyles: optionStyles, minWidth: triggerWidth, triggerRef: triggerRef }) })] }));
297
316
  return wrapWithField(selectField, ref, mergeProps({
298
317
  ...props,
299
318
  styles,
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.69.0
4
+ * @cube-dev/ui-kit v0.69.2
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.69.0
4
+ * @cube-dev/ui-kit v0.69.2
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.69.0
4
+ * @cube-dev/ui-kit v0.69.2
5
5
  * Released under the MIT license.
6
6
  */
7
7