@cube-dev/ui-kit 0.0.0-canary-d3e63ad → 0.0.0-canary-e5b4f54

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 (558) hide show
  1. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.js +1 -1
  19. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  23. package/dist/components/actions/CommandMenu/styled.js +1 -1
  24. package/dist/components/actions/ItemAction/ItemAction.js +2 -6
  25. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  26. package/dist/components/actions/ItemActionContext.d.ts +0 -14
  27. package/dist/components/actions/ItemActionContext.js +2 -2
  28. package/dist/components/actions/ItemActionContext.js.map +1 -1
  29. package/dist/components/actions/ItemButton/ItemButton.js +42 -47
  30. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  31. package/dist/components/actions/Link/Link.js +1 -1
  32. package/dist/components/actions/Menu/Menu.js +1 -1
  33. package/dist/components/actions/Menu/MenuItem.js +1 -1
  34. package/dist/components/actions/Menu/MenuSection.js +1 -1
  35. package/dist/components/actions/Menu/MenuTrigger.d.ts +13 -0
  36. package/dist/components/actions/Menu/MenuTrigger.js +27 -15
  37. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  38. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  39. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  40. package/dist/components/actions/Menu/context.js +1 -1
  41. package/dist/components/actions/Menu/styled.js +1 -1
  42. package/dist/components/actions/index.js +1 -1
  43. package/dist/components/actions/use-action.js +1 -1
  44. package/dist/components/actions/use-anchored-menu.js +1 -1
  45. package/dist/components/actions/use-context-menu.js +1 -1
  46. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  47. package/dist/components/content/Alert/Alert.js +1 -1
  48. package/dist/components/content/Alert/use-alert.js +1 -1
  49. package/dist/components/content/Avatar/Avatar.js +1 -1
  50. package/dist/components/content/Badge/Badge.js +1 -1
  51. package/dist/components/content/Card/Card.js +1 -1
  52. package/dist/components/content/Content.js +1 -1
  53. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  54. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  55. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  56. package/dist/components/content/Divider.js +1 -1
  57. package/dist/components/content/Footer.js +1 -1
  58. package/dist/components/content/Header.js +1 -1
  59. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  60. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  61. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  62. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  63. package/dist/components/content/Item/Item.js +48 -4
  64. package/dist/components/content/Item/Item.js.map +1 -1
  65. package/dist/components/content/ItemBadge/ItemBadge.d.ts +1 -1
  66. package/dist/components/content/ItemBadge/ItemBadge.js +4 -5
  67. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  68. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  69. package/dist/components/content/Layout/GridLayout.js +1 -1
  70. package/dist/components/content/Layout/Layout.js +1 -1
  71. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  72. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  73. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  74. package/dist/components/content/Layout/LayoutContent.js +1 -1
  75. package/dist/components/content/Layout/LayoutContext.js +1 -1
  76. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  77. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  78. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  79. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  80. package/dist/components/content/Layout/LayoutPane.js +1 -1
  81. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  82. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  83. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  84. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  85. package/dist/components/content/Layout/index.js +1 -1
  86. package/dist/components/content/Layout/utils.js +1 -1
  87. package/dist/components/content/Paragraph.js +1 -1
  88. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  89. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  90. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  91. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  92. package/dist/components/content/Result/Result.js +1 -1
  93. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  94. package/dist/components/content/Tag/Tag.js +1 -1
  95. package/dist/components/content/Text.d.ts +14 -14
  96. package/dist/components/content/Text.js +1 -1
  97. package/dist/components/content/TextItem/TextItem.js +1 -1
  98. package/dist/components/content/Title.js +1 -1
  99. package/dist/components/content/Tree/Tree.js +1 -1
  100. package/dist/components/content/Tree/TreeNode.js +1 -1
  101. package/dist/components/content/Tree/styled.js +1 -1
  102. package/dist/components/content/Tree/tree-index.js +1 -1
  103. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  104. package/dist/components/content/Tree/use-load-data.js +1 -1
  105. package/dist/components/content/highlightText.js +1 -1
  106. package/dist/components/content/use-auto-tooltip.js +1 -1
  107. package/dist/components/data/DataTable/DataTable.js +1 -1
  108. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  109. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  110. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  111. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  112. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  113. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  114. package/dist/components/data/TableBase/RowCollection.js +1 -1
  115. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  116. package/dist/components/data/TableBase/TableRow.js +1 -1
  117. package/dist/components/data/TableBase/TableView.js +1 -1
  118. package/dist/components/data/TableBase/column-menu.js +1 -1
  119. package/dist/components/data/TableBase/column-tint.js +1 -1
  120. package/dist/components/data/TableBase/row-menu.js +1 -1
  121. package/dist/components/data/TableBase/styled.js +1 -1
  122. package/dist/components/data/TableBase/types.js +1 -1
  123. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  124. package/dist/components/data/TableBase/use-column-order.js +1 -1
  125. package/dist/components/data/TableBase/use-container-width.js +1 -1
  126. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  127. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  128. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  129. package/dist/components/data/TableBase/use-table-search.js +1 -1
  130. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  131. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  132. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  133. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  134. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  135. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  136. package/dist/components/fields/Checkbox/context.js +1 -1
  137. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  138. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  139. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  140. package/dist/components/fields/ComboBox/ComboBox.js +6 -2
  141. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  142. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  143. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  144. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  145. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  146. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  147. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  148. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  149. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  150. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  151. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  152. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  153. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  154. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  155. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  156. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  157. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  158. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  159. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  160. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  161. package/dist/components/fields/DatePicker/period.js +1 -1
  162. package/dist/components/fields/DatePicker/props.js +1 -1
  163. package/dist/components/fields/DatePicker/utils.js +1 -1
  164. package/dist/components/fields/FileInput/FileInput.js +1 -1
  165. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  166. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  167. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  168. package/dist/components/fields/Input/Input.js +1 -1
  169. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  170. package/dist/components/fields/ListBox/ListBox.js +1 -1
  171. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  172. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  173. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  174. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  175. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  176. package/dist/components/fields/PasswordInput/PasswordInput.js +2 -1
  177. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  178. package/dist/components/fields/Picker/Picker.js +1 -1
  179. package/dist/components/fields/Picker/Picker.js.map +1 -1
  180. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  181. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  182. package/dist/components/fields/RadioGroup/context.js +1 -1
  183. package/dist/components/fields/SearchComboBox/SearchComboBox.js +6 -2
  184. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  185. package/dist/components/fields/SearchInput/SearchInput.js +7 -1
  186. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  187. package/dist/components/fields/Select/Select.js +6 -3
  188. package/dist/components/fields/Select/Select.js.map +1 -1
  189. package/dist/components/fields/Slider/Gradation.js +1 -1
  190. package/dist/components/fields/Slider/HueSlider.js +1 -1
  191. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  192. package/dist/components/fields/Slider/Slider.js +1 -1
  193. package/dist/components/fields/Slider/SliderBase.js +1 -1
  194. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  195. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  196. package/dist/components/fields/Slider/elements.js +1 -1
  197. package/dist/components/fields/Slider/index.js +1 -1
  198. package/dist/components/fields/Switch/Switch.js +1 -1
  199. package/dist/components/fields/TextArea/TextArea.js +1 -1
  200. package/dist/components/fields/TextInput/TextInput.js +1 -1
  201. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  202. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  203. package/dist/components/fields/color/ColorPanel.js +1 -1
  204. package/dist/components/fields/color/ColorSwatch.js +1 -1
  205. package/dist/components/fields/color/channels.js +1 -1
  206. package/dist/components/fields/color/color.js +1 -1
  207. package/dist/components/fields/color/context.js +1 -1
  208. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  209. package/dist/components/form/Form/Field.js +1 -1
  210. package/dist/components/form/Form/Form.js +1 -1
  211. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  212. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  213. package/dist/components/form/Form/SubmitError.js +1 -1
  214. package/dist/components/form/Form/index.js +1 -1
  215. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  216. package/dist/components/form/Form/use-field/use-field.js +1 -1
  217. package/dist/components/form/Form/use-form.js +1 -1
  218. package/dist/components/form/Form/validation.js +1 -1
  219. package/dist/components/form/Label.js +1 -1
  220. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  221. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  222. package/dist/components/form/validation/use-validation-props.js +1 -1
  223. package/dist/components/form/wrapper.js +1 -1
  224. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  225. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  226. package/dist/components/layout/Board/Board.js +1 -1
  227. package/dist/components/layout/Board/BoardProvider.js +1 -1
  228. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  229. package/dist/components/layout/Board/Widget.js +1 -1
  230. package/dist/components/layout/Board/WidgetHost.js +1 -1
  231. package/dist/components/layout/Board/board-context.js +1 -1
  232. package/dist/components/layout/Board/board-store.js +1 -1
  233. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  234. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  235. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  236. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  237. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  238. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  239. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  240. package/dist/components/layout/Board/index.js +1 -1
  241. package/dist/components/layout/Board/responsive-utils.js +1 -1
  242. package/dist/components/layout/Board/use-board-layout.js +1 -1
  243. package/dist/components/layout/Board/use-board-registry.js +1 -1
  244. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  245. package/dist/components/layout/Board/use-board-selection.js +1 -1
  246. package/dist/components/layout/Flex.js +1 -1
  247. package/dist/components/layout/Flow.js +1 -1
  248. package/dist/components/layout/Grid.js +1 -1
  249. package/dist/components/layout/Panel.js +1 -1
  250. package/dist/components/layout/Prefix.js +1 -1
  251. package/dist/components/layout/ResizablePanel.js +1 -1
  252. package/dist/components/layout/Space.js +1 -1
  253. package/dist/components/layout/Suffix.js +1 -1
  254. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  255. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  256. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  257. package/dist/components/navigation/Tabs/TabButton.js +2 -29
  258. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  259. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  260. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  261. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  262. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  263. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  264. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  265. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  266. package/dist/components/navigation/Tabs/styled.js +1 -1
  267. package/dist/components/navigation/Tabs/types.js +1 -1
  268. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  269. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  270. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  271. package/dist/components/other/Calendar/Calendar.js +1 -1
  272. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  273. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  274. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  275. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  276. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  277. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  278. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  279. package/dist/components/other/Calendar/styled.js +1 -1
  280. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  281. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  282. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  283. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  284. package/dist/components/overlays/Dialog/Dialog.js +4 -3
  285. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  286. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  287. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  288. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +13 -0
  289. package/dist/components/overlays/Dialog/DialogTrigger.js +24 -5
  290. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  291. package/dist/components/overlays/Dialog/context.js +1 -1
  292. package/dist/components/overlays/Dialog/context.js.map +1 -1
  293. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  294. package/dist/components/overlays/Modal/Modal.js +1 -1
  295. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  296. package/dist/components/overlays/Modal/Overlay.js +1 -1
  297. package/dist/components/overlays/Modal/Popover.js +1 -1
  298. package/dist/components/overlays/Modal/Tray.js +1 -1
  299. package/dist/components/overlays/Modal/Underlay.js +1 -1
  300. package/dist/components/overlays/Notifications/Notification.js +1 -1
  301. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  302. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  303. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  304. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  305. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  306. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  307. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  308. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  309. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  310. package/dist/components/overlays/Notifications/index.js +1 -1
  311. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  312. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  313. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  314. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  315. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  316. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  317. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  318. package/dist/components/overlays/Toast/index.js +1 -1
  319. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  320. package/dist/components/overlays/Toast/useToast.js +1 -1
  321. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  322. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  323. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  324. package/dist/components/overlays/Tooltip/context.js +1 -1
  325. package/dist/components/portal/Portal.js +1 -1
  326. package/dist/components/portal/PortalProvider.js +1 -1
  327. package/dist/components/portal/usePortal.js +1 -1
  328. package/dist/components/shared/DraggableCollection.js +1 -1
  329. package/dist/components/shared/InvalidIcon.js +1 -1
  330. package/dist/components/shared/ValidIcon.js +1 -1
  331. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  332. package/dist/components/status/Spin/Cube.js +1 -1
  333. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  334. package/dist/components/status/Spin/Spin.js +1 -1
  335. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  336. package/dist/data/item-themes.js +7 -86
  337. package/dist/data/item-themes.js.map +1 -1
  338. package/dist/data/themes.js +1 -1
  339. package/dist/eslint-plugin/defaults.generated.js +19 -5
  340. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  341. package/dist/eslint-plugin/index.js +1 -1
  342. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  343. package/dist/i18n/I18nProvider.js +1 -1
  344. package/dist/i18n/createFormatter.js +1 -1
  345. package/dist/i18n/index.js +1 -1
  346. package/dist/i18n/instance.js +1 -1
  347. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  348. package/dist/i18n/locales/en-US/uikit.js +1 -1
  349. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  350. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  351. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  352. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  353. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  354. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  355. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  356. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  357. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  358. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  359. package/dist/i18n/locales.js +1 -1
  360. package/dist/i18n/useFormatter.js +1 -1
  361. package/dist/i18n/useI18n.js +1 -1
  362. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  363. package/dist/icons/AdjustmentsIcon.js +1 -1
  364. package/dist/icons/AiIcon.js +1 -1
  365. package/dist/icons/AreaChartIcon.js +1 -1
  366. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  367. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  368. package/dist/icons/BackwardIcon.js +1 -1
  369. package/dist/icons/BarChartIcon.js +1 -1
  370. package/dist/icons/BellFilledIcon.js +1 -1
  371. package/dist/icons/BellIcon.js +1 -1
  372. package/dist/icons/BooleanIcon.js +1 -1
  373. package/dist/icons/CalendarEditIcon.js +1 -1
  374. package/dist/icons/CalendarIcon.js +1 -1
  375. package/dist/icons/CaretDownIcon.js +1 -1
  376. package/dist/icons/CaretUpIcon.js +1 -1
  377. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  378. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  379. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  380. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  381. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  382. package/dist/icons/ChartBarLineIcon.js +1 -1
  383. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  384. package/dist/icons/ChartBarStackedIcon.js +1 -1
  385. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  386. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  387. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  388. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  389. package/dist/icons/ChartBubbleIcon.js +1 -1
  390. package/dist/icons/ChartDonut2Icon.js +1 -1
  391. package/dist/icons/ChartFunnelIcon.js +1 -1
  392. package/dist/icons/ChartHeatmapIcon.js +1 -1
  393. package/dist/icons/ChartKPIIcon.js +1 -1
  394. package/dist/icons/ChartPie2Icon.js +1 -1
  395. package/dist/icons/ChartScatterIcon.js +1 -1
  396. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  397. package/dist/icons/CheckCircleIcon.js +1 -1
  398. package/dist/icons/CheckIcon.js +1 -1
  399. package/dist/icons/CircleFilledIcon.js +1 -1
  400. package/dist/icons/ClearIcon.js +1 -1
  401. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  402. package/dist/icons/CloseCircleIcon.js +1 -1
  403. package/dist/icons/CloseIcon.js +1 -1
  404. package/dist/icons/CodeIcon.js +1 -1
  405. package/dist/icons/ColumnTotalIcon.js +1 -1
  406. package/dist/icons/CopyIcon.js +1 -1
  407. package/dist/icons/CountIcon.js +1 -1
  408. package/dist/icons/CubeIcon.js +1 -1
  409. package/dist/icons/CubePauseIcon.js +1 -1
  410. package/dist/icons/CubePlayIcon.js +1 -1
  411. package/dist/icons/CurrencyDollarIcon.js +1 -1
  412. package/dist/icons/DangerIcon.js +1 -1
  413. package/dist/icons/DashboardIcon.js +1 -1
  414. package/dist/icons/DatabaseIcon.js +1 -1
  415. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  416. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  417. package/dist/icons/DirectionIcon.js +1 -1
  418. package/dist/icons/DonutIcon.js +1 -1
  419. package/dist/icons/DownIcon.js +1 -1
  420. package/dist/icons/EditIcon.js +1 -1
  421. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  422. package/dist/icons/ExclamationCircleIcon.js +1 -1
  423. package/dist/icons/ExclamationIcon.js +1 -1
  424. package/dist/icons/EyeIcon.js +1 -1
  425. package/dist/icons/EyeInvisibleIcon.js +1 -1
  426. package/dist/icons/FilterIcon.js +1 -1
  427. package/dist/icons/FolderFilledIcon.js +1 -1
  428. package/dist/icons/FolderIcon.js +1 -1
  429. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  430. package/dist/icons/FolderOpenIcon.js +1 -1
  431. package/dist/icons/ForwardIcon.js +1 -1
  432. package/dist/icons/GripVerticalIcon.js +1 -1
  433. package/dist/icons/HierarchyIcon.js +1 -1
  434. package/dist/icons/HierarchyOpenIcon.js +1 -1
  435. package/dist/icons/Icon.js +1 -1
  436. package/dist/icons/InfoCircleIcon.js +1 -1
  437. package/dist/icons/InfoIcon.js +1 -1
  438. package/dist/icons/KeyIcon.js +1 -1
  439. package/dist/icons/LeftIcon.js +1 -1
  440. package/dist/icons/LineChartIcon.js +1 -1
  441. package/dist/icons/LoadingIcon.js +1 -1
  442. package/dist/icons/LockFilledIcon.js +1 -1
  443. package/dist/icons/LockIcon.js +1 -1
  444. package/dist/icons/MoreIcon.js +1 -1
  445. package/dist/icons/NotAllowedIcon.js +1 -1
  446. package/dist/icons/Number123Icon.js +1 -1
  447. package/dist/icons/NumberIcon.js +1 -1
  448. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  449. package/dist/icons/PauseCircleIcon.js +1 -1
  450. package/dist/icons/PauseIcon.js +1 -1
  451. package/dist/icons/PercentageIcon.js +1 -1
  452. package/dist/icons/PieChartIcon.js +1 -1
  453. package/dist/icons/PipetteIcon.js +1 -1
  454. package/dist/icons/PlayCircleIcon.js +1 -1
  455. package/dist/icons/PlayIcon.js +1 -1
  456. package/dist/icons/PlusIcon.js +1 -1
  457. package/dist/icons/ProgressBarIcon.js +1 -1
  458. package/dist/icons/ReloadIcon.js +1 -1
  459. package/dist/icons/ReportIcon.js +1 -1
  460. package/dist/icons/ReturnIcon.js +1 -1
  461. package/dist/icons/RightIcon.js +1 -1
  462. package/dist/icons/RowTotalsIcon.js +1 -1
  463. package/dist/icons/SchemeIcon.js +1 -1
  464. package/dist/icons/SearchIcon.js +1 -1
  465. package/dist/icons/SemanticQueryIcon.js +1 -1
  466. package/dist/icons/SettingsIcon.js +1 -1
  467. package/dist/icons/ShieldFilledIcon.js +1 -1
  468. package/dist/icons/ShieldIcon.js +1 -1
  469. package/dist/icons/SlashIcon.js +1 -1
  470. package/dist/icons/SparklesIcon.js +1 -1
  471. package/dist/icons/SqlIcon.js +1 -1
  472. package/dist/icons/StatsIcon.js +1 -1
  473. package/dist/icons/StopIcon.js +1 -1
  474. package/dist/icons/StringIcon.js +1 -1
  475. package/dist/icons/SubtotalsIcon.js +1 -1
  476. package/dist/icons/SwitchIcon.js +1 -1
  477. package/dist/icons/TableIcon.js +1 -1
  478. package/dist/icons/ThumbsDownIcon.js +1 -1
  479. package/dist/icons/ThumbsUpIcon.js +1 -1
  480. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  481. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  482. package/dist/icons/ThunderboltIcon.js +1 -1
  483. package/dist/icons/TimeIcon.js +1 -1
  484. package/dist/icons/TrashIcon.js +1 -1
  485. package/dist/icons/UnlockIcon.js +1 -1
  486. package/dist/icons/UpIcon.js +1 -1
  487. package/dist/icons/UserGroupIcon.js +1 -1
  488. package/dist/icons/UserIcon.js +1 -1
  489. package/dist/icons/UserLockIcon.js +1 -1
  490. package/dist/icons/ViewIcon.js +1 -1
  491. package/dist/icons/WarningFilledIcon.js +1 -1
  492. package/dist/icons/WarningIcon.js +1 -1
  493. package/dist/icons/wrap-icon.js +1 -1
  494. package/dist/index.js +1 -1
  495. package/dist/probe/canonicalize.js +1 -1
  496. package/dist/probe/css.js +1 -1
  497. package/dist/probe/index.js +1 -1
  498. package/dist/provider.js +1 -1
  499. package/dist/providers/TrackingProvider.js +1 -1
  500. package/dist/providers/navigationAdapter.default.js +1 -1
  501. package/dist/tokens/base.js +1 -1
  502. package/dist/tokens/color-theme.js +1 -1
  503. package/dist/tokens/colors.js +1 -1
  504. package/dist/tokens/index.js +1 -1
  505. package/dist/tokens/layout.js +1 -1
  506. package/dist/tokens/lazy-styles.js +1 -1
  507. package/dist/tokens/palette-config.js +1 -1
  508. package/dist/tokens/palette.js +1 -1
  509. package/dist/tokens/shadows.js +1 -1
  510. package/dist/tokens/sizes.js +1 -1
  511. package/dist/tokens/spacing.js +1 -1
  512. package/dist/tokens/typography.js +1 -1
  513. package/dist/utils/ResizeSensor.js +1 -1
  514. package/dist/utils/is-dev-env.js +1 -1
  515. package/dist/utils/modules.js +1 -1
  516. package/dist/utils/promise.js +1 -1
  517. package/dist/utils/raf.js +1 -1
  518. package/dist/utils/random.js +1 -1
  519. package/dist/utils/range.js +1 -1
  520. package/dist/utils/react/RenderCache.js +1 -1
  521. package/dist/utils/react/Slots.js +1 -1
  522. package/dist/utils/react/chain.js +1 -1
  523. package/dist/utils/react/disabledProps.js +1 -1
  524. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  525. package/dist/utils/react/index.js +1 -1
  526. package/dist/utils/react/interactions.js +1 -1
  527. package/dist/utils/react/isTextOnly.js +1 -1
  528. package/dist/utils/react/mapProps.js +1 -1
  529. package/dist/utils/react/mergeProps.js +1 -1
  530. package/dist/utils/react/nullableValue.js +1 -1
  531. package/dist/utils/react/resolveIcon.js +1 -1
  532. package/dist/utils/react/sharedStore.js +1 -1
  533. package/dist/utils/react/useBufferedValue.js +1 -1
  534. package/dist/utils/react/useCombinedRefs.js +1 -1
  535. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  536. package/dist/utils/react/useEventBus.js +1 -1
  537. package/dist/utils/react/useId.js +1 -1
  538. package/dist/utils/react/useIsDarwin.js +1 -1
  539. package/dist/utils/react/useKeySymbols.js +1 -1
  540. package/dist/utils/react/useLayoutEffect.js +1 -1
  541. package/dist/utils/react/useLocalStorage.js +1 -1
  542. package/dist/utils/react/useMergeStyles.js +1 -1
  543. package/dist/utils/react/usePopoverSync.js +1 -1
  544. package/dist/utils/react/useQaProps.js +1 -1
  545. package/dist/utils/react/useViewportSize.js +1 -1
  546. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  547. package/dist/utils/selection.js +1 -1
  548. package/dist/utils/styles.js +1 -1
  549. package/dist/utils/tree.js +1 -1
  550. package/dist/utils/warnings.js +1 -1
  551. package/dist/version.js +2 -2
  552. package/docs/components/actions/ItemAction.md +1 -1
  553. package/docs/components/actions/MenuTrigger.md +54 -2
  554. package/docs/components/actions/SubMenuTrigger.md +2 -2
  555. package/docs/components/content/InlineInput.md +1 -1
  556. package/docs/components/content/ItemBadge.md +1 -1
  557. package/docs/components/overlays/DialogTrigger.md +3 -2
  558. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { useEvent } from "./use-event.js";
3
3
 
4
4
  //#region src/_internal/hooks/use-chained-callback.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { useEffect, useRef, useState } from "react";
3
3
 
4
4
  //#region src/_internal/hooks/use-debounced-value.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { deprecationWarning } from "../../utils/warnings.js";
3
3
  import React, { useEffect } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { useSyncRef } from "./use-sync-ref.js";
3
3
  import { useCallback } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { useRef } from "react";
3
3
 
4
4
  //#region src/_internal/hooks/use-is-first-render.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../utils/react/useLayoutEffect.js";
3
3
  import { useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  //#region src/_internal/hooks/use-timer/timer.ts
3
3
  var Timer = class {
4
4
  callback;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { useEvent } from "../use-event.js";
3
3
  import { Timer } from "./timer.js";
4
4
  import { useEffect, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { useEvent } from "./use-event.js";
3
3
  import { warn } from "../../utils/warnings.js";
4
4
  import { useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | 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-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { ItemAction } from "./actions/ItemAction/ItemAction.js";
3
3
  import { ItemBadge } from "./content/ItemBadge/ItemBadge.js";
4
4
  import { Item } from "react-stately";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { usePaletteVersion } from "../tokens/palette-config.js";
3
3
  import { getTokens } from "../tokens/index.js";
4
4
  import { useGlobalStyles, useRawCSS } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { useCombinedRefs } from "../utils/react/useCombinedRefs.js";
3
3
  import { filterBaseProps, tasty } from "@tenphi/tasty";
4
4
  import { forwardRef, useCallback, useEffect, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
 
4
4
  //#region src/components/HiddenInput.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { extractStyles } from "../utils/styles.js";
3
3
  import { EventBusProvider } from "../utils/react/useEventBus.js";
4
4
  import { PortalProvider } from "./portal/PortalProvider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useAction } from "../use-action.js";
4
4
  import { CONTAINER_STYLES, TEXT_STYLES, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { _Item } from "../../content/Item/Item.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { getDisabledElementProps } from "../../../utils/react/disabledProps.js";
4
4
  import { mergeProps } from "../../../utils/react/mergeProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { useSlotProps } from "../../../utils/react/Slots.js";
3
3
  import { Space } from "../../layout/Space.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps } from "../../../utils/react/mergeProps.js";
4
4
  import { DirectionIcon } from "../../../icons/DirectionIcon.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/actions/ButtonSplit/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | 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 { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
 
4
4
  //#region src/components/actions/CommandMenu/styled.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
4
4
  import { CURRENT_ITEM_STYLES, DANGER_CLEAR_STYLES, DANGER_OUTLINE_STYLES, DANGER_PRIMARY_STYLES, DEFAULT_CLEAR_STYLES, DEFAULT_OUTLINE_STYLES, DEFAULT_PRIMARY_STYLES, ITEM_ACTION_BASE_STYLES, NOTE_CLEAR_STYLES, NOTE_OUTLINE_STYLES, NOTE_PRIMARY_STYLES, SPECIAL_CLEAR_STYLES, SPECIAL_OUTLINE_STYLES, SPECIAL_PRIMARY_STYLES, SUCCESS_CLEAR_STYLES, SUCCESS_OUTLINE_STYLES, SUCCESS_PRIMARY_STYLES, WARNING_CLEAR_STYLES, WARNING_OUTLINE_STYLES, WARNING_PRIMARY_STYLES } from "../../../data/item-themes.js";
@@ -16,10 +16,6 @@ const ItemActionElement = tasty({
16
16
  styles: {
17
17
  ...ITEM_ACTION_BASE_STYLES,
18
18
  recipe: "reset button",
19
- outline: {
20
- "": "0 #primary-accent-text.0",
21
- focused: "1bw #primary-accent-text"
22
- },
23
19
  outlineOffset: 1,
24
20
  cursor: {
25
21
  "": "$pointer",
@@ -71,7 +67,7 @@ const ItemActionElement = tasty({
71
67
  });
72
68
  const ItemAction = forwardRef(function ItemAction(allProps, ref) {
73
69
  const { type: contextType, theme: contextTheme, disableActionsFocus, isDisabled: contextIsDisabled } = useItemActionContext();
74
- const { type = allProps.theme && allProps.theme !== "default" ? "clear" : "current", theme = contextTheme ?? "default", icon, children, isLoading = false, isSelected = false, tooltip, mods, styles, isDisabled: isDisabledProp, ...rest } = allProps;
70
+ const { type = contextType ?? "clear", theme = contextTheme ?? "default", icon, children, isLoading = false, isSelected = false, tooltip, mods, styles, isDisabled: isDisabledProp, ...rest } = allProps;
75
71
  const isDisabled = isDisabledProp ?? contextIsDisabled;
76
72
  const hasCheckmark = icon === "checkmark";
77
73
  const finalIcon = isLoading ? /* @__PURE__ */ jsx(LoadingIcon, {}) : hasCheckmark ? /* @__PURE__ */ jsx(CheckIcon, {}) : icon;
@@ -1 +1 @@
1
- {"version":3,"file":"ItemAction.js","names":[],"sources":["../../../../src/components/actions/ItemAction/ItemAction.tsx"],"sourcesContent":["import { FocusableRef } from '@react-types/shared';\nimport { BaseProps, Styles, tasty } from '@tenphi/tasty';\nimport {\n ComponentProps,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n RefObject,\n useMemo,\n} from 'react';\n\nimport {\n CURRENT_ITEM_STYLES,\n DANGER_CLEAR_STYLES,\n DANGER_OUTLINE_STYLES,\n DANGER_PRIMARY_STYLES,\n DEFAULT_CLEAR_STYLES,\n DEFAULT_OUTLINE_STYLES,\n DEFAULT_PRIMARY_STYLES,\n ITEM_ACTION_BASE_STYLES,\n NOTE_CLEAR_STYLES,\n NOTE_OUTLINE_STYLES,\n NOTE_PRIMARY_STYLES,\n SPECIAL_CLEAR_STYLES,\n SPECIAL_OUTLINE_STYLES,\n SPECIAL_PRIMARY_STYLES,\n SUCCESS_CLEAR_STYLES,\n SUCCESS_OUTLINE_STYLES,\n SUCCESS_PRIMARY_STYLES,\n WARNING_CLEAR_STYLES,\n WARNING_OUTLINE_STYLES,\n WARNING_PRIMARY_STYLES,\n} from '../../../data/item-themes';\nimport { CheckIcon } from '../../../icons/CheckIcon';\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { mergeProps } from '../../../utils/react';\nimport { TooltipProvider } from '../../overlays/Tooltip/TooltipProvider';\nimport { useItemActionContext } from '../ItemActionContext';\nimport { CubeUseActionProps, useAction } from '../use-action';\n\nexport interface CubeItemActionProps\n extends Omit<CubeUseActionProps, 'as' | 'htmlType'>,\n Omit<BaseProps, 'as'> {\n icon?: ReactNode | 'checkmark';\n children?: ReactNode;\n isLoading?: boolean;\n isSelected?: boolean;\n type?: 'primary' | 'outline' | 'clear' | 'current' | (string & {});\n theme?:\n | 'default'\n | 'danger'\n | 'success'\n | 'warning'\n | 'note'\n | 'special'\n | (string & {});\n tooltip?:\n | string\n | (Omit<ComponentProps<typeof TooltipProvider>, 'children'> & {\n title?: ReactNode;\n });\n styles?: Styles;\n tabIndex?: number;\n}\n\ntype ItemActionVariant =\n // Theme-agnostic inherited-color type — see `CURRENT_ITEM_STYLES`.\n | 'default.current'\n | 'default.primary'\n | 'default.outline'\n | 'default.clear'\n | 'danger.primary'\n | 'danger.outline'\n | 'danger.clear'\n | 'success.primary'\n | 'success.outline'\n | 'success.clear'\n | 'warning.primary'\n | 'warning.outline'\n | 'warning.clear'\n | 'note.primary'\n | 'note.outline'\n | 'note.clear'\n | 'special.primary'\n | 'special.outline'\n | 'special.clear';\n\nconst ItemActionElement = tasty({\n qa: 'ItemAction',\n styles: {\n ...ITEM_ACTION_BASE_STYLES,\n recipe: 'reset button',\n // Every variant below defines its own ring and overrides this one. It exists\n // for `current`, which reuses `CURRENT_ITEM_STYLES` — an `*_ITEM_STYLES`\n // flavour, and those leave focus to the collection that owns the row. A\n // focusable action is not a row, so it needs the ring back, and it uses the\n // same `#primary-accent-text` as every other type in `item-themes.ts`.\n outline: {\n '': '0 #primary-accent-text.0',\n focused: '1bw #primary-accent-text',\n },\n outlineOffset: 1,\n cursor: { '': '$pointer', disabled: 'default' },\n preset: {\n '': 't4',\n 'size=xlarge': 't3m',\n },\n padding: {\n '': '0 $inline-padding',\n 'has-icon': 0,\n 'has-icon & has-label': '$inline-padding right',\n },\n\n '$inline-padding': {\n '': 'max($min-inline-padding, (($action-size - 1lh - 2bw) / 2 + $inline-compensation))',\n 'size=inline': '.25x',\n },\n '$inline-compensation': '.5x',\n '$min-inline-padding': '(.5x - 1bw)',\n '$local-icon-size': '$icon-size',\n\n Icon: {\n $: '>',\n ...(ITEM_ACTION_BASE_STYLES.Icon as Styles),\n '$icon-size': 'min($local-icon-size, ($action-size - .25x))',\n },\n },\n variants: {\n // Inherited-color type — theme-agnostic, see `CURRENT_ITEM_STYLES`. Actions\n // inside a `current` Item use the borderless item flavour, not the chip.\n 'default.current': CURRENT_ITEM_STYLES,\n\n // Default theme\n 'default.primary': DEFAULT_PRIMARY_STYLES,\n 'default.outline': DEFAULT_OUTLINE_STYLES,\n 'default.clear': DEFAULT_CLEAR_STYLES,\n\n // Danger theme\n 'danger.primary': DANGER_PRIMARY_STYLES,\n 'danger.outline': DANGER_OUTLINE_STYLES,\n 'danger.clear': DANGER_CLEAR_STYLES,\n\n // Success theme\n 'success.primary': SUCCESS_PRIMARY_STYLES,\n 'success.outline': SUCCESS_OUTLINE_STYLES,\n 'success.clear': SUCCESS_CLEAR_STYLES,\n\n // Warning theme\n 'warning.primary': WARNING_PRIMARY_STYLES,\n 'warning.outline': WARNING_OUTLINE_STYLES,\n 'warning.clear': WARNING_CLEAR_STYLES,\n\n // Note theme\n 'note.primary': NOTE_PRIMARY_STYLES,\n 'note.outline': NOTE_OUTLINE_STYLES,\n 'note.clear': NOTE_CLEAR_STYLES,\n\n // Special theme\n 'special.primary': SPECIAL_PRIMARY_STYLES,\n 'special.outline': SPECIAL_OUTLINE_STYLES,\n 'special.clear': SPECIAL_CLEAR_STYLES,\n },\n});\n\nexport const ItemAction = forwardRef(function ItemAction(\n allProps: CubeItemActionProps,\n ref: FocusableRef<HTMLElement>,\n) {\n const {\n type: contextType,\n theme: contextTheme,\n disableActionsFocus,\n isDisabled: contextIsDisabled,\n } = useItemActionContext();\n\n const {\n // `current` derives every color from the row's inherited `currentcolor`, so\n // one type covers every host type and theme — no need to mirror the row's\n // `type` from context.\n //\n // An explicitly *themed* action is the exception: it is asking to paint\n // itself, not to match its host, and `current` is theme-agnostic by\n // construction, so it would have nothing to color with. Such actions fall\n // back to `clear`. The `!== 'default'` guard keeps `theme=\"default\"` inert —\n // passing a prop's own default value must never change what renders, which\n // is the invariant `no-redundant-default-prop` lints for.\n type = allProps.theme && allProps.theme !== 'default' ? 'clear' : 'current',\n theme = contextTheme ?? 'default',\n icon,\n children,\n isLoading = false,\n isSelected = false,\n tooltip,\n mods,\n styles,\n isDisabled: isDisabledProp,\n ...rest\n } = allProps;\n\n // Inherit disabled state from context, but allow local override\n const isDisabled = isDisabledProp ?? contextIsDisabled;\n\n // Determine if we should show a checkmark\n const hasCheckmark = icon === 'checkmark';\n\n // Determine final icon (loading takes precedence)\n const finalIcon = isLoading ? (\n <LoadingIcon />\n ) : hasCheckmark ? (\n <CheckIcon />\n ) : (\n icon\n );\n\n // Build modifiers\n const finalMods = useMemo(\n () => ({\n checkmark: hasCheckmark,\n selected: isSelected,\n loading: isLoading,\n 'has-label': !!children,\n context: !!contextType,\n 'has-icon': !!icon,\n ...mods,\n }),\n [hasCheckmark, isSelected, isLoading, children, contextType, mods],\n );\n\n // An explicit label always wins; a tooltip only fills in the accessible name\n // when there isn't one. Rich tooltip content can't serve as a name, so only\n // plain strings are used here.\n const ariaLabel = useMemo(() => {\n if (rest['aria-label']) {\n return rest['aria-label'];\n }\n if (typeof tooltip === 'string') {\n return tooltip;\n }\n if (typeof tooltip === 'object' && typeof tooltip.title === 'string') {\n return tooltip.title;\n }\n return undefined;\n }, [tooltip, rest]);\n\n // Call useAction hook\n const { actionProps } = useAction(\n {\n ...rest,\n isDisabled,\n 'aria-label': ariaLabel,\n mods: finalMods,\n htmlType: 'button',\n },\n ref,\n );\n\n // Set tabIndex when in context\n const finalTabIndex = disableActionsFocus ? -1 : rest.tabIndex;\n\n // Determine if we should show tooltip (icon-only buttons)\n const showTooltip = !children && tooltip;\n\n // Extract tooltip content and props\n const tooltipContent = useMemo(() => {\n if (typeof tooltip === 'string') {\n return tooltip;\n }\n if (typeof tooltip === 'object' && tooltip.title) {\n return tooltip.title;\n }\n return undefined;\n }, [tooltip]);\n\n const tooltipProps = useMemo(() => {\n if (typeof tooltip === 'object') {\n const { title, ...rest } = tooltip;\n return rest;\n }\n return {};\n }, [tooltip]);\n\n const finalType = type;\n\n // Render function that accepts tooltip trigger props and ref\n const renderButton = (\n tooltipTriggerProps?: HTMLAttributes<HTMLElement>,\n tooltipRef?: RefObject<HTMLElement>,\n ) => {\n // Merge tooltip ref with actionProps if provided\n const mergedProps = tooltipRef\n ? mergeProps(actionProps, tooltipTriggerProps || {}, {\n ref: (element: HTMLElement | null) => {\n // Set the tooltip ref\n if (tooltipRef) {\n (tooltipRef as any).current = element;\n }\n // Set the action ref if it exists in actionProps\n const actionRef = (actionProps as any).ref;\n if (actionRef) {\n if (typeof actionRef === 'function') {\n actionRef(element);\n } else {\n actionRef.current = element;\n }\n }\n },\n })\n : mergeProps(actionProps, tooltipTriggerProps || {});\n\n return (\n <ItemActionElement\n {...mergedProps}\n variant={\n `${finalType === 'current' ? 'default' : theme}.${finalType}` as ItemActionVariant\n }\n data-theme={theme}\n data-type={finalType}\n tabIndex={finalTabIndex}\n styles={styles}\n >\n {finalIcon && <div data-element=\"Icon\">{finalIcon}</div>}\n {children}\n </ItemActionElement>\n );\n };\n\n // Wrap with tooltip if needed\n if (showTooltip && tooltipContent) {\n return (\n <TooltipProvider title={tooltipContent} {...tooltipProps}>\n {(triggerProps, tooltipRef) => renderButton(triggerProps, tooltipRef)}\n </TooltipProvider>\n );\n }\n\n return renderButton();\n});\n\nexport type { CubeItemActionProps as ItemActionProps };\n"],"mappings":"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"}
1
+ {"version":3,"file":"ItemAction.js","names":[],"sources":["../../../../src/components/actions/ItemAction/ItemAction.tsx"],"sourcesContent":["import { FocusableRef } from '@react-types/shared';\nimport { BaseProps, Styles, tasty } from '@tenphi/tasty';\nimport {\n ComponentProps,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n RefObject,\n useMemo,\n} from 'react';\n\nimport {\n CURRENT_ITEM_STYLES,\n DANGER_CLEAR_STYLES,\n DANGER_OUTLINE_STYLES,\n DANGER_PRIMARY_STYLES,\n DEFAULT_CLEAR_STYLES,\n DEFAULT_OUTLINE_STYLES,\n DEFAULT_PRIMARY_STYLES,\n ITEM_ACTION_BASE_STYLES,\n NOTE_CLEAR_STYLES,\n NOTE_OUTLINE_STYLES,\n NOTE_PRIMARY_STYLES,\n SPECIAL_CLEAR_STYLES,\n SPECIAL_OUTLINE_STYLES,\n SPECIAL_PRIMARY_STYLES,\n SUCCESS_CLEAR_STYLES,\n SUCCESS_OUTLINE_STYLES,\n SUCCESS_PRIMARY_STYLES,\n WARNING_CLEAR_STYLES,\n WARNING_OUTLINE_STYLES,\n WARNING_PRIMARY_STYLES,\n} from '../../../data/item-themes';\nimport { CheckIcon } from '../../../icons/CheckIcon';\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { mergeProps } from '../../../utils/react';\nimport { TooltipProvider } from '../../overlays/Tooltip/TooltipProvider';\nimport { useItemActionContext } from '../ItemActionContext';\nimport { CubeUseActionProps, useAction } from '../use-action';\n\nexport interface CubeItemActionProps\n extends Omit<CubeUseActionProps, 'as' | 'htmlType'>,\n Omit<BaseProps, 'as'> {\n icon?: ReactNode | 'checkmark';\n children?: ReactNode;\n isLoading?: boolean;\n isSelected?: boolean;\n type?: 'primary' | 'outline' | 'clear' | 'current' | (string & {});\n theme?:\n | 'default'\n | 'danger'\n | 'success'\n | 'warning'\n | 'note'\n | 'special'\n | (string & {});\n tooltip?:\n | string\n | (Omit<ComponentProps<typeof TooltipProvider>, 'children'> & {\n title?: ReactNode;\n });\n styles?: Styles;\n tabIndex?: number;\n}\n\ntype ItemActionVariant =\n // Theme-agnostic inherited-color type — see `CURRENT_ITEM_STYLES`.\n | 'default.current'\n | 'default.primary'\n | 'default.outline'\n | 'default.clear'\n | 'danger.primary'\n | 'danger.outline'\n | 'danger.clear'\n | 'success.primary'\n | 'success.outline'\n | 'success.clear'\n | 'warning.primary'\n | 'warning.outline'\n | 'warning.clear'\n | 'note.primary'\n | 'note.outline'\n | 'note.clear'\n | 'special.primary'\n | 'special.outline'\n | 'special.clear';\n\nconst ItemActionElement = tasty({\n qa: 'ItemAction',\n styles: {\n ...ITEM_ACTION_BASE_STYLES,\n recipe: 'reset button',\n outlineOffset: 1,\n cursor: { '': '$pointer', disabled: 'default' },\n preset: {\n '': 't4',\n 'size=xlarge': 't3m',\n },\n padding: {\n '': '0 $inline-padding',\n 'has-icon': 0,\n 'has-icon & has-label': '$inline-padding right',\n },\n\n '$inline-padding': {\n '': 'max($min-inline-padding, (($action-size - 1lh - 2bw) / 2 + $inline-compensation))',\n 'size=inline': '.25x',\n },\n '$inline-compensation': '.5x',\n '$min-inline-padding': '(.5x - 1bw)',\n '$local-icon-size': '$icon-size',\n\n Icon: {\n $: '>',\n ...(ITEM_ACTION_BASE_STYLES.Icon as Styles),\n '$icon-size': 'min($local-icon-size, ($action-size - .25x))',\n },\n },\n variants: {\n // Inherited-color type — theme-agnostic, see `CURRENT_ITEM_STYLES`. Actions\n // inside a `current` Item use the borderless item flavour, not the chip.\n 'default.current': CURRENT_ITEM_STYLES,\n\n // Default theme\n 'default.primary': DEFAULT_PRIMARY_STYLES,\n 'default.outline': DEFAULT_OUTLINE_STYLES,\n 'default.clear': DEFAULT_CLEAR_STYLES,\n\n // Danger theme\n 'danger.primary': DANGER_PRIMARY_STYLES,\n 'danger.outline': DANGER_OUTLINE_STYLES,\n 'danger.clear': DANGER_CLEAR_STYLES,\n\n // Success theme\n 'success.primary': SUCCESS_PRIMARY_STYLES,\n 'success.outline': SUCCESS_OUTLINE_STYLES,\n 'success.clear': SUCCESS_CLEAR_STYLES,\n\n // Warning theme\n 'warning.primary': WARNING_PRIMARY_STYLES,\n 'warning.outline': WARNING_OUTLINE_STYLES,\n 'warning.clear': WARNING_CLEAR_STYLES,\n\n // Note theme\n 'note.primary': NOTE_PRIMARY_STYLES,\n 'note.outline': NOTE_OUTLINE_STYLES,\n 'note.clear': NOTE_CLEAR_STYLES,\n\n // Special theme\n 'special.primary': SPECIAL_PRIMARY_STYLES,\n 'special.outline': SPECIAL_OUTLINE_STYLES,\n 'special.clear': SPECIAL_CLEAR_STYLES,\n },\n});\n\nexport const ItemAction = forwardRef(function ItemAction(\n allProps: CubeItemActionProps,\n ref: FocusableRef<HTMLElement>,\n) {\n const {\n type: contextType,\n theme: contextTheme,\n disableActionsFocus,\n isDisabled: contextIsDisabled,\n } = useItemActionContext();\n\n const {\n type = contextType ?? 'clear',\n theme = contextTheme ?? 'default',\n icon,\n children,\n isLoading = false,\n isSelected = false,\n tooltip,\n mods,\n styles,\n isDisabled: isDisabledProp,\n ...rest\n } = allProps;\n\n // Inherit disabled state from context, but allow local override\n const isDisabled = isDisabledProp ?? contextIsDisabled;\n\n // Determine if we should show a checkmark\n const hasCheckmark = icon === 'checkmark';\n\n // Determine final icon (loading takes precedence)\n const finalIcon = isLoading ? (\n <LoadingIcon />\n ) : hasCheckmark ? (\n <CheckIcon />\n ) : (\n icon\n );\n\n // Build modifiers\n const finalMods = useMemo(\n () => ({\n checkmark: hasCheckmark,\n selected: isSelected,\n loading: isLoading,\n 'has-label': !!children,\n context: !!contextType,\n 'has-icon': !!icon,\n ...mods,\n }),\n [hasCheckmark, isSelected, isLoading, children, contextType, mods],\n );\n\n // An explicit label always wins; a tooltip only fills in the accessible name\n // when there isn't one. Rich tooltip content can't serve as a name, so only\n // plain strings are used here.\n const ariaLabel = useMemo(() => {\n if (rest['aria-label']) {\n return rest['aria-label'];\n }\n if (typeof tooltip === 'string') {\n return tooltip;\n }\n if (typeof tooltip === 'object' && typeof tooltip.title === 'string') {\n return tooltip.title;\n }\n return undefined;\n }, [tooltip, rest]);\n\n // Call useAction hook\n const { actionProps } = useAction(\n {\n ...rest,\n isDisabled,\n 'aria-label': ariaLabel,\n mods: finalMods,\n htmlType: 'button',\n },\n ref,\n );\n\n // Set tabIndex when in context\n const finalTabIndex = disableActionsFocus ? -1 : rest.tabIndex;\n\n // Determine if we should show tooltip (icon-only buttons)\n const showTooltip = !children && tooltip;\n\n // Extract tooltip content and props\n const tooltipContent = useMemo(() => {\n if (typeof tooltip === 'string') {\n return tooltip;\n }\n if (typeof tooltip === 'object' && tooltip.title) {\n return tooltip.title;\n }\n return undefined;\n }, [tooltip]);\n\n const tooltipProps = useMemo(() => {\n if (typeof tooltip === 'object') {\n const { title, ...rest } = tooltip;\n return rest;\n }\n return {};\n }, [tooltip]);\n\n const finalType = type;\n\n // Render function that accepts tooltip trigger props and ref\n const renderButton = (\n tooltipTriggerProps?: HTMLAttributes<HTMLElement>,\n tooltipRef?: RefObject<HTMLElement>,\n ) => {\n // Merge tooltip ref with actionProps if provided\n const mergedProps = tooltipRef\n ? mergeProps(actionProps, tooltipTriggerProps || {}, {\n ref: (element: HTMLElement | null) => {\n // Set the tooltip ref\n if (tooltipRef) {\n (tooltipRef as any).current = element;\n }\n // Set the action ref if it exists in actionProps\n const actionRef = (actionProps as any).ref;\n if (actionRef) {\n if (typeof actionRef === 'function') {\n actionRef(element);\n } else {\n actionRef.current = element;\n }\n }\n },\n })\n : mergeProps(actionProps, tooltipTriggerProps || {});\n\n return (\n <ItemActionElement\n {...mergedProps}\n variant={\n `${finalType === 'current' ? 'default' : theme}.${finalType}` as ItemActionVariant\n }\n data-theme={theme}\n data-type={finalType}\n tabIndex={finalTabIndex}\n styles={styles}\n >\n {finalIcon && <div data-element=\"Icon\">{finalIcon}</div>}\n {children}\n </ItemActionElement>\n );\n };\n\n // Wrap with tooltip if needed\n if (showTooltip && tooltipContent) {\n return (\n <TooltipProvider title={tooltipContent} {...tooltipProps}>\n {(triggerProps, tooltipRef) => renderButton(triggerProps, tooltipRef)}\n </TooltipProvider>\n );\n }\n\n return renderButton();\n});\n\nexport type { CubeItemActionProps as ItemActionProps };\n"],"mappings":"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"}
@@ -4,20 +4,6 @@ import { ReactNode } from "react";
4
4
  import * as react_jsx_runtime0 from "react/jsx-runtime";
5
5
 
6
6
  //#region src/components/actions/ItemActionContext.d.ts
7
- /**
8
- * What an `ItemAction` / `ItemBadge` picks up from the row that hosts it.
9
- *
10
- * `type` is deliberately NOT a styling input. Actions default to the `current`
11
- * type, which derives every color from the row's own `currentcolor`, so they
12
- * track the host's type without being told what it is — see
13
- * `CURRENT_ITEM_STYLES`. It is still carried here because its *presence* marks
14
- * "inside a host", which drives the `context` mod that collapses the action's
15
- * side margins.
16
- *
17
- * `theme` is still consumed: `current` needs to know when it sits on the
18
- * special theme's dark surface, where the alpha ramp has to step harder to stay
19
- * visible. `ItemAction` forwards it to `data-theme` for that one purpose.
20
- */
21
7
  interface ItemActionContextValue {
22
8
  type?: CubeItemProps['type'];
23
9
  theme?: 'default' | 'danger' | 'success' | 'special' | (string & {});
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -7,7 +7,7 @@ const ItemActionContext = createContext(void 0);
7
7
  function ItemActionProvider({ type, theme, disableActionsFocus, isDisabled, children }) {
8
8
  return /* @__PURE__ */ jsx(ItemActionContext.Provider, {
9
9
  value: {
10
- type,
10
+ type: type === "item" || type === "outline" || type === "outline-2" || type === "header" || type === "card" ? "clear" : type,
11
11
  theme,
12
12
  disableActionsFocus,
13
13
  isDisabled
@@ -1 +1 @@
1
- {"version":3,"file":"ItemActionContext.js","names":[],"sources":["../../../src/components/actions/ItemActionContext.tsx"],"sourcesContent":["import { createContext, ReactNode, useContext } from 'react';\n\nimport type { CubeItemProps } from '../content/Item/Item';\n\n/**\n * What an `ItemAction` / `ItemBadge` picks up from the row that hosts it.\n *\n * `type` is deliberately NOT a styling input. Actions default to the `current`\n * type, which derives every color from the row's own `currentcolor`, so they\n * track the host's type without being told what it is — see\n * `CURRENT_ITEM_STYLES`. It is still carried here because its *presence* marks\n * \"inside a host\", which drives the `context` mod that collapses the action's\n * side margins.\n *\n * `theme` is still consumed: `current` needs to know when it sits on the\n * special theme's dark surface, where the alpha ramp has to step harder to stay\n * visible. `ItemAction` forwards it to `data-theme` for that one purpose.\n */\ninterface ItemActionContextValue {\n type?: CubeItemProps['type'];\n theme?: 'default' | 'danger' | 'success' | 'special' | (string & {});\n disableActionsFocus?: boolean;\n isDisabled?: boolean;\n}\n\nconst ItemActionContext = createContext<ItemActionContextValue | undefined>(\n undefined,\n);\n\nexport interface ItemActionProviderProps {\n type?: CubeItemProps['type'];\n theme?: 'default' | 'danger' | 'success' | 'special' | (string & {});\n disableActionsFocus?: boolean;\n isDisabled?: boolean;\n children: ReactNode;\n}\n\nexport function ItemActionProvider({\n type,\n theme,\n disableActionsFocus,\n isDisabled,\n children,\n}: ItemActionProviderProps) {\n return (\n <ItemActionContext.Provider\n value={{\n // Passed through as-is. The mapping that used to fold the row types onto\n // `clear` here existed only to pick an action variant, which `current`\n // now does on its own.\n type,\n theme,\n disableActionsFocus,\n isDisabled,\n }}\n >\n {children}\n </ItemActionContext.Provider>\n );\n}\n\nexport function useItemActionContext(): ItemActionContextValue {\n return useContext(ItemActionContext) ?? {};\n}\n"],"mappings":";;;;;AAyBA,MAAM,oBAAoB,cACxB,OACD;AAUD,SAAgB,mBAAmB,EACjC,MACA,OACA,qBACA,YACA,YAC0B;AAC1B,QACE,oBAAC,kBAAkB;EACjB,OAAO;GAIL;GACA;GACA;GACA;GACD;EAEA;GAC0B;;AAIjC,SAAgB,uBAA+C;AAC7D,QAAO,WAAW,kBAAkB,IAAI,EAAE"}
1
+ {"version":3,"file":"ItemActionContext.js","names":[],"sources":["../../../src/components/actions/ItemActionContext.tsx"],"sourcesContent":["import { createContext, ReactNode, useContext } from 'react';\n\nimport type { CubeItemProps } from '../content/Item/Item';\n\ninterface ItemActionContextValue {\n type?: CubeItemProps['type'];\n theme?: 'default' | 'danger' | 'success' | 'special' | (string & {});\n disableActionsFocus?: boolean;\n isDisabled?: boolean;\n}\n\nconst ItemActionContext = createContext<ItemActionContextValue | undefined>(\n undefined,\n);\n\nexport interface ItemActionProviderProps {\n type?: CubeItemProps['type'];\n theme?: 'default' | 'danger' | 'success' | 'special' | (string & {});\n disableActionsFocus?: boolean;\n isDisabled?: boolean;\n children: ReactNode;\n}\n\nexport function ItemActionProvider({\n type,\n theme,\n disableActionsFocus,\n isDisabled,\n children,\n}: ItemActionProviderProps) {\n return (\n <ItemActionContext.Provider\n value={{\n type:\n type === 'item' ||\n type === 'outline' ||\n type === 'outline-2' ||\n type === 'header' ||\n type === 'card'\n ? 'clear'\n : type,\n theme,\n disableActionsFocus,\n isDisabled,\n }}\n >\n {children}\n </ItemActionContext.Provider>\n );\n}\n\nexport function useItemActionContext(): ItemActionContextValue {\n return useContext(ItemActionContext) ?? {};\n}\n"],"mappings":";;;;;AAWA,MAAM,oBAAoB,cACxB,OACD;AAUD,SAAgB,mBAAmB,EACjC,MACA,OACA,qBACA,YACA,YAC0B;AAC1B,QACE,oBAAC,kBAAkB;EACjB,OAAO;GACL,MACE,SAAS,UACT,SAAS,aACT,SAAS,eACT,SAAS,YACT,SAAS,SACL,UACA;GACN;GACA;GACA;GACD;EAEA;GAC0B;;AAIjC,SAAgB,uBAA+C;AAC7D,QAAO,WAAW,kBAAkB,IAAI,EAAE"}
@@ -1,10 +1,9 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } 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
6
  import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
7
- import { ITEM_RESTING_COLOR_VARIANTS, resolveItemVariant } from "../../../data/item-themes.js";
8
7
  import { ItemActionProvider } from "../ItemActionContext.js";
9
8
  import { useAction } from "../use-action.js";
10
9
  import { ItemAction } from "../ItemAction/ItemAction.js";
@@ -25,52 +24,49 @@ const StyledItem = tasty(_Item, {
25
24
  placeContent: "center stretch"
26
25
  }
27
26
  });
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"
27
+ const ActionsWrapper = tasty({ styles: {
28
+ display: "grid",
29
+ position: "relative",
30
+ placeContent: "stretch",
31
+ placeItems: "stretch",
32
+ $size: {
33
+ "": "$size-md",
34
+ "size=xsmall": "$size-xs",
35
+ "size=small": "$size-sm",
36
+ "size=medium": "$size-md",
37
+ "size=large": "$size-lg",
38
+ "size=xlarge": "$size-xl"
39
+ },
40
+ Actions: {
41
+ $: ">",
42
+ position: "absolute",
43
+ inset: {
44
+ "": "1bw 1bw auto auto",
45
+ "type=card": "(1bw + .5x) (1bw + .5x) auto auto"
42
46
  },
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
- }
47
+ display: "flex",
48
+ gap: "1bw",
49
+ placeItems: "center",
50
+ placeContent: "center end",
51
+ pointerEvents: {
52
+ "": "auto",
53
+ "!actions-shown": "none"
54
+ },
55
+ padding: "0 $side-padding",
56
+ height: "min ($size - 2bw)",
57
+ opacity: {
58
+ "": 1,
59
+ "!actions-shown": 0
60
+ },
61
+ translate: {
62
+ "": "0 0",
63
+ "!actions-shown": ".5x 0"
64
+ },
65
+ transition: "theme, translate",
66
+ "$action-size": "min(max((2x + 2bw), ($size - 1x - 2bw)), (3x - 2bw))",
67
+ "$side-padding": "(($size - $action-size - 2bw) / 2)"
72
68
  }
73
- });
69
+ } });
74
70
  const ItemButton = forwardRef(function ItemButton(allProps, ref) {
75
71
  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;
76
72
  const finalIsDisabled = isDisabled === true || isLoading && isDisabled !== false;
@@ -146,7 +142,6 @@ const ItemButton = forwardRef(function ItemButton(allProps, ref) {
146
142
  });
147
143
  if (actions) return /* @__PURE__ */ jsxs(ActionsWrapper, {
148
144
  ...hoverProps,
149
- variant: resolveItemVariant(theme, type),
150
145
  "data-size": size,
151
146
  "data-type": type,
152
147
  "data-theme": theme,
@@ -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 const finalMods = useMemo(() => {\n return shouldShowActions ? { ...mods, 'actions-shown': true } : mods;\n }, [mods, shouldShowActions]);\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":"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"}
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 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 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 const finalMods = useMemo(() => {\n return shouldShowActions ? { ...mods, 'actions-shown': true } : mods;\n }, [mods, shouldShowActions]);\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 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":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | 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-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | 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-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | 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-d3e63ad | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-e5b4f54 | 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";
@@ -10,6 +10,19 @@ type CubeMenuTriggerProps = AriaMenuTriggerProps$1 & PositionProps & {
10
10
  children: [ReactElement | ((state: MenuTriggerState) => ReactElement), ReactElement];
11
11
  closeOnSelect?: boolean;
12
12
  isDummy?: boolean;
13
+ /**
14
+ * Whether focus returns to the trigger when the menu closes. Defaults to
15
+ * `true`.
16
+ *
17
+ * The restore is skipped automatically whenever the action that closed the
18
+ * menu has already moved focus somewhere else, so an item that opens a
19
+ * panel/dialog/inline editor and focuses it needs nothing here. Pass
20
+ * `false` for the remaining case: a surface that claims focus *later* than
21
+ * the menu's own restore (after an async load, an entry animation, or a
22
+ * `requestAnimationFrame`), where the trigger would otherwise take focus
23
+ * first and produce a visible flash.
24
+ */
25
+ shouldRestoreFocus?: boolean;
13
26
  /**
14
27
  * External ref to the popover container element. When provided, it is
15
28
  * aliased to the internal `menuPopoverRef`, letting consumers (e.g.