@accelint/design-system 0.1.0 → 0.2.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 (366) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/components/button/button.css +55 -0
  3. package/dist/assets/components/checkbox/checkbox.css +73 -0
  4. package/dist/assets/components/chip/chip.css +62 -0
  5. package/dist/assets/components/combo-box/combo-box.css +66 -0
  6. package/dist/assets/components/dialog/dialog.css +51 -0
  7. package/dist/assets/components/drawer/drawer.css +135 -0
  8. package/dist/assets/components/group/group.css +33 -0
  9. package/dist/assets/components/icon/icon.css +19 -0
  10. package/dist/assets/components/input/input.css +29 -0
  11. package/dist/assets/components/menu/menu.css +85 -0
  12. package/dist/assets/components/options/options.css +82 -0
  13. package/dist/assets/components/picker/picker.css +47 -0
  14. package/dist/assets/components/popover/popover.css +26 -0
  15. package/dist/assets/components/query-builder/query-builder.css +129 -0
  16. package/dist/assets/components/radio/radio.css +67 -0
  17. package/dist/assets/components/search-field/search-field.css +62 -0
  18. package/dist/assets/components/select/select.css +33 -0
  19. package/dist/assets/components/switch/switch.css +62 -0
  20. package/dist/assets/components/tabs/tabs.css +144 -0
  21. package/dist/assets/components/textarea/textarea.css +32 -0
  22. package/dist/assets/components/tooltip/tooltip.css +54 -0
  23. package/dist/assets/components/tree/tree.css +157 -0
  24. package/dist/assets/hooks/use-theme/use-theme.css +6 -0
  25. package/dist/assets/src/components/button/button.css.ts.vanilla-9uttMYGm.css +55 -0
  26. package/dist/assets/src/components/checkbox/checkbox.css.ts.vanilla-Bewmypyn.css +73 -0
  27. package/dist/assets/src/components/chip/chip.css.ts.vanilla-CsGhxrlu.css +62 -0
  28. package/dist/assets/src/components/combo-box/combo-box.css.ts.vanilla-BNEPKjPm.css +66 -0
  29. package/dist/assets/src/components/dialog/dialog.css.ts.vanilla-CG0m-NJD.css +51 -0
  30. package/dist/assets/src/components/drawer/drawer.css.ts.vanilla-DEfHnoNS.css +135 -0
  31. package/dist/assets/src/components/group/group.css.ts.vanilla-DR69xgQy.css +33 -0
  32. package/dist/assets/src/components/icon/icon.css.ts.vanilla-CoUAfp2F.css +19 -0
  33. package/dist/assets/src/components/input/input.css.ts.vanilla-DoK5h9SX.css +29 -0
  34. package/dist/assets/src/components/menu/menu.css.ts.vanilla-LoWLg-jE.css +85 -0
  35. package/dist/assets/src/components/options/options.css.ts.vanilla-CWWFBTou.css +82 -0
  36. package/dist/assets/src/components/picker/picker.css.ts.vanilla-Fe0YXv-c.css +47 -0
  37. package/dist/assets/src/components/popover/popover.css.ts.vanilla-C5YGwwVD.css +26 -0
  38. package/dist/assets/src/components/query-builder/query-builder.css.ts.vanilla-B3P9cbCv.css +129 -0
  39. package/dist/assets/src/components/radio/radio.css.ts.vanilla-gi-KedQc.css +67 -0
  40. package/dist/assets/src/components/search-field/search-field.css.ts.vanilla-B_JL53f8.css +62 -0
  41. package/dist/assets/src/components/select/select.css.ts.vanilla-C94A60jf.css +33 -0
  42. package/dist/assets/src/components/switch/switch.css.ts.vanilla-DkQwtRa6.css +62 -0
  43. package/dist/assets/src/components/tabs/tabs.css.ts.vanilla-BygIflpl.css +144 -0
  44. package/dist/assets/src/components/textarea/textarea.css.ts.vanilla-Ba6E5HFc.css +32 -0
  45. package/dist/assets/src/components/tooltip/tooltip.css.ts.vanilla-BntxAlwN.css +54 -0
  46. package/dist/assets/src/components/tree/tree.css.ts.vanilla-SLmhk0zZ.css +157 -0
  47. package/dist/assets/src/hooks/use-theme/use-theme.css.ts.vanilla-zkVHnGkP.css +6 -0
  48. package/dist/assets/src/styles/layers.css.ts.vanilla-B2GUgnOF.css +21 -0
  49. package/dist/assets/src/styles/reset.css.ts.vanilla-C8PShXm0.css +31 -0
  50. package/dist/assets/src/styles/space.css.ts.vanilla-Md6Whc4G.css +18 -0
  51. package/dist/assets/src/styles/surfaces.css.ts.vanilla-Ckztx7VT.css +24 -0
  52. package/dist/assets/src/styles/theme.css.ts.vanilla-aDPSIzBK.css +208 -0
  53. package/dist/assets/src/styles/typography.css.ts.vanilla-DRT9H7rd.css +150 -0
  54. package/dist/assets/styles/layers.css +21 -0
  55. package/dist/assets/styles/reset.css +31 -0
  56. package/dist/assets/styles/space.css +18 -0
  57. package/dist/assets/styles/surfaces.css +24 -0
  58. package/dist/assets/styles/theme.css +208 -0
  59. package/dist/assets/styles/typography.css +150 -0
  60. package/dist/components/aria/aria.d.ts +19 -0
  61. package/dist/components/aria/aria.js +36 -0
  62. package/dist/components/aria/aria.js.map +1 -0
  63. package/dist/components/aria/index.d.ts +1 -0
  64. package/dist/components/button/button.css.d.ts +33 -0
  65. package/dist/components/button/button.d.ts +39 -0
  66. package/dist/components/button/button.js +71 -0
  67. package/dist/components/button/button.js.map +1 -0
  68. package/dist/components/button/button.vanilla.js +8 -0
  69. package/dist/components/button/button.vanilla.js.map +1 -0
  70. package/dist/components/button/index.d.ts +3 -0
  71. package/dist/components/button/types.d.ts +28 -0
  72. package/dist/components/checkbox/checkbox.css.d.ts +35 -0
  73. package/dist/components/checkbox/checkbox.d.ts +21 -0
  74. package/dist/components/checkbox/checkbox.js +68 -0
  75. package/dist/components/checkbox/checkbox.js.map +1 -0
  76. package/dist/components/checkbox/checkbox.vanilla.js +9 -0
  77. package/dist/components/checkbox/checkbox.vanilla.js.map +1 -0
  78. package/dist/components/checkbox/index.d.ts +3 -0
  79. package/dist/components/checkbox/types.d.ts +38 -0
  80. package/dist/components/chip/chip.css.d.ts +31 -0
  81. package/dist/components/chip/chip.d.ts +30 -0
  82. package/dist/components/chip/chip.js +106 -0
  83. package/dist/components/chip/chip.js.map +1 -0
  84. package/dist/components/chip/chip.vanilla.js +8 -0
  85. package/dist/components/chip/chip.vanilla.js.map +1 -0
  86. package/dist/components/chip/index.d.ts +3 -0
  87. package/dist/components/chip/types.d.ts +31 -0
  88. package/dist/components/collection/collection.d.ts +13 -0
  89. package/dist/components/collection/collection.js +15 -0
  90. package/dist/components/collection/collection.js.map +1 -0
  91. package/dist/components/collection/index.d.ts +1 -0
  92. package/dist/components/combo-box/combo-box.css.d.ts +22 -0
  93. package/dist/components/combo-box/combo-box.d.ts +8 -0
  94. package/dist/components/combo-box/combo-box.js +87 -0
  95. package/dist/components/combo-box/combo-box.js.map +1 -0
  96. package/dist/components/combo-box/combo-box.vanilla.js +8 -0
  97. package/dist/components/combo-box/combo-box.vanilla.js.map +1 -0
  98. package/dist/components/combo-box/index.d.ts +3 -0
  99. package/dist/components/combo-box/types.d.ts +32 -0
  100. package/dist/components/dialog/dialog.css.d.ts +34 -0
  101. package/dist/components/dialog/dialog.d.ts +18 -0
  102. package/dist/components/dialog/dialog.js +146 -0
  103. package/dist/components/dialog/dialog.js.map +1 -0
  104. package/dist/components/dialog/dialog.vanilla.js +8 -0
  105. package/dist/components/dialog/dialog.vanilla.js.map +1 -0
  106. package/dist/components/dialog/index.d.ts +3 -0
  107. package/dist/components/dialog/types.d.ts +48 -0
  108. package/dist/components/drawer/drawer.css.d.ts +33 -0
  109. package/dist/components/drawer/drawer.d.ts +13 -0
  110. package/dist/components/drawer/drawer.js +199 -0
  111. package/dist/components/drawer/drawer.js.map +1 -0
  112. package/dist/components/drawer/drawer.vanilla.js +10 -0
  113. package/dist/components/drawer/drawer.vanilla.js.map +1 -0
  114. package/dist/components/drawer/index.d.ts +3 -0
  115. package/dist/components/drawer/types.d.ts +71 -0
  116. package/dist/components/element/element.d.ts +11 -0
  117. package/dist/components/element/element.js +21 -0
  118. package/dist/components/element/element.js.map +1 -0
  119. package/dist/components/element/index.d.ts +2 -0
  120. package/dist/components/element/types.d.ts +21 -0
  121. package/dist/components/group/group.css.d.ts +14 -0
  122. package/dist/components/group/group.d.ts +10 -0
  123. package/dist/components/group/group.js +44 -0
  124. package/dist/components/group/group.js.map +1 -0
  125. package/dist/components/group/group.vanilla.js +7 -0
  126. package/dist/components/group/group.vanilla.js.map +1 -0
  127. package/dist/components/group/index.d.ts +3 -0
  128. package/dist/components/group/types.d.ts +35 -0
  129. package/dist/components/icon/icon.css.d.ts +18 -0
  130. package/dist/components/icon/icon.d.ts +12 -0
  131. package/dist/components/icon/icon.js +26 -0
  132. package/dist/components/icon/icon.js.map +1 -0
  133. package/dist/components/icon/icon.vanilla.js +8 -0
  134. package/dist/components/icon/icon.vanilla.js.map +1 -0
  135. package/dist/components/icon/index.d.ts +3 -0
  136. package/dist/components/icon/types.d.ts +13 -0
  137. package/dist/components/index.d.ts +26 -0
  138. package/dist/components/input/index.d.ts +3 -0
  139. package/dist/components/input/input.css.d.ts +29 -0
  140. package/dist/components/input/input.d.ts +8 -0
  141. package/dist/components/input/input.js +93 -0
  142. package/dist/components/input/input.js.map +1 -0
  143. package/dist/components/input/input.vanilla.js +8 -0
  144. package/dist/components/input/input.vanilla.js.map +1 -0
  145. package/dist/components/input/types.d.ts +44 -0
  146. package/dist/components/menu/index.d.ts +3 -0
  147. package/dist/components/menu/menu.css.d.ts +75 -0
  148. package/dist/components/menu/menu.d.ts +24 -0
  149. package/dist/components/menu/menu.js +155 -0
  150. package/dist/components/menu/menu.js.map +1 -0
  151. package/dist/components/menu/menu.vanilla.js +8 -0
  152. package/dist/components/menu/menu.vanilla.js.map +1 -0
  153. package/dist/components/menu/types.d.ts +48 -0
  154. package/dist/components/merge-provider/index.d.ts +2 -0
  155. package/dist/components/merge-provider/merge-provider.d.ts +14 -0
  156. package/dist/components/merge-provider/merge-provider.js +40 -0
  157. package/dist/components/merge-provider/merge-provider.js.map +1 -0
  158. package/dist/components/merge-provider/types.d.ts +5 -0
  159. package/dist/components/options/index.d.ts +3 -0
  160. package/dist/components/options/options.css.d.ts +79 -0
  161. package/dist/components/options/options.d.ts +20 -0
  162. package/dist/components/options/options.js +152 -0
  163. package/dist/components/options/options.js.map +1 -0
  164. package/dist/components/options/options.vanilla.js +10 -0
  165. package/dist/components/options/options.vanilla.js.map +1 -0
  166. package/dist/components/options/types.d.ts +49 -0
  167. package/dist/components/picker/index.d.ts +3 -0
  168. package/dist/components/picker/picker.css.d.ts +32 -0
  169. package/dist/components/picker/picker.d.ts +18 -0
  170. package/dist/components/picker/picker.js +46 -0
  171. package/dist/components/picker/picker.js.map +1 -0
  172. package/dist/components/picker/picker.stories.css.d.ts +3 -0
  173. package/dist/components/picker/picker.vanilla.js +9 -0
  174. package/dist/components/picker/picker.vanilla.js.map +1 -0
  175. package/dist/components/picker/types.d.ts +28 -0
  176. package/dist/components/popover/index.d.ts +3 -0
  177. package/dist/components/popover/popover.css.d.ts +31 -0
  178. package/dist/components/popover/popover.d.ts +8 -0
  179. package/dist/components/popover/popover.js +110 -0
  180. package/dist/components/popover/popover.js.map +1 -0
  181. package/dist/components/popover/popover.vanilla.js +7 -0
  182. package/dist/components/popover/popover.vanilla.js.map +1 -0
  183. package/dist/components/popover/types.d.ts +32 -0
  184. package/dist/components/query-builder/action-element.d.ts +2 -0
  185. package/dist/components/query-builder/action-element.js +12 -0
  186. package/dist/components/query-builder/action-element.js.map +1 -0
  187. package/dist/components/query-builder/constants.d.ts +4 -0
  188. package/dist/components/query-builder/constants.js +20 -0
  189. package/dist/components/query-builder/constants.js.map +1 -0
  190. package/dist/components/query-builder/dataset-sample.d.ts +91 -0
  191. package/dist/components/query-builder/group.d.ts +5 -0
  192. package/dist/components/query-builder/group.js +87 -0
  193. package/dist/components/query-builder/group.js.map +1 -0
  194. package/dist/components/query-builder/index.d.ts +5 -0
  195. package/dist/components/query-builder/query-builder.css.d.ts +91 -0
  196. package/dist/components/query-builder/query-builder.d.ts +2 -0
  197. package/dist/components/query-builder/query-builder.js +129 -0
  198. package/dist/components/query-builder/query-builder.js.map +1 -0
  199. package/dist/components/query-builder/query-builder.vanilla.js +10 -0
  200. package/dist/components/query-builder/query-builder.vanilla.js.map +1 -0
  201. package/dist/components/query-builder/rule.d.ts +3 -0
  202. package/dist/components/query-builder/rule.js +112 -0
  203. package/dist/components/query-builder/rule.js.map +1 -0
  204. package/dist/components/query-builder/types.d.ts +128 -0
  205. package/dist/components/query-builder/utils.d.ts +29 -0
  206. package/dist/components/query-builder/utils.js +22 -0
  207. package/dist/components/query-builder/utils.js.map +1 -0
  208. package/dist/components/query-builder/value-editor.d.ts +4 -0
  209. package/dist/components/query-builder/value-editor.js +74 -0
  210. package/dist/components/query-builder/value-editor.js.map +1 -0
  211. package/dist/components/query-builder/value-selector.d.ts +2 -0
  212. package/dist/components/query-builder/value-selector.js +28 -0
  213. package/dist/components/query-builder/value-selector.js.map +1 -0
  214. package/dist/components/radio/index.d.ts +3 -0
  215. package/dist/components/radio/radio.css.d.ts +34 -0
  216. package/dist/components/radio/radio.d.ts +16 -0
  217. package/dist/components/radio/radio.js +63 -0
  218. package/dist/components/radio/radio.js.map +1 -0
  219. package/dist/components/radio/radio.vanilla.js +8 -0
  220. package/dist/components/radio/radio.vanilla.js.map +1 -0
  221. package/dist/components/radio/types.d.ts +29 -0
  222. package/dist/components/search-field/index.d.ts +3 -0
  223. package/dist/components/search-field/search-field.css.d.ts +16 -0
  224. package/dist/components/search-field/search-field.d.ts +9 -0
  225. package/dist/components/search-field/search-field.js +60 -0
  226. package/dist/components/search-field/search-field.js.map +1 -0
  227. package/dist/components/search-field/search-field.vanilla.js +7 -0
  228. package/dist/components/search-field/search-field.vanilla.js.map +1 -0
  229. package/dist/components/search-field/types.d.ts +29 -0
  230. package/dist/components/select/index.d.ts +3 -0
  231. package/dist/components/select/select.css.d.ts +25 -0
  232. package/dist/components/select/select.d.ts +8 -0
  233. package/dist/components/select/select.js +80 -0
  234. package/dist/components/select/select.js.map +1 -0
  235. package/dist/components/select/select.vanilla.js +8 -0
  236. package/dist/components/select/select.vanilla.js.map +1 -0
  237. package/dist/components/select/types.d.ts +30 -0
  238. package/dist/components/switch/index.d.ts +3 -0
  239. package/dist/components/switch/switch.css.d.ts +25 -0
  240. package/dist/components/switch/switch.d.ts +4 -0
  241. package/dist/components/switch/switch.js +34 -0
  242. package/dist/components/switch/switch.js.map +1 -0
  243. package/dist/components/switch/switch.vanilla.js +8 -0
  244. package/dist/components/switch/switch.vanilla.js.map +1 -0
  245. package/dist/components/switch/types.d.ts +17 -0
  246. package/dist/components/tabs/index.d.ts +3 -0
  247. package/dist/components/tabs/tabs.css.d.ts +49 -0
  248. package/dist/components/tabs/tabs.d.ts +68 -0
  249. package/dist/components/tabs/tabs.js +108 -0
  250. package/dist/components/tabs/tabs.js.map +1 -0
  251. package/dist/components/tabs/tabs.vanilla.js +11 -0
  252. package/dist/components/tabs/tabs.vanilla.js.map +1 -0
  253. package/dist/components/tabs/types.d.ts +82 -0
  254. package/dist/components/textarea/index.d.ts +3 -0
  255. package/dist/components/textarea/textarea.css.d.ts +31 -0
  256. package/dist/components/textarea/textarea.d.ts +14 -0
  257. package/dist/components/textarea/textarea.js +86 -0
  258. package/dist/components/textarea/textarea.js.map +1 -0
  259. package/dist/components/textarea/textarea.vanilla.js +8 -0
  260. package/dist/components/textarea/textarea.vanilla.js.map +1 -0
  261. package/dist/components/textarea/types.d.ts +39 -0
  262. package/dist/components/tooltip/index.d.ts +3 -0
  263. package/dist/components/tooltip/tooltip.css.d.ts +23 -0
  264. package/dist/components/tooltip/tooltip.d.ts +23 -0
  265. package/dist/components/tooltip/tooltip.js +69 -0
  266. package/dist/components/tooltip/tooltip.js.map +1 -0
  267. package/dist/components/tooltip/tooltip.vanilla.js +8 -0
  268. package/dist/components/tooltip/tooltip.vanilla.js.map +1 -0
  269. package/dist/components/tooltip/types.d.ts +39 -0
  270. package/dist/components/tree/index.d.ts +3 -0
  271. package/dist/components/tree/tree.css.d.ts +73 -0
  272. package/dist/components/tree/tree.d.ts +5 -0
  273. package/dist/components/tree/tree.js +337 -0
  274. package/dist/components/tree/tree.js.map +1 -0
  275. package/dist/components/tree/tree.vanilla.js +11 -0
  276. package/dist/components/tree/tree.vanilla.js.map +1 -0
  277. package/dist/components/tree/types.d.ts +114 -0
  278. package/dist/components/tree/utils.d.ts +8 -0
  279. package/dist/components/tree/utils.js +75 -0
  280. package/dist/components/tree/utils.js.map +1 -0
  281. package/dist/hooks/index.d.ts +8 -0
  282. package/dist/hooks/use-collection-render/index.d.ts +1 -0
  283. package/dist/hooks/use-collection-render/use-collection-render.d.ts +9 -0
  284. package/dist/hooks/use-collection-render/use-collection-render.js +20 -0
  285. package/dist/hooks/use-collection-render/use-collection-render.js.map +1 -0
  286. package/dist/hooks/use-context-props/index.d.ts +1 -0
  287. package/dist/hooks/use-context-props/use-context-props.d.ts +7 -0
  288. package/dist/hooks/use-context-props/use-context-props.js +15 -0
  289. package/dist/hooks/use-context-props/use-context-props.js.map +1 -0
  290. package/dist/hooks/use-defaults/index.d.ts +2 -0
  291. package/dist/hooks/use-defaults/types.d.ts +67 -0
  292. package/dist/hooks/use-defaults/use-defaults.d.ts +56 -0
  293. package/dist/hooks/use-defaults/use-defaults.js +21 -0
  294. package/dist/hooks/use-defaults/use-defaults.js.map +1 -0
  295. package/dist/hooks/use-propagating-press/index.d.ts +1 -0
  296. package/dist/hooks/use-propagating-press/use-propagating-press.d.ts +9 -0
  297. package/dist/hooks/use-propagating-press/use-propagating-press.js +14 -0
  298. package/dist/hooks/use-propagating-press/use-propagating-press.js.map +1 -0
  299. package/dist/hooks/use-slot/index.d.ts +1 -0
  300. package/dist/hooks/use-slot/use-slot.d.ts +13 -0
  301. package/dist/hooks/use-slot/use-slot.js +18 -0
  302. package/dist/hooks/use-slot/use-slot.js.map +1 -0
  303. package/dist/hooks/use-theme/index.d.ts +2 -0
  304. package/dist/hooks/use-theme/types.d.ts +86 -0
  305. package/dist/hooks/use-theme/use-theme.css.d.ts +1 -0
  306. package/dist/hooks/use-theme/use-theme.d.ts +13 -0
  307. package/dist/hooks/use-theme/use-theme.js +64 -0
  308. package/dist/hooks/use-theme/use-theme.js.map +1 -0
  309. package/dist/hooks/use-theme/use-theme.vanilla.js +4 -0
  310. package/dist/hooks/use-theme/use-theme.vanilla.js.map +1 -0
  311. package/dist/hooks/use-tree/index.d.ts +1 -0
  312. package/dist/hooks/use-tree/use-tree.d.ts +2 -0
  313. package/dist/hooks/use-tree/use-tree.js +217 -0
  314. package/dist/hooks/use-tree/use-tree.js.map +1 -0
  315. package/dist/hooks/use-tree/utils.d.ts +6 -0
  316. package/dist/hooks/use-tree/utils.js +77 -0
  317. package/dist/hooks/use-tree/utils.js.map +1 -0
  318. package/dist/hooks/use-update-effect/index.d.ts +1 -0
  319. package/dist/hooks/use-update-effect/use-update-effect.d.ts +1 -0
  320. package/dist/hooks/use-update-effect/use-update-effect.js +20 -0
  321. package/dist/hooks/use-update-effect/use-update-effect.js.map +1 -0
  322. package/dist/index.d.ts +10 -0
  323. package/dist/index.js +66 -0
  324. package/dist/index.js.map +1 -0
  325. package/dist/ladle/actions.d.ts +1 -0
  326. package/dist/ladle/index.d.ts +1 -0
  327. package/dist/styles/index.d.ts +6 -0
  328. package/dist/styles/layers.css.d.ts +16 -0
  329. package/dist/styles/layers.vanilla.js +4 -0
  330. package/dist/styles/layers.vanilla.js.map +1 -0
  331. package/dist/styles/reset.css.d.ts +1 -0
  332. package/dist/styles/space.css.d.ts +1 -0
  333. package/dist/styles/surfaces.css.d.ts +4 -0
  334. package/dist/styles/surfaces.vanilla.js +4 -0
  335. package/dist/styles/surfaces.vanilla.js.map +1 -0
  336. package/dist/styles/theme.css.d.ts +334 -0
  337. package/dist/styles/theme.vanilla.js +31 -0
  338. package/dist/styles/theme.vanilla.js.map +1 -0
  339. package/dist/styles/typography.css.d.ts +17 -0
  340. package/dist/styles/typography.vanilla.js +8 -0
  341. package/dist/styles/typography.vanilla.js.map +1 -0
  342. package/dist/styles.css +2018 -0
  343. package/dist/test/setup.d.ts +1 -0
  344. package/dist/types/deckgl.d.ts +1 -0
  345. package/dist/types/generic.d.ts +3 -0
  346. package/dist/types/index.d.ts +6 -0
  347. package/dist/types/props.d.ts +4 -0
  348. package/dist/types/react-aria.d.ts +91 -0
  349. package/dist/types/use-tree.d.ts +52 -0
  350. package/dist/types/vanilla-extract.d.ts +15 -0
  351. package/dist/utils/css.d.ts +139 -0
  352. package/dist/utils/css.js +145 -0
  353. package/dist/utils/css.js.map +1 -0
  354. package/dist/utils/events.d.ts +10 -0
  355. package/dist/utils/events.js +5 -0
  356. package/dist/utils/events.js.map +1 -0
  357. package/dist/utils/index.d.ts +4 -0
  358. package/dist/utils/props.d.ts +29 -0
  359. package/dist/utils/props.js +108 -0
  360. package/dist/utils/props.js.map +1 -0
  361. package/dist/utils/validators.d.ts +49 -0
  362. package/dist/utils/validators.js +37 -0
  363. package/dist/utils/validators.js.map +1 -0
  364. package/dist/vanilla.d.ts +30 -0
  365. package/dist/vanilla.js +27 -0
  366. package/package.json +19 -7
@@ -0,0 +1,11 @@
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 };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.vanilla.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -0,0 +1,114 @@
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 {};
@@ -0,0 +1,8 @@
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>;
@@ -0,0 +1,75 @@
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 };
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,8 @@
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';
@@ -0,0 +1 @@
1
+ export { useCollectionRender } from './use-collection-render';
@@ -0,0 +1,9 @@
1
+ import type { ItemDropTarget } from '@react-types/shared';
2
+ import type { ReactNode } from 'react';
3
+ import type { Collection, Node } from 'react-stately';
4
+ /**
5
+ * Copied from RAC, unexported hook: https://github.com/adobe/react-spectrum/blob/main/packages/react-aria-components/src/Collection.tsx#L148
6
+ *
7
+ * Hook serves as the basis of the root and branch renderers for Collections: https://github.com/adobe/react-spectrum/blob/main/packages/react-aria-components/src/Collection.tsx#L139
8
+ */
9
+ export declare function useCollectionRender(collection: Collection<Node<unknown>>, parent: Node<unknown> | null, renderDropIndicator?: (target: ItemDropTarget) => ReactNode): ReactNode;
@@ -0,0 +1,20 @@
1
+ import { jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { useCachedChildren } from '@react-aria/collections';
3
+
4
+ function useCollectionRender(collection, parent, renderDropIndicator) {
5
+ return useCachedChildren({
6
+ items: parent ? collection.getChildren(parent.key) : collection,
7
+ dependencies: [renderDropIndicator],
8
+ children(node) {
9
+ const rendered = node.render(node);
10
+ if (!renderDropIndicator || node.type !== "item") {
11
+ return rendered;
12
+ }
13
+ const { key } = node;
14
+ const keyAfter = collection.getKeyAfter(key);
15
+ return jsxs(Fragment, { children: [renderDropIndicator({ type: "item", key, dropPosition: "before" }), rendered, (keyAfter == null || collection.getItem(keyAfter)?.type !== "item") && renderDropIndicator({ type: "item", key, dropPosition: "after" })] });
16
+ }
17
+ });
18
+ }
19
+
20
+ export { useCollectionRender };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-collection-render.js","sources":["../../../src/hooks/use-collection-render/use-collection-render.tsx"],"sourcesContent":["import { useCachedChildren } from '@react-aria/collections';\nimport type { ItemDropTarget } from '@react-types/shared';\nimport type { ReactNode } from 'react';\nimport type { Collection, Node } from 'react-stately';\n\n/**\n * Copied from RAC, unexported hook: https://github.com/adobe/react-spectrum/blob/main/packages/react-aria-components/src/Collection.tsx#L148\n *\n * Hook serves as the basis of the root and branch renderers for Collections: https://github.com/adobe/react-spectrum/blob/main/packages/react-aria-components/src/Collection.tsx#L139\n */\nexport function useCollectionRender(\n collection: Collection<Node<unknown>>,\n parent: Node<unknown> | null,\n renderDropIndicator?: (target: ItemDropTarget) => ReactNode,\n) {\n return useCachedChildren({\n items: parent ? collection.getChildren!(parent.key) : collection,\n dependencies: [renderDropIndicator],\n children(node) {\n const rendered = node.render!(node);\n\n if (!renderDropIndicator || node.type !== 'item') {\n return rendered;\n }\n\n const { key } = node;\n const keyAfter = collection.getKeyAfter(key);\n\n return (\n <>\n {renderDropIndicator({ type: 'item', key, dropPosition: 'before' })}\n {rendered}\n {(keyAfter == null ||\n collection.getItem(keyAfter)?.type !== 'item') &&\n renderDropIndicator({ type: 'item', key, dropPosition: 'after' })}\n </>\n );\n },\n });\n}\n"],"names":[],"mappings":";;;;AAUgB,SAAA,mBAAA,CACd,UACA,EAAA,MAAA,EACA,mBACA,EAAA;AACA,EAAA,OAAO,iBAAkB,CAAA;AAAA,IACvB,OAAO,MAAS,GAAA,UAAA,CAAW,WAAa,CAAA,MAAA,CAAO,GAAG,CAAI,GAAA,UAAA;AAAA,IACtD,YAAA,EAAc,CAAC,mBAAmB,CAAA;AAAA,IAClC,SAAS,IAAM,EAAA;AACb,MAAM,MAAA,QAAA,GAAW,IAAK,CAAA,MAAA,CAAQ,IAAI,CAAA,CAAA;AAElC,MAAA,IAAI,CAAC,mBAAA,IAAuB,IAAK,CAAA,IAAA,KAAS,MAAQ,EAAA;AAChD,QAAO,OAAA,QAAA,CAAA;AAAA,OACT;AAEA,MAAM,MAAA,EAAE,KAAQ,GAAA,IAAA,CAAA;AAChB,MAAM,MAAA,QAAA,GAAW,UAAW,CAAA,WAAA,CAAY,GAAG,CAAA,CAAA;AAE3C,MAAA,uBAEK,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,QAAA,mBAAA,CAAoB,EAAE,IAAM,EAAA,MAAA,EAAQ,GAAK,EAAA,YAAA,EAAc,UAAU,CAAA;AAAA,QACjE,QAAA;AAAA,QAAA,CACC,QAAY,IAAA,IAAA,IACZ,UAAW,CAAA,OAAA,CAAQ,QAAQ,CAAG,EAAA,IAAA,KAAS,MACvC,KAAA,mBAAA,CAAoB,EAAE,IAAM,EAAA,MAAA,EAAQ,GAAK,EAAA,YAAA,EAAc,SAAS,CAAA;AAAA,OACpE,EAAA,CAAA,CAAA;AAAA,KAEJ;AAAA,GACD,CAAA,CAAA;AACH;;;;"}
@@ -0,0 +1 @@
1
+ export { useContextProps } from './use-context-props';
@@ -0,0 +1,7 @@
1
+ import { type Context, type ForwardedRef, type RefObject } from 'react';
2
+ import { type ContextValue, type SlotProps } from 'react-aria-components';
3
+ /**
4
+ * Reimplementation of React Aria's useContextProps, to utilize our own
5
+ * mergeProps which handles renderProps and classNames
6
+ */
7
+ export declare function useContextProps<T, U extends SlotProps, E extends Element>(props: T & SlotProps, ref: ForwardedRef<E>, context: Context<ContextValue<U, E>>): [T, RefObject<E | null>];
@@ -0,0 +1,15 @@
1
+ import { useObjectRef, mergeRefs } from '@react-aria/utils';
2
+ import { useMemo } from 'react';
3
+ import { useSlottedContext } from 'react-aria-components';
4
+ import { mergeProps } from '../../utils/props.js';
5
+
6
+ function useContextProps(props, ref, context) {
7
+ const value = useSlottedContext(context, props.slot) ?? {};
8
+ const { ref: contextRef, ...contextProps } = value;
9
+ return [
10
+ mergeProps(contextProps, props),
11
+ useObjectRef(useMemo(() => mergeRefs(ref, contextRef), [ref, contextRef]))
12
+ ];
13
+ }
14
+
15
+ export { useContextProps };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-context-props.js","sources":["../../../src/hooks/use-context-props/use-context-props.ts"],"sourcesContent":["import { mergeRefs, useObjectRef } from '@react-aria/utils';\nimport {\n type Context,\n type ForwardedRef,\n type RefObject,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n type SlotProps,\n useSlottedContext,\n} from 'react-aria-components';\nimport { mergeProps } from '../../utils';\n\n/**\n * Reimplementation of React Aria's useContextProps, to utilize our own\n * mergeProps which handles renderProps and classNames\n */\nexport function useContextProps<T, U extends SlotProps, E extends Element>(\n props: T & SlotProps,\n ref: ForwardedRef<E>,\n context: Context<ContextValue<U, E>>,\n): [T, RefObject<E | null>] {\n const value = (useSlottedContext(context, props.slot) ?? {}) as Partial<T> & {\n ref?: ForwardedRef<E>;\n };\n\n const { ref: contextRef, ...contextProps } = value;\n\n return [\n mergeProps(contextProps as Partial<T>, props) as T,\n useObjectRef(useMemo(() => mergeRefs(ref, contextRef), [ref, contextRef])),\n ];\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAkBgB,SAAA,eAAA,CACd,KACA,EAAA,GAAA,EACA,OAC0B,EAAA;AAC1B,EAAA,MAAM,QAAS,iBAAkB,CAAA,OAAA,EAAS,KAAM,CAAA,IAAI,KAAK,EAAC,CAAA;AAI1D,EAAA,MAAM,EAAE,GAAA,EAAK,UAAY,EAAA,GAAG,cAAiB,GAAA,KAAA,CAAA;AAE7C,EAAO,OAAA;AAAA,IACL,UAAA,CAAW,cAA4B,KAAK,CAAA;AAAA,IAC5C,YAAA,CAAa,OAAQ,CAAA,MAAM,SAAU,CAAA,GAAA,EAAK,UAAU,CAAA,EAAG,CAAC,GAAA,EAAK,UAAU,CAAC,CAAC,CAAA;AAAA,GAC3E,CAAA;AACF;;;;"}
@@ -0,0 +1,2 @@
1
+ export { DefaultsProvider, useDefaultProps, useDefaults } from './use-defaults';
2
+ export { type DefaultsContext, type DefaultsProviderProps } from './types';
@@ -0,0 +1,67 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ import type { ButtonProps, LinkButtonProps, ToggleButtonProps } from '../../components/button/types';
3
+ import type { CheckboxGroupProps, CheckboxProps } from '../../components/checkbox/types';
4
+ import type { ChipGroupProps, ChipProps } from '../../components/chip/types';
5
+ import type { ComboBoxProps } from '../../components/combo-box/types';
6
+ import type { DialogProps } from '../../components/dialog/types';
7
+ import type { DrawerProps, DrawerTabListProps, DrawerTabProps } from '../../components/drawer/types';
8
+ import type { IconProps } from '../../components/icon/types';
9
+ import type { InputProps } from '../../components/input/types';
10
+ import type { MenuItemProps, MenuListProps, MenuProps } from '../../components/menu/types';
11
+ import type { OptionsItemProps, OptionsListProps, OptionsProps } from '../../components/options/types';
12
+ import type { PickerProps } from '../../components/picker/types';
13
+ import type { PopoverProps } from '../../components/popover/types';
14
+ import type { RadioGroupProps, RadioProps } from '../../components/radio/types';
15
+ import type { SearchFieldProps } from '../../components/search-field/types';
16
+ import type { SelectProps } from '../../components/select/types';
17
+ import type { SwitchProps } from '../../components/switch/types';
18
+ import type { TabListProps, TabPanelProps, TabPanelsProps, TabProps, TabsProps } from '../../components/tabs/types';
19
+ import type { TextAreaProps } from '../../components/textarea/types';
20
+ import type { TooltipProps, TooltipTargetProps } from '../../components/tooltip/types';
21
+ import type { TreeProps } from '../../components/tree/types';
22
+ import type { OmitProtectedProps } from '../../types';
23
+ type DefaultsOf<T extends Record<string, object>> = {
24
+ [K in keyof T]?: OmitProtectedProps<T[K]>;
25
+ };
26
+ export type DefaultsContext = DefaultsOf<{
27
+ Button: ButtonProps;
28
+ Checkbox: CheckboxProps;
29
+ CheckboxGroup: CheckboxGroupProps;
30
+ Chip: ChipProps;
31
+ ChipGroup: ChipGroupProps;
32
+ ComboBox: ComboBoxProps<object>;
33
+ Dialog: DialogProps;
34
+ Drawer: DrawerProps;
35
+ DrawerTab: DrawerTabProps;
36
+ DrawerTabList: DrawerTabListProps<unknown>;
37
+ Icon: IconProps;
38
+ Input: InputProps;
39
+ LinkButton: LinkButtonProps;
40
+ Options: OptionsProps;
41
+ OptionsList: OptionsListProps<object>;
42
+ OptionsItem: OptionsItemProps<object>;
43
+ Menu: MenuProps;
44
+ MenuList: MenuListProps<unknown>;
45
+ MenuItem: MenuItemProps<unknown>;
46
+ Picker: PickerProps<unknown>;
47
+ Popover: PopoverProps;
48
+ Radio: RadioProps;
49
+ RadioGroup: RadioGroupProps;
50
+ SearchField: SearchFieldProps;
51
+ Select: SelectProps<object>;
52
+ Switch: SwitchProps;
53
+ Tab: TabProps;
54
+ TabList: TabListProps<unknown>;
55
+ TabPanel: TabPanelProps;
56
+ TabPanels: TabPanelsProps;
57
+ Tabs: TabsProps;
58
+ TextArea: TextAreaProps;
59
+ ToggleButton: ToggleButtonProps;
60
+ Tooltip: TooltipProps;
61
+ TooltipTarget: TooltipTargetProps;
62
+ Tree: TreeProps<unknown>;
63
+ }>;
64
+ export type DefaultsProviderProps = PropsWithChildren<{
65
+ defaults: DefaultsContext;
66
+ }>;
67
+ export {};
@@ -0,0 +1,56 @@
1
+ import type { DefaultsContext, DefaultsProviderProps } from './types';
2
+ /**
3
+ * Access globally established component prop defaults
4
+ */
5
+ export declare function useDefaults(): {
6
+ Button?: import("../..").OmitProtectedProps<import("../..").ButtonProps> | undefined;
7
+ Checkbox?: import("../..").OmitProtectedProps<import("../..").CheckboxProps> | undefined;
8
+ CheckboxGroup?: import("../..").OmitProtectedProps<import("../..").CheckboxGroupProps> | undefined;
9
+ Chip?: import("../..").OmitProtectedProps<import("../..").ChipProps> | undefined;
10
+ ChipGroup?: import("../..").OmitProtectedProps<import("../..").ChipGroupProps> | undefined;
11
+ ComboBox?: import("../..").OmitProtectedProps<import("../..").ComboBoxProps<object>> | undefined;
12
+ Dialog?: import("../..").OmitProtectedProps<import("../..").DialogProps> | undefined;
13
+ Drawer?: import("../..").OmitProtectedProps<import("../..").DrawerProps> | undefined;
14
+ DrawerTab?: import("../..").OmitProtectedProps<import("../..").DrawerTabProps> | undefined;
15
+ DrawerTabList?: import("../..").OmitProtectedProps<import("../..").DrawerTabListProps<unknown>> | undefined;
16
+ Icon?: import("../..").OmitProtectedProps<import("../..").IconProps> | undefined;
17
+ Input?: import("../..").OmitProtectedProps<import("../..").InputProps> | undefined;
18
+ LinkButton?: import("../..").OmitProtectedProps<import("../..").LinkButtonProps> | undefined;
19
+ Options?: import("../..").OmitProtectedProps<import("../..").OptionsProps> | undefined;
20
+ OptionsList?: import("../..").OmitProtectedProps<import("../..").OptionsListProps<object>> | undefined;
21
+ OptionsItem?: import("../..").OmitProtectedProps<import("../..").OptionsItemProps<object>> | undefined;
22
+ Menu?: import("../..").OmitProtectedProps<import("../..").MenuProps> | undefined;
23
+ MenuList?: import("../..").OmitProtectedProps<import("../..").MenuListProps<unknown>> | undefined;
24
+ MenuItem?: import("../..").OmitProtectedProps<import("../..").MenuItemProps<unknown>> | undefined;
25
+ Picker?: import("../..").OmitProtectedProps<import("../..").PickerProps<unknown>> | undefined;
26
+ Popover?: import("../..").OmitProtectedProps<import("../..").PopoverProps> | undefined;
27
+ Radio?: import("../..").OmitProtectedProps<import("../..").RadioProps> | undefined;
28
+ RadioGroup?: import("../..").OmitProtectedProps<import("../..").RadioGroupProps> | undefined;
29
+ SearchField?: import("../..").OmitProtectedProps<import("../..").SearchFieldProps> | undefined;
30
+ Select?: import("../..").OmitProtectedProps<import("../..").SelectProps<object>> | undefined;
31
+ Switch?: import("../..").OmitProtectedProps<import("../..").SwitchProps> | undefined;
32
+ Tab?: import("../..").OmitProtectedProps<import("../..").TabProps> | undefined;
33
+ TabList?: import("../..").OmitProtectedProps<import("../..").TabListProps<unknown>> | undefined;
34
+ TabPanel?: import("../..").OmitProtectedProps<import("../..").TabPanelProps> | undefined;
35
+ TabPanels?: import("../..").OmitProtectedProps<import("../..").TabPanelsProps> | undefined;
36
+ Tabs?: import("../..").OmitProtectedProps<import("../..").TabsProps> | undefined;
37
+ TextArea?: import("../..").OmitProtectedProps<import("../..").TextAreaProps> | undefined;
38
+ ToggleButton?: import("../..").OmitProtectedProps<import("../..").ToggleButtonProps> | undefined;
39
+ Tooltip?: import("../..").OmitProtectedProps<import("../..").TooltipProps> | undefined;
40
+ TooltipTarget?: import("../..").OmitProtectedProps<import("../..").TooltipTargetProps> | undefined;
41
+ Tree?: import("../..").OmitProtectedProps<import("../..").TreeProps<unknown>> | undefined;
42
+ };
43
+ /**
44
+ * Select default props from context and merge with provided props
45
+ * with provided props taking precedence
46
+ */
47
+ export declare function useDefaultProps<K extends keyof DefaultsContext, P extends DefaultsContext[K]>(props: P, key: K): P;
48
+ /**
49
+ * Set default props for any component, to be merged in with props at point
50
+ * of implementation. Global defaults take lower priority than props from
51
+ * composition context or props attached to instance
52
+ *
53
+ * Nested instances of this provider will shallow merge defaults from parent
54
+ * context, with the defaults prop taking precedence
55
+ */
56
+ export declare function DefaultsProvider({ children, defaults: defaultsProp, }: DefaultsProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { createContext, useContext, useMemo } from 'react';
3
+ import { mergeProps } from '../../utils/props.js';
4
+
5
+ const defaultsContext = createContext({});
6
+ function useDefaults() {
7
+ return useContext(defaultsContext);
8
+ }
9
+ function useDefaultProps(props, key) {
10
+ const defaults = useDefaults();
11
+ const defaultProps = useMemo(() => defaults[key] ?? {}, [defaults, key]);
12
+ return useMemo(() => mergeProps(defaultProps, props), [defaultProps, props]);
13
+ }
14
+ function DefaultsProvider({ children, defaults: defaultsProp }) {
15
+ const defaults = useDefaults();
16
+ const context = useMemo(() => ({ ...defaults, ...defaultsProp }), [defaults, defaultsProp]);
17
+ const { Provider } = defaultsContext;
18
+ return jsx(Provider, { value: context, children });
19
+ }
20
+
21
+ export { DefaultsProvider, useDefaultProps, useDefaults };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-defaults.js","sources":["../../../src/hooks/use-defaults/use-defaults.tsx"],"sourcesContent":["import { createContext, useContext, useMemo } from 'react';\nimport { mergeProps } from '../../utils';\nimport type { DefaultsContext, DefaultsProviderProps } from './types';\n\nconst defaultsContext = createContext<DefaultsContext>({});\n\n/**\n * Access globally established component prop defaults\n */\nexport function useDefaults() {\n return useContext(defaultsContext);\n}\n\n/**\n * Select default props from context and merge with provided props\n * with provided props taking precedence\n */\nexport function useDefaultProps<\n K extends keyof DefaultsContext,\n P extends DefaultsContext[K],\n>(props: P, key: K): P {\n const defaults = useDefaults();\n\n const defaultProps = useMemo(\n () => (defaults[key] ?? {}) as Partial<P>,\n [defaults, key],\n );\n\n return useMemo(\n () => mergeProps(defaultProps, props) as P,\n [defaultProps, props],\n );\n}\n\n/**\n * Set default props for any component, to be merged in with props at point\n * of implementation. Global defaults take lower priority than props from\n * composition context or props attached to instance\n *\n * Nested instances of this provider will shallow merge defaults from parent\n * context, with the defaults prop taking precedence\n */\nexport function DefaultsProvider({\n children,\n defaults: defaultsProp,\n}: DefaultsProviderProps) {\n const defaults = useDefaults();\n\n const context = useMemo(\n () => ({ ...defaults, ...defaultsProp }),\n [defaults, defaultsProp],\n );\n\n const { Provider } = defaultsContext;\n\n return <Provider value={context}>{children}</Provider>;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,MAAM,eAAA,GAAkB,aAA+B,CAAA,EAAE,CAAA,CAAA;AAKlD,SAAS,WAAc,GAAA;AAC5B,EAAA,OAAO,WAAW,eAAe,CAAA,CAAA;AACnC,CAAA;AAMgB,SAAA,eAAA,CAGd,OAAU,GAAW,EAAA;AACrB,EAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAE7B,EAAA,MAAM,YAAe,GAAA,OAAA;AAAA,IACnB,MAAO,QAAA,CAAS,GAAG,CAAA,IAAK,EAAC;AAAA,IACzB,CAAC,UAAU,GAAG,CAAA;AAAA,GAChB,CAAA;AAEA,EAAO,OAAA,OAAA;AAAA,IACL,MAAM,UAAW,CAAA,YAAA,EAAc,KAAK,CAAA;AAAA,IACpC,CAAC,cAAc,KAAK,CAAA;AAAA,GACtB,CAAA;AACF,CAAA;AAUO,SAAS,gBAAiB,CAAA;AAAA,EAC/B,QAAA;AAAA,EACA,QAAU,EAAA,YAAA;AACZ,CAA0B,EAAA;AACxB,EAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAE7B,EAAA,MAAM,OAAU,GAAA,OAAA;AAAA,IACd,OAAO,EAAE,GAAG,QAAA,EAAU,GAAG,YAAa,EAAA,CAAA;AAAA,IACtC,CAAC,UAAU,YAAY,CAAA;AAAA,GACzB,CAAA;AAEA,EAAM,MAAA,EAAE,UAAa,GAAA,eAAA,CAAA;AAErB,EAAA,uBAAQ,GAAA,CAAA,QAAA,EAAA,EAAS,KAAO,EAAA,OAAA,EAAU,QAAS,EAAA,CAAA,CAAA;AAC7C;;;;"}
@@ -0,0 +1 @@
1
+ export { usePropagatingPress } from './use-propagating-press';
@@ -0,0 +1,9 @@
1
+ import { type PressHookProps } from 'react-aria';
2
+ /**
3
+ * The default behavior of usePress is to stop all propagation of press events
4
+ *
5
+ * To allow the more typical behavior of event propagation by default, this hook
6
+ * continues propagation of press events. This allows for nested press event
7
+ * listeners to not block press event listeners higher in the heirarchy
8
+ */
9
+ export declare function usePropagatingPress(props: PressHookProps): import("react-aria").PressResult;
@@ -0,0 +1,14 @@
1
+ import { usePress } from 'react-aria';
2
+ import { continuePropagation } from '../../utils/events.js';
3
+ import { mergeProps } from '../../utils/props.js';
4
+
5
+ function usePropagatingPress(props) {
6
+ return usePress(mergeProps({
7
+ onPress: continuePropagation,
8
+ onPressEnd: continuePropagation,
9
+ onPressStart: continuePropagation,
10
+ onPressUp: continuePropagation
11
+ }, props));
12
+ }
13
+
14
+ export { usePropagatingPress };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-propagating-press.js","sources":["../../../src/hooks/use-propagating-press/use-propagating-press.ts"],"sourcesContent":["import { type PressHookProps, usePress } from 'react-aria';\nimport { continuePropagation, mergeProps } from '../../utils';\n\n/**\n * The default behavior of usePress is to stop all propagation of press events\n *\n * To allow the more typical behavior of event propagation by default, this hook\n * continues propagation of press events. This allows for nested press event\n * listeners to not block press event listeners higher in the heirarchy\n */\nexport function usePropagatingPress(props: PressHookProps) {\n return usePress(\n mergeProps(\n {\n onPress: continuePropagation,\n onPressEnd: continuePropagation,\n onPressStart: continuePropagation,\n onPressUp: continuePropagation,\n },\n props,\n ),\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAUO,SAAS,oBAAoB,KAAuB,EAAA;AACzD,EAAO,OAAA,QAAA;AAAA,IACL,UAAA;AAAA,MACE;AAAA,QACE,OAAS,EAAA,mBAAA;AAAA,QACT,UAAY,EAAA,mBAAA;AAAA,QACZ,YAAc,EAAA,mBAAA;AAAA,QACd,SAAW,EAAA,mBAAA;AAAA,OACb;AAAA,MACA,KAAA;AAAA,KACF;AAAA,GACF,CAAA;AACF;;;;"}
@@ -0,0 +1 @@
1
+ export { useSlot } from './use-slot';
@@ -0,0 +1,13 @@
1
+ import { type RefCallback } from 'react';
2
+ /**
3
+ * Detects whether a slot has been utilized
4
+ *
5
+ * Example:
6
+ * Parent component implements RAC Provider, with a slotted context
7
+ * Child component implements slot prop matching provided slot in context
8
+ * Parent is able to see that the slot has been fulfilled
9
+ *
10
+ * Copied from RAC: https://github.com/adobe/react-spectrum/blob/main/packages/react-aria-components/src/utils.tsx#L213
11
+ * Due to not being exported, but quite handy
12
+ */
13
+ export declare function useSlot(): [RefCallback<Element>, boolean];
@@ -0,0 +1,18 @@
1
+ import { useState, useRef, useCallback, useLayoutEffect } from 'react';
2
+
3
+ function useSlot() {
4
+ let [hasSlot, setHasSlot] = useState(true);
5
+ let hasRun = useRef(false);
6
+ let ref = useCallback((el) => {
7
+ hasRun.current = true;
8
+ setHasSlot(!!el);
9
+ }, []);
10
+ useLayoutEffect(() => {
11
+ if (!hasRun.current) {
12
+ setHasSlot(false);
13
+ }
14
+ }, []);
15
+ return [ref, hasSlot];
16
+ }
17
+
18
+ export { useSlot };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-slot.js","sources":["../../../src/hooks/use-slot/use-slot.ts"],"sourcesContent":["import {\n type RefCallback,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\n\n/**\n * Detects whether a slot has been utilized\n *\n * Example:\n * Parent component implements RAC Provider, with a slotted context\n * Child component implements slot prop matching provided slot in context\n * Parent is able to see that the slot has been fulfilled\n *\n * Copied from RAC: https://github.com/adobe/react-spectrum/blob/main/packages/react-aria-components/src/utils.tsx#L213\n * Due to not being exported, but quite handy\n */\nexport function useSlot(): [RefCallback<Element>, boolean] {\n // Assume we do have the slot in the initial render.\n let [hasSlot, setHasSlot] = useState(true);\n let hasRun = useRef(false);\n\n // A callback ref which will run when the slotted element mounts.\n // This should happen before the useLayoutEffect below.\n let ref = useCallback((el: HTMLElement | null) => {\n hasRun.current = true;\n setHasSlot(!!el);\n }, []);\n\n // If the callback hasn't been called, then reset to false.\n useLayoutEffect(() => {\n if (!hasRun.current) {\n setHasSlot(false);\n }\n }, []);\n\n return [ref, hasSlot];\n}\n"],"names":[],"mappings":";;;AAmBO,SAAS,OAA2C,GAAA;AAEzD,EAAA,IAAI,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AACzC,EAAI,IAAA,MAAA,GAAS,OAAO,KAAK,CAAA,CAAA;AAIzB,EAAI,IAAA,GAAA,GAAM,WAAY,CAAA,CAAC,EAA2B,KAAA;AAChD,IAAA,MAAA,CAAO,OAAU,GAAA,IAAA,CAAA;AACjB,IAAW,UAAA,CAAA,CAAC,CAAC,EAAE,CAAA,CAAA;AAAA,GACjB,EAAG,EAAE,CAAA,CAAA;AAGL,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAI,IAAA,CAAC,OAAO,OAAS,EAAA;AACnB,MAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,KAClB;AAAA,GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAO,OAAA,CAAC,KAAK,OAAO,CAAA,CAAA;AACtB;;;;"}
@@ -0,0 +1,2 @@
1
+ export { type ThemeContext, type ThemeVars } from './types';
2
+ export { ThemeProvider, useTheme } from './use-theme';