@satoshibits/react-json-schema-builder 1.0.0 → 1.0.2

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 (437) hide show
  1. package/README.md +142 -37
  2. package/dist/index.cjs10.js +1 -1
  3. package/dist/index.cjs10.js.map +1 -1
  4. package/dist/index.cjs100.js +1 -1
  5. package/dist/index.cjs100.js.map +1 -1
  6. package/dist/index.cjs101.js +1 -38
  7. package/dist/index.cjs101.js.map +1 -1
  8. package/dist/index.cjs102.js +1 -1
  9. package/dist/index.cjs102.js.map +1 -1
  10. package/dist/index.cjs103.js +1 -1
  11. package/dist/index.cjs103.js.map +1 -1
  12. package/dist/index.cjs11.js +1 -1
  13. package/dist/index.cjs11.js.map +1 -1
  14. package/dist/index.cjs12.js +1 -1
  15. package/dist/index.cjs12.js.map +1 -1
  16. package/dist/index.cjs13.js +1 -1
  17. package/dist/index.cjs13.js.map +1 -1
  18. package/dist/index.cjs14.js +1 -1
  19. package/dist/index.cjs14.js.map +1 -1
  20. package/dist/index.cjs15.js +1 -1
  21. package/dist/index.cjs15.js.map +1 -1
  22. package/dist/index.cjs16.js +1 -1
  23. package/dist/index.cjs16.js.map +1 -1
  24. package/dist/index.cjs17.js +1 -1
  25. package/dist/index.cjs17.js.map +1 -1
  26. package/dist/index.cjs18.js +1 -1
  27. package/dist/index.cjs18.js.map +1 -1
  28. package/dist/index.cjs19.js +1 -1
  29. package/dist/index.cjs19.js.map +1 -1
  30. package/dist/index.cjs2.js +1 -1
  31. package/dist/index.cjs2.js.map +1 -1
  32. package/dist/index.cjs20.js +1 -1
  33. package/dist/index.cjs20.js.map +1 -1
  34. package/dist/index.cjs21.js +1 -1
  35. package/dist/index.cjs21.js.map +1 -1
  36. package/dist/index.cjs22.js +1 -1
  37. package/dist/index.cjs22.js.map +1 -1
  38. package/dist/index.cjs23.js +1 -1
  39. package/dist/index.cjs23.js.map +1 -1
  40. package/dist/index.cjs24.js +1 -1
  41. package/dist/index.cjs24.js.map +1 -1
  42. package/dist/index.cjs25.js +1 -1
  43. package/dist/index.cjs25.js.map +1 -1
  44. package/dist/index.cjs26.js +1 -1
  45. package/dist/index.cjs26.js.map +1 -1
  46. package/dist/index.cjs27.js +1 -1
  47. package/dist/index.cjs27.js.map +1 -1
  48. package/dist/index.cjs28.js +1 -1
  49. package/dist/index.cjs28.js.map +1 -1
  50. package/dist/index.cjs29.js +6 -1
  51. package/dist/index.cjs29.js.map +1 -1
  52. package/dist/index.cjs3.js +1 -1
  53. package/dist/index.cjs3.js.map +1 -1
  54. package/dist/index.cjs30.js +1 -6
  55. package/dist/index.cjs30.js.map +1 -1
  56. package/dist/index.cjs31.js +1 -1
  57. package/dist/index.cjs31.js.map +1 -1
  58. package/dist/index.cjs32.js +1 -1
  59. package/dist/index.cjs32.js.map +1 -1
  60. package/dist/index.cjs33.js +1 -9
  61. package/dist/index.cjs33.js.map +1 -1
  62. package/dist/index.cjs34.js +1 -23
  63. package/dist/index.cjs34.js.map +1 -1
  64. package/dist/index.cjs35.js +1 -1
  65. package/dist/index.cjs35.js.map +1 -1
  66. package/dist/index.cjs36.js +1 -1
  67. package/dist/index.cjs36.js.map +1 -1
  68. package/dist/index.cjs37.js +1 -1
  69. package/dist/index.cjs37.js.map +1 -1
  70. package/dist/index.cjs38.js +1 -1
  71. package/dist/index.cjs38.js.map +1 -1
  72. package/dist/index.cjs39.js +1 -1
  73. package/dist/index.cjs39.js.map +1 -1
  74. package/dist/index.cjs4.js +1 -1
  75. package/dist/index.cjs4.js.map +1 -1
  76. package/dist/index.cjs40.js +1 -1
  77. package/dist/index.cjs40.js.map +1 -1
  78. package/dist/index.cjs41.js +1 -1
  79. package/dist/index.cjs41.js.map +1 -1
  80. package/dist/index.cjs42.js +1 -1
  81. package/dist/index.cjs42.js.map +1 -1
  82. package/dist/index.cjs43.js +6 -1
  83. package/dist/index.cjs43.js.map +1 -1
  84. package/dist/index.cjs44.js +6 -1
  85. package/dist/index.cjs44.js.map +1 -1
  86. package/dist/index.cjs45.js +6 -1
  87. package/dist/index.cjs45.js.map +1 -1
  88. package/dist/index.cjs46.js +7 -1
  89. package/dist/index.cjs46.js.map +1 -1
  90. package/dist/index.cjs47.js +1 -1
  91. package/dist/index.cjs47.js.map +1 -1
  92. package/dist/index.cjs48.js +2 -2
  93. package/dist/index.cjs48.js.map +1 -1
  94. package/dist/index.cjs49.js +2 -2
  95. package/dist/index.cjs49.js.map +1 -1
  96. package/dist/index.cjs5.js +1 -1
  97. package/dist/index.cjs5.js.map +1 -1
  98. package/dist/index.cjs50.js +2 -2
  99. package/dist/index.cjs50.js.map +1 -1
  100. package/dist/index.cjs51.js +6 -7
  101. package/dist/index.cjs51.js.map +1 -1
  102. package/dist/index.cjs52.js +1 -1
  103. package/dist/index.cjs52.js.map +1 -1
  104. package/dist/index.cjs53.js +1 -1
  105. package/dist/index.cjs53.js.map +1 -1
  106. package/dist/index.cjs54.js +5 -1
  107. package/dist/index.cjs54.js.map +1 -1
  108. package/dist/index.cjs55.js +1 -6
  109. package/dist/index.cjs55.js.map +1 -1
  110. package/dist/index.cjs56.js +1 -6
  111. package/dist/index.cjs56.js.map +1 -1
  112. package/dist/index.cjs57.js +1 -6
  113. package/dist/index.cjs57.js.map +1 -1
  114. package/dist/index.cjs58.js +1 -6
  115. package/dist/index.cjs58.js.map +1 -1
  116. package/dist/index.cjs59.js +1 -1
  117. package/dist/index.cjs59.js.map +1 -1
  118. package/dist/index.cjs6.js +1 -1
  119. package/dist/index.cjs6.js.map +1 -1
  120. package/dist/index.cjs60.js +1 -1
  121. package/dist/index.cjs60.js.map +1 -1
  122. package/dist/index.cjs61.js +1 -5
  123. package/dist/index.cjs61.js.map +1 -1
  124. package/dist/index.cjs62.js +1 -1
  125. package/dist/index.cjs62.js.map +1 -1
  126. package/dist/index.cjs64.js +1 -1
  127. package/dist/index.cjs64.js.map +1 -1
  128. package/dist/index.cjs65.js +1 -1
  129. package/dist/index.cjs65.js.map +1 -1
  130. package/dist/index.cjs66.js +1 -1
  131. package/dist/index.cjs66.js.map +1 -1
  132. package/dist/index.cjs67.js +1 -1
  133. package/dist/index.cjs67.js.map +1 -1
  134. package/dist/index.cjs68.js +1 -1
  135. package/dist/index.cjs68.js.map +1 -1
  136. package/dist/index.cjs69.js +1 -1
  137. package/dist/index.cjs69.js.map +1 -1
  138. package/dist/index.cjs7.js +1 -1
  139. package/dist/index.cjs7.js.map +1 -1
  140. package/dist/index.cjs70.js +1 -1
  141. package/dist/index.cjs70.js.map +1 -1
  142. package/dist/index.cjs71.js +1 -1
  143. package/dist/index.cjs71.js.map +1 -1
  144. package/dist/index.cjs72.js +1 -1
  145. package/dist/index.cjs72.js.map +1 -1
  146. package/dist/index.cjs73.js +1 -1
  147. package/dist/index.cjs73.js.map +1 -1
  148. package/dist/index.cjs74.js +1 -1
  149. package/dist/index.cjs74.js.map +1 -1
  150. package/dist/index.cjs75.js +1 -1
  151. package/dist/index.cjs75.js.map +1 -1
  152. package/dist/index.cjs76.js +1 -1
  153. package/dist/index.cjs76.js.map +1 -1
  154. package/dist/index.cjs77.js +1 -1
  155. package/dist/index.cjs77.js.map +1 -1
  156. package/dist/index.cjs78.js +1 -1
  157. package/dist/index.cjs78.js.map +1 -1
  158. package/dist/index.cjs79.js +1 -1
  159. package/dist/index.cjs79.js.map +1 -1
  160. package/dist/index.cjs8.js +1 -1
  161. package/dist/index.cjs8.js.map +1 -1
  162. package/dist/index.cjs80.js +1 -1
  163. package/dist/index.cjs80.js.map +1 -1
  164. package/dist/index.cjs81.js +1 -1
  165. package/dist/index.cjs81.js.map +1 -1
  166. package/dist/index.cjs82.js +1 -1
  167. package/dist/index.cjs82.js.map +1 -1
  168. package/dist/index.cjs83.js +1 -1
  169. package/dist/index.cjs83.js.map +1 -1
  170. package/dist/index.cjs84.js +1 -1
  171. package/dist/index.cjs84.js.map +1 -1
  172. package/dist/index.cjs85.js +1 -1
  173. package/dist/index.cjs85.js.map +1 -1
  174. package/dist/index.cjs86.js +1 -1
  175. package/dist/index.cjs86.js.map +1 -1
  176. package/dist/index.cjs87.js +1 -1
  177. package/dist/index.cjs87.js.map +1 -1
  178. package/dist/index.cjs88.js +4 -1
  179. package/dist/index.cjs88.js.map +1 -1
  180. package/dist/index.cjs89.js +1 -1
  181. package/dist/index.cjs89.js.map +1 -1
  182. package/dist/index.cjs9.js +1 -1
  183. package/dist/index.cjs9.js.map +1 -1
  184. package/dist/index.cjs90.js +1 -1
  185. package/dist/index.cjs90.js.map +1 -1
  186. package/dist/index.cjs91.js +1 -1
  187. package/dist/index.cjs91.js.map +1 -1
  188. package/dist/index.cjs92.js +1 -1
  189. package/dist/index.cjs92.js.map +1 -1
  190. package/dist/index.cjs93.js +1 -1
  191. package/dist/index.cjs93.js.map +1 -1
  192. package/dist/index.cjs94.js +38 -1
  193. package/dist/index.cjs94.js.map +1 -1
  194. package/dist/index.cjs95.js +1 -4
  195. package/dist/index.cjs95.js.map +1 -1
  196. package/dist/index.cjs96.js +1 -1
  197. package/dist/index.cjs96.js.map +1 -1
  198. package/dist/index.cjs97.js +1 -1
  199. package/dist/index.cjs97.js.map +1 -1
  200. package/dist/index.cjs98.js +1 -1
  201. package/dist/index.cjs98.js.map +1 -1
  202. package/dist/index.cjs99.js +1 -1
  203. package/dist/index.cjs99.js.map +1 -1
  204. package/dist/index.es10.js +46 -22
  205. package/dist/index.es10.js.map +1 -1
  206. package/dist/index.es100.js +22 -64
  207. package/dist/index.es100.js.map +1 -1
  208. package/dist/index.es101.js +12 -68
  209. package/dist/index.es101.js.map +1 -1
  210. package/dist/index.es102.js +26 -7
  211. package/dist/index.es102.js.map +1 -1
  212. package/dist/index.es103.js +5 -14
  213. package/dist/index.es103.js.map +1 -1
  214. package/dist/index.es11.js +57 -39
  215. package/dist/index.es11.js.map +1 -1
  216. package/dist/index.es12.js +23 -61
  217. package/dist/index.es12.js.map +1 -1
  218. package/dist/index.es13.js +126 -21
  219. package/dist/index.es13.js.map +1 -1
  220. package/dist/index.es14.js +12 -126
  221. package/dist/index.es14.js.map +1 -1
  222. package/dist/index.es15.js +132 -17
  223. package/dist/index.es15.js.map +1 -1
  224. package/dist/index.es16.js +133 -130
  225. package/dist/index.es16.js.map +1 -1
  226. package/dist/index.es17.js +43 -117
  227. package/dist/index.es17.js.map +1 -1
  228. package/dist/index.es18.js +9 -62
  229. package/dist/index.es18.js.map +1 -1
  230. package/dist/index.es19.js +23 -11
  231. package/dist/index.es19.js.map +1 -1
  232. package/dist/index.es2.js +5 -5
  233. package/dist/index.es2.js.map +1 -1
  234. package/dist/index.es20.js +422 -20
  235. package/dist/index.es20.js.map +1 -1
  236. package/dist/index.es21.js +5 -424
  237. package/dist/index.es21.js.map +1 -1
  238. package/dist/index.es22.js +1 -1
  239. package/dist/index.es22.js.map +1 -1
  240. package/dist/index.es23.js +1 -1
  241. package/dist/index.es23.js.map +1 -1
  242. package/dist/index.es24.js +1 -1
  243. package/dist/index.es24.js.map +1 -1
  244. package/dist/index.es25.js +1 -1
  245. package/dist/index.es25.js.map +1 -1
  246. package/dist/index.es26.js +1 -1
  247. package/dist/index.es26.js.map +1 -1
  248. package/dist/index.es27.js +5 -5
  249. package/dist/index.es27.js.map +1 -1
  250. package/dist/index.es28.js +12 -12
  251. package/dist/index.es28.js.map +1 -1
  252. package/dist/index.es29.js +13 -6
  253. package/dist/index.es29.js.map +1 -1
  254. package/dist/index.es3.js +239 -212
  255. package/dist/index.es3.js.map +1 -1
  256. package/dist/index.es30.js +17 -13
  257. package/dist/index.es30.js.map +1 -1
  258. package/dist/index.es31.js +14 -7
  259. package/dist/index.es31.js.map +1 -1
  260. package/dist/index.es32.js +2477 -2
  261. package/dist/index.es32.js.map +1 -1
  262. package/dist/index.es33.js +39 -31
  263. package/dist/index.es33.js.map +1 -1
  264. package/dist/index.es34.js +33 -406
  265. package/dist/index.es34.js.map +1 -1
  266. package/dist/index.es35.js +115 -16
  267. package/dist/index.es35.js.map +1 -1
  268. package/dist/index.es36.js +113 -14
  269. package/dist/index.es36.js.map +1 -1
  270. package/dist/index.es37.js +52 -2473
  271. package/dist/index.es37.js.map +1 -1
  272. package/dist/index.es38.js +23 -40
  273. package/dist/index.es38.js.map +1 -1
  274. package/dist/index.es39.js +45 -33
  275. package/dist/index.es39.js.map +1 -1
  276. package/dist/index.es4.js +5 -5
  277. package/dist/index.es4.js.map +1 -1
  278. package/dist/index.es40.js +79 -109
  279. package/dist/index.es40.js.map +1 -1
  280. package/dist/index.es41.js +56 -110
  281. package/dist/index.es41.js.map +1 -1
  282. package/dist/index.es42.js +824 -48
  283. package/dist/index.es42.js.map +1 -1
  284. package/dist/index.es43.js +10 -24
  285. package/dist/index.es43.js.map +1 -1
  286. package/dist/index.es44.js +10 -45
  287. package/dist/index.es44.js.map +1 -1
  288. package/dist/index.es45.js +10 -86
  289. package/dist/index.es45.js.map +1 -1
  290. package/dist/index.es46.js +120 -57
  291. package/dist/index.es46.js.map +1 -1
  292. package/dist/index.es47.js +55 -824
  293. package/dist/index.es47.js.map +1 -1
  294. package/dist/index.es48.js +15 -4
  295. package/dist/index.es48.js.map +1 -1
  296. package/dist/index.es49.js +3 -4
  297. package/dist/index.es49.js.map +1 -1
  298. package/dist/index.es5.js +62 -62
  299. package/dist/index.es5.js.map +1 -1
  300. package/dist/index.es50.js +32 -4
  301. package/dist/index.es50.js.map +1 -1
  302. package/dist/index.es51.js +17 -122
  303. package/dist/index.es51.js.map +1 -1
  304. package/dist/index.es52.js +7 -62
  305. package/dist/index.es52.js.map +1 -1
  306. package/dist/index.es53.js +5 -2
  307. package/dist/index.es53.js.map +1 -1
  308. package/dist/index.es54.js +255 -2
  309. package/dist/index.es54.js.map +1 -1
  310. package/dist/index.es55.js +21 -20
  311. package/dist/index.es55.js.map +1 -1
  312. package/dist/index.es56.js +27 -9
  313. package/dist/index.es56.js.map +1 -1
  314. package/dist/index.es57.js +7 -38
  315. package/dist/index.es57.js.map +1 -1
  316. package/dist/index.es58.js +66 -18
  317. package/dist/index.es58.js.map +1 -1
  318. package/dist/index.es59.js +29 -7
  319. package/dist/index.es59.js.map +1 -1
  320. package/dist/index.es6.js +37 -37
  321. package/dist/index.es6.js.map +1 -1
  322. package/dist/index.es60.js +5 -4
  323. package/dist/index.es60.js.map +1 -1
  324. package/dist/index.es61.js +24 -254
  325. package/dist/index.es61.js.map +1 -1
  326. package/dist/index.es62.js +32 -21
  327. package/dist/index.es62.js.map +1 -1
  328. package/dist/index.es64.js +44 -5
  329. package/dist/index.es64.js.map +1 -1
  330. package/dist/index.es65.js +7 -45
  331. package/dist/index.es65.js.map +1 -1
  332. package/dist/index.es66.js +121 -23
  333. package/dist/index.es66.js.map +1 -1
  334. package/dist/index.es67.js +12 -63
  335. package/dist/index.es67.js.map +1 -1
  336. package/dist/index.es68.js +133 -7
  337. package/dist/index.es68.js.map +1 -1
  338. package/dist/index.es69.js +10 -124
  339. package/dist/index.es69.js.map +1 -1
  340. package/dist/index.es7.js +33 -33
  341. package/dist/index.es7.js.map +1 -1
  342. package/dist/index.es70.js +214 -13
  343. package/dist/index.es70.js.map +1 -1
  344. package/dist/index.es71.js +12 -133
  345. package/dist/index.es71.js.map +1 -1
  346. package/dist/index.es72.js +7 -10
  347. package/dist/index.es72.js.map +1 -1
  348. package/dist/index.es73.js +3 -215
  349. package/dist/index.es73.js.map +1 -1
  350. package/dist/index.es74.js +28 -13
  351. package/dist/index.es74.js.map +1 -1
  352. package/dist/index.es75.js +49 -32
  353. package/dist/index.es75.js.map +1 -1
  354. package/dist/index.es76.js +9 -8
  355. package/dist/index.es76.js.map +1 -1
  356. package/dist/index.es77.js +65 -27
  357. package/dist/index.es77.js.map +1 -1
  358. package/dist/index.es78.js +12 -4
  359. package/dist/index.es78.js.map +1 -1
  360. package/dist/index.es79.js +204 -5
  361. package/dist/index.es79.js.map +1 -1
  362. package/dist/index.es8.js +87 -87
  363. package/dist/index.es8.js.map +1 -1
  364. package/dist/index.es80.js +19 -25
  365. package/dist/index.es80.js.map +1 -1
  366. package/dist/index.es81.js +389 -46
  367. package/dist/index.es81.js.map +1 -1
  368. package/dist/index.es82.js +25 -9
  369. package/dist/index.es82.js.map +1 -1
  370. package/dist/index.es83.js +29 -25
  371. package/dist/index.es83.js.map +1 -1
  372. package/dist/index.es84.js +5 -68
  373. package/dist/index.es84.js.map +1 -1
  374. package/dist/index.es85.js +5 -12
  375. package/dist/index.es85.js.map +1 -1
  376. package/dist/index.es86.js +3 -205
  377. package/dist/index.es86.js.map +1 -1
  378. package/dist/index.es87.js +23 -21
  379. package/dist/index.es87.js.map +1 -1
  380. package/dist/index.es88.js +105 -388
  381. package/dist/index.es88.js.map +1 -1
  382. package/dist/index.es89.js +14 -23
  383. package/dist/index.es89.js.map +1 -1
  384. package/dist/index.es9.js +23 -3
  385. package/dist/index.es9.js.map +1 -1
  386. package/dist/index.es90.js +521 -27
  387. package/dist/index.es90.js.map +1 -1
  388. package/dist/index.es91.js +127 -5
  389. package/dist/index.es91.js.map +1 -1
  390. package/dist/index.es92.js +129 -5
  391. package/dist/index.es92.js.map +1 -1
  392. package/dist/index.es93.js +65 -3
  393. package/dist/index.es93.js.map +1 -1
  394. package/dist/index.es94.js +69 -24
  395. package/dist/index.es94.js.map +1 -1
  396. package/dist/index.es95.js +9 -110
  397. package/dist/index.es95.js.map +1 -1
  398. package/dist/index.es96.js +14 -16
  399. package/dist/index.es96.js.map +1 -1
  400. package/dist/index.es97.js +60 -521
  401. package/dist/index.es97.js.map +1 -1
  402. package/dist/index.es98.js +3 -126
  403. package/dist/index.es98.js.map +1 -1
  404. package/dist/index.es99.js +22 -128
  405. package/dist/index.es99.js.map +1 -1
  406. package/dist/packages/builder/schema-builder.d.ts +20 -1
  407. package/dist/packages/builder/schema-builder.d.ts.map +1 -1
  408. package/dist/style.css +0 -3
  409. package/package.json +5 -3
  410. package/dist/index.cjs104.js +0 -2
  411. package/dist/index.cjs104.js.map +0 -1
  412. package/dist/index.cjs105.js +0 -2
  413. package/dist/index.cjs105.js.map +0 -1
  414. package/dist/index.cjs106.js +0 -2
  415. package/dist/index.cjs106.js.map +0 -1
  416. package/dist/index.cjs107.js +0 -2
  417. package/dist/index.cjs107.js.map +0 -1
  418. package/dist/index.cjs108.js +0 -2
  419. package/dist/index.cjs108.js.map +0 -1
  420. package/dist/index.cjs109.js +0 -2
  421. package/dist/index.cjs109.js.map +0 -1
  422. package/dist/index.cjs110.js +0 -2
  423. package/dist/index.cjs110.js.map +0 -1
  424. package/dist/index.es104.js +0 -65
  425. package/dist/index.es104.js.map +0 -1
  426. package/dist/index.es105.js +0 -7
  427. package/dist/index.es105.js.map +0 -1
  428. package/dist/index.es106.js +0 -26
  429. package/dist/index.es106.js.map +0 -1
  430. package/dist/index.es107.js +0 -26
  431. package/dist/index.es107.js.map +0 -1
  432. package/dist/index.es108.js +0 -16
  433. package/dist/index.es108.js.map +0 -1
  434. package/dist/index.es109.js +0 -31
  435. package/dist/index.es109.js.map +0 -1
  436. package/dist/index.es110.js +0 -8
  437. package/dist/index.es110.js.map +0 -1
package/dist/index.es4.js CHANGED
@@ -1,11 +1,11 @@
1
- import { j as C } from "./index.es9.js";
1
+ import { jsx as C } from "react/jsx-runtime";
2
2
  import { createContext as h, useContext as g, useMemo as P, useRef as l } from "react";
3
- import { ajv as R } from "./index.es19.js";
4
- const u = h(void 0), b = ({ children: e }) => {
3
+ import { ajv as R } from "./index.es18.js";
4
+ const u = h(void 0), x = ({ children: e }) => {
5
5
  const r = l(
6
6
  /* @__PURE__ */ new Map()
7
7
  ), o = l(/* @__PURE__ */ new Map());
8
- return /* @__PURE__ */ C.jsx(
8
+ return /* @__PURE__ */ C(
9
9
  u.Provider,
10
10
  {
11
11
  value: {
@@ -73,7 +73,7 @@ const k = () => {
73
73
  };
74
74
  };
75
75
  export {
76
- b as PluginsProvider,
76
+ x as PluginsProvider,
77
77
  k as useConstraints,
78
78
  E as usePluginSystem
79
79
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.es4.js","sources":["../src/packages/constraints/context.tsx"],"sourcesContent":["import { createContext, useContext, useMemo, useRef } from \"react\";\nimport type { PropsWithChildren, ComponentType } from \"react\";\n\nimport type { JSONSchema7 } from \"json-schema\";\nimport { ajv } from \"@/packages/builder/utils\";\nimport type { OperationError } from \"../builder/shared-types\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface ConstraintRendererProps<T = any> {\n value: T;\n onConstraintChange: (newValue: T) => void;\n onRemoveConstraint: () => void;\n constraintName: string;\n // Is this constraint disabled/readonly\n disabled?: boolean;\n error?: OperationError;\n}\n\nexport interface ConstraintDefinition {\n /**\n * The unique identifier for the constraint\n */\n name: keyof JSONSchema7;\n label: string;\n /**\n * Types this constraint applies to.\n */\n appliesTo: string[];\n /**\n * Apply JSON schema principles to the constraint.\n */\n schema: JSONSchema7;\n description?: string;\n defaultValue: unknown;\n}\n\nexport interface Constraint {\n name: ConstraintDefinition[\"name\"];\n value: unknown;\n}\n\nexport interface BaseJSONSchemaPlugin {\n id: string;\n hooks: {\n registerConstraints?: () => ConstraintDefinition[];\n registerRenderers?: () => Record<\n string,\n ComponentType<ConstraintRendererProps>\n >;\n };\n}\n\ninterface ContextState {\n constraintDefinitionsMap: Map<string, ConstraintDefinition>;\n constraintRenderersMap: Map<string, ComponentType<ConstraintRendererProps>>;\n}\n\nconst PluginsContext = createContext<ContextState | undefined>(undefined);\n\nexport const PluginsProvider = ({ children }: PropsWithChildren) => {\n // Store references. If you need to trigger a re-render,\n //use the methods in usePluginSystem hook instead\n const constraintDefinitionsRef = useRef<Map<string, ConstraintDefinition>>(\n new Map(),\n );\n const constraintRenderersRef = useRef<\n Map<string, ComponentType<ConstraintRendererProps>>\n >(new Map());\n\n return (\n <PluginsContext.Provider\n value={{\n constraintDefinitionsMap: constraintDefinitionsRef.current,\n constraintRenderersMap: constraintRenderersRef.current,\n }}\n >\n {children}\n </PluginsContext.Provider>\n );\n};\n\n// The main plugin system hook\nexport function usePluginSystem<TPlugin extends BaseJSONSchemaPlugin>(\n plugins: TPlugin[],\n) {\n const context = useContext(PluginsContext);\n if (!context) {\n throw new Error(\"usePluginSystem must be used within a PluginsProvider\");\n }\n\n const { constraintDefinitionsMap, constraintRenderersMap } = context;\n\n const memoizedPluginValues = useMemo(() => {\n // Register all plugins\n plugins.forEach((plugin) => {\n // Register constraints\n if (plugin.hooks.registerConstraints) {\n const constraints = plugin.hooks.registerConstraints();\n constraints.forEach((constraint) => {\n constraintDefinitionsMap.set(constraint.name, constraint);\n });\n }\n\n // Register renderers\n if (plugin.hooks.registerRenderers) {\n const renderers = plugin.hooks.registerRenderers();\n Object.entries(renderers).forEach(([name, component]) => {\n constraintRenderersMap.set(name, component);\n });\n }\n });\n\n return {\n // Check if a plugin with given ID exists\n hasPlugin(id: string): boolean {\n return plugins.some((plugin) => plugin.id === id);\n },\n\n // Get a plugin by ID\n getPlugin(id: string): BaseJSONSchemaPlugin | undefined {\n return plugins.find((plugin) => plugin.id === id);\n },\n };\n }, [plugins]);\n\n return memoizedPluginValues;\n}\n\nexport const useConstraints = () => {\n const context = useContext(PluginsContext);\n if (!context) {\n throw new Error(\"useConstraints must be used within a ConstraintsProvider\");\n }\n\n const { constraintDefinitionsMap, constraintRenderersMap } = context;\n\n const getAllDefinitions = (): ConstraintDefinition[] => {\n return Array.from(constraintDefinitionsMap.values());\n };\n\n const getConstraintDefinitionsForType = (\n type: string,\n ): ConstraintDefinition[] => {\n const definitions = getAllDefinitions();\n return definitions.filter((definition) =>\n definition.appliesTo.includes(type),\n );\n };\n\n const getConstraintDefinition = (constraintName: string) => {\n return constraintDefinitionsMap.get(constraintName);\n };\n\n const getRendererForConstraint = (constraintName: string) => {\n return constraintRenderersMap.get(constraintName);\n };\n\n const validateConstraintValue = (constraintName: string, value: unknown) => {\n const constraintDefinition = getConstraintDefinition(constraintName);\n\n if (constraintDefinition) {\n const schema = constraintDefinition.schema;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const validate = ajv.compile<any>(schema);\n const valid = validate(value);\n\n if (valid) {\n return { status: \"success\" as const };\n }\n\n const obj = {\n status: \"error\" as const,\n code: \"invalid\" as const,\n message: \"Invalid value\",\n error: validate.errors,\n };\n\n return obj satisfies OperationError;\n }\n\n const obj = {\n status: \"error\" as const,\n code: \"constraint-def-missing\" as const,\n message: \"Constraint not found\",\n };\n\n return obj satisfies OperationError;\n };\n\n return {\n getConstraintDefinitionsForType,\n getAllDefinitions,\n getRendererForConstraint,\n getConstraintDefinition,\n validateConstraintValue,\n };\n};\n"],"names":["PluginsContext","createContext","PluginsProvider","children","constraintDefinitionsRef","useRef","constraintRenderersRef","jsx","usePluginSystem","plugins","context","useContext","constraintDefinitionsMap","constraintRenderersMap","useMemo","plugin","constraint","renderers","name","component","id","useConstraints","getAllDefinitions","getConstraintDefinitionsForType","type","definition","getConstraintDefinition","constraintName","value","constraintDefinition","schema","validate","ajv"],"mappings":";;;AAyDA,MAAMA,IAAiBC,EAAwC,MAAS,GAE3DC,IAAkB,CAAC,EAAE,UAAAC,QAAkC;AAGlE,QAAMC,IAA2BC;AAAA,wBAC3B,IAAI;AAAA,EACV,GACMC,IAAyBD,EAEzB,oBAAA,KAAK;AAGT,SAAAE,gBAAAA,EAAA;AAAA,IAACP,EAAe;AAAA,IAAf;AAAA,MACC,OAAO;AAAA,QACL,0BAA0BI,EAAyB;AAAA,QACnD,wBAAwBE,EAAuB;AAAA,MACjD;AAAA,MAEC,UAAAH;AAAA,IAAA;AAAA,EACH;AAEJ;AAGO,SAASK,EACdC,GACA;AACM,QAAAC,IAAUC,EAAWX,CAAc;AACzC,MAAI,CAACU;AACG,UAAA,IAAI,MAAM,uDAAuD;AAGnE,QAAA,EAAE,0BAAAE,GAA0B,wBAAAC,EAAA,IAA2BH;AAmCtD,SAjCsBI,EAAQ,OAE3BL,EAAA,QAAQ,CAACM,MAAW;AAUtB,QARAA,EAAO,MAAM,uBACKA,EAAO,MAAM,oBAAoB,EACzC,QAAQ,CAACC,MAAe;AACT,MAAAJ,EAAA,IAAII,EAAW,MAAMA,CAAU;AAAA,IAAA,CACzD,GAICD,EAAO,MAAM,mBAAmB;AAC5B,YAAAE,IAAYF,EAAO,MAAM,kBAAkB;AAC1C,aAAA,QAAQE,CAAS,EAAE,QAAQ,CAAC,CAACC,GAAMC,CAAS,MAAM;AAChC,QAAAN,EAAA,IAAIK,GAAMC,CAAS;AAAA,MAAA,CAC3C;AAAA,IAAA;AAAA,EACH,CACD,GAEM;AAAA;AAAA,IAEL,UAAUC,GAAqB;AAC7B,aAAOX,EAAQ,KAAK,CAACM,MAAWA,EAAO,OAAOK,CAAE;AAAA,IAClD;AAAA;AAAA,IAGA,UAAUA,GAA8C;AACtD,aAAOX,EAAQ,KAAK,CAACM,MAAWA,EAAO,OAAOK,CAAE;AAAA,IAAA;AAAA,EAEpD,IACC,CAACX,CAAO,CAAC;AAGd;AAEO,MAAMY,IAAiB,MAAM;AAC5B,QAAAX,IAAUC,EAAWX,CAAc;AACzC,MAAI,CAACU;AACG,UAAA,IAAI,MAAM,0DAA0D;AAGtE,QAAA,EAAE,0BAAAE,GAA0B,wBAAAC,EAAA,IAA2BH,GAEvDY,IAAoB,MACjB,MAAM,KAAKV,EAAyB,OAAA,CAAQ,GAG/CW,IAAkC,CACtCC,MAEoBF,EAAkB,EACnB;AAAA,IAAO,CAACG,MACzBA,EAAW,UAAU,SAASD,CAAI;AAAA,EACpC,GAGIE,IAA0B,CAACC,MACxBf,EAAyB,IAAIe,CAAc;AAuC7C,SAAA;AAAA,IACL,iCAAAJ;AAAA,IACA,mBAAAD;AAAA,IACA,0BAvC+B,CAACK,MACzBd,EAAuB,IAAIc,CAAc;AAAA,IAuChD,yBAAAD;AAAA,IACA,yBArC8B,CAACC,GAAwBC,MAAmB;AACpE,YAAAC,IAAuBH,EAAwBC,CAAc;AAEnE,UAAIE,GAAsB;AACxB,cAAMC,IAASD,EAAqB,QAE9BE,IAAWC,EAAI,QAAaF,CAAM;AAGxC,eAFcC,EAASH,CAAK,IAGnB,EAAE,QAAQ,UAAmB,IAG1B;AAAA,UACV,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,SAAS;AAAA,UACT,OAAOG,EAAS;AAAA,QAClB;AAAA,MAEO;AASF,aANK;AAAA,QACV,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IAGF;AAAA,EAQA;AACF;"}
1
+ {"version":3,"file":"index.es4.js","sources":["../src/packages/constraints/context.tsx"],"sourcesContent":["import { createContext, useContext, useMemo, useRef } from \"react\";\nimport type { PropsWithChildren, ComponentType } from \"react\";\n\nimport type { JSONSchema7 } from \"json-schema\";\nimport { ajv } from \"@/packages/builder/utils\";\nimport type { OperationError } from \"../builder/shared-types\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface ConstraintRendererProps<T = any> {\n value: T;\n onConstraintChange: (newValue: T) => void;\n onRemoveConstraint: () => void;\n constraintName: string;\n // Is this constraint disabled/readonly\n disabled?: boolean;\n error?: OperationError;\n}\n\nexport interface ConstraintDefinition {\n /**\n * The unique identifier for the constraint\n */\n name: keyof JSONSchema7;\n label: string;\n /**\n * Types this constraint applies to.\n */\n appliesTo: string[];\n /**\n * Apply JSON schema principles to the constraint.\n */\n schema: JSONSchema7;\n description?: string;\n defaultValue: unknown;\n}\n\nexport interface Constraint {\n name: ConstraintDefinition[\"name\"];\n value: unknown;\n}\n\nexport interface BaseJSONSchemaPlugin {\n id: string;\n hooks: {\n registerConstraints?: () => ConstraintDefinition[];\n registerRenderers?: () => Record<\n string,\n ComponentType<ConstraintRendererProps>\n >;\n };\n}\n\ninterface ContextState {\n constraintDefinitionsMap: Map<string, ConstraintDefinition>;\n constraintRenderersMap: Map<string, ComponentType<ConstraintRendererProps>>;\n}\n\nconst PluginsContext = createContext<ContextState | undefined>(undefined);\n\nexport const PluginsProvider = ({ children }: PropsWithChildren) => {\n // Store references. If you need to trigger a re-render,\n //use the methods in usePluginSystem hook instead\n const constraintDefinitionsRef = useRef<Map<string, ConstraintDefinition>>(\n new Map(),\n );\n const constraintRenderersRef = useRef<\n Map<string, ComponentType<ConstraintRendererProps>>\n >(new Map());\n\n return (\n <PluginsContext.Provider\n value={{\n constraintDefinitionsMap: constraintDefinitionsRef.current,\n constraintRenderersMap: constraintRenderersRef.current,\n }}\n >\n {children}\n </PluginsContext.Provider>\n );\n};\n\n// The main plugin system hook\nexport function usePluginSystem<TPlugin extends BaseJSONSchemaPlugin>(\n plugins: TPlugin[],\n) {\n const context = useContext(PluginsContext);\n if (!context) {\n throw new Error(\"usePluginSystem must be used within a PluginsProvider\");\n }\n\n const { constraintDefinitionsMap, constraintRenderersMap } = context;\n\n const memoizedPluginValues = useMemo(() => {\n // Register all plugins\n plugins.forEach((plugin) => {\n // Register constraints\n if (plugin.hooks.registerConstraints) {\n const constraints = plugin.hooks.registerConstraints();\n constraints.forEach((constraint) => {\n constraintDefinitionsMap.set(constraint.name, constraint);\n });\n }\n\n // Register renderers\n if (plugin.hooks.registerRenderers) {\n const renderers = plugin.hooks.registerRenderers();\n Object.entries(renderers).forEach(([name, component]) => {\n constraintRenderersMap.set(name, component);\n });\n }\n });\n\n return {\n // Check if a plugin with given ID exists\n hasPlugin(id: string): boolean {\n return plugins.some((plugin) => plugin.id === id);\n },\n\n // Get a plugin by ID\n getPlugin(id: string): BaseJSONSchemaPlugin | undefined {\n return plugins.find((plugin) => plugin.id === id);\n },\n };\n }, [plugins]);\n\n return memoizedPluginValues;\n}\n\nexport const useConstraints = () => {\n const context = useContext(PluginsContext);\n if (!context) {\n throw new Error(\"useConstraints must be used within a ConstraintsProvider\");\n }\n\n const { constraintDefinitionsMap, constraintRenderersMap } = context;\n\n const getAllDefinitions = (): ConstraintDefinition[] => {\n return Array.from(constraintDefinitionsMap.values());\n };\n\n const getConstraintDefinitionsForType = (\n type: string,\n ): ConstraintDefinition[] => {\n const definitions = getAllDefinitions();\n return definitions.filter((definition) =>\n definition.appliesTo.includes(type),\n );\n };\n\n const getConstraintDefinition = (constraintName: string) => {\n return constraintDefinitionsMap.get(constraintName);\n };\n\n const getRendererForConstraint = (constraintName: string) => {\n return constraintRenderersMap.get(constraintName);\n };\n\n const validateConstraintValue = (constraintName: string, value: unknown) => {\n const constraintDefinition = getConstraintDefinition(constraintName);\n\n if (constraintDefinition) {\n const schema = constraintDefinition.schema;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const validate = ajv.compile<any>(schema);\n const valid = validate(value);\n\n if (valid) {\n return { status: \"success\" as const };\n }\n\n const obj = {\n status: \"error\" as const,\n code: \"invalid\" as const,\n message: \"Invalid value\",\n error: validate.errors,\n };\n\n return obj satisfies OperationError;\n }\n\n const obj = {\n status: \"error\" as const,\n code: \"constraint-def-missing\" as const,\n message: \"Constraint not found\",\n };\n\n return obj satisfies OperationError;\n };\n\n return {\n getConstraintDefinitionsForType,\n getAllDefinitions,\n getRendererForConstraint,\n getConstraintDefinition,\n validateConstraintValue,\n };\n};\n"],"names":["PluginsContext","createContext","PluginsProvider","children","constraintDefinitionsRef","useRef","constraintRenderersRef","jsx","usePluginSystem","plugins","context","useContext","constraintDefinitionsMap","constraintRenderersMap","useMemo","plugin","constraint","renderers","name","component","id","useConstraints","getAllDefinitions","getConstraintDefinitionsForType","type","definition","getConstraintDefinition","constraintName","value","constraintDefinition","schema","validate","ajv"],"mappings":";;;AAyDA,MAAMA,IAAiBC,EAAwC,MAAS,GAE3DC,IAAkB,CAAC,EAAE,UAAAC,QAAkC;AAGlE,QAAMC,IAA2BC;AAAA,wBAC3B,IAAI;AAAA,EACV,GACMC,IAAyBD,EAEzB,oBAAA,KAAK;AAGT,SAAA,gBAAAE;AAAA,IAACP,EAAe;AAAA,IAAf;AAAA,MACC,OAAO;AAAA,QACL,0BAA0BI,EAAyB;AAAA,QACnD,wBAAwBE,EAAuB;AAAA,MACjD;AAAA,MAEC,UAAAH;AAAA,IAAA;AAAA,EACH;AAEJ;AAGO,SAASK,EACdC,GACA;AACM,QAAAC,IAAUC,EAAWX,CAAc;AACzC,MAAI,CAACU;AACG,UAAA,IAAI,MAAM,uDAAuD;AAGnE,QAAA,EAAE,0BAAAE,GAA0B,wBAAAC,EAAA,IAA2BH;AAmCtD,SAjCsBI,EAAQ,OAE3BL,EAAA,QAAQ,CAACM,MAAW;AAUtB,QARAA,EAAO,MAAM,uBACKA,EAAO,MAAM,oBAAoB,EACzC,QAAQ,CAACC,MAAe;AACT,MAAAJ,EAAA,IAAII,EAAW,MAAMA,CAAU;AAAA,IAAA,CACzD,GAICD,EAAO,MAAM,mBAAmB;AAC5B,YAAAE,IAAYF,EAAO,MAAM,kBAAkB;AAC1C,aAAA,QAAQE,CAAS,EAAE,QAAQ,CAAC,CAACC,GAAMC,CAAS,MAAM;AAChC,QAAAN,EAAA,IAAIK,GAAMC,CAAS;AAAA,MAAA,CAC3C;AAAA,IAAA;AAAA,EACH,CACD,GAEM;AAAA;AAAA,IAEL,UAAUC,GAAqB;AAC7B,aAAOX,EAAQ,KAAK,CAACM,MAAWA,EAAO,OAAOK,CAAE;AAAA,IAClD;AAAA;AAAA,IAGA,UAAUA,GAA8C;AACtD,aAAOX,EAAQ,KAAK,CAACM,MAAWA,EAAO,OAAOK,CAAE;AAAA,IAAA;AAAA,EAEpD,IACC,CAACX,CAAO,CAAC;AAGd;AAEO,MAAMY,IAAiB,MAAM;AAC5B,QAAAX,IAAUC,EAAWX,CAAc;AACzC,MAAI,CAACU;AACG,UAAA,IAAI,MAAM,0DAA0D;AAGtE,QAAA,EAAE,0BAAAE,GAA0B,wBAAAC,EAAA,IAA2BH,GAEvDY,IAAoB,MACjB,MAAM,KAAKV,EAAyB,OAAA,CAAQ,GAG/CW,IAAkC,CACtCC,MAEoBF,EAAkB,EACnB;AAAA,IAAO,CAACG,MACzBA,EAAW,UAAU,SAASD,CAAI;AAAA,EACpC,GAGIE,IAA0B,CAACC,MACxBf,EAAyB,IAAIe,CAAc;AAuC7C,SAAA;AAAA,IACL,iCAAAJ;AAAA,IACA,mBAAAD;AAAA,IACA,0BAvC+B,CAACK,MACzBd,EAAuB,IAAIc,CAAc;AAAA,IAuChD,yBAAAD;AAAA,IACA,yBArC8B,CAACC,GAAwBC,MAAmB;AACpE,YAAAC,IAAuBH,EAAwBC,CAAc;AAEnE,UAAIE,GAAsB;AACxB,cAAMC,IAASD,EAAqB,QAE9BE,IAAWC,EAAI,QAAaF,CAAM;AAGxC,eAFcC,EAASH,CAAK,IAGnB,EAAE,QAAQ,UAAmB,IAG1B;AAAA,UACV,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,SAAS;AAAA,UACT,OAAOG,EAAS;AAAA,QAClB;AAAA,MAEO;AASF,aANK;AAAA,QACV,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IAGF;AAAA,EAQA;AACF;"}
@@ -1,119 +1,89 @@
1
+ import { jsx as m } from "react/jsx-runtime";
1
2
  import * as s from "react";
2
- import { composeEventHandlers as T } from "./index.es64.js";
3
- import { useComposedRefs as _ } from "./index.es66.js";
4
- import { createContextScope as H } from "./index.es67.js";
5
- import { useControllableState as I } from "./index.es77.js";
6
- import { usePrevious as M } from "./index.es79.js";
7
- import { useSize as N } from "./index.es83.js";
8
- import { Primitive as w } from "./index.es75.js";
9
- import { j as p } from "./index.es9.js";
10
- var S = "Switch", [B, J] = H(S), [q, z] = B(S), C = s.forwardRef(
11
- (e, n) => {
12
- const {
13
- __scopeSwitch: t,
14
- name: o,
15
- checked: r,
16
- defaultChecked: u,
17
- required: a,
18
- disabled: c,
19
- value: i = "on",
20
- onCheckedChange: f,
21
- form: b,
22
- ...l
23
- } = e, [d, R] = s.useState(null), E = _(n, (m) => R(m)), v = s.useRef(!1), k = d ? b || !!d.closest("form") : !0, [h = !1, g] = I({
24
- prop: r,
25
- defaultProp: u,
26
- onChange: f
27
- });
28
- return /* @__PURE__ */ p.jsxs(q, { scope: t, checked: h, disabled: c, children: [
29
- /* @__PURE__ */ p.jsx(
30
- w.button,
31
- {
32
- type: "button",
33
- role: "switch",
34
- "aria-checked": h,
35
- "aria-required": a,
36
- "data-state": y(h),
37
- "data-disabled": c ? "" : void 0,
38
- disabled: c,
39
- value: i,
40
- ...l,
41
- ref: E,
42
- onClick: T(e.onClick, (m) => {
43
- g((j) => !j), k && (v.current = m.isPropagationStopped(), v.current || m.stopPropagation());
44
- })
45
- }
46
- ),
47
- k && /* @__PURE__ */ p.jsx(
48
- A,
49
- {
50
- control: d,
51
- bubbles: !v.current,
52
- name: o,
53
- value: i,
54
- checked: h,
55
- required: a,
56
- disabled: c,
57
- form: b,
58
- style: { transform: "translateX(-100%)" }
59
- }
60
- )
61
- ] });
62
- }
3
+ import { Slot as f } from "./index.es33.js";
4
+ import { FormProvider as u, Controller as F, useFormContext as x, useFormState as I } from "react-hook-form";
5
+ import { cn as a } from "./index.es21.js";
6
+ import { Label as g } from "./index.es14.js";
7
+ const S = u, c = s.createContext(
8
+ {}
9
+ ), $ = ({
10
+ ...e
11
+ }) => /* @__PURE__ */ m(c.Provider, { value: { name: e.name }, children: /* @__PURE__ */ m(F, { ...e }) }), d = () => {
12
+ const e = s.useContext(c), r = s.useContext(l), { getFieldState: t } = x(), o = I({ name: e.name }), n = t(e.name, o);
13
+ if (!e)
14
+ throw new Error("useFormField should be used within <FormField>");
15
+ const { id: i } = r;
16
+ return {
17
+ id: i,
18
+ name: e.name,
19
+ formItemId: `${i}-form-item`,
20
+ formDescriptionId: `${i}-form-item-description`,
21
+ formMessageId: `${i}-form-item-message`,
22
+ ...n
23
+ };
24
+ }, l = s.createContext(
25
+ {}
63
26
  );
64
- C.displayName = S;
65
- var x = "SwitchThumb", P = s.forwardRef(
66
- (e, n) => {
67
- const { __scopeSwitch: t, ...o } = e, r = z(x, t);
68
- return /* @__PURE__ */ p.jsx(
69
- w.span,
70
- {
71
- "data-state": y(r.checked),
72
- "data-disabled": r.disabled ? "" : void 0,
73
- ...o,
74
- ref: n
75
- }
76
- );
77
- }
78
- );
79
- P.displayName = x;
80
- var A = (e) => {
81
- const { control: n, checked: t, bubbles: o = !0, ...r } = e, u = s.useRef(null), a = M(t), c = N(n);
82
- return s.useEffect(() => {
83
- const i = u.current, f = window.HTMLInputElement.prototype, l = Object.getOwnPropertyDescriptor(f, "checked").set;
84
- if (a !== t && l) {
85
- const d = new Event("click", { bubbles: o });
86
- l.call(i, t), i.dispatchEvent(d);
27
+ function M({ className: e, ...r }) {
28
+ const t = s.useId();
29
+ return /* @__PURE__ */ m(l.Provider, { value: { id: t }, children: /* @__PURE__ */ m(
30
+ "div",
31
+ {
32
+ "data-slot": "form-item",
33
+ className: a("grid gap-2", e),
34
+ ...r
87
35
  }
88
- }, [a, t, o]), /* @__PURE__ */ p.jsx(
89
- "input",
36
+ ) });
37
+ }
38
+ function w({
39
+ className: e,
40
+ ...r
41
+ }) {
42
+ const { error: t, formItemId: o } = d();
43
+ return /* @__PURE__ */ m(
44
+ g,
90
45
  {
91
- type: "checkbox",
92
- "aria-hidden": !0,
93
- defaultChecked: t,
94
- ...r,
95
- tabIndex: -1,
96
- ref: u,
97
- style: {
98
- ...e.style,
99
- ...c,
100
- position: "absolute",
101
- pointerEvents: "none",
102
- opacity: 0,
103
- margin: 0
104
- }
46
+ "data-slot": "form-label",
47
+ "data-error": !!t,
48
+ className: a("data-[error=true]:text-destructive-foreground", e),
49
+ htmlFor: o,
50
+ ...r
105
51
  }
106
52
  );
107
- };
108
- function y(e) {
109
- return e ? "checked" : "unchecked";
110
53
  }
111
- var K = C, Q = P;
54
+ function N({ ...e }) {
55
+ const { error: r, formItemId: t, formDescriptionId: o, formMessageId: n } = d();
56
+ return /* @__PURE__ */ m(
57
+ f,
58
+ {
59
+ "data-slot": "form-control",
60
+ id: t,
61
+ "aria-describedby": r ? `${o} ${n}` : `${o}`,
62
+ "aria-invalid": !!r,
63
+ ...e
64
+ }
65
+ );
66
+ }
67
+ function P({ className: e, ...r }) {
68
+ const { error: t, formMessageId: o } = d(), n = t ? String(t?.message ?? "") : r.children;
69
+ return n ? /* @__PURE__ */ m(
70
+ "p",
71
+ {
72
+ "data-slot": "form-message",
73
+ id: o,
74
+ className: a("text-destructive-foreground text-sm", e),
75
+ ...r,
76
+ children: n
77
+ }
78
+ ) : null;
79
+ }
112
80
  export {
113
- K as Root,
114
- C as Switch,
115
- P as SwitchThumb,
116
- Q as Thumb,
117
- J as createSwitchScope
81
+ S as Form,
82
+ N as FormControl,
83
+ $ as FormField,
84
+ M as FormItem,
85
+ w as FormLabel,
86
+ P as FormMessage,
87
+ d as useFormField
118
88
  };
119
89
  //# sourceMappingURL=index.es40.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es40.js","sources":["../../../node_modules/.pnpm/@radix-ui+react-switch@1.1.3_@types+react-dom@18.3.5_@types+react@18.3.18__@types+react_f098f4fb4cce2769a96db8f3df627935/node_modules/@radix-ui/react-switch/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/switch/src/switch.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar SWITCH_NAME = \"Switch\";\nvar [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\nvar [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);\nvar Switch = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSwitch,\n name,\n checked: checkedProp,\n defaultChecked,\n required,\n disabled,\n value = \"on\",\n onCheckedChange,\n form,\n ...switchProps\n } = props;\n const [button, setButton] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n const [checked = false, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked,\n onChange: onCheckedChange\n });\n return /* @__PURE__ */ jsxs(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [\n /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...switchProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n setChecked((prevChecked) => !prevChecked);\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n BubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n);\nSwitch.displayName = SWITCH_NAME;\nvar THUMB_NAME = \"SwitchThumb\";\nvar SwitchThumb = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSwitch, ...thumbProps } = props;\n const context = useSwitchContext(THUMB_NAME, __scopeSwitch);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...thumbProps,\n ref: forwardedRef\n }\n );\n }\n);\nSwitchThumb.displayName = THUMB_NAME;\nvar BubbleInput = (props) => {\n const { control, checked, bubbles = true, ...inputProps } = props;\n const ref = React.useRef(null);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"checked\");\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: checked,\n ...inputProps,\n tabIndex: -1,\n ref,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n};\nfunction getState(checked) {\n return checked ? \"checked\" : \"unchecked\";\n}\nvar Root = Switch;\nvar Thumb = SwitchThumb;\nexport {\n Root,\n Switch,\n SwitchThumb,\n Thumb,\n createSwitchScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["SWITCH_NAME","createSwitchContext","createSwitchScope","createContextScope","SwitchProvider","useSwitchContext","Switch","React","props","forwardedRef","__scopeSwitch","name","checkedProp","defaultChecked","required","disabled","value","onCheckedChange","form","switchProps","button","setButton","composedRefs","useComposedRefs","node","hasConsumerStoppedPropagationRef","isFormControl","checked","setChecked","useControllableState","jsxs","jsx","Primitive","getState","composeEventHandlers","event","prevChecked","BubbleInput","THUMB_NAME","SwitchThumb","thumbProps","context","control","bubbles","inputProps","ref","usePrevious","controlSize","useSize","input","inputProto","Root","Thumb"],"mappings":";;;;;;;;;AAYA,IAAIA,IAAc,UACd,CAACC,GAAqBC,CAAiB,IAAIC,EAAmBH,CAAW,GACzE,CAACI,GAAgBC,CAAgB,IAAIJ,EAAoBD,CAAW,GACpEM,IAASC,EAAM;AAAA,EACjB,CAACC,GAAOC,MAAiB;AACvB,UAAM;AAAA,MACJ,eAAAC;AAAA,MACA,MAAAC;AAAA,MACA,SAASC;AAAA,MACT,gBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,UAAAC;AAAA,MACA,OAAAC,IAAQ;AAAA,MACR,iBAAAC;AAAA,MACA,MAAAC;AAAA,MACA,GAAGC;AAAA,IACT,IAAQX,GACE,CAACY,GAAQC,CAAS,IAAId,EAAM,SAAS,IAAI,GACzCe,IAAeC,EAAgBd,GAAc,CAACe,MAASH,EAAUG,CAAI,CAAC,GACtEC,IAAmClB,EAAM,OAAO,EAAK,GACrDmB,IAAgBN,IAASF,KAAQ,CAAC,CAACE,EAAO,QAAQ,MAAM,IAAI,IAC5D,CAACO,IAAU,IAAOC,CAAU,IAAIC,EAAqB;AAAA,MACzD,MAAMjB;AAAA,MACN,aAAaC;AAAA,MACb,UAAUI;AAAA,IAChB,CAAK;AACD,WAAuBa,gBAAAA,EAAAA,KAAK1B,GAAgB,EAAE,OAAOM,GAAe,SAAAiB,GAAS,UAAAZ,GAAU,UAAU;AAAA,MAC/EgB,gBAAAA,EAAG;AAAA,QACjBC,EAAU;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,MAAM;AAAA,UACN,gBAAgBL;AAAA,UAChB,iBAAiBb;AAAA,UACjB,cAAcmB,EAASN,CAAO;AAAA,UAC9B,iBAAiBZ,IAAW,KAAK;AAAA,UACjC,UAAAA;AAAA,UACA,OAAAC;AAAA,UACA,GAAGG;AAAA,UACH,KAAKG;AAAA,UACL,SAASY,EAAqB1B,EAAM,SAAS,CAAC2B,MAAU;AACtD,YAAAP,EAAW,CAACQ,MAAgB,CAACA,CAAW,GACpCV,MACFD,EAAiC,UAAUU,EAAM,qBAAsB,GAClEV,EAAiC,WAASU,EAAM,gBAAiB;AAAA,UAEzE,CAAA;AAAA,QACX;AAAA,MACO;AAAA,MACDT,KAAiCK,gBAAAA,EAAG;AAAA,QAClCM;AAAA,QACA;AAAA,UACE,SAASjB;AAAA,UACT,SAAS,CAACK,EAAiC;AAAA,UAC3C,MAAAd;AAAA,UACA,OAAAK;AAAA,UACA,SAAAW;AAAA,UACA,UAAAb;AAAA,UACA,UAAAC;AAAA,UACA,MAAAG;AAAA,UACA,OAAO,EAAE,WAAW,oBAAmB;AAAA,QACjD;AAAA,MACA;AAAA,IACA,GAAO;AAAA,EACP;AACA;AACAZ,EAAO,cAAcN;AACrB,IAAIsC,IAAa,eACbC,IAAchC,EAAM;AAAA,EACtB,CAACC,GAAOC,MAAiB;AACvB,UAAM,EAAE,eAAAC,GAAe,GAAG8B,EAAU,IAAKhC,GACnCiC,IAAUpC,EAAiBiC,GAAY5B,CAAa;AAC1D,WAAuBqB,gBAAAA,EAAG;AAAA,MACxBC,EAAU;AAAA,MACV;AAAA,QACE,cAAcC,EAASQ,EAAQ,OAAO;AAAA,QACtC,iBAAiBA,EAAQ,WAAW,KAAK;AAAA,QACzC,GAAGD;AAAA,QACH,KAAK/B;AAAA,MACb;AAAA,IACK;AAAA,EACL;AACA;AACA8B,EAAY,cAAcD;AAC1B,IAAID,IAAc,CAAC7B,MAAU;AAC3B,QAAM,EAAE,SAAAkC,GAAS,SAAAf,GAAS,SAAAgB,IAAU,IAAM,GAAGC,EAAU,IAAKpC,GACtDqC,IAAMtC,EAAM,OAAO,IAAI,GACvB6B,IAAcU,EAAYnB,CAAO,GACjCoB,IAAcC,EAAQN,CAAO;AACnC,SAAAnC,EAAM,UAAU,MAAM;AACpB,UAAM0C,IAAQJ,EAAI,SACZK,IAAa,OAAO,iBAAiB,WAErCtB,IADa,OAAO,yBAAyBsB,GAAY,SAAS,EAC1C;AAC9B,QAAId,MAAgBT,KAAWC,GAAY;AACzC,YAAMO,IAAQ,IAAI,MAAM,SAAS,EAAE,SAAAQ,EAAO,CAAE;AAC5C,MAAAf,EAAW,KAAKqB,GAAOtB,CAAO,GAC9BsB,EAAM,cAAcd,CAAK;AAAA,IAC/B;AAAA,EACG,GAAE,CAACC,GAAaT,GAASgB,CAAO,CAAC,GACXZ,gBAAAA,EAAG;AAAA,IACxB;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,eAAe;AAAA,MACf,gBAAgBJ;AAAA,MAChB,GAAGiB;AAAA,MACH,UAAU;AAAA,MACV,KAAAC;AAAA,MACA,OAAO;AAAA,QACL,GAAGrC,EAAM;AAAA,QACT,GAAGuC;AAAA,QACH,UAAU;AAAA,QACV,eAAe;AAAA,QACf,SAAS;AAAA,QACT,QAAQ;AAAA,MAChB;AAAA,IACA;AAAA,EACG;AACH;AACA,SAASd,EAASN,GAAS;AACzB,SAAOA,IAAU,YAAY;AAC/B;AACG,IAACwB,IAAO7C,GACP8C,IAAQb;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es40.js","sources":["../src/components/ui/form.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n Controller,\n FormProvider,\n useFormContext,\n useFormState,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from \"react-hook-form\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Label } from \"@/components/ui/label\";\n\nconst Form = FormProvider;\n\ninterface FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> {\n name: TName;\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue,\n);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\");\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ninterface FormItemContextValue {\n id: string;\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue,\n);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn(\"grid gap-2\", className)}\n {...props}\n />\n </FormItemContext.Provider>\n );\n}\n\nfunction FormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn(\"data-[error=true]:text-destructive-foreground\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n const { error, formMessageId } = useFormField();\n\n const body = error ? String(error?.message ?? \"\") : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn(\"text-destructive-foreground text-sm\", className)}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n};\n"],"names":["Form","FormProvider","FormFieldContext","React","FormField","props","jsx","Controller","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","useFormContext","formState","useFormState","fieldState","id","FormItem","className","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormMessage","body"],"mappings":";;;;;;AAgBA,MAAMA,IAAOC,GASPC,IAAmBC,EAAM;AAAA,EAC7B,CAAA;AACF,GAEMC,IAAY,CAGhB;AAAA,EACA,GAAGC;AACL,MAEK,gBAAAC,EAAAJ,EAAiB,UAAjB,EAA0B,OAAO,EAAE,MAAMG,EAAM,KAAA,GAC9C,UAAA,gBAAAC,EAACC,GAAY,EAAA,GAAGF,EAAO,CAAA,GACzB,GAIEG,IAAe,MAAM;AACnB,QAAAC,IAAeN,EAAM,WAAWD,CAAgB,GAChDQ,IAAcP,EAAM,WAAWQ,CAAe,GAC9C,EAAE,eAAAC,EAAc,IAAIC,EAAe,GACnCC,IAAYC,EAAa,EAAE,MAAMN,EAAa,MAAM,GACpDO,IAAaJ,EAAcH,EAAa,MAAMK,CAAS;AAE7D,MAAI,CAACL;AACG,UAAA,IAAI,MAAM,gDAAgD;AAG5D,QAAA,EAAE,IAAAQ,MAAOP;AAER,SAAA;AAAA,IACL,IAAAO;AAAA,IACA,MAAMR,EAAa;AAAA,IACnB,YAAY,GAAGQ,CAAE;AAAA,IACjB,mBAAmB,GAAGA,CAAE;AAAA,IACxB,eAAe,GAAGA,CAAE;AAAA,IACpB,GAAGD;AAAA,EACL;AACF,GAMML,IAAkBR,EAAM;AAAA,EAC5B,CAAA;AACF;AAEA,SAASe,EAAS,EAAE,WAAAC,GAAW,GAAGd,KAAsC;AAChE,QAAAY,IAAKd,EAAM,MAAM;AAEvB,2BACGQ,EAAgB,UAAhB,EAAyB,OAAO,EAAE,IAAAM,KACjC,UAAA,gBAAAX;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWc,EAAG,cAAcD,CAAS;AAAA,MACpC,GAAGd;AAAA,IAAA;AAAA,EAAA,GAER;AAEJ;AAEA,SAASgB,EAAU;AAAA,EACjB,WAAAF;AAAA,EACA,GAAGd;AACL,GAAqD;AACnD,QAAM,EAAE,OAAAiB,GAAO,YAAAC,EAAW,IAAIf,EAAa;AAGzC,SAAA,gBAAAF;AAAA,IAACkB;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,cAAY,CAAC,CAACF;AAAA,MACd,WAAWF,EAAG,iDAAiDD,CAAS;AAAA,MACxE,SAASI;AAAA,MACR,GAAGlB;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASoB,EAAY,EAAE,GAAGpB,KAA4C;AACpE,QAAM,EAAE,OAAAiB,GAAO,YAAAC,GAAY,mBAAAG,GAAmB,eAAAC,EAAA,IAC5CnB,EAAa;AAGb,SAAA,gBAAAF;AAAA,IAACsB;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,IAAIL;AAAA,MACJ,oBACGD,IAEG,GAAGI,CAAiB,IAAIC,CAAa,KADrC,GAAGD,CAAiB;AAAA,MAG1B,gBAAc,CAAC,CAACJ;AAAA,MACf,GAAGjB;AAAA,IAAA;AAAA,EACN;AAEJ;AAeA,SAASwB,EAAY,EAAE,WAAAV,GAAW,GAAGd,KAAoC;AACvE,QAAM,EAAE,OAAAiB,GAAO,eAAAK,EAAc,IAAInB,EAAa,GAExCsB,IAAOR,IAAQ,OAAOA,GAAO,WAAW,EAAE,IAAIjB,EAAM;AAE1D,SAAKyB,IAKH,gBAAAxB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,IAAIqB;AAAA,MACJ,WAAWP,EAAG,uCAAuCD,CAAS;AAAA,MAC7D,GAAGd;AAAA,MAEH,UAAAyB;AAAA,IAAA;AAAA,EACH,IAXO;AAaX;"}
@@ -1,117 +1,63 @@
1
- import { j as a } from "./index.es9.js";
2
- import { Root as n, Content as i, Close as l, Title as r, Description as d, Portal as c, Overlay as g } from "./index.es61.js";
3
- import { cn as o } from "./index.es29.js";
4
- import f from "./index.es30.js";
5
- function b({
6
- ...t
7
- }) {
8
- return /* @__PURE__ */ a.jsx(n, { "data-slot": "dialog", ...t });
9
- }
10
- function u({
11
- ...t
12
- }) {
13
- return /* @__PURE__ */ a.jsx(c, { "data-slot": "dialog-portal", ...t });
14
- }
15
- function m({
16
- className: t,
17
- ...e
18
- }) {
19
- return /* @__PURE__ */ a.jsx(
20
- g,
1
+ import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
+ import { Label as h } from "./index.es14.js";
3
+ import { Input as x } from "./index.es27.js";
4
+ import { InputErrorWrapper as y } from "./index.es28.js";
5
+ import { useState as p } from "react";
6
+ import E from "./index.es29.js";
7
+ const w = ({
8
+ values: t,
9
+ onAddValue: s,
10
+ renderValues: o,
11
+ maxValues: n,
12
+ onRemoveValue: c,
13
+ ...u
14
+ }) => {
15
+ const [i, d] = p(), [l, f] = p();
16
+ return /* @__PURE__ */ m(
17
+ y,
21
18
  {
22
- "data-slot": "dialog-overlay",
23
- className: o(
24
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",
25
- t
26
- ),
27
- ...e
28
- }
29
- );
30
- }
31
- function h({
32
- className: t,
33
- children: e,
34
- ...s
35
- }) {
36
- return /* @__PURE__ */ a.jsxs(u, { "data-slot": "dialog-portal", children: [
37
- /* @__PURE__ */ a.jsx(m, {}),
38
- /* @__PURE__ */ a.jsxs(
39
- i,
40
- {
41
- "data-slot": "dialog-content",
42
- className: o(
43
- "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
44
- t
19
+ errorCode: i,
20
+ errorDescription: l,
21
+ showError: !!i,
22
+ className: "space-y-2",
23
+ children: [
24
+ /* @__PURE__ */ e(h, { children: "Add Input" }),
25
+ /* @__PURE__ */ e(
26
+ x,
27
+ {
28
+ ...u,
29
+ onKeyDown: (r) => {
30
+ r.key === "Enter" && (r.preventDefault(), r.stopPropagation());
31
+ },
32
+ onKeyUp: (r) => {
33
+ if (r.key === "Enter") {
34
+ if (n && t.length >= n) {
35
+ d("Maximum reached"), f(
36
+ "You have reached the maximum number of values"
37
+ );
38
+ return;
39
+ }
40
+ s?.(r.currentTarget.value), r.currentTarget.value = "";
41
+ }
42
+ }
43
+ }
45
44
  ),
46
- ...s,
47
- children: [
48
- e,
49
- /* @__PURE__ */ a.jsxs(l, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [
50
- /* @__PURE__ */ a.jsx(f, {}),
51
- /* @__PURE__ */ a.jsx("span", { className: "sr-only", children: "Close" })
52
- ] })
53
- ]
54
- }
55
- )
56
- ] });
57
- }
58
- function D({ className: t, ...e }) {
59
- return /* @__PURE__ */ a.jsx(
60
- "div",
61
- {
62
- "data-slot": "dialog-header",
63
- className: o("flex flex-col gap-2 text-center sm:text-left", t),
64
- ...e
45
+ o ? o() : /* @__PURE__ */ e("div", { className: "space-x-2 flex", children: t.map((r, a) => /* @__PURE__ */ m(
46
+ "div",
47
+ {
48
+ className: "flex items-center text-xs border rounded p-1 w-max mt-2",
49
+ children: [
50
+ /* @__PURE__ */ e("span", { children: r }),
51
+ /* @__PURE__ */ e("button", { onClick: () => c(a), children: /* @__PURE__ */ e(E, { size: 16 }) })
52
+ ]
53
+ },
54
+ `${a}-${r}`
55
+ )) })
56
+ ]
65
57
  }
66
58
  );
67
- }
68
- function y({ className: t, ...e }) {
69
- return /* @__PURE__ */ a.jsx(
70
- "div",
71
- {
72
- "data-slot": "dialog-footer",
73
- className: o(
74
- "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
75
- t
76
- ),
77
- ...e
78
- }
79
- );
80
- }
81
- function N({
82
- className: t,
83
- ...e
84
- }) {
85
- return /* @__PURE__ */ a.jsx(
86
- r,
87
- {
88
- "data-slot": "dialog-title",
89
- className: o("text-lg leading-none font-semibold", t),
90
- ...e
91
- }
92
- );
93
- }
94
- function z({
95
- className: t,
96
- ...e
97
- }) {
98
- return /* @__PURE__ */ a.jsx(
99
- d,
100
- {
101
- "data-slot": "dialog-description",
102
- className: o("text-muted-foreground text-sm", t),
103
- ...e
104
- }
105
- );
106
- }
59
+ };
107
60
  export {
108
- b as Dialog,
109
- h as DialogContent,
110
- z as DialogDescription,
111
- y as DialogFooter,
112
- D as DialogHeader,
113
- m as DialogOverlay,
114
- u as DialogPortal,
115
- N as DialogTitle
61
+ w as default
116
62
  };
117
63
  //# sourceMappingURL=index.es41.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es41.js","sources":["../src/components/ui/dialog.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { XIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content>) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\">\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n"],"names":["Dialog","props","DialogPrimitive.Root","DialogPortal","DialogPrimitive.Portal","DialogOverlay","className","jsx","DialogPrimitive.Overlay","cn","DialogContent","children","jsxs","DialogPrimitive.Content","DialogPrimitive.Close","XIcon","DialogHeader","DialogFooter","DialogTitle","DialogPrimitive.Title","DialogDescription","DialogPrimitive.Description"],"mappings":";;;;AAMA,SAASA,EAAO;AAAA,EACd,GAAGC;AACL,GAAsD;AACpD,+BAAQC,GAAA,EAAqB,aAAU,UAAU,GAAGD,GAAO;AAC7D;AAQA,SAASE,EAAa;AAAA,EACpB,GAAGF;AACL,GAAwD;AACtD,+BAAQG,GAAA,EAAuB,aAAU,iBAAiB,GAAGH,GAAO;AACtE;AAQA,SAASI,EAAc;AAAA,EACrB,WAAAC;AAAA,EACA,GAAGL;AACL,GAAyD;AAErD,SAAAM,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MACF;AAAA,MACC,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASS,EAAc;AAAA,EACrB,WAAAJ;AAAA,EACA,UAAAK;AAAA,EACA,GAAGV;AACL,GAAyD;AAErD,SAAAW,gBAAAA,EAAA,KAACT,GAAa,EAAA,aAAU,iBACtB,UAAA;AAAA,IAAAI,gBAAAA,EAAA,IAACF,GAAc,EAAA;AAAA,IACfO,gBAAAA,EAAA;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,WAAWJ;AAAA,UACT;AAAA,UACAH;AAAA,QACF;AAAA,QACC,GAAGL;AAAA,QAEH,UAAA;AAAA,UAAAU;AAAA,UACAC,gBAAAA,EAAAA,KAAAE,GAAA,EAAsB,WAAU,qWAC/B,UAAA;AAAA,YAAAP,gBAAAA,EAAA,IAACQ,GAAM,EAAA;AAAA,YACNR,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAU,WAAU,UAAK,QAAA,CAAA;AAAA,UAAA,EACjC,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;AAEA,SAASS,EAAa,EAAE,WAAAV,GAAW,GAAGL,KAAsC;AAExE,SAAAM,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWE,EAAG,gDAAgDH,CAAS;AAAA,MACtE,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASgB,EAAa,EAAE,WAAAX,GAAW,GAAGL,KAAsC;AAExE,SAAAM,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWE;AAAA,QACT;AAAA,QACAH;AAAA,MACF;AAAA,MACC,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASiB,EAAY;AAAA,EACnB,WAAAZ;AAAA,EACA,GAAGL;AACL,GAAuD;AAEnD,SAAAM,gBAAAA,EAAA;AAAA,IAACY;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWV,EAAG,sCAAsCH,CAAS;AAAA,MAC5D,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASmB,EAAkB;AAAA,EACzB,WAAAd;AAAA,EACA,GAAGL;AACL,GAA6D;AAEzD,SAAAM,gBAAAA,EAAA;AAAA,IAACc;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWZ,EAAG,iCAAiCH,CAAS;AAAA,MACvD,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;"}
1
+ {"version":3,"file":"index.es41.js","sources":["../src/components/multi-input.tsx"],"sourcesContent":["import { Label } from \"@/components/ui/label\";\nimport { Input } from \"@/components/ui/input\";\nimport { X } from \"lucide-react\";\nimport { InputErrorWrapper } from \"@/components/input-error\";\nimport { useState } from \"react\";\n\ninterface MultiInputProps {\n renderValues?: () => React.ReactNode;\n values: string[];\n onAddValue: (newVal: string) => void;\n onRemoveValue: (index: number) => void;\n maxValues?: number;\n}\n\nconst MultiInput = ({\n values,\n onAddValue,\n renderValues,\n maxValues,\n onRemoveValue,\n ...props\n}: MultiInputProps &\n Omit<React.ComponentProps<\"input\">, \"value\" | \"onChange\">) => {\n const [primaryError, setPrimaryError] = useState<string>();\n const [errorDescription, setErrorDescription] = useState<string>();\n\n return (\n <InputErrorWrapper\n errorCode={primaryError}\n errorDescription={errorDescription}\n showError={!!primaryError}\n className=\"space-y-2\"\n >\n <Label>Add Input</Label>\n <Input\n {...props}\n onKeyDown={(e) => {\n // Prevent form submission on Enter key press\n if (e.key === \"Enter\") {\n e.preventDefault();\n //prevent bubbling up\n e.stopPropagation();\n }\n }}\n onKeyUp={(e) => {\n // Add value on Enter key press\n if (e.key === \"Enter\") {\n if (maxValues && values.length >= maxValues) {\n setPrimaryError(\"Maximum reached\");\n setErrorDescription(\n \"You have reached the maximum number of values\",\n );\n return;\n }\n onAddValue?.(e.currentTarget.value);\n e.currentTarget.value = \"\";\n }\n }}\n />\n {renderValues ? (\n renderValues()\n ) : (\n <div className=\"space-x-2 flex\">\n {values.map((value, i) => (\n <div\n key={`${i}-${value}`}\n className=\"flex items-center text-xs border rounded p-1 w-max mt-2\"\n >\n <span>{value}</span>\n <button onClick={() => onRemoveValue(i)}>\n <X size={16} />\n </button>\n </div>\n ))}\n </div>\n )}\n </InputErrorWrapper>\n );\n};\n\nexport default MultiInput;\n"],"names":["MultiInput","values","onAddValue","renderValues","maxValues","onRemoveValue","props","primaryError","setPrimaryError","useState","errorDescription","setErrorDescription","jsxs","InputErrorWrapper","jsx","Label","Input","e","value","i","X"],"mappings":";;;;;;AAcA,MAAMA,IAAa,CAAC;AAAA,EAClB,QAAAC;AAAA,EACA,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,GAAGC;AACL,MACgE;AAC9D,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAAiB,GACnD,CAACC,GAAkBC,CAAmB,IAAIF,EAAiB;AAG/D,SAAA,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWN;AAAA,MACX,kBAAAG;AAAA,MACA,WAAW,CAAC,CAACH;AAAA,MACb,WAAU;AAAA,MAEV,UAAA;AAAA,QAAA,gBAAAO,EAACC,KAAM,UAAS,YAAA,CAAA;AAAA,QAChB,gBAAAD;AAAA,UAACE;AAAA,UAAA;AAAA,YACE,GAAGV;AAAA,YACJ,WAAW,CAACW,MAAM;AAEZ,cAAAA,EAAE,QAAQ,YACZA,EAAE,eAAe,GAEjBA,EAAE,gBAAgB;AAAA,YAEtB;AAAA,YACA,SAAS,CAACA,MAAM;AAEV,kBAAAA,EAAE,QAAQ,SAAS;AACjB,oBAAAb,KAAaH,EAAO,UAAUG,GAAW;AAC3C,kBAAAI,EAAgB,iBAAiB,GACjCG;AAAA,oBACE;AAAA,kBACF;AACA;AAAA,gBAAA;AAEW,gBAAAT,IAAAe,EAAE,cAAc,KAAK,GAClCA,EAAE,cAAc,QAAQ;AAAA,cAAA;AAAA,YAC1B;AAAA,UACF;AAAA,QACF;AAAA,QACCd,IACCA,EAAa,IAEZ,gBAAAW,EAAA,OAAA,EAAI,WAAU,kBACZ,UAAOb,EAAA,IAAI,CAACiB,GAAOC,MAClB,gBAAAP;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAU;AAAA,YAEV,UAAA;AAAA,cAAA,gBAAAE,EAAC,UAAM,UAAMI,EAAA,CAAA;AAAA,cACb,gBAAAJ,EAAC,UAAO,EAAA,SAAS,MAAMT,EAAcc,CAAC,GACpC,UAAC,gBAAAL,EAAAM,GAAA,EAAE,MAAM,GAAI,CAAA,EACf,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UANK,GAAGD,CAAC,IAAID,CAAK;AAAA,QAAA,CAQrB,EACH,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ;AAEJ;"}