@docyrus/shadcn 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (767) hide show
  1. package/README.md +12 -3
  2. package/dist/base-lyra/accordion.js.map +1 -1
  3. package/dist/base-lyra/alert-dialog.js.map +1 -1
  4. package/dist/base-lyra/alert.js.map +1 -1
  5. package/dist/base-lyra/aspect-ratio.js.map +1 -1
  6. package/dist/base-lyra/avatar.js.map +1 -1
  7. package/dist/base-lyra/badge.js.map +1 -1
  8. package/dist/base-lyra/breadcrumb.js.map +1 -1
  9. package/dist/base-lyra/button-group.js.map +1 -1
  10. package/dist/base-lyra/button.js.map +1 -1
  11. package/dist/base-lyra/calendar.js.map +1 -1
  12. package/dist/base-lyra/card.js.map +1 -1
  13. package/dist/base-lyra/carousel.js.map +1 -1
  14. package/dist/base-lyra/chart.js.map +1 -1
  15. package/dist/base-lyra/checkbox.js.map +1 -1
  16. package/dist/base-lyra/combobox.js.map +1 -1
  17. package/dist/base-lyra/command.js.map +1 -1
  18. package/dist/base-lyra/context-menu.js.map +1 -1
  19. package/dist/base-lyra/dialog.js.map +1 -1
  20. package/dist/base-lyra/drawer.js.map +1 -1
  21. package/dist/base-lyra/dropdown-menu.js.map +1 -1
  22. package/dist/base-lyra/empty.js.map +1 -1
  23. package/dist/base-lyra/field.js.map +1 -1
  24. package/dist/base-lyra/hover-card.js.map +1 -1
  25. package/dist/base-lyra/index.js +8 -6
  26. package/dist/base-lyra/index.js.map +1 -1
  27. package/dist/base-lyra/input-group.js.map +1 -1
  28. package/dist/base-lyra/input-otp.js.map +1 -1
  29. package/dist/base-lyra/input.js.map +1 -1
  30. package/dist/base-lyra/item.js.map +1 -1
  31. package/dist/base-lyra/kbd.js.map +1 -1
  32. package/dist/base-lyra/label.js.map +1 -1
  33. package/dist/base-lyra/menubar.js.map +1 -1
  34. package/dist/base-lyra/native-select.js.map +1 -1
  35. package/dist/base-lyra/navigation-menu.js.map +1 -1
  36. package/dist/base-lyra/pagination.js.map +1 -1
  37. package/dist/base-lyra/popover.js.map +1 -1
  38. package/dist/base-lyra/progress.js.map +1 -1
  39. package/dist/base-lyra/radio-group.js.map +1 -1
  40. package/dist/base-lyra/resizable.js.map +1 -1
  41. package/dist/base-lyra/scroll-area.js.map +1 -1
  42. package/dist/base-lyra/select.js.map +1 -1
  43. package/dist/base-lyra/separator.js.map +1 -1
  44. package/dist/base-lyra/sheet.js.map +1 -1
  45. package/dist/base-lyra/sidebar.js +8 -6
  46. package/dist/base-lyra/sidebar.js.map +1 -1
  47. package/dist/base-lyra/skeleton.js.map +1 -1
  48. package/dist/base-lyra/slider.js.map +1 -1
  49. package/dist/base-lyra/spinner.js.map +1 -1
  50. package/dist/base-lyra/switch.js.map +1 -1
  51. package/dist/base-lyra/table.js.map +1 -1
  52. package/dist/base-lyra/tabs.js.map +1 -1
  53. package/dist/base-lyra/textarea.js.map +1 -1
  54. package/dist/base-lyra/toggle-group.js.map +1 -1
  55. package/dist/base-lyra/toggle.js.map +1 -1
  56. package/dist/base-lyra/tooltip.js.map +1 -1
  57. package/dist/base-maia/accordion.js.map +1 -1
  58. package/dist/base-maia/alert-dialog.js.map +1 -1
  59. package/dist/base-maia/alert.js.map +1 -1
  60. package/dist/base-maia/aspect-ratio.js.map +1 -1
  61. package/dist/base-maia/avatar.js.map +1 -1
  62. package/dist/base-maia/badge.js.map +1 -1
  63. package/dist/base-maia/breadcrumb.js.map +1 -1
  64. package/dist/base-maia/button-group.js.map +1 -1
  65. package/dist/base-maia/button.js.map +1 -1
  66. package/dist/base-maia/calendar.js.map +1 -1
  67. package/dist/base-maia/card.js.map +1 -1
  68. package/dist/base-maia/carousel.js.map +1 -1
  69. package/dist/base-maia/chart.js.map +1 -1
  70. package/dist/base-maia/checkbox.js.map +1 -1
  71. package/dist/base-maia/combobox.js.map +1 -1
  72. package/dist/base-maia/command.js.map +1 -1
  73. package/dist/base-maia/context-menu.js.map +1 -1
  74. package/dist/base-maia/dialog.js.map +1 -1
  75. package/dist/base-maia/drawer.js.map +1 -1
  76. package/dist/base-maia/dropdown-menu.js.map +1 -1
  77. package/dist/base-maia/empty.js.map +1 -1
  78. package/dist/base-maia/field.js.map +1 -1
  79. package/dist/base-maia/hover-card.js.map +1 -1
  80. package/dist/base-maia/index.js +8 -6
  81. package/dist/base-maia/index.js.map +1 -1
  82. package/dist/base-maia/input-group.js.map +1 -1
  83. package/dist/base-maia/input-otp.js.map +1 -1
  84. package/dist/base-maia/input.js.map +1 -1
  85. package/dist/base-maia/item.js.map +1 -1
  86. package/dist/base-maia/kbd.js.map +1 -1
  87. package/dist/base-maia/label.js.map +1 -1
  88. package/dist/base-maia/menubar.js.map +1 -1
  89. package/dist/base-maia/native-select.js.map +1 -1
  90. package/dist/base-maia/navigation-menu.js.map +1 -1
  91. package/dist/base-maia/pagination.js.map +1 -1
  92. package/dist/base-maia/popover.js.map +1 -1
  93. package/dist/base-maia/progress.js.map +1 -1
  94. package/dist/base-maia/radio-group.js.map +1 -1
  95. package/dist/base-maia/resizable.js.map +1 -1
  96. package/dist/base-maia/scroll-area.js.map +1 -1
  97. package/dist/base-maia/select.js.map +1 -1
  98. package/dist/base-maia/separator.js.map +1 -1
  99. package/dist/base-maia/sheet.js.map +1 -1
  100. package/dist/base-maia/sidebar.js +8 -6
  101. package/dist/base-maia/sidebar.js.map +1 -1
  102. package/dist/base-maia/skeleton.js.map +1 -1
  103. package/dist/base-maia/slider.js.map +1 -1
  104. package/dist/base-maia/spinner.js.map +1 -1
  105. package/dist/base-maia/switch.js.map +1 -1
  106. package/dist/base-maia/table.js.map +1 -1
  107. package/dist/base-maia/tabs.js.map +1 -1
  108. package/dist/base-maia/textarea.js.map +1 -1
  109. package/dist/base-maia/toggle-group.js.map +1 -1
  110. package/dist/base-maia/toggle.js.map +1 -1
  111. package/dist/base-maia/tooltip.js.map +1 -1
  112. package/dist/base-mira/accordion.js.map +1 -1
  113. package/dist/base-mira/alert-dialog.js.map +1 -1
  114. package/dist/base-mira/alert.js.map +1 -1
  115. package/dist/base-mira/aspect-ratio.js.map +1 -1
  116. package/dist/base-mira/avatar.js.map +1 -1
  117. package/dist/base-mira/badge.js.map +1 -1
  118. package/dist/base-mira/breadcrumb.js.map +1 -1
  119. package/dist/base-mira/button-group.js.map +1 -1
  120. package/dist/base-mira/button.js.map +1 -1
  121. package/dist/base-mira/calendar.js.map +1 -1
  122. package/dist/base-mira/card.js.map +1 -1
  123. package/dist/base-mira/carousel.js.map +1 -1
  124. package/dist/base-mira/chart.js.map +1 -1
  125. package/dist/base-mira/checkbox.js.map +1 -1
  126. package/dist/base-mira/combobox.js.map +1 -1
  127. package/dist/base-mira/command.js.map +1 -1
  128. package/dist/base-mira/context-menu.js.map +1 -1
  129. package/dist/base-mira/dialog.js.map +1 -1
  130. package/dist/base-mira/drawer.js.map +1 -1
  131. package/dist/base-mira/dropdown-menu.js.map +1 -1
  132. package/dist/base-mira/empty.js.map +1 -1
  133. package/dist/base-mira/field.js.map +1 -1
  134. package/dist/base-mira/hover-card.js.map +1 -1
  135. package/dist/base-mira/index.js +8 -6
  136. package/dist/base-mira/index.js.map +1 -1
  137. package/dist/base-mira/input-group.js.map +1 -1
  138. package/dist/base-mira/input-otp.js.map +1 -1
  139. package/dist/base-mira/input.js.map +1 -1
  140. package/dist/base-mira/item.js.map +1 -1
  141. package/dist/base-mira/kbd.js.map +1 -1
  142. package/dist/base-mira/label.js.map +1 -1
  143. package/dist/base-mira/menubar.js.map +1 -1
  144. package/dist/base-mira/native-select.js.map +1 -1
  145. package/dist/base-mira/navigation-menu.js.map +1 -1
  146. package/dist/base-mira/pagination.js.map +1 -1
  147. package/dist/base-mira/popover.js.map +1 -1
  148. package/dist/base-mira/progress.js.map +1 -1
  149. package/dist/base-mira/radio-group.js.map +1 -1
  150. package/dist/base-mira/resizable.js.map +1 -1
  151. package/dist/base-mira/scroll-area.js.map +1 -1
  152. package/dist/base-mira/select.js.map +1 -1
  153. package/dist/base-mira/separator.js.map +1 -1
  154. package/dist/base-mira/sheet.js.map +1 -1
  155. package/dist/base-mira/sidebar.js +8 -6
  156. package/dist/base-mira/sidebar.js.map +1 -1
  157. package/dist/base-mira/skeleton.js.map +1 -1
  158. package/dist/base-mira/slider.js.map +1 -1
  159. package/dist/base-mira/spinner.js.map +1 -1
  160. package/dist/base-mira/switch.js.map +1 -1
  161. package/dist/base-mira/table.js.map +1 -1
  162. package/dist/base-mira/tabs.js.map +1 -1
  163. package/dist/base-mira/textarea.js.map +1 -1
  164. package/dist/base-mira/toggle-group.js.map +1 -1
  165. package/dist/base-mira/toggle.js.map +1 -1
  166. package/dist/base-mira/tooltip.js.map +1 -1
  167. package/dist/base-nova/accordion.js.map +1 -1
  168. package/dist/base-nova/alert-dialog.js.map +1 -1
  169. package/dist/base-nova/alert.js.map +1 -1
  170. package/dist/base-nova/aspect-ratio.js.map +1 -1
  171. package/dist/base-nova/avatar.js.map +1 -1
  172. package/dist/base-nova/badge.js.map +1 -1
  173. package/dist/base-nova/breadcrumb.js.map +1 -1
  174. package/dist/base-nova/button-group.js.map +1 -1
  175. package/dist/base-nova/button.js.map +1 -1
  176. package/dist/base-nova/calendar.js.map +1 -1
  177. package/dist/base-nova/card.js.map +1 -1
  178. package/dist/base-nova/carousel.js.map +1 -1
  179. package/dist/base-nova/chart.js.map +1 -1
  180. package/dist/base-nova/checkbox.js.map +1 -1
  181. package/dist/base-nova/combobox.js.map +1 -1
  182. package/dist/base-nova/command.js.map +1 -1
  183. package/dist/base-nova/context-menu.js.map +1 -1
  184. package/dist/base-nova/dialog.js.map +1 -1
  185. package/dist/base-nova/drawer.js.map +1 -1
  186. package/dist/base-nova/dropdown-menu.js.map +1 -1
  187. package/dist/base-nova/empty.js.map +1 -1
  188. package/dist/base-nova/field.js.map +1 -1
  189. package/dist/base-nova/hover-card.js.map +1 -1
  190. package/dist/base-nova/index.js +8 -6
  191. package/dist/base-nova/index.js.map +1 -1
  192. package/dist/base-nova/input-group.js.map +1 -1
  193. package/dist/base-nova/input-otp.js.map +1 -1
  194. package/dist/base-nova/input.js.map +1 -1
  195. package/dist/base-nova/item.js.map +1 -1
  196. package/dist/base-nova/kbd.js.map +1 -1
  197. package/dist/base-nova/label.js.map +1 -1
  198. package/dist/base-nova/menubar.js.map +1 -1
  199. package/dist/base-nova/native-select.js.map +1 -1
  200. package/dist/base-nova/navigation-menu.js.map +1 -1
  201. package/dist/base-nova/pagination.js.map +1 -1
  202. package/dist/base-nova/popover.js.map +1 -1
  203. package/dist/base-nova/progress.js.map +1 -1
  204. package/dist/base-nova/radio-group.js.map +1 -1
  205. package/dist/base-nova/resizable.js.map +1 -1
  206. package/dist/base-nova/scroll-area.js.map +1 -1
  207. package/dist/base-nova/select.js.map +1 -1
  208. package/dist/base-nova/separator.js.map +1 -1
  209. package/dist/base-nova/sheet.js.map +1 -1
  210. package/dist/base-nova/sidebar.js +8 -6
  211. package/dist/base-nova/sidebar.js.map +1 -1
  212. package/dist/base-nova/skeleton.js.map +1 -1
  213. package/dist/base-nova/slider.js.map +1 -1
  214. package/dist/base-nova/spinner.js.map +1 -1
  215. package/dist/base-nova/switch.js.map +1 -1
  216. package/dist/base-nova/table.js.map +1 -1
  217. package/dist/base-nova/tabs.js.map +1 -1
  218. package/dist/base-nova/textarea.js.map +1 -1
  219. package/dist/base-nova/toggle-group.js.map +1 -1
  220. package/dist/base-nova/toggle.js.map +1 -1
  221. package/dist/base-nova/tooltip.js.map +1 -1
  222. package/dist/base-vega/accordion.js.map +1 -1
  223. package/dist/base-vega/alert-dialog.js.map +1 -1
  224. package/dist/base-vega/alert.js.map +1 -1
  225. package/dist/base-vega/aspect-ratio.js.map +1 -1
  226. package/dist/base-vega/avatar.js.map +1 -1
  227. package/dist/base-vega/badge.js.map +1 -1
  228. package/dist/base-vega/breadcrumb.js.map +1 -1
  229. package/dist/base-vega/button-group.js.map +1 -1
  230. package/dist/base-vega/button.js.map +1 -1
  231. package/dist/base-vega/calendar.js.map +1 -1
  232. package/dist/base-vega/card.js.map +1 -1
  233. package/dist/base-vega/carousel.js.map +1 -1
  234. package/dist/base-vega/chart.js.map +1 -1
  235. package/dist/base-vega/checkbox.js.map +1 -1
  236. package/dist/base-vega/combobox.js.map +1 -1
  237. package/dist/base-vega/command.js.map +1 -1
  238. package/dist/base-vega/context-menu.js.map +1 -1
  239. package/dist/base-vega/dialog.js.map +1 -1
  240. package/dist/base-vega/drawer.js.map +1 -1
  241. package/dist/base-vega/dropdown-menu.js.map +1 -1
  242. package/dist/base-vega/empty.js.map +1 -1
  243. package/dist/base-vega/field.js.map +1 -1
  244. package/dist/base-vega/hover-card.js.map +1 -1
  245. package/dist/base-vega/index.js +8 -6
  246. package/dist/base-vega/index.js.map +1 -1
  247. package/dist/base-vega/input-group.js.map +1 -1
  248. package/dist/base-vega/input-otp.js.map +1 -1
  249. package/dist/base-vega/input.js.map +1 -1
  250. package/dist/base-vega/item.js.map +1 -1
  251. package/dist/base-vega/kbd.js.map +1 -1
  252. package/dist/base-vega/label.js.map +1 -1
  253. package/dist/base-vega/menubar.js.map +1 -1
  254. package/dist/base-vega/native-select.js.map +1 -1
  255. package/dist/base-vega/navigation-menu.js.map +1 -1
  256. package/dist/base-vega/pagination.js.map +1 -1
  257. package/dist/base-vega/popover.js.map +1 -1
  258. package/dist/base-vega/progress.js.map +1 -1
  259. package/dist/base-vega/radio-group.js.map +1 -1
  260. package/dist/base-vega/resizable.js.map +1 -1
  261. package/dist/base-vega/scroll-area.js.map +1 -1
  262. package/dist/base-vega/select.js.map +1 -1
  263. package/dist/base-vega/separator.js.map +1 -1
  264. package/dist/base-vega/sheet.js.map +1 -1
  265. package/dist/base-vega/sidebar.js +8 -6
  266. package/dist/base-vega/sidebar.js.map +1 -1
  267. package/dist/base-vega/skeleton.js.map +1 -1
  268. package/dist/base-vega/slider.js.map +1 -1
  269. package/dist/base-vega/spinner.js.map +1 -1
  270. package/dist/base-vega/switch.js.map +1 -1
  271. package/dist/base-vega/table.js.map +1 -1
  272. package/dist/base-vega/tabs.js.map +1 -1
  273. package/dist/base-vega/textarea.js.map +1 -1
  274. package/dist/base-vega/toggle-group.js.map +1 -1
  275. package/dist/base-vega/toggle.js.map +1 -1
  276. package/dist/base-vega/tooltip.js.map +1 -1
  277. package/dist/hooks/index.d.ts +7 -0
  278. package/dist/hooks/index.js +181 -10
  279. package/dist/hooks/index.js.map +1 -1
  280. package/dist/hooks/use-as-ref.d.ts +5 -0
  281. package/dist/hooks/use-as-ref.js +17 -0
  282. package/dist/hooks/use-as-ref.js.map +1 -0
  283. package/dist/hooks/use-badge-overflow.d.ts +24 -0
  284. package/dist/hooks/use-badge-overflow.js +130 -0
  285. package/dist/hooks/use-badge-overflow.js.map +1 -0
  286. package/dist/hooks/use-callback-ref.d.ts +10 -0
  287. package/dist/hooks/use-callback-ref.js +17 -0
  288. package/dist/hooks/use-callback-ref.js.map +1 -0
  289. package/dist/hooks/use-debounced-callback.d.ts +3 -0
  290. package/dist/hooks/use-debounced-callback.js +38 -0
  291. package/dist/hooks/use-debounced-callback.js.map +1 -0
  292. package/dist/hooks/use-file-upload.d.ts +48 -0
  293. package/dist/hooks/use-file-upload.js +279 -0
  294. package/dist/hooks/use-file-upload.js.map +1 -0
  295. package/dist/hooks/use-isomorphic-layout-effect.d.ts +5 -0
  296. package/dist/hooks/use-isomorphic-layout-effect.js +8 -0
  297. package/dist/hooks/use-isomorphic-layout-effect.js.map +1 -0
  298. package/dist/hooks/use-lazy-ref.d.ts +5 -0
  299. package/dist/hooks/use-lazy-ref.js +14 -0
  300. package/dist/hooks/use-lazy-ref.js.map +1 -0
  301. package/dist/hooks/use-mobile.d.ts +1 -1
  302. package/dist/hooks/use-mobile.js +8 -6
  303. package/dist/hooks/use-mobile.js.map +1 -1
  304. package/dist/index.d.ts +1622 -106
  305. package/dist/index.js +23260 -2932
  306. package/dist/index.js.map +1 -1
  307. package/dist/lib/compose-refs.d.ts +15 -0
  308. package/dist/lib/compose-refs.js +42 -0
  309. package/dist/lib/compose-refs.js.map +1 -0
  310. package/dist/lib/format.d.ts +3 -0
  311. package/dist/lib/format.js +18 -0
  312. package/dist/lib/format.js.map +1 -0
  313. package/dist/lib/index.d.ts +3 -0
  314. package/dist/lib/index.js +53 -2
  315. package/dist/lib/index.js.map +1 -1
  316. package/dist/lib/utils.d.ts +6 -0
  317. package/dist/lib/utils.js.map +1 -1
  318. package/dist/new-york/accordion.js.map +1 -1
  319. package/dist/new-york/alert-dialog.js.map +1 -1
  320. package/dist/new-york/alert.js.map +1 -1
  321. package/dist/new-york/avatar.js.map +1 -1
  322. package/dist/new-york/badge.js.map +1 -1
  323. package/dist/new-york/breadcrumb.js.map +1 -1
  324. package/dist/new-york/button-group.js.map +1 -1
  325. package/dist/new-york/button.js.map +1 -1
  326. package/dist/new-york/calendar.js.map +1 -1
  327. package/dist/new-york/card.js.map +1 -1
  328. package/dist/new-york/carousel.js.map +1 -1
  329. package/dist/new-york/chart.js.map +1 -1
  330. package/dist/new-york/checkbox.js.map +1 -1
  331. package/dist/new-york/combobox.js.map +1 -1
  332. package/dist/new-york/command.js.map +1 -1
  333. package/dist/new-york/context-menu.js.map +1 -1
  334. package/dist/new-york/dialog.js.map +1 -1
  335. package/dist/new-york/drawer.js.map +1 -1
  336. package/dist/new-york/dropdown-menu.js.map +1 -1
  337. package/dist/new-york/empty.js.map +1 -1
  338. package/dist/new-york/field.js.map +1 -1
  339. package/dist/new-york/form.js.map +1 -1
  340. package/dist/new-york/hover-card.js.map +1 -1
  341. package/dist/new-york/index.js +8 -6
  342. package/dist/new-york/index.js.map +1 -1
  343. package/dist/new-york/input-group.js.map +1 -1
  344. package/dist/new-york/input-otp.js.map +1 -1
  345. package/dist/new-york/input.js.map +1 -1
  346. package/dist/new-york/item.js.map +1 -1
  347. package/dist/new-york/kbd.js.map +1 -1
  348. package/dist/new-york/label.js.map +1 -1
  349. package/dist/new-york/menubar.js.map +1 -1
  350. package/dist/new-york/native-select.js.map +1 -1
  351. package/dist/new-york/navigation-menu.js.map +1 -1
  352. package/dist/new-york/pagination.js.map +1 -1
  353. package/dist/new-york/popover.js.map +1 -1
  354. package/dist/new-york/progress.js.map +1 -1
  355. package/dist/new-york/radio-group.js.map +1 -1
  356. package/dist/new-york/resizable.js.map +1 -1
  357. package/dist/new-york/scroll-area.js.map +1 -1
  358. package/dist/new-york/select.js.map +1 -1
  359. package/dist/new-york/separator.js.map +1 -1
  360. package/dist/new-york/sheet.js.map +1 -1
  361. package/dist/new-york/sidebar.js +8 -6
  362. package/dist/new-york/sidebar.js.map +1 -1
  363. package/dist/new-york/skeleton.js.map +1 -1
  364. package/dist/new-york/slider.js.map +1 -1
  365. package/dist/new-york/spinner.js.map +1 -1
  366. package/dist/new-york/switch.js.map +1 -1
  367. package/dist/new-york/table.js.map +1 -1
  368. package/dist/new-york/tabs.js.map +1 -1
  369. package/dist/new-york/textarea.js.map +1 -1
  370. package/dist/new-york/toggle-group.js.map +1 -1
  371. package/dist/new-york/toggle.js.map +1 -1
  372. package/dist/new-york/tooltip.js.map +1 -1
  373. package/dist/radix-lyra/accordion.js.map +1 -1
  374. package/dist/radix-lyra/alert-dialog.js.map +1 -1
  375. package/dist/radix-lyra/alert.js.map +1 -1
  376. package/dist/radix-lyra/avatar.js.map +1 -1
  377. package/dist/radix-lyra/badge.js.map +1 -1
  378. package/dist/radix-lyra/breadcrumb.js.map +1 -1
  379. package/dist/radix-lyra/button-group.js.map +1 -1
  380. package/dist/radix-lyra/button.js.map +1 -1
  381. package/dist/radix-lyra/calendar.js.map +1 -1
  382. package/dist/radix-lyra/card.js.map +1 -1
  383. package/dist/radix-lyra/carousel.js.map +1 -1
  384. package/dist/radix-lyra/chart.js.map +1 -1
  385. package/dist/radix-lyra/checkbox.js.map +1 -1
  386. package/dist/radix-lyra/combobox.js.map +1 -1
  387. package/dist/radix-lyra/command.js.map +1 -1
  388. package/dist/radix-lyra/context-menu.js.map +1 -1
  389. package/dist/radix-lyra/dialog.js.map +1 -1
  390. package/dist/radix-lyra/drawer.js.map +1 -1
  391. package/dist/radix-lyra/dropdown-menu.js.map +1 -1
  392. package/dist/radix-lyra/empty.js.map +1 -1
  393. package/dist/radix-lyra/field.js.map +1 -1
  394. package/dist/radix-lyra/hover-card.js.map +1 -1
  395. package/dist/radix-lyra/index.js +8 -6
  396. package/dist/radix-lyra/index.js.map +1 -1
  397. package/dist/radix-lyra/input-group.js.map +1 -1
  398. package/dist/radix-lyra/input-otp.js.map +1 -1
  399. package/dist/radix-lyra/input.js.map +1 -1
  400. package/dist/radix-lyra/item.js.map +1 -1
  401. package/dist/radix-lyra/kbd.js.map +1 -1
  402. package/dist/radix-lyra/label.js.map +1 -1
  403. package/dist/radix-lyra/menubar.js.map +1 -1
  404. package/dist/radix-lyra/native-select.js.map +1 -1
  405. package/dist/radix-lyra/navigation-menu.js.map +1 -1
  406. package/dist/radix-lyra/pagination.js.map +1 -1
  407. package/dist/radix-lyra/popover.js.map +1 -1
  408. package/dist/radix-lyra/progress.js.map +1 -1
  409. package/dist/radix-lyra/radio-group.js.map +1 -1
  410. package/dist/radix-lyra/resizable.js.map +1 -1
  411. package/dist/radix-lyra/scroll-area.js.map +1 -1
  412. package/dist/radix-lyra/select.js.map +1 -1
  413. package/dist/radix-lyra/separator.js.map +1 -1
  414. package/dist/radix-lyra/sheet.js.map +1 -1
  415. package/dist/radix-lyra/sidebar.js +8 -6
  416. package/dist/radix-lyra/sidebar.js.map +1 -1
  417. package/dist/radix-lyra/skeleton.js.map +1 -1
  418. package/dist/radix-lyra/slider.js.map +1 -1
  419. package/dist/radix-lyra/spinner.js.map +1 -1
  420. package/dist/radix-lyra/switch.js.map +1 -1
  421. package/dist/radix-lyra/table.js.map +1 -1
  422. package/dist/radix-lyra/tabs.js.map +1 -1
  423. package/dist/radix-lyra/textarea.js.map +1 -1
  424. package/dist/radix-lyra/toggle-group.js.map +1 -1
  425. package/dist/radix-lyra/toggle.js.map +1 -1
  426. package/dist/radix-lyra/tooltip.js.map +1 -1
  427. package/dist/radix-maia/accordion.js.map +1 -1
  428. package/dist/radix-maia/alert-dialog.js.map +1 -1
  429. package/dist/radix-maia/alert.js.map +1 -1
  430. package/dist/radix-maia/avatar.js.map +1 -1
  431. package/dist/radix-maia/badge.js.map +1 -1
  432. package/dist/radix-maia/breadcrumb.js.map +1 -1
  433. package/dist/radix-maia/button-group.js.map +1 -1
  434. package/dist/radix-maia/button.js.map +1 -1
  435. package/dist/radix-maia/calendar.js.map +1 -1
  436. package/dist/radix-maia/card.js.map +1 -1
  437. package/dist/radix-maia/carousel.js.map +1 -1
  438. package/dist/radix-maia/chart.js.map +1 -1
  439. package/dist/radix-maia/checkbox.js.map +1 -1
  440. package/dist/radix-maia/combobox.js.map +1 -1
  441. package/dist/radix-maia/command.js.map +1 -1
  442. package/dist/radix-maia/context-menu.js.map +1 -1
  443. package/dist/radix-maia/dialog.js.map +1 -1
  444. package/dist/radix-maia/drawer.js.map +1 -1
  445. package/dist/radix-maia/dropdown-menu.js.map +1 -1
  446. package/dist/radix-maia/empty.js.map +1 -1
  447. package/dist/radix-maia/field.js.map +1 -1
  448. package/dist/radix-maia/hover-card.js.map +1 -1
  449. package/dist/radix-maia/index.js +8 -6
  450. package/dist/radix-maia/index.js.map +1 -1
  451. package/dist/radix-maia/input-group.js.map +1 -1
  452. package/dist/radix-maia/input-otp.js.map +1 -1
  453. package/dist/radix-maia/input.js.map +1 -1
  454. package/dist/radix-maia/item.js.map +1 -1
  455. package/dist/radix-maia/kbd.js.map +1 -1
  456. package/dist/radix-maia/label.js.map +1 -1
  457. package/dist/radix-maia/menubar.js.map +1 -1
  458. package/dist/radix-maia/native-select.js.map +1 -1
  459. package/dist/radix-maia/navigation-menu.js.map +1 -1
  460. package/dist/radix-maia/pagination.js.map +1 -1
  461. package/dist/radix-maia/popover.js.map +1 -1
  462. package/dist/radix-maia/progress.js.map +1 -1
  463. package/dist/radix-maia/radio-group.js.map +1 -1
  464. package/dist/radix-maia/resizable.js.map +1 -1
  465. package/dist/radix-maia/scroll-area.js.map +1 -1
  466. package/dist/radix-maia/select.js.map +1 -1
  467. package/dist/radix-maia/separator.js.map +1 -1
  468. package/dist/radix-maia/sheet.js.map +1 -1
  469. package/dist/radix-maia/sidebar.js +8 -6
  470. package/dist/radix-maia/sidebar.js.map +1 -1
  471. package/dist/radix-maia/skeleton.js.map +1 -1
  472. package/dist/radix-maia/slider.js.map +1 -1
  473. package/dist/radix-maia/spinner.js.map +1 -1
  474. package/dist/radix-maia/switch.js.map +1 -1
  475. package/dist/radix-maia/table.js.map +1 -1
  476. package/dist/radix-maia/tabs.js.map +1 -1
  477. package/dist/radix-maia/textarea.js.map +1 -1
  478. package/dist/radix-maia/toggle-group.js.map +1 -1
  479. package/dist/radix-maia/toggle.js.map +1 -1
  480. package/dist/radix-maia/tooltip.js.map +1 -1
  481. package/dist/radix-mira/accordion.js.map +1 -1
  482. package/dist/radix-mira/alert-dialog.js.map +1 -1
  483. package/dist/radix-mira/alert.js.map +1 -1
  484. package/dist/radix-mira/avatar.js.map +1 -1
  485. package/dist/radix-mira/badge.js.map +1 -1
  486. package/dist/radix-mira/breadcrumb.js.map +1 -1
  487. package/dist/radix-mira/button-group.js.map +1 -1
  488. package/dist/radix-mira/button.js.map +1 -1
  489. package/dist/radix-mira/calendar.js.map +1 -1
  490. package/dist/radix-mira/card.js.map +1 -1
  491. package/dist/radix-mira/carousel.js.map +1 -1
  492. package/dist/radix-mira/chart.js.map +1 -1
  493. package/dist/radix-mira/checkbox.js.map +1 -1
  494. package/dist/radix-mira/combobox.js.map +1 -1
  495. package/dist/radix-mira/command.js.map +1 -1
  496. package/dist/radix-mira/context-menu.js.map +1 -1
  497. package/dist/radix-mira/dialog.js.map +1 -1
  498. package/dist/radix-mira/drawer.js.map +1 -1
  499. package/dist/radix-mira/dropdown-menu.js.map +1 -1
  500. package/dist/radix-mira/empty.js.map +1 -1
  501. package/dist/radix-mira/field.js.map +1 -1
  502. package/dist/radix-mira/hover-card.js.map +1 -1
  503. package/dist/radix-mira/index.js +8 -6
  504. package/dist/radix-mira/index.js.map +1 -1
  505. package/dist/radix-mira/input-group.js.map +1 -1
  506. package/dist/radix-mira/input-otp.js.map +1 -1
  507. package/dist/radix-mira/input.js.map +1 -1
  508. package/dist/radix-mira/item.js.map +1 -1
  509. package/dist/radix-mira/kbd.js.map +1 -1
  510. package/dist/radix-mira/label.js.map +1 -1
  511. package/dist/radix-mira/menubar.js.map +1 -1
  512. package/dist/radix-mira/native-select.js.map +1 -1
  513. package/dist/radix-mira/navigation-menu.js.map +1 -1
  514. package/dist/radix-mira/pagination.js.map +1 -1
  515. package/dist/radix-mira/popover.js.map +1 -1
  516. package/dist/radix-mira/progress.js.map +1 -1
  517. package/dist/radix-mira/radio-group.js.map +1 -1
  518. package/dist/radix-mira/resizable.js.map +1 -1
  519. package/dist/radix-mira/scroll-area.js.map +1 -1
  520. package/dist/radix-mira/select.js.map +1 -1
  521. package/dist/radix-mira/separator.js.map +1 -1
  522. package/dist/radix-mira/sheet.js.map +1 -1
  523. package/dist/radix-mira/sidebar.js +8 -6
  524. package/dist/radix-mira/sidebar.js.map +1 -1
  525. package/dist/radix-mira/skeleton.js.map +1 -1
  526. package/dist/radix-mira/slider.js.map +1 -1
  527. package/dist/radix-mira/spinner.js.map +1 -1
  528. package/dist/radix-mira/switch.js.map +1 -1
  529. package/dist/radix-mira/table.js.map +1 -1
  530. package/dist/radix-mira/tabs.js.map +1 -1
  531. package/dist/radix-mira/textarea.js.map +1 -1
  532. package/dist/radix-mira/toggle-group.js.map +1 -1
  533. package/dist/radix-mira/toggle.js.map +1 -1
  534. package/dist/radix-mira/tooltip.js.map +1 -1
  535. package/dist/radix-nova/accordion.js.map +1 -1
  536. package/dist/radix-nova/alert-dialog.js.map +1 -1
  537. package/dist/radix-nova/alert.js.map +1 -1
  538. package/dist/radix-nova/avatar.js.map +1 -1
  539. package/dist/radix-nova/badge.js.map +1 -1
  540. package/dist/radix-nova/breadcrumb.js.map +1 -1
  541. package/dist/radix-nova/button-group.js.map +1 -1
  542. package/dist/radix-nova/button.js.map +1 -1
  543. package/dist/radix-nova/calendar.js.map +1 -1
  544. package/dist/radix-nova/card.js.map +1 -1
  545. package/dist/radix-nova/carousel.js.map +1 -1
  546. package/dist/radix-nova/chart.js.map +1 -1
  547. package/dist/radix-nova/checkbox.js.map +1 -1
  548. package/dist/radix-nova/combobox.js.map +1 -1
  549. package/dist/radix-nova/command.js.map +1 -1
  550. package/dist/radix-nova/context-menu.js.map +1 -1
  551. package/dist/radix-nova/dialog.js.map +1 -1
  552. package/dist/radix-nova/drawer.js.map +1 -1
  553. package/dist/radix-nova/dropdown-menu.js.map +1 -1
  554. package/dist/radix-nova/empty.js.map +1 -1
  555. package/dist/radix-nova/field.js.map +1 -1
  556. package/dist/radix-nova/hover-card.js.map +1 -1
  557. package/dist/radix-nova/index.js +8 -6
  558. package/dist/radix-nova/index.js.map +1 -1
  559. package/dist/radix-nova/input-group.js.map +1 -1
  560. package/dist/radix-nova/input-otp.js.map +1 -1
  561. package/dist/radix-nova/input.js.map +1 -1
  562. package/dist/radix-nova/item.js.map +1 -1
  563. package/dist/radix-nova/kbd.js.map +1 -1
  564. package/dist/radix-nova/label.js.map +1 -1
  565. package/dist/radix-nova/menubar.js.map +1 -1
  566. package/dist/radix-nova/native-select.js.map +1 -1
  567. package/dist/radix-nova/navigation-menu.js.map +1 -1
  568. package/dist/radix-nova/pagination.js.map +1 -1
  569. package/dist/radix-nova/popover.js.map +1 -1
  570. package/dist/radix-nova/progress.js.map +1 -1
  571. package/dist/radix-nova/radio-group.js.map +1 -1
  572. package/dist/radix-nova/resizable.js.map +1 -1
  573. package/dist/radix-nova/scroll-area.js.map +1 -1
  574. package/dist/radix-nova/select.js.map +1 -1
  575. package/dist/radix-nova/separator.js.map +1 -1
  576. package/dist/radix-nova/sheet.js.map +1 -1
  577. package/dist/radix-nova/sidebar.js +8 -6
  578. package/dist/radix-nova/sidebar.js.map +1 -1
  579. package/dist/radix-nova/skeleton.js.map +1 -1
  580. package/dist/radix-nova/slider.js.map +1 -1
  581. package/dist/radix-nova/spinner.js.map +1 -1
  582. package/dist/radix-nova/switch.js.map +1 -1
  583. package/dist/radix-nova/table.js.map +1 -1
  584. package/dist/radix-nova/tabs.js.map +1 -1
  585. package/dist/radix-nova/textarea.js.map +1 -1
  586. package/dist/radix-nova/toggle-group.js.map +1 -1
  587. package/dist/radix-nova/toggle.js.map +1 -1
  588. package/dist/radix-nova/tooltip.js.map +1 -1
  589. package/dist/radix-vega/accordion.js.map +1 -1
  590. package/dist/radix-vega/action-bar.d.ts +41 -0
  591. package/dist/radix-vega/action-bar.js +589 -0
  592. package/dist/radix-vega/action-bar.js.map +1 -0
  593. package/dist/radix-vega/alert-dialog.js.map +1 -1
  594. package/dist/radix-vega/alert.js.map +1 -1
  595. package/dist/radix-vega/avatar-group.d.ts +19 -0
  596. package/dist/radix-vega/avatar-group.js +193 -0
  597. package/dist/radix-vega/avatar-group.js.map +1 -0
  598. package/dist/radix-vega/avatar.d.ts +1 -3
  599. package/dist/radix-vega/avatar.js +1 -27
  600. package/dist/radix-vega/avatar.js.map +1 -1
  601. package/dist/radix-vega/badge-overflow.d.ts +21 -0
  602. package/dist/radix-vega/badge-overflow.js +223 -0
  603. package/dist/radix-vega/badge-overflow.js.map +1 -0
  604. package/dist/radix-vega/badge.d.ts +1 -1
  605. package/dist/radix-vega/badge.js.map +1 -1
  606. package/dist/radix-vega/breadcrumb.js.map +1 -1
  607. package/dist/radix-vega/button-group.js.map +1 -1
  608. package/dist/radix-vega/button.d.ts +2 -2
  609. package/dist/radix-vega/button.js.map +1 -1
  610. package/dist/radix-vega/calendar.js.map +1 -1
  611. package/dist/radix-vega/card.js.map +1 -1
  612. package/dist/radix-vega/carousel.js.map +1 -1
  613. package/dist/radix-vega/chart.js.map +1 -1
  614. package/dist/radix-vega/checkbox-group.d.ts +12 -0
  615. package/dist/radix-vega/checkbox-group.js +119 -0
  616. package/dist/radix-vega/checkbox-group.js.map +1 -0
  617. package/dist/radix-vega/checkbox.js.map +1 -1
  618. package/dist/radix-vega/circular-progress.d.ts +27 -0
  619. package/dist/radix-vega/circular-progress.js +252 -0
  620. package/dist/radix-vega/circular-progress.js.map +1 -0
  621. package/dist/radix-vega/color-picker.d.ts +85 -0
  622. package/dist/radix-vega/color-picker.js +1683 -0
  623. package/dist/radix-vega/color-picker.js.map +1 -0
  624. package/dist/radix-vega/color-swatch.d.ts +17 -0
  625. package/dist/radix-vega/color-swatch.js +95 -0
  626. package/dist/radix-vega/color-swatch.js.map +1 -0
  627. package/dist/radix-vega/combobox.d.ts +18 -22
  628. package/dist/radix-vega/combobox.js +118 -276
  629. package/dist/radix-vega/combobox.js.map +1 -1
  630. package/dist/radix-vega/command.js.map +1 -1
  631. package/dist/radix-vega/compare-slider.d.ts +32 -0
  632. package/dist/radix-vega/compare-slider.js +393 -0
  633. package/dist/radix-vega/compare-slider.js.map +1 -0
  634. package/dist/radix-vega/context-menu.js.map +1 -1
  635. package/dist/radix-vega/cropper.d.ts +89 -0
  636. package/dist/radix-vega/cropper.js +1396 -0
  637. package/dist/radix-vega/cropper.js.map +1 -0
  638. package/dist/radix-vega/dialog.js.map +1 -1
  639. package/dist/radix-vega/drawer.js.map +1 -1
  640. package/dist/radix-vega/dropdown-menu.js.map +1 -1
  641. package/dist/radix-vega/editable.d.ts +100 -0
  642. package/dist/radix-vega/editable.js +684 -0
  643. package/dist/radix-vega/editable.js.map +1 -0
  644. package/dist/radix-vega/empty.js.map +1 -1
  645. package/dist/radix-vega/field.js.map +1 -1
  646. package/dist/radix-vega/file-upload.d.ts +89 -0
  647. package/dist/radix-vega/file-upload.js +1089 -0
  648. package/dist/radix-vega/file-upload.js.map +1 -0
  649. package/dist/radix-vega/gauge.d.ts +27 -0
  650. package/dist/radix-vega/gauge.js +359 -0
  651. package/dist/radix-vega/gauge.js.map +1 -0
  652. package/dist/radix-vega/hover-card.js.map +1 -1
  653. package/dist/radix-vega/index.d.ts +50 -3
  654. package/dist/radix-vega/index.js +23001 -2667
  655. package/dist/radix-vega/index.js.map +1 -1
  656. package/dist/radix-vega/input-group.d.ts +1 -1
  657. package/dist/radix-vega/input-group.js.map +1 -1
  658. package/dist/radix-vega/input-otp.js.map +1 -1
  659. package/dist/radix-vega/input.js.map +1 -1
  660. package/dist/radix-vega/item.d.ts +2 -2
  661. package/dist/radix-vega/item.js.map +1 -1
  662. package/dist/radix-vega/kanban.d.ts +62 -0
  663. package/dist/radix-vega/kanban.js +831 -0
  664. package/dist/radix-vega/kanban.js.map +1 -0
  665. package/dist/radix-vega/kbd.js.map +1 -1
  666. package/dist/radix-vega/key-value.d.ts +82 -0
  667. package/dist/radix-vega/key-value.js +765 -0
  668. package/dist/radix-vega/key-value.js.map +1 -0
  669. package/dist/radix-vega/label.js.map +1 -1
  670. package/dist/radix-vega/listbox.d.ts +11 -0
  671. package/dist/radix-vega/listbox.js +90 -0
  672. package/dist/radix-vega/listbox.js.map +1 -0
  673. package/dist/radix-vega/mask-input.d.ts +64 -0
  674. package/dist/radix-vega/mask-input.js +1186 -0
  675. package/dist/radix-vega/mask-input.js.map +1 -0
  676. package/dist/radix-vega/media-player.d.ts +127 -0
  677. package/dist/radix-vega/media-player.js +2696 -0
  678. package/dist/radix-vega/media-player.js.map +1 -0
  679. package/dist/radix-vega/mention.d.ts +11 -0
  680. package/dist/radix-vega/mention.js +94 -0
  681. package/dist/radix-vega/mention.js.map +1 -0
  682. package/dist/radix-vega/menubar.js.map +1 -1
  683. package/dist/radix-vega/native-select.js.map +1 -1
  684. package/dist/radix-vega/navigation-menu.js.map +1 -1
  685. package/dist/radix-vega/pagination.js.map +1 -1
  686. package/dist/radix-vega/phone-input.d.ts +48 -0
  687. package/dist/radix-vega/phone-input.js +957 -0
  688. package/dist/radix-vega/phone-input.js.map +1 -0
  689. package/dist/radix-vega/popover.js.map +1 -1
  690. package/dist/radix-vega/progress.js.map +1 -1
  691. package/dist/radix-vega/qr-code.d.ts +53 -0
  692. package/dist/radix-vega/qr-code.js +396 -0
  693. package/dist/radix-vega/qr-code.js.map +1 -0
  694. package/dist/radix-vega/radio-group.js.map +1 -1
  695. package/dist/radix-vega/rating.d.ts +47 -0
  696. package/dist/radix-vega/rating.js +749 -0
  697. package/dist/radix-vega/rating.js.map +1 -0
  698. package/dist/radix-vega/relative-time-card.d.ts +22 -0
  699. package/dist/radix-vega/relative-time-card.js +236 -0
  700. package/dist/radix-vega/relative-time-card.js.map +1 -0
  701. package/dist/radix-vega/resizable.js.map +1 -1
  702. package/dist/radix-vega/responsive-dialog.d.ts +20 -0
  703. package/dist/radix-vega/responsive-dialog.js +483 -0
  704. package/dist/radix-vega/responsive-dialog.js.map +1 -0
  705. package/dist/radix-vega/scroll-area.js.map +1 -1
  706. package/dist/radix-vega/scroll-spy.d.ts +39 -0
  707. package/dist/radix-vega/scroll-spy.js +372 -0
  708. package/dist/radix-vega/scroll-spy.js.map +1 -0
  709. package/dist/radix-vega/scroller.d.ts +20 -0
  710. package/dist/radix-vega/scroller.js +352 -0
  711. package/dist/radix-vega/scroller.js.map +1 -0
  712. package/dist/radix-vega/segmented-input.d.ts +29 -0
  713. package/dist/radix-vega/segmented-input.js +178 -0
  714. package/dist/radix-vega/segmented-input.js.map +1 -0
  715. package/dist/radix-vega/select.js.map +1 -1
  716. package/dist/radix-vega/separator.js.map +1 -1
  717. package/dist/radix-vega/sheet.js.map +1 -1
  718. package/dist/radix-vega/sidebar.js +8 -6
  719. package/dist/radix-vega/sidebar.js.map +1 -1
  720. package/dist/radix-vega/skeleton.js.map +1 -1
  721. package/dist/radix-vega/slider.js.map +1 -1
  722. package/dist/radix-vega/sortable.d.ts +51 -0
  723. package/dist/radix-vega/sortable.js +444 -0
  724. package/dist/radix-vega/sortable.js.map +1 -0
  725. package/dist/radix-vega/speed-dial.d.ts +46 -0
  726. package/dist/radix-vega/speed-dial.js +898 -0
  727. package/dist/radix-vega/speed-dial.js.map +1 -0
  728. package/dist/radix-vega/spinner.js.map +1 -1
  729. package/dist/radix-vega/stack.d.ts +21 -0
  730. package/dist/radix-vega/stack.js +268 -0
  731. package/dist/radix-vega/stack.js.map +1 -0
  732. package/dist/radix-vega/stat.d.ts +24 -0
  733. package/dist/radix-vega/stat.js +147 -0
  734. package/dist/radix-vega/stat.js.map +1 -0
  735. package/dist/radix-vega/status.d.ts +18 -0
  736. package/dist/radix-vega/status.js +71 -0
  737. package/dist/radix-vega/status.js.map +1 -0
  738. package/dist/radix-vega/stepper.d.ts +73 -0
  739. package/dist/radix-vega/stepper.js +973 -0
  740. package/dist/radix-vega/stepper.js.map +1 -0
  741. package/dist/radix-vega/swap.d.ts +29 -0
  742. package/dist/radix-vega/swap.js +214 -0
  743. package/dist/radix-vega/swap.js.map +1 -0
  744. package/dist/radix-vega/switch.js.map +1 -1
  745. package/dist/radix-vega/table.js.map +1 -1
  746. package/dist/radix-vega/tabs.d.ts +1 -1
  747. package/dist/radix-vega/tabs.js.map +1 -1
  748. package/dist/radix-vega/tags-input.d.ts +12 -0
  749. package/dist/radix-vega/tags-input.js +98 -0
  750. package/dist/radix-vega/tags-input.js.map +1 -0
  751. package/dist/radix-vega/textarea.js.map +1 -1
  752. package/dist/radix-vega/time-picker.d.ts +88 -0
  753. package/dist/radix-vega/time-picker.js +1750 -0
  754. package/dist/radix-vega/time-picker.js.map +1 -0
  755. package/dist/radix-vega/timeline.d.ts +32 -0
  756. package/dist/radix-vega/timeline.js +611 -0
  757. package/dist/radix-vega/timeline.js.map +1 -0
  758. package/dist/radix-vega/toggle-group.js.map +1 -1
  759. package/dist/radix-vega/toggle.js.map +1 -1
  760. package/dist/radix-vega/tooltip.js.map +1 -1
  761. package/dist/radix-vega/tour.d.ts +109 -0
  762. package/dist/radix-vega/tour.js +1314 -0
  763. package/dist/radix-vega/tour.js.map +1 -0
  764. package/dist/radix-vega/visually-hidden-input.d.ts +8 -0
  765. package/dist/radix-vega/visually-hidden-input.js +33 -0
  766. package/dist/radix-vega/visually-hidden-input.js.map +1 -0
  767. package/package.json +53 -14
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/radix-vega/button.tsx","../../src/radix-vega/input.tsx","../../src/radix-vega/textarea.tsx","../../src/lib/compose-refs.ts","../../src/radix-vega/visually-hidden-input.tsx","../../src/hooks/use-isomorphic-layout-effect.ts","../../src/hooks/use-as-ref.ts","../../src/hooks/use-lazy-ref.ts","../../src/radix-vega/key-value.tsx"],"names":["Slot","jsx","React","React2","React3","React4","React5","errors"],"mappings":"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","file":"key-value.js","sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * Merges Tailwind class names, resolving any conflicts.\n *\n * @param inputs - An array of class names to merge.\n * @returns A string of merged and optimized class names.\n */\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/80\",\n outline: \"border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground shadow-xs\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost: \"hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground\",\n destructive: \"bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5\",\n lg: \"h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n icon: \"size-9\",\n \"icon-xs\": \"size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\": \"size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md\",\n \"icon-lg\": \"size-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 h-9 rounded-md border bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] file:h-7 file:text-sm file:font-medium focus-visible:ring-3 aria-invalid:ring-3 md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] focus-visible:ring-3 aria-invalid:ring-3 md:text-sm placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n","import * as React from \"react\";\n\ntype PossibleRef<T> = React.Ref<T> | undefined;\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */\nfunction setRef<T>(ref: PossibleRef<T>, value: T) {\n if (typeof ref === \"function\") {\n return ref(value);\n }\n\n if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n}\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */\nfunction composeRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup === \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n\n // React <19 will log an error to the console if a callback ref returns a\n // value. We don't use ref cleanups internally so this will only happen if a\n // user's ref callback returns a value, which we only expect if they are\n // using the cleanup functionality added in React 19.\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup === \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\n\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */\nfunction useComposedRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n // biome-ignore lint/correctness/useExhaustiveDependencies: we want to memoize by all values\n return React.useCallback(composeRefs(...refs), refs);\n}\n\nexport { composeRefs, useComposedRefs };\n","import * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\n\nimport { cn } from \"@/lib/utils\";\n\ninterface VisuallyHiddenInputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n control?: HTMLElement | null;\n}\n\nconst VisuallyHiddenInput = React.forwardRef<\n HTMLInputElement,\n VisuallyHiddenInputProps\n>(({ className, control, ...props }, ref) => {\n const input = (\n <input\n ref={ref}\n className={cn(\n \"absolute h-px w-px overflow-hidden whitespace-nowrap border-0 p-0\",\n \"[clip:rect(0,0,0,0)]\",\n className\n )}\n {...props}\n />\n );\n\n // If control is provided, render input inside control via portal\n if (control) {\n return ReactDOM.createPortal(input, control);\n }\n\n return input;\n});\n\nVisuallyHiddenInput.displayName = \"VisuallyHiddenInput\";\n\nexport { VisuallyHiddenInput };\n","import * as React from \"react\";\n\nconst useIsomorphicLayoutEffect =\n typeof window !== \"undefined\" ? React.useLayoutEffect : React.useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","import * as React from \"react\";\n\nimport { useIsomorphicLayoutEffect } from \"@/hooks/use-isomorphic-layout-effect\";\n\nfunction useAsRef<T>(props: T) {\n const ref = React.useRef<T>(props);\n\n useIsomorphicLayoutEffect(() => {\n ref.current = props;\n });\n\n return ref;\n}\n\nexport { useAsRef };\n","import * as React from \"react\";\n\nfunction useLazyRef<T>(fn: () => T) {\n const ref = React.useRef<T | null>(null);\n\n if (ref.current === null) {\n ref.current = fn();\n }\n\n return ref as React.RefObject<T>;\n}\n\nexport { useLazyRef };\n","\"use client\";\n\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { PlusIcon, XIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Button } from \"@/radix-vega/button\";\nimport { Input } from \"@/radix-vega/input\";\nimport { Textarea } from \"@/radix-vega/textarea\";\nimport { useComposedRefs } from \"@/lib/compose-refs\";\nimport { cn } from \"@/lib/utils\";\nimport { VisuallyHiddenInput } from \"@/radix-vega/visually-hidden-input\";\nimport { useAsRef } from \"@/hooks/use-as-ref\";\nimport { useIsomorphicLayoutEffect } from \"@/hooks/use-isomorphic-layout-effect\";\nimport { useLazyRef } from \"@/hooks/use-lazy-ref\";\n\nconst ROOT_NAME = \"KeyValue\";\nconst LIST_NAME = \"KeyValueList\";\nconst ITEM_NAME = \"KeyValueItem\";\nconst KEY_INPUT_NAME = \"KeyValueKeyInput\";\nconst VALUE_INPUT_NAME = \"KeyValueValueInput\";\nconst REMOVE_NAME = \"KeyValueRemove\";\nconst ADD_NAME = \"KeyValueAdd\";\nconst ERROR_NAME = \"KeyValueError\";\n\ntype Orientation = \"vertical\" | \"horizontal\";\ntype Field = \"key\" | \"value\";\n\ninterface DivProps extends React.ComponentProps<\"div\"> {\n asChild?: boolean;\n}\n\ntype RootElement = React.ComponentRef<typeof KeyValue>;\ntype KeyInputElement = React.ComponentRef<typeof KeyValueKeyInput>;\ntype RemoveElement = React.ComponentRef<typeof KeyValueRemove>;\ntype AddElement = React.ComponentRef<typeof KeyValueAdd>;\n\nfunction getErrorId(rootId: string, itemId: string, field: Field) {\n return `${rootId}-${itemId}-${field}-error`;\n}\n\nfunction removeQuotes(string: string, shouldStrip: boolean): string {\n if (!shouldStrip) return string;\n\n const trimmed = string.trim();\n if (\n (trimmed.startsWith('\"') && trimmed.endsWith('\"')) ||\n (trimmed.startsWith(\"'\") && trimmed.endsWith(\"'\"))\n ) {\n return trimmed.slice(1, -1);\n }\n return trimmed;\n}\n\ninterface Store {\n subscribe: (callback: () => void) => () => void;\n getState: () => KeyValueState;\n setState: <K extends keyof KeyValueState>(\n key: K,\n value: KeyValueState[K],\n ) => void;\n notify: () => void;\n}\n\nfunction useStore<T>(\n selector: (state: KeyValueState) => T,\n ogStore?: Store | null,\n): T {\n const contextStore = React.useContext(StoreContext);\n\n const store = ogStore ?? contextStore;\n\n if (!store) {\n throw new Error(`\\`useStore\\` must be used within \\`${ROOT_NAME}\\``);\n }\n\n const getSnapshot = React.useCallback(\n () => selector(store.getState()),\n [store, selector],\n );\n\n return React.useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot);\n}\n\ninterface ItemData {\n id: string;\n key: string;\n value: string;\n}\n\ninterface KeyValueState {\n value: ItemData[];\n focusedId: string | null;\n errors: Record<string, { key?: string; value?: string }>;\n}\n\nconst StoreContext = React.createContext<Store | null>(null);\n\nfunction useStoreContext(consumerName: string) {\n const context = React.useContext(StoreContext);\n if (!context) {\n throw new Error(`\\`${consumerName}\\` must be used within \\`${ROOT_NAME}\\``);\n }\n return context;\n}\n\ninterface KeyValueContextValue {\n onPaste?: (event: ClipboardEvent, items: ItemData[]) => void;\n onAdd?: (value: ItemData) => void;\n onRemove?: (value: ItemData) => void;\n onKeyValidate?: (key: string, value: ItemData[]) => string | undefined;\n onValueValidate?: (\n value: string,\n key: string,\n items: ItemData[],\n ) => string | undefined;\n rootId: string;\n maxItems?: number;\n minItems: number;\n keyPlaceholder: string;\n valuePlaceholder: string;\n allowDuplicateKeys: boolean;\n enablePaste: boolean;\n trim: boolean;\n stripQuotes: boolean;\n disabled: boolean;\n readOnly: boolean;\n required: boolean;\n}\n\nconst KeyValueContext = React.createContext<KeyValueContextValue | null>(null);\n\nfunction useKeyValueContext(consumerName: string) {\n const context = React.useContext(KeyValueContext);\n if (!context) {\n throw new Error(`\\`${consumerName}\\` must be used within \\`${ROOT_NAME}\\``);\n }\n return context;\n}\n\ninterface KeyValueProps extends Omit<DivProps, \"onPaste\" | \"defaultValue\"> {\n id?: string;\n defaultValue?: ItemData[];\n value?: ItemData[];\n onValueChange?: (value: ItemData[]) => void;\n maxItems?: number;\n minItems?: number;\n keyPlaceholder?: string;\n valuePlaceholder?: string;\n name?: string;\n allowDuplicateKeys?: boolean;\n enablePaste?: boolean;\n trim?: boolean;\n stripQuotes?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n required?: boolean;\n onPaste?: (event: ClipboardEvent, items: ItemData[]) => void;\n onAdd?: (value: ItemData) => void;\n onRemove?: (value: ItemData) => void;\n onKeyValidate?: (key: string, value: ItemData[]) => string | undefined;\n onValueValidate?: (\n value: string,\n key: string,\n items: ItemData[],\n ) => string | undefined;\n}\n\nfunction KeyValue(props: KeyValueProps) {\n const {\n value: valueProp,\n defaultValue,\n onValueChange,\n onPaste,\n onAdd,\n onRemove,\n onKeyValidate,\n onValueValidate,\n maxItems,\n minItems = 0,\n keyPlaceholder = \"Key\",\n valuePlaceholder = \"Value\",\n allowDuplicateKeys = false,\n asChild,\n enablePaste = true,\n trim = true,\n stripQuotes = true,\n disabled = false,\n readOnly = false,\n required = false,\n className,\n id,\n name,\n ref,\n ...rootProps\n } = props;\n\n const instanceId = React.useId();\n const rootId = id ?? instanceId;\n\n const [formTrigger, setFormTrigger] = React.useState<RootElement | null>(\n null,\n );\n const composedRef = useComposedRefs(ref, (node) => setFormTrigger(node));\n const isFormControl = formTrigger ? !!formTrigger.closest(\"form\") : true;\n\n const listenersRef = useLazyRef(() => new Set<() => void>());\n const stateRef = useLazyRef<KeyValueState>(() => ({\n value: valueProp ??\n defaultValue ?? [{ id: crypto.randomUUID(), key: \"\", value: \"\" }],\n focusedId: null,\n errors: {},\n }));\n const propsRef = useAsRef({ onValueChange });\n\n const store = React.useMemo<Store>(() => {\n return {\n subscribe: (cb) => {\n listenersRef.current.add(cb);\n return () => listenersRef.current.delete(cb);\n },\n getState: () => stateRef.current,\n setState: (key, val) => {\n if (Object.is(stateRef.current[key], val)) return;\n\n if (key === \"value\" && Array.isArray(val)) {\n stateRef.current.value = val as ItemData[];\n propsRef.current.onValueChange?.(val as ItemData[]);\n } else {\n stateRef.current[key] = val;\n }\n\n store.notify();\n },\n notify: () => {\n for (const cb of listenersRef.current) {\n cb();\n }\n },\n };\n }, [listenersRef, stateRef, propsRef]);\n\n const value = useStore((state) => state.value, store);\n const errors = useStore((state) => state.errors, store);\n const isInvalid = Object.keys(errors).length > 0;\n\n useIsomorphicLayoutEffect(() => {\n if (valueProp !== undefined) {\n store.setState(\"value\", valueProp);\n }\n }, [valueProp]);\n\n const contextValue = React.useMemo<KeyValueContextValue>(\n () => ({\n onPaste,\n onAdd,\n onRemove,\n onKeyValidate,\n onValueValidate,\n rootId,\n maxItems,\n minItems,\n keyPlaceholder,\n valuePlaceholder,\n allowDuplicateKeys,\n enablePaste,\n trim,\n stripQuotes,\n disabled,\n readOnly,\n required,\n }),\n [\n onPaste,\n onAdd,\n onRemove,\n onKeyValidate,\n onValueValidate,\n rootId,\n disabled,\n readOnly,\n required,\n maxItems,\n minItems,\n keyPlaceholder,\n valuePlaceholder,\n allowDuplicateKeys,\n enablePaste,\n trim,\n stripQuotes,\n ],\n );\n\n const RootPrimitive = asChild ? Slot : \"div\";\n\n return (\n <StoreContext.Provider value={store}>\n <KeyValueContext.Provider value={contextValue}>\n <RootPrimitive\n id={id}\n data-slot=\"key-value\"\n data-disabled={disabled ? \"\" : undefined}\n data-invalid={isInvalid ? \"\" : undefined}\n data-readonly={readOnly ? \"\" : undefined}\n {...rootProps}\n ref={composedRef}\n className={cn(\"flex flex-col gap-2\", className)}\n />\n {isFormControl && (\n <VisuallyHiddenInput\n type=\"hidden\"\n control={formTrigger}\n name={name}\n value={JSON.stringify(value)}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n />\n )}\n </KeyValueContext.Provider>\n </StoreContext.Provider>\n );\n}\n\ninterface KeyValueListProps extends DivProps {\n orientation?: Orientation;\n}\n\nfunction KeyValueList(props: KeyValueListProps) {\n const { orientation = \"vertical\", asChild, className, ...listProps } = props;\n\n const value = useStore((state) => state.value);\n\n const ListPrimitive = asChild ? Slot : \"div\";\n\n return (\n <ListPrimitive\n role=\"list\"\n aria-orientation={orientation}\n data-slot=\"key-value-list\"\n data-orientation={orientation}\n {...listProps}\n className={cn(\n \"flex\",\n orientation === \"vertical\" ? \"flex-col gap-2\" : \"flex-row gap-2\",\n className,\n )}\n >\n {value.map((item) => {\n const children = React.Children.toArray(props.children);\n\n return (\n <KeyValueItemContext.Provider key={item.id} value={item}>\n {children}\n </KeyValueItemContext.Provider>\n );\n })}\n </ListPrimitive>\n );\n}\n\nconst KeyValueItemContext = React.createContext<ItemData | null>(null);\n\nfunction useKeyValueItemContext(consumerName: string) {\n const context = React.useContext(KeyValueItemContext);\n if (!context) {\n throw new Error(`\\`${consumerName}\\` must be used within \\`${LIST_NAME}\\``);\n }\n return context;\n}\n\ninterface KeyValueItemProps extends React.ComponentProps<\"div\"> {\n asChild?: boolean;\n}\n\nfunction KeyValueItem(props: KeyValueItemProps) {\n const { asChild, className, ...itemProps } = props;\n const itemData = useKeyValueItemContext(ITEM_NAME);\n\n const focusedId = useStore((state) => state.focusedId);\n\n const ItemPrimitive = asChild ? Slot : \"div\";\n\n return (\n <ItemPrimitive\n role=\"listitem\"\n data-slot=\"key-value-item\"\n data-highlighted={focusedId === itemData.id ? \"\" : undefined}\n {...itemProps}\n className={cn(\"flex items-start gap-2\", className)}\n />\n );\n}\n\ninterface KeyValueKeyInputProps extends React.ComponentProps<\"input\"> {\n asChild?: boolean;\n}\n\nfunction KeyValueKeyInput(props: KeyValueKeyInputProps) {\n const {\n onChange: onChangeProp,\n onPaste: onPasteProp,\n asChild,\n disabled,\n readOnly,\n required,\n ...keyInputProps\n } = props;\n\n const context = useKeyValueContext(KEY_INPUT_NAME);\n const itemData = useKeyValueItemContext(KEY_INPUT_NAME);\n const store = useStoreContext(KEY_INPUT_NAME);\n const errors = useStore((state) => state.errors);\n\n const propsRef = useAsRef({\n onChange: onChangeProp,\n onPaste: onPasteProp,\n });\n\n const isDisabled = disabled || context.disabled;\n const isReadOnly = readOnly || context.readOnly;\n const isRequired = required || context.required;\n const isInvalid = errors[itemData.id]?.key !== undefined;\n\n const onChange = React.useCallback(\n (event: React.ChangeEvent<KeyInputElement>) => {\n const state = store.getState();\n const newValue = state.value.map((item) => {\n if (item.id !== itemData.id) return item;\n const updated = { ...item, key: event.target.value };\n if (context.trim) updated.key = updated.key.trim();\n return updated;\n });\n\n store.setState(\"value\", newValue);\n\n const updatedItemData = newValue.find((item) => item.id === itemData.id);\n if (updatedItemData) {\n const errors: { key?: string; value?: string } = {};\n\n if (context.onKeyValidate) {\n const keyError = context.onKeyValidate(updatedItemData.key, newValue);\n if (keyError) errors.key = keyError;\n }\n\n if (!context.allowDuplicateKeys) {\n const duplicateKey = newValue.find(\n (item) =>\n item.id !== updatedItemData.id &&\n item.key === updatedItemData.key &&\n updatedItemData.key !== \"\",\n );\n if (duplicateKey) {\n errors.key = \"Duplicate key\";\n }\n }\n\n if (context.onValueValidate) {\n const valueError = context.onValueValidate(\n updatedItemData.value,\n updatedItemData.key,\n newValue,\n );\n if (valueError) errors.value = valueError;\n }\n\n const newErrorsState = { ...state.errors };\n if (Object.keys(errors).length > 0) {\n newErrorsState[itemData.id] = errors;\n } else {\n delete newErrorsState[itemData.id];\n }\n store.setState(\"errors\", newErrorsState);\n }\n\n propsRef.current.onChange?.(event);\n },\n [store, itemData.id, context, propsRef],\n );\n\n const onPaste = React.useCallback(\n (event: React.ClipboardEvent<KeyInputElement>) => {\n if (!context.enablePaste) return;\n\n propsRef.current.onPaste?.(event);\n if (event.defaultPrevented) return;\n\n const content = event.clipboardData.getData(\"text\");\n const lines = content.split(/\\r?\\n/).filter((line) => line.trim());\n\n if (lines.length > 1) {\n event.preventDefault();\n\n const parsed: ItemData[] = [];\n\n for (const line of lines) {\n let key = \"\";\n let value = \"\";\n\n if (line.includes(\"=\")) {\n const parts = line.split(\"=\");\n key = parts[0]?.trim() ?? \"\";\n value = removeQuotes(\n parts.slice(1).join(\"=\").trim(),\n context.stripQuotes,\n );\n } else if (line.includes(\":\")) {\n const parts = line.split(\":\");\n key = parts[0]?.trim() ?? \"\";\n value = removeQuotes(\n parts.slice(1).join(\":\").trim(),\n context.stripQuotes,\n );\n } else if (/\\s{2,}|\\t/.test(line)) {\n const parts = line.split(/\\s{2,}|\\t/);\n key = parts[0]?.trim() ?? \"\";\n value = removeQuotes(\n parts.slice(1).join(\" \").trim(),\n context.stripQuotes,\n );\n }\n\n if (key) {\n parsed.push({ id: crypto.randomUUID(), key, value });\n }\n }\n\n if (parsed.length > 0) {\n const state = store.getState();\n const currentIndex = state.value.findIndex(\n (item) => item.id === itemData.id,\n );\n\n let newValue: ItemData[];\n if (itemData.key === \"\" && itemData.value === \"\") {\n newValue = [\n ...state.value.slice(0, currentIndex),\n ...parsed,\n ...state.value.slice(currentIndex + 1),\n ];\n } else {\n newValue = [\n ...state.value.slice(0, currentIndex + 1),\n ...parsed,\n ...state.value.slice(currentIndex + 1),\n ];\n }\n\n if (context.maxItems !== undefined) {\n newValue = newValue.slice(0, context.maxItems);\n }\n\n store.setState(\"value\", newValue);\n\n if (context.onPaste) {\n context.onPaste(\n event.nativeEvent as unknown as ClipboardEvent,\n parsed,\n );\n }\n }\n }\n },\n [context, store, itemData, propsRef],\n );\n\n const KeyInputPrimitive = asChild ? Slot : Input;\n\n return (\n <KeyInputPrimitive\n aria-invalid={isInvalid}\n aria-describedby={\n isInvalid ? getErrorId(context.rootId, itemData.id, \"key\") : undefined\n }\n data-slot=\"key-value-key-input\"\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n spellCheck=\"false\"\n disabled={isDisabled}\n readOnly={isReadOnly}\n required={isRequired}\n placeholder={context.keyPlaceholder}\n {...keyInputProps}\n value={itemData.key}\n onChange={onChange}\n onPaste={onPaste}\n />\n );\n}\n\ninterface KeyValueValueInputProps\n extends Omit<React.ComponentProps<\"textarea\">, \"rows\"> {\n maxRows?: number;\n asChild?: boolean;\n}\n\nfunction KeyValueValueInput(props: KeyValueValueInputProps) {\n const {\n onChange: onChangeProp,\n asChild,\n disabled,\n readOnly,\n required,\n className,\n maxRows,\n style,\n ...valueInputProps\n } = props;\n\n const context = useKeyValueContext(VALUE_INPUT_NAME);\n const itemData = useKeyValueItemContext(VALUE_INPUT_NAME);\n const store = useStoreContext(VALUE_INPUT_NAME);\n const errors = useStore((state) => state.errors);\n\n const propsRef = useAsRef({\n onChange: onChangeProp,\n });\n\n const isDisabled = disabled || context.disabled;\n const isReadOnly = readOnly || context.readOnly;\n const isRequired = required || context.required;\n const isInvalid = errors[itemData.id]?.value !== undefined;\n const maxHeight = maxRows ? `calc(${maxRows} * 1.5em + 1rem)` : undefined;\n\n const onChange = React.useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n propsRef.current.onChange?.(event);\n\n const state = store.getState();\n const newValue = state.value.map((item) => {\n if (item.id !== itemData.id) return item;\n const updated = { ...item, value: event.target.value };\n if (context.trim) updated.value = updated.value.trim();\n return updated;\n });\n\n store.setState(\"value\", newValue);\n\n const updatedItemData = newValue.find((item) => item.id === itemData.id);\n if (updatedItemData) {\n const errors: { key?: string; value?: string } = {};\n\n if (context.onKeyValidate) {\n const keyError = context.onKeyValidate(updatedItemData.key, newValue);\n if (keyError) errors.key = keyError;\n }\n\n if (!context.allowDuplicateKeys) {\n const duplicateKey = newValue.find(\n (item) =>\n item.id !== updatedItemData.id &&\n item.key === updatedItemData.key &&\n updatedItemData.key !== \"\",\n );\n if (duplicateKey) {\n errors.key = \"Duplicate key\";\n }\n }\n\n if (context.onValueValidate) {\n const valueError = context.onValueValidate(\n updatedItemData.value,\n updatedItemData.key,\n newValue,\n );\n if (valueError) errors.value = valueError;\n }\n\n const newErrorsState = { ...state.errors };\n if (Object.keys(errors).length > 0) {\n newErrorsState[itemData.id] = errors;\n } else {\n delete newErrorsState[itemData.id];\n }\n store.setState(\"errors\", newErrorsState);\n }\n },\n [store, itemData.id, context, propsRef],\n );\n\n const ValueInputPrimitive = asChild ? Slot : Textarea;\n\n return (\n <ValueInputPrimitive\n aria-invalid={isInvalid}\n aria-describedby={\n isInvalid ? getErrorId(context.rootId, itemData.id, \"value\") : undefined\n }\n data-slot=\"key-value-value-input\"\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n spellCheck=\"false\"\n disabled={isDisabled}\n readOnly={isReadOnly}\n required={isRequired}\n placeholder={context.valuePlaceholder}\n {...valueInputProps}\n className={cn(\n \"field-sizing-content min-h-9 resize-none\",\n maxRows && \"overflow-y-auto\",\n className,\n )}\n style={{\n ...style,\n ...(maxHeight && { maxHeight }),\n }}\n value={itemData.value}\n onChange={onChange}\n />\n );\n}\n\ninterface KeyValueRemoveProps extends React.ComponentProps<typeof Button> {}\n\nfunction KeyValueRemove(props: KeyValueRemoveProps) {\n const { onClick: onClickProp, children, ...removeProps } = props;\n\n const context = useKeyValueContext(REMOVE_NAME);\n const itemData = useKeyValueItemContext(REMOVE_NAME);\n const store = useStoreContext(REMOVE_NAME);\n\n const propsRef = useAsRef({\n onClick: onClickProp,\n });\n const value = useStore((state) => state.value);\n const isDisabled = context.disabled || value.length <= context.minItems;\n\n const onClick = React.useCallback(\n (event: React.MouseEvent<RemoveElement>) => {\n propsRef.current.onClick?.(event);\n\n const state = store.getState();\n if (state.value.length <= context.minItems) return;\n\n const itemToRemove = state.value.find((item) => item.id === itemData.id);\n if (!itemToRemove) return;\n\n const newValue = state.value.filter((item) => item.id !== itemData.id);\n const newErrors = { ...state.errors };\n delete newErrors[itemData.id];\n\n store.setState(\"value\", newValue);\n store.setState(\"errors\", newErrors);\n\n context.onRemove?.(itemToRemove);\n },\n [store, context, itemData.id, propsRef],\n );\n\n return (\n <Button\n type=\"button\"\n data-slot=\"key-value-remove\"\n variant=\"outline\"\n size=\"icon\"\n disabled={isDisabled}\n {...removeProps}\n onClick={onClick}\n >\n {children ?? <XIcon />}\n </Button>\n );\n}\n\nfunction KeyValueAdd(props: React.ComponentProps<typeof Button>) {\n const { onClick: onClickProp, children, ...addProps } = props;\n\n const context = useKeyValueContext(ADD_NAME);\n const store = useStoreContext(ADD_NAME);\n\n const propsRef = useAsRef({\n onClick: onClickProp,\n });\n const value = useStore((state) => state.value);\n const isDisabled =\n context.disabled ||\n (context.maxItems !== undefined && value.length >= context.maxItems);\n\n const onClick = React.useCallback(\n (event: React.MouseEvent<AddElement>) => {\n propsRef.current.onClick?.(event);\n\n const state = store.getState();\n if (\n context.maxItems !== undefined &&\n state.value.length >= context.maxItems\n ) {\n return;\n }\n\n const newItem: ItemData = {\n id: crypto.randomUUID(),\n key: \"\",\n value: \"\",\n };\n\n const newValue = [...state.value, newItem];\n store.setState(\"value\", newValue);\n store.setState(\"focusedId\", newItem.id);\n\n context.onAdd?.(newItem);\n },\n [store, context, propsRef],\n );\n\n return (\n <Button\n type=\"button\"\n data-slot=\"key-value-add\"\n variant=\"outline\"\n disabled={isDisabled}\n {...addProps}\n onClick={onClick}\n >\n {children ?? (\n <>\n <PlusIcon />\n Add\n </>\n )}\n </Button>\n );\n}\n\ninterface KeyValueErrorProps extends DivProps {\n field: Field;\n}\n\nfunction KeyValueError(props: KeyValueErrorProps) {\n const { field, asChild, className, ...errorProps } = props;\n\n const context = useKeyValueContext(ERROR_NAME);\n const itemData = useKeyValueItemContext(ERROR_NAME);\n\n const errors = useStore((state) => state.errors);\n const error = errors[itemData.id]?.[field];\n\n if (!error) return null;\n\n const ErrorPrimitive = asChild ? Slot : \"span\";\n\n return (\n <ErrorPrimitive\n id={getErrorId(context.rootId, itemData.id, field)}\n role=\"alert\"\n {...errorProps}\n className={cn(\"font-medium text-destructive text-sm\", className)}\n >\n {error}\n </ErrorPrimitive>\n );\n}\n\nexport {\n KeyValue,\n KeyValueList,\n KeyValueItem,\n KeyValueKeyInput,\n KeyValueValueInput,\n KeyValueRemove,\n KeyValueAdd,\n KeyValueError,\n //\n useStore as useKeyValueStore,\n //\n type KeyValueProps,\n type ItemData as KeyValueItemData,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/utils.ts","../../src/radix-vega/label.tsx"],"names":["LabelPrimitive"],"mappings":";;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACAA,SAAS,KAAA,CAAM;AAAA,EACb,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAqD;AACnD,EAAA,uBACE,GAAA;AAAA,IAACA,OAAA,CAAe,IAAA;AAAA,IAAf;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,qNAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"label.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { Label as LabelPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n"]}
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/radix-vega/label.tsx"],"names":["LabelPrimitive"],"mappings":";;;;;;AASO,SAAS,MAAM,MAAA,EAA8B;AAClD,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACNA,SAAS,KAAA,CAAM;AAAA,EACb,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAqD;AACnD,EAAA,uBACE,GAAA;AAAA,IAACA,OAAA,CAAe,IAAA;AAAA,IAAf;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,qNAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"label.js","sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * Merges Tailwind class names, resolving any conflicts.\n *\n * @param inputs - An array of class names to merge.\n * @returns A string of merged and optimized class names.\n */\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n","import * as React from \"react\"\nimport { Label as LabelPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n"]}
@@ -0,0 +1,11 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as ListboxPrimitive from '@diceui/listbox';
3
+ import * as React from 'react';
4
+
5
+ declare const Listbox: ListboxPrimitive.ListboxRootComponentProps;
6
+ declare function ListboxGroup({ className, ...props }: React.ComponentProps<typeof ListboxPrimitive.Group>): react_jsx_runtime.JSX.Element;
7
+ declare function ListboxGroupLabel({ className, ...props }: React.ComponentProps<typeof ListboxPrimitive.GroupLabel>): react_jsx_runtime.JSX.Element;
8
+ declare function ListboxItem({ className, ...props }: React.ComponentProps<typeof ListboxPrimitive.Item>): react_jsx_runtime.JSX.Element;
9
+ declare function ListboxItemIndicator({ ...props }: React.ComponentProps<typeof ListboxPrimitive.ItemIndicator>): react_jsx_runtime.JSX.Element;
10
+
11
+ export { Listbox, ListboxGroup, ListboxGroupLabel, ListboxItem, ListboxItemIndicator };
@@ -0,0 +1,90 @@
1
+ import * as ListboxPrimitive from '@diceui/listbox';
2
+ import { Check } from 'lucide-react';
3
+ import { clsx } from 'clsx';
4
+ import { twMerge } from 'tailwind-merge';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ // src/radix-vega/listbox.tsx
8
+ function cn(...inputs) {
9
+ return twMerge(clsx(inputs));
10
+ }
11
+ var Listbox = (({
12
+ className,
13
+ orientation = "vertical",
14
+ ...props
15
+ }) => {
16
+ return /* @__PURE__ */ jsx(
17
+ ListboxPrimitive.Root,
18
+ {
19
+ "data-slot": "listbox",
20
+ orientation,
21
+ className: cn(
22
+ "flex gap-2 focus-visible:outline-none",
23
+ orientation === "vertical" && "flex-col *:data-[slot=listbox-group]:flex-col",
24
+ className
25
+ ),
26
+ ...props
27
+ }
28
+ );
29
+ });
30
+ function ListboxGroup({
31
+ className,
32
+ ...props
33
+ }) {
34
+ return /* @__PURE__ */ jsx(
35
+ ListboxPrimitive.Group,
36
+ {
37
+ "data-slot": "listbox-group",
38
+ className: cn("flex flex-col gap-2", className),
39
+ ...props
40
+ }
41
+ );
42
+ }
43
+ function ListboxGroupLabel({
44
+ className,
45
+ ...props
46
+ }) {
47
+ return /* @__PURE__ */ jsx(
48
+ ListboxPrimitive.GroupLabel,
49
+ {
50
+ "data-slot": "listbox-group-label",
51
+ className: cn(
52
+ "px-2 pt-1 font-medium text-muted-foreground text-sm",
53
+ className
54
+ ),
55
+ ...props
56
+ }
57
+ );
58
+ }
59
+ function ListboxItem({
60
+ className,
61
+ ...props
62
+ }) {
63
+ return /* @__PURE__ */ jsx(
64
+ ListboxPrimitive.Item,
65
+ {
66
+ "data-slot": "listbox-item",
67
+ className: cn(
68
+ "flex w-full cursor-default select-none items-center justify-between gap-2 rounded-md p-4 outline-hidden ring-1 ring-border focus-visible:ring-ring data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-50",
69
+ className
70
+ ),
71
+ ...props
72
+ }
73
+ );
74
+ }
75
+ function ListboxItemIndicator({
76
+ ...props
77
+ }) {
78
+ return /* @__PURE__ */ jsx(
79
+ ListboxPrimitive.ItemIndicator,
80
+ {
81
+ "data-slot": "listbox-item-indicator",
82
+ ...props,
83
+ children: /* @__PURE__ */ jsx(Check, { className: "size-4" })
84
+ }
85
+ );
86
+ }
87
+
88
+ export { Listbox, ListboxGroup, ListboxGroupLabel, ListboxItem, ListboxItemIndicator };
89
+ //# sourceMappingURL=listbox.js.map
90
+ //# sourceMappingURL=listbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/utils.ts","../../src/radix-vega/listbox.tsx"],"names":[],"mappings":";;;;;;;AASO,SAAS,MAAM,MAAA,EAA8B;AAClD,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACNA,IAAM,WAAW,CAAC;AAAA,EAChB,SAAA;AAAA,EACA,WAAA,GAAc,UAAA;AAAA,EACd,GAAG;AACL,CAAA,KAA0D;AACxD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,IAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,SAAA;AAAA,MACV,WAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,uCAAA;AAAA,QACA,gBAAgB,UAAA,IACd,+CAAA;AAAA,QACF;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ,CAAA;AAEA,SAAS,YAAA,CAAa;AAAA,EACpB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwD;AACtD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,KAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,eAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,qBAAA,EAAuB,SAAS,CAAA;AAAA,MAC7C,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,iBAAA,CAAkB;AAAA,EACzB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA6D;AAC3D,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,UAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,qDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,IAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,kRAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,oBAAA,CAAqB;AAAA,EAC5B,GAAG;AACL,CAAA,EAAgE;AAC9D,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,aAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,wBAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,QAAA,EAAS;AAAA;AAAA,GAC5B;AAEJ","file":"listbox.js","sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * Merges Tailwind class names, resolving any conflicts.\n *\n * @param inputs - An array of class names to merge.\n * @returns A string of merged and optimized class names.\n */\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n","import * as ListboxPrimitive from \"@diceui/listbox\";\nimport { Check } from \"lucide-react\";\nimport type * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nconst Listbox = (({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ListboxPrimitive.Root>) => {\n return (\n <ListboxPrimitive.Root\n data-slot=\"listbox\"\n orientation={orientation}\n className={cn(\n \"flex gap-2 focus-visible:outline-none\",\n orientation === \"vertical\" &&\n \"flex-col *:data-[slot=listbox-group]:flex-col\",\n className,\n )}\n {...props}\n />\n );\n}) as ListboxPrimitive.ListboxRootComponentProps;\n\nfunction ListboxGroup({\n className,\n ...props\n}: React.ComponentProps<typeof ListboxPrimitive.Group>) {\n return (\n <ListboxPrimitive.Group\n data-slot=\"listbox-group\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction ListboxGroupLabel({\n className,\n ...props\n}: React.ComponentProps<typeof ListboxPrimitive.GroupLabel>) {\n return (\n <ListboxPrimitive.GroupLabel\n data-slot=\"listbox-group-label\"\n className={cn(\n \"px-2 pt-1 font-medium text-muted-foreground text-sm\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ListboxItem({\n className,\n ...props\n}: React.ComponentProps<typeof ListboxPrimitive.Item>) {\n return (\n <ListboxPrimitive.Item\n data-slot=\"listbox-item\"\n className={cn(\n \"flex w-full cursor-default select-none items-center justify-between gap-2 rounded-md p-4 outline-hidden ring-1 ring-border focus-visible:ring-ring data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ListboxItemIndicator({\n ...props\n}: React.ComponentProps<typeof ListboxPrimitive.ItemIndicator>) {\n return (\n <ListboxPrimitive.ItemIndicator\n data-slot=\"listbox-item-indicator\"\n {...props}\n >\n <Check className=\"size-4\" />\n </ListboxPrimitive.ItemIndicator>\n );\n}\n\nexport {\n Listbox,\n ListboxGroup,\n ListboxGroupLabel,\n ListboxItem,\n ListboxItemIndicator,\n};\n"]}
@@ -0,0 +1,64 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ interface TransformOptions {
5
+ currency?: string;
6
+ locale?: string;
7
+ }
8
+ interface ValidateOptions {
9
+ min?: number;
10
+ max?: number;
11
+ }
12
+ interface MaskPattern {
13
+ pattern: string;
14
+ transform?: (value: string, opts?: TransformOptions) => string;
15
+ validate?: (value: string, opts?: ValidateOptions) => boolean;
16
+ }
17
+ type MaskPatternKey = "phone" | "ssn" | "date" | "time" | "creditCard" | "creditCardExpiry" | "zipCode" | "zipCodeExtended" | "currency" | "percentage" | "licensePlate" | "ipv4" | "macAddress" | "isbn" | "ein";
18
+ declare const MASK_PATTERNS: Record<MaskPatternKey, MaskPattern>;
19
+ declare function applyMask(opts: {
20
+ value: string;
21
+ pattern: string;
22
+ currency?: string;
23
+ locale?: string;
24
+ mask?: MaskPatternKey | MaskPattern;
25
+ }): string;
26
+ declare function applyCurrencyMask(opts: {
27
+ value: string;
28
+ currency?: string;
29
+ locale?: string;
30
+ }): string;
31
+ declare function applyPercentageMask(value: string): string;
32
+ declare function getUnmaskedValue(opts: {
33
+ value: string;
34
+ currency?: string;
35
+ locale?: string;
36
+ transform?: (value: string, opts?: TransformOptions) => string;
37
+ }): string;
38
+ declare function toUnmaskedIndex(opts: {
39
+ masked: string;
40
+ pattern: string;
41
+ caret: number;
42
+ }): number;
43
+ declare function fromUnmaskedIndex(opts: {
44
+ masked: string;
45
+ pattern: string;
46
+ unmaskedIndex: number;
47
+ }): number;
48
+ interface MaskInputProps extends React.ComponentProps<"input"> {
49
+ value?: string;
50
+ defaultValue?: string;
51
+ onValueChange?: (maskedValue: string, unmaskedValue: string) => void;
52
+ onValidate?: (isValid: boolean, unmaskedValue: string) => void;
53
+ validationMode?: "onChange" | "onBlur" | "onSubmit" | "onTouched" | "all";
54
+ mask?: MaskPatternKey | MaskPattern;
55
+ maskPlaceholder?: string;
56
+ currency?: string;
57
+ locale?: string;
58
+ asChild?: boolean;
59
+ invalid?: boolean;
60
+ withoutMask?: boolean;
61
+ }
62
+ declare function MaskInput(props: MaskInputProps): react_jsx_runtime.JSX.Element;
63
+
64
+ export { MASK_PATTERNS, MaskInput, type MaskInputProps, type MaskPattern, applyCurrencyMask, applyMask, applyPercentageMask, fromUnmaskedIndex, getUnmaskedValue, toUnmaskedIndex };