@accelint/design-system 0.2.0 → 0.3.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 (370) hide show
  1. package/dist/chunk-4CPMP3H7.js +418 -0
  2. package/dist/chunk-4CPMP3H7.js.map +1 -0
  3. package/dist/{styles.css → index.css} +885 -779
  4. package/dist/index.css.map +1 -0
  5. package/dist/index.d.ts +871 -8
  6. package/dist/index.js +5278 -66
  7. package/dist/index.js.map +1 -1
  8. package/dist/vanilla-DUNpoS8t.d.ts +2514 -0
  9. package/dist/vanilla.d.ts +9 -30
  10. package/dist/vanilla.js +3 -27
  11. package/dist/vanilla.js.map +1 -0
  12. package/package.json +13 -19
  13. package/dist/assets/components/button/button.css +0 -55
  14. package/dist/assets/components/checkbox/checkbox.css +0 -73
  15. package/dist/assets/components/chip/chip.css +0 -62
  16. package/dist/assets/components/combo-box/combo-box.css +0 -66
  17. package/dist/assets/components/dialog/dialog.css +0 -51
  18. package/dist/assets/components/drawer/drawer.css +0 -135
  19. package/dist/assets/components/group/group.css +0 -33
  20. package/dist/assets/components/icon/icon.css +0 -19
  21. package/dist/assets/components/input/input.css +0 -29
  22. package/dist/assets/components/menu/menu.css +0 -85
  23. package/dist/assets/components/options/options.css +0 -82
  24. package/dist/assets/components/picker/picker.css +0 -47
  25. package/dist/assets/components/popover/popover.css +0 -26
  26. package/dist/assets/components/query-builder/query-builder.css +0 -129
  27. package/dist/assets/components/radio/radio.css +0 -67
  28. package/dist/assets/components/search-field/search-field.css +0 -62
  29. package/dist/assets/components/select/select.css +0 -33
  30. package/dist/assets/components/switch/switch.css +0 -62
  31. package/dist/assets/components/tabs/tabs.css +0 -144
  32. package/dist/assets/components/textarea/textarea.css +0 -32
  33. package/dist/assets/components/tooltip/tooltip.css +0 -54
  34. package/dist/assets/components/tree/tree.css +0 -157
  35. package/dist/assets/hooks/use-theme/use-theme.css +0 -6
  36. package/dist/assets/src/components/button/button.css.ts.vanilla-9uttMYGm.css +0 -55
  37. package/dist/assets/src/components/checkbox/checkbox.css.ts.vanilla-Bewmypyn.css +0 -73
  38. package/dist/assets/src/components/chip/chip.css.ts.vanilla-CsGhxrlu.css +0 -62
  39. package/dist/assets/src/components/combo-box/combo-box.css.ts.vanilla-BNEPKjPm.css +0 -66
  40. package/dist/assets/src/components/dialog/dialog.css.ts.vanilla-CG0m-NJD.css +0 -51
  41. package/dist/assets/src/components/drawer/drawer.css.ts.vanilla-DEfHnoNS.css +0 -135
  42. package/dist/assets/src/components/group/group.css.ts.vanilla-DR69xgQy.css +0 -33
  43. package/dist/assets/src/components/icon/icon.css.ts.vanilla-CoUAfp2F.css +0 -19
  44. package/dist/assets/src/components/input/input.css.ts.vanilla-DoK5h9SX.css +0 -29
  45. package/dist/assets/src/components/menu/menu.css.ts.vanilla-LoWLg-jE.css +0 -85
  46. package/dist/assets/src/components/options/options.css.ts.vanilla-CWWFBTou.css +0 -82
  47. package/dist/assets/src/components/picker/picker.css.ts.vanilla-Fe0YXv-c.css +0 -47
  48. package/dist/assets/src/components/popover/popover.css.ts.vanilla-C5YGwwVD.css +0 -26
  49. package/dist/assets/src/components/query-builder/query-builder.css.ts.vanilla-B3P9cbCv.css +0 -129
  50. package/dist/assets/src/components/radio/radio.css.ts.vanilla-gi-KedQc.css +0 -67
  51. package/dist/assets/src/components/search-field/search-field.css.ts.vanilla-B_JL53f8.css +0 -62
  52. package/dist/assets/src/components/select/select.css.ts.vanilla-C94A60jf.css +0 -33
  53. package/dist/assets/src/components/switch/switch.css.ts.vanilla-DkQwtRa6.css +0 -62
  54. package/dist/assets/src/components/tabs/tabs.css.ts.vanilla-BygIflpl.css +0 -144
  55. package/dist/assets/src/components/textarea/textarea.css.ts.vanilla-Ba6E5HFc.css +0 -32
  56. package/dist/assets/src/components/tooltip/tooltip.css.ts.vanilla-BntxAlwN.css +0 -54
  57. package/dist/assets/src/components/tree/tree.css.ts.vanilla-SLmhk0zZ.css +0 -157
  58. package/dist/assets/src/hooks/use-theme/use-theme.css.ts.vanilla-zkVHnGkP.css +0 -6
  59. package/dist/assets/src/styles/layers.css.ts.vanilla-B2GUgnOF.css +0 -21
  60. package/dist/assets/src/styles/reset.css.ts.vanilla-C8PShXm0.css +0 -31
  61. package/dist/assets/src/styles/space.css.ts.vanilla-Md6Whc4G.css +0 -18
  62. package/dist/assets/src/styles/surfaces.css.ts.vanilla-Ckztx7VT.css +0 -24
  63. package/dist/assets/src/styles/theme.css.ts.vanilla-aDPSIzBK.css +0 -208
  64. package/dist/assets/src/styles/typography.css.ts.vanilla-DRT9H7rd.css +0 -150
  65. package/dist/assets/styles/layers.css +0 -21
  66. package/dist/assets/styles/reset.css +0 -31
  67. package/dist/assets/styles/space.css +0 -18
  68. package/dist/assets/styles/surfaces.css +0 -24
  69. package/dist/assets/styles/theme.css +0 -208
  70. package/dist/assets/styles/typography.css +0 -150
  71. package/dist/components/aria/aria.d.ts +0 -19
  72. package/dist/components/aria/aria.js +0 -36
  73. package/dist/components/aria/aria.js.map +0 -1
  74. package/dist/components/aria/index.d.ts +0 -1
  75. package/dist/components/button/button.css.d.ts +0 -33
  76. package/dist/components/button/button.d.ts +0 -39
  77. package/dist/components/button/button.js +0 -71
  78. package/dist/components/button/button.js.map +0 -1
  79. package/dist/components/button/button.vanilla.js +0 -8
  80. package/dist/components/button/button.vanilla.js.map +0 -1
  81. package/dist/components/button/index.d.ts +0 -3
  82. package/dist/components/button/types.d.ts +0 -28
  83. package/dist/components/checkbox/checkbox.css.d.ts +0 -35
  84. package/dist/components/checkbox/checkbox.d.ts +0 -21
  85. package/dist/components/checkbox/checkbox.js +0 -68
  86. package/dist/components/checkbox/checkbox.js.map +0 -1
  87. package/dist/components/checkbox/checkbox.vanilla.js +0 -9
  88. package/dist/components/checkbox/checkbox.vanilla.js.map +0 -1
  89. package/dist/components/checkbox/index.d.ts +0 -3
  90. package/dist/components/checkbox/types.d.ts +0 -38
  91. package/dist/components/chip/chip.css.d.ts +0 -31
  92. package/dist/components/chip/chip.d.ts +0 -30
  93. package/dist/components/chip/chip.js +0 -106
  94. package/dist/components/chip/chip.js.map +0 -1
  95. package/dist/components/chip/chip.vanilla.js +0 -8
  96. package/dist/components/chip/chip.vanilla.js.map +0 -1
  97. package/dist/components/chip/index.d.ts +0 -3
  98. package/dist/components/chip/types.d.ts +0 -31
  99. package/dist/components/collection/collection.d.ts +0 -13
  100. package/dist/components/collection/collection.js +0 -15
  101. package/dist/components/collection/collection.js.map +0 -1
  102. package/dist/components/collection/index.d.ts +0 -1
  103. package/dist/components/combo-box/combo-box.css.d.ts +0 -22
  104. package/dist/components/combo-box/combo-box.d.ts +0 -8
  105. package/dist/components/combo-box/combo-box.js +0 -87
  106. package/dist/components/combo-box/combo-box.js.map +0 -1
  107. package/dist/components/combo-box/combo-box.vanilla.js +0 -8
  108. package/dist/components/combo-box/combo-box.vanilla.js.map +0 -1
  109. package/dist/components/combo-box/index.d.ts +0 -3
  110. package/dist/components/combo-box/types.d.ts +0 -32
  111. package/dist/components/dialog/dialog.css.d.ts +0 -34
  112. package/dist/components/dialog/dialog.d.ts +0 -18
  113. package/dist/components/dialog/dialog.js +0 -146
  114. package/dist/components/dialog/dialog.js.map +0 -1
  115. package/dist/components/dialog/dialog.vanilla.js +0 -8
  116. package/dist/components/dialog/dialog.vanilla.js.map +0 -1
  117. package/dist/components/dialog/index.d.ts +0 -3
  118. package/dist/components/dialog/types.d.ts +0 -48
  119. package/dist/components/drawer/drawer.css.d.ts +0 -33
  120. package/dist/components/drawer/drawer.d.ts +0 -13
  121. package/dist/components/drawer/drawer.js +0 -199
  122. package/dist/components/drawer/drawer.js.map +0 -1
  123. package/dist/components/drawer/drawer.vanilla.js +0 -10
  124. package/dist/components/drawer/drawer.vanilla.js.map +0 -1
  125. package/dist/components/drawer/index.d.ts +0 -3
  126. package/dist/components/drawer/types.d.ts +0 -71
  127. package/dist/components/element/element.d.ts +0 -11
  128. package/dist/components/element/element.js +0 -21
  129. package/dist/components/element/element.js.map +0 -1
  130. package/dist/components/element/index.d.ts +0 -2
  131. package/dist/components/element/types.d.ts +0 -21
  132. package/dist/components/group/group.css.d.ts +0 -14
  133. package/dist/components/group/group.d.ts +0 -10
  134. package/dist/components/group/group.js +0 -44
  135. package/dist/components/group/group.js.map +0 -1
  136. package/dist/components/group/group.vanilla.js +0 -7
  137. package/dist/components/group/group.vanilla.js.map +0 -1
  138. package/dist/components/group/index.d.ts +0 -3
  139. package/dist/components/group/types.d.ts +0 -35
  140. package/dist/components/icon/icon.css.d.ts +0 -18
  141. package/dist/components/icon/icon.d.ts +0 -12
  142. package/dist/components/icon/icon.js +0 -26
  143. package/dist/components/icon/icon.js.map +0 -1
  144. package/dist/components/icon/icon.vanilla.js +0 -8
  145. package/dist/components/icon/icon.vanilla.js.map +0 -1
  146. package/dist/components/icon/index.d.ts +0 -3
  147. package/dist/components/icon/types.d.ts +0 -13
  148. package/dist/components/index.d.ts +0 -26
  149. package/dist/components/input/index.d.ts +0 -3
  150. package/dist/components/input/input.css.d.ts +0 -29
  151. package/dist/components/input/input.d.ts +0 -8
  152. package/dist/components/input/input.js +0 -93
  153. package/dist/components/input/input.js.map +0 -1
  154. package/dist/components/input/input.vanilla.js +0 -8
  155. package/dist/components/input/input.vanilla.js.map +0 -1
  156. package/dist/components/input/types.d.ts +0 -44
  157. package/dist/components/menu/index.d.ts +0 -3
  158. package/dist/components/menu/menu.css.d.ts +0 -75
  159. package/dist/components/menu/menu.d.ts +0 -24
  160. package/dist/components/menu/menu.js +0 -155
  161. package/dist/components/menu/menu.js.map +0 -1
  162. package/dist/components/menu/menu.vanilla.js +0 -8
  163. package/dist/components/menu/menu.vanilla.js.map +0 -1
  164. package/dist/components/menu/types.d.ts +0 -48
  165. package/dist/components/merge-provider/index.d.ts +0 -2
  166. package/dist/components/merge-provider/merge-provider.d.ts +0 -14
  167. package/dist/components/merge-provider/merge-provider.js +0 -40
  168. package/dist/components/merge-provider/merge-provider.js.map +0 -1
  169. package/dist/components/merge-provider/types.d.ts +0 -5
  170. package/dist/components/options/index.d.ts +0 -3
  171. package/dist/components/options/options.css.d.ts +0 -79
  172. package/dist/components/options/options.d.ts +0 -20
  173. package/dist/components/options/options.js +0 -152
  174. package/dist/components/options/options.js.map +0 -1
  175. package/dist/components/options/options.vanilla.js +0 -10
  176. package/dist/components/options/options.vanilla.js.map +0 -1
  177. package/dist/components/options/types.d.ts +0 -49
  178. package/dist/components/picker/index.d.ts +0 -3
  179. package/dist/components/picker/picker.css.d.ts +0 -32
  180. package/dist/components/picker/picker.d.ts +0 -18
  181. package/dist/components/picker/picker.js +0 -46
  182. package/dist/components/picker/picker.js.map +0 -1
  183. package/dist/components/picker/picker.stories.css.d.ts +0 -3
  184. package/dist/components/picker/picker.vanilla.js +0 -9
  185. package/dist/components/picker/picker.vanilla.js.map +0 -1
  186. package/dist/components/picker/types.d.ts +0 -28
  187. package/dist/components/popover/index.d.ts +0 -3
  188. package/dist/components/popover/popover.css.d.ts +0 -31
  189. package/dist/components/popover/popover.d.ts +0 -8
  190. package/dist/components/popover/popover.js +0 -110
  191. package/dist/components/popover/popover.js.map +0 -1
  192. package/dist/components/popover/popover.vanilla.js +0 -7
  193. package/dist/components/popover/popover.vanilla.js.map +0 -1
  194. package/dist/components/popover/types.d.ts +0 -32
  195. package/dist/components/query-builder/action-element.d.ts +0 -2
  196. package/dist/components/query-builder/action-element.js +0 -12
  197. package/dist/components/query-builder/action-element.js.map +0 -1
  198. package/dist/components/query-builder/constants.d.ts +0 -4
  199. package/dist/components/query-builder/constants.js +0 -20
  200. package/dist/components/query-builder/constants.js.map +0 -1
  201. package/dist/components/query-builder/dataset-sample.d.ts +0 -91
  202. package/dist/components/query-builder/group.d.ts +0 -5
  203. package/dist/components/query-builder/group.js +0 -87
  204. package/dist/components/query-builder/group.js.map +0 -1
  205. package/dist/components/query-builder/index.d.ts +0 -5
  206. package/dist/components/query-builder/query-builder.css.d.ts +0 -91
  207. package/dist/components/query-builder/query-builder.d.ts +0 -2
  208. package/dist/components/query-builder/query-builder.js +0 -129
  209. package/dist/components/query-builder/query-builder.js.map +0 -1
  210. package/dist/components/query-builder/query-builder.vanilla.js +0 -10
  211. package/dist/components/query-builder/query-builder.vanilla.js.map +0 -1
  212. package/dist/components/query-builder/rule.d.ts +0 -3
  213. package/dist/components/query-builder/rule.js +0 -112
  214. package/dist/components/query-builder/rule.js.map +0 -1
  215. package/dist/components/query-builder/types.d.ts +0 -128
  216. package/dist/components/query-builder/utils.d.ts +0 -29
  217. package/dist/components/query-builder/utils.js +0 -22
  218. package/dist/components/query-builder/utils.js.map +0 -1
  219. package/dist/components/query-builder/value-editor.d.ts +0 -4
  220. package/dist/components/query-builder/value-editor.js +0 -74
  221. package/dist/components/query-builder/value-editor.js.map +0 -1
  222. package/dist/components/query-builder/value-selector.d.ts +0 -2
  223. package/dist/components/query-builder/value-selector.js +0 -28
  224. package/dist/components/query-builder/value-selector.js.map +0 -1
  225. package/dist/components/radio/index.d.ts +0 -3
  226. package/dist/components/radio/radio.css.d.ts +0 -34
  227. package/dist/components/radio/radio.d.ts +0 -16
  228. package/dist/components/radio/radio.js +0 -63
  229. package/dist/components/radio/radio.js.map +0 -1
  230. package/dist/components/radio/radio.vanilla.js +0 -8
  231. package/dist/components/radio/radio.vanilla.js.map +0 -1
  232. package/dist/components/radio/types.d.ts +0 -29
  233. package/dist/components/search-field/index.d.ts +0 -3
  234. package/dist/components/search-field/search-field.css.d.ts +0 -16
  235. package/dist/components/search-field/search-field.d.ts +0 -9
  236. package/dist/components/search-field/search-field.js +0 -60
  237. package/dist/components/search-field/search-field.js.map +0 -1
  238. package/dist/components/search-field/search-field.vanilla.js +0 -7
  239. package/dist/components/search-field/search-field.vanilla.js.map +0 -1
  240. package/dist/components/search-field/types.d.ts +0 -29
  241. package/dist/components/select/index.d.ts +0 -3
  242. package/dist/components/select/select.css.d.ts +0 -25
  243. package/dist/components/select/select.d.ts +0 -8
  244. package/dist/components/select/select.js +0 -80
  245. package/dist/components/select/select.js.map +0 -1
  246. package/dist/components/select/select.vanilla.js +0 -8
  247. package/dist/components/select/select.vanilla.js.map +0 -1
  248. package/dist/components/select/types.d.ts +0 -30
  249. package/dist/components/switch/index.d.ts +0 -3
  250. package/dist/components/switch/switch.css.d.ts +0 -25
  251. package/dist/components/switch/switch.d.ts +0 -4
  252. package/dist/components/switch/switch.js +0 -34
  253. package/dist/components/switch/switch.js.map +0 -1
  254. package/dist/components/switch/switch.vanilla.js +0 -8
  255. package/dist/components/switch/switch.vanilla.js.map +0 -1
  256. package/dist/components/switch/types.d.ts +0 -17
  257. package/dist/components/tabs/index.d.ts +0 -3
  258. package/dist/components/tabs/tabs.css.d.ts +0 -49
  259. package/dist/components/tabs/tabs.d.ts +0 -68
  260. package/dist/components/tabs/tabs.js +0 -108
  261. package/dist/components/tabs/tabs.js.map +0 -1
  262. package/dist/components/tabs/tabs.vanilla.js +0 -11
  263. package/dist/components/tabs/tabs.vanilla.js.map +0 -1
  264. package/dist/components/tabs/types.d.ts +0 -82
  265. package/dist/components/textarea/index.d.ts +0 -3
  266. package/dist/components/textarea/textarea.css.d.ts +0 -31
  267. package/dist/components/textarea/textarea.d.ts +0 -14
  268. package/dist/components/textarea/textarea.js +0 -86
  269. package/dist/components/textarea/textarea.js.map +0 -1
  270. package/dist/components/textarea/textarea.vanilla.js +0 -8
  271. package/dist/components/textarea/textarea.vanilla.js.map +0 -1
  272. package/dist/components/textarea/types.d.ts +0 -39
  273. package/dist/components/tooltip/index.d.ts +0 -3
  274. package/dist/components/tooltip/tooltip.css.d.ts +0 -23
  275. package/dist/components/tooltip/tooltip.d.ts +0 -23
  276. package/dist/components/tooltip/tooltip.js +0 -69
  277. package/dist/components/tooltip/tooltip.js.map +0 -1
  278. package/dist/components/tooltip/tooltip.vanilla.js +0 -8
  279. package/dist/components/tooltip/tooltip.vanilla.js.map +0 -1
  280. package/dist/components/tooltip/types.d.ts +0 -39
  281. package/dist/components/tree/index.d.ts +0 -3
  282. package/dist/components/tree/tree.css.d.ts +0 -73
  283. package/dist/components/tree/tree.d.ts +0 -5
  284. package/dist/components/tree/tree.js +0 -337
  285. package/dist/components/tree/tree.js.map +0 -1
  286. package/dist/components/tree/tree.vanilla.js +0 -11
  287. package/dist/components/tree/tree.vanilla.js.map +0 -1
  288. package/dist/components/tree/types.d.ts +0 -114
  289. package/dist/components/tree/utils.d.ts +0 -8
  290. package/dist/components/tree/utils.js +0 -75
  291. package/dist/components/tree/utils.js.map +0 -1
  292. package/dist/hooks/index.d.ts +0 -8
  293. package/dist/hooks/use-collection-render/index.d.ts +0 -1
  294. package/dist/hooks/use-collection-render/use-collection-render.d.ts +0 -9
  295. package/dist/hooks/use-collection-render/use-collection-render.js +0 -20
  296. package/dist/hooks/use-collection-render/use-collection-render.js.map +0 -1
  297. package/dist/hooks/use-context-props/index.d.ts +0 -1
  298. package/dist/hooks/use-context-props/use-context-props.d.ts +0 -7
  299. package/dist/hooks/use-context-props/use-context-props.js +0 -15
  300. package/dist/hooks/use-context-props/use-context-props.js.map +0 -1
  301. package/dist/hooks/use-defaults/index.d.ts +0 -2
  302. package/dist/hooks/use-defaults/types.d.ts +0 -67
  303. package/dist/hooks/use-defaults/use-defaults.d.ts +0 -56
  304. package/dist/hooks/use-defaults/use-defaults.js +0 -21
  305. package/dist/hooks/use-defaults/use-defaults.js.map +0 -1
  306. package/dist/hooks/use-propagating-press/index.d.ts +0 -1
  307. package/dist/hooks/use-propagating-press/use-propagating-press.d.ts +0 -9
  308. package/dist/hooks/use-propagating-press/use-propagating-press.js +0 -14
  309. package/dist/hooks/use-propagating-press/use-propagating-press.js.map +0 -1
  310. package/dist/hooks/use-slot/index.d.ts +0 -1
  311. package/dist/hooks/use-slot/use-slot.d.ts +0 -13
  312. package/dist/hooks/use-slot/use-slot.js +0 -18
  313. package/dist/hooks/use-slot/use-slot.js.map +0 -1
  314. package/dist/hooks/use-theme/index.d.ts +0 -2
  315. package/dist/hooks/use-theme/types.d.ts +0 -86
  316. package/dist/hooks/use-theme/use-theme.css.d.ts +0 -1
  317. package/dist/hooks/use-theme/use-theme.d.ts +0 -13
  318. package/dist/hooks/use-theme/use-theme.js +0 -64
  319. package/dist/hooks/use-theme/use-theme.js.map +0 -1
  320. package/dist/hooks/use-theme/use-theme.vanilla.js +0 -4
  321. package/dist/hooks/use-theme/use-theme.vanilla.js.map +0 -1
  322. package/dist/hooks/use-tree/index.d.ts +0 -1
  323. package/dist/hooks/use-tree/use-tree.d.ts +0 -2
  324. package/dist/hooks/use-tree/use-tree.js +0 -217
  325. package/dist/hooks/use-tree/use-tree.js.map +0 -1
  326. package/dist/hooks/use-tree/utils.d.ts +0 -6
  327. package/dist/hooks/use-tree/utils.js +0 -77
  328. package/dist/hooks/use-tree/utils.js.map +0 -1
  329. package/dist/hooks/use-update-effect/index.d.ts +0 -1
  330. package/dist/hooks/use-update-effect/use-update-effect.d.ts +0 -1
  331. package/dist/hooks/use-update-effect/use-update-effect.js +0 -20
  332. package/dist/hooks/use-update-effect/use-update-effect.js.map +0 -1
  333. package/dist/ladle/actions.d.ts +0 -1
  334. package/dist/ladle/index.d.ts +0 -1
  335. package/dist/styles/index.d.ts +0 -6
  336. package/dist/styles/layers.css.d.ts +0 -16
  337. package/dist/styles/layers.vanilla.js +0 -4
  338. package/dist/styles/layers.vanilla.js.map +0 -1
  339. package/dist/styles/reset.css.d.ts +0 -1
  340. package/dist/styles/space.css.d.ts +0 -1
  341. package/dist/styles/surfaces.css.d.ts +0 -4
  342. package/dist/styles/surfaces.vanilla.js +0 -4
  343. package/dist/styles/surfaces.vanilla.js.map +0 -1
  344. package/dist/styles/theme.css.d.ts +0 -334
  345. package/dist/styles/theme.vanilla.js +0 -31
  346. package/dist/styles/theme.vanilla.js.map +0 -1
  347. package/dist/styles/typography.css.d.ts +0 -17
  348. package/dist/styles/typography.vanilla.js +0 -8
  349. package/dist/styles/typography.vanilla.js.map +0 -1
  350. package/dist/test/setup.d.ts +0 -1
  351. package/dist/types/deckgl.d.ts +0 -1
  352. package/dist/types/generic.d.ts +0 -3
  353. package/dist/types/index.d.ts +0 -6
  354. package/dist/types/props.d.ts +0 -4
  355. package/dist/types/react-aria.d.ts +0 -91
  356. package/dist/types/use-tree.d.ts +0 -52
  357. package/dist/types/vanilla-extract.d.ts +0 -15
  358. package/dist/utils/css.d.ts +0 -139
  359. package/dist/utils/css.js +0 -145
  360. package/dist/utils/css.js.map +0 -1
  361. package/dist/utils/events.d.ts +0 -10
  362. package/dist/utils/events.js +0 -5
  363. package/dist/utils/events.js.map +0 -1
  364. package/dist/utils/index.d.ts +0 -4
  365. package/dist/utils/props.d.ts +0 -29
  366. package/dist/utils/props.js +0 -108
  367. package/dist/utils/props.js.map +0 -1
  368. package/dist/utils/validators.d.ts +0 -49
  369. package/dist/utils/validators.js +0 -37
  370. package/dist/utils/validators.js.map +0 -1
@@ -1,337 +0,0 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { noop } from 'lodash';
3
- import { createContext, useMemo, useCallback, useContext } from 'react';
4
- import { usePress } from 'react-aria';
5
- import { Provider, DropIndicator, useDragAndDrop, GridList, DEFAULT_SLOT, ButtonContext as ButtonContext$1, GridListItem } from 'react-aria-components';
6
- import { inlineVars } from '../../utils/css.js';
7
- import { mergeClassNames, callRenderProps } from '../../utils/props.js';
8
- import { useDefaultProps } from '../../hooks/use-defaults/use-defaults.js';
9
- import { useTheme } from '../../hooks/use-theme/use-theme.js';
10
- import { useTree } from '../../hooks/use-tree/use-tree.js';
11
- import { bodies } from '../../styles/typography.vanilla.js';
12
- import { AriaTextContext } from '../aria/aria.js';
13
- import { ToggleButtonContext, ButtonContext, Button } from '../button/button.js';
14
- import { CheckboxContext } from '../checkbox/checkbox.js';
15
- import { GroupContext } from '../group/group.js';
16
- import { Icon } from '../icon/icon.js';
17
- import { MergeProvider } from '../merge-provider/merge-provider.js';
18
- import { treeClassNames, treeStateVars, treeIndicatorStateVars, treeGroupStateVars, treeItemStateVars } from './tree.vanilla.js';
19
- import { createDragAndDropHandlers } from './utils.js';
20
-
21
- const emptyTree = {
22
- key: "",
23
- parentKey: "",
24
- children: [],
25
- value: { id: "", label: "" }
26
- };
27
- const defaultMapping = {
28
- actions: {
29
- sm: {},
30
- lg: {}
31
- },
32
- button: {
33
- sm: { size: "sm", variant: "icon" },
34
- lg: { size: "md", variant: "icon" }
35
- },
36
- description: {
37
- sm: bodies.sm,
38
- lg: bodies.md
39
- },
40
- drag: {
41
- sm: {},
42
- lg: {}
43
- },
44
- expansion: {
45
- sm: {},
46
- lg: {}
47
- },
48
- visibility: {
49
- sm: {},
50
- lg: {}
51
- }
52
- };
53
- const defaultSize = "lg";
54
- const TreeStateContext = createContext({
55
- allowsDragging: true,
56
- allowsExpansion: true,
57
- allowsVisibility: false,
58
- lookup: {},
59
- selectedKeys: /* @__PURE__ */ new Set(),
60
- selectionMode: "none",
61
- tree: emptyTree,
62
- actions: {
63
- append: noop,
64
- getItem: () => emptyTree,
65
- insert: noop,
66
- insertAfter: noop,
67
- insertBefore: noop,
68
- move: noop,
69
- prepend: noop,
70
- remove: noop,
71
- removeSelectedItems: noop,
72
- revertIsExpanded: noop,
73
- setSelectedKeys: noop,
74
- toggleIsExpanded: noop,
75
- toggleIsSelected: noop,
76
- toggleIsViewable: noop,
77
- update: noop
78
- }
79
- });
80
- function defaultRenderEmptyState({ isDropTarget }) {
81
- return isDropTarget ? "Add to this group" : "Nothing to see here";
82
- }
83
- function Tree(props) {
84
- props = useDefaultProps(props, "Tree");
85
- const { children: childrenProp, allowsDragging = false, allowsExpansion = true, allowsVisibility = false, classNames: classNamesProps, disabledBehavior = "all", keyboardNavigationBehavior = "arrow", mapping: mappingProp, nodes, provider, renderDragPreview, renderEmptyState: renderEmptyStateProp = defaultRenderEmptyState, selectionBehavior = "replace", selectionMode = "none", showTreeLines = true, size = defaultSize, onAction, onScroll, onSelectionChange, onUpdate, ...rest } = props;
86
- const state = useTree({
87
- allowsExpansion,
88
- allowsVisibility,
89
- nodes,
90
- selectionMode,
91
- onSelectionChange,
92
- onUpdate
93
- });
94
- const theme = useTheme();
95
- const mapping = useMemo(() => ({
96
- ...defaultMapping,
97
- ...mappingProp
98
- }), [mappingProp]);
99
- const classNames = useMemo(() => mergeClassNames(treeClassNames, theme.Tree, classNamesProps, {
100
- item: {
101
- description: mapping.description[size]
102
- }
103
- }) ?? {}, [theme.Tree, classNamesProps, mapping, size]);
104
- const renderEmptyState = useCallback((renderProps) => jsx("div", { className: classNames?.empty, children: renderEmptyStateProp(renderProps) }), [classNames?.empty, renderEmptyStateProp]);
105
- const context = useMemo(() => [
106
- [
107
- TreeStateContext,
108
- {
109
- ...state,
110
- allowsDragging,
111
- classNames,
112
- disabledBehavior,
113
- keyboardNavigationBehavior,
114
- renderDragPreview,
115
- renderEmptyState,
116
- selectionBehavior,
117
- selectionMode,
118
- showTreeLines,
119
- size,
120
- onAction,
121
- onScroll
122
- }
123
- ]
124
- ], [
125
- state,
126
- allowsDragging,
127
- classNames,
128
- disabledBehavior,
129
- keyboardNavigationBehavior,
130
- renderDragPreview,
131
- renderEmptyState,
132
- selectionBehavior,
133
- selectionMode,
134
- showTreeLines,
135
- size,
136
- onAction,
137
- onScroll
138
- ]);
139
- const style = useMemo(() => inlineVars(treeStateVars, {
140
- allowsDragging,
141
- allowsExpansion: state.allowsExpansion,
142
- allowsVisibility: state.allowsVisibility,
143
- showTreeLines,
144
- size
145
- }), [
146
- allowsDragging,
147
- state.allowsExpansion,
148
- state.allowsVisibility,
149
- showTreeLines,
150
- size
151
- ]);
152
- const children = useMemo(() => {
153
- const treeGroupProps = {
154
- ...rest,
155
- id: state.tree.key,
156
- nodes: state.tree.children
157
- };
158
- return provider ? callRenderProps(childrenProp, { ...state, treeGroupProps }) : jsx(TreeGroup, { ...treeGroupProps, children: childrenProp });
159
- }, [rest, provider, childrenProp, state]);
160
- return jsx(Provider, { values: context, children: jsx("div", { className: classNames?.tree?.container, style, children: jsx("div", { className: classNames?.tree?.tree, children }) }) });
161
- }
162
- function TreeGroup({ id, children, nodes, types = ["all"], ...rest }) {
163
- const { actions, allowsDragging, classNames, disabledBehavior, keyboardNavigationBehavior, lookup, renderDragPreview, renderEmptyState, selectedKeys, selectionBehavior, selectionMode, onAction, onScroll } = useContext(TreeStateContext);
164
- const acceptedDragTypes = useMemo(() => types.map((type) => `tree-${type}`), [types]);
165
- const renderDropIndicator = useCallback((target) => jsx(DropIndicator, {
166
- className: classNames?.indicator?.container,
167
- // eslint-disable-next-line react-perf/jsx-no-new-function-as-prop, react/jsx-no-bind
168
- style: (renderProps) => inlineVars(treeIndicatorStateVars, {
169
- ...renderProps,
170
- dropPosition: "dropPosition" in target ? target.dropPosition : "root"
171
- }),
172
- target,
173
- children: jsx("div", { className: classNames?.indicator?.indicator })
174
- }), [classNames?.indicator?.container, classNames?.indicator?.indicator]);
175
- const { dragAndDropHooks } = useDragAndDrop({
176
- isDisabled: !allowsDragging,
177
- renderDragPreview,
178
- renderDropIndicator,
179
- ...createDragAndDropHandlers(id, acceptedDragTypes, lookup, actions)
180
- });
181
- const style = useCallback((renderProps) => inlineVars(treeGroupStateVars, { ...renderProps, count: nodes.length }), [nodes.length]);
182
- const indices = useMemo(() => nodes.reduce((acc, node, index) => {
183
- acc[node.key] = index;
184
- return acc;
185
- }, {}), [nodes]);
186
- return jsx(GridList, { ...rest, className: classNames?.group, disabledBehavior, dragAndDropHooks, items: nodes, keyboardNavigationBehavior, renderEmptyState, selectedKeys, selectionBehavior, selectionMode, style, onAction, onScroll, children: (item) => jsx(TreeItem, { index: indices[item.key] ?? -1, node: item, isFirstChild: indices[item.key] === 0, isLastChild: indices[item.key] === nodes.length - 1, children }) });
187
- }
188
- const contextBlocker = [
189
- [ToggleButtonContext, null],
190
- [AriaTextContext, null],
191
- [GroupContext, null],
192
- [CheckboxContext, null],
193
- [ButtonContext, null],
194
- [ButtonContext$1, null]
195
- ];
196
- function TreeItem({ children: childrenProp, index, mapping: mappingProp, node, isFirstChild, isLastChild, ...rest }) {
197
- const { actions, allowsExpansion, classNames, size: sizeProp } = useContext(TreeStateContext);
198
- const mapping = useMemo(() => ({
199
- ...defaultMapping,
200
- ...mappingProp
201
- }), [mappingProp]);
202
- const selection = useMemo(() => /* @__PURE__ */ new Set([node.key]), [node.key]);
203
- const handleToggleExpansion = useCallback(() => actions.toggleIsExpanded(selection), [actions, selection]);
204
- const handleToggleSelection = useCallback(() => actions.toggleIsSelected(selection), [actions, selection]);
205
- const handleToggleVisibility = useCallback(() => actions.toggleIsViewable(selection), [actions, selection]);
206
- const { pressProps } = usePress({
207
- onPress: handleToggleExpansion
208
- });
209
- const style = useCallback((renderProps) => inlineVars(treeItemStateVars, {
210
- ...renderProps,
211
- count: node.children.length,
212
- index,
213
- isExpanded: "nodes" in node.value ? !!node.value.isExpanded : false,
214
- isFirstChild,
215
- isGroup: "nodes" in node.value,
216
- isLastChild,
217
- isViewable: !!node.value.isViewable,
218
- isVisible: !!node.value.isVisible
219
- }), [node.children.length, node.value, index, isFirstChild, isLastChild]);
220
- const context = useMemo(() => {
221
- const size = sizeProp ?? defaultSize;
222
- const buttonProps = mapping.button[size] ?? {};
223
- return [
224
- [
225
- ToggleButtonContext,
226
- {
227
- slots: {
228
- [DEFAULT_SLOT]: buttonProps,
229
- expansion: {
230
- ...buttonProps,
231
- ...mapping.expansion[size],
232
- classNames: classNames?.item?.expansion,
233
- isSelected: "nodes" in node.value ? !!node.value.isExpanded : void 0,
234
- onPress: handleToggleExpansion
235
- },
236
- visibility: {
237
- ...buttonProps,
238
- ...mapping.visibility[size],
239
- classNames: classNames?.item?.visibility,
240
- isSelected: !!node.value.isViewable,
241
- onPress: handleToggleVisibility
242
- }
243
- }
244
- }
245
- ],
246
- [
247
- AriaTextContext,
248
- {
249
- slots: {
250
- [DEFAULT_SLOT]: {},
251
- description: {
252
- ..."nodes" in node.value ? pressProps : {},
253
- className: classNames?.item?.description,
254
- children: node.value.label
255
- }
256
- }
257
- }
258
- ],
259
- [
260
- GroupContext,
261
- {
262
- slots: {
263
- [DEFAULT_SLOT]: {},
264
- actions: {
265
- classNames: classNames?.item?.actions,
266
- context: ButtonContext,
267
- values: buttonProps
268
- }
269
- }
270
- }
271
- ],
272
- [
273
- CheckboxContext,
274
- {
275
- slots: {
276
- [DEFAULT_SLOT]: {},
277
- selection: {
278
- classNames: classNames?.item?.selection,
279
- onChange: handleToggleSelection
280
- }
281
- }
282
- }
283
- ],
284
- [
285
- ButtonContext,
286
- {
287
- slots: {
288
- [DEFAULT_SLOT]: buttonProps,
289
- drag: {
290
- ...buttonProps,
291
- ...mapping.drag[size],
292
- classNames: classNames?.item?.drag
293
- },
294
- // We use a non-interactive Button for the lines to try and simplify the
295
- // consistent use of space when rendered in alignment with other Buttons
296
- lines: {
297
- ...buttonProps,
298
- classNames: classNames?.item?.lines,
299
- isDisabled: true
300
- }
301
- }
302
- }
303
- ],
304
- // Need to expand the RAC ButtonContext to allow for additional slots
305
- [ButtonContext$1, { slots: { [DEFAULT_SLOT]: {}, lines: {} } }]
306
- ];
307
- }, [
308
- classNames?.item?.lines,
309
- classNames?.item?.expansion,
310
- classNames?.item?.visibility,
311
- classNames?.item?.description,
312
- classNames?.item?.actions,
313
- classNames?.item?.selection,
314
- classNames?.item?.drag,
315
- mapping,
316
- node,
317
- pressProps,
318
- sizeProp,
319
- handleToggleExpansion,
320
- handleToggleSelection,
321
- handleToggleVisibility
322
- ]);
323
- const children = useCallback((renderProps) => jsx(MergeProvider, { values: context, children: jsxs("div", { className: classNames?.item?.item, children: [node.parentKey && jsx(Button, { slot: "lines", children: jsx(Icon, {}) }), jsx("div", { className: classNames?.item?.bar, children: callRenderProps(childrenProp, {
324
- ...renderProps,
325
- node
326
- }) }), "nodes" in node.value && (!allowsExpansion || node.value.isExpanded) && jsx(Provider, { values: contextBlocker, children: jsx(TreeGroup, { id: node.key, nodes: node.children, types: node.value.types, "aria-label": node.value.label, children: childrenProp }) })] }) }), [
327
- context,
328
- classNames?.item?.item,
329
- classNames?.item?.bar,
330
- node,
331
- childrenProp,
332
- allowsExpansion
333
- ]);
334
- return jsx(GridListItem, { ...rest, className: classNames?.item?.container, style, textValue: node.value.label, children });
335
- }
336
-
337
- export { Tree, TreeGroup, TreeItem, TreeStateContext };
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree.js","sources":["../../../src/components/tree/tree.tsx"],"sourcesContent":["import { noop } from 'lodash';\nimport { createContext, useCallback, useContext, useMemo } from 'react';\nimport { usePress, type Key } from 'react-aria';\nimport {\n DEFAULT_SLOT,\n DropIndicator,\n GridList,\n GridListItem,\n Provider,\n ButtonContext as RACButtonContext,\n useDragAndDrop,\n type ContextValue,\n type DropTarget,\n type GridListItemRenderProps,\n type GridListRenderProps,\n type ButtonProps as RACButtonProps,\n type TextProps,\n} from 'react-aria-components';\nimport { useDefaultProps, useTheme, useTree } from '../../hooks';\nimport { bodies } from '../../styles';\nimport { callRenderProps, inlineVars, mergeClassNames } from '../../utils';\nimport { AriaTextContext } from '../aria';\nimport {\n Button,\n ButtonContext,\n ToggleButtonContext,\n type ButtonProps,\n type ToggleButtonProps,\n} from '../button';\nimport { CheckboxContext, type CheckboxProps } from '../checkbox';\nimport { GroupContext, type GroupProps } from '../group';\nimport { Icon } from '../icon';\nimport { MergeProvider } from '../merge-provider';\nimport {\n treeClassNames,\n treeGroupStateVars,\n treeIndicatorStateVars,\n treeItemStateVars,\n treeStateVars,\n} from './tree.css';\nimport type {\n TreeGroupProps,\n TreeIndicatorRenderProps,\n TreeItemProps,\n TreeMapping,\n TreeProps,\n TreeStateContextValue,\n} from './types';\nimport { createDragAndDropHandlers } from './utils';\n\nconst emptyTree = {\n key: '',\n parentKey: '',\n children: [],\n value: { id: '', label: '' },\n};\n\nconst defaultMapping: TreeMapping = {\n actions: {\n sm: {},\n lg: {},\n },\n button: {\n sm: { size: 'sm', variant: 'icon' },\n lg: { size: 'md', variant: 'icon' },\n },\n description: {\n sm: bodies.sm,\n lg: bodies.md,\n },\n drag: {\n sm: {},\n lg: {},\n },\n expansion: {\n sm: {},\n lg: {},\n },\n visibility: {\n sm: {},\n lg: {},\n },\n};\n\nconst defaultSize = 'lg';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const TreeStateContext = createContext<TreeStateContextValue<any>>({\n allowsDragging: true,\n allowsExpansion: true,\n allowsVisibility: false,\n lookup: {},\n selectedKeys: new Set(),\n selectionMode: 'none',\n tree: emptyTree,\n actions: {\n append: noop,\n getItem: () => emptyTree,\n insert: noop,\n insertAfter: noop,\n insertBefore: noop,\n move: noop,\n prepend: noop,\n remove: noop,\n removeSelectedItems: noop,\n revertIsExpanded: noop,\n setSelectedKeys: noop,\n toggleIsExpanded: noop,\n toggleIsSelected: noop,\n toggleIsViewable: noop,\n update: noop,\n },\n});\n\nfunction defaultRenderEmptyState({ isDropTarget }: GridListRenderProps) {\n return isDropTarget ? 'Add to this group' : 'Nothing to see here';\n}\n\nexport function Tree<T>(props: TreeProps<T>) {\n props = useDefaultProps(props as TreeProps<unknown>, 'Tree') as TreeProps<T>;\n\n const {\n children: childrenProp,\n allowsDragging = false,\n allowsExpansion = true,\n allowsVisibility = false,\n classNames: classNamesProps,\n disabledBehavior = 'all',\n keyboardNavigationBehavior = 'arrow',\n mapping: mappingProp,\n nodes,\n provider,\n renderDragPreview,\n renderEmptyState: renderEmptyStateProp = defaultRenderEmptyState,\n selectionBehavior = 'replace',\n selectionMode = 'none',\n showTreeLines = true,\n size = defaultSize,\n onAction,\n onScroll,\n onSelectionChange,\n onUpdate,\n ...rest\n } = props;\n\n const state = useTree({\n allowsExpansion,\n allowsVisibility,\n nodes,\n selectionMode,\n onSelectionChange,\n onUpdate,\n });\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(treeClassNames, theme.Tree, classNamesProps, {\n item: {\n description: mapping.description[size],\n },\n }) ?? {},\n [theme.Tree, classNamesProps, mapping, size],\n );\n\n const renderEmptyState = useCallback(\n (renderProps: GridListRenderProps) => (\n <div className={classNames?.empty}>\n {renderEmptyStateProp(renderProps)}\n </div>\n ),\n [classNames?.empty, renderEmptyStateProp],\n );\n\n const context = useMemo<\n [[typeof TreeStateContext, TreeStateContextValue<T>]]\n >(\n () => [\n [\n TreeStateContext,\n {\n ...state,\n allowsDragging,\n classNames,\n disabledBehavior,\n keyboardNavigationBehavior,\n renderDragPreview,\n renderEmptyState,\n selectionBehavior,\n selectionMode,\n showTreeLines,\n size,\n onAction,\n onScroll,\n },\n ],\n ],\n [\n state,\n allowsDragging,\n classNames,\n disabledBehavior,\n keyboardNavigationBehavior,\n renderDragPreview,\n renderEmptyState,\n selectionBehavior,\n selectionMode,\n showTreeLines,\n size,\n onAction,\n onScroll,\n ],\n );\n\n const style = useMemo(\n () =>\n inlineVars(treeStateVars, {\n allowsDragging,\n allowsExpansion: state.allowsExpansion,\n allowsVisibility: state.allowsVisibility,\n showTreeLines,\n size,\n }),\n [\n allowsDragging,\n state.allowsExpansion,\n state.allowsVisibility,\n showTreeLines,\n size,\n ],\n );\n\n const children = useMemo(() => {\n const treeGroupProps = {\n ...rest,\n id: state.tree.key,\n nodes: state.tree.children,\n };\n\n return provider ? (\n callRenderProps(childrenProp, { ...state, treeGroupProps })\n ) : (\n <TreeGroup {...treeGroupProps}>{childrenProp}</TreeGroup>\n );\n }, [rest, provider, childrenProp, state]);\n\n return (\n <Provider values={context}>\n <div className={classNames?.tree?.container} style={style}>\n <div className={classNames?.tree?.tree}>{children}</div>\n </div>\n </Provider>\n );\n}\n\nexport function TreeGroup<T>({\n id,\n children,\n nodes,\n types = ['all'],\n ...rest\n}: TreeGroupProps<T>) {\n const {\n actions,\n allowsDragging,\n classNames,\n disabledBehavior,\n keyboardNavigationBehavior,\n lookup,\n renderDragPreview,\n renderEmptyState,\n selectedKeys,\n selectionBehavior,\n selectionMode,\n onAction,\n onScroll,\n } = useContext(TreeStateContext);\n\n const acceptedDragTypes = useMemo(\n () => types.map((type) => `tree-${type}`),\n [types],\n );\n\n // This function cannot be treated as a component and will throw errors if implemented as one (with hooks)\n const renderDropIndicator = useCallback(\n (target: DropTarget) => (\n <DropIndicator\n className={classNames?.indicator?.container}\n // eslint-disable-next-line react-perf/jsx-no-new-function-as-prop, react/jsx-no-bind\n style={(renderProps: TreeIndicatorRenderProps) =>\n inlineVars(treeIndicatorStateVars, {\n ...renderProps,\n dropPosition:\n 'dropPosition' in target ? target.dropPosition : 'root',\n })\n }\n target={target}\n >\n <div className={classNames?.indicator?.indicator} />\n </DropIndicator>\n ),\n [classNames?.indicator?.container, classNames?.indicator?.indicator],\n );\n\n const { dragAndDropHooks } = useDragAndDrop({\n isDisabled: !allowsDragging,\n renderDragPreview,\n renderDropIndicator,\n ...createDragAndDropHandlers(id, acceptedDragTypes, lookup, actions),\n });\n\n const style = useCallback(\n (renderProps: GridListRenderProps) =>\n inlineVars(treeGroupStateVars, { ...renderProps, count: nodes.length }),\n [nodes.length],\n );\n\n const indices = useMemo(\n () =>\n nodes.reduce<Record<Key, number>>((acc, node, index) => {\n acc[node.key] = index;\n\n return acc;\n }, {}),\n [nodes],\n );\n\n return (\n <GridList\n {...rest}\n className={classNames?.group}\n disabledBehavior={disabledBehavior}\n dragAndDropHooks={dragAndDropHooks}\n items={nodes}\n keyboardNavigationBehavior={keyboardNavigationBehavior}\n renderEmptyState={renderEmptyState}\n selectedKeys={selectedKeys}\n selectionBehavior={selectionBehavior}\n selectionMode={selectionMode}\n style={style}\n onAction={onAction}\n onScroll={onScroll}\n >\n {(item) => (\n <TreeItem\n index={indices[item.key] ?? -1}\n node={item}\n isFirstChild={indices[item.key] === 0}\n isLastChild={indices[item.key] === nodes.length - 1}\n >\n {children}\n </TreeItem>\n )}\n </GridList>\n );\n}\n\ntype TreeItemContexts = [\n [\n typeof ToggleButtonContext,\n ContextValue<ToggleButtonProps, HTMLButtonElement>,\n ],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLSpanElement>],\n [\n typeof GroupContext,\n ContextValue<GroupProps<ButtonProps, HTMLButtonElement>, HTMLDivElement>,\n ],\n [typeof CheckboxContext, ContextValue<CheckboxProps, HTMLLabelElement>],\n [typeof ButtonContext, ContextValue<ButtonProps, HTMLButtonElement>],\n [typeof RACButtonContext, ContextValue<RACButtonProps, HTMLButtonElement>],\n];\n\nconst contextBlocker: TreeItemContexts = [\n [ToggleButtonContext, null],\n [AriaTextContext, null],\n [GroupContext, null],\n [CheckboxContext, null],\n [ButtonContext, null],\n [RACButtonContext, null],\n];\n\nexport function TreeItem<T>({\n children: childrenProp,\n index,\n mapping: mappingProp,\n node,\n isFirstChild,\n isLastChild,\n ...rest\n}: TreeItemProps<T>) {\n const {\n actions,\n allowsExpansion,\n classNames,\n size: sizeProp,\n } = useContext(TreeStateContext);\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const selection = useMemo(() => new Set([node.key]), [node.key]);\n\n const handleToggleExpansion = useCallback(\n () => actions.toggleIsExpanded(selection),\n [actions, selection],\n );\n\n const handleToggleSelection = useCallback(\n () => actions.toggleIsSelected(selection),\n [actions, selection],\n );\n\n const handleToggleVisibility = useCallback(\n () => actions.toggleIsViewable(selection),\n [actions, selection],\n );\n\n const { pressProps } = usePress({\n onPress: handleToggleExpansion,\n });\n\n const style = useCallback(\n (renderProps: GridListItemRenderProps) =>\n inlineVars(treeItemStateVars, {\n ...renderProps,\n count: node.children.length,\n index,\n isExpanded: 'nodes' in node.value ? !!node.value.isExpanded : false,\n isFirstChild,\n isGroup: 'nodes' in node.value,\n isLastChild,\n isViewable: !!node.value.isViewable,\n isVisible: !!node.value.isVisible,\n }),\n [node.children.length, node.value, index, isFirstChild, isLastChild],\n );\n\n const context = useMemo<TreeItemContexts>(() => {\n const size = sizeProp ?? defaultSize;\n const buttonProps = mapping.button[size] ?? {};\n\n return [\n [\n ToggleButtonContext,\n {\n slots: {\n [DEFAULT_SLOT]: buttonProps,\n expansion: {\n ...buttonProps,\n ...mapping.expansion[size],\n classNames: classNames?.item?.expansion,\n isSelected:\n 'nodes' in node.value ? !!node.value.isExpanded : undefined,\n onPress: handleToggleExpansion,\n },\n visibility: {\n ...buttonProps,\n ...mapping.visibility[size],\n classNames: classNames?.item?.visibility,\n isSelected: !!node.value.isViewable,\n onPress: handleToggleVisibility,\n },\n },\n },\n ],\n [\n AriaTextContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n description: {\n ...('nodes' in node.value ? pressProps : {}),\n className: classNames?.item?.description,\n children: node.value.label,\n },\n },\n },\n ],\n [\n GroupContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n actions: {\n classNames: classNames?.item?.actions,\n context: ButtonContext,\n values: buttonProps,\n },\n },\n },\n ],\n [\n CheckboxContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n selection: {\n classNames: classNames?.item?.selection,\n onChange: handleToggleSelection,\n },\n },\n },\n ],\n [\n ButtonContext,\n {\n slots: {\n [DEFAULT_SLOT]: buttonProps,\n drag: {\n ...buttonProps,\n ...mapping.drag[size],\n classNames: classNames?.item?.drag,\n },\n // We use a non-interactive Button for the lines to try and simplify the\n // consistent use of space when rendered in alignment with other Buttons\n lines: {\n ...buttonProps,\n classNames: classNames?.item?.lines,\n isDisabled: true,\n },\n },\n },\n ],\n // Need to expand the RAC ButtonContext to allow for additional slots\n [RACButtonContext, { slots: { [DEFAULT_SLOT]: {}, lines: {} } }],\n ];\n }, [\n classNames?.item?.lines,\n classNames?.item?.expansion,\n classNames?.item?.visibility,\n classNames?.item?.description,\n classNames?.item?.actions,\n classNames?.item?.selection,\n classNames?.item?.drag,\n mapping,\n node,\n pressProps,\n sizeProp,\n handleToggleExpansion,\n handleToggleSelection,\n handleToggleVisibility,\n ]);\n\n /**\n * We need to block the above contexts from being passed into the TreeGroup\n * so that each TreeItem has a distinct context. We only use MergeProvider\n * for the above contexts because the GridListItem provides contexts that\n * we need to merge with\n */\n const children = useCallback(\n (renderProps: GridListItemRenderProps) => (\n <MergeProvider values={context}>\n <div className={classNames?.item?.item}>\n {node.parentKey && (\n <Button slot='lines'>\n <Icon />\n </Button>\n )}\n <div className={classNames?.item?.bar}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n node,\n })}\n </div>\n {'nodes' in node.value &&\n (!allowsExpansion || node.value.isExpanded) && (\n <Provider values={contextBlocker}>\n <TreeGroup\n id={node.key}\n nodes={node.children}\n types={node.value.types}\n aria-label={node.value.label}\n >\n {childrenProp}\n </TreeGroup>\n </Provider>\n )}\n </div>\n </MergeProvider>\n ),\n [\n context,\n classNames?.item?.item,\n classNames?.item?.bar,\n node,\n childrenProp,\n allowsExpansion,\n ],\n );\n\n return (\n <GridListItem\n {...rest}\n className={classNames?.item?.container}\n style={style}\n textValue={node.value.label}\n >\n {children}\n </GridListItem>\n );\n}\n"],"names":["RACButtonContext"],"mappings":"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"}
@@ -1,11 +0,0 @@
1
-
2
- var treeClassNames = { tree: { container: "tree_treeClassNames_tree_container__kbtjn31b" }, empty: "tree_treeClassNames_empty__kbtjn31c", group: "tree_treeClassNames_group__kbtjn31d", indicator: { indicator: "tree_treeClassNames_indicator_indicator__kbtjn31e" }, item: { container: "tree_treeClassNames_item_container__kbtjn31f", item: "tree_treeClassNames_item_item__kbtjn31g", bar: "tree_treeClassNames_item_bar__kbtjn31h", lines: { container: "tree_treeClassNames_item_lines_container__kbtjn31i", button: "tree_treeClassNames_item_lines_button__kbtjn31j" }, visibility: { container: "tree_treeClassNames_item_visibility_container__kbtjn31k" }, expansion: { container: "tree_treeClassNames_item_expansion_container__kbtjn31l" }, description: "tree_treeClassNames_item_description__kbtjn31m", actions: { container: "tree_treeClassNames_item_actions_container__kbtjn31n" }, selection: { checkbox: { container: "tree_treeClassNames_item_selection_checkbox_container__kbtjn31o" } }, drag: { container: "tree_treeClassNames_item_drag_container__kbtjn31p" } } };
3
- var treeColorVars = { bar: { background: "var(--bar-background__kbtjn33)", border: "var(--bar-border__kbtjn34)", color: "var(--bar-color__kbtjn35)" }, indicator: { background: "var(--indicator-background__kbtjn36)", border: "var(--indicator-border__kbtjn37)", color: "var(--indicator-color__kbtjn38)" } };
4
- var treeContainers = { tree: "tree_treeContainers_tree__kbtjn30", group: "tree_treeContainers_group__kbtjn31", item: "tree_treeContainers_item__kbtjn32" };
5
- var treeGroupStateVars = { count: "var(--count__kbtjn3k)", layout: "var(--layout__kbtjn3l)", isDropTarget: "var(--isDropTarget__kbtjn3m)", isEmpty: "var(--isEmpty__kbtjn3n)", isFocused: "var(--isFocused__kbtjn3o)", isFocusVisible: "var(--isFocusVisible__kbtjn3p)" };
6
- var treeIndicatorStateVars = { dropPosition: "var(--dropPosition__kbtjn3q)", isDropTarget: "var(--isDropTarget__kbtjn3r)" };
7
- var treeItemStateVars = { allowsDragging: "var(--allowsDragging__kbtjn3s)", count: "var(--count__kbtjn3t)", index: "var(--index__kbtjn3u)", selectionMode: "var(--selectionMode__kbtjn3v)", selectionBehavior: "var(--selectionBehavior__kbtjn3w)", isDisabled: "var(--isDisabled__kbtjn3x)", isDragging: "var(--isDragging__kbtjn3y)", isDropTarget: "var(--isDropTarget__kbtjn3z)", isExpanded: "var(--isExpanded__kbtjn310)", isFirstChild: "var(--isFirstChild__kbtjn311)", isFocused: "var(--isFocused__kbtjn312)", isFocusVisible: "var(--isFocusVisible__kbtjn313)", isGroup: "var(--isGroup__kbtjn314)", isHovered: "var(--isHovered__kbtjn315)", isLastChild: "var(--isLastChild__kbtjn316)", isPressed: "var(--isPressed__kbtjn317)", isSelected: "var(--isSelected__kbtjn318)", isViewable: "var(--isViewable__kbtjn319)", isVisible: "var(--isVisible__kbtjn31a)" };
8
- var treeSpaceVars = { bar: { x: "var(--bar-x__kbtjn39)", y: "var(--bar-y__kbtjn3a)" }, description: { x: "var(--description-x__kbtjn3b)", y: "var(--description-y__kbtjn3c)" }, empty: { x: "var(--empty-x__kbtjn3d)", y: "var(--empty-y__kbtjn3e)" } };
9
- var treeStateVars = { allowsDragging: "var(--allowsDragging__kbtjn3f)", allowsExpansion: "var(--allowsExpansion__kbtjn3g)", allowsVisibility: "var(--allowsVisibility__kbtjn3h)", showTreeLines: "var(--showTreeLines__kbtjn3i)", size: "var(--size__kbtjn3j)" };
10
-
11
- export { treeClassNames, treeColorVars, treeContainers, treeGroupStateVars, treeIndicatorStateVars, treeItemStateVars, treeSpaceVars, treeStateVars };
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree.vanilla.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -1,114 +0,0 @@
1
- import type { AriaLabelingProps } from '@react-types/shared';
2
- import type { ReactNode } from 'react';
3
- import type { DragAndDropOptions, DropPosition, GridListItemProps, GridListItemRenderProps, GridListProps, GridListRenderProps, Key, SlotProps } from 'react-aria-components';
4
- import type { PartialDeep } from 'type-fest';
5
- import type { AsType, OmitProtectedProps, RenderPropsChildren, TreeGroupNode, TreeNode, UseTreeOptions, UseTreeResult } from '../../types';
6
- import type { ButtonClassNames, ButtonProps } from '../button/types';
7
- import type { CheckboxClassNames } from '../checkbox/types';
8
- import type { GroupClassNames } from '../group/types';
9
- export type TreeClassNames = PartialDeep<{
10
- tree: {
11
- container: string;
12
- tree: string;
13
- };
14
- empty: string;
15
- group: string;
16
- indicator: {
17
- container: string;
18
- indicator: string;
19
- };
20
- item: {
21
- container: string;
22
- item: string;
23
- bar: string;
24
- lines: ButtonClassNames;
25
- visibility: ButtonClassNames;
26
- expansion: ButtonClassNames;
27
- description: string;
28
- actions: GroupClassNames;
29
- selection: CheckboxClassNames;
30
- drag: ButtonClassNames;
31
- };
32
- }>;
33
- export type TreeSizes = 'sm' | 'lg';
34
- export type TreeMapping = {
35
- actions: Partial<Record<TreeSizes, OmitProtectedProps<ButtonProps>>>;
36
- button: Partial<Record<TreeSizes, OmitProtectedProps<ButtonProps>>>;
37
- description: Partial<Record<TreeSizes, string>>;
38
- drag: Partial<Record<TreeSizes, OmitProtectedProps<ButtonProps>>>;
39
- expansion: Partial<Record<TreeSizes, OmitProtectedProps<ButtonProps>>>;
40
- visibility: Partial<Record<TreeSizes, OmitProtectedProps<ButtonProps>>>;
41
- };
42
- export type TreeRenderProps<T> = UseTreeResult<T> & {
43
- treeGroupProps: Omit<TreeGroupProps<T>, 'children'>;
44
- };
45
- export type TreeGroupRenderProps = Omit<GridListRenderProps, 'state'>;
46
- export type TreeIndicatorRenderProps = {
47
- /**
48
- * Whether the drop indicator is currently the active drop target.
49
- * @selector [data-drop-target]
50
- */
51
- isDropTarget: boolean;
52
- };
53
- export type TreeItemRenderProps<T> = AsType<GridListItemRenderProps> & {
54
- node: TreeNode<T>;
55
- };
56
- type BaseProps<T> = {
57
- children: RenderPropsChildren<TreeItemRenderProps<T>>;
58
- mapping?: TreeMapping;
59
- classNames?: TreeClassNames;
60
- };
61
- type BaseTreeProps<T> = Pick<DragAndDropOptions, 'renderDragPreview' | 'renderDropIndicator'> & ({
62
- /**
63
- * Tree defaults to automatically rendering the base TreeGroup, pass true
64
- * to switch rendering modes to enable renderProps children that provides
65
- * access to the internal state context and allows for customization of
66
- * layout, but requires that a TreeGroup be manually implemented
67
- */
68
- provider?: false;
69
- children: RenderPropsChildren<TreeItemRenderProps<T>>;
70
- } | {
71
- provider: true;
72
- children: Exclude<RenderPropsChildren<TreeRenderProps<T>>, ReactNode>;
73
- }) & {
74
- allowsDragging?: boolean;
75
- classNames?: TreeClassNames;
76
- mapping?: TreeMapping;
77
- showTreeLines?: boolean;
78
- size?: TreeSizes;
79
- };
80
- type BaseTreeGroupProps<T> = {
81
- id: Key;
82
- nodes: TreeNode<T>[];
83
- };
84
- type BaseTreeItemProps<T> = {
85
- index: number;
86
- node: TreeNode<T>;
87
- isFirstChild: boolean;
88
- isLastChild: boolean;
89
- };
90
- export type TreeState = Required<Pick<TreeRenderProps<unknown>, 'allowsExpansion' | 'allowsVisibility'>> & Required<Pick<BaseTreeProps<unknown>, 'allowsDragging' | 'showTreeLines' | 'size'>>;
91
- export type TreeGroupState = TreeGroupRenderProps & {
92
- /**
93
- * The number of items in group
94
- */
95
- count: number;
96
- };
97
- export type TreeIndicatorState = TreeIndicatorRenderProps & {
98
- dropPosition: DropPosition | 'root';
99
- };
100
- export type TreeItemState = Omit<TreeItemRenderProps<unknown>, 'node'> & Required<Pick<TreeGroupNode<unknown>, 'isExpanded' | 'isViewable' | 'isVisible'>> & Omit<BaseTreeItemProps<unknown>, 'node'> & {
101
- /**
102
- * The number of children
103
- */
104
- count: number;
105
- /**
106
- * If item has children
107
- */
108
- isGroup: boolean;
109
- };
110
- export type TreeStateContextValue<T> = UseTreeResult<T> & Pick<TreeProps<T>, 'allowsDragging' | 'classNames' | 'disabledBehavior' | 'keyboardNavigationBehavior' | 'renderDragPreview' | 'renderEmptyState' | 'selectionBehavior' | 'selectionMode' | 'showTreeLines' | 'size' | 'onAction' | 'onScroll'>;
111
- export type TreeProps<T> = AriaLabelingProps & Omit<GridListProps<T>, 'id' | 'children' | 'className' | 'dependencies' | 'disallowEmptySelection' | 'items' | 'renderDropIndicator' | 'style'> & UseTreeOptions<T> & BaseTreeProps<T>;
112
- export type TreeGroupProps<T> = Omit<GridListProps<T>, 'id' | 'children' | 'className' | 'dependencies' | 'items' | 'style'> & Pick<TreeGroupNode<T>, 'types'> & BaseTreeGroupProps<T> & BaseProps<T>;
113
- export type TreeItemProps<T> = SlotProps & Omit<GridListItemProps, 'children' | 'className' | 'style'> & BaseTreeItemProps<T> & BaseProps<T>;
114
- export {};
@@ -1,8 +0,0 @@
1
- import { type DropItem, type DropOperation, type Key, type TextDropItem } from 'react-aria';
2
- import type { DragAndDropOptions } from 'react-aria-components';
3
- import type { TreeNode, UseTreeResult } from '../../types';
4
- export declare function createDragAndDropHandlers<T>(id: Key, acceptedDragTypes: string[], lookup: Record<Key, TreeNode<T>>, actions: UseTreeResult<T>['actions']): DragAndDropOptions;
5
- export declare function getDropOperation(): DropOperation;
6
- export declare function processDroppedItems(items: DropItem[], acceptedDragTypes: string[]): Promise<any[]>;
7
- export declare function processDroppedItem(item: TextDropItem, acceptedDragTypes: string[]): Promise<any>;
8
- export declare function getDroppedItemPayload(item: TextDropItem, acceptedDragTypes: string[]): Promise<string>;
@@ -1,75 +0,0 @@
1
- import { isTextDropItem } from 'react-aria';
2
-
3
- function createDragAndDropHandlers(id, acceptedDragTypes, lookup, actions) {
4
- return {
5
- acceptedDragTypes,
6
- getDropOperation,
7
- getItems: (keys) => [...keys].map((key) => {
8
- const node = lookup[key]?.value;
9
- if (!node) {
10
- return {};
11
- }
12
- const payload = JSON.stringify(node);
13
- return [
14
- "all",
15
- "type" in node ? node.type : void 0,
16
- ..."types" in node ? node.types ?? [] : []
17
- ].reduce((acc, type) => {
18
- if (!type)
19
- return acc;
20
- acc[`tree-${type}`] = payload;
21
- return acc;
22
- }, {});
23
- }),
24
- onDragEnd: () => actions.revertIsExpanded(),
25
- onDragStart: ({ keys }) => actions.toggleIsExpanded(keys, false, true),
26
- onInsert: ({ items, target }) => {
27
- (async () => {
28
- const processedItems = await processDroppedItems(items, acceptedDragTypes);
29
- actions.remove(...processedItems.map((item) => item.id));
30
- if (target.dropPosition === "before") {
31
- actions.insertBefore(target.key, ...processedItems);
32
- } else if (target.dropPosition === "after") {
33
- actions.insertAfter(target.key, ...processedItems);
34
- }
35
- })();
36
- },
37
- onReorder({ keys, target }) {
38
- const values = Array.from(keys).flatMap((key) => {
39
- const value = lookup[key]?.value;
40
- if (value) {
41
- return [value];
42
- }
43
- return [];
44
- });
45
- actions.remove(...keys);
46
- if (target.dropPosition === "before") {
47
- actions.insertBefore(target.key, ...values);
48
- } else if (target.dropPosition === "after") {
49
- actions.insertAfter(target.key, ...values);
50
- }
51
- },
52
- onRootDrop: ({ items }) => {
53
- (async () => {
54
- const processedItems = await processDroppedItems(items, acceptedDragTypes);
55
- actions.remove(...processedItems.map((item) => item.id));
56
- actions.append(id, ...processedItems);
57
- })();
58
- }
59
- };
60
- }
61
- function getDropOperation() {
62
- return "move";
63
- }
64
- async function processDroppedItems(items, acceptedDragTypes) {
65
- return await Promise.all(items.filter(isTextDropItem).map((item) => processDroppedItem(item, acceptedDragTypes)));
66
- }
67
- async function processDroppedItem(item, acceptedDragTypes) {
68
- const payload = await getDroppedItemPayload(item, acceptedDragTypes);
69
- return payload ? JSON.parse(payload) : Promise.reject(new Error("No supported type payload"));
70
- }
71
- async function getDroppedItemPayload(item, acceptedDragTypes) {
72
- return await Promise.any(acceptedDragTypes.map(async (type) => await item.getText(type) ?? Promise.reject(new Error("Unsupported type"))));
73
- }
74
-
75
- export { createDragAndDropHandlers, getDropOperation, getDroppedItemPayload, processDroppedItem, processDroppedItems };
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/components/tree/utils.ts"],"sourcesContent":["import {\n type DropItem,\n type DropOperation,\n type Key,\n type TextDropItem,\n isTextDropItem,\n} from 'react-aria';\nimport type { DragAndDropOptions } from 'react-aria-components';\nimport type { TreeNode, UseTreeResult } from '../../types';\n\nexport function createDragAndDropHandlers<T>(\n id: Key,\n acceptedDragTypes: string[],\n lookup: Record<Key, TreeNode<T>>,\n actions: UseTreeResult<T>['actions'],\n): DragAndDropOptions {\n return {\n acceptedDragTypes,\n getDropOperation,\n getItems: (keys: Set<Key>) =>\n [...keys].map((key) => {\n const node = lookup[key]?.value;\n\n if (!node) {\n return {};\n }\n\n const payload = JSON.stringify(node);\n\n return [\n 'all',\n 'type' in node ? node.type : undefined,\n ...('types' in node ? (node.types ?? []) : []),\n ].reduce<Record<string, string>>((acc, type) => {\n if (!type) return acc;\n\n acc[`tree-${type}`] = payload;\n\n return acc;\n }, {});\n }),\n onDragEnd: () => actions.revertIsExpanded(),\n onDragStart: ({ keys }) => actions.toggleIsExpanded(keys, false, true),\n onInsert: ({ items, target }) => {\n // Wrap async return function where void expected, fuck SQ\n (async () => {\n const processedItems = await processDroppedItems(\n items,\n acceptedDragTypes,\n );\n\n actions.remove(...processedItems.map((item) => item.id));\n\n if (target.dropPosition === 'before') {\n actions.insertBefore(target.key, ...processedItems);\n } else if (target.dropPosition === 'after') {\n actions.insertAfter(target.key, ...processedItems);\n }\n })();\n },\n onReorder({ keys, target }) {\n const values = Array.from(keys).flatMap((key) => {\n const value = lookup[key]?.value;\n\n if (value) {\n return [value];\n }\n\n return [];\n });\n\n actions.remove(...keys);\n\n if (target.dropPosition === 'before') {\n actions.insertBefore(target.key, ...values);\n } else if (target.dropPosition === 'after') {\n actions.insertAfter(target.key, ...values);\n }\n },\n onRootDrop: ({ items }) => {\n // See above, thanks SQ for ensuring high quality code\n (async () => {\n const processedItems = await processDroppedItems(\n items,\n acceptedDragTypes,\n );\n\n actions.remove(...processedItems.map((item) => item.id));\n\n actions.append(id, ...processedItems);\n })();\n },\n };\n}\n\nexport function getDropOperation(): DropOperation {\n return 'move';\n}\n\nexport async function processDroppedItems(\n items: DropItem[],\n acceptedDragTypes: string[],\n) {\n return await Promise.all(\n items\n .filter(isTextDropItem)\n .map((item) => processDroppedItem(item, acceptedDragTypes)),\n );\n}\n\nexport async function processDroppedItem(\n item: TextDropItem,\n acceptedDragTypes: string[],\n) {\n const payload = await getDroppedItemPayload(item, acceptedDragTypes);\n\n return payload\n ? JSON.parse(payload)\n : Promise.reject(new Error('No supported type payload'));\n}\n\nexport async function getDroppedItemPayload(\n item: TextDropItem,\n acceptedDragTypes: string[],\n) {\n return await Promise.any(\n acceptedDragTypes.map(\n async (type) =>\n (await item.getText(type)) ??\n Promise.reject(new Error('Unsupported type')),\n ),\n );\n}\n"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export { useCollectionRender } from './use-collection-render';
2
- export { useContextProps } from './use-context-props';
3
- export { DefaultsProvider, useDefaultProps, useDefaults, type DefaultsContext, type DefaultsProviderProps, } from './use-defaults';
4
- export { usePropagatingPress } from './use-propagating-press';
5
- export { useSlot } from './use-slot';
6
- export { ThemeProvider, useTheme, type ThemeContext, type ThemeVars, } from './use-theme';
7
- export { useTree } from './use-tree';
8
- export { useUpdateEffect } from './use-update-effect';
@@ -1 +0,0 @@
1
- export { useCollectionRender } from './use-collection-render';