@cube-dev/ui-kit 0.0.0-canary-4cb55b8 → 0.0.0-canary-7e8a70f

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 (547) hide show
  1. package/es/_internal/hooks/index.js +1 -1
  2. package/es/_internal/hooks/use-chained-callback.js +1 -1
  3. package/es/_internal/hooks/use-debounced-value.js +1 -1
  4. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/es/_internal/hooks/use-effect-once.js +1 -1
  6. package/es/_internal/hooks/use-event.js +1 -1
  7. package/es/_internal/hooks/use-is-first-render.js +1 -1
  8. package/es/_internal/hooks/use-sync-ref.js +1 -1
  9. package/es/_internal/hooks/use-timer/index.js +1 -1
  10. package/es/_internal/hooks/use-timer/timer.js +1 -1
  11. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  12. package/es/_internal/hooks/use-update-effect.js +1 -1
  13. package/es/_internal/hooks/use-warn.js +1 -1
  14. package/es/_internal/index.js +1 -1
  15. package/es/components/Block.js +1 -1
  16. package/es/components/CollectionItem.js +1 -1
  17. package/es/components/GlobalStyles.js +1 -1
  18. package/es/components/GridProvider.js +1 -1
  19. package/es/components/HiddenInput.js +1 -1
  20. package/es/components/OpenTrasition.js +1 -1
  21. package/es/components/Root.js +1 -1
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +149 -61
  24. package/es/components/actions/Button/index.js +1 -1
  25. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  27. package/es/components/actions/CommandMenu/index.js +1 -1
  28. package/es/components/actions/CommandMenu/styled.js +1 -1
  29. package/es/components/actions/ItemAction/ItemAction.js +1 -1
  30. package/es/components/actions/ItemAction/index.js +1 -1
  31. package/es/components/actions/ItemActionContext.js +1 -1
  32. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  33. package/es/components/actions/ItemButton/index.js +1 -1
  34. package/es/components/actions/Link/Link.js +1 -1
  35. package/es/components/actions/Menu/Menu.js +1 -1
  36. package/es/components/actions/Menu/MenuItem.js +1 -1
  37. package/es/components/actions/Menu/MenuSection.js +1 -1
  38. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  39. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  40. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  41. package/es/components/actions/Menu/context.js +1 -1
  42. package/es/components/actions/Menu/index.js +1 -1
  43. package/es/components/actions/Menu/styled.js +1 -1
  44. package/es/components/actions/index.js +1 -1
  45. package/es/components/actions/use-action.js +1 -1
  46. package/es/components/actions/use-anchored-menu.js +1 -1
  47. package/es/components/actions/use-context-menu.js +1 -1
  48. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  49. package/es/components/content/Alert/Alert.js +1 -1
  50. package/es/components/content/Alert/index.js +1 -1
  51. package/es/components/content/Alert/types.js +1 -1
  52. package/es/components/content/Alert/use-alert.js +1 -1
  53. package/es/components/content/Avatar/Avatar.js +1 -1
  54. package/es/components/content/Badge/Badge.js +1 -1
  55. package/es/components/content/Card/Card.js +1 -1
  56. package/es/components/content/Content.js +1 -1
  57. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  58. package/es/components/content/CopyPasteBlock/index.js +1 -1
  59. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  60. package/es/components/content/CopySnippet/index.js +1 -1
  61. package/es/components/content/Disclosure/Disclosure.js +1 -1
  62. package/es/components/content/Disclosure/index.js +1 -1
  63. package/es/components/content/Divider.js +1 -1
  64. package/es/components/content/Footer.js +1 -1
  65. package/es/components/content/Header.js +1 -1
  66. package/es/components/content/HotKeys/HotKeys.js +1 -1
  67. package/es/components/content/HotKeys/index.js +1 -1
  68. package/es/components/content/Item/Item.js +77 -36
  69. package/es/components/content/Item/index.js +1 -1
  70. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  71. package/es/components/content/ItemBadge/index.js +1 -1
  72. package/es/components/content/Layout/GridLayout.js +1 -1
  73. package/es/components/content/Layout/Layout.js +1 -1
  74. package/es/components/content/Layout/LayoutBlock.js +1 -1
  75. package/es/components/content/Layout/LayoutCenter.js +1 -1
  76. package/es/components/content/Layout/LayoutContainer.js +1 -1
  77. package/es/components/content/Layout/LayoutContent.js +1 -1
  78. package/es/components/content/Layout/LayoutContext.js +1 -1
  79. package/es/components/content/Layout/LayoutFlex.js +1 -1
  80. package/es/components/content/Layout/LayoutFooter.js +1 -1
  81. package/es/components/content/Layout/LayoutGrid.js +1 -1
  82. package/es/components/content/Layout/LayoutHeader.js +1 -1
  83. package/es/components/content/Layout/LayoutPane.js +1 -1
  84. package/es/components/content/Layout/LayoutPanel.js +1 -1
  85. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  86. package/es/components/content/Layout/LayoutToolbar.js +1 -1
  87. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  88. package/es/components/content/Layout/index.js +1 -1
  89. package/es/components/content/Layout/utils.js +1 -1
  90. package/es/components/content/List/SectionHeading.js +1 -1
  91. package/es/components/content/List/index.js +1 -1
  92. package/es/components/content/Paragraph.js +1 -1
  93. package/es/components/content/Placeholder/Placeholder.js +1 -1
  94. package/es/components/content/PrismCode/PrismCode.js +1 -1
  95. package/es/components/content/PrismCode/prismSetup.js +1 -1
  96. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  97. package/es/components/content/Result/Result.js +1 -1
  98. package/es/components/content/Skeleton/Skeleton.js +1 -1
  99. package/es/components/content/Tag/Tag.js +1 -1
  100. package/es/components/content/Text.js +1 -1
  101. package/es/components/content/TextItem/TextItem.js +1 -1
  102. package/es/components/content/TextItem/index.js +1 -1
  103. package/es/components/content/Title.js +1 -1
  104. package/es/components/content/highlightText.js +1 -1
  105. package/es/components/content/use-auto-tooltip.js +1 -1
  106. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  107. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  108. package/es/components/fields/Checkbox/context.js +1 -1
  109. package/es/components/fields/Checkbox/index.js +1 -1
  110. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  111. package/es/components/fields/ComboBox/index.js +1 -1
  112. package/es/components/fields/DatePicker/DateInput.js +1 -1
  113. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  114. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  115. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  116. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  117. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  119. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  120. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  121. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  122. package/es/components/fields/DatePicker/index.js +1 -1
  123. package/es/components/fields/DatePicker/intl.js +1 -1
  124. package/es/components/fields/DatePicker/parseDate.js +1 -1
  125. package/es/components/fields/DatePicker/props.js +1 -1
  126. package/es/components/fields/DatePicker/types.js +1 -1
  127. package/es/components/fields/DatePicker/utils.js +1 -1
  128. package/es/components/fields/FileInput/FileInput.js +1 -1
  129. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  130. package/es/components/fields/FilterListBox/index.js +1 -1
  131. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  132. package/es/components/fields/FilterPicker/index.js +1 -1
  133. package/es/components/fields/Input/Input.js +1 -1
  134. package/es/components/fields/Input/index.js +1 -1
  135. package/es/components/fields/ListBox/ListBox.js +1 -1
  136. package/es/components/fields/ListBox/index.js +1 -1
  137. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  138. package/es/components/fields/NumberInput/StepButton.js +5 -7
  139. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  140. package/es/components/fields/Picker/Picker.js +1 -1
  141. package/es/components/fields/Picker/index.js +1 -1
  142. package/es/components/fields/RadioGroup/Radio.js +1 -1
  143. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  144. package/es/components/fields/RadioGroup/context.js +1 -1
  145. package/es/components/fields/RadioGroup/index.js +1 -1
  146. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  147. package/es/components/fields/SearchInput/index.js +1 -1
  148. package/es/components/fields/Select/Select.js +1 -1
  149. package/es/components/fields/Select/index.js +1 -1
  150. package/es/components/fields/Slider/Gradation.js +1 -1
  151. package/es/components/fields/Slider/Header.js +1 -1
  152. package/es/components/fields/Slider/RangeSlider.js +1 -1
  153. package/es/components/fields/Slider/Slider.js +1 -1
  154. package/es/components/fields/Slider/SliderBase.js +1 -1
  155. package/es/components/fields/Slider/SliderInput.js +1 -1
  156. package/es/components/fields/Slider/SliderThumb.js +1 -1
  157. package/es/components/fields/Slider/SliderTrack.js +1 -1
  158. package/es/components/fields/Slider/elements.js +1 -1
  159. package/es/components/fields/Slider/index.js +1 -1
  160. package/es/components/fields/Slider/types.js +1 -1
  161. package/es/components/fields/Switch/Switch.js +1 -1
  162. package/es/components/fields/Switch/index.js +1 -1
  163. package/es/components/fields/TextArea/TextArea.js +1 -1
  164. package/es/components/fields/TextArea/index.js +1 -1
  165. package/es/components/fields/TextInput/TextInput.js +1 -1
  166. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  167. package/es/components/fields/TextInput/index.js +1 -1
  168. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  169. package/es/components/fields/TextInputMapper/index.js +1 -1
  170. package/es/components/fields/index.js +1 -1
  171. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  172. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  173. package/es/components/form/FieldWrapper/index.js +1 -1
  174. package/es/components/form/FieldWrapper/types.js +1 -1
  175. package/es/components/form/Form/Field.js +1 -1
  176. package/es/components/form/Form/Form.js +1 -1
  177. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  178. package/es/components/form/Form/ResetButton/index.js +1 -1
  179. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  180. package/es/components/form/Form/SubmitButton/index.js +1 -1
  181. package/es/components/form/Form/SubmitError.js +1 -1
  182. package/es/components/form/Form/index.js +1 -1
  183. package/es/components/form/Form/types.js +1 -1
  184. package/es/components/form/Form/use-field/index.js +1 -1
  185. package/es/components/form/Form/use-field/types.js +1 -1
  186. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  187. package/es/components/form/Form/use-field/use-field.js +1 -1
  188. package/es/components/form/Form/use-form.js +1 -1
  189. package/es/components/form/Form/validation.js +1 -1
  190. package/es/components/form/Label.js +1 -1
  191. package/es/components/form/index.js +1 -1
  192. package/es/components/form/wrapper.js +1 -1
  193. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  194. package/es/components/helpers/IconSwitch/IconSwitch.js +77 -0
  195. package/es/components/helpers/index.js +2 -1
  196. package/es/components/layout/Flex.js +1 -1
  197. package/es/components/layout/Flow.js +1 -1
  198. package/es/components/layout/Grid.js +1 -1
  199. package/es/components/layout/Panel.js +1 -1
  200. package/es/components/layout/Prefix.js +1 -1
  201. package/es/components/layout/ResizablePanel.js +1 -1
  202. package/es/components/layout/Space.js +1 -1
  203. package/es/components/layout/Suffix.js +1 -1
  204. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  205. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  206. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  207. package/es/components/other/Base64Upload/Base64Upload.js +3 -2
  208. package/es/components/other/Calendar/Calendar.js +1 -1
  209. package/es/components/other/Calendar/CalendarCell.js +1 -1
  210. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  211. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  212. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  213. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  214. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  215. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  216. package/es/components/overlays/AlertDialog/index.js +1 -1
  217. package/es/components/overlays/AlertDialog/types.js +1 -1
  218. package/es/components/overlays/Dialog/Dialog.js +1 -1
  219. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  220. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  221. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  222. package/es/components/overlays/Dialog/context.js +1 -1
  223. package/es/components/overlays/Dialog/index.js +1 -1
  224. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  225. package/es/components/overlays/Modal/Modal.js +1 -1
  226. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  227. package/es/components/overlays/Modal/Overlay.js +1 -1
  228. package/es/components/overlays/Modal/Popover.js +1 -1
  229. package/es/components/overlays/Modal/Tray.js +1 -1
  230. package/es/components/overlays/Modal/Underlay.js +1 -1
  231. package/es/components/overlays/Modal/index.js +1 -1
  232. package/es/components/overlays/Modal/types.js +1 -1
  233. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  234. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  235. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  236. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  237. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  238. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  239. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  240. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  241. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  242. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +2 -2
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  250. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  253. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  254. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  255. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  256. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  257. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  258. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  259. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  260. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  263. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  265. package/es/components/overlays/NewNotifications/index.js +1 -1
  266. package/es/components/overlays/NewNotifications/types.js +1 -1
  267. package/es/components/overlays/Notification/Notification.js +1 -1
  268. package/es/components/overlays/OverlayWrapper.js +1 -1
  269. package/es/components/overlays/Toasts/Toast.js +1 -1
  270. package/es/components/overlays/Toasts/index.js +1 -1
  271. package/es/components/overlays/Toasts/types.js +1 -1
  272. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  273. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  274. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  275. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  276. package/es/components/overlays/Tooltip/context.js +1 -1
  277. package/es/components/overlays/Tooltip/index.js +1 -1
  278. package/es/components/portal/Portal.js +1 -1
  279. package/es/components/portal/PortalProvider.js +1 -1
  280. package/es/components/portal/index.js +1 -1
  281. package/es/components/portal/types.js +1 -1
  282. package/es/components/portal/usePortal.js +1 -1
  283. package/es/components/shared/InvalidIcon.js +1 -1
  284. package/es/components/shared/ValidIcon.js +1 -1
  285. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  286. package/es/components/status/LoadingAnimation/index.js +1 -1
  287. package/es/components/status/Spin/Cube.js +1 -1
  288. package/es/components/status/Spin/InternalSpinner.js +1 -1
  289. package/es/components/status/Spin/Spin.js +1 -1
  290. package/es/components/status/Spin/SpinsContainer.js +1 -1
  291. package/es/components/status/Spin/index.js +1 -1
  292. package/es/components/status/Spin/types.js +1 -1
  293. package/es/components/status/index.js +1 -1
  294. package/es/data/item-themes.js +1 -1
  295. package/es/data/themes.js +1 -1
  296. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  297. package/es/icons/AdjustmentsIcon.js +1 -1
  298. package/es/icons/AiIcon.js +1 -1
  299. package/es/icons/AreaChartIcon.js +1 -1
  300. package/es/icons/BackwardIcon.js +1 -1
  301. package/es/icons/BarChartIcon.js +1 -1
  302. package/es/icons/BellFilledIcon.js +1 -1
  303. package/es/icons/BellIcon.js +1 -1
  304. package/es/icons/BooleanIcon.js +1 -1
  305. package/es/icons/CalendarEditIcon.js +1 -1
  306. package/es/icons/CalendarIcon.js +1 -1
  307. package/es/icons/CaretDownIcon.js +1 -1
  308. package/es/icons/CaretUpIcon.js +1 -1
  309. package/es/icons/ChartAreaStackedIcon.js +1 -1
  310. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  311. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  312. package/es/icons/ChartBarGroupedIcon.js +1 -1
  313. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  314. package/es/icons/ChartBarLineIcon.js +1 -1
  315. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  316. package/es/icons/ChartBarStackedIcon.js +1 -1
  317. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  318. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  319. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  320. package/es/icons/ChartBoxPlotIcon.js +1 -1
  321. package/es/icons/ChartBubbleIcon.js +1 -1
  322. package/es/icons/ChartDonut2Icon.js +1 -1
  323. package/es/icons/ChartFunnelIcon.js +1 -1
  324. package/es/icons/ChartHeatmapIcon.js +1 -1
  325. package/es/icons/ChartKPIIcon.js +1 -1
  326. package/es/icons/ChartPie2Icon.js +1 -1
  327. package/es/icons/ChartScatterIcon.js +1 -1
  328. package/es/icons/CheckCircleFilledIcon.js +1 -1
  329. package/es/icons/CheckCircleIcon.js +1 -1
  330. package/es/icons/CheckIcon.js +1 -1
  331. package/es/icons/CircleFilledIcon.js +1 -1
  332. package/es/icons/ClearIcon.js +1 -1
  333. package/es/icons/CloseCircleFilledIcon.js +1 -1
  334. package/es/icons/CloseCircleIcon.js +1 -1
  335. package/es/icons/CloseIcon.js +1 -1
  336. package/es/icons/CodeIcon.js +1 -1
  337. package/es/icons/CopyIcon.js +1 -1
  338. package/es/icons/CountIcon.js +1 -1
  339. package/es/icons/CubeIcon.js +1 -1
  340. package/es/icons/CubePauseIcon.js +1 -1
  341. package/es/icons/CubePlayIcon.js +1 -1
  342. package/es/icons/CurrencyDollarIcon.js +1 -1
  343. package/es/icons/DangerIcon.js +1 -1
  344. package/es/icons/DashboardIcon.js +1 -1
  345. package/es/icons/DatabaseIcon.js +1 -1
  346. package/es/icons/DecimalDecreaseIcon.js +1 -1
  347. package/es/icons/DecimalIncreaseIcon.js +1 -1
  348. package/es/icons/DirectionIcon.js +1 -1
  349. package/es/icons/DonutIcon.js +1 -1
  350. package/es/icons/DownIcon.js +1 -1
  351. package/es/icons/EditIcon.js +1 -1
  352. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  353. package/es/icons/ExclamationCircleIcon.js +1 -1
  354. package/es/icons/ExclamationIcon.js +1 -1
  355. package/es/icons/EyeIcon.js +1 -1
  356. package/es/icons/EyeInvisibleIcon.js +1 -1
  357. package/es/icons/FilterIcon.js +1 -1
  358. package/es/icons/FolderFilledIcon.js +1 -1
  359. package/es/icons/FolderIcon.js +1 -1
  360. package/es/icons/FolderOpenFilledIcon.js +1 -1
  361. package/es/icons/FolderOpenIcon.js +1 -1
  362. package/es/icons/ForwardIcon.js +1 -1
  363. package/es/icons/HierarchyIcon.js +1 -1
  364. package/es/icons/HierarchyOpenIcon.js +1 -1
  365. package/es/icons/Icon.js +1 -1
  366. package/es/icons/InfoCircleIcon.js +1 -1
  367. package/es/icons/InfoIcon.js +1 -1
  368. package/es/icons/KeyIcon.js +1 -1
  369. package/es/icons/LeftIcon.js +1 -1
  370. package/es/icons/LineChartIcon.js +1 -1
  371. package/es/icons/LoadingIcon.js +1 -1
  372. package/es/icons/LockFilledIcon.js +1 -1
  373. package/es/icons/LockIcon.js +1 -1
  374. package/es/icons/MoreIcon.js +1 -1
  375. package/es/icons/NotAllowedIcon.js +1 -1
  376. package/es/icons/Number123Icon.js +1 -1
  377. package/es/icons/NumberIcon.js +1 -1
  378. package/es/icons/PauseCircleFilledIcon.js +1 -1
  379. package/es/icons/PauseCircleIcon.js +1 -1
  380. package/es/icons/PauseIcon.js +1 -1
  381. package/es/icons/PercentageIcon.js +1 -1
  382. package/es/icons/PieChartIcon.js +1 -1
  383. package/es/icons/PlayCircleIcon.js +1 -1
  384. package/es/icons/PlayIcon.js +1 -1
  385. package/es/icons/PlusIcon.js +1 -1
  386. package/es/icons/ProgressBarIcon.js +1 -1
  387. package/es/icons/ReloadIcon.js +1 -1
  388. package/es/icons/ReportIcon.js +1 -1
  389. package/es/icons/ReturnIcon.js +1 -1
  390. package/es/icons/RightIcon.js +1 -1
  391. package/es/icons/SchemeIcon.js +1 -1
  392. package/es/icons/SearchIcon.js +1 -1
  393. package/es/icons/SettingsIcon.js +1 -1
  394. package/es/icons/ShieldFilledIcon.js +1 -1
  395. package/es/icons/ShieldIcon.js +1 -1
  396. package/es/icons/SlashIcon.js +1 -1
  397. package/es/icons/SparklesIcon.js +1 -1
  398. package/es/icons/SqlIcon.js +1 -1
  399. package/es/icons/StatsIcon.js +1 -1
  400. package/es/icons/StopIcon.js +1 -1
  401. package/es/icons/StringIcon.js +1 -1
  402. package/es/icons/SwitchIcon.js +1 -1
  403. package/es/icons/TableIcon.js +1 -1
  404. package/es/icons/ThumbsDownIcon.js +1 -1
  405. package/es/icons/ThumbsUpIcon.js +1 -1
  406. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  407. package/es/icons/ThunderboltFilledIcon.js +1 -1
  408. package/es/icons/ThunderboltIcon.js +1 -1
  409. package/es/icons/TimeIcon.js +1 -1
  410. package/es/icons/TrashIcon.js +1 -1
  411. package/es/icons/UnlockIcon.js +1 -1
  412. package/es/icons/UpIcon.js +1 -1
  413. package/es/icons/UserGroupIcon.js +1 -1
  414. package/es/icons/UserIcon.js +1 -1
  415. package/es/icons/UserLockIcon.js +1 -1
  416. package/es/icons/ViewIcon.js +1 -1
  417. package/es/icons/WarningFilledIcon.js +1 -1
  418. package/es/icons/WarningIcon.js +1 -1
  419. package/es/icons/add-new-icon.js +1 -1
  420. package/es/icons/index.js +1 -1
  421. package/es/icons/wrap-icon.js +1 -1
  422. package/es/index.js +1 -1
  423. package/es/provider.js +1 -1
  424. package/es/providers/TrackingProvider.js +1 -1
  425. package/es/providers/navigation.types.js +1 -1
  426. package/es/providers/navigationAdapter.default.js +1 -1
  427. package/es/services/notification.js +1 -1
  428. package/es/shared/form.js +1 -1
  429. package/es/shared/index.js +1 -1
  430. package/es/stories/Form.legacy-stories.js +1 -1
  431. package/es/stories/FormFieldArgs.js +1 -1
  432. package/es/stories/SimpleLayout.stories.js +1 -1
  433. package/es/stories/Tasty.stories.js +1 -1
  434. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  435. package/es/stories/components/DialogFormApp.js +1 -1
  436. package/es/stories/components/StyledButton.js +1 -1
  437. package/es/stories/lists/baseProps.js +1 -1
  438. package/es/tasty/debug.js +1 -1
  439. package/es/tasty/index.js +1 -1
  440. package/es/tasty/injector/index.js +1 -1
  441. package/es/tasty/injector/injector.js +1 -1
  442. package/es/tasty/injector/sheet-manager.js +1 -1
  443. package/es/tasty/injector/types.js +1 -1
  444. package/es/tasty/parser/classify.js +1 -1
  445. package/es/tasty/parser/const.js +1 -1
  446. package/es/tasty/parser/lru.js +1 -1
  447. package/es/tasty/parser/parser.js +1 -1
  448. package/es/tasty/parser/tokenizer.js +1 -1
  449. package/es/tasty/parser/types.js +1 -1
  450. package/es/tasty/providers/BreakpointsProvider.js +1 -1
  451. package/es/tasty/styles/align.js +1 -1
  452. package/es/tasty/styles/border.js +1 -1
  453. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  454. package/es/tasty/styles/color.js +1 -1
  455. package/es/tasty/styles/createStyle.js +1 -1
  456. package/es/tasty/styles/dimension.js +1 -1
  457. package/es/tasty/styles/display.js +1 -1
  458. package/es/tasty/styles/fade.js +1 -1
  459. package/es/tasty/styles/fill.js +1 -1
  460. package/es/tasty/styles/flow.js +1 -1
  461. package/es/tasty/styles/font.js +1 -1
  462. package/es/tasty/styles/fontStyle.js +1 -1
  463. package/es/tasty/styles/gap.js +1 -1
  464. package/es/tasty/styles/groupRadius.js +1 -1
  465. package/es/tasty/styles/height.js +1 -1
  466. package/es/tasty/styles/index.js +1 -1
  467. package/es/tasty/styles/inset.js +1 -1
  468. package/es/tasty/styles/justify.js +1 -1
  469. package/es/tasty/styles/list.js +1 -1
  470. package/es/tasty/styles/margin.js +1 -1
  471. package/es/tasty/styles/outline.js +1 -1
  472. package/es/tasty/styles/padding.js +1 -1
  473. package/es/tasty/styles/place.js +1 -1
  474. package/es/tasty/styles/predefined.js +1 -1
  475. package/es/tasty/styles/preset.js +1 -1
  476. package/es/tasty/styles/radius.js +1 -1
  477. package/es/tasty/styles/reset.js +1 -1
  478. package/es/tasty/styles/scrollbar.js +1 -1
  479. package/es/tasty/styles/shadow.js +1 -1
  480. package/es/tasty/styles/styledScrollbar.js +1 -1
  481. package/es/tasty/styles/transition.js +1 -1
  482. package/es/tasty/styles/types.js +1 -1
  483. package/es/tasty/styles/width.js +1 -1
  484. package/es/tasty/tasty.js +1 -1
  485. package/es/tasty/types.js +1 -1
  486. package/es/tasty/utils/cache-wrapper.js +1 -1
  487. package/es/tasty/utils/case-converter.js +1 -1
  488. package/es/tasty/utils/colors.js +1 -1
  489. package/es/tasty/utils/dotize.js +1 -1
  490. package/es/tasty/utils/filterBaseProps.js +1 -1
  491. package/es/tasty/utils/getDisplayName.js +1 -1
  492. package/es/tasty/utils/getModCombinations.js +1 -1
  493. package/es/tasty/utils/isDevEnv.js +1 -1
  494. package/es/tasty/utils/mergeStyles.js +1 -1
  495. package/es/tasty/utils/modAttrs.js +1 -1
  496. package/es/tasty/utils/renderStyles.js +1 -1
  497. package/es/tasty/utils/responsive.js +1 -1
  498. package/es/tasty/utils/string.js +1 -1
  499. package/es/tasty/utils/styles.js +1 -1
  500. package/es/tasty/utils/warnings.js +1 -1
  501. package/es/tokens.js +1 -1
  502. package/es/utils/ResizeSensor.js +1 -1
  503. package/es/utils/index.js +1 -1
  504. package/es/utils/modules.js +1 -1
  505. package/es/utils/promise.js +1 -1
  506. package/es/utils/raf.js +1 -1
  507. package/es/utils/random.js +1 -1
  508. package/es/utils/range.js +1 -1
  509. package/es/utils/react/RenderCache.js +1 -1
  510. package/es/utils/react/Slots.js +1 -1
  511. package/es/utils/react/chain.js +1 -1
  512. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  513. package/es/utils/react/index.js +2 -1
  514. package/es/utils/react/interactions.js +1 -1
  515. package/es/utils/react/isTextOnly.js +1 -1
  516. package/es/utils/react/mapProps.js +1 -1
  517. package/es/utils/react/mergeProps.js +1 -1
  518. package/es/utils/react/nullableValue.js +1 -1
  519. package/es/utils/react/resolveIcon.js +34 -0
  520. package/es/utils/react/sharedStore.js +1 -1
  521. package/es/utils/react/useCombinedRefs.js +1 -1
  522. package/es/utils/react/useControlledFocusVisible.js +1 -1
  523. package/es/utils/react/useEventBus.js +1 -1
  524. package/es/utils/react/useId.js +1 -1
  525. package/es/utils/react/useIsDarwin.js +1 -1
  526. package/es/utils/react/useKeySymbols.js +1 -1
  527. package/es/utils/react/useLayoutEffect.js +1 -1
  528. package/es/utils/react/useLocalStorage.js +1 -1
  529. package/es/utils/react/useQaProps.js +1 -1
  530. package/es/utils/react/useViewportSize.js +1 -1
  531. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  532. package/es/utils/tree.js +1 -1
  533. package/es/utils/warnings.js +1 -1
  534. package/es/version.js +2 -2
  535. package/package.json +1 -1
  536. package/types/components/actions/Button/Button.d.ts +1733 -30
  537. package/types/components/actions/Menu/styled.d.ts +9 -3
  538. package/types/components/content/Item/Item.d.ts +29 -3
  539. package/types/components/content/List/SectionHeading.d.ts +3 -1
  540. package/types/components/content/Text.d.ts +21 -7
  541. package/types/components/fields/DatePicker/DatePickerElement.d.ts +3 -1
  542. package/types/components/helpers/IconSwitch/IconSwitch.d.ts +16 -0
  543. package/types/components/helpers/index.d.ts +1 -0
  544. package/types/tasty/index.d.ts +1 -1
  545. package/types/tasty/types.d.ts +13 -3
  546. package/types/utils/react/index.d.ts +2 -0
  547. package/types/utils/react/resolveIcon.d.ts +23 -0
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,31 +1,42 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
- import { cloneElement, forwardRef, useMemo } from 'react';
9
+ import { forwardRef, isValidElement, useMemo, } from 'react';
10
10
  import { useWarn } from '../../../_internal/hooks/use-warn';
11
11
  import { DANGER_CLEAR_STYLES, DANGER_LINK_STYLES, DANGER_NEUTRAL_STYLES, DANGER_OUTLINE_STYLES, DANGER_PRIMARY_STYLES, DANGER_SECONDARY_STYLES, DEFAULT_CLEAR_STYLES, DEFAULT_LINK_STYLES, DEFAULT_NEUTRAL_STYLES, DEFAULT_OUTLINE_STYLES, DEFAULT_PRIMARY_STYLES, DEFAULT_SECONDARY_STYLES, SPECIAL_CLEAR_STYLES, SPECIAL_LINK_STYLES, SPECIAL_NEUTRAL_STYLES, SPECIAL_OUTLINE_STYLES, SPECIAL_PRIMARY_STYLES, SPECIAL_SECONDARY_STYLES, SUCCESS_CLEAR_STYLES, SUCCESS_LINK_STYLES, SUCCESS_NEUTRAL_STYLES, SUCCESS_OUTLINE_STYLES, SUCCESS_PRIMARY_STYLES, SUCCESS_SECONDARY_STYLES, } from '../../../data/item-themes';
12
12
  import { LoadingIcon } from '../../../icons';
13
13
  import { CONTAINER_STYLES, extractStyles, tasty, TEXT_STYLES, } from '../../../tasty';
14
- import { Text } from '../../content/Text';
14
+ import { mergeProps, resolveIcon } from '../../../utils/react';
15
+ import { useAutoTooltip } from '../../content/use-auto-tooltip';
16
+ import { IconSwitch } from '../../helpers/IconSwitch/IconSwitch';
15
17
  import { useAction } from '../use-action';
16
18
  const STYLE_PROPS = [...CONTAINER_STYLES, ...TEXT_STYLES];
19
+ const DEFAULT_ICON_STYLES = {
20
+ $: '>',
21
+ display: 'grid',
22
+ placeItems: 'center',
23
+ placeContent: 'stretch',
24
+ aspectRatio: '1 / 1',
25
+ width: '($size - 2bw)',
26
+ };
17
27
  export const DEFAULT_BUTTON_STYLES = {
18
28
  display: 'inline-grid',
19
- flow: 'column',
20
- placeItems: 'center start',
21
- placeContent: {
22
- '': 'center',
23
- 'right-icon | suffix': 'center stretch',
29
+ flow: 'column dense',
30
+ gap: 0,
31
+ gridTemplate: {
32
+ '': '"icon label rightIcon" auto / max-content 1sf max-content',
33
+ 'raw-children': 'initial',
24
34
  },
25
- gridColumns: {
26
- '': 'initial',
27
- 'left-icon | loading | prefix': 'max-content',
35
+ placeItems: {
36
+ '': 'stretch',
37
+ 'raw-children': 'center stretch',
28
38
  },
39
+ placeContent: 'center stretch',
29
40
  position: 'relative',
30
41
  margin: 0,
31
42
  boxSizing: 'border-box',
@@ -35,10 +46,6 @@ export const DEFAULT_BUTTON_STYLES = {
35
46
  ':is(button)': '$pointer',
36
47
  disabled: 'not-allowed',
37
48
  },
38
- gap: {
39
- '': '.75x',
40
- 'size=small': '.5x',
41
- },
42
49
  preset: {
43
50
  '': 't3m',
44
51
  'size=xsmall': 't4',
@@ -50,16 +57,13 @@ export const DEFAULT_BUTTON_STYLES = {
50
57
  outline: 0,
51
58
  outlineOffset: 1,
52
59
  padding: {
53
- '': '.5x (1.5x - 1bw)',
54
- 'size=small | size=xsmall': '.5x (1.25x - 1bw)',
55
- 'size=medium': '.5x (1.5x - 1bw)',
56
- 'size=large': '.5x (1.75x - 1bw)',
57
- 'size=xlarge': '.5x (2x - 1bw)',
58
- 'single-icon | type=link': 0,
60
+ '': 0,
61
+ 'raw-children': '$block-padding $label-padding-right $block-padding $label-padding-left',
62
+ 'raw-children & type=link': 0,
59
63
  },
60
64
  width: {
61
65
  '': 'min $size',
62
- 'left-icon & right-icon': 'min ($size * 2 - 2bw)',
66
+ 'has-icon & has-right-icon': 'min ($size * 2 - 2bw)',
63
67
  'single-icon': 'fixed $size',
64
68
  'type=link': 'min 1ch',
65
69
  },
@@ -80,16 +84,53 @@ export const DEFAULT_BUTTON_STYLES = {
80
84
  'size=large': '$size-lg',
81
85
  'size=xlarge': '$size-xl',
82
86
  },
83
- ButtonIcon: {
84
- width: 'min 1fs',
87
+ '$inline-padding': {
88
+ '': 'max($min-inline-padding, (($size - 1lh - 2bw) / 2 + $inline-compensation))',
89
+ },
90
+ '$block-padding': {
91
+ '': '.5x',
92
+ 'size=xsmall | size=small': '.25x',
93
+ },
94
+ '$inline-compensation': '.5x',
95
+ '$min-inline-padding': '(1x - 1bw)',
96
+ '$label-padding-left': {
97
+ '': '$inline-padding',
98
+ 'has-icon': 0,
85
99
  },
86
- '& [data-element="ButtonIcon"]:first-child:not(:last-child)': {
87
- marginLeft: '-.5x',
88
- placeSelf: 'center start',
100
+ '$label-padding-right': {
101
+ '': '$inline-padding',
102
+ 'has-right-icon': 0,
89
103
  },
90
- '& [data-element="ButtonIcon"]:last-child:not(:first-child)': {
91
- marginRight: '-.5x',
92
- placeSelf: 'center end',
104
+ // Icon sub-element (recommended format)
105
+ Icon: {
106
+ ...DEFAULT_ICON_STYLES,
107
+ gridArea: 'icon',
108
+ },
109
+ // RightIcon sub-element (recommended format)
110
+ RightIcon: {
111
+ ...DEFAULT_ICON_STYLES,
112
+ gridArea: 'rightIcon',
113
+ },
114
+ // Label sub-element (recommended format)
115
+ Label: {
116
+ $: '>',
117
+ gridArea: 'label',
118
+ display: 'block',
119
+ placeSelf: 'center stretch',
120
+ boxSizing: 'border-box',
121
+ whiteSpace: 'nowrap',
122
+ overflow: 'hidden',
123
+ textOverflow: 'ellipsis',
124
+ maxWidth: '100%',
125
+ textAlign: 'center',
126
+ padding: {
127
+ '': '$block-padding $label-padding-right $block-padding $label-padding-left',
128
+ 'type=link': 0,
129
+ },
130
+ },
131
+ // ButtonIcon sub-element (backward compatibility)
132
+ ButtonIcon: {
133
+ width: 'min 1fs',
93
134
  },
94
135
  };
95
136
  const ButtonElement = tasty({
@@ -127,22 +168,50 @@ const ButtonElement = tasty({
127
168
  },
128
169
  });
129
170
  export const Button = forwardRef(function Button(allProps, ref) {
130
- let { type, size, label, children, theme = 'default', icon, rightIcon, mods, download, ...props } = allProps;
171
+ let { type, size, label, children, theme = 'default', icon: iconProp, rightIcon: rightIconProp, mods, download, tooltip = true, defaultTooltipPlacement = 'top', ...props } = allProps;
131
172
  const isDisabled = props.isDisabled || props.isLoading;
132
173
  const isLoading = props.isLoading;
133
174
  const isSelected = props.isSelected;
134
- children = children || icon || rightIcon ? children : label;
175
+ // Base mods for icon resolution (without icon-dependent mods)
176
+ const baseMods = useMemo(() => ({
177
+ loading: isLoading,
178
+ selected: isSelected,
179
+ ...mods,
180
+ }), [isLoading, isSelected, mods]);
181
+ // Resolve dynamic icon props
182
+ const resolvedIcon = useMemo(() => resolveIcon(iconProp, baseMods), [iconProp, baseMods]);
183
+ const resolvedRightIcon = useMemo(() => resolveIcon(rightIconProp, baseMods), [rightIconProp, baseMods]);
184
+ const hasLeftSlot = resolvedIcon.hasSlot;
185
+ const hasRightSlot = resolvedRightIcon.hasSlot;
186
+ const icon = resolvedIcon.content;
187
+ const rightIcon = resolvedRightIcon.content;
188
+ // Generate stable keys for icon transitions based on icon type
189
+ const iconKey = isLoading
190
+ ? 'loading'
191
+ : isValidElement(icon)
192
+ ? icon.type?.displayName || icon.type?.name || 'icon'
193
+ : icon
194
+ ? 'icon'
195
+ : 'empty';
196
+ const rightIconKey = isValidElement(rightIcon)
197
+ ? rightIcon.type?.displayName ||
198
+ rightIcon.type?.name ||
199
+ 'icon'
200
+ : rightIcon
201
+ ? 'icon'
202
+ : 'empty';
203
+ children = children || hasLeftSlot || hasRightSlot ? children : label;
135
204
  const specifiedLabel = label ?? props['aria-label'] ?? props['aria-labelledby'];
136
205
  // Warn about accessibility issues when button has no accessible label
137
- useWarn(!children && icon && !specifiedLabel, {
138
- key: ['button-icon-no-label', !!icon],
206
+ useWarn(!children && hasLeftSlot && !specifiedLabel, {
207
+ key: ['button-icon-no-label', hasLeftSlot],
139
208
  args: [
140
209
  'accessibility issue:',
141
210
  'If you provide `icon` property for a Button and do not provide any children then you should specify the `aria-label` property to make sure the Button element stays accessible.',
142
211
  ],
143
212
  });
144
- useWarn(!children && !icon && !specifiedLabel, {
145
- key: ['button-no-content-no-label', !!icon],
213
+ useWarn(!children && !hasLeftSlot && !specifiedLabel, {
214
+ key: ['button-no-content-no-label', hasLeftSlot],
146
215
  args: [
147
216
  'accessibility issue:',
148
217
  'If you provide no children for a Button then you should specify the `aria-label` property to make sure the Button element stays accessible.',
@@ -151,43 +220,62 @@ export const Button = forwardRef(function Button(allProps, ref) {
151
220
  if (!children && !specifiedLabel) {
152
221
  label = 'Unnamed'; // fix to avoid warning in production
153
222
  }
154
- if (icon) {
155
- icon = cloneElement(icon, {
156
- 'data-element': 'ButtonIcon',
157
- });
158
- }
159
- if (rightIcon) {
160
- rightIcon = cloneElement(rightIcon, {
161
- 'data-element': 'ButtonIcon',
162
- });
163
- }
164
- const singleIcon = !!(((icon && !rightIcon) || (rightIcon && !icon)) &&
165
- !children);
166
- const hasIcons = !!icon || !!rightIcon;
223
+ const hasLeftIcon = hasLeftSlot || isLoading;
224
+ const hasChildren = children != null;
225
+ const singleIcon = !!(((hasLeftIcon && !hasRightSlot) || (hasRightSlot && !hasLeftIcon)) &&
226
+ !hasChildren);
227
+ const hasIcons = hasLeftIcon || hasRightSlot;
228
+ const rawChildren = !!(hasChildren &&
229
+ typeof children !== 'string' &&
230
+ !hasIcons);
167
231
  const modifiers = useMemo(() => ({
168
- loading: isLoading,
169
- selected: isSelected,
232
+ ...baseMods,
170
233
  'has-icons': hasIcons,
171
- 'left-icon': !!icon,
172
- 'right-icon': !!rightIcon,
234
+ 'has-icon': hasLeftIcon,
235
+ 'has-right-icon': hasRightSlot,
173
236
  'single-icon': singleIcon,
174
- 'text-only': !!(children && typeof children === 'string' && !hasIcons),
175
- ...mods,
237
+ 'text-only': !!(hasChildren && typeof children === 'string' && !hasIcons),
238
+ 'raw-children': rawChildren,
176
239
  }), [
177
- mods,
240
+ baseMods,
178
241
  children,
179
- icon,
180
- rightIcon,
181
- isLoading,
182
- isSelected,
242
+ hasLeftIcon,
243
+ hasRightSlot,
183
244
  singleIcon,
184
245
  hasIcons,
246
+ hasChildren,
247
+ rawChildren,
185
248
  ]);
186
249
  const { actionProps } = useAction({ ...allProps, isDisabled, mods: modifiers, ...(label ? { label } : {}) }, ref);
187
250
  const styles = extractStyles(props, STYLE_PROPS);
188
251
  const isDisabledElement = actionProps.isDisabled;
189
252
  delete actionProps.isDisabled;
190
- return (_jsxs(ButtonElement, { download: download, ...actionProps, disabled: isDisabledElement, variant: `${theme}.${type ?? 'outline'}`, "data-theme": theme, "data-type": type ?? 'outline', "data-size": size ?? 'medium', styles: styles, children: [icon || isLoading ? (!isLoading ? (icon) : (_jsx(LoadingIcon, { "data-element": "ButtonIcon" }))) : null, typeof children === 'string' ? (_jsx(Text, { ellipsis: true, nowrap: true, children: children })) : (children), rightIcon] }));
253
+ const { labelProps: finalLabelProps, labelRef, renderWithTooltip, } = useAutoTooltip({
254
+ tooltip,
255
+ children,
256
+ labelProps: undefined,
257
+ });
258
+ // Render function that creates the button element
259
+ const renderButtonElement = (tooltipTriggerProps, tooltipRef) => {
260
+ // Use callback ref to merge multiple refs without calling hooks
261
+ const handleRef = (element) => {
262
+ // Set the component's forwarded ref from useAction
263
+ const domRef = actionProps.ref;
264
+ if (typeof domRef === 'function') {
265
+ domRef(element);
266
+ }
267
+ else if (domRef) {
268
+ domRef.current = element;
269
+ }
270
+ // Set the tooltip ref if provided
271
+ if (tooltipRef) {
272
+ tooltipRef.current = element;
273
+ }
274
+ };
275
+ return (_jsxs(ButtonElement, { download: download, ...mergeProps(actionProps, tooltipTriggerProps || {}), ref: handleRef, disabled: isDisabledElement, variant: `${theme}.${type ?? 'outline'}`, "data-theme": theme, "data-type": type ?? 'outline', "data-size": size ?? 'medium', styles: styles, children: [hasLeftIcon ? (_jsx("div", { "data-element": "Icon", children: _jsx(IconSwitch, { noWrapper: true, contentKey: iconKey, children: isLoading ? _jsx(LoadingIcon, {}) : icon }) })) : null, hasChildren &&
276
+ (rawChildren ? (children) : (_jsx("div", { "data-element": "Label", ...finalLabelProps, ref: labelRef, children: children }))), hasRightSlot ? (_jsx("div", { "data-element": "RightIcon", children: _jsx(IconSwitch, { noWrapper: true, contentKey: rightIconKey, children: rightIcon }) })) : null] }));
277
+ };
278
+ return renderWithTooltip(renderButtonElement, defaultTooltipPlacement);
191
279
  });
192
280
 
193
281
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4cb55b8
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e8a70f
5
5
  * Released under the MIT license.
6
6
  */
7
7