@cube-dev/ui-kit 0.0.0-canary-b54b6e8 → 0.0.0-canary-4ef464b

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 (553) hide show
  1. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  2. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  3. package/dist/_internal/hooks/use-event.js +1 -1
  4. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  5. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  6. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  7. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  8. package/dist/_internal/hooks/use-warn.js +1 -1
  9. package/dist/components/Block.js +1 -1
  10. package/dist/components/CollectionItem.js +1 -1
  11. package/dist/components/GlobalStyles.js +1 -1
  12. package/dist/components/GridProvider.js +1 -1
  13. package/dist/components/HiddenInput.js +1 -1
  14. package/dist/components/Root.js +1 -1
  15. package/dist/components/actions/Action/Action.js +1 -1
  16. package/dist/components/actions/Banner/Banner.js +1 -1
  17. package/dist/components/actions/Button/Button.js +1 -1
  18. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  19. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  20. package/dist/components/actions/ButtonSplit/context.js +1 -1
  21. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  22. package/dist/components/actions/CommandMenu/styled.js +1 -1
  23. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  24. package/dist/components/actions/ItemActionContext.js +1 -1
  25. package/dist/components/actions/ItemActionsWrapper.js +206 -0
  26. package/dist/components/actions/ItemActionsWrapper.js.map +1 -0
  27. package/dist/components/actions/ItemButton/ItemButton.d.ts +11 -1
  28. package/dist/components/actions/ItemButton/ItemButton.js +25 -143
  29. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  30. package/dist/components/actions/Link/Link.js +1 -1
  31. package/dist/components/actions/Menu/Menu.js +1 -1
  32. package/dist/components/actions/Menu/MenuItem.js +1 -1
  33. package/dist/components/actions/Menu/MenuSection.js +1 -1
  34. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  36. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  37. package/dist/components/actions/Menu/context.js +1 -1
  38. package/dist/components/actions/Menu/styled.js +1 -1
  39. package/dist/components/actions/index.js +1 -1
  40. package/dist/components/actions/use-action.js +1 -1
  41. package/dist/components/actions/use-anchored-menu.js +1 -1
  42. package/dist/components/actions/use-context-menu.js +1 -1
  43. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  44. package/dist/components/content/Alert/Alert.js +1 -1
  45. package/dist/components/content/Alert/use-alert.js +1 -1
  46. package/dist/components/content/Avatar/Avatar.js +1 -1
  47. package/dist/components/content/Badge/Badge.js +1 -1
  48. package/dist/components/content/Card/Card.js +1 -1
  49. package/dist/components/content/Content.js +1 -1
  50. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  51. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  52. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  53. package/dist/components/content/Divider.js +1 -1
  54. package/dist/components/content/Footer.js +1 -1
  55. package/dist/components/content/Header.js +1 -1
  56. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  57. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  58. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  59. package/dist/components/content/Item/Item.js +5 -5
  60. package/dist/components/content/Item/Item.js.map +1 -1
  61. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  62. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  63. package/dist/components/content/Layout/GridLayout.js +1 -1
  64. package/dist/components/content/Layout/Layout.js +1 -1
  65. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  66. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  67. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  68. package/dist/components/content/Layout/LayoutContent.js +1 -1
  69. package/dist/components/content/Layout/LayoutContext.js +1 -1
  70. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  71. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  72. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  73. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  74. package/dist/components/content/Layout/LayoutPane.js +1 -1
  75. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  76. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  77. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  78. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  79. package/dist/components/content/Layout/index.js +1 -1
  80. package/dist/components/content/Layout/utils.js +1 -1
  81. package/dist/components/content/Paragraph.js +1 -1
  82. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  83. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  84. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  85. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  86. package/dist/components/content/Result/Result.js +1 -1
  87. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  88. package/dist/components/content/Tag/Tag.js +1 -1
  89. package/dist/components/content/Text.js +1 -1
  90. package/dist/components/content/TextItem/TextItem.js +1 -1
  91. package/dist/components/content/Title.js +1 -1
  92. package/dist/components/content/Tree/Tree.js +1 -1
  93. package/dist/components/content/Tree/TreeNode.js +1 -1
  94. package/dist/components/content/Tree/styled.js +1 -1
  95. package/dist/components/content/Tree/tree-index.js +1 -1
  96. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  97. package/dist/components/content/Tree/use-load-data.js +1 -1
  98. package/dist/components/content/highlightText.js +1 -1
  99. package/dist/components/content/use-auto-tooltip.js +1 -1
  100. package/dist/components/data/DataTable/DataTable.js +1 -1
  101. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  102. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  103. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  104. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  105. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  106. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  107. package/dist/components/data/TableBase/RowCollection.js +1 -1
  108. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  109. package/dist/components/data/TableBase/TableRow.js +1 -1
  110. package/dist/components/data/TableBase/TableView.js +1 -1
  111. package/dist/components/data/TableBase/column-menu.js +1 -1
  112. package/dist/components/data/TableBase/column-tint.js +1 -1
  113. package/dist/components/data/TableBase/row-menu.js +1 -1
  114. package/dist/components/data/TableBase/styled.js +1 -1
  115. package/dist/components/data/TableBase/table-tree.js +1 -1
  116. package/dist/components/data/TableBase/types.js +1 -1
  117. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  118. package/dist/components/data/TableBase/use-column-order.js +1 -1
  119. package/dist/components/data/TableBase/use-container-width.js +1 -1
  120. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  121. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  122. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  123. package/dist/components/data/TableBase/use-table-search.js +1 -1
  124. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  125. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  126. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  127. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  128. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  129. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  130. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  131. package/dist/components/fields/Checkbox/context.js +1 -1
  132. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  133. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  134. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  135. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  136. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  137. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  138. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  139. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  140. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  141. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  142. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  143. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  144. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  145. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  146. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  147. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  148. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  149. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  150. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  151. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  152. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  153. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  154. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  155. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  156. package/dist/components/fields/DatePicker/period.js +1 -1
  157. package/dist/components/fields/DatePicker/props.js +1 -1
  158. package/dist/components/fields/DatePicker/utils.js +1 -1
  159. package/dist/components/fields/FileInput/FileInput.js +1 -1
  160. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  161. package/dist/components/fields/FilterPicker/FilterPicker.js +20 -26
  162. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  163. package/dist/components/fields/Input/Input.js +1 -1
  164. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  165. package/dist/components/fields/ListBox/ListBox.js +1 -1
  166. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  167. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  168. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  169. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  170. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  171. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  172. package/dist/components/fields/Picker/Picker.js +20 -26
  173. package/dist/components/fields/Picker/Picker.js.map +1 -1
  174. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  175. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  176. package/dist/components/fields/RadioGroup/context.js +1 -1
  177. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  178. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  179. package/dist/components/fields/Select/Select.js +53 -55
  180. package/dist/components/fields/Select/Select.js.map +1 -1
  181. package/dist/components/fields/Slider/Gradation.js +1 -1
  182. package/dist/components/fields/Slider/HueSlider.js +1 -1
  183. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  184. package/dist/components/fields/Slider/Slider.js +1 -1
  185. package/dist/components/fields/Slider/SliderBase.js +1 -1
  186. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  187. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  188. package/dist/components/fields/Slider/elements.js +1 -1
  189. package/dist/components/fields/Slider/index.js +1 -1
  190. package/dist/components/fields/Switch/Switch.js +1 -1
  191. package/dist/components/fields/TextArea/TextArea.js +1 -1
  192. package/dist/components/fields/TextInput/TextInput.js +1 -1
  193. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  194. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  195. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  196. package/dist/components/fields/TriggerActions.js +13 -54
  197. package/dist/components/fields/TriggerActions.js.map +1 -1
  198. package/dist/components/fields/color/ColorPanel.js +1 -1
  199. package/dist/components/fields/color/channels.js +1 -1
  200. package/dist/components/fields/color/color.js +1 -1
  201. package/dist/components/fields/color/context.js +1 -1
  202. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  203. package/dist/components/form/Form/Field.js +1 -1
  204. package/dist/components/form/Form/Form.js +1 -1
  205. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  206. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  207. package/dist/components/form/Form/SubmitError.js +1 -1
  208. package/dist/components/form/Form/index.js +1 -1
  209. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  210. package/dist/components/form/Form/use-field/use-field.js +1 -1
  211. package/dist/components/form/Form/use-form.js +1 -1
  212. package/dist/components/form/Form/validation.js +1 -1
  213. package/dist/components/form/Label.js +1 -1
  214. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  215. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  216. package/dist/components/form/validation/use-validation-props.js +1 -1
  217. package/dist/components/form/wrapper.js +1 -1
  218. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  219. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  220. package/dist/components/layout/Board/Board.js +1 -1
  221. package/dist/components/layout/Board/BoardProvider.js +1 -1
  222. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  223. package/dist/components/layout/Board/Widget.js +1 -1
  224. package/dist/components/layout/Board/WidgetHost.js +1 -1
  225. package/dist/components/layout/Board/board-context.js +1 -1
  226. package/dist/components/layout/Board/board-store.js +1 -1
  227. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  228. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  229. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  230. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  231. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  232. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  233. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  234. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  235. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  236. package/dist/components/layout/Board/index.js +1 -1
  237. package/dist/components/layout/Board/responsive-utils.js +1 -1
  238. package/dist/components/layout/Board/use-board-layout.js +1 -1
  239. package/dist/components/layout/Board/use-board-registry.js +1 -1
  240. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  241. package/dist/components/layout/Board/use-board-selection.js +1 -1
  242. package/dist/components/layout/Flex.js +1 -1
  243. package/dist/components/layout/Flow.js +1 -1
  244. package/dist/components/layout/Grid.js +1 -1
  245. package/dist/components/layout/Panel.js +1 -1
  246. package/dist/components/layout/Prefix.js +1 -1
  247. package/dist/components/layout/ResizablePanel.js +1 -1
  248. package/dist/components/layout/Space.js +1 -1
  249. package/dist/components/layout/Suffix.js +1 -1
  250. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  251. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  252. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  253. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  254. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  255. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  256. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  257. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  258. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  259. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  260. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  261. package/dist/components/navigation/Tabs/styled.js +1 -1
  262. package/dist/components/navigation/Tabs/types.js +1 -1
  263. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  264. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  265. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  266. package/dist/components/other/Calendar/Calendar.js +1 -1
  267. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  268. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  269. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  270. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  271. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  272. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  273. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  274. package/dist/components/other/Calendar/styled.js +1 -1
  275. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  276. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  277. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  278. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  279. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  280. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  281. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  282. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  283. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  284. package/dist/components/overlays/Dialog/context.js +1 -1
  285. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  286. package/dist/components/overlays/Modal/Modal.js +1 -1
  287. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  288. package/dist/components/overlays/Modal/Overlay.js +1 -1
  289. package/dist/components/overlays/Modal/Popover.js +1 -1
  290. package/dist/components/overlays/Modal/Tray.js +1 -1
  291. package/dist/components/overlays/Modal/Underlay.js +1 -1
  292. package/dist/components/overlays/Notifications/Notification.js +1 -1
  293. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  294. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  295. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  296. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  297. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  298. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  299. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  300. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  301. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  302. package/dist/components/overlays/Notifications/index.js +1 -1
  303. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  304. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  305. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  306. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  307. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  308. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  309. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  310. package/dist/components/overlays/Toast/index.js +1 -1
  311. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  312. package/dist/components/overlays/Toast/useToast.js +1 -1
  313. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  314. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  315. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  316. package/dist/components/overlays/Tooltip/context.js +1 -1
  317. package/dist/components/portal/Portal.js +1 -1
  318. package/dist/components/portal/PortalProvider.js +1 -1
  319. package/dist/components/portal/usePortal.js +1 -1
  320. package/dist/components/shared/DraggableCollection.js +1 -1
  321. package/dist/components/shared/InvalidIcon.js +1 -1
  322. package/dist/components/shared/ValidIcon.js +1 -1
  323. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  324. package/dist/components/status/Spin/Cube.js +1 -1
  325. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  326. package/dist/components/status/Spin/Spin.js +1 -1
  327. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  328. package/dist/data/item-themes.js +25 -6
  329. package/dist/data/item-themes.js.map +1 -1
  330. package/dist/data/themes.js +1 -1
  331. package/dist/eslint-plugin/defaults.generated.js +1 -1
  332. package/dist/eslint-plugin/index.js +1 -1
  333. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  334. package/dist/i18n/I18nProvider.js +1 -1
  335. package/dist/i18n/createFormatter.js +1 -1
  336. package/dist/i18n/index.js +1 -1
  337. package/dist/i18n/instance.js +1 -1
  338. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  339. package/dist/i18n/locales/en-US/uikit.js +1 -1
  340. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  341. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  342. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  343. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  344. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  345. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  346. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  347. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  348. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  349. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  350. package/dist/i18n/locales.js +1 -1
  351. package/dist/i18n/useFormatter.js +1 -1
  352. package/dist/i18n/useI18n.js +1 -1
  353. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  354. package/dist/icons/AdjustmentsIcon.js +1 -1
  355. package/dist/icons/AiIcon.js +1 -1
  356. package/dist/icons/AreaChartIcon.js +1 -1
  357. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  358. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  359. package/dist/icons/BackwardIcon.js +1 -1
  360. package/dist/icons/BarChartIcon.js +1 -1
  361. package/dist/icons/BellFilledIcon.js +1 -1
  362. package/dist/icons/BellIcon.js +1 -1
  363. package/dist/icons/BooleanIcon.js +1 -1
  364. package/dist/icons/CalendarEditIcon.js +1 -1
  365. package/dist/icons/CalendarIcon.js +1 -1
  366. package/dist/icons/CaretDownIcon.js +1 -1
  367. package/dist/icons/CaretUpIcon.js +1 -1
  368. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  369. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  370. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  371. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  372. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  373. package/dist/icons/ChartBarLineIcon.js +1 -1
  374. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  375. package/dist/icons/ChartBarStackedIcon.js +1 -1
  376. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  377. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  378. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  379. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  380. package/dist/icons/ChartBubbleIcon.js +1 -1
  381. package/dist/icons/ChartDonut2Icon.js +1 -1
  382. package/dist/icons/ChartFunnelIcon.js +1 -1
  383. package/dist/icons/ChartHeatmapIcon.js +1 -1
  384. package/dist/icons/ChartKPIIcon.js +1 -1
  385. package/dist/icons/ChartPie2Icon.js +1 -1
  386. package/dist/icons/ChartScatterIcon.js +1 -1
  387. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  388. package/dist/icons/CheckCircleIcon.js +1 -1
  389. package/dist/icons/CheckIcon.js +1 -1
  390. package/dist/icons/CircleFilledIcon.js +1 -1
  391. package/dist/icons/ClearIcon.js +1 -1
  392. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  393. package/dist/icons/CloseCircleIcon.js +1 -1
  394. package/dist/icons/CloseIcon.js +1 -1
  395. package/dist/icons/CodeIcon.js +1 -1
  396. package/dist/icons/ColumnTotalIcon.js +1 -1
  397. package/dist/icons/CopyIcon.js +1 -1
  398. package/dist/icons/CountIcon.js +1 -1
  399. package/dist/icons/CubeIcon.js +1 -1
  400. package/dist/icons/CubePauseIcon.js +1 -1
  401. package/dist/icons/CubePlayIcon.js +1 -1
  402. package/dist/icons/CurrencyDollarIcon.js +1 -1
  403. package/dist/icons/DangerIcon.js +1 -1
  404. package/dist/icons/DashboardIcon.js +1 -1
  405. package/dist/icons/DatabaseIcon.js +1 -1
  406. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  407. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  408. package/dist/icons/DirectionIcon.js +1 -1
  409. package/dist/icons/DonutIcon.js +1 -1
  410. package/dist/icons/DownIcon.js +1 -1
  411. package/dist/icons/EditIcon.js +1 -1
  412. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  413. package/dist/icons/ExclamationCircleIcon.js +1 -1
  414. package/dist/icons/ExclamationIcon.js +1 -1
  415. package/dist/icons/EyeIcon.js +1 -1
  416. package/dist/icons/EyeInvisibleIcon.js +1 -1
  417. package/dist/icons/FilterIcon.js +1 -1
  418. package/dist/icons/FolderFilledIcon.js +1 -1
  419. package/dist/icons/FolderIcon.js +1 -1
  420. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  421. package/dist/icons/FolderOpenIcon.js +1 -1
  422. package/dist/icons/ForwardIcon.js +1 -1
  423. package/dist/icons/GripVerticalIcon.js +1 -1
  424. package/dist/icons/HierarchyIcon.js +1 -1
  425. package/dist/icons/HierarchyOpenIcon.js +1 -1
  426. package/dist/icons/Icon.js +1 -1
  427. package/dist/icons/InfoCircleIcon.js +1 -1
  428. package/dist/icons/InfoIcon.js +1 -1
  429. package/dist/icons/KeyIcon.js +1 -1
  430. package/dist/icons/LeftIcon.js +1 -1
  431. package/dist/icons/LineChartIcon.js +1 -1
  432. package/dist/icons/LoadingIcon.js +1 -1
  433. package/dist/icons/LockFilledIcon.js +1 -1
  434. package/dist/icons/LockIcon.js +1 -1
  435. package/dist/icons/MoreIcon.js +1 -1
  436. package/dist/icons/NotAllowedIcon.js +1 -1
  437. package/dist/icons/Number123Icon.js +1 -1
  438. package/dist/icons/NumberIcon.js +1 -1
  439. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  440. package/dist/icons/PauseCircleIcon.js +1 -1
  441. package/dist/icons/PauseIcon.js +1 -1
  442. package/dist/icons/PercentageIcon.js +1 -1
  443. package/dist/icons/PieChartIcon.js +1 -1
  444. package/dist/icons/PipetteIcon.js +1 -1
  445. package/dist/icons/PlayCircleIcon.js +1 -1
  446. package/dist/icons/PlayIcon.js +1 -1
  447. package/dist/icons/PlusIcon.js +1 -1
  448. package/dist/icons/ProgressBarIcon.js +1 -1
  449. package/dist/icons/ReloadIcon.js +1 -1
  450. package/dist/icons/ReportIcon.js +1 -1
  451. package/dist/icons/ReturnIcon.js +1 -1
  452. package/dist/icons/RightIcon.js +1 -1
  453. package/dist/icons/RowTotalsIcon.js +1 -1
  454. package/dist/icons/SchemeIcon.js +1 -1
  455. package/dist/icons/SearchIcon.js +1 -1
  456. package/dist/icons/SemanticQueryIcon.js +1 -1
  457. package/dist/icons/SettingsIcon.js +1 -1
  458. package/dist/icons/ShieldFilledIcon.js +1 -1
  459. package/dist/icons/ShieldIcon.js +1 -1
  460. package/dist/icons/SlashIcon.js +1 -1
  461. package/dist/icons/SparklesIcon.js +1 -1
  462. package/dist/icons/SqlIcon.js +1 -1
  463. package/dist/icons/StatsIcon.js +1 -1
  464. package/dist/icons/StopIcon.js +1 -1
  465. package/dist/icons/StringIcon.js +1 -1
  466. package/dist/icons/SubtotalsIcon.js +1 -1
  467. package/dist/icons/SwitchIcon.js +1 -1
  468. package/dist/icons/TableIcon.js +1 -1
  469. package/dist/icons/ThumbsDownIcon.js +1 -1
  470. package/dist/icons/ThumbsUpIcon.js +1 -1
  471. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  472. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  473. package/dist/icons/ThunderboltIcon.js +1 -1
  474. package/dist/icons/TimeIcon.js +1 -1
  475. package/dist/icons/TrashIcon.js +1 -1
  476. package/dist/icons/UnlockIcon.js +1 -1
  477. package/dist/icons/UpIcon.js +1 -1
  478. package/dist/icons/UserGroupIcon.js +1 -1
  479. package/dist/icons/UserIcon.js +1 -1
  480. package/dist/icons/UserLockIcon.js +1 -1
  481. package/dist/icons/ViewIcon.js +1 -1
  482. package/dist/icons/WarningFilledIcon.js +1 -1
  483. package/dist/icons/WarningIcon.js +1 -1
  484. package/dist/icons/wrap-icon.js +1 -1
  485. package/dist/index.js +1 -1
  486. package/dist/probe/canonicalize.js +1 -1
  487. package/dist/probe/css.js +1 -1
  488. package/dist/probe/index.js +1 -1
  489. package/dist/provider.js +1 -1
  490. package/dist/providers/TrackingProvider.js +1 -1
  491. package/dist/providers/navigationAdapter.default.js +1 -1
  492. package/dist/tokens/all-tokens.js +1 -1
  493. package/dist/tokens/base.js +1 -1
  494. package/dist/tokens/color-seed.js +1 -1
  495. package/dist/tokens/color-theme.js +1 -1
  496. package/dist/tokens/colors.js +1 -1
  497. package/dist/tokens/layout.js +1 -1
  498. package/dist/tokens/lazy-styles.js +1 -1
  499. package/dist/tokens/legacy-color.js +1 -1
  500. package/dist/tokens/palette-config.js +1 -1
  501. package/dist/tokens/palette.js +1 -1
  502. package/dist/tokens/resolve.js +1 -1
  503. package/dist/tokens/shadows.js +1 -1
  504. package/dist/tokens/sizes.js +1 -1
  505. package/dist/tokens/spacing.js +1 -1
  506. package/dist/tokens/typography.js +1 -1
  507. package/dist/utils/ResizeSensor.js +1 -1
  508. package/dist/utils/colors.js +1 -1
  509. package/dist/utils/dotize.js +1 -1
  510. package/dist/utils/is-dev-env.js +1 -1
  511. package/dist/utils/modules.js +1 -1
  512. package/dist/utils/promise.js +1 -1
  513. package/dist/utils/raf.js +1 -1
  514. package/dist/utils/random.js +1 -1
  515. package/dist/utils/range.js +1 -1
  516. package/dist/utils/react/RenderCache.js +1 -1
  517. package/dist/utils/react/Slots.js +1 -1
  518. package/dist/utils/react/chain.js +1 -1
  519. package/dist/utils/react/disabledProps.js +1 -1
  520. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  521. package/dist/utils/react/index.js +1 -1
  522. package/dist/utils/react/interactions.js +1 -1
  523. package/dist/utils/react/isTextOnly.js +1 -1
  524. package/dist/utils/react/mapProps.js +1 -1
  525. package/dist/utils/react/mergeProps.js +1 -1
  526. package/dist/utils/react/nullableValue.js +1 -1
  527. package/dist/utils/react/resolveIcon.js +1 -1
  528. package/dist/utils/react/sharedStore.js +1 -1
  529. package/dist/utils/react/useBufferedValue.js +1 -1
  530. package/dist/utils/react/useCombinedRefs.js +1 -1
  531. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  532. package/dist/utils/react/useEventBus.js +1 -1
  533. package/dist/utils/react/useId.js +1 -1
  534. package/dist/utils/react/useIsDarwin.js +1 -1
  535. package/dist/utils/react/useKeySymbols.js +1 -1
  536. package/dist/utils/react/useLayoutEffect.js +1 -1
  537. package/dist/utils/react/useLocalStorage.js +1 -1
  538. package/dist/utils/react/useMergeStyles.js +1 -1
  539. package/dist/utils/react/usePopoverSync.js +1 -1
  540. package/dist/utils/react/useQaProps.js +1 -1
  541. package/dist/utils/react/useScheme.js +1 -1
  542. package/dist/utils/react/useViewportSize.js +1 -1
  543. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  544. package/dist/utils/selection.js +1 -1
  545. package/dist/utils/styles.js +1 -1
  546. package/dist/utils/tree.js +1 -1
  547. package/dist/utils/warnings.js +1 -1
  548. package/dist/version.js +2 -2
  549. package/docs/components/actions/ItemButton.md +15 -1
  550. package/docs/components/fields/FilterPicker.md +10 -0
  551. package/docs/components/fields/Picker.md +10 -0
  552. package/docs/components/fields/Select.md +10 -0
  553. package/package.json +1 -1
@@ -1,19 +1,16 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
2
- import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
+ import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { mergeRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { useDismissParentPopover } from "../../../utils/react/usePopoverSync.js";
5
5
  import { useEvent } from "../../../_internal/hooks/use-event.js";
6
- import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
7
- import { ITEM_RESTING_COLOR_VARIANTS, resolveItemVariant } from "../../../data/item-themes.js";
8
- import { ItemActionProvider } from "../ItemActionContext.js";
9
6
  import { useAction } from "../use-action.js";
10
7
  import { ItemAction } from "../ItemAction/ItemAction.js";
11
8
  import { ItemBadge } from "../../content/ItemBadge/ItemBadge.js";
12
9
  import { _Item } from "../../content/Item/Item.js";
10
+ import { ItemActionsWrapper } from "../ItemActionsWrapper.js";
13
11
  import { tasty } from "@tenphi/tasty";
14
- import { forwardRef, useLayoutEffect, useMemo, useRef, useState } from "react";
15
- import { jsx, jsxs } from "react/jsx-runtime";
16
- import { useFocusWithin, useHover } from "react-aria";
12
+ import { forwardRef, useMemo, useRef } from "react";
13
+ import { jsx } from "react/jsx-runtime";
17
14
 
18
15
  //#region src/components/actions/ItemButton/ItemButton.tsx
19
16
  const StyledItem = tasty(_Item, {
@@ -25,85 +22,9 @@ const StyledItem = tasty(_Item, {
25
22
  placeContent: "center stretch"
26
23
  }
27
24
  });
28
- const ActionsWrapper = tasty({
29
- variants: ITEM_RESTING_COLOR_VARIANTS,
30
- styles: {
31
- display: "grid",
32
- position: "relative",
33
- placeContent: "stretch",
34
- placeItems: "stretch",
35
- $size: {
36
- "": "$size-md",
37
- "size=xsmall": "$size-xs",
38
- "size=small": "$size-sm",
39
- "size=medium": "$size-md",
40
- "size=large": "$size-lg",
41
- "size=xlarge": "$size-xl"
42
- },
43
- Actions: {
44
- $: ">",
45
- position: "absolute",
46
- inset: {
47
- "": "1bw 1bw auto auto",
48
- "type=card": "(1bw + .5x) (1bw + .5x) auto auto"
49
- },
50
- display: "flex",
51
- gap: "1bw",
52
- placeItems: "center",
53
- placeContent: "center end",
54
- pointerEvents: {
55
- "": "auto",
56
- "!actions-shown": "none"
57
- },
58
- padding: "0 $side-padding",
59
- height: "min ($size - 2bw)",
60
- opacity: {
61
- "": 1,
62
- "!actions-shown": 0
63
- },
64
- translate: {
65
- "": "0 0",
66
- "!actions-shown": ".5x 0"
67
- },
68
- transition: "theme, translate",
69
- "$action-size": "min(max((2x + 2bw), ($size - 1x - 2bw)), (3x - 2bw))",
70
- "$side-padding": "(($size - $action-size - 2bw) / 2)"
71
- }
72
- }
73
- });
74
25
  const ItemButton = forwardRef(function ItemButton(allProps, ref) {
75
- const { mods, to, htmlType, as, type = "item", theme = "default", onPress, onPressStart: _onPressStart, onPressEnd: _onPressEnd, onPressChange: _onPressChange, onPressUp: _onPressUp, actions, size = "medium", wrapperStyles, autoHideActions = false, disableActionsFocus = false, isDisabled, isLoading = false, ...rest } = allProps;
26
+ const { mods, to, htmlType, as, type = "item", theme = "default", onPress, onPressStart: _onPressStart, onPressEnd: _onPressEnd, onPressChange: _onPressChange, onPressUp: _onPressUp, actions, actionsProps, size = "medium", wrapperStyles, autoHideActions = false, disableActionsFocus = false, isDisabled, isLoading = false, ...rest } = allProps;
76
27
  const finalIsDisabled = isDisabled === true || isLoading && isDisabled !== false;
77
- const actionsRef = useRef(null);
78
- const [actionsWidth, setActionsWidth] = useState(0);
79
- const [areActionsVisible, setAreActionsVisible] = useState(false);
80
- const [areActionsShown, setAreActionsShown] = useState(false);
81
- useLayoutEffect(() => {
82
- if (actions && actionsRef.current) {
83
- const width = Math.round(actionsRef.current.offsetWidth);
84
- if (width !== actionsWidth) setActionsWidth(width);
85
- }
86
- }, [actions, areActionsVisible]);
87
- const [isFocusWithin, setIsFocusWithin] = useState(false);
88
- const [hasPressed, setHasPressed] = useState(false);
89
- const { hoverProps, isHovered } = useHover({});
90
- const { focusWithinProps } = useFocusWithin({ onFocusWithinChange: setIsFocusWithin });
91
- useLayoutEffect(() => {
92
- const actionsEl = actionsRef.current;
93
- if (!actionsEl || !autoHideActions) return;
94
- const checkPressed = () => {
95
- setHasPressed(actionsEl.querySelector("[data-pressed]") !== null);
96
- };
97
- const observer = new MutationObserver(checkPressed);
98
- observer.observe(actionsEl, {
99
- attributes: true,
100
- attributeFilter: ["data-pressed"],
101
- subtree: true
102
- });
103
- checkPressed();
104
- return () => observer.disconnect();
105
- }, [areActionsVisible, autoHideActions]);
106
- const shouldShowActions = isHovered || isFocusWithin || hasPressed || !autoHideActions;
107
28
  const dismissParentPopover = useDismissParentPopover();
108
29
  const buttonElementRef = useRef(null);
109
30
  const wrappedOnPress = useEvent((e) => {
@@ -123,23 +44,15 @@ const ItemButton = forwardRef(function ItemButton(allProps, ref) {
123
44
  isDisabled: finalIsDisabled,
124
45
  onPress: wrappedOnPress
125
46
  }, ref);
126
- const finalMods = useMemo(() => {
127
- return {
128
- ...mods,
129
- ...shouldShowActions ? { "actions-shown": true } : null,
130
- disabled: finalIsDisabled
131
- };
132
- }, [
133
- mods,
134
- shouldShowActions,
135
- finalIsDisabled
136
- ]);
137
47
  const combinedRef = useMemo(() => mergeRefs(actionProps.ref, buttonElementRef), [actionProps.ref]);
138
- const button = /* @__PURE__ */ jsx(StyledItem, {
139
- insideWrapper: !!actions,
140
- showActions: shouldShowActions,
48
+ const hasHadActions = useRef(false);
49
+ if (actions !== void 0) hasHadActions.current = true;
50
+ const withWrapper = hasHadActions.current;
51
+ const renderButton = (showActions) => /* @__PURE__ */ jsx(StyledItem, {
52
+ insideWrapper: withWrapper,
53
+ showActions,
141
54
  actions: actions ? true : void 0,
142
- ...mergeProps$1(rest, actionProps),
55
+ ...mergeProps(rest, actionProps),
143
56
  ref: combinedRef,
144
57
  "data-popover-dismiss": "",
145
58
  htmlType: actionProps.type,
@@ -149,51 +62,20 @@ const ItemButton = forwardRef(function ItemButton(allProps, ref) {
149
62
  isLoading,
150
63
  isDisabled
151
64
  });
152
- if (actions) return /* @__PURE__ */ jsxs(ActionsWrapper, {
153
- ...hoverProps,
154
- variant: resolveItemVariant(theme, type),
155
- "data-size": size,
156
- "data-type": type,
157
- "data-theme": theme,
158
- mods: finalMods,
65
+ if (withWrapper) return /* @__PURE__ */ jsx(ItemActionsWrapper, {
66
+ type,
67
+ theme,
68
+ size,
69
+ mods,
159
70
  styles: wrapperStyles,
160
- style: {
161
- "--actions-width": areActionsVisible || !autoHideActions ? `${actionsWidth}px` : "0px",
162
- ...typeof size === "number" && { "--size": `${size}px` }
163
- },
164
- children: [button, /* @__PURE__ */ jsx(ItemActionProvider, {
165
- type,
166
- theme,
167
- disableActionsFocus,
168
- isDisabled: finalIsDisabled,
169
- children: autoHideActions ? /* @__PURE__ */ jsx(DisplayTransition, {
170
- exposeUnmounted: true,
171
- isShown: shouldShowActions,
172
- onPhaseChange: (phase) => {
173
- setAreActionsVisible(phase !== "unmounted");
174
- },
175
- onToggle: (isShown) => {
176
- setAreActionsShown(isShown);
177
- },
178
- children: ({ ref: transitionRef }) => {
179
- return /* @__PURE__ */ jsx("div", {
180
- ...focusWithinProps,
181
- ref: (node) => {
182
- actionsRef.current = node;
183
- transitionRef(node);
184
- },
185
- "data-element": "Actions",
186
- children: actions
187
- });
188
- }
189
- }) : /* @__PURE__ */ jsx("div", {
190
- ref: actionsRef,
191
- "data-element": "Actions",
192
- children: actions
193
- })
194
- })]
71
+ actions,
72
+ actionsProps,
73
+ autoHideActions,
74
+ disableActionsFocus,
75
+ isDisabled: finalIsDisabled,
76
+ children: ({ showActions }) => renderButton(showActions)
195
77
  });
196
- return button;
78
+ return renderButton(false);
197
79
  });
198
80
  const _ItemButton = Object.assign(ItemButton, {
199
81
  Action: ItemAction,
@@ -1 +1 @@
1
- {"version":3,"file":"ItemButton.js","names":["Item","mergeProps"],"sources":["../../../../src/components/actions/ItemButton/ItemButton.tsx"],"sourcesContent":["import { FocusableRef, PressEvent } from '@react-types/shared';\nimport { Styles, tasty } from '@tenphi/tasty';\nimport {\n CSSProperties,\n forwardRef,\n ReactNode,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useFocusWithin, useHover } from 'react-aria';\n\nimport { useEvent } from '../../../_internal';\nimport {\n ITEM_RESTING_COLOR_VARIANTS,\n resolveItemVariant,\n} from '../../../data/item-themes';\nimport {\n mergeProps,\n mergeRefs,\n useDismissParentPopover,\n} from '../../../utils/react';\nimport { CubeItemProps, Item } from '../../content/Item';\nimport { ItemBadge } from '../../content/ItemBadge';\nimport { DisplayTransition } from '../../helpers';\nimport { CubeItemActionProps, ItemAction } from '../ItemAction';\nimport { ItemActionProvider } from '../ItemActionContext';\nimport { CubeUseActionProps, useAction } from '../use-action';\n\nexport interface CubeItemButtonProps\n extends Omit<CubeItemProps, 'size'>,\n Omit<CubeUseActionProps, 'as'> {\n actions?: ReactNode;\n size?: Omit<CubeItemProps['size'], 'inline'>;\n wrapperStyles?: Styles;\n}\n\nconst StyledItem = tasty(Item, {\n as: 'button',\n type: 'item',\n theme: 'default',\n styles: {\n recipe: 'reset button',\n placeContent: 'center stretch',\n },\n});\n\nconst ActionsWrapper = tasty({\n // Actions default to the `current` type, which paints from the inherited\n // `currentcolor` — but they are rendered as a SIBLING of the button here, not\n // inside it, so without this they would inherit the page color instead of the\n // row's. Harmless on the default theme (the two match) and plainly wrong on\n // any other: a `special` row would hand its actions the page's dark text to\n // tint with, on a dark purple surface. The variant carries the row's resting\n // color down so `currentcolor` means the same thing it does inside an `Item`.\n variants: ITEM_RESTING_COLOR_VARIANTS,\n styles: {\n display: 'grid',\n position: 'relative',\n placeContent: 'stretch',\n placeItems: 'stretch',\n\n $size: {\n '': '$size-md',\n 'size=xsmall': '$size-xs',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n 'size=xlarge': '$size-xl',\n },\n\n Actions: {\n $: '>',\n position: 'absolute',\n inset: {\n '': '1bw 1bw auto auto',\n 'type=card': '(1bw + .5x) (1bw + .5x) auto auto',\n },\n display: 'flex',\n gap: '1bw',\n placeItems: 'center',\n placeContent: 'center end',\n pointerEvents: {\n '': 'auto',\n '!actions-shown': 'none',\n },\n padding: '0 $side-padding',\n height: 'min ($size - 2bw)',\n opacity: {\n '': 1,\n '!actions-shown': 0,\n },\n translate: {\n '': '0 0',\n '!actions-shown': '.5x 0',\n },\n transition: 'theme, translate',\n\n // Size for the action buttons\n '$action-size': 'min(max((2x + 2bw), ($size - 1x - 2bw)), (3x - 2bw))',\n // Side padding for the button\n '$side-padding': '(($size - $action-size - 2bw) / 2)',\n },\n },\n});\n\nconst ItemButton = forwardRef(function ItemButton(\n allProps: CubeItemButtonProps,\n ref: FocusableRef<HTMLElement>,\n) {\n const {\n mods,\n to,\n htmlType,\n as,\n type = 'item',\n theme = 'default',\n onPress,\n // Extract react-aria press callbacks to prevent them from leaking to DOM via rest.\n // These are handled by useButton inside useAction.\n onPressStart: _onPressStart,\n onPressEnd: _onPressEnd,\n onPressChange: _onPressChange,\n onPressUp: _onPressUp,\n actions,\n size = 'medium',\n wrapperStyles,\n autoHideActions = false,\n disableActionsFocus = false,\n isDisabled,\n isLoading = false,\n ...rest\n } = allProps as CubeItemButtonProps & {\n as?: 'a' | 'button' | 'div' | 'span';\n };\n\n // Loading state makes the component disabled (same logic as Item)\n const finalIsDisabled =\n isDisabled === true || (isLoading && isDisabled !== false);\n\n const actionsRef = useRef<HTMLDivElement>(null);\n const [actionsWidth, setActionsWidth] = useState(0);\n const [areActionsVisible, setAreActionsVisible] = useState(false);\n const [areActionsShown, setAreActionsShown] = useState(false);\n\n useLayoutEffect(() => {\n if (actions && actionsRef.current) {\n const width = Math.round(actionsRef.current.offsetWidth);\n if (width !== actionsWidth) {\n setActionsWidth(width);\n }\n }\n }, [actions, areActionsVisible]);\n\n const [isFocusWithin, setIsFocusWithin] = useState(false);\n const [hasPressed, setHasPressed] = useState(false);\n const { hoverProps, isHovered } = useHover({});\n const { focusWithinProps } = useFocusWithin({\n onFocusWithinChange: setIsFocusWithin,\n });\n\n // Watch for data-pressed attribute on any descendant element\n useLayoutEffect(() => {\n const actionsEl = actionsRef.current;\n\n if (!actionsEl || !autoHideActions) return;\n\n const checkPressed = () => {\n setHasPressed(actionsEl.querySelector('[data-pressed]') !== null);\n };\n\n const observer = new MutationObserver(checkPressed);\n\n observer.observe(actionsEl, {\n attributes: true,\n attributeFilter: ['data-pressed'],\n subtree: true,\n });\n\n checkPressed();\n\n return () => observer.disconnect();\n }, [areActionsVisible, autoHideActions]);\n\n const shouldShowActions =\n isHovered || isFocusWithin || hasPressed || !autoHideActions;\n\n // Default: pressing an ItemButton inside an open popover closes that\n // popover. Opt-outs: `data-popover-trigger` on self (applied by\n // FilterPicker / Picker / Select / MenuTrigger for their own triggers) and\n // `data-popover-keep` on self or any ancestor. Modals don't subscribe.\n const dismissParentPopover = useDismissParentPopover();\n const buttonElementRef = useRef<HTMLElement | null>(null);\n\n const wrappedOnPress = useEvent((e: PressEvent) => {\n onPress?.(e);\n const el = buttonElementRef.current;\n if (!el) return;\n if (el.hasAttribute('data-popover-trigger')) return;\n if (el.closest('[data-popover-keep]')) return;\n dismissParentPopover(el);\n });\n\n const { actionProps } = useAction(\n {\n ...(allProps as any),\n htmlType,\n to,\n as,\n mods,\n isDisabled: finalIsDisabled,\n onPress: wrappedOnPress,\n },\n ref,\n );\n\n // `disabled` is on the wrapper so its variant can paint the row's DISABLED\n // label color, not just the resting one. Actions default to the `current` type\n // and suppress their own fade when the disabled state is inherited — on the\n // grounds that the host already faded the color they paint from — so without\n // this the wrapper would hand them a full-strength color and a disabled button\n // would sit next to full-strength actions. See `ITEM_RESTING_COLOR_VARIANTS`.\n const finalMods = useMemo(() => {\n return {\n ...mods,\n ...(shouldShowActions ? { 'actions-shown': true } : null),\n disabled: finalIsDisabled,\n };\n }, [mods, shouldShowActions, finalIsDisabled]);\n\n // Merge the useAction-supplied ref with our internal ref so the dismiss\n // wrapper can read the rendered DOM node at press time.\n const combinedRef = useMemo(\n () => mergeRefs(actionProps.ref as any, buttonElementRef),\n [actionProps.ref],\n );\n\n const button = (\n <StyledItem\n insideWrapper={!!actions}\n showActions={shouldShowActions}\n actions={actions ? true : undefined}\n {...(mergeProps(rest, actionProps) as any)}\n ref={combinedRef}\n data-popover-dismiss=\"\"\n htmlType={actionProps.type}\n type={type}\n theme={theme}\n size={size}\n isLoading={isLoading}\n isDisabled={isDisabled}\n />\n );\n\n if (actions) {\n return (\n <ActionsWrapper\n {...hoverProps}\n // The same resolver `Item` uses, so the wrapper cannot land on a\n // different variant than the row it wraps.\n variant={resolveItemVariant(theme, type)}\n data-size={size}\n data-type={type}\n data-theme={theme}\n mods={finalMods}\n styles={wrapperStyles}\n style={\n {\n '--actions-width':\n areActionsVisible || !autoHideActions\n ? `${actionsWidth}px`\n : '0px',\n ...(typeof size === 'number' && { '--size': `${size}px` }),\n } as CSSProperties\n }\n >\n {button}\n <ItemActionProvider\n type={type}\n theme={theme}\n disableActionsFocus={disableActionsFocus}\n isDisabled={finalIsDisabled}\n >\n {autoHideActions ? (\n <DisplayTransition\n exposeUnmounted\n isShown={shouldShowActions}\n onPhaseChange={(phase) => {\n setAreActionsVisible(phase !== 'unmounted');\n }}\n onToggle={(isShown) => {\n setAreActionsShown(isShown);\n }}\n >\n {({ ref: transitionRef }) => {\n return (\n <div\n {...focusWithinProps}\n ref={(node: any) => {\n actionsRef.current = node;\n transitionRef(node);\n }}\n data-element=\"Actions\"\n >\n {actions}\n </div>\n );\n }}\n </DisplayTransition>\n ) : (\n <div ref={actionsRef} data-element=\"Actions\">\n {actions}\n </div>\n )}\n </ItemActionProvider>\n </ActionsWrapper>\n );\n }\n\n return button;\n});\n\nconst _ItemButton = Object.assign(ItemButton, {\n Action: ItemAction,\n Badge: ItemBadge,\n});\n\nexport { _ItemButton as ItemButton };\nexport type {\n CubeItemButtonProps as ItemButtonProps,\n CubeItemActionProps as ItemActionProps,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAsCA,MAAM,aAAa,MAAMA,OAAM;CAC7B,IAAI;CACJ,MAAM;CACN,OAAO;CACP,QAAQ;EACN,QAAQ;EACR,cAAc;EACf;CACF,CAAC;AAEF,MAAM,iBAAiB,MAAM;CAQ3B,UAAU;CACV,QAAQ;EACN,SAAS;EACT,UAAU;EACV,cAAc;EACd,YAAY;EAEZ,OAAO;GACL,IAAI;GACJ,eAAe;GACf,cAAc;GACd,eAAe;GACf,cAAc;GACd,eAAe;GAChB;EAED,SAAS;GACP,GAAG;GACH,UAAU;GACV,OAAO;IACL,IAAI;IACJ,aAAa;IACd;GACD,SAAS;GACT,KAAK;GACL,YAAY;GACZ,cAAc;GACd,eAAe;IACb,IAAI;IACJ,kBAAkB;IACnB;GACD,SAAS;GACT,QAAQ;GACR,SAAS;IACP,IAAI;IACJ,kBAAkB;IACnB;GACD,WAAW;IACT,IAAI;IACJ,kBAAkB;IACnB;GACD,YAAY;GAGZ,gBAAgB;GAEhB,iBAAiB;GAClB;EACF;CACF,CAAC;AAEF,MAAM,aAAa,WAAW,SAAS,WACrC,UACA,KACA;CACA,MAAM,EACJ,MACA,IACA,UACA,IACA,OAAO,QACP,QAAQ,WACR,SAGA,cAAc,eACd,YAAY,aACZ,eAAe,gBACf,WAAW,YACX,SACA,OAAO,UACP,eACA,kBAAkB,OAClB,sBAAsB,OACtB,YACA,YAAY,OACZ,GAAG,SACD;CAKJ,MAAM,kBACJ,eAAe,QAAS,aAAa,eAAe;CAEtD,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,CAAC,cAAc,mBAAmB,SAAS,EAAE;CACnD,MAAM,CAAC,mBAAmB,wBAAwB,SAAS,MAAM;CACjE,MAAM,CAAC,iBAAiB,sBAAsB,SAAS,MAAM;AAE7D,uBAAsB;AACpB,MAAI,WAAW,WAAW,SAAS;GACjC,MAAM,QAAQ,KAAK,MAAM,WAAW,QAAQ,YAAY;AACxD,OAAI,UAAU,aACZ,iBAAgB,MAAM;;IAGzB,CAAC,SAAS,kBAAkB,CAAC;CAEhC,MAAM,CAAC,eAAe,oBAAoB,SAAS,MAAM;CACzD,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;CACnD,MAAM,EAAE,YAAY,cAAc,SAAS,EAAE,CAAC;CAC9C,MAAM,EAAE,qBAAqB,eAAe,EAC1C,qBAAqB,kBACtB,CAAC;AAGF,uBAAsB;EACpB,MAAM,YAAY,WAAW;AAE7B,MAAI,CAAC,aAAa,CAAC,gBAAiB;EAEpC,MAAM,qBAAqB;AACzB,iBAAc,UAAU,cAAc,iBAAiB,KAAK,KAAK;;EAGnE,MAAM,WAAW,IAAI,iBAAiB,aAAa;AAEnD,WAAS,QAAQ,WAAW;GAC1B,YAAY;GACZ,iBAAiB,CAAC,eAAe;GACjC,SAAS;GACV,CAAC;AAEF,gBAAc;AAEd,eAAa,SAAS,YAAY;IACjC,CAAC,mBAAmB,gBAAgB,CAAC;CAExC,MAAM,oBACJ,aAAa,iBAAiB,cAAc,CAAC;CAM/C,MAAM,uBAAuB,yBAAyB;CACtD,MAAM,mBAAmB,OAA2B,KAAK;CAEzD,MAAM,iBAAiB,UAAU,MAAkB;AACjD,YAAU,EAAE;EACZ,MAAM,KAAK,iBAAiB;AAC5B,MAAI,CAAC,GAAI;AACT,MAAI,GAAG,aAAa,uBAAuB,CAAE;AAC7C,MAAI,GAAG,QAAQ,sBAAsB,CAAE;AACvC,uBAAqB,GAAG;GACxB;CAEF,MAAM,EAAE,gBAAgB,UACtB;EACE,GAAI;EACJ;EACA;EACA;EACA;EACA,YAAY;EACZ,SAAS;EACV,EACD,IACD;CAQD,MAAM,YAAY,cAAc;AAC9B,SAAO;GACL,GAAG;GACH,GAAI,oBAAoB,EAAE,iBAAiB,MAAM,GAAG;GACpD,UAAU;GACX;IACA;EAAC;EAAM;EAAmB;EAAgB,CAAC;CAI9C,MAAM,cAAc,cACZ,UAAU,YAAY,KAAY,iBAAiB,EACzD,CAAC,YAAY,IAAI,CAClB;CAED,MAAM,SACJ,oBAAC;EACC,eAAe,CAAC,CAAC;EACjB,aAAa;EACb,SAAS,UAAU,OAAO;EAC1B,GAAKC,aAAW,MAAM,YAAY;EAClC,KAAK;EACL,wBAAqB;EACrB,UAAU,YAAY;EAChB;EACC;EACD;EACK;EACC;GACZ;AAGJ,KAAI,QACF,QACE,qBAAC;EACC,GAAI;EAGJ,SAAS,mBAAmB,OAAO,KAAK;EACxC,aAAW;EACX,aAAW;EACX,cAAY;EACZ,MAAM;EACN,QAAQ;EACR,OACE;GACE,mBACE,qBAAqB,CAAC,kBAClB,GAAG,aAAa,MAChB;GACN,GAAI,OAAO,SAAS,YAAY,EAAE,UAAU,GAAG,KAAK,KAAK;GAC1D;aAGF,QACD,oBAAC;GACO;GACC;GACc;GACrB,YAAY;aAEX,kBACC,oBAAC;IACC;IACA,SAAS;IACT,gBAAgB,UAAU;AACxB,0BAAqB,UAAU,YAAY;;IAE7C,WAAW,YAAY;AACrB,wBAAmB,QAAQ;;eAG3B,EAAE,KAAK,oBAAoB;AAC3B,YACE,oBAAC;MACC,GAAI;MACJ,MAAM,SAAc;AAClB,kBAAW,UAAU;AACrB,qBAAc,KAAK;;MAErB,gBAAa;gBAEZ;OACG;;KAGQ,GAEpB,oBAAC;IAAI,KAAK;IAAY,gBAAa;cAChC;KACG;IAEW;GACN;AAIrB,QAAO;EACP;AAEF,MAAM,cAAc,OAAO,OAAO,YAAY;CAC5C,QAAQ;CACR,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"ItemButton.js","names":["Item"],"sources":["../../../../src/components/actions/ItemButton/ItemButton.tsx"],"sourcesContent":["import { FocusableRef, PressEvent } from '@react-types/shared';\nimport { Styles, tasty } from '@tenphi/tasty';\nimport { forwardRef, HTMLAttributes, ReactNode, useMemo, useRef } from 'react';\n\nimport { useEvent } from '../../../_internal';\nimport {\n mergeProps,\n mergeRefs,\n useDismissParentPopover,\n} from '../../../utils/react';\nimport { CubeItemProps, Item } from '../../content/Item';\nimport { ItemBadge } from '../../content/ItemBadge';\nimport { CubeItemActionProps, ItemAction } from '../ItemAction';\nimport { ItemActionsWrapper } from '../ItemActionsWrapper';\nimport { CubeUseActionProps, useAction } from '../use-action';\n\nexport interface CubeItemButtonProps\n extends Omit<CubeItemProps, 'size'>,\n Omit<CubeUseActionProps, 'as'> {\n /**\n * The row's trailing controls, rendered beside the button rather than inside\n * it. Pass `null` to keep an empty run — the row reserves no space for it, and\n * the button is not remounted when the actions arrive later.\n */\n actions?: ReactNode;\n size?: Omit<CubeItemProps['size'], 'inline'>;\n wrapperStyles?: Styles;\n /**\n * Props spread on the actions run's container — `data-trigger-action` and\n * friends. Only meaningful together with `actions`.\n */\n actionsProps?: HTMLAttributes<HTMLDivElement>;\n}\n\nconst StyledItem = tasty(Item, {\n as: 'button',\n type: 'item',\n theme: 'default',\n styles: {\n recipe: 'reset button',\n placeContent: 'center stretch',\n },\n});\n\nconst ItemButton = forwardRef(function ItemButton(\n allProps: CubeItemButtonProps,\n ref: FocusableRef<HTMLElement>,\n) {\n const {\n mods,\n to,\n htmlType,\n as,\n type = 'item',\n theme = 'default',\n onPress,\n // Extract react-aria press callbacks to prevent them from leaking to DOM via rest.\n // These are handled by useButton inside useAction.\n onPressStart: _onPressStart,\n onPressEnd: _onPressEnd,\n onPressChange: _onPressChange,\n onPressUp: _onPressUp,\n actions,\n actionsProps,\n size = 'medium',\n wrapperStyles,\n autoHideActions = false,\n disableActionsFocus = false,\n isDisabled,\n isLoading = false,\n ...rest\n } = allProps as CubeItemButtonProps & {\n as?: 'a' | 'button' | 'div' | 'span';\n };\n\n // Loading state makes the component disabled (same logic as Item)\n const finalIsDisabled =\n isDisabled === true || (isLoading && isDisabled !== false);\n\n // Default: pressing an ItemButton inside an open popover closes that\n // popover. Opt-outs: `data-popover-trigger` on self (applied by\n // FilterPicker / Picker / Select / MenuTrigger for their own triggers) and\n // `data-popover-keep` on self or any ancestor. Modals don't subscribe.\n const dismissParentPopover = useDismissParentPopover();\n const buttonElementRef = useRef<HTMLElement | null>(null);\n\n const wrappedOnPress = useEvent((e: PressEvent) => {\n onPress?.(e);\n const el = buttonElementRef.current;\n if (!el) return;\n if (el.hasAttribute('data-popover-trigger')) return;\n if (el.closest('[data-popover-keep]')) return;\n dismissParentPopover(el);\n });\n\n const { actionProps } = useAction(\n {\n ...(allProps as any),\n htmlType,\n to,\n as,\n mods,\n isDisabled: finalIsDisabled,\n onPress: wrappedOnPress,\n },\n ref,\n );\n\n // Merge the useAction-supplied ref with our internal ref so the dismiss\n // wrapper can read the rendered DOM node at press time.\n const combinedRef = useMemo(\n () => mergeRefs(actionProps.ref as any, buttonElementRef),\n [actionProps.ref],\n );\n\n // Once a row has had actions it keeps the wrapper, even after they go away.\n // Adding or removing a DOM level around the button remounts it — losing focus,\n // any running transition, and the element every ref in the tree is holding —\n // and a row whose actions come and go with a permission or a loading flag\n // would do that on every flip. The empty run costs nothing: it publishes a\n // width of 0, so the row reserves no space for it.\n //\n // `null` is how a caller asks for the run up front — \"there is a run here, it\n // just has nothing in it right now\" — so a row that knows its actions are\n // coming never has to remount to receive them. Only `undefined` means the row\n // has no run at all.\n const hasHadActions = useRef(false);\n\n if (actions !== undefined) {\n hasHadActions.current = true;\n }\n\n const withWrapper = hasHadActions.current;\n\n const renderButton = (showActions: boolean) => (\n <StyledItem\n // Two different questions. `insideWrapper` is \"am I laid out for a\n // sibling run\", which stays true so the DOM does not restructure;\n // `actions` is \"is there anything in that run to reserve width for\",\n // which must go back to false when the run empties — it drives the\n // two-square minimum width and the suffix's padding, and a row that\n // reserved space for nothing would sit wider than it needs to.\n insideWrapper={withWrapper}\n showActions={showActions}\n actions={actions ? true : undefined}\n {...(mergeProps(rest, actionProps) as any)}\n ref={combinedRef}\n data-popover-dismiss=\"\"\n htmlType={actionProps.type}\n type={type}\n theme={theme}\n size={size}\n isLoading={isLoading}\n isDisabled={isDisabled}\n />\n );\n\n if (withWrapper) {\n return (\n <ItemActionsWrapper\n type={type}\n theme={theme}\n size={size as CubeItemProps['size']}\n mods={mods}\n styles={wrapperStyles}\n actions={actions}\n actionsProps={actionsProps}\n autoHideActions={autoHideActions}\n disableActionsFocus={disableActionsFocus}\n isDisabled={finalIsDisabled}\n >\n {({ showActions }) => renderButton(showActions)}\n </ItemActionsWrapper>\n );\n }\n\n return renderButton(false);\n});\n\nconst _ItemButton = Object.assign(ItemButton, {\n Action: ItemAction,\n Badge: ItemBadge,\n});\n\nexport { _ItemButton as ItemButton };\nexport type {\n CubeItemButtonProps as ItemButtonProps,\n CubeItemActionProps as ItemActionProps,\n};\n"],"mappings":";;;;;;;;;;;;;;;AAkCA,MAAM,aAAa,MAAMA,OAAM;CAC7B,IAAI;CACJ,MAAM;CACN,OAAO;CACP,QAAQ;EACN,QAAQ;EACR,cAAc;EACf;CACF,CAAC;AAEF,MAAM,aAAa,WAAW,SAAS,WACrC,UACA,KACA;CACA,MAAM,EACJ,MACA,IACA,UACA,IACA,OAAO,QACP,QAAQ,WACR,SAGA,cAAc,eACd,YAAY,aACZ,eAAe,gBACf,WAAW,YACX,SACA,cACA,OAAO,UACP,eACA,kBAAkB,OAClB,sBAAsB,OACtB,YACA,YAAY,OACZ,GAAG,SACD;CAKJ,MAAM,kBACJ,eAAe,QAAS,aAAa,eAAe;CAMtD,MAAM,uBAAuB,yBAAyB;CACtD,MAAM,mBAAmB,OAA2B,KAAK;CAEzD,MAAM,iBAAiB,UAAU,MAAkB;AACjD,YAAU,EAAE;EACZ,MAAM,KAAK,iBAAiB;AAC5B,MAAI,CAAC,GAAI;AACT,MAAI,GAAG,aAAa,uBAAuB,CAAE;AAC7C,MAAI,GAAG,QAAQ,sBAAsB,CAAE;AACvC,uBAAqB,GAAG;GACxB;CAEF,MAAM,EAAE,gBAAgB,UACtB;EACE,GAAI;EACJ;EACA;EACA;EACA;EACA,YAAY;EACZ,SAAS;EACV,EACD,IACD;CAID,MAAM,cAAc,cACZ,UAAU,YAAY,KAAY,iBAAiB,EACzD,CAAC,YAAY,IAAI,CAClB;CAaD,MAAM,gBAAgB,OAAO,MAAM;AAEnC,KAAI,YAAY,OACd,eAAc,UAAU;CAG1B,MAAM,cAAc,cAAc;CAElC,MAAM,gBAAgB,gBACpB,oBAAC;EAOC,eAAe;EACF;EACb,SAAS,UAAU,OAAO;EAC1B,GAAK,WAAW,MAAM,YAAY;EAClC,KAAK;EACL,wBAAqB;EACrB,UAAU,YAAY;EAChB;EACC;EACD;EACK;EACC;GACZ;AAGJ,KAAI,YACF,QACE,oBAAC;EACO;EACC;EACD;EACA;EACN,QAAQ;EACC;EACK;EACG;EACI;EACrB,YAAY;aAEV,EAAE,kBAAkB,aAAa,YAAY;GAC5B;AAIzB,QAAO,aAAa,MAAM;EAC1B;AAEF,MAAM,cAAc,OAAO,OAAO,YAAY;CAC5C,QAAQ;CACR,OAAO;CACR,CAAC"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { Button } from "../Button/Button.js";
3
3
  import { forwardRef } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { _CollectionItem } from "../../CollectionItem.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { filterCollectionItemProps } from "../../CollectionItem.js";
4
4
  import { _Item } from "../../content/Item/Item.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
3
3
  import { MenuItem } from "./MenuItem.js";
4
4
  import { StyledMenu, StyledSection, StyledSectionHeading } from "./styled.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { SlotProvider } from "../../../utils/react/Slots.js";
3
3
  import { usePopoverSync } from "../../../utils/react/usePopoverSync.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { usePopoverSync } from "../../../utils/react/usePopoverSync.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { MenuContext, useMenuContext } from "./context.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import React from "react";
3
3
 
4
4
  //#region src/components/actions/Menu/SubmenuTriggerContext.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import React, { useContext } from "react";
3
3
 
4
4
  //#region src/components/actions/Menu/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { DEFAULT_CLEAR_STYLES } from "../../../data/item-themes.js";
3
3
  import { Space } from "../../layout/Space.js";
4
4
  import { DEFAULT_BUTTON_STYLES } from "../Button/Button.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { ItemActionProvider, useItemActionContext } from "./ItemActionContext.js";
3
3
  import { openLink, parseTo, performClickHandler, useAction } from "./use-action.js";
4
4
  import { ItemAction } from "./ItemAction/ItemAction.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../_internal/hooks/use-event.js";
4
4
  import { useFocus as useFocus$1 } from "../../utils/react/interactions.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../utils/react/mergeProps.js";
3
3
  import { usePopoverSync } from "../../utils/react/usePopoverSync.js";
4
4
  import { useEvent } from "../../_internal/hooks/use-event.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../utils/react/mergeProps.js";
3
3
  import { usePopoverSync } from "../../utils/react/usePopoverSync.js";
4
4
  import { useEvent } from "../../_internal/hooks/use-event.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useFocus as useFocus$1 } from "../../../utils/react/interactions.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import themes_default from "../../../data/themes.js";
3
3
  import { useAlert } from "./use-alert.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useDeprecationWarning } from "../../../_internal/hooks/use-deprecation-warning.js";
4
4
  import { CONTAINER_STYLES, TEXT_STYLES, filterBaseProps } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { CONTAINER_STYLES, Element, filterBaseProps } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { _Item } from "../Item/Item.js";
3
3
  import themes_default from "../../../data/themes.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useSlotProps } from "../../utils/react/Slots.js";
4
4
  import { CONTAINER_STYLES, TEXT_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useTimer } from "../../../_internal/hooks/use-timer/use-timer.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { _Tooltip } from "../../overlays/Tooltip/Tooltip.js";
3
3
  import { TooltipTrigger } from "../../overlays/Tooltip/TooltipTrigger.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { useSlotProps } from "../../utils/react/Slots.js";
3
3
  import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
4
4
  import { BASE_STYLES, COLOR_STYLES, OUTER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useSlotProps } from "../../utils/react/Slots.js";
4
4
  import { CONTAINER_STYLES, TEXT_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useSlotProps } from "../../utils/react/Slots.js";
4
4
  import { CONTAINER_STYLES, TEXT_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { _Text } from "../Text.js";
4
4
  import { useKeySymbols } from "../../../utils/react/useKeySymbols.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
3
3
  import { ItemBadge } from "../ItemBadge/ItemBadge.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-b54b6e8 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4ef464b | Cube Dev Team */
2
2
  import { getDisabledElementProps, omitActivationEventProps } from "../../../utils/react/disabledProps.js";
3
3
  import { mergeProps } from "../../../utils/react/mergeProps.js";
4
4
  import { resolveIcon } from "../../../utils/react/resolveIcon.js";
@@ -97,7 +97,7 @@ const ItemElement = tasty({
97
97
  },
98
98
  width: {
99
99
  "": "min $size",
100
- "has-icon & has-right-icon": "min ($size * 2)",
100
+ "has-icon & (has-right-icon | (has-actions & inside-wrapper))": "min ($size * 2)",
101
101
  "size=inline": "min (1lh + 2bw)"
102
102
  },
103
103
  border: "#clear",
@@ -245,7 +245,7 @@ const ItemElement = tasty({
245
245
  gridArea: "suffix",
246
246
  padding: {
247
247
  "": "$inline-padding right",
248
- "has-right-icon": 0
248
+ "has-right-icon | (has-actions & inside-wrapper)": 0
249
249
  }
250
250
  },
251
251
  Actions: {
@@ -258,7 +258,7 @@ const ItemElement = tasty({
258
258
  placeSelf: "stretch",
259
259
  padding: {
260
260
  "": "0 $side-padding",
261
- "inside-wrapper & !actions-shown": 0
261
+ "inside-wrapper": 0
262
262
  },
263
263
  boxSizing: "border-box",
264
264
  height: "min ($size - 2bw)",
@@ -440,7 +440,7 @@ const Item = (props, ref) => {
440
440
  tooltip,
441
441
  children,
442
442
  labelProps,
443
- isDynamicLabel: !!actions
443
+ isDynamicLabel: !!actions || insideWrapper
444
444
  });
445
445
  const { isNativelyDisabled, isInert, inertProps } = getDisabledElementProps({
446
446
  isDisabled: finalIsDisabled,