@slotted/react 0.1.0-beta.10 → 0.1.0-beta.12

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 (329) hide show
  1. package/dist/action-bar-z2DPc1Wy.js +285 -0
  2. package/dist/action-bar.js +1 -1
  3. package/dist/action-sheet-BnedGewu.js +360 -0
  4. package/dist/action-sheet.js +1 -1
  5. package/dist/{alert-BTcqbG8w.js → alert-BTAXJ69M.js} +5 -5
  6. package/dist/alert.js +1 -1
  7. package/dist/{app-shell-BlkqQrOx.js → app-shell-Cb_kDBeV.js} +232 -173
  8. package/dist/app-shell.js +1 -1
  9. package/dist/{attachment-zlOPJvIm.js → attachment-D1O4qS8H.js} +28 -28
  10. package/dist/attachment.js +1 -1
  11. package/dist/{breadcrumb-DCGynpkb.js → breadcrumb-CnFjxxI2.js} +10 -10
  12. package/dist/breadcrumb.js +1 -1
  13. package/dist/{button-BCVjdzkn.js → button-D31perSu.js} +2 -2
  14. package/dist/button.js +2 -2
  15. package/dist/{calendar-qGUJ-kAy.js → calendar-DZyC1gAT.js} +8 -8
  16. package/dist/calendar.js +1 -1
  17. package/dist/{carousel-CjRTu8m7.js → carousel-Dso3gcYd.js} +14 -14
  18. package/dist/carousel.js +1 -1
  19. package/dist/cascader-BbajBwsX.js +1157 -0
  20. package/dist/cascader.js +1 -1
  21. package/dist/{chart-CPFq3jIE.js → chart-Bb6ctahn.js} +9 -9
  22. package/dist/chart.js +1 -1
  23. package/dist/{checkbox-CMY2KIih.js → checkbox-C_8GVtjD.js} +3 -3
  24. package/dist/{checkbox-group-DzMtLF7f.js → checkbox-group-DXCcusol.js} +2 -2
  25. package/dist/checkbox-group.js +1 -1
  26. package/dist/checkbox.js +1 -1
  27. package/dist/{code-block-Bh_2Eg3M.js → code-block-C4mtsROE.js} +8 -8
  28. package/dist/code-block.js +1 -1
  29. package/dist/{color-picker-DlepH5co.js → color-picker-JZPnPb7s.js} +49 -49
  30. package/dist/color-picker.js +1 -1
  31. package/dist/{column-manager-CV9tCnKa.js → column-manager-BDUj-WIs.js} +31 -31
  32. package/dist/column-manager.js +1 -1
  33. package/dist/combobox-Dn69QwGX.js +904 -0
  34. package/dist/combobox.js +1 -1
  35. package/dist/command-palette-Dh1HKz_F.js +744 -0
  36. package/dist/command-palette.js +1 -1
  37. package/dist/{context-menu-Dbc0KkFp.js → context-menu-uJjEmAN3.js} +1 -1
  38. package/dist/context-menu.js +1 -1
  39. package/dist/{currency-field--wIfgVAx.js → currency-field-lHcrNJ7X.js} +13 -13
  40. package/dist/currency-field.js +1 -1
  41. package/dist/{dashboard-grid-D_LbWfdZ.js → dashboard-grid-z-SOm9H0.js} +65 -65
  42. package/dist/dashboard-grid.js +1 -1
  43. package/dist/{data-grid-XH5fGoGj.js → data-grid-Kj1b9RD-.js} +1316 -1272
  44. package/dist/data-grid.js +1 -1
  45. package/dist/data-list-BgdkA3bD.js +587 -0
  46. package/dist/data-list.js +1 -1
  47. package/dist/{date-field-BrNyJBiJ.js → date-field-B2lQzE3p.js} +5 -5
  48. package/dist/date-field.js +1 -1
  49. package/dist/{date-picker-Nl55so0C.js → date-picker-DpTRb-Y1.js} +16 -16
  50. package/dist/date-picker.js +1 -1
  51. package/dist/{date-range-picker-DLkvfUJD.js → date-range-picker-CBUPJep5.js} +17 -17
  52. package/dist/date-range-picker.js +1 -1
  53. package/dist/{datetime-field-CZRhRDPb.js → datetime-field-BZ44uJ_B.js} +7 -7
  54. package/dist/datetime-field.js +1 -1
  55. package/dist/{datetime-picker-_GHra2WL.js → datetime-picker-BK_bV3Yr.js} +21 -21
  56. package/dist/datetime-picker.js +1 -1
  57. package/dist/{datetime-range-picker-Dy1A0Wqy.js → datetime-range-picker-ChdbRgzQ.js} +21 -21
  58. package/dist/datetime-range-picker.js +1 -1
  59. package/dist/{description-list-Cc4JYZ-3.js → description-list-CYlfHDwx.js} +11 -11
  60. package/dist/description-list.js +1 -1
  61. package/dist/{detail-panel-BI_wHSoz.js → detail-panel-DimjnPI8.js} +91 -91
  62. package/dist/detail-panel.js +1 -1
  63. package/dist/{dialog-B6MP7GYI.js → dialog-BB5MdJex.js} +108 -108
  64. package/dist/dialog.js +1 -1
  65. package/dist/docs/action-bar.json +4 -4
  66. package/dist/docs/action-bar.md +3 -3
  67. package/dist/docs/calendar.md +2 -2
  68. package/dist/docs/command-palette.json +1 -0
  69. package/dist/docs/command-palette.md +1 -1
  70. package/dist/docs/data-grid.examples.md +8 -2
  71. package/dist/docs/data-grid.json +12 -2
  72. package/dist/docs/data-grid.md +3 -1
  73. package/dist/docs/detail-panel.json +4 -2
  74. package/dist/docs/detail-panel.md +15 -5
  75. package/dist/docs/dialog.json +1 -0
  76. package/dist/docs/dialog.md +1 -1
  77. package/dist/docs/drawer.json +6 -4
  78. package/dist/docs/drawer.md +3 -3
  79. package/dist/docs/event-calendar.md +2 -2
  80. package/dist/docs/guidelines/index.md +4 -3
  81. package/dist/docs/guidelines/layout-alignment.md +17 -7
  82. package/dist/docs/guidelines/list-pages.md +3 -3
  83. package/dist/docs/page-header.json +18 -2
  84. package/dist/docs/page-header.md +5 -3
  85. package/dist/docs/page.json +1 -0
  86. package/dist/docs/page.md +1 -1
  87. package/dist/docs/rating.md +1 -1
  88. package/dist/docs/section.json +1 -1
  89. package/dist/docs/section.md +1 -1
  90. package/dist/docs/skills/compose-screen/SKILL.md +12 -4
  91. package/dist/docs/skills/review-screen/SKILL.md +20 -18
  92. package/dist/docs/skills/theme-app/SKILL.md +12 -1
  93. package/dist/docs/toast.json +1 -0
  94. package/dist/docs/toast.md +1 -1
  95. package/dist/docs/tokens.md +1 -1
  96. package/dist/docs/toolbar.json +1 -1
  97. package/dist/docs/toolbar.md +1 -1
  98. package/dist/docs/typography.md +1 -1
  99. package/dist/{drawer-CkpFlKYa.js → drawer-fyPyxnYQ.js} +216 -206
  100. package/dist/drawer.js +1 -1
  101. package/dist/entity-picker-ClyhBTyK.js +1283 -0
  102. package/dist/entity-picker.js +1 -1
  103. package/dist/{event-calendar-BDjI5T44.js → event-calendar-COgC24UG.js} +23 -23
  104. package/dist/event-calendar.js +1 -1
  105. package/dist/{field-group-CCM2vPKL.js → field-group-Bj-EbPIU.js} +2 -2
  106. package/dist/field-group.js +1 -1
  107. package/dist/{field-CzSGs7wo.js → field-tnEZiRLg.js} +19 -19
  108. package/dist/field.js +1 -1
  109. package/dist/filter-bar-BRuCz79-.js +1342 -0
  110. package/dist/filter-bar.js +1 -1
  111. package/dist/{form-CDq04WDY.js → form-DEcJ7tHf.js} +1 -1
  112. package/dist/form.js +1 -1
  113. package/dist/{fullscreen-6GW4naDP.js → fullscreen-BwweNj3-.js} +13 -13
  114. package/dist/fullscreen.js +1 -1
  115. package/dist/{hover-card-aadyPXzF.js → hover-card-BWcU37Yp.js} +1 -1
  116. package/dist/hover-card.js +1 -1
  117. package/dist/{i18n-DpW8lqJ1.js → i18n-D7xXDd8-.js} +11 -4
  118. package/dist/i18n.js +1 -1
  119. package/dist/{icon-button-CRB218_z.js → icon-button-DbSZKGT4.js} +73 -71
  120. package/dist/{import-export-center-DUrNwRKP.js → import-export-center-CYf0Qxl_.js} +291 -289
  121. package/dist/import-export-center.js +1 -1
  122. package/dist/index.js +100 -100
  123. package/dist/{kbd-Z4YmSPRy.js → kbd-dNz8QHfL.js} +1 -1
  124. package/dist/kbd.js +1 -1
  125. package/dist/{link-BsSlZ1ts.js → link-DLPyg54C.js} +5 -5
  126. package/dist/link.js +1 -1
  127. package/dist/{listbox-VFcfZT70.js → listbox-BSqx_ARf.js} +1 -1
  128. package/dist/listbox.js +1 -1
  129. package/dist/{loading-overlay-BZPBDK4w.js → loading-overlay-BLIrcaoj.js} +9 -9
  130. package/dist/loading-overlay.js +1 -1
  131. package/dist/{markdown-BmCU_sOv.js → markdown-DccRb1xf.js} +17 -17
  132. package/dist/markdown.js +1 -1
  133. package/dist/{menu-parts-DS9JEUCt.js → menu-parts-CNNHRduK.js} +42 -42
  134. package/dist/menu.js +1 -1
  135. package/dist/{menubar-BV43BKep.js → menubar-Bdr6zigi.js} +1 -1
  136. package/dist/menubar.js +1 -1
  137. package/dist/message-BkTiWsUp.js +436 -0
  138. package/dist/message-scroller-akQEtQLn.js +218 -0
  139. package/dist/message-scroller.js +1 -1
  140. package/dist/message.js +1 -1
  141. package/dist/{multi-select-YaxhhH9y.js → multi-select-BvlJIEtz.js} +445 -443
  142. package/dist/multi-select.js +1 -1
  143. package/dist/{navigation-menu-parts-B64gKl8B.js → navigation-menu-parts-CEW4fgCo.js} +12 -12
  144. package/dist/navigation-menu.js +1 -1
  145. package/dist/{notification-center-Ci-OLWTO.js → notification-center-BQO0Ey3h.js} +40 -40
  146. package/dist/notification-center.js +1 -1
  147. package/dist/{number-field-BYQmPyM-.js → number-field-D1MqT8_A.js} +13 -13
  148. package/dist/number-field.js +1 -1
  149. package/dist/{otp-input-BKO0WPZc.js → otp-input-Cub9H9Di.js} +1 -1
  150. package/dist/otp-input.js +1 -1
  151. package/dist/{page-CfjGviUA.js → page-CwYmBoZQ.js} +1 -1
  152. package/dist/{page-header-w_PFLnLG.js → page-header-CMxCQqu_.js} +117 -114
  153. package/dist/page-header.js +1 -1
  154. package/dist/page.js +1 -1
  155. package/dist/{pagination-Cm9665gb.js → pagination-IEuos7H1.js} +12 -12
  156. package/dist/pagination.js +1 -1
  157. package/dist/{popover-D1krYeP-.js → popover-C7NpEzq6.js} +22 -22
  158. package/dist/popover.js +1 -1
  159. package/dist/prompt-composer-Cu8bj1Vb.js +276 -0
  160. package/dist/prompt-composer.js +1 -1
  161. package/dist/{prose-Bl5OjXTb.js → prose-CQN4Bqqh.js} +1 -1
  162. package/dist/prose.js +1 -1
  163. package/dist/{radio-group-D9VTBLUB.js → radio-group-BHlDgCLk.js} +2 -2
  164. package/dist/radio-group.js +1 -1
  165. package/dist/{rating-BRqsV5OF.js → rating-Cr0lXaAV.js} +15 -15
  166. package/dist/rating.js +1 -1
  167. package/dist/{saved-views-C_76obIv.js → saved-views-CyLSn8a2.js} +151 -151
  168. package/dist/saved-views.js +1 -1
  169. package/dist/{scroll-area-vrm2bbtZ.js → scroll-area-Fr0PmnRS.js} +1 -1
  170. package/dist/scroll-area.js +1 -1
  171. package/dist/{segmented-control-5DTOKO3g.js → segmented-control-uPnQYklX.js} +2 -2
  172. package/dist/segmented-control.js +1 -1
  173. package/dist/select-C0JYHwBy.js +1020 -0
  174. package/dist/select.js +1 -1
  175. package/dist/{side-navigation-MNMSkj9b.js → side-navigation-D8lRpHwj.js} +64 -64
  176. package/dist/side-navigation.js +1 -1
  177. package/dist/{skeleton-DyOwgYmF.js → skeleton-DeEOmm1y.js} +1 -1
  178. package/dist/skeleton.js +1 -1
  179. package/dist/{slider-OMe1DAC-.js → slider-BSI1xvjw.js} +2 -2
  180. package/dist/slider.js +1 -1
  181. package/dist/{sparkline-ChkaLVdY.js → sparkline-CYU4_lCD.js} +1 -1
  182. package/dist/sparkline.js +1 -1
  183. package/dist/spinner-ring-DyfaYloA.js +19 -0
  184. package/dist/{split-button-DbmRwfMC.js → split-button-CkbylOMN.js} +2 -2
  185. package/dist/split-button.js +1 -1
  186. package/dist/{stat-card-BSnsTmsq.js → stat-card-CAh4SdeY.js} +16 -16
  187. package/dist/stat-card.js +1 -1
  188. package/dist/{status-indicator-CyKhBdvN.js → status-indicator-BVMnpcm8.js} +4 -4
  189. package/dist/status-indicator.js +1 -1
  190. package/dist/{stepper-Cw1Auv3n.js → stepper-BLfvMz04.js} +16 -16
  191. package/dist/stepper.js +1 -1
  192. package/dist/styles/action-bar.css +1 -1
  193. package/dist/styles/action-sheet.css +2 -2
  194. package/dist/styles/button.css +2 -2
  195. package/dist/styles/cascader.css +2 -2
  196. package/dist/styles/chart.css +1 -1
  197. package/dist/styles/column-manager.css +3 -3
  198. package/dist/styles/command-palette.css +3 -3
  199. package/dist/styles/dashboard-grid.css +2 -2
  200. package/dist/styles/data-grid.css +3 -3
  201. package/dist/styles/data-list.css +2 -2
  202. package/dist/styles/detail-panel.css +4 -4
  203. package/dist/styles/dialog.css +1 -1
  204. package/dist/styles/drawer.css +1 -1
  205. package/dist/styles/entity-picker.css +1 -1
  206. package/dist/styles/event-calendar.css +1 -1
  207. package/dist/styles/filter-bar.css +3 -3
  208. package/dist/styles/import-export-center.css +4 -4
  209. package/dist/styles/index.css +12 -12
  210. package/dist/styles/markdown.css +2 -2
  211. package/dist/styles/multi-select.css +1 -1
  212. package/dist/styles/notification-center.css +3 -3
  213. package/dist/styles/page-header.css +2 -2
  214. package/dist/styles/page.css +1 -1
  215. package/dist/styles/prompt-composer.css +1 -1
  216. package/dist/styles/saved-views.css +2 -2
  217. package/dist/styles/split-button.css +2 -2
  218. package/dist/styles/table.css +2 -2
  219. package/dist/styles/tabs.css +1 -1
  220. package/dist/styles/timeline.css +1 -1
  221. package/dist/styles/toast.css +1 -1
  222. package/dist/styles/tour.css +2 -2
  223. package/dist/styles/transfer.css +2 -2
  224. package/dist/styles/upload.css +1 -1
  225. package/dist/styles/wizard.css +2 -2
  226. package/dist/styles.css +1 -1
  227. package/dist/{switch-CQ1rpuKa.js → switch-BHyKHqeI.js} +5 -5
  228. package/dist/switch.js +1 -1
  229. package/dist/{table-DpGTPtnb.js → table-C8zOHDcY.js} +30 -30
  230. package/dist/{table-of-contents-BFVERMZy.js → table-of-contents-BAIuPCdy.js} +8 -8
  231. package/dist/table-of-contents.js +1 -1
  232. package/dist/table.js +1 -1
  233. package/dist/{tag-aX7uyAN0.js → tag-XYGEPUHR.js} +14 -14
  234. package/dist/tag.js +1 -1
  235. package/dist/{tags-input-BgpS22sf.js → tags-input-ClYSd-No.js} +40 -40
  236. package/dist/tags-input.js +1 -1
  237. package/dist/text-field-Cguj75tn.js +205 -0
  238. package/dist/text-field.js +1 -1
  239. package/dist/{textarea-DNCjsQYd.js → textarea-BKsh_jAo.js} +1 -1
  240. package/dist/textarea.js +1 -1
  241. package/dist/{time-field-Cm6iBjwH.js → time-field-BIE4WMpS.js} +7 -7
  242. package/dist/time-field.js +1 -1
  243. package/dist/{time-picker-Ce18FSO2.js → time-picker-CNfafRDF.js} +18 -18
  244. package/dist/time-picker.js +1 -1
  245. package/dist/{time-range-picker-kDnw4PQ3.js → time-range-picker-D7gM_Wno.js} +20 -20
  246. package/dist/time-range-picker.js +1 -1
  247. package/dist/timeline-BLadNUkS.js +449 -0
  248. package/dist/timeline.js +1 -1
  249. package/dist/{toast-58ex8PDK.js → toast-CjbiXiza.js} +16 -16
  250. package/dist/toast.js +1 -1
  251. package/dist/{toggle-group-YxVJlCnI.js → toggle-group-BZmghKac.js} +1 -1
  252. package/dist/toggle-group.js +1 -1
  253. package/dist/toolbar-BI4ZepBs.js +243 -0
  254. package/dist/toolbar.js +1 -1
  255. package/dist/{top-navigation-DorkYBnR.js → top-navigation-BTZpx5VA.js} +13 -13
  256. package/dist/top-navigation.js +1 -1
  257. package/dist/{tour-CwK_m_Jp.js → tour-_CQ1kYov.js} +23 -23
  258. package/dist/tour.js +1 -1
  259. package/dist/{transfer-DxGDWIEt.js → transfer-BVhBdIGp.js} +59 -59
  260. package/dist/transfer.js +1 -1
  261. package/dist/tree-DfI9UWLA.js +794 -0
  262. package/dist/tree.js +1 -1
  263. package/dist/types/action-bar/action-bar-overflow.d.ts.map +1 -1
  264. package/dist/types/action-bar/action-bar.types.d.ts +2 -2
  265. package/dist/types/action-sheet/action-sheet-parts.d.ts.map +1 -1
  266. package/dist/types/app-shell/app-shell-parts.d.ts.map +1 -1
  267. package/dist/types/app-shell/app-shell.d.ts.map +1 -1
  268. package/dist/types/app-shell/app-shell.types.d.ts +21 -14
  269. package/dist/types/app-shell/app-shell.types.d.ts.map +1 -1
  270. package/dist/types/app-shell/index.d.ts +1 -1
  271. package/dist/types/app-shell/index.d.ts.map +1 -1
  272. package/dist/types/button/button-indicator.d.ts.map +1 -1
  273. package/dist/types/button/spinner-ring.d.ts +8 -0
  274. package/dist/types/button/spinner-ring.d.ts.map +1 -0
  275. package/dist/types/cascader/cascader-surface.d.ts.map +1 -1
  276. package/dist/types/cascader/cascader.d.ts.map +1 -1
  277. package/dist/types/combobox/combobox-parts.d.ts.map +1 -1
  278. package/dist/types/command-palette/command-palette.d.ts.map +1 -1
  279. package/dist/types/data-grid/data-grid-body.d.ts +7 -2
  280. package/dist/types/data-grid/data-grid-body.d.ts.map +1 -1
  281. package/dist/types/data-grid/data-grid-header.d.ts.map +1 -1
  282. package/dist/types/data-grid/data-grid.d.ts +1 -1
  283. package/dist/types/data-grid/data-grid.d.ts.map +1 -1
  284. package/dist/types/detail-panel/detail-panel-parts.d.ts +2 -1
  285. package/dist/types/detail-panel/detail-panel-parts.d.ts.map +1 -1
  286. package/dist/types/drawer/drawer-parts.d.ts.map +1 -1
  287. package/dist/types/entity-picker/entity-picker-control.d.ts.map +1 -1
  288. package/dist/types/filter-bar/filter-bar.d.ts.map +1 -1
  289. package/dist/types/i18n/slotted-provider.d.ts +6 -0
  290. package/dist/types/i18n/slotted-provider.d.ts.map +1 -1
  291. package/dist/types/import-export-center/import-export-center.d.ts.map +1 -1
  292. package/dist/types/message/message-parts.d.ts.map +1 -1
  293. package/dist/types/message-scroller/message-scroller.d.ts.map +1 -1
  294. package/dist/types/multi-select/multi-select-parts.d.ts.map +1 -1
  295. package/dist/types/page-header/page-header-defaults.d.ts +1 -1
  296. package/dist/types/page-header/page-header-defaults.d.ts.map +1 -1
  297. package/dist/types/page-header/page-header.d.ts +1 -1
  298. package/dist/types/page-header/page-header.d.ts.map +1 -1
  299. package/dist/types/page-header/page-header.types.d.ts +9 -0
  300. package/dist/types/page-header/page-header.types.d.ts.map +1 -1
  301. package/dist/types/prompt-composer/prompt-composer.d.ts.map +1 -1
  302. package/dist/types/select/select-parts.d.ts.map +1 -1
  303. package/dist/types/text-field/text-field.d.ts.map +1 -1
  304. package/dist/types/timeline/timeline-parts.d.ts.map +1 -1
  305. package/dist/types/timeline/timeline.d.ts.map +1 -1
  306. package/dist/types/toolbar/toolbar-overflow.d.ts.map +1 -1
  307. package/dist/types/toolbar/toolbar.types.d.ts +2 -2
  308. package/dist/types/tree/tree-parts.d.ts.map +1 -1
  309. package/dist/{upload-CEDsfMWz.js → upload-N2-nyO8x.js} +65 -65
  310. package/dist/upload.js +1 -1
  311. package/dist/{wizard-B3p7zCSj.js → wizard-CK1x2fs3.js} +16 -16
  312. package/dist/wizard.js +1 -1
  313. package/package.json +6 -6
  314. package/dist/action-bar-CJgBierN.js +0 -283
  315. package/dist/action-sheet-tRrjm7WQ.js +0 -358
  316. package/dist/cascader-DqlC1z5b.js +0 -1154
  317. package/dist/combobox-YWFkxaQ3.js +0 -902
  318. package/dist/command-palette-DXNq-zKN.js +0 -741
  319. package/dist/data-list-DZCN_uW1.js +0 -587
  320. package/dist/entity-picker-CFwLGQeU.js +0 -1281
  321. package/dist/filter-bar-G50WdRac.js +0 -1340
  322. package/dist/message-Dtck9RJy.js +0 -434
  323. package/dist/message-scroller-niUJ8RoL.js +0 -216
  324. package/dist/prompt-composer-sh_TXKYZ.js +0 -273
  325. package/dist/select-BFx5EgAa.js +0 -1018
  326. package/dist/text-field-DL_uhNXV.js +0 -203
  327. package/dist/timeline-pEL30Jp8.js +0 -446
  328. package/dist/toolbar-BtIyVbs4.js +0 -241
  329. package/dist/tree-DbLRyItM.js +0 -792
@@ -0,0 +1,794 @@
1
+ import { n as e, t } from "./icon-DjqSEQ-o.js";
2
+ /* empty css */
3
+ import { t as n } from "./spinner-ring-DyfaYloA.js";
4
+ import { keyedProps as r, withSelectorKey as i } from "@slotted/core/selector-key";
5
+ import { createControllable as a } from "@slotted/core/state";
6
+ import { createContext as o, useCallback as s, useContext as c, useEffect as ee, useId as te, useImperativeHandle as ne, useLayoutEffect as l, useMemo as u, useRef as d, useState as f } from "react";
7
+ import { jsx as p, jsxs as re } from "react/jsx-runtime";
8
+ import { createTypeahead as ie, isPrintable as ae } from "@slotted/core/typeahead";
9
+ import { cascadeSelection as oe, createFilter as se, createTreeCollection as m, indeterminateKeys as ce, moveIndex as h, nextSelection as le, splitByMatch as g, virtualWindow as _ } from "@slotted/core/collection";
10
+ //#region src/tree/tree-context.ts
11
+ var v = o(void 0);
12
+ function ue() {
13
+ let e = c(v);
14
+ if (e === void 0) throw Error("This part must be rendered inside a Tree.");
15
+ return e;
16
+ }
17
+ var de = o(0);
18
+ function fe() {
19
+ return c(de);
20
+ }
21
+ //#endregion
22
+ //#region src/tree/tree-defaults.tsx
23
+ var y = o({
24
+ disabled: !1,
25
+ disallowEmptySelection: !1,
26
+ disallowSelectAll: !1,
27
+ expandOn: "row",
28
+ focusMode: "auto",
29
+ guides: !0,
30
+ itemSize: 32,
31
+ loop: !1,
32
+ navigateDisabled: !1,
33
+ overscan: 4,
34
+ pageSize: 10,
35
+ selectOnFocus: !1,
36
+ selectionBehavior: "toggle",
37
+ selectionCascade: "none",
38
+ selectionIndicator: "auto",
39
+ selectionMode: "single",
40
+ size: "md",
41
+ structure: "auto",
42
+ typeahead: !0,
43
+ typeaheadTimeout: 500,
44
+ variant: "plain",
45
+ virtual: !1
46
+ });
47
+ function b() {
48
+ return c(y);
49
+ }
50
+ function x({ children: e, ...t }) {
51
+ let n = b();
52
+ return /* @__PURE__ */ p(y.Provider, {
53
+ value: {
54
+ disabled: t.disabled ?? n.disabled,
55
+ disallowEmptySelection: t.disallowEmptySelection ?? n.disallowEmptySelection,
56
+ disallowSelectAll: t.disallowSelectAll ?? n.disallowSelectAll,
57
+ expandOn: t.expandOn ?? n.expandOn,
58
+ focusMode: t.focusMode ?? n.focusMode,
59
+ guides: t.guides ?? n.guides,
60
+ itemSize: t.itemSize ?? n.itemSize,
61
+ loop: t.loop ?? n.loop,
62
+ navigateDisabled: t.navigateDisabled ?? n.navigateDisabled,
63
+ overscan: t.overscan ?? n.overscan,
64
+ pageSize: t.pageSize ?? n.pageSize,
65
+ selectOnFocus: t.selectOnFocus ?? n.selectOnFocus,
66
+ selectionBehavior: t.selectionBehavior ?? n.selectionBehavior,
67
+ selectionCascade: t.selectionCascade ?? n.selectionCascade,
68
+ selectionIndicator: t.selectionIndicator ?? n.selectionIndicator,
69
+ selectionMode: t.selectionMode ?? n.selectionMode,
70
+ size: t.size ?? n.size,
71
+ structure: t.structure ?? n.structure,
72
+ typeahead: t.typeahead ?? n.typeahead,
73
+ typeaheadTimeout: t.typeaheadTimeout ?? n.typeaheadTimeout,
74
+ variant: t.variant ?? n.variant,
75
+ virtual: t.virtual ?? n.virtual
76
+ },
77
+ children: e
78
+ });
79
+ }
80
+ //#endregion
81
+ //#region src/tree/tree-parts.tsx
82
+ var pe = "[data-part='node']";
83
+ function S({ actions: i, children: a, depth: o, description: s, disabled: c, hasChildren: ee, icon: te, label: ne, loading: l, match: u, meta: d, offset: f, onClick: ie, pinned: ae, render: oe, textValue: se, value: m, ...ce }) {
84
+ let h = ue(), le = fe(), g = o ?? le, _ = ee === !0 || a !== void 0, v = _ && h.isExpanded(m), y = h.isSelected(m), b = h.isIndeterminate(m), x = c === !0 || h.disabled === !0, pe = h.selectionMode === "none" ? void 0 : y, S = r({
85
+ ...ce,
86
+ "aria-busy": _ && l === !0 ? !0 : void 0,
87
+ "aria-expanded": _ ? v : void 0,
88
+ "aria-checked": h.indicator === "checkbox" ? pe : void 0,
89
+ "aria-disabled": x ? !0 : void 0,
90
+ "aria-labelledby": h.labelId(m),
91
+ "aria-level": h.levelOf(m),
92
+ "aria-posinset": h.posInSetOf(m),
93
+ "aria-selected": h.indicator === "checkbox" ? void 0 : pe,
94
+ "aria-setsize": h.setSizeOf(m),
95
+ ..._ ? { "data-branch": "" } : {},
96
+ ...h.isActive(m) ? { "data-current": "" } : {},
97
+ "data-depth": g,
98
+ ...x ? { "data-disabled": "" } : {},
99
+ ...v ? { "data-expanded": "" } : {},
100
+ ...b ? { "data-indeterminate": "" } : {},
101
+ "data-key": m,
102
+ ...l === !0 ? { "data-loading": "" } : {},
103
+ ...u === void 0 ? {} : { "data-match": u },
104
+ "data-part": "node",
105
+ ...ae === !0 ? { "data-pinned": "" } : {},
106
+ ...y ? { "data-selected": "" } : {},
107
+ ...!v && h.holdsSelection(m) ? { "data-selected-within": "" } : {},
108
+ ...se === void 0 ? {} : { "data-text-value": se },
109
+ id: h.nodeId(m),
110
+ role: "treeitem",
111
+ style: {
112
+ ...ce.style,
113
+ "--slotted-tree-depth": g,
114
+ ...f === void 0 ? {} : { "--slotted-tree-row-offset": `${f}px` }
115
+ },
116
+ tabIndex: h.nodeTabIndex(m)
117
+ }), me = /* @__PURE__ */ re("div", {
118
+ "data-part": "row",
119
+ "data-part-row": "",
120
+ onClick: (e) => {
121
+ ie?.(e), !e.defaultPrevented && h.press(m, e);
122
+ },
123
+ children: [
124
+ h.guides && g > 0 ? /* @__PURE__ */ p("span", {
125
+ "data-part": "guide",
126
+ "data-part-guide": "",
127
+ "aria-hidden": "true"
128
+ }) : null,
129
+ _ && l === !0 ? /* @__PURE__ */ p("span", {
130
+ "data-part": "loader",
131
+ "data-part-loader": "",
132
+ "data-ui": "spinner",
133
+ "data-ui-spinner": "",
134
+ "aria-hidden": "true",
135
+ children: n
136
+ }) : /* @__PURE__ */ p("span", {
137
+ "data-part": "expander",
138
+ "data-part-expander": "",
139
+ "aria-hidden": "true",
140
+ onClick: (e) => {
141
+ e.stopPropagation(), _ && !x && h.pressExpander(m, e);
142
+ },
143
+ children: _ ? /* @__PURE__ */ p(t, { children: /* @__PURE__ */ p(e, { name: "chevron-right" }) }) : null
144
+ }),
145
+ h.indicator === "checkbox" ? /* @__PURE__ */ p("span", {
146
+ "data-part": "indicator",
147
+ "data-part-indicator": "",
148
+ "aria-hidden": "true",
149
+ onClick: (e) => {
150
+ e.stopPropagation(), !x && h.pressIndicator(m, e);
151
+ },
152
+ children: /* @__PURE__ */ p(t, { children: /* @__PURE__ */ p(e, { name: b ? "minus" : "check" }) })
153
+ }) : null,
154
+ te === void 0 ? null : /* @__PURE__ */ p("span", {
155
+ "data-part": "icon",
156
+ "data-part-icon": "",
157
+ "aria-hidden": "true",
158
+ children: te
159
+ }),
160
+ /* @__PURE__ */ p("span", {
161
+ "data-part": "label",
162
+ "data-part-label": "",
163
+ id: h.labelId(m),
164
+ children: ne
165
+ }),
166
+ s === void 0 ? null : /* @__PURE__ */ p("span", {
167
+ "data-part": "description",
168
+ "data-part-description": "",
169
+ children: s
170
+ }),
171
+ d === void 0 ? null : /* @__PURE__ */ p("span", {
172
+ "data-part": "meta",
173
+ "data-part-meta": "",
174
+ children: d
175
+ }),
176
+ i === void 0 ? null : /* @__PURE__ */ p("div", {
177
+ "data-part": "actions",
178
+ "data-part-actions": "",
179
+ children: i
180
+ })
181
+ ]
182
+ }), he = _ && v && a !== void 0 ? /* @__PURE__ */ p("ul", {
183
+ "data-part": "group",
184
+ "data-part-group": "",
185
+ role: "group",
186
+ "aria-busy": l === !0 || void 0,
187
+ children: a
188
+ }) : null, C = /* @__PURE__ */ re(de.Provider, {
189
+ value: g + 1,
190
+ children: [me, he]
191
+ });
192
+ return oe ? oe({
193
+ ...S,
194
+ children: C
195
+ }) : /* @__PURE__ */ p("li", {
196
+ ...S,
197
+ children: C
198
+ });
199
+ }
200
+ function me({ children: e, ...t }) {
201
+ let n = fe();
202
+ return /* @__PURE__ */ p("ul", {
203
+ ...i(t, "part", "group"),
204
+ role: "group",
205
+ children: /* @__PURE__ */ p(de.Provider, {
206
+ value: n + 1,
207
+ children: e
208
+ })
209
+ });
210
+ }
211
+ function he({ children: e, ...t }) {
212
+ return /* @__PURE__ */ p("span", {
213
+ ...i(t, "part", "label"),
214
+ children: e
215
+ });
216
+ }
217
+ function C({ children: e, ...t }) {
218
+ return /* @__PURE__ */ p("span", {
219
+ ...i(t, "part", "description"),
220
+ children: e
221
+ });
222
+ }
223
+ function ge({ children: e, ...t }) {
224
+ return /* @__PURE__ */ p("span", {
225
+ ...i(t, "part", "meta"),
226
+ children: e
227
+ });
228
+ }
229
+ function w({ children: e, ...t }) {
230
+ return /* @__PURE__ */ p("span", {
231
+ ...i(t, "part", "icon"),
232
+ "aria-hidden": "true",
233
+ children: e
234
+ });
235
+ }
236
+ function T({ children: e, ...t }) {
237
+ return /* @__PURE__ */ p("div", {
238
+ ...i(t, "part", "empty"),
239
+ children: e
240
+ });
241
+ }
242
+ //#endregion
243
+ //#region src/tree/tree.tsx
244
+ function _e(e) {
245
+ return e == null ? [] : typeof e == "string" ? [e] : e;
246
+ }
247
+ function E(e, t) {
248
+ return e.length === t.length && e.every((e, n) => e === t[n]);
249
+ }
250
+ function D({ activeKey: e, children: t, defaultActiveKey: n, defaultExpandedKeys: i, defaultValue: o, disabled: c, disallowEmptySelection: ue, disallowSelectAll: fe, emptyContent: y, expandOn: x, expandedKeys: me, focusMode: he, getChildren: C, getChildrenCount: ge, getKey: w, getLabel: T, getLevel: D, guides: ve, handleRef: ye, hasChildren: be, invalid: xe, isNodeDisabled: Se, isNodeLoading: Ce, itemSize: we, loading: Te, loop: Ee, name: De, navigateDisabled: Oe, nodes: O, onActiveKeyChange: ke, onExpandedKeysChange: Ae, onNodeActivate: je, onValueChange: Me, overscan: Ne, pageSize: Pe, query: k, readOnly: A, ref: j, render: Fe, renderNode: Ie, required: Le, selectOnFocus: Re, selectionBehavior: ze, selectionCascade: Be, selectionIndicator: Ve, selectionMode: He, size: Ue, structure: We, typeahead: Ge, typeaheadTimeout: Ke, value: qe, variant: Je, virtual: Ye, ...Xe }) {
251
+ let M = b(), N = {
252
+ disabled: c ?? M.disabled,
253
+ disallowEmptySelection: ue ?? M.disallowEmptySelection,
254
+ disallowSelectAll: fe ?? M.disallowSelectAll,
255
+ expandOn: x ?? M.expandOn,
256
+ focusMode: he ?? M.focusMode,
257
+ guides: ve ?? M.guides,
258
+ itemSize: we ?? M.itemSize,
259
+ loop: Ee ?? M.loop,
260
+ navigateDisabled: Oe ?? M.navigateDisabled,
261
+ overscan: Ne ?? M.overscan,
262
+ pageSize: Pe ?? M.pageSize,
263
+ selectOnFocus: Re ?? M.selectOnFocus,
264
+ selectionBehavior: ze ?? M.selectionBehavior,
265
+ selectionCascade: Be ?? M.selectionCascade,
266
+ selectionIndicator: Ve ?? M.selectionIndicator,
267
+ selectionMode: He ?? M.selectionMode,
268
+ size: Ue ?? M.size,
269
+ structure: We ?? M.structure,
270
+ typeahead: Ge ?? M.typeahead,
271
+ typeaheadTimeout: Ke ?? M.typeaheadTimeout,
272
+ variant: Je ?? M.variant,
273
+ virtual: Ye ?? M.virtual
274
+ }, Ze = N.selectionIndicator === "auto" ? N.selectionMode === "multiple" ? "checkbox" : N.selectionMode === "single" ? "highlight" : "none" : N.selectionIndicator, P = O === void 0 ? "nested" : N.structure === "auto" ? N.virtual ? "flat" : "nested" : N.structure, Qe = d(null), F = d(null), $e = te(), I = u(() => {
275
+ if (O !== void 0 && w !== void 0) return m({
276
+ ...D === void 0 ? { roots: O } : { items: O },
277
+ getKey: w,
278
+ ...T === void 0 ? {} : { getLabel: T },
279
+ ...C === void 0 ? {} : { getChildren: C },
280
+ ...D === void 0 ? {} : { getLevel: D },
281
+ ...be === void 0 ? {} : { hasChildren: be },
282
+ ...ge === void 0 ? {} : { getChildrenCount: ge },
283
+ ...Se === void 0 ? {} : { isDisabled: Se }
284
+ });
285
+ }, [
286
+ C,
287
+ ge,
288
+ w,
289
+ T,
290
+ D,
291
+ be,
292
+ Se,
293
+ O
294
+ ]), [et, tt] = f(() => _e(o)), nt = qe !== void 0, L = nt ? _e(qe) : et, [rt, it] = f(i ?? []), at = me !== void 0, R = at ? me ?? [] : rt, [ot, st] = f(n ?? null), ct = e !== void 0, z = ct ? e ?? null : ot, lt = s((e) => N.selectionMode === "multiple" ? e : e[0] ?? null, [N.selectionMode]), ut = s((e, t, n) => {
295
+ let r = !1, i = a({
296
+ ...nt ? { controlled: L } : {},
297
+ initial: L,
298
+ equals: E,
299
+ onRequest: (e) => {
300
+ let t = {
301
+ value: lt(e.value),
302
+ previous: lt(e.previous),
303
+ reason: e.reason,
304
+ source: e.source,
305
+ get cancelled() {
306
+ return e.cancelled;
307
+ },
308
+ cancel: () => e.cancel()
309
+ };
310
+ Me?.(t.value, t), r = e.cancelled;
311
+ }
312
+ }).request(e, t, n);
313
+ r || i && tt(e);
314
+ }, [
315
+ nt,
316
+ Me,
317
+ lt,
318
+ L
319
+ ]), B = s((e, t, n) => {
320
+ let r = !1, i = a({
321
+ ...at ? { controlled: R } : {},
322
+ initial: R,
323
+ equals: E,
324
+ onRequest: (e) => {
325
+ Ae?.(e.value, e), r = e.cancelled;
326
+ }
327
+ }).request(e, t, n);
328
+ r || i && it(e);
329
+ }, [
330
+ R,
331
+ at,
332
+ Ae
333
+ ]), V = s((t, n, r) => {
334
+ let i = !1, o = a({
335
+ ...ct ? { controlled: e ?? null } : {},
336
+ initial: z,
337
+ onRequest: (e) => {
338
+ ke?.(e.value, e), i = e.cancelled;
339
+ }
340
+ }).request(t, n, r);
341
+ i || o && st(t);
342
+ }, [
343
+ z,
344
+ ct,
345
+ e,
346
+ ke
347
+ ]), H = s(() => {
348
+ let e = F.current;
349
+ return e === null ? [] : [...e.querySelectorAll(pe)].map((e) => ({
350
+ key: e.dataset.key ?? "",
351
+ depth: Number(e.dataset.depth ?? 0),
352
+ branch: e.dataset.branch !== void 0,
353
+ disabled: e.getAttribute("aria-disabled") === "true",
354
+ label: e.dataset.textValue ?? e.querySelector("[data-part='label']")?.textContent?.trim() ?? "",
355
+ element: e
356
+ }));
357
+ }, []), dt = (e) => e.findIndex((e) => e.key === z), ft = (e, t) => {
358
+ let n = e[t]?.depth ?? 0;
359
+ for (let r = t - 1; r >= 0; --r) if (e[r].depth < n) return r;
360
+ return -1;
361
+ }, pt = (e, t) => {
362
+ let n = e[t]?.depth ?? 0, r = [];
363
+ for (let i = t + 1; i < e.length; i += 1) {
364
+ let t = e[i];
365
+ if (t.depth <= n) break;
366
+ r.push(t.key);
367
+ }
368
+ return r;
369
+ }, U = u(() => {
370
+ if (I === void 0 || k === void 0 || k.trim() === "") return;
371
+ let e = se(), t = /* @__PURE__ */ new Set();
372
+ for (let n of I.nodes) e.contains(n.label, k) && t.add(n.key);
373
+ let n = new Set(t);
374
+ for (let e of t) for (let t of I.ancestorsOf(e)) n.add(t);
375
+ return {
376
+ hits: t,
377
+ kept: n
378
+ };
379
+ }, [I, k]), mt = N.selectionCascade === "descendants", ht = u(() => mt ? I === void 0 ? /* @__PURE__ */ new Set() : new Set(ce(I, L)) : /* @__PURE__ */ new Set(), [
380
+ mt,
381
+ I,
382
+ L
383
+ ]), W = u(() => new Set(L), [L]), gt = s((e) => R.includes(e) || U !== void 0 && U.kept.has(e) && !U.hits.has(e), [R, U]), _t = s((e) => I === void 0 || W.has(e) ? !1 : I.descendantsOf(e).some((e) => W.has(e)), [W, I]), G = d(void 0), K = s((e, t, n, r) => {
384
+ if (N.selectionMode === "none" || A === !0) return;
385
+ let i = H();
386
+ if (mt && I !== void 0 && (n === "toggle" || n === "replace")) {
387
+ let n = oe({
388
+ collection: I,
389
+ selected: L,
390
+ key: e,
391
+ action: "toggle"
392
+ });
393
+ n.changed && ut(n.selected, r, t);
394
+ return;
395
+ }
396
+ let a = i.filter((e) => !e.disabled).map((e) => e.key), o = le({
397
+ action: n,
398
+ mode: N.selectionMode,
399
+ behavior: N.selectionBehavior,
400
+ selected: L,
401
+ keys: a,
402
+ key: e,
403
+ anchor: G.current ?? e,
404
+ disabled: (e) => i.find((t) => t.key === e)?.disabled === !0,
405
+ disallowEmpty: N.disallowEmptySelection,
406
+ disallowSelectAll: N.disallowSelectAll
407
+ });
408
+ G.current = o.anchor, o.changed && ut(o.selected, r, t);
409
+ }, [
410
+ mt,
411
+ I,
412
+ A,
413
+ H,
414
+ ut,
415
+ N.disallowEmptySelection,
416
+ N.disallowSelectAll,
417
+ N.selectionBehavior,
418
+ N.selectionMode,
419
+ L
420
+ ]), q = s((e, t, n, r) => {
421
+ if (R.includes(e) === t) return;
422
+ let i = t ? [...R, e] : R.filter((t) => t !== e);
423
+ if (!t && z !== null && z !== e) {
424
+ let t = H(), i = t.findIndex((t) => t.key === e);
425
+ i !== -1 && pt(t, i).includes(z) && V(e, n === "pointer" ? "pointer" : "keyboard", r);
426
+ }
427
+ B(i, n, r);
428
+ }, [
429
+ z,
430
+ R,
431
+ H,
432
+ V,
433
+ B
434
+ ]), vt = s((e, t) => {
435
+ if (N.disabled === !0) return;
436
+ let n = H().find((t) => t.key === e);
437
+ if (!(n === void 0 || n.disabled)) {
438
+ if (V(e, "pointer", t), n.branch && N.expandOn === "row" && q(e, !R.includes(e), "pointer", t), N.selectionMode !== "none") {
439
+ let n = t.shiftKey ? "range" : t.ctrlKey || t.metaKey ? "toggle" : N.selectionBehavior === "replace" ? "replace" : "toggle";
440
+ K(e, t, n, "pointer");
441
+ }
442
+ je?.(e, "pointer");
443
+ }
444
+ }, [
445
+ K,
446
+ R,
447
+ je,
448
+ H,
449
+ V,
450
+ N.disabled,
451
+ N.expandOn,
452
+ N.selectionBehavior,
453
+ N.selectionMode,
454
+ q
455
+ ]), yt = s((e, t) => {
456
+ N.disabled !== !0 && (V(e, "pointer", t), q(e, !R.includes(e), "pointer", t));
457
+ }, [
458
+ R,
459
+ V,
460
+ N.disabled,
461
+ q
462
+ ]), bt = s((e, t) => {
463
+ N.disabled !== !0 && (V(e, "pointer", t), K(e, t, "toggle", "pointer"));
464
+ }, [
465
+ K,
466
+ V,
467
+ N.disabled
468
+ ]), xt = d(null);
469
+ xt.current === null && (xt.current = ie({ timeout: N.typeaheadTimeout })), ee(() => () => xt.current?.destroy(), []);
470
+ let J = s((e, t, n) => {
471
+ let r = e[t];
472
+ r !== void 0 && (V(r.key, "keyboard", n), r.element.focus(), N.selectOnFocus && K(r.key, n, "replace", "keyboard"));
473
+ }, [
474
+ K,
475
+ V,
476
+ N.selectOnFocus
477
+ ]), Y = s((e, t, n) => {
478
+ let r = e.map((e) => N.navigateDisabled || !e.disabled), i = h({
479
+ enabled: r,
480
+ from: dt(e),
481
+ intent: t,
482
+ loop: N.loop,
483
+ page: N.pageSize
484
+ });
485
+ i !== -1 && J(e, i, n);
486
+ }, [
487
+ J,
488
+ N.loop,
489
+ N.navigateDisabled,
490
+ N.pageSize,
491
+ z
492
+ ]), St = (e) => {
493
+ if (e.defaultPrevented || N.disabled === !0 || e.target.closest("input, textarea, [contenteditable=\"true\"]") !== null) return;
494
+ let t = H();
495
+ if (t.length === 0) return;
496
+ let n = dt(t), r = n === -1 ? void 0 : t[n], i = F.current ? getComputedStyle(F.current).direction === "rtl" : !1, a = i ? "ArrowLeft" : "ArrowRight", o = i ? "ArrowRight" : "ArrowLeft", s = () => {
497
+ e.preventDefault(), e.stopPropagation();
498
+ };
499
+ switch (e.key) {
500
+ case "ArrowDown":
501
+ if (s(), e.shiftKey && N.selectionMode === "multiple") {
502
+ let r = h({
503
+ enabled: t.map((e) => N.navigateDisabled || !e.disabled),
504
+ from: n,
505
+ intent: "next",
506
+ loop: N.loop
507
+ });
508
+ r !== -1 && (J(t, r, e), K(t[r].key, e, "toggle", "keyboard"));
509
+ return;
510
+ }
511
+ Y(t, "next", e);
512
+ return;
513
+ case "ArrowUp":
514
+ if (s(), e.shiftKey && N.selectionMode === "multiple") {
515
+ let r = h({
516
+ enabled: t.map((e) => N.navigateDisabled || !e.disabled),
517
+ from: n,
518
+ intent: "previous",
519
+ loop: N.loop
520
+ });
521
+ r !== -1 && (J(t, r, e), K(t[r].key, e, "toggle", "keyboard"));
522
+ return;
523
+ }
524
+ Y(t, "previous", e);
525
+ return;
526
+ case "Home":
527
+ if (s(), e.ctrlKey && e.shiftKey && r !== void 0) {
528
+ G.current = t[0].key, K(r.key, e, "range", "keyboard");
529
+ return;
530
+ }
531
+ Y(t, "first", e);
532
+ return;
533
+ case "End":
534
+ if (s(), e.ctrlKey && e.shiftKey && r !== void 0) {
535
+ G.current = t[t.length - 1].key, K(r.key, e, "range", "keyboard");
536
+ return;
537
+ }
538
+ Y(t, "last", e);
539
+ return;
540
+ case "PageDown":
541
+ s(), Y(t, "pageDown", e);
542
+ return;
543
+ case "PageUp":
544
+ s(), Y(t, "pageUp", e);
545
+ return;
546
+ case a:
547
+ if (s(), r === void 0 || !r.branch) return;
548
+ if (!R.includes(r.key)) {
549
+ q(r.key, !0, "keyboard", e);
550
+ return;
551
+ }
552
+ n + 1 < t.length && t[n + 1].depth > r.depth && J(t, n + 1, e);
553
+ return;
554
+ case o: {
555
+ if (s(), r === void 0) return;
556
+ if (r.branch && R.includes(r.key)) {
557
+ q(r.key, !1, "keyboard", e);
558
+ return;
559
+ }
560
+ let i = ft(t, n);
561
+ i !== -1 && J(t, i, e);
562
+ return;
563
+ }
564
+ case "Enter":
565
+ if (s(), r === void 0) return;
566
+ r.branch && N.expandOn === "row" && q(r.key, !R.includes(r.key), "keyboard", e), N.selectionMode !== "none" && K(r.key, e, "replace", "keyboard"), je?.(r.key, "keyboard");
567
+ return;
568
+ case " ":
569
+ if (s(), r === void 0) return;
570
+ if (e.shiftKey) {
571
+ K(r.key, e, "range", "keyboard");
572
+ return;
573
+ }
574
+ K(r.key, e, "toggle", "keyboard");
575
+ return;
576
+ case "a":
577
+ case "A":
578
+ if (!(e.ctrlKey || e.metaKey)) break;
579
+ s(), K(r?.key ?? "", e, "all", "keyboard");
580
+ return;
581
+ case "*": {
582
+ if (s(), r === void 0) return;
583
+ let i = ft(t, n), a = t.filter((e, n) => e.depth === r.depth && ft(t, n) === i).filter((e) => e.branch).map((e) => e.key), o = [.../* @__PURE__ */ new Set([...R, ...a])];
584
+ E(o, R) || B(o, "keyboard", e);
585
+ return;
586
+ }
587
+ }
588
+ if (!N.typeahead || !ae(e.key) || e.ctrlKey || e.metaKey) return;
589
+ let c = xt.current?.match(e.key, t.map((e) => e.label), n);
590
+ c !== void 0 && c !== -1 && (s(), J(t, c, e));
591
+ }, X = N.focusMode === "activedescendant" || N.focusMode === "auto" && N.virtual, Ct = (e) => {
592
+ if (e.target !== F.current || X) return;
593
+ let t = H();
594
+ if (t.length === 0) return;
595
+ let n = t.find((e) => W.has(e.key) && !e.disabled) ?? t.find((e) => !e.disabled);
596
+ n !== void 0 && (V(n.key, "keyboard", e), n.element.focus());
597
+ }, wt = s((e) => {
598
+ if (I === void 0) return R;
599
+ let t = I.ancestorsOf(e);
600
+ return [.../* @__PURE__ */ new Set([...R, ...t])];
601
+ }, [I, R]);
602
+ ne(ye, () => ({
603
+ focus: () => {
604
+ let e = H();
605
+ ((e.find((e) => e.key === z) ?? e[0])?.element ?? F.current)?.focus();
606
+ },
607
+ scrollToKey: (e, t = "nearest") => {
608
+ let n = wt(e);
609
+ E(n, R) || B(n, "programmatic", void 0), H().find((t) => t.key === e)?.element.scrollIntoView({ block: t === "nearest" ? "nearest" : t });
610
+ },
611
+ expand: (e) => {
612
+ let t = [.../* @__PURE__ */ new Set([...wt(e), e])];
613
+ E(t, R) || B(t, "programmatic", void 0);
614
+ },
615
+ collapse: (e) => q(e, !1, "programmatic", void 0),
616
+ expandAll: () => {
617
+ I !== void 0 && B(I.branchKeys, "programmatic", void 0);
618
+ },
619
+ collapseAll: () => B([], "programmatic", void 0),
620
+ getActiveKey: () => z,
621
+ getElement: () => Qe.current
622
+ }), [
623
+ z,
624
+ I,
625
+ R,
626
+ H,
627
+ B,
628
+ wt,
629
+ q
630
+ ]);
631
+ let Z = N.virtual && I !== void 0, Q = u(() => I === void 0 ? [] : I.visible(R), [I, R]), [Tt, Et] = f(0), [Dt, Ot] = f(0);
632
+ (typeof window > "u" ? ee : l)(() => {
633
+ if (!Z) return;
634
+ let e = Qe.current;
635
+ if (e === null) return;
636
+ let t = () => {
637
+ Et(e.clientHeight), Ot(e.scrollTop);
638
+ };
639
+ t(), e.addEventListener("scroll", t, { passive: !0 });
640
+ let n = typeof ResizeObserver > "u" ? void 0 : new ResizeObserver(t);
641
+ return n?.observe(e), () => {
642
+ e.removeEventListener("scroll", t), n?.disconnect();
643
+ };
644
+ }, [Z]);
645
+ let $ = u(() => {
646
+ if (!Z) return;
647
+ let e = Q.findIndex((e) => e.key === z), t = Q.findIndex((e) => e.key === G.current);
648
+ return _({
649
+ itemCount: Q.length,
650
+ itemSize: N.itemSize,
651
+ overscan: N.overscan,
652
+ pinned: [e, t].filter((e) => e !== -1),
653
+ scrollOffset: Dt,
654
+ viewportSize: Tt
655
+ });
656
+ }, [
657
+ z,
658
+ N.itemSize,
659
+ N.overscan,
660
+ Dt,
661
+ Tt,
662
+ Q,
663
+ Z
664
+ ]), kt = u(() => {
665
+ if (I !== void 0 && P === "flat") return I;
666
+ }, [I, P]), At = {
667
+ disabled: N.disabled,
668
+ expandOn: N.expandOn,
669
+ guides: N.guides,
670
+ holdsSelection: _t,
671
+ indicator: Ze,
672
+ isActive: (e) => e === z,
673
+ isExpanded: (e) => gt(e),
674
+ isIndeterminate: (e) => ht.has(e),
675
+ isNodeDisabled: (e) => H().find((t) => t.key === e)?.disabled === !0,
676
+ isSelected: (e) => W.has(e),
677
+ labelId: (e) => `${$e}-label-${e}`,
678
+ levelOf: (e) => {
679
+ let t = kt?.nodeFor(e);
680
+ return t === void 0 ? void 0 : t.level + 1;
681
+ },
682
+ nodeId: (e) => `${$e}-node-${e}`,
683
+ nodeTabIndex: (e) => {
684
+ if (!X) return z === null ? -1 : e === z ? 0 : -1;
685
+ },
686
+ posInSetOf: (e) => kt?.nodeFor(e)?.posInSet,
687
+ press: vt,
688
+ pressExpander: yt,
689
+ pressIndicator: bt,
690
+ readOnly: A,
691
+ selectionMode: N.selectionMode,
692
+ setSizeOf: (e) => kt?.nodeFor(e)?.setSize,
693
+ structure: P
694
+ }, jt = s((e) => T ? T(e) : w?.(e) ?? "", [w, T]), Mt = s((e) => k === void 0 || k.trim() === "" ? e : g(e, k).map((e, t) => e.matched ? /* @__PURE__ */ p("mark", { children: e.text }, t) : e.text), [k]), Nt = (e) => I === void 0 ? null : e.map((e) => {
695
+ let t = I.nodeFor(e);
696
+ if (t === void 0 || U !== void 0 && !U.kept.has(e)) return null;
697
+ let n = gt(e);
698
+ return /* @__PURE__ */ p(S, {
699
+ value: e,
700
+ label: Ie ? Ie(t.item, e) : Mt(jt(t.item)),
701
+ ...t.disabled ? { disabled: !0 } : {},
702
+ ...t.hasChildren ? { hasChildren: !0 } : {},
703
+ ...Ce?.(t.item) === !0 ? { loading: !0 } : {},
704
+ ...U === void 0 ? {} : { match: U.hits.has(e) ? "hit" : "ancestor" },
705
+ textValue: jt(t.item),
706
+ children: t.hasChildren && n && t.children.length > 0 ? Nt(t.children) : void 0
707
+ }, e);
708
+ }), Pt = (e, t) => /* @__PURE__ */ p(S, {
709
+ value: e.key,
710
+ depth: e.level,
711
+ label: Ie ? Ie(e.item, e.key) : Mt(jt(e.item)),
712
+ ...e.disabled ? { disabled: !0 } : {},
713
+ ...e.hasChildren ? { hasChildren: !0 } : {},
714
+ ...Ce?.(e.item) === !0 ? { loading: !0 } : {},
715
+ ...t ? {
716
+ pinned: !0,
717
+ offset: Q.indexOf(e) * N.itemSize
718
+ } : {},
719
+ textValue: jt(e.item)
720
+ }, e.key), Ft = I === void 0 ? t : P === "flat" ? Z ? (() => {
721
+ if ($ === void 0) return null;
722
+ let e = Q.slice($.startIndex, $.endIndex).map((e) => Pt(e, !1));
723
+ return [...[...$.pinnedBefore, ...$.pinnedAfter].map((e) => Q[e]).filter((e) => e !== void 0).map((e) => Pt(e, !0)), ...e];
724
+ })() : Q.map((e) => Pt(e, !1)) : Nt(I.roots), It = I === void 0 ? !1 : I.nodes.length === 0 || U !== void 0 && U.kept.size === 0, Lt = r({
725
+ ...Xe,
726
+ ...N.disabled ? { "data-disabled": "" } : {},
727
+ "data-expand-on": N.expandOn,
728
+ "data-focus-mode": X ? "activedescendant" : "roving",
729
+ "data-guides": N.guides ? "true" : "false",
730
+ "data-indicator": Ze,
731
+ ...xe === !0 ? { "data-invalid": "" } : {},
732
+ ...Te === !0 ? { "data-loading": "" } : {},
733
+ "data-part": "root",
734
+ ...A === !0 ? { "data-readonly": "" } : {},
735
+ ...Le === !0 ? { "data-required": "" } : {},
736
+ "data-selection": N.selectionMode,
737
+ "data-size": N.size,
738
+ "data-structure": P,
739
+ "data-ui": "tree",
740
+ "data-variant": N.variant
741
+ }), Rt = /* @__PURE__ */ p("ul", {
742
+ ref: F,
743
+ "data-part": "canvas",
744
+ "data-part-canvas": "",
745
+ role: "tree",
746
+ "aria-busy": Te === !0 || void 0,
747
+ "aria-disabled": N.disabled ? !0 : void 0,
748
+ "aria-invalid": xe === !0 || void 0,
749
+ "aria-label": Xe["aria-label"],
750
+ "aria-labelledby": Xe["aria-labelledby"],
751
+ "aria-multiselectable": N.selectionMode === "multiple" || void 0,
752
+ "aria-required": Le === !0 || void 0,
753
+ ...X && z !== null ? { "aria-activedescendant": At.nodeId(z) } : {},
754
+ onFocus: Ct,
755
+ onKeyDown: St,
756
+ style: $ === void 0 ? void 0 : {
757
+ "--_canvas-size": `${$.totalSize}px`,
758
+ "--_canvas-offset": `${$.startOffset}px`
759
+ },
760
+ tabIndex: X || z === null ? 0 : -1,
761
+ children: /* @__PURE__ */ p(de.Provider, {
762
+ value: 0,
763
+ children: Ft
764
+ })
765
+ }), zt = /* @__PURE__ */ re(v.Provider, {
766
+ value: At,
767
+ children: [
768
+ Rt,
769
+ It && y !== void 0 ? /* @__PURE__ */ p("div", {
770
+ "data-part": "empty",
771
+ "data-part-empty": "",
772
+ children: y
773
+ }) : null,
774
+ De === void 0 ? null : L.map((e) => /* @__PURE__ */ p("input", {
775
+ type: "hidden",
776
+ name: De,
777
+ value: e,
778
+ readOnly: !0
779
+ }, e))
780
+ ]
781
+ });
782
+ return Fe ? Fe({
783
+ ...Lt,
784
+ children: zt
785
+ }) : /* @__PURE__ */ p("div", {
786
+ ...Lt,
787
+ ref: (e) => {
788
+ Qe.current = e, typeof j == "function" ? j(e) : j != null && (j.current = e);
789
+ },
790
+ children: zt
791
+ });
792
+ }
793
+ //#endregion
794
+ export { w as a, S as c, ue as d, fe as f, me as i, x as l, C as n, he as o, T as r, ge as s, D as t, b as u };