jaci-ui 0.1.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 (775) hide show
  1. package/LICENSE +21 -0
  2. package/dist/components/accordion/accordion.cjs +83 -0
  3. package/dist/components/accordion/accordion.cjs.map +1 -0
  4. package/dist/components/accordion/accordion.d.cts +32 -0
  5. package/dist/components/accordion/accordion.d.ts +32 -0
  6. package/dist/components/accordion/accordion.js +77 -0
  7. package/dist/components/accordion/accordion.js.map +1 -0
  8. package/dist/components/accordion/index.d.cts +2 -0
  9. package/dist/components/accordion/index.d.ts +2 -0
  10. package/dist/components/alert/alert.cjs +76 -0
  11. package/dist/components/alert/alert.cjs.map +1 -0
  12. package/dist/components/alert/alert.d.cts +26 -0
  13. package/dist/components/alert/alert.d.ts +26 -0
  14. package/dist/components/alert/alert.js +72 -0
  15. package/dist/components/alert/alert.js.map +1 -0
  16. package/dist/components/alert/index.d.cts +2 -0
  17. package/dist/components/alert/index.d.ts +2 -0
  18. package/dist/components/alert-dialog/alert-dialog.cjs +147 -0
  19. package/dist/components/alert-dialog/alert-dialog.cjs.map +1 -0
  20. package/dist/components/alert-dialog/alert-dialog.d.cts +73 -0
  21. package/dist/components/alert-dialog/alert-dialog.d.ts +73 -0
  22. package/dist/components/alert-dialog/alert-dialog.js +133 -0
  23. package/dist/components/alert-dialog/alert-dialog.js.map +1 -0
  24. package/dist/components/alert-dialog/index.d.cts +2 -0
  25. package/dist/components/alert-dialog/index.d.ts +2 -0
  26. package/dist/components/avatar/avatar.cjs +89 -0
  27. package/dist/components/avatar/avatar.cjs.map +1 -0
  28. package/dist/components/avatar/avatar.d.cts +33 -0
  29. package/dist/components/avatar/avatar.d.ts +33 -0
  30. package/dist/components/avatar/avatar.js +86 -0
  31. package/dist/components/avatar/avatar.js.map +1 -0
  32. package/dist/components/avatar/index.d.cts +2 -0
  33. package/dist/components/avatar/index.d.ts +2 -0
  34. package/dist/components/base-ui.cjs +14 -0
  35. package/dist/components/base-ui.cjs.map +1 -0
  36. package/dist/components/base-ui.js +14 -0
  37. package/dist/components/base-ui.js.map +1 -0
  38. package/dist/components/breadcrumbs/breadcrumbs.cjs +84 -0
  39. package/dist/components/breadcrumbs/breadcrumbs.cjs.map +1 -0
  40. package/dist/components/breadcrumbs/breadcrumbs.d.cts +31 -0
  41. package/dist/components/breadcrumbs/breadcrumbs.d.ts +31 -0
  42. package/dist/components/breadcrumbs/breadcrumbs.js +78 -0
  43. package/dist/components/breadcrumbs/breadcrumbs.js.map +1 -0
  44. package/dist/components/breadcrumbs/index.d.cts +2 -0
  45. package/dist/components/breadcrumbs/index.d.ts +2 -0
  46. package/dist/components/button/button.cjs +54 -0
  47. package/dist/components/button/button.cjs.map +1 -0
  48. package/dist/components/button/button.d.cts +21 -0
  49. package/dist/components/button/button.d.ts +21 -0
  50. package/dist/components/button/button.js +54 -0
  51. package/dist/components/button/button.js.map +1 -0
  52. package/dist/components/button/index.d.cts +2 -0
  53. package/dist/components/button/index.d.ts +2 -0
  54. package/dist/components/card/card.cjs +55 -0
  55. package/dist/components/card/card.cjs.map +1 -0
  56. package/dist/components/card/card.d.cts +13 -0
  57. package/dist/components/card/card.d.ts +13 -0
  58. package/dist/components/card/card.js +51 -0
  59. package/dist/components/card/card.js.map +1 -0
  60. package/dist/components/card/index.d.cts +2 -0
  61. package/dist/components/card/index.d.ts +2 -0
  62. package/dist/components/checkbox-group/checkbox-group.cjs +85 -0
  63. package/dist/components/checkbox-group/checkbox-group.cjs.map +1 -0
  64. package/dist/components/checkbox-group/checkbox-group.d.cts +37 -0
  65. package/dist/components/checkbox-group/checkbox-group.d.ts +37 -0
  66. package/dist/components/checkbox-group/checkbox-group.js +79 -0
  67. package/dist/components/checkbox-group/checkbox-group.js.map +1 -0
  68. package/dist/components/checkbox-group/index.d.cts +2 -0
  69. package/dist/components/checkbox-group/index.d.ts +2 -0
  70. package/dist/components/collapsible/collapsible.cjs +59 -0
  71. package/dist/components/collapsible/collapsible.cjs.map +1 -0
  72. package/dist/components/collapsible/collapsible.d.cts +22 -0
  73. package/dist/components/collapsible/collapsible.d.ts +22 -0
  74. package/dist/components/collapsible/collapsible.js +55 -0
  75. package/dist/components/collapsible/collapsible.js.map +1 -0
  76. package/dist/components/collapsible/index.d.cts +2 -0
  77. package/dist/components/collapsible/index.d.ts +2 -0
  78. package/dist/components/color-picker/color-picker.cjs +360 -0
  79. package/dist/components/color-picker/color-picker.cjs.map +1 -0
  80. package/dist/components/color-picker/color-picker.d.cts +94 -0
  81. package/dist/components/color-picker/color-picker.d.ts +94 -0
  82. package/dist/components/color-picker/color-picker.js +344 -0
  83. package/dist/components/color-picker/color-picker.js.map +1 -0
  84. package/dist/components/color-picker/color-utils.cjs +162 -0
  85. package/dist/components/color-picker/color-utils.cjs.map +1 -0
  86. package/dist/components/color-picker/color-utils.d.cts +14 -0
  87. package/dist/components/color-picker/color-utils.d.ts +14 -0
  88. package/dist/components/color-picker/color-utils.js +160 -0
  89. package/dist/components/color-picker/color-utils.js.map +1 -0
  90. package/dist/components/color-picker/index.d.cts +3 -0
  91. package/dist/components/color-picker/index.d.ts +3 -0
  92. package/dist/components/combobox/combobox.cjs +218 -0
  93. package/dist/components/combobox/combobox.cjs.map +1 -0
  94. package/dist/components/combobox/combobox.d.cts +81 -0
  95. package/dist/components/combobox/combobox.d.ts +81 -0
  96. package/dist/components/combobox/combobox.js +199 -0
  97. package/dist/components/combobox/combobox.js.map +1 -0
  98. package/dist/components/combobox/index.d.cts +2 -0
  99. package/dist/components/combobox/index.d.ts +2 -0
  100. package/dist/components/command/command.cjs +303 -0
  101. package/dist/components/command/command.cjs.map +1 -0
  102. package/dist/components/command/command.d.cts +50 -0
  103. package/dist/components/command/command.d.ts +50 -0
  104. package/dist/components/command/command.js +294 -0
  105. package/dist/components/command/command.js.map +1 -0
  106. package/dist/components/command/index.d.cts +2 -0
  107. package/dist/components/command/index.d.ts +2 -0
  108. package/dist/components/context-menu/context-menu.cjs +175 -0
  109. package/dist/components/context-menu/context-menu.cjs.map +1 -0
  110. package/dist/components/context-menu/context-menu.d.cts +69 -0
  111. package/dist/components/context-menu/context-menu.d.ts +69 -0
  112. package/dist/components/context-menu/context-menu.js +156 -0
  113. package/dist/components/context-menu/context-menu.js.map +1 -0
  114. package/dist/components/context-menu/index.d.cts +2 -0
  115. package/dist/components/context-menu/index.d.ts +2 -0
  116. package/dist/components/controls/checkbox.cjs +33 -0
  117. package/dist/components/controls/checkbox.cjs.map +1 -0
  118. package/dist/components/controls/checkbox.d.cts +12 -0
  119. package/dist/components/controls/checkbox.d.ts +12 -0
  120. package/dist/components/controls/checkbox.js +33 -0
  121. package/dist/components/controls/checkbox.js.map +1 -0
  122. package/dist/components/controls/index.d.cts +6 -0
  123. package/dist/components/controls/index.d.ts +6 -0
  124. package/dist/components/controls/input.cjs +29 -0
  125. package/dist/components/controls/input.cjs.map +1 -0
  126. package/dist/components/controls/input.d.cts +9 -0
  127. package/dist/components/controls/input.d.ts +9 -0
  128. package/dist/components/controls/input.js +29 -0
  129. package/dist/components/controls/input.js.map +1 -0
  130. package/dist/components/controls/radio.cjs +20 -0
  131. package/dist/components/controls/radio.cjs.map +1 -0
  132. package/dist/components/controls/radio.d.cts +7 -0
  133. package/dist/components/controls/radio.d.ts +7 -0
  134. package/dist/components/controls/radio.js +20 -0
  135. package/dist/components/controls/radio.js.map +1 -0
  136. package/dist/components/controls/switch.cjs +30 -0
  137. package/dist/components/controls/switch.cjs.map +1 -0
  138. package/dist/components/controls/switch.d.cts +10 -0
  139. package/dist/components/controls/switch.d.ts +10 -0
  140. package/dist/components/controls/switch.js +30 -0
  141. package/dist/components/controls/switch.js.map +1 -0
  142. package/dist/components/controls/textarea.cjs +30 -0
  143. package/dist/components/controls/textarea.cjs.map +1 -0
  144. package/dist/components/controls/textarea.d.cts +9 -0
  145. package/dist/components/controls/textarea.d.ts +9 -0
  146. package/dist/components/controls/textarea.js +30 -0
  147. package/dist/components/controls/textarea.js.map +1 -0
  148. package/dist/components/copyable/copyable.cjs +124 -0
  149. package/dist/components/copyable/copyable.cjs.map +1 -0
  150. package/dist/components/copyable/copyable.d.cts +27 -0
  151. package/dist/components/copyable/copyable.d.ts +27 -0
  152. package/dist/components/copyable/copyable.js +121 -0
  153. package/dist/components/copyable/copyable.js.map +1 -0
  154. package/dist/components/copyable/index.d.cts +2 -0
  155. package/dist/components/copyable/index.d.ts +2 -0
  156. package/dist/components/data-view/data-view.cjs +85 -0
  157. package/dist/components/data-view/data-view.cjs.map +1 -0
  158. package/dist/components/data-view/data-view.d.cts +31 -0
  159. package/dist/components/data-view/data-view.d.ts +31 -0
  160. package/dist/components/data-view/data-view.js +79 -0
  161. package/dist/components/data-view/data-view.js.map +1 -0
  162. package/dist/components/data-view/index.d.cts +2 -0
  163. package/dist/components/data-view/index.d.ts +2 -0
  164. package/dist/components/date-picker/date-picker.cjs +448 -0
  165. package/dist/components/date-picker/date-picker.cjs.map +1 -0
  166. package/dist/components/date-picker/date-picker.d.cts +118 -0
  167. package/dist/components/date-picker/date-picker.d.ts +118 -0
  168. package/dist/components/date-picker/date-picker.js +432 -0
  169. package/dist/components/date-picker/date-picker.js.map +1 -0
  170. package/dist/components/date-picker/date-utils.cjs +80 -0
  171. package/dist/components/date-picker/date-utils.cjs.map +1 -0
  172. package/dist/components/date-picker/date-utils.js +66 -0
  173. package/dist/components/date-picker/date-utils.js.map +1 -0
  174. package/dist/components/date-picker/index.d.cts +2 -0
  175. package/dist/components/date-picker/index.d.ts +2 -0
  176. package/dist/components/dialog/dialog.cjs +130 -0
  177. package/dist/components/dialog/dialog.cjs.map +1 -0
  178. package/dist/components/dialog/dialog.d.cts +55 -0
  179. package/dist/components/dialog/dialog.d.ts +55 -0
  180. package/dist/components/dialog/dialog.js +118 -0
  181. package/dist/components/dialog/dialog.js.map +1 -0
  182. package/dist/components/dialog/index.d.cts +2 -0
  183. package/dist/components/dialog/index.d.ts +2 -0
  184. package/dist/components/drawer/drawer.cjs +165 -0
  185. package/dist/components/drawer/drawer.cjs.map +1 -0
  186. package/dist/components/drawer/drawer.d.cts +58 -0
  187. package/dist/components/drawer/drawer.d.ts +58 -0
  188. package/dist/components/drawer/drawer.js +153 -0
  189. package/dist/components/drawer/drawer.js.map +1 -0
  190. package/dist/components/drawer/index.d.cts +2 -0
  191. package/dist/components/drawer/index.d.ts +2 -0
  192. package/dist/components/feedback/badge.cjs +18 -0
  193. package/dist/components/feedback/badge.cjs.map +1 -0
  194. package/dist/components/feedback/badge.d.cts +9 -0
  195. package/dist/components/feedback/badge.d.ts +9 -0
  196. package/dist/components/feedback/badge.js +18 -0
  197. package/dist/components/feedback/badge.js.map +1 -0
  198. package/dist/components/feedback/index.d.cts +2 -0
  199. package/dist/components/feedback/index.d.ts +2 -0
  200. package/dist/components/field/field.cjs +127 -0
  201. package/dist/components/field/field.cjs.map +1 -0
  202. package/dist/components/field/field.d.cts +47 -0
  203. package/dist/components/field/field.d.ts +47 -0
  204. package/dist/components/field/field.js +123 -0
  205. package/dist/components/field/field.js.map +1 -0
  206. package/dist/components/field/index.d.cts +2 -0
  207. package/dist/components/field/index.d.ts +2 -0
  208. package/dist/components/fieldset/fieldset.cjs +48 -0
  209. package/dist/components/fieldset/fieldset.cjs.map +1 -0
  210. package/dist/components/fieldset/fieldset.d.cts +17 -0
  211. package/dist/components/fieldset/fieldset.d.ts +17 -0
  212. package/dist/components/fieldset/fieldset.js +45 -0
  213. package/dist/components/fieldset/fieldset.js.map +1 -0
  214. package/dist/components/fieldset/index.d.cts +2 -0
  215. package/dist/components/fieldset/index.d.ts +2 -0
  216. package/dist/components/form/form.cjs +27 -0
  217. package/dist/components/form/form.cjs.map +1 -0
  218. package/dist/components/form/form.d.cts +18 -0
  219. package/dist/components/form/form.d.ts +18 -0
  220. package/dist/components/form/form.js +26 -0
  221. package/dist/components/form/form.js.map +1 -0
  222. package/dist/components/form/index.d.cts +2 -0
  223. package/dist/components/form/index.d.ts +2 -0
  224. package/dist/components/layout/index.cjs +73 -0
  225. package/dist/components/layout/index.cjs.map +1 -0
  226. package/dist/components/layout/index.d.cts +35 -0
  227. package/dist/components/layout/index.d.ts +35 -0
  228. package/dist/components/layout/index.js +69 -0
  229. package/dist/components/layout/index.js.map +1 -0
  230. package/dist/components/list/index.d.cts +2 -0
  231. package/dist/components/list/index.d.ts +2 -0
  232. package/dist/components/list/list.cjs +86 -0
  233. package/dist/components/list/list.cjs.map +1 -0
  234. package/dist/components/list/list.d.cts +37 -0
  235. package/dist/components/list/list.d.ts +37 -0
  236. package/dist/components/list/list.js +80 -0
  237. package/dist/components/list/list.js.map +1 -0
  238. package/dist/components/menu/index.d.cts +2 -0
  239. package/dist/components/menu/index.d.ts +2 -0
  240. package/dist/components/menu/menu.cjs +108 -0
  241. package/dist/components/menu/menu.cjs.map +1 -0
  242. package/dist/components/menu/menu.d.cts +47 -0
  243. package/dist/components/menu/menu.d.ts +47 -0
  244. package/dist/components/menu/menu.js +98 -0
  245. package/dist/components/menu/menu.js.map +1 -0
  246. package/dist/components/menubar/index.d.cts +2 -0
  247. package/dist/components/menubar/index.d.ts +2 -0
  248. package/dist/components/menubar/menubar.cjs +206 -0
  249. package/dist/components/menubar/menubar.cjs.map +1 -0
  250. package/dist/components/menubar/menubar.d.cts +74 -0
  251. package/dist/components/menubar/menubar.d.ts +74 -0
  252. package/dist/components/menubar/menubar.js +187 -0
  253. package/dist/components/menubar/menubar.js.map +1 -0
  254. package/dist/components/meter/index.d.cts +2 -0
  255. package/dist/components/meter/index.d.ts +2 -0
  256. package/dist/components/meter/meter.cjs +91 -0
  257. package/dist/components/meter/meter.cjs.map +1 -0
  258. package/dist/components/meter/meter.d.cts +30 -0
  259. package/dist/components/meter/meter.d.ts +30 -0
  260. package/dist/components/meter/meter.js +86 -0
  261. package/dist/components/meter/meter.js.map +1 -0
  262. package/dist/components/navigation/index.d.cts +2 -0
  263. package/dist/components/navigation/index.d.ts +2 -0
  264. package/dist/components/navigation/navigation.cjs +163 -0
  265. package/dist/components/navigation/navigation.cjs.map +1 -0
  266. package/dist/components/navigation/navigation.d.cts +75 -0
  267. package/dist/components/navigation/navigation.d.ts +75 -0
  268. package/dist/components/navigation/navigation.js +151 -0
  269. package/dist/components/navigation/navigation.js.map +1 -0
  270. package/dist/components/navigation-menu/index.d.cts +2 -0
  271. package/dist/components/navigation-menu/index.d.ts +2 -0
  272. package/dist/components/navigation-menu/navigation-menu.cjs +214 -0
  273. package/dist/components/navigation-menu/navigation-menu.cjs.map +1 -0
  274. package/dist/components/navigation-menu/navigation-menu.d.cts +54 -0
  275. package/dist/components/navigation-menu/navigation-menu.d.ts +54 -0
  276. package/dist/components/navigation-menu/navigation-menu.js +201 -0
  277. package/dist/components/navigation-menu/navigation-menu.js.map +1 -0
  278. package/dist/components/number-field/index.d.cts +2 -0
  279. package/dist/components/number-field/index.d.ts +2 -0
  280. package/dist/components/number-field/number-field.cjs +124 -0
  281. package/dist/components/number-field/number-field.cjs.map +1 -0
  282. package/dist/components/number-field/number-field.d.cts +48 -0
  283. package/dist/components/number-field/number-field.d.ts +48 -0
  284. package/dist/components/number-field/number-field.js +116 -0
  285. package/dist/components/number-field/number-field.js.map +1 -0
  286. package/dist/components/option-selector/index.d.cts +2 -0
  287. package/dist/components/option-selector/index.d.ts +2 -0
  288. package/dist/components/option-selector/option-selector.cjs +105 -0
  289. package/dist/components/option-selector/option-selector.cjs.map +1 -0
  290. package/dist/components/option-selector/option-selector.d.cts +46 -0
  291. package/dist/components/option-selector/option-selector.d.ts +46 -0
  292. package/dist/components/option-selector/option-selector.js +105 -0
  293. package/dist/components/option-selector/option-selector.js.map +1 -0
  294. package/dist/components/pagination/index.d.cts +2 -0
  295. package/dist/components/pagination/index.d.ts +2 -0
  296. package/dist/components/pagination/pagination.cjs +132 -0
  297. package/dist/components/pagination/pagination.cjs.map +1 -0
  298. package/dist/components/pagination/pagination.d.cts +44 -0
  299. package/dist/components/pagination/pagination.d.ts +44 -0
  300. package/dist/components/pagination/pagination.js +125 -0
  301. package/dist/components/pagination/pagination.js.map +1 -0
  302. package/dist/components/popover/index.d.cts +2 -0
  303. package/dist/components/popover/index.d.ts +2 -0
  304. package/dist/components/popover/popover.cjs +98 -0
  305. package/dist/components/popover/popover.cjs.map +1 -0
  306. package/dist/components/popover/popover.d.cts +61 -0
  307. package/dist/components/popover/popover.d.ts +61 -0
  308. package/dist/components/popover/popover.js +89 -0
  309. package/dist/components/popover/popover.js.map +1 -0
  310. package/dist/components/progress/index.d.cts +2 -0
  311. package/dist/components/progress/index.d.ts +2 -0
  312. package/dist/components/progress/progress.cjs +59 -0
  313. package/dist/components/progress/progress.cjs.map +1 -0
  314. package/dist/components/progress/progress.d.cts +20 -0
  315. package/dist/components/progress/progress.d.ts +20 -0
  316. package/dist/components/progress/progress.js +59 -0
  317. package/dist/components/progress/progress.js.map +1 -0
  318. package/dist/components/radio-group/index.d.cts +2 -0
  319. package/dist/components/radio-group/index.d.ts +2 -0
  320. package/dist/components/radio-group/radio-group.cjs +90 -0
  321. package/dist/components/radio-group/radio-group.cjs.map +1 -0
  322. package/dist/components/radio-group/radio-group.d.cts +40 -0
  323. package/dist/components/radio-group/radio-group.d.ts +40 -0
  324. package/dist/components/radio-group/radio-group.js +84 -0
  325. package/dist/components/radio-group/radio-group.js.map +1 -0
  326. package/dist/components/range-slider/index.d.cts +2 -0
  327. package/dist/components/range-slider/index.d.ts +2 -0
  328. package/dist/components/range-slider/range-slider.cjs +103 -0
  329. package/dist/components/range-slider/range-slider.cjs.map +1 -0
  330. package/dist/components/range-slider/range-slider.d.cts +40 -0
  331. package/dist/components/range-slider/range-slider.d.ts +40 -0
  332. package/dist/components/range-slider/range-slider.js +96 -0
  333. package/dist/components/range-slider/range-slider.js.map +1 -0
  334. package/dist/components/scroll-area/index.d.cts +2 -0
  335. package/dist/components/scroll-area/index.d.ts +2 -0
  336. package/dist/components/scroll-area/scroll-area.cjs +76 -0
  337. package/dist/components/scroll-area/scroll-area.cjs.map +1 -0
  338. package/dist/components/scroll-area/scroll-area.d.cts +26 -0
  339. package/dist/components/scroll-area/scroll-area.d.ts +26 -0
  340. package/dist/components/scroll-area/scroll-area.js +70 -0
  341. package/dist/components/scroll-area/scroll-area.js.map +1 -0
  342. package/dist/components/select/index.d.cts +2 -0
  343. package/dist/components/select/index.d.ts +2 -0
  344. package/dist/components/select/select.cjs +171 -0
  345. package/dist/components/select/select.cjs.map +1 -0
  346. package/dist/components/select/select.d.cts +74 -0
  347. package/dist/components/select/select.d.ts +74 -0
  348. package/dist/components/select/select.js +156 -0
  349. package/dist/components/select/select.js.map +1 -0
  350. package/dist/components/sidebar/index.d.cts +2 -0
  351. package/dist/components/sidebar/index.d.ts +2 -0
  352. package/dist/components/sidebar/sidebar.cjs +162 -0
  353. package/dist/components/sidebar/sidebar.cjs.map +1 -0
  354. package/dist/components/sidebar/sidebar.d.cts +64 -0
  355. package/dist/components/sidebar/sidebar.d.ts +64 -0
  356. package/dist/components/sidebar/sidebar.js +154 -0
  357. package/dist/components/sidebar/sidebar.js.map +1 -0
  358. package/dist/components/skeleton/index.d.cts +2 -0
  359. package/dist/components/skeleton/index.d.ts +2 -0
  360. package/dist/components/skeleton/skeleton.cjs +25 -0
  361. package/dist/components/skeleton/skeleton.cjs.map +1 -0
  362. package/dist/components/skeleton/skeleton.d.cts +13 -0
  363. package/dist/components/skeleton/skeleton.d.ts +13 -0
  364. package/dist/components/skeleton/skeleton.js +25 -0
  365. package/dist/components/skeleton/skeleton.js.map +1 -0
  366. package/dist/components/slider/index.d.cts +2 -0
  367. package/dist/components/slider/index.d.ts +2 -0
  368. package/dist/components/slider/slider.cjs +96 -0
  369. package/dist/components/slider/slider.cjs.map +1 -0
  370. package/dist/components/slider/slider.d.cts +39 -0
  371. package/dist/components/slider/slider.d.ts +39 -0
  372. package/dist/components/slider/slider.js +89 -0
  373. package/dist/components/slider/slider.js.map +1 -0
  374. package/dist/components/table/index.d.cts +2 -0
  375. package/dist/components/table/index.d.ts +2 -0
  376. package/dist/components/table/table.cjs +196 -0
  377. package/dist/components/table/table.cjs.map +1 -0
  378. package/dist/components/table/table.d.cts +66 -0
  379. package/dist/components/table/table.d.ts +66 -0
  380. package/dist/components/table/table.js +184 -0
  381. package/dist/components/table/table.js.map +1 -0
  382. package/dist/components/tabs/index.d.cts +2 -0
  383. package/dist/components/tabs/index.d.ts +2 -0
  384. package/dist/components/tabs/tabs.cjs +65 -0
  385. package/dist/components/tabs/tabs.cjs.map +1 -0
  386. package/dist/components/tabs/tabs.d.cts +23 -0
  387. package/dist/components/tabs/tabs.d.ts +23 -0
  388. package/dist/components/tabs/tabs.js +61 -0
  389. package/dist/components/tabs/tabs.js.map +1 -0
  390. package/dist/components/tags-input/index.d.cts +2 -0
  391. package/dist/components/tags-input/index.d.ts +2 -0
  392. package/dist/components/tags-input/tags-input.cjs +172 -0
  393. package/dist/components/tags-input/tags-input.cjs.map +1 -0
  394. package/dist/components/tags-input/tags-input.d.cts +26 -0
  395. package/dist/components/tags-input/tags-input.d.ts +26 -0
  396. package/dist/components/tags-input/tags-input.js +172 -0
  397. package/dist/components/tags-input/tags-input.js.map +1 -0
  398. package/dist/components/toast/index.d.cts +2 -0
  399. package/dist/components/toast/index.d.ts +2 -0
  400. package/dist/components/toast/toast.cjs +135 -0
  401. package/dist/components/toast/toast.cjs.map +1 -0
  402. package/dist/components/toast/toast.d.cts +61 -0
  403. package/dist/components/toast/toast.d.ts +61 -0
  404. package/dist/components/toast/toast.js +125 -0
  405. package/dist/components/toast/toast.js.map +1 -0
  406. package/dist/components/toggle/index.d.cts +2 -0
  407. package/dist/components/toggle/index.d.ts +2 -0
  408. package/dist/components/toggle/toggle.cjs +25 -0
  409. package/dist/components/toggle/toggle.cjs.map +1 -0
  410. package/dist/components/toggle/toggle.d.cts +16 -0
  411. package/dist/components/toggle/toggle.d.ts +16 -0
  412. package/dist/components/toggle/toggle.js +25 -0
  413. package/dist/components/toggle/toggle.js.map +1 -0
  414. package/dist/components/toggle-group/index.d.cts +2 -0
  415. package/dist/components/toggle-group/index.d.ts +2 -0
  416. package/dist/components/toggle-group/toggle-group.cjs +52 -0
  417. package/dist/components/toggle-group/toggle-group.cjs.map +1 -0
  418. package/dist/components/toggle-group/toggle-group.d.cts +25 -0
  419. package/dist/components/toggle-group/toggle-group.d.ts +25 -0
  420. package/dist/components/toggle-group/toggle-group.js +50 -0
  421. package/dist/components/toggle-group/toggle-group.js.map +1 -0
  422. package/dist/components/toolbar/index.d.cts +2 -0
  423. package/dist/components/toolbar/index.d.ts +2 -0
  424. package/dist/components/toolbar/toolbar.cjs +85 -0
  425. package/dist/components/toolbar/toolbar.cjs.map +1 -0
  426. package/dist/components/toolbar/toolbar.d.cts +34 -0
  427. package/dist/components/toolbar/toolbar.d.ts +34 -0
  428. package/dist/components/toolbar/toolbar.js +79 -0
  429. package/dist/components/toolbar/toolbar.js.map +1 -0
  430. package/dist/components/tooltip/index.d.cts +2 -0
  431. package/dist/components/tooltip/index.d.ts +2 -0
  432. package/dist/components/tooltip/tooltip.cjs +65 -0
  433. package/dist/components/tooltip/tooltip.cjs.map +1 -0
  434. package/dist/components/tooltip/tooltip.d.cts +28 -0
  435. package/dist/components/tooltip/tooltip.d.ts +28 -0
  436. package/dist/components/tooltip/tooltip.js +59 -0
  437. package/dist/components/tooltip/tooltip.js.map +1 -0
  438. package/dist/components/tree-view/index.d.cts +2 -0
  439. package/dist/components/tree-view/index.d.ts +2 -0
  440. package/dist/components/tree-view/tree-view.cjs +345 -0
  441. package/dist/components/tree-view/tree-view.cjs.map +1 -0
  442. package/dist/components/tree-view/tree-view.d.cts +39 -0
  443. package/dist/components/tree-view/tree-view.d.ts +39 -0
  444. package/dist/components/tree-view/tree-view.js +340 -0
  445. package/dist/components/tree-view/tree-view.js.map +1 -0
  446. package/dist/components/typography/heading.cjs +28 -0
  447. package/dist/components/typography/heading.cjs.map +1 -0
  448. package/dist/components/typography/heading.d.cts +12 -0
  449. package/dist/components/typography/heading.d.ts +12 -0
  450. package/dist/components/typography/heading.js +28 -0
  451. package/dist/components/typography/heading.js.map +1 -0
  452. package/dist/components/typography/index.d.cts +5 -0
  453. package/dist/components/typography/index.d.ts +5 -0
  454. package/dist/components/typography/link.cjs +18 -0
  455. package/dist/components/typography/link.cjs.map +1 -0
  456. package/dist/components/typography/link.d.cts +9 -0
  457. package/dist/components/typography/link.d.ts +9 -0
  458. package/dist/components/typography/link.js +18 -0
  459. package/dist/components/typography/link.js.map +1 -0
  460. package/dist/components/typography/paragraph.cjs +18 -0
  461. package/dist/components/typography/paragraph.cjs.map +1 -0
  462. package/dist/components/typography/paragraph.d.cts +7 -0
  463. package/dist/components/typography/paragraph.d.ts +7 -0
  464. package/dist/components/typography/paragraph.js +18 -0
  465. package/dist/components/typography/paragraph.js.map +1 -0
  466. package/dist/components/typography/text.cjs +21 -0
  467. package/dist/components/typography/text.cjs.map +1 -0
  468. package/dist/components/typography/text.d.cts +14 -0
  469. package/dist/components/typography/text.d.ts +14 -0
  470. package/dist/components/typography/text.js +21 -0
  471. package/dist/components/typography/text.js.map +1 -0
  472. package/dist/components/upload/index.d.cts +2 -0
  473. package/dist/components/upload/index.d.ts +2 -0
  474. package/dist/components/upload/upload.cjs +411 -0
  475. package/dist/components/upload/upload.cjs.map +1 -0
  476. package/dist/components/upload/upload.d.cts +91 -0
  477. package/dist/components/upload/upload.d.ts +91 -0
  478. package/dist/components/upload/upload.js +398 -0
  479. package/dist/components/upload/upload.js.map +1 -0
  480. package/dist/components/visually-hidden/index.d.cts +2 -0
  481. package/dist/components/visually-hidden/index.d.ts +2 -0
  482. package/dist/components/visually-hidden/visually-hidden.cjs +18 -0
  483. package/dist/components/visually-hidden/visually-hidden.cjs.map +1 -0
  484. package/dist/components/visually-hidden/visually-hidden.d.cts +7 -0
  485. package/dist/components/visually-hidden/visually-hidden.d.ts +7 -0
  486. package/dist/components/visually-hidden/visually-hidden.js +18 -0
  487. package/dist/components/visually-hidden/visually-hidden.js.map +1 -0
  488. package/dist/index.cjs +494 -0
  489. package/dist/index.d.cts +116 -0
  490. package/dist/index.d.ts +116 -0
  491. package/dist/index.js +63 -0
  492. package/dist/panda-preset.cjs +11 -0
  493. package/dist/panda-preset.cjs.map +1 -0
  494. package/dist/panda-preset.d.cts +4 -0
  495. package/dist/panda-preset.d.ts +5 -0
  496. package/dist/panda-preset.js +12 -0
  497. package/dist/panda-preset.js.map +1 -0
  498. package/dist/styled-system/css/conditions.cjs +31 -0
  499. package/dist/styled-system/css/conditions.cjs.map +1 -0
  500. package/dist/styled-system/css/conditions.js +29 -0
  501. package/dist/styled-system/css/conditions.js.map +1 -0
  502. package/dist/styled-system/css/css.cjs +48 -0
  503. package/dist/styled-system/css/css.cjs.map +1 -0
  504. package/dist/styled-system/css/css.js +47 -0
  505. package/dist/styled-system/css/css.js.map +1 -0
  506. package/dist/styled-system/css/cva.cjs +20 -0
  507. package/dist/styled-system/css/cva.cjs.map +1 -0
  508. package/dist/styled-system/css/cva.js +19 -0
  509. package/dist/styled-system/css/cva.js.map +1 -0
  510. package/dist/styled-system/css/cx.cjs +13 -0
  511. package/dist/styled-system/css/cx.cjs.map +1 -0
  512. package/dist/styled-system/css/cx.js +13 -0
  513. package/dist/styled-system/css/cx.js.map +1 -0
  514. package/dist/styled-system/helpers.cjs +231 -0
  515. package/dist/styled-system/helpers.cjs.map +1 -0
  516. package/dist/styled-system/helpers.js +216 -0
  517. package/dist/styled-system/helpers.js.map +1 -0
  518. package/dist/styled-system/recipes/accordion.cjs +37 -0
  519. package/dist/styled-system/recipes/accordion.cjs.map +1 -0
  520. package/dist/styled-system/recipes/accordion.js +37 -0
  521. package/dist/styled-system/recipes/accordion.js.map +1 -0
  522. package/dist/styled-system/recipes/alert.cjs +40 -0
  523. package/dist/styled-system/recipes/alert.cjs.map +1 -0
  524. package/dist/styled-system/recipes/alert.js +40 -0
  525. package/dist/styled-system/recipes/alert.js.map +1 -0
  526. package/dist/styled-system/recipes/avatar.cjs +46 -0
  527. package/dist/styled-system/recipes/avatar.cjs.map +1 -0
  528. package/dist/styled-system/recipes/avatar.js +46 -0
  529. package/dist/styled-system/recipes/avatar.js.map +1 -0
  530. package/dist/styled-system/recipes/badge.cjs +31 -0
  531. package/dist/styled-system/recipes/badge.cjs.map +1 -0
  532. package/dist/styled-system/recipes/badge.js +31 -0
  533. package/dist/styled-system/recipes/badge.js.map +1 -0
  534. package/dist/styled-system/recipes/bottom-navigation.cjs +30 -0
  535. package/dist/styled-system/recipes/bottom-navigation.cjs.map +1 -0
  536. package/dist/styled-system/recipes/bottom-navigation.js +30 -0
  537. package/dist/styled-system/recipes/bottom-navigation.js.map +1 -0
  538. package/dist/styled-system/recipes/breadcrumbs.cjs +37 -0
  539. package/dist/styled-system/recipes/breadcrumbs.cjs.map +1 -0
  540. package/dist/styled-system/recipes/breadcrumbs.js +37 -0
  541. package/dist/styled-system/recipes/breadcrumbs.js.map +1 -0
  542. package/dist/styled-system/recipes/button.cjs +42 -0
  543. package/dist/styled-system/recipes/button.cjs.map +1 -0
  544. package/dist/styled-system/recipes/button.js +42 -0
  545. package/dist/styled-system/recipes/button.js.map +1 -0
  546. package/dist/styled-system/recipes/card.cjs +40 -0
  547. package/dist/styled-system/recipes/card.cjs.map +1 -0
  548. package/dist/styled-system/recipes/card.js +40 -0
  549. package/dist/styled-system/recipes/card.js.map +1 -0
  550. package/dist/styled-system/recipes/checkbox-group.cjs +37 -0
  551. package/dist/styled-system/recipes/checkbox-group.cjs.map +1 -0
  552. package/dist/styled-system/recipes/checkbox-group.js +37 -0
  553. package/dist/styled-system/recipes/checkbox-group.js.map +1 -0
  554. package/dist/styled-system/recipes/checkbox.cjs +30 -0
  555. package/dist/styled-system/recipes/checkbox.cjs.map +1 -0
  556. package/dist/styled-system/recipes/checkbox.js +30 -0
  557. package/dist/styled-system/recipes/checkbox.js.map +1 -0
  558. package/dist/styled-system/recipes/collapsible.cjs +35 -0
  559. package/dist/styled-system/recipes/collapsible.cjs.map +1 -0
  560. package/dist/styled-system/recipes/collapsible.js +35 -0
  561. package/dist/styled-system/recipes/collapsible.js.map +1 -0
  562. package/dist/styled-system/recipes/color-picker.cjs +46 -0
  563. package/dist/styled-system/recipes/color-picker.cjs.map +1 -0
  564. package/dist/styled-system/recipes/color-picker.js +46 -0
  565. package/dist/styled-system/recipes/color-picker.js.map +1 -0
  566. package/dist/styled-system/recipes/combobox.cjs +53 -0
  567. package/dist/styled-system/recipes/combobox.cjs.map +1 -0
  568. package/dist/styled-system/recipes/combobox.js +53 -0
  569. package/dist/styled-system/recipes/combobox.js.map +1 -0
  570. package/dist/styled-system/recipes/command.cjs +41 -0
  571. package/dist/styled-system/recipes/command.cjs.map +1 -0
  572. package/dist/styled-system/recipes/command.js +41 -0
  573. package/dist/styled-system/recipes/command.js.map +1 -0
  574. package/dist/styled-system/recipes/copyable.cjs +35 -0
  575. package/dist/styled-system/recipes/copyable.cjs.map +1 -0
  576. package/dist/styled-system/recipes/copyable.js +35 -0
  577. package/dist/styled-system/recipes/copyable.js.map +1 -0
  578. package/dist/styled-system/recipes/create-recipe.cjs +80 -0
  579. package/dist/styled-system/recipes/create-recipe.cjs.map +1 -0
  580. package/dist/styled-system/recipes/create-recipe.js +79 -0
  581. package/dist/styled-system/recipes/create-recipe.js.map +1 -0
  582. package/dist/styled-system/recipes/data-view.cjs +52 -0
  583. package/dist/styled-system/recipes/data-view.cjs.map +1 -0
  584. package/dist/styled-system/recipes/data-view.js +52 -0
  585. package/dist/styled-system/recipes/data-view.js.map +1 -0
  586. package/dist/styled-system/recipes/date-picker.cjs +51 -0
  587. package/dist/styled-system/recipes/date-picker.cjs.map +1 -0
  588. package/dist/styled-system/recipes/date-picker.js +51 -0
  589. package/dist/styled-system/recipes/date-picker.js.map +1 -0
  590. package/dist/styled-system/recipes/dialog.cjs +46 -0
  591. package/dist/styled-system/recipes/dialog.cjs.map +1 -0
  592. package/dist/styled-system/recipes/dialog.js +46 -0
  593. package/dist/styled-system/recipes/dialog.js.map +1 -0
  594. package/dist/styled-system/recipes/drawer.cjs +46 -0
  595. package/dist/styled-system/recipes/drawer.cjs.map +1 -0
  596. package/dist/styled-system/recipes/drawer.js +46 -0
  597. package/dist/styled-system/recipes/drawer.js.map +1 -0
  598. package/dist/styled-system/recipes/field.cjs +36 -0
  599. package/dist/styled-system/recipes/field.cjs.map +1 -0
  600. package/dist/styled-system/recipes/field.js +36 -0
  601. package/dist/styled-system/recipes/field.js.map +1 -0
  602. package/dist/styled-system/recipes/fieldset.cjs +34 -0
  603. package/dist/styled-system/recipes/fieldset.cjs.map +1 -0
  604. package/dist/styled-system/recipes/fieldset.js +34 -0
  605. package/dist/styled-system/recipes/fieldset.js.map +1 -0
  606. package/dist/styled-system/recipes/form.cjs +25 -0
  607. package/dist/styled-system/recipes/form.cjs.map +1 -0
  608. package/dist/styled-system/recipes/form.js +25 -0
  609. package/dist/styled-system/recipes/form.js.map +1 -0
  610. package/dist/styled-system/recipes/heading.cjs +32 -0
  611. package/dist/styled-system/recipes/heading.cjs.map +1 -0
  612. package/dist/styled-system/recipes/heading.js +32 -0
  613. package/dist/styled-system/recipes/heading.js.map +1 -0
  614. package/dist/styled-system/recipes/input.cjs +29 -0
  615. package/dist/styled-system/recipes/input.cjs.map +1 -0
  616. package/dist/styled-system/recipes/input.js +29 -0
  617. package/dist/styled-system/recipes/input.js.map +1 -0
  618. package/dist/styled-system/recipes/layout-grid.cjs +42 -0
  619. package/dist/styled-system/recipes/layout-grid.cjs.map +1 -0
  620. package/dist/styled-system/recipes/layout-grid.js +42 -0
  621. package/dist/styled-system/recipes/layout-grid.js.map +1 -0
  622. package/dist/styled-system/recipes/layout-stack.cjs +53 -0
  623. package/dist/styled-system/recipes/layout-stack.cjs.map +1 -0
  624. package/dist/styled-system/recipes/layout-stack.js +53 -0
  625. package/dist/styled-system/recipes/layout-stack.js.map +1 -0
  626. package/dist/styled-system/recipes/link.cjs +25 -0
  627. package/dist/styled-system/recipes/link.cjs.map +1 -0
  628. package/dist/styled-system/recipes/link.js +25 -0
  629. package/dist/styled-system/recipes/link.js.map +1 -0
  630. package/dist/styled-system/recipes/list.cjs +52 -0
  631. package/dist/styled-system/recipes/list.cjs.map +1 -0
  632. package/dist/styled-system/recipes/list.js +52 -0
  633. package/dist/styled-system/recipes/list.js.map +1 -0
  634. package/dist/styled-system/recipes/menu.cjs +38 -0
  635. package/dist/styled-system/recipes/menu.cjs.map +1 -0
  636. package/dist/styled-system/recipes/menu.js +38 -0
  637. package/dist/styled-system/recipes/menu.js.map +1 -0
  638. package/dist/styled-system/recipes/menubar.cjs +30 -0
  639. package/dist/styled-system/recipes/menubar.cjs.map +1 -0
  640. package/dist/styled-system/recipes/menubar.js +30 -0
  641. package/dist/styled-system/recipes/menubar.js.map +1 -0
  642. package/dist/styled-system/recipes/meter.cjs +52 -0
  643. package/dist/styled-system/recipes/meter.cjs.map +1 -0
  644. package/dist/styled-system/recipes/meter.js +52 -0
  645. package/dist/styled-system/recipes/meter.js.map +1 -0
  646. package/dist/styled-system/recipes/navbar.cjs +41 -0
  647. package/dist/styled-system/recipes/navbar.cjs.map +1 -0
  648. package/dist/styled-system/recipes/navbar.js +41 -0
  649. package/dist/styled-system/recipes/navbar.js.map +1 -0
  650. package/dist/styled-system/recipes/navigation-menu.cjs +43 -0
  651. package/dist/styled-system/recipes/navigation-menu.cjs.map +1 -0
  652. package/dist/styled-system/recipes/navigation-menu.js +43 -0
  653. package/dist/styled-system/recipes/navigation-menu.js.map +1 -0
  654. package/dist/styled-system/recipes/number-field.cjs +43 -0
  655. package/dist/styled-system/recipes/number-field.cjs.map +1 -0
  656. package/dist/styled-system/recipes/number-field.js +43 -0
  657. package/dist/styled-system/recipes/number-field.js.map +1 -0
  658. package/dist/styled-system/recipes/option-selector.cjs +52 -0
  659. package/dist/styled-system/recipes/option-selector.cjs.map +1 -0
  660. package/dist/styled-system/recipes/option-selector.js +52 -0
  661. package/dist/styled-system/recipes/option-selector.js.map +1 -0
  662. package/dist/styled-system/recipes/pagination.cjs +44 -0
  663. package/dist/styled-system/recipes/pagination.cjs.map +1 -0
  664. package/dist/styled-system/recipes/pagination.js +44 -0
  665. package/dist/styled-system/recipes/pagination.js.map +1 -0
  666. package/dist/styled-system/recipes/paragraph.cjs +25 -0
  667. package/dist/styled-system/recipes/paragraph.cjs.map +1 -0
  668. package/dist/styled-system/recipes/paragraph.js +25 -0
  669. package/dist/styled-system/recipes/paragraph.js.map +1 -0
  670. package/dist/styled-system/recipes/popover.cjs +38 -0
  671. package/dist/styled-system/recipes/popover.cjs.map +1 -0
  672. package/dist/styled-system/recipes/popover.js +38 -0
  673. package/dist/styled-system/recipes/popover.js.map +1 -0
  674. package/dist/styled-system/recipes/progress.cjs +35 -0
  675. package/dist/styled-system/recipes/progress.cjs.map +1 -0
  676. package/dist/styled-system/recipes/progress.js +35 -0
  677. package/dist/styled-system/recipes/progress.js.map +1 -0
  678. package/dist/styled-system/recipes/radio-group.cjs +37 -0
  679. package/dist/styled-system/recipes/radio-group.cjs.map +1 -0
  680. package/dist/styled-system/recipes/radio-group.js +37 -0
  681. package/dist/styled-system/recipes/radio-group.js.map +1 -0
  682. package/dist/styled-system/recipes/range-slider.cjs +42 -0
  683. package/dist/styled-system/recipes/range-slider.cjs.map +1 -0
  684. package/dist/styled-system/recipes/range-slider.js +42 -0
  685. package/dist/styled-system/recipes/range-slider.js.map +1 -0
  686. package/dist/styled-system/recipes/screen-reader-only.cjs +25 -0
  687. package/dist/styled-system/recipes/screen-reader-only.cjs.map +1 -0
  688. package/dist/styled-system/recipes/screen-reader-only.js +25 -0
  689. package/dist/styled-system/recipes/screen-reader-only.js.map +1 -0
  690. package/dist/styled-system/recipes/scroll-area.cjs +37 -0
  691. package/dist/styled-system/recipes/scroll-area.cjs.map +1 -0
  692. package/dist/styled-system/recipes/scroll-area.js +37 -0
  693. package/dist/styled-system/recipes/scroll-area.js.map +1 -0
  694. package/dist/styled-system/recipes/select.cjs +48 -0
  695. package/dist/styled-system/recipes/select.cjs.map +1 -0
  696. package/dist/styled-system/recipes/select.js +48 -0
  697. package/dist/styled-system/recipes/select.js.map +1 -0
  698. package/dist/styled-system/recipes/separator.cjs +25 -0
  699. package/dist/styled-system/recipes/separator.cjs.map +1 -0
  700. package/dist/styled-system/recipes/separator.js +25 -0
  701. package/dist/styled-system/recipes/separator.js.map +1 -0
  702. package/dist/styled-system/recipes/sidebar.cjs +44 -0
  703. package/dist/styled-system/recipes/sidebar.cjs.map +1 -0
  704. package/dist/styled-system/recipes/sidebar.js +44 -0
  705. package/dist/styled-system/recipes/sidebar.js.map +1 -0
  706. package/dist/styled-system/recipes/skeleton.cjs +35 -0
  707. package/dist/styled-system/recipes/skeleton.cjs.map +1 -0
  708. package/dist/styled-system/recipes/skeleton.js +35 -0
  709. package/dist/styled-system/recipes/skeleton.js.map +1 -0
  710. package/dist/styled-system/recipes/slider.cjs +42 -0
  711. package/dist/styled-system/recipes/slider.cjs.map +1 -0
  712. package/dist/styled-system/recipes/slider.js +42 -0
  713. package/dist/styled-system/recipes/slider.js.map +1 -0
  714. package/dist/styled-system/recipes/spinner.cjs +29 -0
  715. package/dist/styled-system/recipes/spinner.cjs.map +1 -0
  716. package/dist/styled-system/recipes/spinner.js +29 -0
  717. package/dist/styled-system/recipes/spinner.js.map +1 -0
  718. package/dist/styled-system/recipes/table.cjs +58 -0
  719. package/dist/styled-system/recipes/table.cjs.map +1 -0
  720. package/dist/styled-system/recipes/table.js +58 -0
  721. package/dist/styled-system/recipes/table.js.map +1 -0
  722. package/dist/styled-system/recipes/tabs.cjs +35 -0
  723. package/dist/styled-system/recipes/tabs.cjs.map +1 -0
  724. package/dist/styled-system/recipes/tabs.js +35 -0
  725. package/dist/styled-system/recipes/tabs.js.map +1 -0
  726. package/dist/styled-system/recipes/tags-input.cjs +43 -0
  727. package/dist/styled-system/recipes/tags-input.cjs.map +1 -0
  728. package/dist/styled-system/recipes/tags-input.js +43 -0
  729. package/dist/styled-system/recipes/tags-input.js.map +1 -0
  730. package/dist/styled-system/recipes/text.cjs +35 -0
  731. package/dist/styled-system/recipes/text.cjs.map +1 -0
  732. package/dist/styled-system/recipes/text.js +35 -0
  733. package/dist/styled-system/recipes/text.js.map +1 -0
  734. package/dist/styled-system/recipes/textarea.cjs +29 -0
  735. package/dist/styled-system/recipes/textarea.cjs.map +1 -0
  736. package/dist/styled-system/recipes/textarea.js +29 -0
  737. package/dist/styled-system/recipes/textarea.js.map +1 -0
  738. package/dist/styled-system/recipes/toast.cjs +45 -0
  739. package/dist/styled-system/recipes/toast.cjs.map +1 -0
  740. package/dist/styled-system/recipes/toast.js +45 -0
  741. package/dist/styled-system/recipes/toast.js.map +1 -0
  742. package/dist/styled-system/recipes/toggle-group.cjs +44 -0
  743. package/dist/styled-system/recipes/toggle-group.cjs.map +1 -0
  744. package/dist/styled-system/recipes/toggle-group.js +44 -0
  745. package/dist/styled-system/recipes/toggle-group.js.map +1 -0
  746. package/dist/styled-system/recipes/toggle-switch.cjs +30 -0
  747. package/dist/styled-system/recipes/toggle-switch.cjs.map +1 -0
  748. package/dist/styled-system/recipes/toggle-switch.js +30 -0
  749. package/dist/styled-system/recipes/toggle-switch.js.map +1 -0
  750. package/dist/styled-system/recipes/toggle.cjs +39 -0
  751. package/dist/styled-system/recipes/toggle.cjs.map +1 -0
  752. package/dist/styled-system/recipes/toggle.js +39 -0
  753. package/dist/styled-system/recipes/toggle.js.map +1 -0
  754. package/dist/styled-system/recipes/toolbar.cjs +51 -0
  755. package/dist/styled-system/recipes/toolbar.cjs.map +1 -0
  756. package/dist/styled-system/recipes/toolbar.js +51 -0
  757. package/dist/styled-system/recipes/toolbar.js.map +1 -0
  758. package/dist/styled-system/recipes/tooltip.cjs +35 -0
  759. package/dist/styled-system/recipes/tooltip.cjs.map +1 -0
  760. package/dist/styled-system/recipes/tooltip.js +35 -0
  761. package/dist/styled-system/recipes/tooltip.js.map +1 -0
  762. package/dist/styled-system/recipes/tree-view.cjs +37 -0
  763. package/dist/styled-system/recipes/tree-view.cjs.map +1 -0
  764. package/dist/styled-system/recipes/tree-view.js +37 -0
  765. package/dist/styled-system/recipes/tree-view.js.map +1 -0
  766. package/dist/styled-system/recipes/upload.cjs +55 -0
  767. package/dist/styled-system/recipes/upload.cjs.map +1 -0
  768. package/dist/styled-system/recipes/upload.js +55 -0
  769. package/dist/styled-system/recipes/upload.js.map +1 -0
  770. package/dist/styles/theme.cjs +137 -0
  771. package/dist/styles/theme.cjs.map +1 -0
  772. package/dist/styles/theme.js +136 -0
  773. package/dist/styles/theme.js.map +1 -0
  774. package/dist/styles.css +7706 -0
  775. package/package.json +107 -0
@@ -0,0 +1,91 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from "react";
2
+ //#region src/components/upload/upload.d.ts
3
+ type UploadRejectionReason = "type" | "size" | "count" | "duplicate";
4
+ interface UploadRejection {
5
+ file: File;
6
+ message: string;
7
+ reason: UploadRejectionReason;
8
+ }
9
+ interface UploadRootProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange"> {
10
+ /** Accepted MIME types or file extensions, using the native input syntax. */
11
+ accept?: string;
12
+ /** Controlled files. Use with `onFilesChange`. */
13
+ files?: File[];
14
+ /** Initial files for an uncontrolled upload. */
15
+ defaultFiles?: File[];
16
+ /** Called whenever accepted files are added or removed. */
17
+ onFilesChange?: (files: File[]) => void;
18
+ /** Called with files rejected by `accept`, `maxSize`, `maxFiles` or duplicates. */
19
+ onReject?: (rejections: UploadRejection[]) => void;
20
+ /** Maximum number of accepted files. Defaults to one when `multiple` is false. */
21
+ maxFiles?: number;
22
+ /** Maximum size per file, in bytes. */
23
+ maxSize?: number;
24
+ /** Allows selecting more than one file. */
25
+ multiple?: boolean;
26
+ /** Disables file selection and drag-and-drop. */
27
+ disabled?: boolean;
28
+ children?: ReactNode;
29
+ }
30
+ declare const UploadRoot: import("react").ForwardRefExoticComponent<UploadRootProps & import("react").RefAttributes<HTMLDivElement>>;
31
+ interface UploadDropzoneProps extends ComponentPropsWithoutRef<"label"> {
32
+ children?: ReactNode;
33
+ }
34
+ declare const UploadDropzone: import("react").ForwardRefExoticComponent<UploadDropzoneProps & import("react").RefAttributes<HTMLLabelElement>>;
35
+ type UploadInputProps = ComponentPropsWithoutRef<"input">;
36
+ declare const UploadInput: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
37
+ type UploadTriggerProps = ComponentPropsWithoutRef<"button">;
38
+ declare const UploadTrigger: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
39
+ type UploadIconProps = ComponentPropsWithoutRef<"span">;
40
+ declare const UploadIcon: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
41
+ type UploadTextProps = ComponentPropsWithoutRef<"span">;
42
+ declare const UploadText: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
43
+ type UploadHintProps = ComponentPropsWithoutRef<"span">;
44
+ declare const UploadHint: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
45
+ interface UploadPreviewProps extends ComponentPropsWithoutRef<"span"> {
46
+ /** File whose preview should be rendered. Image files use a temporary object URL. */
47
+ file: File;
48
+ /** Alternative text for image previews. Defaults to the file name. */
49
+ alt?: string;
50
+ /** Content rendered while the preview is unavailable or the file is not an image. */
51
+ fallback?: ReactNode;
52
+ }
53
+ declare const UploadPreview: import("react").ForwardRefExoticComponent<UploadPreviewProps & import("react").RefAttributes<HTMLSpanElement>>;
54
+ interface UploadProgressProps extends Omit<ComponentPropsWithoutRef<"div">, "children"> {
55
+ /** Progress from 0 to 100. Omit it for an indeterminate upload. */
56
+ value?: number;
57
+ /** Accessible label and optional visible status text. */
58
+ label?: ReactNode;
59
+ }
60
+ declare const UploadProgress: import("react").ForwardRefExoticComponent<UploadProgressProps & import("react").RefAttributes<HTMLDivElement>>;
61
+ type UploadListProps = ComponentPropsWithoutRef<"ul">;
62
+ declare const UploadList: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & import("react").RefAttributes<HTMLUListElement>>;
63
+ interface UploadItemProps extends Omit<ComponentPropsWithoutRef<"li">, "children"> {
64
+ file: File;
65
+ children?: ReactNode;
66
+ }
67
+ declare const UploadItem: import("react").ForwardRefExoticComponent<UploadItemProps & import("react").RefAttributes<HTMLLIElement>>;
68
+ interface UploadRemoveProps extends ComponentPropsWithoutRef<"button"> {
69
+ file: File;
70
+ }
71
+ declare const UploadRemove: import("react").ForwardRefExoticComponent<UploadRemoveProps & import("react").RefAttributes<HTMLButtonElement>>;
72
+ type UploadErrorProps = ComponentPropsWithoutRef<"p">;
73
+ declare const UploadError: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & import("react").RefAttributes<HTMLParagraphElement>>;
74
+ declare const Upload: {
75
+ Root: import("react").ForwardRefExoticComponent<UploadRootProps & import("react").RefAttributes<HTMLDivElement>>;
76
+ Dropzone: import("react").ForwardRefExoticComponent<UploadDropzoneProps & import("react").RefAttributes<HTMLLabelElement>>;
77
+ Input: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
78
+ Trigger: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
79
+ Icon: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
80
+ Text: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
81
+ Hint: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
82
+ Preview: import("react").ForwardRefExoticComponent<UploadPreviewProps & import("react").RefAttributes<HTMLSpanElement>>;
83
+ Progress: import("react").ForwardRefExoticComponent<UploadProgressProps & import("react").RefAttributes<HTMLDivElement>>;
84
+ List: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & import("react").RefAttributes<HTMLUListElement>>;
85
+ Item: import("react").ForwardRefExoticComponent<UploadItemProps & import("react").RefAttributes<HTMLLIElement>>;
86
+ Remove: import("react").ForwardRefExoticComponent<UploadRemoveProps & import("react").RefAttributes<HTMLButtonElement>>;
87
+ Error: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & import("react").RefAttributes<HTMLParagraphElement>>;
88
+ };
89
+ //#endregion
90
+ export { Upload, UploadDropzone, UploadDropzoneProps, UploadError, UploadErrorProps, UploadHint, UploadHintProps, UploadIcon, UploadIconProps, UploadInput, UploadInputProps, UploadItem, UploadItemProps, UploadList, UploadListProps, UploadPreview, UploadPreviewProps, UploadProgress, UploadProgressProps, UploadRejection, UploadRejectionReason, UploadRemove, UploadRemoveProps, UploadRoot, UploadRootProps, UploadText, UploadTextProps, UploadTrigger, UploadTriggerProps };
91
+ //# sourceMappingURL=upload.d.cts.map
@@ -0,0 +1,91 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from "react";
2
+ //#region src/components/upload/upload.d.ts
3
+ type UploadRejectionReason = "type" | "size" | "count" | "duplicate";
4
+ interface UploadRejection {
5
+ file: File;
6
+ message: string;
7
+ reason: UploadRejectionReason;
8
+ }
9
+ interface UploadRootProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange"> {
10
+ /** Accepted MIME types or file extensions, using the native input syntax. */
11
+ accept?: string;
12
+ /** Controlled files. Use with `onFilesChange`. */
13
+ files?: File[];
14
+ /** Initial files for an uncontrolled upload. */
15
+ defaultFiles?: File[];
16
+ /** Called whenever accepted files are added or removed. */
17
+ onFilesChange?: (files: File[]) => void;
18
+ /** Called with files rejected by `accept`, `maxSize`, `maxFiles` or duplicates. */
19
+ onReject?: (rejections: UploadRejection[]) => void;
20
+ /** Maximum number of accepted files. Defaults to one when `multiple` is false. */
21
+ maxFiles?: number;
22
+ /** Maximum size per file, in bytes. */
23
+ maxSize?: number;
24
+ /** Allows selecting more than one file. */
25
+ multiple?: boolean;
26
+ /** Disables file selection and drag-and-drop. */
27
+ disabled?: boolean;
28
+ children?: ReactNode;
29
+ }
30
+ declare const UploadRoot: import("react").ForwardRefExoticComponent<UploadRootProps & import("react").RefAttributes<HTMLDivElement>>;
31
+ interface UploadDropzoneProps extends ComponentPropsWithoutRef<"label"> {
32
+ children?: ReactNode;
33
+ }
34
+ declare const UploadDropzone: import("react").ForwardRefExoticComponent<UploadDropzoneProps & import("react").RefAttributes<HTMLLabelElement>>;
35
+ type UploadInputProps = ComponentPropsWithoutRef<"input">;
36
+ declare const UploadInput: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
37
+ type UploadTriggerProps = ComponentPropsWithoutRef<"button">;
38
+ declare const UploadTrigger: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
39
+ type UploadIconProps = ComponentPropsWithoutRef<"span">;
40
+ declare const UploadIcon: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
41
+ type UploadTextProps = ComponentPropsWithoutRef<"span">;
42
+ declare const UploadText: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
43
+ type UploadHintProps = ComponentPropsWithoutRef<"span">;
44
+ declare const UploadHint: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
45
+ interface UploadPreviewProps extends ComponentPropsWithoutRef<"span"> {
46
+ /** File whose preview should be rendered. Image files use a temporary object URL. */
47
+ file: File;
48
+ /** Alternative text for image previews. Defaults to the file name. */
49
+ alt?: string;
50
+ /** Content rendered while the preview is unavailable or the file is not an image. */
51
+ fallback?: ReactNode;
52
+ }
53
+ declare const UploadPreview: import("react").ForwardRefExoticComponent<UploadPreviewProps & import("react").RefAttributes<HTMLSpanElement>>;
54
+ interface UploadProgressProps extends Omit<ComponentPropsWithoutRef<"div">, "children"> {
55
+ /** Progress from 0 to 100. Omit it for an indeterminate upload. */
56
+ value?: number;
57
+ /** Accessible label and optional visible status text. */
58
+ label?: ReactNode;
59
+ }
60
+ declare const UploadProgress: import("react").ForwardRefExoticComponent<UploadProgressProps & import("react").RefAttributes<HTMLDivElement>>;
61
+ type UploadListProps = ComponentPropsWithoutRef<"ul">;
62
+ declare const UploadList: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & import("react").RefAttributes<HTMLUListElement>>;
63
+ interface UploadItemProps extends Omit<ComponentPropsWithoutRef<"li">, "children"> {
64
+ file: File;
65
+ children?: ReactNode;
66
+ }
67
+ declare const UploadItem: import("react").ForwardRefExoticComponent<UploadItemProps & import("react").RefAttributes<HTMLLIElement>>;
68
+ interface UploadRemoveProps extends ComponentPropsWithoutRef<"button"> {
69
+ file: File;
70
+ }
71
+ declare const UploadRemove: import("react").ForwardRefExoticComponent<UploadRemoveProps & import("react").RefAttributes<HTMLButtonElement>>;
72
+ type UploadErrorProps = ComponentPropsWithoutRef<"p">;
73
+ declare const UploadError: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & import("react").RefAttributes<HTMLParagraphElement>>;
74
+ declare const Upload: {
75
+ Root: import("react").ForwardRefExoticComponent<UploadRootProps & import("react").RefAttributes<HTMLDivElement>>;
76
+ Dropzone: import("react").ForwardRefExoticComponent<UploadDropzoneProps & import("react").RefAttributes<HTMLLabelElement>>;
77
+ Input: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
78
+ Trigger: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
79
+ Icon: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
80
+ Text: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
81
+ Hint: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
82
+ Preview: import("react").ForwardRefExoticComponent<UploadPreviewProps & import("react").RefAttributes<HTMLSpanElement>>;
83
+ Progress: import("react").ForwardRefExoticComponent<UploadProgressProps & import("react").RefAttributes<HTMLDivElement>>;
84
+ List: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & import("react").RefAttributes<HTMLUListElement>>;
85
+ Item: import("react").ForwardRefExoticComponent<UploadItemProps & import("react").RefAttributes<HTMLLIElement>>;
86
+ Remove: import("react").ForwardRefExoticComponent<UploadRemoveProps & import("react").RefAttributes<HTMLButtonElement>>;
87
+ Error: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & import("react").RefAttributes<HTMLParagraphElement>>;
88
+ };
89
+ //#endregion
90
+ export { Upload, UploadDropzone, UploadDropzoneProps, UploadError, UploadErrorProps, UploadHint, UploadHintProps, UploadIcon, UploadIconProps, UploadInput, UploadInputProps, UploadItem, UploadItemProps, UploadList, UploadListProps, UploadPreview, UploadPreviewProps, UploadProgress, UploadProgressProps, UploadRejection, UploadRejectionReason, UploadRemove, UploadRemoveProps, UploadRoot, UploadRootProps, UploadText, UploadTextProps, UploadTrigger, UploadTriggerProps };
91
+ //# sourceMappingURL=upload.d.ts.map
@@ -0,0 +1,398 @@
1
+ "use client";
2
+ import { cx } from "../../styled-system/css/cx.js";
3
+ import { upload } from "../../styled-system/recipes/upload.js";
4
+ import { createContext, forwardRef, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from "react";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/components/upload/upload.tsx
7
+ const UploadContext = createContext(null);
8
+ function useUploadContext() {
9
+ const context = useContext(UploadContext);
10
+ if (!context) throw new Error("Upload parts must be rendered inside Upload.Root.");
11
+ return context;
12
+ }
13
+ function fileKey(file) {
14
+ return `${file.name}-${file.size}-${file.lastModified}`;
15
+ }
16
+ function formatBytes(bytes) {
17
+ if (bytes < 1024) return `${bytes} B`;
18
+ if (bytes < 1024 * 1024) return `${Math.round(bytes / 1024)} KB`;
19
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
20
+ }
21
+ function acceptsFile(file, accept) {
22
+ if (!accept) return true;
23
+ const fileName = file.name.toLowerCase();
24
+ const fileType = file.type.toLowerCase();
25
+ return accept.split(",").some((entry) => {
26
+ const pattern = entry.trim().toLowerCase();
27
+ if (!pattern) return true;
28
+ if (pattern.startsWith(".")) return fileName.endsWith(pattern);
29
+ if (pattern.endsWith("/*")) return fileType.startsWith(pattern.slice(0, -1));
30
+ return pattern === fileType;
31
+ });
32
+ }
33
+ const UploadRoot = forwardRef(function UploadRoot({ accept, children, className, defaultFiles = [], disabled = false, files: controlledFiles, maxFiles, maxSize, multiple = false, onFilesChange, onReject, ...props }, ref) {
34
+ const [uncontrolledFiles, setUncontrolledFiles] = useState(defaultFiles);
35
+ const [dropActive, setDropActive] = useState(false);
36
+ const [rejections, setRejections] = useState([]);
37
+ const inputRef = useRef(null);
38
+ const inputId = useId();
39
+ const styles = upload({
40
+ disabled,
41
+ dropActive
42
+ });
43
+ const currentFiles = controlledFiles ?? uncontrolledFiles;
44
+ const fileLimit = maxFiles ?? (multiple ? void 0 : 1);
45
+ const updateFiles = useCallback((nextFiles) => {
46
+ setUncontrolledFiles(nextFiles);
47
+ onFilesChange?.(nextFiles);
48
+ }, [onFilesChange]);
49
+ const addFiles = useCallback((fileList) => {
50
+ if (disabled) return;
51
+ const candidates = Array.from(fileList);
52
+ const acceptedFiles = [];
53
+ const nextRejections = [];
54
+ const existingKeys = new Set(currentFiles.map(fileKey));
55
+ for (const file of candidates) {
56
+ const key = fileKey(file);
57
+ if (existingKeys.has(key) || acceptedFiles.some((accepted) => fileKey(accepted) === key)) {
58
+ nextRejections.push({
59
+ file,
60
+ reason: "duplicate",
61
+ message: `${file.name} was already added.`
62
+ });
63
+ continue;
64
+ }
65
+ if (!acceptsFile(file, accept)) {
66
+ nextRejections.push({
67
+ file,
68
+ reason: "type",
69
+ message: `${file.name} is not an accepted file type.`
70
+ });
71
+ continue;
72
+ }
73
+ if (maxSize !== void 0 && file.size > maxSize) {
74
+ nextRejections.push({
75
+ file,
76
+ reason: "size",
77
+ message: `${file.name} is larger than the allowed limit.`
78
+ });
79
+ continue;
80
+ }
81
+ if (fileLimit !== void 0 && (multiple ? currentFiles.length + acceptedFiles.length : acceptedFiles.length) >= fileLimit) {
82
+ nextRejections.push({
83
+ file,
84
+ reason: "count",
85
+ message: `Only ${fileLimit} file${fileLimit === 1 ? "" : "s"} can be selected.`
86
+ });
87
+ continue;
88
+ }
89
+ acceptedFiles.push(file);
90
+ }
91
+ const nextFiles = multiple ? [...currentFiles, ...acceptedFiles] : acceptedFiles.slice(0, 1);
92
+ if (acceptedFiles.length > 0) updateFiles(nextFiles);
93
+ if (nextRejections.length > 0) {
94
+ setRejections(nextRejections);
95
+ onReject?.(nextRejections);
96
+ } else setRejections([]);
97
+ }, [
98
+ accept,
99
+ currentFiles,
100
+ disabled,
101
+ fileLimit,
102
+ maxSize,
103
+ multiple,
104
+ onReject,
105
+ updateFiles
106
+ ]);
107
+ const removeFile = useCallback((file) => {
108
+ updateFiles(currentFiles.filter((current) => fileKey(current) !== fileKey(file)));
109
+ }, [currentFiles, updateFiles]);
110
+ const context = useMemo(() => ({
111
+ accept,
112
+ addFiles,
113
+ disabled,
114
+ dropActive,
115
+ files: currentFiles,
116
+ inputId,
117
+ inputRef,
118
+ maxFiles: fileLimit,
119
+ maxSize,
120
+ multiple,
121
+ removeFile,
122
+ rejections,
123
+ setDropActive,
124
+ styles
125
+ }), [
126
+ accept,
127
+ addFiles,
128
+ currentFiles,
129
+ disabled,
130
+ dropActive,
131
+ fileLimit,
132
+ inputId,
133
+ maxSize,
134
+ multiple,
135
+ rejections,
136
+ removeFile,
137
+ styles
138
+ ]);
139
+ return /* @__PURE__ */ jsx(UploadContext.Provider, {
140
+ value: context,
141
+ children: /* @__PURE__ */ jsx("div", {
142
+ ...props,
143
+ ref,
144
+ className: cx(styles.root, className),
145
+ "data-disabled": disabled || void 0,
146
+ "data-jaci-component": "upload",
147
+ "data-slot": "upload",
148
+ children
149
+ })
150
+ });
151
+ });
152
+ const UploadDropzone = forwardRef(function UploadDropzone({ children, className, htmlFor, onDragEnter, onDragLeave, onDragOver, onDrop, ...props }, ref) {
153
+ const { addFiles, disabled, dropActive, inputId, setDropActive, styles } = useUploadContext();
154
+ return /* @__PURE__ */ jsx("label", {
155
+ ...props,
156
+ ref,
157
+ "aria-disabled": disabled || void 0,
158
+ className: cx(styles.dropzone, className),
159
+ "data-drag-active": dropActive || void 0,
160
+ "data-slot": "upload-dropzone",
161
+ htmlFor: htmlFor ?? inputId,
162
+ onDragEnter: (event) => {
163
+ event.preventDefault();
164
+ if (!disabled) {
165
+ setDropActive(true);
166
+ event.currentTarget.dataset.dragActive = "true";
167
+ }
168
+ onDragEnter?.(event);
169
+ },
170
+ onDragLeave: (event) => {
171
+ event.preventDefault();
172
+ if (event.currentTarget === event.target) {
173
+ setDropActive(false);
174
+ event.currentTarget.dataset.dragActive = "false";
175
+ }
176
+ onDragLeave?.(event);
177
+ },
178
+ onDragOver: (event) => {
179
+ event.preventDefault();
180
+ if (!disabled) setDropActive(true);
181
+ onDragOver?.(event);
182
+ },
183
+ onDrop: (event) => {
184
+ event.preventDefault();
185
+ setDropActive(false);
186
+ event.currentTarget.dataset.dragActive = "false";
187
+ if (!disabled) addFiles(event.dataTransfer.files);
188
+ onDrop?.(event);
189
+ },
190
+ children
191
+ });
192
+ });
193
+ const UploadInput = forwardRef(function UploadInput({ accept, className, id, multiple, onChange, ...props }, ref) {
194
+ const { addFiles, accept: rootAccept, disabled, inputId, inputRef, multiple: rootMultiple, styles } = useUploadContext();
195
+ const handleChange = (event) => {
196
+ if (event.currentTarget.files) addFiles(event.currentTarget.files);
197
+ event.currentTarget.value = "";
198
+ onChange?.(event);
199
+ };
200
+ return /* @__PURE__ */ jsx("input", {
201
+ ...props,
202
+ accept: accept ?? rootAccept,
203
+ "aria-label": props["aria-label"] ?? "Select files",
204
+ className: cx(styles.input, className),
205
+ disabled,
206
+ id: id ?? inputId,
207
+ multiple: multiple ?? rootMultiple,
208
+ onChange: handleChange,
209
+ ref: (node) => {
210
+ inputRef.current = node;
211
+ if (typeof ref === "function") ref(node);
212
+ else if (ref) ref.current = node;
213
+ },
214
+ tabIndex: -1,
215
+ type: "file"
216
+ });
217
+ });
218
+ const UploadTrigger = forwardRef(function UploadTrigger({ children = "Choose files", className, disabled, onClick, ...props }, ref) {
219
+ const { disabled: rootDisabled, inputRef, styles } = useUploadContext();
220
+ return /* @__PURE__ */ jsx("button", {
221
+ ...props,
222
+ className: cx(styles.trigger, className),
223
+ "data-slot": "upload-trigger",
224
+ disabled: disabled ?? rootDisabled,
225
+ onClick: (event) => {
226
+ inputRef.current?.click();
227
+ onClick?.(event);
228
+ },
229
+ ref,
230
+ type: "button",
231
+ children
232
+ });
233
+ });
234
+ const UploadIcon = forwardRef(function UploadIcon({ children = "↥", className, ...props }, ref) {
235
+ const { styles } = useUploadContext();
236
+ return /* @__PURE__ */ jsx("span", {
237
+ ...props,
238
+ ref,
239
+ "aria-hidden": "true",
240
+ className: cx(styles.icon, className),
241
+ "data-slot": "upload-icon",
242
+ children
243
+ });
244
+ });
245
+ const UploadText = forwardRef(function UploadText({ className, ...props }, ref) {
246
+ const { styles } = useUploadContext();
247
+ return /* @__PURE__ */ jsx("span", {
248
+ ...props,
249
+ ref,
250
+ className: cx(styles.text, className),
251
+ "data-slot": "upload-text"
252
+ });
253
+ });
254
+ const UploadHint = forwardRef(function UploadHint({ className, ...props }, ref) {
255
+ const { styles } = useUploadContext();
256
+ return /* @__PURE__ */ jsx("span", {
257
+ ...props,
258
+ ref,
259
+ className: cx(styles.hint, className),
260
+ "data-slot": "upload-hint"
261
+ });
262
+ });
263
+ const UploadPreview = forwardRef(function UploadPreview({ alt, className, fallback = "Preview unavailable", file, ...props }, ref) {
264
+ const { styles } = useUploadContext();
265
+ const [src, setSrc] = useState(null);
266
+ useEffect(() => {
267
+ if (!file.type.startsWith("image/") || typeof URL === "undefined" || typeof URL.createObjectURL !== "function") {
268
+ setSrc(null);
269
+ return;
270
+ }
271
+ const objectUrl = URL.createObjectURL(file);
272
+ setSrc(objectUrl);
273
+ return () => URL.revokeObjectURL(objectUrl);
274
+ }, [file]);
275
+ return /* @__PURE__ */ jsx("span", {
276
+ ...props,
277
+ ref,
278
+ "aria-hidden": props["aria-label"] ? void 0 : true,
279
+ className: cx(styles.preview, className),
280
+ "data-slot": "upload-preview",
281
+ role: props["aria-label"] ? "img" : void 0,
282
+ children: src ? /* @__PURE__ */ jsx("img", {
283
+ alt: alt ?? file.name,
284
+ src
285
+ }) : fallback
286
+ });
287
+ });
288
+ const UploadProgress = forwardRef(function UploadProgress({ className, label = "Uploading", value, ...props }, ref) {
289
+ const { styles } = useUploadContext();
290
+ const normalizedValue = value === void 0 ? void 0 : Math.min(100, Math.max(0, value));
291
+ return /* @__PURE__ */ jsxs("div", {
292
+ ...props,
293
+ ref,
294
+ "aria-label": typeof label === "string" ? label : "Upload progress",
295
+ "aria-valuemax": 100,
296
+ "aria-valuemin": 0,
297
+ "aria-valuenow": normalizedValue,
298
+ className: cx(styles.progress, className),
299
+ "data-indeterminate": normalizedValue === void 0 || void 0,
300
+ "data-slot": "upload-progress",
301
+ role: "progressbar",
302
+ children: [/* @__PURE__ */ jsx("span", {
303
+ className: styles.progressTrack,
304
+ "data-slot": "upload-progress-track",
305
+ children: /* @__PURE__ */ jsx("span", {
306
+ className: styles.progressIndicator,
307
+ "data-indeterminate": normalizedValue === void 0 || void 0,
308
+ "data-slot": "upload-progress-indicator",
309
+ style: { width: normalizedValue === void 0 ? void 0 : `${normalizedValue}%` }
310
+ })
311
+ }), /* @__PURE__ */ jsx("span", {
312
+ className: styles.progressLabel,
313
+ "data-slot": "upload-progress-label",
314
+ children: label
315
+ })]
316
+ });
317
+ });
318
+ const UploadList = forwardRef(function UploadList({ children, className, ...props }, ref) {
319
+ const { files, styles } = useUploadContext();
320
+ return /* @__PURE__ */ jsx("ul", {
321
+ ...props,
322
+ ref,
323
+ className: cx(styles.list, className),
324
+ "data-slot": "upload-list",
325
+ children: children ?? files.map((file) => /* @__PURE__ */ jsx(UploadItem, { file }, fileKey(file)))
326
+ });
327
+ });
328
+ const UploadItem = forwardRef(function UploadItem({ children, className, file, ...props }, ref) {
329
+ const { styles } = useUploadContext();
330
+ return /* @__PURE__ */ jsx("li", {
331
+ ...props,
332
+ ref,
333
+ className: cx(styles.item, className),
334
+ "data-slot": "upload-item",
335
+ children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
336
+ /* @__PURE__ */ jsx("span", {
337
+ className: styles.itemName,
338
+ "data-slot": "upload-item-name",
339
+ title: file.name,
340
+ children: file.name
341
+ }),
342
+ /* @__PURE__ */ jsx("span", {
343
+ className: styles.itemMeta,
344
+ "data-slot": "upload-item-meta",
345
+ children: formatBytes(file.size)
346
+ }),
347
+ /* @__PURE__ */ jsx(UploadRemove, { file })
348
+ ] })
349
+ });
350
+ });
351
+ const UploadRemove = forwardRef(function UploadRemove({ children = "×", className, file, onClick, ...props }, ref) {
352
+ const { disabled, removeFile, styles } = useUploadContext();
353
+ return /* @__PURE__ */ jsx("button", {
354
+ ...props,
355
+ "aria-label": props["aria-label"] ?? `Remove ${file.name}`,
356
+ className: cx(styles.remove, className),
357
+ "data-slot": "upload-remove",
358
+ disabled,
359
+ onClick: (event) => {
360
+ removeFile(file);
361
+ onClick?.(event);
362
+ },
363
+ ref,
364
+ type: "button",
365
+ children
366
+ });
367
+ });
368
+ const UploadError = forwardRef(function UploadError({ children, className, ...props }, ref) {
369
+ const { rejections, styles } = useUploadContext();
370
+ if (children === void 0 && rejections.length === 0) return null;
371
+ return /* @__PURE__ */ jsx("p", {
372
+ ...props,
373
+ ref,
374
+ className: cx(styles.error, className),
375
+ "data-slot": "upload-error",
376
+ role: "alert",
377
+ children: children ?? rejections.map((rejection) => rejection.message).join(" ")
378
+ });
379
+ });
380
+ const Upload = {
381
+ Root: UploadRoot,
382
+ Dropzone: UploadDropzone,
383
+ Input: UploadInput,
384
+ Trigger: UploadTrigger,
385
+ Icon: UploadIcon,
386
+ Text: UploadText,
387
+ Hint: UploadHint,
388
+ Preview: UploadPreview,
389
+ Progress: UploadProgress,
390
+ List: UploadList,
391
+ Item: UploadItem,
392
+ Remove: UploadRemove,
393
+ Error: UploadError
394
+ };
395
+ //#endregion
396
+ export { Upload, UploadDropzone, UploadError, UploadHint, UploadIcon, UploadInput, UploadItem, UploadList, UploadPreview, UploadProgress, UploadRemove, UploadRoot, UploadText, UploadTrigger };
397
+
398
+ //# sourceMappingURL=upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.js","names":[],"sources":["../../../src/components/upload/upload.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { ChangeEvent, ComponentPropsWithoutRef, ReactNode, RefObject } from \"react\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { upload } from \"../../styled-system/recipes\";\n\nexport type UploadRejectionReason = \"type\" | \"size\" | \"count\" | \"duplicate\";\n\nexport interface UploadRejection {\n file: File;\n message: string;\n reason: UploadRejectionReason;\n}\n\ninterface UploadContextValue {\n accept: string | undefined;\n addFiles: (files: FileList | File[]) => void;\n disabled: boolean;\n dropActive: boolean;\n files: File[];\n inputId: string;\n inputRef: RefObject<HTMLInputElement | null>;\n maxFiles: number | undefined;\n maxSize: number | undefined;\n multiple: boolean;\n removeFile: (file: File) => void;\n rejections: UploadRejection[];\n setDropActive: (active: boolean) => void;\n styles: ReturnType<typeof upload>;\n}\n\nconst UploadContext = createContext<UploadContextValue | null>(null);\n\nfunction useUploadContext() {\n const context = useContext(UploadContext);\n if (!context) {\n throw new Error(\"Upload parts must be rendered inside Upload.Root.\");\n }\n\n return context;\n}\n\nfunction fileKey(file: File) {\n return `${file.name}-${file.size}-${file.lastModified}`;\n}\n\nfunction formatBytes(bytes: number) {\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${Math.round(bytes / 1024)} KB`;\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n}\n\nfunction acceptsFile(file: File, accept: string | undefined) {\n if (!accept) {\n return true;\n }\n\n const fileName = file.name.toLowerCase();\n const fileType = file.type.toLowerCase();\n\n return accept.split(\",\").some((entry) => {\n const pattern = entry.trim().toLowerCase();\n if (!pattern) return true;\n if (pattern.startsWith(\".\")) return fileName.endsWith(pattern);\n if (pattern.endsWith(\"/*\")) return fileType.startsWith(pattern.slice(0, -1));\n return pattern === fileType;\n });\n}\n\nexport interface UploadRootProps extends Omit<ComponentPropsWithoutRef<\"div\">, \"onChange\"> {\n /** Accepted MIME types or file extensions, using the native input syntax. */\n accept?: string;\n /** Controlled files. Use with `onFilesChange`. */\n files?: File[];\n /** Initial files for an uncontrolled upload. */\n defaultFiles?: File[];\n /** Called whenever accepted files are added or removed. */\n onFilesChange?: (files: File[]) => void;\n /** Called with files rejected by `accept`, `maxSize`, `maxFiles` or duplicates. */\n onReject?: (rejections: UploadRejection[]) => void;\n /** Maximum number of accepted files. Defaults to one when `multiple` is false. */\n maxFiles?: number;\n /** Maximum size per file, in bytes. */\n maxSize?: number;\n /** Allows selecting more than one file. */\n multiple?: boolean;\n /** Disables file selection and drag-and-drop. */\n disabled?: boolean;\n children?: ReactNode;\n}\n\nexport const UploadRoot = forwardRef<HTMLDivElement, UploadRootProps>(function UploadRoot(\n {\n accept,\n children,\n className,\n defaultFiles = [],\n disabled = false,\n files: controlledFiles,\n maxFiles,\n maxSize,\n multiple = false,\n onFilesChange,\n onReject,\n ...props\n },\n ref,\n) {\n const [uncontrolledFiles, setUncontrolledFiles] = useState<File[]>(defaultFiles);\n const [dropActive, setDropActive] = useState(false);\n const [rejections, setRejections] = useState<UploadRejection[]>([]);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputId = useId();\n const styles = upload({ disabled, dropActive });\n const currentFiles = controlledFiles ?? uncontrolledFiles;\n const fileLimit = maxFiles ?? (multiple ? undefined : 1);\n\n const updateFiles = useCallback(\n (nextFiles: File[]) => {\n setUncontrolledFiles(nextFiles);\n onFilesChange?.(nextFiles);\n },\n [onFilesChange],\n );\n\n const addFiles = useCallback(\n (fileList: FileList | File[]) => {\n if (disabled) return;\n\n const candidates = Array.from(fileList);\n const acceptedFiles: File[] = [];\n const nextRejections: UploadRejection[] = [];\n const existingKeys = new Set(currentFiles.map(fileKey));\n\n for (const file of candidates) {\n const key = fileKey(file);\n if (existingKeys.has(key) || acceptedFiles.some((accepted) => fileKey(accepted) === key)) {\n nextRejections.push({\n file,\n reason: \"duplicate\",\n message: `${file.name} was already added.`,\n });\n continue;\n }\n if (!acceptsFile(file, accept)) {\n nextRejections.push({\n file,\n reason: \"type\",\n message: `${file.name} is not an accepted file type.`,\n });\n continue;\n }\n if (maxSize !== undefined && file.size > maxSize) {\n nextRejections.push({\n file,\n reason: \"size\",\n message: `${file.name} is larger than the allowed limit.`,\n });\n continue;\n }\n if (\n fileLimit !== undefined &&\n (multiple ? currentFiles.length + acceptedFiles.length : acceptedFiles.length) >=\n fileLimit\n ) {\n nextRejections.push({\n file,\n reason: \"count\",\n message: `Only ${fileLimit} file${fileLimit === 1 ? \"\" : \"s\"} can be selected.`,\n });\n continue;\n }\n acceptedFiles.push(file);\n }\n\n const nextFiles = multiple ? [...currentFiles, ...acceptedFiles] : acceptedFiles.slice(0, 1);\n if (acceptedFiles.length > 0) {\n updateFiles(nextFiles);\n }\n if (nextRejections.length > 0) {\n setRejections(nextRejections);\n onReject?.(nextRejections);\n } else {\n setRejections([]);\n }\n },\n [accept, currentFiles, disabled, fileLimit, maxSize, multiple, onReject, updateFiles],\n );\n\n const removeFile = useCallback(\n (file: File) => {\n updateFiles(currentFiles.filter((current) => fileKey(current) !== fileKey(file)));\n },\n [currentFiles, updateFiles],\n );\n\n const context = useMemo<UploadContextValue>(\n () => ({\n accept,\n addFiles,\n disabled,\n dropActive,\n files: currentFiles,\n inputId,\n inputRef,\n maxFiles: fileLimit,\n maxSize,\n multiple,\n removeFile,\n rejections,\n setDropActive,\n styles,\n }),\n [\n accept,\n addFiles,\n currentFiles,\n disabled,\n dropActive,\n fileLimit,\n inputId,\n maxSize,\n multiple,\n rejections,\n removeFile,\n styles,\n ],\n );\n\n return (\n <UploadContext.Provider value={context}>\n <div\n {...props}\n ref={ref}\n className={cx(styles.root, className)}\n data-disabled={disabled || undefined}\n data-jaci-component=\"upload\"\n data-slot=\"upload\"\n >\n {children}\n </div>\n </UploadContext.Provider>\n );\n});\n\nexport interface UploadDropzoneProps extends ComponentPropsWithoutRef<\"label\"> {\n children?: ReactNode;\n}\n\nexport const UploadDropzone = forwardRef<HTMLLabelElement, UploadDropzoneProps>(\n function UploadDropzone(\n { children, className, htmlFor, onDragEnter, onDragLeave, onDragOver, onDrop, ...props },\n ref,\n ) {\n const { addFiles, disabled, dropActive, inputId, setDropActive, styles } = useUploadContext();\n\n return (\n <label\n {...props}\n ref={ref}\n aria-disabled={disabled || undefined}\n className={cx(styles.dropzone, className)}\n data-drag-active={dropActive || undefined}\n data-slot=\"upload-dropzone\"\n htmlFor={htmlFor ?? inputId}\n onDragEnter={(event) => {\n event.preventDefault();\n if (!disabled) {\n setDropActive(true);\n event.currentTarget.dataset.dragActive = \"true\";\n }\n onDragEnter?.(event);\n }}\n onDragLeave={(event) => {\n event.preventDefault();\n if (event.currentTarget === event.target) {\n setDropActive(false);\n event.currentTarget.dataset.dragActive = \"false\";\n }\n onDragLeave?.(event);\n }}\n onDragOver={(event) => {\n event.preventDefault();\n if (!disabled) setDropActive(true);\n onDragOver?.(event);\n }}\n onDrop={(event) => {\n event.preventDefault();\n setDropActive(false);\n event.currentTarget.dataset.dragActive = \"false\";\n if (!disabled) addFiles(event.dataTransfer.files);\n onDrop?.(event);\n }}\n >\n {children}\n </label>\n );\n },\n);\n\nexport type UploadInputProps = ComponentPropsWithoutRef<\"input\">;\n\nexport const UploadInput = forwardRef<HTMLInputElement, UploadInputProps>(function UploadInput(\n { accept, className, id, multiple, onChange, ...props },\n ref,\n) {\n const {\n addFiles,\n accept: rootAccept,\n disabled,\n inputId,\n inputRef,\n multiple: rootMultiple,\n styles,\n } = useUploadContext();\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (event.currentTarget.files) addFiles(event.currentTarget.files);\n event.currentTarget.value = \"\";\n onChange?.(event);\n };\n\n return (\n <input\n {...props}\n accept={accept ?? rootAccept}\n aria-label={props[\"aria-label\"] ?? \"Select files\"}\n className={cx(styles.input, className)}\n disabled={disabled}\n id={id ?? inputId}\n multiple={multiple ?? rootMultiple}\n onChange={handleChange}\n ref={(node) => {\n inputRef.current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref) ref.current = node;\n }}\n tabIndex={-1}\n type=\"file\"\n />\n );\n});\n\nexport type UploadTriggerProps = ComponentPropsWithoutRef<\"button\">;\n\nexport const UploadTrigger = forwardRef<HTMLButtonElement, UploadTriggerProps>(\n function UploadTrigger(\n { children = \"Choose files\", className, disabled, onClick, ...props },\n ref,\n ) {\n const { disabled: rootDisabled, inputRef, styles } = useUploadContext();\n\n return (\n <button\n {...props}\n className={cx(styles.trigger, className)}\n data-slot=\"upload-trigger\"\n disabled={disabled ?? rootDisabled}\n onClick={(event) => {\n inputRef.current?.click();\n onClick?.(event);\n }}\n ref={ref}\n type=\"button\"\n >\n {children}\n </button>\n );\n },\n);\n\nexport type UploadIconProps = ComponentPropsWithoutRef<\"span\">;\n\nexport const UploadIcon = forwardRef<HTMLSpanElement, UploadIconProps>(function UploadIcon(\n { children = \"↥\", className, ...props },\n ref,\n) {\n const { styles } = useUploadContext();\n return (\n <span\n {...props}\n ref={ref}\n aria-hidden=\"true\"\n className={cx(styles.icon, className)}\n data-slot=\"upload-icon\"\n >\n {children}\n </span>\n );\n});\n\nexport type UploadTextProps = ComponentPropsWithoutRef<\"span\">;\n\nexport const UploadText = forwardRef<HTMLSpanElement, UploadTextProps>(function UploadText(\n { className, ...props },\n ref,\n) {\n const { styles } = useUploadContext();\n return (\n <span {...props} ref={ref} className={cx(styles.text, className)} data-slot=\"upload-text\" />\n );\n});\n\nexport type UploadHintProps = ComponentPropsWithoutRef<\"span\">;\n\nexport const UploadHint = forwardRef<HTMLSpanElement, UploadHintProps>(function UploadHint(\n { className, ...props },\n ref,\n) {\n const { styles } = useUploadContext();\n return (\n <span {...props} ref={ref} className={cx(styles.hint, className)} data-slot=\"upload-hint\" />\n );\n});\n\nexport interface UploadPreviewProps extends ComponentPropsWithoutRef<\"span\"> {\n /** File whose preview should be rendered. Image files use a temporary object URL. */\n file: File;\n /** Alternative text for image previews. Defaults to the file name. */\n alt?: string;\n /** Content rendered while the preview is unavailable or the file is not an image. */\n fallback?: ReactNode;\n}\n\nexport const UploadPreview = forwardRef<HTMLSpanElement, UploadPreviewProps>(function UploadPreview(\n { alt, className, fallback = \"Preview unavailable\", file, ...props },\n ref,\n) {\n const { styles } = useUploadContext();\n const [src, setSrc] = useState<string | null>(null);\n\n useEffect(() => {\n if (\n !file.type.startsWith(\"image/\") ||\n typeof URL === \"undefined\" ||\n typeof URL.createObjectURL !== \"function\"\n ) {\n setSrc(null);\n return;\n }\n\n const objectUrl = URL.createObjectURL(file);\n setSrc(objectUrl);\n return () => URL.revokeObjectURL(objectUrl);\n }, [file]);\n\n return (\n <span\n {...props}\n ref={ref}\n aria-hidden={props[\"aria-label\"] ? undefined : true}\n className={cx(styles.preview, className)}\n data-slot=\"upload-preview\"\n role={props[\"aria-label\"] ? \"img\" : undefined}\n >\n {src ? <img alt={alt ?? file.name} src={src} /> : fallback}\n </span>\n );\n});\n\nexport interface UploadProgressProps extends Omit<ComponentPropsWithoutRef<\"div\">, \"children\"> {\n /** Progress from 0 to 100. Omit it for an indeterminate upload. */\n value?: number;\n /** Accessible label and optional visible status text. */\n label?: ReactNode;\n}\n\nexport const UploadProgress = forwardRef<HTMLDivElement, UploadProgressProps>(\n function UploadProgress({ className, label = \"Uploading\", value, ...props }, ref) {\n const { styles } = useUploadContext();\n const normalizedValue = value === undefined ? undefined : Math.min(100, Math.max(0, value));\n\n return (\n <div\n {...props}\n ref={ref}\n aria-label={typeof label === \"string\" ? label : \"Upload progress\"}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={normalizedValue}\n className={cx(styles.progress, className)}\n data-indeterminate={normalizedValue === undefined || undefined}\n data-slot=\"upload-progress\"\n role=\"progressbar\"\n >\n <span className={styles.progressTrack} data-slot=\"upload-progress-track\">\n <span\n className={styles.progressIndicator}\n data-indeterminate={normalizedValue === undefined || undefined}\n data-slot=\"upload-progress-indicator\"\n style={{ width: normalizedValue === undefined ? undefined : `${normalizedValue}%` }}\n />\n </span>\n <span className={styles.progressLabel} data-slot=\"upload-progress-label\">\n {label}\n </span>\n </div>\n );\n },\n);\n\nexport type UploadListProps = ComponentPropsWithoutRef<\"ul\">;\n\nexport const UploadList = forwardRef<HTMLUListElement, UploadListProps>(function UploadList(\n { children, className, ...props },\n ref,\n) {\n const { files, styles } = useUploadContext();\n return (\n <ul {...props} ref={ref} className={cx(styles.list, className)} data-slot=\"upload-list\">\n {children ?? files.map((file) => <UploadItem file={file} key={fileKey(file)} />)}\n </ul>\n );\n});\n\nexport interface UploadItemProps extends Omit<ComponentPropsWithoutRef<\"li\">, \"children\"> {\n file: File;\n children?: ReactNode;\n}\n\nexport const UploadItem = forwardRef<HTMLLIElement, UploadItemProps>(function UploadItem(\n { children, className, file, ...props },\n ref,\n) {\n const { styles } = useUploadContext();\n return (\n <li {...props} ref={ref} className={cx(styles.item, className)} data-slot=\"upload-item\">\n {children ?? (\n <>\n <span className={styles.itemName} data-slot=\"upload-item-name\" title={file.name}>\n {file.name}\n </span>\n <span className={styles.itemMeta} data-slot=\"upload-item-meta\">\n {formatBytes(file.size)}\n </span>\n <UploadRemove file={file} />\n </>\n )}\n </li>\n );\n});\n\nexport interface UploadRemoveProps extends ComponentPropsWithoutRef<\"button\"> {\n file: File;\n}\n\nexport const UploadRemove = forwardRef<HTMLButtonElement, UploadRemoveProps>(function UploadRemove(\n { children = \"×\", className, file, onClick, ...props },\n ref,\n) {\n const { disabled, removeFile, styles } = useUploadContext();\n return (\n <button\n {...props}\n aria-label={props[\"aria-label\"] ?? `Remove ${file.name}`}\n className={cx(styles.remove, className)}\n data-slot=\"upload-remove\"\n disabled={disabled}\n onClick={(event) => {\n removeFile(file);\n onClick?.(event);\n }}\n ref={ref}\n type=\"button\"\n >\n {children}\n </button>\n );\n});\n\nexport type UploadErrorProps = ComponentPropsWithoutRef<\"p\">;\n\nexport const UploadError = forwardRef<HTMLParagraphElement, UploadErrorProps>(function UploadError(\n { children, className, ...props },\n ref,\n) {\n const { rejections, styles } = useUploadContext();\n if (children === undefined && rejections.length === 0) return null;\n\n return (\n <p\n {...props}\n ref={ref}\n className={cx(styles.error, className)}\n data-slot=\"upload-error\"\n role=\"alert\"\n >\n {children ?? rejections.map((rejection) => rejection.message).join(\" \")}\n </p>\n );\n});\n\nexport const Upload = {\n Root: UploadRoot,\n Dropzone: UploadDropzone,\n Input: UploadInput,\n Trigger: UploadTrigger,\n Icon: UploadIcon,\n Text: UploadText,\n Hint: UploadHint,\n Preview: UploadPreview,\n Progress: UploadProgress,\n List: UploadList,\n Item: UploadItem,\n Remove: UploadRemove,\n Error: UploadError,\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { VisuallyHidden, VisuallyHiddenProps } from "./visually-hidden.cjs";
2
+ export { VisuallyHidden, type VisuallyHiddenProps };
@@ -0,0 +1,2 @@
1
+ import { VisuallyHidden, VisuallyHiddenProps } from "./visually-hidden.js";
2
+ export { VisuallyHidden, type VisuallyHiddenProps };