@cube-dev/ui-kit 0.69.1 → 0.69.3

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 +22 -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 +38 -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 +1 -1
  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 +1 -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 +48 -6
  92. package/es/components/fields/FilterListBox/index.js +1 -1
  93. package/es/components/fields/FilterPicker/FilterPicker.js +401 -138
  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 -24
  98. package/es/components/fields/ListBox/index.js +1 -1
  99. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  100. package/es/components/fields/NumberInput/StepButton.js +1 -1
  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 -41
  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 +1 -1
  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 +1 -1
  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 +22 -18
  475. package/types/components/fields/ListBox/ListBox.d.ts +38 -21
  476. package/types/components/overlays/Dialog/DialogTrigger.d.ts +1 -0
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.69.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,18 +1,20 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.69.1
4
+ * @cube-dev/ui-kit v0.69.3
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)
@@ -412,8 +517,9 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
412
517
  valid: validationState === 'valid',
413
518
  disabled: isDisabled,
414
519
  focused: isFocused,
415
- header: !!header,
520
+ header: !!header || (showSelectAll && props.selectionMode === 'multiple'),
416
521
  footer: !!footer,
522
+ selectAll: showSelectAll && props.selectionMode === 'multiple',
417
523
  ...externalMods,
418
524
  }), [
419
525
  isInvalid,
@@ -422,9 +528,11 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
422
528
  isFocused,
423
529
  header,
424
530
  footer,
531
+ showSelectAll,
532
+ props.selectionMode,
425
533
  externalMods,
426
534
  ]);
427
- 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
428
536
  ? {
429
537
  position: 'relative',
430
538
  height: `${rowVirtualizer.getTotalSize() + 3}px`,
@@ -441,7 +549,7 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
441
549
  left: 0,
442
550
  right: 0,
443
551
  transform: `translateY(${virtualItem.start}px)`,
444
- }, virtualIndex: virtualItem.index, lastFocusSourceRef: lastFocusSourceRef, onOptionClick: onOptionClick }, virtualItem.key));
552
+ }, virtualIndex: virtualItem.index, lastFocusSourceRef: lastFocusSourceRef, onClick: onOptionClick }, virtualItem.key));
445
553
  })
446
554
  : (() => {
447
555
  const renderedItems = [];
@@ -451,18 +559,18 @@ export const ListBox = forwardRef(function ListBox(props, ref) {
451
559
  if (!isFirstSection) {
452
560
  renderedItems.push(_jsx(StyledDivider, { role: "separator", "aria-orientation": "horizontal" }, `divider-${String(item.key)}`));
453
561
  }
454
- 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));
455
563
  isFirstSection = false;
456
564
  }
457
565
  else {
458
- 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));
459
567
  }
460
568
  }
461
569
  return renderedItems;
462
570
  })() }) }), footer ? (_jsx(StyledFooter, { styles: footerStyles, "data-size": size, children: footer })) : (_jsx("div", { role: "presentation" }))] }));
463
571
  return wrapWithField(listBoxField, ref, mergeProps({ ...props, styles: undefined }, {}));
464
572
  });
465
- 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, }) {
466
574
  const localRef = useRef(null);
467
575
  // Merge local ref with react-virtual measure ref when provided
468
576
  const combinedRef = useCombinedRefs(localRef, virtualRef);
@@ -536,7 +644,7 @@ function Option({ size = 'medium', item, state, styles, isParentDisabled, valida
536
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] })] }));
537
645
  }
538
646
  function ListBoxSection(props) {
539
- 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;
540
648
  const heading = item.rendered;
541
649
  const { itemProps, headingProps, groupProps } = useListBoxSection({
542
650
  heading,
@@ -544,7 +652,7 @@ function ListBoxSection(props) {
544
652
  });
545
653
  return (_jsxs(SectionWrapperElement, { ...itemProps, styles: sectionStyles, children: [heading && (_jsx(StyledSectionHeading, { ...headingProps, styles: headingStyles, children: heading })), _jsx(SectionListElement, { ...groupProps, children: [...item.childNodes]
546
654
  .filter((node) => state.collection.getItem(node.key))
547
- .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))) })] }));
548
656
  }
549
657
  const ListBoxSectionComponent = Object.assign(BaseSection, {
550
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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,42 +41,6 @@ const SelectWrapperElement = tasty({
41
41
  invalid: '#danger-text',
42
42
  disabled: '#dark.30',
43
43
  },
44
- Value: {
45
- ...DEFAULT_INPUT_STYLES,
46
- display: 'grid',
47
- placeItems: 'center stretch',
48
- preset: {
49
- '': 't3',
50
- '[data-type="primary"]': 't3m',
51
- },
52
- color: 'inherit',
53
- opacity: {
54
- '': 1,
55
- placeholder: '.6',
56
- },
57
- textAlign: 'left',
58
- fill: '#clear',
59
- textOverflow: 'ellipsis',
60
- overflow: 'hidden',
61
- },
62
- CaretIcon: {
63
- display: 'grid',
64
- placeItems: 'center',
65
- width: {
66
- '': '4x',
67
- '[data-size="small"]': '@size-xs',
68
- '[data-size="medium"]': '@size-sm',
69
- },
70
- cursor: 'pointer',
71
- fontSize: 'inherit',
72
- },
73
- ButtonIcon: {
74
- display: 'grid',
75
- placeItems: 'center',
76
- width: 'min @size-sm',
77
- color: 'inherit',
78
- fontSize: '@icon-size',
79
- },
80
44
  },
81
45
  });
82
46
  function WithValidationState(styles) {
@@ -95,8 +59,61 @@ const SelectElement = tasty({
95
59
  styles: {
96
60
  ...INPUT_WRAPPER_STYLES,
97
61
  ...DEFAULT_BUTTON_STYLES,
98
- padding: 0,
62
+ backgroundClip: 'initial',
99
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
+ },
100
117
  },
101
118
  variants: {
102
119
  // Default theme
@@ -295,7 +312,7 @@ function Select(props, ref) {
295
312
  ]);
296
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
297
314
  ? state.selectedItem.rendered
298
- : 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 }) })] }));
299
316
  return wrapWithField(selectField, ref, mergeProps({
300
317
  ...props,
301
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
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.1
4
+ * @cube-dev/ui-kit v0.69.3
5
5
  * Released under the MIT license.
6
6
  */
7
7