@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 +0,0 @@
1
- {"version":3,"file":"combo-box.js","sources":["../../../src/components/combo-box/combo-box.tsx"],"sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n type ForwardedRef,\n} from 'react';\nimport {\n Provider,\n ComboBox as RACComboBox,\n type ComboBoxRenderProps,\n type ContextValue,\n type FieldErrorProps,\n type LabelProps,\n type GroupProps as RACGroupProps,\n type TextProps,\n} from 'react-aria-components';\nimport { useContextProps, useDefaultProps, useTheme } from '../../hooks';\nimport { bodies } from '../../styles';\nimport { callRenderProps, inlineVars, mergeClassNames } from '../../utils';\nimport {\n AriaFieldErrorContext,\n AriaGroupContext,\n AriaLabelContext,\n AriaTextContext,\n} from '../aria';\nimport { ButtonContext, type ButtonProps } from '../button';\nimport { InputContext, type InputProps } from '../input';\nimport { OptionsContext, type OptionsProps } from '../options';\nimport { comboBoxClassNames, comboBoxStateVars } from './combo-box.css';\nimport type { ComboBoxMapping, ComboBoxProps } from './types';\n\nconst defaultMapping: ComboBoxMapping = {\n description: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n error: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n toggle: {\n sm: { size: 'sm', variant: 'icon' },\n lg: { size: 'md', variant: 'icon' },\n },\n};\n\nexport const ComboBoxContext =\n createContext<ContextValue<ComboBoxProps<object>, HTMLDivElement>>(null);\n\nexport const ComboBox = forwardRef(function ComboBox<T extends object>(\n props: ComboBoxProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, ComboBoxContext);\n props = useDefaultProps(props, 'ComboBox');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = 'lg',\n } = props;\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(comboBoxClassNames, theme.ComboBox, classNamesProp, {\n description: mapping.description[size],\n error: mapping.error[size],\n }),\n [theme.ComboBox, classNamesProp, mapping, size],\n );\n\n const values = useMemo<\n [\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof AriaGroupContext, ContextValue<RACGroupProps, HTMLDivElement>],\n [typeof InputContext, ContextValue<InputProps, HTMLInputElement>],\n [typeof ButtonContext, ContextValue<ButtonProps, HTMLButtonElement>],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof AriaFieldErrorContext,\n ContextValue<FieldErrorProps, HTMLElement>,\n ],\n [typeof OptionsContext, ContextValue<OptionsProps, HTMLElement>],\n ]\n >(\n () => [\n [\n AriaLabelContext,\n {\n className: classNames?.label,\n },\n ],\n [\n AriaGroupContext,\n {\n className: classNames?.group,\n },\n ],\n [InputContext, { classNames: classNames?.input, size }],\n [\n ButtonContext,\n {\n ...mapping.toggle[size],\n classNames: classNames?.toggle,\n },\n ],\n [\n AriaTextContext,\n {\n slots: {\n description: { className: classNames?.description },\n },\n },\n ],\n [AriaFieldErrorContext, { className: classNames?.error }],\n [OptionsContext, { classNames: classNames?.options, size }],\n ],\n [classNames, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: ComboBoxRenderProps) =>\n inlineVars(comboBoxStateVars, {\n ...renderProps,\n size,\n }),\n [size],\n );\n\n const children = useCallback(\n (renderProps: ComboBoxRenderProps) => (\n <div className={classNames?.comboBox}>\n <Provider values={values}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </Provider>\n </div>\n ),\n [classNames?.comboBox, values, childrenProp],\n );\n\n return (\n <RACComboBox\n {...props}\n ref={ref}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACComboBox>\n );\n});\n"],"names":["ComboBox","RACComboBox"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
-
2
- var comboBoxClassNames = { container: "combo-box_comboBoxClassNames_container__12tc9p8a", comboBox: "combo-box_comboBoxClassNames_comboBox__12tc9p8b", label: "combo-box_comboBoxClassNames_label__12tc9p8c typography_label__j8fgabg", group: "combo-box_comboBoxClassNames_group__12tc9p8d", input: { sizer: "combo-box_comboBoxClassNames_input_sizer__12tc9p8e", input: "combo-box_comboBoxClassNames_input_input__12tc9p8f" }, toggle: { button: "combo-box_comboBoxClassNames_toggle_button__12tc9p8g" }, description: "combo-box_comboBoxClassNames_description__12tc9p8h", error: "combo-box_comboBoxClassNames_error__12tc9p8i" };
3
- var comboBoxColorVars = { description: { color: "var(--description-color__12tc9p81)" }, error: { color: "var(--error-color__12tc9p82)" } };
4
- var comboBoxContainer = "combo-box_comboBoxContainer__12tc9p80";
5
- var comboBoxSpaceVars = { x: "var(--x__12tc9p83)", y: "var(--y__12tc9p84)" };
6
- var comboBoxStateVars = { size: "var(--size__12tc9p85)", isDisabled: "var(--isDisabled__12tc9p86)", isInvalid: "var(--isInvalid__12tc9p87)", isOpen: "var(--isOpen__12tc9p88)", isRequired: "var(--isRequired__12tc9p89)" };
7
-
8
- export { comboBoxClassNames, comboBoxColorVars, comboBoxContainer, comboBoxSpaceVars, comboBoxStateVars };
@@ -1 +0,0 @@
1
- {"version":3,"file":"combo-box.vanilla.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -1,3 +0,0 @@
1
- export { ComboBox, ComboBoxContext } from './combo-box';
2
- export { comboBoxClassNames, comboBoxColorVars, comboBoxContainer, comboBoxSpaceVars, comboBoxStateVars, } from './combo-box.css';
3
- export { type ComboBoxClassNames, type ComboBoxMapping, type ComboBoxProps, type ComboBoxRenderProps, type ComboBoxSizes, type ComboBoxState, } from './types';
@@ -1,32 +0,0 @@
1
- import type { ComboBoxProps as RACComboBoxProps, ComboBoxRenderProps as RACComboBoxRenderProps } from 'react-aria-components';
2
- import type { PartialDeep } from 'type-fest';
3
- import type { AsType, OmitProtectedProps } from '../../types';
4
- import type { ButtonClassNames, ButtonProps } from '../button/types';
5
- import type { InputClassNames } from '../input/types';
6
- import type { OptionsClassNames } from '../options/types';
7
- export type ComboBoxClassNames = PartialDeep<{
8
- container: string;
9
- comboBox: string;
10
- label: string;
11
- group: string;
12
- input: InputClassNames;
13
- toggle: ButtonClassNames;
14
- description: string;
15
- error: string;
16
- options: OptionsClassNames;
17
- }>;
18
- export type ComboBoxSizes = 'sm' | 'lg';
19
- export type ComboBoxMapping = {
20
- description: Partial<Record<ComboBoxSizes, string>>;
21
- error: Partial<Record<ComboBoxSizes, string>>;
22
- toggle: Partial<Record<ComboBoxSizes, OmitProtectedProps<ButtonProps>>>;
23
- };
24
- type BaseComboBoxProps = {
25
- classNames?: ComboBoxClassNames;
26
- mapping?: Partial<ComboBoxMapping>;
27
- size?: ComboBoxSizes;
28
- };
29
- export type ComboBoxRenderProps = AsType<RACComboBoxRenderProps>;
30
- export type ComboBoxState = ComboBoxRenderProps & Required<Pick<BaseComboBoxProps, 'size'>>;
31
- export type ComboBoxProps<T extends object> = Omit<RACComboBoxProps<T>, 'className' | 'style'> & BaseComboBoxProps;
32
- export {};
@@ -1,34 +0,0 @@
1
- import type { DialogClassNames } from './types';
2
- export declare const dialogContainer: string;
3
- export declare const dialogColorVars: {
4
- overlay: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
5
- content: {
6
- color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
7
- };
8
- };
9
- export declare const dialogSpaceVars: {
10
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
11
- x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
12
- y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
13
- gap: {
14
- default: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
15
- header: {
16
- after: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
- };
18
- content: {
19
- before: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
20
- };
21
- footer: {
22
- before: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
- };
24
- };
25
- };
26
- export declare const dialogStateVars: {
27
- hasHeader: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
28
- size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
29
- isEntering: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
30
- isExiting: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
31
- isGlobal: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
- isOpen: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
33
- };
34
- export declare const dialogClassNames: DialogClassNames;
@@ -1,18 +0,0 @@
1
- import { type ContextValue } from 'react-aria-components';
2
- import type { DialogMapping, DialogProps, DialogSizes } from './types';
3
- export declare const DialogContext: import("react").Context<ContextValue<DialogProps, HTMLDivElement>>;
4
- export declare const Dialog: (props: Omit<import("react-aria-components").ModalOverlayProps, "children" | "className" | "style"> & Pick<import("react-aria-components").DialogProps, "role"> & {
5
- children?: import("../..").RenderPropsChildren<import("./types").DialogRenderProps>;
6
- classNames?: Partial<{
7
- portal: string;
8
- container: string;
9
- modal: string;
10
- dialog: string;
11
- header: string;
12
- content: string;
13
- footer: string;
14
- }> | undefined;
15
- mapping?: Partial<DialogMapping>;
16
- parentRef?: import("react").RefObject<HTMLElement>;
17
- size?: DialogSizes;
18
- } & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement | null;
@@ -1,146 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useIsSSR } from '@react-aria/ssr';
3
- import { createContext, forwardRef, useState, useMemo, useCallback, useEffect } from 'react';
4
- import { DEFAULT_SLOT, Provider, Modal, Dialog as Dialog$1, ModalOverlay } from 'react-aria-components';
5
- import { useContextProps } from '../../hooks/use-context-props/use-context-props.js';
6
- import { useDefaultProps } from '../../hooks/use-defaults/use-defaults.js';
7
- import { inlineVars } from '../../utils/css.js';
8
- import { mergeClassNames, callRenderProps } from '../../utils/props.js';
9
- import { useSlot } from '../../hooks/use-slot/use-slot.js';
10
- import { useTheme } from '../../hooks/use-theme/use-theme.js';
11
- import { headings } from '../../styles/typography.vanilla.js';
12
- import { AriaHeadingContext } from '../aria/aria.js';
13
- import { ButtonContext } from '../button/button.js';
14
- import { ElementContext } from '../element/element.js';
15
- import { GroupContext } from '../group/group.js';
16
- import { dialogClassNames, dialogStateVars } from './dialog.vanilla.js';
17
-
18
- const dialogSizes = ["sm", "lg"];
19
- const defaultMapping = {
20
- heading: {
21
- sm: { className: headings.v4 },
22
- lg: { className: headings.v2 }
23
- },
24
- actions: {
25
- context: ButtonContext,
26
- orientation: "horizontal",
27
- reverse: true
28
- },
29
- primary: dialogSizes.reduce((acc, size) => {
30
- acc[size] = { size };
31
- return acc;
32
- }, {}),
33
- secondary: dialogSizes.reduce((acc, size) => {
34
- acc[size] = { size, variant: "bare" };
35
- return acc;
36
- }, {})
37
- };
38
- const DialogContext = createContext(null);
39
- const Dialog = forwardRef(function Dialog2(props, ref) {
40
- [props, ref] = useContextProps(props, ref, DialogContext);
41
- props = useDefaultProps(props, "Dialog");
42
- const { children: childrenProp, classNames: classNamesProp, mapping: mappingProp, parentRef, role, size = "lg", ...rest } = props;
43
- const theme = useTheme();
44
- const isSSR = useIsSSR();
45
- const [portal, setPortal] = useState(isSSR ? null : document.body);
46
- const isGlobal = useMemo(() => !isSSR && portal === document.body, [isSSR, portal]);
47
- const mapping = useMemo(() => ({ ...defaultMapping, ...mappingProp }), [mappingProp]);
48
- const classNames = useMemo(() => mergeClassNames(dialogClassNames, theme.Dialog, classNamesProp, {
49
- container: isGlobal ? theme.className : void 0
50
- }), [theme.Dialog, classNamesProp, isGlobal, theme.className]);
51
- const [headerRef, hasHeader] = useSlot();
52
- const style = useCallback(({ state, ...renderProps }) => ({
53
- ...isGlobal ? theme.style : {},
54
- ...inlineVars(dialogStateVars, {
55
- hasHeader,
56
- size,
57
- ...renderProps,
58
- isGlobal
59
- })
60
- }), [size, theme.style, isGlobal, hasHeader]);
61
- const values = useMemo(() => [
62
- [
63
- ElementContext,
64
- {
65
- slots: {
66
- [DEFAULT_SLOT]: {},
67
- header: {
68
- as: "header",
69
- className: classNames?.header,
70
- ref: headerRef,
71
- values: [
72
- [
73
- AriaHeadingContext,
74
- {
75
- ...mapping.heading[size],
76
- slot: "title"
77
- }
78
- ],
79
- [GroupContext, null]
80
- ]
81
- },
82
- content: { className: classNames?.content },
83
- footer: {
84
- as: "footer",
85
- className: classNames?.footer,
86
- values: [
87
- [AriaHeadingContext, null],
88
- [
89
- GroupContext,
90
- {
91
- values: {
92
- slots: {
93
- [DEFAULT_SLOT]: mapping.primary[size] ?? {},
94
- secondary: mapping.secondary[size] ?? {}
95
- }
96
- },
97
- ...mapping.actions
98
- }
99
- ]
100
- ]
101
- }
102
- }
103
- }
104
- ]
105
- ], [
106
- classNames?.header,
107
- classNames?.content,
108
- classNames?.footer,
109
- headerRef,
110
- mapping.actions,
111
- mapping.heading,
112
- mapping.primary,
113
- mapping.secondary,
114
- size
115
- ]);
116
- const children = useCallback((renderProps) => jsx(Provider, { values, children: jsx(Modal, { className: classNames?.modal, children: jsx(Dialog$1, { className: classNames?.dialog, role, children: callRenderProps(childrenProp, {
117
- ...renderProps,
118
- isGlobal,
119
- isOpen: renderProps.state.isOpen
120
- }) }) }) }), [
121
- values,
122
- classNames?.modal,
123
- classNames?.dialog,
124
- role,
125
- childrenProp,
126
- isGlobal
127
- ]);
128
- useEffect(() => {
129
- const node = parentRef?.current;
130
- const port = isSSR ? null : document.createElement("div");
131
- if (node && port) {
132
- port.classList.add(classNames?.portal ?? "");
133
- node.appendChild(port);
134
- setPortal(port);
135
- }
136
- return () => {
137
- port?.remove();
138
- setPortal(isSSR ? null : document.body);
139
- };
140
- }, [isSSR, parentRef, classNames?.portal]);
141
- if (!portal)
142
- return null;
143
- return jsx(ModalOverlay, { ...rest, ref, className: classNames?.container, style, UNSTABLE_portalContainer: portal, children });
144
- });
145
-
146
- export { Dialog, DialogContext };
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog.js","sources":["../../../src/components/dialog/dialog.tsx"],"sourcesContent":["import { useIsSSR } from '@react-aria/ssr';\nimport {\n createContext,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useState,\n type ForwardedRef,\n type HTMLAttributes,\n} from 'react';\nimport {\n DEFAULT_SLOT,\n Modal,\n ModalOverlay,\n Provider,\n Dialog as RACDialog,\n type ContextValue,\n type ModalRenderProps,\n} from 'react-aria-components';\nimport {\n useContextProps,\n useDefaultProps,\n useSlot,\n useTheme,\n} from '../../hooks';\nimport { headings } from '../../styles';\nimport type { OmitProtectedProps } from '../../types';\nimport { callRenderProps, inlineVars, mergeClassNames } from '../../utils';\nimport { AriaHeadingContext } from '../aria';\nimport { ButtonContext, type ButtonProps } from '../button';\nimport { ElementContext, type ElementProps } from '../element';\nimport { GroupContext, type GroupProps } from '../group';\nimport { dialogClassNames, dialogStateVars } from './dialog.css';\nimport type { DialogMapping, DialogProps, DialogSizes } from './types';\n\nconst dialogSizes: DialogSizes[] = ['sm', 'lg'];\n\nconst defaultMapping: DialogMapping = {\n heading: {\n sm: { className: headings.v4 },\n lg: { className: headings.v2 },\n },\n actions: {\n context: ButtonContext,\n orientation: 'horizontal',\n reverse: true,\n },\n primary: dialogSizes.reduce(\n (acc, size) => {\n acc[size] = { size };\n\n return acc;\n },\n {} as Record<DialogSizes, OmitProtectedProps<ButtonProps>>,\n ),\n secondary: dialogSizes.reduce(\n (acc, size) => {\n acc[size] = { size, variant: 'bare' };\n\n return acc;\n },\n {} as Record<DialogSizes, OmitProtectedProps<ButtonProps>>,\n ),\n};\n\nexport const DialogContext =\n createContext<ContextValue<DialogProps, HTMLDivElement>>(null);\n\nexport const Dialog = forwardRef(function Dialog(\n props: DialogProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, DialogContext);\n props = useDefaultProps(props, 'Dialog');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n parentRef,\n role,\n size = 'lg',\n ...rest\n } = props;\n\n const theme = useTheme();\n const isSSR = useIsSSR();\n const [portal, setPortal] = useState(isSSR ? null : document.body);\n\n const isGlobal = useMemo(\n () => !isSSR && portal === document.body,\n [isSSR, portal],\n );\n\n const mapping = useMemo(\n () => ({ ...defaultMapping, ...mappingProp }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(dialogClassNames, theme.Dialog, classNamesProp, {\n container: isGlobal ? theme.className : undefined,\n }),\n [theme.Dialog, classNamesProp, isGlobal, theme.className],\n );\n\n const [headerRef, hasHeader] = useSlot();\n\n const style = useCallback(\n ({ state, ...renderProps }: ModalRenderProps) => ({\n ...(isGlobal ? theme.style : {}),\n ...inlineVars(dialogStateVars, {\n hasHeader,\n size,\n ...renderProps,\n isGlobal,\n }),\n }),\n [size, theme.style, isGlobal, hasHeader],\n );\n\n const values = useMemo<\n [\n [\n typeof ElementContext,\n ContextValue<\n ElementProps<\n ContextValue<HTMLAttributes<HTMLElement>, HTMLHeadingElement>,\n ContextValue<\n GroupProps<ButtonProps, HTMLButtonElement>,\n HTMLDivElement\n >\n >,\n HTMLElement\n >,\n ],\n ]\n >(\n () => [\n [\n ElementContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n header: {\n as: 'header',\n className: classNames?.header,\n ref: headerRef,\n values: [\n [\n AriaHeadingContext,\n {\n ...mapping.heading[size],\n slot: 'title',\n },\n ],\n [GroupContext, null],\n ],\n },\n content: { className: classNames?.content },\n footer: {\n as: 'footer',\n className: classNames?.footer,\n values: [\n [AriaHeadingContext, null],\n [\n GroupContext,\n {\n values: {\n slots: {\n [DEFAULT_SLOT]: mapping.primary[size] ?? {},\n secondary: mapping.secondary[size] ?? {},\n },\n },\n ...mapping.actions,\n },\n ],\n ],\n },\n },\n },\n ],\n ],\n [\n classNames?.header,\n classNames?.content,\n classNames?.footer,\n headerRef,\n mapping.actions,\n mapping.heading,\n mapping.primary,\n mapping.secondary,\n size,\n ],\n );\n\n const children = useCallback(\n (renderProps: ModalRenderProps) => (\n <Provider values={values}>\n <Modal className={classNames?.modal}>\n <RACDialog className={classNames?.dialog} role={role}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n isGlobal,\n isOpen: renderProps.state.isOpen,\n })}\n </RACDialog>\n </Modal>\n </Provider>\n ),\n [\n values,\n classNames?.modal,\n classNames?.dialog,\n role,\n childrenProp,\n isGlobal,\n ],\n );\n\n useEffect(() => {\n const node = parentRef?.current;\n const port = isSSR ? null : document.createElement('div');\n\n if (node && port) {\n port.classList.add(classNames?.portal ?? '');\n\n node.appendChild(port);\n\n setPortal(port);\n }\n\n return () => {\n port?.remove();\n\n setPortal(isSSR ? null : document.body);\n };\n }, [isSSR, parentRef, classNames?.portal]);\n\n if (!portal) return null;\n\n return (\n <ModalOverlay\n {...rest}\n ref={ref}\n className={classNames?.container}\n style={style}\n UNSTABLE_portalContainer={portal}\n >\n {children}\n </ModalOverlay>\n );\n});\n"],"names":["Dialog","RACDialog"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
-
2
- var dialogClassNames = { portal: "dialog_dialogClassNames_portal__8ms59zi", container: "dialog_dialogClassNames_container__8ms59zj", modal: "dialog_dialogClassNames_modal__8ms59zk", dialog: "dialog_dialogClassNames_dialog__8ms59zl surfaces_proud__15mw6jf3 surfaces_flush__15mw6jf2", header: "dialog_header__8ms59zg", content: "dialog_content__8ms59zh", footer: "dialog_dialogClassNames_footer__8ms59zm" };
3
- var dialogColorVars = { overlay: "var(--overlay__8ms59z1)", content: { color: "var(--content-color__8ms59z2)" } };
4
- var dialogContainer = "dialog_dialogContainer__8ms59z0";
5
- var dialogSpaceVars = { width: "var(--width__8ms59z3)", x: "var(--x__8ms59z4)", y: "var(--y__8ms59z5)", gap: { "default": "var(--gap-default__8ms59z6)", header: { after: "var(--gap-header-after__8ms59z7)" }, content: { before: "var(--gap-content-before__8ms59z8)" }, footer: { before: "var(--gap-footer-before__8ms59z9)" } } };
6
- var dialogStateVars = { hasHeader: "var(--hasHeader__8ms59za)", size: "var(--size__8ms59zb)", isEntering: "var(--isEntering__8ms59zc)", isExiting: "var(--isExiting__8ms59zd)", isGlobal: "var(--isGlobal__8ms59ze)", isOpen: "var(--isOpen__8ms59zf)" };
7
-
8
- export { dialogClassNames, dialogColorVars, dialogContainer, dialogSpaceVars, dialogStateVars };
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog.vanilla.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1,3 +0,0 @@
1
- export { Dialog, DialogContext } from './dialog';
2
- export { dialogClassNames, dialogColorVars, dialogContainer, dialogSpaceVars, dialogStateVars, } from './dialog.css';
3
- export { type DialogClassNames, type DialogMapping, type DialogProps, type DialogRenderProps, type DialogSizes, type DialogState, } from './types';
@@ -1,48 +0,0 @@
1
- import type { RefObject } from 'react';
2
- import type { HeadingProps, ModalOverlayProps, ModalRenderProps, DialogProps as RACDialogProps } from 'react-aria-components';
3
- import type { OmitProtectedProps, RenderPropsChildren } from '../../types';
4
- import type { ButtonProps } from '../button/types';
5
- import type { GroupProps } from '../group/types';
6
- export type DialogClassNames = Partial<{
7
- portal: string;
8
- container: string;
9
- modal: string;
10
- dialog: string;
11
- header: string;
12
- content: string;
13
- footer: string;
14
- }>;
15
- export type DialogSizes = 'sm' | 'lg';
16
- export type DialogMapping = {
17
- heading: Partial<Record<DialogSizes, HeadingProps>>;
18
- actions: GroupProps<ButtonProps, HTMLButtonElement>;
19
- primary: Partial<Record<DialogSizes, OmitProtectedProps<ButtonProps>>>;
20
- secondary: Partial<Record<DialogSizes, OmitProtectedProps<ButtonProps>>>;
21
- };
22
- export type DialogRenderProps = ModalRenderProps & {
23
- /**
24
- * If the dialog is relative to the viewport (vs a specified parent element)
25
- */
26
- isGlobal: boolean;
27
- /**
28
- * If the dialog is visible
29
- */
30
- isOpen: boolean;
31
- };
32
- type BaseDialogProps = Pick<RACDialogProps, 'role'> & {
33
- children?: RenderPropsChildren<DialogRenderProps>;
34
- classNames?: DialogClassNames;
35
- mapping?: Partial<DialogMapping>;
36
- /**
37
- * Optionally provide a ref to a parent container that the dialog will be portaled into
38
- * This will make it so the Dialog is not global in the DOM and will visually center it
39
- * to the parent's area instead of the whole viewport
40
- */
41
- parentRef?: RefObject<HTMLElement>;
42
- size?: DialogSizes;
43
- };
44
- export type DialogState = Omit<DialogRenderProps, 'state'> & Required<Pick<BaseDialogProps, 'size'>> & {
45
- hasHeader: boolean;
46
- };
47
- export type DialogProps = Omit<ModalOverlayProps, 'children' | 'className' | 'style'> & BaseDialogProps;
48
- export {};
@@ -1,33 +0,0 @@
1
- import type { DrawerClassNames } from './types';
2
- export declare const drawerContainer: string;
3
- export declare const drawerAnimationVars: {
4
- delay: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
5
- duration: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
6
- easing: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
7
- };
8
- export declare const drawerColorVars: {
9
- background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
10
- color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
11
- };
12
- export declare const drawerSpaceVars: {
13
- drawer: {
14
- width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
15
- gap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16
- x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
- y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
18
- };
19
- list: {
20
- top: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
21
- translateY: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
22
- };
23
- };
24
- export declare const drawerStateVars: {
25
- anchor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
26
- layoutShift: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
27
- isChild: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
28
- isOpen: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
29
- };
30
- export declare const drawerDialogStateVars: {
31
- isChild: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
- };
33
- export declare const drawerClassNames: DrawerClassNames;
@@ -1,13 +0,0 @@
1
- import { type ContextValue } from 'react-aria-components';
2
- import type { DrawerDialogProps, DrawerMapping, DrawerProps, DrawerTabListProps, DrawerTabProps } from './types';
3
- export declare function Drawer(props: DrawerProps): import("react/jsx-runtime").JSX.Element;
4
- export declare function DrawerTabList<T extends object>(props: DrawerTabListProps<T>): import("react/jsx-runtime").JSX.Element;
5
- export declare function DrawerTab(props: DrawerTabProps): import("react/jsx-runtime").JSX.Element;
6
- export declare const DrawerDialogContext: import("react").Context<ContextValue<DrawerDialogProps, HTMLDivElement>>;
7
- export declare const DrawerDialog: (props: import("@react-types/shared").AriaLabelingProps & {
8
- classNames?: import("./types").DrawerClassNames;
9
- } & {
10
- mapping?: DrawerMapping;
11
- } & {
12
- children?: import("react").ReactNode | undefined;
13
- } & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement | null;
@@ -1,199 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { toBoolean } from '@accelint/converters';
3
- import { useIsSSR } from '@react-aria/ssr';
4
- import { noop } from 'lodash';
5
- import { createContext, forwardRef, useContext, useMemo, useCallback, useRef } from 'react';
6
- import { useOverlay, useFocusWithin } from 'react-aria';
7
- import { DEFAULT_SLOT, Provider } from 'react-aria-components';
8
- import { useOverlayTriggerState } from 'react-stately';
9
- import { useContextProps } from '../../hooks/use-context-props/use-context-props.js';
10
- import { useDefaultProps } from '../../hooks/use-defaults/use-defaults.js';
11
- import { inlineVars } from '../../utils/css.js';
12
- import { mergeClassNames, callRenderProps, mergeProps } from '../../utils/props.js';
13
- import { useSlot } from '../../hooks/use-slot/use-slot.js';
14
- import { useTheme } from '../../hooks/use-theme/use-theme.js';
15
- import { headings } from '../../styles/typography.vanilla.js';
16
- import { AriaHeadingContext } from '../aria/aria.js';
17
- import { ButtonContext } from '../button/button.js';
18
- import { ElementContext } from '../element/element.js';
19
- import { Tabs, TabList, Tab } from '../tabs/tabs.js';
20
- import { TooltipContext, TooltipTargetContext } from '../tooltip/tooltip.js';
21
- import { drawerClassNames, drawerStateVars, drawerDialogStateVars } from './drawer.vanilla.js';
22
-
23
- const DrawerContext = createContext({
24
- anchor: "right",
25
- layoutShift: false,
26
- isOpen: false,
27
- close: noop,
28
- open: noop,
29
- setOpen: noop,
30
- toggle: noop
31
- });
32
- function Drawer(props) {
33
- props = useDefaultProps(props, "Drawer");
34
- const { children: childrenProp, classNames: classNamesProp, anchor = "right", defaultOpen = false, layoutShift = false, shouldCloseOnBlur = false, isDismissable = true, isKeyboardDismissDisabled = false, isOpen: isOpenProp, onOpenChange } = props;
35
- const theme = useTheme();
36
- const isSSR = useIsSSR();
37
- const classNames = useMemo(() => mergeClassNames(drawerClassNames, theme.Drawer, classNamesProp), [theme.Drawer, classNamesProp]);
38
- const handleOpenChange = useCallback((isOpen2) => {
39
- if (!isOpen2) {
40
- const focused = isSSR ? null : document.activeElement;
41
- if (focused && "blur" in focused && typeof focused.blur === "function") {
42
- focused.blur();
43
- }
44
- }
45
- onOpenChange?.(isOpen2);
46
- }, [isSSR, onOpenChange]);
47
- const state = useOverlayTriggerState({
48
- defaultOpen,
49
- isOpen: isOpenProp,
50
- onOpenChange: handleOpenChange
51
- });
52
- const { isOpen, close, open } = state;
53
- const ref = useRef(null);
54
- const { overlayProps } = useOverlay({
55
- isOpen,
56
- shouldCloseOnBlur,
57
- isDismissable,
58
- isKeyboardDismissDisabled,
59
- onClose: close
60
- }, ref);
61
- const { focusWithinProps } = useFocusWithin({
62
- onFocusWithin: open
63
- });
64
- const context = useMemo(() => ({ ...state, anchor, layoutShift }), [state, anchor, layoutShift]);
65
- const values = useMemo(() => [
66
- [DrawerContext, context],
67
- [DrawerDialogContext, { classNames }]
68
- ], [context, classNames]);
69
- const style = useMemo(() => inlineVars(drawerStateVars, {
70
- anchor,
71
- layoutShift,
72
- isOpen
73
- }), [anchor, layoutShift, isOpen]);
74
- const children = useMemo(() => callRenderProps(childrenProp, state), [childrenProp, state]);
75
- return jsx(Provider, { values, children: jsx("div", { ...mergeProps(overlayProps, focusWithinProps), ref, className: classNames?.container, style, children: jsx(Tabs, { classNames: classNames?.tabs, children }) }) });
76
- }
77
- function DrawerTabList(props) {
78
- props = useDefaultProps(props, "DrawerTabList");
79
- const { children, classNames: classNamesProp, variant = "fill" } = props;
80
- const { anchor } = useContext(DrawerContext);
81
- const theme = useTheme();
82
- const classNames = useMemo(() => mergeClassNames(drawerClassNames, theme.Drawer, classNamesProp), [theme.Drawer, classNamesProp]);
83
- const values = useMemo(() => [
84
- [TooltipContext, { placement: anchor === "left" ? "right" : "left" }],
85
- [TooltipTargetContext, { focusable: false, relative: "parent" }]
86
- ], [anchor]);
87
- return jsx(Provider, { values, children: jsx(TabList, { classNames: classNames?.tabs, align: "center", anchor: anchor === "left" ? "start" : "end", orientation: "vertical", variant, children }) });
88
- }
89
- function DrawerTab(props) {
90
- props = useDefaultProps(props, "DrawerTab");
91
- const { children: childrenProp, classNames: classNamesProp, ...rest } = props;
92
- const { isOpen, open, toggle } = useContext(DrawerContext);
93
- const theme = useTheme();
94
- const classNames = useMemo(() => mergeClassNames(drawerClassNames, theme.Drawer, classNamesProp), [theme.Drawer, classNamesProp]);
95
- const handlePressStart = useCallback((event) => {
96
- const { selected } = event.target.parentElement?.dataset ?? {};
97
- if (toBoolean(selected)) {
98
- toggle();
99
- } else {
100
- open();
101
- }
102
- }, [open, toggle]);
103
- const children = useCallback((renderProps) => callRenderProps(childrenProp, { ...renderProps, isOpen }), [childrenProp, isOpen]);
104
- return jsx(Tab, { ...rest, classNames: classNames?.tabs, onPressStart: handlePressStart, children });
105
- }
106
- const defaultMapping = {
107
- heading: {
108
- child: headings.v4,
109
- parent: headings.v3
110
- },
111
- back: {
112
- variant: "icon"
113
- },
114
- close: {
115
- variant: "icon"
116
- }
117
- };
118
- const DrawerDialogContext = createContext(null);
119
- const DrawerDialog = forwardRef(function DrawerDialog2(props, ref) {
120
- [props, ref] = useContextProps(props, ref, DrawerDialogContext);
121
- const { children, classNames: classNamesProp, mapping: mappingProp, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...rest } = props;
122
- const { close } = useContext(DrawerContext);
123
- const [backRef, hasBack] = useSlot();
124
- const [titleRef, hasTitle] = useSlot();
125
- const theme = useTheme();
126
- const mapping = useMemo(() => ({ ...defaultMapping, ...mappingProp }), [mappingProp]);
127
- const classNames = useMemo(() => mergeClassNames(drawerClassNames, theme.Drawer, classNamesProp, {
128
- header: {
129
- title: hasBack ? mapping.heading.child : mapping.heading.parent
130
- }
131
- }), [theme.Drawer, classNamesProp, hasBack, mapping]);
132
- const style = useMemo(() => inlineVars(drawerDialogStateVars, {
133
- isChild: !!hasBack
134
- }), [hasBack]);
135
- const values = useMemo(() => [
136
- [
137
- ElementContext,
138
- {
139
- slots: {
140
- [DEFAULT_SLOT]: {},
141
- header: {
142
- as: "header",
143
- className: classNames?.header?.header,
144
- values: [
145
- [
146
- ButtonContext,
147
- {
148
- slots: {
149
- [DEFAULT_SLOT]: {},
150
- back: {
151
- ...mapping.back,
152
- ref: backRef,
153
- classNames: classNames?.header?.back
154
- },
155
- close: {
156
- ...mapping.close,
157
- classNames: classNames?.header?.close,
158
- onPress: close
159
- }
160
- }
161
- }
162
- ],
163
- [
164
- AriaHeadingContext,
165
- {
166
- slots: {
167
- title: {
168
- ref: titleRef,
169
- className: classNames?.header?.title
170
- }
171
- }
172
- }
173
- ]
174
- ]
175
- },
176
- content: { className: classNames?.content },
177
- footer: { as: "footer", className: classNames?.footer }
178
- }
179
- }
180
- ]
181
- ], [
182
- classNames?.header?.header,
183
- classNames?.header?.back,
184
- classNames?.header?.close,
185
- classNames?.header?.title,
186
- classNames?.content,
187
- classNames?.footer,
188
- backRef,
189
- close,
190
- mapping,
191
- titleRef
192
- ]);
193
- if (!ariaLabel && !ariaLabelledBy && !hasTitle) {
194
- console.warn('If a Drawer does not contain a <Heading slot="title">, it must have an aria-label or aria-labelledby attribute for accessibility.');
195
- }
196
- return jsx(Provider, { values, children: jsx("div", { ...rest, className: classNames?.dialog?.container, style, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, children: jsx("div", { className: classNames?.dialog?.dialog, children }) }) });
197
- });
198
-
199
- export { Drawer, DrawerDialog, DrawerDialogContext, DrawerTab, DrawerTabList };