@cube-dev/ui-kit 0.0.0-canary-2e3259a → 0.0.0-canary-925e8d4

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 (583) hide show
  1. package/dist/CHANGELOG.md +20 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.js +1 -1
  19. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  23. package/dist/components/actions/CommandMenu/styled.js +1 -1
  24. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  25. package/dist/components/actions/ItemActionContext.js +1 -1
  26. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  27. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  28. package/dist/components/actions/Link/Link.js +1 -1
  29. package/dist/components/actions/Menu/Menu.js +1 -1
  30. package/dist/components/actions/Menu/MenuItem.js +1 -1
  31. package/dist/components/actions/Menu/MenuSection.js +1 -1
  32. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  35. package/dist/components/actions/Menu/context.js +1 -1
  36. package/dist/components/actions/Menu/styled.js +1 -1
  37. package/dist/components/actions/actions-run.js +1 -1
  38. package/dist/components/actions/index.js +1 -1
  39. package/dist/components/actions/use-action.js +1 -1
  40. package/dist/components/actions/use-anchored-menu.js +1 -1
  41. package/dist/components/actions/use-context-menu.js +1 -1
  42. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  43. package/dist/components/content/Alert/Alert.js +1 -1
  44. package/dist/components/content/Alert/use-alert.js +1 -1
  45. package/dist/components/content/Avatar/Avatar.js +1 -1
  46. package/dist/components/content/Badge/Badge.js +1 -1
  47. package/dist/components/content/Card/Card.js +1 -1
  48. package/dist/components/content/Content.js +1 -1
  49. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  50. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  51. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  52. package/dist/components/content/Divider.js +1 -1
  53. package/dist/components/content/Footer.js +1 -1
  54. package/dist/components/content/Header.js +1 -1
  55. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  56. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  57. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  58. package/dist/components/content/Item/Item.js +10 -3
  59. package/dist/components/content/Item/Item.js.map +1 -1
  60. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  61. package/dist/components/content/ItemCard/ItemCard.js +34 -12
  62. package/dist/components/content/ItemCard/ItemCard.js.map +1 -1
  63. package/dist/components/content/Layout/GridLayout.js +1 -1
  64. package/dist/components/content/Layout/Layout.js +1 -1
  65. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  66. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  67. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  68. package/dist/components/content/Layout/LayoutContent.js +1 -1
  69. package/dist/components/content/Layout/LayoutContext.js +1 -1
  70. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  71. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  72. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  73. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  74. package/dist/components/content/Layout/LayoutPane.js +1 -1
  75. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  76. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  77. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  78. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  79. package/dist/components/content/Layout/index.js +1 -1
  80. package/dist/components/content/Layout/utils.js +1 -1
  81. package/dist/components/content/Paragraph.js +1 -1
  82. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  83. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  84. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  85. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  86. package/dist/components/content/Result/Result.js +1 -1
  87. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  88. package/dist/components/content/Tag/Tag.js +1 -1
  89. package/dist/components/content/Text.js +1 -1
  90. package/dist/components/content/TextItem/TextItem.js +1 -1
  91. package/dist/components/content/Title.js +1 -1
  92. package/dist/components/content/Tree/Tree.js +1 -1
  93. package/dist/components/content/Tree/TreeNode.js +1 -1
  94. package/dist/components/content/Tree/styled.js +1 -1
  95. package/dist/components/content/Tree/tree-index.js +1 -1
  96. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  97. package/dist/components/content/Tree/use-load-data.js +1 -1
  98. package/dist/components/content/highlightText.js +1 -1
  99. package/dist/components/content/use-auto-tooltip.js +1 -1
  100. package/dist/components/data/DataTable/DataTable.js +1 -1
  101. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  102. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  103. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  104. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  105. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  106. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  107. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  108. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  109. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  110. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  111. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  112. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  113. package/dist/components/data/TableBase/RowCollection.js +1 -1
  114. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  115. package/dist/components/data/TableBase/TableRow.js +1 -1
  116. package/dist/components/data/TableBase/TableView.js +1 -1
  117. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  118. package/dist/components/data/TableBase/column-header.js +1 -1
  119. package/dist/components/data/TableBase/column-menu.js +1 -1
  120. package/dist/components/data/TableBase/column-styles.js +1 -1
  121. package/dist/components/data/TableBase/column-tint.js +1 -1
  122. package/dist/components/data/TableBase/row-menu.js +1 -1
  123. package/dist/components/data/TableBase/styled.js +1 -1
  124. package/dist/components/data/TableBase/table-tree.js +1 -1
  125. package/dist/components/data/TableBase/types.js +1 -1
  126. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  127. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  128. package/dist/components/data/TableBase/use-column-order.js +1 -1
  129. package/dist/components/data/TableBase/use-container-width.js +1 -1
  130. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  131. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  132. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  133. package/dist/components/data/TableBase/use-table-search.js +1 -1
  134. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  135. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  136. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  137. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  138. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  139. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  140. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  141. package/dist/components/fields/Checkbox/context.js +1 -1
  142. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  143. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  144. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  145. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  146. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  147. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  148. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  149. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  150. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  151. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  152. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  153. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  154. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  155. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  156. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  157. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  158. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  159. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  160. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  161. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  162. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  163. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  164. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  165. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  166. package/dist/components/fields/DatePicker/period.js +1 -1
  167. package/dist/components/fields/DatePicker/props.js +1 -1
  168. package/dist/components/fields/DatePicker/utils.js +1 -1
  169. package/dist/components/fields/FileInput/FileInput.js +1 -1
  170. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  171. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  172. package/dist/components/fields/Input/Input.js +1 -1
  173. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  174. package/dist/components/fields/ListBox/ListBox.js +1 -1
  175. package/dist/components/fields/ListBox/optionId.js +1 -1
  176. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  177. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  178. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  179. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  180. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  181. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  182. package/dist/components/fields/Picker/Picker.js +1 -1
  183. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  184. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  185. package/dist/components/fields/RadioGroup/context.js +1 -1
  186. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  187. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  188. package/dist/components/fields/Select/Select.js +1 -1
  189. package/dist/components/fields/Slider/Gradation.js +1 -1
  190. package/dist/components/fields/Slider/HueSlider.js +1 -1
  191. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  192. package/dist/components/fields/Slider/Slider.js +1 -1
  193. package/dist/components/fields/Slider/SliderBase.js +1 -1
  194. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  195. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  196. package/dist/components/fields/Slider/elements.js +1 -1
  197. package/dist/components/fields/Slider/index.js +1 -1
  198. package/dist/components/fields/Switch/Switch.js +1 -1
  199. package/dist/components/fields/TagInput/TagInput.js +1 -1
  200. package/dist/components/fields/TagInput/TagList.js +1 -1
  201. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  202. package/dist/components/fields/TagInput/useTagError.js +1 -1
  203. package/dist/components/fields/TextArea/TextArea.js +1 -1
  204. package/dist/components/fields/TextInput/TextInput.js +1 -1
  205. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  206. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  207. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  208. package/dist/components/fields/TriggerActions.js +1 -1
  209. package/dist/components/fields/color/ColorPanel.js +1 -1
  210. package/dist/components/fields/color/channels.js +1 -1
  211. package/dist/components/fields/color/color.js +1 -1
  212. package/dist/components/fields/color/context.js +1 -1
  213. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  214. package/dist/components/form/Form/Field.js +1 -1
  215. package/dist/components/form/Form/Form.js +1 -1
  216. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  217. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  218. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  219. package/dist/components/form/Form/SubmitError.js +1 -1
  220. package/dist/components/form/Form/backend.js +1 -1
  221. package/dist/components/form/Form/index.js +1 -1
  222. package/dist/components/form/Form/modern/actions.js +1 -1
  223. package/dist/components/form/Form/modern/context.js +1 -1
  224. package/dist/components/form/Form/modern/controller.js +1 -1
  225. package/dist/components/form/Form/modern/field-binding.js +1 -1
  226. package/dist/components/form/Form/modern/field.js +1 -1
  227. package/dist/components/form/Form/modern/react.js +1 -1
  228. package/dist/components/form/Form/modern/store.js +1 -1
  229. package/dist/components/form/Form/modern/validation.js +1 -1
  230. package/dist/components/form/Form/modern/values.js +1 -1
  231. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  232. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  233. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  234. package/dist/components/form/Form/use-field/use-field.js +1 -1
  235. package/dist/components/form/Form/use-form.js +1 -1
  236. package/dist/components/form/Form/validation.js +1 -1
  237. package/dist/components/form/Label.js +1 -1
  238. package/dist/components/form/legacy-tooltip.js +1 -1
  239. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  240. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  241. package/dist/components/form/validation/use-validation-props.js +1 -1
  242. package/dist/components/form/wrapper.js +1 -1
  243. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  244. package/dist/components/helpers/DisplayTransition/DisplayTransition.js.map +1 -1
  245. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  246. package/dist/components/layout/Board/Board.js +1 -1
  247. package/dist/components/layout/Board/BoardProvider.js +1 -1
  248. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  249. package/dist/components/layout/Board/Widget.js +1 -1
  250. package/dist/components/layout/Board/WidgetHost.js +1 -1
  251. package/dist/components/layout/Board/board-context.js +1 -1
  252. package/dist/components/layout/Board/board-store.js +1 -1
  253. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  254. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  255. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  256. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  257. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  258. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  259. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  260. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  261. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  262. package/dist/components/layout/Board/index.js +1 -1
  263. package/dist/components/layout/Board/responsive-utils.js +1 -1
  264. package/dist/components/layout/Board/use-board-layout.js +1 -1
  265. package/dist/components/layout/Board/use-board-registry.js +1 -1
  266. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  267. package/dist/components/layout/Board/use-board-selection.js +1 -1
  268. package/dist/components/layout/Flex.js +1 -1
  269. package/dist/components/layout/Flow.js +1 -1
  270. package/dist/components/layout/Grid.js +1 -1
  271. package/dist/components/layout/Panel.js +1 -1
  272. package/dist/components/layout/Prefix.js +1 -1
  273. package/dist/components/layout/ResizablePanel.js +1 -1
  274. package/dist/components/layout/Space.js +1 -1
  275. package/dist/components/layout/Suffix.js +1 -1
  276. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  277. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  278. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  279. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  280. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  281. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  282. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  283. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  284. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  285. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  286. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  287. package/dist/components/navigation/Tabs/styled.js +1 -1
  288. package/dist/components/navigation/Tabs/types.js +1 -1
  289. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  290. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  291. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  292. package/dist/components/other/Calendar/Calendar.js +1 -1
  293. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  294. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  295. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  296. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  297. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  298. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  299. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  300. package/dist/components/other/Calendar/styled.js +1 -1
  301. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  302. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  303. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  304. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  305. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  306. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  307. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  308. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  309. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  310. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  311. package/dist/components/overlays/Dialog/context.js +1 -1
  312. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  313. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  314. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  315. package/dist/components/overlays/Modal/Modal.js +1 -1
  316. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  317. package/dist/components/overlays/Modal/Overlay.js +1 -1
  318. package/dist/components/overlays/Modal/Popover.js +1 -1
  319. package/dist/components/overlays/Modal/Tray.js +1 -1
  320. package/dist/components/overlays/Modal/Underlay.js +1 -1
  321. package/dist/components/overlays/Notifications/Notification.js +1 -1
  322. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  323. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  324. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  325. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  326. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  327. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  328. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  329. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  330. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  331. package/dist/components/overlays/Notifications/index.js +1 -1
  332. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  333. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  334. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  335. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  336. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  337. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  338. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  339. package/dist/components/overlays/Toast/index.js +1 -1
  340. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  341. package/dist/components/overlays/Toast/useToast.js +1 -1
  342. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  343. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  344. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  345. package/dist/components/overlays/Tooltip/context.js +1 -1
  346. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  347. package/dist/components/portal/Portal.js +1 -1
  348. package/dist/components/portal/PortalProvider.js +1 -1
  349. package/dist/components/portal/usePortal.js +1 -1
  350. package/dist/components/shared/DraggableCollection.js +1 -1
  351. package/dist/components/shared/InvalidIcon.js +1 -1
  352. package/dist/components/shared/ValidIcon.js +1 -1
  353. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  354. package/dist/components/status/Spin/Cube.js +1 -1
  355. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  356. package/dist/components/status/Spin/Spin.js +1 -1
  357. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  358. package/dist/data/item-themes.js +1 -1
  359. package/dist/data/themes.js +1 -1
  360. package/dist/eslint-plugin/defaults.generated.js +5 -1
  361. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  362. package/dist/eslint-plugin/index.js +1 -1
  363. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  364. package/dist/i18n/I18nProvider.js +1 -1
  365. package/dist/i18n/createFormatter.js +1 -1
  366. package/dist/i18n/index.js +1 -1
  367. package/dist/i18n/instance.js +1 -1
  368. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  369. package/dist/i18n/locales/en-US/uikit.js +1 -1
  370. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  371. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  372. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  373. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  374. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  375. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  376. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  377. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  378. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  379. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  380. package/dist/i18n/locales.js +1 -1
  381. package/dist/i18n/useFormatter.js +1 -1
  382. package/dist/i18n/useI18n.js +1 -1
  383. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  384. package/dist/icons/AdjustmentsIcon.js +1 -1
  385. package/dist/icons/AiIcon.js +1 -1
  386. package/dist/icons/AreaChartIcon.js +1 -1
  387. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  388. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  389. package/dist/icons/BackwardIcon.js +1 -1
  390. package/dist/icons/BarChartIcon.js +1 -1
  391. package/dist/icons/BellFilledIcon.js +1 -1
  392. package/dist/icons/BellIcon.js +1 -1
  393. package/dist/icons/BooleanIcon.js +1 -1
  394. package/dist/icons/CalendarEditIcon.js +1 -1
  395. package/dist/icons/CalendarIcon.js +1 -1
  396. package/dist/icons/CaretDownIcon.js +1 -1
  397. package/dist/icons/CaretUpIcon.js +1 -1
  398. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  399. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  400. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  401. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  402. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  403. package/dist/icons/ChartBarLineIcon.js +1 -1
  404. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  405. package/dist/icons/ChartBarStackedIcon.js +1 -1
  406. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  407. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  408. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  409. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  410. package/dist/icons/ChartBubbleIcon.js +1 -1
  411. package/dist/icons/ChartDonut2Icon.js +1 -1
  412. package/dist/icons/ChartFunnelIcon.js +1 -1
  413. package/dist/icons/ChartHeatmapIcon.js +1 -1
  414. package/dist/icons/ChartKPIIcon.js +1 -1
  415. package/dist/icons/ChartPie2Icon.js +1 -1
  416. package/dist/icons/ChartScatterIcon.js +1 -1
  417. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  418. package/dist/icons/CheckCircleIcon.js +1 -1
  419. package/dist/icons/CheckIcon.js +1 -1
  420. package/dist/icons/CircleFilledIcon.js +1 -1
  421. package/dist/icons/ClearIcon.js +1 -1
  422. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  423. package/dist/icons/CloseCircleIcon.js +1 -1
  424. package/dist/icons/CloseIcon.js +1 -1
  425. package/dist/icons/CodeIcon.js +1 -1
  426. package/dist/icons/ColumnTotalIcon.js +1 -1
  427. package/dist/icons/CopyIcon.js +1 -1
  428. package/dist/icons/CountIcon.js +1 -1
  429. package/dist/icons/CubeIcon.js +1 -1
  430. package/dist/icons/CubePauseIcon.js +1 -1
  431. package/dist/icons/CubePlayIcon.js +1 -1
  432. package/dist/icons/CurrencyDollarIcon.js +1 -1
  433. package/dist/icons/DangerIcon.js +1 -1
  434. package/dist/icons/DashboardIcon.js +1 -1
  435. package/dist/icons/DatabaseIcon.js +1 -1
  436. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  437. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  438. package/dist/icons/DirectionIcon.js +1 -1
  439. package/dist/icons/DonutIcon.js +1 -1
  440. package/dist/icons/DownIcon.js +1 -1
  441. package/dist/icons/EditIcon.js +1 -1
  442. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  443. package/dist/icons/ExclamationCircleIcon.js +1 -1
  444. package/dist/icons/ExclamationIcon.js +1 -1
  445. package/dist/icons/EyeIcon.js +1 -1
  446. package/dist/icons/EyeInvisibleIcon.js +1 -1
  447. package/dist/icons/FilterIcon.js +1 -1
  448. package/dist/icons/FolderFilledIcon.js +1 -1
  449. package/dist/icons/FolderIcon.js +1 -1
  450. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  451. package/dist/icons/FolderOpenIcon.js +1 -1
  452. package/dist/icons/ForwardIcon.js +1 -1
  453. package/dist/icons/GripVerticalIcon.js +1 -1
  454. package/dist/icons/HierarchyIcon.js +1 -1
  455. package/dist/icons/HierarchyOpenIcon.js +1 -1
  456. package/dist/icons/Icon.js +1 -1
  457. package/dist/icons/InfoCircleIcon.js +1 -1
  458. package/dist/icons/InfoIcon.js +1 -1
  459. package/dist/icons/KeyIcon.js +1 -1
  460. package/dist/icons/LeftIcon.js +1 -1
  461. package/dist/icons/LineChartIcon.js +1 -1
  462. package/dist/icons/LoadingIcon.js +1 -1
  463. package/dist/icons/LockFilledIcon.js +1 -1
  464. package/dist/icons/LockIcon.js +1 -1
  465. package/dist/icons/MoreIcon.js +1 -1
  466. package/dist/icons/NotAllowedIcon.js +1 -1
  467. package/dist/icons/Number123Icon.js +1 -1
  468. package/dist/icons/NumberIcon.js +1 -1
  469. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  470. package/dist/icons/PauseCircleIcon.js +1 -1
  471. package/dist/icons/PauseIcon.js +1 -1
  472. package/dist/icons/PercentageIcon.js +1 -1
  473. package/dist/icons/PieChartIcon.js +1 -1
  474. package/dist/icons/PipetteIcon.js +1 -1
  475. package/dist/icons/PlayCircleIcon.js +1 -1
  476. package/dist/icons/PlayIcon.js +1 -1
  477. package/dist/icons/PlusIcon.js +1 -1
  478. package/dist/icons/ProgressBarIcon.js +1 -1
  479. package/dist/icons/ReloadIcon.js +1 -1
  480. package/dist/icons/ReportIcon.js +1 -1
  481. package/dist/icons/ReturnIcon.js +1 -1
  482. package/dist/icons/RightIcon.js +1 -1
  483. package/dist/icons/RowTotalsIcon.js +1 -1
  484. package/dist/icons/SchemeIcon.js +1 -1
  485. package/dist/icons/SearchIcon.js +1 -1
  486. package/dist/icons/SemanticQueryIcon.js +1 -1
  487. package/dist/icons/SettingsIcon.js +1 -1
  488. package/dist/icons/ShieldFilledIcon.js +1 -1
  489. package/dist/icons/ShieldIcon.js +1 -1
  490. package/dist/icons/SlashIcon.js +1 -1
  491. package/dist/icons/SparklesIcon.js +1 -1
  492. package/dist/icons/SqlIcon.js +1 -1
  493. package/dist/icons/StatsIcon.js +1 -1
  494. package/dist/icons/StopIcon.js +1 -1
  495. package/dist/icons/StringIcon.js +1 -1
  496. package/dist/icons/SubtotalsIcon.js +1 -1
  497. package/dist/icons/SwitchIcon.js +1 -1
  498. package/dist/icons/TableIcon.js +1 -1
  499. package/dist/icons/ThumbsDownIcon.js +1 -1
  500. package/dist/icons/ThumbsUpIcon.js +1 -1
  501. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  502. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  503. package/dist/icons/ThunderboltIcon.js +1 -1
  504. package/dist/icons/TimeIcon.js +1 -1
  505. package/dist/icons/TrashIcon.js +1 -1
  506. package/dist/icons/UnlockIcon.js +1 -1
  507. package/dist/icons/UpIcon.js +1 -1
  508. package/dist/icons/UserGroupIcon.js +1 -1
  509. package/dist/icons/UserIcon.js +1 -1
  510. package/dist/icons/UserLockIcon.js +1 -1
  511. package/dist/icons/ViewIcon.js +1 -1
  512. package/dist/icons/WarningFilledIcon.js +1 -1
  513. package/dist/icons/WarningIcon.js +1 -1
  514. package/dist/icons/wrap-icon.js +1 -1
  515. package/dist/index.js +1 -1
  516. package/dist/probe/canonicalize.js +1 -1
  517. package/dist/probe/css.js +1 -1
  518. package/dist/probe/index.js +1 -1
  519. package/dist/provider.js +1 -1
  520. package/dist/providers/TrackingProvider.js +1 -1
  521. package/dist/providers/navigationAdapter.default.js +1 -1
  522. package/dist/tokens/all-tokens.js +1 -1
  523. package/dist/tokens/base.js +1 -1
  524. package/dist/tokens/color-seed.js +1 -1
  525. package/dist/tokens/color-theme.js +1 -1
  526. package/dist/tokens/colors.js +1 -1
  527. package/dist/tokens/layout.js +1 -1
  528. package/dist/tokens/lazy-styles.js +1 -1
  529. package/dist/tokens/legacy-color.js +1 -1
  530. package/dist/tokens/palette-config.js +1 -1
  531. package/dist/tokens/palette.js +1 -1
  532. package/dist/tokens/resolve.js +1 -1
  533. package/dist/tokens/shadows.js +1 -1
  534. package/dist/tokens/sizes.js +1 -1
  535. package/dist/tokens/spacing.js +1 -1
  536. package/dist/tokens/typography.js +1 -1
  537. package/dist/utils/ResizeSensor.js +1 -1
  538. package/dist/utils/colors.js +1 -1
  539. package/dist/utils/dotize.js +1 -1
  540. package/dist/utils/is-dev-env.js +1 -1
  541. package/dist/utils/modules.js +1 -1
  542. package/dist/utils/promise.js +1 -1
  543. package/dist/utils/raf.js +1 -1
  544. package/dist/utils/random.js +1 -1
  545. package/dist/utils/range.js +1 -1
  546. package/dist/utils/react/RenderCache.js +1 -1
  547. package/dist/utils/react/Slots.js +1 -1
  548. package/dist/utils/react/chain.js +1 -1
  549. package/dist/utils/react/disabledProps.js +1 -1
  550. package/dist/utils/react/escapePropagation.js +1 -1
  551. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  552. package/dist/utils/react/index.js +1 -1
  553. package/dist/utils/react/interactions.js +1 -1
  554. package/dist/utils/react/isTextOnly.js +1 -1
  555. package/dist/utils/react/mapProps.js +1 -1
  556. package/dist/utils/react/mergeProps.js +1 -1
  557. package/dist/utils/react/nullableValue.js +1 -1
  558. package/dist/utils/react/programmaticFocus.js +1 -1
  559. package/dist/utils/react/resolveIcon.js +1 -1
  560. package/dist/utils/react/sharedStore.js +1 -1
  561. package/dist/utils/react/useBufferedValue.js +1 -1
  562. package/dist/utils/react/useCombinedRefs.js +1 -1
  563. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  564. package/dist/utils/react/useEventBus.js +1 -1
  565. package/dist/utils/react/useId.js +1 -1
  566. package/dist/utils/react/useIsDarwin.js +1 -1
  567. package/dist/utils/react/useKeySymbols.js +1 -1
  568. package/dist/utils/react/useLayoutEffect.js +1 -1
  569. package/dist/utils/react/useLocalStorage.js +1 -1
  570. package/dist/utils/react/useMergeStyles.js +1 -1
  571. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  572. package/dist/utils/react/usePopoverSync.js +1 -1
  573. package/dist/utils/react/useQaProps.js +1 -1
  574. package/dist/utils/react/useScheme.js +1 -1
  575. package/dist/utils/react/useViewportSize.js +1 -1
  576. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  577. package/dist/utils/selection.js +1 -1
  578. package/dist/utils/styles.js +1 -1
  579. package/dist/utils/tree.js +1 -1
  580. package/dist/utils/warnings.js +1 -1
  581. package/dist/version.js +2 -2
  582. package/docs/components/content/ItemCard.md +77 -18
  583. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","Mods","Styles","tasty","ForwardedRef","forwardRef","HTMLAttributes","isValidElement","KeyboardEvent","MouseEvent","PointerEvent","ReactNode","Ref","RefObject","OverlayProps","useHotkeys","useWarn","ITEM_VARIANTS","ItemVariant","resolveItemVariant","CheckIcon","LoadingIcon","DynamicIcon","getDisabledElementProps","mergeProps","omitActivationEventProps","ResolvedIcon","resolveIcon","ItemAction","ItemActionProvider","IconSwitch","splitTooltipTriggerProps","TooltipFocusProps","CubeTooltipProviderProps","highlightText","CubeHotKeysProps","HotKeys","ItemBadge","useAutoTooltip","Props","ITEM_SIZE_VALUES","const","ItemMods","checkmark","disabled","selected","loading","size","description","type","theme","shape","CubeItemProps","icon","rightIcon","prefix","suffix","descriptionPlacement","insideWrapper","isSelected","actions","autoHideActions","showActions","skipActionsWidthTransition","preserveActionsSpace","disableActionsFocus","hotkeys","tooltip","Omit","auto","htmlType","labelProps","descriptionProps","keyboardShortcutProps","loadingSlot","isLoading","defaultTooltipPlacement","hiddenContent","tooltipFocusProps","isDynamicLabel","labelRef","HTMLElement","level","highlight","highlightCaseSensitive","highlightStyles","variant","DEFAULT_ICON_STYLES","$","display","placeItems","placeContent","aspectRatio","width","opacity","ACTIONS_EVENT_HANDLERS","onClick","e","stopPropagation","onPointerDown","onPointerUp","onMouseDown","onMouseUp","onKeyDown","key","ItemElement","as","styles","flow","gap","outline","gridTemplate","flexShrink","position","padding","margin","radius","height","border","fill","pressed","color","hovered","preset","recipe","transition","outlineOffset","cursor","$size","Icon","gridArea","RightIcon","Label","placeSelf","boxSizing","whiteSpace","overflow","textOverflow","Description","textAlign","Prefix","Suffix","Actions","interpolateSize","variants","styleProps","STANDARD_THEMES","CARD_THEMES","HEADER_THEMES","useItemPropWarnings","t0","_c","t1","includes","isInvalidCombination","t2","t3","t4","t5","args","hasLinkWithIcons","hasLinkWithLoading","hasLinkRestrictions","linkRestrictionMessages","push","t6","Symbol","for","t7","join","t8","resolveItemSize","NonNullable","sizeMod","sizeToken","resolveLoadingSlot","undefined","hasSlot","IconSlot","content","getIconKey","displayName","name","resolveIconSlot","isLoadingSlot","getHotkeysType","useHotkeyClick","isDisabled","ref","toLowerCase","current","click","enableOnContentEditable","enabled","preventDefault","enableOnFormTags","highlightContent","caseSensitive","Item","props","children","mods","iconProp","rightIconProp","nativeDisabledProp","style","t9","t10","t11","t12","t13","t14","t15","labelRefProp","tokens","rest","hasLabel","finalDescriptionPlacement","finalShape","isDisabledProp","finalIsDisabled","t16","hasCheckmark","baseMods","finalTokens","iconSlot","loadingTarget","t17","resolvedIcon","resolvedRightIcon","rightIconSlot","t18","Object","keys","some","_temp","showDescription","t19","finalPrefix","t20","finalSuffix","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32","finalMods","t33","t34","t35","descriptionRef","finalLabelProps","renderWithTooltip","isTooltipActive","isNativelyDisabled","isInert","inertProps","keepEvents","t36","processedChildren","t37","processedDescription","renderItemElement","tooltipTriggerProps","tooltipRef","pointerProps","elementTooltipProps","focusProps","handleRef","element","T","LabelTag","_Item","assign","Action","Badge","ItemBase","CubeItemBaseProps"],"sources":["../../../../src/components/content/Item/Item.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Mods,\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 Ref,\n RefObject,\n} from 'react';\nimport { OverlayProps } from 'react-aria';\nimport { useHotkeys } from 'react-hotkeys-hook';\n\nimport { useWarn } from '../../../_internal/hooks/use-warn';\nimport {\n ITEM_VARIANTS,\n ItemVariant,\n resolveItemVariant,\n} from '../../../data/item-themes';\nimport { CheckIcon } from '../../../icons/CheckIcon';\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport {\n DynamicIcon,\n getDisabledElementProps,\n mergeProps,\n omitActivationEventProps,\n ResolvedIcon,\n resolveIcon,\n} from '../../../utils/react';\nimport { ItemAction } from '../../actions/ItemAction';\nimport { ItemActionProvider } from '../../actions/ItemActionContext';\nimport { IconSwitch } from '../../helpers/IconSwitch/IconSwitch';\nimport {\n splitTooltipTriggerProps,\n TooltipFocusProps,\n} from '../../overlays/Tooltip/split-trigger-props';\nimport { CubeTooltipProviderProps } from '../../overlays/Tooltip/TooltipProvider';\nimport { highlightText } from '../highlightText';\nimport { CubeHotKeysProps, HotKeys } from '../HotKeys/HotKeys';\nimport { ItemBadge } from '../ItemBadge';\nimport { useAutoTooltip } from '../use-auto-tooltip';\n\nimport type { Props } from '../../../props';\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 checkmark?: 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> | 'checkmark';\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 and insideWrapper is true, the width reserved for the actions\n * run changes without animating. The wrapper sets it while it publishes the\n * width it measured on mount.\n * @default false\n */\n skipActionsWidthTransition?: 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 | 'outline'\n | 'outline-2'\n | 'clear'\n | 'link'\n | 'card'\n | (string & {});\n theme?:\n | 'default'\n | 'danger'\n | 'success'\n | 'special'\n | 'warning'\n | 'note'\n | 'current'\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 whichever of the label and a string\n * description is 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 * @private\n * The native `disabled` attribute, which `useAction` forwards through\n * `ItemButton`. Treated as an alias of `isDisabled` so that the item stays\n * the only place deciding how the disabled state reaches the DOM.\n */\n disabled?: boolean;\n /**\n * @private\n * Rendered inside the item's element but outside every slot, before them.\n * For a node that has to live in the element without being part of what it\n * shows — the visually hidden native input a button radio lays over itself.\n * Passing such a node as `children` instead would make it part of the label:\n * the auto tooltip and `highlight` only work on a string label, and\n * `has-label` would render an empty, padded `Label` next to a lone icon.\n *\n * As a function it renders the element that takes focus, and receives the\n * tooltip's focus-side trigger props to put on it (see\n * `splitTooltipTriggerProps`): focus lands on that input, not on the item,\n * so on the item they would never open the tooltip from the keyboard.\n */\n hiddenContent?:\n | ReactNode\n | ((tooltipFocusProps: TooltipFocusProps) => ReactNode);\n /**\n * @private\n * The label's room changes over the item's life — a radio tab in a\n * responsive switch, say. The auto tooltip then stays mounted, disabled\n * while the label fits, instead of wrapping the element only once the label\n * truncates: that wrap remounts the element, which takes focus (and, for a\n * radio, the native input it holds) with it.\n */\n isDynamicLabel?: boolean;\n /**\n * Ref to access the label element directly\n */\n labelRef?: Ref<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 'checkmark & selected': 1,\n 'checkmark & !selected': 0,\n 'checkmark & !selected & hovered': 0.4,\n },\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 // An actions run is end content just like a right icon — a trigger that\n // puts its caret in the run instead of the `rightIcon` slot must keep the\n // same minimum as one that does not. Only for a SIBLING run: an in-grid\n // one is laid out by this element's own columns, which already sized the\n // row before the run existed, and widening it there would push a tab's or\n // a tag's border out past its content.\n 'has-icon & (has-right-icon | (has-actions & inside-wrapper))':\n '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: '#disabled-surface-text',\n },\n preset: {\n '': 't3',\n '!type=item': 't3m',\n 'size=xsmall': 't4',\n 'size=xlarge': 't2',\n 'size=inline': 'inherit',\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 // Gap between the `Prefix` / `Suffix` slots and the `Label`. Zero by\n // default because most prefix and suffix content is a box that already\n // carries its own presence — a checkbox, a kbd chip, a badge — and a gap\n // on top of that reads as too much. A BARE GLYPH is the case that needs\n // one: it sits flush against the label, where the same glyph in the `Icon`\n // slot looks spaced because that slot centres it in a `$size` square.\n //\n // Set it at the call site for those:\n // <Item styles={{ '$prefix-gap': '1x' }} prefix={<MemberIcon />}>\n '$prefix-gap': 0,\n '$suffix-gap': 0,\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 // eslint-disable-next-line tasty/no-style-spread -- icon base shared by Icon and RightIcon\n Icon: { ...DEFAULT_ICON_STYLES, gridArea: 'icon' },\n\n // eslint-disable-next-line tasty/no-style-spread -- icon base shared by Icon and RightIcon\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 $: '>',\n display: 'grid',\n flow: 'column',\n placeItems: 'center',\n placeContent: 'stretch',\n gridArea: 'prefix',\n // The trailing value is `$prefix-gap` (see the token above): the grid\n // supplies no gap and `Label` drops its own left padding for any start\n // content, so a bare prefix glyph would otherwise sit flush against the\n // label. The leading value is the item's gutter, yielding to the icon\n // slot when one is present.\n padding: {\n '': '0 $prefix-gap 0 $inline-padding',\n 'has-icon': '$prefix-gap right',\n },\n },\n\n Suffix: {\n $: '>',\n display: 'grid',\n flow: 'column',\n placeItems: 'center',\n placeContent: 'stretch',\n gridArea: 'suffix',\n // Mirror of `Prefix`: the leading value is `$suffix-gap`.\n padding: {\n '': '0 $inline-padding 0 $suffix-gap',\n // The TRAILING padding only. Same reason — and the same restriction —\n // as the minimum width above: a sibling run already carries\n // `$side-padding` on both sides, so the suffix must not add the inline\n // padding on top of it, exactly as it does not next to a right icon.\n 'has-right-icon | (has-actions & inside-wrapper)': '$suffix-gap left',\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 a wrapper this column is a PLACEHOLDER: the run itself is a\n // sibling that carries its own side padding, and `--actions-width`\n // already includes it. Repeating it here is at best a no-op — the column\n // is `border-box` and that wide — and at worst wrong: an EMPTY run\n // publishes a width of 0, and the padding would still reserve\n // `2 * $side-padding` for nothing, pushing a right icon inwards.\n 'inside-wrapper': 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 // The wrapper's first measurement lands here with no width transition,\n // so the row starts at its reserved width instead of growing into it.\n 'skip-actions-width-transition':\n 'opacity $transition ease-out, padding $transition ease-out',\n },\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: ITEM_VARIANTS,\n styleProps: CONTAINER_STYLES,\n});\n\n// Valid type+theme combinations. `current` is a theme like any other here: it\n// has a flavour for every type, so it is listed wherever `default` is.\nconst STANDARD_THEMES = [\n 'default',\n 'success',\n 'danger',\n 'warning',\n 'note',\n 'special',\n 'current',\n];\nconst CARD_THEMES = [\n 'default',\n 'success',\n 'danger',\n 'warning',\n 'note',\n 'current',\n];\nconst HEADER_THEMES = ['default'];\n\n/**\n * Warns about prop combinations the item does not support: a theme its type\n * has no flavour for, and the icons or loading state the \"link\" type cannot\n * show.\n */\nfunction useItemPropWarnings({\n type,\n theme,\n icon,\n rightIcon,\n isLoading,\n}: {\n type: string;\n theme: string;\n icon: CubeItemProps['icon'];\n rightIcon: CubeItemProps['rightIcon'];\n isLoading: boolean;\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, current.'\n : ' Standard types support themes: default, success, danger, warning, note, special, current.'),\n ],\n });\n\n // Warn if link type is used with icons or loading state\n const hasLinkWithIcons = type === 'link' && (icon || rightIcon);\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\n/**\n * Splits `size` between the two ways the element takes it. A named size sets\n * the `size` mod, which picks the matching `$size` in the styles; any other\n * value (a number of pixels or a custom length) sets the `$size` token itself.\n */\nfunction resolveItemSize(size: NonNullable<CubeItemProps['size']>): {\n sizeMod?: string;\n sizeToken?: string;\n} {\n if (typeof size === 'number') return { sizeToken: `${size}px` };\n\n if ((ITEM_SIZE_VALUES as readonly string[]).includes(size)) {\n return { sizeMod: size };\n }\n\n return { sizeToken: size };\n}\n\n/**\n * The slot the loading icon replaces, or `undefined` when the item is not\n * loading. Auto logic: prefer icon if present, then rightIcon, fallback to\n * icon.\n */\nfunction resolveLoadingSlot(\n loadingSlot: NonNullable<CubeItemProps['loadingSlot']>,\n isLoading: boolean,\n icon: ResolvedIcon,\n rightIcon: ResolvedIcon,\n) {\n if (!isLoading) return undefined;\n if (loadingSlot !== 'auto') return loadingSlot;\n\n return rightIcon.hasSlot && !icon.hasSlot ? 'rightIcon' : 'icon';\n}\n\n/** What an icon slot renders, and the key its `IconSwitch` transitions on. */\ninterface IconSlot {\n hasSlot: boolean;\n content: ReactNode;\n key: string;\n}\n\n/** A stable key for icon transitions, based on the icon type. */\nfunction getIconKey(icon: ReactNode) {\n if (isValidElement(icon)) {\n return (\n (icon.type as any)?.displayName || (icon.type as any)?.name || 'icon'\n );\n }\n\n return icon ? 'icon' : 'empty';\n}\n\n/**\n * Applies the loading state to an icon slot. The slot renders when it has an\n * icon or an empty slot was asked for, or when the loading state targets it:\n * the loading icon then replaces the icon.\n */\nfunction resolveIconSlot(icon: ResolvedIcon, isLoadingSlot: boolean): IconSlot {\n if (isLoadingSlot) {\n return { hasSlot: true, content: <LoadingIcon />, key: 'loading' };\n }\n\n return {\n hasSlot: icon.hasSlot,\n content: icon.content,\n key: getIconKey(icon.content),\n };\n}\n\n/**\n * Which HotKeys flavour the shortcut hint wears. `inherit` paints the hint's\n * glyphs and rim from `currentcolor`, so it tracks whatever the row labels\n * itself with; `primary` pins the hint to `#white`; `default` is a neutral\n * `#dark.65` chip built for a page-colored row.\n *\n * The whole `current` theme wants `inherit`: every flavour there derives its\n * label from the inherited color, and a fixed hint cannot follow that. The\n * neutral `#dark.65`-on-`#dark.04` chip all but vanishes on a dark overlay,\n * which is exactly where this theme is meant to be used.\n *\n * `current.primary` is included despite painting its label with\n * `-webkit-text-fill-color` rather than `color`. The hint renders inside the\n * `Suffix` slot, and `CURRENT_PRIMARY_STYLES` recolors that slot to the label\n * color — so `currentcolor` there is the LABEL, not the fill. An earlier\n * version of this comment claimed the opposite and sent it to `primary`, which\n * put a `#white` hint on a light fill (measured cr 2.17 on a `#note` container\n * in dark mode).\n */\nfunction getHotkeysType(theme: string, type: string): CubeHotKeysProps['type'] {\n if (theme === 'current') return 'inherit';\n\n return type === 'primary' ? 'primary' : 'default';\n}\n\n/** Registers `hotkeys` as a global shortcut that clicks the item. */\nfunction useHotkeyClick<T extends HTMLElement>(\n hotkeys: string | undefined,\n isDisabled: boolean,\n ref: ForwardedRef<T>,\n) {\n useHotkeys(\n typeof hotkeys === 'string' ? hotkeys.toLowerCase() : '',\n () => {\n if (!hotkeys) return;\n if (isDisabled) 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, isDisabled],\n );\n}\n\n/**\n * Highlights matches of `highlight` in a plain-string label or description.\n * Any other content is returned as is.\n */\nfunction highlightContent(\n content: ReactNode,\n highlight: string | undefined,\n caseSensitive: boolean,\n highlightStyles: Styles | undefined,\n): ReactNode {\n return typeof content === 'string' && highlight\n ? highlightText(content, highlight, caseSensitive, highlightStyles)\n : content;\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 // `useAction` (through `ItemButton`) hands the native attribute down as\n // well. Fold it into the disabled state so this component stays the only\n // place deciding how that state reaches the DOM.\n disabled: nativeDisabledProp,\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 skipActionsWidthTransition = false,\n hiddenContent,\n isDynamicLabel = false,\n // Destructured so it reaches the label, not the element's DOM attributes.\n labelRef: labelRefProp,\n tokens,\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 const isDisabledProp = isDisabled ?? (nativeDisabledProp || undefined);\n\n // Loading state makes the component disabled\n const finalIsDisabled =\n isDisabledProp === true || (isLoading && isDisabledProp !== false);\n\n useItemPropWarnings({\n type,\n theme,\n icon: iconProp,\n rightIcon: rightIconProp,\n isLoading,\n });\n\n // Determine if we should show a checkmark instead of icon\n const hasCheckmark = iconProp === 'checkmark';\n\n const { sizeMod, sizeToken } = resolveItemSize(size);\n // Built outside `renderItemElement`: read inside that closure, `sizeToken`\n // kept React Compiler from memoizing the mods, slots and hotkeys before it.\n const finalTokens = { ...tokens, ...(sizeToken ? { $size: sizeToken } : {}) };\n\n // Base mods for icon resolution (without icon-dependent mods)\n const baseMods: ItemMods = {\n disabled: finalIsDisabled,\n selected: isSelected === true,\n loading: isLoading,\n ...(sizeMod !== undefined && { size: sizeMod }),\n type,\n theme,\n shape: finalShape,\n ...mods,\n };\n\n // Resolve dynamic icon props (skip resolution for 'checkmark' special value)\n const resolvedIcon = hasCheckmark\n ? { content: null, hasSlot: true }\n : resolveIcon(iconProp as DynamicIcon<ItemMods>, baseMods);\n\n const resolvedRightIcon = resolveIcon(rightIconProp, baseMods);\n\n // Determine which slot to use for loading\n const loadingTarget = resolveLoadingSlot(\n loadingSlot,\n isLoading,\n resolvedIcon,\n resolvedRightIcon,\n );\n\n // Apply loading state to appropriate slots. The checkmark keeps the icon\n // slot even when the loading state targets it.\n const iconSlot: IconSlot = hasCheckmark\n ? { hasSlot: true, content: <CheckIcon />, key: 'checkmark' }\n : resolveIconSlot(resolvedIcon, loadingTarget === 'icon');\n const rightIconSlot = resolveIconSlot(\n resolvedRightIcon,\n loadingTarget === 'rightIcon',\n );\n\n const showDescription =\n !!description ||\n Object.keys(descriptionProps ?? {}).some((key) => key !== 'id');\n\n const finalPrefix = loadingTarget === 'prefix' ? <LoadingIcon /> : prefix;\n\n // Build final suffix: loading icon, custom suffix, or HotKeys hint\n const finalSuffix =\n loadingTarget === 'suffix' ? (\n <LoadingIcon />\n ) : (\n suffix ??\n (hotkeys ? (\n <HotKeys\n {...(keyboardShortcutProps as any)}\n type={getHotkeysType(theme, type)}\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 useHotkeyClick(hotkeys, finalIsDisabled, ref);\n\n const finalMods: ItemMods = {\n ...baseMods,\n 'has-icon': iconSlot.hasSlot,\n 'has-start-content': !!(iconSlot.hasSlot || finalPrefix),\n 'has-end-content': !!(rightIconSlot.hasSlot || finalSuffix || actions),\n 'has-right-icon': rightIconSlot.hasSlot,\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 'skip-actions-width-transition':\n skipActionsWidthTransition && insideWrapper,\n checkmark: hasCheckmark,\n description: showDescription ? finalDescriptionPlacement : 'none',\n };\n\n const {\n labelProps: finalLabelProps,\n labelRef,\n descriptionRef,\n renderWithTooltip,\n isTooltipActive,\n } = useAutoTooltip({\n tooltip,\n children,\n // The description truncates exactly like the label, so it is measured with\n // it and shown in the same tooltip. Raw, not highlighted: the tooltip shows\n // plain text.\n description,\n labelProps,\n labelRef: labelRefProp,\n // The hook owns the description's ref, so one passed in `descriptionProps`\n // is handed to it rather than lost under the spread below.\n descriptionRef: (descriptionProps as { ref?: Ref<HTMLElement> } | undefined)\n ?.ref,\n // A row inside an actions wrapper is dynamic whether or not the run holds\n // anything right now: the label's width is whatever `--actions-width` leaves\n // it, and the wrapper republishes that as the actions change. Holding the\n // flag steady is also what keeps the row from REMOUNTING when its actions\n // come and go — the resolved tooltip decides whether a provider wraps the\n // element, so a flag that flips restructures the tree around it.\n isDynamicLabel: isDynamicLabel || !!actions || insideWrapper,\n });\n\n // A disabled item still has to be able to show its tooltip — that is usually\n // where the reason for being unavailable is written. The native `disabled`\n // attribute would make the browser drop the hover that opens it, so when a\n // tooltip is present the item is marked `aria-disabled` and kept inert\n // instead.\n const { isNativelyDisabled, isInert, inertProps } = getDisabledElementProps({\n isDisabled: finalIsDisabled,\n keepEvents: isTooltipActive,\n as: (rest as { as?: string }).as,\n });\n\n // Process children and description with highlight if applicable\n const processedChildren = highlightContent(\n children,\n highlight,\n highlightCaseSensitive,\n highlightStyles,\n );\n const processedDescription = highlightContent(\n description,\n highlight,\n highlightCaseSensitive,\n highlightStyles,\n );\n\n // Render function that creates the item element\n const renderItemElement = (\n tooltipTriggerProps?: HTMLAttributes<HTMLElement>,\n tooltipRef?: RefObject<HTMLElement>,\n ) => {\n const { pointerProps: elementTooltipProps, focusProps: tooltipFocusProps } =\n typeof hiddenContent === 'function'\n ? splitTooltipTriggerProps(tooltipTriggerProps)\n : { pointerProps: tooltipTriggerProps, focusProps: undefined };\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 // Shared with `ItemButton`, which repeats this lookup on the wrapper that\n // carries the row color to actions rendered outside the row.\n variant={theme && type ? resolveItemVariant(theme, type) : undefined}\n disabled={isNativelyDisabled}\n aria-disabled={finalIsDisabled}\n // A row that reports `aria-pressed` is a toggle button, where\n // `aria-selected` is not a valid state and screen readers ignore it.\n aria-selected={rest['aria-pressed'] != null ? undefined : isSelected}\n mods={finalMods}\n styles={styles}\n tokens={finalTokens}\n type={htmlType as any}\n {...mergeProps(\n isInert ? omitActivationEventProps(rest) : rest,\n elementTooltipProps || {},\n inertProps,\n )}\n style={style}\n >\n {typeof hiddenContent === 'function'\n ? hiddenContent(tooltipFocusProps ?? {})\n : hiddenContent}\n {iconSlot.hasSlot && (\n <div data-element=\"Icon\">\n <IconSwitch noWrapper contentKey={iconSlot.key}>\n {iconSlot.content}\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\n data-element=\"Description\"\n {...descriptionProps}\n ref={descriptionRef}\n >\n {processedDescription}\n </div>\n ) : null}\n {finalSuffix && <div data-element=\"Suffix\">{finalSuffix}</div>}\n {rightIconSlot.hasSlot && (\n <div data-element=\"RightIcon\">\n <IconSwitch noWrapper contentKey={rightIconSlot.key}>\n {rightIconSlot.content}\n </IconSwitch>\n </div>\n )}\n {actions && (\n <div\n data-element=\"Actions\"\n // The handlers keep a press on an action from also pressing the\n // row. The `true` placeholder has no actions to protect: it only\n // reserves the sibling run's width, under that run's caret, so\n // stopping presses there kept the caret from opening the trigger.\n {...(actions !== true ? ACTIONS_EVENT_HANDLERS : null)}\n >\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
+ {"version":3,"file":"Item.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","Mods","Styles","tasty","ForwardedRef","forwardRef","HTMLAttributes","isValidElement","KeyboardEvent","MouseEvent","PointerEvent","ReactNode","Ref","RefObject","OverlayProps","useHotkeys","useWarn","ITEM_VARIANTS","ItemVariant","resolveItemVariant","CheckIcon","LoadingIcon","DynamicIcon","getDisabledElementProps","mergeProps","omitActivationEventProps","ResolvedIcon","resolveIcon","ItemAction","ItemActionProvider","IconSwitch","splitTooltipTriggerProps","TooltipFocusProps","CubeTooltipProviderProps","highlightText","CubeHotKeysProps","HotKeys","ItemBadge","useAutoTooltip","Props","ITEM_SIZE_VALUES","const","ItemMods","checkmark","disabled","selected","loading","size","description","type","theme","shape","CubeItemProps","icon","rightIcon","prefix","suffix","descriptionPlacement","insideWrapper","isSelected","actions","autoHideActions","showActions","skipActionsWidthTransition","preserveActionsSpace","disableActionsFocus","hotkeys","tooltip","Omit","auto","htmlType","labelProps","descriptionProps","keyboardShortcutProps","loadingSlot","isLoading","defaultTooltipPlacement","hiddenContent","tooltipFocusProps","isDynamicLabel","labelRef","HTMLElement","level","highlight","highlightCaseSensitive","highlightStyles","variant","DEFAULT_ICON_STYLES","$","display","placeItems","placeContent","aspectRatio","width","opacity","ACTIONS_EVENT_HANDLERS","onClick","e","stopPropagation","onPointerDown","onPointerUp","onMouseDown","onMouseUp","onKeyDown","key","ItemElement","as","styles","flow","gap","outline","gridTemplate","flexShrink","position","padding","margin","radius","height","border","fill","pressed","color","hovered","preset","recipe","transition","outlineOffset","cursor","$size","Icon","gridArea","RightIcon","Label","placeSelf","boxSizing","whiteSpace","overflow","textOverflow","Description","textAlign","Prefix","Suffix","Actions","interpolateSize","variants","styleProps","STANDARD_THEMES","CARD_THEMES","HEADER_THEMES","useItemPropWarnings","t0","_c","t1","includes","isInvalidCombination","t2","t3","t4","t5","args","hasLinkWithIcons","hasLinkWithLoading","hasLinkRestrictions","linkRestrictionMessages","push","t6","Symbol","for","t7","join","t8","resolveItemSize","NonNullable","sizeMod","sizeToken","resolveLoadingSlot","undefined","hasSlot","IconSlot","content","getIconKey","displayName","name","resolveIconSlot","isLoadingSlot","getHotkeysType","useHotkeyClick","isDisabled","ref","toLowerCase","current","click","enableOnContentEditable","enabled","preventDefault","enableOnFormTags","highlightContent","caseSensitive","Item","props","children","mods","iconProp","rightIconProp","nativeDisabledProp","style","t9","t10","t11","t12","t13","t14","t15","labelRefProp","tokens","rest","hasLabel","finalDescriptionPlacement","finalShape","isDisabledProp","finalIsDisabled","t16","hasCheckmark","baseMods","finalTokens","iconSlot","loadingTarget","t17","resolvedIcon","resolvedRightIcon","rightIconSlot","t18","Object","keys","some","_temp","showDescription","t19","finalPrefix","t20","finalSuffix","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32","finalMods","t33","t34","t35","descriptionRef","finalLabelProps","renderWithTooltip","isTooltipActive","isNativelyDisabled","isInert","inertProps","keepEvents","t36","processedChildren","t37","processedDescription","renderItemElement","tooltipTriggerProps","tooltipRef","pointerProps","elementTooltipProps","focusProps","handleRef","element","T","LabelTag","_Item","assign","Action","Badge","ItemBase","CubeItemBaseProps"],"sources":["../../../../src/components/content/Item/Item.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Mods,\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 Ref,\n RefObject,\n} from 'react';\nimport { OverlayProps } from 'react-aria';\nimport { useHotkeys } from 'react-hotkeys-hook';\n\nimport { useWarn } from '../../../_internal/hooks/use-warn';\nimport {\n ITEM_VARIANTS,\n ItemVariant,\n resolveItemVariant,\n} from '../../../data/item-themes';\nimport { CheckIcon } from '../../../icons/CheckIcon';\nimport { LoadingIcon } from '../../../icons/LoadingIcon';\nimport {\n DynamicIcon,\n getDisabledElementProps,\n mergeProps,\n omitActivationEventProps,\n ResolvedIcon,\n resolveIcon,\n} from '../../../utils/react';\nimport { ItemAction } from '../../actions/ItemAction';\nimport { ItemActionProvider } from '../../actions/ItemActionContext';\nimport { IconSwitch } from '../../helpers/IconSwitch/IconSwitch';\nimport {\n splitTooltipTriggerProps,\n TooltipFocusProps,\n} from '../../overlays/Tooltip/split-trigger-props';\nimport { CubeTooltipProviderProps } from '../../overlays/Tooltip/TooltipProvider';\nimport { highlightText } from '../highlightText';\nimport { CubeHotKeysProps, HotKeys } from '../HotKeys/HotKeys';\nimport { ItemBadge } from '../ItemBadge';\nimport { useAutoTooltip } from '../use-auto-tooltip';\n\nimport type { Props } from '../../../props';\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 checkmark?: 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> | 'checkmark';\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 and insideWrapper is true, the width reserved for the actions\n * run changes without animating. The wrapper sets it while it publishes the\n * width it measured on mount.\n * @default false\n */\n skipActionsWidthTransition?: 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 | 'outline'\n | 'outline-2'\n | 'clear'\n | 'link'\n | 'card'\n | (string & {});\n theme?:\n | 'default'\n | 'danger'\n | 'success'\n | 'special'\n | 'warning'\n | 'note'\n | 'current'\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 whichever of the label and a string\n * description is 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 * @private\n * The native `disabled` attribute, which `useAction` forwards through\n * `ItemButton`. Treated as an alias of `isDisabled` so that the item stays\n * the only place deciding how the disabled state reaches the DOM.\n */\n disabled?: boolean;\n /**\n * @private\n * Rendered inside the item's element but outside every slot, before them.\n * For a node that has to live in the element without being part of what it\n * shows — the visually hidden native input a button radio lays over itself.\n * Passing such a node as `children` instead would make it part of the label:\n * the auto tooltip and `highlight` only work on a string label, and\n * `has-label` would render an empty, padded `Label` next to a lone icon.\n *\n * As a function it renders the element that takes focus, and receives the\n * tooltip's focus-side trigger props to put on it (see\n * `splitTooltipTriggerProps`): focus lands on that input, not on the item,\n * so on the item they would never open the tooltip from the keyboard.\n */\n hiddenContent?:\n | ReactNode\n | ((tooltipFocusProps: TooltipFocusProps) => ReactNode);\n /**\n * @private\n * The label's room changes over the item's life — a radio tab in a\n * responsive switch, say. The auto tooltip then stays mounted, disabled\n * while the label fits, instead of wrapping the element only once the label\n * truncates: that wrap remounts the element, which takes focus (and, for a\n * radio, the native input it holds) with it.\n */\n isDynamicLabel?: boolean;\n /**\n * Ref to access the label element directly\n */\n labelRef?: Ref<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 'checkmark & selected': 1,\n 'checkmark & !selected': 0,\n 'checkmark & !selected & hovered': 0.4,\n },\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 // An actions run is end content just like a right icon — a trigger that\n // puts its caret in the run instead of the `rightIcon` slot must keep the\n // same minimum as one that does not. Only for a SIBLING run: an in-grid\n // one is laid out by this element's own columns, which already sized the\n // row before the run existed, and widening it there would push a tab's or\n // a tag's border out past its content.\n 'has-icon & (has-right-icon | (has-actions & inside-wrapper))':\n '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: '#disabled-surface-text',\n },\n preset: {\n '': 't3',\n '!type=item': 't3m',\n 'size=xsmall': 't4',\n 'size=xlarge': 't2',\n 'size=inline': 'inherit',\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 // Gap between the `Prefix` / `Suffix` slots and the `Label`. Zero by\n // default because most prefix and suffix content is a box that already\n // carries its own presence — a checkbox, a kbd chip, a badge — and a gap\n // on top of that reads as too much. A BARE GLYPH is the case that needs\n // one: it sits flush against the label, where the same glyph in the `Icon`\n // slot looks spaced because that slot centres it in a `$size` square.\n //\n // Set it at the call site for those:\n // <Item styles={{ '$prefix-gap': '1x' }} prefix={<MemberIcon />}>\n '$prefix-gap': 0,\n '$suffix-gap': 0,\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 // eslint-disable-next-line tasty/no-style-spread -- icon base shared by Icon and RightIcon\n Icon: { ...DEFAULT_ICON_STYLES, gridArea: 'icon' },\n\n // eslint-disable-next-line tasty/no-style-spread -- icon base shared by Icon and RightIcon\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 $: '>',\n display: 'grid',\n flow: 'column',\n placeItems: 'center',\n placeContent: 'stretch',\n gridArea: 'prefix',\n // The trailing value is `$prefix-gap` (see the token above): the grid\n // supplies no gap and `Label` drops its own left padding for any start\n // content, so a bare prefix glyph would otherwise sit flush against the\n // label. The leading value is the item's gutter, yielding to the icon\n // slot when one is present.\n padding: {\n '': '0 $prefix-gap 0 $inline-padding',\n 'has-icon': '$prefix-gap right',\n },\n },\n\n Suffix: {\n $: '>',\n display: 'grid',\n flow: 'column',\n placeItems: 'center',\n placeContent: 'stretch',\n gridArea: 'suffix',\n // Mirror of `Prefix`: the leading value is `$suffix-gap`.\n padding: {\n '': '0 $inline-padding 0 $suffix-gap',\n // The TRAILING padding only. Same reason — and the same restriction —\n // as the minimum width above: a sibling run already carries\n // `$side-padding` on both sides, so the suffix must not add the inline\n // padding on top of it, exactly as it does not next to a right icon.\n 'has-right-icon | (has-actions & inside-wrapper)': '$suffix-gap left',\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 a wrapper this column is a PLACEHOLDER: the run itself is a\n // sibling that carries its own side padding, and `--actions-width`\n // already includes it. Repeating it here is at best a no-op — the column\n // is `border-box` and that wide — and at worst wrong: an EMPTY run\n // publishes a width of 0, and the padding would still reserve\n // `2 * $side-padding` for nothing, pushing a right icon inwards.\n 'inside-wrapper': 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 // The wrapper's first measurement lands here with no width transition,\n // so the row starts at its reserved width instead of growing into it.\n 'skip-actions-width-transition':\n 'opacity $transition ease-out, padding $transition ease-out',\n },\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 ...ITEM_VARIANTS,\n // ItemCard's palette stays local so consumer directives reach this owner.\n 'default.item-card': {\n // eslint-disable-next-line tasty/no-style-spread -- inherit the shared card foreground and palette defaults\n ...ITEM_VARIANTS['default.card'],\n fill: '#surface',\n border: '#border',\n },\n },\n styleProps: CONTAINER_STYLES,\n});\n\n// Valid type+theme combinations. `current` is a theme like any other here: it\n// has a flavour for every type, so it is listed wherever `default` is.\nconst STANDARD_THEMES = [\n 'default',\n 'success',\n 'danger',\n 'warning',\n 'note',\n 'special',\n 'current',\n];\nconst CARD_THEMES = [\n 'default',\n 'success',\n 'danger',\n 'warning',\n 'note',\n 'current',\n];\nconst HEADER_THEMES = ['default'];\n\n/**\n * Warns about prop combinations the item does not support: a theme its type\n * has no flavour for, and the icons or loading state the \"link\" type cannot\n * show.\n */\nfunction useItemPropWarnings({\n type,\n theme,\n icon,\n rightIcon,\n isLoading,\n}: {\n type: string;\n theme: string;\n icon: CubeItemProps['icon'];\n rightIcon: CubeItemProps['rightIcon'];\n isLoading: boolean;\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, current.'\n : ' Standard types support themes: default, success, danger, warning, note, special, current.'),\n ],\n });\n\n // Warn if link type is used with icons or loading state\n const hasLinkWithIcons = type === 'link' && (icon || rightIcon);\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\n/**\n * Splits `size` between the two ways the element takes it. A named size sets\n * the `size` mod, which picks the matching `$size` in the styles; any other\n * value (a number of pixels or a custom length) sets the `$size` token itself.\n */\nfunction resolveItemSize(size: NonNullable<CubeItemProps['size']>): {\n sizeMod?: string;\n sizeToken?: string;\n} {\n if (typeof size === 'number') return { sizeToken: `${size}px` };\n\n if ((ITEM_SIZE_VALUES as readonly string[]).includes(size)) {\n return { sizeMod: size };\n }\n\n return { sizeToken: size };\n}\n\n/**\n * The slot the loading icon replaces, or `undefined` when the item is not\n * loading. Auto logic: prefer icon if present, then rightIcon, fallback to\n * icon.\n */\nfunction resolveLoadingSlot(\n loadingSlot: NonNullable<CubeItemProps['loadingSlot']>,\n isLoading: boolean,\n icon: ResolvedIcon,\n rightIcon: ResolvedIcon,\n) {\n if (!isLoading) return undefined;\n if (loadingSlot !== 'auto') return loadingSlot;\n\n return rightIcon.hasSlot && !icon.hasSlot ? 'rightIcon' : 'icon';\n}\n\n/** What an icon slot renders, and the key its `IconSwitch` transitions on. */\ninterface IconSlot {\n hasSlot: boolean;\n content: ReactNode;\n key: string;\n}\n\n/** A stable key for icon transitions, based on the icon type. */\nfunction getIconKey(icon: ReactNode) {\n if (isValidElement(icon)) {\n return (\n (icon.type as any)?.displayName || (icon.type as any)?.name || 'icon'\n );\n }\n\n return icon ? 'icon' : 'empty';\n}\n\n/**\n * Applies the loading state to an icon slot. The slot renders when it has an\n * icon or an empty slot was asked for, or when the loading state targets it:\n * the loading icon then replaces the icon.\n */\nfunction resolveIconSlot(icon: ResolvedIcon, isLoadingSlot: boolean): IconSlot {\n if (isLoadingSlot) {\n return { hasSlot: true, content: <LoadingIcon />, key: 'loading' };\n }\n\n return {\n hasSlot: icon.hasSlot,\n content: icon.content,\n key: getIconKey(icon.content),\n };\n}\n\n/**\n * Which HotKeys flavour the shortcut hint wears. `inherit` paints the hint's\n * glyphs and rim from `currentcolor`, so it tracks whatever the row labels\n * itself with; `primary` pins the hint to `#white`; `default` is a neutral\n * `#dark.65` chip built for a page-colored row.\n *\n * The whole `current` theme wants `inherit`: every flavour there derives its\n * label from the inherited color, and a fixed hint cannot follow that. The\n * neutral `#dark.65`-on-`#dark.04` chip all but vanishes on a dark overlay,\n * which is exactly where this theme is meant to be used.\n *\n * `current.primary` is included despite painting its label with\n * `-webkit-text-fill-color` rather than `color`. The hint renders inside the\n * `Suffix` slot, and `CURRENT_PRIMARY_STYLES` recolors that slot to the label\n * color — so `currentcolor` there is the LABEL, not the fill. An earlier\n * version of this comment claimed the opposite and sent it to `primary`, which\n * put a `#white` hint on a light fill (measured cr 2.17 on a `#note` container\n * in dark mode).\n */\nfunction getHotkeysType(theme: string, type: string): CubeHotKeysProps['type'] {\n if (theme === 'current') return 'inherit';\n\n return type === 'primary' ? 'primary' : 'default';\n}\n\n/** Registers `hotkeys` as a global shortcut that clicks the item. */\nfunction useHotkeyClick<T extends HTMLElement>(\n hotkeys: string | undefined,\n isDisabled: boolean,\n ref: ForwardedRef<T>,\n) {\n useHotkeys(\n typeof hotkeys === 'string' ? hotkeys.toLowerCase() : '',\n () => {\n if (!hotkeys) return;\n if (isDisabled) 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, isDisabled],\n );\n}\n\n/**\n * Highlights matches of `highlight` in a plain-string label or description.\n * Any other content is returned as is.\n */\nfunction highlightContent(\n content: ReactNode,\n highlight: string | undefined,\n caseSensitive: boolean,\n highlightStyles: Styles | undefined,\n): ReactNode {\n return typeof content === 'string' && highlight\n ? highlightText(content, highlight, caseSensitive, highlightStyles)\n : content;\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 // `useAction` (through `ItemButton`) hands the native attribute down as\n // well. Fold it into the disabled state so this component stays the only\n // place deciding how that state reaches the DOM.\n disabled: nativeDisabledProp,\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 skipActionsWidthTransition = false,\n hiddenContent,\n isDynamicLabel = false,\n // Destructured so it reaches the label, not the element's DOM attributes.\n labelRef: labelRefProp,\n tokens,\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 const isDisabledProp = isDisabled ?? (nativeDisabledProp || undefined);\n\n // Loading state makes the component disabled\n const finalIsDisabled =\n isDisabledProp === true || (isLoading && isDisabledProp !== false);\n\n useItemPropWarnings({\n type,\n theme,\n icon: iconProp,\n rightIcon: rightIconProp,\n isLoading,\n });\n\n // Determine if we should show a checkmark instead of icon\n const hasCheckmark = iconProp === 'checkmark';\n\n const { sizeMod, sizeToken } = resolveItemSize(size);\n // Built outside `renderItemElement`: read inside that closure, `sizeToken`\n // kept React Compiler from memoizing the mods, slots and hotkeys before it.\n const finalTokens = { ...tokens, ...(sizeToken ? { $size: sizeToken } : {}) };\n\n // Base mods for icon resolution (without icon-dependent mods)\n const baseMods: ItemMods = {\n disabled: finalIsDisabled,\n selected: isSelected === true,\n loading: isLoading,\n ...(sizeMod !== undefined && { size: sizeMod }),\n type,\n theme,\n shape: finalShape,\n ...mods,\n };\n\n // Resolve dynamic icon props (skip resolution for 'checkmark' special value)\n const resolvedIcon = hasCheckmark\n ? { content: null, hasSlot: true }\n : resolveIcon(iconProp as DynamicIcon<ItemMods>, baseMods);\n\n const resolvedRightIcon = resolveIcon(rightIconProp, baseMods);\n\n // Determine which slot to use for loading\n const loadingTarget = resolveLoadingSlot(\n loadingSlot,\n isLoading,\n resolvedIcon,\n resolvedRightIcon,\n );\n\n // Apply loading state to appropriate slots. The checkmark keeps the icon\n // slot even when the loading state targets it.\n const iconSlot: IconSlot = hasCheckmark\n ? { hasSlot: true, content: <CheckIcon />, key: 'checkmark' }\n : resolveIconSlot(resolvedIcon, loadingTarget === 'icon');\n const rightIconSlot = resolveIconSlot(\n resolvedRightIcon,\n loadingTarget === 'rightIcon',\n );\n\n const showDescription =\n !!description ||\n Object.keys(descriptionProps ?? {}).some((key) => key !== 'id');\n\n const finalPrefix = loadingTarget === 'prefix' ? <LoadingIcon /> : prefix;\n\n // Build final suffix: loading icon, custom suffix, or HotKeys hint\n const finalSuffix =\n loadingTarget === 'suffix' ? (\n <LoadingIcon />\n ) : (\n suffix ??\n (hotkeys ? (\n <HotKeys\n {...(keyboardShortcutProps as any)}\n type={getHotkeysType(theme, type)}\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 useHotkeyClick(hotkeys, finalIsDisabled, ref);\n\n const finalMods: ItemMods = {\n ...baseMods,\n 'has-icon': iconSlot.hasSlot,\n 'has-start-content': !!(iconSlot.hasSlot || finalPrefix),\n 'has-end-content': !!(rightIconSlot.hasSlot || finalSuffix || actions),\n 'has-right-icon': rightIconSlot.hasSlot,\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 'skip-actions-width-transition':\n skipActionsWidthTransition && insideWrapper,\n checkmark: hasCheckmark,\n description: showDescription ? finalDescriptionPlacement : 'none',\n };\n\n const {\n labelProps: finalLabelProps,\n labelRef,\n descriptionRef,\n renderWithTooltip,\n isTooltipActive,\n } = useAutoTooltip({\n tooltip,\n children,\n // The description truncates exactly like the label, so it is measured with\n // it and shown in the same tooltip. Raw, not highlighted: the tooltip shows\n // plain text.\n description,\n labelProps,\n labelRef: labelRefProp,\n // The hook owns the description's ref, so one passed in `descriptionProps`\n // is handed to it rather than lost under the spread below.\n descriptionRef: (descriptionProps as { ref?: Ref<HTMLElement> } | undefined)\n ?.ref,\n // A row inside an actions wrapper is dynamic whether or not the run holds\n // anything right now: the label's width is whatever `--actions-width` leaves\n // it, and the wrapper republishes that as the actions change. Holding the\n // flag steady is also what keeps the row from REMOUNTING when its actions\n // come and go — the resolved tooltip decides whether a provider wraps the\n // element, so a flag that flips restructures the tree around it.\n isDynamicLabel: isDynamicLabel || !!actions || insideWrapper,\n });\n\n // A disabled item still has to be able to show its tooltip — that is usually\n // where the reason for being unavailable is written. The native `disabled`\n // attribute would make the browser drop the hover that opens it, so when a\n // tooltip is present the item is marked `aria-disabled` and kept inert\n // instead.\n const { isNativelyDisabled, isInert, inertProps } = getDisabledElementProps({\n isDisabled: finalIsDisabled,\n keepEvents: isTooltipActive,\n as: (rest as { as?: string }).as,\n });\n\n // Process children and description with highlight if applicable\n const processedChildren = highlightContent(\n children,\n highlight,\n highlightCaseSensitive,\n highlightStyles,\n );\n const processedDescription = highlightContent(\n description,\n highlight,\n highlightCaseSensitive,\n highlightStyles,\n );\n\n // Render function that creates the item element\n const renderItemElement = (\n tooltipTriggerProps?: HTMLAttributes<HTMLElement>,\n tooltipRef?: RefObject<HTMLElement>,\n ) => {\n const { pointerProps: elementTooltipProps, focusProps: tooltipFocusProps } =\n typeof hiddenContent === 'function'\n ? splitTooltipTriggerProps(tooltipTriggerProps)\n : { pointerProps: tooltipTriggerProps, focusProps: undefined };\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 // Shared with `ItemButton`, which repeats this lookup on the wrapper that\n // carries the row color to actions rendered outside the row.\n variant={\n theme && type\n ? type === 'card' && theme === 'default' && mods?.['item-card']\n ? 'default.item-card'\n : resolveItemVariant(theme, type)\n : undefined\n }\n disabled={isNativelyDisabled}\n aria-disabled={finalIsDisabled}\n // A row that reports `aria-pressed` is a toggle button, where\n // `aria-selected` is not a valid state and screen readers ignore it.\n aria-selected={rest['aria-pressed'] != null ? undefined : isSelected}\n mods={finalMods}\n styles={styles}\n tokens={finalTokens}\n type={htmlType as any}\n {...mergeProps(\n isInert ? omitActivationEventProps(rest) : rest,\n elementTooltipProps || {},\n inertProps,\n )}\n style={style}\n >\n {typeof hiddenContent === 'function'\n ? hiddenContent(tooltipFocusProps ?? {})\n : hiddenContent}\n {iconSlot.hasSlot && (\n <div data-element=\"Icon\">\n <IconSwitch noWrapper contentKey={iconSlot.key}>\n {iconSlot.content}\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\n data-element=\"Description\"\n {...descriptionProps}\n ref={descriptionRef}\n >\n {processedDescription}\n </div>\n ) : null}\n {finalSuffix && <div data-element=\"Suffix\">{finalSuffix}</div>}\n {rightIconSlot.hasSlot && (\n <div data-element=\"RightIcon\">\n <IconSwitch noWrapper contentKey={rightIconSlot.key}>\n {rightIconSlot.content}\n </IconSwitch>\n </div>\n )}\n {actions && (\n <div\n data-element=\"Actions\"\n // The handlers keep a press on an action from also pressing the\n // row. The `true` placeholder has no actions to protect: it only\n // reserves the sibling run's width, under that run's caret, so\n // stopping presses there kept the caret from opening the trigger.\n {...(actions !== true ? ACTIONS_EVENT_HANDLERS : null)}\n >\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,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
4
4
  import { CURRENT_CLEAR_STYLES, CURRENT_OUTLINE_STYLES, CURRENT_PRIMARY_STYLES, DANGER_CLEAR_STYLES, DANGER_OUTLINE_STYLES, DANGER_PRIMARY_STYLES, DEFAULT_CLEAR_STYLES, DEFAULT_OUTLINE_STYLES, DEFAULT_PRIMARY_STYLES, ITEM_ACTION_BASE_STYLES, SPECIAL_CLEAR_STYLES, SPECIAL_OUTLINE_STYLES, SPECIAL_PRIMARY_STYLES, SUCCESS_CLEAR_STYLES, SUCCESS_OUTLINE_STYLES, SUCCESS_PRIMARY_STYLES } from "../../../data/item-themes.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
3
3
  import { _Item } from "../Item/Item.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -7,37 +7,59 @@ import { jsx } from "react/jsx-runtime";
7
7
 
8
8
  //#region src/components/content/ItemCard/ItemCard.tsx
9
9
  const _ItemCard = forwardRef(function ItemCard(t0, ref) {
10
- const $ = c(9);
10
+ const $ = c(16);
11
11
  let children;
12
12
  let props;
13
13
  let title;
14
+ let variant;
14
15
  if ($[0] !== t0) {
15
- ({title, children, ...props} = t0);
16
+ ({title, children, variant, ...props} = t0);
16
17
  $[0] = t0;
17
18
  $[1] = children;
18
19
  $[2] = props;
19
20
  $[3] = title;
21
+ $[4] = variant;
20
22
  } else {
21
23
  children = $[1];
22
24
  props = $[2];
23
25
  title = $[3];
26
+ variant = $[4];
24
27
  }
25
28
  let t1;
26
- if ($[4] !== children || $[5] !== props || $[6] !== ref || $[7] !== title) {
27
- t1 = /* @__PURE__ */ jsx(_Item, {
29
+ if ($[5] !== variant) {
30
+ t1 = variant === void 0 ? {} : { variant };
31
+ $[5] = variant;
32
+ $[6] = t1;
33
+ } else t1 = $[6];
34
+ let t2;
35
+ if ($[7] !== props.mods) {
36
+ t2 = {
37
+ "item-card": true,
38
+ ...props.mods
39
+ };
40
+ $[7] = props.mods;
41
+ $[8] = t2;
42
+ } else t2 = $[8];
43
+ let t3;
44
+ if ($[9] !== children || $[10] !== props || $[11] !== ref || $[12] !== t1 || $[13] !== t2 || $[14] !== title) {
45
+ t3 = /* @__PURE__ */ jsx(_Item, {
28
46
  ref,
29
47
  ...props,
48
+ ...t1,
49
+ mods: t2,
30
50
  type: "card",
31
51
  description: children,
32
52
  children: title
33
53
  });
34
- $[4] = children;
35
- $[5] = props;
36
- $[6] = ref;
37
- $[7] = title;
38
- $[8] = t1;
39
- } else t1 = $[8];
40
- return t1;
54
+ $[9] = children;
55
+ $[10] = props;
56
+ $[11] = ref;
57
+ $[12] = t1;
58
+ $[13] = t2;
59
+ $[14] = title;
60
+ $[15] = t3;
61
+ } else t3 = $[15];
62
+ return t3;
41
63
  });
42
64
  const ItemCard = Object.assign(_ItemCard, { Action: ItemAction });
43
65
 
@@ -1 +1 @@
1
- {"version":3,"file":"ItemCard.js","names":["ForwardedRef","forwardRef","ReactNode","ItemAction","CubeItemProps","Item","CubeItemCardProps","Omit","title","children","_ItemCard","ItemCard","t0","ref","$","_c","props","t1","Object","assign","Action"],"sources":["../../../../src/components/content/ItemCard/ItemCard.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef, ReactNode } from 'react';\n\nimport { ItemAction } from '../../actions/ItemAction';\nimport { CubeItemProps, Item } from '../Item/Item';\n\nexport interface CubeItemCardProps\n extends Omit<CubeItemProps, 'type' | 'children' | 'description'> {\n /** Card heading, mapped to Item's `children`. */\n title?: ReactNode;\n /** Card body content, mapped to Item's `description`. */\n children?: ReactNode;\n}\n\nconst _ItemCard = forwardRef(function ItemCard(\n { title, children, ...props }: CubeItemCardProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n return (\n <Item ref={ref} {...props} type=\"card\" description={children}>\n {title}\n </Item>\n );\n});\n\nconst ItemCard = Object.assign(_ItemCard, {\n Action: ItemAction,\n});\n\nexport { ItemCard };\n"],"mappings":";;;;;;;;AAaA,MAAMU,YAAYT,WAAW,SAAAU,SAAAC,IAAAC,KAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAN;CAAA,IAAAO;CAAA,IAAAR;AAAA,KAAAM,EAAA,OAAAF,IAAA;AAC3B,GAAA,CAAAJ,OAAAC,aAAAO,SAAAJ;AAAgDE,IAAA,KAAAF;AAAAE,IAAA,KAAAL;AAAAK,IAAA,KAAAE;AAAAF,IAAA,KAAAN;QAAA;AAAAC,aAAAK,EAAA;AAAAE,UAAAF,EAAA;AAAAN,UAAAM,EAAA;;CAAA,IAAAG;AAAA,KAAAH,EAAA,OAAAL,YAAAK,EAAA,OAAAE,SAAAF,EAAA,OAAAD,OAAAC,EAAA,OAAAN,OAAA;AAI9CS,OAAA,oBAAC;GAAUJ;GAAG,GAAMG;GAAY,MAAA;GAAoBP,aAAAA;aACjDD;IACI;AAAAM,IAAA,KAAAL;AAAAK,IAAA,KAAAE;AAAAF,IAAA,KAAAD;AAAAC,IAAA,KAAAN;AAAAM,IAAA,KAAAG;OAAAA,MAAAH,EAAA;AAAA,QAFPG;EAIF;AAEF,MAAMN,WAAWO,OAAOC,OAAOT,WAAW,EACxCU,QAAQjB,YACT,CAAC"}
1
+ {"version":3,"file":"ItemCard.js","names":["ForwardedRef","forwardRef","ReactNode","ItemAction","CubeItemProps","Item","CubeItemCardProps","Omit","title","children","_ItemCard","ItemCard","t0","ref","$","_c","props","variant","t1","undefined","t2","mods","t3","Object","assign","Action"],"sources":["../../../../src/components/content/ItemCard/ItemCard.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef, ReactNode } from 'react';\n\nimport { ItemAction } from '../../actions/ItemAction/ItemAction';\nimport { CubeItemProps, Item } from '../Item/Item';\n\nexport interface CubeItemCardProps\n extends Omit<CubeItemProps, 'type' | 'children' | 'description'> {\n /** Card heading, mapped to Item's `children`. */\n title?: ReactNode;\n /** Card body content, mapped to Item's `description`. */\n children?: ReactNode;\n}\n\nconst _ItemCard = forwardRef(function ItemCard(\n { title, children, variant, ...props }: CubeItemCardProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n return (\n <Item\n ref={ref}\n {...props}\n {...(variant === undefined ? {} : { variant })}\n mods={{ 'item-card': true, ...props.mods }}\n type=\"card\"\n description={children}\n >\n {title}\n </Item>\n );\n});\n\nconst ItemCard = Object.assign(_ItemCard, {\n Action: ItemAction,\n});\n\nexport { ItemCard };\n"],"mappings":";;;;;;;;AAaA,MAAMU,YAAYT,WAAW,SAAAU,SAAAC,IAAAC,KAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAN;CAAA,IAAAO;CAAA,IAAAR;CAAA,IAAAS;AAAA,KAAAH,EAAA,OAAAF,IAAA;AAC3B,GAAA,CAAAJ,OAAAC,UAAAQ,YAAAD,SAAAJ;AAAyDE,IAAA,KAAAF;AAAAE,IAAA,KAAAL;AAAAK,IAAA,KAAAE;AAAAF,IAAA,KAAAN;AAAAM,IAAA,KAAAG;QAAA;AAAAR,aAAAK,EAAA;AAAAE,UAAAF,EAAA;AAAAN,UAAAM,EAAA;AAAAG,YAAAH,EAAA;;CAAA,IAAAI;AAAA,KAAAJ,EAAA,OAAAG,SAAA;AAOhDC,OAAAD,YAAYE,SAAZ,EAAwC,GAAxC,EAAAF,SAAwC;AAAAH,IAAA,KAAAG;AAAAH,IAAA,KAAAI;OAAAA,MAAAJ,EAAA;CAAA,IAAAM;AAAA,KAAAN,EAAA,OAAAE,MAAAK,MAAA;AACvCD,OAAA;GAAA,aAAe;GAAI,GAAKJ,MAAKK;GAAO;AAAAP,IAAA,KAAAE,MAAAK;AAAAP,IAAA,KAAAM;OAAAA,MAAAN,EAAA;CAAA,IAAAQ;AAAA,KAAAR,EAAA,OAAAL,YAAAK,EAAA,QAAAE,SAAAF,EAAA,QAAAD,OAAAC,EAAA,QAAAI,MAAAJ,EAAA,QAAAM,MAAAN,EAAA,QAAAN,OAAA;AAJ5Cc,OAAA,oBAAC;GACMT;GAAG,GACJG;GAAK,GACJE;GACC,MAAAE;GACD,MAAA;GACQX,aAAAA;aAEZD;IACI;AAAAM,IAAA,KAAAL;AAAAK,IAAA,MAAAE;AAAAF,IAAA,MAAAD;AAAAC,IAAA,MAAAI;AAAAJ,IAAA,MAAAM;AAAAN,IAAA,MAAAN;AAAAM,IAAA,MAAAQ;OAAAA,MAAAR,EAAA;AAAA,QATPQ;EAWF;AAEF,MAAMX,WAAWY,OAAOC,OAAOd,WAAW,EACxCe,QAAQtB,YACT,CAAC"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { _Layout } from "./Layout.js";
3
3
  import { _LayoutContent } from "./LayoutContent.js";
4
4
  import { _LayoutBlock } from "./LayoutBlock.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { isDevEnv } from "../../../utils/is-dev-env.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { _LayoutContent } from "./LayoutContent.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { _LayoutContainer } from "./LayoutContainer.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { LayoutContextReset } from "./LayoutContext.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { LayoutContextReset } from "./LayoutContext.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { createContext, useContext, useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { _LayoutContent } from "./LayoutContent.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { _LayoutContent } from "./LayoutContent.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { _LayoutContent } from "./LayoutContent.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { useAutoTooltip } from "../use-auto-tooltip.js";
3
3
  import { useI18n } from "../../../i18n/useI18n.js";
4
4
  import { Button } from "../../actions/Button/Button.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
4
4
  import { _Item } from "../Item/Item.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { _LayoutContent } from "./LayoutContent.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { c } from "react-compiler-runtime";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { LayoutActionsContext, LayoutContextReset, LayoutPanelContext, LayoutRefsContext, LayoutStateContext, useLayoutActionsContext, useLayoutPanelContext, useLayoutRefsContext, useLayoutStateContext } from "./LayoutContext.js";
3
3
  import { _Layout } from "./Layout.js";
4
4
  import { _LayoutContent } from "./LayoutContent.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  //#region src/components/content/Layout/utils.ts
3
3
  /**
4
4
  * Clamps a size value within min/max constraints.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { _Text } from "./Text.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { extractStyles, mergeStyleLayers } from "../../../utils/styles.js";
3
3
  import { useI18n } from "../../../i18n/useI18n.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { RendererPrism, ensureYamlSqlExtensions } from "./prismSetup.js";
3
3
  import { CONTAINER_STYLES, tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { Prism as RendererPrism } from "prism-react-renderer";
3
3
 
4
4
  //#region src/components/content/PrismCode/prismSetup.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { _PrismCode } from "../PrismCode/PrismCode.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e3259a | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-925e8d4 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps } from "../../../utils/react/mergeProps.js";
4
4
  import { wrapNodeIfPlain } from "../../../utils/react/wrapNodeIfPlain.js";