@cube-dev/ui-kit 0.206.3 → 0.208.0

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 (858) hide show
  1. package/dist/CHANGELOG.md +18 -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-sync-ref.js.map +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.d.ts +0 -2
  13. package/dist/components/CollectionItem.js +1 -1
  14. package/dist/components/CollectionItem.js.map +1 -1
  15. package/dist/components/GlobalStyles.js +1 -1
  16. package/dist/components/GlobalStyles.js.map +1 -1
  17. package/dist/components/GridProvider.js +1 -1
  18. package/dist/components/GridProvider.js.map +1 -1
  19. package/dist/components/HiddenInput.js +1 -1
  20. package/dist/components/Root.js +3 -3
  21. package/dist/components/Root.js.map +1 -1
  22. package/dist/components/actions/Action/Action.js +1 -1
  23. package/dist/components/actions/Banner/Banner.js +1 -1
  24. package/dist/components/actions/Banner/Banner.js.map +1 -1
  25. package/dist/components/actions/Button/Button.d.ts +10 -1
  26. package/dist/components/actions/Button/Button.js +13 -8
  27. package/dist/components/actions/Button/Button.js.map +1 -1
  28. package/dist/components/actions/Button/index.d.ts +16 -1
  29. package/dist/components/actions/Button/index.js +13 -0
  30. package/dist/components/actions/Button/index.js.map +1 -0
  31. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  32. package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
  33. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  34. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  35. package/dist/components/actions/ButtonSplit/context.js +1 -1
  36. package/dist/components/actions/CommandMenu/CommandMenu.d.ts +1 -1
  37. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  38. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  39. package/dist/components/actions/CommandMenu/styled.js +1 -1
  40. package/dist/components/actions/ItemAction/ItemAction.js +2 -2
  41. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  42. package/dist/components/actions/ItemActionContext.js +1 -1
  43. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  44. package/dist/components/actions/ItemButton/ItemButton.d.ts +0 -2
  45. package/dist/components/actions/ItemButton/ItemButton.js +2 -2
  46. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  47. package/dist/components/actions/Link/Link.js +1 -1
  48. package/dist/components/actions/Menu/Menu.d.ts +1 -1
  49. package/dist/components/actions/Menu/Menu.js +1 -1
  50. package/dist/components/actions/Menu/Menu.js.map +1 -1
  51. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  52. package/dist/components/actions/Menu/MenuItem.js +2 -2
  53. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  54. package/dist/components/actions/Menu/MenuSection.js +1 -1
  55. package/dist/components/actions/Menu/MenuTrigger.js +3 -3
  56. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  57. package/dist/components/actions/Menu/SubMenuTrigger.js +2 -2
  58. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  59. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  60. package/dist/components/actions/Menu/context.js +1 -1
  61. package/dist/components/actions/Menu/index.d.ts +1 -1
  62. package/dist/components/actions/Menu/styled.js +1 -1
  63. package/dist/components/actions/actions-run.js +1 -1
  64. package/dist/components/actions/index.d.ts +6 -18
  65. package/dist/components/actions/use-action.js +2 -2
  66. package/dist/components/actions/use-action.js.map +1 -1
  67. package/dist/components/actions/use-anchored-menu.d.ts +0 -1
  68. package/dist/components/actions/use-anchored-menu.js +2 -2
  69. package/dist/components/actions/use-anchored-menu.js.map +1 -1
  70. package/dist/components/actions/use-context-menu.d.ts +0 -1
  71. package/dist/components/actions/use-context-menu.js +2 -2
  72. package/dist/components/actions/use-context-menu.js.map +1 -1
  73. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  74. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  75. package/dist/components/content/Alert/Alert.js +1 -1
  76. package/dist/components/content/Alert/use-alert.js +1 -1
  77. package/dist/components/content/Alert/use-alert.js.map +1 -1
  78. package/dist/components/content/Avatar/Avatar.js +1 -1
  79. package/dist/components/content/Badge/Badge.d.ts +0 -1
  80. package/dist/components/content/Badge/Badge.js +1 -1
  81. package/dist/components/content/Badge/Badge.js.map +1 -1
  82. package/dist/components/content/Card/Card.js +1 -1
  83. package/dist/components/content/Content.js +1 -1
  84. package/dist/components/content/Content.js.map +1 -1
  85. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -3
  86. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  87. package/dist/components/content/CopySnippet/CopySnippet.d.ts +2 -18
  88. package/dist/components/content/CopySnippet/CopySnippet.js +2 -2
  89. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  90. package/dist/components/content/Disclosure/Disclosure.d.ts +0 -1
  91. package/dist/components/content/Disclosure/Disclosure.js +2 -2
  92. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  93. package/dist/components/content/Divider/Divider.js +1 -1
  94. package/dist/components/content/Divider/Divider.js.map +1 -1
  95. package/dist/components/content/Footer.js +1 -1
  96. package/dist/components/content/Footer.js.map +1 -1
  97. package/dist/components/content/Header.js +1 -1
  98. package/dist/components/content/Header.js.map +1 -1
  99. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  100. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  101. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  102. package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
  103. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  104. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  105. package/dist/components/content/Item/Item.d.ts +1 -2
  106. package/dist/components/content/Item/Item.js +4 -4
  107. package/dist/components/content/Item/Item.js.map +1 -1
  108. package/dist/components/content/Item/ItemWithNativeLinks.js +2 -2
  109. package/dist/components/content/Item/index.d.ts +1 -1
  110. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  111. package/dist/components/content/ItemBadge/index.d.ts +1 -2
  112. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  113. package/dist/components/content/Layout/GridLayout.js +1 -1
  114. package/dist/components/content/Layout/Layout.js +1 -1
  115. package/dist/components/content/Layout/Layout.js.map +1 -1
  116. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  117. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  118. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  119. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  120. package/dist/components/content/Layout/LayoutContent.js +1 -1
  121. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  122. package/dist/components/content/Layout/LayoutContext.js +1 -1
  123. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  124. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  125. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  126. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  127. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  128. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  129. package/dist/components/content/Layout/LayoutPane.js +2 -2
  130. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  131. package/dist/components/content/Layout/LayoutPanel.js +3 -3
  132. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  133. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  134. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  135. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  136. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  137. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  138. package/dist/components/content/Layout/index.js +1 -1
  139. package/dist/components/content/Layout/utils.js +1 -1
  140. package/dist/components/content/Paragraph.js +1 -1
  141. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  142. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  143. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  144. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  145. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  146. package/dist/components/content/Result/Result.js +2 -2
  147. package/dist/components/content/Result/Result.js.map +1 -1
  148. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  149. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  150. package/dist/components/content/Tag/Tag.d.ts +0 -1
  151. package/dist/components/content/Tag/Tag.js +1 -1
  152. package/dist/components/content/Tag/Tag.js.map +1 -1
  153. package/dist/components/content/Text.js +1 -1
  154. package/dist/components/content/TextItem/TextItem.js +1 -1
  155. package/dist/components/content/Title.js +1 -1
  156. package/dist/components/content/Title.js.map +1 -1
  157. package/dist/components/content/Tree/Tree.js +1 -1
  158. package/dist/components/content/Tree/Tree.js.map +1 -1
  159. package/dist/components/content/Tree/TreeNode.js +5 -5
  160. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  161. package/dist/components/content/Tree/checked-keys.js +1 -1
  162. package/dist/components/content/Tree/rowId.js +1 -1
  163. package/dist/components/content/Tree/styled.js +1 -1
  164. package/dist/components/content/Tree/styled.js.map +1 -1
  165. package/dist/components/content/Tree/tree-index.js +1 -1
  166. package/dist/components/content/Tree/types.d.ts +1 -1
  167. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  168. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  169. package/dist/components/content/Tree/use-load-data.js +1 -1
  170. package/dist/components/content/Tree/use-load-data.js.map +1 -1
  171. package/dist/components/content/highlightText.js +1 -1
  172. package/dist/components/content/use-auto-tooltip.js +1 -1
  173. package/dist/components/data/DataTable/DataTable.js +1 -1
  174. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  175. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  176. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  177. package/dist/components/data/ItemTable/ItemTableBulkBar.js +2 -2
  178. package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
  179. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  180. package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
  181. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  182. package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
  183. package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -2
  184. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  185. package/dist/components/data/ItemTable/item-table-sections.js +1 -1
  186. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  187. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  188. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  189. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  190. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  191. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  192. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  193. package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
  194. package/dist/components/data/TableBase/RowCollection.js +1 -1
  195. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  196. package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
  197. package/dist/components/data/TableBase/TableRow.js +1 -1
  198. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  199. package/dist/components/data/TableBase/TableRowLink.js +1 -1
  200. package/dist/components/data/TableBase/TableView.js +6 -6
  201. package/dist/components/data/TableBase/TableView.js.map +1 -1
  202. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  203. package/dist/components/data/TableBase/column-header.js +1 -1
  204. package/dist/components/data/TableBase/column-menu.js +1 -1
  205. package/dist/components/data/TableBase/column-menu.js.map +1 -1
  206. package/dist/components/data/TableBase/column-styles.js +1 -1
  207. package/dist/components/data/TableBase/column-tint.js +1 -1
  208. package/dist/components/data/TableBase/row-menu.js +1 -1
  209. package/dist/components/data/TableBase/styled.js +1 -1
  210. package/dist/components/data/TableBase/styled.js.map +1 -1
  211. package/dist/components/data/TableBase/table-body-sections.js +1 -1
  212. package/dist/components/data/TableBase/table-tree.js +1 -1
  213. package/dist/components/data/TableBase/types.js +1 -1
  214. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  215. package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
  216. package/dist/components/data/TableBase/use-column-menu.js +2 -2
  217. package/dist/components/data/TableBase/use-column-order.js +1 -1
  218. package/dist/components/data/TableBase/use-column-order.js.map +1 -1
  219. package/dist/components/data/TableBase/use-column-window.js +1 -1
  220. package/dist/components/data/TableBase/use-container-width.js +1 -1
  221. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  222. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  223. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  224. package/dist/components/data/TableBase/use-table-search.js +1 -1
  225. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  226. package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
  227. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  228. package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
  229. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  230. package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
  231. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  232. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  233. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  234. package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
  235. package/dist/components/fields/Checkbox/Checkbox.d.ts +0 -1
  236. package/dist/components/fields/Checkbox/Checkbox.js +3 -3
  237. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  238. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +0 -1
  239. package/dist/components/fields/Checkbox/CheckboxGroup.js +3 -3
  240. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  241. package/dist/components/fields/Checkbox/context.js +1 -1
  242. package/dist/components/fields/ColorInput/ColorInput.d.ts +0 -1
  243. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  244. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  245. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +0 -3
  246. package/dist/components/fields/ColorPicker/ColorPicker.js +3 -3
  247. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  248. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  249. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +0 -1
  250. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +2 -2
  251. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  252. package/dist/components/fields/ComboBox/ComboBox.d.ts +0 -1
  253. package/dist/components/fields/ComboBox/ComboBox.js +6 -6
  254. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  255. package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
  256. package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +1 -2
  257. package/dist/components/fields/CommandTextArea/CommandTextArea.js +2 -2
  258. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  259. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  260. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  261. package/dist/components/fields/DatePicker/CalendarPopover.js +1 -1
  262. package/dist/components/fields/DatePicker/DateInput.d.ts +0 -1
  263. package/dist/components/fields/DatePicker/DateInput.js +2 -2
  264. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  265. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  266. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  267. package/dist/components/fields/DatePicker/DatePicker.d.ts +0 -1
  268. package/dist/components/fields/DatePicker/DatePicker.js +2 -2
  269. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  270. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  271. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  272. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  273. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  274. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  275. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  276. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +0 -1
  277. package/dist/components/fields/DatePicker/DateRangePicker.js +2 -2
  278. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  279. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +0 -1
  280. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +2 -2
  281. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  282. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  283. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +0 -1
  284. package/dist/components/fields/DatePicker/PeriodPicker.js +2 -2
  285. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  286. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  287. package/dist/components/fields/DatePicker/TimeInput.d.ts +0 -1
  288. package/dist/components/fields/DatePicker/TimeInput.js +2 -2
  289. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  290. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  291. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  292. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  293. package/dist/components/fields/DatePicker/period.js +1 -1
  294. package/dist/components/fields/DatePicker/props.js +1 -1
  295. package/dist/components/fields/DatePicker/utils.js +1 -1
  296. package/dist/components/fields/FileInput/FileInput.d.ts +0 -1
  297. package/dist/components/fields/FileInput/FileInput.js +3 -3
  298. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  299. package/dist/components/fields/FilterListBox/FilterListBox.js +3 -3
  300. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  301. package/dist/components/fields/FilterListBox/styled.js +1 -1
  302. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +0 -3
  303. package/dist/components/fields/FilterPicker/FilterPicker.js +8 -8
  304. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  305. package/dist/components/fields/FilterPicker/FilterTree.js +2 -2
  306. package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -1
  307. package/dist/components/fields/Input/Input.d.ts +0 -1
  308. package/dist/components/fields/Input/Input.js +1 -1
  309. package/dist/components/fields/Input/Input.js.map +1 -1
  310. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  311. package/dist/components/fields/ListBox/ListBox.js +4 -4
  312. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  313. package/dist/components/fields/ListBox/optionId.js +1 -1
  314. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +2 -2
  315. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  316. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  317. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  318. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
  319. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  320. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  321. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  322. package/dist/components/fields/PasswordInput/PasswordInput.js +2 -2
  323. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  324. package/dist/components/fields/Picker/Picker.d.ts +0 -2
  325. package/dist/components/fields/Picker/Picker.js +8 -8
  326. package/dist/components/fields/Picker/Picker.js.map +1 -1
  327. package/dist/components/fields/RadioGroup/Radio.d.ts +0 -1
  328. package/dist/components/fields/RadioGroup/Radio.js +2 -2
  329. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  330. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +0 -1
  331. package/dist/components/fields/RadioGroup/RadioGroup.js +3 -3
  332. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  333. package/dist/components/fields/RadioGroup/context.js +1 -1
  334. package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +0 -1
  335. package/dist/components/fields/SearchComboBox/SearchComboBox.js +6 -6
  336. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  337. package/dist/components/fields/SearchInput/SearchInput.js +2 -2
  338. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  339. package/dist/components/fields/Select/Select.d.ts +1 -2
  340. package/dist/components/fields/Select/Select.js +7 -7
  341. package/dist/components/fields/Select/Select.js.map +1 -1
  342. package/dist/components/fields/Slider/Gradation.js +1 -1
  343. package/dist/components/fields/Slider/HueSlider.js +1 -1
  344. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  345. package/dist/components/fields/Slider/Slider.js +1 -1
  346. package/dist/components/fields/Slider/Slider.js.map +1 -1
  347. package/dist/components/fields/Slider/SliderBase.js +2 -2
  348. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  349. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  350. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  351. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  352. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  353. package/dist/components/fields/Slider/elements.js +1 -1
  354. package/dist/components/fields/Slider/index.js +2 -2
  355. package/dist/components/fields/Slider/types.d.ts +0 -1
  356. package/dist/components/fields/Switch/Switch.d.ts +0 -1
  357. package/dist/components/fields/Switch/Switch.js +3 -3
  358. package/dist/components/fields/Switch/Switch.js.map +1 -1
  359. package/dist/components/fields/TagInput/TagInput.js +5 -5
  360. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  361. package/dist/components/fields/TagInput/TagList.js +1 -1
  362. package/dist/components/fields/TagInput/TagList.js.map +1 -1
  363. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  364. package/dist/components/fields/TagInput/useTagError.js +1 -1
  365. package/dist/components/fields/TextArea/TextArea.js +2 -2
  366. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  367. package/dist/components/fields/TextInput/TextInput.js +2 -2
  368. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  369. package/dist/components/fields/TextInput/TextInputBase.d.ts +0 -1
  370. package/dist/components/fields/TextInput/TextInputBase.js +3 -3
  371. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  372. package/dist/components/fields/TextInput/displayed-validation.js +1 -1
  373. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  374. package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
  375. package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +0 -1
  376. package/dist/components/fields/TextInputMapper/TextInputMapper.js +3 -3
  377. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  378. package/dist/components/fields/TriggerActions.js +1 -1
  379. package/dist/components/fields/color/ColorPanel.js +1 -1
  380. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  381. package/dist/components/fields/color/channels.js +1 -1
  382. package/dist/components/fields/color/color.js +1 -1
  383. package/dist/components/fields/color/context.js +1 -1
  384. package/dist/components/fields/index.d.ts +2 -2
  385. package/dist/components/fields/option-origin-press.js +1 -1
  386. package/dist/components/form/FieldWrapper/FieldWrapper.js +2 -2
  387. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  388. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  389. package/dist/components/form/FieldWrapper/types.d.ts +0 -1
  390. package/dist/components/form/Form/Field.d.ts +0 -1
  391. package/dist/components/form/Form/Field.js +3 -3
  392. package/dist/components/form/Form/Field.js.map +1 -1
  393. package/dist/components/form/Form/Form.d.ts +1 -26
  394. package/dist/components/form/Form/Form.js +7 -116
  395. package/dist/components/form/Form/Form.js.map +1 -1
  396. package/dist/components/form/Form/FormContext.d.ts +30 -0
  397. package/dist/components/form/Form/FormContext.js +79 -0
  398. package/dist/components/form/Form/FormContext.js.map +1 -0
  399. package/dist/components/form/Form/FormElement.js +49 -0
  400. package/dist/components/form/Form/FormElement.js.map +1 -0
  401. package/dist/components/form/Form/ModernFormRoot.js +3 -2
  402. package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
  403. package/dist/components/form/Form/ResetButton/ResetButton.js +2 -2
  404. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  405. package/dist/components/form/Form/SubmitButton/SubmitButton.js +2 -2
  406. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  407. package/dist/components/form/Form/SubmitError.d.ts +0 -1
  408. package/dist/components/form/Form/SubmitError.js +3 -3
  409. package/dist/components/form/Form/SubmitError.js.map +1 -1
  410. package/dist/components/form/Form/backend.js +1 -1
  411. package/dist/components/form/Form/index.d.ts +2 -1
  412. package/dist/components/form/Form/index.js +6 -5
  413. package/dist/components/form/Form/index.js.map +1 -1
  414. package/dist/components/form/Form/modern/actions.js +1 -1
  415. package/dist/components/form/Form/modern/context.js +1 -1
  416. package/dist/components/form/Form/modern/controller.js +1 -1
  417. package/dist/components/form/Form/modern/field-binding.js +1 -1
  418. package/dist/components/form/Form/modern/field.js +1 -1
  419. package/dist/components/form/Form/modern/react.js +1 -1
  420. package/dist/components/form/Form/modern/store.js +1 -1
  421. package/dist/components/form/Form/modern/validation.js +1 -1
  422. package/dist/components/form/Form/modern/values.js +1 -1
  423. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  424. package/dist/components/form/Form/use-field/types.d.ts +0 -1
  425. package/dist/components/form/Form/use-field/use-field-binding.js +2 -2
  426. package/dist/components/form/Form/use-field/use-field-props.js +4 -4
  427. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  428. package/dist/components/form/Form/use-field/use-field.d.ts +0 -1
  429. package/dist/components/form/Form/use-field/use-field.js +2 -2
  430. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  431. package/dist/components/form/Form/use-form.js +1 -1
  432. package/dist/components/form/Form/validation.js +1 -1
  433. package/dist/components/form/Label.d.ts +0 -1
  434. package/dist/components/form/Label.js +1 -1
  435. package/dist/components/form/Label.js.map +1 -1
  436. package/dist/components/form/field-chrome.js +1 -1
  437. package/dist/components/form/field-layout.js +1 -1
  438. package/dist/components/form/field-layout.js.map +1 -1
  439. package/dist/components/form/index.d.ts +2 -1
  440. package/dist/components/form/legacy-tooltip.js +1 -1
  441. package/dist/components/form/validation/ValidationIndicator.d.ts +0 -1
  442. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  443. package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
  444. package/dist/components/form/validation/resolve-validation-props.d.ts +0 -1
  445. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  446. package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
  447. package/dist/components/form/validation/use-validation-props.js +1 -1
  448. package/dist/components/form/validation/use-validation-props.js.map +1 -1
  449. package/dist/components/form/wrapper.d.ts +0 -1
  450. package/dist/components/form/wrapper.js +1 -1
  451. package/dist/components/form/wrapper.js.map +1 -1
  452. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  453. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  454. package/dist/components/layout/Flex.js +1 -1
  455. package/dist/components/layout/Flow.js +1 -1
  456. package/dist/components/layout/Grid.js +1 -1
  457. package/dist/components/layout/Panel.js +1 -1
  458. package/dist/components/layout/Prefix.js +1 -1
  459. package/dist/components/layout/Prefix.js.map +1 -1
  460. package/dist/components/layout/ResizablePanel.js +2 -2
  461. package/dist/components/layout/Space.js +1 -1
  462. package/dist/components/layout/Suffix.js +1 -1
  463. package/dist/components/layout/Suffix.js.map +1 -1
  464. package/dist/components/navigation/Pagination/Pagination.js +3 -3
  465. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  466. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  467. package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
  468. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  469. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  470. package/dist/components/navigation/Tabs/TabButton.js +4 -4
  471. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  472. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  473. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  474. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  475. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  476. package/dist/components/navigation/Tabs/Tabs.js +2 -2
  477. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  478. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  479. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  480. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  481. package/dist/components/navigation/Tabs/segmented-styles.js +1 -1
  482. package/dist/components/navigation/Tabs/styled.js +1 -1
  483. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  484. package/dist/components/navigation/Tabs/types.d.ts +2 -2
  485. package/dist/components/navigation/Tabs/types.js +1 -1
  486. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  487. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  488. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  489. package/dist/components/other/Calendar/Calendar.js +1 -1
  490. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  491. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  492. package/dist/components/other/Calendar/CalendarHeader.js +2 -2
  493. package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
  494. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  495. package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
  496. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  497. package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
  498. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  499. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  500. package/dist/components/other/Calendar/styled.js +1 -1
  501. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  502. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  503. package/dist/components/overlays/AlertDialog/AlertDialog.js +2 -2
  504. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  505. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  506. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  507. package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
  508. package/dist/components/overlays/AlertDialog/types.d.ts +0 -1
  509. package/dist/components/overlays/Dialog/Dialog.js +2 -2
  510. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  511. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  512. package/dist/components/overlays/Dialog/DialogForm.js +2 -2
  513. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  514. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +0 -1
  515. package/dist/components/overlays/Dialog/DialogTrigger.js +5 -5
  516. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  517. package/dist/components/overlays/Dialog/ModernDialogForm.js +2 -2
  518. package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
  519. package/dist/components/overlays/Dialog/context.js +1 -1
  520. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  521. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  522. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  523. package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
  524. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
  525. package/dist/components/overlays/Dialog/use-dismiss-confirmation.js +1 -1
  526. package/dist/components/overlays/Dialog/use-dismiss-confirmation.js.map +1 -1
  527. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
  528. package/dist/components/overlays/Modal/Modal.js +2 -2
  529. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  530. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  531. package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
  532. package/dist/components/overlays/Modal/Overlay.js +1 -1
  533. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  534. package/dist/components/overlays/Modal/Popover.js +2 -2
  535. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  536. package/dist/components/overlays/Modal/Tray.js +2 -2
  537. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  538. package/dist/components/overlays/Modal/Underlay.js +1 -1
  539. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  540. package/dist/components/overlays/Notifications/Notification.js +1 -1
  541. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  542. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  543. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  544. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  545. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  546. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  547. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  548. package/dist/components/overlays/Notifications/OverlayContainer.js +2 -2
  549. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  550. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  551. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  552. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  553. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  554. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  555. package/dist/components/overlays/Notifications/index.js +1 -1
  556. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  557. package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
  558. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  559. package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
  560. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  561. package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
  562. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  563. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  564. package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
  565. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  566. package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
  567. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  568. package/dist/components/overlays/Toast/index.js +2 -2
  569. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  570. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  571. package/dist/components/overlays/Toast/useToast.js +2 -2
  572. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  573. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  574. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  575. package/dist/components/overlays/Tooltip/TooltipTrigger.js +3 -3
  576. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  577. package/dist/components/overlays/Tooltip/context.js +1 -1
  578. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  579. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  580. package/dist/components/portal/Portal.js +1 -1
  581. package/dist/components/portal/PortalProvider.js +1 -1
  582. package/dist/components/portal/usePortal.js +1 -1
  583. package/dist/components/shared/DraggableCollection.js +1 -1
  584. package/dist/components/shared/InvalidIcon.js +1 -1
  585. package/dist/components/shared/ValidIcon.js +1 -1
  586. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  587. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  588. package/dist/components/status/Spin/Cube.js +1 -1
  589. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  590. package/dist/components/status/Spin/Spin.js +1 -1
  591. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  592. package/dist/data/item-themes.js +8 -32
  593. package/dist/data/item-themes.js.map +1 -1
  594. package/dist/data/themes.js +1 -1
  595. package/dist/eslint-plugin/defaults.generated.js +5 -1
  596. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  597. package/dist/eslint-plugin/index.js +1 -1
  598. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  599. package/dist/i18n/I18nProvider.js +1 -1
  600. package/dist/i18n/createFormatter.js +1 -1
  601. package/dist/i18n/index.js +4 -4
  602. package/dist/i18n/instance.js +3 -3
  603. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  604. package/dist/i18n/locales/en-US/uikit.js +1 -1
  605. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  606. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  607. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  608. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  609. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  610. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  611. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  612. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  613. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  614. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  615. package/dist/i18n/locales.js +1 -1
  616. package/dist/i18n/namespace.js +1 -1
  617. package/dist/i18n/useFormatter.js +1 -1
  618. package/dist/i18n/useI18n.js +1 -1
  619. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  620. package/dist/icons/AdjustmentsIcon.js +1 -1
  621. package/dist/icons/AiIcon.js +1 -1
  622. package/dist/icons/AreaChartIcon.js +1 -1
  623. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  624. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  625. package/dist/icons/BackwardIcon.js +1 -1
  626. package/dist/icons/BarChartIcon.js +1 -1
  627. package/dist/icons/BellFilledIcon.js +1 -1
  628. package/dist/icons/BellIcon.js +1 -1
  629. package/dist/icons/BooleanIcon.js +1 -1
  630. package/dist/icons/CalendarEditIcon.js +1 -1
  631. package/dist/icons/CalendarIcon.js +1 -1
  632. package/dist/icons/CaretDownIcon.js +1 -1
  633. package/dist/icons/CaretUpIcon.js +1 -1
  634. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  635. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  636. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  637. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  638. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  639. package/dist/icons/ChartBarLineIcon.js +1 -1
  640. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  641. package/dist/icons/ChartBarStackedIcon.js +1 -1
  642. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  643. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  644. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  645. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  646. package/dist/icons/ChartBubbleIcon.js +1 -1
  647. package/dist/icons/ChartDonut2Icon.js +1 -1
  648. package/dist/icons/ChartFunnelIcon.js +1 -1
  649. package/dist/icons/ChartHeatmapIcon.js +1 -1
  650. package/dist/icons/ChartKPIIcon.js +1 -1
  651. package/dist/icons/ChartPie2Icon.js +1 -1
  652. package/dist/icons/ChartScatterIcon.js +1 -1
  653. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  654. package/dist/icons/CheckCircleIcon.js +1 -1
  655. package/dist/icons/CheckIcon.js +1 -1
  656. package/dist/icons/CircleFilledIcon.js +1 -1
  657. package/dist/icons/ClearIcon.js +1 -1
  658. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  659. package/dist/icons/CloseCircleIcon.js +1 -1
  660. package/dist/icons/CloseIcon.js +1 -1
  661. package/dist/icons/CodeIcon.js +1 -1
  662. package/dist/icons/ColumnTotalIcon.js +1 -1
  663. package/dist/icons/CopyIcon.js +1 -1
  664. package/dist/icons/CountIcon.js +1 -1
  665. package/dist/icons/CubeIcon.js +1 -1
  666. package/dist/icons/CubePauseIcon.js +1 -1
  667. package/dist/icons/CubePlayIcon.js +1 -1
  668. package/dist/icons/CurrencyDollarIcon.js +1 -1
  669. package/dist/icons/DangerIcon.js +1 -1
  670. package/dist/icons/DashboardIcon.js +1 -1
  671. package/dist/icons/DatabaseIcon.js +1 -1
  672. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  673. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  674. package/dist/icons/DirectionIcon.js +1 -1
  675. package/dist/icons/DonutIcon.js +1 -1
  676. package/dist/icons/DownIcon.js +1 -1
  677. package/dist/icons/EditIcon.js +1 -1
  678. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  679. package/dist/icons/ExclamationCircleIcon.js +1 -1
  680. package/dist/icons/ExclamationIcon.js +1 -1
  681. package/dist/icons/EyeIcon.js +1 -1
  682. package/dist/icons/EyeInvisibleIcon.js +1 -1
  683. package/dist/icons/FilterIcon.js +1 -1
  684. package/dist/icons/FolderFilledIcon.js +1 -1
  685. package/dist/icons/FolderIcon.js +1 -1
  686. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  687. package/dist/icons/FolderOpenIcon.js +1 -1
  688. package/dist/icons/ForwardIcon.js +1 -1
  689. package/dist/icons/GripVerticalIcon.js +1 -1
  690. package/dist/icons/HierarchyIcon.js +1 -1
  691. package/dist/icons/HierarchyOpenIcon.js +1 -1
  692. package/dist/icons/Icon.js +1 -1
  693. package/dist/icons/InfoCircleIcon.js +1 -1
  694. package/dist/icons/InfoIcon.js +1 -1
  695. package/dist/icons/KeyIcon.js +1 -1
  696. package/dist/icons/LeftIcon.js +1 -1
  697. package/dist/icons/LineChartIcon.js +1 -1
  698. package/dist/icons/LoadingIcon.js +1 -1
  699. package/dist/icons/LockFilledIcon.js +1 -1
  700. package/dist/icons/LockIcon.js +1 -1
  701. package/dist/icons/MoreIcon.js +1 -1
  702. package/dist/icons/NotAllowedIcon.js +1 -1
  703. package/dist/icons/Number123Icon.js +1 -1
  704. package/dist/icons/NumberIcon.js +1 -1
  705. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  706. package/dist/icons/PauseCircleIcon.js +1 -1
  707. package/dist/icons/PauseIcon.js +1 -1
  708. package/dist/icons/PercentageIcon.js +1 -1
  709. package/dist/icons/PieChartIcon.js +1 -1
  710. package/dist/icons/PipetteIcon.js +1 -1
  711. package/dist/icons/PlayCircleIcon.js +1 -1
  712. package/dist/icons/PlayIcon.js +1 -1
  713. package/dist/icons/PlusIcon.js +1 -1
  714. package/dist/icons/ProgressBarIcon.js +1 -1
  715. package/dist/icons/ReloadIcon.js +1 -1
  716. package/dist/icons/ReportIcon.js +1 -1
  717. package/dist/icons/ReturnIcon.js +1 -1
  718. package/dist/icons/RightIcon.js +1 -1
  719. package/dist/icons/RowTotalsIcon.js +1 -1
  720. package/dist/icons/SchemeIcon.js +1 -1
  721. package/dist/icons/SearchIcon.js +1 -1
  722. package/dist/icons/SemanticQueryIcon.js +1 -1
  723. package/dist/icons/SettingsIcon.js +1 -1
  724. package/dist/icons/ShieldFilledIcon.js +1 -1
  725. package/dist/icons/ShieldIcon.js +1 -1
  726. package/dist/icons/SlashIcon.js +1 -1
  727. package/dist/icons/SparklesIcon.js +1 -1
  728. package/dist/icons/SqlIcon.js +1 -1
  729. package/dist/icons/StatsIcon.js +1 -1
  730. package/dist/icons/StopIcon.js +1 -1
  731. package/dist/icons/StringIcon.js +1 -1
  732. package/dist/icons/SubtotalsIcon.js +1 -1
  733. package/dist/icons/SwitchIcon.js +1 -1
  734. package/dist/icons/TableIcon.js +1 -1
  735. package/dist/icons/ThumbsDownIcon.js +1 -1
  736. package/dist/icons/ThumbsUpIcon.js +1 -1
  737. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  738. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  739. package/dist/icons/ThunderboltIcon.js +1 -1
  740. package/dist/icons/TimeIcon.js +1 -1
  741. package/dist/icons/TrashIcon.js +1 -1
  742. package/dist/icons/UnlockIcon.js +1 -1
  743. package/dist/icons/UpIcon.js +1 -1
  744. package/dist/icons/UserGroupIcon.js +1 -1
  745. package/dist/icons/UserIcon.js +1 -1
  746. package/dist/icons/UserLockIcon.js +1 -1
  747. package/dist/icons/ViewIcon.js +1 -1
  748. package/dist/icons/WarningFilledIcon.js +1 -1
  749. package/dist/icons/WarningIcon.js +1 -1
  750. package/dist/icons/wrap-icon.js +1 -1
  751. package/dist/index.d.ts +29 -27
  752. package/dist/index.js +69 -69
  753. package/dist/probe/canonicalize.js +1 -1
  754. package/dist/probe/css.js +1 -1
  755. package/dist/probe/index.js +1 -1
  756. package/dist/provider.js +2 -2
  757. package/dist/providers/TrackingProvider.js +1 -1
  758. package/dist/providers/navigation-url.js +1 -1
  759. package/dist/providers/navigationAdapter.default.js +1 -1
  760. package/dist/providers/use-navigation.js +1 -1
  761. package/dist/tokens/all-tokens.js +1 -1
  762. package/dist/tokens/base.js +1 -1
  763. package/dist/tokens/color-seed.js +1 -1
  764. package/dist/tokens/color-theme.js +1 -1
  765. package/dist/tokens/colors.js +1 -1
  766. package/dist/tokens/layout.js +1 -1
  767. package/dist/tokens/lazy-styles.js +1 -1
  768. package/dist/tokens/legacy-color.js +1 -1
  769. package/dist/tokens/palette-config.js +1 -1
  770. package/dist/tokens/palette.js +23 -11
  771. package/dist/tokens/palette.js.map +1 -1
  772. package/dist/tokens/resolve.js +2 -2
  773. package/dist/tokens/shadows.js +1 -1
  774. package/dist/tokens/sizes.js +1 -1
  775. package/dist/tokens/spacing.js +1 -1
  776. package/dist/tokens/typography.js +1 -1
  777. package/dist/utils/ResizeSensor.js +1 -1
  778. package/dist/utils/colors.js +1 -1
  779. package/dist/utils/dotize.js +1 -1
  780. package/dist/utils/index.d.ts +1 -1
  781. package/dist/utils/is-dev-env.js +1 -1
  782. package/dist/utils/modules.js +1 -1
  783. package/dist/utils/promise.js +1 -1
  784. package/dist/utils/raf.js +1 -1
  785. package/dist/utils/random.js +1 -1
  786. package/dist/utils/range.js +1 -1
  787. package/dist/utils/react/RenderCache.js +1 -1
  788. package/dist/utils/react/Slots.js +1 -1
  789. package/dist/utils/react/chain.js +1 -1
  790. package/dist/utils/react/disabledProps.js +1 -1
  791. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  792. package/dist/utils/react/index.d.ts +3 -3
  793. package/dist/utils/react/index.js +13 -13
  794. package/dist/utils/react/interactions.js +1 -1
  795. package/dist/utils/react/isTextOnly.js +1 -1
  796. package/dist/utils/react/mapProps.js +1 -1
  797. package/dist/utils/react/mergeProps.js +1 -1
  798. package/dist/utils/react/nullableValue.js +1 -1
  799. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  800. package/dist/utils/react/programmaticFocus.js +1 -1
  801. package/dist/utils/react/resolveIcon.js +1 -1
  802. package/dist/utils/react/sharedStore.js +1 -1
  803. package/dist/utils/react/useBufferedValue.js +1 -1
  804. package/dist/utils/react/useCombinedRefs.js +1 -1
  805. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  806. package/dist/utils/react/useEventBus.js +1 -1
  807. package/dist/utils/react/useId.js +1 -1
  808. package/dist/utils/react/useIsDarwin.js +1 -1
  809. package/dist/utils/react/useKeySymbols.js +1 -1
  810. package/dist/utils/react/useLayoutEffect.js +1 -1
  811. package/dist/utils/react/useLocalStorage.js +1 -1
  812. package/dist/utils/react/useMergeStyles.js +1 -1
  813. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  814. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  815. package/dist/utils/react/usePopoverSync.js +1 -1
  816. package/dist/utils/react/useQaProps.js +1 -1
  817. package/dist/utils/react/useScheme.js +1 -1
  818. package/dist/utils/react/useViewportSize.js +1 -1
  819. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  820. package/dist/utils/selection.js +1 -1
  821. package/dist/utils/styles.js +1 -1
  822. package/dist/utils/tree.js +1 -1
  823. package/dist/utils/warnings.js +1 -1
  824. package/dist/version.js +2 -2
  825. package/docs/components/actions/Button.md +10 -0
  826. package/docs/components/actions/ButtonSplit.md +1 -1
  827. package/docs/glaze/contrast.mdx +751 -0
  828. package/docs/glaze/exporting.mdx +635 -0
  829. package/docs/glaze/getting-started.mdx +487 -0
  830. package/docs/glaze/hdr.mdx +523 -0
  831. package/docs/glaze/methodology.mdx +979 -0
  832. package/docs/glaze/migration.md +476 -285
  833. package/docs/glaze/mixes.mdx +348 -0
  834. package/docs/glaze/okhst.mdx +692 -0
  835. package/docs/glaze/reference/color-definitions.md +552 -0
  836. package/docs/glaze/reference/color-tokens.md +421 -0
  837. package/docs/glaze/reference/configuration.md +532 -0
  838. package/docs/glaze/reference/contrast.md +279 -0
  839. package/docs/glaze/reference/index.md +225 -0
  840. package/docs/glaze/reference/output.md +714 -0
  841. package/docs/glaze/reference/palette.md +435 -0
  842. package/docs/glaze/reference/theme.md +332 -0
  843. package/docs/glaze/reference/utilities.md +646 -0
  844. package/docs/glaze/schemes.mdx +644 -0
  845. package/docs/glaze/shadows-and-glows.mdx +550 -0
  846. package/package.json +4 -4
  847. package/dist/components/actions/index.js +0 -29
  848. package/dist/components/actions/index.js.map +0 -1
  849. package/dist/components/fields/ListBoxPopover/ListBoxPopover.d.ts +0 -4
  850. package/dist/components/fields/ListBoxPopover/index.d.ts +0 -5
  851. package/dist/components/overlays/Modal/Modal.d.ts +0 -3
  852. package/dist/components/overlays/Modal/Popover.d.ts +0 -7
  853. package/dist/components/overlays/Modal/Tray.d.ts +0 -5
  854. package/dist/components/overlays/Modal/Underlay.d.ts +0 -3
  855. package/dist/components/overlays/Modal/index.d.ts +0 -8
  856. package/docs/glaze/api.md +0 -2021
  857. package/docs/glaze/methodology.md +0 -686
  858. package/docs/glaze/okhst.md +0 -207
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutContainer.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","mergeStyles","Styles","tasty","ForwardedRef","forwardRef","HTMLAttributes","ReactNode","useCombinedRefs","extractStyles","LayoutContextReset","ContainerElement","as","qa","styles","display","flow","flexGrow","flexShrink","placeItems","placeContent","overflow","scrollbar","padding","placeSelf","border","Inner","$","boxSizing","width","CubeLayoutContainerProps","children","innerStyles","innerRef","HTMLDivElement","innerProps","LayoutContainer","props","ref","_c","innerStylesProp","innerRefProp","otherProps","hasInnerStyles","Object","keys","length","finalStyles","combinedInnerRef","T0","t0","eventProps","t1","t2","t3","_LayoutContainer","displayName","_c"],"sources":["../../../../src/components/content/Layout/LayoutContainer.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n mergeStyles,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, HTMLAttributes, ReactNode } from 'react';\n\nimport { useCombinedRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { LayoutContextReset } from './LayoutContext';\n\nconst ContainerElement = tasty({\n as: 'div',\n qa: 'LayoutContainer',\n styles: {\n display: 'flex',\n flow: 'column',\n flexGrow: 1,\n flexShrink: 1,\n placeItems: 'center start',\n placeContent: 'stretch',\n overflow: 'auto',\n scrollbar: 'thin',\n padding: '$content-padding',\n placeSelf: 'stretch',\n border: {\n '': 0,\n '!:last-child': '($layout-border-size, 1bw) solid #border bottom',\n },\n\n Inner: {\n $: '>',\n placeSelf: 'center',\n display: 'flex',\n flow: 'column',\n boxSizing: 'border-box',\n width: '40x 100% 120x',\n flexGrow: 1,\n\n '$layout-border-size': '0',\n },\n },\n});\n\nexport interface CubeLayoutContainerProps\n extends BaseProps, ContainerStyleProps {\n children?: ReactNode;\n /** Custom styles for container and inner elements */\n styles?: Styles;\n /** Custom styles for the inner element */\n innerStyles?: Styles;\n /** Ref for the inner content element */\n innerRef?: ForwardedRef<HTMLDivElement>;\n /** Props to spread on the Inner sub-element */\n innerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\nfunction LayoutContainer(\n props: CubeLayoutContainerProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n styles,\n innerStyles: innerStylesProp,\n innerRef: innerRefProp,\n innerProps,\n ...otherProps\n } = props;\n const innerStyles = extractStyles(\n otherProps,\n CONTAINER_STYLES,\n innerStylesProp,\n );\n\n const hasInnerStyles = Object.keys(innerStyles).length > 0;\n\n const finalStyles = mergeStyles(\n styles,\n // oxlint-disable-next-line tasty/no-runtime-styles-mutation -- forwards the consumer's `innerStyles` and container style props to `Inner`\n hasInnerStyles ? { Inner: innerStyles } : null,\n );\n\n const combinedInnerRef = useCombinedRefs(innerRefProp);\n\n return (\n <ContainerElement\n ref={ref}\n {...filterBaseProps(otherProps, { eventProps: true })}\n styles={finalStyles}\n >\n <div ref={combinedInnerRef} data-element=\"Inner\" {...innerProps}>\n <LayoutContextReset>{children}</LayoutContextReset>\n </div>\n </ContainerElement>\n );\n}\n\nconst _LayoutContainer = forwardRef(LayoutContainer);\n\n_LayoutContainer.displayName = 'Layout.Container';\n\nexport { _LayoutContainer as LayoutContainer };\n"],"mappings":";;;;;;;;;AAgBA,MAAMc,mBAAmBR,MAAM;CAC7BS,IAAI;CACJC,IAAI;CACJC,QAAQ;EACNC,SAAS;EACTC,MAAM;EACNC,UAAU;EACVC,YAAY;EACZC,YAAY;EACZC,cAAc;EACdC,UAAU;EACVC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,QAAQ;GACN,IAAI;GACJ,gBAAgB;EAClB;EAEAC,OAAO;GACLC,GAAG;GACHH,WAAW;GACXT,SAAS;GACTC,MAAM;GACNY,WAAW;GACXC,OAAO;GACPZ,UAAU;GAEV,uBAAuB;EACzB;CACF;AACF,CAAC;AAeD,SAAAmB,gBAAAC,OAAAC,KAAA;CAAA,MAAAX,IAAAY,EAAA,EAAA;CAIE,MAAA,EAAAR,UAAAjB,QAAAkB,aAAAQ,iBAAAP,UAAAQ,cAAAN,YAAA,GAAAO,eAOIL;CACJ,MAAAL,cAAoBvB,cAClBiC,YACA5C,kBACA0C,eACF;CAEA,MAAAG,iBAAuBC,OAAMC,KAAMb,WAAW,CAAC,CAAAc,SAAU;CAEzD,MAAAC,cAAoB9C,YAClBa,QAEA6B,iBAAA,EAAAjB,OAA0BM,YAAmB,IAA7C,IACF;CAEA,MAAAgB,mBAAyBxC,gBAAgBiC,YAAY;CAGlD,MAAAQ,KAAAtC;CAEK,MAAAuC,KAAAlD,gBAAgB0C,YAAY,EAAAS,YAAc,KAAK,CAAC;CAAC,IAAAC;CAAA,IAAAzB,EAAA,OAAAI,UAAA;EAInDqB,KAAA,oBAAC,oBAAD,EAAqBrB,SAAF,CAAA;EAAgCJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAyB;CAAA,OAAAA,KAAAzB,EAAA;CAAA,IAAA0B;CAAA,IAAA1B,EAAA,OAAAqB,oBAAArB,EAAA,OAAAQ,cAAAR,EAAA,OAAAyB,IAAA;EADrDC,KAAA,oBAAA,OAAA;GAAUL,KAAAA;GAA+B,gBAAA;GAAO,GAAKb;GACnDiB,UAAAA;EACI,CAAA;EAAAzB,EAAA,KAAAqB;EAAArB,EAAA,KAAAQ;EAAAR,EAAA,KAAAyB;EAAAzB,EAAA,KAAA0B;CAAA,OAAAA,KAAA1B,EAAA;CAAA,IAAA2B;CAAA,IAAA3B,EAAA,OAAAsB,MAAAtB,EAAA,OAAAoB,eAAApB,EAAA,OAAAW,OAAAX,EAAA,OAAAuB,MAAAvB,EAAA,QAAA0B,IAAA;EAPRC,KAAA,oBAAC,IAAD;GACOhB;GAAG,GACJY;GACIH,QAAAA;GAERM,UAAAA;EALe,CAAA;EAQE1B,EAAA,KAAAsB;EAAAtB,EAAA,KAAAoB;EAAApB,EAAA,KAAAW;EAAAX,EAAA,KAAAuB;EAAAvB,EAAA,MAAA0B;EAAA1B,EAAA,MAAA2B;CAAA,OAAAA,KAAA3B,EAAA;CAAA,OARnB2B;AAQmB;AAIvB,MAAMC,mBAAmBlD,WAAW+B,eAAe;AAEnDmB,iBAAiBC,cAAc"}
1
+ {"version":3,"file":"LayoutContainer.js","names":["BaseProps","CONTAINER_STYLES","ContainerStyleProps","filterBaseProps","mergeStyles","Styles","tasty","ForwardedRef","forwardRef","HTMLAttributes","ReactNode","useCombinedRefs","extractStyles","LayoutContextReset","ContainerElement","as","qa","styles","display","flow","flexGrow","flexShrink","placeItems","placeContent","overflow","scrollbar","padding","placeSelf","border","Inner","$","boxSizing","width","CubeLayoutContainerProps","children","innerStyles","innerRef","HTMLDivElement","innerProps","LayoutContainer","props","ref","_c","innerStylesProp","innerRefProp","otherProps","hasInnerStyles","Object","keys","length","finalStyles","combinedInnerRef","T0","t0","eventProps","t1","t2","t3","_LayoutContainer","displayName","_c"],"sources":["../../../../src/components/content/Layout/LayoutContainer.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n mergeStyles,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, HTMLAttributes, ReactNode } from 'react';\n\nimport { useCombinedRefs } from '../../../utils/react/useCombinedRefs';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { LayoutContextReset } from './LayoutContext';\n\nconst ContainerElement = tasty({\n as: 'div',\n qa: 'LayoutContainer',\n styles: {\n display: 'flex',\n flow: 'column',\n flexGrow: 1,\n flexShrink: 1,\n placeItems: 'center start',\n placeContent: 'stretch',\n overflow: 'auto',\n scrollbar: 'thin',\n padding: '$content-padding',\n placeSelf: 'stretch',\n border: {\n '': 0,\n '!:last-child': '($layout-border-size, 1bw) solid #border bottom',\n },\n\n Inner: {\n $: '>',\n placeSelf: 'center',\n display: 'flex',\n flow: 'column',\n boxSizing: 'border-box',\n width: '40x 100% 120x',\n flexGrow: 1,\n\n '$layout-border-size': '0',\n },\n },\n});\n\nexport interface CubeLayoutContainerProps\n extends BaseProps, ContainerStyleProps {\n children?: ReactNode;\n /** Custom styles for container and inner elements */\n styles?: Styles;\n /** Custom styles for the inner element */\n innerStyles?: Styles;\n /** Ref for the inner content element */\n innerRef?: ForwardedRef<HTMLDivElement>;\n /** Props to spread on the Inner sub-element */\n innerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\nfunction LayoutContainer(\n props: CubeLayoutContainerProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n styles,\n innerStyles: innerStylesProp,\n innerRef: innerRefProp,\n innerProps,\n ...otherProps\n } = props;\n const innerStyles = extractStyles(\n otherProps,\n CONTAINER_STYLES,\n innerStylesProp,\n );\n\n const hasInnerStyles = Object.keys(innerStyles).length > 0;\n\n const finalStyles = mergeStyles(\n styles,\n // oxlint-disable-next-line tasty/no-runtime-styles-mutation -- forwards the consumer's `innerStyles` and container style props to `Inner`\n hasInnerStyles ? { Inner: innerStyles } : null,\n );\n\n const combinedInnerRef = useCombinedRefs(innerRefProp);\n\n return (\n <ContainerElement\n ref={ref}\n {...filterBaseProps(otherProps, { eventProps: true })}\n styles={finalStyles}\n >\n <div ref={combinedInnerRef} data-element=\"Inner\" {...innerProps}>\n <LayoutContextReset>{children}</LayoutContextReset>\n </div>\n </ContainerElement>\n );\n}\n\nconst _LayoutContainer = forwardRef(LayoutContainer);\n\n_LayoutContainer.displayName = 'Layout.Container';\n\nexport { _LayoutContainer as LayoutContainer };\n"],"mappings":";;;;;;;;;AAgBA,MAAMc,mBAAmBR,MAAM;CAC7BS,IAAI;CACJC,IAAI;CACJC,QAAQ;EACNC,SAAS;EACTC,MAAM;EACNC,UAAU;EACVC,YAAY;EACZC,YAAY;EACZC,cAAc;EACdC,UAAU;EACVC,WAAW;EACXC,SAAS;EACTC,WAAW;EACXC,QAAQ;GACN,IAAI;GACJ,gBAAgB;EAClB;EAEAC,OAAO;GACLC,GAAG;GACHH,WAAW;GACXT,SAAS;GACTC,MAAM;GACNY,WAAW;GACXC,OAAO;GACPZ,UAAU;GAEV,uBAAuB;EACzB;CACF;AACF,CAAC;AAeD,SAAAmB,gBAAAC,OAAAC,KAAA;CAAA,MAAAX,IAAAY,EAAA,EAAA;CAIE,MAAA,EAAAR,UAAAjB,QAAAkB,aAAAQ,iBAAAP,UAAAQ,cAAAN,YAAA,GAAAO,eAOIL;CACJ,MAAAL,cAAoBvB,cAClBiC,YACA5C,kBACA0C,eACF;CAEA,MAAAG,iBAAuBC,OAAMC,KAAMb,WAAW,CAAC,CAAAc,SAAU;CAEzD,MAAAC,cAAoB9C,YAClBa,QAEA6B,iBAAA,EAAAjB,OAA0BM,YAAmB,IAA7C,IACF;CAEA,MAAAgB,mBAAyBxC,gBAAgBiC,YAAY;CAGlD,MAAAQ,KAAAtC;CAEK,MAAAuC,KAAAlD,gBAAgB0C,YAAY,EAAAS,YAAc,KAAK,CAAC;CAAC,IAAAC;CAAA,IAAAzB,EAAA,OAAAI,UAAA;EAInDqB,KAAA,oBAAC,oBAAD,EAAqBrB,SAAF,CAAA;EAAgCJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAyB;CAAA,OAAAA,KAAAzB,EAAA;CAAA,IAAA0B;CAAA,IAAA1B,EAAA,OAAAqB,oBAAArB,EAAA,OAAAQ,cAAAR,EAAA,OAAAyB,IAAA;EADrDC,KAAA,oBAAA,OAAA;GAAUL,KAAAA;GAA+B,gBAAA;GAAO,GAAKb;GACnDiB,UAAAA;EACI,CAAA;EAAAzB,EAAA,KAAAqB;EAAArB,EAAA,KAAAQ;EAAAR,EAAA,KAAAyB;EAAAzB,EAAA,KAAA0B;CAAA,OAAAA,KAAA1B,EAAA;CAAA,IAAA2B;CAAA,IAAA3B,EAAA,OAAAsB,MAAAtB,EAAA,OAAAoB,eAAApB,EAAA,OAAAW,OAAAX,EAAA,OAAAuB,MAAAvB,EAAA,QAAA0B,IAAA;EAPRC,KAAA,oBAAC,IAAD;GACOhB;GAAG,GACJY;GACIH,QAAAA;GAERM,UAAAA;EALe,CAAA;EAQE1B,EAAA,KAAAsB;EAAAtB,EAAA,KAAAoB;EAAApB,EAAA,KAAAW;EAAAX,EAAA,KAAAuB;EAAAvB,EAAA,MAAA0B;EAAA1B,EAAA,MAAA2B;CAAA,OAAAA,KAAA3B,EAAA;CAAA,OARnB2B;AAQmB;AAIvB,MAAMC,mBAAmBlD,WAAW+B,eAAe;AAEnDmB,iBAAiBC,cAAc"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | 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 +1 @@
1
- {"version":3,"file":"LayoutContent.js","names":["BaseProps","ContainerStyleProps","filterBaseProps","INNER_STYLES","mergeStyles","Mods","OUTER_STYLES","tasty","ForwardedRef","forwardRef","HTMLAttributes","ReactNode","useRef","useHover","useCombinedRefs","extractStyles","useTinyScrollbar","LayoutContextReset","ContentElement","as","qa","styles","container","position","display","gridColumns","gridRows","placeContent","placeItems","placeSelf","flexGrow","flexShrink","height","overflow","boxSizing","border","Inner","$","flow","padding","scrollbar","ScrollbarV","right","top","width","radius","fill","opacity","transition","pointerEvents","ScrollbarH","bottom","left","ScrollbarType","CubeLayoutContentProps","children","mods","innerRef","HTMLDivElement","innerProps","LayoutContent","props","ref","_c","t0","externalMods","innerRefProp","otherProps","undefined","outerStyles","innerStyles","internalInnerRef","combinedInnerRef","combinedRef","isTinyScrollbar","t1","Symbol","for","hoverProps","isHovered","handleVTokens","handleHTokens","hasOverflowY","hasOverflowX","isScrolling","t2","scrollbarTokens","t3","hovered","scrolling","finalStyles","T0","t4","eventProps","t5","t6","t7","t8","t9","_LayoutContent","displayName","_c"],"sources":["../../../../src/components/content/Layout/LayoutContent.tsx"],"sourcesContent":["import {\n BaseProps,\n ContainerStyleProps,\n filterBaseProps,\n INNER_STYLES,\n mergeStyles,\n Mods,\n OUTER_STYLES,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n useRef,\n} from 'react';\nimport { useHover } from 'react-aria';\n\nimport { useCombinedRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { useTinyScrollbar } from './hooks/useTinyScrollbar';\nimport { LayoutContextReset } from './LayoutContext';\n\nconst ContentElement = tasty({\n as: 'div',\n qa: 'LayoutContent',\n styles: {\n container: 'content / inline-size',\n position: 'relative',\n display: 'grid',\n gridColumns: '1sf',\n gridRows: '1sf',\n placeContent: 'stretch',\n placeItems: 'stretch',\n placeSelf: 'stretch',\n flexGrow: 1,\n flexShrink: 1,\n height: 'min 0',\n overflow: 'hidden',\n boxSizing: 'content-box',\n border: {\n '': 0,\n '!:last-child': '($layout-border-size, 1bw) solid #border bottom',\n },\n\n Inner: {\n $: '>',\n display: 'flex',\n flow: 'column',\n padding: '($content-padding, 1x)',\n overflow: {\n '': 'auto',\n 'scrollbar=none': 'clip',\n },\n placeSelf: 'stretch',\n scrollbar: {\n '': 'auto',\n 'scrollbar=thin': 'thin',\n 'scrollbar=tiny | scrollbar=none': 'none',\n },\n\n '$layout-border-size': '0',\n },\n\n // Custom scrollbar handles (when scrollbar=\"tiny\")\n ScrollbarV: {\n $: '>',\n // It sits a device pixel in from the edge.\n '$scrollbar-inset': '1px',\n position: 'absolute',\n right: '$scrollbar-inset',\n top: '$scrollbar-v-top',\n width: '1ow',\n height: '$scrollbar-v-height',\n radius: 'round',\n fill: '#dark.35',\n opacity: {\n '': 0,\n '(focused | scrolling) & scrollbar=tiny': 1,\n },\n transition: 'opacity $scrollbar-transition',\n pointerEvents: 'none',\n },\n\n ScrollbarH: {\n $: '>',\n // It sits a device pixel in from the edge.\n '$scrollbar-inset': '1px',\n position: 'absolute',\n bottom: '$scrollbar-inset',\n left: '$scrollbar-h-left',\n height: '1ow',\n width: '$scrollbar-h-width',\n radius: 'round',\n fill: '#dark.35',\n opacity: {\n '': 0,\n '(focused | scrolling) & scrollbar=tiny': 1,\n },\n transition: 'opacity $scrollbar-transition',\n pointerEvents: 'none',\n },\n },\n});\n\nexport type ScrollbarType = 'default' | 'thin' | 'tiny' | 'none';\n\nexport interface CubeLayoutContentProps extends BaseProps, ContainerStyleProps {\n /** Scrollbar style: 'default' | 'thin' | 'tiny' | 'none' */\n scrollbar?: ScrollbarType;\n children?: ReactNode;\n /** Additional modifiers to apply */\n mods?: Mods;\n /** Ref for the inner content element */\n innerRef?: ForwardedRef<HTMLDivElement>;\n /** Props to spread on the Inner sub-element */\n innerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\nfunction LayoutContent(\n props: CubeLayoutContentProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n scrollbar = 'thin',\n styles,\n mods: externalMods,\n innerRef: innerRefProp,\n innerProps,\n ...otherProps\n } = props;\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n const innerStyles = extractStyles(otherProps, INNER_STYLES);\n const internalInnerRef = useRef<HTMLDivElement>(null);\n const combinedInnerRef = useCombinedRefs(innerRefProp, internalInnerRef);\n const combinedRef = useCombinedRefs(ref);\n const isTinyScrollbar = scrollbar === 'tiny';\n const { hoverProps, isHovered } = useHover({});\n\n const {\n handleVTokens,\n handleHTokens,\n hasOverflowY,\n hasOverflowX,\n isScrolling,\n } = useTinyScrollbar(internalInnerRef, isTinyScrollbar);\n\n const scrollbarTokens = isTinyScrollbar\n ? { ...handleVTokens, ...handleHTokens }\n : undefined;\n\n const mods = {\n ...externalMods,\n scrollbar,\n hovered: isHovered,\n scrolling: isScrolling,\n };\n\n // Merge styles: outer styles to root, inner styles to Inner element\n const finalStyles = mergeStyles(\n styles,\n outerStyles,\n // oxlint-disable-next-line tasty/no-runtime-styles-mutation -- forwards the consumer's `innerStyles` to `Inner`\n innerStyles ? { Inner: innerStyles } : null,\n );\n\n return (\n <ContentElement\n ref={combinedRef}\n {...filterBaseProps(otherProps, { eventProps: true })}\n {...hoverProps}\n mods={mods}\n styles={finalStyles}\n tokens={scrollbarTokens}\n >\n <div ref={combinedInnerRef} data-element=\"Inner\" {...innerProps}>\n <LayoutContextReset>{children}</LayoutContextReset>\n </div>\n {isTinyScrollbar && hasOverflowY && <div data-element=\"ScrollbarV\" />}\n {isTinyScrollbar && hasOverflowX && <div data-element=\"ScrollbarH\" />}\n </ContentElement>\n );\n}\n\nconst _LayoutContent = forwardRef(LayoutContent);\n\n_LayoutContent.displayName = 'Layout.Content';\n\nexport { _LayoutContent as LayoutContent };\n"],"mappings":";;;;;;;;;;;AAyBA,MAAMkB,iBAAiBX,MAAM;CAC3BY,IAAI;CACJC,IAAI;CACJC,QAAQ;EACNC,WAAW;EACXC,UAAU;EACVC,SAAS;EACTC,aAAa;EACbC,UAAU;EACVC,cAAc;EACdC,YAAY;EACZC,WAAW;EACXC,UAAU;EACVC,YAAY;EACZC,QAAQ;EACRC,UAAU;EACVC,WAAW;EACXC,QAAQ;GACN,IAAI;GACJ,gBAAgB;EAClB;EAEAC,OAAO;GACLC,GAAG;GACHb,SAAS;GACTc,MAAM;GACNC,SAAS;GACTN,UAAU;IACR,IAAI;IACJ,kBAAkB;GACpB;GACAJ,WAAW;GACXW,WAAW;IACT,IAAI;IACJ,kBAAkB;IAClB,mCAAmC;GACrC;GAEA,uBAAuB;EACzB;EAGAC,YAAY;GACVJ,GAAG;GAEH,oBAAoB;GACpBd,UAAU;GACVmB,OAAO;GACPC,KAAK;GACLC,OAAO;GACPZ,QAAQ;GACRa,QAAQ;GACRC,MAAM;GACNC,SAAS;IACP,IAAI;IACJ,0CAA0C;GAC5C;GACAC,YAAY;GACZC,eAAe;EACjB;EAEAC,YAAY;GACVb,GAAG;GAEH,oBAAoB;GACpBd,UAAU;GACV4B,QAAQ;GACRC,MAAM;GACNpB,QAAQ;GACRY,OAAO;GACPC,QAAQ;GACRC,MAAM;GACNC,SAAS;IACP,IAAI;IACJ,0CAA0C;GAC5C;GACAC,YAAY;GACZC,eAAe;EACjB;CACF;AACF,CAAC;AAgBD,SAAAW,cAAAC,OAAAC,KAAA;CAAA,MAAAzB,IAAA0B,EAAA,EAAA;CAIE,MAAA,EAAAR,UAAAf,WAAAwB,IAAA3C,QAAAmC,MAAAS,cAAAR,UAAAS,cAAAP,YAAA,GAAAQ,eAQIN;CANF,MAAArB,YAAAwB,OAAAI,KAAAA,IAAA,SAAAJ;CAOF,MAAAK,cAAoBtD,cAAcoD,YAAY7D,YAAY;CAC1D,MAAAgE,cAAoBvD,cAAcoD,YAAYhE,YAAY;CAC1D,MAAAoE,mBAAyB3D,OAAuB,IAAI;CACpD,MAAA4D,mBAAyB1D,gBAAgBoD,cAAcK,gBAAgB;CACvE,MAAAE,cAAoB3D,gBAAgBgD,GAAG;CACvC,MAAAY,kBAAwBlC,cAAc;CAAO,IAAAmC;CAAA,IAAAtC,EAAA,OAAAuC,OAAAC,IAAA,2BAAA,GAAA;EACFF,KAAA,CAAC;EAACtC,EAAA,KAAAsC;CAAA,OAAAA,KAAAtC,EAAA;CAA7C,MAAA,EAAAyC,YAAAC,cAAkClE,SAAS8D,EAAE;CAE7C,MAAA,EAAAK,eAAAC,eAAAC,cAAAC,cAAAC,gBAMIpE,iBAAiBuD,kBAAkBG,eAAe;CAAE,IAAAW;CAAA,IAAAhD,EAAA,OAAA4C,iBAAA5C,EAAA,OAAA2C,iBAAA3C,EAAA,OAAAqC,iBAAA;EAEhCW,KAAAX,kBAAA;GAAA,GACfM;GAAa,GAAKC;EACf,IAFYb,KAAAA;EAEX/B,EAAA,KAAA4C;EAAA5C,EAAA,KAAA2C;EAAA3C,EAAA,KAAAqC;EAAArC,EAAA,KAAAgD;CAAA,OAAAA,KAAAhD,EAAA;CAFb,MAAAiD,kBAAwBD;CAEV,IAAAE;CAAA,IAAAlD,EAAA,OAAA4B,gBAAA5B,EAAA,OAAA0C,aAAA1C,EAAA,OAAA+C,eAAA/C,EAAA,OAAAG,WAAA;EAED+C,KAAA;GAAA,GACRtB;GAAYzB;GAAAgD,SAENT;GAASU,WACPL;EACb;EAAC/C,EAAA,KAAA4B;EAAA5B,EAAA,KAAA0C;EAAA1C,EAAA,KAAA+C;EAAA/C,EAAA,KAAAG;EAAAH,EAAA,KAAAkD;CAAA,OAAAA,KAAAlD,EAAA;CALD,MAAAmB,OAAa+B;CAQb,MAAAG,cAAoBtF,YAClBiB,QACAgD,aAEAC,cAAA,EAAAlC,OAAuBkC,YAAmB,IAA1C,IACF;CAGG,MAAAqB,KAAAzE;CAEK,MAAA0E,KAAA1F,gBAAgBiE,YAAY,EAAA0B,YAAc,KAAK,CAAC;CAAC,IAAAC;CAAA,IAAAzD,EAAA,QAAAkB,UAAA;EAOnDuC,KAAA,oBAAC,oBAAD,EAAqBvC,SAAF,CAAA;EAAgClB,EAAA,MAAAkB;EAAAlB,EAAA,MAAAyD;CAAA,OAAAA,KAAAzD,EAAA;CAAA,IAAA0D;CAAA,IAAA1D,EAAA,QAAAmC,oBAAAnC,EAAA,QAAAsB,cAAAtB,EAAA,QAAAyD,IAAA;EADrDC,KAAA,oBAAA,OAAA;GAAUvB,KAAAA;GAA+B,gBAAA;GAAO,GAAKb;GACnDmC,UAAAA;EACI,CAAA;EAAAzD,EAAA,MAAAmC;EAAAnC,EAAA,MAAAsB;EAAAtB,EAAA,MAAAyD;EAAAzD,EAAA,MAAA0D;CAAA,OAAAA,KAAA1D,EAAA;CAAA,IAAA2D;CAAA,IAAA3D,EAAA,QAAA6C,gBAAA7C,EAAA,QAAAqC,iBAAA;EACLsB,KAAAtB,mBAAAQ,gBAAmC,oBAAA,OAAA,EAAkB,gBAAA,aAAY,CAAA;EAAG7C,EAAA,MAAA6C;EAAA7C,EAAA,MAAAqC;EAAArC,EAAA,MAAA2D;CAAA,OAAAA,KAAA3D,EAAA;CAAA,IAAA4D;CAAA,IAAA5D,EAAA,QAAA8C,gBAAA9C,EAAA,QAAAqC,iBAAA;EACpEuB,KAAAvB,mBAAAS,gBAAmC,oBAAA,OAAA,EAAkB,gBAAA,aAAY,CAAA;EAAG9C,EAAA,MAAA8C;EAAA9C,EAAA,MAAAqC;EAAArC,EAAA,MAAA4D;CAAA,OAAAA,KAAA5D,EAAA;CAAA,IAAA6D;CAAA,IAAA7D,EAAA,QAAAsD,MAAAtD,EAAA,QAAAoC,eAAApC,EAAA,QAAAqD,eAAArD,EAAA,QAAAyC,cAAAzC,EAAA,QAAAmB,QAAAnB,EAAA,QAAAiD,mBAAAjD,EAAA,QAAAuD,MAAAvD,EAAA,QAAA0D,MAAA1D,EAAA,QAAA2D,MAAA3D,EAAA,QAAA4D,IAAA;EAZvEC,KAAA,qBAAC,IAAD;GACOzB,KAAAA;GAAW,GACZmB;GAAiD,GACjDd;GACEtB;GACEkC,QAAAA;GACAJ,QAAAA;GANV,UAAA;IAQES;IAGCC;IACAC;GAZY;;EAaE5D,EAAA,MAAAsD;EAAAtD,EAAA,MAAAoC;EAAApC,EAAA,MAAAqD;EAAArD,EAAA,MAAAyC;EAAAzC,EAAA,MAAAmB;EAAAnB,EAAA,MAAAiD;EAAAjD,EAAA,MAAAuD;EAAAvD,EAAA,MAAA0D;EAAA1D,EAAA,MAAA2D;EAAA3D,EAAA,MAAA4D;EAAA5D,EAAA,MAAA6D;CAAA,OAAAA,KAAA7D,EAAA;CAAA,OAbjB6D;AAaiB;AAIrB,MAAMC,iBAAiB1F,WAAWmD,aAAa;AAE/CuC,eAAeC,cAAc"}
1
+ {"version":3,"file":"LayoutContent.js","names":["BaseProps","ContainerStyleProps","filterBaseProps","INNER_STYLES","mergeStyles","Mods","OUTER_STYLES","tasty","ForwardedRef","forwardRef","HTMLAttributes","ReactNode","useRef","useHover","useCombinedRefs","extractStyles","useTinyScrollbar","LayoutContextReset","ContentElement","as","qa","styles","container","position","display","gridColumns","gridRows","placeContent","placeItems","placeSelf","flexGrow","flexShrink","height","overflow","boxSizing","border","Inner","$","flow","padding","scrollbar","ScrollbarV","right","top","width","radius","fill","opacity","transition","pointerEvents","ScrollbarH","bottom","left","ScrollbarType","CubeLayoutContentProps","children","mods","innerRef","HTMLDivElement","innerProps","LayoutContent","props","ref","_c","t0","externalMods","innerRefProp","otherProps","undefined","outerStyles","innerStyles","internalInnerRef","combinedInnerRef","combinedRef","isTinyScrollbar","t1","Symbol","for","hoverProps","isHovered","handleVTokens","handleHTokens","hasOverflowY","hasOverflowX","isScrolling","t2","scrollbarTokens","t3","hovered","scrolling","finalStyles","T0","t4","eventProps","t5","t6","t7","t8","t9","_LayoutContent","displayName","_c"],"sources":["../../../../src/components/content/Layout/LayoutContent.tsx"],"sourcesContent":["import {\n BaseProps,\n ContainerStyleProps,\n filterBaseProps,\n INNER_STYLES,\n mergeStyles,\n Mods,\n OUTER_STYLES,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n useRef,\n} from 'react';\nimport { useHover } from 'react-aria';\n\nimport { useCombinedRefs } from '../../../utils/react/useCombinedRefs';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { useTinyScrollbar } from './hooks/useTinyScrollbar';\nimport { LayoutContextReset } from './LayoutContext';\n\nconst ContentElement = tasty({\n as: 'div',\n qa: 'LayoutContent',\n styles: {\n container: 'content / inline-size',\n position: 'relative',\n display: 'grid',\n gridColumns: '1sf',\n gridRows: '1sf',\n placeContent: 'stretch',\n placeItems: 'stretch',\n placeSelf: 'stretch',\n flexGrow: 1,\n flexShrink: 1,\n height: 'min 0',\n overflow: 'hidden',\n boxSizing: 'content-box',\n border: {\n '': 0,\n '!:last-child': '($layout-border-size, 1bw) solid #border bottom',\n },\n\n Inner: {\n $: '>',\n display: 'flex',\n flow: 'column',\n padding: '($content-padding, 1x)',\n overflow: {\n '': 'auto',\n 'scrollbar=none': 'clip',\n },\n placeSelf: 'stretch',\n scrollbar: {\n '': 'auto',\n 'scrollbar=thin': 'thin',\n 'scrollbar=tiny | scrollbar=none': 'none',\n },\n\n '$layout-border-size': '0',\n },\n\n // Custom scrollbar handles (when scrollbar=\"tiny\")\n ScrollbarV: {\n $: '>',\n // It sits a device pixel in from the edge.\n '$scrollbar-inset': '1px',\n position: 'absolute',\n right: '$scrollbar-inset',\n top: '$scrollbar-v-top',\n width: '1ow',\n height: '$scrollbar-v-height',\n radius: 'round',\n fill: '#dark.35',\n opacity: {\n '': 0,\n '(focused | scrolling) & scrollbar=tiny': 1,\n },\n transition: 'opacity $scrollbar-transition',\n pointerEvents: 'none',\n },\n\n ScrollbarH: {\n $: '>',\n // It sits a device pixel in from the edge.\n '$scrollbar-inset': '1px',\n position: 'absolute',\n bottom: '$scrollbar-inset',\n left: '$scrollbar-h-left',\n height: '1ow',\n width: '$scrollbar-h-width',\n radius: 'round',\n fill: '#dark.35',\n opacity: {\n '': 0,\n '(focused | scrolling) & scrollbar=tiny': 1,\n },\n transition: 'opacity $scrollbar-transition',\n pointerEvents: 'none',\n },\n },\n});\n\nexport type ScrollbarType = 'default' | 'thin' | 'tiny' | 'none';\n\nexport interface CubeLayoutContentProps extends BaseProps, ContainerStyleProps {\n /** Scrollbar style: 'default' | 'thin' | 'tiny' | 'none' */\n scrollbar?: ScrollbarType;\n children?: ReactNode;\n /** Additional modifiers to apply */\n mods?: Mods;\n /** Ref for the inner content element */\n innerRef?: ForwardedRef<HTMLDivElement>;\n /** Props to spread on the Inner sub-element */\n innerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\nfunction LayoutContent(\n props: CubeLayoutContentProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n children,\n scrollbar = 'thin',\n styles,\n mods: externalMods,\n innerRef: innerRefProp,\n innerProps,\n ...otherProps\n } = props;\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n const innerStyles = extractStyles(otherProps, INNER_STYLES);\n const internalInnerRef = useRef<HTMLDivElement>(null);\n const combinedInnerRef = useCombinedRefs(innerRefProp, internalInnerRef);\n const combinedRef = useCombinedRefs(ref);\n const isTinyScrollbar = scrollbar === 'tiny';\n const { hoverProps, isHovered } = useHover({});\n\n const {\n handleVTokens,\n handleHTokens,\n hasOverflowY,\n hasOverflowX,\n isScrolling,\n } = useTinyScrollbar(internalInnerRef, isTinyScrollbar);\n\n const scrollbarTokens = isTinyScrollbar\n ? { ...handleVTokens, ...handleHTokens }\n : undefined;\n\n const mods = {\n ...externalMods,\n scrollbar,\n hovered: isHovered,\n scrolling: isScrolling,\n };\n\n // Merge styles: outer styles to root, inner styles to Inner element\n const finalStyles = mergeStyles(\n styles,\n outerStyles,\n // oxlint-disable-next-line tasty/no-runtime-styles-mutation -- forwards the consumer's `innerStyles` to `Inner`\n innerStyles ? { Inner: innerStyles } : null,\n );\n\n return (\n <ContentElement\n ref={combinedRef}\n {...filterBaseProps(otherProps, { eventProps: true })}\n {...hoverProps}\n mods={mods}\n styles={finalStyles}\n tokens={scrollbarTokens}\n >\n <div ref={combinedInnerRef} data-element=\"Inner\" {...innerProps}>\n <LayoutContextReset>{children}</LayoutContextReset>\n </div>\n {isTinyScrollbar && hasOverflowY && <div data-element=\"ScrollbarV\" />}\n {isTinyScrollbar && hasOverflowX && <div data-element=\"ScrollbarH\" />}\n </ContentElement>\n );\n}\n\nconst _LayoutContent = forwardRef(LayoutContent);\n\n_LayoutContent.displayName = 'Layout.Content';\n\nexport { _LayoutContent as LayoutContent };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | 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 +1 @@
1
- {"version":3,"file":"LayoutContext.js","names":["createContext","MutableRefObject","ReactNode","useCallback","useContext","useMemo","useRef","useState","useEvent","Side","LayoutRefsContextValue","panelContainerRef","HTMLDivElement","isPanelContainerReady","setPanelContainer","element","LayoutRefsContext","useLayoutRefsContext","OverlayDismissCallback","LayoutActionsContextValue","registerPanel","side","size","unregisterPanel","updatePanelSize","setDragging","isDragging","markReady","updateContainerSize","width","height","registerOverlayPanel","dismiss","dismissOverlayPanels","hasTransition","minContentSize","LayoutStateContextValue","panelSizes","Record","isReady","hasOverlayPanels","containerWidth","containerHeight","LayoutActionsContext","LayoutStateContext","LayoutPanelTransitionContext","isClippingPanels","registerPanelTransition","useLayoutActionsContext","useLayoutStateContext","LayoutContextValue","useLayoutContext","$","_c","actions","state","refs","t0","LayoutProviderProps","children","LayoutProvider","t1","t2","undefined","t3","Symbol","for","Set","registeredPanels","t4","overlayPanelCallbacks","setIsPanelContainerReady","t5","current","t6","left","top","right","bottom","setPanelSizes","setIsDragging","setIsReady","setHasOverlayPanels","panelTransitionCount","setPanelTransitionCount","setContainerWidth","setContainerHeight","t7","prev","t8","side_0","size_0","has","Error","isHorizontal","conflictingSides","conflictSide","add","t9","side_1","delete","t10","dragging","t11","t12","t13","forEach","_temp","t14","_temp2","_temp3","t15","prev_0","prev_1","t16","actionsValue","t17","stateValue","t18","refsValue","t19","t20","t21","t22","t23","t24","count_0","count","dismiss_0","LayoutNestedContext","LayoutContextReset","LayoutPanelContextValue","onOpenChange","isOpen","LayoutPanelContext","useLayoutPanelContext","_c"],"sources":["../../../../src/components/content/Layout/LayoutContext.tsx"],"sourcesContent":["import {\n createContext,\n MutableRefObject,\n ReactNode,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useEvent } from '../../../_internal/hooks';\n\nexport type Side = 'left' | 'top' | 'right' | 'bottom';\n\n/**\n * Refs context - stable refs that don't change and don't trigger re-renders.\n * Provides portal container ref for panels to render into.\n */\nexport interface LayoutRefsContextValue {\n /** Container element ref for panels to portal into */\n panelContainerRef: MutableRefObject<HTMLDivElement | null>;\n /** Whether the panel container is mounted and ready for portals */\n isPanelContainerReady: boolean;\n /** Callback ref to set on the panel container element */\n setPanelContainer: (element: HTMLDivElement | null) => void;\n}\n\nexport const LayoutRefsContext = createContext<LayoutRefsContextValue | null>(\n null,\n);\n\nexport function useLayoutRefsContext(): LayoutRefsContextValue | null {\n return useContext(LayoutRefsContext);\n}\n\n/** Callback to dismiss an overlay panel */\nexport type OverlayDismissCallback = () => void;\n\n/**\n * Actions context - stable functions and configuration that don't change.\n * Separating these from state prevents unnecessary re-renders when only state changes.\n */\nexport interface LayoutActionsContextValue {\n /** Register a panel on a specific side with initial size */\n registerPanel: (side: Side, size: number) => void;\n /** Unregister a panel from a specific side */\n unregisterPanel: (side: Side) => void;\n /** Update the size of a registered panel */\n updatePanelSize: (side: Side, size: number) => void;\n /** Set global dragging state (when any panel is being resized) */\n setDragging: (isDragging: boolean) => void;\n /** Mark the layout as ready (after initial mount) */\n markReady: () => void;\n /** Update the container dimensions (called from ResizeObserver) */\n updateContainerSize: (width: number, height: number) => void;\n /** Register an overlay panel's dismiss callback. Returns unregister function. */\n registerOverlayPanel: (dismiss: OverlayDismissCallback) => () => void;\n /** Dismiss all overlay panels */\n dismissOverlayPanels: () => void;\n /** Whether transitions are enabled for panels (stable config value) */\n hasTransition: boolean;\n /** Minimum size reserved for the content area between panels */\n minContentSize: number;\n}\n\n/** State context - reactive state that triggers re-renders */\nexport interface LayoutStateContextValue {\n panelSizes: Record<Side, number>;\n isDragging: boolean;\n isReady: boolean;\n hasOverlayPanels: boolean;\n containerWidth: number;\n containerHeight: number;\n}\n\nexport const LayoutActionsContext =\n createContext<LayoutActionsContextValue | null>(null);\nexport const LayoutStateContext = createContext<LayoutStateContextValue | null>(\n null,\n);\n\n/** Private transition coordination; not part of the public Layout context API. */\nexport const LayoutPanelTransitionContext = createContext<{\n isClippingPanels: boolean;\n registerPanelTransition: () => () => void;\n} | null>(null);\n\nexport function useLayoutActionsContext(): LayoutActionsContextValue | null {\n return useContext(LayoutActionsContext);\n}\n\nexport function useLayoutStateContext(): LayoutStateContextValue | null {\n return useContext(LayoutStateContext);\n}\n\n/** Combined layout context value for convenience */\nexport interface LayoutContextValue\n extends\n LayoutActionsContextValue,\n LayoutStateContextValue,\n LayoutRefsContextValue {}\n\n/**\n * Combined hook that returns all layout context values.\n * Convenience wrapper around the individual context hooks.\n * Returns null if used outside of a Layout component.\n */\nexport function useLayoutContext(): LayoutContextValue | null {\n const actions = useLayoutActionsContext();\n const state = useLayoutStateContext();\n const refs = useLayoutRefsContext();\n\n if (!actions || !state || !refs) {\n return null;\n }\n\n return { ...actions, ...state, ...refs };\n}\n\nexport interface LayoutProviderProps {\n children: ReactNode;\n /** Whether transitions are enabled for panels */\n hasTransition?: boolean;\n /** Minimum size reserved for the content area between panels. Default: 320 */\n minContentSize?: number;\n}\n\nexport function LayoutProvider({\n children,\n hasTransition = false,\n minContentSize = 320,\n}: LayoutProviderProps) {\n const registeredPanels = useRef<Set<Side>>(new Set());\n const overlayPanelCallbacks = useRef<Set<OverlayDismissCallback>>(new Set());\n const panelContainerRef = useRef<HTMLDivElement | null>(null);\n const [isPanelContainerReady, setIsPanelContainerReady] = useState(false);\n\n // Callback ref for panel container - triggers re-render when container mounts\n const setPanelContainer = useEvent((element: HTMLDivElement | null) => {\n panelContainerRef.current = element;\n setIsPanelContainerReady(element !== null);\n });\n\n const [panelSizes, setPanelSizes] = useState<Record<Side, number>>({\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n });\n const [isDragging, setIsDragging] = useState(false);\n const [isReady, setIsReady] = useState(false);\n const [hasOverlayPanels, setHasOverlayPanels] = useState(false);\n const [panelTransitionCount, setPanelTransitionCount] = useState(0);\n const [containerWidth, setContainerWidth] = useState(0);\n const [containerHeight, setContainerHeight] = useState(0);\n\n const updatePanelSize = useEvent((side: Side, size: number) => {\n setPanelSizes((prev) => {\n if (prev[side] === size) return prev;\n return { ...prev, [side]: size };\n });\n });\n\n const registerPanel = useEvent((side: Side, size: number) => {\n if (registeredPanels.current.has(side)) {\n throw new Error(\n `Layout: Only one panel per side is allowed. ` +\n `A panel is already registered on the \"${side}\" side.`,\n );\n }\n\n // Check for axis conflict\n const isHorizontal = side === 'left' || side === 'right';\n const conflictingSides: Side[] = isHorizontal\n ? ['top', 'bottom']\n : ['left', 'right'];\n\n for (const conflictSide of conflictingSides) {\n if (registeredPanels.current.has(conflictSide)) {\n throw new Error(\n `Layout: Panels from different axes cannot be combined. ` +\n `Cannot register \"${side}\" panel when \"${conflictSide}\" panel exists. ` +\n `Use either horizontal (left/right) or vertical (top/bottom) panels.`,\n );\n }\n }\n\n registeredPanels.current.add(side);\n updatePanelSize(side, size);\n });\n\n const unregisterPanel = useEvent((side: Side) => {\n registeredPanels.current.delete(side);\n updatePanelSize(side, 0);\n });\n\n const setDragging = useEvent((dragging: boolean) => {\n setIsDragging(dragging);\n });\n\n const markReady = useEvent(() => {\n setIsReady(true);\n });\n\n const registerOverlayPanel = useEvent((dismiss: OverlayDismissCallback) => {\n overlayPanelCallbacks.current.add(dismiss);\n setHasOverlayPanels(true);\n\n // Return unregister function\n return () => {\n overlayPanelCallbacks.current.delete(dismiss);\n setHasOverlayPanels(overlayPanelCallbacks.current.size > 0);\n };\n });\n\n const dismissOverlayPanels = useEvent(() => {\n overlayPanelCallbacks.current.forEach((dismiss) => dismiss());\n });\n\n const registerPanelTransition = useCallback(() => {\n setPanelTransitionCount((count) => count + 1);\n return () => setPanelTransitionCount((count) => count - 1);\n }, [setPanelTransitionCount]);\n\n const updateContainerSize = useEvent((width: number, height: number) => {\n setContainerWidth((prev) => (prev === width ? prev : width));\n setContainerHeight((prev) => (prev === height ? prev : height));\n });\n\n // Actions context - stable because all callbacks use useEvent\n const actionsValue = useMemo(\n () => ({\n registerPanel,\n unregisterPanel,\n updatePanelSize,\n setDragging,\n markReady,\n updateContainerSize,\n hasTransition,\n minContentSize,\n registerOverlayPanel,\n dismissOverlayPanels,\n }),\n // Only hasTransition and minContentSize can change - the callbacks are\n // stable useEvent ones, listed so React Compiler can preserve the memo.\n [\n registerPanel,\n unregisterPanel,\n updatePanelSize,\n setDragging,\n markReady,\n updateContainerSize,\n hasTransition,\n minContentSize,\n registerOverlayPanel,\n dismissOverlayPanels,\n ],\n );\n\n // State context - changes when state updates\n const stateValue = useMemo(\n () => ({\n panelSizes,\n isDragging,\n isReady,\n hasOverlayPanels,\n containerWidth,\n containerHeight,\n }),\n [\n panelSizes,\n isDragging,\n isReady,\n hasOverlayPanels,\n containerWidth,\n containerHeight,\n ],\n );\n\n // Refs context - includes container ready state\n const refsValue = useMemo(\n () => ({\n panelContainerRef,\n isPanelContainerReady,\n setPanelContainer,\n }),\n [isPanelContainerReady, setPanelContainer],\n );\n\n return (\n <LayoutRefsContext.Provider value={refsValue}>\n <LayoutActionsContext.Provider value={actionsValue}>\n <LayoutStateContext.Provider value={stateValue}>\n <LayoutPanelTransitionContext.Provider\n value={{\n isClippingPanels: panelTransitionCount > 0,\n registerPanelTransition,\n }}\n >\n {children}\n </LayoutPanelTransitionContext.Provider>\n </LayoutStateContext.Provider>\n </LayoutActionsContext.Provider>\n </LayoutRefsContext.Provider>\n );\n}\n\n/**\n * Private: `true` inside a Layout region (Content, Pane, Panel and the other\n * parts that reset the context) and inside a Layout that is itself nested, so\n * a footer rendered there is not page-level. Not reset by `LayoutContextReset`,\n * and not part of the public Layout context API.\n */\nexport const LayoutNestedContext = createContext(false);\n\n/**\n * Provider that resets the layout context for sub-components.\n * Used to prevent panels in nested Layouts from affecting parent layouts.\n */\nexport function LayoutContextReset({ children }: { children: ReactNode }) {\n return (\n <LayoutNestedContext.Provider value>\n <LayoutRefsContext.Provider value={null}>\n <LayoutActionsContext.Provider value={null}>\n <LayoutStateContext.Provider value={null}>\n <LayoutPanelTransitionContext.Provider value={null}>\n {children}\n </LayoutPanelTransitionContext.Provider>\n </LayoutStateContext.Provider>\n </LayoutActionsContext.Provider>\n </LayoutRefsContext.Provider>\n </LayoutNestedContext.Provider>\n );\n}\n\n// Panel context - provides panel-level callbacks to child components\nexport interface LayoutPanelContextValue {\n /** Callback to change the panel's open state */\n onOpenChange: (isOpen: boolean) => void;\n /** Current open state of the panel */\n isOpen: boolean;\n}\n\nexport const LayoutPanelContext = createContext<LayoutPanelContextValue | null>(\n null,\n);\n\nexport function useLayoutPanelContext(): LayoutPanelContextValue | null {\n return useContext(LayoutPanelContext);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"LayoutContext.js","names":["createContext","MutableRefObject","ReactNode","useCallback","useContext","useMemo","useRef","useState","useEvent","Side","LayoutRefsContextValue","panelContainerRef","HTMLDivElement","isPanelContainerReady","setPanelContainer","element","LayoutRefsContext","useLayoutRefsContext","OverlayDismissCallback","LayoutActionsContextValue","registerPanel","side","size","unregisterPanel","updatePanelSize","setDragging","isDragging","markReady","updateContainerSize","width","height","registerOverlayPanel","dismiss","dismissOverlayPanels","hasTransition","minContentSize","LayoutStateContextValue","panelSizes","Record","isReady","hasOverlayPanels","containerWidth","containerHeight","LayoutActionsContext","LayoutStateContext","LayoutPanelTransitionContext","isClippingPanels","registerPanelTransition","useLayoutActionsContext","useLayoutStateContext","LayoutContextValue","useLayoutContext","$","_c","actions","state","refs","t0","LayoutProviderProps","children","LayoutProvider","t1","t2","undefined","t3","Symbol","for","Set","registeredPanels","t4","overlayPanelCallbacks","setIsPanelContainerReady","t5","current","t6","left","top","right","bottom","setPanelSizes","setIsDragging","setIsReady","setHasOverlayPanels","panelTransitionCount","setPanelTransitionCount","setContainerWidth","setContainerHeight","t7","prev","t8","side_0","size_0","has","Error","isHorizontal","conflictingSides","conflictSide","add","t9","side_1","delete","t10","dragging","t11","t12","t13","forEach","_temp","t14","_temp2","_temp3","t15","prev_0","prev_1","t16","actionsValue","t17","stateValue","t18","refsValue","t19","t20","t21","t22","t23","t24","count_0","count","dismiss_0","LayoutNestedContext","LayoutContextReset","LayoutPanelContextValue","onOpenChange","isOpen","LayoutPanelContext","useLayoutPanelContext","_c"],"sources":["../../../../src/components/content/Layout/LayoutContext.tsx"],"sourcesContent":["import {\n createContext,\n MutableRefObject,\n ReactNode,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useEvent } from '../../../_internal/hooks/use-event';\n\nexport type Side = 'left' | 'top' | 'right' | 'bottom';\n\n/**\n * Refs context - stable refs that don't change and don't trigger re-renders.\n * Provides portal container ref for panels to render into.\n */\nexport interface LayoutRefsContextValue {\n /** Container element ref for panels to portal into */\n panelContainerRef: MutableRefObject<HTMLDivElement | null>;\n /** Whether the panel container is mounted and ready for portals */\n isPanelContainerReady: boolean;\n /** Callback ref to set on the panel container element */\n setPanelContainer: (element: HTMLDivElement | null) => void;\n}\n\nexport const LayoutRefsContext = createContext<LayoutRefsContextValue | null>(\n null,\n);\n\nexport function useLayoutRefsContext(): LayoutRefsContextValue | null {\n return useContext(LayoutRefsContext);\n}\n\n/** Callback to dismiss an overlay panel */\nexport type OverlayDismissCallback = () => void;\n\n/**\n * Actions context - stable functions and configuration that don't change.\n * Separating these from state prevents unnecessary re-renders when only state changes.\n */\nexport interface LayoutActionsContextValue {\n /** Register a panel on a specific side with initial size */\n registerPanel: (side: Side, size: number) => void;\n /** Unregister a panel from a specific side */\n unregisterPanel: (side: Side) => void;\n /** Update the size of a registered panel */\n updatePanelSize: (side: Side, size: number) => void;\n /** Set global dragging state (when any panel is being resized) */\n setDragging: (isDragging: boolean) => void;\n /** Mark the layout as ready (after initial mount) */\n markReady: () => void;\n /** Update the container dimensions (called from ResizeObserver) */\n updateContainerSize: (width: number, height: number) => void;\n /** Register an overlay panel's dismiss callback. Returns unregister function. */\n registerOverlayPanel: (dismiss: OverlayDismissCallback) => () => void;\n /** Dismiss all overlay panels */\n dismissOverlayPanels: () => void;\n /** Whether transitions are enabled for panels (stable config value) */\n hasTransition: boolean;\n /** Minimum size reserved for the content area between panels */\n minContentSize: number;\n}\n\n/** State context - reactive state that triggers re-renders */\nexport interface LayoutStateContextValue {\n panelSizes: Record<Side, number>;\n isDragging: boolean;\n isReady: boolean;\n hasOverlayPanels: boolean;\n containerWidth: number;\n containerHeight: number;\n}\n\nexport const LayoutActionsContext =\n createContext<LayoutActionsContextValue | null>(null);\nexport const LayoutStateContext = createContext<LayoutStateContextValue | null>(\n null,\n);\n\n/** Private transition coordination; not part of the public Layout context API. */\nexport const LayoutPanelTransitionContext = createContext<{\n isClippingPanels: boolean;\n registerPanelTransition: () => () => void;\n} | null>(null);\n\nexport function useLayoutActionsContext(): LayoutActionsContextValue | null {\n return useContext(LayoutActionsContext);\n}\n\nexport function useLayoutStateContext(): LayoutStateContextValue | null {\n return useContext(LayoutStateContext);\n}\n\n/** Combined layout context value for convenience */\nexport interface LayoutContextValue\n extends\n LayoutActionsContextValue,\n LayoutStateContextValue,\n LayoutRefsContextValue {}\n\n/**\n * Combined hook that returns all layout context values.\n * Convenience wrapper around the individual context hooks.\n * Returns null if used outside of a Layout component.\n */\nexport function useLayoutContext(): LayoutContextValue | null {\n const actions = useLayoutActionsContext();\n const state = useLayoutStateContext();\n const refs = useLayoutRefsContext();\n\n if (!actions || !state || !refs) {\n return null;\n }\n\n return { ...actions, ...state, ...refs };\n}\n\nexport interface LayoutProviderProps {\n children: ReactNode;\n /** Whether transitions are enabled for panels */\n hasTransition?: boolean;\n /** Minimum size reserved for the content area between panels. Default: 320 */\n minContentSize?: number;\n}\n\nexport function LayoutProvider({\n children,\n hasTransition = false,\n minContentSize = 320,\n}: LayoutProviderProps) {\n const registeredPanels = useRef<Set<Side>>(new Set());\n const overlayPanelCallbacks = useRef<Set<OverlayDismissCallback>>(new Set());\n const panelContainerRef = useRef<HTMLDivElement | null>(null);\n const [isPanelContainerReady, setIsPanelContainerReady] = useState(false);\n\n // Callback ref for panel container - triggers re-render when container mounts\n const setPanelContainer = useEvent((element: HTMLDivElement | null) => {\n panelContainerRef.current = element;\n setIsPanelContainerReady(element !== null);\n });\n\n const [panelSizes, setPanelSizes] = useState<Record<Side, number>>({\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n });\n const [isDragging, setIsDragging] = useState(false);\n const [isReady, setIsReady] = useState(false);\n const [hasOverlayPanels, setHasOverlayPanels] = useState(false);\n const [panelTransitionCount, setPanelTransitionCount] = useState(0);\n const [containerWidth, setContainerWidth] = useState(0);\n const [containerHeight, setContainerHeight] = useState(0);\n\n const updatePanelSize = useEvent((side: Side, size: number) => {\n setPanelSizes((prev) => {\n if (prev[side] === size) return prev;\n return { ...prev, [side]: size };\n });\n });\n\n const registerPanel = useEvent((side: Side, size: number) => {\n if (registeredPanels.current.has(side)) {\n throw new Error(\n `Layout: Only one panel per side is allowed. ` +\n `A panel is already registered on the \"${side}\" side.`,\n );\n }\n\n // Check for axis conflict\n const isHorizontal = side === 'left' || side === 'right';\n const conflictingSides: Side[] = isHorizontal\n ? ['top', 'bottom']\n : ['left', 'right'];\n\n for (const conflictSide of conflictingSides) {\n if (registeredPanels.current.has(conflictSide)) {\n throw new Error(\n `Layout: Panels from different axes cannot be combined. ` +\n `Cannot register \"${side}\" panel when \"${conflictSide}\" panel exists. ` +\n `Use either horizontal (left/right) or vertical (top/bottom) panels.`,\n );\n }\n }\n\n registeredPanels.current.add(side);\n updatePanelSize(side, size);\n });\n\n const unregisterPanel = useEvent((side: Side) => {\n registeredPanels.current.delete(side);\n updatePanelSize(side, 0);\n });\n\n const setDragging = useEvent((dragging: boolean) => {\n setIsDragging(dragging);\n });\n\n const markReady = useEvent(() => {\n setIsReady(true);\n });\n\n const registerOverlayPanel = useEvent((dismiss: OverlayDismissCallback) => {\n overlayPanelCallbacks.current.add(dismiss);\n setHasOverlayPanels(true);\n\n // Return unregister function\n return () => {\n overlayPanelCallbacks.current.delete(dismiss);\n setHasOverlayPanels(overlayPanelCallbacks.current.size > 0);\n };\n });\n\n const dismissOverlayPanels = useEvent(() => {\n overlayPanelCallbacks.current.forEach((dismiss) => dismiss());\n });\n\n const registerPanelTransition = useCallback(() => {\n setPanelTransitionCount((count) => count + 1);\n return () => setPanelTransitionCount((count) => count - 1);\n }, [setPanelTransitionCount]);\n\n const updateContainerSize = useEvent((width: number, height: number) => {\n setContainerWidth((prev) => (prev === width ? prev : width));\n setContainerHeight((prev) => (prev === height ? prev : height));\n });\n\n // Actions context - stable because all callbacks use useEvent\n const actionsValue = useMemo(\n () => ({\n registerPanel,\n unregisterPanel,\n updatePanelSize,\n setDragging,\n markReady,\n updateContainerSize,\n hasTransition,\n minContentSize,\n registerOverlayPanel,\n dismissOverlayPanels,\n }),\n // Only hasTransition and minContentSize can change - the callbacks are\n // stable useEvent ones, listed so React Compiler can preserve the memo.\n [\n registerPanel,\n unregisterPanel,\n updatePanelSize,\n setDragging,\n markReady,\n updateContainerSize,\n hasTransition,\n minContentSize,\n registerOverlayPanel,\n dismissOverlayPanels,\n ],\n );\n\n // State context - changes when state updates\n const stateValue = useMemo(\n () => ({\n panelSizes,\n isDragging,\n isReady,\n hasOverlayPanels,\n containerWidth,\n containerHeight,\n }),\n [\n panelSizes,\n isDragging,\n isReady,\n hasOverlayPanels,\n containerWidth,\n containerHeight,\n ],\n );\n\n // Refs context - includes container ready state\n const refsValue = useMemo(\n () => ({\n panelContainerRef,\n isPanelContainerReady,\n setPanelContainer,\n }),\n [isPanelContainerReady, setPanelContainer],\n );\n\n return (\n <LayoutRefsContext.Provider value={refsValue}>\n <LayoutActionsContext.Provider value={actionsValue}>\n <LayoutStateContext.Provider value={stateValue}>\n <LayoutPanelTransitionContext.Provider\n value={{\n isClippingPanels: panelTransitionCount > 0,\n registerPanelTransition,\n }}\n >\n {children}\n </LayoutPanelTransitionContext.Provider>\n </LayoutStateContext.Provider>\n </LayoutActionsContext.Provider>\n </LayoutRefsContext.Provider>\n );\n}\n\n/**\n * Private: `true` inside a Layout region (Content, Pane, Panel and the other\n * parts that reset the context) and inside a Layout that is itself nested, so\n * a footer rendered there is not page-level. Not reset by `LayoutContextReset`,\n * and not part of the public Layout context API.\n */\nexport const LayoutNestedContext = createContext(false);\n\n/**\n * Provider that resets the layout context for sub-components.\n * Used to prevent panels in nested Layouts from affecting parent layouts.\n */\nexport function LayoutContextReset({ children }: { children: ReactNode }) {\n return (\n <LayoutNestedContext.Provider value>\n <LayoutRefsContext.Provider value={null}>\n <LayoutActionsContext.Provider value={null}>\n <LayoutStateContext.Provider value={null}>\n <LayoutPanelTransitionContext.Provider value={null}>\n {children}\n </LayoutPanelTransitionContext.Provider>\n </LayoutStateContext.Provider>\n </LayoutActionsContext.Provider>\n </LayoutRefsContext.Provider>\n </LayoutNestedContext.Provider>\n );\n}\n\n// Panel context - provides panel-level callbacks to child components\nexport interface LayoutPanelContextValue {\n /** Callback to change the panel's open state */\n onOpenChange: (isOpen: boolean) => void;\n /** Current open state of the panel */\n isOpen: boolean;\n}\n\nexport const LayoutPanelContext = createContext<LayoutPanelContextValue | null>(\n null,\n);\n\nexport function useLayoutPanelContext(): LayoutPanelContextValue | null {\n return useContext(LayoutPanelContext);\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { LayoutContent as _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.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { LayoutNestedContext } from "./LayoutContext.js";
3
3
  import { LayoutContent as _LayoutContent } from "./LayoutContent.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | Cube Dev Team */
2
2
  import { LayoutContent as _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.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | 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 +1 @@
1
- {"version":3,"file":"LayoutHeader.js","names":["IconArrowLeft","tasty","ForwardedRef","forwardRef","Fragment","HTMLAttributes","ReactNode","useMemo","useRef","useI18n","SlashIcon","Button","Link","useAutoTooltip","CubeLayoutContentProps","LayoutContent","HeaderElement","as","qa","styles","container","border","flexShrink","flexGrow","height","Inner","$","display","gridTemplate","gap","placeContent","placeItems","padding","placeSelf","Back","gridArea","margin","Breadcrumbs","flow","preset","color","Title","lineHeight","overflow","textOverflow","whiteSpace","Suffix","Extra","width","Subtitle","CubeLayoutHeaderProps","title","level","suffix","extra","subtitle","breadcrumbs","Array","label","href","onBack","LayoutHeader","props","ref","_c","t","children","mods","otherProps","t0","t1","scrollbar","undefined","titleRef","t2","Symbol","for","targetRef","titleTooltip","t3","t4","tooltip","labelRef","renderWithTooltip","hasBreadcrumbs","length","t5","map","_temp","renderBreadcrumbs","T0","t10","t11","t12","t6","t7","t8","t9","renderTitle","tooltipProps","TitleTag","t13","t14","t15","t16","index","_LayoutHeader","displayName","LayoutContent","_c"],"sources":["../../../../src/components/content/Layout/LayoutHeader.tsx"],"sourcesContent":["import { IconArrowLeft } from '@tabler/icons-react';\nimport { tasty } from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n Fragment,\n HTMLAttributes,\n ReactNode,\n useMemo,\n useRef,\n} from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { SlashIcon } from '../../../icons/SlashIcon';\nimport { Button } from '../../actions/Button/Button';\nimport { Link } from '../../actions/Link/Link';\nimport { useAutoTooltip } from '../use-auto-tooltip';\n\nimport { CubeLayoutContentProps, LayoutContent } from './LayoutContent';\n\nconst HeaderElement = tasty(LayoutContent, {\n as: 'header',\n qa: 'LayoutHeader',\n styles: {\n container: 'none',\n // Header always has bottom border (inherent style)\n border: 'bottom',\n flexShrink: 0,\n flexGrow: 0,\n height: 'min 6x',\n\n Inner: {\n $: '>',\n display: 'grid',\n gridTemplate: `\n \"breadcrumbs breadcrumbs breadcrumbs extra\" auto\n \"back title suffix extra\" max-content\n \".. subtitle subtitle extra\" auto\n / auto minmax(0, max-content) 1fr minmax(0, auto)\n `,\n gap: 0,\n placeContent: 'center stretch',\n placeItems: 'center stretch',\n padding: '0 ($content-padding, 1x)',\n placeSelf: 'center stretch',\n },\n\n Back: {\n $: '> Inner >',\n gridArea: 'back',\n display: 'flex',\n placeItems: 'center',\n margin: '.5x right',\n },\n\n Breadcrumbs: {\n $: '> Inner >',\n gridArea: 'breadcrumbs',\n display: 'flex',\n flow: 'row nowrap',\n placeItems: 'center start',\n gap: '$item-gap',\n preset: 't3 / strong',\n color: '#dark-02',\n },\n\n Title: {\n $: '> Inner >',\n gridArea: 'title',\n preset: {\n '': 'h3',\n 'level=1': 'h1',\n 'level=2': 'h2',\n 'level=3': 'h3',\n 'level=4': 'h4',\n 'level=5': 'h5',\n 'level=6': 'h6',\n },\n lineHeight: 'normal',\n color: '#dark',\n margin: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n\n Suffix: {\n $: '> Inner >',\n gridArea: 'suffix',\n display: 'flex',\n placeItems: 'center',\n },\n\n Extra: {\n $: '> Inner >',\n gridArea: 'extra',\n display: 'flex',\n placeItems: 'center',\n placeSelf: 'center',\n gap: '1x',\n width: 'max 100%',\n },\n\n Subtitle: {\n $: '> Inner >',\n gridArea: 'subtitle',\n preset: 't3',\n color: '#dark-02',\n },\n },\n});\n\nexport interface CubeLayoutHeaderProps extends CubeLayoutContentProps {\n /** Page/section title */\n title?: ReactNode;\n /** Title heading level (1-6) */\n level?: 1 | 2 | 3 | 4 | 5 | 6;\n /** Content next to the title */\n suffix?: ReactNode;\n /** Content on the right side */\n extra?: ReactNode;\n /** Text below the title */\n subtitle?: ReactNode;\n /**\n * Navigation breadcrumbs (max 3 items recommended).\n * Uses Link component which integrates with the navigation provider.\n */\n breadcrumbs?: Array<[label: string, href: string]>;\n /** Callback for the back button. When provided, a back arrow button is rendered to the left of the title. */\n onBack?: () => void;\n}\n\nfunction LayoutHeader(\n props: CubeLayoutHeaderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { t } = useI18n();\n\n const {\n title,\n level = 3,\n suffix,\n extra,\n subtitle,\n breadcrumbs,\n onBack,\n scrollbar = 'tiny',\n children,\n mods,\n ...otherProps\n } = props;\n\n // Use auto tooltip for title overflow detection. The heading is what clips\n // (`overflow: hidden` + ellipsis), so it is both the element measured and\n // the tooltip's anchor — one stable ref for the two, rather than a ref merged\n // afresh on every render, which would re-attach the measuring ref (and\n // rebuild its ResizeObserver) each time the header rendered.\n const titleRef = useRef<HTMLElement>(null!);\n const titleTooltip = useMemo(() => ({ targetRef: titleRef }), []);\n const { labelRef, renderWithTooltip } = useAutoTooltip({\n tooltip: titleTooltip,\n children: typeof title === 'string' ? title : undefined,\n labelRef: titleRef,\n });\n\n const hasBreadcrumbs = breadcrumbs && breadcrumbs.length > 0;\n\n const renderBreadcrumbs = () => {\n if (!hasBreadcrumbs) return null;\n\n return (\n <div data-element=\"Breadcrumbs\">\n {breadcrumbs.map(([label, href], index) => (\n <Fragment key={href}>\n <Link to={href}>{label}</Link>\n <SlashIcon />\n </Fragment>\n ))}\n </div>\n );\n };\n\n const renderTitle = (tooltipProps?: HTMLAttributes<HTMLElement>) => {\n if (!title) return null;\n\n const TitleTag = `h${level}` as 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\n // Measured on the heading itself: an inline wrapper around the text\n // reports a `clientWidth` of 0 and could never read as truncated.\n return (\n <TitleTag\n ref={labelRef}\n data-element=\"Title\"\n data-level={level}\n {...tooltipProps}\n >\n {title}\n </TitleTag>\n );\n };\n\n return (\n <HeaderElement\n {...otherProps}\n ref={ref}\n mods={{ ...mods, level }}\n scrollbar={scrollbar}\n >\n {renderBreadcrumbs()}\n {onBack && (\n <div data-element=\"Back\">\n <Button\n type=\"clear\"\n icon={<IconArrowLeft />}\n aria-label={t('layout.goBack', 'Go back')}\n onPress={onBack}\n />\n </div>\n )}\n {renderWithTooltip(renderTitle, 'bottom')}\n {suffix && <div data-element=\"Suffix\">{suffix}</div>}\n {extra && <div data-element=\"Extra\">{extra}</div>}\n {subtitle && <div data-element=\"Subtitle\">{subtitle}</div>}\n {children}\n </HeaderElement>\n );\n}\n\nconst _LayoutHeader = forwardRef(LayoutHeader);\n\n_LayoutHeader.displayName = 'Layout.Header';\n\nexport { _LayoutHeader as LayoutHeader };\n"],"mappings":"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"}
1
+ {"version":3,"file":"LayoutHeader.js","names":["IconArrowLeft","tasty","ForwardedRef","forwardRef","Fragment","HTMLAttributes","ReactNode","useMemo","useRef","useI18n","SlashIcon","Button","Link","useAutoTooltip","CubeLayoutContentProps","LayoutContent","HeaderElement","as","qa","styles","container","border","flexShrink","flexGrow","height","Inner","$","display","gridTemplate","gap","placeContent","placeItems","padding","placeSelf","Back","gridArea","margin","Breadcrumbs","flow","preset","color","Title","lineHeight","overflow","textOverflow","whiteSpace","Suffix","Extra","width","Subtitle","CubeLayoutHeaderProps","title","level","suffix","extra","subtitle","breadcrumbs","Array","label","href","onBack","LayoutHeader","props","ref","_c","t","children","mods","otherProps","t0","t1","scrollbar","undefined","titleRef","t2","Symbol","for","targetRef","titleTooltip","t3","t4","tooltip","labelRef","renderWithTooltip","hasBreadcrumbs","length","t5","map","_temp","renderBreadcrumbs","T0","t10","t11","t12","t6","t7","t8","t9","renderTitle","tooltipProps","TitleTag","t13","t14","t15","t16","index","_LayoutHeader","displayName","LayoutContent","_c"],"sources":["../../../../src/components/content/Layout/LayoutHeader.tsx"],"sourcesContent":["import { IconArrowLeft } from '@tabler/icons-react';\nimport { tasty } from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n Fragment,\n HTMLAttributes,\n ReactNode,\n useMemo,\n useRef,\n} from 'react';\n\nimport { useI18n } from '../../../i18n/useI18n';\nimport { SlashIcon } from '../../../icons/SlashIcon';\nimport { Button } from '../../actions/Button/Button';\nimport { Link } from '../../actions/Link/Link';\nimport { useAutoTooltip } from '../use-auto-tooltip';\n\nimport { CubeLayoutContentProps, LayoutContent } from './LayoutContent';\n\nconst HeaderElement = tasty(LayoutContent, {\n as: 'header',\n qa: 'LayoutHeader',\n styles: {\n container: 'none',\n // Header always has bottom border (inherent style)\n border: 'bottom',\n flexShrink: 0,\n flexGrow: 0,\n height: 'min 6x',\n\n Inner: {\n $: '>',\n display: 'grid',\n gridTemplate: `\n \"breadcrumbs breadcrumbs breadcrumbs extra\" auto\n \"back title suffix extra\" max-content\n \".. subtitle subtitle extra\" auto\n / auto minmax(0, max-content) 1fr minmax(0, auto)\n `,\n gap: 0,\n placeContent: 'center stretch',\n placeItems: 'center stretch',\n padding: '0 ($content-padding, 1x)',\n placeSelf: 'center stretch',\n },\n\n Back: {\n $: '> Inner >',\n gridArea: 'back',\n display: 'flex',\n placeItems: 'center',\n margin: '.5x right',\n },\n\n Breadcrumbs: {\n $: '> Inner >',\n gridArea: 'breadcrumbs',\n display: 'flex',\n flow: 'row nowrap',\n placeItems: 'center start',\n gap: '$item-gap',\n preset: 't3 / strong',\n color: '#dark-02',\n },\n\n Title: {\n $: '> Inner >',\n gridArea: 'title',\n preset: {\n '': 'h3',\n 'level=1': 'h1',\n 'level=2': 'h2',\n 'level=3': 'h3',\n 'level=4': 'h4',\n 'level=5': 'h5',\n 'level=6': 'h6',\n },\n lineHeight: 'normal',\n color: '#dark',\n margin: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n\n Suffix: {\n $: '> Inner >',\n gridArea: 'suffix',\n display: 'flex',\n placeItems: 'center',\n },\n\n Extra: {\n $: '> Inner >',\n gridArea: 'extra',\n display: 'flex',\n placeItems: 'center',\n placeSelf: 'center',\n gap: '1x',\n width: 'max 100%',\n },\n\n Subtitle: {\n $: '> Inner >',\n gridArea: 'subtitle',\n preset: 't3',\n color: '#dark-02',\n },\n },\n});\n\nexport interface CubeLayoutHeaderProps extends CubeLayoutContentProps {\n /** Page/section title */\n title?: ReactNode;\n /** Title heading level (1-6) */\n level?: 1 | 2 | 3 | 4 | 5 | 6;\n /** Content next to the title */\n suffix?: ReactNode;\n /** Content on the right side */\n extra?: ReactNode;\n /** Text below the title */\n subtitle?: ReactNode;\n /**\n * Navigation breadcrumbs (max 3 items recommended).\n * Uses Link component which integrates with the navigation provider.\n */\n breadcrumbs?: Array<[label: string, href: string]>;\n /** Callback for the back button. When provided, a back arrow button is rendered to the left of the title. */\n onBack?: () => void;\n}\n\nfunction LayoutHeader(\n props: CubeLayoutHeaderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { t } = useI18n();\n\n const {\n title,\n level = 3,\n suffix,\n extra,\n subtitle,\n breadcrumbs,\n onBack,\n scrollbar = 'tiny',\n children,\n mods,\n ...otherProps\n } = props;\n\n // Use auto tooltip for title overflow detection. The heading is what clips\n // (`overflow: hidden` + ellipsis), so it is both the element measured and\n // the tooltip's anchor — one stable ref for the two, rather than a ref merged\n // afresh on every render, which would re-attach the measuring ref (and\n // rebuild its ResizeObserver) each time the header rendered.\n const titleRef = useRef<HTMLElement>(null!);\n const titleTooltip = useMemo(() => ({ targetRef: titleRef }), []);\n const { labelRef, renderWithTooltip } = useAutoTooltip({\n tooltip: titleTooltip,\n children: typeof title === 'string' ? title : undefined,\n labelRef: titleRef,\n });\n\n const hasBreadcrumbs = breadcrumbs && breadcrumbs.length > 0;\n\n const renderBreadcrumbs = () => {\n if (!hasBreadcrumbs) return null;\n\n return (\n <div data-element=\"Breadcrumbs\">\n {breadcrumbs.map(([label, href], index) => (\n <Fragment key={href}>\n <Link to={href}>{label}</Link>\n <SlashIcon />\n </Fragment>\n ))}\n </div>\n );\n };\n\n const renderTitle = (tooltipProps?: HTMLAttributes<HTMLElement>) => {\n if (!title) return null;\n\n const TitleTag = `h${level}` as 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\n // Measured on the heading itself: an inline wrapper around the text\n // reports a `clientWidth` of 0 and could never read as truncated.\n return (\n <TitleTag\n ref={labelRef}\n data-element=\"Title\"\n data-level={level}\n {...tooltipProps}\n >\n {title}\n </TitleTag>\n );\n };\n\n return (\n <HeaderElement\n {...otherProps}\n ref={ref}\n mods={{ ...mods, level }}\n scrollbar={scrollbar}\n >\n {renderBreadcrumbs()}\n {onBack && (\n <div data-element=\"Back\">\n <Button\n type=\"clear\"\n icon={<IconArrowLeft />}\n aria-label={t('layout.goBack', 'Go back')}\n onPress={onBack}\n />\n </div>\n )}\n {renderWithTooltip(renderTitle, 'bottom')}\n {suffix && <div data-element=\"Suffix\">{suffix}</div>}\n {extra && <div data-element=\"Extra\">{extra}</div>}\n {subtitle && <div data-element=\"Subtitle\">{subtitle}</div>}\n {children}\n </HeaderElement>\n );\n}\n\nconst _LayoutHeader = forwardRef(LayoutHeader);\n\n_LayoutHeader.displayName = 'Layout.Header';\n\nexport { _LayoutHeader as LayoutHeader };\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | 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";
5
- import { useDebouncedValue } from "../../../_internal/hooks/use-debounced-value.js";
6
5
  import { useI18n } from "../../../i18n/useI18n.js";
6
+ import { useDebouncedValue } from "../../../_internal/hooks/use-debounced-value.js";
7
7
  import { LayoutContextReset } from "./LayoutContext.js";
8
8
  import { useTinyScrollbar } from "./hooks/useTinyScrollbar.js";
9
9
  import { clampSize } from "./utils.js";
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutPane.js","names":["BaseProps","ContainerStyleProps","filterBaseProps","INNER_STYLES","mergeStyles","OUTER_STYLES","Styles","tasty","ForwardedRef","forwardRef","HTMLAttributes","ReactNode","useCallback","useEffect","useEffectEvent","useRef","useState","useFocusRing","useHover","useMove","useDebouncedValue","useI18n","mergeProps","useCombinedRefs","extractStyles","useTinyScrollbar","ScrollbarType","LayoutContextReset","clampSize","HANDLER_WIDTH","HANDLER_RESERVED","mountedPanes","WeakMap","Element","isHorizontal","adoptSize","drawn","setPaneSize","pane","HTMLElement","size","style","setProperty","getDrawnSize","element","getClientRects","length","NaN","getComputedStyle","parseFloat","width","height","givesWay","flexShrink","getOverflow","container","rect","getBoundingClientRect","scale","offsetWidth","offsetHeight","available","clientWidth","paddingLeft","paddingRight","clientHeight","paddingTop","paddingBottom","used","count","item","Array","from","children","itemStyle","display","position","itemRect","marginLeft","marginRight","marginTop","marginBottom","gap","columnGap","rowGap","Math","max","getPanesBeside","parentElement","flexDirection","startsWith","flexWrap","HTMLCollectionOf","filter","get","Number","isFinite","PaneMove","target","start","ownSize","pointerType","beside","besideSizes","held","maxOverflow","undoMove","move","forEach","index","removeProperty","PaneElement","as","qa","styles","gridColumns","gridRows","placeContent","placeItems","placeSelf","flexGrow","boxSizing","Inner","$","flow","padding","overflow","scrollbar","ScrollbarV","right","top","radius","fill","opacity","transition","pointerEvents","ScrollbarH","bottom","left","ResizeHandler","cursor","disabled","outline","Drag","border","transform","outlineOffset","DragPart","ResizeEdge","CubeLayoutPaneProps","resizeEdge","isResizable","defaultSize","minSize","maxSize","onSizeChange","innerRef","HTMLDivElement","innerProps","PaneResizeHandlerProps","edge","isDisabled","moveProps","ReturnType","onDoubleClick","onHoverChange","isHovered","onFocusChange","isFocused","PaneResizeHandler","props","_c","t","t0","hoverProps","focusProps","isFocusVisible","t1","t2","t3","tabIndex","undefined","role","t4","t5","LayoutPane","ref","providedSize","mods","innerRefProp","otherProps","combinedRef","internalInnerRef","combinedInnerRef","prevProvidedSizeRef","isDragging","setIsDragging","isHandlerHovered","setIsHandlerHovered","isHandlerFocused","setIsHandlerFocused","debouncedHandlerHovered","initialSize","setSize","outerStyles","innerStyles","isTinyScrollbar","Symbol","for","handleVTokens","handleHTokens","hasOverflowY","hasOverflowX","isScrolling","t6","value","clampValue","moveRef","t7","rounded","round","abs","getPropertyValue","map","_temp","side","paneStart","sizes","item_0","item_1","item_2","_temp2","beginMove","t8","move_0","finalSize","pane_0","current","sizes_0","item_4","item_5","index_0","endMove","t9","onMoveStart","onMove","e","delta","step","shiftKey","rawDelta","deltaX","deltaY","pane_1","move_1","next","excess","onMoveEnd","e_0","move_2","t10","drawn_0","t11","pane_2","set","drawn_1","delete","t12","t13","t14","t15","resetSize","parseInt","clampedSize","handleResetSize","t16","scrollbarTokens","t17","t18","hovered","scrolling","handlerHovered","focused","drag","paneMods","finalStyles","t19","t20","t21","paneTokens","T0","t22","eventProps","t23","t24","t25","t26","t27","t28","item_3","_LayoutPane","displayName","_c","mergeProps"],"sources":["../../../../src/components/content/Layout/LayoutPane.tsx"],"sourcesContent":["import {\n BaseProps,\n ContainerStyleProps,\n filterBaseProps,\n INNER_STYLES,\n mergeStyles,\n OUTER_STYLES,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n useCallback,\n useEffect,\n useEffectEvent,\n useRef,\n useState,\n} from 'react';\nimport { useFocusRing, useHover, useMove } from 'react-aria';\n\nimport { useDebouncedValue } from '../../../_internal/hooks';\nimport { useI18n } from '../../../i18n';\nimport { mergeProps, useCombinedRefs } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { useTinyScrollbar } from './hooks/useTinyScrollbar';\nimport { ScrollbarType } from './LayoutContent';\nimport { LayoutContextReset } from './LayoutContext';\nimport { clampSize } from './utils';\n\n// Handler dimensions\nconst HANDLER_WIDTH = 9; // Interactive area\nconst HANDLER_RESERVED = 5; // Space reserved in Inner padding\n\n/** Mounted panes by element: the axis each resizes along, and how it takes a size. */\nconst mountedPanes = new WeakMap<\n Element,\n { isHorizontal: boolean; adoptSize: (drawn: number) => void }\n>();\n\nfunction setPaneSize(pane: HTMLElement, size: number) {\n pane.style.setProperty('--pane-size', `${size}px`);\n}\n\n/** The size an element is drawn at, or `NaN` when it is not drawn. */\nfunction getDrawnSize(element: HTMLElement, isHorizontal: boolean) {\n // Hidden, an element reports the size it is set to.\n if (!element.getClientRects().length) return NaN;\n\n const style = getComputedStyle(element);\n\n return parseFloat(isHorizontal ? style.width : style.height);\n}\n\nfunction givesWay(element: Element) {\n return parseFloat(getComputedStyle(element).flexShrink) > 0;\n}\n\n/** How far a flex container's items run past its content box. */\nfunction getOverflow(container: HTMLElement, isHorizontal: boolean) {\n const style = getComputedStyle(container);\n const rect = container.getBoundingClientRect();\n // Items are measured as drawn, which a zoomed or scaled ancestor makes\n // differ from the container's own layout size.\n const scale =\n (isHorizontal\n ? rect.width / container.offsetWidth\n : rect.height / container.offsetHeight) || 1;\n const available = isHorizontal\n ? container.clientWidth -\n parseFloat(style.paddingLeft) -\n parseFloat(style.paddingRight)\n : container.clientHeight -\n parseFloat(style.paddingTop) -\n parseFloat(style.paddingBottom);\n let used = 0;\n let count = 0;\n\n for (const item of Array.from(container.children)) {\n const itemStyle = getComputedStyle(item);\n\n if (\n itemStyle.display === 'none' ||\n itemStyle.position === 'absolute' ||\n itemStyle.position === 'fixed'\n ) {\n continue;\n }\n\n const itemRect = item.getBoundingClientRect();\n\n used += isHorizontal\n ? itemRect.width / scale +\n parseFloat(itemStyle.marginLeft) +\n parseFloat(itemStyle.marginRight)\n : itemRect.height / scale +\n parseFloat(itemStyle.marginTop) +\n parseFloat(itemStyle.marginBottom);\n count += 1;\n }\n\n const gap = parseFloat(isHorizontal ? style.columnGap : style.rowGap) || 0;\n\n return used + gap * Math.max(count - 1, 0) - available;\n}\n\n/**\n * The other drawn panes that give way along the same axis, when this one gives\n * way in a non-wrapping flex container along it.\n */\nfunction getPanesBeside(pane: HTMLElement, isHorizontal: boolean) {\n const container = pane.parentElement;\n\n if (!container || !givesWay(pane)) return [];\n\n const style = getComputedStyle(container);\n\n if (\n (style.display !== 'flex' && style.display !== 'inline-flex') ||\n style.flexDirection.startsWith('row') !== isHorizontal ||\n style.flexWrap !== 'nowrap'\n ) {\n return [];\n }\n\n return Array.from(container.children as HTMLCollectionOf<HTMLElement>).filter(\n (item) =>\n item !== pane &&\n mountedPanes.get(item)?.isHorizontal === isHorizontal &&\n givesWay(item) &&\n Number.isFinite(getDrawnSize(item, isHorizontal)),\n );\n}\n\ninterface PaneMove {\n /** Where the pointer or keys ask the pane to be. */\n target: number;\n /** The size so far, ahead of the rendered one. */\n size: number;\n /** The size the move begins at. */\n start: number;\n /** The pane's own size before the move. */\n ownSize: string;\n /** What began the move: a pointer or the keyboard. */\n pointerType: string;\n /** The flex container the pane gives way in beside other panes, or `null`. */\n container: HTMLElement | null;\n /** The panes beside it, sized as drawn for the move. */\n beside: HTMLElement[];\n /** Their own sizes before the move. */\n besideSizes: string[];\n /** The panes that hold their size until the move ends. */\n held: HTMLElement[];\n /** How far the container's items may run past it, as they did at the start. */\n maxOverflow: number;\n}\n\n/**\n * Gives the panes beside a move back their own sizes and lets go of every\n * held pane.\n */\nfunction undoMove(move: PaneMove) {\n move.beside.forEach((item, index) =>\n item.style.setProperty('--pane-size', move.besideSizes[index]),\n );\n move.held.forEach((item) => item.style.removeProperty('flex-shrink'));\n}\n\nconst PaneElement = tasty({\n as: 'div',\n qa: 'LayoutPane',\n styles: {\n container: 'pane / inline-size',\n position: 'relative',\n display: 'grid',\n gridColumns: '1sf',\n gridRows: '1sf',\n placeContent: 'stretch',\n placeItems: 'stretch',\n placeSelf: 'stretch',\n // Holds its size. With `flexShrink={1}` it gives way down to its minimum\n // when a flex container runs short.\n flexShrink: 0,\n flexGrow: 0,\n // Size is set via CSS custom property for performance during drag\n width: {\n '': 'auto',\n 'edge=right': '($pane-min-size, 2x) $pane-size $pane-size',\n },\n height: {\n '': '($pane-min-size, 2x) $pane-size $pane-size',\n 'edge=right': 'auto',\n },\n boxSizing: 'content-box',\n\n Inner: {\n $: '>',\n display: 'flex',\n flow: 'column',\n padding: '($content-padding, 1x)',\n // Reserve space for handler on resize edge\n paddingRight: {\n '': '($content-padding, 1x)',\n 'edge=right': `calc(($content-padding, 1x) + ${HANDLER_RESERVED}px)`,\n },\n paddingBottom: {\n '': '($content-padding, 1x)',\n 'edge=bottom': `calc(($content-padding, 1x) + ${HANDLER_RESERVED}px)`,\n },\n overflow: {\n '': 'auto',\n 'scrollbar=none': 'clip',\n },\n placeSelf: 'stretch',\n scrollbar: {\n '': 'thin',\n 'scrollbar=tiny | scrollbar=none': 'none',\n },\n\n '$layout-border-size': '0',\n },\n\n // Custom scrollbar handles (when scrollbar=\"tiny\")\n ScrollbarV: {\n // It sits a device pixel in from the edge.\n '$scrollbar-inset': '1px',\n position: 'absolute',\n right: {\n '': '$scrollbar-inset',\n 'edge=right': `(${HANDLER_RESERVED}px + $scrollbar-inset)`,\n },\n top: '$scrollbar-v-top',\n width: '1ow',\n height: '$scrollbar-v-height',\n radius: 'round',\n fill: '#dark.35',\n opacity: {\n '': 0,\n '(focused | scrolling) & scrollbar=tiny': 1,\n },\n transition: 'opacity $scrollbar-transition',\n pointerEvents: 'none',\n },\n\n ScrollbarH: {\n $: '>',\n // It sits a device pixel in from the edge.\n '$scrollbar-inset': '1px',\n position: 'absolute',\n bottom: {\n '': '$scrollbar-inset',\n 'edge=bottom': `(${HANDLER_RESERVED}px + $scrollbar-inset)`,\n },\n left: '$scrollbar-h-left',\n height: '1ow',\n width: '$scrollbar-h-width',\n radius: 'round',\n fill: '#dark.35',\n opacity: {\n '': 0,\n '(focused | scrolling) & scrollbar=tiny': 1,\n },\n transition: 'opacity $scrollbar-transition',\n pointerEvents: 'none',\n },\n\n // Compact resize handler - only drag dots\n ResizeHandler: {\n position: 'absolute',\n // Size: 9px interactive area\n width: {\n '': '100%',\n 'edge=right': `${HANDLER_WIDTH}px`,\n },\n height: {\n '': `${HANDLER_WIDTH}px`,\n 'edge=right': '100%',\n },\n // Position at edge, centered on the reserved space boundary\n right: {\n '': 'initial',\n 'edge=right': `${(HANDLER_RESERVED - HANDLER_WIDTH) / 2}px`,\n },\n bottom: {\n '': `${(HANDLER_RESERVED - HANDLER_WIDTH) / 2}px`,\n 'edge=right': 'initial',\n },\n top: {\n '': 'initial',\n 'edge=right': 0,\n },\n left: {\n '': 0,\n 'edge=right': 'initial',\n },\n cursor: {\n '': 'row-resize',\n 'edge=right': 'col-resize',\n disabled: 'not-allowed',\n },\n padding: 0,\n outline: 0,\n boxSizing: 'border-box',\n transition: 'theme',\n },\n\n Drag: {\n // Grip dots and their spacing in device pixels, so they stay crisp at\n // any gap.\n '$grip-size': '3px',\n '$dot-gap': '2px',\n display: 'grid',\n gap: '$dot-gap',\n border: 0,\n flow: {\n '': 'row',\n 'edge=right': 'column',\n },\n gridColumns: {\n '': 'repeat(5, $grip-size)',\n 'edge=right': 'auto',\n },\n gridRows: {\n '': 'auto',\n 'edge=right': 'repeat(5, $grip-size)',\n },\n width: {\n '': 'auto',\n 'edge=right': '$grip-size',\n },\n height: {\n '': '$grip-size',\n 'edge=right': 'auto',\n },\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n transition: 'theme',\n radius: 'round',\n outline: {\n '': '0',\n 'focused | drag': '$ring-width #primary-text',\n },\n outlineOffset: '$outline-offset',\n },\n\n DragPart: {\n radius: true,\n fill: {\n '': '#dark-03',\n 'handlerHovered | drag | focused': '#primary-text',\n disabled: '#disabled-surface-text',\n },\n },\n },\n});\n\nexport type ResizeEdge = 'right' | 'bottom';\n\nexport interface CubeLayoutPaneProps extends BaseProps, ContainerStyleProps {\n /** Edge where resize handler appears */\n resizeEdge?: ResizeEdge;\n /** Enable resize functionality */\n isResizable?: boolean;\n /** Controlled size (width for right edge, height for bottom edge) */\n size?: number | string;\n /** Default size for uncontrolled state */\n defaultSize?: number | string;\n /** Minimum size constraint */\n minSize?: number | string;\n /** Maximum size constraint */\n maxSize?: number | string;\n /**\n * Size change callback. With `flexShrink={1}`, also called when another\n * such pane beside it is resized and this pane keeps the size it is drawn\n * at.\n */\n onSizeChange?: (size: number) => void;\n /** Scrollbar style */\n scrollbar?: ScrollbarType;\n /** Custom styles */\n styles?: Styles;\n children?: ReactNode;\n /** Ref for the inner content element */\n innerRef?: ForwardedRef<HTMLDivElement>;\n /** Props to spread on the Inner sub-element */\n innerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\ninterface PaneResizeHandlerProps {\n edge: ResizeEdge;\n isDisabled?: boolean;\n moveProps: ReturnType<typeof useMove>['moveProps'];\n onDoubleClick?: () => void;\n onHoverChange?: (isHovered: boolean) => void;\n onFocusChange?: (isFocused: boolean) => void;\n}\n\nfunction PaneResizeHandler(props: PaneResizeHandlerProps) {\n const {\n edge,\n isDisabled,\n moveProps,\n onDoubleClick,\n onHoverChange,\n onFocusChange,\n } = props;\n const { t } = useI18n();\n const { hoverProps, isHovered } = useHover({\n onHoverChange,\n });\n const { focusProps, isFocusVisible } = useFocusRing();\n const isHorizontal = edge === 'right';\n\n // Notify parent of focus changes\n useEffect(() => {\n onFocusChange?.(isFocusVisible);\n }, [isFocusVisible, onFocusChange]);\n\n return (\n <div\n data-element=\"ResizeHandler\"\n {...mergeProps(hoverProps, focusProps, isDisabled ? {} : moveProps, {\n tabIndex: isDisabled ? undefined : 0,\n role: 'separator',\n 'aria-orientation': isHorizontal ? 'vertical' : 'horizontal',\n 'aria-label':\n edge === 'right'\n ? t('layout.resizePaneRight', 'Resize pane right')\n : t('layout.resizePaneBottom', 'Resize pane bottom'),\n onDoubleClick: isDisabled ? undefined : onDoubleClick,\n })}\n >\n {!isDisabled && (\n <div data-element=\"Drag\">\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n </div>\n )}\n </div>\n );\n}\n\nfunction LayoutPane(\n props: CubeLayoutPaneProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n resizeEdge = 'right',\n isResizable = false,\n size: providedSize,\n defaultSize = 200,\n minSize,\n maxSize,\n onSizeChange,\n scrollbar = 'thin',\n styles,\n mods,\n children,\n innerRef: innerRefProp,\n innerProps,\n ...otherProps\n } = props;\n\n const combinedRef = useCombinedRefs(ref);\n const internalInnerRef = useRef<HTMLDivElement>(null);\n const combinedInnerRef = useCombinedRefs(innerRefProp, internalInnerRef);\n const prevProvidedSizeRef = useRef(providedSize);\n const isHorizontal = resizeEdge === 'right';\n\n // Resize state\n const [isDragging, setIsDragging] = useState(false);\n const [isHandlerHovered, setIsHandlerHovered] = useState(false);\n const [isHandlerFocused, setIsHandlerFocused] = useState(false);\n const debouncedHandlerHovered = useDebouncedValue(isHandlerHovered, 150);\n const [size, setSize] = useState<number>(() => {\n const initialSize =\n typeof providedSize === 'number'\n ? providedSize\n : typeof defaultSize === 'number'\n ? defaultSize\n : 200;\n\n return clampSize(initialSize, minSize, maxSize);\n });\n\n // Extract outer wrapper styles and inner content styles\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n const innerStyles = extractStyles(otherProps, INNER_STYLES);\n\n const isTinyScrollbar = scrollbar === 'tiny';\n const { hoverProps, isHovered } = useHover({});\n\n const {\n handleVTokens,\n handleHTokens,\n hasOverflowY,\n hasOverflowX,\n isScrolling,\n } = useTinyScrollbar(internalInnerRef, isTinyScrollbar);\n\n // Clamp size to min/max constraints\n const clampValue = useCallback(\n (value: number) => clampSize(value, minSize, maxSize),\n [minSize, maxSize],\n );\n\n const moveRef = useRef<PaneMove | null>(null);\n\n const beginMove = (pane: HTMLElement, pointerType: string): PaneMove => {\n const drawn = getDrawnSize(pane, isHorizontal);\n const beside = getPanesBeside(pane, isHorizontal);\n const rounded = Math.round(drawn);\n // Flex shrinking or a CSS minimum can draw the pane at another size than\n // `size`; resize from the one on screen, or the first moves do nothing.\n // Beside other panes the move begins exactly there, so nothing shifts.\n const start = beside.length\n ? drawn\n : Math.abs(rounded - size) >= 1\n ? rounded\n : size;\n const move: PaneMove = {\n target: start,\n size: start,\n start,\n ownSize: pane.style.getPropertyValue('--pane-size'),\n pointerType,\n container: beside.length ? pane.parentElement : null,\n beside,\n besideSizes: beside.map((item) =>\n item.style.getPropertyValue('--pane-size'),\n ),\n held: [],\n maxOverflow: 0,\n };\n\n // Beside other panes that give way, this one would hand them part of every\n // move: flex shares the room by size, and theirs are larger than drawn. So\n // they take the sizes they are drawn at, and this pane holds its size until\n // the move ends, as do the panes before its grip: the room comes from\n // beyond the grip. Keyboard moves start and end within one event, so this\n // goes to the DOM, not through a render. Every size is read before one is\n // written, as each write reflows the rest.\n if (move.container) {\n const side = isHorizontal ? 'left' : 'top';\n const paneStart = pane.getBoundingClientRect()[side];\n const sizes = beside.map((item) => getDrawnSize(item, isHorizontal));\n\n move.maxOverflow = Math.max(getOverflow(move.container, isHorizontal), 0);\n move.held = [\n pane,\n ...beside.filter(\n (item) => item.getBoundingClientRect()[side] < paneStart,\n ),\n ];\n beside.forEach((item, index) => setPaneSize(item, sizes[index]));\n move.held.forEach((item) => item.style.setProperty('flex-shrink', '0'));\n }\n\n return move;\n };\n\n const endMove = (move: PaneMove) => {\n // Round to integer when the move ends and notify parent\n const finalSize = Math.round(clampValue(move.size));\n const pane = combinedRef.current;\n\n if (move.container) {\n // A move that ends where it began, as a key pressed at a stop does,\n // leaves every pane as it found them.\n if (finalSize === Math.round(move.start)) {\n undoMove(move);\n pane.style.setProperty('--pane-size', move.ownSize);\n setSize(parseFloat(move.ownSize));\n\n return;\n }\n\n setPaneSize(pane, finalSize);\n\n // The panes beside it keep the sizes they are left at, read while the\n // panes still hold, before one is written. A pane left at its own size,\n // or hidden meanwhile, keeps its own.\n const sizes = move.beside.map((item) =>\n Math.round(getDrawnSize(item, isHorizontal)),\n );\n\n undoMove(move);\n move.beside.forEach((item, index) => {\n if (\n Number.isFinite(sizes[index]) &&\n sizes[index] !== Math.round(parseFloat(move.besideSizes[index]))\n ) {\n mountedPanes.get(item)?.adoptSize(sizes[index]);\n }\n });\n }\n\n setSize(finalSize);\n onSizeChange?.(finalSize);\n };\n\n const { moveProps } = useMove({\n onMoveStart() {\n if (!isResizable) return;\n setIsDragging(true);\n },\n onMove(e) {\n if (!isResizable) return;\n\n let delta: number;\n\n if (e.pointerType === 'keyboard') {\n // Keyboard resize: 10px per step, 50px with Shift\n const step = e.shiftKey ? 50 : 10;\n const rawDelta = isHorizontal ? e.deltaX : e.deltaY;\n delta = rawDelta * step;\n } else {\n // Pointer resize: use exact delta values\n delta = isHorizontal ? e.deltaX : e.deltaY;\n }\n\n // A move across the resize axis changes nothing.\n if (!delta) return;\n\n const pane = combinedRef.current;\n // An arrow key pressed during a drag joins it.\n const move = moveRef.current ?? beginMove(pane, e.pointerType);\n\n moveRef.current = move;\n move.target += delta;\n\n let next = clampValue(move.target);\n\n if (!move.container) {\n // On its own, the pane keeps no travel past its limits.\n move.target = next;\n } else {\n setPaneSize(pane, next);\n\n // Holding its size, the pane would push the items beyond its grip out\n // of the container once none of them can give way. It grows only into\n // the room it would have taken while giving way, and the target keeps\n // the travel past that, as flex did.\n if (next > move.size) {\n const excess =\n getOverflow(move.container, isHorizontal) - move.maxOverflow;\n\n if (excess > 0) {\n next = Math.max(next - excess, move.size);\n setPaneSize(pane, next);\n }\n }\n }\n\n move.size = next;\n setSize(next);\n },\n onMoveEnd(e) {\n const move = moveRef.current;\n\n // Beside other panes, a key pressed during a drag leaves the move to the\n // pointer. On its own, the pane reports at the key's end, and the drag\n // goes on as a new move, as before.\n if (move?.container && move.pointerType !== e.pointerType) return;\n\n moveRef.current = null;\n setIsDragging(false);\n\n if (move) endMove(move);\n },\n });\n\n const adoptSize = useEffectEvent((drawn: number) => {\n setPaneSize(combinedRef.current, drawn);\n setSize(drawn);\n onSizeChange?.(drawn);\n });\n\n useEffect(() => {\n const pane = combinedRef.current;\n\n mountedPanes.set(pane, {\n isHorizontal,\n adoptSize: (drawn) => adoptSize(drawn),\n });\n\n return () => {\n mountedPanes.delete(pane);\n\n // Unmounted or turned to the other axis mid-move, the pane gives the\n // panes beside it back.\n if (moveRef.current) undoMove(moveRef.current);\n\n moveRef.current = null;\n };\n }, [combinedRef, isHorizontal]);\n\n // Sync provided size with internal state (only when providedSize actually changes)\n // This prevents resetting size when only isDragging changes (which would cause a flash)\n useEffect(() => {\n if (prevProvidedSizeRef.current !== providedSize) {\n prevProvidedSizeRef.current = providedSize;\n if (typeof providedSize === 'number' && !isDragging) {\n setSize(clampValue(providedSize));\n }\n }\n }, [providedSize, isDragging, clampValue]);\n\n // Reset to default size on double-click\n const handleResetSize = () => {\n const resetSize =\n typeof defaultSize === 'number' ? defaultSize : parseInt(defaultSize, 10);\n const clampedSize = clampValue(resetSize || 200);\n setSize(clampedSize);\n onSizeChange?.(clampedSize);\n };\n\n const scrollbarTokens = isTinyScrollbar\n ? { ...handleVTokens, ...handleHTokens }\n : undefined;\n\n const paneMods = {\n scrollbar,\n hovered: isHovered,\n scrolling: isScrolling,\n handlerHovered: debouncedHandlerHovered,\n focused: isHandlerFocused,\n disabled: !isResizable,\n edge: resizeEdge,\n drag: isDragging,\n ...mods,\n };\n\n // Merge styles: outer styles to root, inner styles to Inner element\n // Size is NOT included here - it's set via the `$pane-size` token in paneTokens for performance\n const finalStyles = mergeStyles(\n styles,\n outerStyles,\n // oxlint-disable-next-line tasty/no-runtime-styles-mutation -- forwards the consumer's `innerStyles` to `Inner`\n innerStyles ? { Inner: innerStyles } : null,\n );\n\n // Size is set via CSS custom property for performance during drag\n // This avoids expensive style recalculation on every mouse move\n const paneTokens = {\n ...scrollbarTokens,\n '$pane-size': `${size}px`,\n // Reset rather than left unset: a custom property inherits, and an\n // enclosing pane's minimum is not this one's.\n '$pane-min-size':\n minSize == null\n ? 'initial'\n : typeof minSize === 'number'\n ? `${minSize}px`\n : minSize,\n };\n\n return (\n <PaneElement\n ref={combinedRef}\n {...filterBaseProps(otherProps, { eventProps: true })}\n {...hoverProps}\n mods={paneMods}\n styles={finalStyles}\n tokens={paneTokens}\n >\n <div ref={combinedInnerRef} data-element=\"Inner\" {...innerProps}>\n <LayoutContextReset>{children}</LayoutContextReset>\n </div>\n {isTinyScrollbar && hasOverflowY && <div data-element=\"ScrollbarV\" />}\n {isTinyScrollbar && hasOverflowX && <div data-element=\"ScrollbarH\" />}\n {isResizable && (\n <PaneResizeHandler\n edge={resizeEdge}\n isDisabled={!isResizable}\n moveProps={moveProps}\n onDoubleClick={handleResetSize}\n onHoverChange={setIsHandlerHovered}\n onFocusChange={setIsHandlerFocused}\n />\n )}\n </PaneElement>\n );\n}\n\nconst _LayoutPane = forwardRef(LayoutPane);\n\n_LayoutPane.displayName = 'Layout.Pane';\n\nexport { _LayoutPane as LayoutPane };\n"],"mappings":"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"}
1
+ {"version":3,"file":"LayoutPane.js","names":["BaseProps","ContainerStyleProps","filterBaseProps","INNER_STYLES","mergeStyles","OUTER_STYLES","Styles","tasty","ForwardedRef","forwardRef","HTMLAttributes","ReactNode","useCallback","useEffect","useEffectEvent","useRef","useState","useFocusRing","useHover","useMove","useDebouncedValue","useI18n","mergeProps","useCombinedRefs","extractStyles","useTinyScrollbar","ScrollbarType","LayoutContextReset","clampSize","HANDLER_WIDTH","HANDLER_RESERVED","mountedPanes","WeakMap","Element","isHorizontal","adoptSize","drawn","setPaneSize","pane","HTMLElement","size","style","setProperty","getDrawnSize","element","getClientRects","length","NaN","getComputedStyle","parseFloat","width","height","givesWay","flexShrink","getOverflow","container","rect","getBoundingClientRect","scale","offsetWidth","offsetHeight","available","clientWidth","paddingLeft","paddingRight","clientHeight","paddingTop","paddingBottom","used","count","item","Array","from","children","itemStyle","display","position","itemRect","marginLeft","marginRight","marginTop","marginBottom","gap","columnGap","rowGap","Math","max","getPanesBeside","parentElement","flexDirection","startsWith","flexWrap","HTMLCollectionOf","filter","get","Number","isFinite","PaneMove","target","start","ownSize","pointerType","beside","besideSizes","held","maxOverflow","undoMove","move","forEach","index","removeProperty","PaneElement","as","qa","styles","gridColumns","gridRows","placeContent","placeItems","placeSelf","flexGrow","boxSizing","Inner","$","flow","padding","overflow","scrollbar","ScrollbarV","right","top","radius","fill","opacity","transition","pointerEvents","ScrollbarH","bottom","left","ResizeHandler","cursor","disabled","outline","Drag","border","transform","outlineOffset","DragPart","ResizeEdge","CubeLayoutPaneProps","resizeEdge","isResizable","defaultSize","minSize","maxSize","onSizeChange","innerRef","HTMLDivElement","innerProps","PaneResizeHandlerProps","edge","isDisabled","moveProps","ReturnType","onDoubleClick","onHoverChange","isHovered","onFocusChange","isFocused","PaneResizeHandler","props","_c","t","t0","hoverProps","focusProps","isFocusVisible","t1","t2","t3","tabIndex","undefined","role","t4","t5","LayoutPane","ref","providedSize","mods","innerRefProp","otherProps","combinedRef","internalInnerRef","combinedInnerRef","prevProvidedSizeRef","isDragging","setIsDragging","isHandlerHovered","setIsHandlerHovered","isHandlerFocused","setIsHandlerFocused","debouncedHandlerHovered","initialSize","setSize","outerStyles","innerStyles","isTinyScrollbar","Symbol","for","handleVTokens","handleHTokens","hasOverflowY","hasOverflowX","isScrolling","t6","value","clampValue","moveRef","t7","rounded","round","abs","getPropertyValue","map","_temp","side","paneStart","sizes","item_0","item_1","item_2","_temp2","beginMove","t8","move_0","finalSize","pane_0","current","sizes_0","item_4","item_5","index_0","endMove","t9","onMoveStart","onMove","e","delta","step","shiftKey","rawDelta","deltaX","deltaY","pane_1","move_1","next","excess","onMoveEnd","e_0","move_2","t10","drawn_0","t11","pane_2","set","drawn_1","delete","t12","t13","t14","t15","resetSize","parseInt","clampedSize","handleResetSize","t16","scrollbarTokens","t17","t18","hovered","scrolling","handlerHovered","focused","drag","paneMods","finalStyles","t19","t20","t21","paneTokens","T0","t22","eventProps","t23","t24","t25","t26","t27","t28","item_3","_LayoutPane","displayName","_c","mergeProps"],"sources":["../../../../src/components/content/Layout/LayoutPane.tsx"],"sourcesContent":["import {\n BaseProps,\n ContainerStyleProps,\n filterBaseProps,\n INNER_STYLES,\n mergeStyles,\n OUTER_STYLES,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n useCallback,\n useEffect,\n useEffectEvent,\n useRef,\n useState,\n} from 'react';\nimport { useFocusRing, useHover, useMove } from 'react-aria';\n\nimport { useDebouncedValue } from '../../../_internal/hooks/use-debounced-value';\nimport { useI18n } from '../../../i18n/useI18n';\nimport { mergeProps } from '../../../utils/react/mergeProps';\nimport { useCombinedRefs } from '../../../utils/react/useCombinedRefs';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { useTinyScrollbar } from './hooks/useTinyScrollbar';\nimport { ScrollbarType } from './LayoutContent';\nimport { LayoutContextReset } from './LayoutContext';\nimport { clampSize } from './utils';\n\n// Handler dimensions\nconst HANDLER_WIDTH = 9; // Interactive area\nconst HANDLER_RESERVED = 5; // Space reserved in Inner padding\n\n/** Mounted panes by element: the axis each resizes along, and how it takes a size. */\nconst mountedPanes = new WeakMap<\n Element,\n { isHorizontal: boolean; adoptSize: (drawn: number) => void }\n>();\n\nfunction setPaneSize(pane: HTMLElement, size: number) {\n pane.style.setProperty('--pane-size', `${size}px`);\n}\n\n/** The size an element is drawn at, or `NaN` when it is not drawn. */\nfunction getDrawnSize(element: HTMLElement, isHorizontal: boolean) {\n // Hidden, an element reports the size it is set to.\n if (!element.getClientRects().length) return NaN;\n\n const style = getComputedStyle(element);\n\n return parseFloat(isHorizontal ? style.width : style.height);\n}\n\nfunction givesWay(element: Element) {\n return parseFloat(getComputedStyle(element).flexShrink) > 0;\n}\n\n/** How far a flex container's items run past its content box. */\nfunction getOverflow(container: HTMLElement, isHorizontal: boolean) {\n const style = getComputedStyle(container);\n const rect = container.getBoundingClientRect();\n // Items are measured as drawn, which a zoomed or scaled ancestor makes\n // differ from the container's own layout size.\n const scale =\n (isHorizontal\n ? rect.width / container.offsetWidth\n : rect.height / container.offsetHeight) || 1;\n const available = isHorizontal\n ? container.clientWidth -\n parseFloat(style.paddingLeft) -\n parseFloat(style.paddingRight)\n : container.clientHeight -\n parseFloat(style.paddingTop) -\n parseFloat(style.paddingBottom);\n let used = 0;\n let count = 0;\n\n for (const item of Array.from(container.children)) {\n const itemStyle = getComputedStyle(item);\n\n if (\n itemStyle.display === 'none' ||\n itemStyle.position === 'absolute' ||\n itemStyle.position === 'fixed'\n ) {\n continue;\n }\n\n const itemRect = item.getBoundingClientRect();\n\n used += isHorizontal\n ? itemRect.width / scale +\n parseFloat(itemStyle.marginLeft) +\n parseFloat(itemStyle.marginRight)\n : itemRect.height / scale +\n parseFloat(itemStyle.marginTop) +\n parseFloat(itemStyle.marginBottom);\n count += 1;\n }\n\n const gap = parseFloat(isHorizontal ? style.columnGap : style.rowGap) || 0;\n\n return used + gap * Math.max(count - 1, 0) - available;\n}\n\n/**\n * The other drawn panes that give way along the same axis, when this one gives\n * way in a non-wrapping flex container along it.\n */\nfunction getPanesBeside(pane: HTMLElement, isHorizontal: boolean) {\n const container = pane.parentElement;\n\n if (!container || !givesWay(pane)) return [];\n\n const style = getComputedStyle(container);\n\n if (\n (style.display !== 'flex' && style.display !== 'inline-flex') ||\n style.flexDirection.startsWith('row') !== isHorizontal ||\n style.flexWrap !== 'nowrap'\n ) {\n return [];\n }\n\n return Array.from(container.children as HTMLCollectionOf<HTMLElement>).filter(\n (item) =>\n item !== pane &&\n mountedPanes.get(item)?.isHorizontal === isHorizontal &&\n givesWay(item) &&\n Number.isFinite(getDrawnSize(item, isHorizontal)),\n );\n}\n\ninterface PaneMove {\n /** Where the pointer or keys ask the pane to be. */\n target: number;\n /** The size so far, ahead of the rendered one. */\n size: number;\n /** The size the move begins at. */\n start: number;\n /** The pane's own size before the move. */\n ownSize: string;\n /** What began the move: a pointer or the keyboard. */\n pointerType: string;\n /** The flex container the pane gives way in beside other panes, or `null`. */\n container: HTMLElement | null;\n /** The panes beside it, sized as drawn for the move. */\n beside: HTMLElement[];\n /** Their own sizes before the move. */\n besideSizes: string[];\n /** The panes that hold their size until the move ends. */\n held: HTMLElement[];\n /** How far the container's items may run past it, as they did at the start. */\n maxOverflow: number;\n}\n\n/**\n * Gives the panes beside a move back their own sizes and lets go of every\n * held pane.\n */\nfunction undoMove(move: PaneMove) {\n move.beside.forEach((item, index) =>\n item.style.setProperty('--pane-size', move.besideSizes[index]),\n );\n move.held.forEach((item) => item.style.removeProperty('flex-shrink'));\n}\n\nconst PaneElement = tasty({\n as: 'div',\n qa: 'LayoutPane',\n styles: {\n container: 'pane / inline-size',\n position: 'relative',\n display: 'grid',\n gridColumns: '1sf',\n gridRows: '1sf',\n placeContent: 'stretch',\n placeItems: 'stretch',\n placeSelf: 'stretch',\n // Holds its size. With `flexShrink={1}` it gives way down to its minimum\n // when a flex container runs short.\n flexShrink: 0,\n flexGrow: 0,\n // Size is set via CSS custom property for performance during drag\n width: {\n '': 'auto',\n 'edge=right': '($pane-min-size, 2x) $pane-size $pane-size',\n },\n height: {\n '': '($pane-min-size, 2x) $pane-size $pane-size',\n 'edge=right': 'auto',\n },\n boxSizing: 'content-box',\n\n Inner: {\n $: '>',\n display: 'flex',\n flow: 'column',\n padding: '($content-padding, 1x)',\n // Reserve space for handler on resize edge\n paddingRight: {\n '': '($content-padding, 1x)',\n 'edge=right': `calc(($content-padding, 1x) + ${HANDLER_RESERVED}px)`,\n },\n paddingBottom: {\n '': '($content-padding, 1x)',\n 'edge=bottom': `calc(($content-padding, 1x) + ${HANDLER_RESERVED}px)`,\n },\n overflow: {\n '': 'auto',\n 'scrollbar=none': 'clip',\n },\n placeSelf: 'stretch',\n scrollbar: {\n '': 'thin',\n 'scrollbar=tiny | scrollbar=none': 'none',\n },\n\n '$layout-border-size': '0',\n },\n\n // Custom scrollbar handles (when scrollbar=\"tiny\")\n ScrollbarV: {\n // It sits a device pixel in from the edge.\n '$scrollbar-inset': '1px',\n position: 'absolute',\n right: {\n '': '$scrollbar-inset',\n 'edge=right': `(${HANDLER_RESERVED}px + $scrollbar-inset)`,\n },\n top: '$scrollbar-v-top',\n width: '1ow',\n height: '$scrollbar-v-height',\n radius: 'round',\n fill: '#dark.35',\n opacity: {\n '': 0,\n '(focused | scrolling) & scrollbar=tiny': 1,\n },\n transition: 'opacity $scrollbar-transition',\n pointerEvents: 'none',\n },\n\n ScrollbarH: {\n $: '>',\n // It sits a device pixel in from the edge.\n '$scrollbar-inset': '1px',\n position: 'absolute',\n bottom: {\n '': '$scrollbar-inset',\n 'edge=bottom': `(${HANDLER_RESERVED}px + $scrollbar-inset)`,\n },\n left: '$scrollbar-h-left',\n height: '1ow',\n width: '$scrollbar-h-width',\n radius: 'round',\n fill: '#dark.35',\n opacity: {\n '': 0,\n '(focused | scrolling) & scrollbar=tiny': 1,\n },\n transition: 'opacity $scrollbar-transition',\n pointerEvents: 'none',\n },\n\n // Compact resize handler - only drag dots\n ResizeHandler: {\n position: 'absolute',\n // Size: 9px interactive area\n width: {\n '': '100%',\n 'edge=right': `${HANDLER_WIDTH}px`,\n },\n height: {\n '': `${HANDLER_WIDTH}px`,\n 'edge=right': '100%',\n },\n // Position at edge, centered on the reserved space boundary\n right: {\n '': 'initial',\n 'edge=right': `${(HANDLER_RESERVED - HANDLER_WIDTH) / 2}px`,\n },\n bottom: {\n '': `${(HANDLER_RESERVED - HANDLER_WIDTH) / 2}px`,\n 'edge=right': 'initial',\n },\n top: {\n '': 'initial',\n 'edge=right': 0,\n },\n left: {\n '': 0,\n 'edge=right': 'initial',\n },\n cursor: {\n '': 'row-resize',\n 'edge=right': 'col-resize',\n disabled: 'not-allowed',\n },\n padding: 0,\n outline: 0,\n boxSizing: 'border-box',\n transition: 'theme',\n },\n\n Drag: {\n // Grip dots and their spacing in device pixels, so they stay crisp at\n // any gap.\n '$grip-size': '3px',\n '$dot-gap': '2px',\n display: 'grid',\n gap: '$dot-gap',\n border: 0,\n flow: {\n '': 'row',\n 'edge=right': 'column',\n },\n gridColumns: {\n '': 'repeat(5, $grip-size)',\n 'edge=right': 'auto',\n },\n gridRows: {\n '': 'auto',\n 'edge=right': 'repeat(5, $grip-size)',\n },\n width: {\n '': 'auto',\n 'edge=right': '$grip-size',\n },\n height: {\n '': '$grip-size',\n 'edge=right': 'auto',\n },\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n transition: 'theme',\n radius: 'round',\n outline: {\n '': '0',\n 'focused | drag': '$ring-width #primary-text',\n },\n outlineOffset: '$outline-offset',\n },\n\n DragPart: {\n radius: true,\n fill: {\n '': '#dark-03',\n 'handlerHovered | drag | focused': '#primary-text',\n disabled: '#disabled-surface-text',\n },\n },\n },\n});\n\nexport type ResizeEdge = 'right' | 'bottom';\n\nexport interface CubeLayoutPaneProps extends BaseProps, ContainerStyleProps {\n /** Edge where resize handler appears */\n resizeEdge?: ResizeEdge;\n /** Enable resize functionality */\n isResizable?: boolean;\n /** Controlled size (width for right edge, height for bottom edge) */\n size?: number | string;\n /** Default size for uncontrolled state */\n defaultSize?: number | string;\n /** Minimum size constraint */\n minSize?: number | string;\n /** Maximum size constraint */\n maxSize?: number | string;\n /**\n * Size change callback. With `flexShrink={1}`, also called when another\n * such pane beside it is resized and this pane keeps the size it is drawn\n * at.\n */\n onSizeChange?: (size: number) => void;\n /** Scrollbar style */\n scrollbar?: ScrollbarType;\n /** Custom styles */\n styles?: Styles;\n children?: ReactNode;\n /** Ref for the inner content element */\n innerRef?: ForwardedRef<HTMLDivElement>;\n /** Props to spread on the Inner sub-element */\n innerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\ninterface PaneResizeHandlerProps {\n edge: ResizeEdge;\n isDisabled?: boolean;\n moveProps: ReturnType<typeof useMove>['moveProps'];\n onDoubleClick?: () => void;\n onHoverChange?: (isHovered: boolean) => void;\n onFocusChange?: (isFocused: boolean) => void;\n}\n\nfunction PaneResizeHandler(props: PaneResizeHandlerProps) {\n const {\n edge,\n isDisabled,\n moveProps,\n onDoubleClick,\n onHoverChange,\n onFocusChange,\n } = props;\n const { t } = useI18n();\n const { hoverProps, isHovered } = useHover({\n onHoverChange,\n });\n const { focusProps, isFocusVisible } = useFocusRing();\n const isHorizontal = edge === 'right';\n\n // Notify parent of focus changes\n useEffect(() => {\n onFocusChange?.(isFocusVisible);\n }, [isFocusVisible, onFocusChange]);\n\n return (\n <div\n data-element=\"ResizeHandler\"\n {...mergeProps(hoverProps, focusProps, isDisabled ? {} : moveProps, {\n tabIndex: isDisabled ? undefined : 0,\n role: 'separator',\n 'aria-orientation': isHorizontal ? 'vertical' : 'horizontal',\n 'aria-label':\n edge === 'right'\n ? t('layout.resizePaneRight', 'Resize pane right')\n : t('layout.resizePaneBottom', 'Resize pane bottom'),\n onDoubleClick: isDisabled ? undefined : onDoubleClick,\n })}\n >\n {!isDisabled && (\n <div data-element=\"Drag\">\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n <div data-element=\"DragPart\" />\n </div>\n )}\n </div>\n );\n}\n\nfunction LayoutPane(\n props: CubeLayoutPaneProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n resizeEdge = 'right',\n isResizable = false,\n size: providedSize,\n defaultSize = 200,\n minSize,\n maxSize,\n onSizeChange,\n scrollbar = 'thin',\n styles,\n mods,\n children,\n innerRef: innerRefProp,\n innerProps,\n ...otherProps\n } = props;\n\n const combinedRef = useCombinedRefs(ref);\n const internalInnerRef = useRef<HTMLDivElement>(null);\n const combinedInnerRef = useCombinedRefs(innerRefProp, internalInnerRef);\n const prevProvidedSizeRef = useRef(providedSize);\n const isHorizontal = resizeEdge === 'right';\n\n // Resize state\n const [isDragging, setIsDragging] = useState(false);\n const [isHandlerHovered, setIsHandlerHovered] = useState(false);\n const [isHandlerFocused, setIsHandlerFocused] = useState(false);\n const debouncedHandlerHovered = useDebouncedValue(isHandlerHovered, 150);\n const [size, setSize] = useState<number>(() => {\n const initialSize =\n typeof providedSize === 'number'\n ? providedSize\n : typeof defaultSize === 'number'\n ? defaultSize\n : 200;\n\n return clampSize(initialSize, minSize, maxSize);\n });\n\n // Extract outer wrapper styles and inner content styles\n const outerStyles = extractStyles(otherProps, OUTER_STYLES);\n const innerStyles = extractStyles(otherProps, INNER_STYLES);\n\n const isTinyScrollbar = scrollbar === 'tiny';\n const { hoverProps, isHovered } = useHover({});\n\n const {\n handleVTokens,\n handleHTokens,\n hasOverflowY,\n hasOverflowX,\n isScrolling,\n } = useTinyScrollbar(internalInnerRef, isTinyScrollbar);\n\n // Clamp size to min/max constraints\n const clampValue = useCallback(\n (value: number) => clampSize(value, minSize, maxSize),\n [minSize, maxSize],\n );\n\n const moveRef = useRef<PaneMove | null>(null);\n\n const beginMove = (pane: HTMLElement, pointerType: string): PaneMove => {\n const drawn = getDrawnSize(pane, isHorizontal);\n const beside = getPanesBeside(pane, isHorizontal);\n const rounded = Math.round(drawn);\n // Flex shrinking or a CSS minimum can draw the pane at another size than\n // `size`; resize from the one on screen, or the first moves do nothing.\n // Beside other panes the move begins exactly there, so nothing shifts.\n const start = beside.length\n ? drawn\n : Math.abs(rounded - size) >= 1\n ? rounded\n : size;\n const move: PaneMove = {\n target: start,\n size: start,\n start,\n ownSize: pane.style.getPropertyValue('--pane-size'),\n pointerType,\n container: beside.length ? pane.parentElement : null,\n beside,\n besideSizes: beside.map((item) =>\n item.style.getPropertyValue('--pane-size'),\n ),\n held: [],\n maxOverflow: 0,\n };\n\n // Beside other panes that give way, this one would hand them part of every\n // move: flex shares the room by size, and theirs are larger than drawn. So\n // they take the sizes they are drawn at, and this pane holds its size until\n // the move ends, as do the panes before its grip: the room comes from\n // beyond the grip. Keyboard moves start and end within one event, so this\n // goes to the DOM, not through a render. Every size is read before one is\n // written, as each write reflows the rest.\n if (move.container) {\n const side = isHorizontal ? 'left' : 'top';\n const paneStart = pane.getBoundingClientRect()[side];\n const sizes = beside.map((item) => getDrawnSize(item, isHorizontal));\n\n move.maxOverflow = Math.max(getOverflow(move.container, isHorizontal), 0);\n move.held = [\n pane,\n ...beside.filter(\n (item) => item.getBoundingClientRect()[side] < paneStart,\n ),\n ];\n beside.forEach((item, index) => setPaneSize(item, sizes[index]));\n move.held.forEach((item) => item.style.setProperty('flex-shrink', '0'));\n }\n\n return move;\n };\n\n const endMove = (move: PaneMove) => {\n // Round to integer when the move ends and notify parent\n const finalSize = Math.round(clampValue(move.size));\n const pane = combinedRef.current;\n\n if (move.container) {\n // A move that ends where it began, as a key pressed at a stop does,\n // leaves every pane as it found them.\n if (finalSize === Math.round(move.start)) {\n undoMove(move);\n pane.style.setProperty('--pane-size', move.ownSize);\n setSize(parseFloat(move.ownSize));\n\n return;\n }\n\n setPaneSize(pane, finalSize);\n\n // The panes beside it keep the sizes they are left at, read while the\n // panes still hold, before one is written. A pane left at its own size,\n // or hidden meanwhile, keeps its own.\n const sizes = move.beside.map((item) =>\n Math.round(getDrawnSize(item, isHorizontal)),\n );\n\n undoMove(move);\n move.beside.forEach((item, index) => {\n if (\n Number.isFinite(sizes[index]) &&\n sizes[index] !== Math.round(parseFloat(move.besideSizes[index]))\n ) {\n mountedPanes.get(item)?.adoptSize(sizes[index]);\n }\n });\n }\n\n setSize(finalSize);\n onSizeChange?.(finalSize);\n };\n\n const { moveProps } = useMove({\n onMoveStart() {\n if (!isResizable) return;\n setIsDragging(true);\n },\n onMove(e) {\n if (!isResizable) return;\n\n let delta: number;\n\n if (e.pointerType === 'keyboard') {\n // Keyboard resize: 10px per step, 50px with Shift\n const step = e.shiftKey ? 50 : 10;\n const rawDelta = isHorizontal ? e.deltaX : e.deltaY;\n delta = rawDelta * step;\n } else {\n // Pointer resize: use exact delta values\n delta = isHorizontal ? e.deltaX : e.deltaY;\n }\n\n // A move across the resize axis changes nothing.\n if (!delta) return;\n\n const pane = combinedRef.current;\n // An arrow key pressed during a drag joins it.\n const move = moveRef.current ?? beginMove(pane, e.pointerType);\n\n moveRef.current = move;\n move.target += delta;\n\n let next = clampValue(move.target);\n\n if (!move.container) {\n // On its own, the pane keeps no travel past its limits.\n move.target = next;\n } else {\n setPaneSize(pane, next);\n\n // Holding its size, the pane would push the items beyond its grip out\n // of the container once none of them can give way. It grows only into\n // the room it would have taken while giving way, and the target keeps\n // the travel past that, as flex did.\n if (next > move.size) {\n const excess =\n getOverflow(move.container, isHorizontal) - move.maxOverflow;\n\n if (excess > 0) {\n next = Math.max(next - excess, move.size);\n setPaneSize(pane, next);\n }\n }\n }\n\n move.size = next;\n setSize(next);\n },\n onMoveEnd(e) {\n const move = moveRef.current;\n\n // Beside other panes, a key pressed during a drag leaves the move to the\n // pointer. On its own, the pane reports at the key's end, and the drag\n // goes on as a new move, as before.\n if (move?.container && move.pointerType !== e.pointerType) return;\n\n moveRef.current = null;\n setIsDragging(false);\n\n if (move) endMove(move);\n },\n });\n\n const adoptSize = useEffectEvent((drawn: number) => {\n setPaneSize(combinedRef.current, drawn);\n setSize(drawn);\n onSizeChange?.(drawn);\n });\n\n useEffect(() => {\n const pane = combinedRef.current;\n\n mountedPanes.set(pane, {\n isHorizontal,\n adoptSize: (drawn) => adoptSize(drawn),\n });\n\n return () => {\n mountedPanes.delete(pane);\n\n // Unmounted or turned to the other axis mid-move, the pane gives the\n // panes beside it back.\n if (moveRef.current) undoMove(moveRef.current);\n\n moveRef.current = null;\n };\n }, [combinedRef, isHorizontal]);\n\n // Sync provided size with internal state (only when providedSize actually changes)\n // This prevents resetting size when only isDragging changes (which would cause a flash)\n useEffect(() => {\n if (prevProvidedSizeRef.current !== providedSize) {\n prevProvidedSizeRef.current = providedSize;\n if (typeof providedSize === 'number' && !isDragging) {\n setSize(clampValue(providedSize));\n }\n }\n }, [providedSize, isDragging, clampValue]);\n\n // Reset to default size on double-click\n const handleResetSize = () => {\n const resetSize =\n typeof defaultSize === 'number' ? defaultSize : parseInt(defaultSize, 10);\n const clampedSize = clampValue(resetSize || 200);\n setSize(clampedSize);\n onSizeChange?.(clampedSize);\n };\n\n const scrollbarTokens = isTinyScrollbar\n ? { ...handleVTokens, ...handleHTokens }\n : undefined;\n\n const paneMods = {\n scrollbar,\n hovered: isHovered,\n scrolling: isScrolling,\n handlerHovered: debouncedHandlerHovered,\n focused: isHandlerFocused,\n disabled: !isResizable,\n edge: resizeEdge,\n drag: isDragging,\n ...mods,\n };\n\n // Merge styles: outer styles to root, inner styles to Inner element\n // Size is NOT included here - it's set via the `$pane-size` token in paneTokens for performance\n const finalStyles = mergeStyles(\n styles,\n outerStyles,\n // oxlint-disable-next-line tasty/no-runtime-styles-mutation -- forwards the consumer's `innerStyles` to `Inner`\n innerStyles ? { Inner: innerStyles } : null,\n );\n\n // Size is set via CSS custom property for performance during drag\n // This avoids expensive style recalculation on every mouse move\n const paneTokens = {\n ...scrollbarTokens,\n '$pane-size': `${size}px`,\n // Reset rather than left unset: a custom property inherits, and an\n // enclosing pane's minimum is not this one's.\n '$pane-min-size':\n minSize == null\n ? 'initial'\n : typeof minSize === 'number'\n ? `${minSize}px`\n : minSize,\n };\n\n return (\n <PaneElement\n ref={combinedRef}\n {...filterBaseProps(otherProps, { eventProps: true })}\n {...hoverProps}\n mods={paneMods}\n styles={finalStyles}\n tokens={paneTokens}\n >\n <div ref={combinedInnerRef} data-element=\"Inner\" {...innerProps}>\n <LayoutContextReset>{children}</LayoutContextReset>\n </div>\n {isTinyScrollbar && hasOverflowY && <div data-element=\"ScrollbarV\" />}\n {isTinyScrollbar && hasOverflowX && <div data-element=\"ScrollbarH\" />}\n {isResizable && (\n <PaneResizeHandler\n edge={resizeEdge}\n isDisabled={!isResizable}\n moveProps={moveProps}\n onDoubleClick={handleResetSize}\n onHoverChange={setIsHandlerHovered}\n onFocusChange={setIsHandlerFocused}\n />\n )}\n </PaneElement>\n );\n}\n\nconst _LayoutPane = forwardRef(LayoutPane);\n\n_LayoutPane.displayName = 'Layout.Pane';\n\nexport { _LayoutPane as LayoutPane };\n"],"mappings":"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"}
@@ -1,16 +1,16 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.206.3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.208.0 | 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";
5
- import { useLocalStorage } from "../../../utils/react/useLocalStorage.js";
6
- import { useDebouncedValue } from "../../../_internal/hooks/use-debounced-value.js";
7
5
  import { focusProgrammatically } from "../../../utils/react/programmaticFocus.js";
8
6
  import { DisplayTransition } from "../../helpers/DisplayTransition/DisplayTransition.js";
9
7
  import { useI18n } from "../../../i18n/useI18n.js";
8
+ import { useDebouncedValue } from "../../../_internal/hooks/use-debounced-value.js";
10
9
  import { Dialog } from "../../overlays/Dialog/Dialog.js";
11
10
  import { DialogContainer } from "../../overlays/Dialog/DialogContainer.js";
12
11
  import { LayoutContextReset, LayoutPanelContext, useLayoutActionsContext, useLayoutRefsContext, useLayoutStateContext } from "./LayoutContext.js";
13
12
  import { clampSize, getOppositeSide, resolveCssSize } from "./utils.js";
13
+ import { useLocalStorage } from "../../../utils/react/useLocalStorage.js";
14
14
  import { LayoutPanelTransition } from "./LayoutPanelTransition.js";
15
15
  import { c } from "react/compiler-runtime";
16
16
  import { CONTAINER_STYLES, filterBaseProps, mergeStyles, tasty } from "@tenphi/tasty";