@mortenbrudvik/waveui 0.14.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/README.md +413 -53
  2. package/dist/components/data-display/InfoButton.cjs +1 -1
  3. package/dist/components/data-display/InfoButton.cjs.map +1 -1
  4. package/dist/components/data-display/InfoButton.mjs +90 -82
  5. package/dist/components/data-display/InfoButton.mjs.map +1 -1
  6. package/dist/components/data-display/InfoLabel.cjs +1 -1
  7. package/dist/components/data-display/InfoLabel.cjs.map +1 -1
  8. package/dist/components/data-display/InfoLabel.mjs +19 -18
  9. package/dist/components/data-display/InfoLabel.mjs.map +1 -1
  10. package/dist/components/data-display/List.cjs +1 -1
  11. package/dist/components/data-display/List.cjs.map +1 -1
  12. package/dist/components/data-display/List.mjs +405 -219
  13. package/dist/components/data-display/List.mjs.map +1 -1
  14. package/dist/components/data-display/List.registry.cjs +1 -1
  15. package/dist/components/data-display/List.registry.cjs.map +1 -1
  16. package/dist/components/data-display/List.registry.mjs +12 -6
  17. package/dist/components/data-display/List.registry.mjs.map +1 -1
  18. package/dist/components/feedback/MessageBarGroup.cjs +2 -0
  19. package/dist/components/feedback/MessageBarGroup.cjs.map +1 -0
  20. package/dist/components/feedback/MessageBarGroup.mjs +63 -0
  21. package/dist/components/feedback/MessageBarGroup.mjs.map +1 -0
  22. package/dist/components/feedback/ProgressBar.cjs +1 -1
  23. package/dist/components/feedback/ProgressBar.cjs.map +1 -1
  24. package/dist/components/feedback/ProgressBar.mjs +41 -39
  25. package/dist/components/feedback/ProgressBar.mjs.map +1 -1
  26. package/dist/components/feedback/Toaster.cjs +1 -1
  27. package/dist/components/feedback/Toaster.cjs.map +1 -1
  28. package/dist/components/feedback/Toaster.mjs +222 -216
  29. package/dist/components/feedback/Toaster.mjs.map +1 -1
  30. package/dist/components/input/Combobox.cjs +1 -1
  31. package/dist/components/input/Combobox.cjs.map +1 -1
  32. package/dist/components/input/Combobox.mjs +163 -148
  33. package/dist/components/input/Combobox.mjs.map +1 -1
  34. package/dist/components/input/Dropdown.cjs +1 -1
  35. package/dist/components/input/Dropdown.cjs.map +1 -1
  36. package/dist/components/input/Dropdown.mjs +132 -117
  37. package/dist/components/input/Dropdown.mjs.map +1 -1
  38. package/dist/components/input/Listbox.cjs +1 -1
  39. package/dist/components/input/Listbox.cjs.map +1 -1
  40. package/dist/components/input/Listbox.mjs +90 -78
  41. package/dist/components/input/Listbox.mjs.map +1 -1
  42. package/dist/components/input/Option.cjs +1 -1
  43. package/dist/components/input/Option.cjs.map +1 -1
  44. package/dist/components/input/Option.data.cjs +2 -0
  45. package/dist/components/input/Option.data.cjs.map +1 -0
  46. package/dist/components/input/Option.data.mjs +114 -0
  47. package/dist/components/input/Option.data.mjs.map +1 -0
  48. package/dist/components/input/Option.mjs +21 -17
  49. package/dist/components/input/Option.mjs.map +1 -1
  50. package/dist/components/layout/Accordion.cjs +1 -1
  51. package/dist/components/layout/Accordion.cjs.map +1 -1
  52. package/dist/components/layout/Accordion.mjs +124 -109
  53. package/dist/components/layout/Accordion.mjs.map +1 -1
  54. package/dist/components/layout/Carousel.cjs +1 -1
  55. package/dist/components/layout/Carousel.cjs.map +1 -1
  56. package/dist/components/layout/Carousel.mjs +207 -193
  57. package/dist/components/layout/Carousel.mjs.map +1 -1
  58. package/dist/components/layout/FlatTree.cjs +2 -0
  59. package/dist/components/layout/FlatTree.cjs.map +1 -0
  60. package/dist/components/layout/FlatTree.context.cjs +2 -0
  61. package/dist/components/layout/FlatTree.context.cjs.map +1 -0
  62. package/dist/components/layout/FlatTree.context.mjs +20 -0
  63. package/dist/components/layout/FlatTree.context.mjs.map +1 -0
  64. package/dist/components/layout/FlatTree.item.cjs +2 -0
  65. package/dist/components/layout/FlatTree.item.cjs.map +1 -0
  66. package/dist/components/layout/FlatTree.item.mjs +90 -0
  67. package/dist/components/layout/FlatTree.item.mjs.map +1 -0
  68. package/dist/components/layout/FlatTree.mjs +276 -0
  69. package/dist/components/layout/FlatTree.mjs.map +1 -0
  70. package/dist/components/layout/TabList.cjs +1 -1
  71. package/dist/components/layout/TabList.cjs.map +1 -1
  72. package/dist/components/layout/TabList.mjs +149 -108
  73. package/dist/components/layout/TabList.mjs.map +1 -1
  74. package/dist/components/layout/Tree.cjs.map +1 -1
  75. package/dist/components/layout/Tree.context.cjs +1 -1
  76. package/dist/components/layout/Tree.context.cjs.map +1 -1
  77. package/dist/components/layout/Tree.context.mjs +2 -1
  78. package/dist/components/layout/Tree.context.mjs.map +1 -1
  79. package/dist/components/layout/Tree.core.cjs +1 -1
  80. package/dist/components/layout/Tree.core.cjs.map +1 -1
  81. package/dist/components/layout/Tree.core.mjs +162 -148
  82. package/dist/components/layout/Tree.core.mjs.map +1 -1
  83. package/dist/components/layout/Tree.mjs.map +1 -1
  84. package/dist/components/layout/Tree.selection.cjs +1 -1
  85. package/dist/components/layout/Tree.selection.cjs.map +1 -1
  86. package/dist/components/layout/Tree.selection.mjs +11 -57
  87. package/dist/components/layout/Tree.selection.mjs.map +1 -1
  88. package/dist/components/layout/useFlatTree.cjs +2 -0
  89. package/dist/components/layout/useFlatTree.cjs.map +1 -0
  90. package/dist/components/layout/useFlatTree.mjs +83 -0
  91. package/dist/components/layout/useFlatTree.mjs.map +1 -0
  92. package/dist/components/navigation/Menu.popover.cjs +1 -1
  93. package/dist/components/navigation/Menu.popover.cjs.map +1 -1
  94. package/dist/components/navigation/Menu.popover.mjs +154 -168
  95. package/dist/components/navigation/Menu.popover.mjs.map +1 -1
  96. package/dist/components/navigation/Nav.cjs +1 -1
  97. package/dist/components/navigation/Nav.cjs.map +1 -1
  98. package/dist/components/navigation/Nav.mjs +156 -136
  99. package/dist/components/navigation/Nav.mjs.map +1 -1
  100. package/dist/components/navigation/NavDrawer.cjs +1 -1
  101. package/dist/components/navigation/NavDrawer.cjs.map +1 -1
  102. package/dist/components/navigation/NavDrawer.mjs +48 -45
  103. package/dist/components/navigation/NavDrawer.mjs.map +1 -1
  104. package/dist/components/overlays/Dialog.cjs +1 -1
  105. package/dist/components/overlays/Dialog.cjs.map +1 -1
  106. package/dist/components/overlays/Dialog.mjs +128 -122
  107. package/dist/components/overlays/Dialog.mjs.map +1 -1
  108. package/dist/components/overlays/Dialog.slots.cjs +1 -1
  109. package/dist/components/overlays/Dialog.slots.cjs.map +1 -1
  110. package/dist/components/overlays/Dialog.slots.mjs +12 -12
  111. package/dist/components/overlays/Dialog.slots.mjs.map +1 -1
  112. package/dist/components/overlays/Drawer.cjs.map +1 -1
  113. package/dist/components/overlays/Drawer.mjs.map +1 -1
  114. package/dist/components/overlays/Drawer.panel.cjs +1 -1
  115. package/dist/components/overlays/Drawer.panel.cjs.map +1 -1
  116. package/dist/components/overlays/Drawer.panel.mjs +97 -81
  117. package/dist/components/overlays/Drawer.panel.mjs.map +1 -1
  118. package/dist/components/overlays/Drawer.root.cjs +1 -1
  119. package/dist/components/overlays/Drawer.root.cjs.map +1 -1
  120. package/dist/components/overlays/Drawer.root.mjs +34 -31
  121. package/dist/components/overlays/Drawer.root.mjs.map +1 -1
  122. package/dist/components/overlays/Popover.cjs +1 -1
  123. package/dist/components/overlays/Popover.cjs.map +1 -1
  124. package/dist/components/overlays/Popover.mjs +231 -216
  125. package/dist/components/overlays/Popover.mjs.map +1 -1
  126. package/dist/components/overlays/TeachingPopover.cjs.map +1 -1
  127. package/dist/components/overlays/TeachingPopover.mjs.map +1 -1
  128. package/dist/components/overlays/TeachingPopover.parts.cjs +1 -1
  129. package/dist/components/overlays/TeachingPopover.parts.cjs.map +1 -1
  130. package/dist/components/overlays/TeachingPopover.parts.mjs +199 -177
  131. package/dist/components/overlays/TeachingPopover.parts.mjs.map +1 -1
  132. package/dist/components/overlays/TeachingPopover.root.cjs +1 -1
  133. package/dist/components/overlays/TeachingPopover.root.cjs.map +1 -1
  134. package/dist/components/overlays/TeachingPopover.root.mjs +93 -92
  135. package/dist/components/overlays/TeachingPopover.root.mjs.map +1 -1
  136. package/dist/components/overlays/Tooltip.cjs +1 -1
  137. package/dist/components/overlays/Tooltip.cjs.map +1 -1
  138. package/dist/components/overlays/Tooltip.mjs +66 -61
  139. package/dist/components/overlays/Tooltip.mjs.map +1 -1
  140. package/dist/components/provider/WaveProvider.cjs +1 -1
  141. package/dist/components/provider/WaveProvider.cjs.map +1 -1
  142. package/dist/components/provider/WaveProvider.mjs +26 -23
  143. package/dist/components/provider/WaveProvider.mjs.map +1 -1
  144. package/dist/components/table/DataGrid.cjs +1 -1
  145. package/dist/components/table/DataGrid.cjs.map +1 -1
  146. package/dist/components/table/DataGrid.context.cjs +2 -0
  147. package/dist/components/table/DataGrid.context.cjs.map +1 -0
  148. package/dist/components/table/DataGrid.context.mjs +74 -0
  149. package/dist/components/table/DataGrid.context.mjs.map +1 -0
  150. package/dist/components/table/DataGrid.header.cjs +2 -0
  151. package/dist/components/table/DataGrid.header.cjs.map +1 -0
  152. package/dist/components/table/DataGrid.header.mjs +168 -0
  153. package/dist/components/table/DataGrid.header.mjs.map +1 -0
  154. package/dist/components/table/DataGrid.mjs +488 -591
  155. package/dist/components/table/DataGrid.mjs.map +1 -1
  156. package/dist/components/table/DataGrid.sizing.cjs +2 -0
  157. package/dist/components/table/DataGrid.sizing.cjs.map +1 -0
  158. package/dist/components/table/DataGrid.sizing.mjs +187 -0
  159. package/dist/components/table/DataGrid.sizing.mjs.map +1 -0
  160. package/dist/components/table/DataGrid.store.cjs +2 -0
  161. package/dist/components/table/DataGrid.store.cjs.map +1 -0
  162. package/dist/components/table/DataGrid.store.mjs +108 -0
  163. package/dist/components/table/DataGrid.store.mjs.map +1 -0
  164. package/dist/components/table/DataGrid.window.cjs +2 -0
  165. package/dist/components/table/DataGrid.window.cjs.map +1 -0
  166. package/dist/components/table/DataGrid.window.mjs +165 -0
  167. package/dist/components/table/DataGrid.window.mjs.map +1 -0
  168. package/dist/components/table/Table.cjs +1 -1
  169. package/dist/components/table/Table.cjs.map +1 -1
  170. package/dist/components/table/Table.mjs +74 -72
  171. package/dist/components/table/Table.mjs.map +1 -1
  172. package/dist/components/table/Table.resize.cjs +2 -0
  173. package/dist/components/table/Table.resize.cjs.map +1 -0
  174. package/dist/components/table/Table.resize.mjs +98 -0
  175. package/dist/components/table/Table.resize.mjs.map +1 -0
  176. package/dist/components/table/useGridNavigation.cjs +1 -1
  177. package/dist/components/table/useGridNavigation.cjs.map +1 -1
  178. package/dist/components/table/useGridNavigation.mjs +343 -140
  179. package/dist/components/table/useGridNavigation.mjs.map +1 -1
  180. package/dist/components/table/useTableColumnSizing.cjs +2 -0
  181. package/dist/components/table/useTableColumnSizing.cjs.map +1 -0
  182. package/dist/components/table/useTableColumnSizing.mjs +76 -0
  183. package/dist/components/table/useTableColumnSizing.mjs.map +1 -0
  184. package/dist/components/table/useTableFeatures.cjs +2 -0
  185. package/dist/components/table/useTableFeatures.cjs.map +1 -0
  186. package/dist/components/table/useTableFeatures.mjs +110 -0
  187. package/dist/components/table/useTableFeatures.mjs.map +1 -0
  188. package/dist/components/table/useTableSelection.cjs +2 -0
  189. package/dist/components/table/useTableSelection.cjs.map +1 -0
  190. package/dist/components/table/useTableSelection.mjs +39 -0
  191. package/dist/components/table/useTableSelection.mjs.map +1 -0
  192. package/dist/components/table/useTableSort.cjs +2 -0
  193. package/dist/components/table/useTableSort.cjs.map +1 -0
  194. package/dist/components/table/useTableSort.mjs +58 -0
  195. package/dist/components/table/useTableSort.mjs.map +1 -0
  196. package/dist/hooks/useActiveDescendant.cjs +1 -1
  197. package/dist/hooks/useActiveDescendant.cjs.map +1 -1
  198. package/dist/hooks/useActiveDescendant.mjs +33 -25
  199. package/dist/hooks/useActiveDescendant.mjs.map +1 -1
  200. package/dist/hooks/useCollapsePresence.cjs +2 -0
  201. package/dist/hooks/useCollapsePresence.cjs.map +1 -0
  202. package/dist/hooks/useCollapsePresence.mjs +21 -0
  203. package/dist/hooks/useCollapsePresence.mjs.map +1 -0
  204. package/dist/hooks/useFocusBeforeClose.cjs +2 -0
  205. package/dist/hooks/useFocusBeforeClose.cjs.map +1 -0
  206. package/dist/hooks/useFocusBeforeClose.mjs +33 -0
  207. package/dist/hooks/useFocusBeforeClose.mjs.map +1 -0
  208. package/dist/hooks/useListbox.cjs +1 -1
  209. package/dist/hooks/useListbox.cjs.map +1 -1
  210. package/dist/hooks/useListbox.mjs +140 -130
  211. package/dist/hooks/useListbox.mjs.map +1 -1
  212. package/dist/hooks/useMotion.cjs +2 -0
  213. package/dist/hooks/useMotion.cjs.map +1 -0
  214. package/dist/hooks/useMotion.mjs +14 -0
  215. package/dist/hooks/useMotion.mjs.map +1 -0
  216. package/dist/hooks/usePresenceGroup.cjs +2 -0
  217. package/dist/hooks/usePresenceGroup.cjs.map +1 -0
  218. package/dist/hooks/usePresenceGroup.mjs +68 -0
  219. package/dist/hooks/usePresenceGroup.mjs.map +1 -0
  220. package/dist/hooks/useRovingTabIndex.cjs +1 -1
  221. package/dist/hooks/useRovingTabIndex.cjs.map +1 -1
  222. package/dist/hooks/useRovingTabIndex.mjs +1 -1
  223. package/dist/hooks/useRovingTabIndex.mjs.map +1 -1
  224. package/dist/hooks/useSelection.cjs +2 -0
  225. package/dist/hooks/useSelection.cjs.map +1 -0
  226. package/dist/hooks/useSelection.mjs +57 -0
  227. package/dist/hooks/useSelection.mjs.map +1 -0
  228. package/dist/hooks/useVirtualWindow.cjs +2 -0
  229. package/dist/hooks/useVirtualWindow.cjs.map +1 -0
  230. package/dist/hooks/useVirtualWindow.mjs +102 -0
  231. package/dist/hooks/useVirtualWindow.mjs.map +1 -0
  232. package/dist/index.cjs +1 -1
  233. package/dist/index.d.cts +2249 -179
  234. package/dist/index.d.ts +2249 -179
  235. package/dist/index.mjs +147 -135
  236. package/dist/lib/classNames.cjs +1 -1
  237. package/dist/lib/classNames.cjs.map +1 -1
  238. package/dist/lib/classNames.mjs +125 -95
  239. package/dist/lib/classNames.mjs.map +1 -1
  240. package/dist/lib/columnSizing.cjs +2 -0
  241. package/dist/lib/columnSizing.cjs.map +1 -0
  242. package/dist/lib/columnSizing.mjs +27 -0
  243. package/dist/lib/columnSizing.mjs.map +1 -0
  244. package/dist/lib/flatTree.cjs +2 -0
  245. package/dist/lib/flatTree.cjs.map +1 -0
  246. package/dist/lib/flatTree.mjs +118 -0
  247. package/dist/lib/flatTree.mjs.map +1 -0
  248. package/dist/lib/motion.cjs +2 -0
  249. package/dist/lib/motion.cjs.map +1 -0
  250. package/dist/lib/motion.mjs +43 -0
  251. package/dist/lib/motion.mjs.map +1 -0
  252. package/dist/lib/selection.cjs +2 -0
  253. package/dist/lib/selection.cjs.map +1 -0
  254. package/dist/lib/selection.mjs +28 -0
  255. package/dist/lib/selection.mjs.map +1 -0
  256. package/dist/lib/treeCascade.cjs +2 -0
  257. package/dist/lib/treeCascade.cjs.map +1 -0
  258. package/dist/lib/treeCascade.mjs +52 -0
  259. package/dist/lib/treeCascade.mjs.map +1 -0
  260. package/dist/lib/virtual.cjs +2 -0
  261. package/dist/lib/virtual.cjs.map +1 -0
  262. package/dist/lib/virtual.mjs +54 -0
  263. package/dist/lib/virtual.mjs.map +1 -0
  264. package/dist/styles.css +1 -1
  265. package/package.json +2 -1
@@ -16,21 +16,23 @@ import { joinIds as te } from "../../lib/aria.mjs";
16
16
  import { forcedColors as y } from "../../lib/styles.mjs";
17
17
  import { CheckIcon as ne, ChevronRightIcon as re, SubtractIcon as ie } from "../../lib/icons.mjs";
18
18
  import { isEditableTarget as ae, isOwnEvent as b } from "../../lib/events.mjs";
19
- import { TreeCheckForcedContext as x, TreeContext as oe, TreeItemContext as se, TreeLabelContext as S, TreeParentContext as C, useTreeContext as ce } from "./Tree.context.mjs";
20
- import { collectItems as le, computeCheckStates as w, toggleCheck as ue } from "./Tree.selection.mjs";
19
+ import { useCollapsePresence as oe } from "../../hooks/useCollapsePresence.mjs";
20
+ import { TreeCheckForcedContext as x, TreeContext as se, TreeItemContext as ce, TreeLabelContext as S, TreeParentContext as C, useTreeContext as le } from "./Tree.context.mjs";
21
+ import { computeCheckStates as ue, toggleCheck as de } from "../../lib/treeCascade.mjs";
22
+ import { collectItems as w } from "./Tree.selection.mjs";
21
23
  import * as T from "react";
22
24
  import { jsx as E, jsxs as D } from "react/jsx-runtime";
23
25
  //#region src/components/layout/Tree.core.tsx
24
- var de = [], fe = "Tree.Item was rendered inside the label of another Tree.Item, so it is not part of that item's child group: the parent cannot expand, its name includes the nested text, and a treeitem sits inside a label (axe aria-required-parent). A Tree.Item finds its nested items among its own children (written directly, in Fragments, or returned by a render function such as `children.map(renderNode)`), but not inside a component that renders Tree.Item itself. Build a data-driven tree with a render function instead of a recursive component.";
25
- function pe(e) {
26
+ var fe = [], pe = "Tree.Item was rendered inside the label of another Tree.Item, so it is not part of that item's child group: the parent cannot expand, its name includes the nested text, and a treeitem sits inside a label (axe aria-required-parent). A Tree.Item finds its nested items among its own children (written directly, in Fragments, or returned by a render function such as `children.map(renderNode)`), but not inside a component that renders Tree.Item itself. Build a data-driven tree with a render function instead of a recursive component.";
27
+ function me(e) {
26
28
  i(`Tree:duplicate:${e}`, `Tree: several items share the value "${e}". Item values must be unique within a Tree; items with the same value share their expanded, selected and focus state.`);
27
29
  }
28
- var me = "Tree: `selected` has no effect with selectionMode=\"multiple\"; use `checkedItems`, and `current` for the item the user is on.", he = "Tree: `checkedItems` and `defaultCheckedItems` need selectionMode=\"multiple\"; without it the tree draws no checkboxes and ignores them.", ge = "Tree: selectionMode=\"single\" draws a radio on every item for `selected`; pass `selected` (null while nothing is selected) and update it from `onItemSelect`.";
30
+ var he = "Tree: `selected` has no effect with selectionMode=\"multiple\"; use `checkedItems`, and `current` for the item the user is on.", ge = "Tree: `checkedItems` and `defaultCheckedItems` need selectionMode=\"multiple\"; without it the tree draws no checkboxes and ignores them.", _e = "Tree: selectionMode=\"single\" draws a radio on every item for `selected`; pass `selected` (null while nothing is selected) and update it from `onItemSelect`.";
29
31
  function O(e) {
30
32
  return e ? Array.from(e, (e) => e.current).filter((e) => e !== null).sort((e, t) => !e.element || !t.element || e.element === t.element ? 0 : e.element.compareDocumentPosition(t.element) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1).map((e) => e.node) : [];
31
33
  }
32
- var k = "[role=\"treeitem\"]", A = "button, [href], input, select, textarea, [role=\"button\"], [tabindex]", _e = "[&:focus-within:not(:has(>[role=group]_:focus))>[data-tree-row]_[data-tree-actions]]:visible", ve = "[@media(hover:hover)]:not-forced-colors:[&:focus-within:not(:has(>[role=group]_:focus))>[data-tree-row]_[data-tree-aside]]:invisible", j = "invisible group-hover/row:visible focus-within:visible forced-colors:visible [@media(hover:none)]:visible has-[[aria-expanded=true]]:visible data-[focus-in-popup]:visible", ye = "not-forced-colors:group-hover/row:invisible [@media(hover:hover)]:not-forced-colors:group-focus-within/end:invisible [@media(hover:hover)]:not-forced-colors:group-has-[[aria-expanded=true]]/end:invisible [@media(hover:hover)]:not-forced-colors:group-has-[[data-focus-in-popup]]/end:invisible", be = "[&>*]:[grid-area:1/1] forced-colors:flex [@media(hover:none)]:flex";
33
- function xe(e) {
34
+ var k = "[role=\"treeitem\"]", A = "button, [href], input, select, textarea, [role=\"button\"], [tabindex]", ve = "[&:focus-within:not(:has(>*>[role=group]_:focus))>[data-tree-row]_[data-tree-actions]]:visible", ye = "[@media(hover:hover)]:not-forced-colors:[&:focus-within:not(:has(>*>[role=group]_:focus))>[data-tree-row]_[data-tree-aside]]:invisible", j = "invisible group-hover/row:visible focus-within:visible forced-colors:visible [@media(hover:none)]:visible has-[[aria-expanded=true]]:visible data-[focus-in-popup]:visible", be = "not-forced-colors:group-hover/row:invisible [@media(hover:hover)]:not-forced-colors:group-focus-within/end:invisible [@media(hover:hover)]:not-forced-colors:group-has-[[aria-expanded=true]]/end:invisible [@media(hover:hover)]:not-forced-colors:group-has-[[data-focus-in-popup]]/end:invisible", xe = "[&>*]:[grid-area:1/1] forced-colors:flex [@media(hover:none)]:flex";
35
+ function M(e) {
34
36
  let t = e.querySelector(":scope > [data-tree-row] [data-tree-actions]");
35
37
  if (!t) return !1;
36
38
  let n = /* @__PURE__ */ new Map();
@@ -43,98 +45,100 @@ function xe(e) {
43
45
  }
44
46
  return !1;
45
47
  }
46
- var M = ({ expandedItems: t, defaultExpandedItems: n, onExpandedItemsChange: a, onItemSelect: o, selected: s, current: u, selectionMode: p = "none", navigationMode: m = "tree", checkedItems: h, defaultCheckedItems: g, onCheckedItemsChange: _, className: te, children: y, onKeyDown: ne, onKeyDownCapture: re, onFocus: ie, onBlur: ae, ref: b, ...se }) => {
47
- let [ce] = T.useState(() => n ?? de), [le, w] = f(t, ce, (e) => a?.([...e])), D = T.useMemo(() => new Set(le), [le]), fe = T.useCallback((e) => {
48
+ var N = ({ expandedItems: t, defaultExpandedItems: n, onExpandedItemsChange: a, onItemSelect: o, selected: s, current: u, selectionMode: p = "none", navigationMode: m = "tree", checkedItems: h, defaultCheckedItems: g, onCheckedItemsChange: _, motion: te, className: y, children: ne, onKeyDown: re, onKeyDownCapture: ie, onFocus: ae, onBlur: b, ref: oe, ...ce }) => {
49
+ let [le] = T.useState(() => n ?? fe), [ue, w] = f(t, le, (e) => a?.([...e])), D = T.useMemo(() => new Set(ue), [ue]), pe = T.useCallback((e) => {
48
50
  w((t) => t.includes(e) ? t.filter((t) => t !== e) : [...t, e]);
49
51
  }, [w]), A = T.useCallback((e) => {
50
52
  w((t) => {
51
53
  let n = e.filter((e) => !t.includes(e));
52
54
  return n.length > 0 ? [...t, ...n] : t;
53
55
  });
54
- }, [w]), _e = d((e) => {
56
+ }, [w]), ve = d((e) => {
55
57
  o?.(e);
56
- }), [ve] = T.useState(() => g ?? de), j = T.useRef(void 0), [ye, be] = f(h, ve, (e) => _?.([...e], j.current)), xe = T.useMemo(() => new Set(ye), [ye]), M = T.useRef(null), Se = T.useCallback((e) => {
57
- M.current ??= /* @__PURE__ */ new Set();
58
- let t = M.current;
58
+ }), [ye] = T.useState(() => g ?? fe), j = T.useRef(void 0), [be, xe] = f(h, ye, (e) => _?.([...e], j.current)), M = T.useMemo(() => new Set(be), [be]), N = T.useRef(null), Se = T.useCallback((e) => {
59
+ N.current ??= /* @__PURE__ */ new Set();
60
+ let t = N.current;
59
61
  return t.add(e), () => {
60
62
  t.delete(e);
61
63
  };
62
64
  }, []), Ce = d((e, t) => {
63
- let n = O(M.current);
64
- be((r) => {
65
- let i = ue(n, r, e);
65
+ let n = O(N.current);
66
+ xe((r) => {
67
+ let i = de(n, r, e);
66
68
  return j.current = {
67
69
  value: e,
68
70
  checked: i.includes(e),
69
71
  event: t
70
72
  }, i;
71
73
  }), j.current = void 0;
72
- }), P = p === "multiple" ? void 0 : p === "single" ? s ?? null : s;
74
+ }), F = p === "multiple" ? void 0 : p === "single" ? s ?? null : s;
73
75
  T.useEffect(() => {
74
- p === "multiple" && s !== void 0 && i("Tree:selected-with-multiple", me);
76
+ p === "multiple" && s !== void 0 && i("Tree:selected-with-multiple", he);
75
77
  }, [p, s]), T.useEffect(() => {
76
- p === "single" && s === void 0 && i("Tree:single-without-selected", ge);
78
+ p === "single" && s === void 0 && i("Tree:single-without-selected", _e);
77
79
  }, [p, s]);
78
- let F = h !== void 0 || g !== void 0;
80
+ let I = h !== void 0 || g !== void 0;
79
81
  T.useEffect(() => {
80
- p !== "multiple" && F && i("Tree:checked-without-multiple", he);
81
- }, [p, F]);
82
- let [I, L] = T.useState(null), R = T.useRef(null), z = T.useCallback((e) => {
82
+ p !== "multiple" && I && i("Tree:checked-without-multiple", ge);
83
+ }, [p, I]);
84
+ let [L, R] = T.useState(null), z = T.useRef(null), B = T.useCallback((e) => {
83
85
  if (!r) return () => {};
84
- R.current ??= /* @__PURE__ */ new Map();
85
- let t = R.current, n = (t.get(e) ?? 0) + 1;
86
- return t.set(e, n), n > 1 && pe(e), () => {
86
+ z.current ??= /* @__PURE__ */ new Map();
87
+ let t = z.current, n = (t.get(e) ?? 0) + 1;
88
+ return t.set(e, n), n > 1 && me(e), () => {
87
89
  let n = (t.get(e) ?? 1) - 1;
88
90
  n > 0 ? t.set(e, n) : t.delete(e);
89
91
  };
90
- }, []), { containerProps: B, getTabIndex: V, focusValue: H } = v({
91
- activeValue: I ?? P ?? null,
92
+ }, []), { containerProps: V, getTabIndex: H, focusValue: U } = v({
93
+ activeValue: L ?? F ?? null,
92
94
  itemSelector: k,
93
95
  orientation: "vertical",
94
96
  loop: !1,
95
97
  typeahead: !0
96
98
  }), we = T.useMemo(() => ({
97
99
  expanded: D,
98
- toggle: fe,
100
+ toggle: pe,
99
101
  expand: A,
100
- activate: _e,
101
- selected: P,
102
+ activate: ve,
103
+ selected: F,
102
104
  current: u,
103
- getTabIndex: V,
104
- focusValue: H,
105
- onItemFocus: L,
106
- focusedItem: I,
105
+ getTabIndex: H,
106
+ focusValue: U,
107
+ onItemFocus: R,
108
+ focusedItem: L,
107
109
  navigationMode: m,
108
- registerValue: z,
110
+ registerValue: B,
109
111
  selectionMode: p,
110
- checked: xe,
112
+ checked: M,
111
113
  toggleChecked: Ce,
112
- registerTopLevel: Se
114
+ registerTopLevel: Se,
115
+ motion: te
113
116
  }), [
114
117
  D,
115
- fe,
118
+ pe,
116
119
  A,
117
- _e,
118
- P,
120
+ ve,
121
+ F,
119
122
  u,
120
- V,
121
123
  H,
122
- I,
124
+ U,
125
+ L,
123
126
  m,
124
- z,
127
+ B,
125
128
  p,
126
- xe,
129
+ M,
127
130
  Ce,
128
- Se
129
- ]), Te = ee(b, B.ref), U = (e) => {
130
- e.key.length === 1 && N(e.currentTarget), B.onKeyDown(e);
131
+ Se,
132
+ te
133
+ ]), Te = ee(oe, V.ref), W = (e) => {
134
+ e.key.length === 1 && P(e.currentTarget), V.onKeyDown(e);
131
135
  }, Ee = (e) => {
132
- e.key === " " && N(e.currentTarget), B.onKeyDownCapture(e);
136
+ e.key === " " && P(e.currentTarget), V.onKeyDownCapture(e);
133
137
  }, De = (e) => {
134
138
  let t = e.relatedTarget;
135
- (!t || !e.currentTarget.contains(t)) && L(null);
139
+ (!t || !e.currentTarget.contains(t)) && R(null);
136
140
  };
137
- return /* @__PURE__ */ E(oe.Provider, {
141
+ return /* @__PURE__ */ E(se.Provider, {
138
142
  value: we,
139
143
  children: /* @__PURE__ */ E(C.Provider, {
140
144
  value: null,
@@ -144,25 +148,25 @@ var M = ({ expandedItems: t, defaultExpandedItems: n, onExpandedItemsChange: a,
144
148
  role: "tree",
145
149
  "data-selection-mode": p,
146
150
  "aria-multiselectable": p === "multiple" || void 0,
147
- className: e(l.root, "text-body-1", te),
148
- ...se,
151
+ className: e(l.root, "text-body-1", y),
152
+ ...ce,
149
153
  "data-roving-container": "",
150
- onKeyDown: c(ne, U),
151
- onKeyDownCapture: c(re, Ee),
152
- onFocus: c(ie, B.onFocus, { checkDefaultPrevented: !1 }),
153
- onBlur: c(ae, De, { checkDefaultPrevented: !1 }),
154
+ onKeyDown: c(re, W),
155
+ onKeyDownCapture: c(ie, Ee),
156
+ onFocus: c(ae, V.onFocus, { checkDefaultPrevented: !1 }),
157
+ onBlur: c(b, De, { checkDefaultPrevented: !1 }),
154
158
  ref: Te,
155
159
  children: /* @__PURE__ */ E(S.Provider, {
156
160
  value: !1,
157
- children: y
161
+ children: ne
158
162
  })
159
163
  })
160
164
  })
161
165
  })
162
166
  });
163
167
  };
164
- M.displayName = "Tree";
165
- function N(e) {
168
+ N.displayName = "Tree";
169
+ function P(e) {
166
170
  e.querySelectorAll("[role=\"treeitem\"]").forEach((e) => {
167
171
  let t = e.querySelector(":scope > [data-tree-row] > [data-tree-label]");
168
172
  if (!t) return;
@@ -176,9 +180,9 @@ function Se(e) {
176
180
  }
177
181
  function Ce(e) {
178
182
  let t = e.target;
179
- return t === e.currentTarget || !t?.closest?.("[data-tree-checkbox], [data-tree-actions]") && t?.closest?.("[data-tree-row]")?.parentElement === e.currentTarget;
183
+ return t === e.currentTarget ? e.detail === 0 || !e.currentTarget.querySelector(":scope > [inert]") : !t?.closest?.("[data-tree-checkbox], [data-tree-actions]") && t?.closest?.("[data-tree-row]")?.parentElement === e.currentTarget;
180
184
  }
181
- var P = ({ labelledBy: t, tabStop: n, navigationMode: r, onReturn: i, children: a }) => {
185
+ var F = ({ labelledBy: t, tabStop: n, navigationMode: r, onReturn: i, children: a }) => {
182
186
  let o = r === "treegrid", { containerProps: { ref: s }, handleKeyDown: c, handleFocus: l } = v({
183
187
  itemSelector: A,
184
188
  manageTabIndex: !0,
@@ -223,58 +227,62 @@ var P = ({ labelledBy: t, tabStop: n, navigationMode: r, onReturn: i, children:
223
227
  children: a
224
228
  });
225
229
  };
226
- P.displayName = "TreeItemActions";
227
- var F = ({ value: r, icon: l, iconAfter: d, expandIcon: f, aside: g, actions: _, leaf: v = !1, className: ae, children: b, onClick: oe, onKeyDown: ue, onFocus: de, onBlur: pe, ref: me, ...he }) => {
228
- let { "data-roving-text": ge, ...O } = he, k = ce("Tree.Item"), A = T.useContext(C), j = T.useContext(S), N = k.expanded.has(r), I = p("tree-item-label"), L = p("tree-item-aside"), R = T.useContext(x), z = T.useRef(null), B = ee(me, z), [V, H] = T.useState(null), we = T.useCallback((e) => (H(e), () => H((t) => t === e ? null : t)), []), Te = T.useMemo(() => ({ registerLayout: we }), [we]), U = V?.nameId ?? I, { registerValue: Ee, registerTopLevel: De } = k;
230
+ F.displayName = "TreeItemActions";
231
+ var I = ({ value: r, icon: l, iconAfter: d, expandIcon: f, aside: g, actions: _, leaf: v = !1, className: ae, children: b, onClick: se, onKeyDown: de, onFocus: fe, onBlur: me, ref: he, ...ge }) => {
232
+ let { "data-roving-text": _e, ...O } = ge, k = le("Tree.Item"), A = T.useContext(C), j = T.useContext(S), P = k.expanded.has(r), L = p("tree-item-label"), R = p("tree-item-aside"), z = T.useContext(x), B = T.useRef(null), V = ee(he, B), [H, U] = T.useState(null), we = T.useCallback((e) => (U(e), () => U((t) => t === e ? null : t)), []), Te = T.useMemo(() => ({ registerLayout: we }), [we]), W = H?.nameId ?? L, { registerValue: Ee, registerTopLevel: De } = k;
229
233
  T.useEffect(() => Ee(r), [Ee, r]), T.useEffect(() => {
230
- j && i("Tree.Item:inside-label", fe);
234
+ j && i("Tree.Item:inside-label", pe);
231
235
  }, [j]);
232
- let W = [], Oe = [], ke;
236
+ let G = [], Oe = [], ke;
233
237
  t(b).forEach(({ key: e, node: t }) => {
234
238
  let r = /* @__PURE__ */ E(T.Fragment, { children: t }, e);
235
- n(t, F) ? (ke ??= t.props.value, W.push(r)) : n(t, M) ? W.push(r) : Oe.push(r);
239
+ n(t, I) ? (ke ??= t.props.value, G.push(r)) : n(t, N) ? G.push(r) : Oe.push(r);
236
240
  });
237
- let Ae = l && s(l) ? o(l, "span", e(u.icon, "inline-flex shrink-0"), { "aria-hidden": !0 }) : null, je = d && s(d) ? o(d, "span", e(u.iconAfter, "inline-flex shrink-0"), { "aria-hidden": !0 }) : null, G = s(g), K = s(_), q = W.length > 0 && !v, Me = /* @__PURE__ */ E("span", {
241
+ let Ae = l && s(l) ? o(l, "span", e(u.icon, "inline-flex shrink-0"), { "aria-hidden": !0 }) : null, je = d && s(d) ? o(d, "span", e(u.iconAfter, "inline-flex shrink-0"), { "aria-hidden": !0 }) : null, K = s(g), q = s(_), J = G.length > 0 && !v, Me = T.useRef(null), { isMounted: Ne, wrapperRef: Pe, presenceProps: Fe, className: Ie } = oe(J && P, {
242
+ motion: k.motion,
243
+ partRef: Me,
244
+ getTrigger: () => B.current
245
+ }), Le = /* @__PURE__ */ E("span", {
238
246
  className: "w-3 shrink-0",
239
247
  "aria-hidden": "true"
240
248
  });
241
- q && f == null ? Me = /* @__PURE__ */ E(re, { className: e(u.expandIcon, "shrink-0 transition-transform motion-reduce:transition-none", N ? "rotate-90" : "wave-rtl:-scale-x-100") }) : q && s(f) && (Me = o(f, "span", e(u.expandIcon, "inline-flex shrink-0"), { "aria-hidden": !0 }));
242
- let J = k.selectionMode === "multiple", Y = T.useMemo(() => J ? {
249
+ J && f == null ? Le = /* @__PURE__ */ E(re, { className: e(u.expandIcon, "shrink-0 transition-transform motion-reduce:transition-none", P ? "rotate-90" : "wave-rtl:-scale-x-100") }) : J && s(f) && (Le = o(f, "span", e(u.expandIcon, "inline-flex shrink-0"), { "aria-hidden": !0 }));
250
+ let Y = k.selectionMode === "multiple", X = T.useMemo(() => Y ? {
243
251
  value: r,
244
- children: v ? [] : le(b, {
245
- item: F,
246
- tree: M
252
+ children: v ? [] : w(b, {
253
+ item: I,
254
+ tree: N
247
255
  })
248
256
  } : null, [
249
- J,
257
+ Y,
250
258
  r,
251
259
  v,
252
260
  b
253
- ]), X = Y ? w([Y], k.checked, R).get(r) : void 0, Ne = T.useRef(null);
261
+ ]), Z = X ? ue([X], k.checked, z).get(r) : void 0, Re = T.useRef(null);
254
262
  T.useLayoutEffect(() => {
255
- Ne.current = Y ? {
256
- node: Y,
257
- element: z.current
263
+ Re.current = X ? {
264
+ node: X,
265
+ element: B.current
258
266
  } : null;
259
267
  });
260
- let Pe = A === null && !j;
261
- T.useLayoutEffect(() => J && Pe ? De(Ne) : void 0, [
262
- J,
263
- Pe,
268
+ let ze = A === null && !j;
269
+ T.useLayoutEffect(() => Y && ze ? De(Re) : void 0, [
270
+ Y,
271
+ ze,
264
272
  De
265
273
  ]);
266
- let Z = k.selected === void 0 ? void 0 : k.selected === r, Fe = k.current !== void 0 && k.current !== null && k.current === r, Q = () => {
267
- q && k.toggle(r), k.activate(r);
268
- }, Ie = (e) => {
269
- Ce(e) && (oe?.(e), e.defaultPrevented || Q());
270
- }, Le = (e) => {
271
- if (!Se(e) || (ue?.(e), e.defaultPrevented || e.altKey || e.ctrlKey || e.metaKey)) return;
274
+ let Q = k.selected === void 0 ? void 0 : k.selected === r, Be = k.current !== void 0 && k.current !== null && k.current === r, Ve = () => {
275
+ J && k.toggle(r), k.activate(r);
276
+ }, He = (e) => {
277
+ Ce(e) && (se?.(e), e.defaultPrevented || Ve());
278
+ }, Ue = (e) => {
279
+ if (!Se(e) || (de?.(e), e.defaultPrevented || e.altKey || e.ctrlKey || e.metaKey)) return;
272
280
  switch (e.key) {
273
281
  case "Enter":
274
- e.preventDefault(), Q();
282
+ e.preventDefault(), Ve();
275
283
  return;
276
284
  case " ":
277
- e.preventDefault(), X === void 0 ? Q() : k.toggleChecked(r, e.nativeEvent);
285
+ e.preventDefault(), Z === void 0 ? Ve() : k.toggleChecked(r, e.nativeEvent);
278
286
  return;
279
287
  case "*": {
280
288
  e.preventDefault();
@@ -288,87 +296,87 @@ var F = ({ value: r, icon: l, iconAfter: d, expandIcon: f, aside: g, actions: _,
288
296
  dir: h(e.currentTarget)
289
297
  });
290
298
  if (t === "next") {
291
- if (e.preventDefault(), q && !N) {
299
+ if (e.preventDefault(), J && !P) {
292
300
  k.toggle(r);
293
301
  return;
294
302
  }
295
- if (k.navigationMode === "treegrid" && xe(e.currentTarget)) return;
296
- q && ke !== void 0 && k.focusValue(ke);
297
- } else t === "prev" && (e.preventDefault(), q && N ? k.toggle(r) : A !== null && k.focusValue(A));
298
- }, $ = T.useRef(null), Re = (e) => e.target.closest("[data-tree-actions]")?.closest("[role=\"treeitem\"]") === e.currentTarget, ze = (e) => {
299
- (e.target === e.currentTarget || Re(e)) && k.onItemFocus(r), Re(e) && ($.current = e.target);
300
- }, Be = (e) => {
301
- Re(e) && (e.relatedTarget !== null || e.target.isConnected) && ($.current = null);
303
+ if (k.navigationMode === "treegrid" && M(e.currentTarget)) return;
304
+ J && ke !== void 0 && k.focusValue(ke);
305
+ } else t === "prev" && (e.preventDefault(), J && P ? k.toggle(r) : A !== null && k.focusValue(A));
306
+ }, $ = T.useRef(null), We = (e) => e.target.closest("[data-tree-actions]")?.closest("[role=\"treeitem\"]") === e.currentTarget, Ge = (e) => {
307
+ (e.target === e.currentTarget || We(e)) && k.onItemFocus(r), We(e) && ($.current = e.target);
308
+ }, Ke = (e) => {
309
+ We(e) && (e.relatedTarget !== null || e.target.isConnected) && ($.current = null);
302
310
  };
303
311
  T.useLayoutEffect(() => {
304
312
  let e = $.current;
305
313
  if (!e) return;
306
- let t = z.current, n = t?.ownerDocument.activeElement;
314
+ let t = B.current, n = t?.ownerDocument.activeElement;
307
315
  n && n !== t.ownerDocument.body ? $.current = null : t && !e.isConnected && ($.current = null, t.focus({ preventScroll: !0 }));
308
316
  });
309
- let Ve = X === void 0 ? null : /* @__PURE__ */ E("span", {
317
+ let qe = Z === void 0 ? null : /* @__PURE__ */ E("span", {
310
318
  role: "checkbox",
311
- "aria-checked": X === "mixed" ? "mixed" : X === "checked",
312
- "aria-labelledby": U,
319
+ "aria-checked": Z === "mixed" ? "mixed" : Z === "checked",
320
+ "aria-labelledby": W,
313
321
  tabIndex: -1,
314
322
  "data-tree-checkbox": "",
315
323
  onMouseDown: (e) => {
316
- e.preventDefault(), z.current?.focus({ preventScroll: !0 });
324
+ e.preventDefault(), B.current?.focus({ preventScroll: !0 });
317
325
  },
318
326
  onClick: (e) => {
319
327
  k.toggleChecked(r, e.nativeEvent);
320
328
  },
321
- className: e(u.indicator, "relative inline-flex size-4 shrink-0 items-center justify-center rounded-xs border transition-colors motion-reduce:transition-none", "before:absolute before:-inset-1", X === "unchecked" ? e("border-stroke-accessible bg-transparent", y.control) : "border-primary bg-primary text-primary-foreground forced-colors:border-[Highlight] forced-colors:bg-[Highlight]"),
322
- children: X === "mixed" ? /* @__PURE__ */ E(ie, {
329
+ className: e(u.indicator, "relative inline-flex size-4 shrink-0 items-center justify-center rounded-xs border transition-colors motion-reduce:transition-none", "before:absolute before:-inset-1", Z === "unchecked" ? e("border-stroke-accessible bg-transparent", y.control) : "border-primary bg-primary text-primary-foreground forced-colors:border-[Highlight] forced-colors:bg-[Highlight]"),
330
+ children: Z === "mixed" ? /* @__PURE__ */ E(ie, {
323
331
  size: 12,
324
332
  className: y.selectedLeaf
325
- }) : X === "checked" ? /* @__PURE__ */ E(ne, {
333
+ }) : Z === "checked" ? /* @__PURE__ */ E(ne, {
326
334
  size: 12,
327
335
  className: y.selectedLeaf
328
336
  }) : null
329
- }), He = k.selectionMode === "single" ? /* @__PURE__ */ E("span", {
337
+ }), Je = k.selectionMode === "single" ? /* @__PURE__ */ E("span", {
330
338
  "aria-hidden": "true",
331
- className: e(u.indicator, "inline-flex size-4 shrink-0 items-center justify-center rounded-full border transition-colors motion-reduce:transition-none", Z ? "border-2 border-primary forced-colors:border-[Highlight]" : e("border-stroke-accessible", y.control)),
332
- children: Z && /* @__PURE__ */ E("span", { className: e("block size-2 rounded-full bg-primary", y.selectedLeaf) })
333
- }) : null, Ue = Ve ?? He, We = R || J && k.checked.has(r);
339
+ className: e(u.indicator, "inline-flex size-4 shrink-0 items-center justify-center rounded-full border transition-colors motion-reduce:transition-none", Q ? "border-2 border-primary forced-colors:border-[Highlight]" : e("border-stroke-accessible", y.control)),
340
+ children: Q && /* @__PURE__ */ E("span", { className: e("block size-2 rounded-full bg-primary", y.selectedLeaf) })
341
+ }) : null, Ye = qe ?? Je, Xe = z || Y && k.checked.has(r);
334
342
  return /* @__PURE__ */ D("div", {
335
343
  role: "treeitem",
336
- "aria-selected": Z,
337
- "aria-current": Fe ? !0 : void 0,
338
- "data-checked": X === "checked" ? "" : void 0,
339
- "data-mixed": X === "mixed" ? "" : void 0,
340
- className: e(u.root, "block outline-none", "[&:focus-visible>[data-tree-row]]:outline-2 [&:focus-visible>[data-tree-row]]:-outline-offset-2 [&:focus-visible>[data-tree-row]]:outline-ring", K && _e, K && G && ve, ae),
344
+ "aria-selected": Q,
345
+ "aria-current": Be ? !0 : void 0,
346
+ "data-checked": Z === "checked" ? "" : void 0,
347
+ "data-mixed": Z === "mixed" ? "" : void 0,
348
+ className: e(u.root, "block outline-none", "[&:focus-visible>[data-tree-row]]:outline-2 [&:focus-visible>[data-tree-row]]:-outline-offset-2 [&:focus-visible>[data-tree-row]]:outline-ring", q && ve, q && K && ye, ae),
341
349
  ...O,
342
- "aria-labelledby": O["aria-labelledby"] ?? (O["aria-label"] === void 0 ? U : void 0),
343
- "aria-describedby": te(O["aria-describedby"], G ? L : void 0, V?.descriptionId),
344
- "aria-expanded": q ? N : void 0,
345
- "aria-checked": X === void 0 ? void 0 : X === "mixed" ? "mixed" : X === "checked",
350
+ "aria-labelledby": O["aria-labelledby"] ?? (O["aria-label"] === void 0 ? W : void 0),
351
+ "aria-describedby": te(O["aria-describedby"], K ? R : void 0, H?.descriptionId),
352
+ "aria-expanded": J ? P : void 0,
353
+ "aria-checked": Z === void 0 ? void 0 : Z === "mixed" ? "mixed" : Z === "checked",
346
354
  tabIndex: k.getTabIndex(r),
347
355
  "data-roving-value": r,
348
- "data-selected": Z ? "" : void 0,
349
- "data-current": Fe ? "" : void 0,
350
- onClick: Ie,
351
- onKeyDown: Le,
352
- onFocus: (e) => c(de, ze, { checkDefaultPrevented: !1 })(e),
353
- onBlur: (e) => c(pe, Be, { checkDefaultPrevented: !1 })(e),
354
- ref: B,
356
+ "data-selected": Q ? "" : void 0,
357
+ "data-current": Be ? "" : void 0,
358
+ onClick: He,
359
+ onKeyDown: Ue,
360
+ onFocus: (e) => c(fe, Ge, { checkDefaultPrevented: !1 })(e),
361
+ onBlur: (e) => c(me, Ke, { checkDefaultPrevented: !1 })(e),
362
+ ref: V,
355
363
  children: [/* @__PURE__ */ D("div", {
356
364
  "data-tree-row": "",
357
- className: e(u.row, "flex cursor-pointer items-center gap-1.5 rounded px-2 py-1 hover:bg-subtle-hover", K && "group/row", Z && e("bg-subtle-selected font-semibold", y.selectedContainer)),
365
+ className: e(u.row, "flex cursor-pointer items-center gap-1.5 rounded px-2 py-1 hover:bg-subtle-hover", q && "group/row", Q && e("bg-subtle-selected font-semibold", y.selectedContainer)),
358
366
  children: [
359
- Me,
360
- Ue,
367
+ Le,
368
+ Ye,
361
369
  Ae,
362
370
  /* @__PURE__ */ E("span", {
363
- id: I,
371
+ id: L,
364
372
  "data-tree-label": "",
365
- "data-roving-text": ge,
366
- className: e(u.label, "truncate", (je || G || K) && "min-w-0"),
373
+ "data-roving-text": _e,
374
+ className: e(u.label, "truncate", (je || K || q) && "min-w-0"),
367
375
  children: /* @__PURE__ */ E(x.Provider, {
368
376
  value: !1,
369
377
  children: /* @__PURE__ */ E(S.Provider, {
370
378
  value: !0,
371
- children: /* @__PURE__ */ E(se.Provider, {
379
+ children: /* @__PURE__ */ E(ce.Provider, {
372
380
  value: Te,
373
381
  children: Oe
374
382
  })
@@ -376,16 +384,16 @@ var F = ({ value: r, icon: l, iconAfter: d, expandIcon: f, aside: g, actions: _,
376
384
  })
377
385
  }),
378
386
  je,
379
- (G || K) && /* @__PURE__ */ D("span", {
387
+ (K || q) && /* @__PURE__ */ D("span", {
380
388
  "data-tree-end": "",
381
- className: e("group/end ms-auto inline-grid shrink-0 items-center gap-1", G && K && be),
382
- children: [G && /* @__PURE__ */ E("span", {
383
- id: L,
389
+ className: e("group/end ms-auto inline-grid shrink-0 items-center gap-1", K && q && xe),
390
+ children: [K && /* @__PURE__ */ E("span", {
391
+ id: R,
384
392
  "data-tree-aside": "",
385
- className: e(u.aside, "inline-flex items-center text-caption-1 text-muted-foreground", K && ye),
393
+ className: e(u.aside, "inline-flex items-center text-caption-1 text-muted-foreground", q && be),
386
394
  children: a(g)
387
- }), K && /* @__PURE__ */ E(P, {
388
- labelledBy: U,
395
+ }), q && /* @__PURE__ */ E(F, {
396
+ labelledBy: W,
389
397
  tabStop: k.navigationMode === "tree" && k.focusedItem === r ? "last-focused" : "none",
390
398
  navigationMode: k.navigationMode,
391
399
  onReturn: () => k.focusValue(r),
@@ -393,24 +401,30 @@ var F = ({ value: r, icon: l, iconAfter: d, expandIcon: f, aside: g, actions: _,
393
401
  })]
394
402
  })
395
403
  ]
396
- }), q && N && /* @__PURE__ */ E(C.Provider, {
404
+ }), Ne && /* @__PURE__ */ E(C.Provider, {
397
405
  value: r,
398
406
  children: /* @__PURE__ */ E(x.Provider, {
399
- value: We,
407
+ value: Xe,
400
408
  children: /* @__PURE__ */ E(S.Provider, {
401
409
  value: !1,
402
410
  children: /* @__PURE__ */ E("div", {
403
- role: "group",
404
- className: e(u.group, "ps-4"),
405
- children: W
411
+ ref: Pe,
412
+ ...Fe,
413
+ className: e(u.collapse, Ie),
414
+ children: /* @__PURE__ */ E("div", {
415
+ ref: Me,
416
+ role: "group",
417
+ className: e(u.group, "ps-4"),
418
+ children: G
419
+ })
406
420
  })
407
421
  })
408
422
  })
409
423
  })]
410
424
  });
411
425
  };
412
- F.displayName = "TreeItem";
426
+ I.displayName = "TreeItem";
413
427
  //#endregion
414
- export { F as TreeItem, M as TreeRoot };
428
+ export { I as TreeItem, N as TreeRoot };
415
429
 
416
430
  //# sourceMappingURL=Tree.core.mjs.map