@cube-dev/ui-kit 0.148.0 → 0.149.1

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 (494) hide show
  1. package/dist/CHANGELOG.md +24 -0
  2. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.js +1 -1
  17. package/dist/components/actions/Action/Action.js +1 -1
  18. package/dist/components/actions/Banner/Banner.js +1 -1
  19. package/dist/components/actions/Button/Button.js +1 -1
  20. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  21. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  22. package/dist/components/actions/ButtonSplit/context.js +1 -1
  23. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  24. package/dist/components/actions/CommandMenu/styled.js +1 -1
  25. package/dist/components/actions/ItemAction/ItemAction.d.ts +1 -1
  26. package/dist/components/actions/ItemAction/ItemAction.js +4 -4
  27. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  28. package/dist/components/actions/ItemActionContext.js +1 -1
  29. package/dist/components/actions/ItemButton/ItemButton.js +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 +9 -6
  51. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  52. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  53. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  54. package/dist/components/content/Divider.js +1 -1
  55. package/dist/components/content/Footer.js +1 -1
  56. package/dist/components/content/Header.js +1 -1
  57. package/dist/components/content/HotKeys/HotKeys.js +3 -3
  58. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  59. package/dist/components/content/InfoBadge/InfoBadge.d.ts +45 -0
  60. package/dist/components/content/InfoBadge/InfoBadge.js +169 -0
  61. package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -0
  62. package/dist/components/content/InlineInput/InlineInput.js +7 -11
  63. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  64. package/dist/components/content/Item/Item.js +1 -1
  65. package/dist/components/content/ItemBadge/ItemBadge.d.ts +1 -1
  66. package/dist/components/content/ItemBadge/ItemBadge.js +3 -3
  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 +2 -2
  73. package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
  74. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  75. package/dist/components/content/Layout/LayoutContent.js +1 -1
  76. package/dist/components/content/Layout/LayoutContext.js +1 -1
  77. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  78. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  79. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  80. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  81. package/dist/components/content/Layout/LayoutPane.js +1 -1
  82. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  83. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  84. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  85. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  86. package/dist/components/content/Layout/index.js +1 -1
  87. package/dist/components/content/Layout/utils.js +1 -1
  88. package/dist/components/content/Paragraph.js +1 -1
  89. package/dist/components/content/Placeholder/Placeholder.js +3 -4
  90. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  91. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  92. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  93. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  94. package/dist/components/content/Result/Result.js +1 -1
  95. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  96. package/dist/components/content/Tag/Tag.js +1 -1
  97. package/dist/components/content/Text.js +1 -1
  98. package/dist/components/content/TextItem/TextItem.js +1 -1
  99. package/dist/components/content/Title.js +1 -1
  100. package/dist/components/content/Tree/Tree.js +1 -1
  101. package/dist/components/content/Tree/TreeNode.js +1 -1
  102. package/dist/components/content/Tree/styled.js +3 -4
  103. package/dist/components/content/Tree/styled.js.map +1 -1
  104. package/dist/components/content/Tree/tree-index.js +1 -1
  105. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  106. package/dist/components/content/Tree/use-load-data.js +1 -1
  107. package/dist/components/content/highlightText.js +1 -1
  108. package/dist/components/content/use-auto-tooltip.js +1 -1
  109. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  110. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  111. package/dist/components/fields/Checkbox/context.js +1 -1
  112. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  113. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  114. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  115. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  116. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  117. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  118. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  119. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  120. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  121. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  122. package/dist/components/fields/DatePicker/DatePickerSegment.js +2 -2
  123. package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
  124. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  125. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  126. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  127. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  128. package/dist/components/fields/DatePicker/props.js +1 -1
  129. package/dist/components/fields/DatePicker/utils.js +1 -1
  130. package/dist/components/fields/FileInput/FileInput.js +1 -1
  131. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  132. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  133. package/dist/components/fields/Input/Input.js +1 -1
  134. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  135. package/dist/components/fields/ListBox/ListBox.js +4 -4
  136. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  137. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  138. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  139. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  140. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  141. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  142. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  143. package/dist/components/fields/Picker/Picker.js +1 -1
  144. package/dist/components/fields/RadioGroup/Radio.js +2 -2
  145. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  146. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  147. package/dist/components/fields/RadioGroup/context.js +1 -1
  148. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  149. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  150. package/dist/components/fields/Select/Select.js +1 -1
  151. package/dist/components/fields/Slider/Gradation.js +1 -1
  152. package/dist/components/fields/Slider/HueSlider.js +1 -1
  153. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  154. package/dist/components/fields/Slider/Slider.js +1 -1
  155. package/dist/components/fields/Slider/SliderBase.js +1 -1
  156. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  157. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  158. package/dist/components/fields/Slider/elements.js +3 -3
  159. package/dist/components/fields/Slider/elements.js.map +1 -1
  160. package/dist/components/fields/Slider/index.js +1 -1
  161. package/dist/components/fields/Switch/Switch.js +2 -2
  162. package/dist/components/fields/Switch/Switch.js.map +1 -1
  163. package/dist/components/fields/TextArea/TextArea.js +1 -1
  164. package/dist/components/fields/TextInput/TextInput.js +1 -1
  165. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  166. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  167. package/dist/components/form/FieldWrapper/FieldWrapper.js +3 -8
  168. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  169. package/dist/components/form/Form/Field.js +1 -1
  170. package/dist/components/form/Form/Form.js +1 -1
  171. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  172. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  173. package/dist/components/form/Form/SubmitError.js +1 -1
  174. package/dist/components/form/Form/index.js +1 -1
  175. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  176. package/dist/components/form/Form/use-field/use-field.js +1 -1
  177. package/dist/components/form/Form/use-form.js +1 -1
  178. package/dist/components/form/Form/validation.js +1 -1
  179. package/dist/components/form/Label.js +1 -1
  180. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  181. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  182. package/dist/components/form/validation/use-validation-props.js +1 -1
  183. package/dist/components/form/wrapper.js +1 -1
  184. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  185. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  186. package/dist/components/layout/Board/Board.js +2 -2
  187. package/dist/components/layout/Board/Board.js.map +1 -1
  188. package/dist/components/layout/Board/BoardProvider.js +1 -1
  189. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  190. package/dist/components/layout/Board/Widget.js +1 -1
  191. package/dist/components/layout/Board/WidgetHost.js +7 -7
  192. package/dist/components/layout/Board/WidgetHost.js.map +1 -1
  193. package/dist/components/layout/Board/board-context.js +1 -1
  194. package/dist/components/layout/Board/board-store.js +1 -1
  195. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  196. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  197. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  198. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  199. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  200. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  201. package/dist/components/layout/Board/index.js +1 -1
  202. package/dist/components/layout/Board/responsive-utils.js +1 -1
  203. package/dist/components/layout/Board/use-board-layout.js +1 -1
  204. package/dist/components/layout/Board/use-board-registry.js +1 -1
  205. package/dist/components/layout/Flex.js +1 -1
  206. package/dist/components/layout/Flow.js +1 -1
  207. package/dist/components/layout/Grid.js +1 -1
  208. package/dist/components/layout/Panel.js +1 -1
  209. package/dist/components/layout/Prefix.js +1 -1
  210. package/dist/components/layout/ResizablePanel.js +1 -1
  211. package/dist/components/layout/Space.js +1 -1
  212. package/dist/components/layout/Suffix.js +1 -1
  213. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  214. package/dist/components/navigation/Tabs/TabButton.js +2 -2
  215. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  216. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  217. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  218. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  219. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  220. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  221. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  222. package/dist/components/navigation/Tabs/styled.js +6 -6
  223. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  224. package/dist/components/navigation/Tabs/types.js +1 -1
  225. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  226. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  227. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  228. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  229. package/dist/components/other/Calendar/Calendar.js +1 -1
  230. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  231. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  232. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  233. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  234. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  235. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  236. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  237. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  238. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  239. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  240. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  241. package/dist/components/overlays/Dialog/context.js +1 -1
  242. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  243. package/dist/components/overlays/Modal/Modal.js +7 -6
  244. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  245. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  246. package/dist/components/overlays/Modal/Overlay.js +1 -1
  247. package/dist/components/overlays/Modal/Popover.js +7 -6
  248. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  249. package/dist/components/overlays/Modal/Tray.js +7 -6
  250. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  251. package/dist/components/overlays/Modal/Underlay.js +1 -1
  252. package/dist/components/overlays/Notifications/Notification.js +1 -1
  253. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  254. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  255. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  256. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  257. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  258. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  259. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  260. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  261. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  262. package/dist/components/overlays/Notifications/index.js +1 -1
  263. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  264. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  265. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  266. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  267. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  268. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  269. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  270. package/dist/components/overlays/Toast/index.js +1 -1
  271. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  272. package/dist/components/overlays/Toast/useToast.js +1 -1
  273. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  274. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  275. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  276. package/dist/components/overlays/Tooltip/context.js +1 -1
  277. package/dist/components/portal/Portal.js +1 -1
  278. package/dist/components/portal/PortalProvider.js +1 -1
  279. package/dist/components/portal/usePortal.js +1 -1
  280. package/dist/components/shared/DraggableCollection.js +1 -1
  281. package/dist/components/shared/InvalidIcon.js +1 -1
  282. package/dist/components/shared/ValidIcon.js +1 -1
  283. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  284. package/dist/components/status/Spin/Cube.js +2 -2
  285. package/dist/components/status/Spin/Cube.js.map +1 -1
  286. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  287. package/dist/components/status/Spin/Spin.js +1 -1
  288. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  289. package/dist/data/item-themes.js +1 -1
  290. package/dist/data/themes.js +1 -1
  291. package/dist/i18n/I18nProvider.js +1 -1
  292. package/dist/i18n/createFormatter.js +1 -1
  293. package/dist/i18n/index.js +1 -1
  294. package/dist/i18n/instance.js +1 -1
  295. package/dist/i18n/locales/de-DE/uikit.js +5 -1
  296. package/dist/i18n/locales/en-US/uikit.js +5 -1
  297. package/dist/i18n/locales/en-US/uikit.json.d.ts +9 -4
  298. package/dist/i18n/locales/es-ES/uikit.js +5 -1
  299. package/dist/i18n/locales/es-MX/uikit.js +5 -1
  300. package/dist/i18n/locales/fr-FR/uikit.js +5 -1
  301. package/dist/i18n/locales/it-IT/uikit.js +5 -1
  302. package/dist/i18n/locales/ja-JP/uikit.js +5 -1
  303. package/dist/i18n/locales/nb-NO/uikit.js +5 -1
  304. package/dist/i18n/locales/pt-BR/uikit.js +5 -1
  305. package/dist/i18n/locales/pt-PT/uikit.js +5 -1
  306. package/dist/i18n/locales/sv-SE/uikit.js +5 -1
  307. package/dist/i18n/locales/vi-VN/uikit.js +5 -1
  308. package/dist/i18n/locales.js +1 -1
  309. package/dist/i18n/useFormatter.js +1 -1
  310. package/dist/i18n/useI18n.js +1 -1
  311. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  312. package/dist/icons/AdjustmentsIcon.js +1 -1
  313. package/dist/icons/AiIcon.js +1 -1
  314. package/dist/icons/AreaChartIcon.js +1 -1
  315. package/dist/icons/BackwardIcon.js +1 -1
  316. package/dist/icons/BarChartIcon.js +1 -1
  317. package/dist/icons/BellFilledIcon.js +1 -1
  318. package/dist/icons/BellIcon.js +1 -1
  319. package/dist/icons/BooleanIcon.js +1 -1
  320. package/dist/icons/CalendarEditIcon.js +1 -1
  321. package/dist/icons/CalendarIcon.js +1 -1
  322. package/dist/icons/CaretDownIcon.js +1 -1
  323. package/dist/icons/CaretUpIcon.js +1 -1
  324. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  325. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  326. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  327. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  328. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  329. package/dist/icons/ChartBarLineIcon.js +1 -1
  330. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  331. package/dist/icons/ChartBarStackedIcon.js +1 -1
  332. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  333. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  334. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  335. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  336. package/dist/icons/ChartBubbleIcon.js +1 -1
  337. package/dist/icons/ChartDonut2Icon.js +1 -1
  338. package/dist/icons/ChartFunnelIcon.js +1 -1
  339. package/dist/icons/ChartHeatmapIcon.js +1 -1
  340. package/dist/icons/ChartKPIIcon.js +1 -1
  341. package/dist/icons/ChartPie2Icon.js +1 -1
  342. package/dist/icons/ChartScatterIcon.js +1 -1
  343. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  344. package/dist/icons/CheckCircleIcon.js +1 -1
  345. package/dist/icons/CheckIcon.js +1 -1
  346. package/dist/icons/CircleFilledIcon.js +1 -1
  347. package/dist/icons/ClearIcon.js +1 -1
  348. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  349. package/dist/icons/CloseCircleIcon.js +1 -1
  350. package/dist/icons/CloseIcon.js +1 -1
  351. package/dist/icons/CodeIcon.js +1 -1
  352. package/dist/icons/ColumnTotalIcon.js +1 -1
  353. package/dist/icons/CopyIcon.js +1 -1
  354. package/dist/icons/CountIcon.js +1 -1
  355. package/dist/icons/CubeIcon.js +1 -1
  356. package/dist/icons/CubePauseIcon.js +1 -1
  357. package/dist/icons/CubePlayIcon.js +1 -1
  358. package/dist/icons/CurrencyDollarIcon.js +1 -1
  359. package/dist/icons/DangerIcon.js +1 -1
  360. package/dist/icons/DashboardIcon.js +1 -1
  361. package/dist/icons/DatabaseIcon.js +1 -1
  362. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  363. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  364. package/dist/icons/DirectionIcon.js +1 -1
  365. package/dist/icons/DonutIcon.js +1 -1
  366. package/dist/icons/DownIcon.js +1 -1
  367. package/dist/icons/EditIcon.js +1 -1
  368. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  369. package/dist/icons/ExclamationCircleIcon.js +1 -1
  370. package/dist/icons/ExclamationIcon.js +1 -1
  371. package/dist/icons/EyeIcon.js +1 -1
  372. package/dist/icons/EyeInvisibleIcon.js +1 -1
  373. package/dist/icons/FilterIcon.js +1 -1
  374. package/dist/icons/FolderFilledIcon.js +1 -1
  375. package/dist/icons/FolderIcon.js +1 -1
  376. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  377. package/dist/icons/FolderOpenIcon.js +1 -1
  378. package/dist/icons/ForwardIcon.js +1 -1
  379. package/dist/icons/GripVerticalIcon.js +1 -1
  380. package/dist/icons/HierarchyIcon.js +1 -1
  381. package/dist/icons/HierarchyOpenIcon.js +1 -1
  382. package/dist/icons/Icon.js +1 -1
  383. package/dist/icons/InfoCircleIcon.js +1 -1
  384. package/dist/icons/InfoIcon.js +1 -1
  385. package/dist/icons/KeyIcon.js +1 -1
  386. package/dist/icons/LeftIcon.js +1 -1
  387. package/dist/icons/LineChartIcon.js +1 -1
  388. package/dist/icons/LoadingIcon.js +1 -1
  389. package/dist/icons/LockFilledIcon.js +1 -1
  390. package/dist/icons/LockIcon.js +1 -1
  391. package/dist/icons/MoreIcon.js +1 -1
  392. package/dist/icons/NotAllowedIcon.js +1 -1
  393. package/dist/icons/Number123Icon.js +1 -1
  394. package/dist/icons/NumberIcon.js +1 -1
  395. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  396. package/dist/icons/PauseCircleIcon.js +1 -1
  397. package/dist/icons/PauseIcon.js +1 -1
  398. package/dist/icons/PercentageIcon.js +1 -1
  399. package/dist/icons/PieChartIcon.js +1 -1
  400. package/dist/icons/PlayCircleIcon.js +1 -1
  401. package/dist/icons/PlayIcon.js +1 -1
  402. package/dist/icons/PlusIcon.js +1 -1
  403. package/dist/icons/ProgressBarIcon.js +1 -1
  404. package/dist/icons/ReloadIcon.js +1 -1
  405. package/dist/icons/ReportIcon.js +1 -1
  406. package/dist/icons/ReturnIcon.js +1 -1
  407. package/dist/icons/RightIcon.js +1 -1
  408. package/dist/icons/RowTotalsIcon.js +1 -1
  409. package/dist/icons/SchemeIcon.js +1 -1
  410. package/dist/icons/SearchIcon.js +1 -1
  411. package/dist/icons/SemanticQueryIcon.js +1 -1
  412. package/dist/icons/SettingsIcon.js +1 -1
  413. package/dist/icons/ShieldFilledIcon.js +1 -1
  414. package/dist/icons/ShieldIcon.js +1 -1
  415. package/dist/icons/SlashIcon.js +1 -1
  416. package/dist/icons/SparklesIcon.js +1 -1
  417. package/dist/icons/SqlIcon.js +1 -1
  418. package/dist/icons/StatsIcon.js +1 -1
  419. package/dist/icons/StopIcon.js +1 -1
  420. package/dist/icons/StringIcon.js +1 -1
  421. package/dist/icons/SubtotalsIcon.js +1 -1
  422. package/dist/icons/SwitchIcon.js +1 -1
  423. package/dist/icons/TableIcon.js +1 -1
  424. package/dist/icons/ThumbsDownIcon.js +1 -1
  425. package/dist/icons/ThumbsUpIcon.js +1 -1
  426. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  427. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  428. package/dist/icons/ThunderboltIcon.js +1 -1
  429. package/dist/icons/TimeIcon.js +1 -1
  430. package/dist/icons/TrashIcon.js +1 -1
  431. package/dist/icons/UnlockIcon.js +1 -1
  432. package/dist/icons/UpIcon.js +1 -1
  433. package/dist/icons/UserGroupIcon.js +1 -1
  434. package/dist/icons/UserIcon.js +1 -1
  435. package/dist/icons/UserLockIcon.js +1 -1
  436. package/dist/icons/ViewIcon.js +1 -1
  437. package/dist/icons/WarningFilledIcon.js +1 -1
  438. package/dist/icons/WarningIcon.js +1 -1
  439. package/dist/icons/wrap-icon.js +1 -1
  440. package/dist/index.d.ts +3 -2
  441. package/dist/index.js +5 -4
  442. package/dist/index.js.map +1 -1
  443. package/dist/provider.js +1 -1
  444. package/dist/providers/TrackingProvider.js +1 -1
  445. package/dist/providers/navigationAdapter.default.js +1 -1
  446. package/dist/tokens/base.js +1 -1
  447. package/dist/tokens/colors.js +1 -1
  448. package/dist/tokens/index.js +1 -1
  449. package/dist/tokens/layout.js +1 -1
  450. package/dist/tokens/palette.js +1 -1
  451. package/dist/tokens/shadows.js +1 -1
  452. package/dist/tokens/sizes.js +1 -1
  453. package/dist/tokens/spacing.js +1 -1
  454. package/dist/tokens/typography.js +1 -1
  455. package/dist/utils/ResizeSensor.js +1 -1
  456. package/dist/utils/is-dev-env.js +1 -1
  457. package/dist/utils/modules.js +1 -1
  458. package/dist/utils/promise.js +1 -1
  459. package/dist/utils/raf.js +1 -1
  460. package/dist/utils/random.js +1 -1
  461. package/dist/utils/range.js +1 -1
  462. package/dist/utils/react/RenderCache.js +1 -1
  463. package/dist/utils/react/Slots.js +1 -1
  464. package/dist/utils/react/chain.js +1 -1
  465. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  466. package/dist/utils/react/index.js +1 -1
  467. package/dist/utils/react/interactions.js +1 -1
  468. package/dist/utils/react/isTextOnly.js +1 -1
  469. package/dist/utils/react/mapProps.js +1 -1
  470. package/dist/utils/react/mergeProps.js +1 -1
  471. package/dist/utils/react/nullableValue.js +1 -1
  472. package/dist/utils/react/resolveIcon.js +1 -1
  473. package/dist/utils/react/sharedStore.js +1 -1
  474. package/dist/utils/react/useCombinedRefs.js +1 -1
  475. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  476. package/dist/utils/react/useEventBus.js +1 -1
  477. package/dist/utils/react/useId.js +1 -1
  478. package/dist/utils/react/useIsDarwin.js +1 -1
  479. package/dist/utils/react/useKeySymbols.js +1 -1
  480. package/dist/utils/react/useLayoutEffect.js +1 -1
  481. package/dist/utils/react/useLocalStorage.js +1 -1
  482. package/dist/utils/react/useMergeStyles.js +1 -1
  483. package/dist/utils/react/usePopoverSync.js +1 -1
  484. package/dist/utils/react/useQaProps.js +1 -1
  485. package/dist/utils/react/useViewportSize.js +1 -1
  486. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  487. package/dist/utils/selection.js +1 -1
  488. package/dist/utils/styles.js +1 -1
  489. package/dist/utils/tree.js +1 -1
  490. package/dist/utils/warnings.js +1 -1
  491. package/dist/version.js +3 -3
  492. package/docs/components/content/InfoBadge.md +49 -0
  493. package/docs/tasty/styles.md +21 -1
  494. package/package.json +3 -3
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @cube-dev/ui-kit
2
2
 
3
+ ## 0.149.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#1264](https://github.com/cube-js/cube-ui-kit/pull/1264) [`351a1758`](https://github.com/cube-js/cube-ui-kit/commit/351a1758b7dd27d81680aeb0fb59f2292e4b339b) Thanks [@tenphi](https://github.com/tenphi)! - Release-pipeline maintenance, no runtime changes: the `Build & canary release` check is no longer reported twice by two different workflows, and the Version Packages PR no longer publishes a redundant canary or leaves a stale `pr_*` dist-tag behind.
8
+
9
+ ## 0.149.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#1257](https://github.com/cube-js/cube-ui-kit/pull/1257) [`ad7190c7`](https://github.com/cube-js/cube-ui-kit/commit/ad7190c7be84654799aad1c9b72c2f4447ccbcee) Thanks [@tenphi](https://github.com/tenphi)! - Added the `InfoBadge` component — an informational icon with a tooltip. It renders as a plain `ItemBadge` by default and upgrades to an `ItemAction` link/button as soon as `to` or `onPress` is provided, so the same icon can point at the docs. The badge contains its own press events (including `preventDefault` on click), which lets it sit inside a bigger click target — a field `<label>`, a switch row, a table header — without activating it. When interactive, the tooltip gets a localized `Click to learn more.` suffix, which `tooltipSuffix` overrides or removes.
14
+
15
+ `size` is `small` | `medium` | `large` (default `medium`). Every size contributes exactly one line to the text around it, so the badge stays vertically aligned with adjacent text — in a field label, a table header, or mid-paragraph — whichever size you pick.
16
+
17
+ The info icon that fields render for their `tooltip` prop is now an `InfoBadge`, so clicking it no longer activates the field it labels.
18
+
19
+ `tooltip={{ title }}` on `ItemAction` and `ItemBadge` now accepts any `ReactNode` as the title. Rich titles are no longer used as the `aria-label` (previously they were stringified into it) — pass `aria-label` for those.
20
+
21
+ `ItemAction` and `ItemBadge` now treat an explicit `aria-label` as higher priority than the accessible name inferred from a string `tooltip`. Previously `ItemAction` let the tooltip win, so an `aria-label` passed alongside a string tooltip was silently dropped.
22
+
23
+ ### Patch Changes
24
+
25
+ - [#1260](https://github.com/cube-js/cube-ui-kit/pull/1260) [`07914318`](https://github.com/cube-js/cube-ui-kit/commit/0791431810ae3c9f663ccbf457fdc3c6c7cfe4fa) Thanks [@tenphi](https://github.com/tenphi)! - Update `@tenphi/tasty` to 2.11.0 and `@tenphi/eslint-plugin-tasty` to 0.11.2, and reformat the styles the new lint rules cover. No public API or rendering change — every rewrite was verified to emit identical CSS, and Chromatic reports all 905 stories unchanged.
26
+
3
27
  ## 0.148.0
4
28
 
5
29
  ### Minor Changes
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | Cube Dev Team */
2
2
  import { TOKENS } from "../tokens/index.js";
3
3
  import { useGlobalStyles, useRawCSS } from "@tenphi/tasty";
4
4
  import { useMemo } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps } from "../../../utils/react/mergeProps.js";
4
4
  import { useDismissParentPopover } from "../../../utils/react/usePopoverSync.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
 
4
4
  //#region src/components/actions/CommandMenu/styled.tsx
@@ -15,7 +15,7 @@ interface CubeItemActionProps extends Omit<CubeUseActionProps, 'as' | 'htmlType'
15
15
  type?: 'primary' | 'outline' | 'clear' | (string & {});
16
16
  theme?: 'default' | 'danger' | 'success' | 'warning' | 'note' | 'special' | (string & {});
17
17
  tooltip?: string | (Omit<ComponentProps<typeof TooltipProvider>, 'children'> & {
18
- title?: string;
18
+ title?: ReactNode;
19
19
  });
20
20
  styles?: Styles;
21
21
  tabIndex?: number;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
4
4
  import { 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";
@@ -28,7 +28,7 @@ const ItemActionElement = tasty({
28
28
  padding: {
29
29
  "": "0 $inline-padding",
30
30
  "has-icon": 0,
31
- "has-icon & has-label": "0 $inline-padding 0 0"
31
+ "has-icon & has-label": "$inline-padding right"
32
32
  },
33
33
  "$inline-padding": {
34
34
  "": "max($min-inline-padding, (($action-size - 1lh - 2bw) / 2 + $inline-compensation))",
@@ -87,9 +87,9 @@ const ItemAction = forwardRef(function ItemAction(allProps, ref) {
87
87
  mods
88
88
  ]);
89
89
  const ariaLabel = useMemo(() => {
90
+ if (rest["aria-label"]) return rest["aria-label"];
90
91
  if (typeof tooltip === "string") return tooltip;
91
- if (typeof tooltip === "object" && tooltip.title) return tooltip.title;
92
- return rest["aria-label"];
92
+ if (typeof tooltip === "object" && typeof tooltip.title === "string") return tooltip.title;
93
93
  }, [tooltip, rest]);
94
94
  const { actionProps } = useAction({
95
95
  ...rest,
@@ -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 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' | (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?: string;\n });\n styles?: Styles;\n tabIndex?: number;\n}\n\ntype ItemActionVariant =\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': '0 $inline-padding 0 0',\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 // 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 // Extract aria-label from tooltip if needed\n const ariaLabel = useMemo(() => {\n if (typeof tooltip === 'string') {\n return tooltip;\n }\n if (typeof tooltip === 'object' && tooltip.title) {\n return tooltip.title;\n }\n return rest['aria-label'];\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={`${theme}.${finalType}` as ItemActionVariant}\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 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' | (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 | '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 // 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={`${theme}.${finalType}` as ItemActionVariant}\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,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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";
@@ -69,10 +69,13 @@ const CopyPasteBlockElement = tasty(Card, {
69
69
  radius: "1r",
70
70
  position: "relative"
71
71
  },
72
- Shortcut: { display: {
73
- "": "none",
74
- ":focus & !error": "inline"
75
- } }
72
+ Shortcut: {
73
+ display: "inline",
74
+ hide: {
75
+ "": true,
76
+ ":focus & !error": false
77
+ }
78
+ }
76
79
  }
77
80
  });
78
81
  const CopyButton = tasty(Button, {
@@ -87,7 +90,7 @@ const CopyButton = tasty(Button, {
87
90
  },
88
91
  radius: {
89
92
  "": "0 1r 1r 0",
90
- "multiline | has-scroll": "0 1r 0 0"
93
+ "multiline | has-scroll": "1r top-right"
91
94
  },
92
95
  height: "auto",
93
96
  outline: false
@@ -1 +1 @@
1
- {"version":3,"file":"CopyPasteBlock.js","names":[],"sources":["../../../../src/components/content/CopyPasteBlock/CopyPasteBlock.tsx"],"sourcesContent":["import {\n POSITION_STYLES,\n PositionStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport copy from 'clipboard-copy';\nimport { ForwardedRef, forwardRef, ReactNode, useState } from 'react';\nimport { TextDropItem, useClipboard } from 'react-aria';\n\nimport { useTimer } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { CopyIcon } from '../../../icons';\nimport { extractStyles } from '../../../utils/styles';\nimport { Button } from '../../actions';\nimport { useToast } from '../../overlays/Toast';\nimport { Card, CubeCardProps } from '../Card/Card';\n\nconst StyledBlock = tasty({\n styles: {\n display: 'grid',\n flow: 'column',\n placeContent: 'center space-between',\n placeItems: 'center stretch',\n gap: '1x',\n position: 'relative',\n width: 'max 100%',\n color: 'inherit',\n padding: '0 1.5x',\n // height: {\n // '': '4.5x',\n // '[data-size=\"small\"]': '3.5x',\n // '[data-size=\"large\"]': '5.5x',\n // },\n userSelect: 'none',\n\n Label: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n },\n});\n\nconst CopyPasteBlockElement = tasty(Card, {\n qa: 'CopyPasteBlock',\n styles: {\n display: 'grid',\n fill: '#surface-2',\n radius: '1r',\n padding: {\n '': '0 1px',\n ':focus': '0',\n },\n color: {\n '': '#dark',\n error: '#danger-text',\n },\n border: {\n '': 'dashed #dark-03',\n ':focus': '2px dashed #primary-text',\n error: 'dashed #danger',\n },\n cursor: '$pointer',\n preset: {\n '': 't3',\n 'size=large': 't2',\n },\n height: {\n '': '5x',\n 'size=small': '4x',\n 'size=large': '6x',\n },\n boxSizing: 'border-box',\n\n Grid: {\n display: 'grid',\n flow: 'row',\n gridColumns: 'minmax(0, 1fr) min-content',\n placeContent: 'stretch',\n width: 'min 20x',\n radius: '1r',\n position: 'relative',\n },\n\n Shortcut: {\n display: {\n '': 'none',\n ':focus & !error': 'inline',\n },\n },\n },\n});\n\nconst CopyButton = tasty(Button, {\n type: 'clear',\n icon: <CopyIcon />,\n styles: {\n placeSelf: 'stretch',\n border: '#clear',\n shadow: {\n '': '0 0 0 1ow #purple-03.0 inset',\n focused: '0 0 0 1ow #purple-03 inset',\n },\n radius: {\n '': '0 1r 1r 0',\n 'multiline | has-scroll': '0 1r 0 0',\n },\n height: 'auto',\n outline: false,\n },\n});\n\nexport interface CubeCopyPasteBlockProps\n extends Omit<CubeCardProps, 'onPaste' | 'onCopy'>,\n PositionStyleProps {\n padding?: Styles['padding'];\n /** The code snippet */\n value?: string;\n placeholder?: ReactNode;\n /** The title of the snippet */\n title?: string;\n onPaste?: (text: string) => void | Promise<void | string>;\n onCopy?: () => void;\n size?: 'small' | 'medium' | 'large';\n}\n\nfunction CopyPasteBlock(\n allProps: CubeCopyPasteBlockProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n value = '',\n onPaste,\n placeholder,\n title,\n size = 'medium',\n ...props\n } = allProps;\n const styles = extractStyles(props, POSITION_STYLES);\n\n const { t } = useI18n();\n const [error, setError] = useState<string | null>(null);\n const toast = useToast();\n\n const { clipboardProps } = useClipboard({\n async onPaste(items) {\n let pasted = await Promise.all(\n items\n .filter(\n (item) => item.kind === 'text' && item.types.has('text/plain'),\n )\n .map((item) => (item as TextDropItem).getText('text/plain')),\n );\n try {\n await onPaste?.(pasted.join('\\n'));\n } catch (e) {\n setError(String(e));\n }\n },\n getItems() {\n return value\n ? [\n {\n 'text/plain': value,\n },\n ]\n : [];\n },\n onCopy() {\n if (value) {\n toast.success(\n t('copyPasteBlock.copied', '{{title}} copied', {\n title: title || t('copyPasteBlock.defaultTitle', 'Text'),\n }),\n );\n }\n },\n });\n\n useTimer({\n delay: 1000,\n callback() {\n setError(null);\n },\n isDisabled: !error,\n });\n\n async function onCopy() {\n await copy(value);\n\n toast.success(\n t('copyPasteBlock.copied', '{{title}} copied', {\n title: title || t('copyPasteBlock.defaultTitle', 'Text'),\n }),\n );\n }\n\n const pristineValue = value.replace(/\\n/, ' ');\n\n return (\n <CopyPasteBlockElement\n ref={ref}\n mods={{ error: !!error }}\n data-size={size}\n styles={styles}\n tabIndex=\"0\"\n {...props}\n {...clipboardProps}\n >\n <div data-element=\"Grid\">\n <StyledBlock\n data-size={size}\n mods={{\n placeholder: !!placeholder || !value,\n }}\n >\n <div data-element=\"Label\">\n {error != null ? (\n error || t('copyPasteBlock.invalidData', 'Invalid data')\n ) : value ? (\n pristineValue\n ) : (\n <>\n {placeholder\n ? placeholder\n : t('copyPasteBlock.selectAndPaste', 'Select and paste')}\n </>\n )}\n </div>\n <span data-element=\"Shortcut\">\n <kbd>Cmd</kbd> + <kbd>V</kbd>\n </span>\n </StyledBlock>\n {value && !error && (\n <CopyButton\n size={size}\n aria-label={t(\n 'copyPasteBlock.copyToClipboard',\n 'Copy {{title}} to clipboard',\n {\n title: title || t('copyPasteBlock.defaultTitle', 'Text'),\n },\n )}\n onPress={onCopy}\n />\n )}\n </div>\n </CopyPasteBlockElement>\n );\n}\n\nconst _CopyPasteBlock = forwardRef(CopyPasteBlock);\n\n_CopyPasteBlock.displayName = 'CopyPasteBlock';\n\nexport { _CopyPasteBlock as CopyPasteBlock };\n"],"mappings":"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"}
1
+ {"version":3,"file":"CopyPasteBlock.js","names":[],"sources":["../../../../src/components/content/CopyPasteBlock/CopyPasteBlock.tsx"],"sourcesContent":["import {\n POSITION_STYLES,\n PositionStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport copy from 'clipboard-copy';\nimport { ForwardedRef, forwardRef, ReactNode, useState } from 'react';\nimport { TextDropItem, useClipboard } from 'react-aria';\n\nimport { useTimer } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { CopyIcon } from '../../../icons';\nimport { extractStyles } from '../../../utils/styles';\nimport { Button } from '../../actions';\nimport { useToast } from '../../overlays/Toast';\nimport { Card, CubeCardProps } from '../Card/Card';\n\nconst StyledBlock = tasty({\n styles: {\n display: 'grid',\n flow: 'column',\n placeContent: 'center space-between',\n placeItems: 'center stretch',\n gap: '1x',\n position: 'relative',\n width: 'max 100%',\n color: 'inherit',\n padding: '0 1.5x',\n // height: {\n // '': '4.5x',\n // '[data-size=\"small\"]': '3.5x',\n // '[data-size=\"large\"]': '5.5x',\n // },\n userSelect: 'none',\n\n Label: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n },\n});\n\nconst CopyPasteBlockElement = tasty(Card, {\n qa: 'CopyPasteBlock',\n styles: {\n display: 'grid',\n fill: '#surface-2',\n radius: '1r',\n padding: {\n '': '0 1px',\n ':focus': '0',\n },\n color: {\n '': '#dark',\n error: '#danger-text',\n },\n border: {\n '': 'dashed #dark-03',\n ':focus': '2px dashed #primary-text',\n error: 'dashed #danger',\n },\n cursor: '$pointer',\n preset: {\n '': 't3',\n 'size=large': 't2',\n },\n height: {\n '': '5x',\n 'size=small': '4x',\n 'size=large': '6x',\n },\n boxSizing: 'border-box',\n\n Grid: {\n display: 'grid',\n flow: 'row',\n gridColumns: 'minmax(0, 1fr) min-content',\n placeContent: 'stretch',\n width: 'min 20x',\n radius: '1r',\n position: 'relative',\n },\n\n Shortcut: {\n display: 'inline',\n hide: {\n '': true,\n ':focus & !error': false,\n },\n },\n },\n});\n\nconst CopyButton = tasty(Button, {\n type: 'clear',\n icon: <CopyIcon />,\n styles: {\n placeSelf: 'stretch',\n border: '#clear',\n shadow: {\n '': '0 0 0 1ow #purple-03.0 inset',\n focused: '0 0 0 1ow #purple-03 inset',\n },\n radius: {\n '': '0 1r 1r 0',\n 'multiline | has-scroll': '1r top-right',\n },\n height: 'auto',\n outline: false,\n },\n});\n\nexport interface CubeCopyPasteBlockProps\n extends Omit<CubeCardProps, 'onPaste' | 'onCopy'>,\n PositionStyleProps {\n padding?: Styles['padding'];\n /** The code snippet */\n value?: string;\n placeholder?: ReactNode;\n /** The title of the snippet */\n title?: string;\n onPaste?: (text: string) => void | Promise<void | string>;\n onCopy?: () => void;\n size?: 'small' | 'medium' | 'large';\n}\n\nfunction CopyPasteBlock(\n allProps: CubeCopyPasteBlockProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n value = '',\n onPaste,\n placeholder,\n title,\n size = 'medium',\n ...props\n } = allProps;\n const styles = extractStyles(props, POSITION_STYLES);\n\n const { t } = useI18n();\n const [error, setError] = useState<string | null>(null);\n const toast = useToast();\n\n const { clipboardProps } = useClipboard({\n async onPaste(items) {\n let pasted = await Promise.all(\n items\n .filter(\n (item) => item.kind === 'text' && item.types.has('text/plain'),\n )\n .map((item) => (item as TextDropItem).getText('text/plain')),\n );\n try {\n await onPaste?.(pasted.join('\\n'));\n } catch (e) {\n setError(String(e));\n }\n },\n getItems() {\n return value\n ? [\n {\n 'text/plain': value,\n },\n ]\n : [];\n },\n onCopy() {\n if (value) {\n toast.success(\n t('copyPasteBlock.copied', '{{title}} copied', {\n title: title || t('copyPasteBlock.defaultTitle', 'Text'),\n }),\n );\n }\n },\n });\n\n useTimer({\n delay: 1000,\n callback() {\n setError(null);\n },\n isDisabled: !error,\n });\n\n async function onCopy() {\n await copy(value);\n\n toast.success(\n t('copyPasteBlock.copied', '{{title}} copied', {\n title: title || t('copyPasteBlock.defaultTitle', 'Text'),\n }),\n );\n }\n\n const pristineValue = value.replace(/\\n/, ' ');\n\n return (\n <CopyPasteBlockElement\n ref={ref}\n mods={{ error: !!error }}\n data-size={size}\n styles={styles}\n tabIndex=\"0\"\n {...props}\n {...clipboardProps}\n >\n <div data-element=\"Grid\">\n <StyledBlock\n data-size={size}\n mods={{\n placeholder: !!placeholder || !value,\n }}\n >\n <div data-element=\"Label\">\n {error != null ? (\n error || t('copyPasteBlock.invalidData', 'Invalid data')\n ) : value ? (\n pristineValue\n ) : (\n <>\n {placeholder\n ? placeholder\n : t('copyPasteBlock.selectAndPaste', 'Select and paste')}\n </>\n )}\n </div>\n <span data-element=\"Shortcut\">\n <kbd>Cmd</kbd> + <kbd>V</kbd>\n </span>\n </StyledBlock>\n {value && !error && (\n <CopyButton\n size={size}\n aria-label={t(\n 'copyPasteBlock.copyToClipboard',\n 'Copy {{title}} to clipboard',\n {\n title: title || t('copyPasteBlock.defaultTitle', 'Text'),\n },\n )}\n onPress={onCopy}\n />\n )}\n </div>\n </CopyPasteBlockElement>\n );\n}\n\nconst _CopyPasteBlock = forwardRef(CopyPasteBlock);\n\n_CopyPasteBlock.displayName = 'CopyPasteBlock';\n\nexport { _CopyPasteBlock as CopyPasteBlock };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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.148.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.149.1 | 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";