@cube-dev/ui-kit 0.0.0-canary-2ef7bcb → 0.0.0-canary-daad5bf

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 (649) 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 +6 -1
  28. package/dist/components/actions/ItemButton/ItemButton.js +26 -144
  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 +4 -4
  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 +19 -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 +19 -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 +52 -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 +5 -5
  212. package/dist/components/form/Form/use-form.js.map +1 -1
  213. package/dist/components/form/Form/validation.js +1 -1
  214. package/dist/components/form/Label.js +1 -1
  215. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  216. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  217. package/dist/components/form/validation/use-validation-props.js +1 -1
  218. package/dist/components/form/wrapper.js +1 -1
  219. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  220. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  221. package/dist/components/layout/Board/Board.js +1 -1
  222. package/dist/components/layout/Board/BoardProvider.js +1 -1
  223. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  224. package/dist/components/layout/Board/Widget.js +1 -1
  225. package/dist/components/layout/Board/WidgetHost.js +1 -1
  226. package/dist/components/layout/Board/board-context.js +1 -1
  227. package/dist/components/layout/Board/board-store.js +1 -1
  228. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  229. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  230. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  231. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  232. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  233. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  234. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  235. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  236. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  237. package/dist/components/layout/Board/index.js +1 -1
  238. package/dist/components/layout/Board/responsive-utils.js +1 -1
  239. package/dist/components/layout/Board/use-board-layout.js +1 -1
  240. package/dist/components/layout/Board/use-board-registry.js +1 -1
  241. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  242. package/dist/components/layout/Board/use-board-selection.js +1 -1
  243. package/dist/components/layout/Flex.js +1 -1
  244. package/dist/components/layout/Flow.js +1 -1
  245. package/dist/components/layout/Grid.js +1 -1
  246. package/dist/components/layout/Panel.js +1 -1
  247. package/dist/components/layout/Prefix.js +1 -1
  248. package/dist/components/layout/ResizablePanel.js +1 -1
  249. package/dist/components/layout/Space.js +1 -1
  250. package/dist/components/layout/Suffix.js +1 -1
  251. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  252. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  253. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  254. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  255. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  256. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  257. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  258. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  259. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  260. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  261. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  262. package/dist/components/navigation/Tabs/styled.js +1 -1
  263. package/dist/components/navigation/Tabs/types.js +1 -1
  264. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  265. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  266. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  267. package/dist/components/other/Calendar/Calendar.js +1 -1
  268. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  269. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  270. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  271. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  272. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  273. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  274. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  275. package/dist/components/other/Calendar/styled.js +1 -1
  276. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  277. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  278. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  279. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  280. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  281. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  282. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  283. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  284. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  285. package/dist/components/overlays/Dialog/context.js +1 -1
  286. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  287. package/dist/components/overlays/Modal/Modal.js +1 -1
  288. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  289. package/dist/components/overlays/Modal/Overlay.js +1 -1
  290. package/dist/components/overlays/Modal/Popover.js +1 -1
  291. package/dist/components/overlays/Modal/Tray.js +1 -1
  292. package/dist/components/overlays/Modal/Underlay.js +1 -1
  293. package/dist/components/overlays/Notifications/Notification.js +1 -1
  294. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  295. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  296. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  297. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  298. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  299. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  300. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  301. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  302. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  303. package/dist/components/overlays/Notifications/index.js +1 -1
  304. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  305. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  306. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  307. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  308. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  309. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  310. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  311. package/dist/components/overlays/Toast/index.js +1 -1
  312. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  313. package/dist/components/overlays/Toast/useToast.js +1 -1
  314. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  315. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  316. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  317. package/dist/components/overlays/Tooltip/context.js +1 -1
  318. package/dist/components/portal/Portal.js +1 -1
  319. package/dist/components/portal/PortalProvider.js +1 -1
  320. package/dist/components/portal/usePortal.js +1 -1
  321. package/dist/components/shared/DraggableCollection.js +1 -1
  322. package/dist/components/shared/InvalidIcon.js +1 -1
  323. package/dist/components/shared/ValidIcon.js +1 -1
  324. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  325. package/dist/components/status/Spin/Cube.js +1 -1
  326. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  327. package/dist/components/status/Spin/Spin.js +1 -1
  328. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  329. package/dist/data/item-themes.js +25 -6
  330. package/dist/data/item-themes.js.map +1 -1
  331. package/dist/data/themes.js +1 -1
  332. package/dist/eslint-plugin/defaults.generated.js +1 -1
  333. package/dist/eslint-plugin/index.js +1 -1
  334. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  335. package/dist/i18n/I18nProvider.js +1 -1
  336. package/dist/i18n/createFormatter.js +1 -1
  337. package/dist/i18n/index.js +1 -1
  338. package/dist/i18n/instance.js +1 -1
  339. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  340. package/dist/i18n/locales/en-US/uikit.js +1 -1
  341. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  342. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  343. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  344. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  345. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  346. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  347. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  348. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  349. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  350. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  351. package/dist/i18n/locales.js +1 -1
  352. package/dist/i18n/useFormatter.js +1 -1
  353. package/dist/i18n/useI18n.js +1 -1
  354. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  355. package/dist/icons/AdjustmentsIcon.js +1 -1
  356. package/dist/icons/AiIcon.js +1 -1
  357. package/dist/icons/AreaChartIcon.js +1 -1
  358. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  359. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  360. package/dist/icons/BackwardIcon.js +1 -1
  361. package/dist/icons/BarChartIcon.js +1 -1
  362. package/dist/icons/BellFilledIcon.js +1 -1
  363. package/dist/icons/BellIcon.js +1 -1
  364. package/dist/icons/BooleanIcon.js +1 -1
  365. package/dist/icons/CalendarEditIcon.js +1 -1
  366. package/dist/icons/CalendarIcon.js +1 -1
  367. package/dist/icons/CaretDownIcon.js +1 -1
  368. package/dist/icons/CaretUpIcon.js +1 -1
  369. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  370. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  371. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  372. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  373. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  374. package/dist/icons/ChartBarLineIcon.js +1 -1
  375. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  376. package/dist/icons/ChartBarStackedIcon.js +1 -1
  377. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  378. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  379. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  380. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  381. package/dist/icons/ChartBubbleIcon.js +1 -1
  382. package/dist/icons/ChartDonut2Icon.js +1 -1
  383. package/dist/icons/ChartFunnelIcon.js +1 -1
  384. package/dist/icons/ChartHeatmapIcon.js +1 -1
  385. package/dist/icons/ChartKPIIcon.js +1 -1
  386. package/dist/icons/ChartPie2Icon.js +1 -1
  387. package/dist/icons/ChartScatterIcon.js +1 -1
  388. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  389. package/dist/icons/CheckCircleIcon.js +1 -1
  390. package/dist/icons/CheckIcon.js +1 -1
  391. package/dist/icons/CircleFilledIcon.js +1 -1
  392. package/dist/icons/ClearIcon.js +1 -1
  393. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  394. package/dist/icons/CloseCircleIcon.js +1 -1
  395. package/dist/icons/CloseIcon.js +1 -1
  396. package/dist/icons/CodeIcon.js +1 -1
  397. package/dist/icons/ColumnTotalIcon.js +1 -1
  398. package/dist/icons/CopyIcon.js +1 -1
  399. package/dist/icons/CountIcon.js +1 -1
  400. package/dist/icons/CubeIcon.js +1 -1
  401. package/dist/icons/CubePauseIcon.js +1 -1
  402. package/dist/icons/CubePlayIcon.js +1 -1
  403. package/dist/icons/CurrencyDollarIcon.js +1 -1
  404. package/dist/icons/DangerIcon.js +1 -1
  405. package/dist/icons/DashboardIcon.js +1 -1
  406. package/dist/icons/DatabaseIcon.js +1 -1
  407. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  408. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  409. package/dist/icons/DirectionIcon.js +1 -1
  410. package/dist/icons/DonutIcon.js +1 -1
  411. package/dist/icons/DownIcon.js +1 -1
  412. package/dist/icons/EditIcon.js +1 -1
  413. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  414. package/dist/icons/ExclamationCircleIcon.js +1 -1
  415. package/dist/icons/ExclamationIcon.js +1 -1
  416. package/dist/icons/EyeIcon.js +1 -1
  417. package/dist/icons/EyeInvisibleIcon.js +1 -1
  418. package/dist/icons/FilterIcon.js +1 -1
  419. package/dist/icons/FolderFilledIcon.js +1 -1
  420. package/dist/icons/FolderIcon.js +1 -1
  421. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  422. package/dist/icons/FolderOpenIcon.js +1 -1
  423. package/dist/icons/ForwardIcon.js +1 -1
  424. package/dist/icons/GripVerticalIcon.js +1 -1
  425. package/dist/icons/HierarchyIcon.js +1 -1
  426. package/dist/icons/HierarchyOpenIcon.js +1 -1
  427. package/dist/icons/Icon.js +1 -1
  428. package/dist/icons/InfoCircleIcon.js +1 -1
  429. package/dist/icons/InfoIcon.js +1 -1
  430. package/dist/icons/KeyIcon.js +1 -1
  431. package/dist/icons/LeftIcon.js +1 -1
  432. package/dist/icons/LineChartIcon.js +1 -1
  433. package/dist/icons/LoadingIcon.js +1 -1
  434. package/dist/icons/LockFilledIcon.js +1 -1
  435. package/dist/icons/LockIcon.js +1 -1
  436. package/dist/icons/MoreIcon.js +1 -1
  437. package/dist/icons/NotAllowedIcon.js +1 -1
  438. package/dist/icons/Number123Icon.js +1 -1
  439. package/dist/icons/NumberIcon.js +1 -1
  440. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  441. package/dist/icons/PauseCircleIcon.js +1 -1
  442. package/dist/icons/PauseIcon.js +1 -1
  443. package/dist/icons/PercentageIcon.js +1 -1
  444. package/dist/icons/PieChartIcon.js +1 -1
  445. package/dist/icons/PipetteIcon.js +1 -1
  446. package/dist/icons/PlayCircleIcon.js +1 -1
  447. package/dist/icons/PlayIcon.js +1 -1
  448. package/dist/icons/PlusIcon.js +1 -1
  449. package/dist/icons/ProgressBarIcon.js +1 -1
  450. package/dist/icons/ReloadIcon.js +1 -1
  451. package/dist/icons/ReportIcon.js +1 -1
  452. package/dist/icons/ReturnIcon.js +1 -1
  453. package/dist/icons/RightIcon.js +1 -1
  454. package/dist/icons/RowTotalsIcon.js +1 -1
  455. package/dist/icons/SchemeIcon.js +1 -1
  456. package/dist/icons/SearchIcon.js +1 -1
  457. package/dist/icons/SemanticQueryIcon.js +1 -1
  458. package/dist/icons/SettingsIcon.js +1 -1
  459. package/dist/icons/ShieldFilledIcon.js +1 -1
  460. package/dist/icons/ShieldIcon.js +1 -1
  461. package/dist/icons/SlashIcon.js +1 -1
  462. package/dist/icons/SparklesIcon.js +1 -1
  463. package/dist/icons/SqlIcon.js +1 -1
  464. package/dist/icons/StatsIcon.js +1 -1
  465. package/dist/icons/StopIcon.js +1 -1
  466. package/dist/icons/StringIcon.js +1 -1
  467. package/dist/icons/SubtotalsIcon.js +1 -1
  468. package/dist/icons/SwitchIcon.js +1 -1
  469. package/dist/icons/TableIcon.js +1 -1
  470. package/dist/icons/ThumbsDownIcon.js +1 -1
  471. package/dist/icons/ThumbsUpIcon.js +1 -1
  472. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  473. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  474. package/dist/icons/ThunderboltIcon.js +1 -1
  475. package/dist/icons/TimeIcon.js +1 -1
  476. package/dist/icons/TrashIcon.js +1 -1
  477. package/dist/icons/UnlockIcon.js +1 -1
  478. package/dist/icons/UpIcon.js +1 -1
  479. package/dist/icons/UserGroupIcon.js +1 -1
  480. package/dist/icons/UserIcon.js +1 -1
  481. package/dist/icons/UserLockIcon.js +1 -1
  482. package/dist/icons/ViewIcon.js +1 -1
  483. package/dist/icons/WarningFilledIcon.js +1 -1
  484. package/dist/icons/WarningIcon.js +1 -1
  485. package/dist/icons/wrap-icon.js +1 -1
  486. package/dist/index.js +1 -1
  487. package/dist/probe/canonicalize.js +1 -1
  488. package/dist/probe/css.js +1 -1
  489. package/dist/probe/index.js +1 -1
  490. package/dist/provider.js +1 -1
  491. package/dist/providers/TrackingProvider.js +1 -1
  492. package/dist/providers/navigationAdapter.default.js +1 -1
  493. package/dist/tokens/all-tokens.js +1 -1
  494. package/dist/tokens/base.js +1 -1
  495. package/dist/tokens/color-seed.js +1 -1
  496. package/dist/tokens/color-theme.js +1 -1
  497. package/dist/tokens/colors.js +1 -1
  498. package/dist/tokens/layout.js +1 -1
  499. package/dist/tokens/lazy-styles.js +1 -1
  500. package/dist/tokens/legacy-color.js +1 -1
  501. package/dist/tokens/palette-config.js +1 -1
  502. package/dist/tokens/palette.js +1 -1
  503. package/dist/tokens/resolve.js +1 -1
  504. package/dist/tokens/shadows.js +1 -1
  505. package/dist/tokens/sizes.js +1 -1
  506. package/dist/tokens/spacing.js +1 -1
  507. package/dist/tokens/typography.js +1 -1
  508. package/dist/utils/ResizeSensor.js +1 -1
  509. package/dist/utils/colors.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 +3 -3
  549. package/docs/components/Block.md +3 -3
  550. package/docs/components/CollectionItem.md +3 -3
  551. package/docs/components/GridProvider.md +3 -3
  552. package/docs/components/Root.md +1 -1
  553. package/docs/components/actions/Action.md +3 -3
  554. package/docs/components/actions/Banner.md +3 -3
  555. package/docs/components/actions/Button.md +3 -3
  556. package/docs/components/actions/ButtonGroup.md +3 -3
  557. package/docs/components/actions/ButtonSplit.md +3 -3
  558. package/docs/components/actions/CommandMenu.md +3 -3
  559. package/docs/components/actions/ItemAction.md +1 -3
  560. package/docs/components/actions/ItemButton.md +13 -0
  561. package/docs/components/actions/Link.md +3 -3
  562. package/docs/components/actions/Menu.md +3 -3
  563. package/docs/components/actions/MenuTrigger.md +3 -3
  564. package/docs/components/actions/SubMenuTrigger.md +3 -3
  565. package/docs/components/actions/use-anchored-menu.md +3 -3
  566. package/docs/components/actions/use-context-menu.md +3 -3
  567. package/docs/components/content/ActiveZone.md +3 -3
  568. package/docs/components/content/Alert.md +3 -3
  569. package/docs/components/content/Avatar.md +3 -3
  570. package/docs/components/content/Card.md +3 -3
  571. package/docs/components/content/Content.md +3 -3
  572. package/docs/components/content/CopyPasteBlock.md +1 -1
  573. package/docs/components/content/CopySnippet.md +3 -3
  574. package/docs/components/content/Disclosure.md +3 -3
  575. package/docs/components/content/Divider.md +3 -3
  576. package/docs/components/content/Footer.md +3 -3
  577. package/docs/components/content/Header.md +3 -3
  578. package/docs/components/content/HotKeys.md +3 -3
  579. package/docs/components/content/InlineInput.md +3 -3
  580. package/docs/components/content/Item.md +3 -3
  581. package/docs/components/content/Layout.md +3 -3
  582. package/docs/components/content/Paragraph.md +3 -3
  583. package/docs/components/content/Placeholder.md +3 -3
  584. package/docs/components/content/Result.md +3 -3
  585. package/docs/components/content/Skeleton.md +3 -3
  586. package/docs/components/content/Title.md +3 -3
  587. package/docs/components/content/Tree.md +3 -3
  588. package/docs/components/data/DataTable.md +3 -3
  589. package/docs/components/data/ItemTable.md +3 -3
  590. package/docs/components/fields/Checkbox.md +3 -3
  591. package/docs/components/fields/ColorInput.md +3 -3
  592. package/docs/components/fields/ColorPicker.md +3 -3
  593. package/docs/components/fields/ColorSwatch.md +3 -3
  594. package/docs/components/fields/ColorSwatchGroup.md +3 -3
  595. package/docs/components/fields/ComboBox.md +3 -3
  596. package/docs/components/fields/CommandTextArea.md +3 -3
  597. package/docs/components/fields/DatePicker.md +3 -3
  598. package/docs/components/fields/FileInput.md +3 -3
  599. package/docs/components/fields/FilterListBox.md +3 -3
  600. package/docs/components/fields/FilterPicker.md +11 -3
  601. package/docs/components/fields/HueSlider.md +3 -3
  602. package/docs/components/fields/ListBox.md +3 -3
  603. package/docs/components/fields/NumberInput.md +3 -3
  604. package/docs/components/fields/PasswordInput.md +3 -3
  605. package/docs/components/fields/PeriodPicker.md +3 -3
  606. package/docs/components/fields/Picker.md +11 -3
  607. package/docs/components/fields/RadioGroup.md +3 -3
  608. package/docs/components/fields/SearchComboBox.md +3 -3
  609. package/docs/components/fields/SearchInput.md +3 -3
  610. package/docs/components/fields/Select.md +11 -3
  611. package/docs/components/fields/Slider.md +3 -3
  612. package/docs/components/fields/Switch.md +3 -3
  613. package/docs/components/fields/TextArea.md +3 -3
  614. package/docs/components/fields/TextInput.md +3 -3
  615. package/docs/components/fields/TextInputMapper.md +3 -3
  616. package/docs/components/form/Field.md +3 -3
  617. package/docs/components/form/Form.md +3 -3
  618. package/docs/components/layout/Board.md +3 -3
  619. package/docs/components/layout/Flex.md +3 -3
  620. package/docs/components/layout/Flow.md +3 -3
  621. package/docs/components/layout/Grid.md +3 -3
  622. package/docs/components/layout/Panel.md +3 -3
  623. package/docs/components/layout/Prefix.md +3 -3
  624. package/docs/components/layout/ResizablePanel.md +3 -3
  625. package/docs/components/layout/Space.md +3 -3
  626. package/docs/components/layout/Suffix.md +3 -3
  627. package/docs/components/navigation/Pagination.md +3 -3
  628. package/docs/components/navigation/Tabs.md +3 -3
  629. package/docs/components/organisms/StatsCard.md +3 -3
  630. package/docs/components/overlays/AlertDialog.md +3 -3
  631. package/docs/components/overlays/Dialog.md +2 -2
  632. package/docs/components/overlays/DialogContainer.md +2 -2
  633. package/docs/components/overlays/DialogForm.md +2 -2
  634. package/docs/components/overlays/DialogTrigger.md +2 -2
  635. package/docs/components/overlays/Tooltip.md +3 -3
  636. package/docs/components/overlays/TooltipProvider.md +3 -3
  637. package/docs/components/overlays/TooltipTrigger.md +3 -3
  638. package/docs/components/status/LoadingAnimation.md +3 -3
  639. package/docs/components/status/Spin.md +3 -3
  640. package/docs/tasty/ai-agents.md +3 -8
  641. package/docs/tasty/debug.md +5 -2
  642. package/docs/tasty/methodology.md +3 -3
  643. package/docs/tasty/pipeline.md +0 -3
  644. package/docs/tasty/runtime-benchmarks.md +68 -105
  645. package/docs/tasty/ssr.md +1 -1
  646. package/docs/tasty/styles.md +11 -43
  647. package/package.json +2 -2
  648. package/dist/utils/dotize.js +0 -50
  649. package/dist/utils/dotize.js.map +0 -1
@@ -1,19 +1,16 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2ef7bcb | 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-daad5bf | 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,
141
- actions: actions ? true : void 0,
142
- ...mergeProps$1(rest, actionProps),
48
+ const hasHadActions = useRef(false);
49
+ if (actions) hasHadActions.current = true;
50
+ const withWrapper = hasHadActions.current;
51
+ const renderButton = (showActions) => /* @__PURE__ */ jsx(StyledItem, {
52
+ insideWrapper: withWrapper,
53
+ showActions,
54
+ actions: withWrapper ? true : void 0,
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 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 const hasHadActions = useRef(false);\n\n if (actions) {\n hasHadActions.current = true;\n }\n\n const withWrapper = hasHadActions.current;\n\n const renderButton = (showActions: boolean) => (\n <StyledItem\n insideWrapper={withWrapper}\n showActions={showActions}\n actions={withWrapper ? 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":";;;;;;;;;;;;;;;AA6BA,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;CAQD,MAAM,gBAAgB,OAAO,MAAM;AAEnC,KAAI,QACF,eAAc,UAAU;CAG1B,MAAM,cAAc,cAAc;CAElC,MAAM,gBAAgB,gBACpB,oBAAC;EACC,eAAe;EACF;EACb,SAAS,cAAc,OAAO;EAC9B,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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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-2ef7bcb | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-daad5bf | 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)": "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": 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)",