@cube-dev/ui-kit 0.197.0 → 0.198.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1662) hide show
  1. package/dist/CHANGELOG.md +60 -9
  2. package/dist/_internal/hooks/use-debounced-value.js +2 -3
  3. package/dist/_internal/hooks/use-debounced-value.js.map +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +2 -3
  5. package/dist/_internal/hooks/use-deprecation-warning.js.map +1 -1
  6. package/dist/_internal/hooks/use-event.js +2 -3
  7. package/dist/_internal/hooks/use-event.js.map +1 -1
  8. package/dist/_internal/hooks/use-is-first-render.js +2 -3
  9. package/dist/_internal/hooks/use-is-first-render.js.map +1 -1
  10. package/dist/_internal/hooks/use-sync-ref.js +2 -3
  11. package/dist/_internal/hooks/use-sync-ref.js.map +1 -1
  12. package/dist/_internal/hooks/use-timer/timer.js +2 -2
  13. package/dist/_internal/hooks/use-timer/timer.js.map +1 -1
  14. package/dist/_internal/hooks/use-timer/use-timer.js +2 -3
  15. package/dist/_internal/hooks/use-timer/use-timer.js.map +1 -1
  16. package/dist/_internal/hooks/use-warn.js +2 -3
  17. package/dist/_internal/hooks/use-warn.js.map +1 -1
  18. package/dist/components/Block.d.ts +2 -5
  19. package/dist/components/Block.js +2 -3
  20. package/dist/components/Block.js.map +1 -1
  21. package/dist/components/CollectionItem.d.ts +4 -5
  22. package/dist/components/CollectionItem.js +4 -5
  23. package/dist/components/CollectionItem.js.map +1 -1
  24. package/dist/components/GlobalStyles.js +4 -5
  25. package/dist/components/GlobalStyles.js.map +1 -1
  26. package/dist/components/GridProvider.d.ts +2 -5
  27. package/dist/components/GridProvider.js +4 -4
  28. package/dist/components/GridProvider.js.map +1 -1
  29. package/dist/components/HiddenInput.js +2 -3
  30. package/dist/components/HiddenInput.js.map +1 -1
  31. package/dist/components/Root.d.ts +2 -5
  32. package/dist/components/Root.js +2 -3
  33. package/dist/components/Root.js.map +1 -1
  34. package/dist/components/actions/Action/Action.d.ts +2 -6
  35. package/dist/components/actions/Action/Action.js +2 -3
  36. package/dist/components/actions/Action/Action.js.map +1 -1
  37. package/dist/components/actions/Banner/Banner.d.ts +9 -12
  38. package/dist/components/actions/Banner/Banner.js +3 -4
  39. package/dist/components/actions/Banner/Banner.js.map +1 -1
  40. package/dist/components/actions/Banner/index.d.ts +2 -1
  41. package/dist/components/actions/Button/Button.d.ts +4 -7
  42. package/dist/components/actions/Button/Button.js +2 -3
  43. package/dist/components/actions/Button/Button.js.map +1 -1
  44. package/dist/components/actions/Button/index.d.ts +2 -1
  45. package/dist/components/actions/ButtonGroup/ButtonGroup.d.ts +1 -4
  46. package/dist/components/actions/ButtonGroup/ButtonGroup.js +2 -3
  47. package/dist/components/actions/ButtonGroup/ButtonGroup.js.map +1 -1
  48. package/dist/components/actions/ButtonSplit/ButtonSplit.d.ts +3 -6
  49. package/dist/components/actions/ButtonSplit/ButtonSplit.js +5 -5
  50. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  51. package/dist/components/actions/ButtonSplit/context.d.ts +3 -6
  52. package/dist/components/actions/ButtonSplit/context.js +2 -3
  53. package/dist/components/actions/ButtonSplit/context.js.map +1 -1
  54. package/dist/components/actions/ButtonSplit/index.d.ts +2 -1
  55. package/dist/components/actions/CommandMenu/CommandMenu.d.ts +6 -9
  56. package/dist/components/actions/CommandMenu/CommandMenu.js +89 -76
  57. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  58. package/dist/components/actions/CommandMenu/index.d.ts +2 -1
  59. package/dist/components/actions/CommandMenu/styled.js +3 -4
  60. package/dist/components/actions/CommandMenu/styled.js.map +1 -1
  61. package/dist/components/actions/ItemAction/ItemAction.d.ts +3 -6
  62. package/dist/components/actions/ItemAction/ItemAction.js +11 -9
  63. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  64. package/dist/components/actions/ItemAction/index.d.ts +2 -1
  65. package/dist/components/actions/ItemActionContext.d.ts +5 -14
  66. package/dist/components/actions/ItemActionContext.js +2 -3
  67. package/dist/components/actions/ItemActionContext.js.map +1 -1
  68. package/dist/components/actions/ItemActionsWrapper.js +2 -3
  69. package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
  70. package/dist/components/actions/ItemButton/ItemButton.d.ts +6 -9
  71. package/dist/components/actions/ItemButton/ItemButton.js +4 -5
  72. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  73. package/dist/components/actions/ItemButton/index.d.ts +2 -1
  74. package/dist/components/actions/Link/Link.d.ts +1 -5
  75. package/dist/components/actions/Link/Link.js +2 -3
  76. package/dist/components/actions/Link/Link.js.map +1 -1
  77. package/dist/components/actions/Menu/Menu.d.ts +7 -10
  78. package/dist/components/actions/Menu/Menu.js +9 -8
  79. package/dist/components/actions/Menu/Menu.js.map +1 -1
  80. package/dist/components/actions/Menu/MenuCollectionItem.d.ts +3 -4
  81. package/dist/components/actions/Menu/MenuCollectionItem.js +4 -5
  82. package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -1
  83. package/dist/components/actions/Menu/MenuItem.d.ts +5 -8
  84. package/dist/components/actions/Menu/MenuItem.js +4 -4
  85. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  86. package/dist/components/actions/Menu/MenuSection.d.ts +4 -7
  87. package/dist/components/actions/Menu/MenuSection.js +2 -3
  88. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  89. package/dist/components/actions/Menu/MenuTrigger.d.ts +4 -6
  90. package/dist/components/actions/Menu/MenuTrigger.js +5 -6
  91. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  92. package/dist/components/actions/Menu/SubMenuTrigger.d.ts +3 -5
  93. package/dist/components/actions/Menu/SubMenuTrigger.js +3 -4
  94. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  95. package/dist/components/actions/Menu/SubmenuTriggerContext.js +2 -3
  96. package/dist/components/actions/Menu/SubmenuTriggerContext.js.map +1 -1
  97. package/dist/components/actions/Menu/context.d.ts +3 -5
  98. package/dist/components/actions/Menu/context.js +2 -3
  99. package/dist/components/actions/Menu/context.js.map +1 -1
  100. package/dist/components/actions/Menu/index.d.ts +4 -3
  101. package/dist/components/actions/Menu/styled.js +3 -4
  102. package/dist/components/actions/Menu/styled.js.map +1 -1
  103. package/dist/components/actions/actions-run.js +2 -2
  104. package/dist/components/actions/actions-run.js.map +1 -1
  105. package/dist/components/actions/index.d.ts +8 -11
  106. package/dist/components/actions/index.js +8 -9
  107. package/dist/components/actions/index.js.map +1 -1
  108. package/dist/components/actions/use-action.d.ts +10 -27
  109. package/dist/components/actions/use-action.js +15 -7
  110. package/dist/components/actions/use-action.js.map +1 -1
  111. package/dist/components/actions/use-anchored-menu.d.ts +3 -5
  112. package/dist/components/actions/use-anchored-menu.js +5 -5
  113. package/dist/components/actions/use-anchored-menu.js.map +1 -1
  114. package/dist/components/actions/use-context-menu.d.ts +4 -5
  115. package/dist/components/actions/use-context-menu.js +9 -7
  116. package/dist/components/actions/use-context-menu.js.map +1 -1
  117. package/dist/components/content/ActiveZone/ActiveZone.d.ts +3 -5
  118. package/dist/components/content/ActiveZone/ActiveZone.js +3 -4
  119. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  120. package/dist/components/content/Alert/Alert.d.ts +1 -4
  121. package/dist/components/content/Alert/Alert.js +3 -3
  122. package/dist/components/content/Alert/Alert.js.map +1 -1
  123. package/dist/components/content/Alert/index.d.ts +2 -1
  124. package/dist/components/content/Alert/types.d.ts +2 -4
  125. package/dist/components/content/Alert/use-alert.js +2 -3
  126. package/dist/components/content/Alert/use-alert.js.map +1 -1
  127. package/dist/components/content/Avatar/Avatar.d.ts +2 -5
  128. package/dist/components/content/Avatar/Avatar.js +2 -3
  129. package/dist/components/content/Avatar/Avatar.js.map +1 -1
  130. package/dist/components/content/Badge/Badge.d.ts +5 -7
  131. package/dist/components/content/Badge/Badge.js +4 -5
  132. package/dist/components/content/Badge/Badge.js.map +1 -1
  133. package/dist/components/content/Card/Card.d.ts +2 -5
  134. package/dist/components/content/Card/Card.js +2 -3
  135. package/dist/components/content/Card/Card.js.map +1 -1
  136. package/dist/components/content/Content.d.ts +2 -5
  137. package/dist/components/content/Content.js +2 -3
  138. package/dist/components/content/Content.js.map +1 -1
  139. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.d.ts +3 -5
  140. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -4
  141. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  142. package/dist/components/content/CopyPasteBlock/index.d.ts +2 -1
  143. package/dist/components/content/CopySnippet/CopySnippet.d.ts +21 -971
  144. package/dist/components/content/CopySnippet/CopySnippet.js +5 -6
  145. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  146. package/dist/components/content/CopySnippet/index.d.ts +2 -1
  147. package/dist/components/content/Disclosure/Disclosure.d.ts +12 -14
  148. package/dist/components/content/Disclosure/Disclosure.js +8 -7
  149. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  150. package/dist/components/content/Disclosure/index.d.ts +2 -1
  151. package/dist/components/content/Divider.d.ts +2 -5
  152. package/dist/components/content/Divider.js +4 -4
  153. package/dist/components/content/Divider.js.map +1 -1
  154. package/dist/components/content/Footer.d.ts +2 -5
  155. package/dist/components/content/Footer.js +2 -3
  156. package/dist/components/content/Footer.js.map +1 -1
  157. package/dist/components/content/Header.d.ts +2 -5
  158. package/dist/components/content/Header.js +2 -3
  159. package/dist/components/content/Header.js.map +1 -1
  160. package/dist/components/content/HotKeys/HotKeys.d.ts +3 -5
  161. package/dist/components/content/HotKeys/HotKeys.js +4 -5
  162. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  163. package/dist/components/content/HotKeys/index.d.ts +2 -1
  164. package/dist/components/content/InfoBadge/InfoBadge.d.ts +4 -6
  165. package/dist/components/content/InfoBadge/InfoBadge.js +2 -3
  166. package/dist/components/content/InfoBadge/InfoBadge.js.map +1 -1
  167. package/dist/components/content/InlineInput/InlineInput.d.ts +4 -7
  168. package/dist/components/content/InlineInput/InlineInput.js +5 -5
  169. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  170. package/dist/components/content/InlineInput/index.d.ts +2 -1
  171. package/dist/components/content/Item/Item.d.ts +4 -7
  172. package/dist/components/content/Item/Item.js +4 -5
  173. package/dist/components/content/Item/Item.js.map +1 -1
  174. package/dist/components/content/Item/ItemWithNativeLinks.js +2 -3
  175. package/dist/components/content/Item/ItemWithNativeLinks.js.map +1 -1
  176. package/dist/components/content/Item/index.d.ts +2 -1
  177. package/dist/components/content/ItemBadge/ItemBadge.d.ts +3 -5
  178. package/dist/components/content/ItemBadge/ItemBadge.js +2 -3
  179. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  180. package/dist/components/content/ItemBadge/index.d.ts +2 -1
  181. package/dist/components/content/ItemCard/ItemCard.d.ts +5 -8
  182. package/dist/components/content/ItemCard/ItemCard.js +3 -4
  183. package/dist/components/content/ItemCard/ItemCard.js.map +1 -1
  184. package/dist/components/content/Layout/GridLayout.d.ts +13 -14
  185. package/dist/components/content/Layout/GridLayout.js +13 -14
  186. package/dist/components/content/Layout/GridLayout.js.map +1 -1
  187. package/dist/components/content/Layout/Layout.d.ts +1 -3
  188. package/dist/components/content/Layout/Layout.js +28 -17
  189. package/dist/components/content/Layout/Layout.js.map +1 -1
  190. package/dist/components/content/Layout/LayoutBlock.d.ts +3 -5
  191. package/dist/components/content/Layout/LayoutBlock.js +4 -5
  192. package/dist/components/content/Layout/LayoutBlock.js.map +1 -1
  193. package/dist/components/content/Layout/LayoutCenter.d.ts +3 -5
  194. package/dist/components/content/Layout/LayoutCenter.js +4 -5
  195. package/dist/components/content/Layout/LayoutCenter.js.map +1 -1
  196. package/dist/components/content/Layout/LayoutContainer.d.ts +3 -5
  197. package/dist/components/content/Layout/LayoutContainer.js +5 -5
  198. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  199. package/dist/components/content/Layout/LayoutContent.d.ts +4 -6
  200. package/dist/components/content/Layout/LayoutContent.js +3 -4
  201. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  202. package/dist/components/content/Layout/LayoutContext.d.ts +1 -3
  203. package/dist/components/content/Layout/LayoutContext.js +2 -3
  204. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  205. package/dist/components/content/Layout/LayoutFlex.d.ts +3 -5
  206. package/dist/components/content/Layout/LayoutFlex.js +4 -5
  207. package/dist/components/content/Layout/LayoutFlex.js.map +1 -1
  208. package/dist/components/content/Layout/LayoutFooter.d.ts +3 -5
  209. package/dist/components/content/Layout/LayoutFooter.js +4 -5
  210. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  211. package/dist/components/content/Layout/LayoutGrid.d.ts +3 -5
  212. package/dist/components/content/Layout/LayoutGrid.js +4 -5
  213. package/dist/components/content/Layout/LayoutGrid.js.map +1 -1
  214. package/dist/components/content/Layout/LayoutHeader.d.ts +3 -5
  215. package/dist/components/content/Layout/LayoutHeader.js +6 -6
  216. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  217. package/dist/components/content/Layout/LayoutPane.d.ts +4 -6
  218. package/dist/components/content/Layout/LayoutPane.js +7 -8
  219. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  220. package/dist/components/content/Layout/LayoutPanel.d.ts +20 -6
  221. package/dist/components/content/Layout/LayoutPanel.js +32 -21
  222. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  223. package/dist/components/content/Layout/LayoutPanelHeader.d.ts +4 -6
  224. package/dist/components/content/Layout/LayoutPanelHeader.js +4 -5
  225. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  226. package/dist/components/content/Layout/LayoutPanelTransition.js +54 -51
  227. package/dist/components/content/Layout/LayoutPanelTransition.js.map +1 -1
  228. package/dist/components/content/Layout/LayoutToolbar.d.ts +3 -5
  229. package/dist/components/content/Layout/LayoutToolbar.js +4 -5
  230. package/dist/components/content/Layout/LayoutToolbar.js.map +1 -1
  231. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +2 -3
  232. package/dist/components/content/Layout/hooks/useTinyScrollbar.js.map +1 -1
  233. package/dist/components/content/Layout/index.d.ts +15 -16
  234. package/dist/components/content/Layout/index.js +17 -18
  235. package/dist/components/content/Layout/index.js.map +1 -1
  236. package/dist/components/content/Layout/utils.js +2 -2
  237. package/dist/components/content/Layout/utils.js.map +1 -1
  238. package/dist/components/content/Paragraph.d.ts +2 -5
  239. package/dist/components/content/Paragraph.js +3 -4
  240. package/dist/components/content/Paragraph.js.map +1 -1
  241. package/dist/components/content/Placeholder/Placeholder.d.ts +2 -5
  242. package/dist/components/content/Placeholder/Placeholder.js +2 -3
  243. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  244. package/dist/components/content/PrismCode/PrismCode.d.ts +3 -5
  245. package/dist/components/content/PrismCode/PrismCode.js +4 -5
  246. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  247. package/dist/components/content/PrismCode/prismSetup.js +3 -4
  248. package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
  249. package/dist/components/content/PrismDiffCode/PrismDiffCode.d.ts +2 -9
  250. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +3 -4
  251. package/dist/components/content/PrismDiffCode/PrismDiffCode.js.map +1 -1
  252. package/dist/components/content/Result/Result.d.ts +9 -12
  253. package/dist/components/content/Result/Result.js +4 -5
  254. package/dist/components/content/Result/Result.js.map +1 -1
  255. package/dist/components/content/Skeleton/Skeleton.d.ts +13 -61
  256. package/dist/components/content/Skeleton/Skeleton.js +2 -3
  257. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  258. package/dist/components/content/Tag/Tag.d.ts +4 -6
  259. package/dist/components/content/Tag/Tag.js +4 -5
  260. package/dist/components/content/Tag/Tag.js.map +1 -1
  261. package/dist/components/content/Text.d.ts +10 -2849
  262. package/dist/components/content/Text.js +3 -4
  263. package/dist/components/content/Text.js.map +1 -1
  264. package/dist/components/content/TextItem/TextItem.d.ts +6 -5
  265. package/dist/components/content/TextItem/TextItem.js +2 -3
  266. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  267. package/dist/components/content/TextItem/index.d.ts +2 -1
  268. package/dist/components/content/Title.d.ts +5 -7
  269. package/dist/components/content/Title.js +3 -4
  270. package/dist/components/content/Title.js.map +1 -1
  271. package/dist/components/content/Tree/Tree.d.ts +1 -4
  272. package/dist/components/content/Tree/Tree.js +4 -4
  273. package/dist/components/content/Tree/Tree.js.map +1 -1
  274. package/dist/components/content/Tree/TreeNode.js +5 -6
  275. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  276. package/dist/components/content/Tree/index.d.ts +2 -1
  277. package/dist/components/content/Tree/styled.js +18 -4
  278. package/dist/components/content/Tree/styled.js.map +1 -1
  279. package/dist/components/content/Tree/tree-index.js +2 -2
  280. package/dist/components/content/Tree/tree-index.js.map +1 -1
  281. package/dist/components/content/Tree/types.d.ts +11 -13
  282. package/dist/components/content/Tree/use-checkbox-tree.js +2 -3
  283. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  284. package/dist/components/content/Tree/use-load-data.js +2 -3
  285. package/dist/components/content/Tree/use-load-data.js.map +1 -1
  286. package/dist/components/content/highlightText.js +3 -4
  287. package/dist/components/content/highlightText.js.map +1 -1
  288. package/dist/components/content/use-auto-tooltip.d.ts +1 -3
  289. package/dist/components/content/use-auto-tooltip.js +2 -3
  290. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  291. package/dist/components/data/DataTable/DataTable.d.ts +1 -2
  292. package/dist/components/data/DataTable/DataTable.js +35 -25
  293. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  294. package/dist/components/data/DataTable/index.d.ts +2 -1
  295. package/dist/components/data/DataTable/types.d.ts +4 -6
  296. package/dist/components/data/ItemTable/ItemTable.d.ts +15 -9
  297. package/dist/components/data/ItemTable/ItemTable.js +6 -5
  298. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  299. package/dist/components/data/ItemTable/ItemTableBulkBar.d.ts +2 -5
  300. package/dist/components/data/ItemTable/ItemTableBulkBar.js +8 -4
  301. package/dist/components/data/ItemTable/ItemTableBulkBar.js.map +1 -1
  302. package/dist/components/data/ItemTable/ItemTableDragPreview.js +3 -4
  303. package/dist/components/data/ItemTable/ItemTableDragPreview.js.map +1 -1
  304. package/dist/components/data/ItemTable/ItemTableFooter.js +8 -4
  305. package/dist/components/data/ItemTable/ItemTableFooter.js.map +1 -1
  306. package/dist/components/data/ItemTable/ItemTableToolbar.d.ts +4 -15
  307. package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -3
  308. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  309. package/dist/components/data/ItemTable/index.d.ts +2 -1
  310. package/dist/components/data/ItemTable/types.d.ts +6 -6
  311. package/dist/components/data/ItemTable/use-item-table-column-widths.js +4 -4
  312. package/dist/components/data/ItemTable/use-item-table-column-widths.js.map +1 -1
  313. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +2 -3
  314. package/dist/components/data/ItemTable/use-item-table-drag-drop.js.map +1 -1
  315. package/dist/components/data/ItemTable/use-item-table-pagination.js +2 -3
  316. package/dist/components/data/ItemTable/use-item-table-pagination.js.map +1 -1
  317. package/dist/components/data/ItemTable/use-item-table-selection.js +2 -3
  318. package/dist/components/data/ItemTable/use-item-table-selection.js.map +1 -1
  319. package/dist/components/data/ItemTable/use-item-table-sort.js +2 -3
  320. package/dist/components/data/ItemTable/use-item-table-sort.js.map +1 -1
  321. package/dist/components/data/ItemTable/use-item-table-tree-model.js +2 -3
  322. package/dist/components/data/ItemTable/use-item-table-tree-model.js.map +1 -1
  323. package/dist/components/data/TableBase/ColumnResizer.js +2 -3
  324. package/dist/components/data/TableBase/ColumnResizer.js.map +1 -1
  325. package/dist/components/data/TableBase/RowCollection.d.ts +2 -0
  326. package/dist/components/data/TableBase/RowCollection.js +2 -2
  327. package/dist/components/data/TableBase/RowCollection.js.map +1 -1
  328. package/dist/components/data/TableBase/TableHeaderCell.js +2 -3
  329. package/dist/components/data/TableBase/TableHeaderCell.js.map +1 -1
  330. package/dist/components/data/TableBase/TableRow.js +2 -3
  331. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  332. package/dist/components/data/TableBase/TableView.d.ts +2 -3
  333. package/dist/components/data/TableBase/TableView.js +25 -15
  334. package/dist/components/data/TableBase/TableView.js.map +1 -1
  335. package/dist/components/data/TableBase/TreeGridTable.js +9 -9
  336. package/dist/components/data/TableBase/TreeGridTable.js.map +1 -1
  337. package/dist/components/data/TableBase/column-header.js +2 -3
  338. package/dist/components/data/TableBase/column-header.js.map +1 -1
  339. package/dist/components/data/TableBase/column-menu.d.ts +3 -6
  340. package/dist/components/data/TableBase/column-menu.js +3 -4
  341. package/dist/components/data/TableBase/column-menu.js.map +1 -1
  342. package/dist/components/data/TableBase/column-styles.js +2 -3
  343. package/dist/components/data/TableBase/column-styles.js.map +1 -1
  344. package/dist/components/data/TableBase/column-tint.js +4 -5
  345. package/dist/components/data/TableBase/column-tint.js.map +1 -1
  346. package/dist/components/data/TableBase/index.d.ts +2 -1
  347. package/dist/components/data/TableBase/row-menu.js +2 -3
  348. package/dist/components/data/TableBase/row-menu.js.map +1 -1
  349. package/dist/components/data/TableBase/styled.d.ts +1 -7
  350. package/dist/components/data/TableBase/styled.js +168 -4
  351. package/dist/components/data/TableBase/styled.js.map +1 -1
  352. package/dist/components/data/TableBase/table-tree.d.ts +2 -0
  353. package/dist/components/data/TableBase/table-tree.js +2 -2
  354. package/dist/components/data/TableBase/table-tree.js.map +1 -1
  355. package/dist/components/data/TableBase/types.d.ts +30 -26
  356. package/dist/components/data/TableBase/types.js +2 -2
  357. package/dist/components/data/TableBase/types.js.map +1 -1
  358. package/dist/components/data/TableBase/use-cell-selection.d.ts +1 -2
  359. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  360. package/dist/components/data/TableBase/use-cell-selection.js.map +1 -1
  361. package/dist/components/data/TableBase/use-column-menu.js +4 -5
  362. package/dist/components/data/TableBase/use-column-menu.js.map +1 -1
  363. package/dist/components/data/TableBase/use-column-order.js +3 -4
  364. package/dist/components/data/TableBase/use-column-order.js.map +1 -1
  365. package/dist/components/data/TableBase/use-column-window.js +3 -4
  366. package/dist/components/data/TableBase/use-column-window.js.map +1 -1
  367. package/dist/components/data/TableBase/use-container-width.js +2 -3
  368. package/dist/components/data/TableBase/use-container-width.js.map +1 -1
  369. package/dist/components/data/TableBase/use-row-move-animation.js +3 -7
  370. package/dist/components/data/TableBase/use-row-move-animation.js.map +1 -1
  371. package/dist/components/data/TableBase/use-scrollability.js +2 -3
  372. package/dist/components/data/TableBase/use-scrollability.js.map +1 -1
  373. package/dist/components/data/TableBase/use-table-columns.js +4 -8
  374. package/dist/components/data/TableBase/use-table-columns.js.map +1 -1
  375. package/dist/components/data/TableBase/use-table-search.js +2 -3
  376. package/dist/components/data/TableBase/use-table-search.js.map +1 -1
  377. package/dist/components/data/TableBase/use-table-selection.d.ts +1 -0
  378. package/dist/components/data/TableBase/use-table-selection.js +7 -6
  379. package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
  380. package/dist/components/data/TableBase/use-table-sort.js +2 -3
  381. package/dist/components/data/TableBase/use-table-sort.js.map +1 -1
  382. package/dist/components/data/TableBase/use-table-sorts.js +2 -3
  383. package/dist/components/data/TableBase/use-table-sorts.js.map +1 -1
  384. package/dist/components/data/TableBase/use-table-storage.d.ts +1 -3
  385. package/dist/components/data/TableBase/use-table-storage.js +4 -4
  386. package/dist/components/data/TableBase/use-table-storage.js.map +1 -1
  387. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +3 -4
  388. package/dist/components/data/TableBase/use-table-tooltip-refresh.js.map +1 -1
  389. package/dist/components/data/TableBase/use-table-tree-state.js +2 -3
  390. package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -1
  391. package/dist/components/data/index.d.ts +4 -3
  392. package/dist/components/fields/Checkbox/Checkbox.d.ts +7 -10
  393. package/dist/components/fields/Checkbox/Checkbox.js +39 -36
  394. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  395. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +4 -6
  396. package/dist/components/fields/Checkbox/CheckboxGroup.js +16 -16
  397. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  398. package/dist/components/fields/Checkbox/context.js +2 -3
  399. package/dist/components/fields/Checkbox/context.js.map +1 -1
  400. package/dist/components/fields/Checkbox/index.d.ts +3 -2
  401. package/dist/components/fields/ColorInput/ColorInput.d.ts +3 -6
  402. package/dist/components/fields/ColorInput/ColorInput.js +2 -3
  403. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  404. package/dist/components/fields/ColorInput/index.d.ts +2 -1
  405. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +3 -6
  406. package/dist/components/fields/ColorPicker/ColorPicker.js +321 -118
  407. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  408. package/dist/components/fields/ColorPicker/index.d.ts +2 -1
  409. package/dist/components/fields/ColorSwatch/ColorSwatch.d.ts +2 -5
  410. package/dist/components/fields/ColorSwatch/ColorSwatch.js +14 -3
  411. package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -1
  412. package/dist/components/fields/ColorSwatch/index.d.ts +2 -1
  413. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +3 -6
  414. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +235 -72
  415. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  416. package/dist/components/fields/ColorSwatchGroup/index.d.ts +2 -1
  417. package/dist/components/fields/ComboBox/ComboBox.d.ts +5 -6
  418. package/dist/components/fields/ComboBox/ComboBox.js +48 -45
  419. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  420. package/dist/components/fields/ComboBox/comboBoxOptions.js +2 -3
  421. package/dist/components/fields/ComboBox/comboBoxOptions.js.map +1 -1
  422. package/dist/components/fields/ComboBox/index.d.ts +2 -1
  423. package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +10 -9
  424. package/dist/components/fields/CommandTextArea/CommandTextArea.js +7 -7
  425. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  426. package/dist/components/fields/CommandTextArea/caretPosition.js +2 -2
  427. package/dist/components/fields/CommandTextArea/caretPosition.js.map +1 -1
  428. package/dist/components/fields/CommandTextArea/index.d.ts +2 -1
  429. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +2 -3
  430. package/dist/components/fields/CommandTextArea/useCaretAnchor.js.map +1 -1
  431. package/dist/components/fields/DatePicker/DateInput.d.ts +2 -3
  432. package/dist/components/fields/DatePicker/DateInput.js +10 -8
  433. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  434. package/dist/components/fields/DatePicker/DateInputBase.js +53 -44
  435. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  436. package/dist/components/fields/DatePicker/DatePicker.d.ts +3 -6
  437. package/dist/components/fields/DatePicker/DatePicker.js +28 -26
  438. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  439. package/dist/components/fields/DatePicker/DatePickerButton.js +2 -3
  440. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  441. package/dist/components/fields/DatePicker/DatePickerElement.js +2 -3
  442. package/dist/components/fields/DatePicker/DatePickerElement.js.map +1 -1
  443. package/dist/components/fields/DatePicker/DatePickerInput.js +2 -3
  444. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  445. package/dist/components/fields/DatePicker/DatePickerSegment.js +2 -3
  446. package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
  447. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +2 -3
  448. package/dist/components/fields/DatePicker/DateRangePicker.js +29 -27
  449. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  450. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +2 -3
  451. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +110 -110
  452. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  453. package/dist/components/fields/DatePicker/MonthPicker.d.ts +3 -6
  454. package/dist/components/fields/DatePicker/MonthPicker.js +3 -4
  455. package/dist/components/fields/DatePicker/MonthPicker.js.map +1 -1
  456. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +2 -4
  457. package/dist/components/fields/DatePicker/PeriodPicker.js +14 -14
  458. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  459. package/dist/components/fields/DatePicker/QuarterPicker.d.ts +3 -6
  460. package/dist/components/fields/DatePicker/QuarterPicker.js +3 -4
  461. package/dist/components/fields/DatePicker/QuarterPicker.js.map +1 -1
  462. package/dist/components/fields/DatePicker/TimeInput.d.ts +3 -6
  463. package/dist/components/fields/DatePicker/TimeInput.js +10 -8
  464. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  465. package/dist/components/fields/DatePicker/WeekPicker.d.ts +3 -6
  466. package/dist/components/fields/DatePicker/WeekPicker.js +3 -4
  467. package/dist/components/fields/DatePicker/WeekPicker.js.map +1 -1
  468. package/dist/components/fields/DatePicker/YearPicker.d.ts +3 -6
  469. package/dist/components/fields/DatePicker/YearPicker.js +3 -4
  470. package/dist/components/fields/DatePicker/YearPicker.js.map +1 -1
  471. package/dist/components/fields/DatePicker/index.d.ts +10 -9
  472. package/dist/components/fields/DatePicker/parseDate.d.ts +1 -4
  473. package/dist/components/fields/DatePicker/parseDate.js +2 -3
  474. package/dist/components/fields/DatePicker/parseDate.js.map +1 -1
  475. package/dist/components/fields/DatePicker/period.d.ts +5 -7
  476. package/dist/components/fields/DatePicker/period.js +3 -4
  477. package/dist/components/fields/DatePicker/period.js.map +1 -1
  478. package/dist/components/fields/DatePicker/props.js +2 -2
  479. package/dist/components/fields/DatePicker/props.js.map +1 -1
  480. package/dist/components/fields/DatePicker/types.d.ts +2 -4
  481. package/dist/components/fields/DatePicker/utils.js +14 -11
  482. package/dist/components/fields/DatePicker/utils.js.map +1 -1
  483. package/dist/components/fields/FileInput/FileInput.d.ts +3 -5
  484. package/dist/components/fields/FileInput/FileInput.js +290 -107
  485. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  486. package/dist/components/fields/FilterListBox/FilterListBox.d.ts +4 -5
  487. package/dist/components/fields/FilterListBox/FilterListBox.js +24 -19
  488. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  489. package/dist/components/fields/FilterListBox/index.d.ts +2 -1
  490. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +3 -5
  491. package/dist/components/fields/FilterPicker/FilterPicker.js +12 -10
  492. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  493. package/dist/components/fields/FilterPicker/index.d.ts +2 -1
  494. package/dist/components/fields/Input/Input.d.ts +6 -7
  495. package/dist/components/fields/Input/Input.js +6 -7
  496. package/dist/components/fields/Input/Input.js.map +1 -1
  497. package/dist/components/fields/Input/index.d.ts +2 -1
  498. package/dist/components/fields/ListBox/DraggableListBox.js +2 -3
  499. package/dist/components/fields/ListBox/DraggableListBox.js.map +1 -1
  500. package/dist/components/fields/ListBox/ListBox.d.ts +5 -7
  501. package/dist/components/fields/ListBox/ListBox.js +42 -27
  502. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  503. package/dist/components/fields/ListBox/index.d.ts +2 -1
  504. package/dist/components/fields/ListBox/optionId.js +2 -2
  505. package/dist/components/fields/ListBox/optionId.js.map +1 -1
  506. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +3 -4
  507. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  508. package/dist/components/fields/ListBoxPopover/index.d.ts +2 -1
  509. package/dist/components/fields/ListBoxPopover/listNavigation.d.ts +2 -4
  510. package/dist/components/fields/ListBoxPopover/listNavigation.js +2 -2
  511. package/dist/components/fields/ListBoxPopover/listNavigation.js.map +1 -1
  512. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +4 -12
  513. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +2 -3
  514. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js.map +1 -1
  515. package/dist/components/fields/NumberInput/NumberInput.d.ts +4 -6
  516. package/dist/components/fields/NumberInput/NumberInput.js +114 -110
  517. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  518. package/dist/components/fields/NumberInput/StepButton.js +2 -3
  519. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  520. package/dist/components/fields/PasswordInput/PasswordInput.d.ts +3 -5
  521. package/dist/components/fields/PasswordInput/PasswordInput.js +4 -4
  522. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  523. package/dist/components/fields/Picker/Picker.d.ts +3 -5
  524. package/dist/components/fields/Picker/Picker.js +12 -10
  525. package/dist/components/fields/Picker/Picker.js.map +1 -1
  526. package/dist/components/fields/Picker/index.d.ts +2 -1
  527. package/dist/components/fields/RadioGroup/Radio.d.ts +30 -605
  528. package/dist/components/fields/RadioGroup/Radio.js +60 -65
  529. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  530. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +5 -7
  531. package/dist/components/fields/RadioGroup/RadioGroup.js +19 -19
  532. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  533. package/dist/components/fields/RadioGroup/context.js +2 -3
  534. package/dist/components/fields/RadioGroup/context.js.map +1 -1
  535. package/dist/components/fields/RadioGroup/index.d.ts +3 -2
  536. package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +5 -6
  537. package/dist/components/fields/SearchComboBox/SearchComboBox.js +16 -16
  538. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  539. package/dist/components/fields/SearchComboBox/index.d.ts +2 -1
  540. package/dist/components/fields/SearchInput/SearchInput.d.ts +4 -6
  541. package/dist/components/fields/SearchInput/SearchInput.js +48 -49
  542. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  543. package/dist/components/fields/SearchInput/index.d.ts +2 -1
  544. package/dist/components/fields/Select/Select.d.ts +9 -29
  545. package/dist/components/fields/Select/Select.js +12 -10
  546. package/dist/components/fields/Select/Select.js.map +1 -1
  547. package/dist/components/fields/Select/index.d.ts +2 -1
  548. package/dist/components/fields/Slider/Gradation.js +2 -3
  549. package/dist/components/fields/Slider/Gradation.js.map +1 -1
  550. package/dist/components/fields/Slider/HueSlider.d.ts +3 -6
  551. package/dist/components/fields/Slider/HueSlider.js +5 -6
  552. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  553. package/dist/components/fields/Slider/RangeSlider.d.ts +3 -6
  554. package/dist/components/fields/Slider/RangeSlider.js +4 -5
  555. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  556. package/dist/components/fields/Slider/Slider.d.ts +3 -6
  557. package/dist/components/fields/Slider/Slider.js +4 -5
  558. package/dist/components/fields/Slider/Slider.js.map +1 -1
  559. package/dist/components/fields/Slider/SliderBase.js +296 -88
  560. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  561. package/dist/components/fields/Slider/SliderThumb.js +2 -3
  562. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  563. package/dist/components/fields/Slider/SliderTrack.js +2 -3
  564. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  565. package/dist/components/fields/Slider/elements.js +2 -3
  566. package/dist/components/fields/Slider/elements.js.map +1 -1
  567. package/dist/components/fields/Slider/index.d.ts +4 -4
  568. package/dist/components/fields/Slider/index.js +5 -6
  569. package/dist/components/fields/Slider/types.d.ts +2 -3
  570. package/dist/components/fields/Switch/Switch.d.ts +4 -6
  571. package/dist/components/fields/Switch/Switch.js +78 -70
  572. package/dist/components/fields/Switch/Switch.js.map +1 -1
  573. package/dist/components/fields/TagInput/TagInput.d.ts +5 -6
  574. package/dist/components/fields/TagInput/TagInput.js +411 -998
  575. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  576. package/dist/components/fields/TagInput/TagList.js +3 -4
  577. package/dist/components/fields/TagInput/TagList.js.map +1 -1
  578. package/dist/components/fields/TagInput/index.d.ts +2 -1
  579. package/dist/components/fields/TagInput/useActiveOption.js +2 -3
  580. package/dist/components/fields/TagInput/useActiveOption.js.map +1 -1
  581. package/dist/components/fields/TagInput/useTagError.js +2 -3
  582. package/dist/components/fields/TagInput/useTagError.js.map +1 -1
  583. package/dist/components/fields/TextArea/TextArea.d.ts +4 -6
  584. package/dist/components/fields/TextArea/TextArea.js +4 -4
  585. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  586. package/dist/components/fields/TextArea/index.d.ts +2 -1
  587. package/dist/components/fields/TextInput/TextInput.d.ts +4 -6
  588. package/dist/components/fields/TextInput/TextInput.js +3 -3
  589. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  590. package/dist/components/fields/TextInput/TextInputBase.d.ts +6 -8
  591. package/dist/components/fields/TextInput/TextInputBase.js +10 -9
  592. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  593. package/dist/components/fields/TextInput/displayed-validation.js +2 -3
  594. package/dist/components/fields/TextInput/displayed-validation.js.map +1 -1
  595. package/dist/components/fields/TextInput/index.d.ts +2 -1
  596. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +2 -3
  597. package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -1
  598. package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +4 -6
  599. package/dist/components/fields/TextInputMapper/TextInputMapper.js +8 -10
  600. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  601. package/dist/components/fields/TextInputMapper/index.d.ts +2 -1
  602. package/dist/components/fields/TriggerActions.js +3 -4
  603. package/dist/components/fields/TriggerActions.js.map +1 -1
  604. package/dist/components/fields/color/ColorPanel.js +4 -5
  605. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  606. package/dist/components/fields/color/channels.d.ts +2 -4
  607. package/dist/components/fields/color/channels.js +2 -3
  608. package/dist/components/fields/color/channels.js.map +1 -1
  609. package/dist/components/fields/color/color.d.ts +4 -5
  610. package/dist/components/fields/color/color.js +3 -4
  611. package/dist/components/fields/color/color.js.map +1 -1
  612. package/dist/components/fields/color/context.js +2 -3
  613. package/dist/components/fields/color/context.js.map +1 -1
  614. package/dist/components/fields/color/index.d.ts +2 -1
  615. package/dist/components/fields/index.d.ts +27 -26
  616. package/dist/components/fields/option-origin-press.js +3 -3
  617. package/dist/components/fields/option-origin-press.js.map +1 -1
  618. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +15 -19
  619. package/dist/components/form/FieldWrapper/FieldWrapper.js +123 -123
  620. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  621. package/dist/components/form/FieldWrapper/field-description.js +2 -3
  622. package/dist/components/form/FieldWrapper/field-description.js.map +1 -1
  623. package/dist/components/form/FieldWrapper/index.d.ts +2 -1
  624. package/dist/components/form/FieldWrapper/types.d.ts +20 -12
  625. package/dist/components/form/Form/Field.d.ts +2 -5
  626. package/dist/components/form/Form/Field.js +2 -3
  627. package/dist/components/form/Form/Field.js.map +1 -1
  628. package/dist/components/form/Form/Form.d.ts +6 -12
  629. package/dist/components/form/Form/Form.js +5 -6
  630. package/dist/components/form/Form/Form.js.map +1 -1
  631. package/dist/components/form/Form/ModernFormRoot.d.ts +1 -3
  632. package/dist/components/form/Form/ModernFormRoot.js +3 -4
  633. package/dist/components/form/Form/ModernFormRoot.js.map +1 -1
  634. package/dist/components/form/Form/ResetButton/ResetButton.d.ts +3 -6
  635. package/dist/components/form/Form/ResetButton/ResetButton.js +3 -4
  636. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  637. package/dist/components/form/Form/ResetButton/index.d.ts +2 -1
  638. package/dist/components/form/Form/SubmitButton/SubmitButton.d.ts +3 -6
  639. package/dist/components/form/Form/SubmitButton/SubmitButton.js +3 -4
  640. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  641. package/dist/components/form/Form/SubmitButton/index.d.ts +2 -1
  642. package/dist/components/form/Form/SubmitError.d.ts +3 -5
  643. package/dist/components/form/Form/SubmitError.js +3 -4
  644. package/dist/components/form/Form/SubmitError.js.map +1 -1
  645. package/dist/components/form/Form/backend.d.ts +3 -5
  646. package/dist/components/form/Form/backend.js +2 -2
  647. package/dist/components/form/Form/backend.js.map +1 -1
  648. package/dist/components/form/Form/index.d.ts +10 -24
  649. package/dist/components/form/Form/index.js +7 -8
  650. package/dist/components/form/Form/index.js.map +1 -1
  651. package/dist/components/form/Form/modern/actions.js +2 -3
  652. package/dist/components/form/Form/modern/actions.js.map +1 -1
  653. package/dist/components/form/Form/modern/context.d.ts +2 -4
  654. package/dist/components/form/Form/modern/context.js +2 -3
  655. package/dist/components/form/Form/modern/context.js.map +1 -1
  656. package/dist/components/form/Form/modern/controller.d.ts +9 -11
  657. package/dist/components/form/Form/modern/controller.js +2 -3
  658. package/dist/components/form/Form/modern/controller.js.map +1 -1
  659. package/dist/components/form/Form/modern/field-binding.js +2 -3
  660. package/dist/components/form/Form/modern/field-binding.js.map +1 -1
  661. package/dist/components/form/Form/modern/field.d.ts +4 -5
  662. package/dist/components/form/Form/modern/field.js +2 -3
  663. package/dist/components/form/Form/modern/field.js.map +1 -1
  664. package/dist/components/form/Form/modern/path-types.d.ts +4 -5
  665. package/dist/components/form/Form/modern/react.d.ts +7 -10
  666. package/dist/components/form/Form/modern/react.js +2 -3
  667. package/dist/components/form/Form/modern/react.js.map +1 -1
  668. package/dist/components/form/Form/modern/read-types.d.ts +3 -4
  669. package/dist/components/form/Form/modern/store.js +2 -3
  670. package/dist/components/form/Form/modern/store.js.map +1 -1
  671. package/dist/components/form/Form/modern/types.d.ts +18 -20
  672. package/dist/components/form/Form/modern/validation.d.ts +2 -4
  673. package/dist/components/form/Form/modern/validation.js +2 -3
  674. package/dist/components/form/Form/modern/validation.js.map +1 -1
  675. package/dist/components/form/Form/modern/values.d.ts +1 -2
  676. package/dist/components/form/Form/modern/values.js +2 -2
  677. package/dist/components/form/Form/modern/values.js.map +1 -1
  678. package/dist/components/form/Form/reset-unbound-controls.js +3 -5
  679. package/dist/components/form/Form/reset-unbound-controls.js.map +1 -1
  680. package/dist/components/form/Form/types.d.ts +4 -6
  681. package/dist/components/form/Form/use-field/index.d.ts +2 -1
  682. package/dist/components/form/Form/use-field/types.d.ts +6 -6
  683. package/dist/components/form/Form/use-field/use-field-binding.js +2 -3
  684. package/dist/components/form/Form/use-field/use-field-binding.js.map +1 -1
  685. package/dist/components/form/Form/use-field/use-field-props.d.ts +11 -9
  686. package/dist/components/form/Form/use-field/use-field-props.js +48 -42
  687. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  688. package/dist/components/form/Form/use-field/use-field.d.ts +2 -4
  689. package/dist/components/form/Form/use-field/use-field.js +2 -3
  690. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  691. package/dist/components/form/Form/use-form.d.ts +5 -6
  692. package/dist/components/form/Form/use-form.js +3 -4
  693. package/dist/components/form/Form/use-form.js.map +1 -1
  694. package/dist/components/form/Form/validation.js +2 -3
  695. package/dist/components/form/Form/validation.js.map +1 -1
  696. package/dist/components/form/Label.d.ts +7 -9
  697. package/dist/components/form/Label.js +3 -4
  698. package/dist/components/form/Label.js.map +1 -1
  699. package/dist/components/form/field-chrome.js +46 -6
  700. package/dist/components/form/field-chrome.js.map +1 -1
  701. package/dist/components/form/index.d.ts +8 -7
  702. package/dist/components/form/legacy-tooltip.js +2 -3
  703. package/dist/components/form/legacy-tooltip.js.map +1 -1
  704. package/dist/components/form/validation/ValidationIndicator.d.ts +4 -10
  705. package/dist/components/form/validation/ValidationIndicator.js +2 -3
  706. package/dist/components/form/validation/ValidationIndicator.js.map +1 -1
  707. package/dist/components/form/validation/index.d.ts +2 -1
  708. package/dist/components/form/validation/resolve-validation-props.d.ts +6 -17
  709. package/dist/components/form/validation/resolve-validation-props.js +2 -2
  710. package/dist/components/form/validation/resolve-validation-props.js.map +1 -1
  711. package/dist/components/form/validation/use-validation-props.d.ts +1 -3
  712. package/dist/components/form/validation/use-validation-props.js +2 -3
  713. package/dist/components/form/validation/use-validation-props.js.map +1 -1
  714. package/dist/components/form/wrapper.d.ts +23 -9
  715. package/dist/components/form/wrapper.js +20 -11
  716. package/dist/components/form/wrapper.js.map +1 -1
  717. package/dist/components/helpers/DisplayTransition/DisplayTransition.d.ts +22 -25
  718. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +16 -16
  719. package/dist/components/helpers/DisplayTransition/DisplayTransition.js.map +1 -1
  720. package/dist/components/helpers/IconSwitch/IconSwitch.d.ts +3 -5
  721. package/dist/components/helpers/IconSwitch/IconSwitch.js +2 -3
  722. package/dist/components/helpers/IconSwitch/IconSwitch.js.map +1 -1
  723. package/dist/components/layout/Flex.d.ts +2 -5
  724. package/dist/components/layout/Flex.js +2 -3
  725. package/dist/components/layout/Flex.js.map +1 -1
  726. package/dist/components/layout/Flow.d.ts +2 -5
  727. package/dist/components/layout/Flow.js +2 -3
  728. package/dist/components/layout/Flow.js.map +1 -1
  729. package/dist/components/layout/Grid.d.ts +2 -5
  730. package/dist/components/layout/Grid.js +2 -3
  731. package/dist/components/layout/Grid.js.map +1 -1
  732. package/dist/components/layout/Panel.d.ts +3 -5
  733. package/dist/components/layout/Panel.js +22 -22
  734. package/dist/components/layout/Panel.js.map +1 -1
  735. package/dist/components/layout/Prefix.d.ts +2 -5
  736. package/dist/components/layout/Prefix.js +2 -3
  737. package/dist/components/layout/Prefix.js.map +1 -1
  738. package/dist/components/layout/ResizablePanel.d.ts +3 -5
  739. package/dist/components/layout/ResizablePanel.js +4 -5
  740. package/dist/components/layout/ResizablePanel.js.map +1 -1
  741. package/dist/components/layout/Space.d.ts +2 -5
  742. package/dist/components/layout/Space.js +2 -3
  743. package/dist/components/layout/Space.js.map +1 -1
  744. package/dist/components/layout/Suffix.d.ts +2 -5
  745. package/dist/components/layout/Suffix.js +2 -3
  746. package/dist/components/layout/Suffix.js.map +1 -1
  747. package/dist/components/navigation/Pagination/Pagination.d.ts +2 -4
  748. package/dist/components/navigation/Pagination/Pagination.js +9 -5
  749. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  750. package/dist/components/navigation/Pagination/index.d.ts +3 -2
  751. package/dist/components/navigation/Pagination/types.d.ts +4 -6
  752. package/dist/components/navigation/Pagination/use-pagination.d.ts +11 -16
  753. package/dist/components/navigation/Pagination/use-pagination.js +2 -3
  754. package/dist/components/navigation/Pagination/use-pagination.js.map +1 -1
  755. package/dist/components/navigation/Tabs/BoardDragActiveProvider.d.ts +2 -5
  756. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +2 -3
  757. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js.map +1 -1
  758. package/dist/components/navigation/Tabs/DraggableTabList.js +2 -3
  759. package/dist/components/navigation/Tabs/DraggableTabList.js.map +1 -1
  760. package/dist/components/navigation/Tabs/TabButton.js +4 -5
  761. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  762. package/dist/components/navigation/Tabs/TabDropIndicator.js +2 -3
  763. package/dist/components/navigation/Tabs/TabDropIndicator.js.map +1 -1
  764. package/dist/components/navigation/Tabs/TabPanel.js +3 -4
  765. package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
  766. package/dist/components/navigation/Tabs/TabPicker.js +2 -3
  767. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  768. package/dist/components/navigation/Tabs/Tabs.d.ts +11 -13
  769. package/dist/components/navigation/Tabs/Tabs.js +8 -7
  770. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  771. package/dist/components/navigation/Tabs/TabsAction.d.ts +2 -6
  772. package/dist/components/navigation/Tabs/TabsAction.js +3 -4
  773. package/dist/components/navigation/Tabs/TabsAction.js.map +1 -1
  774. package/dist/components/navigation/Tabs/TabsContext.js +2 -3
  775. package/dist/components/navigation/Tabs/TabsContext.js.map +1 -1
  776. package/dist/components/navigation/Tabs/index.d.ts +3 -2
  777. package/dist/components/navigation/Tabs/popover-placement.js +2 -2
  778. package/dist/components/navigation/Tabs/popover-placement.js.map +1 -1
  779. package/dist/components/navigation/Tabs/styled.js +3 -4
  780. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  781. package/dist/components/navigation/Tabs/types.d.ts +15 -16
  782. package/dist/components/navigation/Tabs/types.js +2 -2
  783. package/dist/components/navigation/Tabs/types.js.map +1 -1
  784. package/dist/components/navigation/Tabs/use-tab-editing.js +2 -3
  785. package/dist/components/navigation/Tabs/use-tab-editing.js.map +1 -1
  786. package/dist/components/navigation/Tabs/use-tab-indicator.js +2 -3
  787. package/dist/components/navigation/Tabs/use-tab-indicator.js.map +1 -1
  788. package/dist/components/navigation/index.d.ts +4 -3
  789. package/dist/components/organisms/StatsCard/StatsCard.d.ts +2 -10
  790. package/dist/components/organisms/StatsCard/StatsCard.js +4 -5
  791. package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
  792. package/dist/components/other/Calendar/Calendar.js +3 -4
  793. package/dist/components/other/Calendar/Calendar.js.map +1 -1
  794. package/dist/components/other/Calendar/CalendarCell.js +2 -3
  795. package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
  796. package/dist/components/other/Calendar/CalendarGrid.js +2 -3
  797. package/dist/components/other/Calendar/CalendarGrid.js.map +1 -1
  798. package/dist/components/other/Calendar/CalendarHeader.js +3 -4
  799. package/dist/components/other/Calendar/CalendarHeader.js.map +1 -1
  800. package/dist/components/other/Calendar/CalendarPanel.js +2 -3
  801. package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
  802. package/dist/components/other/Calendar/PeriodCalendar.js +2 -3
  803. package/dist/components/other/Calendar/PeriodCalendar.js.map +1 -1
  804. package/dist/components/other/Calendar/PeriodGrid.js +2 -3
  805. package/dist/components/other/Calendar/PeriodGrid.js.map +1 -1
  806. package/dist/components/other/Calendar/RangeCalendar.js +3 -4
  807. package/dist/components/other/Calendar/RangeCalendar.js.map +1 -1
  808. package/dist/components/other/Calendar/styled.js +2 -3
  809. package/dist/components/other/Calendar/styled.js.map +1 -1
  810. package/dist/components/other/CubeLogo/CubeLogo.d.ts +3 -6
  811. package/dist/components/other/CubeLogo/CubeLogo.js +2 -3
  812. package/dist/components/other/CubeLogo/CubeLogo.js.map +1 -1
  813. package/dist/components/other/NoDataIcon/NoDataIcon.d.ts +2 -5
  814. package/dist/components/other/NoDataIcon/NoDataIcon.js +2 -3
  815. package/dist/components/other/NoDataIcon/NoDataIcon.js.map +1 -1
  816. package/dist/components/other/NoDataIcon/index.d.ts +2 -1
  817. package/dist/components/overlays/AlertDialog/AlertDialog.d.ts +4 -6
  818. package/dist/components/overlays/AlertDialog/AlertDialog.js +4 -5
  819. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  820. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.d.ts +3 -6
  821. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +3 -5
  822. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  823. package/dist/components/overlays/AlertDialog/AlertDialogZone.d.ts +1 -2
  824. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +3 -4
  825. package/dist/components/overlays/AlertDialog/AlertDialogZone.js.map +1 -1
  826. package/dist/components/overlays/AlertDialog/index.d.ts +3 -2
  827. package/dist/components/overlays/AlertDialog/types.d.ts +5 -10
  828. package/dist/components/overlays/Dialog/Dialog.d.ts +6 -6
  829. package/dist/components/overlays/Dialog/Dialog.js +95 -33
  830. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  831. package/dist/components/overlays/Dialog/DialogContainer.d.ts +2 -5
  832. package/dist/components/overlays/Dialog/DialogContainer.js +4 -5
  833. package/dist/components/overlays/Dialog/DialogContainer.js.map +1 -1
  834. package/dist/components/overlays/Dialog/DialogForm.d.ts +5 -7
  835. package/dist/components/overlays/Dialog/DialogForm.js +5 -6
  836. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  837. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +3 -6
  838. package/dist/components/overlays/Dialog/DialogTrigger.js +5 -6
  839. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  840. package/dist/components/overlays/Dialog/ModernDialogForm.js +5 -6
  841. package/dist/components/overlays/Dialog/ModernDialogForm.js.map +1 -1
  842. package/dist/components/overlays/Dialog/context.js +12 -4
  843. package/dist/components/overlays/Dialog/context.js.map +1 -1
  844. package/dist/components/overlays/Dialog/default-button-text.js +2 -2
  845. package/dist/components/overlays/Dialog/default-button-text.js.map +1 -1
  846. package/dist/components/overlays/Dialog/index.d.ts +2 -1
  847. package/dist/components/overlays/Dialog/use-content-overflow.js +2 -3
  848. package/dist/components/overlays/Dialog/use-content-overflow.js.map +1 -1
  849. package/dist/components/overlays/Dialog/use-dialog-container.d.ts +2 -5
  850. package/dist/components/overlays/Dialog/use-dialog-container.js +2 -3
  851. package/dist/components/overlays/Dialog/use-dialog-container.js.map +1 -1
  852. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +2 -3
  853. package/dist/components/overlays/Dialog/use-dialog-open-sync.js.map +1 -1
  854. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +386 -0
  855. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js.map +1 -0
  856. package/dist/components/overlays/Modal/Modal.d.ts +1 -2
  857. package/dist/components/overlays/Modal/Modal.js +5 -6
  858. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  859. package/dist/components/overlays/Modal/OpenTransitionContext.js +2 -3
  860. package/dist/components/overlays/Modal/OpenTransitionContext.js.map +1 -1
  861. package/dist/components/overlays/Modal/Overlay.js +35 -14
  862. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  863. package/dist/components/overlays/Modal/Popover.js +4 -5
  864. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  865. package/dist/components/overlays/Modal/Tray.js +5 -6
  866. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  867. package/dist/components/overlays/Modal/Underlay.js +3 -4
  868. package/dist/components/overlays/Modal/Underlay.js.map +1 -1
  869. package/dist/components/overlays/Modal/index.d.ts +2 -1
  870. package/dist/components/overlays/Modal/modal-containment.js +2 -3
  871. package/dist/components/overlays/Modal/modal-containment.js.map +1 -1
  872. package/dist/components/overlays/Modal/types.d.ts +1 -3
  873. package/dist/components/overlays/Notifications/Notification.js +4 -4
  874. package/dist/components/overlays/Notifications/Notification.js.map +1 -1
  875. package/dist/components/overlays/Notifications/NotificationAction.d.ts +1 -10
  876. package/dist/components/overlays/Notifications/NotificationAction.js +2 -3
  877. package/dist/components/overlays/Notifications/NotificationAction.js.map +1 -1
  878. package/dist/components/overlays/Notifications/NotificationCard.d.ts +2 -18
  879. package/dist/components/overlays/Notifications/NotificationCard.js +3 -4
  880. package/dist/components/overlays/Notifications/NotificationCard.js.map +1 -1
  881. package/dist/components/overlays/Notifications/NotificationContext.d.ts +1 -4
  882. package/dist/components/overlays/Notifications/NotificationContext.js +2 -3
  883. package/dist/components/overlays/Notifications/NotificationContext.js.map +1 -1
  884. package/dist/components/overlays/Notifications/NotificationItem.d.ts +2 -9
  885. package/dist/components/overlays/Notifications/NotificationItem.js +2 -3
  886. package/dist/components/overlays/Notifications/NotificationItem.js.map +1 -1
  887. package/dist/components/overlays/Notifications/OverlayContainer.js +6 -8
  888. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  889. package/dist/components/overlays/Notifications/OverlayProvider.d.ts +1 -7
  890. package/dist/components/overlays/Notifications/OverlayProvider.js +3 -4
  891. package/dist/components/overlays/Notifications/OverlayProvider.js.map +1 -1
  892. package/dist/components/overlays/Notifications/PersistentNotificationsList.d.ts +1 -8
  893. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +3 -4
  894. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  895. package/dist/components/overlays/Notifications/dismissed-storage.js +2 -2
  896. package/dist/components/overlays/Notifications/dismissed-storage.js.map +1 -1
  897. package/dist/components/overlays/Notifications/format-relative-time.d.ts +1 -3
  898. package/dist/components/overlays/Notifications/format-relative-time.js +2 -2
  899. package/dist/components/overlays/Notifications/format-relative-time.js.map +1 -1
  900. package/dist/components/overlays/Notifications/index.d.ts +5 -6
  901. package/dist/components/overlays/Notifications/index.js +4 -5
  902. package/dist/components/overlays/Notifications/index.js.map +1 -1
  903. package/dist/components/overlays/Notifications/types.d.ts +14 -16
  904. package/dist/components/overlays/Notifications/use-notification-state.js +3 -4
  905. package/dist/components/overlays/Notifications/use-notification-state.js.map +1 -1
  906. package/dist/components/overlays/Notifications/use-notifications.d.ts +1 -3
  907. package/dist/components/overlays/Notifications/use-notifications.js +8 -7
  908. package/dist/components/overlays/Notifications/use-notifications.js.map +1 -1
  909. package/dist/components/overlays/Notifications/use-overlay-timers.js +2 -3
  910. package/dist/components/overlays/Notifications/use-overlay-timers.js.map +1 -1
  911. package/dist/components/overlays/Notifications/use-persistent-notifications.d.ts +2 -4
  912. package/dist/components/overlays/Notifications/use-persistent-notifications.js +2 -3
  913. package/dist/components/overlays/Notifications/use-persistent-notifications.js.map +1 -1
  914. package/dist/components/overlays/Notifications/use-persistent-state.js +2 -3
  915. package/dist/components/overlays/Notifications/use-persistent-state.js.map +1 -1
  916. package/dist/components/overlays/Notifications/use-toast-state.js +2 -3
  917. package/dist/components/overlays/Notifications/use-toast-state.js.map +1 -1
  918. package/dist/components/overlays/Toast/ToastItem.d.ts +3 -6
  919. package/dist/components/overlays/Toast/ToastItem.js +3 -4
  920. package/dist/components/overlays/Toast/ToastItem.js.map +1 -1
  921. package/dist/components/overlays/Toast/ToastProvider.d.ts +2 -1
  922. package/dist/components/overlays/Toast/index.d.ts +6 -7
  923. package/dist/components/overlays/Toast/index.js +3 -4
  924. package/dist/components/overlays/Toast/index.js.map +1 -1
  925. package/dist/components/overlays/Toast/types.d.ts +8 -10
  926. package/dist/components/overlays/Toast/useProgressToast.d.ts +1 -3
  927. package/dist/components/overlays/Toast/useProgressToast.js +11 -10
  928. package/dist/components/overlays/Toast/useProgressToast.js.map +1 -1
  929. package/dist/components/overlays/Toast/useToast.d.ts +2 -4
  930. package/dist/components/overlays/Toast/useToast.js +2 -3
  931. package/dist/components/overlays/Toast/useToast.js.map +1 -1
  932. package/dist/components/overlays/Tooltip/Tooltip.d.ts +3 -5
  933. package/dist/components/overlays/Tooltip/Tooltip.js +3 -4
  934. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  935. package/dist/components/overlays/Tooltip/TooltipProvider.d.ts +2 -4
  936. package/dist/components/overlays/Tooltip/TooltipProvider.js +3 -4
  937. package/dist/components/overlays/Tooltip/TooltipProvider.js.map +1 -1
  938. package/dist/components/overlays/Tooltip/TooltipTrigger.d.ts +3 -6
  939. package/dist/components/overlays/Tooltip/TooltipTrigger.js +4 -5
  940. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  941. package/dist/components/overlays/Tooltip/context.js +2 -3
  942. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  943. package/dist/components/overlays/Tooltip/split-trigger-props.d.ts +2 -3
  944. package/dist/components/overlays/Tooltip/split-trigger-props.js +2 -3
  945. package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -1
  946. package/dist/components/portal/Portal.d.ts +1 -4
  947. package/dist/components/portal/Portal.js +2 -3
  948. package/dist/components/portal/Portal.js.map +1 -1
  949. package/dist/components/portal/PortalProvider.js +2 -3
  950. package/dist/components/portal/PortalProvider.js.map +1 -1
  951. package/dist/components/portal/index.d.ts +2 -1
  952. package/dist/components/portal/types.d.ts +1 -3
  953. package/dist/components/portal/usePortal.js +2 -3
  954. package/dist/components/portal/usePortal.js.map +1 -1
  955. package/dist/components/shared/DraggableCollection.js +15 -15
  956. package/dist/components/shared/DraggableCollection.js.map +1 -1
  957. package/dist/components/shared/InvalidIcon.js +2 -3
  958. package/dist/components/shared/InvalidIcon.js.map +1 -1
  959. package/dist/components/shared/ValidIcon.js +2 -3
  960. package/dist/components/shared/ValidIcon.js.map +1 -1
  961. package/dist/components/status/LoadingAnimation/LoadingAnimation.d.ts +2 -8
  962. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +2 -3
  963. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  964. package/dist/components/status/LoadingAnimation/index.d.ts +2 -1
  965. package/dist/components/status/Spin/Cube.js +2 -3
  966. package/dist/components/status/Spin/Cube.js.map +1 -1
  967. package/dist/components/status/Spin/InternalSpinner.js +2 -3
  968. package/dist/components/status/Spin/InternalSpinner.js.map +1 -1
  969. package/dist/components/status/Spin/Spin.d.ts +1 -4
  970. package/dist/components/status/Spin/Spin.js +2 -3
  971. package/dist/components/status/Spin/Spin.js.map +1 -1
  972. package/dist/components/status/Spin/SpinsContainer.js +2 -3
  973. package/dist/components/status/Spin/SpinsContainer.js.map +1 -1
  974. package/dist/components/status/Spin/index.d.ts +2 -1
  975. package/dist/components/status/Spin/types.d.ts +2 -4
  976. package/dist/components/status/index.d.ts +2 -1
  977. package/dist/data/item-themes.d.ts +1 -3
  978. package/dist/data/item-themes.js +3 -3
  979. package/dist/data/item-themes.js.map +1 -1
  980. package/dist/data/themes.d.ts +9 -9
  981. package/dist/data/themes.js +10 -10
  982. package/dist/data/themes.js.map +1 -1
  983. package/dist/eslint-plugin/defaults.generated.d.ts +1 -3
  984. package/dist/eslint-plugin/defaults.generated.js +3 -8
  985. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  986. package/dist/eslint-plugin/index.d.ts +0 -1
  987. package/dist/eslint-plugin/index.js +2 -3
  988. package/dist/eslint-plugin/index.js.map +1 -1
  989. package/dist/eslint-plugin/rules/no-redundant-default-prop.d.ts +2 -4
  990. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +2 -3
  991. package/dist/eslint-plugin/rules/no-redundant-default-prop.js.map +1 -1
  992. package/dist/eslint-plugin/types.d.ts +17 -10
  993. package/dist/i18n/I18nProvider.d.ts +2 -9
  994. package/dist/i18n/I18nProvider.js +2 -3
  995. package/dist/i18n/I18nProvider.js.map +1 -1
  996. package/dist/i18n/createFormatter.d.ts +6 -7
  997. package/dist/i18n/createFormatter.js +2 -2
  998. package/dist/i18n/createFormatter.js.map +1 -1
  999. package/dist/i18n/index.d.ts +2 -4
  1000. package/dist/i18n/index.js +3 -4
  1001. package/dist/i18n/index.js.map +1 -1
  1002. package/dist/i18n/instance.d.ts +5 -6
  1003. package/dist/i18n/instance.js +3 -4
  1004. package/dist/i18n/instance.js.map +1 -1
  1005. package/dist/i18n/locales/de-DE/uikit.js +2 -2
  1006. package/dist/i18n/locales/en-US/uikit.js +2 -2
  1007. package/dist/i18n/locales/en-US/uikit.json.d.ts +41 -41
  1008. package/dist/i18n/locales/es-ES/uikit.js +2 -2
  1009. package/dist/i18n/locales/es-MX/uikit.js +2 -2
  1010. package/dist/i18n/locales/fr-FR/uikit.js +2 -2
  1011. package/dist/i18n/locales/it-IT/uikit.js +2 -2
  1012. package/dist/i18n/locales/ja-JP/uikit.js +2 -2
  1013. package/dist/i18n/locales/nb-NO/uikit.js +2 -2
  1014. package/dist/i18n/locales/pt-BR/uikit.js +2 -2
  1015. package/dist/i18n/locales/pt-PT/uikit.js +2 -2
  1016. package/dist/i18n/locales/sv-SE/uikit.js +2 -2
  1017. package/dist/i18n/locales/vi-VN/uikit.js +2 -2
  1018. package/dist/i18n/locales.d.ts +4 -5
  1019. package/dist/i18n/locales.js +2 -2
  1020. package/dist/i18n/locales.js.map +1 -1
  1021. package/dist/i18n/namespace.d.ts +1 -2
  1022. package/dist/i18n/namespace.js +2 -2
  1023. package/dist/i18n/useFormatter.d.ts +1 -3
  1024. package/dist/i18n/useFormatter.js +2 -3
  1025. package/dist/i18n/useFormatter.js.map +1 -1
  1026. package/dist/i18n/useI18n.js +2 -3
  1027. package/dist/i18n/useI18n.js.map +1 -1
  1028. package/dist/icons/AdjustmentsHorizontalIcon.d.ts +2 -5
  1029. package/dist/icons/AdjustmentsHorizontalIcon.js +2 -3
  1030. package/dist/icons/AdjustmentsHorizontalIcon.js.map +1 -1
  1031. package/dist/icons/AdjustmentsIcon.d.ts +2 -5
  1032. package/dist/icons/AdjustmentsIcon.js +2 -3
  1033. package/dist/icons/AdjustmentsIcon.js.map +1 -1
  1034. package/dist/icons/AiIcon.d.ts +2 -5
  1035. package/dist/icons/AiIcon.js +2 -3
  1036. package/dist/icons/AiIcon.js.map +1 -1
  1037. package/dist/icons/AreaChartIcon.d.ts +2 -5
  1038. package/dist/icons/AreaChartIcon.js +2 -3
  1039. package/dist/icons/AreaChartIcon.js.map +1 -1
  1040. package/dist/icons/ArrowNarrowDownIcon.d.ts +2 -5
  1041. package/dist/icons/ArrowNarrowDownIcon.js +2 -3
  1042. package/dist/icons/ArrowNarrowDownIcon.js.map +1 -1
  1043. package/dist/icons/ArrowNarrowUpIcon.d.ts +2 -5
  1044. package/dist/icons/ArrowNarrowUpIcon.js +2 -3
  1045. package/dist/icons/ArrowNarrowUpIcon.js.map +1 -1
  1046. package/dist/icons/BackwardIcon.d.ts +2 -5
  1047. package/dist/icons/BackwardIcon.js +2 -3
  1048. package/dist/icons/BackwardIcon.js.map +1 -1
  1049. package/dist/icons/BarChartIcon.d.ts +2 -5
  1050. package/dist/icons/BarChartIcon.js +2 -3
  1051. package/dist/icons/BarChartIcon.js.map +1 -1
  1052. package/dist/icons/BellFilledIcon.d.ts +2 -5
  1053. package/dist/icons/BellFilledIcon.js +2 -3
  1054. package/dist/icons/BellFilledIcon.js.map +1 -1
  1055. package/dist/icons/BellIcon.d.ts +2 -5
  1056. package/dist/icons/BellIcon.js +2 -3
  1057. package/dist/icons/BellIcon.js.map +1 -1
  1058. package/dist/icons/BooleanIcon.d.ts +2 -5
  1059. package/dist/icons/BooleanIcon.js +2 -3
  1060. package/dist/icons/BooleanIcon.js.map +1 -1
  1061. package/dist/icons/CalendarEditIcon.d.ts +2 -5
  1062. package/dist/icons/CalendarEditIcon.js +2 -3
  1063. package/dist/icons/CalendarEditIcon.js.map +1 -1
  1064. package/dist/icons/CalendarIcon.d.ts +2 -5
  1065. package/dist/icons/CalendarIcon.js +2 -3
  1066. package/dist/icons/CalendarIcon.js.map +1 -1
  1067. package/dist/icons/CaretDownIcon.d.ts +2 -5
  1068. package/dist/icons/CaretDownIcon.js +2 -3
  1069. package/dist/icons/CaretDownIcon.js.map +1 -1
  1070. package/dist/icons/CaretUpIcon.d.ts +2 -5
  1071. package/dist/icons/CaretUpIcon.js +2 -3
  1072. package/dist/icons/CaretUpIcon.js.map +1 -1
  1073. package/dist/icons/ChartAreaStackedIcon.d.ts +2 -5
  1074. package/dist/icons/ChartAreaStackedIcon.js +2 -3
  1075. package/dist/icons/ChartAreaStackedIcon.js.map +1 -1
  1076. package/dist/icons/ChartAreaStackedPercentageIcon.d.ts +2 -5
  1077. package/dist/icons/ChartAreaStackedPercentageIcon.js +2 -3
  1078. package/dist/icons/ChartAreaStackedPercentageIcon.js.map +1 -1
  1079. package/dist/icons/ChartBarGroupedHorizontalIcon.d.ts +2 -5
  1080. package/dist/icons/ChartBarGroupedHorizontalIcon.js +2 -3
  1081. package/dist/icons/ChartBarGroupedHorizontalIcon.js.map +1 -1
  1082. package/dist/icons/ChartBarGroupedIcon.d.ts +2 -5
  1083. package/dist/icons/ChartBarGroupedIcon.js +2 -3
  1084. package/dist/icons/ChartBarGroupedIcon.js.map +1 -1
  1085. package/dist/icons/ChartBarHorizontalIcon.d.ts +2 -5
  1086. package/dist/icons/ChartBarHorizontalIcon.js +2 -3
  1087. package/dist/icons/ChartBarHorizontalIcon.js.map +1 -1
  1088. package/dist/icons/ChartBarLineIcon.d.ts +2 -5
  1089. package/dist/icons/ChartBarLineIcon.js +2 -3
  1090. package/dist/icons/ChartBarLineIcon.js.map +1 -1
  1091. package/dist/icons/ChartBarStackedHorizontalIcon.d.ts +2 -5
  1092. package/dist/icons/ChartBarStackedHorizontalIcon.js +2 -3
  1093. package/dist/icons/ChartBarStackedHorizontalIcon.js.map +1 -1
  1094. package/dist/icons/ChartBarStackedIcon.d.ts +2 -5
  1095. package/dist/icons/ChartBarStackedIcon.js +2 -3
  1096. package/dist/icons/ChartBarStackedIcon.js.map +1 -1
  1097. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.d.ts +2 -5
  1098. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +2 -3
  1099. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js.map +1 -1
  1100. package/dist/icons/ChartBarStackedPercentageIcon.d.ts +2 -5
  1101. package/dist/icons/ChartBarStackedPercentageIcon.js +2 -3
  1102. package/dist/icons/ChartBarStackedPercentageIcon.js.map +1 -1
  1103. package/dist/icons/ChartBoxPlot2Icon.d.ts +2 -5
  1104. package/dist/icons/ChartBoxPlot2Icon.js +2 -3
  1105. package/dist/icons/ChartBoxPlot2Icon.js.map +1 -1
  1106. package/dist/icons/ChartBoxPlotIcon.d.ts +2 -5
  1107. package/dist/icons/ChartBoxPlotIcon.js +2 -3
  1108. package/dist/icons/ChartBoxPlotIcon.js.map +1 -1
  1109. package/dist/icons/ChartBubbleIcon.d.ts +2 -5
  1110. package/dist/icons/ChartBubbleIcon.js +2 -3
  1111. package/dist/icons/ChartBubbleIcon.js.map +1 -1
  1112. package/dist/icons/ChartDonut2Icon.d.ts +2 -5
  1113. package/dist/icons/ChartDonut2Icon.js +2 -3
  1114. package/dist/icons/ChartDonut2Icon.js.map +1 -1
  1115. package/dist/icons/ChartFunnelIcon.d.ts +2 -5
  1116. package/dist/icons/ChartFunnelIcon.js +2 -3
  1117. package/dist/icons/ChartFunnelIcon.js.map +1 -1
  1118. package/dist/icons/ChartHeatmapIcon.d.ts +2 -5
  1119. package/dist/icons/ChartHeatmapIcon.js +2 -3
  1120. package/dist/icons/ChartHeatmapIcon.js.map +1 -1
  1121. package/dist/icons/ChartKPIIcon.d.ts +2 -5
  1122. package/dist/icons/ChartKPIIcon.js +2 -3
  1123. package/dist/icons/ChartKPIIcon.js.map +1 -1
  1124. package/dist/icons/ChartPie2Icon.d.ts +2 -5
  1125. package/dist/icons/ChartPie2Icon.js +2 -3
  1126. package/dist/icons/ChartPie2Icon.js.map +1 -1
  1127. package/dist/icons/ChartScatterIcon.d.ts +2 -5
  1128. package/dist/icons/ChartScatterIcon.js +2 -3
  1129. package/dist/icons/ChartScatterIcon.js.map +1 -1
  1130. package/dist/icons/CheckCircleFilledIcon.d.ts +2 -5
  1131. package/dist/icons/CheckCircleFilledIcon.js +2 -3
  1132. package/dist/icons/CheckCircleFilledIcon.js.map +1 -1
  1133. package/dist/icons/CheckCircleIcon.d.ts +2 -5
  1134. package/dist/icons/CheckCircleIcon.js +2 -3
  1135. package/dist/icons/CheckCircleIcon.js.map +1 -1
  1136. package/dist/icons/CheckIcon.d.ts +2 -5
  1137. package/dist/icons/CheckIcon.js +2 -3
  1138. package/dist/icons/CheckIcon.js.map +1 -1
  1139. package/dist/icons/CircleFilledIcon.d.ts +2 -5
  1140. package/dist/icons/CircleFilledIcon.js +2 -3
  1141. package/dist/icons/CircleFilledIcon.js.map +1 -1
  1142. package/dist/icons/ClearIcon.d.ts +2 -5
  1143. package/dist/icons/ClearIcon.js +2 -3
  1144. package/dist/icons/ClearIcon.js.map +1 -1
  1145. package/dist/icons/CloseCircleFilledIcon.d.ts +2 -5
  1146. package/dist/icons/CloseCircleFilledIcon.js +2 -3
  1147. package/dist/icons/CloseCircleFilledIcon.js.map +1 -1
  1148. package/dist/icons/CloseCircleIcon.d.ts +2 -5
  1149. package/dist/icons/CloseCircleIcon.js +2 -3
  1150. package/dist/icons/CloseCircleIcon.js.map +1 -1
  1151. package/dist/icons/CloseIcon.d.ts +2 -5
  1152. package/dist/icons/CloseIcon.js +2 -3
  1153. package/dist/icons/CloseIcon.js.map +1 -1
  1154. package/dist/icons/CodeIcon.d.ts +2 -5
  1155. package/dist/icons/CodeIcon.js +2 -3
  1156. package/dist/icons/CodeIcon.js.map +1 -1
  1157. package/dist/icons/ColumnTotalIcon.d.ts +2 -5
  1158. package/dist/icons/ColumnTotalIcon.js +2 -3
  1159. package/dist/icons/ColumnTotalIcon.js.map +1 -1
  1160. package/dist/icons/CopyIcon.d.ts +2 -5
  1161. package/dist/icons/CopyIcon.js +2 -3
  1162. package/dist/icons/CopyIcon.js.map +1 -1
  1163. package/dist/icons/CountIcon.d.ts +2 -5
  1164. package/dist/icons/CountIcon.js +2 -3
  1165. package/dist/icons/CountIcon.js.map +1 -1
  1166. package/dist/icons/CubeIcon.d.ts +2 -5
  1167. package/dist/icons/CubeIcon.js +2 -3
  1168. package/dist/icons/CubeIcon.js.map +1 -1
  1169. package/dist/icons/CubePauseIcon.d.ts +2 -5
  1170. package/dist/icons/CubePauseIcon.js +2 -3
  1171. package/dist/icons/CubePauseIcon.js.map +1 -1
  1172. package/dist/icons/CubePlayIcon.d.ts +2 -5
  1173. package/dist/icons/CubePlayIcon.js +2 -3
  1174. package/dist/icons/CubePlayIcon.js.map +1 -1
  1175. package/dist/icons/CurrencyDollarIcon.d.ts +2 -5
  1176. package/dist/icons/CurrencyDollarIcon.js +2 -3
  1177. package/dist/icons/CurrencyDollarIcon.js.map +1 -1
  1178. package/dist/icons/DangerIcon.d.ts +2 -5
  1179. package/dist/icons/DangerIcon.js +2 -3
  1180. package/dist/icons/DangerIcon.js.map +1 -1
  1181. package/dist/icons/DashboardIcon.d.ts +2 -5
  1182. package/dist/icons/DashboardIcon.js +2 -3
  1183. package/dist/icons/DashboardIcon.js.map +1 -1
  1184. package/dist/icons/DatabaseIcon.d.ts +2 -5
  1185. package/dist/icons/DatabaseIcon.js +2 -3
  1186. package/dist/icons/DatabaseIcon.js.map +1 -1
  1187. package/dist/icons/DecimalDecreaseIcon.d.ts +2 -5
  1188. package/dist/icons/DecimalDecreaseIcon.js +2 -3
  1189. package/dist/icons/DecimalDecreaseIcon.js.map +1 -1
  1190. package/dist/icons/DecimalIncreaseIcon.d.ts +2 -5
  1191. package/dist/icons/DecimalIncreaseIcon.js +2 -3
  1192. package/dist/icons/DecimalIncreaseIcon.js.map +1 -1
  1193. package/dist/icons/DirectionIcon.d.ts +3 -5
  1194. package/dist/icons/DirectionIcon.js +2 -3
  1195. package/dist/icons/DirectionIcon.js.map +1 -1
  1196. package/dist/icons/DonutIcon.d.ts +2 -5
  1197. package/dist/icons/DonutIcon.js +2 -3
  1198. package/dist/icons/DonutIcon.js.map +1 -1
  1199. package/dist/icons/DownIcon.d.ts +2 -5
  1200. package/dist/icons/DownIcon.js +2 -3
  1201. package/dist/icons/DownIcon.js.map +1 -1
  1202. package/dist/icons/EditIcon.d.ts +2 -5
  1203. package/dist/icons/EditIcon.js +2 -3
  1204. package/dist/icons/EditIcon.js.map +1 -1
  1205. package/dist/icons/ExclamationCircleFilledIcon.d.ts +2 -5
  1206. package/dist/icons/ExclamationCircleFilledIcon.js +2 -3
  1207. package/dist/icons/ExclamationCircleFilledIcon.js.map +1 -1
  1208. package/dist/icons/ExclamationCircleIcon.d.ts +2 -5
  1209. package/dist/icons/ExclamationCircleIcon.js +2 -3
  1210. package/dist/icons/ExclamationCircleIcon.js.map +1 -1
  1211. package/dist/icons/ExclamationIcon.d.ts +2 -5
  1212. package/dist/icons/ExclamationIcon.js +2 -3
  1213. package/dist/icons/ExclamationIcon.js.map +1 -1
  1214. package/dist/icons/EyeIcon.d.ts +2 -5
  1215. package/dist/icons/EyeIcon.js +2 -3
  1216. package/dist/icons/EyeIcon.js.map +1 -1
  1217. package/dist/icons/EyeInvisibleIcon.d.ts +2 -5
  1218. package/dist/icons/EyeInvisibleIcon.js +2 -3
  1219. package/dist/icons/EyeInvisibleIcon.js.map +1 -1
  1220. package/dist/icons/FilterIcon.d.ts +2 -5
  1221. package/dist/icons/FilterIcon.js +2 -3
  1222. package/dist/icons/FilterIcon.js.map +1 -1
  1223. package/dist/icons/FolderFilledIcon.d.ts +2 -5
  1224. package/dist/icons/FolderFilledIcon.js +2 -3
  1225. package/dist/icons/FolderFilledIcon.js.map +1 -1
  1226. package/dist/icons/FolderIcon.d.ts +2 -5
  1227. package/dist/icons/FolderIcon.js +2 -3
  1228. package/dist/icons/FolderIcon.js.map +1 -1
  1229. package/dist/icons/FolderOpenFilledIcon.d.ts +2 -5
  1230. package/dist/icons/FolderOpenFilledIcon.js +2 -3
  1231. package/dist/icons/FolderOpenFilledIcon.js.map +1 -1
  1232. package/dist/icons/FolderOpenIcon.d.ts +2 -5
  1233. package/dist/icons/FolderOpenIcon.js +2 -3
  1234. package/dist/icons/FolderOpenIcon.js.map +1 -1
  1235. package/dist/icons/ForwardIcon.d.ts +2 -5
  1236. package/dist/icons/ForwardIcon.js +2 -3
  1237. package/dist/icons/ForwardIcon.js.map +1 -1
  1238. package/dist/icons/GripVerticalIcon.d.ts +2 -5
  1239. package/dist/icons/GripVerticalIcon.js +2 -3
  1240. package/dist/icons/GripVerticalIcon.js.map +1 -1
  1241. package/dist/icons/HierarchyIcon.d.ts +2 -5
  1242. package/dist/icons/HierarchyIcon.js +2 -3
  1243. package/dist/icons/HierarchyIcon.js.map +1 -1
  1244. package/dist/icons/HierarchyOpenIcon.d.ts +2 -5
  1245. package/dist/icons/HierarchyOpenIcon.js +2 -3
  1246. package/dist/icons/HierarchyOpenIcon.js.map +1 -1
  1247. package/dist/icons/Icon.d.ts +2 -5
  1248. package/dist/icons/Icon.js +2 -3
  1249. package/dist/icons/Icon.js.map +1 -1
  1250. package/dist/icons/InfoCircleIcon.d.ts +2 -5
  1251. package/dist/icons/InfoCircleIcon.js +2 -3
  1252. package/dist/icons/InfoCircleIcon.js.map +1 -1
  1253. package/dist/icons/InfoIcon.d.ts +2 -5
  1254. package/dist/icons/InfoIcon.js +2 -3
  1255. package/dist/icons/InfoIcon.js.map +1 -1
  1256. package/dist/icons/KeyIcon.d.ts +2 -5
  1257. package/dist/icons/KeyIcon.js +2 -3
  1258. package/dist/icons/KeyIcon.js.map +1 -1
  1259. package/dist/icons/LeftIcon.d.ts +2 -5
  1260. package/dist/icons/LeftIcon.js +2 -3
  1261. package/dist/icons/LeftIcon.js.map +1 -1
  1262. package/dist/icons/LineChartIcon.d.ts +2 -5
  1263. package/dist/icons/LineChartIcon.js +2 -3
  1264. package/dist/icons/LineChartIcon.js.map +1 -1
  1265. package/dist/icons/LoadingIcon.d.ts +2 -5
  1266. package/dist/icons/LoadingIcon.js +2 -3
  1267. package/dist/icons/LoadingIcon.js.map +1 -1
  1268. package/dist/icons/LockFilledIcon.d.ts +2 -5
  1269. package/dist/icons/LockFilledIcon.js +2 -3
  1270. package/dist/icons/LockFilledIcon.js.map +1 -1
  1271. package/dist/icons/LockIcon.d.ts +2 -5
  1272. package/dist/icons/LockIcon.js +2 -3
  1273. package/dist/icons/LockIcon.js.map +1 -1
  1274. package/dist/icons/MoreIcon.d.ts +2 -5
  1275. package/dist/icons/MoreIcon.js +2 -3
  1276. package/dist/icons/MoreIcon.js.map +1 -1
  1277. package/dist/icons/NotAllowedIcon.d.ts +2 -5
  1278. package/dist/icons/NotAllowedIcon.js +2 -3
  1279. package/dist/icons/NotAllowedIcon.js.map +1 -1
  1280. package/dist/icons/Number123Icon.d.ts +2 -5
  1281. package/dist/icons/Number123Icon.js +2 -3
  1282. package/dist/icons/Number123Icon.js.map +1 -1
  1283. package/dist/icons/NumberIcon.d.ts +2 -5
  1284. package/dist/icons/NumberIcon.js +2 -3
  1285. package/dist/icons/NumberIcon.js.map +1 -1
  1286. package/dist/icons/PauseCircleFilledIcon.d.ts +2 -5
  1287. package/dist/icons/PauseCircleFilledIcon.js +2 -3
  1288. package/dist/icons/PauseCircleFilledIcon.js.map +1 -1
  1289. package/dist/icons/PauseCircleIcon.d.ts +2 -5
  1290. package/dist/icons/PauseCircleIcon.js +2 -3
  1291. package/dist/icons/PauseCircleIcon.js.map +1 -1
  1292. package/dist/icons/PauseIcon.d.ts +2 -5
  1293. package/dist/icons/PauseIcon.js +2 -3
  1294. package/dist/icons/PauseIcon.js.map +1 -1
  1295. package/dist/icons/PercentageIcon.d.ts +2 -5
  1296. package/dist/icons/PercentageIcon.js +2 -3
  1297. package/dist/icons/PercentageIcon.js.map +1 -1
  1298. package/dist/icons/PieChartIcon.d.ts +2 -5
  1299. package/dist/icons/PieChartIcon.js +2 -3
  1300. package/dist/icons/PieChartIcon.js.map +1 -1
  1301. package/dist/icons/PipetteIcon.d.ts +2 -5
  1302. package/dist/icons/PipetteIcon.js +2 -3
  1303. package/dist/icons/PipetteIcon.js.map +1 -1
  1304. package/dist/icons/PlayCircleIcon.d.ts +2 -5
  1305. package/dist/icons/PlayCircleIcon.js +2 -3
  1306. package/dist/icons/PlayCircleIcon.js.map +1 -1
  1307. package/dist/icons/PlayIcon.d.ts +2 -5
  1308. package/dist/icons/PlayIcon.js +2 -3
  1309. package/dist/icons/PlayIcon.js.map +1 -1
  1310. package/dist/icons/PlusIcon.d.ts +2 -5
  1311. package/dist/icons/PlusIcon.js +2 -3
  1312. package/dist/icons/PlusIcon.js.map +1 -1
  1313. package/dist/icons/ProgressBarIcon.d.ts +2 -5
  1314. package/dist/icons/ProgressBarIcon.js +2 -3
  1315. package/dist/icons/ProgressBarIcon.js.map +1 -1
  1316. package/dist/icons/ReloadIcon.d.ts +2 -5
  1317. package/dist/icons/ReloadIcon.js +2 -3
  1318. package/dist/icons/ReloadIcon.js.map +1 -1
  1319. package/dist/icons/ReportIcon.d.ts +2 -5
  1320. package/dist/icons/ReportIcon.js +2 -3
  1321. package/dist/icons/ReportIcon.js.map +1 -1
  1322. package/dist/icons/ReturnIcon.d.ts +2 -5
  1323. package/dist/icons/ReturnIcon.js +2 -3
  1324. package/dist/icons/ReturnIcon.js.map +1 -1
  1325. package/dist/icons/RightIcon.d.ts +2 -5
  1326. package/dist/icons/RightIcon.js +2 -3
  1327. package/dist/icons/RightIcon.js.map +1 -1
  1328. package/dist/icons/RowTotalsIcon.d.ts +2 -5
  1329. package/dist/icons/RowTotalsIcon.js +2 -3
  1330. package/dist/icons/RowTotalsIcon.js.map +1 -1
  1331. package/dist/icons/SchemeIcon.d.ts +2 -5
  1332. package/dist/icons/SchemeIcon.js +2 -3
  1333. package/dist/icons/SchemeIcon.js.map +1 -1
  1334. package/dist/icons/SearchIcon.d.ts +2 -5
  1335. package/dist/icons/SearchIcon.js +2 -3
  1336. package/dist/icons/SearchIcon.js.map +1 -1
  1337. package/dist/icons/SemanticQueryIcon.d.ts +2 -5
  1338. package/dist/icons/SemanticQueryIcon.js +2 -3
  1339. package/dist/icons/SemanticQueryIcon.js.map +1 -1
  1340. package/dist/icons/SettingsIcon.d.ts +2 -5
  1341. package/dist/icons/SettingsIcon.js +2 -3
  1342. package/dist/icons/SettingsIcon.js.map +1 -1
  1343. package/dist/icons/ShieldFilledIcon.d.ts +2 -5
  1344. package/dist/icons/ShieldFilledIcon.js +2 -3
  1345. package/dist/icons/ShieldFilledIcon.js.map +1 -1
  1346. package/dist/icons/ShieldIcon.d.ts +2 -5
  1347. package/dist/icons/ShieldIcon.js +2 -3
  1348. package/dist/icons/ShieldIcon.js.map +1 -1
  1349. package/dist/icons/SlashIcon.d.ts +2 -5
  1350. package/dist/icons/SlashIcon.js +2 -3
  1351. package/dist/icons/SlashIcon.js.map +1 -1
  1352. package/dist/icons/SparklesIcon.d.ts +2 -5
  1353. package/dist/icons/SparklesIcon.js +2 -3
  1354. package/dist/icons/SparklesIcon.js.map +1 -1
  1355. package/dist/icons/SqlIcon.d.ts +2 -5
  1356. package/dist/icons/SqlIcon.js +2 -3
  1357. package/dist/icons/SqlIcon.js.map +1 -1
  1358. package/dist/icons/StatsIcon.d.ts +2 -5
  1359. package/dist/icons/StatsIcon.js +2 -3
  1360. package/dist/icons/StatsIcon.js.map +1 -1
  1361. package/dist/icons/StopIcon.d.ts +2 -5
  1362. package/dist/icons/StopIcon.js +2 -3
  1363. package/dist/icons/StopIcon.js.map +1 -1
  1364. package/dist/icons/StringIcon.d.ts +2 -5
  1365. package/dist/icons/StringIcon.js +2 -3
  1366. package/dist/icons/StringIcon.js.map +1 -1
  1367. package/dist/icons/SubtotalsIcon.d.ts +2 -5
  1368. package/dist/icons/SubtotalsIcon.js +2 -3
  1369. package/dist/icons/SubtotalsIcon.js.map +1 -1
  1370. package/dist/icons/SwitchIcon.d.ts +2 -5
  1371. package/dist/icons/SwitchIcon.js +2 -3
  1372. package/dist/icons/SwitchIcon.js.map +1 -1
  1373. package/dist/icons/TableIcon.d.ts +2 -5
  1374. package/dist/icons/TableIcon.js +2 -3
  1375. package/dist/icons/TableIcon.js.map +1 -1
  1376. package/dist/icons/ThumbsDownIcon.d.ts +2 -5
  1377. package/dist/icons/ThumbsDownIcon.js +2 -3
  1378. package/dist/icons/ThumbsDownIcon.js.map +1 -1
  1379. package/dist/icons/ThumbsUpIcon.d.ts +2 -5
  1380. package/dist/icons/ThumbsUpIcon.js +2 -3
  1381. package/dist/icons/ThumbsUpIcon.js.map +1 -1
  1382. package/dist/icons/ThunderboltCrossedIcon.d.ts +2 -5
  1383. package/dist/icons/ThunderboltCrossedIcon.js +2 -3
  1384. package/dist/icons/ThunderboltCrossedIcon.js.map +1 -1
  1385. package/dist/icons/ThunderboltFilledIcon.d.ts +2 -5
  1386. package/dist/icons/ThunderboltFilledIcon.js +2 -3
  1387. package/dist/icons/ThunderboltFilledIcon.js.map +1 -1
  1388. package/dist/icons/ThunderboltIcon.d.ts +2 -5
  1389. package/dist/icons/ThunderboltIcon.js +2 -3
  1390. package/dist/icons/ThunderboltIcon.js.map +1 -1
  1391. package/dist/icons/TimeIcon.d.ts +2 -5
  1392. package/dist/icons/TimeIcon.js +2 -3
  1393. package/dist/icons/TimeIcon.js.map +1 -1
  1394. package/dist/icons/TrashIcon.d.ts +2 -5
  1395. package/dist/icons/TrashIcon.js +2 -3
  1396. package/dist/icons/TrashIcon.js.map +1 -1
  1397. package/dist/icons/UnlockIcon.d.ts +2 -5
  1398. package/dist/icons/UnlockIcon.js +2 -3
  1399. package/dist/icons/UnlockIcon.js.map +1 -1
  1400. package/dist/icons/UpIcon.d.ts +2 -5
  1401. package/dist/icons/UpIcon.js +2 -3
  1402. package/dist/icons/UpIcon.js.map +1 -1
  1403. package/dist/icons/UserGroupIcon.d.ts +2 -5
  1404. package/dist/icons/UserGroupIcon.js +2 -3
  1405. package/dist/icons/UserGroupIcon.js.map +1 -1
  1406. package/dist/icons/UserIcon.d.ts +2 -5
  1407. package/dist/icons/UserIcon.js +2 -3
  1408. package/dist/icons/UserIcon.js.map +1 -1
  1409. package/dist/icons/UserLockIcon.d.ts +2 -5
  1410. package/dist/icons/UserLockIcon.js +2 -3
  1411. package/dist/icons/UserLockIcon.js.map +1 -1
  1412. package/dist/icons/ViewIcon.d.ts +2 -5
  1413. package/dist/icons/ViewIcon.js +2 -3
  1414. package/dist/icons/ViewIcon.js.map +1 -1
  1415. package/dist/icons/WarningFilledIcon.d.ts +2 -5
  1416. package/dist/icons/WarningFilledIcon.js +2 -3
  1417. package/dist/icons/WarningFilledIcon.js.map +1 -1
  1418. package/dist/icons/WarningIcon.d.ts +2 -5
  1419. package/dist/icons/WarningIcon.js +2 -3
  1420. package/dist/icons/WarningIcon.js.map +1 -1
  1421. package/dist/icons/index.d.ts +2 -1
  1422. package/dist/icons/wrap-icon.d.ts +2 -5
  1423. package/dist/icons/wrap-icon.js +2 -3
  1424. package/dist/icons/wrap-icon.js.map +1 -1
  1425. package/dist/index.d.ts +82 -78
  1426. package/dist/index.js +59 -64
  1427. package/dist/index.js.map +1 -1
  1428. package/dist/probe/canonicalize.d.ts +3 -4
  1429. package/dist/probe/canonicalize.js +2 -2
  1430. package/dist/probe/canonicalize.js.map +1 -1
  1431. package/dist/probe/css.d.ts +4 -5
  1432. package/dist/probe/css.js +2 -3
  1433. package/dist/probe/css.js.map +1 -1
  1434. package/dist/probe/index.js +2 -3
  1435. package/dist/props.d.ts +1 -2
  1436. package/dist/provider.d.ts +3 -6
  1437. package/dist/provider.js +2 -3
  1438. package/dist/provider.js.map +1 -1
  1439. package/dist/providers/TrackingProvider.d.ts +1 -3
  1440. package/dist/providers/TrackingProvider.js +3 -4
  1441. package/dist/providers/TrackingProvider.js.map +1 -1
  1442. package/dist/providers/navigation-url.js +2 -2
  1443. package/dist/providers/navigation-url.js.map +1 -1
  1444. package/dist/providers/navigation.types.d.ts +7 -8
  1445. package/dist/providers/navigationAdapter.default.d.ts +1 -3
  1446. package/dist/providers/navigationAdapter.default.js +6 -4
  1447. package/dist/providers/navigationAdapter.default.js.map +1 -1
  1448. package/dist/providers/use-navigation.js +2 -3
  1449. package/dist/providers/use-navigation.js.map +1 -1
  1450. package/dist/shared/form.d.ts +33 -23
  1451. package/dist/shared/index.d.ts +4 -5
  1452. package/dist/tokens/all-tokens.d.ts +2 -4
  1453. package/dist/tokens/all-tokens.js +2 -3
  1454. package/dist/tokens/all-tokens.js.map +1 -1
  1455. package/dist/tokens/base.d.ts +1 -3
  1456. package/dist/tokens/base.js +38 -2
  1457. package/dist/tokens/base.js.map +1 -1
  1458. package/dist/tokens/color-seed.d.ts +2 -3
  1459. package/dist/tokens/color-seed.js +2 -3
  1460. package/dist/tokens/color-seed.js.map +1 -1
  1461. package/dist/tokens/color-theme.d.ts +5 -7
  1462. package/dist/tokens/color-theme.js +5 -6
  1463. package/dist/tokens/color-theme.js.map +1 -1
  1464. package/dist/tokens/colors.d.ts +3 -5
  1465. package/dist/tokens/colors.js +2 -3
  1466. package/dist/tokens/colors.js.map +1 -1
  1467. package/dist/tokens/index.d.ts +2 -1
  1468. package/dist/tokens/layout.d.ts +1 -3
  1469. package/dist/tokens/layout.js +7 -2
  1470. package/dist/tokens/layout.js.map +1 -1
  1471. package/dist/tokens/lazy-styles.js +2 -2
  1472. package/dist/tokens/lazy-styles.js.map +1 -1
  1473. package/dist/tokens/legacy-color.d.ts +3 -4
  1474. package/dist/tokens/legacy-color.js +2 -3
  1475. package/dist/tokens/legacy-color.js.map +1 -1
  1476. package/dist/tokens/palette-config.d.ts +19 -20
  1477. package/dist/tokens/palette-config.js +9 -24
  1478. package/dist/tokens/palette-config.js.map +1 -1
  1479. package/dist/tokens/palette.d.ts +6 -8
  1480. package/dist/tokens/palette.js +73 -89
  1481. package/dist/tokens/palette.js.map +1 -1
  1482. package/dist/tokens/resolve.d.ts +8 -9
  1483. package/dist/tokens/resolve.js +5 -6
  1484. package/dist/tokens/resolve.js.map +1 -1
  1485. package/dist/tokens/shadows.d.ts +1 -3
  1486. package/dist/tokens/shadows.js +6 -2
  1487. package/dist/tokens/shadows.js.map +1 -1
  1488. package/dist/tokens/sizes.d.ts +5 -7
  1489. package/dist/tokens/sizes.js +2 -2
  1490. package/dist/tokens/sizes.js.map +1 -1
  1491. package/dist/tokens/spacing.d.ts +1 -3
  1492. package/dist/tokens/spacing.js +2 -2
  1493. package/dist/tokens/spacing.js.map +1 -1
  1494. package/dist/tokens/typography.d.ts +2 -3
  1495. package/dist/tokens/typography.js +2 -2
  1496. package/dist/tokens/typography.js.map +1 -1
  1497. package/dist/utils/ResizeSensor.d.ts +1 -2
  1498. package/dist/utils/ResizeSensor.js +11 -9
  1499. package/dist/utils/ResizeSensor.js.map +1 -1
  1500. package/dist/utils/colors.js +3 -4
  1501. package/dist/utils/colors.js.map +1 -1
  1502. package/dist/utils/dotize.js +2 -2
  1503. package/dist/utils/dotize.js.map +1 -1
  1504. package/dist/utils/index.d.ts +3 -2
  1505. package/dist/utils/is-dev-env.js +2 -2
  1506. package/dist/utils/is-dev-env.js.map +1 -1
  1507. package/dist/utils/modules.d.ts +1 -2
  1508. package/dist/utils/modules.js +2 -2
  1509. package/dist/utils/modules.js.map +1 -1
  1510. package/dist/utils/promise.d.ts +1 -2
  1511. package/dist/utils/promise.js +2 -2
  1512. package/dist/utils/promise.js.map +1 -1
  1513. package/dist/utils/raf.d.ts +1 -2
  1514. package/dist/utils/raf.js +2 -2
  1515. package/dist/utils/raf.js.map +1 -1
  1516. package/dist/utils/random.d.ts +2 -3
  1517. package/dist/utils/random.js +3 -4
  1518. package/dist/utils/random.js.map +1 -1
  1519. package/dist/utils/range.d.ts +1 -2
  1520. package/dist/utils/range.js +2 -2
  1521. package/dist/utils/range.js.map +1 -1
  1522. package/dist/utils/react/RenderCache.d.ts +2 -9
  1523. package/dist/utils/react/RenderCache.js +2 -3
  1524. package/dist/utils/react/RenderCache.js.map +1 -1
  1525. package/dist/utils/react/Slots.d.ts +3 -6
  1526. package/dist/utils/react/Slots.js +2 -3
  1527. package/dist/utils/react/Slots.js.map +1 -1
  1528. package/dist/utils/react/chain.d.ts +1 -2
  1529. package/dist/utils/react/chain.js +2 -2
  1530. package/dist/utils/react/chain.js.map +1 -1
  1531. package/dist/utils/react/disabledProps.d.ts +4 -10
  1532. package/dist/utils/react/disabledProps.js +3 -3
  1533. package/dist/utils/react/disabledProps.js.map +1 -1
  1534. package/dist/utils/react/forwardRefWithGenerics.d.ts +2 -5
  1535. package/dist/utils/react/forwardRefWithGenerics.js +2 -2
  1536. package/dist/utils/react/forwardRefWithGenerics.js.map +1 -1
  1537. package/dist/utils/react/index.d.ts +2 -2
  1538. package/dist/utils/react/index.js +2 -3
  1539. package/dist/utils/react/interactions.js +2 -3
  1540. package/dist/utils/react/interactions.js.map +1 -1
  1541. package/dist/utils/react/isTextOnly.d.ts +1 -2
  1542. package/dist/utils/react/isTextOnly.js +2 -3
  1543. package/dist/utils/react/isTextOnly.js.map +1 -1
  1544. package/dist/utils/react/mapProps.js +2 -2
  1545. package/dist/utils/react/mapProps.js.map +1 -1
  1546. package/dist/utils/react/mergeProps.d.ts +2 -3
  1547. package/dist/utils/react/mergeProps.js +2 -3
  1548. package/dist/utils/react/mergeProps.js.map +1 -1
  1549. package/dist/utils/react/nullableValue.d.ts +1 -3
  1550. package/dist/utils/react/nullableValue.js +3 -3
  1551. package/dist/utils/react/nullableValue.js.map +1 -1
  1552. package/dist/utils/react/overlayKeyPropagation.js +3 -3
  1553. package/dist/utils/react/overlayKeyPropagation.js.map +1 -1
  1554. package/dist/utils/react/programmaticFocus.js +2 -2
  1555. package/dist/utils/react/programmaticFocus.js.map +1 -1
  1556. package/dist/utils/react/resolveIcon.d.ts +4 -6
  1557. package/dist/utils/react/resolveIcon.js +2 -2
  1558. package/dist/utils/react/resolveIcon.js.map +1 -1
  1559. package/dist/utils/react/sharedStore.js +2 -3
  1560. package/dist/utils/react/sharedStore.js.map +1 -1
  1561. package/dist/utils/react/useBufferedValue.d.ts +3 -4
  1562. package/dist/utils/react/useBufferedValue.js +2 -3
  1563. package/dist/utils/react/useBufferedValue.js.map +1 -1
  1564. package/dist/utils/react/useCombinedRefs.d.ts +2 -4
  1565. package/dist/utils/react/useCombinedRefs.js +2 -3
  1566. package/dist/utils/react/useCombinedRefs.js.map +1 -1
  1567. package/dist/utils/react/useControlledFocusVisible.d.ts +2 -3
  1568. package/dist/utils/react/useControlledFocusVisible.js +2 -3
  1569. package/dist/utils/react/useControlledFocusVisible.js.map +1 -1
  1570. package/dist/utils/react/useEventBus.d.ts +6 -10
  1571. package/dist/utils/react/useEventBus.js +2 -3
  1572. package/dist/utils/react/useEventBus.js.map +1 -1
  1573. package/dist/utils/react/useId.js +3 -4
  1574. package/dist/utils/react/useId.js.map +1 -1
  1575. package/dist/utils/react/useIsDarwin.js +2 -3
  1576. package/dist/utils/react/useIsDarwin.js.map +1 -1
  1577. package/dist/utils/react/useKeySymbols.js +2 -3
  1578. package/dist/utils/react/useKeySymbols.js.map +1 -1
  1579. package/dist/utils/react/useLayoutEffect.d.ts +0 -1
  1580. package/dist/utils/react/useLayoutEffect.js +2 -3
  1581. package/dist/utils/react/useLayoutEffect.js.map +1 -1
  1582. package/dist/utils/react/useLocalStorage.d.ts +2 -2
  1583. package/dist/utils/react/useLocalStorage.js +2 -3
  1584. package/dist/utils/react/useLocalStorage.js.map +1 -1
  1585. package/dist/utils/react/useMergeStyles.d.ts +1 -3
  1586. package/dist/utils/react/useMergeStyles.js +4 -4
  1587. package/dist/utils/react/useMergeStyles.js.map +1 -1
  1588. package/dist/utils/react/useOverlayEscapeGuard.js +2 -3
  1589. package/dist/utils/react/useOverlayEscapeGuard.js.map +1 -1
  1590. package/dist/utils/react/usePopoverSync.d.ts +3 -14
  1591. package/dist/utils/react/usePopoverSync.js +2 -3
  1592. package/dist/utils/react/usePopoverSync.js.map +1 -1
  1593. package/dist/utils/react/useQaProps.d.ts +2 -2
  1594. package/dist/utils/react/useQaProps.js +6 -4
  1595. package/dist/utils/react/useQaProps.js.map +1 -1
  1596. package/dist/utils/react/useScheme.d.ts +6 -7
  1597. package/dist/utils/react/useScheme.js +2 -3
  1598. package/dist/utils/react/useScheme.js.map +1 -1
  1599. package/dist/utils/react/useViewportSize.d.ts +3 -3
  1600. package/dist/utils/react/useViewportSize.js +2 -3
  1601. package/dist/utils/react/useViewportSize.js.map +1 -1
  1602. package/dist/utils/react/wrapNodeIfPlain.d.ts +1 -3
  1603. package/dist/utils/react/wrapNodeIfPlain.js +2 -3
  1604. package/dist/utils/react/wrapNodeIfPlain.js.map +1 -1
  1605. package/dist/utils/selection.d.ts +1 -3
  1606. package/dist/utils/selection.js +2 -2
  1607. package/dist/utils/selection.js.map +1 -1
  1608. package/dist/utils/styles.d.ts +1 -3
  1609. package/dist/utils/styles.js +2 -3
  1610. package/dist/utils/styles.js.map +1 -1
  1611. package/dist/utils/tree.d.ts +1 -2
  1612. package/dist/utils/tree.js +2 -2
  1613. package/dist/utils/tree.js.map +1 -1
  1614. package/dist/utils/warnings.d.ts +1 -2
  1615. package/dist/utils/warnings.js +2 -3
  1616. package/dist/utils/warnings.js.map +1 -1
  1617. package/dist/version.d.ts +1 -0
  1618. package/dist/version.js +4 -4
  1619. package/dist/version.js.map +1 -1
  1620. package/docs/CreateComponent.md +1 -1
  1621. package/docs/FieldProperties.md +11 -7
  1622. package/docs/Theming.md +1 -1
  1623. package/docs/Usage.md +4 -2
  1624. package/docs/components/content/Alert.md +3 -2
  1625. package/docs/components/content/Layout.md +47 -0
  1626. package/docs/components/content/TextItem.md +2 -2
  1627. package/docs/components/fields/ComboBox.md +1 -2
  1628. package/docs/components/fields/FilterListBox.md +3 -3
  1629. package/docs/components/fields/FilterPicker.md +8 -12
  1630. package/docs/components/fields/ListBox.md +11 -10
  1631. package/docs/components/fields/NumberInput.md +1 -2
  1632. package/docs/components/fields/Picker.md +10 -14
  1633. package/docs/components/fields/Select.md +11 -9
  1634. package/docs/components/fields/Switch.md +4 -5
  1635. package/docs/components/overlays/AlertDialog.md +1 -1
  1636. package/docs/components/overlays/Dialog.md +6 -6
  1637. package/docs/components/overlays/DialogContainer.md +20 -1
  1638. package/docs/components/overlays/DialogTrigger.md +5 -3
  1639. package/docs/tasty/README.md +4 -1
  1640. package/docs/tasty/adoption.md +25 -17
  1641. package/docs/tasty/ai-agents.md +42 -34
  1642. package/docs/tasty/comparison.md +9 -8
  1643. package/docs/tasty/configuration.md +187 -69
  1644. package/docs/tasty/debug.md +3 -2
  1645. package/docs/tasty/design-system.md +117 -15
  1646. package/docs/tasty/dsl.md +211 -117
  1647. package/docs/tasty/getting-started.md +81 -24
  1648. package/docs/tasty/injector.md +41 -40
  1649. package/docs/tasty/methodology.md +46 -21
  1650. package/docs/tasty/migration-v3.md +3 -3
  1651. package/docs/tasty/pipeline.md +22 -19
  1652. package/docs/tasty/plugins.md +21 -41
  1653. package/docs/tasty/react-api.md +72 -9
  1654. package/docs/tasty/runtime-benchmarks.md +11 -11
  1655. package/docs/tasty/ssr.md +92 -66
  1656. package/docs/tasty/styles.md +37 -17
  1657. package/docs/tasty/tasty-static.md +175 -57
  1658. package/package.json +20 -17
  1659. package/tasty.config.ts +8 -0
  1660. package/dist/components/overlays/Notifications/Notification.d.ts +0 -38
  1661. package/dist/i18n/useI18n.d.ts +0 -2
  1662. package/dist/node_modules/.pnpm/csstype@3.1.2/node_modules/csstype/index.d.ts +0 -629
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-selection.js","names":["SelectionManager","useCallback","useMemo","useRef","useMultipleSelectionState","useEvent","RowCollection","Key","Selection","CubeTableSelectAllMode","CubeTableSelectionMode","SELECTION_COLUMN_KEY","ROW_NUMBER_COLUMN_KEY","SELECTION_COLUMN_WIDTH","Record","xsmall","small","medium","large","xlarge","UseTableSelectionOptions","rows","T","rowKeys","pageRows","pageRowKeys","filteredRows","filteredRowKeys","getRowKey","row","index","selectionMode","selectedKeys","defaultSelectedKeys","onSelectionChange","keys","selectAllMode","isRowSelectable","disabledKeys","tree","rootKeys","childrenOf","ReadonlyMap","parentOf","behavior","CubeTableSelectAllState","toSelection","undefined","Set","deriveTreeSelection","source","ReadonlySet","isEligible","key","checked","indeterminate","visit","all","any","eligible","children","get","explicitlySelected","has","add","length","selected","delete","hasEligible","child","result","forEach","useTableSelection","options","selectedKeysProp","isEnabled","hardDisabledKeys","unselectableKeys","visibleGetRowKey","collection","rowByKey","map","Map","set","rowByKeyRef","current","anchorRef","extentRef","handleSelectionChange","values","list","filter","controlledSelection","defaultSelection","state","disabledBehavior","selectionManager","isAll","isCascade","derivedSelection","canSelect","isSelected","isIndeterminate","scopeKeys","sourceKeys","selectAllState","count","toggleSelectAll","setSelectedKeys","next","clearSelection","shiftRef","captureShift","event","shiftKey","keysBetween","from","to","fromIndex","indexOf","toIndex","lo","hi","getKeys","range","i","push","toggleRow","applyCascade","target","value","parent","normalizeCascade","candidate","anchor","k","toggleSelection","selectedRows","isRowDisabled","selectedCount","size","CubeTableSelectionState","ReturnType"],"sources":["../../../../src/components/data/TableBase/use-table-selection.ts"],"sourcesContent":["import { SelectionManager } from '@react-stately/selection';\nimport { useCallback, useMemo, useRef } from 'react';\nimport { useMultipleSelectionState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal/hooks';\n\nimport { RowCollection } from './RowCollection';\n\nimport type { Key, Selection } from '@react-types/shared';\nimport type { CubeTableSelectAllMode, CubeTableSelectionMode } from './types';\n\n/**\n * Reserved key for the checkbox column. Prefixed so it cannot collide with a\n * real data key, and structural so the value pipeline, sorting and search all\n * skip it.\n */\nexport const SELECTION_COLUMN_KEY = '__cube-selection__';\n\n/** Reserved key for the row-number column. Structural, like the checkbox. */\nexport const ROW_NUMBER_COLUMN_KEY = '__cube-row-number__';\n\n/** Square-ish, so the checkbox sits centred without stealing content width. */\nexport const SELECTION_COLUMN_WIDTH: Record<string, number> = {\n xsmall: 32,\n small: 36,\n medium: 44,\n large: 48,\n xlarge: 52,\n};\n\nexport interface UseTableSelectionOptions<T> {\n /** Rows currently on screen — one page, or everything when unpaginated. */\n rows: readonly T[];\n /** Stable keys parallel to `rows`, used by tree mode. */\n rowKeys?: readonly Key[];\n /** Full current-page subtree; defaults to `rows`. */\n pageRows?: readonly T[];\n /** Stable keys parallel to `pageRows`. */\n pageRowKeys?: readonly Key[];\n /**\n * Every row passing the current search/filter, across pages. Only differs\n * from `rows` under client pagination, and only `selectAllMode=\"filtered\"`\n * reads it.\n */\n filteredRows: readonly T[];\n /** Stable keys parallel to `filteredRows`. */\n filteredRowKeys?: readonly Key[];\n getRowKey: (row: T, index: number) => Key;\n selectionMode: CubeTableSelectionMode;\n selectedKeys?: Key[] | 'all';\n defaultSelectedKeys?: Key[] | 'all';\n onSelectionChange?: (keys: Key[] | 'all', rows: T[]) => void;\n selectAllMode: CubeTableSelectAllMode;\n isRowSelectable?: (row: T) => boolean;\n disabledKeys?: Key[];\n tree?: {\n rootKeys: readonly Key[];\n childrenOf: ReadonlyMap<Key, readonly Key[]>;\n parentOf: ReadonlyMap<Key, Key | null>;\n behavior: 'cascade' | 'independent';\n };\n}\n\nexport type CubeTableSelectAllState = 'none' | 'some' | 'all';\n\nfunction toSelection(keys: Key[] | 'all' | undefined): Selection | undefined {\n if (keys === undefined) return undefined;\n\n return keys === 'all' ? 'all' : new Set(keys);\n}\n\nfunction deriveTreeSelection(\n source: ReadonlySet<Key>,\n rootKeys: readonly Key[],\n childrenOf: ReadonlyMap<Key, readonly Key[]>,\n isEligible: (key: Key) => boolean,\n) {\n const checked = new Set(source);\n const indeterminate = new Set<Key>();\n\n const visit = (\n key: Key,\n ): { all: boolean; any: boolean; eligible: boolean } => {\n const children = childrenOf.get(key) ?? [];\n const eligible = isEligible(key);\n const explicitlySelected = eligible && source.has(key);\n\n if (explicitlySelected) checked.add(key);\n\n if (!children.length) {\n const selected = eligible && checked.has(key);\n if (!eligible) checked.delete(key);\n return { all: !eligible || selected, any: selected, eligible };\n }\n\n let all = true;\n let any = false;\n let hasEligible = false;\n\n for (const child of children) {\n const result = visit(child);\n if (result.eligible) hasEligible = true;\n if (!result.all) all = false;\n if (result.any) any = true;\n }\n\n if (!eligible) {\n checked.delete(key);\n indeterminate.delete(key);\n } else if (hasEligible && all) {\n checked.add(key);\n indeterminate.delete(key);\n } else if (hasEligible && any) {\n checked.delete(key);\n indeterminate.add(key);\n } else if (hasEligible) {\n // Branch keys in the public set are a normalized reflection of their\n // descendants, not an enduring wildcard. This matters when a search\n // hid siblings: restoring the full tree must not make those siblings\n // selected merely because the filtered parent had been checked.\n checked.delete(key);\n indeterminate.delete(key);\n } else if (!checked.has(key)) {\n indeterminate.delete(key);\n }\n\n return {\n all: !eligible || (checked.has(key) && all),\n any: any || checked.has(key),\n eligible: eligible || hasEligible,\n };\n };\n\n rootKeys.forEach((key) => visit(key));\n return { checked, indeterminate };\n}\n\nexport function useTableSelection<T>(options: UseTableSelectionOptions<T>) {\n const {\n rows,\n rowKeys,\n pageRows = rows,\n pageRowKeys,\n filteredRows,\n filteredRowKeys,\n getRowKey,\n selectionMode,\n selectedKeys: selectedKeysProp,\n defaultSelectedKeys,\n onSelectionChange,\n selectAllMode,\n isRowSelectable,\n disabledKeys,\n tree,\n } = options;\n\n const isEnabled = selectionMode !== 'none';\n\n /**\n * Two distinct notions of \"not available\", deliberately kept apart:\n *\n * - `disabledKeys` — the row is inert. Not focusable, not interactive. This\n * is React Aria's standard meaning.\n * - `isRowSelectable` — the row is fully interactive, only its checkbox is\n * inert. This is what Cloud's tables do today.\n *\n * A `SelectionManager` has one `disabledBehavior`, so it gets the union under\n * `'selection'` (neither kind can be selected) and the hard-disabled set is\n * tracked separately for focus and interaction.\n */\n const hardDisabledKeys = useMemo(\n () => new Set(disabledKeys ?? []),\n [disabledKeys],\n );\n\n const unselectableKeys = useMemo(() => {\n const keys = new Set(hardDisabledKeys);\n\n if (isRowSelectable) {\n // Scanned over the filtered set, not just the page: a select-all that\n // reaches beyond the page must respect it there too.\n filteredRows.forEach((row, index) => {\n if (!isRowSelectable(row)) {\n keys.add(filteredRowKeys?.[index] ?? getRowKey(row, index));\n }\n });\n }\n\n return keys;\n }, [\n hardDisabledKeys,\n isRowSelectable,\n filteredRows,\n filteredRowKeys,\n getRowKey,\n ]);\n\n const visibleGetRowKey = useCallback(\n (row: T, index: number) => rowKeys?.[index] ?? getRowKey(row, index),\n [rowKeys, getRowKey],\n );\n\n const collection = useMemo(\n () => new RowCollection(rows, visibleGetRowKey, unselectableKeys),\n [rows, visibleGetRowKey, unselectableKeys],\n );\n\n const rowByKey = useMemo(() => {\n const map = new Map<Key, T>();\n\n // The page first, then the wider filtered set, so a key present in both\n // resolves to the row the user can actually see.\n filteredRows.forEach((row, index) =>\n map.set(filteredRowKeys?.[index] ?? getRowKey(row, index), row),\n );\n rows.forEach((row, index) =>\n map.set(rowKeys?.[index] ?? getRowKey(row, index), row),\n );\n\n return map;\n }, [rows, rowKeys, filteredRows, filteredRowKeys, getRowKey]);\n\n const rowByKeyRef = useRef(rowByKey);\n\n rowByKeyRef.current = rowByKey;\n\n /**\n * Where a shift-range starts, and how far it currently reaches.\n *\n * React Aria's `SelectionManager.extendSelection` keeps this on the `Selection`\n * object itself (`selectedKeys.anchorKey`), which cannot survive our public\n * API: `selectedKeys` is `Key[]`, and `useMultipleSelectionState` rebuilds\n * whatever it is given with `new Selection(value)` — a constructor that only\n * copies the anchor when the input is already a `Selection`, a class no\n * package exports. A controlled table would silently reset the anchor to the\n * clicked row and turn every shift-click into a plain toggle.\n *\n * So the range is computed here instead, over `RowCollection`'s index. The\n * semantics match `extendSelection` exactly: the previous range is removed\n * before the new one is added, so shift-clicking back shrinks the range\n * rather than leaving the overshoot selected.\n */\n const anchorRef = useRef<Key | null>(null);\n const extentRef = useRef<Key | null>(null);\n\n const handleSelectionChange = useEvent((keys: Selection) => {\n if (!onSelectionChange) return;\n\n if (keys === 'all') {\n // The sentinel means \"everything, including rows the client has not\n // loaded\", so the row list can only ever be what is loaded.\n onSelectionChange('all', [...rowByKeyRef.current.values()]);\n\n return;\n }\n\n const list = [...keys];\n\n onSelectionChange(\n list,\n list\n .map((key) => rowByKeyRef.current.get(key))\n .filter((row): row is T => row !== undefined),\n );\n });\n\n const controlledSelection = useMemo(\n () => toSelection(selectedKeysProp),\n [selectedKeysProp],\n );\n const defaultSelection = useMemo(\n () => toSelection(defaultSelectedKeys),\n [defaultSelectedKeys],\n );\n\n const state = useMultipleSelectionState({\n selectionMode,\n selectedKeys: controlledSelection,\n defaultSelectedKeys: defaultSelection,\n disabledKeys: unselectableKeys,\n disabledBehavior: 'selection',\n onSelectionChange: handleSelectionChange,\n });\n\n const selectionManager = useMemo(\n () => new SelectionManager(collection, state),\n [collection, state],\n );\n\n const selectedKeys = state.selectedKeys;\n const isAll = selectedKeys === 'all';\n const isCascade =\n tree?.behavior === 'cascade' && selectionMode === 'multiple';\n\n const derivedSelection = useMemo(() => {\n if (isAll) {\n return {\n checked: new Set(\n [...rowByKey.keys()].filter((key) => !unselectableKeys.has(key)),\n ),\n indeterminate: new Set<Key>(),\n };\n }\n\n if (!isCascade || !tree) {\n return {\n checked: new Set(selectedKeys as Set<Key>),\n indeterminate: new Set<Key>(),\n };\n }\n\n return deriveTreeSelection(\n selectedKeys as Set<Key>,\n tree.rootKeys,\n tree.childrenOf,\n (key) => !unselectableKeys.has(key),\n );\n }, [isAll, isCascade, selectedKeys, tree, rowByKey, unselectableKeys]);\n\n const canSelect = useCallback(\n (key: Key) => isEnabled && !unselectableKeys.has(key),\n [isEnabled, unselectableKeys],\n );\n\n const isSelected = useCallback(\n (key: Key) => (isAll ? canSelect(key) : derivedSelection.checked.has(key)),\n [isAll, derivedSelection, canSelect],\n );\n\n const isIndeterminate = useCallback(\n (key: Key) => derivedSelection.indeterminate.has(key),\n [derivedSelection],\n );\n\n /** Keys the header checkbox acts on, which is what `selectAllMode` decides. */\n const scopeKeys = useMemo(() => {\n if (!isEnabled || selectionMode === 'single') return [];\n\n const source = selectAllMode === 'page' ? pageRows : filteredRows;\n const sourceKeys = selectAllMode === 'page' ? pageRowKeys : filteredRowKeys;\n\n return source\n .map((row, index) => sourceKeys?.[index] ?? getRowKey(row, index))\n .filter((key) => !unselectableKeys.has(key));\n }, [\n isEnabled,\n selectionMode,\n selectAllMode,\n pageRows,\n pageRowKeys,\n filteredRows,\n filteredRowKeys,\n getRowKey,\n unselectableKeys,\n ]);\n\n const selectAllState: CubeTableSelectAllState = useMemo(() => {\n if (isAll) return 'all';\n if (!scopeKeys.length) return 'none';\n\n const set = derivedSelection.checked;\n let count = 0;\n\n for (const key of scopeKeys) if (set.has(key)) count++;\n\n return count === 0 ? 'none' : count === scopeKeys.length ? 'all' : 'some';\n }, [isAll, derivedSelection, scopeKeys]);\n\n const toggleSelectAll = useEvent(() => {\n anchorRef.current = null;\n extentRef.current = null;\n\n if (selectAllState === 'all') {\n // Clearing drops the whole selection, not just the scope: leaving keys\n // selected on other pages after the user clicked an unchecked-looking\n // box is the kind of thing nobody discovers until they delete something.\n state.setSelectedKeys(new Set());\n\n return;\n }\n\n if (selectAllMode === 'all') {\n state.setSelectedKeys('all');\n\n return;\n }\n\n const next = new Set(isAll ? [] : derivedSelection.checked);\n\n scopeKeys.forEach((key) => next.add(key));\n state.setSelectedKeys(\n isCascade && tree\n ? deriveTreeSelection(\n next,\n tree.rootKeys,\n tree.childrenOf,\n (key) => !unselectableKeys.has(key),\n ).checked\n : next,\n );\n });\n\n const clearSelection = useEvent(() => {\n anchorRef.current = null;\n extentRef.current = null;\n state.setSelectedKeys(new Set());\n });\n\n /**\n * Shift held on the press that produced this change. `Checkbox` reports only\n * the next value, so the modifier is captured from the pointer/key event on\n * the cell and read back here.\n */\n const shiftRef = useRef(false);\n\n const captureShift = useCallback((event: { shiftKey: boolean }) => {\n shiftRef.current = event.shiftKey;\n }, []);\n\n /** Selectable keys between two rows, inclusive, in either direction. */\n const keysBetween = useCallback(\n (from: Key, to: Key) => {\n const fromIndex = collection.indexOf(from);\n const toIndex = collection.indexOf(to);\n\n if (fromIndex < 0 || toIndex < 0) return [];\n\n const [lo, hi] =\n fromIndex <= toIndex ? [fromIndex, toIndex] : [toIndex, fromIndex];\n const all = collection.getKeys();\n const range: Key[] = [];\n\n for (let i = lo; i <= hi; i++) range.push(all[i]);\n\n return range;\n },\n [collection],\n );\n\n const toggleRow = useEvent((key: Key) => {\n if (!canSelect(key)) return;\n\n if (selectionMode === 'single') {\n state.setSelectedKeys(isSelected(key) ? new Set() : new Set([key]));\n\n return;\n }\n\n const applyCascade = (set: Set<Key>, target: Key, value: boolean) => {\n if (!canSelect(target)) return;\n if (value) set.add(target);\n else {\n set.delete(target);\n\n // A checked ancestor in the normalized public key set means its whole\n // branch is selected. Remove that derived marker before normalizing a\n // partial deselection, or it would immediately select the child again.\n if (isCascade && tree) {\n let parent = tree.parentOf.get(target);\n while (parent != null) {\n set.delete(parent);\n parent = tree.parentOf.get(parent);\n }\n }\n }\n if (!isCascade || !tree) return;\n (tree.childrenOf.get(target) ?? []).forEach((child) =>\n applyCascade(set, child, value),\n );\n };\n\n const normalizeCascade = (set: Set<Key>) =>\n isCascade && tree\n ? deriveTreeSelection(\n set,\n tree.rootKeys,\n tree.childrenOf,\n (candidate) => !unselectableKeys.has(candidate),\n ).checked\n : set;\n\n const anchor = anchorRef.current;\n\n if (shiftRef.current && anchor != null && collection.indexOf(anchor) >= 0) {\n const next = new Set(isAll ? scopeKeys : derivedSelection.checked);\n\n // Drop the range this shift-click supersedes before drawing the new one,\n // so clicking back toward the anchor shrinks the selection.\n if (extentRef.current != null) {\n keysBetween(anchor, extentRef.current).forEach((k) =>\n applyCascade(next, k, false),\n );\n }\n\n keysBetween(anchor, key).forEach((k) => {\n applyCascade(next, k, true);\n });\n\n extentRef.current = key;\n state.setSelectedKeys(normalizeCascade(next));\n\n return;\n }\n\n anchorRef.current = key;\n extentRef.current = null;\n if (isCascade) {\n const next = new Set(derivedSelection.checked);\n applyCascade(next, key, !derivedSelection.checked.has(key));\n state.setSelectedKeys(normalizeCascade(next));\n } else {\n selectionManager.toggleSelection(key);\n }\n });\n\n const selectedRows = useMemo(() => {\n if (isAll) return [...rowByKey.values()];\n\n return [...derivedSelection.checked]\n .map((key) => rowByKey.get(key))\n .filter((row): row is T => row !== undefined);\n }, [isAll, derivedSelection, rowByKey]);\n\n return {\n isEnabled,\n selectionMode,\n selectionManager,\n collection,\n isSelected,\n isIndeterminate,\n canSelect,\n isRowDisabled: useCallback(\n (key: Key) => hardDisabledKeys.has(key),\n [hardDisabledKeys],\n ),\n toggleRow,\n captureShift,\n selectAllState,\n toggleSelectAll,\n clearSelection,\n selectedRows,\n selectedCount: isAll ? rowByKey.size : derivedSelection.checked.size,\n selectedKeys: (isAll ? 'all' : [...derivedSelection.checked]) as\n | Key[]\n | 'all',\n };\n}\n\nexport type CubeTableSelectionState<T> = ReturnType<\n typeof useTableSelection<T>\n>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-table-selection.js","names":["SelectionManager","useCallback","useMemo","useRef","useMultipleSelectionState","useEvent","RowCollection","Key","Selection","CubeTableSelectAllMode","CubeTableSelectionMode","SELECTION_COLUMN_KEY","ROW_NUMBER_COLUMN_KEY","SELECTION_COLUMN_WIDTH","Record","xsmall","small","medium","large","xlarge","UseTableSelectionOptions","rows","T","rowKeys","pageRows","pageRowKeys","filteredRows","filteredRowKeys","getRowKey","row","index","selectionMode","selectedKeys","defaultSelectedKeys","onSelectionChange","keys","selectAllMode","isRowSelectable","disabledKeys","tree","rootKeys","childrenOf","ReadonlyMap","parentOf","behavior","CubeTableSelectAllState","toSelection","undefined","Set","deriveTreeSelection","source","ReadonlySet","isEligible","key","checked","indeterminate","visit","all","any","eligible","children","get","explicitlySelected","has","add","length","selected","delete","hasEligible","child","result","forEach","useTableSelection","options","selectedKeysProp","isEnabled","hardDisabledKeys","unselectableKeys","visibleGetRowKey","collection","rowByKey","map","Map","set","rowByKeyRef","current","anchorRef","extentRef","handleSelectionChange","values","list","filter","controlledSelection","defaultSelection","state","disabledBehavior","selectionManager","isAll","isCascade","derivedSelection","canSelect","isSelected","isIndeterminate","scopeKeys","sourceKeys","selectAllState","count","toggleSelectAll","setSelectedKeys","next","clearSelection","shiftRef","captureShift","event","shiftKey","keysBetween","from","to","fromIndex","indexOf","toIndex","lo","hi","getKeys","range","i","push","toggleRow","applyCascade","target","value","parent","normalizeCascade","candidate","anchor","k","toggleSelection","selectedRows","isRowDisabled","selectedCount","size","CubeTableSelectionState","ReturnType"],"sources":["../../../../src/components/data/TableBase/use-table-selection.ts"],"sourcesContent":["import { SelectionManager } from '@react-stately/selection';\nimport { useCallback, useMemo, useRef } from 'react';\nimport { useMultipleSelectionState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal/hooks';\n\nimport { RowCollection } from './RowCollection';\n\nimport type { Key, Selection } from '@react-types/shared';\nimport type { CubeTableSelectAllMode, CubeTableSelectionMode } from './types';\n\n/**\n * Reserved key for the checkbox column. Prefixed so it cannot collide with a\n * real data key, and structural so the value pipeline, sorting and search all\n * skip it.\n */\nexport const SELECTION_COLUMN_KEY = '__cube-selection__';\n\n/** Reserved key for the row-number column. Structural, like the checkbox. */\nexport const ROW_NUMBER_COLUMN_KEY = '__cube-row-number__';\n\n/** Square-ish, so the checkbox sits centred without stealing content width. */\nexport const SELECTION_COLUMN_WIDTH: Record<string, number> = {\n xsmall: 32,\n small: 36,\n medium: 44,\n large: 48,\n xlarge: 52,\n};\n\nexport interface UseTableSelectionOptions<T> {\n /** Rows currently on screen — one page, or everything when unpaginated. */\n rows: readonly T[];\n /** Stable keys parallel to `rows`, used by tree mode. */\n rowKeys?: readonly Key[];\n /** Full current-page subtree; defaults to `rows`. */\n pageRows?: readonly T[];\n /** Stable keys parallel to `pageRows`. */\n pageRowKeys?: readonly Key[];\n /**\n * Every row passing the current search/filter, across pages. Only differs\n * from `rows` under client pagination, and only `selectAllMode=\"filtered\"`\n * reads it.\n */\n filteredRows: readonly T[];\n /** Stable keys parallel to `filteredRows`. */\n filteredRowKeys?: readonly Key[];\n getRowKey: (row: T, index: number) => Key;\n selectionMode: CubeTableSelectionMode;\n selectedKeys?: Key[] | 'all';\n defaultSelectedKeys?: Key[] | 'all';\n onSelectionChange?: (keys: Key[] | 'all', rows: T[]) => void;\n selectAllMode: CubeTableSelectAllMode;\n isRowSelectable?: (row: T) => boolean;\n disabledKeys?: Key[];\n tree?: {\n rootKeys: readonly Key[];\n childrenOf: ReadonlyMap<Key, readonly Key[]>;\n parentOf: ReadonlyMap<Key, Key | null>;\n behavior: 'cascade' | 'independent';\n };\n}\n\nexport type CubeTableSelectAllState = 'none' | 'some' | 'all';\n\nfunction toSelection(keys: Key[] | 'all' | undefined): Selection | undefined {\n if (keys === undefined) return undefined;\n\n return keys === 'all' ? 'all' : new Set(keys);\n}\n\nfunction deriveTreeSelection(\n source: ReadonlySet<Key>,\n rootKeys: readonly Key[],\n childrenOf: ReadonlyMap<Key, readonly Key[]>,\n isEligible: (key: Key) => boolean,\n) {\n const checked = new Set(source);\n const indeterminate = new Set<Key>();\n\n const visit = (\n key: Key,\n ): { all: boolean; any: boolean; eligible: boolean } => {\n const children = childrenOf.get(key) ?? [];\n const eligible = isEligible(key);\n const explicitlySelected = eligible && source.has(key);\n\n if (explicitlySelected) checked.add(key);\n\n if (!children.length) {\n const selected = eligible && checked.has(key);\n if (!eligible) checked.delete(key);\n return { all: !eligible || selected, any: selected, eligible };\n }\n\n let all = true;\n let any = false;\n let hasEligible = false;\n\n for (const child of children) {\n const result = visit(child);\n if (result.eligible) hasEligible = true;\n if (!result.all) all = false;\n if (result.any) any = true;\n }\n\n if (!eligible) {\n checked.delete(key);\n indeterminate.delete(key);\n } else if (hasEligible && all) {\n checked.add(key);\n indeterminate.delete(key);\n } else if (hasEligible && any) {\n checked.delete(key);\n indeterminate.add(key);\n } else if (hasEligible) {\n // Branch keys in the public set are a normalized reflection of their\n // descendants, not an enduring wildcard. This matters when a search\n // hid siblings: restoring the full tree must not make those siblings\n // selected merely because the filtered parent had been checked.\n checked.delete(key);\n indeterminate.delete(key);\n } else if (!checked.has(key)) {\n indeterminate.delete(key);\n }\n\n return {\n all: !eligible || (checked.has(key) && all),\n any: any || checked.has(key),\n eligible: eligible || hasEligible,\n };\n };\n\n rootKeys.forEach((key) => visit(key));\n return { checked, indeterminate };\n}\n\nexport function useTableSelection<T>(options: UseTableSelectionOptions<T>) {\n const {\n rows,\n rowKeys,\n pageRows = rows,\n pageRowKeys,\n filteredRows,\n filteredRowKeys,\n getRowKey,\n selectionMode,\n selectedKeys: selectedKeysProp,\n defaultSelectedKeys,\n onSelectionChange,\n selectAllMode,\n isRowSelectable,\n disabledKeys,\n tree,\n } = options;\n\n const isEnabled = selectionMode !== 'none';\n\n /**\n * Two distinct notions of \"not available\", deliberately kept apart:\n *\n * - `disabledKeys` — the row is inert. Not focusable, not interactive. This\n * is React Aria's standard meaning.\n * - `isRowSelectable` — the row is fully interactive, only its checkbox is\n * inert. This is what Cloud's tables do today.\n *\n * A `SelectionManager` has one `disabledBehavior`, so it gets the union under\n * `'selection'` (neither kind can be selected) and the hard-disabled set is\n * tracked separately for focus and interaction.\n */\n const hardDisabledKeys = useMemo(\n () => new Set(disabledKeys ?? []),\n [disabledKeys],\n );\n\n const unselectableKeys = useMemo(() => {\n const keys = new Set(hardDisabledKeys);\n\n if (isRowSelectable) {\n // Scanned over the filtered set, not just the page: a select-all that\n // reaches beyond the page must respect it there too.\n filteredRows.forEach((row, index) => {\n if (!isRowSelectable(row)) {\n keys.add(filteredRowKeys?.[index] ?? getRowKey(row, index));\n }\n });\n }\n\n return keys;\n }, [\n hardDisabledKeys,\n isRowSelectable,\n filteredRows,\n filteredRowKeys,\n getRowKey,\n ]);\n\n const visibleGetRowKey = useCallback(\n (row: T, index: number) => rowKeys?.[index] ?? getRowKey(row, index),\n [rowKeys, getRowKey],\n );\n\n const collection = useMemo(\n () => new RowCollection(rows, visibleGetRowKey, unselectableKeys),\n [rows, visibleGetRowKey, unselectableKeys],\n );\n\n const rowByKey = useMemo(() => {\n const map = new Map<Key, T>();\n\n // The page first, then the wider filtered set, so a key present in both\n // resolves to the row the user can actually see.\n filteredRows.forEach((row, index) =>\n map.set(filteredRowKeys?.[index] ?? getRowKey(row, index), row),\n );\n rows.forEach((row, index) =>\n map.set(rowKeys?.[index] ?? getRowKey(row, index), row),\n );\n\n return map;\n }, [rows, rowKeys, filteredRows, filteredRowKeys, getRowKey]);\n\n const rowByKeyRef = useRef(rowByKey);\n\n rowByKeyRef.current = rowByKey;\n\n /**\n * Where a shift-range starts, and how far it currently reaches.\n *\n * React Aria's `SelectionManager.extendSelection` keeps this on the `Selection`\n * object itself (`selectedKeys.anchorKey`), which cannot survive our public\n * API: `selectedKeys` is `Key[]`, and `useMultipleSelectionState` rebuilds\n * whatever it is given with `new Selection(value)` — a constructor that only\n * copies the anchor when the input is already a `Selection`, a class no\n * package exports. A controlled table would silently reset the anchor to the\n * clicked row and turn every shift-click into a plain toggle.\n *\n * So the range is computed here instead, over `RowCollection`'s index. The\n * semantics match `extendSelection` exactly: the previous range is removed\n * before the new one is added, so shift-clicking back shrinks the range\n * rather than leaving the overshoot selected.\n */\n const anchorRef = useRef<Key | null>(null);\n const extentRef = useRef<Key | null>(null);\n\n const handleSelectionChange = useEvent((keys: Selection) => {\n if (!onSelectionChange) return;\n\n if (keys === 'all') {\n // The sentinel means \"everything, including rows the client has not\n // loaded\", so the row list can only ever be what is loaded.\n onSelectionChange('all', [...rowByKeyRef.current.values()]);\n\n return;\n }\n\n const list = [...keys];\n\n onSelectionChange(\n list,\n list\n .map((key) => rowByKeyRef.current.get(key))\n .filter((row): row is T => row !== undefined),\n );\n });\n\n const controlledSelection = useMemo(\n () => toSelection(selectedKeysProp),\n [selectedKeysProp],\n );\n const defaultSelection = useMemo(\n () => toSelection(defaultSelectedKeys),\n [defaultSelectedKeys],\n );\n\n const state = useMultipleSelectionState({\n selectionMode,\n selectedKeys: controlledSelection,\n defaultSelectedKeys: defaultSelection,\n disabledKeys: unselectableKeys,\n disabledBehavior: 'selection',\n onSelectionChange: handleSelectionChange,\n });\n\n const selectionManager = useMemo(\n () => new SelectionManager(collection, state),\n [collection, state],\n );\n\n const selectedKeys = state.selectedKeys;\n const isAll = selectedKeys === 'all';\n const isCascade =\n tree?.behavior === 'cascade' && selectionMode === 'multiple';\n\n const derivedSelection = useMemo(() => {\n if (isAll) {\n return {\n checked: new Set(\n [...rowByKey.keys()].filter((key) => !unselectableKeys.has(key)),\n ),\n indeterminate: new Set<Key>(),\n };\n }\n\n if (!isCascade || !tree) {\n return {\n checked: new Set(selectedKeys as Set<Key>),\n indeterminate: new Set<Key>(),\n };\n }\n\n return deriveTreeSelection(\n selectedKeys as Set<Key>,\n tree.rootKeys,\n tree.childrenOf,\n (key) => !unselectableKeys.has(key),\n );\n }, [isAll, isCascade, selectedKeys, tree, rowByKey, unselectableKeys]);\n\n const canSelect = useCallback(\n (key: Key) => isEnabled && !unselectableKeys.has(key),\n [isEnabled, unselectableKeys],\n );\n\n const isSelected = useCallback(\n (key: Key) => (isAll ? canSelect(key) : derivedSelection.checked.has(key)),\n [isAll, derivedSelection, canSelect],\n );\n\n const isIndeterminate = useCallback(\n (key: Key) => derivedSelection.indeterminate.has(key),\n [derivedSelection],\n );\n\n /** Keys the header checkbox acts on, which is what `selectAllMode` decides. */\n const scopeKeys = useMemo(() => {\n if (!isEnabled || selectionMode === 'single') return [];\n\n const source = selectAllMode === 'page' ? pageRows : filteredRows;\n const sourceKeys = selectAllMode === 'page' ? pageRowKeys : filteredRowKeys;\n\n return source\n .map((row, index) => sourceKeys?.[index] ?? getRowKey(row, index))\n .filter((key) => !unselectableKeys.has(key));\n }, [\n isEnabled,\n selectionMode,\n selectAllMode,\n pageRows,\n pageRowKeys,\n filteredRows,\n filteredRowKeys,\n getRowKey,\n unselectableKeys,\n ]);\n\n const selectAllState: CubeTableSelectAllState = useMemo(() => {\n if (isAll) return 'all';\n if (!scopeKeys.length) return 'none';\n\n const set = derivedSelection.checked;\n let count = 0;\n\n for (const key of scopeKeys) if (set.has(key)) count++;\n\n return count === 0 ? 'none' : count === scopeKeys.length ? 'all' : 'some';\n }, [isAll, derivedSelection, scopeKeys]);\n\n const toggleSelectAll = useEvent(() => {\n anchorRef.current = null;\n extentRef.current = null;\n\n if (selectAllState === 'all') {\n // Clearing drops the whole selection, not just the scope: leaving keys\n // selected on other pages after the user clicked an unchecked-looking\n // box is the kind of thing nobody discovers until they delete something.\n state.setSelectedKeys(new Set());\n\n return;\n }\n\n if (selectAllMode === 'all') {\n state.setSelectedKeys('all');\n\n return;\n }\n\n const next = new Set(isAll ? [] : derivedSelection.checked);\n\n scopeKeys.forEach((key) => next.add(key));\n state.setSelectedKeys(\n isCascade && tree\n ? deriveTreeSelection(\n next,\n tree.rootKeys,\n tree.childrenOf,\n (key) => !unselectableKeys.has(key),\n ).checked\n : next,\n );\n });\n\n const clearSelection = useEvent(() => {\n anchorRef.current = null;\n extentRef.current = null;\n state.setSelectedKeys(new Set());\n });\n\n /**\n * Shift held on the press that produced this change. `Checkbox` reports only\n * the next value, so the modifier is captured from the pointer/key event on\n * the cell and read back here.\n */\n const shiftRef = useRef(false);\n\n const captureShift = useCallback((event: { shiftKey: boolean }) => {\n shiftRef.current = event.shiftKey;\n }, []);\n\n /** Selectable keys between two rows, inclusive, in either direction. */\n const keysBetween = useCallback(\n (from: Key, to: Key) => {\n const fromIndex = collection.indexOf(from);\n const toIndex = collection.indexOf(to);\n\n if (fromIndex < 0 || toIndex < 0) return [];\n\n const [lo, hi] =\n fromIndex <= toIndex ? [fromIndex, toIndex] : [toIndex, fromIndex];\n const all = collection.getKeys();\n const range: Key[] = [];\n\n for (let i = lo; i <= hi; i++) range.push(all[i]);\n\n return range;\n },\n [collection],\n );\n\n const toggleRow = useEvent((key: Key) => {\n if (!canSelect(key)) return;\n\n if (selectionMode === 'single') {\n state.setSelectedKeys(isSelected(key) ? new Set() : new Set([key]));\n\n return;\n }\n\n const applyCascade = (set: Set<Key>, target: Key, value: boolean) => {\n if (!canSelect(target)) return;\n if (value) set.add(target);\n else {\n set.delete(target);\n\n // A checked ancestor in the normalized public key set means its whole\n // branch is selected. Remove that derived marker before normalizing a\n // partial deselection, or it would immediately select the child again.\n if (isCascade && tree) {\n let parent = tree.parentOf.get(target);\n while (parent != null) {\n set.delete(parent);\n parent = tree.parentOf.get(parent);\n }\n }\n }\n if (!isCascade || !tree) return;\n (tree.childrenOf.get(target) ?? []).forEach((child) =>\n applyCascade(set, child, value),\n );\n };\n\n const normalizeCascade = (set: Set<Key>) =>\n isCascade && tree\n ? deriveTreeSelection(\n set,\n tree.rootKeys,\n tree.childrenOf,\n (candidate) => !unselectableKeys.has(candidate),\n ).checked\n : set;\n\n const anchor = anchorRef.current;\n\n if (shiftRef.current && anchor != null && collection.indexOf(anchor) >= 0) {\n const next = new Set(isAll ? scopeKeys : derivedSelection.checked);\n\n // Drop the range this shift-click supersedes before drawing the new one,\n // so clicking back toward the anchor shrinks the selection.\n if (extentRef.current != null) {\n keysBetween(anchor, extentRef.current).forEach((k) =>\n applyCascade(next, k, false),\n );\n }\n\n keysBetween(anchor, key).forEach((k) => {\n applyCascade(next, k, true);\n });\n\n extentRef.current = key;\n state.setSelectedKeys(normalizeCascade(next));\n\n return;\n }\n\n anchorRef.current = key;\n extentRef.current = null;\n if (isCascade) {\n const next = new Set(derivedSelection.checked);\n applyCascade(next, key, !derivedSelection.checked.has(key));\n state.setSelectedKeys(normalizeCascade(next));\n } else {\n selectionManager.toggleSelection(key);\n }\n });\n\n const selectedRows = useMemo(() => {\n if (isAll) return [...rowByKey.values()];\n\n return [...derivedSelection.checked]\n .map((key) => rowByKey.get(key))\n .filter((row): row is T => row !== undefined);\n }, [isAll, derivedSelection, rowByKey]);\n\n return {\n isEnabled,\n selectionMode,\n selectionManager,\n collection,\n isSelected,\n isIndeterminate,\n canSelect,\n isRowDisabled: useCallback(\n (key: Key) => hardDisabledKeys.has(key),\n [hardDisabledKeys],\n ),\n toggleRow,\n captureShift,\n selectAllState,\n toggleSelectAll,\n clearSelection,\n selectedRows,\n selectedCount: isAll ? rowByKey.size : derivedSelection.checked.size,\n selectedKeys: (isAll ? 'all' : [...derivedSelection.checked]) as\n Key[] | 'all',\n };\n}\n\nexport type CubeTableSelectionState<T> = ReturnType<\n typeof useTableSelection<T>\n>;\n"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.198.1 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { getColumnText, getColumnValue } from "./use-table-columns.js";
4
4
  import { c } from "react/compiler-runtime";
5
5
  import { useCollator } from "react-aria";
6
6
  import { useControlledState } from "@react-stately/utils";
7
-
8
7
  //#region src/components/data/TableBase/use-table-sort.ts
9
8
  /**
10
9
  * Sort state plus, in client mode, the reordered rows.
@@ -164,7 +163,7 @@ function compareByColumn(column, collator, rowA, indexA, rowB, indexB) {
164
163
  const textB = getColumnText(column, rowB, indexB) ?? String(valueB);
165
164
  return collator.compare(textA, textB);
166
165
  }
167
-
168
166
  //#endregion
169
167
  export { compareByColumn, sortRows, useTableSort };
168
+
170
169
  //# sourceMappingURL=use-table-sort.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-sort.js","names":["useControlledState","useCollator","useEvent","getColumnText","getColumnValue","CubeTableColumn","CubeTableSort","CubeTableSortDirection","CubeTableSortMode","UseTableSortOptions","columns","T","rows","mode","sort","defaultSort","onSortChange","UseTableSortResult","sortedRows","toggleSort","columnKey","setColumnSort","direction","isSortable","column","useTableSort","t0","$","_c","sortProp","t1","Symbol","for","numeric","sensitivity","collator","setSort","value","hasSortableColumn","some","_temp","resolvedMode","t2","column_0","t3","column_1","find","entry","key","disallowSortRemoval","t4","columnKey_0","column_2","entry_0","t5","sortRows","t6","sorts","Intl","Collator","active","map","filter","length","row","index","a","b","result","compareByColumn","rowA","indexA","rowB","indexB","valueA","valueB","compare","Number","Date","getTime","textA","String","textB"],"sources":["../../../../src/components/data/TableBase/use-table-sort.ts"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\nimport { useCollator } from 'react-aria';\n\nimport { useEvent } from '../../../_internal/hooks';\n\nimport { getColumnText, getColumnValue } from './use-table-columns';\n\nimport type {\n CubeTableColumn,\n CubeTableSort,\n CubeTableSortDirection,\n} from './types';\n\nexport type CubeTableSortMode = 'client' | 'server' | 'off';\n\nexport interface UseTableSortOptions<T> {\n columns: CubeTableColumn<T>[];\n rows: readonly T[];\n /** @default 'client' when any column is sortable, else 'off' */\n mode?: CubeTableSortMode;\n sort?: CubeTableSort | null;\n defaultSort?: CubeTableSort | null;\n onSortChange?: (sort: CubeTableSort | null) => void;\n}\n\nexport interface UseTableSortResult<T> {\n sort: CubeTableSort | null;\n /** `rows` reordered in client mode; the original array otherwise. */\n sortedRows: readonly T[];\n /** Advances a column through the sort cycle. */\n toggleSort: (columnKey: string) => void;\n /**\n * Sets a column's direction outright. `null` clears it.\n *\n * For the column menu's reserved sort keys, which have to reach a specific\n * direction in one step rather than cycling to it.\n */\n setColumnSort: (\n columnKey: string,\n direction: CubeTableSortDirection | null,\n ) => void;\n isSortable: (column: CubeTableColumn<T>) => boolean;\n /**\n * The mode after defaulting. The renderer needs this exact answer to decide\n * whether a header is clickable, and deriving it a second time at the call\n * site is how `DataTable` ended up sorting on `defaultSorts` but ignoring\n * every click.\n */\n mode: CubeTableSortMode;\n}\n\n/**\n * Sort state plus, in client mode, the reordered rows.\n *\n * The cycle is tri-state — `asc → desc → unsorted` — matching ag-grid's default\n * `sortingOrder`, because losing the ability to get back to the source order is\n * a real loss when the source order is meaningful. `disallowSortRemoval` on a\n * column reduces it to `asc ↔ desc`.\n */\nexport function useTableSort<T>({\n columns,\n rows,\n mode,\n sort: sortProp,\n defaultSort,\n onSortChange,\n}: UseTableSortOptions<T>): UseTableSortResult<T> {\n // A collator gives locale-correct, case-insensitive ordering — \"Ä\" sorts next\n // to \"A\" rather than after \"Z\", which a raw `<` comparison gets wrong.\n const collator = useCollator({ numeric: true, sensitivity: 'base' });\n\n const [sort, setSort] = useControlledState<CubeTableSort | null>(\n sortProp as CubeTableSort | null,\n defaultSort ?? null,\n onSortChange as (value: CubeTableSort | null) => void,\n );\n\n const hasSortableColumn = columns.some((column) => column.isSortable);\n const resolvedMode: CubeTableSortMode =\n mode ?? (hasSortableColumn ? 'client' : 'off');\n\n const isSortable = useEvent(\n (column: CubeTableColumn<T>) =>\n resolvedMode !== 'off' && column.isSortable === true,\n );\n\n const toggleSort = useEvent((columnKey: string) => {\n const column = columns.find((entry) => entry.key === columnKey);\n\n if (!column || !isSortable(column)) return;\n\n if (sort?.columnKey !== columnKey) {\n setSort({ columnKey, direction: 'asc' });\n\n return;\n }\n\n if (sort.direction === 'asc') {\n setSort({ columnKey, direction: 'desc' });\n\n return;\n }\n\n setSort(\n column.disallowSortRemoval ? { columnKey, direction: 'asc' } : null,\n );\n });\n\n /**\n * Set the column's direction outright instead of advancing the cycle — see\n * `use-table-sorts.ts` for why the column menu cannot reuse `toggleSort`.\n */\n const setColumnSort = useEvent(\n (columnKey: string, direction: CubeTableSortDirection | null) => {\n const column = columns.find((entry) => entry.key === columnKey);\n\n if (!column || !isSortable(column)) return;\n\n if (direction == null) {\n // Clearing a column that is not the sorted one is a no-op rather than a\n // reset, and `disallowSortRemoval` refuses the clear outright.\n if (sort?.columnKey !== columnKey || column.disallowSortRemoval) return;\n\n setSort(null);\n\n return;\n }\n\n if (sort?.columnKey === columnKey && sort.direction === direction) return;\n\n setSort({ columnKey, direction });\n },\n );\n\n const sortedRows =\n resolvedMode === 'client' && sort\n ? sortRows(rows, [sort], columns, collator)\n : rows;\n\n // The resolved mode is returned rather than left for the caller to derive\n // again: the renderer needs the same answer to decide whether a header is\n // clickable, and two independent derivations drift.\n return {\n sort,\n sortedRows,\n toggleSort,\n setColumnSort,\n isSortable,\n mode: resolvedMode,\n };\n}\n\n/**\n * `rows` ordered by `sorts`, the first sort taking precedence. Sorts naming a\n * column the table does not have are skipped, and `rows` itself comes back when\n * none is left.\n *\n * `map`/`sort`/`map` rather than sorting in place: `rows` is the caller's array\n * and `Array.prototype.sort` mutates. Carrying the original index also makes the\n * sort stable across engines, including when every sort ties.\n */\nexport function sortRows<T>(\n rows: readonly T[],\n sorts: readonly CubeTableSort[],\n columns: CubeTableColumn<T>[],\n collator: Intl.Collator,\n): readonly T[] {\n const active = sorts\n .map((sort) => ({\n sort,\n column: columns.find((entry) => entry.key === sort.columnKey),\n }))\n .filter(\n (entry): entry is { sort: CubeTableSort; column: CubeTableColumn<T> } =>\n entry.column != null,\n );\n\n if (!active.length) return rows;\n\n return rows\n .map((row, index) => ({ row, index }))\n .sort((a, b) => {\n for (const { sort, column } of active) {\n const result = compareByColumn(\n column,\n collator,\n a.row,\n a.index,\n b.row,\n b.index,\n );\n\n if (result !== 0) {\n return result * (sort.direction === 'asc' ? 1 : -1);\n }\n }\n\n return a.index - b.index;\n })\n .map((entry) => entry.row);\n}\n\nexport function compareByColumn<T>(\n column: CubeTableColumn<T>,\n collator: Intl.Collator,\n rowA: T,\n indexA: number,\n rowB: T,\n indexB: number,\n): number {\n const valueA = getColumnValue(column, rowA, indexA);\n const valueB = getColumnValue(column, rowB, indexB);\n\n if (column.compare) return column.compare(valueA, valueB, rowA, rowB);\n\n // Nullish always sorts first, then gets flipped with the direction. Mixing\n // them into the value comparison instead produces an unstable order.\n if (valueA == null && valueB == null) return 0;\n if (valueA == null) return -1;\n if (valueB == null) return 1;\n\n if (typeof valueA === 'number' && typeof valueB === 'number') {\n return valueA - valueB;\n }\n if (typeof valueA === 'boolean' && typeof valueB === 'boolean') {\n return Number(valueA) - Number(valueB);\n }\n if (valueA instanceof Date && valueB instanceof Date) {\n return valueA.getTime() - valueB.getTime();\n }\n\n // Fall back to display text, so a column with a `format` sorts the way it\n // reads rather than the way it is stored.\n const textA = getColumnText(column, rowA, indexA) ?? String(valueA);\n const textB = getColumnText(column, rowB, indexB) ?? String(valueB);\n\n return collator.compare(textA, textB);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-table-sort.js","names":["useControlledState","useCollator","useEvent","getColumnText","getColumnValue","CubeTableColumn","CubeTableSort","CubeTableSortDirection","CubeTableSortMode","UseTableSortOptions","columns","T","rows","mode","sort","defaultSort","onSortChange","UseTableSortResult","sortedRows","toggleSort","columnKey","setColumnSort","direction","isSortable","column","useTableSort","t0","$","_c","sortProp","t1","Symbol","for","numeric","sensitivity","collator","setSort","value","hasSortableColumn","some","_temp","resolvedMode","t2","column_0","t3","column_1","find","entry","key","disallowSortRemoval","t4","columnKey_0","column_2","entry_0","t5","sortRows","t6","sorts","Intl","Collator","active","map","filter","length","row","index","a","b","result","compareByColumn","rowA","indexA","rowB","indexB","valueA","valueB","compare","Number","Date","getTime","textA","String","textB","_c"],"sources":["../../../../src/components/data/TableBase/use-table-sort.ts"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\nimport { useCollator } from 'react-aria';\n\nimport { useEvent } from '../../../_internal/hooks';\n\nimport { getColumnText, getColumnValue } from './use-table-columns';\n\nimport type {\n CubeTableColumn,\n CubeTableSort,\n CubeTableSortDirection,\n} from './types';\n\nexport type CubeTableSortMode = 'client' | 'server' | 'off';\n\nexport interface UseTableSortOptions<T> {\n columns: CubeTableColumn<T>[];\n rows: readonly T[];\n /** @default 'client' when any column is sortable, else 'off' */\n mode?: CubeTableSortMode;\n sort?: CubeTableSort | null;\n defaultSort?: CubeTableSort | null;\n onSortChange?: (sort: CubeTableSort | null) => void;\n}\n\nexport interface UseTableSortResult<T> {\n sort: CubeTableSort | null;\n /** `rows` reordered in client mode; the original array otherwise. */\n sortedRows: readonly T[];\n /** Advances a column through the sort cycle. */\n toggleSort: (columnKey: string) => void;\n /**\n * Sets a column's direction outright. `null` clears it.\n *\n * For the column menu's reserved sort keys, which have to reach a specific\n * direction in one step rather than cycling to it.\n */\n setColumnSort: (\n columnKey: string,\n direction: CubeTableSortDirection | null,\n ) => void;\n isSortable: (column: CubeTableColumn<T>) => boolean;\n /**\n * The mode after defaulting. The renderer needs this exact answer to decide\n * whether a header is clickable, and deriving it a second time at the call\n * site is how `DataTable` ended up sorting on `defaultSorts` but ignoring\n * every click.\n */\n mode: CubeTableSortMode;\n}\n\n/**\n * Sort state plus, in client mode, the reordered rows.\n *\n * The cycle is tri-state — `asc → desc → unsorted` — matching ag-grid's default\n * `sortingOrder`, because losing the ability to get back to the source order is\n * a real loss when the source order is meaningful. `disallowSortRemoval` on a\n * column reduces it to `asc ↔ desc`.\n */\nexport function useTableSort<T>({\n columns,\n rows,\n mode,\n sort: sortProp,\n defaultSort,\n onSortChange,\n}: UseTableSortOptions<T>): UseTableSortResult<T> {\n // A collator gives locale-correct, case-insensitive ordering — \"Ä\" sorts next\n // to \"A\" rather than after \"Z\", which a raw `<` comparison gets wrong.\n const collator = useCollator({ numeric: true, sensitivity: 'base' });\n\n const [sort, setSort] = useControlledState<CubeTableSort | null>(\n sortProp as CubeTableSort | null,\n defaultSort ?? null,\n onSortChange as (value: CubeTableSort | null) => void,\n );\n\n const hasSortableColumn = columns.some((column) => column.isSortable);\n const resolvedMode: CubeTableSortMode =\n mode ?? (hasSortableColumn ? 'client' : 'off');\n\n const isSortable = useEvent(\n (column: CubeTableColumn<T>) =>\n resolvedMode !== 'off' && column.isSortable === true,\n );\n\n const toggleSort = useEvent((columnKey: string) => {\n const column = columns.find((entry) => entry.key === columnKey);\n\n if (!column || !isSortable(column)) return;\n\n if (sort?.columnKey !== columnKey) {\n setSort({ columnKey, direction: 'asc' });\n\n return;\n }\n\n if (sort.direction === 'asc') {\n setSort({ columnKey, direction: 'desc' });\n\n return;\n }\n\n setSort(\n column.disallowSortRemoval ? { columnKey, direction: 'asc' } : null,\n );\n });\n\n /**\n * Set the column's direction outright instead of advancing the cycle — see\n * `use-table-sorts.ts` for why the column menu cannot reuse `toggleSort`.\n */\n const setColumnSort = useEvent(\n (columnKey: string, direction: CubeTableSortDirection | null) => {\n const column = columns.find((entry) => entry.key === columnKey);\n\n if (!column || !isSortable(column)) return;\n\n if (direction == null) {\n // Clearing a column that is not the sorted one is a no-op rather than a\n // reset, and `disallowSortRemoval` refuses the clear outright.\n if (sort?.columnKey !== columnKey || column.disallowSortRemoval) return;\n\n setSort(null);\n\n return;\n }\n\n if (sort?.columnKey === columnKey && sort.direction === direction) return;\n\n setSort({ columnKey, direction });\n },\n );\n\n const sortedRows =\n resolvedMode === 'client' && sort\n ? sortRows(rows, [sort], columns, collator)\n : rows;\n\n // The resolved mode is returned rather than left for the caller to derive\n // again: the renderer needs the same answer to decide whether a header is\n // clickable, and two independent derivations drift.\n return {\n sort,\n sortedRows,\n toggleSort,\n setColumnSort,\n isSortable,\n mode: resolvedMode,\n };\n}\n\n/**\n * `rows` ordered by `sorts`, the first sort taking precedence. Sorts naming a\n * column the table does not have are skipped, and `rows` itself comes back when\n * none is left.\n *\n * `map`/`sort`/`map` rather than sorting in place: `rows` is the caller's array\n * and `Array.prototype.sort` mutates. Carrying the original index also makes the\n * sort stable across engines, including when every sort ties.\n */\nexport function sortRows<T>(\n rows: readonly T[],\n sorts: readonly CubeTableSort[],\n columns: CubeTableColumn<T>[],\n collator: Intl.Collator,\n): readonly T[] {\n const active = sorts\n .map((sort) => ({\n sort,\n column: columns.find((entry) => entry.key === sort.columnKey),\n }))\n .filter(\n (entry): entry is { sort: CubeTableSort; column: CubeTableColumn<T> } =>\n entry.column != null,\n );\n\n if (!active.length) return rows;\n\n return rows\n .map((row, index) => ({ row, index }))\n .sort((a, b) => {\n for (const { sort, column } of active) {\n const result = compareByColumn(\n column,\n collator,\n a.row,\n a.index,\n b.row,\n b.index,\n );\n\n if (result !== 0) {\n return result * (sort.direction === 'asc' ? 1 : -1);\n }\n }\n\n return a.index - b.index;\n })\n .map((entry) => entry.row);\n}\n\nexport function compareByColumn<T>(\n column: CubeTableColumn<T>,\n collator: Intl.Collator,\n rowA: T,\n indexA: number,\n rowB: T,\n indexB: number,\n): number {\n const valueA = getColumnValue(column, rowA, indexA);\n const valueB = getColumnValue(column, rowB, indexB);\n\n if (column.compare) return column.compare(valueA, valueB, rowA, rowB);\n\n // Nullish always sorts first, then gets flipped with the direction. Mixing\n // them into the value comparison instead produces an unstable order.\n if (valueA == null && valueB == null) return 0;\n if (valueA == null) return -1;\n if (valueB == null) return 1;\n\n if (typeof valueA === 'number' && typeof valueB === 'number') {\n return valueA - valueB;\n }\n if (typeof valueA === 'boolean' && typeof valueB === 'boolean') {\n return Number(valueA) - Number(valueB);\n }\n if (valueA instanceof Date && valueB instanceof Date) {\n return valueA.getTime() - valueB.getTime();\n }\n\n // Fall back to display text, so a column with a `format` sorts the way it\n // reads rather than the way it is stored.\n const textA = getColumnText(column, rowA, indexA) ?? String(valueA);\n const textB = getColumnText(column, rowB, indexB) ?? String(valueB);\n\n return collator.compare(textA, textB);\n}\n"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.198.1 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { sortRows } from "./use-table-sort.js";
4
4
  import { c } from "react/compiler-runtime";
5
5
  import { useControlledState } from "@react-stately/utils";
6
6
  import { useCollator } from "@react-aria/i18n";
7
-
8
7
  //#region src/components/data/TableBase/use-table-sorts.ts
9
8
  const EMPTY = [];
10
9
  /**
@@ -159,7 +158,7 @@ function useTableSorts(t0) {
159
158
  function _temp(column) {
160
159
  return column.isSortable;
161
160
  }
162
-
163
161
  //#endregion
164
162
  export { useTableSorts };
163
+
165
164
  //# sourceMappingURL=use-table-sorts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-sorts.js","names":["useCollator","useControlledState","useEvent","sortRows","CubeTableColumn","CubeTableSort","CubeTableSortDirection","UseTableSortsOptions","columns","T","rows","mode","sorts","defaultSorts","onSortsChange","EMPTY","useTableSorts","t0","$","_c","sortsProp","t1","Symbol","for","numeric","sensitivity","collator","setSorts","value","hasSortableColumn","some","_temp","resolvedMode","t2","column_0","column","isSortable","t3","columnKey","column_1","find","entry","key","index","findIndex","entry_0","direction","next","disallowSortRemoval","splice","toggleSort","t4","columnKey_0","column_2","entry_1","index_0","entry_2","next_0","next_1","setColumnSort","t5","sortedRows","t6","columnKey_1","entry_3","sortRank","t7"],"sources":["../../../../src/components/data/TableBase/use-table-sorts.ts"],"sourcesContent":["import { useCollator } from '@react-aria/i18n';\nimport { useControlledState } from '@react-stately/utils';\n\nimport { useEvent } from '../../../_internal/hooks';\n\nimport { sortRows } from './use-table-sort';\n\nimport type {\n CubeTableColumn,\n CubeTableSort,\n CubeTableSortDirection,\n} from './types';\n\nexport interface UseTableSortsOptions<T> {\n columns: CubeTableColumn<T>[];\n rows: readonly T[];\n mode?: 'client' | 'server' | 'off';\n sorts?: CubeTableSort[];\n defaultSorts?: CubeTableSort[];\n onSortsChange?: (sorts: CubeTableSort[]) => void;\n}\n\nconst EMPTY: CubeTableSort[] = [];\n\n/**\n * Multi-column sorting.\n *\n * `ItemTable` sorts by one column, which is right for a list. An analytical\n * grid is routinely ordered by one dimension and then another, and Cloud's\n * reports send an array of sorts to the query — so the order of the array is\n * the sort precedence, and it has to survive round-tripping.\n *\n * Clicking a header cycles that column `asc → desc → off` exactly as the single\n * version does; the difference is that it edits its entry in place rather than\n * replacing the whole sort, so the other columns keep their precedence.\n */\nexport function useTableSorts<T>({\n columns,\n rows,\n mode,\n sorts: sortsProp,\n defaultSorts,\n onSortsChange,\n}: UseTableSortsOptions<T>) {\n const collator = useCollator({ numeric: true, sensitivity: 'base' });\n\n const [sorts, setSorts] = useControlledState<CubeTableSort[]>(\n sortsProp as CubeTableSort[],\n defaultSorts ?? EMPTY,\n onSortsChange as (value: CubeTableSort[]) => void,\n );\n\n const hasSortableColumn = columns.some((column) => column.isSortable);\n const resolvedMode = mode ?? (hasSortableColumn ? 'client' : 'off');\n\n const isSortable = useEvent(\n (column: CubeTableColumn<T>) =>\n resolvedMode !== 'off' && column.isSortable === true,\n );\n\n const toggleSort = useEvent((columnKey: string) => {\n const column = columns.find((entry) => entry.key === columnKey);\n\n if (!column || !isSortable(column)) return;\n\n const index = sorts.findIndex((entry) => entry.columnKey === columnKey);\n\n if (index === -1) {\n // Appended, not prepended: a newly sorted column is the least\n // significant, so the ordering the user already established still leads.\n setSorts([...sorts, { columnKey, direction: 'asc' }]);\n\n return;\n }\n\n const next = [...sorts];\n\n if (next[index].direction === 'asc') {\n next[index] = { columnKey, direction: 'desc' };\n setSorts(next);\n\n return;\n }\n\n if (column.disallowSortRemoval) {\n next[index] = { columnKey, direction: 'asc' };\n setSorts(next);\n\n return;\n }\n\n next.splice(index, 1);\n setSorts(next);\n });\n\n /**\n * Set one column's direction outright instead of advancing the cycle.\n *\n * The column menu's `sort-desc` has to reach `desc` in one step. Reaching it\n * by calling `toggleSort` twice cannot work here: under `disallowSortRemoval`\n * the cycle never leaves `asc`/`desc`, and a column that was unsorted would\n * be appended and then re-read, so every intermediate state is observable.\n *\n * Precedence is preserved — an already-sorted column keeps its slot, and a\n * newly sorted one is appended as the least significant, the same rule\n * `toggleSort` follows.\n */\n const setColumnSort = useEvent(\n (columnKey: string, direction: CubeTableSortDirection | null) => {\n const column = columns.find((entry) => entry.key === columnKey);\n\n if (!column || !isSortable(column)) return;\n\n const index = sorts.findIndex((entry) => entry.columnKey === columnKey);\n\n if (direction == null) {\n // `disallowSortRemoval` means the column is never *left* unsorted, so an\n // explicit clear is refused too rather than quietly re-sorting.\n if (index === -1 || column.disallowSortRemoval) return;\n\n const next = [...sorts];\n\n next.splice(index, 1);\n setSorts(next);\n\n return;\n }\n\n if (index === -1) {\n setSorts([...sorts, { columnKey, direction }]);\n\n return;\n }\n\n if (sorts[index].direction === direction) return;\n\n const next = [...sorts];\n\n next[index] = { columnKey, direction };\n setSorts(next);\n },\n );\n\n const sortedRows =\n resolvedMode === 'client' ? sortRows(rows, sorts, columns, collator) : rows;\n\n /** Where a column sits in the precedence, 1-based. `0` when unsorted. */\n const sortRank = useEvent(\n (columnKey: string) =>\n sorts.findIndex((entry) => entry.columnKey === columnKey) + 1,\n );\n\n // Returned for the same reason as the single-column hook: the renderer needs\n // this exact answer to decide whether a header is clickable.\n return {\n sorts,\n sortedRows,\n toggleSort,\n setColumnSort,\n isSortable,\n sortRank,\n mode: resolvedMode,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-table-sorts.js","names":["useCollator","useControlledState","useEvent","sortRows","CubeTableColumn","CubeTableSort","CubeTableSortDirection","UseTableSortsOptions","columns","T","rows","mode","sorts","defaultSorts","onSortsChange","EMPTY","useTableSorts","t0","$","_c","sortsProp","t1","Symbol","for","numeric","sensitivity","collator","setSorts","value","hasSortableColumn","some","_temp","resolvedMode","t2","column_0","column","isSortable","t3","columnKey","column_1","find","entry","key","index","findIndex","entry_0","direction","next","disallowSortRemoval","splice","toggleSort","t4","columnKey_0","column_2","entry_1","index_0","entry_2","next_0","next_1","setColumnSort","t5","sortedRows","t6","columnKey_1","entry_3","sortRank","t7","_c"],"sources":["../../../../src/components/data/TableBase/use-table-sorts.ts"],"sourcesContent":["import { useCollator } from '@react-aria/i18n';\nimport { useControlledState } from '@react-stately/utils';\n\nimport { useEvent } from '../../../_internal/hooks';\n\nimport { sortRows } from './use-table-sort';\n\nimport type {\n CubeTableColumn,\n CubeTableSort,\n CubeTableSortDirection,\n} from './types';\n\nexport interface UseTableSortsOptions<T> {\n columns: CubeTableColumn<T>[];\n rows: readonly T[];\n mode?: 'client' | 'server' | 'off';\n sorts?: CubeTableSort[];\n defaultSorts?: CubeTableSort[];\n onSortsChange?: (sorts: CubeTableSort[]) => void;\n}\n\nconst EMPTY: CubeTableSort[] = [];\n\n/**\n * Multi-column sorting.\n *\n * `ItemTable` sorts by one column, which is right for a list. An analytical\n * grid is routinely ordered by one dimension and then another, and Cloud's\n * reports send an array of sorts to the query — so the order of the array is\n * the sort precedence, and it has to survive round-tripping.\n *\n * Clicking a header cycles that column `asc → desc → off` exactly as the single\n * version does; the difference is that it edits its entry in place rather than\n * replacing the whole sort, so the other columns keep their precedence.\n */\nexport function useTableSorts<T>({\n columns,\n rows,\n mode,\n sorts: sortsProp,\n defaultSorts,\n onSortsChange,\n}: UseTableSortsOptions<T>) {\n const collator = useCollator({ numeric: true, sensitivity: 'base' });\n\n const [sorts, setSorts] = useControlledState<CubeTableSort[]>(\n sortsProp as CubeTableSort[],\n defaultSorts ?? EMPTY,\n onSortsChange as (value: CubeTableSort[]) => void,\n );\n\n const hasSortableColumn = columns.some((column) => column.isSortable);\n const resolvedMode = mode ?? (hasSortableColumn ? 'client' : 'off');\n\n const isSortable = useEvent(\n (column: CubeTableColumn<T>) =>\n resolvedMode !== 'off' && column.isSortable === true,\n );\n\n const toggleSort = useEvent((columnKey: string) => {\n const column = columns.find((entry) => entry.key === columnKey);\n\n if (!column || !isSortable(column)) return;\n\n const index = sorts.findIndex((entry) => entry.columnKey === columnKey);\n\n if (index === -1) {\n // Appended, not prepended: a newly sorted column is the least\n // significant, so the ordering the user already established still leads.\n setSorts([...sorts, { columnKey, direction: 'asc' }]);\n\n return;\n }\n\n const next = [...sorts];\n\n if (next[index].direction === 'asc') {\n next[index] = { columnKey, direction: 'desc' };\n setSorts(next);\n\n return;\n }\n\n if (column.disallowSortRemoval) {\n next[index] = { columnKey, direction: 'asc' };\n setSorts(next);\n\n return;\n }\n\n next.splice(index, 1);\n setSorts(next);\n });\n\n /**\n * Set one column's direction outright instead of advancing the cycle.\n *\n * The column menu's `sort-desc` has to reach `desc` in one step. Reaching it\n * by calling `toggleSort` twice cannot work here: under `disallowSortRemoval`\n * the cycle never leaves `asc`/`desc`, and a column that was unsorted would\n * be appended and then re-read, so every intermediate state is observable.\n *\n * Precedence is preserved — an already-sorted column keeps its slot, and a\n * newly sorted one is appended as the least significant, the same rule\n * `toggleSort` follows.\n */\n const setColumnSort = useEvent(\n (columnKey: string, direction: CubeTableSortDirection | null) => {\n const column = columns.find((entry) => entry.key === columnKey);\n\n if (!column || !isSortable(column)) return;\n\n const index = sorts.findIndex((entry) => entry.columnKey === columnKey);\n\n if (direction == null) {\n // `disallowSortRemoval` means the column is never *left* unsorted, so an\n // explicit clear is refused too rather than quietly re-sorting.\n if (index === -1 || column.disallowSortRemoval) return;\n\n const next = [...sorts];\n\n next.splice(index, 1);\n setSorts(next);\n\n return;\n }\n\n if (index === -1) {\n setSorts([...sorts, { columnKey, direction }]);\n\n return;\n }\n\n if (sorts[index].direction === direction) return;\n\n const next = [...sorts];\n\n next[index] = { columnKey, direction };\n setSorts(next);\n },\n );\n\n const sortedRows =\n resolvedMode === 'client' ? sortRows(rows, sorts, columns, collator) : rows;\n\n /** Where a column sits in the precedence, 1-based. `0` when unsorted. */\n const sortRank = useEvent(\n (columnKey: string) =>\n sorts.findIndex((entry) => entry.columnKey === columnKey) + 1,\n );\n\n // Returned for the same reason as the single-column hook: the renderer needs\n // this exact answer to decide whether a header is clickable.\n return {\n sorts,\n sortedRows,\n toggleSort,\n setColumnSort,\n isSortable,\n sortRank,\n mode: resolvedMode,\n };\n}\n"],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
 
2
2
  import "./types.js";
3
-
4
3
  //#region src/components/data/TableBase/use-table-storage.d.ts
5
- type CubeTablePersistKey = 'pageSize' | 'columnWidths' | 'columnOrder' | 'sort';
4
+ export type CubeTablePersistKey = 'pageSize' | 'columnWidths' | 'columnOrder' | 'sort';
6
5
  //#endregion
7
- export { CubeTablePersistKey };
8
6
  //# sourceMappingURL=use-table-storage.d.ts.map
@@ -1,6 +1,5 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.198.1 | Cube Dev Team */
2
2
  import { useCallback, useRef, useState } from "react";
3
-
4
3
  //#region src/components/data/TableBase/use-table-storage.ts
5
4
  /**
6
5
  * Namespaced so a `storageKey` cannot collide with whatever else the host app
@@ -52,11 +51,12 @@ function useTableStorage(storageKey, persist = DEFAULT_PERSIST_KEYS) {
52
51
  }, [storageKey]);
53
52
  return {
54
53
  initial: storageKey ? initial : {},
54
+ /** `true` when this key is persisted, so callers can skip the work. */
55
55
  has: (key_0) => !!storageKey && persist.includes(key_0),
56
56
  write
57
57
  };
58
58
  }
59
-
60
59
  //#endregion
61
- export { useTableStorage };
60
+ export { DEFAULT_PERSIST_KEYS, useTableStorage };
61
+
62
62
  //# sourceMappingURL=use-table-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-storage.js","names":["useCallback","useRef","useState","CubeTableSort","PREFIX","CubeTablePersistKey","CubeTableStoredState","pageSize","sort","columnWidths","Record","columnOrder","DEFAULT_PERSIST_KEYS","read","storageKey","window","raw","localStorage","getItem","parsed","JSON","parse","useTableStorage","persist","initial","persistRef","current","write","patch","allowed","entries","Object","filter","key","includes","length","next","fromEntries","setItem","stringify","has"],"sources":["../../../../src/components/data/TableBase/use-table-storage.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nimport type { CubeTableSort } from './types';\n\n/**\n * Namespaced so a `storageKey` cannot collide with whatever else the host app\n * keeps in `localStorage`, and so the kit's own stored shape can be migrated or\n * cleared as a group later.\n */\nconst PREFIX = 'cube-ui-kit:table:';\n\nexport type CubeTablePersistKey =\n | 'pageSize'\n | 'columnWidths'\n | 'columnOrder'\n | 'sort';\n\nexport interface CubeTableStoredState {\n pageSize?: number;\n sort?: CubeTableSort | null;\n columnWidths?: Record<string, number>;\n /** Every column key in order, including hidden and pinned ones. */\n columnOrder?: string[];\n}\n\nexport const DEFAULT_PERSIST_KEYS: CubeTablePersistKey[] = [\n 'pageSize',\n 'columnWidths',\n // A column layout the user arranged by hand is the same kind of state as the\n // widths they dragged — losing it on reload would be as surprising.\n 'columnOrder',\n];\n\nfunction read(storageKey: string | undefined): CubeTableStoredState {\n // No `storageKey` means the feature is off; no `window` means SSR. Both are\n // normal, not errors.\n if (!storageKey || typeof window === 'undefined') return {};\n\n try {\n const raw = window.localStorage.getItem(PREFIX + storageKey);\n\n if (!raw) return {};\n\n const parsed = JSON.parse(raw);\n\n // Anything could be under that key — a hand-edited value, a stale shape\n // from an older version. A non-object is simply ignored.\n return parsed && typeof parsed === 'object' ? parsed : {};\n } catch {\n // Private mode, a disabled store, or malformed JSON. Persistence is a\n // convenience; losing it must never take the table down with it.\n return {};\n }\n}\n\n/**\n * Persists the parts of the table's own state that a user expects to survive a\n * reload. Only state the table *owns* is stored: a controlled `pageSize` or\n * `sort` belongs to the page, so restoring it would fight the page's own source\n * of truth.\n *\n * Returns the state read at mount — a one-shot snapshot, deliberately, so a\n * second table sharing the key cannot yank this one's page size mid-session.\n */\nexport function useTableStorage(\n storageKey: string | undefined,\n persist: CubeTablePersistKey[] = DEFAULT_PERSIST_KEYS,\n) {\n const [initial] = useState(() => read(storageKey));\n const persistRef = useRef(persist);\n\n persistRef.current = persist;\n\n const write = useCallback(\n (patch: CubeTableStoredState) => {\n if (!storageKey || typeof window === 'undefined') return;\n\n const allowed = persistRef.current;\n const entries = Object.entries(patch).filter(([key]) =>\n allowed.includes(key as CubeTablePersistKey),\n );\n\n if (!entries.length) return;\n\n try {\n const next = {\n ...read(storageKey),\n ...Object.fromEntries(entries),\n };\n\n window.localStorage.setItem(PREFIX + storageKey, JSON.stringify(next));\n } catch {\n // Quota exceeded or a disabled store — nothing to do but carry on.\n }\n },\n [storageKey],\n );\n\n return {\n initial: storageKey ? initial : {},\n /** `true` when this key is persisted, so callers can skip the work. */\n has: (key: CubeTablePersistKey) => !!storageKey && persist.includes(key),\n write,\n };\n}\n"],"mappings":";;;;;;;;;AASA,MAAMI,SAAS;AAgBf,MAAaQ,uBAA8C;CACzD;CACA;CAGA;CACD;AAED,SAASC,KAAKC,YAAsD;AAGlE,KAAI,CAACA,cAAc,OAAOC,WAAW,YAAa,QAAO,EAAE;AAE3D,KAAI;EACF,MAAMC,MAAMD,OAAOE,aAAaC,QAAQd,SAASU,WAAW;AAE5D,MAAI,CAACE,IAAK,QAAO,EAAE;EAEnB,MAAMG,SAASC,KAAKC,MAAML,IAAI;AAI9B,SAAOG,UAAU,OAAOA,WAAW,WAAWA,SAAS,EAAE;SACnD;AAGN,SAAO,EAAE;;;;;;;;;;;;AAab,SAAgBG,gBACdR,YACAS,UAAiCX,sBACjC;CACA,MAAM,CAACY,WAAWtB,eAAeW,KAAKC,WAAW,CAAC;CAClD,MAAMW,aAAaxB,OAAOsB,QAAQ;AAElCE,YAAWC,UAAUH;CAErB,MAAMI,QAAQ3B,aACX4B,UAAgC;AAC/B,MAAI,CAACd,cAAc,OAAOC,WAAW,YAAa;EAElD,MAAMc,UAAUJ,WAAWC;EAC3B,MAAMI,UAAUC,OAAOD,QAAQF,MAAM,CAACI,QAAQ,CAACC,SAC7CJ,QAAQK,SAASD,IACnB,CAAC;AAED,MAAI,CAACH,QAAQK,OAAQ;AAErB,MAAI;GACF,MAAMC,OAAO;IACX,GAAGvB,KAAKC,WAAW;IACnB,GAAGiB,OAAOM,YAAYP,QAAO;IAC9B;AAEDf,UAAOE,aAAaqB,QAAQlC,SAASU,YAAYM,KAAKmB,UAAUH,KAAK,CAAC;UAChE;IAIV,CAACtB,WACH,CAAC;AAED,QAAO;EACLU,SAASV,aAAaU,UAAU,EAAE;EAElCgB,MAAMP,UAA6B,CAAC,CAACnB,cAAcS,QAAQW,SAASD,MAAI;EACxEN;EACD"}
1
+ {"version":3,"file":"use-table-storage.js","names":["useCallback","useRef","useState","CubeTableSort","PREFIX","CubeTablePersistKey","CubeTableStoredState","pageSize","sort","columnWidths","Record","columnOrder","DEFAULT_PERSIST_KEYS","read","storageKey","window","raw","localStorage","getItem","parsed","JSON","parse","useTableStorage","persist","initial","persistRef","current","write","patch","allowed","entries","Object","filter","key","includes","length","next","fromEntries","setItem","stringify","has"],"sources":["../../../../src/components/data/TableBase/use-table-storage.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nimport type { CubeTableSort } from './types';\n\n/**\n * Namespaced so a `storageKey` cannot collide with whatever else the host app\n * keeps in `localStorage`, and so the kit's own stored shape can be migrated or\n * cleared as a group later.\n */\nconst PREFIX = 'cube-ui-kit:table:';\n\nexport type CubeTablePersistKey =\n 'pageSize' | 'columnWidths' | 'columnOrder' | 'sort';\n\nexport interface CubeTableStoredState {\n pageSize?: number;\n sort?: CubeTableSort | null;\n columnWidths?: Record<string, number>;\n /** Every column key in order, including hidden and pinned ones. */\n columnOrder?: string[];\n}\n\nexport const DEFAULT_PERSIST_KEYS: CubeTablePersistKey[] = [\n 'pageSize',\n 'columnWidths',\n // A column layout the user arranged by hand is the same kind of state as the\n // widths they dragged — losing it on reload would be as surprising.\n 'columnOrder',\n];\n\nfunction read(storageKey: string | undefined): CubeTableStoredState {\n // No `storageKey` means the feature is off; no `window` means SSR. Both are\n // normal, not errors.\n if (!storageKey || typeof window === 'undefined') return {};\n\n try {\n const raw = window.localStorage.getItem(PREFIX + storageKey);\n\n if (!raw) return {};\n\n const parsed = JSON.parse(raw);\n\n // Anything could be under that key — a hand-edited value, a stale shape\n // from an older version. A non-object is simply ignored.\n return parsed && typeof parsed === 'object' ? parsed : {};\n } catch {\n // Private mode, a disabled store, or malformed JSON. Persistence is a\n // convenience; losing it must never take the table down with it.\n return {};\n }\n}\n\n/**\n * Persists the parts of the table's own state that a user expects to survive a\n * reload. Only state the table *owns* is stored: a controlled `pageSize` or\n * `sort` belongs to the page, so restoring it would fight the page's own source\n * of truth.\n *\n * Returns the state read at mount — a one-shot snapshot, deliberately, so a\n * second table sharing the key cannot yank this one's page size mid-session.\n */\nexport function useTableStorage(\n storageKey: string | undefined,\n persist: CubeTablePersistKey[] = DEFAULT_PERSIST_KEYS,\n) {\n const [initial] = useState(() => read(storageKey));\n const persistRef = useRef(persist);\n\n persistRef.current = persist;\n\n const write = useCallback(\n (patch: CubeTableStoredState) => {\n if (!storageKey || typeof window === 'undefined') return;\n\n const allowed = persistRef.current;\n const entries = Object.entries(patch).filter(([key]) =>\n allowed.includes(key as CubeTablePersistKey),\n );\n\n if (!entries.length) return;\n\n try {\n const next = {\n ...read(storageKey),\n ...Object.fromEntries(entries),\n };\n\n window.localStorage.setItem(PREFIX + storageKey, JSON.stringify(next));\n } catch {\n // Quota exceeded or a disabled store — nothing to do but carry on.\n }\n },\n [storageKey],\n );\n\n return {\n initial: storageKey ? initial : {},\n /** `true` when this key is persisted, so callers can skip the work. */\n has: (key: CubeTablePersistKey) => !!storageKey && persist.includes(key),\n write,\n };\n}\n"],"mappings":";;;;;;;;AASA,MAAMI,SAAS;AAaf,MAAaQ,uBAA8C;CACzD;CACA;CAGA;AAAa;AAGf,SAASC,KAAKC,YAAsD;CAGlE,IAAI,CAACA,cAAc,OAAOC,WAAW,aAAa,OAAO,CAAC;CAE1D,IAAI;EACF,MAAMC,MAAMD,OAAOE,aAAaC,QAAQd,SAASU,UAAU;EAE3D,IAAI,CAACE,KAAK,OAAO,CAAC;EAElB,MAAMG,SAASC,KAAKC,MAAML,GAAG;EAI7B,OAAOG,UAAU,OAAOA,WAAW,WAAWA,SAAS,CAAC;CAC1D,QAAQ;EAGN,OAAO,CAAC;CACV;AACF;;;;;;;;;;AAWA,SAAgBG,gBACdR,YACAS,UAAiCX,sBACjC;CACA,MAAM,CAACY,WAAWtB,eAAeW,KAAKC,UAAU,CAAC;CACjD,MAAMW,aAAaxB,OAAOsB,OAAO;CAEjCE,WAAWC,UAAUH;CAErB,MAAMI,QAAQ3B,aACX4B,UAAgC;EAC/B,IAAI,CAACd,cAAc,OAAOC,WAAW,aAAa;EAElD,MAAMc,UAAUJ,WAAWC;EAC3B,MAAMI,UAAUC,OAAOD,QAAQF,KAAK,CAAC,CAACI,QAAQ,CAACC,SAC7CJ,QAAQK,SAASD,GAA0B,CAC7C;EAEA,IAAI,CAACH,QAAQK,QAAQ;EAErB,IAAI;GACF,MAAMC,OAAO;IACX,GAAGvB,KAAKC,UAAU;IAClB,GAAGiB,OAAOM,YAAYP,OAAO;GAC/B;GAEAf,OAAOE,aAAaqB,QAAQlC,SAASU,YAAYM,KAAKmB,UAAUH,IAAI,CAAC;EACvE,QAAQ,CACN;CAEJ,GACA,CAACtB,UAAU,CACb;CAEA,OAAO;EACLU,SAASV,aAAaU,UAAU,CAAC;;EAEjCgB,MAAMP,UAA6B,CAAC,CAACnB,cAAcS,QAAQW,SAASD,KAAG;EACvEN;CACF;AACF"}
@@ -1,10 +1,9 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.198.1 | Cube Dev Team */
2
2
  import { refreshAutoTooltipsWithin } from "../../content/use-auto-tooltip.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useEffect } from "react";
5
-
6
5
  //#region src/components/data/TableBase/use-table-tooltip-refresh.ts
7
- const APPEARANCE_ELEMENTS = new Set([
6
+ const APPEARANCE_ELEMENTS = /* @__PURE__ */ new Set([
8
7
  "Scroller",
9
8
  "Table",
10
9
  "Head",
@@ -75,7 +74,7 @@ function useTableTooltipRefresh(scroller, isScrolling, onAppearanceChange, onRes
75
74
  } else t2 = $[10];
76
75
  useEffect(t1, t2);
77
76
  }
78
-
79
77
  //#endregion
80
78
  export { useTableTooltipRefresh };
79
+
81
80
  //# sourceMappingURL=use-table-tooltip-refresh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-tooltip-refresh.js","names":["useEffect","refreshAutoTooltipsWithin","APPEARANCE_ELEMENTS","Set","useTableTooltipRefresh","scroller","isScrolling","onAppearanceChange","onRest","$","_c","t0","parentElement","root","t1","root_0","refresh","window","addEventListener","passive","observer","MutationObserver","records","some","t2","target","contains","HTMLElement","has","dataset","element","document","fonts","observe","attributes","subtree","parent","disconnect","removeEventListener"],"sources":["../../../../src/components/data/TableBase/use-table-tooltip-refresh.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { refreshAutoTooltipsWithin } from '../../content/use-auto-tooltip';\n\n// These elements own inherited table typography and its state selectors.\nconst APPEARANCE_ELEMENTS = new Set([\n 'Scroller',\n 'Table',\n 'Head',\n 'HeadRow',\n 'HeaderCell',\n 'HeaderGroupCell',\n 'Body',\n 'Row',\n 'Cell',\n]);\n\nexport function useTableTooltipRefresh(\n scroller: HTMLDivElement | null,\n isScrolling: boolean,\n onAppearanceChange?: () => void,\n onRest?: () => void,\n) {\n // A commit can change inherited appearance without changing the box or\n // font-set size. Refresh at rest, including the commit that settles scroll.\n useEffect(() => {\n const root = scroller?.parentElement;\n if (root && !isScrolling) {\n onAppearanceChange?.();\n // Range buffers settle here, separately from mid-gesture appearance.\n onRest?.();\n refreshAutoTooltipsWithin(root);\n }\n });\n\n useEffect(() => {\n const root = scroller?.parentElement;\n if (!root) return;\n\n const refresh = () => {\n onAppearanceChange?.();\n refreshAutoTooltipsWithin(root);\n };\n window.addEventListener('resize', refresh, { passive: true });\n const observer = new MutationObserver((records) => {\n if (\n records.some(\n ({ target }) =>\n target === root ||\n !root.contains(target) ||\n (target instanceof HTMLElement &&\n APPEARANCE_ELEMENTS.has(target.dataset.element ?? '')),\n )\n ) {\n // One scan per delivery also covers sibling/state selector changes.\n // Spacer height and tooltip-trigger mutations need no refresh.\n refresh();\n }\n });\n document.fonts?.addEventListener('loadingdone', refresh);\n observer.observe(root, { attributes: true, subtree: true });\n for (\n let parent = root.parentElement;\n parent;\n parent = parent.parentElement\n ) {\n observer.observe(parent, { attributes: true });\n }\n return () => {\n observer.disconnect();\n window.removeEventListener('resize', refresh);\n document.fonts?.removeEventListener('loadingdone', refresh);\n };\n }, [onAppearanceChange, scroller]);\n}\n"],"mappings":";;;;;;AAKA,MAAME,sBAAsB,IAAIC,IAAI;CAClC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;AAEF,SAAOC,uBAAAC,UAAAC,aAAAC,oBAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAC;AAAA,KAAAF,EAAA,OAAAH,eAAAG,EAAA,OAAAF,sBAAAE,EAAA,OAAAD,UAAAC,EAAA,OAAAJ,UAAAO,eAAA;AAQKD,aAAA;GACR,MAAAE,OAAaR,UAAQO;AACrB,OAAIC,QAAA,CAASP,aAAW;AACtBC,0BAAsB;AAEtBC,cAAU;AACVP,8BAA0BY,KAAK;;;AAElCJ,IAAA,KAAAH;AAAAG,IAAA,KAAAF;AAAAE,IAAA,KAAAD;AAAAC,IAAA,KAAAJ,UAAAO;AAAAH,IAAA,KAAAE;OAAAA,MAAAF,EAAA;AARDT,WAAUW,GAQR;CAAA,IAAAG;AAAA,KAAAL,EAAA,OAAAF,sBAAAE,EAAA,OAAAJ,UAAAO,eAAA;AAEQE,aAAA;GACR,MAAAC,SAAaV,UAAQO;AACrB,OAAI,CAACC,OAAI;GAET,MAAAG,gBAAgB;AACdT,0BAAsB;AACtBN,8BAA0BY,OAAK;;AAEjCI,UAAMC,iBAAkB,UAAUF,SAAS,EAAAG,SAAW,MAAM,CAAC;GAC7D,MAAAC,WAAiB,IAAIC,kBAAiBC,YAAA;AACpC,QACEA,QAAOC,MACLC,OAAA;KAAC,MAAA,EAAAC,WAAAD;AAAU,YACTC,WAAWZ,UAAX,CACCA,OAAIa,SAAUD,OAEyC,IADvDA,kBAAkBE,eACjBzB,oBAAmB0B,IAAKH,OAAMI,QAAQC,WAAd,GAA8B;MAC3D,CAIDd,UAAS;KAEX;AACFe,YAAQC,OAAwBd,iBAAC,eAAeF,QAAQ;AACxDI,YAAQa,QAASpB,QAAM;IAAAqB,YAAc;IAAIC,SAAW;IAAM,CAAC;AAC3D,QAAA,IAAAC,SACevB,OAAID,eACjBwB,QAFFA,SAGWA,OAAMxB,cAEfQ,UAAQa,QAASG,QAAQ,EAAAF,YAAc,MAAM,CAAC;AAC/C,gBACM;AACLd,aAAQiB,YAAa;AACrBpB,WAAMqB,oBAAqB,UAAUtB,QAAQ;AAC7Ce,aAAQC,OAA2BM,oBAAC,eAAetB,QAAQ;;;AAE9DP,IAAA,KAAAF;AAAAE,IAAA,KAAAJ,UAAAO;AAAAH,IAAA,KAAAK;OAAAA,MAAAL,EAAA;CAAA,IAAAe;AAAA,KAAAf,EAAA,OAAAF,sBAAAE,EAAA,OAAAJ,UAAA;AAAEmB,OAAA,CAACjB,oBAAoBF,SAAS;AAAAI,IAAA,KAAAF;AAAAE,IAAA,KAAAJ;AAAAI,IAAA,MAAAe;OAAAA,MAAAf,EAAA;AAtCjCT,WAAUc,IAsCPU,GAA+B"}
1
+ {"version":3,"file":"use-table-tooltip-refresh.js","names":["useEffect","refreshAutoTooltipsWithin","APPEARANCE_ELEMENTS","Set","useTableTooltipRefresh","scroller","isScrolling","onAppearanceChange","onRest","$","_c","t0","parentElement","root","t1","root_0","refresh","window","addEventListener","passive","observer","MutationObserver","records","some","t2","target","contains","HTMLElement","has","dataset","element","document","fonts","observe","attributes","subtree","parent","disconnect","removeEventListener","_c"],"sources":["../../../../src/components/data/TableBase/use-table-tooltip-refresh.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { refreshAutoTooltipsWithin } from '../../content/use-auto-tooltip';\n\n// These elements own inherited table typography and its state selectors.\nconst APPEARANCE_ELEMENTS = new Set([\n 'Scroller',\n 'Table',\n 'Head',\n 'HeadRow',\n 'HeaderCell',\n 'HeaderGroupCell',\n 'Body',\n 'Row',\n 'Cell',\n]);\n\nexport function useTableTooltipRefresh(\n scroller: HTMLDivElement | null,\n isScrolling: boolean,\n onAppearanceChange?: () => void,\n onRest?: () => void,\n) {\n // A commit can change inherited appearance without changing the box or\n // font-set size. Refresh at rest, including the commit that settles scroll.\n useEffect(() => {\n const root = scroller?.parentElement;\n if (root && !isScrolling) {\n onAppearanceChange?.();\n // Range buffers settle here, separately from mid-gesture appearance.\n onRest?.();\n refreshAutoTooltipsWithin(root);\n }\n });\n\n useEffect(() => {\n const root = scroller?.parentElement;\n if (!root) return;\n\n const refresh = () => {\n onAppearanceChange?.();\n refreshAutoTooltipsWithin(root);\n };\n window.addEventListener('resize', refresh, { passive: true });\n const observer = new MutationObserver((records) => {\n if (\n records.some(\n ({ target }) =>\n target === root ||\n !root.contains(target) ||\n (target instanceof HTMLElement &&\n APPEARANCE_ELEMENTS.has(target.dataset.element ?? '')),\n )\n ) {\n // One scan per delivery also covers sibling/state selector changes.\n // Spacer height and tooltip-trigger mutations need no refresh.\n refresh();\n }\n });\n document.fonts?.addEventListener('loadingdone', refresh);\n observer.observe(root, { attributes: true, subtree: true });\n for (\n let parent = root.parentElement;\n parent;\n parent = parent.parentElement\n ) {\n observer.observe(parent, { attributes: true });\n }\n return () => {\n observer.disconnect();\n window.removeEventListener('resize', refresh);\n document.fonts?.removeEventListener('loadingdone', refresh);\n };\n }, [onAppearanceChange, scroller]);\n}\n"],"mappings":";;;;;AAKA,MAAME,sCAAsB,IAAIC,IAAI;CAClC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAAM,CACP;AAED,SAAOC,uBAAAC,UAAAC,aAAAC,oBAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAF,EAAA,OAAAH,eAAAG,EAAA,OAAAF,sBAAAE,EAAA,OAAAD,UAAAC,EAAA,OAAAJ,UAAAO,eAAA;EAQKD,WAAA;GACR,MAAAE,OAAaR,UAAQO;GACrB,IAAIC,QAAA,CAASP,aAAW;IACtBC,qBAAqB;IAErBC,SAAS;IACTP,0BAA0BY,IAAI;GAAC;EAChC;EACFJ,EAAA,KAAAH;EAAAG,EAAA,KAAAF;EAAAE,EAAA,KAAAD;EAAAC,EAAA,KAAAJ,UAAAO;EAAAH,EAAA,KAAAE;CAAA,OAAAA,KAAAF,EAAA;CARDT,UAAUW,EAQT;CAAC,IAAAG;CAAA,IAAAL,EAAA,OAAAF,sBAAAE,EAAA,OAAAJ,UAAAO,eAAA;EAEQE,WAAA;GACR,MAAAC,SAAaV,UAAQO;GACrB,IAAI,CAACC,QAAI;GAET,MAAAG,gBAAgB;IACdT,qBAAqB;IACrBN,0BAA0BY,MAAI;GAAC;GAEjCI,OAAMC,iBAAkB,UAAUF,SAAS,EAAAG,SAAW,KAAK,CAAC;GAC5D,MAAAC,WAAiB,IAAIC,kBAAiBC,YAAA;IACpC,IACEA,QAAOC,MACLC,OAAA;KAAC,MAAA,EAAAC,WAAAD;KAAU,OACTC,WAAWZ,UAAX,CACCA,OAAIa,SAAUD,MAAM,KACpBA,kBAAkBE,eACjBzB,oBAAmB0B,IAAKH,OAAMI,QAAQC,WAAd,EAA4B;IAAE,CAC5D,GAIAd,QAAQ;GACT,CACF;GACDe,SAAQC,OAAwBd,iBAAC,eAAeF,OAAO;GACvDI,SAAQa,QAASpB,QAAM;IAAAqB,YAAc;IAAIC,SAAW;GAAK,CAAC;GAC1D,KAAA,IAAAC,SACevB,OAAID,eACjBwB,QAFFA,SAGWA,OAAMxB,eAEfQ,SAAQa,QAASG,QAAQ,EAAAF,YAAc,KAAK,CAAC;GAC9C,aACM;IACLd,SAAQiB,WAAY;IACpBpB,OAAMqB,oBAAqB,UAAUtB,OAAO;IAC5Ce,SAAQC,OAA2BM,oBAAC,eAAetB,OAAO;GAAC;EAC5D;EACFP,EAAA,KAAAF;EAAAE,EAAA,KAAAJ,UAAAO;EAAAH,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,OAAAF,sBAAAE,EAAA,OAAAJ,UAAA;EAAEmB,KAAA,CAACjB,oBAAoBF,QAAQ;EAACI,EAAA,KAAAF;EAAAE,EAAA,KAAAJ;EAAAI,EAAA,MAAAe;CAAA,OAAAA,KAAAf,EAAA;CAtCjCT,UAAUc,IAsCPU,EAA8B;AAAC"}
@@ -1,11 +1,10 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.197.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.198.1 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useI18n } from "../../../i18n/useI18n.js";
4
4
  import { c } from "react/compiler-runtime";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import { Item, useTreeState } from "react-stately";
7
7
  import { useControlledState } from "@react-stately/utils";
8
-
9
8
  //#region src/components/data/TableBase/use-table-tree-state.tsx
10
9
  /**
11
10
  * Current React Stately's legacy TreeCollection omits `getChildren`, while
@@ -187,7 +186,7 @@ function _temp2(node_1) {
187
186
  return node_1?.type === "item";
188
187
  }
189
188
  function _temp() {}
190
-
191
189
  //#endregion
192
190
  export { useTableTreeState };
191
+
193
192
  //# sourceMappingURL=use-table-tree-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-tree-state.js","names":["useControlledState","Item","useTreeState","useEvent","useI18n","Key","Node","ReactElement","TreeState","TableTreeNode","CubeTableRowExpandInfo","UseTableTreeStateOptions","roots","T","allNodesByKey","Map","expandedKeys","defaultExpandedKeys","forcedExpandedKeys","ReadonlySet","disabledKeys","getTextValue","node","onExpand","keys","info","ariaLabel","TableTreeStateResult","state","ariaProps","Record","visibleNodes","visibleEntries","Set","withGetChildren","collection","getChildren","patched","Object","create","key","getItem","Array","from","childNodes","useTableTreeState","options","$","_c","controlledExpandedKeys","t","t0","undefined","controlledSet","t1","t2","defaultSet","baseExpandedKeys","setBaseExpandedKeys","effectiveExpandedKeys","forEach","add","t3","next","toggledKey","expanded","key_0","has","key_1","nextBase","delete","get","row","rowKey","level","parentKey","handleExpandedChange","t4","node_0","children","renderItem","t5","t6","t7","items","selectionMode","const","onExpandedChange","disabledBehavior","onAction","_temp","baseState","t8","getKeys","key_2","filter","_temp2","t9","map","_temp3","_temp4","t10","node_3","node_2","value","node_1","type"],"sources":["../../../../src/components/data/TableBase/use-table-tree-state.tsx"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\nimport { Item, useTreeState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal/hooks';\nimport { useI18n } from '../../../i18n';\n\nimport type { Key, Node } from '@react-types/shared';\nimport type { ReactElement } from 'react';\nimport type { TreeState } from 'react-stately';\nimport type { TableTreeNode } from './table-tree';\nimport type { CubeTableRowExpandInfo } from './types';\n\nexport interface UseTableTreeStateOptions<T> {\n roots: TableTreeNode<T>[];\n allNodesByKey: Map<Key, TableTreeNode<T>>;\n expandedKeys?: Key[];\n defaultExpandedKeys?: Key[];\n forcedExpandedKeys?: ReadonlySet<Key>;\n disabledKeys?: Key[];\n getTextValue: (node: TableTreeNode<T>) => string;\n onExpand?: (keys: Key[], info: CubeTableRowExpandInfo<T>) => void;\n ariaLabel?: string;\n}\n\nexport interface TableTreeStateResult<T> {\n state: TreeState<TableTreeNode<T>>;\n /** Props consumed by `useTree` on the actual `<table>`. */\n ariaProps: Record<string, any>;\n visibleNodes: Node<TableTreeNode<T>>[];\n visibleEntries: TableTreeNode<T>[];\n expandedKeys: Set<Key>;\n}\n\n/**\n * Current React Stately's legacy TreeCollection omits `getChildren`, while\n * `useTreeItem` needs it for level/set-size/expanded metadata.\n */\nfunction withGetChildren<T>(state: TreeState<T>): TreeState<T> {\n const collection = state.collection;\n if (typeof (collection as any).getChildren === 'function') return state;\n\n const patched = Object.create(collection);\n patched.getChildren = (key: Key) => {\n const node = collection.getItem(key);\n return node ? Array.from(node.childNodes) : [];\n };\n\n return { ...state, collection: patched };\n}\n\nexport function useTableTreeState<T>(\n options: UseTableTreeStateOptions<T>,\n): TableTreeStateResult<T> {\n const {\n roots,\n allNodesByKey,\n expandedKeys: controlledExpandedKeys,\n defaultExpandedKeys,\n forcedExpandedKeys,\n disabledKeys,\n getTextValue,\n onExpand,\n ariaLabel,\n } = options;\n const { t } = useI18n();\n\n const controlledSet =\n controlledExpandedKeys === undefined\n ? undefined\n : new Set<Key>(controlledExpandedKeys);\n const defaultSet = new Set<Key>(defaultExpandedKeys ?? []);\n const [baseExpandedKeys, setBaseExpandedKeys] = useControlledState<Set<Key>>(\n controlledSet as Set<Key>,\n defaultSet,\n );\n\n const effectiveExpandedKeys = new Set(baseExpandedKeys);\n forcedExpandedKeys?.forEach((key) => effectiveExpandedKeys.add(key));\n\n const handleExpandedChange = useEvent((next: Set<Key>) => {\n let toggledKey: Key | null = null;\n let expanded = false;\n\n for (const key of next) {\n if (!effectiveExpandedKeys.has(key)) {\n toggledKey = key;\n expanded = true;\n break;\n }\n }\n\n if (toggledKey == null) {\n for (const key of effectiveExpandedKeys) {\n if (!next.has(key)) {\n toggledKey = key;\n expanded = false;\n break;\n }\n }\n }\n\n if (toggledKey == null) return;\n\n // Search-owned expansions are derived and cannot be collapsed until the\n // search clears. Crucially, they never leak into the consumer's state.\n if (!expanded && forcedExpandedKeys?.has(toggledKey)) return;\n\n const nextBase = new Set(baseExpandedKeys);\n if (expanded) nextBase.add(toggledKey);\n else nextBase.delete(toggledKey);\n setBaseExpandedKeys(nextBase);\n\n const node = allNodesByKey.get(toggledKey);\n if (!node) return;\n\n onExpand?.([...nextBase], {\n row: node.row,\n rowKey: node.key,\n level: node.level,\n parentKey: node.parentKey,\n expanded,\n });\n });\n\n const renderItem = useEvent(\n (node: TableTreeNode<T>): ReactElement => (\n <Item\n key={node.key}\n textValue={getTextValue(node)}\n childItems={node.children}\n >\n {getTextValue(node)}\n </Item>\n ),\n );\n\n const ariaProps = {\n items: roots,\n children: renderItem as any,\n selectionMode: 'none' as const,\n expandedKeys: effectiveExpandedKeys,\n onExpandedChange: handleExpandedChange,\n disabledKeys,\n disabledBehavior: 'all' as const,\n // Prevent `useTreeItem` from treating a row press as an implicit toggle.\n // Tables keep row activation and expansion as separate interactions.\n onAction: () => {},\n 'aria-label': ariaLabel ?? t('itemTable.table', 'Table'),\n };\n\n const baseState = useTreeState<TableTreeNode<T>>(ariaProps);\n const state = withGetChildren(baseState);\n\n const visibleNodes = Array.from(state.collection.getKeys(), (key) =>\n state.collection.getItem(key),\n ).filter((node): node is Node<TableTreeNode<T>> => node?.type === 'item');\n\n const visibleEntries = visibleNodes\n .map((node) => node.value)\n .filter((node): node is TableTreeNode<T> => node != null);\n\n return {\n state,\n ariaProps,\n visibleNodes,\n visibleEntries,\n expandedKeys: effectiveExpandedKeys,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-table-tree-state.js","names":["useControlledState","Item","useTreeState","useEvent","useI18n","Key","Node","ReactElement","TreeState","TableTreeNode","CubeTableRowExpandInfo","UseTableTreeStateOptions","roots","T","allNodesByKey","Map","expandedKeys","defaultExpandedKeys","forcedExpandedKeys","ReadonlySet","disabledKeys","getTextValue","node","onExpand","keys","info","ariaLabel","TableTreeStateResult","state","ariaProps","Record","visibleNodes","visibleEntries","Set","withGetChildren","collection","getChildren","patched","Object","create","key","getItem","Array","from","childNodes","useTableTreeState","options","$","_c","controlledExpandedKeys","t","t0","undefined","controlledSet","t1","t2","defaultSet","baseExpandedKeys","setBaseExpandedKeys","effectiveExpandedKeys","forEach","add","t3","next","toggledKey","expanded","key_0","has","key_1","nextBase","delete","get","row","rowKey","level","parentKey","handleExpandedChange","t4","node_0","children","renderItem","t5","t6","t7","items","selectionMode","const","onExpandedChange","disabledBehavior","onAction","_temp","baseState","t8","getKeys","key_2","filter","_temp2","t9","map","_temp3","_temp4","t10","node_3","node_2","value","node_1","type","_c","defaultSet"],"sources":["../../../../src/components/data/TableBase/use-table-tree-state.tsx"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\nimport { Item, useTreeState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal/hooks';\nimport { useI18n } from '../../../i18n';\n\nimport type { Key, Node } from '@react-types/shared';\nimport type { ReactElement } from 'react';\nimport type { TreeState } from 'react-stately';\nimport type { TableTreeNode } from './table-tree';\nimport type { CubeTableRowExpandInfo } from './types';\n\nexport interface UseTableTreeStateOptions<T> {\n roots: TableTreeNode<T>[];\n allNodesByKey: Map<Key, TableTreeNode<T>>;\n expandedKeys?: Key[];\n defaultExpandedKeys?: Key[];\n forcedExpandedKeys?: ReadonlySet<Key>;\n disabledKeys?: Key[];\n getTextValue: (node: TableTreeNode<T>) => string;\n onExpand?: (keys: Key[], info: CubeTableRowExpandInfo<T>) => void;\n ariaLabel?: string;\n}\n\nexport interface TableTreeStateResult<T> {\n state: TreeState<TableTreeNode<T>>;\n /** Props consumed by `useTree` on the actual `<table>`. */\n ariaProps: Record<string, any>;\n visibleNodes: Node<TableTreeNode<T>>[];\n visibleEntries: TableTreeNode<T>[];\n expandedKeys: Set<Key>;\n}\n\n/**\n * Current React Stately's legacy TreeCollection omits `getChildren`, while\n * `useTreeItem` needs it for level/set-size/expanded metadata.\n */\nfunction withGetChildren<T>(state: TreeState<T>): TreeState<T> {\n const collection = state.collection;\n if (typeof (collection as any).getChildren === 'function') return state;\n\n const patched = Object.create(collection);\n patched.getChildren = (key: Key) => {\n const node = collection.getItem(key);\n return node ? Array.from(node.childNodes) : [];\n };\n\n return { ...state, collection: patched };\n}\n\nexport function useTableTreeState<T>(\n options: UseTableTreeStateOptions<T>,\n): TableTreeStateResult<T> {\n const {\n roots,\n allNodesByKey,\n expandedKeys: controlledExpandedKeys,\n defaultExpandedKeys,\n forcedExpandedKeys,\n disabledKeys,\n getTextValue,\n onExpand,\n ariaLabel,\n } = options;\n const { t } = useI18n();\n\n const controlledSet =\n controlledExpandedKeys === undefined\n ? undefined\n : new Set<Key>(controlledExpandedKeys);\n const defaultSet = new Set<Key>(defaultExpandedKeys ?? []);\n const [baseExpandedKeys, setBaseExpandedKeys] = useControlledState<Set<Key>>(\n controlledSet as Set<Key>,\n defaultSet,\n );\n\n const effectiveExpandedKeys = new Set(baseExpandedKeys);\n forcedExpandedKeys?.forEach((key) => effectiveExpandedKeys.add(key));\n\n const handleExpandedChange = useEvent((next: Set<Key>) => {\n let toggledKey: Key | null = null;\n let expanded = false;\n\n for (const key of next) {\n if (!effectiveExpandedKeys.has(key)) {\n toggledKey = key;\n expanded = true;\n break;\n }\n }\n\n if (toggledKey == null) {\n for (const key of effectiveExpandedKeys) {\n if (!next.has(key)) {\n toggledKey = key;\n expanded = false;\n break;\n }\n }\n }\n\n if (toggledKey == null) return;\n\n // Search-owned expansions are derived and cannot be collapsed until the\n // search clears. Crucially, they never leak into the consumer's state.\n if (!expanded && forcedExpandedKeys?.has(toggledKey)) return;\n\n const nextBase = new Set(baseExpandedKeys);\n if (expanded) nextBase.add(toggledKey);\n else nextBase.delete(toggledKey);\n setBaseExpandedKeys(nextBase);\n\n const node = allNodesByKey.get(toggledKey);\n if (!node) return;\n\n onExpand?.([...nextBase], {\n row: node.row,\n rowKey: node.key,\n level: node.level,\n parentKey: node.parentKey,\n expanded,\n });\n });\n\n const renderItem = useEvent((node: TableTreeNode<T>): ReactElement => (\n <Item\n key={node.key}\n textValue={getTextValue(node)}\n childItems={node.children}\n >\n {getTextValue(node)}\n </Item>\n ));\n\n const ariaProps = {\n items: roots,\n children: renderItem as any,\n selectionMode: 'none' as const,\n expandedKeys: effectiveExpandedKeys,\n onExpandedChange: handleExpandedChange,\n disabledKeys,\n disabledBehavior: 'all' as const,\n // Prevent `useTreeItem` from treating a row press as an implicit toggle.\n // Tables keep row activation and expansion as separate interactions.\n onAction: () => {},\n 'aria-label': ariaLabel ?? t('itemTable.table', 'Table'),\n };\n\n const baseState = useTreeState<TableTreeNode<T>>(ariaProps);\n const state = withGetChildren(baseState);\n\n const visibleNodes = Array.from(state.collection.getKeys(), (key) =>\n state.collection.getItem(key),\n ).filter((node): node is Node<TableTreeNode<T>> => node?.type === 'item');\n\n const visibleEntries = visibleNodes\n .map((node) => node.value)\n .filter((node): node is TableTreeNode<T> => node != null);\n\n return {\n state,\n ariaProps,\n visibleNodes,\n visibleEntries,\n expandedKeys: effectiveExpandedKeys,\n };\n}\n"],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
 
2
2
  import { CubeTableAlign, CubeTableCellContext, CubeTableColumn, CubeTableColumnHeader, CubeTableHeaderContext, CubeTableLayoutProps, CubeTableRowContext, CubeTableRowExpandInfo, CubeTableRowSection, CubeTableRowSize, CubeTableSort, CubeTableSortDirection, CubeTableTreeProps, CubeTableTreeRowState } from "./TableBase/types.js";
3
3
  import { CubeDataTableColumn, CubeDataTableColumnDefinition, CubeDataTableColumnGroup, CubeDataTableProps } from "./DataTable/types.js";
4
- import { _DataTable } from "./DataTable/DataTable.js";
4
+ import { DataTable as _DataTable } from "./DataTable/DataTable.js";
5
5
  import "./DataTable/index.js";
6
6
  import { CubeTableRowRenderProps } from "./TableBase/TableView.js";
7
7
  import { CubeItemTableColumn, CubeItemTableProps } from "./ItemTable/types.js";
8
- import { _ItemTable } from "./ItemTable/ItemTable.js";
8
+ import { ItemTable as _ItemTable, ItemTableComponent } from "./ItemTable/ItemTable.js";
9
9
  import "./ItemTable/index.js";
10
10
  import { COLUMN_MENU_SORT_KEYS, CubeColumnMenuSortKey, columnSortMenu } from "./TableBase/column-menu.js";
11
- import "./TableBase/index.js";
11
+ import "./TableBase/index.js";
12
+ export { COLUMN_MENU_SORT_KEYS, type CubeColumnMenuSortKey, type CubeDataTableColumn, type CubeDataTableColumnDefinition, type CubeDataTableColumnGroup, type CubeDataTableProps, type CubeItemTableColumn, type CubeItemTableProps, type CubeTableAlign, type CubeTableCellContext, type CubeTableColumn, type CubeTableColumnHeader, type CubeTableHeaderContext, type CubeTableLayoutProps, type CubeTableRowContext, type CubeTableRowExpandInfo, type CubeTableRowRenderProps, type CubeTableRowSection, type CubeTableRowSize, type CubeTableSort, type CubeTableSortDirection, type CubeTableTreeProps, type CubeTableTreeRowState, _DataTable as DataTable, _ItemTable as ItemTable, type ItemTableComponent, columnSortMenu };
@@ -2,14 +2,11 @@
2
2
  import { FieldBaseProps, ToggleSelectionProps } from "../../../shared/form.js";
3
3
  import "../../../shared/index.js";
4
4
  import { CubeTooltipProviderProps } from "../../overlays/Tooltip/TooltipProvider.js";
5
- import { CubeCheckboxGroupProps, _CheckboxGroup } from "./CheckboxGroup.js";
5
+ import { CheckboxGroup as _CheckboxGroup, CubeCheckboxGroupProps } from "./CheckboxGroup.js";
6
6
  import { BaseProps, ContainerStyleProps, Styles } from "@tenphi/tasty";
7
- import * as react from "react";
8
7
  import { AriaCheckboxProps, useCheckbox } from "react-aria";
9
- import * as _react_types_shared0 from "@react-types/shared";
10
-
11
8
  //#region src/components/fields/Checkbox/Checkbox.d.ts
12
- interface CubeCheckboxProps extends BaseProps, ContainerStyleProps, Omit<AriaCheckboxProps, 'form' | 'name'>, ToggleSelectionProps, FieldBaseProps<boolean | null | undefined> {
9
+ export interface CubeCheckboxProps extends BaseProps, ContainerStyleProps, Omit<AriaCheckboxProps, 'form' | 'name'>, ToggleSelectionProps, FieldBaseProps<boolean | null | undefined> {
13
10
  inputStyles?: Styles;
14
11
  isIndeterminate?: boolean;
15
12
  value?: string;
@@ -21,17 +18,17 @@ interface CubeCheckboxProps extends BaseProps, ContainerStyleProps, Omit<AriaChe
21
18
  */
22
19
  tooltip?: string | Omit<CubeTooltipProviderProps, 'children'>;
23
20
  }
24
- declare let __Checkbox: react.ForwardRefExoticComponent<Omit<CubeCheckboxProps, "isSelected" | "defaultSelected"> & {
21
+ declare let __Checkbox: import("react").ForwardRefExoticComponent<Omit<CubeCheckboxProps, "isSelected" | "defaultSelected"> & {
25
22
  isSelected?: any;
26
23
  defaultSelected?: any;
27
- } & react.RefAttributes<_react_types_shared0.FocusableRefValue<HTMLElement, HTMLElement>>> & {
24
+ } & import("react").RefAttributes<import("@react-types/shared").FocusableRefValue<HTMLElement, HTMLElement>>> & {
28
25
  Group: typeof _CheckboxGroup;
29
26
  } & {
30
- Group: react.ForwardRefExoticComponent<Omit<CubeCheckboxGroupProps, "value" | "defaultValue"> & {
27
+ Group: import("react").ForwardRefExoticComponent<Omit<CubeCheckboxGroupProps, "value" | "defaultValue"> & {
31
28
  value?: any;
32
29
  defaultValue?: any;
33
- } & react.RefAttributes<unknown>>;
30
+ } & import("react").RefAttributes<unknown>>;
34
31
  };
35
32
  //#endregion
36
- export { type AriaCheckboxProps, CubeCheckboxProps, __Checkbox, useCheckbox };
33
+ export { type AriaCheckboxProps, __Checkbox as Checkbox, useCheckbox };
37
34
  //# sourceMappingURL=Checkbox.d.ts.map