@cube-dev/ui-kit 0.69.1 → 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 +16 -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 +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 +189 -76
  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 +18 -14
  475. package/types/components/fields/ListBox/ListBox.d.ts +38 -21
  476. package/types/components/overlays/Dialog/DialogTrigger.d.ts +1 -0
@@ -1,18 +1,18 @@
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.2
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
- import { Children, cloneElement, forwardRef, useCallback, useEffect, useRef, useState, } from 'react';
9
+ import { Children, cloneElement, forwardRef, useCallback, useEffect, useMemo, useRef, useState, } from 'react';
10
10
  import { FocusScope, useKeyboard } from 'react-aria';
11
11
  import { Section as BaseSection, Item } from 'react-stately';
12
12
  import { useWarn } from '../../../_internal/hooks/use-warn';
13
13
  import { DirectionIcon } from '../../../icons';
14
14
  import { useProviderProps } from '../../../provider';
15
- import { BASE_STYLES, COLOR_STYLES, extractStyles, OUTER_STYLES, } from '../../../tasty';
15
+ import { BASE_STYLES, COLOR_STYLES, extractStyles, OUTER_STYLES, tasty, } from '../../../tasty';
16
16
  import { mergeProps } from '../../../utils/react';
17
17
  import { Button } from '../../actions';
18
18
  import { Text } from '../../content/Text';
@@ -21,6 +21,16 @@ import { Dialog, DialogTrigger } from '../../overlays/Dialog';
21
21
  import { FilterListBox, } from '../FilterListBox/FilterListBox';
22
22
  import { ListBox } from '../ListBox';
23
23
  const PROP_STYLES = [...BASE_STYLES, ...OUTER_STYLES, ...COLOR_STYLES];
24
+ const FilterPickerWrapper = tasty({
25
+ qa: 'FilterPicker',
26
+ styles: {
27
+ display: 'inline-grid',
28
+ flow: 'column',
29
+ gridRows: '1sf',
30
+ placeContent: 'stretch',
31
+ placeItems: 'stretch',
32
+ },
33
+ });
24
34
  export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
25
35
  props = useProviderProps(props);
26
36
  props = useFormProps(props);
@@ -35,7 +45,13 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
35
45
  }
36
46
  fieldProps.onSelectionChange = (key) => {
37
47
  if (props.selectionMode === 'multiple') {
38
- onChange(key ? (Array.isArray(key) ? key : [key]) : []);
48
+ // Handle "all" selection and array selections
49
+ if (key === 'all') {
50
+ onChange('all');
51
+ }
52
+ else {
53
+ onChange(key ? (Array.isArray(key) ? key : [key]) : []);
54
+ }
39
55
  }
40
56
  else {
41
57
  onChange(Array.isArray(key) ? key[0] : key);
@@ -44,7 +60,7 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
44
60
  return fieldProps;
45
61
  },
46
62
  });
47
- let { qa, label, extra, icon, labelStyles, isRequired, necessityIndicator, validationState, isDisabled, isLoading, message, mods: externalMods, description, placeholder, size = 'medium', styles, listBoxStyles, popoverStyles, type = 'outline', theme = 'default', labelSuffix, shouldFocusWrap, children, selectedKey, defaultSelectedKey, selectedKeys, defaultSelectedKeys, disabledKeys, onSelectionChange, selectionMode = 'single', listStateRef, focusOnHover, header, footer, headerStyles, footerStyles, allowsCustomValue, renderSummary, isCheckable, ...otherProps } = props;
63
+ let { qa, label, extra, icon, rightIcon, labelStyles, isRequired, necessityIndicator, validationState, isDisabled, isLoading, message, mods: externalMods, description, placeholder, size = 'medium', styles, listBoxStyles, popoverStyles, type = 'outline', theme = 'default', labelSuffix, shouldFocusWrap, children, shouldFlip = true, selectedKey, defaultSelectedKey, selectedKeys, defaultSelectedKeys, disabledKeys, onSelectionChange, selectionMode = 'single', listStateRef, focusOnHover, showSelectAll, selectAllLabel = 'All', items, header, footer, headerStyles, footerStyles, triggerStyles, allowsCustomValue, renderSummary, isCheckable, ...otherProps } = props;
48
64
  styles = extractStyles(otherProps, PROP_STYLES, styles);
49
65
  // Warn if isCheckable is false in single selection mode
50
66
  useWarn(isCheckable === false && selectionMode === 'single', {
@@ -68,7 +84,8 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
68
84
  const effectiveSelectedKeys = isControlledMultiple
69
85
  ? selectedKeys
70
86
  : internalSelectedKeys;
71
- // Utility to normalize React keys by stripping array prefixes like ".$" or "."
87
+ // Utility: remove React's ".$" / "." prefixes from element keys so that we
88
+ // can compare them with user-provided keys.
72
89
  const normalizeKeyValue = (key) => {
73
90
  if (key == null)
74
91
  return '';
@@ -79,11 +96,56 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
79
96
  ? str.slice(1)
80
97
  : str;
81
98
  };
99
+ // ---------------------------------------------------------------------------
100
+ // Map public-facing keys (without React's "." prefix) to the actual React
101
+ // element keys that appear in the collection (which usually have the `.$`
102
+ // or `.` prefix added by React when children are in an array). This ensures
103
+ // that the key we pass to ListBox exactly matches the keys it receives from
104
+ // React Aria, so the initial selection is highlighted correctly.
105
+ // ---------------------------------------------------------------------------
106
+ const findReactKey = useCallback((lookup) => {
107
+ if (lookup == null)
108
+ return lookup;
109
+ const normalizedLookup = normalizeKeyValue(lookup);
110
+ let foundKey = lookup;
111
+ const traverse = (nodes) => {
112
+ Children.forEach(nodes, (child) => {
113
+ if (!child || typeof child !== 'object')
114
+ return;
115
+ if (child.key != null) {
116
+ if (normalizeKeyValue(child.key) === normalizedLookup) {
117
+ foundKey = child.key;
118
+ }
119
+ }
120
+ if (child.props?.children) {
121
+ traverse(child.props.children);
122
+ }
123
+ });
124
+ };
125
+ if (children)
126
+ traverse(children);
127
+ return foundKey;
128
+ }, [children]);
129
+ const mappedSelectedKey = useMemo(() => {
130
+ if (selectionMode !== 'single')
131
+ return null;
132
+ return findReactKey(effectiveSelectedKey);
133
+ }, [selectionMode, effectiveSelectedKey, findReactKey]);
134
+ const mappedSelectedKeys = useMemo(() => {
135
+ if (selectionMode !== 'multiple')
136
+ return undefined;
137
+ if (effectiveSelectedKeys === 'all')
138
+ return 'all';
139
+ if (Array.isArray(effectiveSelectedKeys)) {
140
+ return effectiveSelectedKeys.map((k) => findReactKey(k));
141
+ }
142
+ return effectiveSelectedKeys;
143
+ }, [selectionMode, effectiveSelectedKeys, findReactKey]);
82
144
  // Given an iterable of keys (array or Set) toggle membership for duplicates
83
145
  const processSelectionArray = (iterable) => {
84
146
  const resultSet = new Set();
85
147
  for (const key of iterable) {
86
- const nKey = normalizeKeyValue(key);
148
+ const nKey = String(key);
87
149
  if (resultSet.has(nKey)) {
88
150
  resultSet.delete(nKey); // toggle off if clicked twice
89
151
  }
@@ -97,10 +159,33 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
97
159
  const getSelectedLabels = () => {
98
160
  if (!children)
99
161
  return [];
100
- const selectedSet = new Set(selectionMode === 'multiple'
101
- ? (effectiveSelectedKeys || []).map(String)
162
+ // Handle "all" selection - return all available labels
163
+ if (selectionMode === 'multiple' && effectiveSelectedKeys === 'all') {
164
+ const allLabels = [];
165
+ const extractAllLabels = (nodes) => {
166
+ Children.forEach(nodes, (child) => {
167
+ if (!child || typeof child !== 'object')
168
+ return;
169
+ if (child.type === Item) {
170
+ const label = child.props.textValue ||
171
+ (typeof child.props.children === 'string'
172
+ ? child.props.children
173
+ : '') ||
174
+ String(child.props.children || '');
175
+ allLabels.push(label);
176
+ }
177
+ if (child.props?.children) {
178
+ extractAllLabels(child.props.children);
179
+ }
180
+ });
181
+ };
182
+ extractAllLabels(children);
183
+ return allLabels;
184
+ }
185
+ const selectedSet = new Set(selectionMode === 'multiple' && effectiveSelectedKeys !== 'all'
186
+ ? (effectiveSelectedKeys || []).map((k) => normalizeKeyValue(k))
102
187
  : effectiveSelectedKey != null
103
- ? [String(effectiveSelectedKey)]
188
+ ? [normalizeKeyValue(effectiveSelectedKey)]
104
189
  : []);
105
190
  const labels = [];
106
191
  const extractLabels = (nodes) => {
@@ -108,7 +193,7 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
108
193
  if (!child || typeof child !== 'object')
109
194
  return;
110
195
  if (child.type === Item) {
111
- if (selectedSet.has(String(child.key))) {
196
+ if (selectedSet.has(normalizeKeyValue(child.key))) {
112
197
  const label = child.props.textValue ||
113
198
  (typeof child.props.children === 'string'
114
199
  ? child.props.children
@@ -147,14 +232,14 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
147
232
  };
148
233
  extractLabelsWithTracking(children);
149
234
  // Handle custom values that don't have corresponding children
150
- const selectedKeysArr = selectionMode === 'multiple'
235
+ const selectedKeysArr = selectionMode === 'multiple' && effectiveSelectedKeys !== 'all'
151
236
  ? (effectiveSelectedKeys || []).map(String)
152
237
  : effectiveSelectedKey != null
153
238
  ? [String(effectiveSelectedKey)]
154
239
  : [];
155
240
  // Add labels for any selected keys that weren't processed (custom values)
156
241
  selectedKeysArr.forEach((key) => {
157
- if (!processedKeys.has(key)) {
242
+ if (!processedKeys.has(normalizeKeyValue(key))) {
158
243
  // This is a custom value, use the key as the label
159
244
  labels.push(key);
160
245
  }
@@ -165,29 +250,35 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
165
250
  const hasSelection = selectedLabels.length > 0;
166
251
  // Always keep the latest selection in a ref (with normalized keys) so that we can read it synchronously in the popover close effect.
167
252
  const latestSelectionRef = useRef({
168
- single: effectiveSelectedKey != null
169
- ? normalizeKeyValue(effectiveSelectedKey)
170
- : null,
171
- multiple: (effectiveSelectedKeys ?? []).map(normalizeKeyValue),
253
+ single: effectiveSelectedKey != null ? String(effectiveSelectedKey) : null,
254
+ multiple: effectiveSelectedKeys === 'all'
255
+ ? 'all'
256
+ : (effectiveSelectedKeys ?? []).map(String),
172
257
  });
173
258
  useEffect(() => {
174
259
  latestSelectionRef.current = {
175
- single: effectiveSelectedKey != null
176
- ? normalizeKeyValue(effectiveSelectedKey)
177
- : null,
178
- multiple: (effectiveSelectedKeys ?? []).map(normalizeKeyValue),
260
+ single: effectiveSelectedKey != null ? String(effectiveSelectedKey) : null,
261
+ multiple: effectiveSelectedKeys === 'all'
262
+ ? 'all'
263
+ : (effectiveSelectedKeys ?? []).map(String),
179
264
  };
180
265
  }, [effectiveSelectedKey, effectiveSelectedKeys]);
181
266
  const selectionsWhenClosed = useRef({ single: null, multiple: [] });
267
+ // Capture the initial selection (from defaultSelectedKey(s)) so that
268
+ // the very first popover open can already use it for sorting.
269
+ useEffect(() => {
270
+ selectionsWhenClosed.current = { ...latestSelectionRef.current };
271
+ }, []); // run only once on mount
182
272
  // Function to sort children with selected items on top
183
273
  const getSortedChildren = useCallback(() => {
184
274
  if (!children)
185
275
  return children;
186
- // When the popover is **closed** we don't want to trigger any resorting
187
- // that could cause visible re-flows during the fade-out animation. Simply
188
- // reuse whatever order we had while it was open (if available).
189
- if (!isPopoverOpen) {
190
- return cachedChildrenOrder.current ?? children;
276
+ // When the popover is **closed**, reuse the cached order if we have it to
277
+ // avoid unnecessary reflows. If we don't have a cache yet (first open),
278
+ // fall through to compute the sorted order so the very first render is
279
+ // already correct.
280
+ if (!isPopoverOpen && cachedChildrenOrder.current) {
281
+ return cachedChildrenOrder.current;
191
282
  }
192
283
  // Popover is open – compute (or recompute) the sorted order for this
193
284
  // session.
@@ -209,11 +300,17 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
209
300
  // Create selected keys set for fast lookup
210
301
  const selectedSet = new Set();
211
302
  if (selectionMode === 'multiple') {
212
- selectionsWhenClosed.current.multiple.forEach((key) => selectedSet.add(normalizeKeyValue(key)));
303
+ if (selectionsWhenClosed.current.multiple === 'all') {
304
+ // Don't sort when "all" is selected, just return original children
305
+ return children;
306
+ }
307
+ else {
308
+ selectionsWhenClosed.current.multiple.forEach((key) => selectedSet.add(String(key)));
309
+ }
213
310
  }
214
311
  else if (selectionMode === 'single' &&
215
312
  selectionsWhenClosed.current.single != null) {
216
- selectedSet.add(normalizeKeyValue(selectionsWhenClosed.current.single));
313
+ selectedSet.add(String(selectionsWhenClosed.current.single));
217
314
  }
218
315
  // Helper function to check if an item is selected
219
316
  const isItemSelected = (child) => {
@@ -278,8 +375,9 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
278
375
  // Sort the children
279
376
  const childrenArray = Children.toArray(children);
280
377
  const sortedChildren = sortChildrenArray(childrenArray);
281
- // Cache the sorted order when popover opens
282
- if (isPopoverOpen) {
378
+ // Cache the sorted order when popover opens or when we compute it for the
379
+ // first time before opening.
380
+ if (isPopoverOpen || !cachedChildrenOrder.current) {
283
381
  cachedChildrenOrder.current = sortedChildren;
284
382
  }
285
383
  return sortedChildren;
@@ -321,6 +419,9 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
321
419
  else if (selectionMode === 'single') {
322
420
  content = selectedLabels[0];
323
421
  }
422
+ else if (effectiveSelectedKeys === 'all') {
423
+ content = selectAllLabel;
424
+ }
324
425
  else {
325
426
  content = selectedLabels.join(', ');
326
427
  }
@@ -329,6 +430,7 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
329
430
  }
330
431
  return (_jsx(Text, { ellipsis: true, style: { opacity: hasSelection ? 1 : 'var(--disabled-opacity)' }, children: content }));
331
432
  };
433
+ const [shouldUpdatePosition, setShouldUpdatePosition] = useState(false);
332
434
  // The trigger is rendered as a function so we can access the dialog state
333
435
  const renderTrigger = (state) => {
334
436
  // Track popover open/close state to control sorting
@@ -352,64 +454,75 @@ export const FilterPicker = forwardRef(function FilterPicker(props, ref) {
352
454
  }
353
455
  },
354
456
  });
355
- return (_jsx(Button, { ref: triggerRef, qa: props.qa || 'FilterPicker', type: type, theme: validationState === 'invalid' ? 'danger' : theme, size: size, isDisabled: isDisabled, isLoading: isLoading, mods: {
457
+ useEffect(() => {
458
+ // Disable the update of the position while the popover is open (with a delay) to avoid jumping
459
+ setShouldUpdatePosition(!state.isOpen);
460
+ }, [state.isOpen]);
461
+ return (_jsx(Button, { ref: triggerRef, "data-menu-trigger": true, type: type, theme: validationState === 'invalid' ? 'danger' : theme, size: size, isDisabled: isDisabled, isLoading: isLoading, mods: {
356
462
  placeholder: !hasSelection,
357
463
  selected: hasSelection,
358
464
  ...externalMods,
359
- }, icon: icon, rightIcon: _jsx(DirectionIcon, { to: state.isOpen ? 'top' : 'bottom' }), styles: styles, ...otherProps, ...keyboardProps, "aria-label": `${props['aria-label'] ?? props.label ?? ''}`, children: renderTriggerContent() }));
465
+ }, icon: icon, rightIcon: rightIcon !== undefined ? (rightIcon) : (_jsx(DirectionIcon, { to: state.isOpen ? 'top' : 'bottom' })), styles: styles, ...keyboardProps, "aria-label": `${props['aria-label'] ?? props.label ?? ''}`, children: renderTriggerContent() }));
360
466
  };
361
- const filterPickerField = (_jsxs(DialogTrigger, { type: "popover", placement: "bottom start", shouldFlip: true, isDismissable: true, children: [renderTrigger, (close) => (_jsx(Dialog, { display: "grid", styles: { gridRows: '1sf', ...popoverStyles }, children: _jsx(FocusScope, { restoreFocus: true, children: _jsx(FilterListBox, { autoFocus: true, "aria-label": `${props['aria-label'] ?? props.label ?? ''} Picker`, selectedKey: selectionMode === 'single' ? effectiveSelectedKey : undefined, selectedKeys: selectionMode === 'multiple' ? effectiveSelectedKeys : undefined, disabledKeys: disabledKeys, focusOnHover: focusOnHover, shouldFocusWrap: shouldFocusWrap, allowsCustomValue: allowsCustomValue, selectionMode: selectionMode, validationState: validationState, isDisabled: isDisabled, stateRef: listStateRef, isCheckable: isCheckable, mods: {
362
- popover: true,
363
- }, size: size === 'small' ? 'medium' : size, header: header, footer: footer, headerStyles: headerStyles, footerStyles: footerStyles, qa: `${props.qa || 'FilterPicker'}ListBox`, onEscape: () => close(), onOptionClick: (key) => {
364
- // For FilterPicker, clicking the content area should close the popover
365
- // in multiple selection mode (single mode already closes via onSelectionChange)
366
- if (selectionMode === 'multiple' && isCheckable) {
367
- close();
368
- }
369
- }, onSelectionChange: (selection) => {
370
- // No need to change any flags - children order is cached
371
- // Update internal state if uncontrolled
372
- if (selectionMode === 'single') {
373
- if (!isControlledSingle) {
374
- setInternalSelectedKey(selection);
467
+ const filterPickerField = (_jsx(FilterPickerWrapper, { qa: props.qa || 'FilterPicker', styles: styles, ...otherProps, children: _jsxs(DialogTrigger, { type: "popover", placement: "bottom start", styles: triggerStyles, shouldUpdatePosition: shouldUpdatePosition, shouldFlip: shouldFlip, isDismissable: true, children: [renderTrigger, (close) => (_jsx(Dialog, { display: "grid", styles: { gridRows: '1sf', ...popoverStyles }, children: _jsx(FocusScope, { restoreFocus: true, children: _jsx(FilterListBox, { autoFocus: true, items: items, "aria-label": `${props['aria-label'] ?? props.label ?? ''} Picker`, selectedKey: selectionMode === 'single' ? mappedSelectedKey : undefined, selectedKeys: selectionMode === 'multiple' ? mappedSelectedKeys : undefined, disabledKeys: disabledKeys, focusOnHover: focusOnHover, shouldFocusWrap: shouldFocusWrap, allowsCustomValue: allowsCustomValue, selectionMode: selectionMode, validationState: validationState, isDisabled: isDisabled, stateRef: listStateRef, isCheckable: isCheckable, mods: {
468
+ popover: true,
469
+ }, size: size === 'small' ? 'medium' : size, showSelectAll: showSelectAll, selectAllLabel: selectAllLabel, header: header, footer: footer, headerStyles: headerStyles, footerStyles: footerStyles, qa: `${props.qa || 'FilterPicker'}ListBox`, onEscape: () => close(), onOptionClick: (key) => {
470
+ // For FilterPicker, clicking the content area should close the popover
471
+ // in multiple selection mode (single mode already closes via onSelectionChange)
472
+ if ((selectionMode === 'multiple' && isCheckable) ||
473
+ key === '__ALL__') {
474
+ close();
375
475
  }
376
- }
377
- else {
378
- if (!isControlledMultiple) {
379
- let normalized = selection;
380
- if (Array.isArray(selection)) {
381
- normalized = processSelectionArray(selection);
476
+ }, onSelectionChange: (selection) => {
477
+ // No need to change any flags - children order is cached
478
+ // Update internal state if uncontrolled
479
+ if (selectionMode === 'single') {
480
+ if (!isControlledSingle) {
481
+ setInternalSelectedKey(selection);
482
+ }
483
+ }
484
+ else {
485
+ if (!isControlledMultiple) {
486
+ let normalized = selection;
487
+ if (selection === 'all') {
488
+ normalized = 'all';
489
+ }
490
+ else if (Array.isArray(selection)) {
491
+ normalized = processSelectionArray(selection);
492
+ }
493
+ else if (selection &&
494
+ typeof selection === 'object' &&
495
+ selection instanceof Set) {
496
+ normalized = processSelectionArray(selection);
497
+ }
498
+ setInternalSelectedKeys(normalized);
499
+ }
500
+ }
501
+ // Update latest selection ref synchronously
502
+ if (selectionMode === 'single') {
503
+ latestSelectionRef.current.single = selection;
504
+ }
505
+ else {
506
+ if (selection === 'all') {
507
+ latestSelectionRef.current.multiple = 'all';
508
+ }
509
+ else if (Array.isArray(selection)) {
510
+ latestSelectionRef.current.multiple = Array.from(new Set(processSelectionArray(selection)));
382
511
  }
383
512
  else if (selection &&
384
513
  typeof selection === 'object' &&
385
514
  selection instanceof Set) {
386
- normalized = processSelectionArray(selection);
515
+ latestSelectionRef.current.multiple = Array.from(new Set(processSelectionArray(selection)));
516
+ }
517
+ else {
518
+ latestSelectionRef.current.multiple = selection;
387
519
  }
388
- setInternalSelectedKeys(normalized);
389
- }
390
- }
391
- // Update latest selection ref synchronously
392
- if (selectionMode === 'single') {
393
- latestSelectionRef.current.single = selection;
394
- }
395
- else {
396
- if (Array.isArray(selection)) {
397
- latestSelectionRef.current.multiple = Array.from(new Set(processSelectionArray(selection)));
398
- }
399
- else if (selection &&
400
- typeof selection === 'object' &&
401
- selection instanceof Set) {
402
- latestSelectionRef.current.multiple = Array.from(new Set(processSelectionArray(selection)));
403
520
  }
404
- else {
405
- latestSelectionRef.current.multiple = selection;
521
+ onSelectionChange?.(selection);
522
+ if (selectionMode === 'single') {
523
+ close();
406
524
  }
407
- }
408
- onSelectionChange?.(selection);
409
- if (selectionMode === 'single') {
410
- close();
411
- }
412
- }, children: finalChildren }) }) }))] }));
525
+ }, children: finalChildren }) }) }))] }) }));
413
526
  return wrapWithField(filterPickerField, ref, mergeProps({
414
527
  ...props,
415
528
  styles: undefined,
@@ -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.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.1
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.1
4
+ * @cube-dev/ui-kit v0.69.2
5
5
  * Released under the MIT license.
6
6
  */
7
7