@ifhover/leaf-ui 0.6.0 → 0.7.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 (659) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/autocomplete/autocomplete.cjs +7 -3
  3. package/dist/cjs/autocomplete/autocomplete.cjs.map +1 -1
  4. package/dist/cjs/autocomplete/autocomplete.d.cts +2 -0
  5. package/dist/cjs/autocomplete/autocomplete.d.cts.map +1 -1
  6. package/dist/cjs/browser/modules/autocomplete/autocomplete.cjs +7 -3
  7. package/dist/cjs/browser/modules/autocomplete/autocomplete.cjs.map +1 -1
  8. package/dist/cjs/browser/modules/button/button.cjs.map +1 -1
  9. package/dist/cjs/browser/modules/cascader/cascader.cjs +9 -2
  10. package/dist/cjs/browser/modules/cascader/cascader.cjs.map +1 -1
  11. package/dist/cjs/browser/modules/colors.cjs +73 -7
  12. package/dist/cjs/browser/modules/colors.cjs.map +1 -1
  13. package/dist/cjs/browser/modules/commandpalette/commandpalette.cjs +10 -3
  14. package/dist/cjs/browser/modules/commandpalette/commandpalette.cjs.map +1 -1
  15. package/dist/cjs/browser/modules/config-provider/component-defaults.cjs.map +1 -1
  16. package/dist/cjs/browser/modules/config-provider/use-color-variables.cjs +18 -2
  17. package/dist/cjs/browser/modules/config-provider/use-color-variables.cjs.map +1 -1
  18. package/dist/cjs/browser/modules/drawer/drawer.cjs +7 -1
  19. package/dist/cjs/browser/modules/drawer/drawer.cjs.map +1 -1
  20. package/dist/cjs/browser/modules/dropdown/dropdown.cjs +25 -4
  21. package/dist/cjs/browser/modules/dropdown/dropdown.cjs.map +1 -1
  22. package/dist/cjs/browser/modules/form/form.cjs +38 -21
  23. package/dist/cjs/browser/modules/form/form.cjs.map +1 -1
  24. package/dist/cjs/browser/modules/image/viewer.cjs +8 -2
  25. package/dist/cjs/browser/modules/image/viewer.cjs.map +1 -1
  26. package/dist/cjs/browser/modules/index.cjs +3 -4
  27. package/dist/cjs/browser/modules/layout/layout.cjs +4 -1
  28. package/dist/cjs/browser/modules/layout/layout.cjs.map +1 -1
  29. package/dist/cjs/browser/modules/mentions/mentions.cjs +4 -2
  30. package/dist/cjs/browser/modules/mentions/mentions.cjs.map +1 -1
  31. package/dist/cjs/browser/modules/menu/index.cjs +5 -2
  32. package/dist/cjs/browser/modules/menu/menu.cjs +60 -18
  33. package/dist/cjs/browser/modules/menu/menu.cjs.map +1 -1
  34. package/dist/cjs/browser/modules/scrollbar/scrollbar.cjs +69 -19
  35. package/dist/cjs/browser/modules/scrollbar/scrollbar.cjs.map +1 -1
  36. package/dist/cjs/browser/modules/select/select.cjs +3 -3
  37. package/dist/cjs/browser/modules/select/select.cjs.map +1 -1
  38. package/dist/cjs/browser/modules/shared/floating.cjs +49 -20
  39. package/dist/cjs/browser/modules/shared/floating.cjs.map +1 -1
  40. package/dist/cjs/browser/modules/shared/scoped-portal.cjs +2 -23
  41. package/dist/cjs/browser/modules/shared/scoped-portal.cjs.map +1 -1
  42. package/dist/cjs/browser/modules/{segmented/index.cjs → shared/theme-variables.cjs} +27 -5
  43. package/dist/cjs/browser/modules/shared/theme-variables.cjs.map +1 -0
  44. package/dist/cjs/browser/modules/splitter/splitter.cjs +4 -1
  45. package/dist/cjs/browser/modules/splitter/splitter.cjs.map +1 -1
  46. package/dist/cjs/browser/modules/tabs/tabs.cjs +14 -8
  47. package/dist/cjs/browser/modules/tabs/tabs.cjs.map +1 -1
  48. package/dist/cjs/browser/modules/tailwind-tokens.cjs +1 -1
  49. package/dist/cjs/browser/modules/tailwind-tokens.cjs.map +1 -1
  50. package/dist/cjs/browser/modules/textarea/textarea.cjs +49 -21
  51. package/dist/cjs/browser/modules/textarea/textarea.cjs.map +1 -1
  52. package/dist/cjs/browser/modules/theme.cjs +53 -29
  53. package/dist/cjs/browser/modules/theme.cjs.map +1 -1
  54. package/dist/cjs/browser/modules/timeline/timeline.cjs +1 -1
  55. package/dist/cjs/browser/modules/timeline/timeline.cjs.map +1 -1
  56. package/dist/cjs/browser/modules/timepicker/time-panel.cjs +8 -2
  57. package/dist/cjs/browser/modules/timepicker/time-panel.cjs.map +1 -1
  58. package/dist/cjs/browser/modules/transfer/transfer.cjs +5 -5
  59. package/dist/cjs/browser/modules/transfer/transfer.cjs.map +1 -1
  60. package/dist/cjs/browser/modules/tree/tree.cjs +13 -6
  61. package/dist/cjs/browser/modules/tree/tree.cjs.map +1 -1
  62. package/dist/cjs/browser/modules/treeselect/treeselect.cjs +5 -4
  63. package/dist/cjs/browser/modules/treeselect/treeselect.cjs.map +1 -1
  64. package/dist/cjs/browser/modules/virtuallist/virtuallist.cjs +9 -3
  65. package/dist/cjs/browser/modules/virtuallist/virtuallist.cjs.map +1 -1
  66. package/dist/cjs/button/button.cjs.map +1 -1
  67. package/dist/cjs/button/button.d.cts +7 -2
  68. package/dist/cjs/button/button.d.cts.map +1 -1
  69. package/dist/cjs/cascader/cascader.cjs +9 -2
  70. package/dist/cjs/cascader/cascader.cjs.map +1 -1
  71. package/dist/cjs/cascader/cascader.d.cts +2 -0
  72. package/dist/cjs/cascader/cascader.d.cts.map +1 -1
  73. package/dist/cjs/colors.cjs +73 -7
  74. package/dist/cjs/colors.cjs.map +1 -1
  75. package/dist/cjs/colors.d.cts +3 -1
  76. package/dist/cjs/colors.d.cts.map +1 -1
  77. package/dist/cjs/commandpalette/commandpalette.cjs +10 -3
  78. package/dist/cjs/commandpalette/commandpalette.cjs.map +1 -1
  79. package/dist/cjs/commandpalette/commandpalette.d.cts.map +1 -1
  80. package/dist/cjs/config-provider/component-defaults.cjs.map +1 -1
  81. package/dist/cjs/config-provider/component-defaults.d.cts +3 -4
  82. package/dist/cjs/config-provider/component-defaults.d.cts.map +1 -1
  83. package/dist/cjs/config-provider/index.d.cts +1 -1
  84. package/dist/cjs/config-provider/index.d.cts.map +1 -1
  85. package/dist/cjs/config-provider/use-color-variables.cjs +18 -2
  86. package/dist/cjs/config-provider/use-color-variables.cjs.map +1 -1
  87. package/dist/cjs/config-provider/use-color-variables.d.cts.map +1 -1
  88. package/dist/cjs/drawer/drawer.cjs +7 -1
  89. package/dist/cjs/drawer/drawer.cjs.map +1 -1
  90. package/dist/cjs/drawer/drawer.d.cts.map +1 -1
  91. package/dist/cjs/dropdown/dropdown.cjs +25 -4
  92. package/dist/cjs/dropdown/dropdown.cjs.map +1 -1
  93. package/dist/cjs/dropdown/dropdown.d.cts +9 -1
  94. package/dist/cjs/dropdown/dropdown.d.cts.map +1 -1
  95. package/dist/cjs/form/form.cjs +38 -21
  96. package/dist/cjs/form/form.cjs.map +1 -1
  97. package/dist/cjs/form/form.d.cts +3 -1
  98. package/dist/cjs/form/form.d.cts.map +1 -1
  99. package/dist/cjs/image/viewer.cjs +8 -2
  100. package/dist/cjs/image/viewer.cjs.map +1 -1
  101. package/dist/cjs/image/viewer.d.cts.map +1 -1
  102. package/dist/cjs/index.cjs +3 -4
  103. package/dist/cjs/index.d.cts +3 -5
  104. package/dist/cjs/index.d.cts.map +1 -1
  105. package/dist/cjs/layout/layout.cjs +4 -1
  106. package/dist/cjs/layout/layout.cjs.map +1 -1
  107. package/dist/cjs/layout/layout.d.cts.map +1 -1
  108. package/dist/cjs/mentions/mentions.cjs +4 -2
  109. package/dist/cjs/mentions/mentions.cjs.map +1 -1
  110. package/dist/cjs/mentions/mentions.d.cts +2 -0
  111. package/dist/cjs/mentions/mentions.d.cts.map +1 -1
  112. package/dist/cjs/menu/index.cjs +5 -2
  113. package/dist/cjs/menu/index.d.cts +2 -2
  114. package/dist/cjs/menu/index.d.cts.map +1 -1
  115. package/dist/cjs/menu/menu.cjs +60 -18
  116. package/dist/cjs/menu/menu.cjs.map +1 -1
  117. package/dist/cjs/menu/menu.d.cts +4 -0
  118. package/dist/cjs/menu/menu.d.cts.map +1 -1
  119. package/dist/cjs/scrollbar/scrollbar.cjs +69 -19
  120. package/dist/cjs/scrollbar/scrollbar.cjs.map +1 -1
  121. package/dist/cjs/scrollbar/scrollbar.d.cts +12 -2
  122. package/dist/cjs/scrollbar/scrollbar.d.cts.map +1 -1
  123. package/dist/cjs/select/select.cjs +3 -3
  124. package/dist/cjs/select/select.cjs.map +1 -1
  125. package/dist/cjs/shared/floating.cjs +49 -20
  126. package/dist/cjs/shared/floating.cjs.map +1 -1
  127. package/dist/cjs/shared/floating.d.cts +3 -1
  128. package/dist/cjs/shared/floating.d.cts.map +1 -1
  129. package/dist/cjs/shared/scoped-portal.cjs +2 -23
  130. package/dist/cjs/shared/scoped-portal.cjs.map +1 -1
  131. package/dist/cjs/shared/scoped-portal.d.cts.map +1 -1
  132. package/dist/cjs/{segmented/index.cjs → shared/theme-variables.cjs} +27 -5
  133. package/dist/cjs/shared/theme-variables.cjs.map +1 -0
  134. package/dist/cjs/shared/theme-variables.d.cts +4 -0
  135. package/dist/cjs/shared/theme-variables.d.cts.map +1 -0
  136. package/dist/cjs/splitter/splitter.cjs +4 -1
  137. package/dist/cjs/splitter/splitter.cjs.map +1 -1
  138. package/dist/cjs/splitter/splitter.d.cts.map +1 -1
  139. package/dist/cjs/styles/alert.css +1 -1
  140. package/dist/cjs/styles/anchor.css +1 -1
  141. package/dist/cjs/styles/appbar.css +1 -1
  142. package/dist/cjs/styles/autocomplete.css +1 -1
  143. package/dist/cjs/styles/avatar.css +1 -1
  144. package/dist/cjs/styles/backtop.css +1 -1
  145. package/dist/cjs/styles/badge.css +1 -1
  146. package/dist/cjs/styles/breadcrumb.css +1 -1
  147. package/dist/cjs/styles/button.css +1 -1
  148. package/dist/cjs/styles/calendar.css +1 -1
  149. package/dist/cjs/styles/card.css +1 -1
  150. package/dist/cjs/styles/carousel.css +1 -1
  151. package/dist/cjs/styles/cascader.css +1 -1
  152. package/dist/cjs/styles/checkbox.css +1 -1
  153. package/dist/cjs/styles/collapse.css +1 -1
  154. package/dist/cjs/styles/colorpicker.css +1 -1
  155. package/dist/cjs/styles/commandpalette.css +1 -1
  156. package/dist/cjs/styles/components/alert.css +1 -1
  157. package/dist/cjs/styles/components/anchor.css +1 -1
  158. package/dist/cjs/styles/components/appbar.css +1 -1
  159. package/dist/cjs/styles/components/autocomplete.css +1 -1
  160. package/dist/cjs/styles/components/avatar.css +1 -1
  161. package/dist/cjs/styles/components/breadcrumb.css +1 -1
  162. package/dist/cjs/styles/components/button.css +1 -1
  163. package/dist/cjs/styles/components/calendar.css +1 -1
  164. package/dist/cjs/styles/components/card.css +1 -1
  165. package/dist/cjs/styles/components/carousel.css +1 -1
  166. package/dist/cjs/styles/components/cascader.css +1 -1
  167. package/dist/cjs/styles/components/checkbox.css +1 -1
  168. package/dist/cjs/styles/components/collapse.css +1 -1
  169. package/dist/cjs/styles/components/colorpicker.css +1 -1
  170. package/dist/cjs/styles/components/commandpalette.css +1 -1
  171. package/dist/cjs/styles/components/datepicker.css +1 -1
  172. package/dist/cjs/styles/components/descriptions.css +1 -1
  173. package/dist/cjs/styles/components/drawer.css +1 -1
  174. package/dist/cjs/styles/components/dropdown.css +1 -1
  175. package/dist/cjs/styles/components/errorboundary.css +1 -1
  176. package/dist/cjs/styles/components/filelist.css +1 -1
  177. package/dist/cjs/styles/components/form.css +1 -1
  178. package/dist/cjs/styles/components/image.css +1 -1
  179. package/dist/cjs/styles/components/input.css +1 -1
  180. package/dist/cjs/styles/components/inputnumber.css +1 -1
  181. package/dist/cjs/styles/components/inputotp.css +1 -1
  182. package/dist/cjs/styles/components/layout.css +1 -1
  183. package/dist/cjs/styles/components/loading.css +1 -1
  184. package/dist/cjs/styles/components/loadingbar.css +1 -1
  185. package/dist/cjs/styles/components/mentions.css +1 -1
  186. package/dist/cjs/styles/components/menu.css +1 -1
  187. package/dist/cjs/styles/components/message.css +1 -1
  188. package/dist/cjs/styles/components/modal.css +1 -1
  189. package/dist/cjs/styles/components/notification.css +1 -1
  190. package/dist/cjs/styles/components/pagination.css +1 -1
  191. package/dist/cjs/styles/components/popover.css +1 -1
  192. package/dist/cjs/styles/components/progress.css +1 -1
  193. package/dist/cjs/styles/components/radio.css +1 -1
  194. package/dist/cjs/styles/components/rate.css +1 -1
  195. package/dist/cjs/styles/components/scrollarea.css +1 -1
  196. package/dist/cjs/styles/components/scrollbar.css +1 -1
  197. package/dist/cjs/styles/components/select.css +1 -1
  198. package/dist/cjs/styles/components/shared-calendar.css +1 -1
  199. package/dist/cjs/styles/components/slider.css +1 -1
  200. package/dist/cjs/styles/components/splitter.css +1 -1
  201. package/dist/cjs/styles/components/steps.css +1 -1
  202. package/dist/cjs/styles/components/switch.css +1 -1
  203. package/dist/cjs/styles/components/table.css +1 -1
  204. package/dist/cjs/styles/components/tabletanstack.css +1 -1
  205. package/dist/cjs/styles/components/tabs.css +1 -1
  206. package/dist/cjs/styles/components/tag.css +1 -1
  207. package/dist/cjs/styles/components/textarea.css +1 -1
  208. package/dist/cjs/styles/components/timepicker.css +1 -1
  209. package/dist/cjs/styles/components/tooltip.css +1 -1
  210. package/dist/cjs/styles/components/tour.css +1 -1
  211. package/dist/cjs/styles/components/transfer.css +1 -1
  212. package/dist/cjs/styles/components/tree.css +1 -1
  213. package/dist/cjs/styles/components/treeselect.css +1 -1
  214. package/dist/cjs/styles/components/typography.css +1 -1
  215. package/dist/cjs/styles/components/upload.css +1 -1
  216. package/dist/cjs/styles/components/virtuallist.css +1 -1
  217. package/dist/cjs/styles/config-provider.css +1 -1
  218. package/dist/cjs/styles/confirm.css +1 -1
  219. package/dist/cjs/styles/datepicker.css +1 -1
  220. package/dist/cjs/styles/daterangepicker.css +1 -1
  221. package/dist/cjs/styles/datetimepicker.css +1 -1
  222. package/dist/cjs/styles/descriptions.css +1 -1
  223. package/dist/cjs/styles/divider.css +1 -1
  224. package/dist/cjs/styles/drawer.css +1 -1
  225. package/dist/cjs/styles/dropdown.css +1 -1
  226. package/dist/cjs/styles/empty.css +1 -1
  227. package/dist/cjs/styles/errorboundary.css +1 -1
  228. package/dist/cjs/styles/filelist.css +1 -1
  229. package/dist/cjs/styles/flex.css +1 -1
  230. package/dist/cjs/styles/floatbutton.css +1 -1
  231. package/dist/cjs/styles/form.css +1 -1
  232. package/dist/cjs/styles/foundation.css +1 -1
  233. package/dist/cjs/styles/grid.css +1 -1
  234. package/dist/cjs/styles/image.css +1 -1
  235. package/dist/cjs/styles/index.css +1380 -716
  236. package/dist/cjs/styles/index.css.map +1 -1
  237. package/dist/cjs/styles/infinitescroll.css +1 -1
  238. package/dist/cjs/styles/input.css +1 -1
  239. package/dist/cjs/styles/inputmask.css +1 -1
  240. package/dist/cjs/styles/inputnumber.css +1 -1
  241. package/dist/cjs/styles/inputotp.css +1 -1
  242. package/dist/cjs/styles/layout.css +1 -1
  243. package/dist/cjs/styles/loading.css +1 -1
  244. package/dist/cjs/styles/loadingbar.css +1 -1
  245. package/dist/cjs/styles/masonry.css +1 -1
  246. package/dist/cjs/styles/mentions.css +1 -1
  247. package/dist/cjs/styles/menu.css +1 -1
  248. package/dist/cjs/styles/message.css +1 -1
  249. package/dist/cjs/styles/modal.css +1 -1
  250. package/dist/cjs/styles/notification.css +1 -1
  251. package/dist/cjs/styles/pagination.css +1 -1
  252. package/dist/cjs/styles/popconfirm.css +1 -1
  253. package/dist/cjs/styles/popover.css +1 -1
  254. package/dist/cjs/styles/progress.css +1 -1
  255. package/dist/cjs/styles/qrcode.css +1 -1
  256. package/dist/cjs/styles/radio.css +1 -1
  257. package/dist/cjs/styles/rate.css +1 -1
  258. package/dist/cjs/styles/result.css +1 -1
  259. package/dist/cjs/styles/scrollarea.css +1 -1
  260. package/dist/cjs/styles/scrollbar.css +1 -1
  261. package/dist/cjs/styles/select.css +1 -1
  262. package/dist/cjs/styles/skeleton.css +1 -1
  263. package/dist/cjs/styles/slider.css +1 -1
  264. package/dist/cjs/styles/space.css +1 -1
  265. package/dist/cjs/styles/splitter.css +1 -1
  266. package/dist/cjs/styles/statistic.css +1 -1
  267. package/dist/cjs/styles/steps.css +1 -1
  268. package/dist/cjs/styles/switch.css +1 -1
  269. package/dist/cjs/styles/table.css +1 -1
  270. package/dist/cjs/styles/tabletanstack.css +1 -1
  271. package/dist/cjs/styles/tabs.css +1 -1
  272. package/dist/cjs/styles/tag.css +1 -1
  273. package/dist/cjs/styles/textarea.css +1 -1
  274. package/dist/cjs/styles/timeline.css +1 -1
  275. package/dist/cjs/styles/timepicker.css +1 -1
  276. package/dist/cjs/styles/timerangepicker.css +1 -1
  277. package/dist/cjs/styles/tooltip.css +1 -1
  278. package/dist/cjs/styles/tour.css +1 -1
  279. package/dist/cjs/styles/transfer.css +1 -1
  280. package/dist/cjs/styles/tree.css +1 -1
  281. package/dist/cjs/styles/treeselect.css +1 -1
  282. package/dist/cjs/styles/typography.css +1 -1
  283. package/dist/cjs/styles/upload.css +1 -1
  284. package/dist/cjs/styles/virtuallist.css +1 -1
  285. package/dist/cjs/tabs/tabs.cjs +14 -8
  286. package/dist/cjs/tabs/tabs.cjs.map +1 -1
  287. package/dist/cjs/tabs/tabs.d.cts +4 -2
  288. package/dist/cjs/tabs/tabs.d.cts.map +1 -1
  289. package/dist/cjs/tailwind-tokens.cjs +1 -1
  290. package/dist/cjs/tailwind-tokens.cjs.map +1 -1
  291. package/dist/cjs/tailwind-tokens.d.cts.map +1 -1
  292. package/dist/cjs/textarea/textarea.cjs +49 -21
  293. package/dist/cjs/textarea/textarea.cjs.map +1 -1
  294. package/dist/cjs/textarea/textarea.d.cts.map +1 -1
  295. package/dist/cjs/theme.cjs +53 -29
  296. package/dist/cjs/theme.cjs.map +1 -1
  297. package/dist/cjs/theme.d.cts +15 -0
  298. package/dist/cjs/theme.d.cts.map +1 -1
  299. package/dist/cjs/timeline/timeline.cjs +1 -1
  300. package/dist/cjs/timeline/timeline.cjs.map +1 -1
  301. package/dist/cjs/timeline/timeline.d.cts.map +1 -1
  302. package/dist/cjs/timepicker/time-panel.cjs +8 -2
  303. package/dist/cjs/timepicker/time-panel.cjs.map +1 -1
  304. package/dist/cjs/timepicker/time-panel.d.cts.map +1 -1
  305. package/dist/cjs/transfer/transfer.cjs +5 -5
  306. package/dist/cjs/transfer/transfer.cjs.map +1 -1
  307. package/dist/cjs/transfer/transfer.d.cts.map +1 -1
  308. package/dist/cjs/tree/tree.cjs +13 -6
  309. package/dist/cjs/tree/tree.cjs.map +1 -1
  310. package/dist/cjs/tree/tree.d.cts.map +1 -1
  311. package/dist/cjs/treeselect/treeselect.cjs +5 -4
  312. package/dist/cjs/treeselect/treeselect.cjs.map +1 -1
  313. package/dist/cjs/treeselect/treeselect.d.cts.map +1 -1
  314. package/dist/cjs/virtuallist/virtuallist.cjs +9 -3
  315. package/dist/cjs/virtuallist/virtuallist.cjs.map +1 -1
  316. package/dist/cjs/virtuallist/virtuallist.d.cts.map +1 -1
  317. package/dist/esm/autocomplete/autocomplete.d.ts +2 -0
  318. package/dist/esm/autocomplete/autocomplete.d.ts.map +1 -1
  319. package/dist/esm/autocomplete/autocomplete.js +7 -3
  320. package/dist/esm/autocomplete/autocomplete.js.map +1 -1
  321. package/dist/esm/browser/modules/autocomplete/autocomplete.js +7 -3
  322. package/dist/esm/browser/modules/autocomplete/autocomplete.js.map +1 -1
  323. package/dist/esm/browser/modules/button/button.js.map +1 -1
  324. package/dist/esm/browser/modules/cascader/cascader.js +9 -2
  325. package/dist/esm/browser/modules/cascader/cascader.js.map +1 -1
  326. package/dist/esm/browser/modules/colors.js +69 -6
  327. package/dist/esm/browser/modules/colors.js.map +1 -1
  328. package/dist/esm/browser/modules/commandpalette/commandpalette.js +10 -3
  329. package/dist/esm/browser/modules/commandpalette/commandpalette.js.map +1 -1
  330. package/dist/esm/browser/modules/config-provider/component-defaults.js.map +1 -1
  331. package/dist/esm/browser/modules/config-provider/use-color-variables.js +18 -2
  332. package/dist/esm/browser/modules/config-provider/use-color-variables.js.map +1 -1
  333. package/dist/esm/browser/modules/drawer/drawer.js +7 -1
  334. package/dist/esm/browser/modules/drawer/drawer.js.map +1 -1
  335. package/dist/esm/browser/modules/dropdown/dropdown.js +25 -4
  336. package/dist/esm/browser/modules/dropdown/dropdown.js.map +1 -1
  337. package/dist/esm/browser/modules/form/form.js +38 -21
  338. package/dist/esm/browser/modules/form/form.js.map +1 -1
  339. package/dist/esm/browser/modules/image/viewer.js +8 -2
  340. package/dist/esm/browser/modules/image/viewer.js.map +1 -1
  341. package/dist/esm/browser/modules/index.js +1 -2
  342. package/dist/esm/browser/modules/layout/layout.js +4 -1
  343. package/dist/esm/browser/modules/layout/layout.js.map +1 -1
  344. package/dist/esm/browser/modules/mentions/mentions.js +4 -2
  345. package/dist/esm/browser/modules/mentions/mentions.js.map +1 -1
  346. package/dist/esm/browser/modules/menu/index.js +1 -1
  347. package/dist/esm/browser/modules/menu/menu.js +57 -18
  348. package/dist/esm/browser/modules/menu/menu.js.map +1 -1
  349. package/dist/esm/browser/modules/scrollbar/scrollbar.js +69 -19
  350. package/dist/esm/browser/modules/scrollbar/scrollbar.js.map +1 -1
  351. package/dist/esm/browser/modules/select/select.js +3 -3
  352. package/dist/esm/browser/modules/select/select.js.map +1 -1
  353. package/dist/esm/browser/modules/shared/floating.js +49 -20
  354. package/dist/esm/browser/modules/shared/floating.js.map +1 -1
  355. package/dist/esm/browser/modules/shared/scoped-portal.js +2 -23
  356. package/dist/esm/browser/modules/shared/scoped-portal.js.map +1 -1
  357. package/dist/esm/browser/modules/shared/theme-variables.js +27 -0
  358. package/dist/esm/browser/modules/shared/theme-variables.js.map +1 -0
  359. package/dist/esm/browser/modules/splitter/splitter.js +4 -1
  360. package/dist/esm/browser/modules/splitter/splitter.js.map +1 -1
  361. package/dist/esm/browser/modules/tabs/tabs.js +14 -8
  362. package/dist/esm/browser/modules/tabs/tabs.js.map +1 -1
  363. package/dist/esm/browser/modules/tailwind-tokens.js +1 -1
  364. package/dist/esm/browser/modules/tailwind-tokens.js.map +1 -1
  365. package/dist/esm/browser/modules/textarea/textarea.js +50 -22
  366. package/dist/esm/browser/modules/textarea/textarea.js.map +1 -1
  367. package/dist/esm/browser/modules/theme.js +53 -29
  368. package/dist/esm/browser/modules/theme.js.map +1 -1
  369. package/dist/esm/browser/modules/timeline/timeline.js +1 -1
  370. package/dist/esm/browser/modules/timeline/timeline.js.map +1 -1
  371. package/dist/esm/browser/modules/timepicker/time-panel.js +8 -2
  372. package/dist/esm/browser/modules/timepicker/time-panel.js.map +1 -1
  373. package/dist/esm/browser/modules/transfer/transfer.js +5 -5
  374. package/dist/esm/browser/modules/transfer/transfer.js.map +1 -1
  375. package/dist/esm/browser/modules/tree/tree.js +13 -6
  376. package/dist/esm/browser/modules/tree/tree.js.map +1 -1
  377. package/dist/esm/browser/modules/treeselect/treeselect.js +5 -4
  378. package/dist/esm/browser/modules/treeselect/treeselect.js.map +1 -1
  379. package/dist/esm/browser/modules/virtuallist/virtuallist.js +9 -3
  380. package/dist/esm/browser/modules/virtuallist/virtuallist.js.map +1 -1
  381. package/dist/esm/button/button.d.ts +7 -2
  382. package/dist/esm/button/button.d.ts.map +1 -1
  383. package/dist/esm/button/button.js.map +1 -1
  384. package/dist/esm/cascader/cascader.d.ts +2 -0
  385. package/dist/esm/cascader/cascader.d.ts.map +1 -1
  386. package/dist/esm/cascader/cascader.js +9 -2
  387. package/dist/esm/cascader/cascader.js.map +1 -1
  388. package/dist/esm/colors.d.ts +3 -1
  389. package/dist/esm/colors.d.ts.map +1 -1
  390. package/dist/esm/colors.js +69 -6
  391. package/dist/esm/colors.js.map +1 -1
  392. package/dist/esm/commandpalette/commandpalette.d.ts.map +1 -1
  393. package/dist/esm/commandpalette/commandpalette.js +10 -3
  394. package/dist/esm/commandpalette/commandpalette.js.map +1 -1
  395. package/dist/esm/config-provider/component-defaults.d.ts +3 -4
  396. package/dist/esm/config-provider/component-defaults.d.ts.map +1 -1
  397. package/dist/esm/config-provider/component-defaults.js.map +1 -1
  398. package/dist/esm/config-provider/index.d.ts +1 -1
  399. package/dist/esm/config-provider/index.d.ts.map +1 -1
  400. package/dist/esm/config-provider/use-color-variables.d.ts.map +1 -1
  401. package/dist/esm/config-provider/use-color-variables.js +18 -2
  402. package/dist/esm/config-provider/use-color-variables.js.map +1 -1
  403. package/dist/esm/drawer/drawer.d.ts.map +1 -1
  404. package/dist/esm/drawer/drawer.js +7 -1
  405. package/dist/esm/drawer/drawer.js.map +1 -1
  406. package/dist/esm/dropdown/dropdown.d.ts +9 -1
  407. package/dist/esm/dropdown/dropdown.d.ts.map +1 -1
  408. package/dist/esm/dropdown/dropdown.js +25 -4
  409. package/dist/esm/dropdown/dropdown.js.map +1 -1
  410. package/dist/esm/form/form.d.ts +3 -1
  411. package/dist/esm/form/form.d.ts.map +1 -1
  412. package/dist/esm/form/form.js +38 -21
  413. package/dist/esm/form/form.js.map +1 -1
  414. package/dist/esm/image/viewer.d.ts.map +1 -1
  415. package/dist/esm/image/viewer.js +8 -2
  416. package/dist/esm/image/viewer.js.map +1 -1
  417. package/dist/esm/index.d.ts +3 -5
  418. package/dist/esm/index.d.ts.map +1 -1
  419. package/dist/esm/index.js +1 -2
  420. package/dist/esm/layout/layout.d.ts.map +1 -1
  421. package/dist/esm/layout/layout.js +4 -1
  422. package/dist/esm/layout/layout.js.map +1 -1
  423. package/dist/esm/mentions/mentions.d.ts +2 -0
  424. package/dist/esm/mentions/mentions.d.ts.map +1 -1
  425. package/dist/esm/mentions/mentions.js +4 -2
  426. package/dist/esm/mentions/mentions.js.map +1 -1
  427. package/dist/esm/menu/index.d.ts +2 -2
  428. package/dist/esm/menu/index.d.ts.map +1 -1
  429. package/dist/esm/menu/index.js +1 -1
  430. package/dist/esm/menu/menu.d.ts +4 -0
  431. package/dist/esm/menu/menu.d.ts.map +1 -1
  432. package/dist/esm/menu/menu.js +57 -18
  433. package/dist/esm/menu/menu.js.map +1 -1
  434. package/dist/esm/scrollbar/scrollbar.d.ts +12 -2
  435. package/dist/esm/scrollbar/scrollbar.d.ts.map +1 -1
  436. package/dist/esm/scrollbar/scrollbar.js +69 -19
  437. package/dist/esm/scrollbar/scrollbar.js.map +1 -1
  438. package/dist/esm/select/select.js +3 -3
  439. package/dist/esm/select/select.js.map +1 -1
  440. package/dist/esm/shared/floating.d.ts +3 -1
  441. package/dist/esm/shared/floating.d.ts.map +1 -1
  442. package/dist/esm/shared/floating.js +49 -20
  443. package/dist/esm/shared/floating.js.map +1 -1
  444. package/dist/esm/shared/scoped-portal.d.ts.map +1 -1
  445. package/dist/esm/shared/scoped-portal.js +2 -23
  446. package/dist/esm/shared/scoped-portal.js.map +1 -1
  447. package/dist/esm/shared/theme-variables.d.ts +4 -0
  448. package/dist/esm/shared/theme-variables.d.ts.map +1 -0
  449. package/dist/esm/shared/theme-variables.js +27 -0
  450. package/dist/esm/shared/theme-variables.js.map +1 -0
  451. package/dist/esm/splitter/splitter.d.ts.map +1 -1
  452. package/dist/esm/splitter/splitter.js +4 -1
  453. package/dist/esm/splitter/splitter.js.map +1 -1
  454. package/dist/esm/styles/alert.css +1 -1
  455. package/dist/esm/styles/anchor.css +1 -1
  456. package/dist/esm/styles/appbar.css +1 -1
  457. package/dist/esm/styles/autocomplete.css +1 -1
  458. package/dist/esm/styles/avatar.css +1 -1
  459. package/dist/esm/styles/backtop.css +1 -1
  460. package/dist/esm/styles/badge.css +1 -1
  461. package/dist/esm/styles/breadcrumb.css +1 -1
  462. package/dist/esm/styles/button.css +1 -1
  463. package/dist/esm/styles/calendar.css +1 -1
  464. package/dist/esm/styles/card.css +1 -1
  465. package/dist/esm/styles/carousel.css +1 -1
  466. package/dist/esm/styles/cascader.css +1 -1
  467. package/dist/esm/styles/checkbox.css +1 -1
  468. package/dist/esm/styles/collapse.css +1 -1
  469. package/dist/esm/styles/colorpicker.css +1 -1
  470. package/dist/esm/styles/commandpalette.css +1 -1
  471. package/dist/esm/styles/components/alert.css +1 -1
  472. package/dist/esm/styles/components/anchor.css +1 -1
  473. package/dist/esm/styles/components/appbar.css +1 -1
  474. package/dist/esm/styles/components/autocomplete.css +1 -1
  475. package/dist/esm/styles/components/avatar.css +1 -1
  476. package/dist/esm/styles/components/breadcrumb.css +1 -1
  477. package/dist/esm/styles/components/button.css +1 -1
  478. package/dist/esm/styles/components/calendar.css +1 -1
  479. package/dist/esm/styles/components/card.css +1 -1
  480. package/dist/esm/styles/components/carousel.css +1 -1
  481. package/dist/esm/styles/components/cascader.css +1 -1
  482. package/dist/esm/styles/components/checkbox.css +1 -1
  483. package/dist/esm/styles/components/collapse.css +1 -1
  484. package/dist/esm/styles/components/colorpicker.css +1 -1
  485. package/dist/esm/styles/components/commandpalette.css +1 -1
  486. package/dist/esm/styles/components/datepicker.css +1 -1
  487. package/dist/esm/styles/components/descriptions.css +1 -1
  488. package/dist/esm/styles/components/drawer.css +1 -1
  489. package/dist/esm/styles/components/dropdown.css +1 -1
  490. package/dist/esm/styles/components/errorboundary.css +1 -1
  491. package/dist/esm/styles/components/filelist.css +1 -1
  492. package/dist/esm/styles/components/form.css +1 -1
  493. package/dist/esm/styles/components/image.css +1 -1
  494. package/dist/esm/styles/components/input.css +1 -1
  495. package/dist/esm/styles/components/inputnumber.css +1 -1
  496. package/dist/esm/styles/components/inputotp.css +1 -1
  497. package/dist/esm/styles/components/layout.css +1 -1
  498. package/dist/esm/styles/components/loading.css +1 -1
  499. package/dist/esm/styles/components/loadingbar.css +1 -1
  500. package/dist/esm/styles/components/mentions.css +1 -1
  501. package/dist/esm/styles/components/menu.css +1 -1
  502. package/dist/esm/styles/components/message.css +1 -1
  503. package/dist/esm/styles/components/modal.css +1 -1
  504. package/dist/esm/styles/components/notification.css +1 -1
  505. package/dist/esm/styles/components/pagination.css +1 -1
  506. package/dist/esm/styles/components/popover.css +1 -1
  507. package/dist/esm/styles/components/progress.css +1 -1
  508. package/dist/esm/styles/components/radio.css +1 -1
  509. package/dist/esm/styles/components/rate.css +1 -1
  510. package/dist/esm/styles/components/scrollarea.css +1 -1
  511. package/dist/esm/styles/components/scrollbar.css +1 -1
  512. package/dist/esm/styles/components/select.css +1 -1
  513. package/dist/esm/styles/components/shared-calendar.css +1 -1
  514. package/dist/esm/styles/components/slider.css +1 -1
  515. package/dist/esm/styles/components/splitter.css +1 -1
  516. package/dist/esm/styles/components/steps.css +1 -1
  517. package/dist/esm/styles/components/switch.css +1 -1
  518. package/dist/esm/styles/components/table.css +1 -1
  519. package/dist/esm/styles/components/tabletanstack.css +1 -1
  520. package/dist/esm/styles/components/tabs.css +1 -1
  521. package/dist/esm/styles/components/tag.css +1 -1
  522. package/dist/esm/styles/components/textarea.css +1 -1
  523. package/dist/esm/styles/components/timepicker.css +1 -1
  524. package/dist/esm/styles/components/tooltip.css +1 -1
  525. package/dist/esm/styles/components/tour.css +1 -1
  526. package/dist/esm/styles/components/transfer.css +1 -1
  527. package/dist/esm/styles/components/tree.css +1 -1
  528. package/dist/esm/styles/components/treeselect.css +1 -1
  529. package/dist/esm/styles/components/typography.css +1 -1
  530. package/dist/esm/styles/components/upload.css +1 -1
  531. package/dist/esm/styles/components/virtuallist.css +1 -1
  532. package/dist/esm/styles/config-provider.css +1 -1
  533. package/dist/esm/styles/confirm.css +1 -1
  534. package/dist/esm/styles/datepicker.css +1 -1
  535. package/dist/esm/styles/daterangepicker.css +1 -1
  536. package/dist/esm/styles/datetimepicker.css +1 -1
  537. package/dist/esm/styles/descriptions.css +1 -1
  538. package/dist/esm/styles/divider.css +1 -1
  539. package/dist/esm/styles/drawer.css +1 -1
  540. package/dist/esm/styles/dropdown.css +1 -1
  541. package/dist/esm/styles/empty.css +1 -1
  542. package/dist/esm/styles/errorboundary.css +1 -1
  543. package/dist/esm/styles/filelist.css +1 -1
  544. package/dist/esm/styles/flex.css +1 -1
  545. package/dist/esm/styles/floatbutton.css +1 -1
  546. package/dist/esm/styles/form.css +1 -1
  547. package/dist/esm/styles/foundation.css +1 -1
  548. package/dist/esm/styles/grid.css +1 -1
  549. package/dist/esm/styles/image.css +1 -1
  550. package/dist/esm/styles/index.css +1380 -716
  551. package/dist/esm/styles/index.css.map +1 -1
  552. package/dist/esm/styles/infinitescroll.css +1 -1
  553. package/dist/esm/styles/input.css +1 -1
  554. package/dist/esm/styles/inputmask.css +1 -1
  555. package/dist/esm/styles/inputnumber.css +1 -1
  556. package/dist/esm/styles/inputotp.css +1 -1
  557. package/dist/esm/styles/layout.css +1 -1
  558. package/dist/esm/styles/loading.css +1 -1
  559. package/dist/esm/styles/loadingbar.css +1 -1
  560. package/dist/esm/styles/masonry.css +1 -1
  561. package/dist/esm/styles/mentions.css +1 -1
  562. package/dist/esm/styles/menu.css +1 -1
  563. package/dist/esm/styles/message.css +1 -1
  564. package/dist/esm/styles/modal.css +1 -1
  565. package/dist/esm/styles/notification.css +1 -1
  566. package/dist/esm/styles/pagination.css +1 -1
  567. package/dist/esm/styles/popconfirm.css +1 -1
  568. package/dist/esm/styles/popover.css +1 -1
  569. package/dist/esm/styles/progress.css +1 -1
  570. package/dist/esm/styles/qrcode.css +1 -1
  571. package/dist/esm/styles/radio.css +1 -1
  572. package/dist/esm/styles/rate.css +1 -1
  573. package/dist/esm/styles/result.css +1 -1
  574. package/dist/esm/styles/scrollarea.css +1 -1
  575. package/dist/esm/styles/scrollbar.css +1 -1
  576. package/dist/esm/styles/select.css +1 -1
  577. package/dist/esm/styles/skeleton.css +1 -1
  578. package/dist/esm/styles/slider.css +1 -1
  579. package/dist/esm/styles/space.css +1 -1
  580. package/dist/esm/styles/splitter.css +1 -1
  581. package/dist/esm/styles/statistic.css +1 -1
  582. package/dist/esm/styles/steps.css +1 -1
  583. package/dist/esm/styles/switch.css +1 -1
  584. package/dist/esm/styles/table.css +1 -1
  585. package/dist/esm/styles/tabletanstack.css +1 -1
  586. package/dist/esm/styles/tabs.css +1 -1
  587. package/dist/esm/styles/tag.css +1 -1
  588. package/dist/esm/styles/textarea.css +1 -1
  589. package/dist/esm/styles/timeline.css +1 -1
  590. package/dist/esm/styles/timepicker.css +1 -1
  591. package/dist/esm/styles/timerangepicker.css +1 -1
  592. package/dist/esm/styles/tooltip.css +1 -1
  593. package/dist/esm/styles/tour.css +1 -1
  594. package/dist/esm/styles/transfer.css +1 -1
  595. package/dist/esm/styles/tree.css +1 -1
  596. package/dist/esm/styles/treeselect.css +1 -1
  597. package/dist/esm/styles/typography.css +1 -1
  598. package/dist/esm/styles/upload.css +1 -1
  599. package/dist/esm/styles/virtuallist.css +1 -1
  600. package/dist/esm/tabs/tabs.d.ts +4 -2
  601. package/dist/esm/tabs/tabs.d.ts.map +1 -1
  602. package/dist/esm/tabs/tabs.js +14 -8
  603. package/dist/esm/tabs/tabs.js.map +1 -1
  604. package/dist/esm/tailwind-tokens.d.ts.map +1 -1
  605. package/dist/esm/tailwind-tokens.js +1 -1
  606. package/dist/esm/tailwind-tokens.js.map +1 -1
  607. package/dist/esm/textarea/textarea.d.ts.map +1 -1
  608. package/dist/esm/textarea/textarea.js +50 -22
  609. package/dist/esm/textarea/textarea.js.map +1 -1
  610. package/dist/esm/theme.d.ts +15 -0
  611. package/dist/esm/theme.d.ts.map +1 -1
  612. package/dist/esm/theme.js +53 -29
  613. package/dist/esm/theme.js.map +1 -1
  614. package/dist/esm/timeline/timeline.d.ts.map +1 -1
  615. package/dist/esm/timeline/timeline.js +1 -1
  616. package/dist/esm/timeline/timeline.js.map +1 -1
  617. package/dist/esm/timepicker/time-panel.d.ts.map +1 -1
  618. package/dist/esm/timepicker/time-panel.js +8 -2
  619. package/dist/esm/timepicker/time-panel.js.map +1 -1
  620. package/dist/esm/transfer/transfer.d.ts.map +1 -1
  621. package/dist/esm/transfer/transfer.js +5 -5
  622. package/dist/esm/transfer/transfer.js.map +1 -1
  623. package/dist/esm/tree/tree.d.ts.map +1 -1
  624. package/dist/esm/tree/tree.js +13 -6
  625. package/dist/esm/tree/tree.js.map +1 -1
  626. package/dist/esm/treeselect/treeselect.d.ts.map +1 -1
  627. package/dist/esm/treeselect/treeselect.js +5 -4
  628. package/dist/esm/treeselect/treeselect.js.map +1 -1
  629. package/dist/esm/virtuallist/virtuallist.d.ts.map +1 -1
  630. package/dist/esm/virtuallist/virtuallist.js +9 -3
  631. package/dist/esm/virtuallist/virtuallist.js.map +1 -1
  632. package/dist/tailwind.css +1 -1
  633. package/package.json +1 -22
  634. package/dist/cjs/browser/modules/segmented/index.cjs.map +0 -1
  635. package/dist/cjs/browser/modules/segmented/segmented.cjs +0 -127
  636. package/dist/cjs/browser/modules/segmented/segmented.cjs.map +0 -1
  637. package/dist/cjs/browser/segmented.cjs +0 -2
  638. package/dist/cjs/segmented/index.cjs.map +0 -1
  639. package/dist/cjs/segmented/index.d.cts +0 -3
  640. package/dist/cjs/segmented/index.d.cts.map +0 -1
  641. package/dist/cjs/segmented/segmented.cjs +0 -125
  642. package/dist/cjs/segmented/segmented.cjs.map +0 -1
  643. package/dist/cjs/segmented/segmented.d.cts +0 -21
  644. package/dist/cjs/segmented/segmented.d.cts.map +0 -1
  645. package/dist/cjs/styles/components/segmented.css +0 -1
  646. package/dist/cjs/styles/segmented.css +0 -1
  647. package/dist/esm/browser/modules/segmented/index.js +0 -2
  648. package/dist/esm/browser/modules/segmented/segmented.js +0 -89
  649. package/dist/esm/browser/modules/segmented/segmented.js.map +0 -1
  650. package/dist/esm/browser/segmented.js +0 -2
  651. package/dist/esm/segmented/index.d.ts +0 -3
  652. package/dist/esm/segmented/index.d.ts.map +0 -1
  653. package/dist/esm/segmented/index.js +0 -2
  654. package/dist/esm/segmented/segmented.d.ts +0 -21
  655. package/dist/esm/segmented/segmented.d.ts.map +0 -1
  656. package/dist/esm/segmented/segmented.js +0 -87
  657. package/dist/esm/segmented/segmented.js.map +0 -1
  658. package/dist/esm/styles/components/segmented.css +0 -1
  659. package/dist/esm/styles/segmented.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tree/tree.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../../../src/tree/tree.tsx"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { useVirtualizer } from '@tanstack/react-virtual';\nimport { ChevronRight, File, Folder, FolderOpen, LoaderCircle } from 'lucide-react';\nimport {\n type CSSProperties,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { CheckboxControl as Checkbox } from '../checkbox/checkbox';\nimport { useComponentProps } from '../config-provider/component-defaults';\nimport { useLeafConfig } from '../config-provider/context';\nimport { estimateControlHeight } from '../density';\nimport { ResultControl as Result } from '../result/result';\nimport { classes } from '../shared/classes';\nimport { inertProps } from '../shared/inert';\nimport { useFormattedText } from '../shared/use-formatted-text';\nimport { TreeDragRow, TreeDragScope } from './drag';\nimport { treeChecks, treeMatches, treeModel } from './model';\n\nexport interface TreeNode {\n key: string;\n title: ReactNode;\n children?: readonly TreeNode[];\n icon?: ReactNode;\n disabled?: boolean;\n selectable?: boolean;\n checkable?: boolean;\n disableCheckbox?: boolean;\n searchLabel?: string;\n isLeaf?: boolean;\n}\nexport interface TreeSelectInfo {\n node: TreeNode;\n selected: boolean;\n selectedNodes: readonly TreeNode[];\n}\nexport interface TreeCheckInfo {\n node: TreeNode;\n checked: boolean;\n checkedNodes: readonly TreeNode[];\n halfCheckedKeys: readonly string[];\n}\nexport interface TreeExpandInfo {\n node: TreeNode;\n expanded: boolean;\n}\nexport interface TreeDropInfo {\n node: TreeNode;\n target: TreeNode;\n position: 'before' | 'inside' | 'after';\n data: TreeNode[];\n}\nexport interface TreeProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect' | 'onDrop' | 'onLoad' | 'draggable'> {\n data: readonly TreeNode[];\n selectedKeys?: readonly string[];\n defaultSelectedKeys?: readonly string[];\n onSelect?: (keys: string[], info: TreeSelectInfo) => void;\n multiple?: boolean;\n selectable?: boolean;\n checkable?: boolean;\n checkStrictly?: boolean;\n checkedKeys?: readonly string[];\n defaultCheckedKeys?: readonly string[];\n onCheck?: (keys: string[], info: TreeCheckInfo) => void;\n expandedKeys?: readonly string[];\n defaultExpandedKeys?: readonly string[];\n defaultExpandAll?: boolean;\n onExpand?: (keys: string[], info: TreeExpandInfo) => void;\n disabled?: boolean;\n showLine?: boolean;\n showIcon?: boolean;\n searchValue?: string;\n filterTreeNode?: (node: TreeNode, query: string) => boolean;\n notFoundContent?: ReactNode;\n loadData?: (node: TreeNode, signal: AbortSignal) => Promise<readonly TreeNode[]>;\n cacheKey?: string | number;\n nodeRender?: (node: TreeNode) => ReactNode;\n onLoad?: (node: TreeNode, children: readonly TreeNode[]) => void;\n onLoadError?: (error: unknown, node: TreeNode) => void;\n virtual?: boolean;\n height?: number;\n itemHeight?: number;\n draggable?: boolean | ((node: TreeNode) => boolean);\n allowDrop?: (info: Omit<TreeDropInfo, 'data'>) => boolean;\n onDrop?: (info: TreeDropInfo) => void;\n}\nexport function TreeControl({\n data: suppliedData,\n selectedKeys,\n defaultSelectedKeys = [],\n onSelect,\n multiple = false,\n selectable = true,\n checkable = false,\n checkOnClick = false,\n expandOnClick = false,\n checkStrictly = false,\n checkedKeys,\n defaultCheckedKeys = [],\n onCheck,\n expandedKeys,\n defaultExpandedKeys = [],\n defaultExpandAll = false,\n onExpand,\n disabled = false,\n showLine = false,\n showIcon = false,\n searchValue = '',\n filterTreeNode,\n notFoundContent,\n loadData,\n cacheKey,\n nodeRender,\n onLoad,\n onLoadError,\n virtual = false,\n height = 320,\n itemHeight: itemHeightProp,\n draggable = false,\n allowDrop,\n onDrop,\n className,\n 'aria-label': label,\n ...props\n}: TreeProps & { checkOnClick?: boolean; expandOnClick?: boolean }) {\n const { messages, direction, theme, density } = useLeafConfig();\n const format = useFormattedText();\n const itemHeight = itemHeightProp ?? estimateControlHeight(theme, density) + 6;\n const [loaded, setLoaded] = useState<Map<string, readonly TreeNode[]>>(new Map());\n const [loading, setLoading] = useState<readonly string[]>([]);\n const requests = useRef(new Map<string, AbortController>());\n const latestLoad = useRef({ loadData, onLoad, onLoadError });\n latestLoad.current = { loadData, onLoad, onLoadError };\n // biome-ignore lint/correctness/useExhaustiveDependencies: Invalidate node caches whenever the supplied data, loader or cache version changes.\n useEffect(() => {\n for (const request of requests.current.values()) request.abort();\n requests.current.clear();\n setLoaded(new Map());\n setLoading([]);\n }, [suppliedData, loadData, cacheKey]);\n const data = useMemo(() => {\n const merge = (nodes: readonly TreeNode[]): TreeNode[] =>\n nodes.map((node) => {\n const children = node.children ?? loaded.get(node.key);\n return children\n ? { ...node, children: merge(children), isLeaf: children.length === 0 }\n : node;\n });\n return merge(suppliedData);\n }, [suppliedData, loaded]);\n useEffect(\n () => () => {\n for (const request of requests.current.values()) request.abort();\n requests.current.clear();\n },\n [],\n );\n const load = useCallback(\n (node: TreeNode) => {\n const callback = latestLoad.current.loadData;\n if (\n !callback ||\n node.isLeaf ||\n node.children !== undefined ||\n loaded.has(node.key) ||\n requests.current.has(node.key)\n )\n return;\n const request = new AbortController();\n requests.current.set(node.key, request);\n setLoading((previous) => [...previous, node.key]);\n Promise.resolve()\n .then(() => (request.signal.aborted ? [] : callback(node, request.signal)))\n .then((children) => {\n if (request.signal.aborted) return;\n setLoaded((previous) => new Map(previous).set(node.key, children ?? []));\n latestLoad.current.onLoad?.(node, children ?? []);\n })\n .catch((reason) => {\n if (!request.signal.aborted) latestLoad.current.onLoadError?.(reason, node);\n })\n .finally(() => {\n // A replayed effect may have started a newer request for the same node.\n if (requests.current.get(node.key) !== request) return;\n requests.current.delete(node.key);\n if (!request.signal.aborted)\n setLoading((previous) => previous.filter((key) => key !== node.key));\n });\n },\n [loaded],\n );\n const records = useMemo(() => treeModel(data), [data]);\n const [selection, setSelection] = useState<readonly string[]>(defaultSelectedKeys);\n const [checks, setChecks] = useState<readonly string[]>(defaultCheckedKeys);\n const [expansion, setExpansion] = useState<readonly string[]>(() =>\n defaultExpandAll ? [...records.keys()] : defaultExpandedKeys,\n );\n const selected = selectedKeys ?? selection;\n const expanded = new Set(expandedKeys ?? expansion);\n useEffect(() => {\n if (disabled) return;\n for (const key of expandedKeys ?? expansion) {\n const record = records.get(key);\n if (record) load(record.node);\n }\n }, [records, expandedKeys, expansion, disabled, load]);\n const state = useMemo(\n () => treeChecks(records, checkedKeys ?? checks, checkStrictly),\n [records, checkedKeys, checks, checkStrictly],\n );\n const checked = new Set(state.checked);\n const half = new Set(state.half);\n const matches = useMemo(\n () => treeMatches(records, searchValue, filterTreeNode),\n [records, searchValue, filterTreeNode],\n );\n const [active, setActive] = useState<string>();\n const elements = useRef(new Map<string, HTMLDivElement>());\n const anchor = useRef<string | undefined>(undefined);\n const typeAhead = useRef({ text: '', time: 0 });\n const visible: TreeNode[] = [];\n const isExpanded = (key: string) => (matches ? matches.visible.has(key) : expanded.has(key));\n const collect = (nodes: readonly TreeNode[]) => {\n for (const node of nodes) {\n if (matches && !matches.visible.has(node.key)) continue;\n visible.push(node);\n if (isExpanded(node.key) && node.children) collect(node.children);\n }\n };\n collect(data);\n const root = useRef<HTMLDivElement>(null);\n const virtualizer = useVirtualizer({\n count: visible.length,\n getScrollElement: () => root.current,\n estimateSize: () => Math.max(24, itemHeight),\n overscan: 5,\n enabled: virtual,\n initialRect: { height, width: 400 },\n getItemKey: (index) => visible[index]?.key ?? index,\n });\n const focusKey = visible.some((node) => node.key === active)\n ? active\n : (visible.find((node) => selected.includes(node.key))?.key ?? visible[0]?.key);\n const focus = (key?: string) => {\n if (key) {\n setActive(key);\n if (virtual) {\n const index = visible.findIndex((node) => node.key === key);\n if (index >= 0) virtualizer.scrollToIndex(index, { align: 'auto' });\n requestAnimationFrame(() => elements.current.get(key)?.focus());\n }\n elements.current.get(key)?.focus();\n }\n };\n const expand = (node: TreeNode, next: boolean) => {\n if (disabled) return;\n if (next) load(node);\n const keys = next\n ? [...new Set([...expanded, node.key])]\n : [...expanded].filter((key) => key !== node.key);\n if (expandedKeys === undefined) setExpansion(keys);\n onExpand?.(keys, { node, expanded: next });\n };\n const select = (\n node: TreeNode,\n modifiers?: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean },\n ) => {\n if (disabled || node.disabled || !selectable || node.selectable === false) return;\n let next = selected.includes(node.key) ? [] : [node.key];\n if (multiple) {\n if (modifiers?.shiftKey && anchor.current) {\n const first = visible.findIndex((item) => item.key === anchor.current);\n const last = visible.indexOf(node);\n next = visible\n .slice(Math.max(0, Math.min(first, last)), Math.max(first, last) + 1)\n .filter((item) => !item.disabled && item.selectable !== false)\n .map((item) => item.key);\n } else\n next = selected.includes(node.key)\n ? selected.filter((key) => key !== node.key)\n : [...selected, node.key];\n }\n if (!modifiers?.shiftKey) anchor.current = node.key;\n if (selectedKeys === undefined) setSelection(next);\n onSelect?.(next, {\n node,\n selected: next.includes(node.key),\n selectedNodes: next.flatMap((key) => records.get(key)?.node ?? []),\n });\n };\n const check = (node: TreeNode) => {\n if (disabled || node.disabled || node.disableCheckbox || node.checkable === false) return;\n const next = treeChecks(records, state.checked, checkStrictly, {\n key: node.key,\n checked: !checked.has(node.key),\n });\n if (checkedKeys === undefined) setChecks(next.checked);\n onCheck?.(next.checked, {\n node,\n checked: !checked.has(node.key),\n checkedNodes: next.checked.flatMap((key) => records.get(key)?.node ?? []),\n halfCheckedKeys: next.half,\n });\n };\n const keyDown = (event: KeyboardEvent<HTMLDivElement>, node: TreeNode) => {\n if (\n event.target !== event.currentTarget &&\n (event.target as HTMLElement).closest(\n 'input,textarea,select,button,a[href],[contenteditable=\"true\"]',\n )\n )\n return;\n if (event.defaultPrevented || (event.target as HTMLElement).closest('.leaf-tree__drag-handle'))\n return;\n event.stopPropagation();\n const index = visible.indexOf(node);\n const hasChildren = Boolean(\n node.children?.length || (loadData && !node.isLeaf && node.children === undefined),\n );\n if (event.key === 'ArrowDown') focus(visible[Math.min(index + 1, visible.length - 1)]?.key);\n else if (event.key === 'ArrowUp') focus(visible[Math.max(0, index - 1)]?.key);\n else if (event.key === 'Home') focus(visible[0]?.key);\n else if (event.key === 'End') focus(visible.at(-1)?.key);\n else if (event.key === (direction === 'rtl' ? 'ArrowLeft' : 'ArrowRight')) {\n if (hasChildren && !isExpanded(node.key)) expand(node, true);\n else if (hasChildren)\n focus(node.children?.find((child) => !matches || matches.visible.has(child.key))?.key);\n } else if (event.key === (direction === 'rtl' ? 'ArrowRight' : 'ArrowLeft')) {\n if (hasChildren && isExpanded(node.key)) expand(node, false);\n else focus(records.get(node.key)?.parent);\n } else if (event.key === ' ' || event.key === 'Enter') {\n if (checkable && (event.key === ' ' || checkOnClick)) check(node);\n else if (expandOnClick && hasChildren && (!selectable || node.selectable === false))\n expand(node, !isExpanded(node.key));\n else select(node, event);\n } else if (event.key.length === 1 && !event.altKey && !event.ctrlKey && !event.metaKey) {\n const now = Date.now();\n typeAhead.current = {\n text:\n (now - typeAhead.current.time < 600 ? typeAhead.current.text : '') +\n event.key.toLocaleLowerCase(),\n time: now,\n };\n const ordered = [...visible.slice(index + 1), ...visible.slice(0, index + 1)];\n focus(\n ordered.find((item) =>\n (item.searchLabel ?? (typeof item.title === 'string' ? item.title : item.key))\n .toLocaleLowerCase()\n .startsWith(typeAhead.current.text),\n )?.key,\n );\n } else return;\n event.preventDefault();\n };\n const renderNode = (\n node: TreeNode,\n level: number,\n index: number,\n setSize: number,\n flat = false,\n ): ReactNode => {\n const hasChildren = Boolean(\n node.children?.length || (loadData && !node.isLeaf && node.children === undefined),\n );\n const opened = hasChildren && isExpanded(node.key);\n const inactive = disabled || node.disabled;\n const Icon = hasChildren ? (opened ? FolderOpen : Folder) : File;\n return (\n <div\n role=\"treeitem\"\n key={node.key}\n aria-level={level}\n aria-label={node.searchLabel ?? (typeof node.title === 'string' ? node.title : undefined)}\n aria-posinset={index + 1}\n aria-setsize={setSize}\n aria-expanded={hasChildren ? opened : undefined}\n aria-selected={\n selectable && node.selectable !== false ? selected.includes(node.key) : undefined\n }\n aria-checked={\n checkable && node.checkable !== false\n ? half.has(node.key)\n ? 'mixed'\n : checked.has(node.key)\n : undefined\n }\n aria-disabled={inactive || undefined}\n tabIndex={focusKey === node.key ? 0 : -1}\n className=\"leaf-tree__item\"\n data-node-key={node.key}\n ref={(element) => {\n if (element) elements.current.set(node.key, element);\n else elements.current.delete(node.key);\n }}\n onFocus={(event) => {\n if (event.target === event.currentTarget) setActive(node.key);\n }}\n onKeyDown={(event) => keyDown(event, node)}\n onClick={(event) => {\n event.stopPropagation();\n if (\n !event.currentTarget.firstElementChild?.contains(event.target as Node) ||\n (event.target as HTMLElement).closest(\n '.leaf-tree__check, .leaf-tree__drag-handle, input, textarea, select, button, a[href], [contenteditable=\"true\"]',\n )\n )\n return;\n focus(node.key);\n if (checkable && checkOnClick) check(node);\n else if (expandOnClick && hasChildren && (!selectable || node.selectable === false))\n expand(node, !opened);\n else select(node, event);\n }}\n >\n <TreeRow\n enabled={Boolean(draggable)}\n node={node}\n draggable={\n !disabled && Boolean(typeof draggable === 'function' ? draggable(node) : draggable)\n }\n >\n {' '}\n <div\n className=\"leaf-tree__row\"\n data-selected={selected.includes(node.key) || undefined}\n data-disabled={inactive || undefined}\n style={{ paddingInlineStart: `${(level - 1) * 20 + 4}px` }}\n >\n <button\n type=\"button\"\n className=\"leaf-tree__toggle\"\n tabIndex={-1}\n aria-label={format(opened ? 'tree.collapseNode' : 'tree.expandNode', {\n label: node.searchLabel ?? (typeof node.title === 'string' ? node.title : node.key),\n })}\n disabled={disabled}\n data-hidden={!hasChildren || undefined}\n data-open={opened || undefined}\n aria-hidden={!hasChildren || undefined}\n onClick={(event) => {\n event.stopPropagation();\n focus(node.key);\n expand(node, !opened);\n }}\n >\n {loading.includes(node.key) ? (\n <LoaderCircle size={14} className=\"leaf-tree__spinner\" aria-hidden=\"true\" />\n ) : (\n hasChildren && <ChevronRight size={14} aria-hidden=\"true\" />\n )}\n </button>\n {checkable && node.checkable !== false && (\n <span className=\"leaf-tree__check\">\n <Checkbox\n checked={checked.has(node.key)}\n indeterminate={half.has(node.key)}\n disabled={inactive || node.disableCheckbox}\n tabIndex={-1}\n aria-label={\n node.searchLabel ?? (typeof node.title === 'string' ? node.title : node.key)\n }\n onChange={() => {\n focus(node.key);\n check(node);\n }}\n />\n </span>\n )}\n {(showIcon || node.icon) && (\n <span className=\"leaf-tree__icon\" aria-hidden=\"true\">\n {node.icon ?? <Icon size={16} />}\n </span>\n )}\n <span\n className=\"leaf-tree__title\"\n data-match={matches?.matched.has(node.key) || undefined}\n >\n {nodeRender?.(node) ?? node.title}\n </span>\n </div>\n </TreeRow>\n {hasChildren && !flat && (\n <TreeGroup\n open={opened}\n style={{ '--leaf-tree-line-left': `${(level - 1) * 20 + 14}px` } as CSSProperties}\n >\n {() => renderNodes(node.children ?? [], level + 1)}\n </TreeGroup>\n )}\n </div>\n );\n };\n\n const renderNodes = (nodes: readonly TreeNode[], level: number): ReactNode => {\n const siblings = nodes.filter((node) => !matches || matches.visible.has(node.key));\n return siblings.map((node, index) => renderNode(node, level, index, siblings.length));\n };\n const content = (\n <div\n {...props}\n ref={root}\n style={{ ...(virtual ? { height, overflow: 'auto' } : {}), ...props.style }}\n role=\"tree\"\n aria-label={label ?? messages.tree.label}\n aria-multiselectable={multiple || checkable || undefined}\n aria-disabled={disabled || undefined}\n className={classes('leaf-tree', showLine && 'leaf-tree--lines', className)}\n >\n {visible.length ? (\n virtual ? (\n <div style={{ position: 'relative', height: virtualizer.getTotalSize() }}>\n {virtualizer.getVirtualItems().map((row) => {\n const node = visible[row.index];\n if (!node) return null;\n const record = records.get(node.key);\n const siblings = (\n record?.parent ? (records.get(record.parent)?.node.children ?? []) : data\n ).filter((item) => !matches || matches.visible.has(item.key));\n return (\n <div\n key={node.key}\n ref={virtualizer.measureElement}\n data-index={row.index}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n transform: `translateY(${row.start}px)`,\n }}\n >\n {renderNode(\n node,\n record?.level ?? 1,\n siblings.findIndex((item) => item.key === node.key),\n siblings.length,\n true,\n )}\n </div>\n );\n })}\n </div>\n ) : (\n renderNodes(data, 1)\n )\n ) : (\n (notFoundContent ?? <Result size=\"sm\" title={messages.select.empty} icon={null} />)\n )}\n </div>\n );\n return draggable ? (\n <TreeDragScope data={data} nodes={records} allowDrop={allowDrop} onDrop={onDrop}>\n {content}\n </TreeDragScope>\n ) : (\n content\n );\n}\n\nfunction TreeGroup({\n open,\n style,\n children,\n}: {\n open: boolean;\n style: CSSProperties;\n children: () => ReactNode;\n}) {\n const [visited, setVisited] = useState(open);\n if (open && !visited) setVisited(true);\n return (\n <fieldset\n className=\"leaf-tree__group\"\n style={style}\n aria-hidden={!open || undefined}\n {...inertProps(!open)}\n data-open={open || undefined}\n >\n <div className=\"leaf-tree__group-inner\">\n <div className=\"leaf-tree__group-content\">{visited && children()}</div>\n </div>\n </fieldset>\n );\n}\n\nfunction TreeRow({\n enabled,\n node,\n draggable,\n children,\n}: {\n enabled: boolean;\n node: TreeNode;\n draggable: boolean;\n children: ReactNode;\n}) {\n return enabled ? (\n <TreeDragRow node={node} draggable={draggable}>\n {children}\n </TreeDragRow>\n ) : (\n children\n );\n}\n\nexport function Tree(rawProps: TreeProps) {\n const props = useComponentProps('Tree', rawProps);\n return <TreeControl {...props} />;\n}\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","TreeControl","suppliedData","selectedKeys","defaultSelectedKeys","onSelect","multiple","selectable","checkable","checkOnClick","expandOnClick","checkStrictly","checkedKeys","defaultCheckedKeys","onCheck","expandedKeys","defaultExpandedKeys","defaultExpandAll","onExpand","disabled","showLine","showIcon","searchValue","filterTreeNode","notFoundContent","loadData","cacheKey","nodeRender","onLoad","onLoadError","virtual","height","itemHeightProp","draggable","allowDrop","onDrop","className","label","props","messages","direction","theme","density","useLeafConfig","format","useFormattedText","itemHeight","estimateControlHeight","loaded","setLoaded","useState","Map","loading","setLoading","requests","useRef","latestLoad","useEffect","request","data","useMemo","merge","nodes","node","children","load","useCallback","callback","undefined","AbortController","previous","Promise","reason","records","treeModel","selection","setSelection","checks","setChecks","expansion","setExpansion","selected","expanded","Set","record","state","treeChecks","checked","half","matches","treeMatches","active","setActive","elements","anchor","typeAhead","visible","isExpanded","collect","root","virtualizer","useVirtualizer","Math","index","focusKey","focus","requestAnimationFrame","expand","next","keys","select","modifiers","first","item","last","check","keyDown","event","hasChildren","Boolean","child","now","Date","ordered","renderNode","level","setSize","flat","opened","inactive","Icon","FolderOpen","Folder","File","element","TreeRow","LoaderCircle","ChevronRight","Checkbox","TreeGroup","renderNodes","siblings","content","classes","row","Result","TreeDragScope","open","style","visited","setVisited","inertProps","enabled","TreeDragRow","Tree","rawProps","useComponentProps"],"mappings":"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"}
1
+ {"version":3,"file":"tree/tree.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../../../src/tree/tree.tsx"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { useVirtualizer } from '@tanstack/react-virtual';\nimport { ChevronRight, File, Folder, FolderOpen, LoaderCircle } from 'lucide-react';\nimport {\n type CSSProperties,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { CheckboxControl as Checkbox } from '../checkbox/checkbox';\nimport { useComponentProps } from '../config-provider/component-defaults';\nimport { useLeafConfig } from '../config-provider/context';\nimport { estimateControlHeight } from '../density';\nimport { ResultControl as Result } from '../result/result';\nimport { ScrollbarControl } from '../scrollbar/scrollbar';\nimport { classes } from '../shared/classes';\nimport { inertProps } from '../shared/inert';\nimport { useFormattedText } from '../shared/use-formatted-text';\nimport { TreeDragRow, TreeDragScope } from './drag';\nimport { treeChecks, treeMatches, treeModel } from './model';\n\nexport interface TreeNode {\n key: string;\n title: ReactNode;\n children?: readonly TreeNode[];\n icon?: ReactNode;\n disabled?: boolean;\n selectable?: boolean;\n checkable?: boolean;\n disableCheckbox?: boolean;\n searchLabel?: string;\n isLeaf?: boolean;\n}\nexport interface TreeSelectInfo {\n node: TreeNode;\n selected: boolean;\n selectedNodes: readonly TreeNode[];\n}\nexport interface TreeCheckInfo {\n node: TreeNode;\n checked: boolean;\n checkedNodes: readonly TreeNode[];\n halfCheckedKeys: readonly string[];\n}\nexport interface TreeExpandInfo {\n node: TreeNode;\n expanded: boolean;\n}\nexport interface TreeDropInfo {\n node: TreeNode;\n target: TreeNode;\n position: 'before' | 'inside' | 'after';\n data: TreeNode[];\n}\nexport interface TreeProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect' | 'onDrop' | 'onLoad' | 'draggable'> {\n data: readonly TreeNode[];\n selectedKeys?: readonly string[];\n defaultSelectedKeys?: readonly string[];\n onSelect?: (keys: string[], info: TreeSelectInfo) => void;\n multiple?: boolean;\n selectable?: boolean;\n checkable?: boolean;\n checkStrictly?: boolean;\n checkedKeys?: readonly string[];\n defaultCheckedKeys?: readonly string[];\n onCheck?: (keys: string[], info: TreeCheckInfo) => void;\n expandedKeys?: readonly string[];\n defaultExpandedKeys?: readonly string[];\n defaultExpandAll?: boolean;\n onExpand?: (keys: string[], info: TreeExpandInfo) => void;\n disabled?: boolean;\n showLine?: boolean;\n showIcon?: boolean;\n searchValue?: string;\n filterTreeNode?: (node: TreeNode, query: string) => boolean;\n notFoundContent?: ReactNode;\n loadData?: (node: TreeNode, signal: AbortSignal) => Promise<readonly TreeNode[]>;\n cacheKey?: string | number;\n nodeRender?: (node: TreeNode) => ReactNode;\n onLoad?: (node: TreeNode, children: readonly TreeNode[]) => void;\n onLoadError?: (error: unknown, node: TreeNode) => void;\n virtual?: boolean;\n height?: number;\n itemHeight?: number;\n draggable?: boolean | ((node: TreeNode) => boolean);\n allowDrop?: (info: Omit<TreeDropInfo, 'data'>) => boolean;\n onDrop?: (info: TreeDropInfo) => void;\n}\nexport function TreeControl({\n data: suppliedData,\n selectedKeys,\n defaultSelectedKeys = [],\n onSelect,\n multiple = false,\n selectable = true,\n checkable = false,\n checkOnClick = false,\n expandOnClick = false,\n checkStrictly = false,\n checkedKeys,\n defaultCheckedKeys = [],\n onCheck,\n expandedKeys,\n defaultExpandedKeys = [],\n defaultExpandAll = false,\n onExpand,\n disabled = false,\n showLine = false,\n showIcon = false,\n searchValue = '',\n filterTreeNode,\n notFoundContent,\n loadData,\n cacheKey,\n nodeRender,\n onLoad,\n onLoadError,\n virtual = false,\n height = 320,\n itemHeight: itemHeightProp,\n draggable = false,\n allowDrop,\n onDrop,\n className,\n 'aria-label': label,\n ...props\n}: TreeProps & { checkOnClick?: boolean; expandOnClick?: boolean }) {\n const { messages, direction, theme, density } = useLeafConfig();\n const format = useFormattedText();\n const itemHeight = itemHeightProp ?? estimateControlHeight(theme, density) + 6;\n const [loaded, setLoaded] = useState<Map<string, readonly TreeNode[]>>(new Map());\n const [loading, setLoading] = useState<readonly string[]>([]);\n const requests = useRef(new Map<string, AbortController>());\n const latestLoad = useRef({ loadData, onLoad, onLoadError });\n latestLoad.current = { loadData, onLoad, onLoadError };\n // biome-ignore lint/correctness/useExhaustiveDependencies: Invalidate node caches whenever the supplied data, loader or cache version changes.\n useEffect(() => {\n for (const request of requests.current.values()) request.abort();\n requests.current.clear();\n setLoaded(new Map());\n setLoading([]);\n }, [suppliedData, loadData, cacheKey]);\n const data = useMemo(() => {\n const merge = (nodes: readonly TreeNode[]): TreeNode[] =>\n nodes.map((node) => {\n const children = node.children ?? loaded.get(node.key);\n return children\n ? { ...node, children: merge(children), isLeaf: children.length === 0 }\n : node;\n });\n return merge(suppliedData);\n }, [suppliedData, loaded]);\n useEffect(\n () => () => {\n for (const request of requests.current.values()) request.abort();\n requests.current.clear();\n },\n [],\n );\n const load = useCallback(\n (node: TreeNode) => {\n const callback = latestLoad.current.loadData;\n if (\n !callback ||\n node.isLeaf ||\n node.children !== undefined ||\n loaded.has(node.key) ||\n requests.current.has(node.key)\n )\n return;\n const request = new AbortController();\n requests.current.set(node.key, request);\n setLoading((previous) => [...previous, node.key]);\n Promise.resolve()\n .then(() => (request.signal.aborted ? [] : callback(node, request.signal)))\n .then((children) => {\n if (request.signal.aborted) return;\n setLoaded((previous) => new Map(previous).set(node.key, children ?? []));\n latestLoad.current.onLoad?.(node, children ?? []);\n })\n .catch((reason) => {\n if (!request.signal.aborted) latestLoad.current.onLoadError?.(reason, node);\n })\n .finally(() => {\n // A replayed effect may have started a newer request for the same node.\n if (requests.current.get(node.key) !== request) return;\n requests.current.delete(node.key);\n if (!request.signal.aborted)\n setLoading((previous) => previous.filter((key) => key !== node.key));\n });\n },\n [loaded],\n );\n const records = useMemo(() => treeModel(data), [data]);\n const [selection, setSelection] = useState<readonly string[]>(defaultSelectedKeys);\n const [checks, setChecks] = useState<readonly string[]>(defaultCheckedKeys);\n const [expansion, setExpansion] = useState<readonly string[]>(() =>\n defaultExpandAll ? [...records.keys()] : defaultExpandedKeys,\n );\n const selected = selectedKeys ?? selection;\n const expanded = new Set(expandedKeys ?? expansion);\n useEffect(() => {\n if (disabled) return;\n for (const key of expandedKeys ?? expansion) {\n const record = records.get(key);\n if (record) load(record.node);\n }\n }, [records, expandedKeys, expansion, disabled, load]);\n const state = useMemo(\n () => treeChecks(records, checkedKeys ?? checks, checkStrictly),\n [records, checkedKeys, checks, checkStrictly],\n );\n const checked = new Set(state.checked);\n const half = new Set(state.half);\n const matches = useMemo(\n () => treeMatches(records, searchValue, filterTreeNode),\n [records, searchValue, filterTreeNode],\n );\n const [active, setActive] = useState<string>();\n const elements = useRef(new Map<string, HTMLDivElement>());\n const anchor = useRef<string | undefined>(undefined);\n const typeAhead = useRef({ text: '', time: 0 });\n const visible: TreeNode[] = [];\n const isExpanded = (key: string) => (matches ? matches.visible.has(key) : expanded.has(key));\n const collect = (nodes: readonly TreeNode[]) => {\n for (const node of nodes) {\n if (matches && !matches.visible.has(node.key)) continue;\n visible.push(node);\n if (isExpanded(node.key) && node.children) collect(node.children);\n }\n };\n collect(data);\n const root = useRef<HTMLDivElement>(null);\n const virtualizer = useVirtualizer({\n count: visible.length,\n getScrollElement: () => root.current,\n estimateSize: () => Math.max(24, itemHeight),\n overscan: 5,\n enabled: virtual,\n initialRect: { height, width: 400 },\n getItemKey: (index) => visible[index]?.key ?? index,\n });\n const focusKey = visible.some((node) => node.key === active)\n ? active\n : (visible.find((node) => selected.includes(node.key))?.key ?? visible[0]?.key);\n const focus = (key?: string) => {\n if (key) {\n setActive(key);\n if (virtual) {\n const index = visible.findIndex((node) => node.key === key);\n if (index >= 0) virtualizer.scrollToIndex(index, { align: 'auto' });\n requestAnimationFrame(() => elements.current.get(key)?.focus());\n }\n elements.current.get(key)?.focus();\n }\n };\n const expand = (node: TreeNode, next: boolean) => {\n if (disabled) return;\n if (next) load(node);\n const keys = next\n ? [...new Set([...expanded, node.key])]\n : [...expanded].filter((key) => key !== node.key);\n if (expandedKeys === undefined) setExpansion(keys);\n onExpand?.(keys, { node, expanded: next });\n };\n const select = (\n node: TreeNode,\n modifiers?: { shiftKey: boolean; ctrlKey: boolean; metaKey: boolean },\n ) => {\n if (disabled || node.disabled || !selectable || node.selectable === false) return;\n let next = selected.includes(node.key) ? [] : [node.key];\n if (multiple) {\n if (modifiers?.shiftKey && anchor.current) {\n const first = visible.findIndex((item) => item.key === anchor.current);\n const last = visible.indexOf(node);\n next = visible\n .slice(Math.max(0, Math.min(first, last)), Math.max(first, last) + 1)\n .filter((item) => !item.disabled && item.selectable !== false)\n .map((item) => item.key);\n } else\n next = selected.includes(node.key)\n ? selected.filter((key) => key !== node.key)\n : [...selected, node.key];\n }\n if (!modifiers?.shiftKey) anchor.current = node.key;\n if (selectedKeys === undefined) setSelection(next);\n onSelect?.(next, {\n node,\n selected: next.includes(node.key),\n selectedNodes: next.flatMap((key) => records.get(key)?.node ?? []),\n });\n };\n const check = (node: TreeNode) => {\n if (disabled || node.disabled || node.disableCheckbox || node.checkable === false) return;\n const next = treeChecks(records, state.checked, checkStrictly, {\n key: node.key,\n checked: !checked.has(node.key),\n });\n if (checkedKeys === undefined) setChecks(next.checked);\n onCheck?.(next.checked, {\n node,\n checked: !checked.has(node.key),\n checkedNodes: next.checked.flatMap((key) => records.get(key)?.node ?? []),\n halfCheckedKeys: next.half,\n });\n };\n const keyDown = (event: KeyboardEvent<HTMLDivElement>, node: TreeNode) => {\n if (\n event.target !== event.currentTarget &&\n (event.target as HTMLElement).closest(\n 'input,textarea,select,button,a[href],[contenteditable=\"true\"]',\n )\n )\n return;\n if (event.defaultPrevented || (event.target as HTMLElement).closest('.leaf-tree__drag-handle'))\n return;\n event.stopPropagation();\n const index = visible.indexOf(node);\n const hasChildren = Boolean(\n node.children?.length || (loadData && !node.isLeaf && node.children === undefined),\n );\n if (event.key === 'ArrowDown') focus(visible[Math.min(index + 1, visible.length - 1)]?.key);\n else if (event.key === 'ArrowUp') focus(visible[Math.max(0, index - 1)]?.key);\n else if (event.key === 'Home') focus(visible[0]?.key);\n else if (event.key === 'End') focus(visible.at(-1)?.key);\n else if (event.key === (direction === 'rtl' ? 'ArrowLeft' : 'ArrowRight')) {\n if (hasChildren && !isExpanded(node.key)) expand(node, true);\n else if (hasChildren)\n focus(node.children?.find((child) => !matches || matches.visible.has(child.key))?.key);\n } else if (event.key === (direction === 'rtl' ? 'ArrowRight' : 'ArrowLeft')) {\n if (hasChildren && isExpanded(node.key)) expand(node, false);\n else focus(records.get(node.key)?.parent);\n } else if (event.key === ' ' || event.key === 'Enter') {\n if (checkable && (event.key === ' ' || checkOnClick)) check(node);\n else if (expandOnClick && hasChildren && (!selectable || node.selectable === false))\n expand(node, !isExpanded(node.key));\n else select(node, event);\n } else if (event.key.length === 1 && !event.altKey && !event.ctrlKey && !event.metaKey) {\n const now = Date.now();\n typeAhead.current = {\n text:\n (now - typeAhead.current.time < 600 ? typeAhead.current.text : '') +\n event.key.toLocaleLowerCase(),\n time: now,\n };\n const ordered = [...visible.slice(index + 1), ...visible.slice(0, index + 1)];\n focus(\n ordered.find((item) =>\n (item.searchLabel ?? (typeof item.title === 'string' ? item.title : item.key))\n .toLocaleLowerCase()\n .startsWith(typeAhead.current.text),\n )?.key,\n );\n } else return;\n event.preventDefault();\n };\n const renderNode = (\n node: TreeNode,\n level: number,\n index: number,\n setSize: number,\n flat = false,\n ): ReactNode => {\n const hasChildren = Boolean(\n node.children?.length || (loadData && !node.isLeaf && node.children === undefined),\n );\n const opened = hasChildren && isExpanded(node.key);\n const inactive = disabled || node.disabled;\n const Icon = hasChildren ? (opened ? FolderOpen : Folder) : File;\n return (\n <div\n role=\"treeitem\"\n key={node.key}\n aria-level={level}\n aria-label={node.searchLabel ?? (typeof node.title === 'string' ? node.title : undefined)}\n aria-posinset={index + 1}\n aria-setsize={setSize}\n aria-expanded={hasChildren ? opened : undefined}\n aria-selected={\n selectable && node.selectable !== false ? selected.includes(node.key) : undefined\n }\n aria-checked={\n checkable && node.checkable !== false\n ? half.has(node.key)\n ? 'mixed'\n : checked.has(node.key)\n : undefined\n }\n aria-disabled={inactive || undefined}\n tabIndex={focusKey === node.key ? 0 : -1}\n className=\"leaf-tree__item\"\n data-node-key={node.key}\n ref={(element) => {\n if (element) elements.current.set(node.key, element);\n else elements.current.delete(node.key);\n }}\n onFocus={(event) => {\n if (event.target === event.currentTarget) setActive(node.key);\n }}\n onKeyDown={(event) => keyDown(event, node)}\n onClick={(event) => {\n event.stopPropagation();\n if (\n !event.currentTarget.firstElementChild?.contains(event.target as Node) ||\n (event.target as HTMLElement).closest(\n '.leaf-tree__check, .leaf-tree__drag-handle, input, textarea, select, button, a[href], [contenteditable=\"true\"]',\n )\n )\n return;\n focus(node.key);\n if (checkable && checkOnClick) check(node);\n else if (expandOnClick && hasChildren && (!selectable || node.selectable === false))\n expand(node, !opened);\n else select(node, event);\n }}\n >\n <TreeRow\n enabled={Boolean(draggable)}\n node={node}\n draggable={\n !disabled && Boolean(typeof draggable === 'function' ? draggable(node) : draggable)\n }\n >\n {' '}\n <div\n className=\"leaf-tree__row\"\n data-selected={selected.includes(node.key) || undefined}\n data-disabled={inactive || undefined}\n style={{ paddingInlineStart: `${(level - 1) * 20 + 4}px` }}\n >\n <button\n type=\"button\"\n className=\"leaf-tree__toggle\"\n tabIndex={-1}\n aria-label={format(opened ? 'tree.collapseNode' : 'tree.expandNode', {\n label: node.searchLabel ?? (typeof node.title === 'string' ? node.title : node.key),\n })}\n disabled={disabled}\n data-hidden={!hasChildren || undefined}\n data-open={opened || undefined}\n aria-hidden={!hasChildren || undefined}\n onClick={(event) => {\n event.stopPropagation();\n focus(node.key);\n expand(node, !opened);\n }}\n >\n {loading.includes(node.key) ? (\n <LoaderCircle size={14} className=\"leaf-tree__spinner\" aria-hidden=\"true\" />\n ) : (\n hasChildren && <ChevronRight size={14} aria-hidden=\"true\" />\n )}\n </button>\n {checkable && node.checkable !== false && (\n <span className=\"leaf-tree__check\">\n <Checkbox\n checked={checked.has(node.key)}\n indeterminate={half.has(node.key)}\n disabled={inactive || node.disableCheckbox}\n tabIndex={-1}\n aria-label={\n node.searchLabel ?? (typeof node.title === 'string' ? node.title : node.key)\n }\n onChange={() => {\n focus(node.key);\n check(node);\n }}\n />\n </span>\n )}\n {(showIcon || node.icon) && (\n <span className=\"leaf-tree__icon\" aria-hidden=\"true\">\n {node.icon ?? <Icon size={16} />}\n </span>\n )}\n <span\n className=\"leaf-tree__title\"\n data-match={matches?.matched.has(node.key) || undefined}\n >\n {nodeRender?.(node) ?? node.title}\n </span>\n </div>\n </TreeRow>\n {hasChildren && !flat && (\n <TreeGroup\n open={opened}\n style={{ '--leaf-tree-line-left': `${(level - 1) * 20 + 14}px` } as CSSProperties}\n >\n {() => renderNodes(node.children ?? [], level + 1)}\n </TreeGroup>\n )}\n </div>\n );\n };\n\n const renderNodes = (nodes: readonly TreeNode[], level: number): ReactNode => {\n const siblings = nodes.filter((node) => !matches || matches.visible.has(node.key));\n return siblings.map((node, index) => renderNode(node, level, index, siblings.length));\n };\n const content = (\n <ScrollbarControl\n ref={root}\n viewportProps={{\n ...props,\n 'aria-multiselectable': multiple || checkable || undefined,\n 'aria-disabled': disabled || undefined,\n }}\n style={{ ...(virtual ? { height } : {}), ...props.style }}\n viewportStyle={{ position: 'relative' }}\n role=\"tree\"\n aria-label={label ?? messages.tree.label}\n tabIndex={-1}\n scrollbarTabIndex={-1}\n className={classes('leaf-tree', showLine && 'leaf-tree--lines', className)}\n >\n {visible.length ? (\n virtual ? (\n <div style={{ position: 'relative', height: virtualizer.getTotalSize() }}>\n {virtualizer.getVirtualItems().map((row) => {\n const node = visible[row.index];\n if (!node) return null;\n const record = records.get(node.key);\n const siblings = (\n record?.parent ? (records.get(record.parent)?.node.children ?? []) : data\n ).filter((item) => !matches || matches.visible.has(item.key));\n return (\n <div\n key={node.key}\n ref={virtualizer.measureElement}\n data-index={row.index}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n transform: `translateY(${row.start}px)`,\n }}\n >\n {renderNode(\n node,\n record?.level ?? 1,\n siblings.findIndex((item) => item.key === node.key),\n siblings.length,\n true,\n )}\n </div>\n );\n })}\n </div>\n ) : (\n renderNodes(data, 1)\n )\n ) : (\n (notFoundContent ?? <Result size=\"sm\" title={messages.select.empty} icon={null} />)\n )}\n </ScrollbarControl>\n );\n return draggable ? (\n <TreeDragScope data={data} nodes={records} allowDrop={allowDrop} onDrop={onDrop}>\n {content}\n </TreeDragScope>\n ) : (\n content\n );\n}\n\nfunction TreeGroup({\n open,\n style,\n children,\n}: {\n open: boolean;\n style: CSSProperties;\n children: () => ReactNode;\n}) {\n const [visited, setVisited] = useState(open);\n if (open && !visited) setVisited(true);\n return (\n <fieldset\n className=\"leaf-tree__group\"\n style={style}\n aria-hidden={!open || undefined}\n {...inertProps(!open)}\n data-open={open || undefined}\n >\n <div className=\"leaf-tree__group-inner\">\n <div className=\"leaf-tree__group-content\">{visited && children()}</div>\n </div>\n </fieldset>\n );\n}\n\nfunction TreeRow({\n enabled,\n node,\n draggable,\n children,\n}: {\n enabled: boolean;\n node: TreeNode;\n draggable: boolean;\n children: ReactNode;\n}) {\n return enabled ? (\n <TreeDragRow node={node} draggable={draggable}>\n {children}\n </TreeDragRow>\n ) : (\n children\n );\n}\n\nexport function Tree(rawProps: TreeProps) {\n const props = useComponentProps('Tree', rawProps);\n return <TreeControl {...props} />;\n}\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","TreeControl","suppliedData","selectedKeys","defaultSelectedKeys","onSelect","multiple","selectable","checkable","checkOnClick","expandOnClick","checkStrictly","checkedKeys","defaultCheckedKeys","onCheck","expandedKeys","defaultExpandedKeys","defaultExpandAll","onExpand","disabled","showLine","showIcon","searchValue","filterTreeNode","notFoundContent","loadData","cacheKey","nodeRender","onLoad","onLoadError","virtual","height","itemHeightProp","draggable","allowDrop","onDrop","className","label","props","messages","direction","theme","density","useLeafConfig","format","useFormattedText","itemHeight","estimateControlHeight","loaded","setLoaded","useState","Map","loading","setLoading","requests","useRef","latestLoad","useEffect","request","data","useMemo","merge","nodes","node","children","load","useCallback","callback","undefined","AbortController","previous","Promise","reason","records","treeModel","selection","setSelection","checks","setChecks","expansion","setExpansion","selected","expanded","Set","record","state","treeChecks","checked","half","matches","treeMatches","active","setActive","elements","anchor","typeAhead","visible","isExpanded","collect","root","virtualizer","useVirtualizer","Math","index","focusKey","focus","requestAnimationFrame","expand","next","keys","select","modifiers","first","item","last","check","keyDown","event","hasChildren","Boolean","child","now","Date","ordered","renderNode","level","setSize","flat","opened","inactive","Icon","FolderOpen","Folder","File","element","TreeRow","LoaderCircle","ChevronRight","Checkbox","TreeGroup","renderNodes","siblings","content","ScrollbarControl","classes","row","Result","TreeDragScope","open","style","visited","setVisited","inertProps","enabled","TreeDragRow","Tree","rawProps","useComponentProps"],"mappings":"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"}
@@ -49,8 +49,8 @@ const selection_content_cjs_namespaceObject = require("../shared/selection-conte
49
49
  const model_cjs_namespaceObject = require("../tree/model.cjs");
50
50
  const tree_cjs_namespaceObject = require("../tree/tree.cjs");
51
51
  const emptyKeys = [];
52
- const InternalTreeSelect = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)(function({ options, value, defaultValue = null, onChange, multiple = false, treeCheckable = false, checkStrictly = false, showCheckedStrategy = 'child', showSearch = true, onSearch, allowClear = true, defaultExpandAll = false, treeDefaultExpandedKeys = emptyKeys, size = 'md', status: statusProp, disabled: disabledProp, required: requiredProp, popupWidth, popupMaxWidth = 420, notFoundContent, onOpenChange, loadData, onLoadError, virtual = false, listHeight = 256, itemHeight: itemHeightProp, inputReadOnly, open: controlledOpen, defaultOpen, maxTagCount, tagWrap = true, maxCount = 1 / 0, treeExpandedKeys, onExpand, filterTreeNode, nodeRender, cacheKey, popupPlacement, popupClassName, popupStyle, popupRender, getPopupContainer, name, form, className, style, placeholder, 'aria-label': label, ...props }, forwardedRef) {
53
- const { messages, theme, density } = (0, context_cjs_namespaceObject.useLeafConfig)();
52
+ const InternalTreeSelect = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)(function({ options, value, defaultValue = null, onChange, multiple = false, treeCheckable = false, checkStrictly = false, showCheckedStrategy = 'child', showSearch = true, onSearch, allowClear = true, defaultExpandAll = false, treeDefaultExpandedKeys = emptyKeys, size = 'md', status: statusProp, disabled: disabledProp, required: requiredProp, popupWidth = 'trigger', popupMaxWidth, notFoundContent, onOpenChange, loadData, onLoadError, virtual = false, listHeight = 256, itemHeight: itemHeightProp, inputReadOnly, open: controlledOpen, defaultOpen, maxTagCount, tagWrap = true, maxCount = 1 / 0, treeExpandedKeys, onExpand, filterTreeNode, nodeRender, cacheKey, popupPlacement, popupClassName, popupStyle, popupRender, getPopupContainer, name, form, className, style, placeholder, 'aria-label': label, ...props }, forwardedRef) {
53
+ const { messages, theme, density, direction: configuredDirection } = (0, context_cjs_namespaceObject.useLeafConfig)();
54
54
  const itemHeight = itemHeightProp ?? Math.max(24, (0, external_density_cjs_namespaceObject.estimateControlHeight)(theme, density) - 4) + 6;
55
55
  const field = (0, form_cjs_namespaceObject.useFormField)();
56
56
  const disabled = disabledProp || field?.disabled;
@@ -193,6 +193,7 @@ const InternalTreeSelect = /*#__PURE__*/ (0, external_react_namespaceObject.forw
193
193
  ref: root,
194
194
  className: (0, classes_cjs_namespaceObject.classes)('leaf-tree-select', `leaf-tree-select--${size}`, multi && 'leaf-tree-select--multiple', className),
195
195
  style: style,
196
+ dir: props.dir ?? configuredDirection,
196
197
  "data-disabled": disabled || void 0,
197
198
  "data-status": status,
198
199
  "data-open": open || void 0,
@@ -365,8 +366,8 @@ const InternalTreeSelect = /*#__PURE__*/ (0, external_react_namespaceObject.forw
365
366
  open: open,
366
367
  triggerRef: root,
367
368
  panelRef: panel,
368
- minWidth: "trigger",
369
- width: popupWidth ?? 'max-content',
369
+ matchWidth: 'trigger' === popupWidth,
370
+ width: 'trigger' === popupWidth ? void 0 : 'auto' === popupWidth ? 'max-content' : popupWidth,
370
371
  maxWidth: popupMaxWidth,
371
372
  maxHeight: 320,
372
373
  className: (0, classes_cjs_namespaceObject.classes)('leaf-floating leaf-tree-select__panel', popupClassName),
@@ -1 +1 @@
1
- {"version":3,"file":"treeselect/treeselect.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../../../src/treeselect/treeselect.tsx"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { ChevronDown, X } from 'lucide-react';\nimport {\n forwardRef,\n type InputHTMLAttributes,\n type ReactNode,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useComponentProps } from '../config-provider/component-defaults';\nimport { useLeafConfig } from '../config-provider/context';\nimport { estimateControlHeight } from '../density';\nimport { FieldScope, useFormField } from '../form/form';\nimport { classes } from '../shared/classes';\nimport { FormValue, useFieldValue, useMergedRef } from '../shared/field';\nimport {\n FloatingPanel,\n type PopupOptions,\n useFloatingDismiss,\n usePopupState,\n} from '../shared/floating';\nimport { useListMotion } from '../shared/motion';\nimport { SelectionContent } from '../shared/selection-content';\nimport type { ControlSize, ControlStatus } from '../shared/types';\nimport type { TreeNode } from '../tree';\nimport { treeModel } from '../tree/model';\nimport { TreeControl as Tree } from '../tree/tree';\n\nexport interface TreeSelectOption {\n value: string;\n label: ReactNode;\n children?: readonly TreeSelectOption[];\n disabled?: boolean;\n selectable?: boolean;\n disableCheckbox?: boolean;\n icon?: ReactNode;\n searchLabel?: string;\n isLeaf?: boolean;\n}\nexport type TreeSelectValue = string | readonly string[] | null;\ninterface InternalTreeSelectProps\n extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'value' | 'defaultValue' | 'onChange' | 'size' | 'multiple'\n >,\n PopupOptions {\n options: readonly TreeSelectOption[];\n value?: TreeSelectValue;\n defaultValue?: TreeSelectValue;\n onChange?: (value: TreeSelectValue) => void;\n multiple?: boolean;\n treeCheckable?: boolean;\n checkStrictly?: boolean;\n showCheckedStrategy?: 'child' | 'parent' | 'all';\n showSearch?: boolean;\n onSearch?: (query: string) => void;\n allowClear?: boolean;\n defaultExpandAll?: boolean;\n treeDefaultExpandedKeys?: readonly string[];\n size?: ControlSize;\n status?: ControlStatus;\n popupWidth?: number | string;\n popupMaxWidth?: number | string;\n notFoundContent?: ReactNode;\n onOpenChange?: (open: boolean) => void;\n loadData?: (\n option: TreeSelectOption,\n signal: AbortSignal,\n ) => Promise<readonly TreeSelectOption[]>;\n onLoadError?: (error: unknown, option: TreeSelectOption) => void;\n virtual?: boolean;\n listHeight?: number;\n itemHeight?: number;\n inputReadOnly?: boolean;\n open?: boolean;\n defaultOpen?: boolean;\n maxTagCount?: number | 'responsive';\n tagWrap?: boolean;\n maxCount?: number;\n treeExpandedKeys?: readonly string[];\n onExpand?: (keys: string[]) => void;\n filterTreeNode?: (option: TreeSelectOption, query: string) => boolean;\n nodeRender?: (option: TreeSelectOption) => ReactNode;\n cacheKey?: string | number;\n}\nconst emptyKeys: readonly string[] = [];\nconst InternalTreeSelect = forwardRef<HTMLInputElement, InternalTreeSelectProps>(\n function TreeSelect(\n {\n options,\n value,\n defaultValue = null,\n onChange,\n multiple = false,\n treeCheckable = false,\n checkStrictly = false,\n showCheckedStrategy = 'child',\n showSearch = true,\n onSearch,\n allowClear = true,\n defaultExpandAll = false,\n treeDefaultExpandedKeys = emptyKeys,\n size = 'md',\n status: statusProp,\n disabled: disabledProp,\n required: requiredProp,\n popupWidth,\n popupMaxWidth = 420,\n notFoundContent,\n onOpenChange,\n loadData,\n onLoadError,\n virtual = false,\n listHeight = 256,\n itemHeight: itemHeightProp,\n inputReadOnly,\n open: controlledOpen,\n defaultOpen,\n maxTagCount,\n tagWrap = true,\n maxCount = Infinity,\n treeExpandedKeys,\n onExpand,\n filterTreeNode,\n nodeRender,\n cacheKey,\n popupPlacement,\n popupClassName,\n popupStyle,\n popupRender,\n getPopupContainer,\n name,\n form,\n className,\n style,\n placeholder,\n 'aria-label': label,\n ...props\n },\n forwardedRef,\n ) {\n const { messages, theme, density } = useLeafConfig();\n const itemHeight =\n itemHeightProp ?? Math.max(24, estimateControlHeight(theme, density) - 4) + 6;\n const field = useFormField();\n const disabled = disabledProp || field?.disabled;\n const required = requiredProp ?? field?.required;\n const status = statusProp ?? (field?.error ? 'error' : undefined);\n const multi = multiple || treeCheckable;\n const trigger = useRef<HTMLInputElement>(null);\n const ref = useMergedRef(trigger, forwardedRef);\n const root = useRef<HTMLDivElement>(null);\n const panel = useRef<HTMLDivElement>(null);\n const pendingFocus = useRef(false);\n const [current, setCurrent] = useFieldValue(value, defaultValue, trigger, form);\n const selected = typeof current === 'string' ? [current] : (current ?? emptyKeys);\n useListMotion(root, selected[0], multi ? '' : '.leaf-tree-select__input-wrap[data-motion-key]');\n const [query, setQuery] = useState<string | null>(null);\n const searchQuery = query ?? '';\n const [open, setOpen] = usePopupState(\n disabled || props.readOnly,\n onOpenChange,\n controlledOpen,\n defaultOpen,\n );\n const id = `${useId()}-tree-select`;\n const [loadedOptions, setLoadedOptions] = useState<Map<string, readonly TreeSelectOption[]>>(\n new Map(),\n );\n const generation = useRef(0);\n // biome-ignore lint/correctness/useExhaustiveDependencies: Invalidate lazy options on source and cache-version changes.\n useEffect(() => {\n generation.current++;\n setLoadedOptions(new Map());\n }, [options, loadData, cacheKey]);\n const allOptions = useMemo(() => {\n const merge = (entries: readonly TreeSelectOption[]): TreeSelectOption[] =>\n entries.map((option) => {\n const children = option.children ?? loadedOptions.get(option.value);\n return children ? { ...option, children: merge(children) } : option;\n });\n return merge(options);\n }, [options, loadedOptions]);\n const optionRecords = useMemo(() => {\n const map = new Map<string, TreeSelectOption>();\n const visit = (entries: readonly TreeSelectOption[]) => {\n for (const option of entries) {\n map.set(option.value, option);\n if (option.children) visit(option.children);\n }\n };\n visit(allOptions);\n return map;\n }, [allOptions]);\n const latestLoader = useRef({ loadData, optionRecords });\n latestLoader.current = { loadData, optionRecords };\n const lazyLoad = useCallback(async (node: TreeNode, signal: AbortSignal) => {\n const snapshot = generation.current;\n const option = latestLoader.current.optionRecords.get(node.key);\n if (!option || !latestLoader.current.loadData) return [];\n const children = await latestLoader.current.loadData(option, signal);\n if (!signal.aborted && snapshot === generation.current)\n setLoadedOptions((previous) => new Map(previous).set(node.key, children));\n const convert = (entries: readonly TreeSelectOption[]): TreeNode[] =>\n entries.map(({ value: key, label: title, children, ...entry }) => ({\n ...entry,\n key,\n title,\n children: children ? convert(children) : undefined,\n }));\n return convert(children);\n }, []);\n const data = useMemo(() => {\n const convert = (nodes: readonly TreeSelectOption[]): TreeNode[] =>\n nodes.map(({ value: key, label: title, children, ...node }) => ({\n ...node,\n key,\n title,\n children: children ? convert(children) : undefined,\n }));\n return convert(allOptions);\n }, [allOptions]);\n const records = useMemo(() => treeModel(data), [data]);\n const [expandedKeys, setExpandedKeys] = useState<readonly string[]>(() =>\n defaultExpandAll ? [...records.keys()] : treeDefaultExpandedKeys,\n );\n const close = () => {\n setOpen(false);\n setQuery(null);\n };\n useFloatingDismiss(open, close, trigger, panel, root);\n useEffect(() => {\n if (!open) setQuery(null);\n else if (pendingFocus.current) {\n panel.current?.querySelector<HTMLElement>('[role=\"treeitem\"][tabindex=\"0\"]')?.focus();\n pendingFocus.current = false;\n }\n }, [open]);\n const commit = (keys: readonly string[]) => {\n if (disabled || props.readOnly || keys.length > maxCount) return;\n const next: TreeSelectValue = multi ? [...keys] : (keys[0] ?? null);\n setCurrent(next);\n onChange?.(next);\n setQuery(null);\n if (!multi) {\n setOpen(false);\n trigger.current?.focus();\n }\n };\n const canRemove = (key: string) =>\n !records.get(key)?.node.disabled && !records.get(key)?.node.disableCheckbox;\n const clearable = allowClear && selected.some(canRemove) && !disabled && !props.readOnly;\n const caption = (key: string) => records.get(key)?.node.title ?? key;\n const a11yCaption = (key: string) =>\n records.get(key)?.node.searchLabel ??\n (typeof caption(key) === 'string' || typeof caption(key) === 'number'\n ? String(caption(key))\n : key);\n const selectedCaption = selected[0] === undefined ? undefined : caption(selected[0]);\n const hasRichCaption =\n selectedCaption !== undefined &&\n typeof selectedCaption !== 'string' &&\n typeof selectedCaption !== 'number';\n const showCaption = !multi && hasRichCaption && (!showSearch || !open || query === null);\n const inputValue = multi\n ? searchQuery\n : showSearch && open\n ? (query ?? (selected[0] === undefined ? '' : a11yCaption(selected[0])))\n : selected[0] === undefined\n ? ''\n : a11yCaption(selected[0]);\n const beginSearch = () => {\n if (!showSearch || disabled || props.readOnly || inputReadOnly) return;\n if (!multi && query === null) trigger.current?.select();\n setOpen(true);\n };\n return (\n <>\n {/* biome-ignore lint/a11y/noStaticElementInteractions: The wrapper extends the input's clickable area, as in Select. */}\n {/* biome-ignore lint/a11y/useKeyWithClickEvents: The enclosed combobox owns keyboard interaction. */}\n <div\n ref={root}\n className={classes(\n 'leaf-tree-select',\n `leaf-tree-select--${size}`,\n multi && 'leaf-tree-select--multiple',\n className,\n )}\n style={style}\n data-disabled={disabled || undefined}\n data-status={status}\n data-open={open || undefined}\n data-clearable={clearable || undefined}\n data-searchable={showSearch || undefined}\n onMouseDown={(event) => {\n if (\n !disabled &&\n event.target instanceof Element &&\n !event.target.closest('input, button, a')\n )\n event.preventDefault();\n }}\n onClick={(event) => {\n if (\n !disabled &&\n event.target instanceof Element &&\n !event.target.closest('input, button, a')\n ) {\n trigger.current?.focus();\n trigger.current?.click();\n }\n }}\n >\n <SelectionContent\n className=\"leaf-tree-select__content\"\n tagClassName=\"leaf-tree-select__tag\"\n tagWrap={tagWrap}\n maxTagCount={maxTagCount}\n searchable={showSearch && !props.readOnly && !inputReadOnly}\n query={searchQuery}\n removeLabel={messages.common.remove}\n items={\n multi\n ? selected.map((key) => ({\n key,\n label: caption(key),\n text: a11yCaption(key),\n remove:\n canRemove(key) && !disabled && !props.readOnly\n ? () => {\n commit(selected.filter((item) => item !== key));\n trigger.current?.focus();\n }\n : undefined,\n }))\n : undefined\n }\n >\n <span className=\"leaf-tree-select__input-wrap\" data-motion-key={selected[0] ?? ''}>\n {showCaption && (\n <span className=\"leaf-tree-select__value\" aria-hidden=\"true\">\n {selectedCaption}\n </span>\n )}\n <input\n {...props}\n ref={ref}\n id={props.id ?? field?.id}\n role=\"combobox\"\n aria-haspopup=\"tree\"\n aria-expanded={open}\n aria-controls={open ? id : undefined}\n aria-autocomplete={showSearch ? 'list' : undefined}\n aria-label={label ?? (field?.labelId ? undefined : messages.treeSelect.placeholder)}\n aria-labelledby={props['aria-labelledby'] ?? field?.labelId}\n aria-describedby={\n [props['aria-describedby'], field?.descriptionId].filter(Boolean).join(' ') ||\n undefined\n }\n aria-required={required || undefined}\n aria-invalid={status === 'error' || props['aria-invalid']}\n autoComplete=\"off\"\n className={classes(\n 'leaf-tree-select__input',\n showCaption && 'leaf-tree-select__input--caption',\n )}\n value={inputValue}\n readOnly={!showSearch || props.readOnly || inputReadOnly}\n disabled={disabled}\n placeholder={\n selected.length ? undefined : (placeholder ?? messages.treeSelect.placeholder)\n }\n onClick={(event) => {\n props.onClick?.(event);\n if (event.defaultPrevented) return;\n if (open && !showSearch) close();\n else setOpen(true);\n }}\n onBeforeInput={(event) => {\n props.onBeforeInput?.(event);\n if (!event.defaultPrevented) beginSearch();\n }}\n onPaste={(event) => {\n props.onPaste?.(event);\n if (!event.defaultPrevented) beginSearch();\n }}\n onCompositionStart={(event) => {\n props.onCompositionStart?.(event);\n if (!event.defaultPrevented) beginSearch();\n }}\n onChange={(event) => {\n setQuery(event.target.value);\n onSearch?.(event.target.value);\n setOpen(true);\n }}\n onKeyDown={(event) => {\n props.onKeyDown?.(event);\n if (event.defaultPrevented || disabled || event.nativeEvent.isComposing) return;\n if (\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey &&\n (event.key.length === 1 || event.key === 'Backspace' || event.key === 'Delete')\n )\n beginSearch();\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (!open) {\n pendingFocus.current = true;\n setOpen(true);\n } else\n panel.current\n ?.querySelector<HTMLElement>('[role=\"treeitem\"][tabindex=\"0\"]')\n ?.focus();\n } else if (event.key === 'Enter' && !open) {\n event.preventDefault();\n setOpen(true);\n } else if (event.key === 'Backspace' && !searchQuery && multi) {\n const last = [...selected].reverse().find(canRemove);\n if (last) {\n event.preventDefault();\n commit(selected.filter((key) => key !== last));\n }\n }\n }}\n />\n </span>\n </SelectionContent>\n {clearable && (\n <button\n type=\"button\"\n className=\"leaf-tree-select__clear\"\n aria-label={messages.treeSelect.clear}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n commit(selected.filter((key) => !canRemove(key)));\n trigger.current?.focus();\n }}\n >\n <X size={14} aria-hidden=\"true\" />\n </button>\n )}\n <button\n type=\"button\"\n className=\"leaf-tree-select__arrow\"\n tabIndex={-1}\n disabled={disabled}\n aria-label={messages.treeSelect.placeholder}\n onClick={() => {\n trigger.current?.focus();\n if (open) close();\n else setOpen(true);\n }}\n >\n <ChevronDown size={16} aria-hidden=\"true\" />\n </button>\n <FormValue\n value={selected[0] ?? ''}\n name={name}\n form={form}\n required={required}\n disabled={disabled}\n triggerRef={trigger}\n />\n {selected.slice(1).map((key) => (\n <input\n type=\"hidden\"\n key={key}\n name={name}\n form={form}\n value={key}\n disabled={disabled}\n />\n ))}\n </div>\n <FloatingPanel\n placement={popupPlacement}\n container={getPopupContainer}\n render={popupRender}\n style={popupStyle}\n open={open}\n triggerRef={root}\n panelRef={panel}\n minWidth=\"trigger\"\n width={popupWidth ?? 'max-content'}\n maxWidth={popupMaxWidth}\n maxHeight={320}\n className={classes('leaf-floating leaf-tree-select__panel', popupClassName)}\n >\n <FieldScope>\n <Tree\n virtual={virtual}\n height={listHeight}\n itemHeight={itemHeight}\n loadData={loadData ? lazyLoad : undefined}\n cacheKey={cacheKey}\n disabled={disabled || props.readOnly}\n expandedKeys={treeExpandedKeys ?? expandedKeys}\n onExpand={(keys) => {\n if (treeExpandedKeys === undefined) setExpandedKeys(keys);\n onExpand?.(keys);\n }}\n checkOnClick={treeCheckable}\n expandOnClick\n filterTreeNode={\n filterTreeNode\n ? (node, query) => {\n const option = optionRecords.get(node.key);\n return !!option && filterTreeNode(option, query);\n }\n : undefined\n }\n nodeRender={\n nodeRender\n ? (node) => {\n const option = optionRecords.get(node.key);\n return option ? nodeRender(option) : node.title;\n }\n : undefined\n }\n onLoadError={(error, node) => {\n const option = optionRecords.get(node.key);\n if (option) onLoadError?.(error, option);\n }}\n id={id}\n data={data}\n aria-label={label ?? messages.treeSelect.placeholder}\n multiple={multi}\n selectable={!treeCheckable}\n checkable={treeCheckable}\n checkStrictly={checkStrictly}\n selectedKeys={treeCheckable ? emptyKeys : selected}\n checkedKeys={selected}\n searchValue={searchQuery}\n notFoundContent={notFoundContent ?? messages.treeSelect.empty}\n onSelect={(keys) => commit(keys)}\n onCheck={(keys) => {\n const checked = new Set(keys);\n commit(\n checkStrictly || showCheckedStrategy === 'all'\n ? keys\n : keys.filter((key) => {\n const record = records.get(key);\n if (!record) return false;\n if (showCheckedStrategy === 'parent')\n return !record.parent || !checked.has(record.parent);\n return !(record.node.children ?? []).some((child) =>\n checked.has(child.key),\n );\n }),\n );\n }}\n />\n </FieldScope>\n </FloatingPanel>\n </>\n );\n },\n);\nInternalTreeSelect.displayName = 'TreeSelect';\nexport type TreeSelectProps = Omit<\n InternalTreeSelectProps,\n 'value' | 'defaultValue' | 'onChange' | 'multiple' | 'treeCheckable'\n> &\n (\n | {\n multiple?: false;\n treeCheckable?: false;\n value?: string | null;\n defaultValue?: string | null;\n onChange?: (value: string | null) => void;\n }\n | {\n multiple: true;\n treeCheckable?: boolean;\n value?: readonly string[];\n defaultValue?: readonly string[];\n onChange?: (value: readonly string[]) => void;\n }\n | {\n treeCheckable: true;\n multiple?: boolean;\n value?: readonly string[];\n defaultValue?: readonly string[];\n onChange?: (value: readonly string[]) => void;\n }\n );\nexport const TreeSelectControl = InternalTreeSelect as React.ForwardRefExoticComponent<\n TreeSelectProps & React.RefAttributes<HTMLInputElement>\n>;\nexport const TreeSelect = forwardRef<HTMLInputElement, TreeSelectProps>(\n function TreeSelect(rawProps, ref) {\n const props = useComponentProps('TreeSelect', rawProps);\n return <TreeSelectControl {...props} ref={ref} />;\n },\n);\nTreeSelect.displayName = 'TreeSelect';\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","emptyKeys","InternalTreeSelect","forwardRef","options","value","defaultValue","onChange","multiple","treeCheckable","checkStrictly","showCheckedStrategy","showSearch","onSearch","allowClear","defaultExpandAll","treeDefaultExpandedKeys","size","statusProp","disabledProp","requiredProp","popupWidth","popupMaxWidth","notFoundContent","onOpenChange","loadData","onLoadError","virtual","listHeight","itemHeightProp","inputReadOnly","controlledOpen","defaultOpen","maxTagCount","tagWrap","maxCount","Infinity","treeExpandedKeys","onExpand","filterTreeNode","nodeRender","cacheKey","popupPlacement","popupClassName","popupStyle","popupRender","getPopupContainer","name","form","className","style","placeholder","label","props","forwardedRef","messages","theme","density","useLeafConfig","itemHeight","Math","estimateControlHeight","field","useFormField","disabled","required","status","undefined","multi","trigger","useRef","ref","useMergedRef","root","panel","pendingFocus","current","setCurrent","useFieldValue","selected","useListMotion","query","setQuery","useState","searchQuery","open","setOpen","usePopupState","id","useId","loadedOptions","setLoadedOptions","Map","generation","useEffect","allOptions","useMemo","merge","entries","option","children","optionRecords","map","visit","latestLoader","lazyLoad","useCallback","node","signal","snapshot","previous","convert","title","entry","data","nodes","records","treeModel","expandedKeys","setExpandedKeys","close","useFloatingDismiss","commit","keys","next","canRemove","clearable","caption","a11yCaption","String","selectedCaption","hasRichCaption","showCaption","inputValue","beginSearch","classes","event","Element","SelectionContent","item","Boolean","last","X","ChevronDown","FormValue","FloatingPanel","FieldScope","Tree","error","checked","Set","record","child","TreeSelectControl","TreeSelect","rawProps","useComponentProps"],"mappings":"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"}
1
+ {"version":3,"file":"treeselect/treeselect.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../../../src/treeselect/treeselect.tsx"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { ChevronDown, X } from 'lucide-react';\nimport {\n forwardRef,\n type InputHTMLAttributes,\n type ReactNode,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useComponentProps } from '../config-provider/component-defaults';\nimport { useLeafConfig } from '../config-provider/context';\nimport { estimateControlHeight } from '../density';\nimport { FieldScope, useFormField } from '../form/form';\nimport { classes } from '../shared/classes';\nimport { FormValue, useFieldValue, useMergedRef } from '../shared/field';\nimport {\n FloatingPanel,\n type PopupOptions,\n useFloatingDismiss,\n usePopupState,\n} from '../shared/floating';\nimport { useListMotion } from '../shared/motion';\nimport { SelectionContent } from '../shared/selection-content';\nimport type { ControlSize, ControlStatus } from '../shared/types';\nimport type { TreeNode } from '../tree';\nimport { treeModel } from '../tree/model';\nimport { TreeControl as Tree } from '../tree/tree';\n\nexport interface TreeSelectOption {\n value: string;\n label: ReactNode;\n children?: readonly TreeSelectOption[];\n disabled?: boolean;\n selectable?: boolean;\n disableCheckbox?: boolean;\n icon?: ReactNode;\n searchLabel?: string;\n isLeaf?: boolean;\n}\nexport type TreeSelectValue = string | readonly string[] | null;\ninterface InternalTreeSelectProps\n extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'value' | 'defaultValue' | 'onChange' | 'size' | 'multiple'\n >,\n PopupOptions {\n options: readonly TreeSelectOption[];\n value?: TreeSelectValue;\n defaultValue?: TreeSelectValue;\n onChange?: (value: TreeSelectValue) => void;\n multiple?: boolean;\n treeCheckable?: boolean;\n checkStrictly?: boolean;\n showCheckedStrategy?: 'child' | 'parent' | 'all';\n showSearch?: boolean;\n onSearch?: (query: string) => void;\n allowClear?: boolean;\n defaultExpandAll?: boolean;\n treeDefaultExpandedKeys?: readonly string[];\n size?: ControlSize;\n status?: ControlStatus;\n popupWidth?: number | string;\n popupMaxWidth?: number | string;\n notFoundContent?: ReactNode;\n onOpenChange?: (open: boolean) => void;\n loadData?: (\n option: TreeSelectOption,\n signal: AbortSignal,\n ) => Promise<readonly TreeSelectOption[]>;\n onLoadError?: (error: unknown, option: TreeSelectOption) => void;\n virtual?: boolean;\n listHeight?: number;\n itemHeight?: number;\n inputReadOnly?: boolean;\n open?: boolean;\n defaultOpen?: boolean;\n maxTagCount?: number | 'responsive';\n tagWrap?: boolean;\n maxCount?: number;\n treeExpandedKeys?: readonly string[];\n onExpand?: (keys: string[]) => void;\n filterTreeNode?: (option: TreeSelectOption, query: string) => boolean;\n nodeRender?: (option: TreeSelectOption) => ReactNode;\n cacheKey?: string | number;\n}\nconst emptyKeys: readonly string[] = [];\nconst InternalTreeSelect = forwardRef<HTMLInputElement, InternalTreeSelectProps>(\n function TreeSelect(\n {\n options,\n value,\n defaultValue = null,\n onChange,\n multiple = false,\n treeCheckable = false,\n checkStrictly = false,\n showCheckedStrategy = 'child',\n showSearch = true,\n onSearch,\n allowClear = true,\n defaultExpandAll = false,\n treeDefaultExpandedKeys = emptyKeys,\n size = 'md',\n status: statusProp,\n disabled: disabledProp,\n required: requiredProp,\n popupWidth = 'trigger',\n popupMaxWidth,\n notFoundContent,\n onOpenChange,\n loadData,\n onLoadError,\n virtual = false,\n listHeight = 256,\n itemHeight: itemHeightProp,\n inputReadOnly,\n open: controlledOpen,\n defaultOpen,\n maxTagCount,\n tagWrap = true,\n maxCount = Infinity,\n treeExpandedKeys,\n onExpand,\n filterTreeNode,\n nodeRender,\n cacheKey,\n popupPlacement,\n popupClassName,\n popupStyle,\n popupRender,\n getPopupContainer,\n name,\n form,\n className,\n style,\n placeholder,\n 'aria-label': label,\n ...props\n },\n forwardedRef,\n ) {\n const { messages, theme, density, direction: configuredDirection } = useLeafConfig();\n const itemHeight =\n itemHeightProp ?? Math.max(24, estimateControlHeight(theme, density) - 4) + 6;\n const field = useFormField();\n const disabled = disabledProp || field?.disabled;\n const required = requiredProp ?? field?.required;\n const status = statusProp ?? (field?.error ? 'error' : undefined);\n const multi = multiple || treeCheckable;\n const trigger = useRef<HTMLInputElement>(null);\n const ref = useMergedRef(trigger, forwardedRef);\n const root = useRef<HTMLDivElement>(null);\n const panel = useRef<HTMLDivElement>(null);\n const pendingFocus = useRef(false);\n const [current, setCurrent] = useFieldValue(value, defaultValue, trigger, form);\n const selected = typeof current === 'string' ? [current] : (current ?? emptyKeys);\n useListMotion(root, selected[0], multi ? '' : '.leaf-tree-select__input-wrap[data-motion-key]');\n const [query, setQuery] = useState<string | null>(null);\n const searchQuery = query ?? '';\n const [open, setOpen] = usePopupState(\n disabled || props.readOnly,\n onOpenChange,\n controlledOpen,\n defaultOpen,\n );\n const id = `${useId()}-tree-select`;\n const [loadedOptions, setLoadedOptions] = useState<Map<string, readonly TreeSelectOption[]>>(\n new Map(),\n );\n const generation = useRef(0);\n // biome-ignore lint/correctness/useExhaustiveDependencies: Invalidate lazy options on source and cache-version changes.\n useEffect(() => {\n generation.current++;\n setLoadedOptions(new Map());\n }, [options, loadData, cacheKey]);\n const allOptions = useMemo(() => {\n const merge = (entries: readonly TreeSelectOption[]): TreeSelectOption[] =>\n entries.map((option) => {\n const children = option.children ?? loadedOptions.get(option.value);\n return children ? { ...option, children: merge(children) } : option;\n });\n return merge(options);\n }, [options, loadedOptions]);\n const optionRecords = useMemo(() => {\n const map = new Map<string, TreeSelectOption>();\n const visit = (entries: readonly TreeSelectOption[]) => {\n for (const option of entries) {\n map.set(option.value, option);\n if (option.children) visit(option.children);\n }\n };\n visit(allOptions);\n return map;\n }, [allOptions]);\n const latestLoader = useRef({ loadData, optionRecords });\n latestLoader.current = { loadData, optionRecords };\n const lazyLoad = useCallback(async (node: TreeNode, signal: AbortSignal) => {\n const snapshot = generation.current;\n const option = latestLoader.current.optionRecords.get(node.key);\n if (!option || !latestLoader.current.loadData) return [];\n const children = await latestLoader.current.loadData(option, signal);\n if (!signal.aborted && snapshot === generation.current)\n setLoadedOptions((previous) => new Map(previous).set(node.key, children));\n const convert = (entries: readonly TreeSelectOption[]): TreeNode[] =>\n entries.map(({ value: key, label: title, children, ...entry }) => ({\n ...entry,\n key,\n title,\n children: children ? convert(children) : undefined,\n }));\n return convert(children);\n }, []);\n const data = useMemo(() => {\n const convert = (nodes: readonly TreeSelectOption[]): TreeNode[] =>\n nodes.map(({ value: key, label: title, children, ...node }) => ({\n ...node,\n key,\n title,\n children: children ? convert(children) : undefined,\n }));\n return convert(allOptions);\n }, [allOptions]);\n const records = useMemo(() => treeModel(data), [data]);\n const [expandedKeys, setExpandedKeys] = useState<readonly string[]>(() =>\n defaultExpandAll ? [...records.keys()] : treeDefaultExpandedKeys,\n );\n const close = () => {\n setOpen(false);\n setQuery(null);\n };\n useFloatingDismiss(open, close, trigger, panel, root);\n useEffect(() => {\n if (!open) setQuery(null);\n else if (pendingFocus.current) {\n panel.current?.querySelector<HTMLElement>('[role=\"treeitem\"][tabindex=\"0\"]')?.focus();\n pendingFocus.current = false;\n }\n }, [open]);\n const commit = (keys: readonly string[]) => {\n if (disabled || props.readOnly || keys.length > maxCount) return;\n const next: TreeSelectValue = multi ? [...keys] : (keys[0] ?? null);\n setCurrent(next);\n onChange?.(next);\n setQuery(null);\n if (!multi) {\n setOpen(false);\n trigger.current?.focus();\n }\n };\n const canRemove = (key: string) =>\n !records.get(key)?.node.disabled && !records.get(key)?.node.disableCheckbox;\n const clearable = allowClear && selected.some(canRemove) && !disabled && !props.readOnly;\n const caption = (key: string) => records.get(key)?.node.title ?? key;\n const a11yCaption = (key: string) =>\n records.get(key)?.node.searchLabel ??\n (typeof caption(key) === 'string' || typeof caption(key) === 'number'\n ? String(caption(key))\n : key);\n const selectedCaption = selected[0] === undefined ? undefined : caption(selected[0]);\n const hasRichCaption =\n selectedCaption !== undefined &&\n typeof selectedCaption !== 'string' &&\n typeof selectedCaption !== 'number';\n const showCaption = !multi && hasRichCaption && (!showSearch || !open || query === null);\n const inputValue = multi\n ? searchQuery\n : showSearch && open\n ? (query ?? (selected[0] === undefined ? '' : a11yCaption(selected[0])))\n : selected[0] === undefined\n ? ''\n : a11yCaption(selected[0]);\n const beginSearch = () => {\n if (!showSearch || disabled || props.readOnly || inputReadOnly) return;\n if (!multi && query === null) trigger.current?.select();\n setOpen(true);\n };\n return (\n <>\n {/* biome-ignore lint/a11y/noStaticElementInteractions: The wrapper extends the input's clickable area, as in Select. */}\n {/* biome-ignore lint/a11y/useKeyWithClickEvents: The enclosed combobox owns keyboard interaction. */}\n <div\n ref={root}\n className={classes(\n 'leaf-tree-select',\n `leaf-tree-select--${size}`,\n multi && 'leaf-tree-select--multiple',\n className,\n )}\n style={style}\n dir={props.dir ?? configuredDirection}\n data-disabled={disabled || undefined}\n data-status={status}\n data-open={open || undefined}\n data-clearable={clearable || undefined}\n data-searchable={showSearch || undefined}\n onMouseDown={(event) => {\n if (\n !disabled &&\n event.target instanceof Element &&\n !event.target.closest('input, button, a')\n )\n event.preventDefault();\n }}\n onClick={(event) => {\n if (\n !disabled &&\n event.target instanceof Element &&\n !event.target.closest('input, button, a')\n ) {\n trigger.current?.focus();\n trigger.current?.click();\n }\n }}\n >\n <SelectionContent\n className=\"leaf-tree-select__content\"\n tagClassName=\"leaf-tree-select__tag\"\n tagWrap={tagWrap}\n maxTagCount={maxTagCount}\n searchable={showSearch && !props.readOnly && !inputReadOnly}\n query={searchQuery}\n removeLabel={messages.common.remove}\n items={\n multi\n ? selected.map((key) => ({\n key,\n label: caption(key),\n text: a11yCaption(key),\n remove:\n canRemove(key) && !disabled && !props.readOnly\n ? () => {\n commit(selected.filter((item) => item !== key));\n trigger.current?.focus();\n }\n : undefined,\n }))\n : undefined\n }\n >\n <span className=\"leaf-tree-select__input-wrap\" data-motion-key={selected[0] ?? ''}>\n {showCaption && (\n <span className=\"leaf-tree-select__value\" aria-hidden=\"true\">\n {selectedCaption}\n </span>\n )}\n <input\n {...props}\n ref={ref}\n id={props.id ?? field?.id}\n role=\"combobox\"\n aria-haspopup=\"tree\"\n aria-expanded={open}\n aria-controls={open ? id : undefined}\n aria-autocomplete={showSearch ? 'list' : undefined}\n aria-label={label ?? (field?.labelId ? undefined : messages.treeSelect.placeholder)}\n aria-labelledby={props['aria-labelledby'] ?? field?.labelId}\n aria-describedby={\n [props['aria-describedby'], field?.descriptionId].filter(Boolean).join(' ') ||\n undefined\n }\n aria-required={required || undefined}\n aria-invalid={status === 'error' || props['aria-invalid']}\n autoComplete=\"off\"\n className={classes(\n 'leaf-tree-select__input',\n showCaption && 'leaf-tree-select__input--caption',\n )}\n value={inputValue}\n readOnly={!showSearch || props.readOnly || inputReadOnly}\n disabled={disabled}\n placeholder={\n selected.length ? undefined : (placeholder ?? messages.treeSelect.placeholder)\n }\n onClick={(event) => {\n props.onClick?.(event);\n if (event.defaultPrevented) return;\n if (open && !showSearch) close();\n else setOpen(true);\n }}\n onBeforeInput={(event) => {\n props.onBeforeInput?.(event);\n if (!event.defaultPrevented) beginSearch();\n }}\n onPaste={(event) => {\n props.onPaste?.(event);\n if (!event.defaultPrevented) beginSearch();\n }}\n onCompositionStart={(event) => {\n props.onCompositionStart?.(event);\n if (!event.defaultPrevented) beginSearch();\n }}\n onChange={(event) => {\n setQuery(event.target.value);\n onSearch?.(event.target.value);\n setOpen(true);\n }}\n onKeyDown={(event) => {\n props.onKeyDown?.(event);\n if (event.defaultPrevented || disabled || event.nativeEvent.isComposing) return;\n if (\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey &&\n (event.key.length === 1 || event.key === 'Backspace' || event.key === 'Delete')\n )\n beginSearch();\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (!open) {\n pendingFocus.current = true;\n setOpen(true);\n } else\n panel.current\n ?.querySelector<HTMLElement>('[role=\"treeitem\"][tabindex=\"0\"]')\n ?.focus();\n } else if (event.key === 'Enter' && !open) {\n event.preventDefault();\n setOpen(true);\n } else if (event.key === 'Backspace' && !searchQuery && multi) {\n const last = [...selected].reverse().find(canRemove);\n if (last) {\n event.preventDefault();\n commit(selected.filter((key) => key !== last));\n }\n }\n }}\n />\n </span>\n </SelectionContent>\n {clearable && (\n <button\n type=\"button\"\n className=\"leaf-tree-select__clear\"\n aria-label={messages.treeSelect.clear}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n commit(selected.filter((key) => !canRemove(key)));\n trigger.current?.focus();\n }}\n >\n <X size={14} aria-hidden=\"true\" />\n </button>\n )}\n <button\n type=\"button\"\n className=\"leaf-tree-select__arrow\"\n tabIndex={-1}\n disabled={disabled}\n aria-label={messages.treeSelect.placeholder}\n onClick={() => {\n trigger.current?.focus();\n if (open) close();\n else setOpen(true);\n }}\n >\n <ChevronDown size={16} aria-hidden=\"true\" />\n </button>\n <FormValue\n value={selected[0] ?? ''}\n name={name}\n form={form}\n required={required}\n disabled={disabled}\n triggerRef={trigger}\n />\n {selected.slice(1).map((key) => (\n <input\n type=\"hidden\"\n key={key}\n name={name}\n form={form}\n value={key}\n disabled={disabled}\n />\n ))}\n </div>\n <FloatingPanel\n placement={popupPlacement}\n container={getPopupContainer}\n render={popupRender}\n style={popupStyle}\n open={open}\n triggerRef={root}\n panelRef={panel}\n matchWidth={popupWidth === 'trigger'}\n width={\n popupWidth === 'trigger'\n ? undefined\n : popupWidth === 'auto'\n ? 'max-content'\n : popupWidth\n }\n maxWidth={popupMaxWidth}\n maxHeight={320}\n className={classes('leaf-floating leaf-tree-select__panel', popupClassName)}\n >\n <FieldScope>\n <Tree\n virtual={virtual}\n height={listHeight}\n itemHeight={itemHeight}\n loadData={loadData ? lazyLoad : undefined}\n cacheKey={cacheKey}\n disabled={disabled || props.readOnly}\n expandedKeys={treeExpandedKeys ?? expandedKeys}\n onExpand={(keys) => {\n if (treeExpandedKeys === undefined) setExpandedKeys(keys);\n onExpand?.(keys);\n }}\n checkOnClick={treeCheckable}\n expandOnClick\n filterTreeNode={\n filterTreeNode\n ? (node, query) => {\n const option = optionRecords.get(node.key);\n return !!option && filterTreeNode(option, query);\n }\n : undefined\n }\n nodeRender={\n nodeRender\n ? (node) => {\n const option = optionRecords.get(node.key);\n return option ? nodeRender(option) : node.title;\n }\n : undefined\n }\n onLoadError={(error, node) => {\n const option = optionRecords.get(node.key);\n if (option) onLoadError?.(error, option);\n }}\n id={id}\n data={data}\n aria-label={label ?? messages.treeSelect.placeholder}\n multiple={multi}\n selectable={!treeCheckable}\n checkable={treeCheckable}\n checkStrictly={checkStrictly}\n selectedKeys={treeCheckable ? emptyKeys : selected}\n checkedKeys={selected}\n searchValue={searchQuery}\n notFoundContent={notFoundContent ?? messages.treeSelect.empty}\n onSelect={(keys) => commit(keys)}\n onCheck={(keys) => {\n const checked = new Set(keys);\n commit(\n checkStrictly || showCheckedStrategy === 'all'\n ? keys\n : keys.filter((key) => {\n const record = records.get(key);\n if (!record) return false;\n if (showCheckedStrategy === 'parent')\n return !record.parent || !checked.has(record.parent);\n return !(record.node.children ?? []).some((child) =>\n checked.has(child.key),\n );\n }),\n );\n }}\n />\n </FieldScope>\n </FloatingPanel>\n </>\n );\n },\n);\nInternalTreeSelect.displayName = 'TreeSelect';\nexport type TreeSelectProps = Omit<\n InternalTreeSelectProps,\n 'value' | 'defaultValue' | 'onChange' | 'multiple' | 'treeCheckable'\n> &\n (\n | {\n multiple?: false;\n treeCheckable?: false;\n value?: string | null;\n defaultValue?: string | null;\n onChange?: (value: string | null) => void;\n }\n | {\n multiple: true;\n treeCheckable?: boolean;\n value?: readonly string[];\n defaultValue?: readonly string[];\n onChange?: (value: readonly string[]) => void;\n }\n | {\n treeCheckable: true;\n multiple?: boolean;\n value?: readonly string[];\n defaultValue?: readonly string[];\n onChange?: (value: readonly string[]) => void;\n }\n );\nexport const TreeSelectControl = InternalTreeSelect as React.ForwardRefExoticComponent<\n TreeSelectProps & React.RefAttributes<HTMLInputElement>\n>;\nexport const TreeSelect = forwardRef<HTMLInputElement, TreeSelectProps>(\n function TreeSelect(rawProps, ref) {\n const props = useComponentProps('TreeSelect', rawProps);\n return <TreeSelectControl {...props} ref={ref} />;\n },\n);\nTreeSelect.displayName = 'TreeSelect';\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","emptyKeys","InternalTreeSelect","forwardRef","options","value","defaultValue","onChange","multiple","treeCheckable","checkStrictly","showCheckedStrategy","showSearch","onSearch","allowClear","defaultExpandAll","treeDefaultExpandedKeys","size","statusProp","disabledProp","requiredProp","popupWidth","popupMaxWidth","notFoundContent","onOpenChange","loadData","onLoadError","virtual","listHeight","itemHeightProp","inputReadOnly","controlledOpen","defaultOpen","maxTagCount","tagWrap","maxCount","Infinity","treeExpandedKeys","onExpand","filterTreeNode","nodeRender","cacheKey","popupPlacement","popupClassName","popupStyle","popupRender","getPopupContainer","name","form","className","style","placeholder","label","props","forwardedRef","messages","theme","density","configuredDirection","useLeafConfig","itemHeight","Math","estimateControlHeight","field","useFormField","disabled","required","status","undefined","multi","trigger","useRef","ref","useMergedRef","root","panel","pendingFocus","current","setCurrent","useFieldValue","selected","useListMotion","query","setQuery","useState","searchQuery","open","setOpen","usePopupState","id","useId","loadedOptions","setLoadedOptions","Map","generation","useEffect","allOptions","useMemo","merge","entries","option","children","optionRecords","map","visit","latestLoader","lazyLoad","useCallback","node","signal","snapshot","previous","convert","title","entry","data","nodes","records","treeModel","expandedKeys","setExpandedKeys","close","useFloatingDismiss","commit","keys","next","canRemove","clearable","caption","a11yCaption","String","selectedCaption","hasRichCaption","showCaption","inputValue","beginSearch","classes","event","Element","SelectionContent","item","Boolean","last","X","ChevronDown","FormValue","FloatingPanel","FieldScope","Tree","error","checked","Set","record","child","TreeSelectControl","TreeSelect","rawProps","useComponentProps"],"mappings":"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"}
@@ -39,6 +39,7 @@ const react_virtual_namespaceObject = require("@tanstack/react-virtual");
39
39
  const external_react_namespaceObject = require("react");
40
40
  const component_defaults_cjs_namespaceObject = require("../config-provider/component-defaults.cjs");
41
41
  const result_cjs_namespaceObject = require("../result/result.cjs");
42
+ const scrollbar_cjs_namespaceObject = require("../scrollbar/scrollbar.cjs");
42
43
  const classes_cjs_namespaceObject = require("../shared/classes.cjs");
43
44
  function VirtualListRoot(rawProps, ref) {
44
45
  const { items, itemKey, renderItem, height = 320, estimateSize = 40, overscan = 5, emptyContent, horizontal = false, className, style, ...props } = rawProps;
@@ -64,12 +65,17 @@ function VirtualListRoot(rawProps, ref) {
64
65
  }), [
65
66
  virtualizer
66
67
  ]);
67
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
68
- ...props,
68
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(scrollbar_cjs_namespaceObject.ScrollbarControl, {
69
69
  ref: root,
70
- role: props.role,
70
+ viewportProps: props,
71
+ role: props.role ?? 'presentation',
71
72
  tabIndex: props.tabIndex ?? 0,
72
73
  className: (0, classes_cjs_namespaceObject.classes)('leaf-virtual-list', className),
74
+ viewportClassName: "leaf-virtual-list__viewport",
75
+ viewportStyle: {
76
+ position: 'relative'
77
+ },
78
+ scrollbarTabIndex: -1,
73
79
  style: {
74
80
  height,
75
81
  ...style
@@ -1 +1 @@
1
- {"version":3,"file":"virtuallist/virtuallist.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../../../src/virtuallist/virtuallist.tsx"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { useVirtualizer } from '@tanstack/react-virtual';\nimport {\n forwardRef,\n type HTMLAttributes,\n type Key,\n type ReactElement,\n type ReactNode,\n type Ref,\n type RefAttributes,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport {\n mergeComponentProps,\n useGenericComponentDefaults,\n} from '../config-provider/component-defaults';\nimport { ResultControl as Result } from '../result/result';\nimport { classes } from '../shared/classes';\nexport interface VirtualListHandle {\n element: HTMLDivElement | null;\n scrollToIndex: (index: number, align?: 'auto' | 'start' | 'center' | 'end') => void;\n scrollToOffset: (offset: number) => void;\n}\nexport interface VirtualListProps<T> extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {\n items: readonly T[];\n itemKey: (item: T, index: number) => Key;\n renderItem: (item: T, index: number) => ReactNode;\n height?: number;\n estimateSize?: number | ((item: T, index: number) => number);\n overscan?: number;\n emptyContent?: ReactNode;\n horizontal?: boolean;\n}\nfunction VirtualListRoot<T>(rawProps: VirtualListProps<T>, ref: Ref<VirtualListHandle>) {\n const {\n items,\n itemKey,\n renderItem,\n height = 320,\n estimateSize = 40,\n overscan = 5,\n emptyContent,\n horizontal = false,\n className,\n style,\n ...props\n } = rawProps;\n const root = useRef<HTMLDivElement>(null);\n const virtualizer = useVirtualizer<HTMLDivElement, HTMLLIElement>({\n count: items.length,\n getScrollElement: () => root.current,\n estimateSize: (index) =>\n typeof estimateSize === 'number'\n ? Math.max(1, estimateSize)\n : Math.max(1, estimateSize(items[index] as T, index)),\n getItemKey: (index) => itemKey(items[index] as T, index),\n overscan: Math.max(0, overscan),\n horizontal,\n initialRect: { height, width: 640 },\n });\n useImperativeHandle(\n ref,\n () => ({\n element: root.current,\n scrollToIndex: (index, align = 'auto') => virtualizer.scrollToIndex(index, { align }),\n scrollToOffset: (offset) => virtualizer.scrollToOffset(offset),\n }),\n [virtualizer],\n );\n return (\n <div\n {...props}\n ref={root}\n role={props.role}\n tabIndex={props.tabIndex ?? 0}\n className={classes('leaf-virtual-list', className)}\n style={{ height, ...style }}\n >\n {!items.length ? (\n (emptyContent ?? <Result status=\"empty\" />)\n ) : (\n <ul\n className=\"leaf-virtual-list__canvas\"\n style={{\n height: horizontal ? '100%' : virtualizer.getTotalSize(),\n width: horizontal ? virtualizer.getTotalSize() : '100%',\n }}\n >\n {virtualizer.getVirtualItems().map((row) => (\n <li\n key={row.key}\n ref={virtualizer.measureElement}\n data-index={row.index}\n aria-posinset={row.index + 1}\n aria-setsize={items.length}\n className=\"leaf-virtual-list__item\"\n style={{\n top: 0,\n left: 0,\n width: horizontal ? undefined : '100%',\n height: horizontal ? '100%' : undefined,\n transform: `translate${horizontal ? 'X' : 'Y'}(${row.start}px)`,\n }}\n >\n {renderItem(items[row.index] as T, row.index)}\n </li>\n ))}\n </ul>\n )}\n </div>\n );\n}\nexport const VirtualListControl = forwardRef(VirtualListRoot) as <T>(\n props: VirtualListProps<T> & RefAttributes<VirtualListHandle>,\n) => ReactElement;\n\nfunction VirtualListEntry<T>(rawProps: VirtualListProps<T>, ref: Ref<VirtualListHandle>) {\n const props = mergeComponentProps<VirtualListProps<T>>(\n useGenericComponentDefaults('VirtualList'),\n rawProps,\n );\n return <VirtualListControl {...props} ref={ref} />;\n}\nexport const VirtualList = forwardRef(VirtualListEntry) as <T>(\n props: VirtualListProps<T> & RefAttributes<VirtualListHandle>,\n) => ReactElement;\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","VirtualListRoot","rawProps","ref","items","itemKey","renderItem","height","estimateSize","overscan","emptyContent","horizontal","className","style","props","root","useRef","virtualizer","useVirtualizer","index","Math","useImperativeHandle","align","offset","classes","row","undefined","Result","VirtualListControl","forwardRef","VirtualListEntry","mergeComponentProps","useGenericComponentDefaults","VirtualList"],"mappings":"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"}
1
+ {"version":3,"file":"virtuallist/virtuallist.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../../../src/virtuallist/virtuallist.tsx"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { useVirtualizer } from '@tanstack/react-virtual';\nimport {\n forwardRef,\n type HTMLAttributes,\n type Key,\n type ReactElement,\n type ReactNode,\n type Ref,\n type RefAttributes,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport {\n mergeComponentProps,\n useGenericComponentDefaults,\n} from '../config-provider/component-defaults';\nimport { ResultControl as Result } from '../result/result';\nimport { ScrollbarControl } from '../scrollbar/scrollbar';\nimport { classes } from '../shared/classes';\nexport interface VirtualListHandle {\n element: HTMLDivElement | null;\n scrollToIndex: (index: number, align?: 'auto' | 'start' | 'center' | 'end') => void;\n scrollToOffset: (offset: number) => void;\n}\nexport interface VirtualListProps<T> extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {\n items: readonly T[];\n itemKey: (item: T, index: number) => Key;\n renderItem: (item: T, index: number) => ReactNode;\n height?: number;\n estimateSize?: number | ((item: T, index: number) => number);\n overscan?: number;\n emptyContent?: ReactNode;\n horizontal?: boolean;\n}\nfunction VirtualListRoot<T>(rawProps: VirtualListProps<T>, ref: Ref<VirtualListHandle>) {\n const {\n items,\n itemKey,\n renderItem,\n height = 320,\n estimateSize = 40,\n overscan = 5,\n emptyContent,\n horizontal = false,\n className,\n style,\n ...props\n } = rawProps;\n const root = useRef<HTMLDivElement>(null);\n const virtualizer = useVirtualizer<HTMLDivElement, HTMLLIElement>({\n count: items.length,\n getScrollElement: () => root.current,\n estimateSize: (index) =>\n typeof estimateSize === 'number'\n ? Math.max(1, estimateSize)\n : Math.max(1, estimateSize(items[index] as T, index)),\n getItemKey: (index) => itemKey(items[index] as T, index),\n overscan: Math.max(0, overscan),\n horizontal,\n initialRect: { height, width: 640 },\n });\n useImperativeHandle(\n ref,\n () => ({\n element: root.current,\n scrollToIndex: (index, align = 'auto') => virtualizer.scrollToIndex(index, { align }),\n scrollToOffset: (offset) => virtualizer.scrollToOffset(offset),\n }),\n [virtualizer],\n );\n return (\n <ScrollbarControl\n ref={root}\n viewportProps={props}\n role={props.role ?? 'presentation'}\n tabIndex={props.tabIndex ?? 0}\n className={classes('leaf-virtual-list', className)}\n viewportClassName=\"leaf-virtual-list__viewport\"\n viewportStyle={{ position: 'relative' }}\n scrollbarTabIndex={-1}\n style={{ height, ...style }}\n >\n {!items.length ? (\n (emptyContent ?? <Result status=\"empty\" />)\n ) : (\n <ul\n className=\"leaf-virtual-list__canvas\"\n style={{\n height: horizontal ? '100%' : virtualizer.getTotalSize(),\n width: horizontal ? virtualizer.getTotalSize() : '100%',\n }}\n >\n {virtualizer.getVirtualItems().map((row) => (\n <li\n key={row.key}\n ref={virtualizer.measureElement}\n data-index={row.index}\n aria-posinset={row.index + 1}\n aria-setsize={items.length}\n className=\"leaf-virtual-list__item\"\n style={{\n top: 0,\n left: 0,\n width: horizontal ? undefined : '100%',\n height: horizontal ? '100%' : undefined,\n transform: `translate${horizontal ? 'X' : 'Y'}(${row.start}px)`,\n }}\n >\n {renderItem(items[row.index] as T, row.index)}\n </li>\n ))}\n </ul>\n )}\n </ScrollbarControl>\n );\n}\nexport const VirtualListControl = forwardRef(VirtualListRoot) as <T>(\n props: VirtualListProps<T> & RefAttributes<VirtualListHandle>,\n) => ReactElement;\n\nfunction VirtualListEntry<T>(rawProps: VirtualListProps<T>, ref: Ref<VirtualListHandle>) {\n const props = mergeComponentProps<VirtualListProps<T>>(\n useGenericComponentDefaults('VirtualList'),\n rawProps,\n );\n return <VirtualListControl {...props} ref={ref} />;\n}\nexport const VirtualList = forwardRef(VirtualListEntry) as <T>(\n props: VirtualListProps<T> & RefAttributes<VirtualListHandle>,\n) => ReactElement;\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","VirtualListRoot","rawProps","ref","items","itemKey","renderItem","height","estimateSize","overscan","emptyContent","horizontal","className","style","props","root","useRef","virtualizer","useVirtualizer","index","Math","useImperativeHandle","align","offset","ScrollbarControl","classes","row","undefined","Result","VirtualListControl","forwardRef","VirtualListEntry","mergeComponentProps","useGenericComponentDefaults","VirtualList"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"button/button.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../src/button/button.tsx"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { LoaderCircle } from 'lucide-react';\nimport { type ButtonHTMLAttributes, forwardRef, type ReactNode } from 'react';\nimport { useComponentProps } from '../config-provider/component-defaults';\nimport { classes } from '../shared/classes';\nimport type { ControlSize } from '../shared/types';\nimport { useButtonWave } from './wave';\n\nexport type ButtonVariant = 'solid' | 'outline' | 'ghost' | 'link';\nexport type ButtonSize = ControlSize;\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Visual style. @default 'solid' */\n variant?: ButtonVariant;\n /** Shared control size. @default 'md' (36px) */\n size?: ButtonSize;\n /** Uses the semantic danger color in every variant. */\n danger?: boolean;\n /** Displays a spinner and prevents repeated interactions. */\n loading?: boolean;\n /** Expands the button to the width of its container. */\n fullWidth?: boolean;\n /** Content before the label. Use aria-label for icon-only buttons. */\n startIcon?: ReactNode;\n /** Content after the label. */\n endIcon?: ReactNode;\n}\n\n/** Internal rendering primitive; its owner resolves defaults and interaction constraints. */\nexport const ButtonControl = forwardRef<HTMLButtonElement, ButtonProps>(function ButtonControl(\n rawProps: ButtonProps,\n ref,\n) {\n const {\n variant = 'solid',\n size = 'md',\n danger = false,\n loading = false,\n fullWidth = false,\n disabled = false,\n type = 'button',\n className,\n children,\n startIcon,\n endIcon,\n onClick,\n 'aria-busy': ariaBusy,\n ...props\n } = rawProps;\n const hasLabel =\n children !== undefined && children !== null && children !== false && children !== '';\n const iconOnly = !hasLabel && Boolean(startIcon || endIcon || loading);\n const hasWave = variant === 'solid' || variant === 'outline';\n const { wave, play } = useButtonWave(disabled || loading || !hasWave);\n\n return (\n <button\n {...props}\n ref={ref}\n type={type}\n className={classes(\n 'leaf-button',\n `leaf-button--${variant}`,\n `leaf-button--${size}`,\n danger && 'leaf-button--danger',\n iconOnly && 'leaf-button--icon-only',\n fullWidth && 'leaf-button--full-width',\n className,\n )}\n disabled={disabled || loading}\n aria-busy={loading || ariaBusy}\n data-loading={loading ? '' : undefined}\n onClick={(event) => {\n play(event.currentTarget);\n onClick?.(event);\n }}\n >\n {hasWave && <span ref={wave} className=\"leaf-button__wave\" aria-hidden=\"true\" />}\n <span className=\"leaf-button__content\">\n {startIcon && (\n <span className=\"leaf-button__icon\" aria-hidden=\"true\">\n {startIcon}\n </span>\n )}\n {hasLabel && <span className=\"leaf-button__label\">{children}</span>}\n {endIcon && (\n <span className=\"leaf-button__icon\" aria-hidden=\"true\">\n {endIcon}\n </span>\n )}\n </span>\n <span className=\"leaf-button__loading\" aria-hidden=\"true\">\n <LoaderCircle className=\"leaf-button__spinner\" />\n </span>\n </button>\n );\n});\nButtonControl.displayName = 'ButtonControl';\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(function Button(rawProps, ref) {\n const props = useComponentProps('Button', rawProps);\n return <ButtonControl {...props} ref={ref} />;\n});\nButton.displayName = 'Button';\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","ButtonControl","forwardRef","rawProps","ref","variant","size","danger","loading","fullWidth","disabled","type","className","children","startIcon","endIcon","onClick","ariaBusy","props","hasLabel","iconOnly","Boolean","hasWave","wave","play","useButtonWave","classes","undefined","event","LoaderCircle","Button","useComponentProps"],"mappings":"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"}
1
+ {"version":3,"file":"button/button.cjs","sources":["webpack://webpack/runtime/define_property_getters","webpack://webpack/runtime/has_own_property","webpack://webpack/runtime/make_namespace_object","../../../src/button/button.tsx"],"sourcesContent":["__webpack_require__.d = (exports, getters, values) => {\n\tvar define = (defs, kind) => {\n\t\tfor(var key in defs) {\n\t\t\tif(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });\n\t\t\t}\n\t\t}\n\t};\n\tdefine(getters, \"get\");\n\tdefine(values, \"value\");\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { LoaderCircle } from 'lucide-react';\nimport { type ButtonHTMLAttributes, forwardRef, type ReactNode } from 'react';\nimport { useComponentProps } from '../config-provider/component-defaults';\nimport { classes } from '../shared/classes';\nimport type { ControlSize } from '../shared/types';\nimport { useButtonWave } from './wave';\n\nexport type ButtonVariant = 'solid' | 'outline' | 'soft' | 'link';\nexport type ButtonSize = ControlSize;\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n /** Visual style. @default 'solid' */\n variant?: ButtonVariant;\n /** Shared control size. @default 'md' (36px) */\n size?: ButtonSize;\n /** Uses the semantic danger color in every variant. */\n danger?: boolean;\n /** Displays a spinner and prevents repeated interactions. */\n loading?: boolean;\n /** Expands the button to the width of its container. */\n fullWidth?: boolean;\n /** Content before the label. Use aria-label for icon-only buttons. */\n startIcon?: ReactNode;\n /** Content after the label. */\n endIcon?: ReactNode;\n}\n\ninterface ButtonControlProps extends Omit<ButtonProps, 'variant'> {\n /** Borderless controls remain an implementation detail of their owning components. */\n variant?: ButtonVariant | 'ghost';\n}\n\n/** Internal rendering primitive; its owner resolves defaults and interaction constraints. */\nexport const ButtonControl = forwardRef<HTMLButtonElement, ButtonControlProps>(\n function ButtonControl(rawProps: ButtonControlProps, ref) {\n const {\n variant = 'solid',\n size = 'md',\n danger = false,\n loading = false,\n fullWidth = false,\n disabled = false,\n type = 'button',\n className,\n children,\n startIcon,\n endIcon,\n onClick,\n 'aria-busy': ariaBusy,\n ...props\n } = rawProps;\n const hasLabel =\n children !== undefined && children !== null && children !== false && children !== '';\n const iconOnly = !hasLabel && Boolean(startIcon || endIcon || loading);\n const hasWave = variant === 'solid' || variant === 'outline';\n const { wave, play } = useButtonWave(disabled || loading || !hasWave);\n\n return (\n <button\n {...props}\n ref={ref}\n type={type}\n className={classes(\n 'leaf-button',\n `leaf-button--${variant}`,\n `leaf-button--${size}`,\n danger && 'leaf-button--danger',\n iconOnly && 'leaf-button--icon-only',\n fullWidth && 'leaf-button--full-width',\n className,\n )}\n disabled={disabled || loading}\n aria-busy={loading || ariaBusy}\n data-loading={loading ? '' : undefined}\n onClick={(event) => {\n play(event.currentTarget);\n onClick?.(event);\n }}\n >\n {hasWave && <span ref={wave} className=\"leaf-button__wave\" aria-hidden=\"true\" />}\n <span className=\"leaf-button__content\">\n {startIcon && (\n <span className=\"leaf-button__icon\" aria-hidden=\"true\">\n {startIcon}\n </span>\n )}\n {hasLabel && <span className=\"leaf-button__label\">{children}</span>}\n {endIcon && (\n <span className=\"leaf-button__icon\" aria-hidden=\"true\">\n {endIcon}\n </span>\n )}\n </span>\n <span className=\"leaf-button__loading\" aria-hidden=\"true\">\n <LoaderCircle className=\"leaf-button__spinner\" />\n </span>\n </button>\n );\n },\n);\nButtonControl.displayName = 'ButtonControl';\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(function Button(rawProps, ref) {\n const props = useComponentProps('Button', rawProps);\n return <ButtonControl {...props} ref={ref} />;\n});\nButton.displayName = 'Button';\n"],"names":["__webpack_require__","getters","values","define","defs","kind","key","Object","obj","prop","Symbol","ButtonControl","forwardRef","rawProps","ref","variant","size","danger","loading","fullWidth","disabled","type","className","children","startIcon","endIcon","onClick","ariaBusy","props","hasLabel","iconOnly","Boolean","hasWave","wave","play","useButtonWave","classes","undefined","event","LoaderCircle","Button","useComponentProps"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type ButtonHTMLAttributes, type ReactNode } from 'react';
2
2
  import type { ControlSize } from '../shared/types.cjs';
3
- export type ButtonVariant = 'solid' | 'outline' | 'ghost' | 'link';
3
+ export type ButtonVariant = 'solid' | 'outline' | 'soft' | 'link';
4
4
  export type ButtonSize = ControlSize;
5
5
  export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
6
6
  /** Visual style. @default 'solid' */
@@ -18,7 +18,12 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
18
18
  /** Content after the label. */
19
19
  endIcon?: ReactNode;
20
20
  }
21
+ interface ButtonControlProps extends Omit<ButtonProps, 'variant'> {
22
+ /** Borderless controls remain an implementation detail of their owning components. */
23
+ variant?: ButtonVariant | 'ghost';
24
+ }
21
25
  /** Internal rendering primitive; its owner resolves defaults and interaction constraints. */
22
- export declare const ButtonControl: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
26
+ export declare const ButtonControl: import("react").ForwardRefExoticComponent<ButtonControlProps & import("react").RefAttributes<HTMLButtonElement>>;
23
27
  export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
28
+ export {};
24
29
  //# sourceMappingURL=button.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.cts","sourceRoot":"","sources":["../../../src/button/button.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AACnE,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC;AAErC,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,qCAAqC;IACrC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,gDAAgD;IAChD,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,6FAA6F;AAC7F,eAAO,MAAM,aAAa,2GAmExB,CAAC;AAGH,eAAO,MAAM,MAAM,2GAGjB,CAAC"}
1
+ {"version":3,"file":"button.d.cts","sourceRoot":"","sources":["../../../src/button/button.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAClE,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC;AAErC,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,qCAAqC;IACrC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,gDAAgD;IAChD,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,UAAU,kBAAmB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IAC/D,sFAAsF;IACtF,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;CACnC;AAED,6FAA6F;AAC7F,eAAO,MAAM,aAAa,kHAkEzB,CAAC;AAGF,eAAO,MAAM,MAAM,2GAGjB,CAAC"}