@cube-dev/ui-kit 0.118.0 → 0.119.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 (1012) 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.d.ts +1 -2
  12. package/dist/components/Block.js +2 -5
  13. package/dist/components/Block.js.map +1 -1
  14. package/dist/components/CollectionItem.js +1 -1
  15. package/dist/components/GlobalStyles.js +2 -3
  16. package/dist/components/GlobalStyles.js.map +1 -1
  17. package/dist/components/GridProvider.d.ts +1 -2
  18. package/dist/components/GridProvider.js +2 -3
  19. package/dist/components/GridProvider.js.map +1 -1
  20. package/dist/components/HiddenInput.js +2 -2
  21. package/dist/components/HiddenInput.js.map +1 -1
  22. package/dist/components/Root.d.ts +1 -2
  23. package/dist/components/Root.js +2 -6
  24. package/dist/components/Root.js.map +1 -1
  25. package/dist/components/actions/Action/Action.d.ts +1 -2
  26. package/dist/components/actions/Action/Action.js +2 -4
  27. package/dist/components/actions/Action/Action.js.map +1 -1
  28. package/dist/components/actions/Banner/Banner.js +2 -2
  29. package/dist/components/actions/Banner/Banner.js.map +1 -1
  30. package/dist/components/actions/Button/Button.d.ts +3 -1769
  31. package/dist/components/actions/Button/Button.js +2 -4
  32. package/dist/components/actions/Button/Button.js.map +1 -1
  33. package/dist/components/actions/ButtonGroup/ButtonGroup.js +2 -2
  34. package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
  35. package/dist/components/actions/CommandMenu/CommandMenu.d.ts +1 -3
  36. package/dist/components/actions/CommandMenu/CommandMenu.js +2 -4
  37. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  38. package/dist/components/actions/CommandMenu/styled.js +3 -3
  39. package/dist/components/actions/CommandMenu/styled.js.map +1 -1
  40. package/dist/components/actions/ItemAction/ItemAction.d.ts +1 -3
  41. package/dist/components/actions/ItemAction/ItemAction.js +2 -2
  42. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  43. package/dist/components/actions/ItemActionContext.js +1 -1
  44. package/dist/components/actions/ItemButton/ItemButton.d.ts +1 -2
  45. package/dist/components/actions/ItemButton/ItemButton.js +2 -2
  46. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  47. package/dist/components/actions/Link/Link.js +1 -1
  48. package/dist/components/actions/Menu/Menu.d.ts +1 -3
  49. package/dist/components/actions/Menu/Menu.js +2 -4
  50. package/dist/components/actions/Menu/Menu.js.map +1 -1
  51. package/dist/components/actions/Menu/MenuItem.d.ts +1 -2
  52. package/dist/components/actions/Menu/MenuItem.js +1 -1
  53. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  54. package/dist/components/actions/Menu/MenuSection.d.ts +1 -2
  55. package/dist/components/actions/Menu/MenuSection.js +1 -1
  56. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  57. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  58. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  59. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  60. package/dist/components/actions/Menu/context.js +1 -1
  61. package/dist/components/actions/Menu/styled.js +2 -2
  62. package/dist/components/actions/Menu/styled.js.map +1 -1
  63. package/dist/components/actions/index.js +1 -1
  64. package/dist/components/actions/use-action.d.ts +1 -2
  65. package/dist/components/actions/use-action.js +2 -2
  66. package/dist/components/actions/use-action.js.map +1 -1
  67. package/dist/components/actions/use-anchored-menu.js +1 -1
  68. package/dist/components/actions/use-context-menu.js +1 -1
  69. package/dist/components/content/ActiveZone/ActiveZone.d.ts +1 -2
  70. package/dist/components/content/ActiveZone/ActiveZone.js +2 -5
  71. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  72. package/dist/components/content/Alert/Alert.js +2 -2
  73. package/dist/components/content/Alert/Alert.js.map +1 -1
  74. package/dist/components/content/Alert/types.d.ts +1 -2
  75. package/dist/components/content/Alert/use-alert.js +2 -4
  76. package/dist/components/content/Alert/use-alert.js.map +1 -1
  77. package/dist/components/content/Avatar/Avatar.d.ts +1 -3
  78. package/dist/components/content/Avatar/Avatar.js +2 -5
  79. package/dist/components/content/Avatar/Avatar.js.map +1 -1
  80. package/dist/components/content/Badge/Badge.js +2 -2
  81. package/dist/components/content/Badge/Badge.js.map +1 -1
  82. package/dist/components/content/Card/Card.d.ts +1 -2
  83. package/dist/components/content/Card/Card.js +2 -5
  84. package/dist/components/content/Card/Card.js.map +1 -1
  85. package/dist/components/content/Content.d.ts +1 -2
  86. package/dist/components/content/Content.js +2 -5
  87. package/dist/components/content/Content.js.map +1 -1
  88. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.d.ts +1 -3
  89. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -4
  90. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  91. package/dist/components/content/CopySnippet/CopySnippet.js +2 -2
  92. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  93. package/dist/components/content/Disclosure/Disclosure.d.ts +1 -3
  94. package/dist/components/content/Disclosure/Disclosure.js +3 -4
  95. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  96. package/dist/components/content/Divider.d.ts +1 -2
  97. package/dist/components/content/Divider.js +2 -4
  98. package/dist/components/content/Divider.js.map +1 -1
  99. package/dist/components/content/Footer.d.ts +1 -2
  100. package/dist/components/content/Footer.js +2 -5
  101. package/dist/components/content/Footer.js.map +1 -1
  102. package/dist/components/content/Header.d.ts +1 -2
  103. package/dist/components/content/Header.js +2 -5
  104. package/dist/components/content/Header.js.map +1 -1
  105. package/dist/components/content/HotKeys/HotKeys.d.ts +1 -2
  106. package/dist/components/content/HotKeys/HotKeys.js +2 -5
  107. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  108. package/dist/components/content/Item/Item.d.ts +1 -3
  109. package/dist/components/content/Item/Item.js +2 -3
  110. package/dist/components/content/Item/Item.js.map +1 -1
  111. package/dist/components/content/ItemBadge/ItemBadge.d.ts +1 -2
  112. package/dist/components/content/ItemBadge/ItemBadge.js +2 -2
  113. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  114. package/dist/components/content/Layout/GridLayout.d.ts +1 -2
  115. package/dist/components/content/Layout/GridLayout.js +2 -2
  116. package/dist/components/content/Layout/GridLayout.js.map +1 -1
  117. package/dist/components/content/Layout/Layout.d.ts +1 -3
  118. package/dist/components/content/Layout/Layout.js +3 -7
  119. package/dist/components/content/Layout/Layout.js.map +1 -1
  120. package/dist/components/content/Layout/LayoutBlock.js +2 -2
  121. package/dist/components/content/Layout/LayoutBlock.js.map +1 -1
  122. package/dist/components/content/Layout/LayoutCenter.js +2 -2
  123. package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
  124. package/dist/components/content/Layout/LayoutContainer.d.ts +1 -3
  125. package/dist/components/content/Layout/LayoutContainer.js +2 -6
  126. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  127. package/dist/components/content/Layout/LayoutContent.d.ts +1 -2
  128. package/dist/components/content/Layout/LayoutContent.js +2 -6
  129. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  130. package/dist/components/content/Layout/LayoutContext.js +1 -1
  131. package/dist/components/content/Layout/LayoutFlex.js +2 -2
  132. package/dist/components/content/Layout/LayoutFlex.js.map +1 -1
  133. package/dist/components/content/Layout/LayoutFooter.js +2 -2
  134. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  135. package/dist/components/content/Layout/LayoutGrid.d.ts +1 -2
  136. package/dist/components/content/Layout/LayoutGrid.js +2 -2
  137. package/dist/components/content/Layout/LayoutGrid.js.map +1 -1
  138. package/dist/components/content/Layout/LayoutHeader.js +2 -2
  139. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  140. package/dist/components/content/Layout/LayoutPane.d.ts +1 -3
  141. package/dist/components/content/Layout/LayoutPane.js +2 -6
  142. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  143. package/dist/components/content/Layout/LayoutPanel.d.ts +1 -3
  144. package/dist/components/content/Layout/LayoutPanel.js +2 -6
  145. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  146. package/dist/components/content/Layout/LayoutPanelHeader.d.ts +1 -2
  147. package/dist/components/content/Layout/LayoutPanelHeader.js +2 -4
  148. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  149. package/dist/components/content/Layout/LayoutToolbar.js +2 -2
  150. package/dist/components/content/Layout/LayoutToolbar.js.map +1 -1
  151. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  152. package/dist/components/content/Layout/index.js +1 -1
  153. package/dist/components/content/Layout/utils.js +1 -1
  154. package/dist/components/content/Paragraph.d.ts +1 -2
  155. package/dist/components/content/Paragraph.js +2 -3
  156. package/dist/components/content/Paragraph.js.map +1 -1
  157. package/dist/components/content/Placeholder/Placeholder.d.ts +1 -3
  158. package/dist/components/content/Placeholder/Placeholder.js +2 -6
  159. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  160. package/dist/components/content/PrismCode/PrismCode.d.ts +1 -3
  161. package/dist/components/content/PrismCode/PrismCode.js +2 -3
  162. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  163. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  164. package/dist/components/content/PrismDiffCode/PrismDiffCode.d.ts +1 -3
  165. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  166. package/dist/components/content/PrismDiffCode/PrismDiffCode.js.map +1 -1
  167. package/dist/components/content/Result/Result.d.ts +1 -2
  168. package/dist/components/content/Result/Result.js +2 -5
  169. package/dist/components/content/Result/Result.js.map +1 -1
  170. package/dist/components/content/Skeleton/Skeleton.d.ts +1 -2
  171. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  172. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  173. package/dist/components/content/Tag/Tag.d.ts +1 -2
  174. package/dist/components/content/Tag/Tag.js +2 -2
  175. package/dist/components/content/Tag/Tag.js.map +1 -1
  176. package/dist/components/content/Text.d.ts +128 -159
  177. package/dist/components/content/Text.js +2 -5
  178. package/dist/components/content/Text.js.map +1 -1
  179. package/dist/components/content/TextItem/TextItem.d.ts +1 -2
  180. package/dist/components/content/TextItem/TextItem.js +2 -5
  181. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  182. package/dist/components/content/Title.d.ts +1 -2
  183. package/dist/components/content/Title.js +2 -5
  184. package/dist/components/content/Title.js.map +1 -1
  185. package/dist/components/content/highlightText.js +1 -1
  186. package/dist/components/content/highlightText.js.map +1 -1
  187. package/dist/components/content/use-auto-tooltip.d.ts +1 -1
  188. package/dist/components/content/use-auto-tooltip.js +1 -1
  189. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  190. package/dist/components/fields/Checkbox/Checkbox.d.ts +1 -3
  191. package/dist/components/fields/Checkbox/Checkbox.js +2 -5
  192. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  193. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +1 -3
  194. package/dist/components/fields/Checkbox/CheckboxGroup.js +2 -4
  195. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  196. package/dist/components/fields/Checkbox/context.js +1 -1
  197. package/dist/components/fields/ComboBox/ComboBox.d.ts +1 -3
  198. package/dist/components/fields/ComboBox/ComboBox.js +2 -4
  199. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  200. package/dist/components/fields/DatePicker/DateInput.d.ts +1 -3
  201. package/dist/components/fields/DatePicker/DateInput.js +2 -3
  202. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  203. package/dist/components/fields/DatePicker/DateInputBase.js +2 -4
  204. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  205. package/dist/components/fields/DatePicker/DatePicker.d.ts +1 -3
  206. package/dist/components/fields/DatePicker/DatePicker.js +2 -3
  207. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  208. package/dist/components/fields/DatePicker/DatePickerButton.js +2 -2
  209. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  210. package/dist/components/fields/DatePicker/DatePickerElement.js +2 -2
  211. package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
  212. package/dist/components/fields/DatePicker/DatePickerInput.js +2 -2
  213. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  214. package/dist/components/fields/DatePicker/DatePickerSegment.js +2 -2
  215. package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
  216. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +1 -3
  217. package/dist/components/fields/DatePicker/DateRangePicker.js +2 -4
  218. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  219. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +1 -3
  220. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +2 -4
  221. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  222. package/dist/components/fields/DatePicker/TimeInput.d.ts +1 -3
  223. package/dist/components/fields/DatePicker/TimeInput.js +2 -3
  224. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  225. package/dist/components/fields/DatePicker/intl.js +1 -1
  226. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  227. package/dist/components/fields/DatePicker/props.js +1 -1
  228. package/dist/components/fields/DatePicker/utils.js +1 -1
  229. package/dist/components/fields/FileInput/FileInput.d.ts +1 -3
  230. package/dist/components/fields/FileInput/FileInput.js +2 -4
  231. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  232. package/dist/components/fields/FilterListBox/FilterListBox.d.ts +1 -2
  233. package/dist/components/fields/FilterListBox/FilterListBox.js +5 -7
  234. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  235. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +1 -3
  236. package/dist/components/fields/FilterPicker/FilterPicker.js +2 -5
  237. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  238. package/dist/components/fields/Input/Input.js +1 -1
  239. package/dist/components/fields/ListBox/ListBox.d.ts +1 -3
  240. package/dist/components/fields/ListBox/ListBox.js +2 -5
  241. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  242. package/dist/components/fields/NumberInput/NumberInput.js +2 -2
  243. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  244. package/dist/components/fields/NumberInput/StepButton.js +2 -2
  245. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  246. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  247. package/dist/components/fields/Picker/Picker.d.ts +1 -3
  248. package/dist/components/fields/Picker/Picker.js +2 -5
  249. package/dist/components/fields/Picker/Picker.js.map +1 -1
  250. package/dist/components/fields/RadioGroup/Radio.d.ts +1 -2
  251. package/dist/components/fields/RadioGroup/Radio.js +2 -5
  252. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  253. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +1 -3
  254. package/dist/components/fields/RadioGroup/RadioGroup.js +2 -4
  255. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  256. package/dist/components/fields/RadioGroup/context.js +1 -1
  257. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  258. package/dist/components/fields/Select/Select.d.ts +834 -836
  259. package/dist/components/fields/Select/Select.js +2 -4
  260. package/dist/components/fields/Select/Select.js.map +1 -1
  261. package/dist/components/fields/Slider/Gradation.js +1 -1
  262. package/dist/components/fields/Slider/HueSlider.js +1 -1
  263. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  264. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  265. package/dist/components/fields/Slider/Slider.d.ts +1 -3
  266. package/dist/components/fields/Slider/Slider.js +2 -3
  267. package/dist/components/fields/Slider/Slider.js.map +1 -1
  268. package/dist/components/fields/Slider/SliderBase.js +2 -4
  269. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  270. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  271. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  272. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  273. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  274. package/dist/components/fields/Slider/elements.js +2 -2
  275. package/dist/components/fields/Slider/elements.js.map +1 -1
  276. package/dist/components/fields/Slider/index.js +1 -1
  277. package/dist/components/fields/Slider/types.d.ts +1 -3
  278. package/dist/components/fields/Switch/Switch.d.ts +1 -3
  279. package/dist/components/fields/Switch/Switch.js +2 -4
  280. package/dist/components/fields/Switch/Switch.js.map +1 -1
  281. package/dist/components/fields/TextArea/TextArea.js +1 -1
  282. package/dist/components/fields/TextInput/TextInput.js +1 -1
  283. package/dist/components/fields/TextInput/TextInputBase.d.ts +1 -3
  284. package/dist/components/fields/TextInput/TextInputBase.js +3 -5
  285. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  286. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  287. package/dist/components/form/FieldWrapper/FieldWrapper.js +2 -2
  288. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  289. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  290. package/dist/components/form/FieldWrapper/types.d.ts +1 -3
  291. package/dist/components/form/Form/Field.d.ts +1 -2
  292. package/dist/components/form/Form/Field.js +1 -1
  293. package/dist/components/form/Form/Field.js.map +1 -1
  294. package/dist/components/form/Form/Form.d.ts +1 -3
  295. package/dist/components/form/Form/Form.js +2 -5
  296. package/dist/components/form/Form/Form.js.map +1 -1
  297. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  298. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  299. package/dist/components/form/Form/SubmitError.js +1 -1
  300. package/dist/components/form/Form/index.js +1 -1
  301. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  302. package/dist/components/form/Form/use-field/use-field.js +1 -1
  303. package/dist/components/form/Form/use-form.js +2 -2
  304. package/dist/components/form/Form/use-form.js.map +1 -1
  305. package/dist/components/form/Form/validation.js +1 -1
  306. package/dist/components/form/Label.d.ts +1 -3
  307. package/dist/components/form/Label.js +2 -5
  308. package/dist/components/form/Label.js.map +1 -1
  309. package/dist/components/form/wrapper.d.ts +1 -2
  310. package/dist/components/form/wrapper.js +1 -1
  311. package/dist/components/form/wrapper.js.map +1 -1
  312. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  313. package/dist/components/helpers/IconSwitch/IconSwitch.js +2 -2
  314. package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
  315. package/dist/components/layout/Flex.d.ts +1 -2
  316. package/dist/components/layout/Flex.js +2 -5
  317. package/dist/components/layout/Flex.js.map +1 -1
  318. package/dist/components/layout/Flow.d.ts +1 -2
  319. package/dist/components/layout/Flow.js +2 -5
  320. package/dist/components/layout/Flow.js.map +1 -1
  321. package/dist/components/layout/Grid.d.ts +1 -2
  322. package/dist/components/layout/Grid.js +2 -5
  323. package/dist/components/layout/Grid.js.map +1 -1
  324. package/dist/components/layout/Panel.d.ts +1 -3
  325. package/dist/components/layout/Panel.js +2 -3
  326. package/dist/components/layout/Panel.js.map +1 -1
  327. package/dist/components/layout/Prefix.d.ts +1 -2
  328. package/dist/components/layout/Prefix.js +2 -5
  329. package/dist/components/layout/Prefix.js.map +1 -1
  330. package/dist/components/layout/ResizablePanel.d.ts +1 -2
  331. package/dist/components/layout/ResizablePanel.js +2 -2
  332. package/dist/components/layout/ResizablePanel.js.map +1 -1
  333. package/dist/components/layout/Space.d.ts +1 -2
  334. package/dist/components/layout/Space.js +2 -5
  335. package/dist/components/layout/Space.js.map +1 -1
  336. package/dist/components/layout/Suffix.d.ts +1 -2
  337. package/dist/components/layout/Suffix.js +2 -5
  338. package/dist/components/layout/Suffix.js.map +1 -1
  339. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  340. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  341. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  342. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  343. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  344. package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
  345. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  346. package/dist/components/navigation/Tabs/Tabs.js +2 -4
  347. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  348. package/dist/components/navigation/Tabs/TabsAction.js +2 -2
  349. package/dist/components/navigation/Tabs/TabsAction.js.map +1 -1
  350. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  351. package/dist/components/navigation/Tabs/styled.js +2 -2
  352. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  353. package/dist/components/navigation/Tabs/types.d.ts +1 -3
  354. package/dist/components/navigation/Tabs/types.js +1 -1
  355. package/dist/components/navigation/Tabs/types.js.map +1 -1
  356. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  357. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  358. package/dist/components/organisms/FileTabs/FileTabs.d.ts +1 -2
  359. package/dist/components/organisms/FileTabs/FileTabs.js +2 -2
  360. package/dist/components/organisms/FileTabs/FileTabs.js.map +1 -1
  361. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  362. package/dist/components/other/Calendar/Calendar.js +2 -2
  363. package/dist/components/other/Calendar/Calendar.js.map +1 -1
  364. package/dist/components/other/Calendar/CalendarCell.js +2 -2
  365. package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
  366. package/dist/components/other/Calendar/CalendarGrid.js +2 -2
  367. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  368. package/dist/components/other/Calendar/RangeCalendar.js +2 -2
  369. package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
  370. package/dist/components/other/CloudLogo/CloudLogo.js +2 -2
  371. package/dist/components/other/CloudLogo/CloudLogo.js.map +1 -1
  372. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  373. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  374. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  375. package/dist/components/overlays/AlertDialog/types.d.ts +1 -1
  376. package/dist/components/overlays/Dialog/Dialog.d.ts +1 -3
  377. package/dist/components/overlays/Dialog/Dialog.js +2 -4
  378. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  379. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  380. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  381. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +1 -2
  382. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  383. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  384. package/dist/components/overlays/Dialog/context.js +1 -1
  385. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  386. package/dist/components/overlays/Modal/Modal.d.ts +3 -2
  387. package/dist/components/overlays/Modal/Modal.js +2 -2
  388. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  389. package/dist/components/overlays/Modal/OpenTransition.js +1 -1
  390. package/dist/components/overlays/Modal/Overlay.d.ts +1 -0
  391. package/dist/components/overlays/Modal/Overlay.js +1 -1
  392. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  393. package/dist/components/overlays/Modal/Popover.d.ts +1 -1
  394. package/dist/components/overlays/Modal/Popover.js +2 -2
  395. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  396. package/dist/components/overlays/Modal/Tray.d.ts +1 -1
  397. package/dist/components/overlays/Modal/Tray.js +2 -2
  398. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  399. package/dist/components/overlays/Modal/Underlay.js +2 -2
  400. package/dist/components/overlays/Modal/Underlay.js.map +1 -1
  401. package/dist/components/overlays/Notifications/Notification.js +1 -1
  402. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  403. package/dist/components/overlays/Notifications/NotificationCard.js +2 -2
  404. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  405. package/dist/components/overlays/Notifications/NotificationContext.d.ts +2 -0
  406. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  407. package/dist/components/overlays/Notifications/NotificationItem.js +2 -2
  408. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  409. package/dist/components/overlays/Notifications/OverlayContainer.js +2 -2
  410. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  411. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  412. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +2 -2
  413. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  414. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  415. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  416. package/dist/components/overlays/Notifications/index.js +1 -1
  417. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  418. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  419. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  420. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  421. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  422. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  423. package/dist/components/overlays/Toast/ToastItem.js +2 -2
  424. package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
  425. package/dist/components/overlays/Toast/index.js +1 -1
  426. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  427. package/dist/components/overlays/Toast/useToast.js +2 -2
  428. package/dist/components/overlays/Tooltip/Tooltip.d.ts +1 -3
  429. package/dist/components/overlays/Tooltip/Tooltip.js +2 -4
  430. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  431. package/dist/components/overlays/Tooltip/TooltipProvider.d.ts +1 -2
  432. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  433. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  434. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  435. package/dist/components/overlays/Tooltip/context.js +1 -1
  436. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  437. package/dist/components/portal/Portal.js +1 -1
  438. package/dist/components/portal/PortalProvider.d.ts +2 -0
  439. package/dist/components/portal/PortalProvider.js +1 -1
  440. package/dist/components/portal/index.d.ts +1 -0
  441. package/dist/components/portal/usePortal.js +1 -1
  442. package/dist/components/shared/InvalidIcon.js +1 -1
  443. package/dist/components/shared/ValidIcon.js +1 -1
  444. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +2 -2
  445. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  446. package/dist/components/status/Spin/Cube.js +2 -2
  447. package/dist/components/status/Spin/Cube.js.map +1 -1
  448. package/dist/components/status/Spin/InternalSpinner.js +2 -2
  449. package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
  450. package/dist/components/status/Spin/Spin.js +2 -2
  451. package/dist/components/status/Spin/Spin.js.map +1 -1
  452. package/dist/components/status/Spin/SpinsContainer.js +2 -2
  453. package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
  454. package/dist/components/status/Spin/types.d.ts +1 -2
  455. package/dist/data/item-themes.d.ts +1 -1
  456. package/dist/data/item-themes.js +1 -1
  457. package/dist/data/item-themes.js.map +1 -1
  458. package/dist/data/themes.js +1 -1
  459. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  460. package/dist/icons/AdjustmentsIcon.js +1 -1
  461. package/dist/icons/AiIcon.js +1 -1
  462. package/dist/icons/AreaChartIcon.js +1 -1
  463. package/dist/icons/BackwardIcon.js +1 -1
  464. package/dist/icons/BarChartIcon.js +1 -1
  465. package/dist/icons/BellFilledIcon.js +1 -1
  466. package/dist/icons/BellIcon.js +1 -1
  467. package/dist/icons/BooleanIcon.js +1 -1
  468. package/dist/icons/CalendarEditIcon.js +1 -1
  469. package/dist/icons/CalendarIcon.js +1 -1
  470. package/dist/icons/CaretDownIcon.js +1 -1
  471. package/dist/icons/CaretUpIcon.js +1 -1
  472. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  473. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  474. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  475. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  476. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  477. package/dist/icons/ChartBarLineIcon.js +1 -1
  478. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  479. package/dist/icons/ChartBarStackedIcon.js +1 -1
  480. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  481. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  482. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  483. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  484. package/dist/icons/ChartBubbleIcon.js +1 -1
  485. package/dist/icons/ChartDonut2Icon.js +1 -1
  486. package/dist/icons/ChartFunnelIcon.js +1 -1
  487. package/dist/icons/ChartHeatmapIcon.js +1 -1
  488. package/dist/icons/ChartKPIIcon.js +1 -1
  489. package/dist/icons/ChartPie2Icon.js +1 -1
  490. package/dist/icons/ChartScatterIcon.js +1 -1
  491. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  492. package/dist/icons/CheckCircleIcon.js +1 -1
  493. package/dist/icons/CheckIcon.js +1 -1
  494. package/dist/icons/CircleFilledIcon.js +1 -1
  495. package/dist/icons/ClearIcon.js +1 -1
  496. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  497. package/dist/icons/CloseCircleIcon.js +1 -1
  498. package/dist/icons/CloseIcon.js +1 -1
  499. package/dist/icons/CodeIcon.js +1 -1
  500. package/dist/icons/ColumnTotalIcon.js +1 -1
  501. package/dist/icons/CopyIcon.js +1 -1
  502. package/dist/icons/CountIcon.js +1 -1
  503. package/dist/icons/CubeIcon.js +1 -1
  504. package/dist/icons/CubePauseIcon.js +1 -1
  505. package/dist/icons/CubePlayIcon.js +1 -1
  506. package/dist/icons/CurrencyDollarIcon.js +1 -1
  507. package/dist/icons/DangerIcon.js +1 -1
  508. package/dist/icons/DashboardIcon.js +1 -1
  509. package/dist/icons/DatabaseIcon.js +1 -1
  510. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  511. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  512. package/dist/icons/DirectionIcon.js +2 -2
  513. package/dist/icons/DirectionIcon.js.map +1 -1
  514. package/dist/icons/DonutIcon.js +1 -1
  515. package/dist/icons/DownIcon.js +1 -1
  516. package/dist/icons/EditIcon.js +1 -1
  517. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  518. package/dist/icons/ExclamationCircleIcon.js +1 -1
  519. package/dist/icons/ExclamationIcon.js +1 -1
  520. package/dist/icons/EyeIcon.js +1 -1
  521. package/dist/icons/EyeInvisibleIcon.js +1 -1
  522. package/dist/icons/FilterIcon.js +1 -1
  523. package/dist/icons/FolderFilledIcon.js +1 -1
  524. package/dist/icons/FolderIcon.js +1 -1
  525. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  526. package/dist/icons/FolderOpenIcon.js +1 -1
  527. package/dist/icons/ForwardIcon.js +1 -1
  528. package/dist/icons/HierarchyIcon.js +1 -1
  529. package/dist/icons/HierarchyOpenIcon.js +1 -1
  530. package/dist/icons/Icon.d.ts +1 -3
  531. package/dist/icons/Icon.js +2 -3
  532. package/dist/icons/Icon.js.map +1 -1
  533. package/dist/icons/InfoCircleIcon.js +1 -1
  534. package/dist/icons/InfoIcon.js +1 -1
  535. package/dist/icons/KeyIcon.js +1 -1
  536. package/dist/icons/LeftIcon.js +1 -1
  537. package/dist/icons/LineChartIcon.js +1 -1
  538. package/dist/icons/LoadingIcon.js +1 -1
  539. package/dist/icons/LockFilledIcon.js +1 -1
  540. package/dist/icons/LockIcon.js +1 -1
  541. package/dist/icons/MoreIcon.js +1 -1
  542. package/dist/icons/NotAllowedIcon.js +1 -1
  543. package/dist/icons/Number123Icon.js +1 -1
  544. package/dist/icons/NumberIcon.js +1 -1
  545. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  546. package/dist/icons/PauseCircleIcon.js +1 -1
  547. package/dist/icons/PauseIcon.js +1 -1
  548. package/dist/icons/PercentageIcon.js +1 -1
  549. package/dist/icons/PieChartIcon.js +1 -1
  550. package/dist/icons/PlayCircleIcon.js +1 -1
  551. package/dist/icons/PlayIcon.js +1 -1
  552. package/dist/icons/PlusIcon.js +1 -1
  553. package/dist/icons/ProgressBarIcon.js +1 -1
  554. package/dist/icons/ReloadIcon.js +1 -1
  555. package/dist/icons/ReportIcon.js +1 -1
  556. package/dist/icons/ReturnIcon.js +1 -1
  557. package/dist/icons/RightIcon.js +1 -1
  558. package/dist/icons/RowTotalsIcon.js +1 -1
  559. package/dist/icons/SchemeIcon.js +1 -1
  560. package/dist/icons/SearchIcon.js +1 -1
  561. package/dist/icons/SemanticQueryIcon.js +1 -1
  562. package/dist/icons/SettingsIcon.js +1 -1
  563. package/dist/icons/ShieldFilledIcon.js +1 -1
  564. package/dist/icons/ShieldIcon.js +1 -1
  565. package/dist/icons/SlashIcon.js +1 -1
  566. package/dist/icons/SparklesIcon.js +1 -1
  567. package/dist/icons/SqlIcon.js +1 -1
  568. package/dist/icons/StatsIcon.js +1 -1
  569. package/dist/icons/StopIcon.js +1 -1
  570. package/dist/icons/StringIcon.js +1 -1
  571. package/dist/icons/SubtotalsIcon.js +1 -1
  572. package/dist/icons/SwitchIcon.js +1 -1
  573. package/dist/icons/TableIcon.js +1 -1
  574. package/dist/icons/ThumbsDownIcon.js +1 -1
  575. package/dist/icons/ThumbsUpIcon.js +1 -1
  576. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  577. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  578. package/dist/icons/ThunderboltIcon.js +1 -1
  579. package/dist/icons/TimeIcon.js +1 -1
  580. package/dist/icons/TrashIcon.js +1 -1
  581. package/dist/icons/UnlockIcon.js +1 -1
  582. package/dist/icons/UpIcon.js +1 -1
  583. package/dist/icons/UserGroupIcon.js +1 -1
  584. package/dist/icons/UserIcon.js +1 -1
  585. package/dist/icons/UserLockIcon.js +1 -1
  586. package/dist/icons/ViewIcon.js +1 -1
  587. package/dist/icons/WarningFilledIcon.js +1 -1
  588. package/dist/icons/WarningIcon.js +1 -1
  589. package/dist/icons/wrap-icon.js +1 -1
  590. package/dist/index.d.ts +4 -35
  591. package/dist/index.js +5 -31
  592. package/dist/index.js.map +1 -1
  593. package/dist/provider.d.ts +1 -2
  594. package/dist/provider.js +1 -1
  595. package/dist/provider.js.map +1 -1
  596. package/dist/providers/TrackingProvider.js +1 -1
  597. package/dist/providers/navigationAdapter.default.js +1 -1
  598. package/dist/shared/form.d.ts +1 -3
  599. package/dist/tokens/base.d.ts +1 -1
  600. package/dist/tokens/base.js +1 -1
  601. package/dist/tokens/base.js.map +1 -1
  602. package/dist/tokens/colors.d.ts +1 -1
  603. package/dist/tokens/colors.js +1 -1
  604. package/dist/tokens/colors.js.map +1 -1
  605. package/dist/tokens/index.d.ts +1 -2
  606. package/dist/tokens/index.js +2 -3
  607. package/dist/tokens/index.js.map +1 -1
  608. package/dist/tokens/layout.d.ts +1 -1
  609. package/dist/tokens/layout.js +1 -1
  610. package/dist/tokens/layout.js.map +1 -1
  611. package/dist/tokens/shadows.d.ts +1 -1
  612. package/dist/tokens/shadows.js +1 -1
  613. package/dist/tokens/shadows.js.map +1 -1
  614. package/dist/tokens/sizes.d.ts +1 -1
  615. package/dist/tokens/sizes.js +1 -1
  616. package/dist/tokens/sizes.js.map +1 -1
  617. package/dist/tokens/spacing.d.ts +1 -1
  618. package/dist/tokens/spacing.js +1 -1
  619. package/dist/tokens/spacing.js.map +1 -1
  620. package/dist/utils/ResizeSensor.js +1 -1
  621. package/dist/utils/index.d.ts +1 -2
  622. package/dist/utils/is-dev-env.js +5 -10
  623. package/dist/utils/is-dev-env.js.map +1 -1
  624. package/dist/utils/modules.js +1 -1
  625. package/dist/utils/promise.js +1 -1
  626. package/dist/utils/raf.js +1 -1
  627. package/dist/utils/random.js +1 -1
  628. package/dist/utils/range.js +1 -1
  629. package/dist/utils/react/RenderCache.js +1 -1
  630. package/dist/utils/react/Slots.js +1 -1
  631. package/dist/utils/react/chain.js +1 -1
  632. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  633. package/dist/utils/react/index.d.ts +3 -3
  634. package/dist/utils/react/index.js +20 -0
  635. package/dist/utils/react/interactions.js +1 -1
  636. package/dist/utils/react/isTextOnly.js +1 -1
  637. package/dist/utils/react/mapProps.js +1 -1
  638. package/dist/utils/react/mergeProps.d.ts +1 -2
  639. package/dist/utils/react/mergeProps.js +2 -2
  640. package/dist/utils/react/mergeProps.js.map +1 -1
  641. package/dist/utils/react/nullableValue.d.ts +1 -2
  642. package/dist/utils/react/nullableValue.js +1 -1
  643. package/dist/utils/react/nullableValue.js.map +1 -1
  644. package/dist/utils/react/resolveIcon.d.ts +1 -2
  645. package/dist/utils/react/resolveIcon.js +1 -1
  646. package/dist/utils/react/resolveIcon.js.map +1 -1
  647. package/dist/utils/react/sharedStore.js +1 -1
  648. package/dist/utils/react/useCombinedRefs.js +1 -1
  649. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  650. package/dist/utils/react/useEventBus.js +1 -1
  651. package/dist/utils/react/useId.js +1 -1
  652. package/dist/utils/react/useIsDarwin.js +1 -1
  653. package/dist/utils/react/useKeySymbols.js +1 -1
  654. package/dist/utils/react/useLayoutEffect.js +1 -1
  655. package/dist/utils/react/useLocalStorage.js +1 -1
  656. package/dist/utils/react/useMergeStyles.d.ts +1 -2
  657. package/dist/utils/react/useMergeStyles.js +2 -2
  658. package/dist/utils/react/useMergeStyles.js.map +1 -1
  659. package/dist/utils/react/useQaProps.js +1 -1
  660. package/dist/utils/react/useViewportSize.js +1 -1
  661. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  662. package/dist/utils/tree.js +1 -1
  663. package/dist/utils/warnings.js +1 -1
  664. package/dist/version.js +2 -2
  665. package/package.json +4 -21
  666. package/dist/_virtual/_rolldown/runtime.js +0 -8
  667. package/dist/chunks/cacheKey.js +0 -71
  668. package/dist/chunks/cacheKey.js.map +0 -1
  669. package/dist/chunks/definitions.js +0 -261
  670. package/dist/chunks/definitions.js.map +0 -1
  671. package/dist/chunks/renderChunk.js +0 -68
  672. package/dist/chunks/renderChunk.js.map +0 -1
  673. package/dist/config.js +0 -232
  674. package/dist/config.js.map +0 -1
  675. package/dist/css-writer.d.ts +0 -46
  676. package/dist/css-writer.js +0 -75
  677. package/dist/css-writer.js.map +0 -1
  678. package/dist/extractor.d.ts +0 -25
  679. package/dist/extractor.js +0 -151
  680. package/dist/extractor.js.map +0 -1
  681. package/dist/injector/injector.js +0 -401
  682. package/dist/injector/injector.js.map +0 -1
  683. package/dist/injector/sheet-manager.js +0 -715
  684. package/dist/injector/sheet-manager.js.map +0 -1
  685. package/dist/injector/types.d.ts +0 -19
  686. package/dist/keyframes/index.js +0 -157
  687. package/dist/keyframes/index.js.map +0 -1
  688. package/dist/parser/classify.js +0 -320
  689. package/dist/parser/classify.js.map +0 -1
  690. package/dist/parser/const.js +0 -34
  691. package/dist/parser/const.js.map +0 -1
  692. package/dist/parser/lru.js +0 -110
  693. package/dist/parser/lru.js.map +0 -1
  694. package/dist/parser/parser.js +0 -117
  695. package/dist/parser/parser.js.map +0 -1
  696. package/dist/parser/tokenizer.js +0 -70
  697. package/dist/parser/tokenizer.js.map +0 -1
  698. package/dist/parser/types.d.ts +0 -38
  699. package/dist/parser/types.js +0 -47
  700. package/dist/parser/types.js.map +0 -1
  701. package/dist/pipeline/conditions.js +0 -378
  702. package/dist/pipeline/conditions.js.map +0 -1
  703. package/dist/pipeline/exclusive.js +0 -232
  704. package/dist/pipeline/exclusive.js.map +0 -1
  705. package/dist/pipeline/index.js +0 -633
  706. package/dist/pipeline/index.js.map +0 -1
  707. package/dist/pipeline/materialize.js +0 -822
  708. package/dist/pipeline/materialize.js.map +0 -1
  709. package/dist/pipeline/parseStateKey.js +0 -422
  710. package/dist/pipeline/parseStateKey.js.map +0 -1
  711. package/dist/pipeline/simplify.js +0 -558
  712. package/dist/pipeline/simplify.js.map +0 -1
  713. package/dist/plugins/okhsl-plugin.js +0 -346
  714. package/dist/plugins/okhsl-plugin.js.map +0 -1
  715. package/dist/plugins/types.d.ts +0 -52
  716. package/dist/properties/index.js +0 -142
  717. package/dist/properties/index.js.map +0 -1
  718. package/dist/states/index.js +0 -162
  719. package/dist/states/index.js.map +0 -1
  720. package/dist/styles/align.js +0 -15
  721. package/dist/styles/align.js.map +0 -1
  722. package/dist/styles/border.js +0 -115
  723. package/dist/styles/border.js.map +0 -1
  724. package/dist/styles/color.js +0 -24
  725. package/dist/styles/color.js.map +0 -1
  726. package/dist/styles/createStyle.js +0 -78
  727. package/dist/styles/createStyle.js.map +0 -1
  728. package/dist/styles/dimension.js +0 -100
  729. package/dist/styles/dimension.js.map +0 -1
  730. package/dist/styles/display.js +0 -68
  731. package/dist/styles/display.js.map +0 -1
  732. package/dist/styles/fade.js +0 -58
  733. package/dist/styles/fade.js.map +0 -1
  734. package/dist/styles/fill.js +0 -52
  735. package/dist/styles/fill.js.map +0 -1
  736. package/dist/styles/flow.js +0 -13
  737. package/dist/styles/flow.js.map +0 -1
  738. package/dist/styles/gap.js +0 -37
  739. package/dist/styles/gap.js.map +0 -1
  740. package/dist/styles/height.js +0 -21
  741. package/dist/styles/height.js.map +0 -1
  742. package/dist/styles/index.js +0 -10
  743. package/dist/styles/index.js.map +0 -1
  744. package/dist/styles/inset.js +0 -143
  745. package/dist/styles/inset.js.map +0 -1
  746. package/dist/styles/justify.js +0 -15
  747. package/dist/styles/justify.js.map +0 -1
  748. package/dist/styles/margin.js +0 -97
  749. package/dist/styles/margin.js.map +0 -1
  750. package/dist/styles/outline.js +0 -66
  751. package/dist/styles/outline.js.map +0 -1
  752. package/dist/styles/padding.js +0 -97
  753. package/dist/styles/padding.js.map +0 -1
  754. package/dist/styles/predefined.js +0 -233
  755. package/dist/styles/predefined.js.map +0 -1
  756. package/dist/styles/preset.js +0 -126
  757. package/dist/styles/preset.js.map +0 -1
  758. package/dist/styles/radius.js +0 -52
  759. package/dist/styles/radius.js.map +0 -1
  760. package/dist/styles/scrollbar.js +0 -109
  761. package/dist/styles/scrollbar.js.map +0 -1
  762. package/dist/styles/shadow.js +0 -28
  763. package/dist/styles/shadow.js.map +0 -1
  764. package/dist/styles/styledScrollbar.js +0 -39
  765. package/dist/styles/styledScrollbar.js.map +0 -1
  766. package/dist/styles/transition.js +0 -139
  767. package/dist/styles/transition.js.map +0 -1
  768. package/dist/styles/types.d.ts +0 -495
  769. package/dist/styles/width.js +0 -21
  770. package/dist/styles/width.js.map +0 -1
  771. package/dist/tasty/chunks/cacheKey.js +0 -71
  772. package/dist/tasty/chunks/cacheKey.js.map +0 -1
  773. package/dist/tasty/chunks/definitions.d.ts +0 -38
  774. package/dist/tasty/chunks/definitions.js +0 -261
  775. package/dist/tasty/chunks/definitions.js.map +0 -1
  776. package/dist/tasty/chunks/renderChunk.js +0 -68
  777. package/dist/tasty/chunks/renderChunk.js.map +0 -1
  778. package/dist/tasty/config.d.ts +0 -283
  779. package/dist/tasty/config.js +0 -401
  780. package/dist/tasty/config.js.map +0 -1
  781. package/dist/tasty/debug.d.ts +0 -200
  782. package/dist/tasty/debug.js +0 -734
  783. package/dist/tasty/debug.js.map +0 -1
  784. package/dist/tasty/hooks/useGlobalStyles.d.ts +0 -28
  785. package/dist/tasty/hooks/useGlobalStyles.js +0 -57
  786. package/dist/tasty/hooks/useGlobalStyles.js.map +0 -1
  787. package/dist/tasty/hooks/useKeyframes.d.ts +0 -57
  788. package/dist/tasty/hooks/useKeyframes.js +0 -55
  789. package/dist/tasty/hooks/useKeyframes.js.map +0 -1
  790. package/dist/tasty/hooks/useProperty.d.ts +0 -80
  791. package/dist/tasty/hooks/useProperty.js +0 -92
  792. package/dist/tasty/hooks/useProperty.js.map +0 -1
  793. package/dist/tasty/hooks/useRawCSS.d.ts +0 -54
  794. package/dist/tasty/hooks/useRawCSS.js +0 -29
  795. package/dist/tasty/hooks/useRawCSS.js.map +0 -1
  796. package/dist/tasty/hooks/useStyles.d.ts +0 -41
  797. package/dist/tasty/hooks/useStyles.js +0 -170
  798. package/dist/tasty/hooks/useStyles.js.map +0 -1
  799. package/dist/tasty/index.d.ts +0 -35
  800. package/dist/tasty/injector/index.d.ts +0 -158
  801. package/dist/tasty/injector/index.js +0 -155
  802. package/dist/tasty/injector/index.js.map +0 -1
  803. package/dist/tasty/injector/injector.d.ts +0 -137
  804. package/dist/tasty/injector/injector.js +0 -401
  805. package/dist/tasty/injector/injector.js.map +0 -1
  806. package/dist/tasty/injector/sheet-manager.d.ts +0 -128
  807. package/dist/tasty/injector/sheet-manager.js +0 -715
  808. package/dist/tasty/injector/sheet-manager.js.map +0 -1
  809. package/dist/tasty/injector/types.d.ts +0 -136
  810. package/dist/tasty/keyframes/index.js +0 -207
  811. package/dist/tasty/keyframes/index.js.map +0 -1
  812. package/dist/tasty/parser/classify.js +0 -320
  813. package/dist/tasty/parser/classify.js.map +0 -1
  814. package/dist/tasty/parser/const.js +0 -34
  815. package/dist/tasty/parser/const.js.map +0 -1
  816. package/dist/tasty/parser/lru.js +0 -110
  817. package/dist/tasty/parser/lru.js.map +0 -1
  818. package/dist/tasty/parser/parser.d.ts +0 -26
  819. package/dist/tasty/parser/parser.js +0 -117
  820. package/dist/tasty/parser/parser.js.map +0 -1
  821. package/dist/tasty/parser/tokenizer.js +0 -70
  822. package/dist/tasty/parser/tokenizer.js.map +0 -1
  823. package/dist/tasty/parser/types.d.ts +0 -47
  824. package/dist/tasty/parser/types.js +0 -47
  825. package/dist/tasty/parser/types.js.map +0 -1
  826. package/dist/tasty/pipeline/conditions.js +0 -378
  827. package/dist/tasty/pipeline/conditions.js.map +0 -1
  828. package/dist/tasty/pipeline/exclusive.js +0 -232
  829. package/dist/tasty/pipeline/exclusive.js.map +0 -1
  830. package/dist/tasty/pipeline/index.d.ts +0 -52
  831. package/dist/tasty/pipeline/index.js +0 -639
  832. package/dist/tasty/pipeline/index.js.map +0 -1
  833. package/dist/tasty/pipeline/materialize.js +0 -822
  834. package/dist/tasty/pipeline/materialize.js.map +0 -1
  835. package/dist/tasty/pipeline/parseStateKey.js +0 -422
  836. package/dist/tasty/pipeline/parseStateKey.js.map +0 -1
  837. package/dist/tasty/pipeline/simplify.js +0 -558
  838. package/dist/tasty/pipeline/simplify.js.map +0 -1
  839. package/dist/tasty/plugins/okhsl-plugin.d.ts +0 -36
  840. package/dist/tasty/plugins/okhsl-plugin.js +0 -372
  841. package/dist/tasty/plugins/okhsl-plugin.js.map +0 -1
  842. package/dist/tasty/plugins/types.d.ts +0 -72
  843. package/dist/tasty/properties/index.js +0 -159
  844. package/dist/tasty/properties/index.js.map +0 -1
  845. package/dist/tasty/states/index.d.ts +0 -44
  846. package/dist/tasty/states/index.js +0 -390
  847. package/dist/tasty/states/index.js.map +0 -1
  848. package/dist/tasty/static/index.d.ts +0 -6
  849. package/dist/tasty/static/index.js +0 -6
  850. package/dist/tasty/static/tastyStatic.d.ts +0 -47
  851. package/dist/tasty/static/tastyStatic.js +0 -32
  852. package/dist/tasty/static/tastyStatic.js.map +0 -1
  853. package/dist/tasty/static/types.d.ts +0 -50
  854. package/dist/tasty/static/types.js +0 -25
  855. package/dist/tasty/static/types.js.map +0 -1
  856. package/dist/tasty/styles/align.d.ts +0 -16
  857. package/dist/tasty/styles/align.js +0 -15
  858. package/dist/tasty/styles/align.js.map +0 -1
  859. package/dist/tasty/styles/border.d.ts +0 -26
  860. package/dist/tasty/styles/border.js +0 -115
  861. package/dist/tasty/styles/border.js.map +0 -1
  862. package/dist/tasty/styles/color.d.ts +0 -15
  863. package/dist/tasty/styles/color.js +0 -24
  864. package/dist/tasty/styles/color.js.map +0 -1
  865. package/dist/tasty/styles/createStyle.js +0 -78
  866. package/dist/tasty/styles/createStyle.js.map +0 -1
  867. package/dist/tasty/styles/dimension.js +0 -100
  868. package/dist/tasty/styles/dimension.js.map +0 -1
  869. package/dist/tasty/styles/display.d.ts +0 -38
  870. package/dist/tasty/styles/display.js +0 -68
  871. package/dist/tasty/styles/display.js.map +0 -1
  872. package/dist/tasty/styles/fade.d.ts +0 -16
  873. package/dist/tasty/styles/fade.js +0 -58
  874. package/dist/tasty/styles/fade.js.map +0 -1
  875. package/dist/tasty/styles/fill.d.ts +0 -45
  876. package/dist/tasty/styles/fill.js +0 -52
  877. package/dist/tasty/styles/fill.js.map +0 -1
  878. package/dist/tasty/styles/flow.d.ts +0 -17
  879. package/dist/tasty/styles/flow.js +0 -13
  880. package/dist/tasty/styles/flow.js.map +0 -1
  881. package/dist/tasty/styles/gap.d.ts +0 -32
  882. package/dist/tasty/styles/gap.js +0 -37
  883. package/dist/tasty/styles/gap.js.map +0 -1
  884. package/dist/tasty/styles/height.d.ts +0 -18
  885. package/dist/tasty/styles/height.js +0 -21
  886. package/dist/tasty/styles/height.js.map +0 -1
  887. package/dist/tasty/styles/index.d.ts +0 -3
  888. package/dist/tasty/styles/index.js +0 -10
  889. package/dist/tasty/styles/index.js.map +0 -1
  890. package/dist/tasty/styles/inset.d.ts +0 -51
  891. package/dist/tasty/styles/inset.js +0 -143
  892. package/dist/tasty/styles/inset.js.map +0 -1
  893. package/dist/tasty/styles/justify.d.ts +0 -16
  894. package/dist/tasty/styles/justify.js +0 -15
  895. package/dist/tasty/styles/justify.js.map +0 -1
  896. package/dist/tasty/styles/list.d.ts +0 -17
  897. package/dist/tasty/styles/list.js +0 -99
  898. package/dist/tasty/styles/list.js.map +0 -1
  899. package/dist/tasty/styles/margin.d.ts +0 -29
  900. package/dist/tasty/styles/margin.js +0 -97
  901. package/dist/tasty/styles/margin.js.map +0 -1
  902. package/dist/tasty/styles/outline.d.ts +0 -30
  903. package/dist/tasty/styles/outline.js +0 -66
  904. package/dist/tasty/styles/outline.js.map +0 -1
  905. package/dist/tasty/styles/padding.d.ts +0 -29
  906. package/dist/tasty/styles/padding.js +0 -97
  907. package/dist/tasty/styles/padding.js.map +0 -1
  908. package/dist/tasty/styles/predefined.d.ts +0 -74
  909. package/dist/tasty/styles/predefined.js +0 -242
  910. package/dist/tasty/styles/predefined.js.map +0 -1
  911. package/dist/tasty/styles/preset.d.ts +0 -48
  912. package/dist/tasty/styles/preset.js +0 -126
  913. package/dist/tasty/styles/preset.js.map +0 -1
  914. package/dist/tasty/styles/radius.d.ts +0 -15
  915. package/dist/tasty/styles/radius.js +0 -52
  916. package/dist/tasty/styles/radius.js.map +0 -1
  917. package/dist/tasty/styles/scrollbar.d.ts +0 -22
  918. package/dist/tasty/styles/scrollbar.js +0 -109
  919. package/dist/tasty/styles/scrollbar.js.map +0 -1
  920. package/dist/tasty/styles/shadow.d.ts +0 -15
  921. package/dist/tasty/styles/shadow.js +0 -28
  922. package/dist/tasty/styles/shadow.js.map +0 -1
  923. package/dist/tasty/styles/styledScrollbar.d.ts +0 -48
  924. package/dist/tasty/styles/styledScrollbar.js +0 -39
  925. package/dist/tasty/styles/styledScrollbar.js.map +0 -1
  926. package/dist/tasty/styles/transition.d.ts +0 -15
  927. package/dist/tasty/styles/transition.js +0 -139
  928. package/dist/tasty/styles/transition.js.map +0 -1
  929. package/dist/tasty/styles/types.d.ts +0 -499
  930. package/dist/tasty/styles/width.d.ts +0 -18
  931. package/dist/tasty/styles/width.js +0 -21
  932. package/dist/tasty/styles/width.js.map +0 -1
  933. package/dist/tasty/tasty.d.ts +0 -936
  934. package/dist/tasty/tasty.js +0 -191
  935. package/dist/tasty/tasty.js.map +0 -1
  936. package/dist/tasty/types.d.ts +0 -192
  937. package/dist/tasty/utils/cache-wrapper.js +0 -25
  938. package/dist/tasty/utils/cache-wrapper.js.map +0 -1
  939. package/dist/tasty/utils/case-converter.js +0 -9
  940. package/dist/tasty/utils/case-converter.js.map +0 -1
  941. package/dist/tasty/utils/colors.d.ts +0 -6
  942. package/dist/tasty/utils/colors.js +0 -10
  943. package/dist/tasty/utils/colors.js.map +0 -1
  944. package/dist/tasty/utils/dotize.d.ts +0 -27
  945. package/dist/tasty/utils/dotize.js +0 -123
  946. package/dist/tasty/utils/dotize.js.map +0 -1
  947. package/dist/tasty/utils/filter-base-props.d.ts +0 -16
  948. package/dist/tasty/utils/filter-base-props.js +0 -46
  949. package/dist/tasty/utils/filter-base-props.js.map +0 -1
  950. package/dist/tasty/utils/get-display-name.d.ts +0 -8
  951. package/dist/tasty/utils/get-display-name.js +0 -11
  952. package/dist/tasty/utils/get-display-name.js.map +0 -1
  953. package/dist/tasty/utils/hsl-to-rgb.js +0 -39
  954. package/dist/tasty/utils/hsl-to-rgb.js.map +0 -1
  955. package/dist/tasty/utils/is-dev-env.js +0 -20
  956. package/dist/tasty/utils/is-dev-env.js.map +0 -1
  957. package/dist/tasty/utils/merge-styles.d.ts +0 -8
  958. package/dist/tasty/utils/merge-styles.js +0 -147
  959. package/dist/tasty/utils/merge-styles.js.map +0 -1
  960. package/dist/tasty/utils/mod-attrs.d.ts +0 -9
  961. package/dist/tasty/utils/mod-attrs.js +0 -22
  962. package/dist/tasty/utils/mod-attrs.js.map +0 -1
  963. package/dist/tasty/utils/okhsl-to-rgb.js +0 -297
  964. package/dist/tasty/utils/okhsl-to-rgb.js.map +0 -1
  965. package/dist/tasty/utils/process-tokens.d.ts +0 -32
  966. package/dist/tasty/utils/process-tokens.js +0 -172
  967. package/dist/tasty/utils/process-tokens.js.map +0 -1
  968. package/dist/tasty/utils/resolve-recipes.d.ts +0 -18
  969. package/dist/tasty/utils/resolve-recipes.js +0 -144
  970. package/dist/tasty/utils/resolve-recipes.js.map +0 -1
  971. package/dist/tasty/utils/string.js +0 -9
  972. package/dist/tasty/utils/string.js.map +0 -1
  973. package/dist/tasty/utils/styles.d.ts +0 -204
  974. package/dist/tasty/utils/styles.js +0 -577
  975. package/dist/tasty/utils/styles.js.map +0 -1
  976. package/dist/tasty/utils/typography.d.ts +0 -37
  977. package/dist/tasty/utils/typography.js +0 -54
  978. package/dist/tasty/utils/typography.js.map +0 -1
  979. package/dist/tasty/utils/warnings.d.ts +0 -17
  980. package/dist/tasty/utils/warnings.js +0 -17
  981. package/dist/tasty/utils/warnings.js.map +0 -1
  982. package/dist/tasty/zero/babel.d.ts +0 -111
  983. package/dist/tasty/zero/babel.js +0 -283
  984. package/dist/tasty/zero/babel.js.map +0 -1
  985. package/dist/tasty/zero/index.d.ts +0 -4
  986. package/dist/tasty/zero/index.js +0 -5
  987. package/dist/tasty/zero/next.d.ts +0 -61
  988. package/dist/tasty/zero/next.js +0 -79
  989. package/dist/tasty/zero/next.js.map +0 -1
  990. package/dist/tasty.config.ts +0 -311
  991. package/dist/tokens/typography.d.ts +0 -35
  992. package/dist/tokens/typography.js +0 -238
  993. package/dist/tokens/typography.js.map +0 -1
  994. package/dist/utils/cache-wrapper.js +0 -25
  995. package/dist/utils/cache-wrapper.js.map +0 -1
  996. package/dist/utils/case-converter.js +0 -9
  997. package/dist/utils/case-converter.js.map +0 -1
  998. package/dist/utils/hsl-to-rgb.js +0 -39
  999. package/dist/utils/hsl-to-rgb.js.map +0 -1
  1000. package/dist/utils/merge-styles.js +0 -147
  1001. package/dist/utils/merge-styles.js.map +0 -1
  1002. package/dist/utils/okhsl-to-rgb.js +0 -297
  1003. package/dist/utils/okhsl-to-rgb.js.map +0 -1
  1004. package/dist/utils/process-tokens.js +0 -29
  1005. package/dist/utils/process-tokens.js.map +0 -1
  1006. package/dist/utils/resolve-recipes.js +0 -144
  1007. package/dist/utils/resolve-recipes.js.map +0 -1
  1008. package/dist/utils/string.js +0 -9
  1009. package/dist/utils/string.js.map +0 -1
  1010. package/dist/utils/styles.d.ts +0 -23
  1011. package/dist/utils/styles.js +0 -338
  1012. package/dist/utils/styles.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","names":["HotKeys"],"sources":["../../../../src/components/content/Item/Item.tsx"],"sourcesContent":["import {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n isValidElement,\n KeyboardEvent,\n MouseEvent,\n PointerEvent,\n ReactNode,\n RefObject,\n useMemo,\n} from 'react';\nimport { OverlayProps } from 'react-aria';\nimport { useHotkeys } from 'react-hotkeys-hook';\n\nimport { useWarn } from '../../../_internal/hooks/use-warn';\nimport {\n DANGER_CARD_STYLES,\n DANGER_CLEAR_STYLES,\n DANGER_ITEM_STYLES,\n DANGER_LINK_STYLES,\n DANGER_NEUTRAL_STYLES,\n DANGER_OUTLINE_STYLES,\n DANGER_PRIMARY_STYLES,\n DANGER_SECONDARY_STYLES,\n DEFAULT_CARD_STYLES,\n DEFAULT_CLEAR_STYLES,\n DEFAULT_ITEM_STYLES,\n DEFAULT_LINK_STYLES,\n DEFAULT_NEUTRAL_STYLES,\n DEFAULT_OUTLINE_STYLES,\n DEFAULT_PRIMARY_STYLES,\n DEFAULT_SECONDARY_STYLES,\n ItemVariant,\n NOTE_CARD_STYLES,\n NOTE_CLEAR_STYLES,\n NOTE_ITEM_STYLES,\n NOTE_LINK_STYLES,\n NOTE_NEUTRAL_STYLES,\n NOTE_OUTLINE_STYLES,\n NOTE_PRIMARY_STYLES,\n NOTE_SECONDARY_STYLES,\n SPECIAL_CLEAR_STYLES,\n SPECIAL_ITEM_STYLES,\n SPECIAL_LINK_STYLES,\n SPECIAL_NEUTRAL_STYLES,\n SPECIAL_OUTLINE_STYLES,\n SPECIAL_PRIMARY_STYLES,\n SPECIAL_SECONDARY_STYLES,\n SUCCESS_CARD_STYLES,\n SUCCESS_CLEAR_STYLES,\n SUCCESS_ITEM_STYLES,\n SUCCESS_LINK_STYLES,\n SUCCESS_NEUTRAL_STYLES,\n SUCCESS_OUTLINE_STYLES,\n SUCCESS_PRIMARY_STYLES,\n SUCCESS_SECONDARY_STYLES,\n WARNING_CARD_STYLES,\n WARNING_CLEAR_STYLES,\n WARNING_ITEM_STYLES,\n WARNING_LINK_STYLES,\n WARNING_NEUTRAL_STYLES,\n WARNING_OUTLINE_STYLES,\n WARNING_PRIMARY_STYLES,\n WARNING_SECONDARY_STYLES,\n} from '../../../data/item-themes';\nimport { CheckIcon } from '../../../icons/CheckIcon';\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Mods,\n Props,\n Styles,\n tasty,\n} from '../../../tasty';\nimport { DynamicIcon, mergeProps, resolveIcon } from '../../../utils/react';\nimport { ItemAction } from '../../actions/ItemAction';\nimport { ItemActionProvider } from '../../actions/ItemActionContext';\nimport { IconSwitch } from '../../helpers/IconSwitch/IconSwitch';\nimport { CubeTooltipProviderProps } from '../../overlays/Tooltip/TooltipProvider';\nimport { highlightText } from '../highlightText';\nimport { HotKeys } from '../HotKeys';\nimport { ItemBadge } from '../ItemBadge';\nimport { useAutoTooltip } from '../use-auto-tooltip';\n\nconst ITEM_SIZE_VALUES = [\n 'xsmall',\n 'small',\n 'medium',\n 'large',\n 'xlarge',\n 'inline',\n] as const;\n\n/** Known modifiers for Item component */\nexport type ItemMods = Mods<{\n 'has-icon'?: boolean;\n 'has-start-content'?: boolean;\n 'has-end-content'?: boolean;\n 'has-right-icon'?: boolean;\n 'has-label'?: boolean;\n 'has-prefix'?: boolean;\n 'has-suffix'?: boolean;\n 'has-description'?: boolean;\n 'has-actions'?: boolean;\n 'has-actions-content'?: boolean;\n 'auto-hide-actions'?: boolean;\n 'preserve-actions-space'?: boolean;\n checkbox?: boolean;\n disabled?: boolean;\n selected?: boolean;\n loading?: boolean;\n size?: string;\n description?: string;\n type?: string;\n theme?: string;\n shape?: string;\n}>;\n\nexport interface CubeItemProps extends BaseProps, ContainerStyleProps {\n icon?: DynamicIcon<ItemMods> | 'checkbox';\n rightIcon?: DynamicIcon<ItemMods>;\n prefix?: ReactNode;\n suffix?: ReactNode;\n description?: ReactNode;\n descriptionPlacement?: 'inline' | 'block';\n /**\n * When true, the item is rendered inside a wrapper element to separate the actions from the item.\n * @default false\n */\n insideWrapper?: boolean;\n /**\n * Whether the item is selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Actions to render inline or placeholder mode for ItemButton wrapper.\n * - ReactNode: renders actions inline as part of the grid layout\n * - true: placeholder mode for ItemButton (enables --actions-width calculation)\n */\n actions?: ReactNode | true;\n /**\n * When true, actions are hidden by default and shown only on hover, focus, or focus-within.\n * Uses opacity transition for visual hiding while maintaining layout space.\n */\n autoHideActions?: boolean;\n /**\n * When true and insideWrapper is true, this controls the visibility of the actions.\n * @default false\n */\n showActions?: boolean;\n /**\n * When true, preserves the actions width when hidden (only changes opacity).\n * Only applies when autoHideActions is true.\n * @default false\n */\n preserveActionsSpace?: boolean;\n /**\n * When true, disables focus on action buttons by setting tabIndex={-1}.\n * @default true\n */\n disableActionsFocus?: boolean;\n size?:\n | 'xsmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'xlarge'\n | 'inline'\n | number\n | (string & {});\n type?:\n | 'item'\n | 'header'\n | 'primary'\n | 'secondary'\n | 'outline'\n | 'neutral'\n | 'clear'\n | 'link'\n | 'card'\n | (string & {});\n theme?:\n | 'default'\n | 'danger'\n | 'success'\n | 'special'\n | 'warning'\n | 'note'\n | (string & {});\n /** Keyboard shortcut that triggers the element when pressed */\n hotkeys?: string;\n /**\n * Tooltip content and configuration:\n * - string: simple tooltip text\n * - true: auto tooltip on overflow (shows children as tooltip when truncated)\n * - object: advanced configuration with optional auto property\n */\n tooltip?:\n | string\n | boolean\n | (Omit<CubeTooltipProviderProps, 'children'> & { auto?: boolean });\n /**\n * HTML button type to avoid implicit form submission when used as `as=\"button\"`.\n * Kept separate from visual `type` prop.\n */\n htmlType?: 'button' | 'submit' | 'reset';\n labelProps?: Props;\n descriptionProps?: Props;\n keyboardShortcutProps?: Props;\n /**\n * The slot which the loading icon should replace in loading state.\n * - \"auto\": Smart selection - prefers icon if present, then rightIcon, fallback to icon\n * - Specific slot names: Always use that slot\n * @default \"auto\"\n */\n loadingSlot?: 'auto' | 'icon' | 'rightIcon' | 'prefix' | 'suffix';\n /**\n * When true, shows loading state by replacing the specified slot with LoadingIcon\n * and makes the component disabled.\n */\n isLoading?: boolean;\n /**\n * Shape of the item's border radius.\n * - `card` - Card shape with larger border radius (`1cr`)\n * - `button` - Button shape with default border radius (default)\n * - `sharp` - Sharp corners with no border radius (`0`)\n * - `pill` - Pill shape with fully rounded ends (`round`)\n * @default \"button\"\n */\n shape?: 'card' | 'button' | 'sharp' | 'pill';\n /**\n * @private\n * Default tooltip placement for the item.\n * @default \"top\"\n */\n defaultTooltipPlacement?: OverlayProps['placement'];\n /**\n * Ref to access the label element directly\n */\n labelRef?: RefObject<HTMLElement>;\n /**\n * Heading level for the Label element when type=\"header\" or type=\"card\".\n * Changes the Label's HTML tag to the corresponding heading (h1-h6).\n * @default 3\n */\n level?: 1 | 2 | 3 | 4 | 5 | 6;\n /**\n * String to highlight within children.\n * Only works when children is a plain string.\n */\n highlight?: string;\n /**\n * Whether highlight matching is case-sensitive.\n * @default false\n */\n highlightCaseSensitive?: boolean;\n /**\n * Custom styles for highlighted text.\n */\n highlightStyles?: Styles;\n /**\n * Variant of the item.\n */\n variant?: ItemVariant;\n}\n\nconst DEFAULT_ICON_STYLES: Styles = {\n $: '>',\n display: 'grid',\n placeItems: 'center',\n placeContent: 'stretch',\n aspectRatio: '1 / 1',\n width: '($size - 2bw)',\n opacity: {\n '': 1,\n 'checkbox & selected': 1,\n 'checkbox & !selected': 0,\n 'checkbox & !selected & hovered': 0.4,\n },\n};\n\nconst ADDITION_STYLES: Styles = {\n $: '>',\n display: 'grid',\n flow: 'column',\n placeItems: 'center',\n placeContent: 'stretch',\n};\n\nconst ACTIONS_EVENT_HANDLERS = {\n onClick: (e: MouseEvent) => e.stopPropagation(),\n onPointerDown: (e: PointerEvent) => e.stopPropagation(),\n onPointerUp: (e: PointerEvent) => e.stopPropagation(),\n onMouseDown: (e: MouseEvent) => e.stopPropagation(),\n onMouseUp: (e: MouseEvent) => e.stopPropagation(),\n onKeyDown: (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.stopPropagation();\n }\n },\n};\n\nconst ItemElement = tasty({\n as: 'div',\n styles: {\n '@interacted':\n 'active | :hover | :focus | :focus-within | :has([data-pressed])',\n\n display: 'inline-grid',\n flow: 'column dense',\n gap: 0,\n outline: 0,\n placeItems: 'stretch',\n placeContent: 'stretch',\n gridTemplate: {\n '': '\"icon prefix label suffix rightIcon actions\" auto \"icon prefix label suffix rightIcon actions\" auto / max-content max-content 1sf max-content max-content max-content',\n 'description=inline':\n '\"icon prefix description suffix rightIcon actions\" auto / max-content max-content 1sf max-content max-content max-content',\n 'description=inline & has-label':\n '\"icon prefix label suffix rightIcon actions\" auto \"icon prefix description suffix rightIcon actions\" auto / max-content max-content 1sf max-content max-content max-content',\n 'description=block':\n '\"icon prefix label suffix rightIcon actions\" auto \"description description description description description description\" auto / max-content max-content 1sf max-content max-content max-content',\n },\n // Prevent items from shrinking inside vertical flex layouts (Menu, ListBox, etc)\n flexShrink: {\n '': 'initial',\n 'menuitem | listboxitem': 0,\n },\n position: 'relative',\n padding: {\n '': 0,\n 'type=card': '.5x',\n },\n margin: 0,\n radius: {\n '': true,\n 'shape=card': '1cr',\n 'shape=button': true,\n 'shape=sharp': '0',\n 'shape=pill': 'round',\n },\n height: {\n '': 'min $size',\n 'size=inline': '(1lh + 2bw)',\n },\n width: {\n '': 'min $size',\n 'has-icon & has-right-icon': 'min ($size * 2)',\n 'size=inline': 'min (1lh + 2bw)',\n },\n border: '#clear',\n fill: {\n '': '#dark.0',\n 'hovered | focused': '#dark.03',\n selected: '#dark.09',\n 'selected & (hovered | focused)': '#dark.12',\n pressed: '#dark.09',\n disabled: '#clear',\n },\n color: {\n '': '#dark-02',\n hovered: '#dark-02',\n pressed: '#dark',\n disabled: '#dark-04',\n },\n preset: {\n '': 't3',\n '!type=item': 't3m',\n 'size=xsmall': 't4',\n 'size=xlarge': 't2',\n 'size=inline': 'inline',\n '!type=item & (size=medium | size=small | size=large)': 't3m',\n '!type=item & size=xlarge': 't2m',\n '(type=header | type=card) & (size=xsmall | size=small | size=medium)':\n 'h6',\n '(type=header | type=card) & size=large': 'h5',\n '(type=header | type=card) & size=xlarge': 'h4',\n },\n recipe: 'reset button',\n transition: 'theme',\n outlineOffset: 1,\n cursor: {\n '': 'inherit',\n ':is(a)': 'pointer',\n ':is(button) | listboxitem | menuitem': '$pointer',\n disabled: 'not-allowed',\n },\n\n $size: {\n '': '$size-md',\n 'size=xsmall': '$size-xs',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n 'size=xlarge': '$size-xl',\n 'size=inline': '(1lh + 2bw)',\n },\n '$inline-padding':\n 'max($min-inline-padding, (($size - 1lh - 2bw) / 2 + $inline-compensation))',\n '$block-padding': {\n '': '.5x',\n 'size=xsmall | size=small': '.25x',\n 'size=inline': 0,\n },\n '$inline-compensation': '.5x',\n '$min-inline-padding': '(1x - 1bw)',\n\n '$label-padding-left': {\n '': '$inline-padding',\n 'has-start-content': '0',\n },\n '$label-padding-right': {\n '': '$inline-padding',\n 'has-end-content': '0',\n // Restore padding when actions are hidden AND no other visible end content\n '!inside-wrapper & !has-suffix & !has-right-icon & auto-hide-actions & !preserve-actions-space & !@interacted':\n '$inline-padding',\n 'inside-wrapper & !has-suffix & !has-right-icon & !preserve-actions-space & !actions-shown':\n '$inline-padding',\n },\n '$label-padding-bottom': {\n '': '$block-padding',\n 'description=inline': '0',\n },\n '$description-padding-left': {\n '': '$inline-padding',\n 'has-start-content': 0,\n 'description=block': '($inline-padding - $inline-compensation + 1bw)',\n 'description=block & !has-start-content': '$inline-padding',\n },\n '$description-padding-right': {\n '': '$inline-padding',\n 'has-end-content': 0,\n 'description=block': '($inline-padding - $inline-compensation + 1bw)',\n 'description=block & !has-end-content': '$inline-padding',\n },\n '$description-padding-bottom': {\n '': 0,\n 'has-label & description=inline': '$block-padding',\n 'has-label & description=block':\n 'max($block-padding, (($size - 4x) / 2) + $block-padding)',\n },\n\n Icon: { ...DEFAULT_ICON_STYLES, gridArea: 'icon' },\n\n RightIcon: { ...DEFAULT_ICON_STYLES, gridArea: 'rightIcon' },\n\n Label: {\n $: '>',\n margin: 0,\n gridArea: 'label',\n display: 'block',\n placeSelf: 'center start',\n boxSizing: 'border-box',\n placeContent: 'stretch',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n width: '0 100%',\n preset: 'inherit',\n transition: 'padding',\n padding:\n '$block-padding $label-padding-right $label-padding-bottom $label-padding-left',\n },\n\n Description: {\n $: '>',\n gridArea: 'description',\n preset: {\n '': 't4',\n 'type=card | type=header': 't3',\n },\n placeSelf: 'center start',\n boxSizing: 'border-box',\n color: 'inherit',\n opacity: {\n '': 0.75,\n 'type=card | type=header': 1,\n },\n overflow: 'hidden',\n whiteSpace: {\n '': 'nowrap',\n 'type=card | type=header': 'normal',\n },\n textOverflow: 'ellipsis',\n width: 'initial 100% 100%',\n textAlign: 'left',\n padding:\n '0 $description-padding-right $description-padding-bottom $description-padding-left',\n },\n\n Prefix: {\n ...ADDITION_STYLES,\n gridArea: 'prefix',\n padding: {\n '': '$inline-padding left',\n 'has-icon': 0,\n },\n },\n\n Suffix: {\n ...ADDITION_STYLES,\n gridArea: 'suffix',\n padding: {\n '': '$inline-padding right',\n 'has-right-icon': 0,\n },\n },\n\n Actions: {\n $: '>',\n gridArea: 'actions',\n display: 'flex',\n gap: '1bw',\n placeItems: 'center',\n placeContent: 'end',\n placeSelf: 'stretch',\n padding: {\n '': '0 $side-padding',\n 'inside-wrapper & !actions-shown': 0,\n },\n boxSizing: 'border-box',\n height: 'min ($size - 2bw)',\n width: {\n '': 'fixed ($actions-width, 0px)',\n 'has-actions-content & !auto-hide-actions':\n 'max calc-size(max-content, size)',\n 'has-actions-content & auto-hide-actions & !preserve-actions-space':\n 'max 0px',\n 'has-actions-content & auto-hide-actions & (!preserve-actions-space & ((@interacted & !inside-wrapper) | (inside-wrapper & actions-shown)))':\n 'max calc-size(max-content, size)',\n 'has-actions-content & auto-hide-actions & preserve-actions-space':\n 'max calc-size(max-content, size)',\n },\n opacity: {\n '': 1,\n 'auto-hide-actions': 0,\n 'auto-hide-actions & ((@interacted & !inside-wrapper) | (inside-wrapper & actions-shown))': 1,\n },\n transition:\n 'width $transition ease-out, opacity $transition ease-out, padding $transition ease-out',\n interpolateSize: 'allow-keywords',\n\n // Size for the action buttons\n '$action-size': 'min(max((2x + 2bw), ($size - 1x - 2bw)), (3x - 2bw))',\n // Side padding for the button\n '$side-padding': '(($size - $action-size - 2bw) / 2)',\n },\n },\n variants: {\n // Default theme\n 'default.primary': DEFAULT_PRIMARY_STYLES,\n 'default.secondary': DEFAULT_SECONDARY_STYLES,\n 'default.outline': DEFAULT_OUTLINE_STYLES,\n 'default.neutral': DEFAULT_NEUTRAL_STYLES,\n 'default.clear': DEFAULT_CLEAR_STYLES,\n 'default.link': DEFAULT_LINK_STYLES,\n 'default.item': DEFAULT_ITEM_STYLES,\n 'default.card': DEFAULT_CARD_STYLES,\n // Danger theme\n 'danger.primary': DANGER_PRIMARY_STYLES,\n 'danger.secondary': DANGER_SECONDARY_STYLES,\n 'danger.outline': DANGER_OUTLINE_STYLES,\n 'danger.neutral': DANGER_NEUTRAL_STYLES,\n 'danger.clear': DANGER_CLEAR_STYLES,\n 'danger.link': DANGER_LINK_STYLES,\n 'danger.item': DANGER_ITEM_STYLES,\n 'danger.card': DANGER_CARD_STYLES,\n // Success theme\n 'success.primary': SUCCESS_PRIMARY_STYLES,\n 'success.secondary': SUCCESS_SECONDARY_STYLES,\n 'success.outline': SUCCESS_OUTLINE_STYLES,\n 'success.neutral': SUCCESS_NEUTRAL_STYLES,\n 'success.clear': SUCCESS_CLEAR_STYLES,\n 'success.link': SUCCESS_LINK_STYLES,\n 'success.item': SUCCESS_ITEM_STYLES,\n 'success.card': SUCCESS_CARD_STYLES,\n // Warning theme\n 'warning.primary': WARNING_PRIMARY_STYLES,\n 'warning.secondary': WARNING_SECONDARY_STYLES,\n 'warning.outline': WARNING_OUTLINE_STYLES,\n 'warning.neutral': WARNING_NEUTRAL_STYLES,\n 'warning.clear': WARNING_CLEAR_STYLES,\n 'warning.link': WARNING_LINK_STYLES,\n 'warning.item': WARNING_ITEM_STYLES,\n 'warning.card': WARNING_CARD_STYLES,\n // Note theme\n 'note.primary': NOTE_PRIMARY_STYLES,\n 'note.secondary': NOTE_SECONDARY_STYLES,\n 'note.outline': NOTE_OUTLINE_STYLES,\n 'note.neutral': NOTE_NEUTRAL_STYLES,\n 'note.clear': NOTE_CLEAR_STYLES,\n 'note.link': NOTE_LINK_STYLES,\n 'note.item': NOTE_ITEM_STYLES,\n 'note.card': NOTE_CARD_STYLES,\n // Special theme\n 'special.primary': SPECIAL_PRIMARY_STYLES,\n 'special.secondary': SPECIAL_SECONDARY_STYLES,\n 'special.outline': SPECIAL_OUTLINE_STYLES,\n 'special.neutral': SPECIAL_NEUTRAL_STYLES,\n 'special.clear': SPECIAL_CLEAR_STYLES,\n 'special.link': SPECIAL_LINK_STYLES,\n 'special.item': SPECIAL_ITEM_STYLES,\n },\n styleProps: CONTAINER_STYLES,\n});\n\nconst Item = <T extends HTMLElement = HTMLDivElement>(\n props: CubeItemProps,\n ref: ForwardedRef<T>,\n) => {\n let {\n children,\n size = 'medium',\n type = 'item',\n theme = 'default',\n mods,\n icon: iconProp,\n rightIcon: rightIconProp,\n prefix,\n suffix,\n description,\n descriptionPlacement,\n labelProps,\n descriptionProps,\n keyboardShortcutProps,\n styles,\n htmlType,\n isSelected,\n hotkeys,\n tooltip = true,\n isDisabled,\n style,\n loadingSlot = 'auto',\n isLoading = false,\n actions,\n autoHideActions = false,\n preserveActionsSpace = false,\n disableActionsFocus = false,\n shape,\n defaultTooltipPlacement = 'top',\n level = 3,\n highlight,\n highlightCaseSensitive = false,\n highlightStyles,\n insideWrapper = false,\n showActions = false,\n ...rest\n } = props;\n\n // Determine if Label will be rendered\n const hasLabel = !!(children || labelProps);\n\n // Set default descriptionPlacement based on type\n // For card/header types, use 'block' only when Label is rendered\n const finalDescriptionPlacement =\n descriptionPlacement ??\n ((type === 'card' || type === 'header') && hasLabel ? 'block' : 'inline');\n\n // Set default shape based on type\n const finalShape = shape ?? (type === 'card' ? 'card' : 'button');\n\n // Loading state makes the component disabled\n const finalIsDisabled =\n isDisabled === true || (isLoading && isDisabled !== false);\n\n // Validate type+theme combinations\n const STANDARD_THEMES = [\n 'default',\n 'success',\n 'danger',\n 'warning',\n 'note',\n 'special',\n ];\n const CARD_THEMES = ['default', 'success', 'danger', 'warning', 'note'];\n const HEADER_THEMES = ['default'];\n\n const isInvalidCombination =\n (type === 'header' && !HEADER_THEMES.includes(theme)) ||\n (type === 'card' && !CARD_THEMES.includes(theme)) ||\n (!['header', 'card'].includes(type) && !STANDARD_THEMES.includes(theme));\n\n useWarn(isInvalidCombination, {\n key: ['Item', 'invalid-type-theme', type, theme],\n args: [\n `Item: Invalid type+theme combination. type=\"${type}\" does not support theme=\"${theme}\".` +\n (type === 'header'\n ? ' The \"header\" type only supports theme: default.'\n : type === 'card'\n ? ' The \"card\" type only supports themes: default, success, danger, warning, note.'\n : ' Standard types support themes: default, success, danger, warning, note, special.'),\n ],\n });\n\n // Warn if link type is used with icons or loading state\n const hasLinkWithIcons = type === 'link' && (iconProp || rightIconProp);\n const hasLinkWithLoading = type === 'link' && isLoading;\n const hasLinkRestrictions = hasLinkWithIcons || hasLinkWithLoading;\n\n const linkRestrictionMessages: string[] = [];\n if (hasLinkWithIcons) {\n linkRestrictionMessages.push('icons (`icon` or `rightIcon` props)');\n }\n if (hasLinkWithLoading) {\n linkRestrictionMessages.push('loading state (`isLoading` prop)');\n }\n\n useWarn(hasLinkRestrictions, {\n key: ['Item', 'link-restrictions'],\n args: [\n `Item: The \"link\" type does not support ${linkRestrictionMessages.join(' or ')}. Remove these props when using type=\"link\".`,\n ],\n });\n\n // Determine if we should show checkbox instead of icon\n const hasCheckbox = iconProp === 'checkbox';\n\n // Determine if size is custom (number or unrecognized string)\n const isCustomSize =\n typeof size === 'number' ||\n !(ITEM_SIZE_VALUES as readonly string[]).includes(size);\n const sizeTokenValue =\n typeof size === 'number' ? `${size}px` : isCustomSize ? size : undefined;\n\n // Base mods for icon resolution (without icon-dependent mods)\n const baseMods = useMemo<ItemMods>(\n () => ({\n disabled: finalIsDisabled,\n selected: isSelected === true,\n loading: isLoading,\n ...(!isCustomSize && { size: size as string }),\n type,\n theme,\n shape: finalShape,\n ...mods,\n }),\n [\n finalIsDisabled,\n isSelected,\n isLoading,\n size,\n isCustomSize,\n type,\n theme,\n finalShape,\n mods,\n ],\n );\n\n // Resolve dynamic icon props (skip resolution for 'checkbox' special value)\n const resolvedIcon = useMemo(() => {\n if (hasCheckbox) {\n return { content: null, hasSlot: true };\n }\n return resolveIcon(iconProp as DynamicIcon<ItemMods>, baseMods);\n }, [iconProp, baseMods, hasCheckbox]);\n\n const resolvedRightIcon = useMemo(\n () => resolveIcon(rightIconProp, baseMods),\n [rightIconProp, baseMods],\n );\n\n // Determine which slot to use for loading when \"auto\" is selected\n // Must be computed before hasIconSlot/hasRightIconSlot since they depend on it\n const resolvedLoadingSlot = useMemo(() => {\n if (loadingSlot !== 'auto') return loadingSlot;\n\n // Auto logic: prefer icon if present, then rightIcon, fallback to icon\n if (resolvedRightIcon.hasSlot && !resolvedIcon.hasSlot) return 'rightIcon';\n return 'icon'; // fallback\n }, [loadingSlot, resolvedIcon.hasSlot, resolvedRightIcon.hasSlot]);\n\n // Determine if icon slots should render (original slot OR loading state targets this slot)\n const hasIconSlot =\n resolvedIcon.hasSlot || (isLoading && resolvedLoadingSlot === 'icon');\n const hasRightIconSlot =\n resolvedRightIcon.hasSlot ||\n (isLoading && resolvedLoadingSlot === 'rightIcon');\n\n const showDescription = useMemo(() => {\n const copyProps = { ...descriptionProps };\n delete copyProps.id;\n return !!(description || Object.keys(copyProps).length > 0);\n }, [description, descriptionProps]);\n\n // Apply loading state to appropriate slots\n const finalIcon =\n isLoading && resolvedLoadingSlot === 'icon' ? (\n <LoadingIcon />\n ) : (\n resolvedIcon.content\n );\n const finalRightIcon =\n isLoading && resolvedLoadingSlot === 'rightIcon' ? (\n <LoadingIcon />\n ) : (\n resolvedRightIcon.content\n );\n\n // Generate stable keys for icon transitions based on icon type\n const iconKey = hasCheckbox\n ? 'checkbox'\n : isLoading && resolvedLoadingSlot === 'icon'\n ? 'loading'\n : isValidElement(finalIcon)\n ? (finalIcon.type as any)?.displayName ||\n (finalIcon.type as any)?.name ||\n 'icon'\n : finalIcon\n ? 'icon'\n : 'empty';\n\n const rightIconKey =\n isLoading && resolvedLoadingSlot === 'rightIcon'\n ? 'loading'\n : isValidElement(finalRightIcon)\n ? (finalRightIcon.type as any)?.displayName ||\n (finalRightIcon.type as any)?.name ||\n 'icon'\n : finalRightIcon\n ? 'icon'\n : 'empty';\n const finalPrefix =\n isLoading && resolvedLoadingSlot === 'prefix' ? <LoadingIcon /> : prefix;\n\n // Build final suffix: loading icon, custom suffix, or HotKeys hint\n const finalSuffix =\n isLoading && resolvedLoadingSlot === 'suffix' ? (\n <LoadingIcon />\n ) : (\n suffix ??\n (hotkeys ? (\n <HotKeys\n {...(keyboardShortcutProps as any)}\n type={type === 'primary' ? 'primary' : 'default'}\n styles={{ padding: '1x left', opacity: finalIsDisabled ? 0.5 : 1 }}\n >\n {hotkeys}\n </HotKeys>\n ) : undefined)\n );\n\n // Register global hotkey if provided\n useHotkeys(\n typeof hotkeys === 'string' ? hotkeys.toLowerCase() : '',\n () => {\n if (!hotkeys) return;\n if (finalIsDisabled) return;\n // Simulate a click on the element so all existing handlers run\n if (ref && typeof ref === 'object' && ref.current) {\n (ref.current as HTMLElement).click();\n }\n },\n {\n enableOnContentEditable: true,\n enabled: !!hotkeys,\n preventDefault: true,\n enableOnFormTags: true,\n },\n [hotkeys, finalIsDisabled],\n );\n\n const finalMods = useMemo<ItemMods>(() => {\n return {\n ...baseMods,\n 'has-icon': hasIconSlot,\n 'has-start-content': !!(hasIconSlot || finalPrefix),\n 'has-end-content': !!(hasRightIconSlot || finalSuffix || actions),\n 'has-right-icon': hasRightIconSlot,\n 'has-label': hasLabel,\n 'has-prefix': !!finalPrefix,\n 'has-suffix': !!finalSuffix,\n 'has-description': showDescription,\n 'has-actions': !!actions,\n 'has-actions-content': !!(actions && actions !== true),\n 'auto-hide-actions': autoHideActions === true,\n 'preserve-actions-space': preserveActionsSpace === true,\n 'inside-wrapper': insideWrapper,\n 'actions-shown': showActions && insideWrapper,\n checkbox: hasCheckbox,\n description: showDescription ? finalDescriptionPlacement : 'none',\n };\n }, [\n baseMods,\n hasIconSlot,\n hasRightIconSlot,\n finalPrefix,\n finalSuffix,\n showDescription,\n finalDescriptionPlacement,\n hasCheckbox,\n actions,\n autoHideActions,\n preserveActionsSpace,\n hasLabel,\n showActions,\n insideWrapper,\n ]);\n\n const {\n labelProps: finalLabelProps,\n labelRef,\n renderWithTooltip,\n } = useAutoTooltip({\n tooltip,\n children,\n labelProps,\n isDynamicLabel: !!actions,\n });\n\n // Process children with highlight if applicable\n const processedChildren = useMemo(() => {\n if (typeof children === 'string' && highlight) {\n return highlightText(\n children,\n highlight,\n highlightCaseSensitive,\n highlightStyles,\n );\n }\n return children;\n }, [children, highlight, highlightCaseSensitive, highlightStyles]);\n\n // Render function that creates the item element\n const renderItemElement = (\n tooltipTriggerProps?: HTMLAttributes<HTMLElement>,\n tooltipRef?: RefObject<HTMLElement>,\n ) => {\n // Use callback ref to merge multiple refs without calling hooks\n const handleRef = (element: HTMLElement | null) => {\n // Set the component's forwarded ref\n if (typeof ref === 'function') {\n ref(element as T | null);\n } else if (ref) {\n (ref as any).current = element;\n }\n // Set the tooltip ref if provided\n if (tooltipRef) {\n (tooltipRef as any).current = element;\n }\n };\n\n return (\n <ItemElement\n ref={handleRef}\n variant={\n theme && type\n ? (`${type === 'header' ? 'default' : theme}.${type === 'header' ? 'item' : type}` as ItemVariant)\n : undefined\n }\n disabled={finalIsDisabled}\n aria-disabled={finalIsDisabled}\n aria-selected={isSelected}\n mods={finalMods}\n styles={styles}\n tokens={sizeTokenValue ? { $size: sizeTokenValue } : undefined}\n type={htmlType as any}\n {...mergeProps(rest, tooltipTriggerProps || {})}\n style={style}\n >\n {hasIconSlot && (\n <div data-element=\"Icon\">\n <IconSwitch noWrapper contentKey={iconKey}>\n {hasCheckbox ? <CheckIcon /> : finalIcon}\n </IconSwitch>\n </div>\n )}\n {finalPrefix && <div data-element=\"Prefix\">{finalPrefix}</div>}\n {children || labelProps\n ? (() => {\n const LabelTag =\n type === 'header' || type === 'card'\n ? (`h${level}` as const)\n : 'div';\n return (\n <LabelTag\n data-element=\"Label\"\n {...finalLabelProps}\n ref={labelRef}\n >\n {processedChildren}\n </LabelTag>\n );\n })()\n : null}\n {showDescription ? (\n <div data-element=\"Description\" {...descriptionProps}>\n {description}\n </div>\n ) : null}\n {finalSuffix && <div data-element=\"Suffix\">{finalSuffix}</div>}\n {hasRightIconSlot && (\n <div data-element=\"RightIcon\">\n <IconSwitch noWrapper contentKey={rightIconKey}>\n {finalRightIcon}\n </IconSwitch>\n </div>\n )}\n {actions && (\n <div data-element=\"Actions\" {...ACTIONS_EVENT_HANDLERS}>\n {actions !== true ? (\n <ItemActionProvider\n type={type}\n theme={theme}\n disableActionsFocus={disableActionsFocus}\n isDisabled={finalIsDisabled}\n >\n {actions}\n </ItemActionProvider>\n ) : null}\n </div>\n )}\n </ItemElement>\n );\n };\n\n return renderWithTooltip(renderItemElement, defaultTooltipPlacement);\n};\n\nconst _Item = Object.assign(forwardRef(Item), {\n Action: ItemAction,\n Badge: ItemBadge,\n});\n\nexport { _Item as Item };\n\n/**\n * @deprecated Use `Item` instead. This export will be removed in a future version.\n */\nexport { _Item as ItemBase };\nexport type { CubeItemProps as CubeItemBaseProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAuFA,MAAM,mBAAmB;CACvB;CACA;CACA;CACA;CACA;CACA;CACD;AAgLD,MAAM,sBAA8B;CAClC,GAAG;CACH,SAAS;CACT,YAAY;CACZ,cAAc;CACd,aAAa;CACb,OAAO;CACP,SAAS;EACP,IAAI;EACJ,uBAAuB;EACvB,wBAAwB;EACxB,kCAAkC;EACnC;CACF;AAED,MAAM,kBAA0B;CAC9B,GAAG;CACH,SAAS;CACT,MAAM;CACN,YAAY;CACZ,cAAc;CACf;AAED,MAAM,yBAAyB;CAC7B,UAAU,MAAkB,EAAE,iBAAiB;CAC/C,gBAAgB,MAAoB,EAAE,iBAAiB;CACvD,cAAc,MAAoB,EAAE,iBAAiB;CACrD,cAAc,MAAkB,EAAE,iBAAiB;CACnD,YAAY,MAAkB,EAAE,iBAAiB;CACjD,YAAY,MAAqB;AAC/B,MAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,IACjC,GAAE,iBAAiB;;CAGxB;AAED,MAAM,cAAc,MAAM;CACxB,IAAI;CACJ,QAAQ;EACN,eACE;EAEF,SAAS;EACT,MAAM;EACN,KAAK;EACL,SAAS;EACT,YAAY;EACZ,cAAc;EACd,cAAc;GACZ,IAAI;GACJ,sBACE;GACF,kCACE;GACF,qBACE;GACH;EAED,YAAY;GACV,IAAI;GACJ,0BAA0B;GAC3B;EACD,UAAU;EACV,SAAS;GACP,IAAI;GACJ,aAAa;GACd;EACD,QAAQ;EACR,QAAQ;GACN,IAAI;GACJ,cAAc;GACd,gBAAgB;GAChB,eAAe;GACf,cAAc;GACf;EACD,QAAQ;GACN,IAAI;GACJ,eAAe;GAChB;EACD,OAAO;GACL,IAAI;GACJ,6BAA6B;GAC7B,eAAe;GAChB;EACD,QAAQ;EACR,MAAM;GACJ,IAAI;GACJ,qBAAqB;GACrB,UAAU;GACV,kCAAkC;GAClC,SAAS;GACT,UAAU;GACX;EACD,OAAO;GACL,IAAI;GACJ,SAAS;GACT,SAAS;GACT,UAAU;GACX;EACD,QAAQ;GACN,IAAI;GACJ,cAAc;GACd,eAAe;GACf,eAAe;GACf,eAAe;GACf,wDAAwD;GACxD,4BAA4B;GAC5B,wEACE;GACF,0CAA0C;GAC1C,2CAA2C;GAC5C;EACD,QAAQ;EACR,YAAY;EACZ,eAAe;EACf,QAAQ;GACN,IAAI;GACJ,UAAU;GACV,wCAAwC;GACxC,UAAU;GACX;EAED,OAAO;GACL,IAAI;GACJ,eAAe;GACf,cAAc;GACd,eAAe;GACf,cAAc;GACd,eAAe;GACf,eAAe;GAChB;EACD,mBACE;EACF,kBAAkB;GAChB,IAAI;GACJ,4BAA4B;GAC5B,eAAe;GAChB;EACD,wBAAwB;EACxB,uBAAuB;EAEvB,uBAAuB;GACrB,IAAI;GACJ,qBAAqB;GACtB;EACD,wBAAwB;GACtB,IAAI;GACJ,mBAAmB;GAEnB,gHACE;GACF,6FACE;GACH;EACD,yBAAyB;GACvB,IAAI;GACJ,sBAAsB;GACvB;EACD,6BAA6B;GAC3B,IAAI;GACJ,qBAAqB;GACrB,qBAAqB;GACrB,0CAA0C;GAC3C;EACD,8BAA8B;GAC5B,IAAI;GACJ,mBAAmB;GACnB,qBAAqB;GACrB,wCAAwC;GACzC;EACD,+BAA+B;GAC7B,IAAI;GACJ,kCAAkC;GAClC,iCACE;GACH;EAED,MAAM;GAAE,GAAG;GAAqB,UAAU;GAAQ;EAElD,WAAW;GAAE,GAAG;GAAqB,UAAU;GAAa;EAE5D,OAAO;GACL,GAAG;GACH,QAAQ;GACR,UAAU;GACV,SAAS;GACT,WAAW;GACX,WAAW;GACX,cAAc;GACd,YAAY;GACZ,UAAU;GACV,cAAc;GACd,OAAO;GACP,QAAQ;GACR,YAAY;GACZ,SACE;GACH;EAED,aAAa;GACX,GAAG;GACH,UAAU;GACV,QAAQ;IACN,IAAI;IACJ,2BAA2B;IAC5B;GACD,WAAW;GACX,WAAW;GACX,OAAO;GACP,SAAS;IACP,IAAI;IACJ,2BAA2B;IAC5B;GACD,UAAU;GACV,YAAY;IACV,IAAI;IACJ,2BAA2B;IAC5B;GACD,cAAc;GACd,OAAO;GACP,WAAW;GACX,SACE;GACH;EAED,QAAQ;GACN,GAAG;GACH,UAAU;GACV,SAAS;IACP,IAAI;IACJ,YAAY;IACb;GACF;EAED,QAAQ;GACN,GAAG;GACH,UAAU;GACV,SAAS;IACP,IAAI;IACJ,kBAAkB;IACnB;GACF;EAED,SAAS;GACP,GAAG;GACH,UAAU;GACV,SAAS;GACT,KAAK;GACL,YAAY;GACZ,cAAc;GACd,WAAW;GACX,SAAS;IACP,IAAI;IACJ,mCAAmC;IACpC;GACD,WAAW;GACX,QAAQ;GACR,OAAO;IACL,IAAI;IACJ,4CACE;IACF,qEACE;IACF,8IACE;IACF,oEACE;IACH;GACD,SAAS;IACP,IAAI;IACJ,qBAAqB;IACrB,4FAA4F;IAC7F;GACD,YACE;GACF,iBAAiB;GAGjB,gBAAgB;GAEhB,iBAAiB;GAClB;EACF;CACD,UAAU;EAER,mBAAmB;EACnB,qBAAqB;EACrB,mBAAmB;EACnB,mBAAmB;EACnB,iBAAiB;EACjB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAEhB,kBAAkB;EAClB,oBAAoB;EACpB,kBAAkB;EAClB,kBAAkB;EAClB,gBAAgB;EAChB,eAAe;EACf,eAAe;EACf,eAAe;EAEf,mBAAmB;EACnB,qBAAqB;EACrB,mBAAmB;EACnB,mBAAmB;EACnB,iBAAiB;EACjB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAEhB,mBAAmB;EACnB,qBAAqB;EACrB,mBAAmB;EACnB,mBAAmB;EACnB,iBAAiB;EACjB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAEhB,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,cAAc;EACd,aAAa;EACb,aAAa;EACb,aAAa;EAEb,mBAAmB;EACnB,qBAAqB;EACrB,mBAAmB;EACnB,mBAAmB;EACnB,iBAAiB;EACjB,gBAAgB;EAChB,gBAAgB;EACjB;CACD,YAAY;CACb,CAAC;AAEF,MAAM,QACJ,OACA,QACG;CACH,IAAI,EACF,UACA,OAAO,UACP,OAAO,QACP,QAAQ,WACR,MACA,MAAM,UACN,WAAW,eACX,QACA,QACA,aACA,sBACA,YACA,kBACA,uBACA,QACA,UACA,YACA,SACA,UAAU,MACV,YACA,OACA,cAAc,QACd,YAAY,OACZ,SACA,kBAAkB,OAClB,uBAAuB,OACvB,sBAAsB,OACtB,OACA,0BAA0B,OAC1B,QAAQ,GACR,WACA,yBAAyB,OACzB,iBACA,gBAAgB,OAChB,cAAc,OACd,GAAG,SACD;CAGJ,MAAM,WAAW,CAAC,EAAE,YAAY;CAIhC,MAAM,4BACJ,0BACE,SAAS,UAAU,SAAS,aAAa,WAAW,UAAU;CAGlE,MAAM,aAAa,UAAU,SAAS,SAAS,SAAS;CAGxD,MAAM,kBACJ,eAAe,QAAS,aAAa,eAAe;AAmBtD,SAJG,SAAS,YAAY,CAHF,CAAC,UAAU,CAGM,SAAS,MAAM,IACnD,SAAS,UAAU,CALF;EAAC;EAAW;EAAW;EAAU;EAAW;EAAO,CAKpC,SAAS,MAAM,IAC/C,CAAC,CAAC,UAAU,OAAO,CAAC,SAAS,KAAK,IAAI,CAdjB;EACtB;EACA;EACA;EACA;EACA;EACA;EACD,CAOyD,SAAS,MAAM,EAE3C;EAC5B,KAAK;GAAC;GAAQ;GAAsB;GAAM;GAAM;EAChD,MAAM,CACJ,+CAA+C,KAAK,4BAA4B,MAAM,OACnF,SAAS,WACN,uDACA,SAAS,SACP,sFACA,qFACT;EACF,CAAC;CAGF,MAAM,mBAAmB,SAAS,WAAW,YAAY;CACzD,MAAM,qBAAqB,SAAS,UAAU;CAC9C,MAAM,sBAAsB,oBAAoB;CAEhD,MAAM,0BAAoC,EAAE;AAC5C,KAAI,iBACF,yBAAwB,KAAK,sCAAsC;AAErE,KAAI,mBACF,yBAAwB,KAAK,mCAAmC;AAGlE,SAAQ,qBAAqB;EAC3B,KAAK,CAAC,QAAQ,oBAAoB;EAClC,MAAM,CACJ,0CAA0C,wBAAwB,KAAK,OAAO,CAAC,8CAChF;EACF,CAAC;CAGF,MAAM,cAAc,aAAa;CAGjC,MAAM,eACJ,OAAO,SAAS,YAChB,CAAE,iBAAuC,SAAS,KAAK;CACzD,MAAM,iBACJ,OAAO,SAAS,WAAW,GAAG,KAAK,MAAM,eAAe,OAAO;CAGjE,MAAM,WAAW,eACR;EACL,UAAU;EACV,UAAU,eAAe;EACzB,SAAS;EACT,GAAI,CAAC,gBAAgB,EAAQ,MAAgB;EAC7C;EACA;EACA,OAAO;EACP,GAAG;EACJ,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;CAGD,MAAM,eAAe,cAAc;AACjC,MAAI,YACF,QAAO;GAAE,SAAS;GAAM,SAAS;GAAM;AAEzC,SAAO,YAAY,UAAmC,SAAS;IAC9D;EAAC;EAAU;EAAU;EAAY,CAAC;CAErC,MAAM,oBAAoB,cAClB,YAAY,eAAe,SAAS,EAC1C,CAAC,eAAe,SAAS,CAC1B;CAID,MAAM,sBAAsB,cAAc;AACxC,MAAI,gBAAgB,OAAQ,QAAO;AAGnC,MAAI,kBAAkB,WAAW,CAAC,aAAa,QAAS,QAAO;AAC/D,SAAO;IACN;EAAC;EAAa,aAAa;EAAS,kBAAkB;EAAQ,CAAC;CAGlE,MAAM,cACJ,aAAa,WAAY,aAAa,wBAAwB;CAChE,MAAM,mBACJ,kBAAkB,WACjB,aAAa,wBAAwB;CAExC,MAAM,kBAAkB,cAAc;EACpC,MAAM,YAAY,EAAE,GAAG,kBAAkB;AACzC,SAAO,UAAU;AACjB,SAAO,CAAC,EAAE,eAAe,OAAO,KAAK,UAAU,CAAC,SAAS;IACxD,CAAC,aAAa,iBAAiB,CAAC;CAGnC,MAAM,YACJ,aAAa,wBAAwB,SACnC,oBAAC,gBAAc,GAEf,aAAa;CAEjB,MAAM,iBACJ,aAAa,wBAAwB,cACnC,oBAAC,gBAAc,GAEf,kBAAkB;CAItB,MAAM,UAAU,cACZ,aACA,aAAa,wBAAwB,SACnC,YACA,eAAe,UAAU,GACtB,UAAU,MAAc,eACxB,UAAU,MAAc,QACzB,SACA,YACE,SACA;CAEV,MAAM,eACJ,aAAa,wBAAwB,cACjC,YACA,eAAe,eAAe,GAC3B,eAAe,MAAc,eAC7B,eAAe,MAAc,QAC9B,SACA,iBACE,SACA;CACV,MAAM,cACJ,aAAa,wBAAwB,WAAW,oBAAC,gBAAc,GAAG;CAGpE,MAAM,cACJ,aAAa,wBAAwB,WACnC,oBAAC,gBAAc,GAEf,WACC,UACC,oBAACA;EACC,GAAK;EACL,MAAM,SAAS,YAAY,YAAY;EACvC,QAAQ;GAAE,SAAS;GAAW,SAAS,kBAAkB,KAAM;GAAG;YAEjE;GACO,GACR;AAIR,YACE,OAAO,YAAY,WAAW,QAAQ,aAAa,GAAG,UAChD;AACJ,MAAI,CAAC,QAAS;AACd,MAAI,gBAAiB;AAErB,MAAI,OAAO,OAAO,QAAQ,YAAY,IAAI,QACxC,CAAC,IAAI,QAAwB,OAAO;IAGxC;EACE,yBAAyB;EACzB,SAAS,CAAC,CAAC;EACX,gBAAgB;EAChB,kBAAkB;EACnB,EACD,CAAC,SAAS,gBAAgB,CAC3B;CAED,MAAM,YAAY,cAAwB;AACxC,SAAO;GACL,GAAG;GACH,YAAY;GACZ,qBAAqB,CAAC,EAAE,eAAe;GACvC,mBAAmB,CAAC,EAAE,oBAAoB,eAAe;GACzD,kBAAkB;GAClB,aAAa;GACb,cAAc,CAAC,CAAC;GAChB,cAAc,CAAC,CAAC;GAChB,mBAAmB;GACnB,eAAe,CAAC,CAAC;GACjB,uBAAuB,CAAC,EAAE,WAAW,YAAY;GACjD,qBAAqB,oBAAoB;GACzC,0BAA0B,yBAAyB;GACnD,kBAAkB;GAClB,iBAAiB,eAAe;GAChC,UAAU;GACV,aAAa,kBAAkB,4BAA4B;GAC5D;IACA;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;CAEF,MAAM,EACJ,YAAY,iBACZ,UACA,sBACE,eAAe;EACjB;EACA;EACA;EACA,gBAAgB,CAAC,CAAC;EACnB,CAAC;CAGF,MAAM,oBAAoB,cAAc;AACtC,MAAI,OAAO,aAAa,YAAY,UAClC,QAAO,cACL,UACA,WACA,wBACA,gBACD;AAEH,SAAO;IACN;EAAC;EAAU;EAAW;EAAwB;EAAgB,CAAC;CAGlE,MAAM,qBACJ,qBACA,eACG;EAEH,MAAM,aAAa,YAAgC;AAEjD,OAAI,OAAO,QAAQ,WACjB,KAAI,QAAoB;YACf,IACT,CAAC,IAAY,UAAU;AAGzB,OAAI,WACF,CAAC,WAAmB,UAAU;;AAIlC,SACE,qBAAC;GACC,KAAK;GACL,SACE,SAAS,OACJ,GAAG,SAAS,WAAW,YAAY,MAAM,GAAG,SAAS,WAAW,SAAS,SAC1E;GAEN,UAAU;GACV,iBAAe;GACf,iBAAe;GACf,MAAM;GACE;GACR,QAAQ,iBAAiB,EAAE,OAAO,gBAAgB,GAAG;GACrD,MAAM;GACN,GAAI,WAAW,MAAM,uBAAuB,EAAE,CAAC;GACxC;;IAEN,eACC,oBAAC;KAAI,gBAAa;eAChB,oBAAC;MAAW;MAAU,YAAY;gBAC/B,cAAc,oBAAC,cAAY,GAAG;OACpB;MACT;IAEP,eAAe,oBAAC;KAAI,gBAAa;eAAU;MAAkB;IAC7D,YAAY,aAOL,oBAJA,SAAS,YAAY,SAAS,SACzB,IAAI,UACL;KAGF,gBAAa;KACb,GAAI;KACJ,KAAK;eAEJ;MACQ,GAGf;IACH,kBACC,oBAAC;KAAI,gBAAa;KAAc,GAAI;eACjC;MACG,GACJ;IACH,eAAe,oBAAC;KAAI,gBAAa;eAAU;MAAkB;IAC7D,oBACC,oBAAC;KAAI,gBAAa;eAChB,oBAAC;MAAW;MAAU,YAAY;gBAC/B;OACU;MACT;IAEP,WACC,oBAAC;KAAI,gBAAa;KAAU,GAAI;eAC7B,YAAY,OACX,oBAAC;MACO;MACC;MACc;MACrB,YAAY;gBAEX;OACkB,GACnB;MACA;;IAEI;;AAIlB,QAAO,kBAAkB,mBAAmB,wBAAwB;;AAGtE,MAAM,QAAQ,OAAO,OAAO,WAAW,KAAK,EAAE;CAC5C,QAAQ;CACR,OAAO;CACR,CAAC"}
1
+ {"version":3,"file":"Item.js","names":["HotKeys"],"sources":["../../../../src/components/content/Item/Item.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Mods,\n Props,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n isValidElement,\n KeyboardEvent,\n MouseEvent,\n PointerEvent,\n ReactNode,\n RefObject,\n useMemo,\n} from 'react';\nimport { OverlayProps } from 'react-aria';\nimport { useHotkeys } from 'react-hotkeys-hook';\n\nimport { useWarn } from '../../../_internal/hooks/use-warn';\nimport {\n DANGER_CARD_STYLES,\n DANGER_CLEAR_STYLES,\n DANGER_ITEM_STYLES,\n DANGER_LINK_STYLES,\n DANGER_NEUTRAL_STYLES,\n DANGER_OUTLINE_STYLES,\n DANGER_PRIMARY_STYLES,\n DANGER_SECONDARY_STYLES,\n DEFAULT_CARD_STYLES,\n DEFAULT_CLEAR_STYLES,\n DEFAULT_ITEM_STYLES,\n DEFAULT_LINK_STYLES,\n DEFAULT_NEUTRAL_STYLES,\n DEFAULT_OUTLINE_STYLES,\n DEFAULT_PRIMARY_STYLES,\n DEFAULT_SECONDARY_STYLES,\n ItemVariant,\n NOTE_CARD_STYLES,\n NOTE_CLEAR_STYLES,\n NOTE_ITEM_STYLES,\n NOTE_LINK_STYLES,\n NOTE_NEUTRAL_STYLES,\n NOTE_OUTLINE_STYLES,\n NOTE_PRIMARY_STYLES,\n NOTE_SECONDARY_STYLES,\n SPECIAL_CLEAR_STYLES,\n SPECIAL_ITEM_STYLES,\n SPECIAL_LINK_STYLES,\n SPECIAL_NEUTRAL_STYLES,\n SPECIAL_OUTLINE_STYLES,\n SPECIAL_PRIMARY_STYLES,\n SPECIAL_SECONDARY_STYLES,\n SUCCESS_CARD_STYLES,\n SUCCESS_CLEAR_STYLES,\n SUCCESS_ITEM_STYLES,\n SUCCESS_LINK_STYLES,\n SUCCESS_NEUTRAL_STYLES,\n SUCCESS_OUTLINE_STYLES,\n SUCCESS_PRIMARY_STYLES,\n SUCCESS_SECONDARY_STYLES,\n WARNING_CARD_STYLES,\n WARNING_CLEAR_STYLES,\n WARNING_ITEM_STYLES,\n WARNING_LINK_STYLES,\n WARNING_NEUTRAL_STYLES,\n WARNING_OUTLINE_STYLES,\n WARNING_PRIMARY_STYLES,\n WARNING_SECONDARY_STYLES,\n} from '../../../data/item-themes';\nimport { CheckIcon } from '../../../icons/CheckIcon';\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { DynamicIcon, mergeProps, resolveIcon } from '../../../utils/react';\nimport { ItemAction } from '../../actions/ItemAction';\nimport { ItemActionProvider } from '../../actions/ItemActionContext';\nimport { IconSwitch } from '../../helpers/IconSwitch/IconSwitch';\nimport { CubeTooltipProviderProps } from '../../overlays/Tooltip/TooltipProvider';\nimport { highlightText } from '../highlightText';\nimport { HotKeys } from '../HotKeys';\nimport { ItemBadge } from '../ItemBadge';\nimport { useAutoTooltip } from '../use-auto-tooltip';\n\nconst ITEM_SIZE_VALUES = [\n 'xsmall',\n 'small',\n 'medium',\n 'large',\n 'xlarge',\n 'inline',\n] as const;\n\n/** Known modifiers for Item component */\nexport type ItemMods = Mods<{\n 'has-icon'?: boolean;\n 'has-start-content'?: boolean;\n 'has-end-content'?: boolean;\n 'has-right-icon'?: boolean;\n 'has-label'?: boolean;\n 'has-prefix'?: boolean;\n 'has-suffix'?: boolean;\n 'has-description'?: boolean;\n 'has-actions'?: boolean;\n 'has-actions-content'?: boolean;\n 'auto-hide-actions'?: boolean;\n 'preserve-actions-space'?: boolean;\n checkbox?: boolean;\n disabled?: boolean;\n selected?: boolean;\n loading?: boolean;\n size?: string;\n description?: string;\n type?: string;\n theme?: string;\n shape?: string;\n}>;\n\nexport interface CubeItemProps extends BaseProps, ContainerStyleProps {\n icon?: DynamicIcon<ItemMods> | 'checkbox';\n rightIcon?: DynamicIcon<ItemMods>;\n prefix?: ReactNode;\n suffix?: ReactNode;\n description?: ReactNode;\n descriptionPlacement?: 'inline' | 'block';\n /**\n * When true, the item is rendered inside a wrapper element to separate the actions from the item.\n * @default false\n */\n insideWrapper?: boolean;\n /**\n * Whether the item is selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Actions to render inline or placeholder mode for ItemButton wrapper.\n * - ReactNode: renders actions inline as part of the grid layout\n * - true: placeholder mode for ItemButton (enables --actions-width calculation)\n */\n actions?: ReactNode | true;\n /**\n * When true, actions are hidden by default and shown only on hover, focus, or focus-within.\n * Uses opacity transition for visual hiding while maintaining layout space.\n */\n autoHideActions?: boolean;\n /**\n * When true and insideWrapper is true, this controls the visibility of the actions.\n * @default false\n */\n showActions?: boolean;\n /**\n * When true, preserves the actions width when hidden (only changes opacity).\n * Only applies when autoHideActions is true.\n * @default false\n */\n preserveActionsSpace?: boolean;\n /**\n * When true, disables focus on action buttons by setting tabIndex={-1}.\n * @default true\n */\n disableActionsFocus?: boolean;\n size?:\n | 'xsmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'xlarge'\n | 'inline'\n | number\n | (string & {});\n type?:\n | 'item'\n | 'header'\n | 'primary'\n | 'secondary'\n | 'outline'\n | 'neutral'\n | 'clear'\n | 'link'\n | 'card'\n | (string & {});\n theme?:\n | 'default'\n | 'danger'\n | 'success'\n | 'special'\n | 'warning'\n | 'note'\n | (string & {});\n /** Keyboard shortcut that triggers the element when pressed */\n hotkeys?: string;\n /**\n * Tooltip content and configuration:\n * - string: simple tooltip text\n * - true: auto tooltip on overflow (shows children as tooltip when truncated)\n * - object: advanced configuration with optional auto property\n */\n tooltip?:\n | string\n | boolean\n | (Omit<CubeTooltipProviderProps, 'children'> & { auto?: boolean });\n /**\n * HTML button type to avoid implicit form submission when used as `as=\"button\"`.\n * Kept separate from visual `type` prop.\n */\n htmlType?: 'button' | 'submit' | 'reset';\n labelProps?: Props;\n descriptionProps?: Props;\n keyboardShortcutProps?: Props;\n /**\n * The slot which the loading icon should replace in loading state.\n * - \"auto\": Smart selection - prefers icon if present, then rightIcon, fallback to icon\n * - Specific slot names: Always use that slot\n * @default \"auto\"\n */\n loadingSlot?: 'auto' | 'icon' | 'rightIcon' | 'prefix' | 'suffix';\n /**\n * When true, shows loading state by replacing the specified slot with LoadingIcon\n * and makes the component disabled.\n */\n isLoading?: boolean;\n /**\n * Shape of the item's border radius.\n * - `card` - Card shape with larger border radius (`1cr`)\n * - `button` - Button shape with default border radius (default)\n * - `sharp` - Sharp corners with no border radius (`0`)\n * - `pill` - Pill shape with fully rounded ends (`round`)\n * @default \"button\"\n */\n shape?: 'card' | 'button' | 'sharp' | 'pill';\n /**\n * @private\n * Default tooltip placement for the item.\n * @default \"top\"\n */\n defaultTooltipPlacement?: OverlayProps['placement'];\n /**\n * Ref to access the label element directly\n */\n labelRef?: RefObject<HTMLElement>;\n /**\n * Heading level for the Label element when type=\"header\" or type=\"card\".\n * Changes the Label's HTML tag to the corresponding heading (h1-h6).\n * @default 3\n */\n level?: 1 | 2 | 3 | 4 | 5 | 6;\n /**\n * String to highlight within children.\n * Only works when children is a plain string.\n */\n highlight?: string;\n /**\n * Whether highlight matching is case-sensitive.\n * @default false\n */\n highlightCaseSensitive?: boolean;\n /**\n * Custom styles for highlighted text.\n */\n highlightStyles?: Styles;\n /**\n * Variant of the item.\n */\n variant?: ItemVariant;\n}\n\nconst DEFAULT_ICON_STYLES: Styles = {\n $: '>',\n display: 'grid',\n placeItems: 'center',\n placeContent: 'stretch',\n aspectRatio: '1 / 1',\n width: '($size - 2bw)',\n opacity: {\n '': 1,\n 'checkbox & selected': 1,\n 'checkbox & !selected': 0,\n 'checkbox & !selected & hovered': 0.4,\n },\n};\n\nconst ADDITION_STYLES: Styles = {\n $: '>',\n display: 'grid',\n flow: 'column',\n placeItems: 'center',\n placeContent: 'stretch',\n};\n\nconst ACTIONS_EVENT_HANDLERS = {\n onClick: (e: MouseEvent) => e.stopPropagation(),\n onPointerDown: (e: PointerEvent) => e.stopPropagation(),\n onPointerUp: (e: PointerEvent) => e.stopPropagation(),\n onMouseDown: (e: MouseEvent) => e.stopPropagation(),\n onMouseUp: (e: MouseEvent) => e.stopPropagation(),\n onKeyDown: (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.stopPropagation();\n }\n },\n};\n\nconst ItemElement = tasty({\n as: 'div',\n styles: {\n '@interacted':\n 'active | :hover | :focus | :focus-within | :has([data-pressed])',\n\n display: 'inline-grid',\n flow: 'column dense',\n gap: 0,\n outline: 0,\n placeItems: 'stretch',\n placeContent: 'stretch',\n gridTemplate: {\n '': '\"icon prefix label suffix rightIcon actions\" auto \"icon prefix label suffix rightIcon actions\" auto / max-content max-content 1sf max-content max-content max-content',\n 'description=inline':\n '\"icon prefix description suffix rightIcon actions\" auto / max-content max-content 1sf max-content max-content max-content',\n 'description=inline & has-label':\n '\"icon prefix label suffix rightIcon actions\" auto \"icon prefix description suffix rightIcon actions\" auto / max-content max-content 1sf max-content max-content max-content',\n 'description=block':\n '\"icon prefix label suffix rightIcon actions\" auto \"description description description description description description\" auto / max-content max-content 1sf max-content max-content max-content',\n },\n // Prevent items from shrinking inside vertical flex layouts (Menu, ListBox, etc)\n flexShrink: {\n '': 'initial',\n 'menuitem | listboxitem': 0,\n },\n position: 'relative',\n padding: {\n '': 0,\n 'type=card': '.5x',\n },\n margin: 0,\n radius: {\n '': true,\n 'shape=card': '1cr',\n 'shape=button': true,\n 'shape=sharp': '0',\n 'shape=pill': 'round',\n },\n height: {\n '': 'min $size',\n 'size=inline': '(1lh + 2bw)',\n },\n width: {\n '': 'min $size',\n 'has-icon & has-right-icon': 'min ($size * 2)',\n 'size=inline': 'min (1lh + 2bw)',\n },\n border: '#clear',\n fill: {\n '': '#dark.0',\n 'hovered | focused': '#dark.03',\n selected: '#dark.09',\n 'selected & (hovered | focused)': '#dark.12',\n pressed: '#dark.09',\n disabled: '#clear',\n },\n color: {\n '': '#dark-02',\n hovered: '#dark-02',\n pressed: '#dark',\n disabled: '#dark-04',\n },\n preset: {\n '': 't3',\n '!type=item': 't3m',\n 'size=xsmall': 't4',\n 'size=xlarge': 't2',\n 'size=inline': 'inline',\n '!type=item & (size=medium | size=small | size=large)': 't3m',\n '!type=item & size=xlarge': 't2m',\n '(type=header | type=card) & (size=xsmall | size=small | size=medium)':\n 'h6',\n '(type=header | type=card) & size=large': 'h5',\n '(type=header | type=card) & size=xlarge': 'h4',\n },\n recipe: 'reset button',\n transition: 'theme',\n outlineOffset: 1,\n cursor: {\n '': 'inherit',\n ':is(a)': 'pointer',\n ':is(button) | listboxitem | menuitem': '$pointer',\n disabled: 'not-allowed',\n },\n\n $size: {\n '': '$size-md',\n 'size=xsmall': '$size-xs',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n 'size=xlarge': '$size-xl',\n 'size=inline': '(1lh + 2bw)',\n },\n '$inline-padding':\n 'max($min-inline-padding, (($size - 1lh - 2bw) / 2 + $inline-compensation))',\n '$block-padding': {\n '': '.5x',\n 'size=xsmall | size=small': '.25x',\n 'size=inline': 0,\n },\n '$inline-compensation': '.5x',\n '$min-inline-padding': '(1x - 1bw)',\n\n '$label-padding-left': {\n '': '$inline-padding',\n 'has-start-content': '0',\n },\n '$label-padding-right': {\n '': '$inline-padding',\n 'has-end-content': '0',\n // Restore padding when actions are hidden AND no other visible end content\n '!inside-wrapper & !has-suffix & !has-right-icon & auto-hide-actions & !preserve-actions-space & !@interacted':\n '$inline-padding',\n 'inside-wrapper & !has-suffix & !has-right-icon & !preserve-actions-space & !actions-shown':\n '$inline-padding',\n },\n '$label-padding-bottom': {\n '': '$block-padding',\n 'description=inline': '0',\n },\n '$description-padding-left': {\n '': '$inline-padding',\n 'has-start-content': 0,\n 'description=block': '($inline-padding - $inline-compensation + 1bw)',\n 'description=block & !has-start-content': '$inline-padding',\n },\n '$description-padding-right': {\n '': '$inline-padding',\n 'has-end-content': 0,\n 'description=block': '($inline-padding - $inline-compensation + 1bw)',\n 'description=block & !has-end-content': '$inline-padding',\n },\n '$description-padding-bottom': {\n '': 0,\n 'has-label & description=inline': '$block-padding',\n 'has-label & description=block':\n 'max($block-padding, (($size - 4x) / 2) + $block-padding)',\n },\n\n Icon: { ...DEFAULT_ICON_STYLES, gridArea: 'icon' },\n\n RightIcon: { ...DEFAULT_ICON_STYLES, gridArea: 'rightIcon' },\n\n Label: {\n $: '>',\n margin: 0,\n gridArea: 'label',\n display: 'block',\n placeSelf: 'center start',\n boxSizing: 'border-box',\n placeContent: 'stretch',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n width: '0 100%',\n preset: 'inherit',\n transition: 'padding',\n padding:\n '$block-padding $label-padding-right $label-padding-bottom $label-padding-left',\n },\n\n Description: {\n $: '>',\n gridArea: 'description',\n preset: {\n '': 't4',\n 'type=card | type=header': 't3',\n },\n placeSelf: 'center start',\n boxSizing: 'border-box',\n color: 'inherit',\n opacity: {\n '': 0.75,\n 'type=card | type=header': 1,\n },\n overflow: 'hidden',\n whiteSpace: {\n '': 'nowrap',\n 'type=card | type=header': 'normal',\n },\n textOverflow: 'ellipsis',\n width: 'initial 100% 100%',\n textAlign: 'left',\n padding:\n '0 $description-padding-right $description-padding-bottom $description-padding-left',\n },\n\n Prefix: {\n ...ADDITION_STYLES,\n gridArea: 'prefix',\n padding: {\n '': '$inline-padding left',\n 'has-icon': 0,\n },\n },\n\n Suffix: {\n ...ADDITION_STYLES,\n gridArea: 'suffix',\n padding: {\n '': '$inline-padding right',\n 'has-right-icon': 0,\n },\n },\n\n Actions: {\n $: '>',\n gridArea: 'actions',\n display: 'flex',\n gap: '1bw',\n placeItems: 'center',\n placeContent: 'end',\n placeSelf: 'stretch',\n padding: {\n '': '0 $side-padding',\n 'inside-wrapper & !actions-shown': 0,\n },\n boxSizing: 'border-box',\n height: 'min ($size - 2bw)',\n width: {\n '': 'fixed ($actions-width, 0px)',\n 'has-actions-content & !auto-hide-actions':\n 'max calc-size(max-content, size)',\n 'has-actions-content & auto-hide-actions & !preserve-actions-space':\n 'max 0px',\n 'has-actions-content & auto-hide-actions & (!preserve-actions-space & ((@interacted & !inside-wrapper) | (inside-wrapper & actions-shown)))':\n 'max calc-size(max-content, size)',\n 'has-actions-content & auto-hide-actions & preserve-actions-space':\n 'max calc-size(max-content, size)',\n },\n opacity: {\n '': 1,\n 'auto-hide-actions': 0,\n 'auto-hide-actions & ((@interacted & !inside-wrapper) | (inside-wrapper & actions-shown))': 1,\n },\n transition:\n 'width $transition ease-out, opacity $transition ease-out, padding $transition ease-out',\n interpolateSize: 'allow-keywords',\n\n // Size for the action buttons\n '$action-size': 'min(max((2x + 2bw), ($size - 1x - 2bw)), (3x - 2bw))',\n // Side padding for the button\n '$side-padding': '(($size - $action-size - 2bw) / 2)',\n },\n },\n variants: {\n // Default theme\n 'default.primary': DEFAULT_PRIMARY_STYLES,\n 'default.secondary': DEFAULT_SECONDARY_STYLES,\n 'default.outline': DEFAULT_OUTLINE_STYLES,\n 'default.neutral': DEFAULT_NEUTRAL_STYLES,\n 'default.clear': DEFAULT_CLEAR_STYLES,\n 'default.link': DEFAULT_LINK_STYLES,\n 'default.item': DEFAULT_ITEM_STYLES,\n 'default.card': DEFAULT_CARD_STYLES,\n // Danger theme\n 'danger.primary': DANGER_PRIMARY_STYLES,\n 'danger.secondary': DANGER_SECONDARY_STYLES,\n 'danger.outline': DANGER_OUTLINE_STYLES,\n 'danger.neutral': DANGER_NEUTRAL_STYLES,\n 'danger.clear': DANGER_CLEAR_STYLES,\n 'danger.link': DANGER_LINK_STYLES,\n 'danger.item': DANGER_ITEM_STYLES,\n 'danger.card': DANGER_CARD_STYLES,\n // Success theme\n 'success.primary': SUCCESS_PRIMARY_STYLES,\n 'success.secondary': SUCCESS_SECONDARY_STYLES,\n 'success.outline': SUCCESS_OUTLINE_STYLES,\n 'success.neutral': SUCCESS_NEUTRAL_STYLES,\n 'success.clear': SUCCESS_CLEAR_STYLES,\n 'success.link': SUCCESS_LINK_STYLES,\n 'success.item': SUCCESS_ITEM_STYLES,\n 'success.card': SUCCESS_CARD_STYLES,\n // Warning theme\n 'warning.primary': WARNING_PRIMARY_STYLES,\n 'warning.secondary': WARNING_SECONDARY_STYLES,\n 'warning.outline': WARNING_OUTLINE_STYLES,\n 'warning.neutral': WARNING_NEUTRAL_STYLES,\n 'warning.clear': WARNING_CLEAR_STYLES,\n 'warning.link': WARNING_LINK_STYLES,\n 'warning.item': WARNING_ITEM_STYLES,\n 'warning.card': WARNING_CARD_STYLES,\n // Note theme\n 'note.primary': NOTE_PRIMARY_STYLES,\n 'note.secondary': NOTE_SECONDARY_STYLES,\n 'note.outline': NOTE_OUTLINE_STYLES,\n 'note.neutral': NOTE_NEUTRAL_STYLES,\n 'note.clear': NOTE_CLEAR_STYLES,\n 'note.link': NOTE_LINK_STYLES,\n 'note.item': NOTE_ITEM_STYLES,\n 'note.card': NOTE_CARD_STYLES,\n // Special theme\n 'special.primary': SPECIAL_PRIMARY_STYLES,\n 'special.secondary': SPECIAL_SECONDARY_STYLES,\n 'special.outline': SPECIAL_OUTLINE_STYLES,\n 'special.neutral': SPECIAL_NEUTRAL_STYLES,\n 'special.clear': SPECIAL_CLEAR_STYLES,\n 'special.link': SPECIAL_LINK_STYLES,\n 'special.item': SPECIAL_ITEM_STYLES,\n },\n styleProps: CONTAINER_STYLES,\n});\n\nconst Item = <T extends HTMLElement = HTMLDivElement>(\n props: CubeItemProps,\n ref: ForwardedRef<T>,\n) => {\n let {\n children,\n size = 'medium',\n type = 'item',\n theme = 'default',\n mods,\n icon: iconProp,\n rightIcon: rightIconProp,\n prefix,\n suffix,\n description,\n descriptionPlacement,\n labelProps,\n descriptionProps,\n keyboardShortcutProps,\n styles,\n htmlType,\n isSelected,\n hotkeys,\n tooltip = true,\n isDisabled,\n style,\n loadingSlot = 'auto',\n isLoading = false,\n actions,\n autoHideActions = false,\n preserveActionsSpace = false,\n disableActionsFocus = false,\n shape,\n defaultTooltipPlacement = 'top',\n level = 3,\n highlight,\n highlightCaseSensitive = false,\n highlightStyles,\n insideWrapper = false,\n showActions = false,\n ...rest\n } = props;\n\n // Determine if Label will be rendered\n const hasLabel = !!(children || labelProps);\n\n // Set default descriptionPlacement based on type\n // For card/header types, use 'block' only when Label is rendered\n const finalDescriptionPlacement =\n descriptionPlacement ??\n ((type === 'card' || type === 'header') && hasLabel ? 'block' : 'inline');\n\n // Set default shape based on type\n const finalShape = shape ?? (type === 'card' ? 'card' : 'button');\n\n // Loading state makes the component disabled\n const finalIsDisabled =\n isDisabled === true || (isLoading && isDisabled !== false);\n\n // Validate type+theme combinations\n const STANDARD_THEMES = [\n 'default',\n 'success',\n 'danger',\n 'warning',\n 'note',\n 'special',\n ];\n const CARD_THEMES = ['default', 'success', 'danger', 'warning', 'note'];\n const HEADER_THEMES = ['default'];\n\n const isInvalidCombination =\n (type === 'header' && !HEADER_THEMES.includes(theme)) ||\n (type === 'card' && !CARD_THEMES.includes(theme)) ||\n (!['header', 'card'].includes(type) && !STANDARD_THEMES.includes(theme));\n\n useWarn(isInvalidCombination, {\n key: ['Item', 'invalid-type-theme', type, theme],\n args: [\n `Item: Invalid type+theme combination. type=\"${type}\" does not support theme=\"${theme}\".` +\n (type === 'header'\n ? ' The \"header\" type only supports theme: default.'\n : type === 'card'\n ? ' The \"card\" type only supports themes: default, success, danger, warning, note.'\n : ' Standard types support themes: default, success, danger, warning, note, special.'),\n ],\n });\n\n // Warn if link type is used with icons or loading state\n const hasLinkWithIcons = type === 'link' && (iconProp || rightIconProp);\n const hasLinkWithLoading = type === 'link' && isLoading;\n const hasLinkRestrictions = hasLinkWithIcons || hasLinkWithLoading;\n\n const linkRestrictionMessages: string[] = [];\n if (hasLinkWithIcons) {\n linkRestrictionMessages.push('icons (`icon` or `rightIcon` props)');\n }\n if (hasLinkWithLoading) {\n linkRestrictionMessages.push('loading state (`isLoading` prop)');\n }\n\n useWarn(hasLinkRestrictions, {\n key: ['Item', 'link-restrictions'],\n args: [\n `Item: The \"link\" type does not support ${linkRestrictionMessages.join(' or ')}. Remove these props when using type=\"link\".`,\n ],\n });\n\n // Determine if we should show checkbox instead of icon\n const hasCheckbox = iconProp === 'checkbox';\n\n // Determine if size is custom (number or unrecognized string)\n const isCustomSize =\n typeof size === 'number' ||\n !(ITEM_SIZE_VALUES as readonly string[]).includes(size);\n const sizeTokenValue =\n typeof size === 'number' ? `${size}px` : isCustomSize ? size : undefined;\n\n // Base mods for icon resolution (without icon-dependent mods)\n const baseMods = useMemo<ItemMods>(\n () => ({\n disabled: finalIsDisabled,\n selected: isSelected === true,\n loading: isLoading,\n ...(!isCustomSize && { size: size as string }),\n type,\n theme,\n shape: finalShape,\n ...mods,\n }),\n [\n finalIsDisabled,\n isSelected,\n isLoading,\n size,\n isCustomSize,\n type,\n theme,\n finalShape,\n mods,\n ],\n );\n\n // Resolve dynamic icon props (skip resolution for 'checkbox' special value)\n const resolvedIcon = useMemo(() => {\n if (hasCheckbox) {\n return { content: null, hasSlot: true };\n }\n return resolveIcon(iconProp as DynamicIcon<ItemMods>, baseMods);\n }, [iconProp, baseMods, hasCheckbox]);\n\n const resolvedRightIcon = useMemo(\n () => resolveIcon(rightIconProp, baseMods),\n [rightIconProp, baseMods],\n );\n\n // Determine which slot to use for loading when \"auto\" is selected\n // Must be computed before hasIconSlot/hasRightIconSlot since they depend on it\n const resolvedLoadingSlot = useMemo(() => {\n if (loadingSlot !== 'auto') return loadingSlot;\n\n // Auto logic: prefer icon if present, then rightIcon, fallback to icon\n if (resolvedRightIcon.hasSlot && !resolvedIcon.hasSlot) return 'rightIcon';\n return 'icon'; // fallback\n }, [loadingSlot, resolvedIcon.hasSlot, resolvedRightIcon.hasSlot]);\n\n // Determine if icon slots should render (original slot OR loading state targets this slot)\n const hasIconSlot =\n resolvedIcon.hasSlot || (isLoading && resolvedLoadingSlot === 'icon');\n const hasRightIconSlot =\n resolvedRightIcon.hasSlot ||\n (isLoading && resolvedLoadingSlot === 'rightIcon');\n\n const showDescription = useMemo(() => {\n const copyProps = { ...descriptionProps };\n delete copyProps.id;\n return !!(description || Object.keys(copyProps).length > 0);\n }, [description, descriptionProps]);\n\n // Apply loading state to appropriate slots\n const finalIcon =\n isLoading && resolvedLoadingSlot === 'icon' ? (\n <LoadingIcon />\n ) : (\n resolvedIcon.content\n );\n const finalRightIcon =\n isLoading && resolvedLoadingSlot === 'rightIcon' ? (\n <LoadingIcon />\n ) : (\n resolvedRightIcon.content\n );\n\n // Generate stable keys for icon transitions based on icon type\n const iconKey = hasCheckbox\n ? 'checkbox'\n : isLoading && resolvedLoadingSlot === 'icon'\n ? 'loading'\n : isValidElement(finalIcon)\n ? (finalIcon.type as any)?.displayName ||\n (finalIcon.type as any)?.name ||\n 'icon'\n : finalIcon\n ? 'icon'\n : 'empty';\n\n const rightIconKey =\n isLoading && resolvedLoadingSlot === 'rightIcon'\n ? 'loading'\n : isValidElement(finalRightIcon)\n ? (finalRightIcon.type as any)?.displayName ||\n (finalRightIcon.type as any)?.name ||\n 'icon'\n : finalRightIcon\n ? 'icon'\n : 'empty';\n const finalPrefix =\n isLoading && resolvedLoadingSlot === 'prefix' ? <LoadingIcon /> : prefix;\n\n // Build final suffix: loading icon, custom suffix, or HotKeys hint\n const finalSuffix =\n isLoading && resolvedLoadingSlot === 'suffix' ? (\n <LoadingIcon />\n ) : (\n suffix ??\n (hotkeys ? (\n <HotKeys\n {...(keyboardShortcutProps as any)}\n type={type === 'primary' ? 'primary' : 'default'}\n styles={{ padding: '1x left', opacity: finalIsDisabled ? 0.5 : 1 }}\n >\n {hotkeys}\n </HotKeys>\n ) : undefined)\n );\n\n // Register global hotkey if provided\n useHotkeys(\n typeof hotkeys === 'string' ? hotkeys.toLowerCase() : '',\n () => {\n if (!hotkeys) return;\n if (finalIsDisabled) return;\n // Simulate a click on the element so all existing handlers run\n if (ref && typeof ref === 'object' && ref.current) {\n (ref.current as HTMLElement).click();\n }\n },\n {\n enableOnContentEditable: true,\n enabled: !!hotkeys,\n preventDefault: true,\n enableOnFormTags: true,\n },\n [hotkeys, finalIsDisabled],\n );\n\n const finalMods = useMemo<ItemMods>(() => {\n return {\n ...baseMods,\n 'has-icon': hasIconSlot,\n 'has-start-content': !!(hasIconSlot || finalPrefix),\n 'has-end-content': !!(hasRightIconSlot || finalSuffix || actions),\n 'has-right-icon': hasRightIconSlot,\n 'has-label': hasLabel,\n 'has-prefix': !!finalPrefix,\n 'has-suffix': !!finalSuffix,\n 'has-description': showDescription,\n 'has-actions': !!actions,\n 'has-actions-content': !!(actions && actions !== true),\n 'auto-hide-actions': autoHideActions === true,\n 'preserve-actions-space': preserveActionsSpace === true,\n 'inside-wrapper': insideWrapper,\n 'actions-shown': showActions && insideWrapper,\n checkbox: hasCheckbox,\n description: showDescription ? finalDescriptionPlacement : 'none',\n };\n }, [\n baseMods,\n hasIconSlot,\n hasRightIconSlot,\n finalPrefix,\n finalSuffix,\n showDescription,\n finalDescriptionPlacement,\n hasCheckbox,\n actions,\n autoHideActions,\n preserveActionsSpace,\n hasLabel,\n showActions,\n insideWrapper,\n ]);\n\n const {\n labelProps: finalLabelProps,\n labelRef,\n renderWithTooltip,\n } = useAutoTooltip({\n tooltip,\n children,\n labelProps,\n isDynamicLabel: !!actions,\n });\n\n // Process children with highlight if applicable\n const processedChildren = useMemo(() => {\n if (typeof children === 'string' && highlight) {\n return highlightText(\n children,\n highlight,\n highlightCaseSensitive,\n highlightStyles,\n );\n }\n return children;\n }, [children, highlight, highlightCaseSensitive, highlightStyles]);\n\n // Render function that creates the item element\n const renderItemElement = (\n tooltipTriggerProps?: HTMLAttributes<HTMLElement>,\n tooltipRef?: RefObject<HTMLElement>,\n ) => {\n // Use callback ref to merge multiple refs without calling hooks\n const handleRef = (element: HTMLElement | null) => {\n // Set the component's forwarded ref\n if (typeof ref === 'function') {\n ref(element as T | null);\n } else if (ref) {\n (ref as any).current = element;\n }\n // Set the tooltip ref if provided\n if (tooltipRef) {\n (tooltipRef as any).current = element;\n }\n };\n\n return (\n <ItemElement\n ref={handleRef}\n variant={\n theme && type\n ? (`${type === 'header' ? 'default' : theme}.${type === 'header' ? 'item' : type}` as ItemVariant)\n : undefined\n }\n disabled={finalIsDisabled}\n aria-disabled={finalIsDisabled}\n aria-selected={isSelected}\n mods={finalMods}\n styles={styles}\n tokens={sizeTokenValue ? { $size: sizeTokenValue } : undefined}\n type={htmlType as any}\n {...mergeProps(rest, tooltipTriggerProps || {})}\n style={style}\n >\n {hasIconSlot && (\n <div data-element=\"Icon\">\n <IconSwitch noWrapper contentKey={iconKey}>\n {hasCheckbox ? <CheckIcon /> : finalIcon}\n </IconSwitch>\n </div>\n )}\n {finalPrefix && <div data-element=\"Prefix\">{finalPrefix}</div>}\n {children || labelProps\n ? (() => {\n const LabelTag =\n type === 'header' || type === 'card'\n ? (`h${level}` as const)\n : 'div';\n return (\n <LabelTag\n data-element=\"Label\"\n {...finalLabelProps}\n ref={labelRef}\n >\n {processedChildren}\n </LabelTag>\n );\n })()\n : null}\n {showDescription ? (\n <div data-element=\"Description\" {...descriptionProps}>\n {description}\n </div>\n ) : null}\n {finalSuffix && <div data-element=\"Suffix\">{finalSuffix}</div>}\n {hasRightIconSlot && (\n <div data-element=\"RightIcon\">\n <IconSwitch noWrapper contentKey={rightIconKey}>\n {finalRightIcon}\n </IconSwitch>\n </div>\n )}\n {actions && (\n <div data-element=\"Actions\" {...ACTIONS_EVENT_HANDLERS}>\n {actions !== true ? (\n <ItemActionProvider\n type={type}\n theme={theme}\n disableActionsFocus={disableActionsFocus}\n isDisabled={finalIsDisabled}\n >\n {actions}\n </ItemActionProvider>\n ) : null}\n </div>\n )}\n </ItemElement>\n );\n };\n\n return renderWithTooltip(renderItemElement, defaultTooltipPlacement);\n};\n\nconst _Item = Object.assign(forwardRef(Item), {\n Action: ItemAction,\n Badge: ItemBadge,\n});\n\nexport { _Item as Item };\n\n/**\n * @deprecated Use `Item` instead. This export will be removed in a future version.\n */\nexport { _Item as ItemBase };\nexport type { CubeItemProps as CubeItemBaseProps };\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
 
2
- import { BaseProps } from "../../../tasty/types.js";
3
- import "../../../tasty/index.js";
4
2
  import { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
3
+ import { BaseProps } from "@tenphi/tasty";
5
4
  import * as react from "react";
6
5
  import { ComponentProps, ReactNode } from "react";
7
6
 
@@ -1,11 +1,11 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.118.0 | Cube Dev Team */
2
- import { tasty } from "../../../tasty/tasty.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.119.1 | Cube Dev Team */
3
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
4
3
  import { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
5
4
  import { DANGER_CLEAR_STYLES, DANGER_NEUTRAL_STYLES, DANGER_PRIMARY_STYLES, DANGER_SECONDARY_STYLES, DEFAULT_CLEAR_STYLES, DEFAULT_NEUTRAL_STYLES, DEFAULT_PRIMARY_STYLES, DEFAULT_SECONDARY_STYLES, ITEM_ACTION_BASE_STYLES, SPECIAL_CLEAR_STYLES, SPECIAL_NEUTRAL_STYLES, SPECIAL_PRIMARY_STYLES, SPECIAL_SECONDARY_STYLES, SUCCESS_CLEAR_STYLES, SUCCESS_NEUTRAL_STYLES, SUCCESS_PRIMARY_STYLES, SUCCESS_SECONDARY_STYLES } from "../../../data/item-themes.js";
6
5
  import { CheckIcon } from "../../../icons/CheckIcon.js";
7
6
  import { LoadingIcon } from "../../../icons/LoadingIcon.js";
8
7
  import { useItemActionContext } from "../../actions/ItemActionContext.js";
8
+ import { tasty } from "@tenphi/tasty";
9
9
  import { forwardRef, useMemo } from "react";
10
10
  import { jsx, jsxs } from "react/jsx-runtime";
11
11
 
@@ -1 +1 @@
1
- {"version":3,"file":"ItemBadge.js","names":[],"sources":["../../../../src/components/content/ItemBadge/ItemBadge.tsx"],"sourcesContent":["import {\n ComponentProps,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n RefObject,\n useMemo,\n} from 'react';\n\nimport {\n DANGER_CLEAR_STYLES,\n DANGER_NEUTRAL_STYLES,\n DANGER_PRIMARY_STYLES,\n DANGER_SECONDARY_STYLES,\n DEFAULT_CLEAR_STYLES,\n DEFAULT_NEUTRAL_STYLES,\n DEFAULT_PRIMARY_STYLES,\n DEFAULT_SECONDARY_STYLES,\n ITEM_ACTION_BASE_STYLES,\n SPECIAL_CLEAR_STYLES,\n SPECIAL_NEUTRAL_STYLES,\n SPECIAL_PRIMARY_STYLES,\n SPECIAL_SECONDARY_STYLES,\n SUCCESS_CLEAR_STYLES,\n SUCCESS_NEUTRAL_STYLES,\n SUCCESS_PRIMARY_STYLES,\n SUCCESS_SECONDARY_STYLES,\n} from '../../../data/item-themes';\nimport { CheckIcon } from '../../../icons/CheckIcon';\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { BaseProps, tasty } from '../../../tasty';\nimport { mergeProps } from '../../../utils/react';\nimport { useItemActionContext } from '../../actions/ItemActionContext';\nimport { TooltipProvider } from '../../overlays/Tooltip/TooltipProvider';\n\nexport interface CubeItemBadgeProps extends BaseProps {\n icon?: ReactNode | 'checkbox';\n children?: ReactNode;\n isLoading?: boolean;\n isSelected?: boolean;\n type?: 'primary' | 'secondary' | 'neutral' | 'clear' | (string & {});\n theme?: 'default' | 'danger' | 'success' | 'special' | (string & {});\n tooltip?:\n | string\n | (Omit<ComponentProps<typeof TooltipProvider>, 'children'> & {\n title?: string;\n });\n}\n\ntype ItemBadgeVariant =\n | 'default.primary'\n | 'default.secondary'\n | 'default.neutral'\n | 'default.clear'\n | 'danger.primary'\n | 'danger.secondary'\n | 'danger.neutral'\n | 'danger.clear'\n | 'success.primary'\n | 'success.secondary'\n | 'success.neutral'\n | 'success.clear'\n | 'special.primary'\n | 'special.secondary'\n | 'special.neutral'\n | 'special.clear';\n\nconst ItemBadgeElement = tasty({\n qa: 'ItemBadge',\n styles: {\n ...ITEM_ACTION_BASE_STYLES,\n cursor: 'default',\n },\n variants: {\n // Default theme\n 'default.primary': DEFAULT_PRIMARY_STYLES,\n 'default.secondary': DEFAULT_SECONDARY_STYLES,\n 'default.neutral': DEFAULT_NEUTRAL_STYLES,\n 'default.clear': DEFAULT_CLEAR_STYLES,\n\n // Danger theme\n 'danger.primary': DANGER_PRIMARY_STYLES,\n 'danger.secondary': DANGER_SECONDARY_STYLES,\n 'danger.neutral': DANGER_NEUTRAL_STYLES,\n 'danger.clear': DANGER_CLEAR_STYLES,\n\n // Success theme\n 'success.primary': SUCCESS_PRIMARY_STYLES,\n 'success.secondary': SUCCESS_SECONDARY_STYLES,\n 'success.neutral': SUCCESS_NEUTRAL_STYLES,\n 'success.clear': SUCCESS_CLEAR_STYLES,\n\n // Special theme\n 'special.primary': SPECIAL_PRIMARY_STYLES,\n 'special.secondary': SPECIAL_SECONDARY_STYLES,\n 'special.neutral': SPECIAL_NEUTRAL_STYLES,\n 'special.clear': SPECIAL_CLEAR_STYLES,\n },\n});\n\nexport const ItemBadge = forwardRef<HTMLDivElement, CubeItemBadgeProps>(\n function ItemBadge(allProps, ref) {\n const { type: contextType, theme: contextTheme } = useItemActionContext();\n\n const {\n type = contextType ?? 'neutral',\n theme = contextTheme ?? 'default',\n icon,\n children,\n isLoading = false,\n isSelected = false,\n tooltip,\n mods,\n ...rest\n } = allProps;\n\n // Determine if we should show checkbox\n const hasCheckbox = icon === 'checkbox';\n\n // Determine final icon (loading takes precedence)\n const finalIcon = isLoading ? (\n <LoadingIcon />\n ) : hasCheckbox ? (\n <CheckIcon />\n ) : (\n icon\n );\n\n // Build modifiers\n const finalMods = useMemo(\n () => ({\n checkbox: hasCheckbox,\n selected: isSelected,\n loading: isLoading,\n 'has-label': !!children,\n context: !!contextType,\n ...mods,\n }),\n [hasCheckbox, 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 // Determine if we should show tooltip (icon-only badges)\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 = useMemo(() => {\n return theme !== 'default' && type === 'neutral' ? 'clear' : type;\n }, [theme, type]);\n\n // Render function that accepts tooltip trigger props and ref\n const renderBadge = (\n tooltipTriggerProps?: HTMLAttributes<HTMLElement>,\n tooltipRef?: RefObject<HTMLElement>,\n ) => {\n // Merge tooltip ref with component ref if provided\n const handleRef = (element: HTMLDivElement | null) => {\n // Set the component ref\n if (typeof ref === 'function') {\n ref(element);\n } else if (ref) {\n (ref as any).current = element;\n }\n // Set the tooltip ref\n if (tooltipRef) {\n (tooltipRef as any).current = element;\n }\n };\n\n return (\n <ItemBadgeElement\n ref={handleRef}\n variant={`${theme}.${finalType}` as ItemBadgeVariant}\n data-theme={theme}\n data-type={finalType}\n aria-label={ariaLabel}\n mods={finalMods}\n {...mergeProps(rest, tooltipTriggerProps || {})}\n >\n {finalIcon && <div data-element=\"Icon\">{finalIcon}</div>}\n {children}\n </ItemBadgeElement>\n );\n };\n\n // Wrap with tooltip if needed\n if (showTooltip && tooltipContent) {\n return (\n <TooltipProvider title={tooltipContent} {...tooltipProps}>\n {(triggerProps, tooltipRef) => renderBadge(triggerProps, tooltipRef)}\n </TooltipProvider>\n );\n }\n\n return renderBadge();\n },\n);\n\nexport type { CubeItemBadgeProps as ItemBadgeProps };\n"],"mappings":";;;;;;;;;;;;AAmEA,MAAM,mBAAmB,MAAM;CAC7B,IAAI;CACJ,QAAQ;EACN,GAAG;EACH,QAAQ;EACT;CACD,UAAU;EAER,mBAAmB;EACnB,qBAAqB;EACrB,mBAAmB;EACnB,iBAAiB;EAGjB,kBAAkB;EAClB,oBAAoB;EACpB,kBAAkB;EAClB,gBAAgB;EAGhB,mBAAmB;EACnB,qBAAqB;EACrB,mBAAmB;EACnB,iBAAiB;EAGjB,mBAAmB;EACnB,qBAAqB;EACrB,mBAAmB;EACnB,iBAAiB;EAClB;CACF,CAAC;AAEF,MAAa,YAAY,WACvB,SAAS,UAAU,UAAU,KAAK;CAChC,MAAM,EAAE,MAAM,aAAa,OAAO,iBAAiB,sBAAsB;CAEzE,MAAM,EACJ,OAAO,eAAe,WACtB,QAAQ,gBAAgB,WACxB,MACA,UACA,YAAY,OACZ,aAAa,OACb,SACA,MACA,GAAG,SACD;CAGJ,MAAM,cAAc,SAAS;CAG7B,MAAM,YAAY,YAChB,oBAAC,gBAAc,GACb,cACF,oBAAC,cAAY,GAEb;CAIF,MAAM,YAAY,eACT;EACL,UAAU;EACV,UAAU;EACV,SAAS;EACT,aAAa,CAAC,CAAC;EACf,SAAS,CAAC,CAAC;EACX,GAAG;EACJ,GACD;EAAC;EAAa;EAAY;EAAW;EAAU;EAAa;EAAK,CAClE;CAGD,MAAM,YAAY,cAAc;AAC9B,MAAI,OAAO,YAAY,SACrB,QAAO;AAET,MAAI,OAAO,YAAY,YAAY,QAAQ,MACzC,QAAO,QAAQ;AAEjB,SAAO,KAAK;IACX,CAAC,SAAS,KAAK,CAAC;CAGnB,MAAM,cAAc,CAAC,YAAY;CAGjC,MAAM,iBAAiB,cAAc;AACnC,MAAI,OAAO,YAAY,SACrB,QAAO;AAET,MAAI,OAAO,YAAY,YAAY,QAAQ,MACzC,QAAO,QAAQ;IAGhB,CAAC,QAAQ,CAAC;CAEb,MAAM,eAAe,cAAc;AACjC,MAAI,OAAO,YAAY,UAAU;GAC/B,MAAM,EAAE,OAAO,GAAG,SAAS;AAC3B,UAAO;;AAET,SAAO,EAAE;IACR,CAAC,QAAQ,CAAC;CAEb,MAAM,YAAY,cAAc;AAC9B,SAAO,UAAU,aAAa,SAAS,YAAY,UAAU;IAC5D,CAAC,OAAO,KAAK,CAAC;CAGjB,MAAM,eACJ,qBACA,eACG;EAEH,MAAM,aAAa,YAAmC;AAEpD,OAAI,OAAO,QAAQ,WACjB,KAAI,QAAQ;YACH,IACT,CAAC,IAAY,UAAU;AAGzB,OAAI,WACF,CAAC,WAAmB,UAAU;;AAIlC,SACE,qBAAC;GACC,KAAK;GACL,SAAS,GAAG,MAAM,GAAG;GACrB,cAAY;GACZ,aAAW;GACX,cAAY;GACZ,MAAM;GACN,GAAI,WAAW,MAAM,uBAAuB,EAAE,CAAC;cAE9C,aAAa,oBAAC;IAAI,gBAAa;cAAQ;KAAgB,EACvD;IACgB;;AAKvB,KAAI,eAAe,eACjB,QACE,oBAAC;EAAgB,OAAO;EAAgB,GAAI;aACxC,cAAc,eAAe,YAAY,cAAc,WAAW;GACpD;AAItB,QAAO,aAAa;EAEvB"}
1
+ {"version":3,"file":"ItemBadge.js","names":[],"sources":["../../../../src/components/content/ItemBadge/ItemBadge.tsx"],"sourcesContent":["import { BaseProps, 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_NEUTRAL_STYLES,\n DANGER_PRIMARY_STYLES,\n DANGER_SECONDARY_STYLES,\n DEFAULT_CLEAR_STYLES,\n DEFAULT_NEUTRAL_STYLES,\n DEFAULT_PRIMARY_STYLES,\n DEFAULT_SECONDARY_STYLES,\n ITEM_ACTION_BASE_STYLES,\n SPECIAL_CLEAR_STYLES,\n SPECIAL_NEUTRAL_STYLES,\n SPECIAL_PRIMARY_STYLES,\n SPECIAL_SECONDARY_STYLES,\n SUCCESS_CLEAR_STYLES,\n SUCCESS_NEUTRAL_STYLES,\n SUCCESS_PRIMARY_STYLES,\n SUCCESS_SECONDARY_STYLES,\n} from '../../../data/item-themes';\nimport { CheckIcon } from '../../../icons/CheckIcon';\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport { mergeProps } from '../../../utils/react';\nimport { useItemActionContext } from '../../actions/ItemActionContext';\nimport { TooltipProvider } from '../../overlays/Tooltip/TooltipProvider';\n\nexport interface CubeItemBadgeProps extends BaseProps {\n icon?: ReactNode | 'checkbox';\n children?: ReactNode;\n isLoading?: boolean;\n isSelected?: boolean;\n type?: 'primary' | 'secondary' | 'neutral' | 'clear' | (string & {});\n theme?: 'default' | 'danger' | 'success' | 'special' | (string & {});\n tooltip?:\n | string\n | (Omit<ComponentProps<typeof TooltipProvider>, 'children'> & {\n title?: string;\n });\n}\n\ntype ItemBadgeVariant =\n | 'default.primary'\n | 'default.secondary'\n | 'default.neutral'\n | 'default.clear'\n | 'danger.primary'\n | 'danger.secondary'\n | 'danger.neutral'\n | 'danger.clear'\n | 'success.primary'\n | 'success.secondary'\n | 'success.neutral'\n | 'success.clear'\n | 'special.primary'\n | 'special.secondary'\n | 'special.neutral'\n | 'special.clear';\n\nconst ItemBadgeElement = tasty({\n qa: 'ItemBadge',\n styles: {\n ...ITEM_ACTION_BASE_STYLES,\n cursor: 'default',\n },\n variants: {\n // Default theme\n 'default.primary': DEFAULT_PRIMARY_STYLES,\n 'default.secondary': DEFAULT_SECONDARY_STYLES,\n 'default.neutral': DEFAULT_NEUTRAL_STYLES,\n 'default.clear': DEFAULT_CLEAR_STYLES,\n\n // Danger theme\n 'danger.primary': DANGER_PRIMARY_STYLES,\n 'danger.secondary': DANGER_SECONDARY_STYLES,\n 'danger.neutral': DANGER_NEUTRAL_STYLES,\n 'danger.clear': DANGER_CLEAR_STYLES,\n\n // Success theme\n 'success.primary': SUCCESS_PRIMARY_STYLES,\n 'success.secondary': SUCCESS_SECONDARY_STYLES,\n 'success.neutral': SUCCESS_NEUTRAL_STYLES,\n 'success.clear': SUCCESS_CLEAR_STYLES,\n\n // Special theme\n 'special.primary': SPECIAL_PRIMARY_STYLES,\n 'special.secondary': SPECIAL_SECONDARY_STYLES,\n 'special.neutral': SPECIAL_NEUTRAL_STYLES,\n 'special.clear': SPECIAL_CLEAR_STYLES,\n },\n});\n\nexport const ItemBadge = forwardRef<HTMLDivElement, CubeItemBadgeProps>(\n function ItemBadge(allProps, ref) {\n const { type: contextType, theme: contextTheme } = useItemActionContext();\n\n const {\n type = contextType ?? 'neutral',\n theme = contextTheme ?? 'default',\n icon,\n children,\n isLoading = false,\n isSelected = false,\n tooltip,\n mods,\n ...rest\n } = allProps;\n\n // Determine if we should show checkbox\n const hasCheckbox = icon === 'checkbox';\n\n // Determine final icon (loading takes precedence)\n const finalIcon = isLoading ? (\n <LoadingIcon />\n ) : hasCheckbox ? (\n <CheckIcon />\n ) : (\n icon\n );\n\n // Build modifiers\n const finalMods = useMemo(\n () => ({\n checkbox: hasCheckbox,\n selected: isSelected,\n loading: isLoading,\n 'has-label': !!children,\n context: !!contextType,\n ...mods,\n }),\n [hasCheckbox, 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 // Determine if we should show tooltip (icon-only badges)\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 = useMemo(() => {\n return theme !== 'default' && type === 'neutral' ? 'clear' : type;\n }, [theme, type]);\n\n // Render function that accepts tooltip trigger props and ref\n const renderBadge = (\n tooltipTriggerProps?: HTMLAttributes<HTMLElement>,\n tooltipRef?: RefObject<HTMLElement>,\n ) => {\n // Merge tooltip ref with component ref if provided\n const handleRef = (element: HTMLDivElement | null) => {\n // Set the component ref\n if (typeof ref === 'function') {\n ref(element);\n } else if (ref) {\n (ref as any).current = element;\n }\n // Set the tooltip ref\n if (tooltipRef) {\n (tooltipRef as any).current = element;\n }\n };\n\n return (\n <ItemBadgeElement\n ref={handleRef}\n variant={`${theme}.${finalType}` as ItemBadgeVariant}\n data-theme={theme}\n data-type={finalType}\n aria-label={ariaLabel}\n mods={finalMods}\n {...mergeProps(rest, tooltipTriggerProps || {})}\n >\n {finalIcon && <div data-element=\"Icon\">{finalIcon}</div>}\n {children}\n </ItemBadgeElement>\n );\n };\n\n // Wrap with tooltip if needed\n if (showTooltip && tooltipContent) {\n return (\n <TooltipProvider title={tooltipContent} {...tooltipProps}>\n {(triggerProps, tooltipRef) => renderBadge(triggerProps, tooltipRef)}\n </TooltipProvider>\n );\n }\n\n return renderBadge();\n },\n);\n\nexport type { CubeItemBadgeProps as ItemBadgeProps };\n"],"mappings":";;;;;;;;;;;;AAmEA,MAAM,mBAAmB,MAAM;CAC7B,IAAI;CACJ,QAAQ;EACN,GAAG;EACH,QAAQ;EACT;CACD,UAAU;EAER,mBAAmB;EACnB,qBAAqB;EACrB,mBAAmB;EACnB,iBAAiB;EAGjB,kBAAkB;EAClB,oBAAoB;EACpB,kBAAkB;EAClB,gBAAgB;EAGhB,mBAAmB;EACnB,qBAAqB;EACrB,mBAAmB;EACnB,iBAAiB;EAGjB,mBAAmB;EACnB,qBAAqB;EACrB,mBAAmB;EACnB,iBAAiB;EAClB;CACF,CAAC;AAEF,MAAa,YAAY,WACvB,SAAS,UAAU,UAAU,KAAK;CAChC,MAAM,EAAE,MAAM,aAAa,OAAO,iBAAiB,sBAAsB;CAEzE,MAAM,EACJ,OAAO,eAAe,WACtB,QAAQ,gBAAgB,WACxB,MACA,UACA,YAAY,OACZ,aAAa,OACb,SACA,MACA,GAAG,SACD;CAGJ,MAAM,cAAc,SAAS;CAG7B,MAAM,YAAY,YAChB,oBAAC,gBAAc,GACb,cACF,oBAAC,cAAY,GAEb;CAIF,MAAM,YAAY,eACT;EACL,UAAU;EACV,UAAU;EACV,SAAS;EACT,aAAa,CAAC,CAAC;EACf,SAAS,CAAC,CAAC;EACX,GAAG;EACJ,GACD;EAAC;EAAa;EAAY;EAAW;EAAU;EAAa;EAAK,CAClE;CAGD,MAAM,YAAY,cAAc;AAC9B,MAAI,OAAO,YAAY,SACrB,QAAO;AAET,MAAI,OAAO,YAAY,YAAY,QAAQ,MACzC,QAAO,QAAQ;AAEjB,SAAO,KAAK;IACX,CAAC,SAAS,KAAK,CAAC;CAGnB,MAAM,cAAc,CAAC,YAAY;CAGjC,MAAM,iBAAiB,cAAc;AACnC,MAAI,OAAO,YAAY,SACrB,QAAO;AAET,MAAI,OAAO,YAAY,YAAY,QAAQ,MACzC,QAAO,QAAQ;IAGhB,CAAC,QAAQ,CAAC;CAEb,MAAM,eAAe,cAAc;AACjC,MAAI,OAAO,YAAY,UAAU;GAC/B,MAAM,EAAE,OAAO,GAAG,SAAS;AAC3B,UAAO;;AAET,SAAO,EAAE;IACR,CAAC,QAAQ,CAAC;CAEb,MAAM,YAAY,cAAc;AAC9B,SAAO,UAAU,aAAa,SAAS,YAAY,UAAU;IAC5D,CAAC,OAAO,KAAK,CAAC;CAGjB,MAAM,eACJ,qBACA,eACG;EAEH,MAAM,aAAa,YAAmC;AAEpD,OAAI,OAAO,QAAQ,WACjB,KAAI,QAAQ;YACH,IACT,CAAC,IAAY,UAAU;AAGzB,OAAI,WACF,CAAC,WAAmB,UAAU;;AAIlC,SACE,qBAAC;GACC,KAAK;GACL,SAAS,GAAG,MAAM,GAAG;GACrB,cAAY;GACZ,aAAW;GACX,cAAY;GACZ,MAAM;GACN,GAAI,WAAW,MAAM,uBAAuB,EAAE,CAAC;cAE9C,aAAa,oBAAC;IAAI,gBAAa;cAAQ;KAAgB,EACvD;IACgB;;AAKvB,KAAI,eAAe,eACjB,QACE,oBAAC;EAAgB,OAAO;EAAgB,GAAI;aACxC,cAAc,eAAe,YAAY,cAAc,WAAW;GACpD;AAItB,QAAO,aAAa;EAEvB"}
@@ -1,6 +1,4 @@
1
1
 
2
- import { Styles } from "../../../tasty/styles/types.js";
3
- import "../../../tasty/index.js";
4
2
  import { CubeLayoutProps } from "./Layout.js";
5
3
  import { _LayoutContent } from "./LayoutContent.js";
6
4
  import { _LayoutBlock } from "./LayoutBlock.js";
@@ -12,6 +10,7 @@ import { _LayoutPane } from "./LayoutPane.js";
12
10
  import { _LayoutPanel } from "./LayoutPanel.js";
13
11
  import { _LayoutPanelHeader } from "./LayoutPanelHeader.js";
14
12
  import { _LayoutToolbar } from "./LayoutToolbar.js";
13
+ import { Styles } from "@tenphi/tasty";
15
14
  import { ForwardRefExoticComponent, ReactNode, RefAttributes } from "react";
16
15
 
17
16
  //#region src/components/content/Layout/GridLayout.d.ts
@@ -1,5 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.118.0 | Cube Dev Team */
2
- import { tasty } from "../../../tasty/tasty.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.119.1 | Cube Dev Team */
3
2
  import { _Layout } from "./Layout.js";
4
3
  import { _LayoutContent } from "./LayoutContent.js";
5
4
  import { _LayoutBlock } from "./LayoutBlock.js";
@@ -11,6 +10,7 @@ import { _LayoutPane } from "./LayoutPane.js";
11
10
  import { _LayoutPanel } from "./LayoutPanel.js";
12
11
  import { _LayoutPanelHeader } from "./LayoutPanelHeader.js";
13
12
  import { _LayoutToolbar } from "./LayoutToolbar.js";
13
+ import { tasty } from "@tenphi/tasty";
14
14
  import { forwardRef } from "react";
15
15
  import { jsx } from "react/jsx-runtime";
16
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"GridLayout.js","names":["Layout","LayoutToolbar","LayoutHeader","LayoutFooter","LayoutContent","LayoutBlock","LayoutFlex","LayoutGrid","LayoutPane","LayoutPanel","LayoutPanelHeader"],"sources":["../../../../src/components/content/Layout/GridLayout.tsx"],"sourcesContent":["import {\n ForwardedRef,\n forwardRef,\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes,\n} from 'react';\n\nimport { Styles, tasty } from '../../../tasty';\n\nimport { CubeLayoutProps, Layout } from './Layout';\nimport { LayoutBlock } from './LayoutBlock';\nimport { LayoutContent } from './LayoutContent';\nimport { LayoutFlex } from './LayoutFlex';\nimport { LayoutFooter } from './LayoutFooter';\nimport { LayoutGrid } from './LayoutGrid';\nimport { LayoutHeader } from './LayoutHeader';\nimport { LayoutPane } from './LayoutPane';\nimport { LayoutPanel } from './LayoutPanel';\nimport { LayoutPanelHeader } from './LayoutPanelHeader';\nimport { LayoutToolbar } from './LayoutToolbar';\n\nconst GridLayoutElement = tasty(Layout, {\n qa: 'GridLayout',\n styles: {\n Inner: {\n display: 'grid',\n },\n },\n});\n\nexport interface CubeGridLayoutProps extends CubeLayoutProps {\n /** Grid template columns */\n columns?: Styles['gridColumns'];\n /** Grid template rows */\n rows?: Styles['gridRows'];\n /** Grid template shorthand */\n template?: Styles['gridTemplate'];\n children?: ReactNode;\n}\n\nfunction GridLayoutBase(\n props: CubeGridLayoutProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { columns, rows, template, ...otherProps } = props;\n\n return (\n <GridLayoutElement\n ref={ref}\n isGrid\n gridColumns={columns}\n gridRows={rows}\n gridTemplate={template}\n {...otherProps}\n />\n );\n}\n\nconst _GridLayout = forwardRef(GridLayoutBase);\n\n_GridLayout.displayName = 'GridLayout';\n\n// Create the GridLayout with all sub-components aliased\ninterface GridLayoutComponent\n extends ForwardRefExoticComponent<\n CubeGridLayoutProps & RefAttributes<HTMLDivElement>\n > {\n Toolbar: typeof LayoutToolbar;\n Header: typeof LayoutHeader;\n Footer: typeof LayoutFooter;\n Content: typeof LayoutContent;\n Block: typeof LayoutBlock;\n Flex: typeof LayoutFlex;\n Grid: typeof LayoutGrid;\n Pane: typeof LayoutPane;\n Panel: typeof LayoutPanel;\n PanelHeader: typeof LayoutPanelHeader;\n}\n\nconst GridLayout = Object.assign(_GridLayout, {\n Toolbar: LayoutToolbar,\n Header: LayoutHeader,\n Footer: LayoutFooter,\n Content: LayoutContent,\n Block: LayoutBlock,\n Flex: LayoutFlex,\n Grid: LayoutGrid,\n Pane: LayoutPane,\n Panel: LayoutPanel,\n PanelHeader: LayoutPanelHeader,\n}) as GridLayoutComponent;\n\nexport { GridLayout };\n"],"mappings":";;;;;;;;;;;;;;;;;AAsBA,MAAM,oBAAoB,MAAMA,SAAQ;CACtC,IAAI;CACJ,QAAQ,EACN,OAAO,EACL,SAAS,QACV,EACF;CACF,CAAC;AAYF,SAAS,eACP,OACA,KACA;CACA,MAAM,EAAE,SAAS,MAAM,UAAU,GAAG,eAAe;AAEnD,QACE,oBAAC;EACM;EACL;EACA,aAAa;EACb,UAAU;EACV,cAAc;EACd,GAAI;GACJ;;AAIN,MAAM,cAAc,WAAW,eAAe;AAE9C,YAAY,cAAc;AAmB1B,MAAM,aAAa,OAAO,OAAO,aAAa;CAC5C,SAASC;CACT,QAAQC;CACR,QAAQC;CACR,SAASC;CACT,OAAOC;CACP,MAAMC;CACN,MAAMC;CACN,MAAMC;CACN,OAAOC;CACP,aAAaC;CACd,CAAC"}
1
+ {"version":3,"file":"GridLayout.js","names":["Layout","LayoutToolbar","LayoutHeader","LayoutFooter","LayoutContent","LayoutBlock","LayoutFlex","LayoutGrid","LayoutPane","LayoutPanel","LayoutPanelHeader"],"sources":["../../../../src/components/content/Layout/GridLayout.tsx"],"sourcesContent":["import { Styles, tasty } from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n ForwardRefExoticComponent,\n ReactNode,\n RefAttributes,\n} from 'react';\n\nimport { CubeLayoutProps, Layout } from './Layout';\nimport { LayoutBlock } from './LayoutBlock';\nimport { LayoutContent } from './LayoutContent';\nimport { LayoutFlex } from './LayoutFlex';\nimport { LayoutFooter } from './LayoutFooter';\nimport { LayoutGrid } from './LayoutGrid';\nimport { LayoutHeader } from './LayoutHeader';\nimport { LayoutPane } from './LayoutPane';\nimport { LayoutPanel } from './LayoutPanel';\nimport { LayoutPanelHeader } from './LayoutPanelHeader';\nimport { LayoutToolbar } from './LayoutToolbar';\n\nconst GridLayoutElement = tasty(Layout, {\n qa: 'GridLayout',\n styles: {\n Inner: {\n display: 'grid',\n },\n },\n});\n\nexport interface CubeGridLayoutProps extends CubeLayoutProps {\n /** Grid template columns */\n columns?: Styles['gridColumns'];\n /** Grid template rows */\n rows?: Styles['gridRows'];\n /** Grid template shorthand */\n template?: Styles['gridTemplate'];\n children?: ReactNode;\n}\n\nfunction GridLayoutBase(\n props: CubeGridLayoutProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { columns, rows, template, ...otherProps } = props;\n\n return (\n <GridLayoutElement\n ref={ref}\n isGrid\n gridColumns={columns}\n gridRows={rows}\n gridTemplate={template}\n {...otherProps}\n />\n );\n}\n\nconst _GridLayout = forwardRef(GridLayoutBase);\n\n_GridLayout.displayName = 'GridLayout';\n\n// Create the GridLayout with all sub-components aliased\ninterface GridLayoutComponent\n extends ForwardRefExoticComponent<\n CubeGridLayoutProps & RefAttributes<HTMLDivElement>\n > {\n Toolbar: typeof LayoutToolbar;\n Header: typeof LayoutHeader;\n Footer: typeof LayoutFooter;\n Content: typeof LayoutContent;\n Block: typeof LayoutBlock;\n Flex: typeof LayoutFlex;\n Grid: typeof LayoutGrid;\n Pane: typeof LayoutPane;\n Panel: typeof LayoutPanel;\n PanelHeader: typeof LayoutPanelHeader;\n}\n\nconst GridLayout = Object.assign(_GridLayout, {\n Toolbar: LayoutToolbar,\n Header: LayoutHeader,\n Footer: LayoutFooter,\n Content: LayoutContent,\n Block: LayoutBlock,\n Flex: LayoutFlex,\n Grid: LayoutGrid,\n Pane: LayoutPane,\n Panel: LayoutPanel,\n PanelHeader: LayoutPanelHeader,\n}) as GridLayoutComponent;\n\nexport { GridLayout };\n"],"mappings":";;;;;;;;;;;;;;;;;AAqBA,MAAM,oBAAoB,MAAMA,SAAQ;CACtC,IAAI;CACJ,QAAQ,EACN,OAAO,EACL,SAAS,QACV,EACF;CACF,CAAC;AAYF,SAAS,eACP,OACA,KACA;CACA,MAAM,EAAE,SAAS,MAAM,UAAU,GAAG,eAAe;AAEnD,QACE,oBAAC;EACM;EACL;EACA,aAAa;EACb,UAAU;EACV,cAAc;EACd,GAAI;GACJ;;AAIN,MAAM,cAAc,WAAW,eAAe;AAE9C,YAAY,cAAc;AAmB1B,MAAM,aAAa,OAAO,OAAO,aAAa;CAC5C,SAASC;CACT,QAAQC;CACR,QAAQC;CACR,SAASC;CACT,OAAOC;CACP,MAAMC;CACN,MAAMC;CACN,MAAMC;CACN,OAAOC;CACP,aAAaC;CACd,CAAC"}
@@ -1,7 +1,5 @@
1
1
 
2
- import { Styles } from "../../../tasty/styles/types.js";
3
- import { BaseProps, BlockStyleProps, ColorStyleProps, FlowStyleProps, OuterStyleProps } from "../../../tasty/types.js";
4
- import "../../../tasty/index.js";
2
+ import { BaseProps, BlockStyleProps, ColorStyleProps, FlowStyleProps, OuterStyleProps, Styles } from "@tenphi/tasty";
5
3
  import { ForwardedRef, HTMLAttributes, ReactNode } from "react";
6
4
 
7
5
  //#region src/components/content/Layout/Layout.d.ts
@@ -1,13 +1,9 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.118.0 | Cube Dev Team */
2
- import { extractStyles } from "../../../tasty/utils/styles.js";
3
- import { isDevEnv } from "../../../tasty/utils/is-dev-env.js";
4
- import { mergeStyles } from "../../../tasty/utils/merge-styles.js";
5
- import { INNER_STYLES, OUTER_STYLES } from "../../../tasty/styles/list.js";
6
- import { tasty } from "../../../tasty/tasty.js";
7
- import { filterBaseProps } from "../../../tasty/utils/filter-base-props.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.119.1 | Cube Dev Team */
8
2
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
9
3
  import { Alert } from "../Alert/Alert.js";
4
+ import { isDevEnv } from "../../../utils/is-dev-env.js";
10
5
  import { LayoutProvider, useLayoutActionsContext, useLayoutRefsContext, useLayoutStateContext } from "./LayoutContext.js";
6
+ import { INNER_STYLES, OUTER_STYLES, extractStyles, filterBaseProps, mergeStyles, tasty } from "@tenphi/tasty";
11
7
  import { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from "react";
12
8
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
13
9
  import { useResizeObserver } from "@react-aria/utils";
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.js","names":[],"sources":["../../../../src/components/content/Layout/Layout.tsx"],"sourcesContent":["import { useResizeObserver } from '@react-aria/utils';\nimport {\n CSSProperties,\n FocusEvent,\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport {\n BaseProps,\n BlockStyleProps,\n ColorStyleProps,\n extractStyles,\n filterBaseProps,\n FlowStyleProps,\n INNER_STYLES,\n mergeStyles,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '../../../tasty';\nimport { isDevEnv } from '../../../tasty/utils/is-dev-env';\nimport { useCombinedRefs } from '../../../utils/react';\nimport { Alert } from '../Alert';\n\nimport {\n LayoutProvider,\n useLayoutActionsContext,\n useLayoutRefsContext,\n useLayoutStateContext,\n} from './LayoutContext';\n\nconst LayoutElement = tasty({\n as: 'div',\n qa: 'Layout',\n styles: {\n position: 'relative',\n display: 'block',\n overflow: {\n '': 'visible',\n 'do-not-overflow': 'hidden',\n },\n flexGrow: 1,\n placeSelf: 'stretch',\n height: {\n '': 'auto',\n 'auto-height': 'fixed 100%',\n collapsed: '6x',\n },\n\n '$content-padding': '1x',\n // Auto-border size for sub-components (set when layout is vertical)\n '$layout-border-size': {\n '': '0',\n vertical: '1bw',\n },\n\n Inner: {\n // .base-class[data-hover] > [data-element=\"Inner\"] { ...}\n // Direct child selector required for nested layouts\n $: '>',\n container: 'layout / inline-size',\n position: 'absolute',\n inset: '$inset-top $inset-right $inset-bottom $inset-left',\n display: 'flex',\n flow: 'column',\n placeContent: 'stretch',\n placeItems: 'stretch',\n // Disable transition during panel resize for snappy feedback\n // Also disable transition when not ready to prevent initial animation\n // Only animate when has-transition is enabled (and not dragging/not-ready)\n transition: {\n '': 'none',\n 'has-transition': 'inset $transition ease-out',\n 'dragging | not-ready': 'none',\n },\n },\n },\n});\n\nexport interface CubeLayoutProps\n extends BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n ColorStyleProps,\n FlowStyleProps {\n /** Switch to grid display mode */\n isGrid?: boolean;\n /** Grid template columns (when isGrid=true) */\n columns?: Styles['gridColumns'];\n /** Grid template rows (when isGrid=true) */\n rows?: Styles['gridRows'];\n /** Grid template shorthand */\n template?: Styles['gridTemplate'];\n /** Padding for content areas (Layout.Content components). Default: '1x' */\n contentPadding?: Styles['padding'];\n /** Enable transition animation for Inner content when panels open/close */\n hasTransition?: boolean;\n /** Minimum size reserved for the content area between panels. Default: 320 */\n minContentSize?: number;\n /** Styles for wrapper and Inner sub-element */\n styles?: Styles;\n children?: ReactNode;\n /** Ref for the inner content element */\n innerRef?: ForwardedRef<HTMLDivElement>;\n /** Props to spread on the Inner sub-element */\n innerProps?: HTMLAttributes<HTMLDivElement>;\n /**\n * @internal Force show dev warning even in production (for storybook testing)\n */\n _forceShowDevWarning?: boolean;\n /**\n * When true, applies overflow: hidden to the root element.\n * By default, overflow is visible.\n */\n doNotOverflow?: boolean;\n}\n\nfunction LayoutInner(\n props: CubeLayoutProps & { forwardedRef?: ForwardedRef<HTMLDivElement> },\n) {\n const layoutActions = useLayoutActionsContext();\n const layoutState = useLayoutStateContext();\n const layoutRefs = useLayoutRefsContext();\n const localRef = useRef<HTMLDivElement>(null);\n const [isAutoHeight, setIsAutoHeight] = useState(false);\n const [isCollapsed, setIsCollapsed] = useState(false);\n\n const {\n isGrid,\n columns,\n rows,\n template,\n contentPadding,\n hasTransition = false,\n minContentSize,\n styles,\n children,\n style,\n forwardedRef,\n innerRef: innerRefProp,\n innerProps,\n _forceShowDevWarning,\n doNotOverflow,\n ...otherProps\n } = props;\n\n const combinedInnerRef = useCombinedRefs(innerRefProp);\n const updateContainerSize = layoutActions?.updateContainerSize;\n\n useResizeObserver({\n ref: localRef,\n onResize: useCallback(() => {\n if (localRef.current) {\n updateContainerSize?.(\n localRef.current.offsetWidth,\n localRef.current.offsetHeight,\n );\n }\n }, [updateContainerSize]),\n });\n\n // Extract outer wrapper styles and inner content styles\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n const innerStyles = extractStyles(otherProps, INNER_STYLES);\n\n // Calculate if the layout flow is vertical (for auto-border feature)\n // Default flow is 'column' (vertical), only horizontal when explicitly set to 'row'\n const isVertical = useMemo(() => {\n const flowFromProp = innerStyles?.flow;\n const flowFromStyles = (styles?.Inner as Record<string, unknown>)?.flow;\n const flowValue = flowFromProp ?? flowFromStyles;\n\n return typeof flowValue !== 'string' || !flowValue.startsWith('row');\n }, [innerStyles?.flow, styles?.Inner]);\n\n // Merge styles using the same pattern as LayoutPane\n const finalStyles = useMemo(() => {\n // Handle grid mode and grid properties\n const gridStyles: Styles = {};\n\n if (isGrid) {\n gridStyles.display = 'grid';\n }\n\n if (columns) {\n gridStyles.gridColumns = columns;\n }\n\n if (rows) {\n gridStyles.gridRows = rows;\n }\n\n if (template) {\n gridStyles.gridTemplate = template;\n }\n\n return mergeStyles(\n outerStyles,\n contentPadding != null ? { '$content-padding': contentPadding } : null,\n styles,\n { Inner: mergeStyles(innerStyles, gridStyles, styles?.Inner as Styles) },\n );\n }, [\n outerStyles,\n innerStyles,\n contentPadding,\n styles,\n isGrid,\n columns,\n rows,\n template,\n ]);\n\n // Calculate inset values from panel sizes\n const panelSizes = layoutState?.panelSizes ?? {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n };\n\n const isDragging = layoutState?.isDragging ?? false;\n const isReady = layoutState?.isReady ?? true;\n const markReady = layoutActions?.markReady;\n const dismissOverlayPanels = layoutActions?.dismissOverlayPanels;\n const hasOverlayPanels = layoutState?.hasOverlayPanels ?? false;\n\n // Mark layout as ready after first paint\n // Using useEffect + requestAnimationFrame ensures:\n // 1. Panels register in useLayoutEffect → correct insets before first paint\n // 2. First paint with not-ready=true (transition disabled)\n // 3. After paint completes → enables transitions for subsequent changes\n useEffect(() => {\n const frameId = requestAnimationFrame(() => {\n markReady?.();\n });\n\n return () => cancelAnimationFrame(frameId);\n }, [markReady]);\n\n // Auto-height detection: if layout collapses to 0 height after initialization,\n // automatically set height to 100% to prevent invisible layout\n useEffect(() => {\n if (isReady && localRef.current && localRef.current.offsetHeight === 0) {\n setIsAutoHeight(true);\n }\n }, [isReady]);\n\n // Second check: if still 0 height after auto-height was applied,\n // show collapsed state with warning\n useEffect(() => {\n if (isAutoHeight && localRef.current) {\n // Use requestAnimationFrame to check after styles have been applied\n const frameId = requestAnimationFrame(() => {\n if (localRef.current && localRef.current.offsetHeight === 0) {\n setIsCollapsed(true);\n }\n });\n\n return () => cancelAnimationFrame(frameId);\n }\n }, [isAutoHeight]);\n\n const insetStyle = useMemo(() => {\n const baseStyle: Record<string, string> = {\n '--inset-top': `${panelSizes.top}px`,\n '--inset-right': `${panelSizes.right}px`,\n '--inset-bottom': `${panelSizes.bottom}px`,\n '--inset-left': `${panelSizes.left}px`,\n };\n\n if (style) {\n return { ...baseStyle, ...style } as CSSProperties;\n }\n\n return baseStyle as CSSProperties;\n }, [panelSizes, style]);\n\n const mods = useMemo(\n () => ({\n dragging: isDragging,\n 'not-ready': !isReady,\n 'has-transition': hasTransition,\n 'auto-height': isAutoHeight && !isCollapsed,\n collapsed: isCollapsed,\n vertical: isVertical,\n 'do-not-overflow': doNotOverflow,\n }),\n [\n isDragging,\n isReady,\n hasTransition,\n isAutoHeight,\n isCollapsed,\n isVertical,\n doNotOverflow,\n ],\n );\n\n // Combine local ref with forwarded ref\n const setRefs = (element: HTMLDivElement | null) => {\n localRef.current = element;\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(element);\n } else if (forwardedRef) {\n forwardedRef.current = element;\n }\n };\n\n // Show dev warning when collapsed and in dev mode (or forced for stories)\n const showDevWarning = isCollapsed && (_forceShowDevWarning || isDevEnv());\n\n // Handle focus entering the Inner element - dismiss overlay panels\n const handleInnerFocus = useCallback(\n (e: FocusEvent<HTMLDivElement>) => {\n // Only dismiss if there are overlay panels\n if (!hasOverlayPanels) return;\n\n // Check if focus is coming from outside the Inner element\n const inner = e.currentTarget;\n const relatedTarget = e.relatedTarget as Node | null;\n\n // If relatedTarget is null or not inside the Inner element,\n // focus is entering from outside - dismiss overlay panels\n if (!relatedTarget || !inner.contains(relatedTarget)) {\n dismissOverlayPanels?.();\n }\n },\n [hasOverlayPanels, dismissOverlayPanels],\n );\n\n // Handle Escape key anywhere in the Layout - dismiss overlay panels\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if (hasOverlayPanels && e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n dismissOverlayPanels?.();\n }\n },\n [hasOverlayPanels, dismissOverlayPanels],\n );\n\n return (\n <LayoutElement\n ref={setRefs}\n {...filterBaseProps(otherProps, { eventProps: true })}\n mods={mods}\n styles={finalStyles}\n style={insetStyle}\n onKeyDown={hasOverlayPanels ? handleKeyDown : undefined}\n >\n {showDevWarning ? (\n <Alert theme=\"danger\">\n <b>UIKit:</b> <b>&lt;Layout/&gt;</b> has collapsed to <b>0</b> height.\n Ensure the parent container has a defined height or use the{' '}\n <b>height</b> prop on <b>&lt;Layout/&gt;</b>.\n </Alert>\n ) : (\n <>\n {/* All children go inside the Inner element - panels will portal themselves out */}\n <div\n ref={combinedInnerRef}\n data-element=\"Inner\"\n onFocus={handleInnerFocus}\n {...innerProps}\n >\n {children}\n </div>\n {/* Container for panels to portal into - rendered after Inner so panels paint on top via DOM order */}\n <div\n ref={layoutRefs?.setPanelContainer}\n data-element=\"PanelContainer\"\n />\n </>\n )}\n </LayoutElement>\n );\n}\n\n/**\n * Layout component provides a vertical flex layout with overflow-safe content.\n * Uses a two-element architecture (wrapper + content) to ensure content never overflows.\n */\nfunction Layout(props: CubeLayoutProps, ref: ForwardedRef<HTMLDivElement>) {\n const { hasTransition, minContentSize } = props;\n\n return (\n <LayoutProvider\n hasTransition={hasTransition}\n minContentSize={minContentSize}\n >\n <LayoutInner {...props} forwardedRef={ref} />\n </LayoutProvider>\n );\n}\n\nconst _Layout = forwardRef(Layout);\n\n_Layout.displayName = 'Layout';\n\nexport { _Layout as Layout };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Layout.js","names":[],"sources":["../../../../src/components/content/Layout/Layout.tsx"],"sourcesContent":["import { useResizeObserver } from '@react-aria/utils';\nimport {\n BaseProps,\n BlockStyleProps,\n ColorStyleProps,\n extractStyles,\n filterBaseProps,\n FlowStyleProps,\n INNER_STYLES,\n mergeStyles,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n CSSProperties,\n FocusEvent,\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { useCombinedRefs } from '../../../utils/react';\nimport { Alert } from '../Alert';\n\nimport {\n LayoutProvider,\n useLayoutActionsContext,\n useLayoutRefsContext,\n useLayoutStateContext,\n} from './LayoutContext';\n\nconst LayoutElement = tasty({\n as: 'div',\n qa: 'Layout',\n styles: {\n position: 'relative',\n display: 'block',\n overflow: {\n '': 'visible',\n 'do-not-overflow': 'hidden',\n },\n flexGrow: 1,\n placeSelf: 'stretch',\n height: {\n '': 'auto',\n 'auto-height': 'fixed 100%',\n collapsed: '6x',\n },\n\n '$content-padding': '1x',\n // Auto-border size for sub-components (set when layout is vertical)\n '$layout-border-size': {\n '': '0',\n vertical: '1bw',\n },\n\n Inner: {\n // .base-class[data-hover] > [data-element=\"Inner\"] { ...}\n // Direct child selector required for nested layouts\n $: '>',\n container: 'layout / inline-size',\n position: 'absolute',\n inset: '$inset-top $inset-right $inset-bottom $inset-left',\n display: 'flex',\n flow: 'column',\n placeContent: 'stretch',\n placeItems: 'stretch',\n // Disable transition during panel resize for snappy feedback\n // Also disable transition when not ready to prevent initial animation\n // Only animate when has-transition is enabled (and not dragging/not-ready)\n transition: {\n '': 'none',\n 'has-transition': 'inset $transition ease-out',\n 'dragging | not-ready': 'none',\n },\n },\n },\n});\n\nexport interface CubeLayoutProps\n extends BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n ColorStyleProps,\n FlowStyleProps {\n /** Switch to grid display mode */\n isGrid?: boolean;\n /** Grid template columns (when isGrid=true) */\n columns?: Styles['gridColumns'];\n /** Grid template rows (when isGrid=true) */\n rows?: Styles['gridRows'];\n /** Grid template shorthand */\n template?: Styles['gridTemplate'];\n /** Padding for content areas (Layout.Content components). Default: '1x' */\n contentPadding?: Styles['padding'];\n /** Enable transition animation for Inner content when panels open/close */\n hasTransition?: boolean;\n /** Minimum size reserved for the content area between panels. Default: 320 */\n minContentSize?: number;\n /** Styles for wrapper and Inner sub-element */\n styles?: Styles;\n children?: ReactNode;\n /** Ref for the inner content element */\n innerRef?: ForwardedRef<HTMLDivElement>;\n /** Props to spread on the Inner sub-element */\n innerProps?: HTMLAttributes<HTMLDivElement>;\n /**\n * @internal Force show dev warning even in production (for storybook testing)\n */\n _forceShowDevWarning?: boolean;\n /**\n * When true, applies overflow: hidden to the root element.\n * By default, overflow is visible.\n */\n doNotOverflow?: boolean;\n}\n\nfunction LayoutInner(\n props: CubeLayoutProps & { forwardedRef?: ForwardedRef<HTMLDivElement> },\n) {\n const layoutActions = useLayoutActionsContext();\n const layoutState = useLayoutStateContext();\n const layoutRefs = useLayoutRefsContext();\n const localRef = useRef<HTMLDivElement>(null);\n const [isAutoHeight, setIsAutoHeight] = useState(false);\n const [isCollapsed, setIsCollapsed] = useState(false);\n\n const {\n isGrid,\n columns,\n rows,\n template,\n contentPadding,\n hasTransition = false,\n minContentSize,\n styles,\n children,\n style,\n forwardedRef,\n innerRef: innerRefProp,\n innerProps,\n _forceShowDevWarning,\n doNotOverflow,\n ...otherProps\n } = props;\n\n const combinedInnerRef = useCombinedRefs(innerRefProp);\n const updateContainerSize = layoutActions?.updateContainerSize;\n\n useResizeObserver({\n ref: localRef,\n onResize: useCallback(() => {\n if (localRef.current) {\n updateContainerSize?.(\n localRef.current.offsetWidth,\n localRef.current.offsetHeight,\n );\n }\n }, [updateContainerSize]),\n });\n\n // Extract outer wrapper styles and inner content styles\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n const innerStyles = extractStyles(otherProps, INNER_STYLES);\n\n // Calculate if the layout flow is vertical (for auto-border feature)\n // Default flow is 'column' (vertical), only horizontal when explicitly set to 'row'\n const isVertical = useMemo(() => {\n const flowFromProp = innerStyles?.flow;\n const flowFromStyles = (styles?.Inner as Record<string, unknown>)?.flow;\n const flowValue = flowFromProp ?? flowFromStyles;\n\n return typeof flowValue !== 'string' || !flowValue.startsWith('row');\n }, [innerStyles?.flow, styles?.Inner]);\n\n // Merge styles using the same pattern as LayoutPane\n const finalStyles = useMemo(() => {\n // Handle grid mode and grid properties\n const gridStyles: Styles = {};\n\n if (isGrid) {\n gridStyles.display = 'grid';\n }\n\n if (columns) {\n gridStyles.gridColumns = columns;\n }\n\n if (rows) {\n gridStyles.gridRows = rows;\n }\n\n if (template) {\n gridStyles.gridTemplate = template;\n }\n\n return mergeStyles(\n outerStyles,\n contentPadding != null ? { '$content-padding': contentPadding } : null,\n styles,\n { Inner: mergeStyles(innerStyles, gridStyles, styles?.Inner as Styles) },\n );\n }, [\n outerStyles,\n innerStyles,\n contentPadding,\n styles,\n isGrid,\n columns,\n rows,\n template,\n ]);\n\n // Calculate inset values from panel sizes\n const panelSizes = layoutState?.panelSizes ?? {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n };\n\n const isDragging = layoutState?.isDragging ?? false;\n const isReady = layoutState?.isReady ?? true;\n const markReady = layoutActions?.markReady;\n const dismissOverlayPanels = layoutActions?.dismissOverlayPanels;\n const hasOverlayPanels = layoutState?.hasOverlayPanels ?? false;\n\n // Mark layout as ready after first paint\n // Using useEffect + requestAnimationFrame ensures:\n // 1. Panels register in useLayoutEffect → correct insets before first paint\n // 2. First paint with not-ready=true (transition disabled)\n // 3. After paint completes → enables transitions for subsequent changes\n useEffect(() => {\n const frameId = requestAnimationFrame(() => {\n markReady?.();\n });\n\n return () => cancelAnimationFrame(frameId);\n }, [markReady]);\n\n // Auto-height detection: if layout collapses to 0 height after initialization,\n // automatically set height to 100% to prevent invisible layout\n useEffect(() => {\n if (isReady && localRef.current && localRef.current.offsetHeight === 0) {\n setIsAutoHeight(true);\n }\n }, [isReady]);\n\n // Second check: if still 0 height after auto-height was applied,\n // show collapsed state with warning\n useEffect(() => {\n if (isAutoHeight && localRef.current) {\n // Use requestAnimationFrame to check after styles have been applied\n const frameId = requestAnimationFrame(() => {\n if (localRef.current && localRef.current.offsetHeight === 0) {\n setIsCollapsed(true);\n }\n });\n\n return () => cancelAnimationFrame(frameId);\n }\n }, [isAutoHeight]);\n\n const insetStyle = useMemo(() => {\n const baseStyle: Record<string, string> = {\n '--inset-top': `${panelSizes.top}px`,\n '--inset-right': `${panelSizes.right}px`,\n '--inset-bottom': `${panelSizes.bottom}px`,\n '--inset-left': `${panelSizes.left}px`,\n };\n\n if (style) {\n return { ...baseStyle, ...style } as CSSProperties;\n }\n\n return baseStyle as CSSProperties;\n }, [panelSizes, style]);\n\n const mods = useMemo(\n () => ({\n dragging: isDragging,\n 'not-ready': !isReady,\n 'has-transition': hasTransition,\n 'auto-height': isAutoHeight && !isCollapsed,\n collapsed: isCollapsed,\n vertical: isVertical,\n 'do-not-overflow': doNotOverflow,\n }),\n [\n isDragging,\n isReady,\n hasTransition,\n isAutoHeight,\n isCollapsed,\n isVertical,\n doNotOverflow,\n ],\n );\n\n // Combine local ref with forwarded ref\n const setRefs = (element: HTMLDivElement | null) => {\n localRef.current = element;\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(element);\n } else if (forwardedRef) {\n forwardedRef.current = element;\n }\n };\n\n // Show dev warning when collapsed and in dev mode (or forced for stories)\n const showDevWarning = isCollapsed && (_forceShowDevWarning || isDevEnv());\n\n // Handle focus entering the Inner element - dismiss overlay panels\n const handleInnerFocus = useCallback(\n (e: FocusEvent<HTMLDivElement>) => {\n // Only dismiss if there are overlay panels\n if (!hasOverlayPanels) return;\n\n // Check if focus is coming from outside the Inner element\n const inner = e.currentTarget;\n const relatedTarget = e.relatedTarget as Node | null;\n\n // If relatedTarget is null or not inside the Inner element,\n // focus is entering from outside - dismiss overlay panels\n if (!relatedTarget || !inner.contains(relatedTarget)) {\n dismissOverlayPanels?.();\n }\n },\n [hasOverlayPanels, dismissOverlayPanels],\n );\n\n // Handle Escape key anywhere in the Layout - dismiss overlay panels\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n if (hasOverlayPanels && e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n dismissOverlayPanels?.();\n }\n },\n [hasOverlayPanels, dismissOverlayPanels],\n );\n\n return (\n <LayoutElement\n ref={setRefs}\n {...filterBaseProps(otherProps, { eventProps: true })}\n mods={mods}\n styles={finalStyles}\n style={insetStyle}\n onKeyDown={hasOverlayPanels ? handleKeyDown : undefined}\n >\n {showDevWarning ? (\n <Alert theme=\"danger\">\n <b>UIKit:</b> <b>&lt;Layout/&gt;</b> has collapsed to <b>0</b> height.\n Ensure the parent container has a defined height or use the{' '}\n <b>height</b> prop on <b>&lt;Layout/&gt;</b>.\n </Alert>\n ) : (\n <>\n {/* All children go inside the Inner element - panels will portal themselves out */}\n <div\n ref={combinedInnerRef}\n data-element=\"Inner\"\n onFocus={handleInnerFocus}\n {...innerProps}\n >\n {children}\n </div>\n {/* Container for panels to portal into - rendered after Inner so panels paint on top via DOM order */}\n <div\n ref={layoutRefs?.setPanelContainer}\n data-element=\"PanelContainer\"\n />\n </>\n )}\n </LayoutElement>\n );\n}\n\n/**\n * Layout component provides a vertical flex layout with overflow-safe content.\n * Uses a two-element architecture (wrapper + content) to ensure content never overflows.\n */\nfunction Layout(props: CubeLayoutProps, ref: ForwardedRef<HTMLDivElement>) {\n const { hasTransition, minContentSize } = props;\n\n return (\n <LayoutProvider\n hasTransition={hasTransition}\n minContentSize={minContentSize}\n >\n <LayoutInner {...props} forwardedRef={ref} />\n </LayoutProvider>\n );\n}\n\nconst _Layout = forwardRef(Layout);\n\n_Layout.displayName = 'Layout';\n\nexport { _Layout as Layout };\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.118.0 | Cube Dev Team */
2
- import { tasty } from "../../../tasty/tasty.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.119.1 | Cube Dev Team */
3
2
  import { _LayoutContent } from "./LayoutContent.js";
3
+ import { tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutBlock.js","names":["LayoutContent"],"sources":["../../../../src/components/content/Layout/LayoutBlock.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef } from 'react';\n\nimport { tasty } from '../../../tasty';\n\nimport { CubeLayoutContentProps, LayoutContent } from './LayoutContent';\n\nconst BlockElement = tasty(LayoutContent, {\n qa: 'LayoutBlock',\n styles: {\n container: 'none',\n flexShrink: 0,\n flexGrow: 0,\n\n Inner: {\n display: 'block',\n },\n },\n});\n\nexport interface CubeLayoutBlockProps extends CubeLayoutContentProps {}\n\nfunction LayoutBlock(\n props: CubeLayoutBlockProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { children, scrollbar = 'tiny', ...otherProps } = props;\n\n return (\n <BlockElement {...otherProps} ref={ref} scrollbar={scrollbar}>\n {children}\n </BlockElement>\n );\n}\n\nconst _LayoutBlock = forwardRef(LayoutBlock);\n\n_LayoutBlock.displayName = 'Layout.Block';\n\nexport { _LayoutBlock as LayoutBlock };\n"],"mappings":";;;;;;;AAMA,MAAM,eAAe,MAAMA,gBAAe;CACxC,IAAI;CACJ,QAAQ;EACN,WAAW;EACX,YAAY;EACZ,UAAU;EAEV,OAAO,EACL,SAAS,SACV;EACF;CACF,CAAC;AAIF,SAAS,YACP,OACA,KACA;CACA,MAAM,EAAE,UAAU,YAAY,QAAQ,GAAG,eAAe;AAExD,QACE,oBAAC;EAAa,GAAI;EAAiB;EAAgB;EAChD;GACY;;AAInB,MAAM,eAAe,WAAW,YAAY;AAE5C,aAAa,cAAc"}
1
+ {"version":3,"file":"LayoutBlock.js","names":["LayoutContent"],"sources":["../../../../src/components/content/Layout/LayoutBlock.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef } from 'react';\n\nimport { CubeLayoutContentProps, LayoutContent } from './LayoutContent';\n\nconst BlockElement = tasty(LayoutContent, {\n qa: 'LayoutBlock',\n styles: {\n container: 'none',\n flexShrink: 0,\n flexGrow: 0,\n\n Inner: {\n display: 'block',\n },\n },\n});\n\nexport interface CubeLayoutBlockProps extends CubeLayoutContentProps {}\n\nfunction LayoutBlock(\n props: CubeLayoutBlockProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { children, scrollbar = 'tiny', ...otherProps } = props;\n\n return (\n <BlockElement {...otherProps} ref={ref} scrollbar={scrollbar}>\n {children}\n </BlockElement>\n );\n}\n\nconst _LayoutBlock = forwardRef(LayoutBlock);\n\n_LayoutBlock.displayName = 'Layout.Block';\n\nexport { _LayoutBlock as LayoutBlock };\n"],"mappings":";;;;;;;AAKA,MAAM,eAAe,MAAMA,gBAAe;CACxC,IAAI;CACJ,QAAQ;EACN,WAAW;EACX,YAAY;EACZ,UAAU;EAEV,OAAO,EACL,SAAS,SACV;EACF;CACF,CAAC;AAIF,SAAS,YACP,OACA,KACA;CACA,MAAM,EAAE,UAAU,YAAY,QAAQ,GAAG,eAAe;AAExD,QACE,oBAAC;EAAa,GAAI;EAAiB;EAAgB;EAChD;GACY;;AAInB,MAAM,eAAe,WAAW,YAAY;AAE5C,aAAa,cAAc"}
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.118.0 | Cube Dev Team */
2
- import { tasty } from "../../../tasty/tasty.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.119.1 | Cube Dev Team */
3
2
  import { _LayoutContainer } from "./LayoutContainer.js";
3
+ import { tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutCenter.js","names":["LayoutContainer"],"sources":["../../../../src/components/content/Layout/LayoutCenter.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef } from 'react';\n\nimport { tasty } from '../../../tasty';\n\nimport { CubeLayoutContainerProps, LayoutContainer } from './LayoutContainer';\n\nconst CenterElement = tasty(LayoutContainer, {\n qa: 'LayoutCenter',\n styles: {\n placeItems: 'stretch',\n placeContent: 'stretch',\n\n Inner: {\n textAlign: 'center',\n placeItems: 'center',\n placeContent: 'center',\n },\n },\n});\n\nexport interface CubeLayoutCenterProps extends CubeLayoutContainerProps {}\n\nfunction LayoutCenter(\n props: CubeLayoutCenterProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { children, ...otherProps } = props;\n\n return (\n <CenterElement {...otherProps} ref={ref}>\n {children}\n </CenterElement>\n );\n}\n\nconst _LayoutCenter = forwardRef(LayoutCenter);\n\n_LayoutCenter.displayName = 'Layout.Center';\n\nexport { _LayoutCenter as LayoutCenter };\n"],"mappings":";;;;;;;AAMA,MAAM,gBAAgB,MAAMA,kBAAiB;CAC3C,IAAI;CACJ,QAAQ;EACN,YAAY;EACZ,cAAc;EAEd,OAAO;GACL,WAAW;GACX,YAAY;GACZ,cAAc;GACf;EACF;CACF,CAAC;AAIF,SAAS,aACP,OACA,KACA;CACA,MAAM,EAAE,UAAU,GAAG,eAAe;AAEpC,QACE,oBAAC;EAAc,GAAI;EAAiB;EACjC;GACa;;AAIpB,MAAM,gBAAgB,WAAW,aAAa;AAE9C,cAAc,cAAc"}
1
+ {"version":3,"file":"LayoutCenter.js","names":["LayoutContainer"],"sources":["../../../../src/components/content/Layout/LayoutCenter.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef } from 'react';\n\nimport { CubeLayoutContainerProps, LayoutContainer } from './LayoutContainer';\n\nconst CenterElement = tasty(LayoutContainer, {\n qa: 'LayoutCenter',\n styles: {\n placeItems: 'stretch',\n placeContent: 'stretch',\n\n Inner: {\n textAlign: 'center',\n placeItems: 'center',\n placeContent: 'center',\n },\n },\n});\n\nexport interface CubeLayoutCenterProps extends CubeLayoutContainerProps {}\n\nfunction LayoutCenter(\n props: CubeLayoutCenterProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { children, ...otherProps } = props;\n\n return (\n <CenterElement {...otherProps} ref={ref}>\n {children}\n </CenterElement>\n );\n}\n\nconst _LayoutCenter = forwardRef(LayoutCenter);\n\n_LayoutCenter.displayName = 'Layout.Center';\n\nexport { _LayoutCenter as LayoutCenter };\n"],"mappings":";;;;;;;AAKA,MAAM,gBAAgB,MAAMA,kBAAiB;CAC3C,IAAI;CACJ,QAAQ;EACN,YAAY;EACZ,cAAc;EAEd,OAAO;GACL,WAAW;GACX,YAAY;GACZ,cAAc;GACf;EACF;CACF,CAAC;AAIF,SAAS,aACP,OACA,KACA;CACA,MAAM,EAAE,UAAU,GAAG,eAAe;AAEpC,QACE,oBAAC;EAAc,GAAI;EAAiB;EACjC;GACa;;AAIpB,MAAM,gBAAgB,WAAW,aAAa;AAE9C,cAAc,cAAc"}
@@ -1,7 +1,5 @@
1
1
 
2
- import { Styles } from "../../../tasty/styles/types.js";
3
- import { BaseProps, ContainerStyleProps } from "../../../tasty/types.js";
4
- import "../../../tasty/index.js";
2
+ import { BaseProps, ContainerStyleProps, Styles } from "@tenphi/tasty";
5
3
  import * as react from "react";
6
4
  import { ForwardedRef, HTMLAttributes, ReactNode } from "react";
7
5
 
@@ -1,11 +1,7 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.118.0 | Cube Dev Team */
2
- import { extractStyles } from "../../../tasty/utils/styles.js";
3
- import { mergeStyles } from "../../../tasty/utils/merge-styles.js";
4
- import { CONTAINER_STYLES } from "../../../tasty/styles/list.js";
5
- import { tasty } from "../../../tasty/tasty.js";
6
- import { filterBaseProps } from "../../../tasty/utils/filter-base-props.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.119.1 | Cube Dev Team */
7
2
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
8
3
  import { LayoutContextReset } from "./LayoutContext.js";
4
+ import { CONTAINER_STYLES, extractStyles, filterBaseProps, mergeStyles, tasty } from "@tenphi/tasty";
9
5
  import { forwardRef, useMemo } from "react";
10
6
  import { jsx } from "react/jsx-runtime";
11
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutContainer.js","names":[],"sources":["../../../../src/components/content/Layout/LayoutContainer.tsx"],"sourcesContent":["import {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n useMemo,\n} from 'react';\n\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n extractStyles,\n filterBaseProps,\n mergeStyles,\n Styles,\n tasty,\n} from '../../../tasty';\nimport { useCombinedRefs } from '../../../utils/react';\n\nimport { LayoutContextReset } from './LayoutContext';\n\nconst ContainerElement = tasty({\n as: 'div',\n qa: 'LayoutContainer',\n styles: {\n display: 'flex',\n flow: 'column',\n flexGrow: 1,\n flexShrink: 1,\n placeItems: 'center start',\n placeContent: 'stretch',\n overflow: 'auto',\n scrollbar: 'thin',\n padding: '$content-padding',\n placeSelf: 'stretch',\n border: {\n '': 0,\n '!:last-child': '($layout-border-size, 1bw) solid #border bottom',\n },\n\n Inner: {\n $: '>',\n placeSelf: 'center',\n display: 'flex',\n flow: 'column',\n boxSizing: 'border-box',\n width: '40x 100% 120x',\n flexGrow: 1,\n\n '$layout-border-size': '0',\n },\n },\n});\n\nexport interface CubeLayoutContainerProps\n extends BaseProps,\n ContainerStyleProps {\n children?: ReactNode;\n /** Custom styles for container and inner elements */\n styles?: Styles;\n /** Custom styles for the inner element */\n innerStyles?: Styles;\n /** Ref for the inner content element */\n innerRef?: ForwardedRef<HTMLDivElement>;\n /** Props to spread on the Inner sub-element */\n innerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\nfunction LayoutContainer(\n props: CubeLayoutContainerProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n styles,\n innerStyles: innerStylesProp,\n innerRef: innerRefProp,\n innerProps,\n ...otherProps\n } = props;\n const innerStyles = extractStyles(\n otherProps,\n CONTAINER_STYLES,\n innerStylesProp,\n );\n\n const hasInnerStyles = Object.keys(innerStyles).length > 0;\n\n const finalStyles = useMemo(() => {\n return mergeStyles(styles, hasInnerStyles ? { Inner: innerStyles } : null);\n }, [styles, hasInnerStyles, innerStyles]);\n\n const combinedInnerRef = useCombinedRefs(innerRefProp);\n\n return (\n <ContainerElement\n ref={ref}\n {...filterBaseProps(otherProps, { eventProps: true })}\n styles={finalStyles}\n >\n <div ref={combinedInnerRef} data-element=\"Inner\" {...innerProps}>\n <LayoutContextReset>{children}</LayoutContextReset>\n </div>\n </ContainerElement>\n );\n}\n\nconst _LayoutContainer = forwardRef(LayoutContainer);\n\n_LayoutContainer.displayName = 'Layout.Container';\n\nexport { _LayoutContainer as LayoutContainer };\n"],"mappings":";;;;;;;;;;;;AAsBA,MAAM,mBAAmB,MAAM;CAC7B,IAAI;CACJ,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,cAAc;EACd,UAAU;EACV,WAAW;EACX,SAAS;EACT,WAAW;EACX,QAAQ;GACN,IAAI;GACJ,gBAAgB;GACjB;EAED,OAAO;GACL,GAAG;GACH,WAAW;GACX,SAAS;GACT,MAAM;GACN,WAAW;GACX,OAAO;GACP,UAAU;GAEV,uBAAuB;GACxB;EACF;CACF,CAAC;AAgBF,SAAS,gBACP,OACA,KACA;CACA,MAAM,EACJ,UACA,QACA,aAAa,iBACb,UAAU,cACV,YACA,GAAG,eACD;CACJ,MAAM,cAAc,cAClB,YACA,kBACA,gBACD;CAED,MAAM,iBAAiB,OAAO,KAAK,YAAY,CAAC,SAAS;CAEzD,MAAM,cAAc,cAAc;AAChC,SAAO,YAAY,QAAQ,iBAAiB,EAAE,OAAO,aAAa,GAAG,KAAK;IACzE;EAAC;EAAQ;EAAgB;EAAY,CAAC;CAEzC,MAAM,mBAAmB,gBAAgB,aAAa;AAEtD,QACE,oBAAC;EACM;EACL,GAAI,gBAAgB,YAAY,EAAE,YAAY,MAAM,CAAC;EACrD,QAAQ;YAER,oBAAC;GAAI,KAAK;GAAkB,gBAAa;GAAQ,GAAI;aACnD,oBAAC,sBAAoB,WAA8B;IAC/C;GACW;;AAIvB,MAAM,mBAAmB,WAAW,gBAAgB;AAEpD,iBAAiB,cAAc"}
1
+ {"version":3,"file":"LayoutContainer.js","names":[],"sources":["../../../../src/components/content/Layout/LayoutContainer.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n extractStyles,\n filterBaseProps,\n mergeStyles,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n useMemo,\n} from 'react';\n\nimport { useCombinedRefs } from '../../../utils/react';\n\nimport { LayoutContextReset } from './LayoutContext';\n\nconst ContainerElement = tasty({\n as: 'div',\n qa: 'LayoutContainer',\n styles: {\n display: 'flex',\n flow: 'column',\n flexGrow: 1,\n flexShrink: 1,\n placeItems: 'center start',\n placeContent: 'stretch',\n overflow: 'auto',\n scrollbar: 'thin',\n padding: '$content-padding',\n placeSelf: 'stretch',\n border: {\n '': 0,\n '!:last-child': '($layout-border-size, 1bw) solid #border bottom',\n },\n\n Inner: {\n $: '>',\n placeSelf: 'center',\n display: 'flex',\n flow: 'column',\n boxSizing: 'border-box',\n width: '40x 100% 120x',\n flexGrow: 1,\n\n '$layout-border-size': '0',\n },\n },\n});\n\nexport interface CubeLayoutContainerProps\n extends BaseProps,\n ContainerStyleProps {\n children?: ReactNode;\n /** Custom styles for container and inner elements */\n styles?: Styles;\n /** Custom styles for the inner element */\n innerStyles?: Styles;\n /** Ref for the inner content element */\n innerRef?: ForwardedRef<HTMLDivElement>;\n /** Props to spread on the Inner sub-element */\n innerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\nfunction LayoutContainer(\n props: CubeLayoutContainerProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n styles,\n innerStyles: innerStylesProp,\n innerRef: innerRefProp,\n innerProps,\n ...otherProps\n } = props;\n const innerStyles = extractStyles(\n otherProps,\n CONTAINER_STYLES,\n innerStylesProp,\n );\n\n const hasInnerStyles = Object.keys(innerStyles).length > 0;\n\n const finalStyles = useMemo(() => {\n return mergeStyles(styles, hasInnerStyles ? { Inner: innerStyles } : null);\n }, [styles, hasInnerStyles, innerStyles]);\n\n const combinedInnerRef = useCombinedRefs(innerRefProp);\n\n return (\n <ContainerElement\n ref={ref}\n {...filterBaseProps(otherProps, { eventProps: true })}\n styles={finalStyles}\n >\n <div ref={combinedInnerRef} data-element=\"Inner\" {...innerProps}>\n <LayoutContextReset>{children}</LayoutContextReset>\n </div>\n </ContainerElement>\n );\n}\n\nconst _LayoutContainer = forwardRef(LayoutContainer);\n\n_LayoutContainer.displayName = 'Layout.Container';\n\nexport { _LayoutContainer as LayoutContainer };\n"],"mappings":";;;;;;;;AAsBA,MAAM,mBAAmB,MAAM;CAC7B,IAAI;CACJ,IAAI;CACJ,QAAQ;EACN,SAAS;EACT,MAAM;EACN,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,cAAc;EACd,UAAU;EACV,WAAW;EACX,SAAS;EACT,WAAW;EACX,QAAQ;GACN,IAAI;GACJ,gBAAgB;GACjB;EAED,OAAO;GACL,GAAG;GACH,WAAW;GACX,SAAS;GACT,MAAM;GACN,WAAW;GACX,OAAO;GACP,UAAU;GAEV,uBAAuB;GACxB;EACF;CACF,CAAC;AAgBF,SAAS,gBACP,OACA,KACA;CACA,MAAM,EACJ,UACA,QACA,aAAa,iBACb,UAAU,cACV,YACA,GAAG,eACD;CACJ,MAAM,cAAc,cAClB,YACA,kBACA,gBACD;CAED,MAAM,iBAAiB,OAAO,KAAK,YAAY,CAAC,SAAS;CAEzD,MAAM,cAAc,cAAc;AAChC,SAAO,YAAY,QAAQ,iBAAiB,EAAE,OAAO,aAAa,GAAG,KAAK;IACzE;EAAC;EAAQ;EAAgB;EAAY,CAAC;CAEzC,MAAM,mBAAmB,gBAAgB,aAAa;AAEtD,QACE,oBAAC;EACM;EACL,GAAI,gBAAgB,YAAY,EAAE,YAAY,MAAM,CAAC;EACrD,QAAQ;YAER,oBAAC;GAAI,KAAK;GAAkB,gBAAa;GAAQ,GAAI;aACnD,oBAAC,sBAAoB,WAA8B;IAC/C;GACW;;AAIvB,MAAM,mBAAmB,WAAW,gBAAgB;AAEpD,iBAAiB,cAAc"}
@@ -1,6 +1,5 @@
1
1
 
2
- import { BaseProps, ContainerStyleProps, Mods } from "../../../tasty/types.js";
3
- import "../../../tasty/index.js";
2
+ import { BaseProps, ContainerStyleProps, Mods } from "@tenphi/tasty";
4
3
  import * as react from "react";
5
4
  import { ForwardedRef, HTMLAttributes, ReactNode } from "react";
6
5
 
@@ -1,12 +1,8 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.118.0 | Cube Dev Team */
2
- import { extractStyles } from "../../../tasty/utils/styles.js";
3
- import { mergeStyles } from "../../../tasty/utils/merge-styles.js";
4
- import { INNER_STYLES, OUTER_STYLES } from "../../../tasty/styles/list.js";
5
- import { tasty } from "../../../tasty/tasty.js";
6
- import { filterBaseProps } from "../../../tasty/utils/filter-base-props.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.119.1 | Cube Dev Team */
7
2
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
8
3
  import { LayoutContextReset } from "./LayoutContext.js";
9
4
  import { useTinyScrollbar } from "./hooks/useTinyScrollbar.js";
5
+ import { INNER_STYLES, OUTER_STYLES, extractStyles, filterBaseProps, mergeStyles, tasty } from "@tenphi/tasty";
10
6
  import { forwardRef, useMemo, useRef } from "react";
11
7
  import { jsx, jsxs } from "react/jsx-runtime";
12
8
  import { useHover } from "react-aria";