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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/dist/index.cjs10.js +1 -1
  2. package/dist/index.cjs10.js.map +1 -1
  3. package/dist/index.cjs100.js +1 -1
  4. package/dist/index.cjs100.js.map +1 -1
  5. package/dist/index.cjs101.js +1 -1
  6. package/dist/index.cjs101.js.map +1 -1
  7. package/dist/index.cjs102.js +1 -1
  8. package/dist/index.cjs102.js.map +1 -1
  9. package/dist/index.cjs103.js +1 -1
  10. package/dist/index.cjs103.js.map +1 -1
  11. package/dist/index.cjs104.js +2 -0
  12. package/dist/index.cjs104.js.map +1 -0
  13. package/dist/index.cjs11.js +1 -1
  14. package/dist/index.cjs11.js.map +1 -1
  15. package/dist/index.cjs12.js +1 -1
  16. package/dist/index.cjs12.js.map +1 -1
  17. package/dist/index.cjs13.js +1 -1
  18. package/dist/index.cjs13.js.map +1 -1
  19. package/dist/index.cjs14.js +1 -1
  20. package/dist/index.cjs14.js.map +1 -1
  21. package/dist/index.cjs15.js +1 -1
  22. package/dist/index.cjs15.js.map +1 -1
  23. package/dist/index.cjs16.js +1 -1
  24. package/dist/index.cjs16.js.map +1 -1
  25. package/dist/index.cjs17.js +1 -1
  26. package/dist/index.cjs17.js.map +1 -1
  27. package/dist/index.cjs18.js +1 -1
  28. package/dist/index.cjs18.js.map +1 -1
  29. package/dist/index.cjs19.js +1 -1
  30. package/dist/index.cjs19.js.map +1 -1
  31. package/dist/index.cjs2.js +1 -1
  32. package/dist/index.cjs2.js.map +1 -1
  33. package/dist/index.cjs20.js +1 -1
  34. package/dist/index.cjs20.js.map +1 -1
  35. package/dist/index.cjs21.js +1 -1
  36. package/dist/index.cjs21.js.map +1 -1
  37. package/dist/index.cjs22.js +1 -6
  38. package/dist/index.cjs22.js.map +1 -1
  39. package/dist/index.cjs23.js +2 -2
  40. package/dist/index.cjs23.js.map +1 -1
  41. package/dist/index.cjs24.js +2 -2
  42. package/dist/index.cjs24.js.map +1 -1
  43. package/dist/index.cjs25.js +2 -2
  44. package/dist/index.cjs25.js.map +1 -1
  45. package/dist/index.cjs26.js +2 -2
  46. package/dist/index.cjs26.js.map +1 -1
  47. package/dist/index.cjs27.js +6 -1
  48. package/dist/index.cjs27.js.map +1 -1
  49. package/dist/index.cjs28.js +1 -1
  50. package/dist/index.cjs28.js.map +1 -1
  51. package/dist/index.cjs29.js +1 -6
  52. package/dist/index.cjs29.js.map +1 -1
  53. package/dist/index.cjs3.js +1 -1
  54. package/dist/index.cjs3.js.map +1 -1
  55. package/dist/index.cjs30.js +6 -1
  56. package/dist/index.cjs30.js.map +1 -1
  57. package/dist/index.cjs31.js +1 -1
  58. package/dist/index.cjs31.js.map +1 -1
  59. package/dist/index.cjs32.js +1 -1
  60. package/dist/index.cjs32.js.map +1 -1
  61. package/dist/index.cjs33.js +1 -1
  62. package/dist/index.cjs33.js.map +1 -1
  63. package/dist/index.cjs34.js +1 -1
  64. package/dist/index.cjs34.js.map +1 -1
  65. package/dist/index.cjs35.js +1 -1
  66. package/dist/index.cjs35.js.map +1 -1
  67. package/dist/index.cjs36.js +1 -1
  68. package/dist/index.cjs36.js.map +1 -1
  69. package/dist/index.cjs37.js +1 -1
  70. package/dist/index.cjs37.js.map +1 -1
  71. package/dist/index.cjs38.js +6 -1
  72. package/dist/index.cjs38.js.map +1 -1
  73. package/dist/index.cjs39.js +6 -1
  74. package/dist/index.cjs39.js.map +1 -1
  75. package/dist/index.cjs4.js +1 -1
  76. package/dist/index.cjs40.js +6 -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 +1 -6
  83. package/dist/index.cjs43.js.map +1 -1
  84. package/dist/index.cjs44.js +1 -6
  85. package/dist/index.cjs44.js.map +1 -1
  86. package/dist/index.cjs45.js +1 -6
  87. package/dist/index.cjs45.js.map +1 -1
  88. package/dist/index.cjs46.js +1 -7
  89. package/dist/index.cjs46.js.map +1 -1
  90. package/dist/index.cjs47.js +7 -1
  91. package/dist/index.cjs47.js.map +1 -1
  92. package/dist/index.cjs48.js +1 -6
  93. package/dist/index.cjs48.js.map +1 -1
  94. package/dist/index.cjs49.js +1 -6
  95. package/dist/index.cjs49.js.map +1 -1
  96. package/dist/index.cjs5.js +1 -1
  97. package/dist/index.cjs50.js +1 -6
  98. package/dist/index.cjs50.js.map +1 -1
  99. package/dist/index.cjs51.js +2 -2
  100. package/dist/index.cjs51.js.map +1 -1
  101. package/dist/index.cjs52.js +6 -1
  102. package/dist/index.cjs52.js.map +1 -1
  103. package/dist/index.cjs53.js +6 -1
  104. package/dist/index.cjs53.js.map +1 -1
  105. package/dist/index.cjs54.js +6 -5
  106. package/dist/index.cjs54.js.map +1 -1
  107. package/dist/index.cjs55.js +5 -1
  108. package/dist/index.cjs55.js.map +1 -1
  109. package/dist/index.cjs56.js +1 -1
  110. package/dist/index.cjs56.js.map +1 -1
  111. package/dist/index.cjs58.js +1 -1
  112. package/dist/index.cjs58.js.map +1 -1
  113. package/dist/index.cjs59.js +1 -1
  114. package/dist/index.cjs59.js.map +1 -1
  115. package/dist/index.cjs6.js +1 -1
  116. package/dist/index.cjs60.js +1 -1
  117. package/dist/index.cjs60.js.map +1 -1
  118. package/dist/index.cjs61.js +1 -1
  119. package/dist/index.cjs61.js.map +1 -1
  120. package/dist/index.cjs62.js +1 -1
  121. package/dist/index.cjs62.js.map +1 -1
  122. package/dist/index.cjs63.js +1 -1
  123. package/dist/index.cjs63.js.map +1 -1
  124. package/dist/index.cjs64.js +1 -1
  125. package/dist/index.cjs64.js.map +1 -1
  126. package/dist/index.cjs65.js +1 -1
  127. package/dist/index.cjs65.js.map +1 -1
  128. package/dist/index.cjs66.js +1 -1
  129. package/dist/index.cjs66.js.map +1 -1
  130. package/dist/index.cjs67.js +1 -1
  131. package/dist/index.cjs67.js.map +1 -1
  132. package/dist/index.cjs68.js +1 -1
  133. package/dist/index.cjs68.js.map +1 -1
  134. package/dist/index.cjs69.js +1 -1
  135. package/dist/index.cjs69.js.map +1 -1
  136. package/dist/index.cjs7.js +1 -1
  137. package/dist/index.cjs70.js +1 -1
  138. package/dist/index.cjs70.js.map +1 -1
  139. package/dist/index.cjs71.js +1 -1
  140. package/dist/index.cjs71.js.map +1 -1
  141. package/dist/index.cjs72.js +1 -1
  142. package/dist/index.cjs72.js.map +1 -1
  143. package/dist/index.cjs73.js +1 -1
  144. package/dist/index.cjs73.js.map +1 -1
  145. package/dist/index.cjs74.js +1 -1
  146. package/dist/index.cjs74.js.map +1 -1
  147. package/dist/index.cjs75.js +1 -1
  148. package/dist/index.cjs75.js.map +1 -1
  149. package/dist/index.cjs76.js +1 -1
  150. package/dist/index.cjs76.js.map +1 -1
  151. package/dist/index.cjs77.js +1 -1
  152. package/dist/index.cjs77.js.map +1 -1
  153. package/dist/index.cjs78.js +1 -1
  154. package/dist/index.cjs78.js.map +1 -1
  155. package/dist/index.cjs79.js +1 -1
  156. package/dist/index.cjs79.js.map +1 -1
  157. package/dist/index.cjs8.js +1 -1
  158. package/dist/index.cjs80.js +1 -1
  159. package/dist/index.cjs80.js.map +1 -1
  160. package/dist/index.cjs81.js +1 -1
  161. package/dist/index.cjs81.js.map +1 -1
  162. package/dist/index.cjs82.js +1 -1
  163. package/dist/index.cjs82.js.map +1 -1
  164. package/dist/index.cjs83.js +1 -1
  165. package/dist/index.cjs83.js.map +1 -1
  166. package/dist/index.cjs84.js +1 -1
  167. package/dist/index.cjs84.js.map +1 -1
  168. package/dist/index.cjs85.js +1 -1
  169. package/dist/index.cjs85.js.map +1 -1
  170. package/dist/index.cjs86.js +1 -1
  171. package/dist/index.cjs86.js.map +1 -1
  172. package/dist/index.cjs87.js +1 -1
  173. package/dist/index.cjs87.js.map +1 -1
  174. package/dist/index.cjs88.js +1 -4
  175. package/dist/index.cjs88.js.map +1 -1
  176. package/dist/index.cjs89.js +4 -1
  177. package/dist/index.cjs89.js.map +1 -1
  178. package/dist/index.cjs9.js +1 -1
  179. package/dist/index.cjs9.js.map +1 -1
  180. package/dist/index.cjs90.js +1 -1
  181. package/dist/index.cjs90.js.map +1 -1
  182. package/dist/index.cjs91.js +1 -1
  183. package/dist/index.cjs91.js.map +1 -1
  184. package/dist/index.cjs92.js +1 -1
  185. package/dist/index.cjs92.js.map +1 -1
  186. package/dist/index.cjs93.js +1 -1
  187. package/dist/index.cjs93.js.map +1 -1
  188. package/dist/index.cjs94.js +1 -38
  189. package/dist/index.cjs94.js.map +1 -1
  190. package/dist/index.cjs95.js +38 -1
  191. package/dist/index.cjs95.js.map +1 -1
  192. package/dist/index.cjs96.js +1 -1
  193. package/dist/index.cjs96.js.map +1 -1
  194. package/dist/index.cjs97.js +1 -1
  195. package/dist/index.cjs97.js.map +1 -1
  196. package/dist/index.cjs98.js +1 -1
  197. package/dist/index.cjs98.js.map +1 -1
  198. package/dist/index.cjs99.js +1 -1
  199. package/dist/index.cjs99.js.map +1 -1
  200. package/dist/index.es10.js +22 -46
  201. package/dist/index.es10.js.map +1 -1
  202. package/dist/index.es100.js +23 -23
  203. package/dist/index.es100.js.map +1 -1
  204. package/dist/index.es101.js +21 -11
  205. package/dist/index.es101.js.map +1 -1
  206. package/dist/index.es102.js +11 -26
  207. package/dist/index.es102.js.map +1 -1
  208. package/dist/index.es103.js +27 -4
  209. package/dist/index.es103.js.map +1 -1
  210. package/dist/index.es104.js +8 -0
  211. package/dist/index.es104.js.map +1 -0
  212. package/dist/index.es11.js +38 -57
  213. package/dist/index.es11.js.map +1 -1
  214. package/dist/index.es12.js +58 -21
  215. package/dist/index.es12.js.map +1 -1
  216. package/dist/index.es13.js +21 -126
  217. package/dist/index.es13.js.map +1 -1
  218. package/dist/index.es14.js +125 -11
  219. package/dist/index.es14.js.map +1 -1
  220. package/dist/index.es15.js +17 -132
  221. package/dist/index.es15.js.map +1 -1
  222. package/dist/index.es16.js +130 -133
  223. package/dist/index.es16.js.map +1 -1
  224. package/dist/index.es17.js +114 -40
  225. package/dist/index.es17.js.map +1 -1
  226. package/dist/index.es18.js +62 -9
  227. package/dist/index.es18.js.map +1 -1
  228. package/dist/index.es19.js +11 -23
  229. package/dist/index.es19.js.map +1 -1
  230. package/dist/index.es2.js +94 -85
  231. package/dist/index.es2.js.map +1 -1
  232. package/dist/index.es20.js +20 -422
  233. package/dist/index.es20.js.map +1 -1
  234. package/dist/index.es21.js +424 -5
  235. package/dist/index.es21.js.map +1 -1
  236. package/dist/index.es22.js +6 -13
  237. package/dist/index.es22.js.map +1 -1
  238. package/dist/index.es23.js +7 -10
  239. package/dist/index.es23.js.map +1 -1
  240. package/dist/index.es24.js +10 -7
  241. package/dist/index.es24.js.map +1 -1
  242. package/dist/index.es25.js +6 -12
  243. package/dist/index.es25.js.map +1 -1
  244. package/dist/index.es26.js +13 -4
  245. package/dist/index.es26.js.map +1 -1
  246. package/dist/index.es27.js +10 -19
  247. package/dist/index.es27.js.map +1 -1
  248. package/dist/index.es28.js +18 -22
  249. package/dist/index.es28.js.map +1 -1
  250. package/dist/index.es29.js +23 -13
  251. package/dist/index.es29.js.map +1 -1
  252. package/dist/index.es3.js +160 -165
  253. package/dist/index.es3.js.map +1 -1
  254. package/dist/index.es30.js +13 -17
  255. package/dist/index.es30.js.map +1 -1
  256. package/dist/index.es31.js +17 -15
  257. package/dist/index.es31.js.map +1 -1
  258. package/dist/index.es32.js +13 -2475
  259. package/dist/index.es32.js.map +1 -1
  260. package/dist/index.es33.js +2472 -36
  261. package/dist/index.es33.js.map +1 -1
  262. package/dist/index.es34.js +41 -33
  263. package/dist/index.es34.js.map +1 -1
  264. package/dist/index.es35.js +32 -115
  265. package/dist/index.es35.js.map +1 -1
  266. package/dist/index.es36.js +108 -106
  267. package/dist/index.es36.js.map +1 -1
  268. package/dist/index.es37.js +824 -48
  269. package/dist/index.es37.js.map +1 -1
  270. package/dist/index.es38.js +10 -24
  271. package/dist/index.es38.js.map +1 -1
  272. package/dist/index.es39.js +10 -45
  273. package/dist/index.es39.js.map +1 -1
  274. package/dist/index.es4.js +1 -1
  275. package/dist/index.es40.js +10 -86
  276. package/dist/index.es40.js.map +1 -1
  277. package/dist/index.es41.js +110 -56
  278. package/dist/index.es41.js.map +1 -1
  279. package/dist/index.es42.js +48 -824
  280. package/dist/index.es42.js.map +1 -1
  281. package/dist/index.es43.js +24 -10
  282. package/dist/index.es43.js.map +1 -1
  283. package/dist/index.es44.js +45 -10
  284. package/dist/index.es44.js.map +1 -1
  285. package/dist/index.es45.js +86 -10
  286. package/dist/index.es45.js.map +1 -1
  287. package/dist/index.es46.js +57 -120
  288. package/dist/index.es46.js.map +1 -1
  289. package/dist/index.es47.js +122 -62
  290. package/dist/index.es47.js.map +1 -1
  291. package/dist/index.es48.js +63 -21
  292. package/dist/index.es48.js.map +1 -1
  293. package/dist/index.es49.js +8 -9
  294. package/dist/index.es49.js.map +1 -1
  295. package/dist/index.es5.js +7 -7
  296. package/dist/index.es50.js +5 -38
  297. package/dist/index.es50.js.map +1 -1
  298. package/dist/index.es51.js +14 -11
  299. package/dist/index.es51.js.map +1 -1
  300. package/dist/index.es52.js +9 -8
  301. package/dist/index.es52.js.map +1 -1
  302. package/dist/index.es53.js +38 -5
  303. package/dist/index.es53.js.map +1 -1
  304. package/dist/index.es54.js +17 -254
  305. package/dist/index.es54.js.map +1 -1
  306. package/dist/index.es55.js +251 -18
  307. package/dist/index.es55.js.map +1 -1
  308. package/dist/index.es56.js +21 -26
  309. package/dist/index.es56.js.map +1 -1
  310. package/dist/index.es58.js +23 -62
  311. package/dist/index.es58.js.map +1 -1
  312. package/dist/index.es59.js +63 -27
  313. package/dist/index.es59.js.map +1 -1
  314. package/dist/index.es6.js +6 -6
  315. package/dist/index.es60.js +29 -5
  316. package/dist/index.es60.js.map +1 -1
  317. package/dist/index.es61.js +5 -24
  318. package/dist/index.es61.js.map +1 -1
  319. package/dist/index.es62.js +24 -32
  320. package/dist/index.es62.js.map +1 -1
  321. package/dist/index.es63.js +32 -3
  322. package/dist/index.es63.js.map +1 -1
  323. package/dist/index.es64.js +3 -45
  324. package/dist/index.es64.js.map +1 -1
  325. package/dist/index.es65.js +45 -7
  326. package/dist/index.es65.js.map +1 -1
  327. package/dist/index.es66.js +7 -124
  328. package/dist/index.es66.js.map +1 -1
  329. package/dist/index.es67.js +122 -12
  330. package/dist/index.es67.js.map +1 -1
  331. package/dist/index.es68.js +14 -133
  332. package/dist/index.es68.js.map +1 -1
  333. package/dist/index.es69.js +133 -10
  334. package/dist/index.es69.js.map +1 -1
  335. package/dist/index.es7.js +6 -6
  336. package/dist/index.es70.js +10 -215
  337. package/dist/index.es70.js.map +1 -1
  338. package/dist/index.es71.js +215 -12
  339. package/dist/index.es71.js.map +1 -1
  340. package/dist/index.es72.js +13 -8
  341. package/dist/index.es72.js.map +1 -1
  342. package/dist/index.es73.js +7 -3
  343. package/dist/index.es73.js.map +1 -1
  344. package/dist/index.es74.js +3 -27
  345. package/dist/index.es74.js.map +1 -1
  346. package/dist/index.es75.js +28 -50
  347. package/dist/index.es75.js.map +1 -1
  348. package/dist/index.es76.js +50 -9
  349. package/dist/index.es76.js.map +1 -1
  350. package/dist/index.es77.js +9 -68
  351. package/dist/index.es77.js.map +1 -1
  352. package/dist/index.es78.js +67 -11
  353. package/dist/index.es78.js.map +1 -1
  354. package/dist/index.es79.js +10 -203
  355. package/dist/index.es79.js.map +1 -1
  356. package/dist/index.es8.js +7 -7
  357. package/dist/index.es80.js +203 -20
  358. package/dist/index.es80.js.map +1 -1
  359. package/dist/index.es81.js +21 -392
  360. package/dist/index.es81.js.map +1 -1
  361. package/dist/index.es82.js +390 -22
  362. package/dist/index.es82.js.map +1 -1
  363. package/dist/index.es83.js +24 -28
  364. package/dist/index.es83.js.map +1 -1
  365. package/dist/index.es84.js +29 -5
  366. package/dist/index.es84.js.map +1 -1
  367. package/dist/index.es85.js +5 -5
  368. package/dist/index.es85.js.map +1 -1
  369. package/dist/index.es86.js +5 -3
  370. package/dist/index.es86.js.map +1 -1
  371. package/dist/index.es87.js +3 -24
  372. package/dist/index.es87.js.map +1 -1
  373. package/dist/index.es88.js +22 -108
  374. package/dist/index.es88.js.map +1 -1
  375. package/dist/index.es89.js +108 -14
  376. package/dist/index.es89.js.map +1 -1
  377. package/dist/index.es9.js +3 -22
  378. package/dist/index.es9.js.map +1 -1
  379. package/dist/index.es90.js +14 -521
  380. package/dist/index.es90.js.map +1 -1
  381. package/dist/index.es91.js +509 -113
  382. package/dist/index.es91.js.map +1 -1
  383. package/dist/index.es92.js +121 -123
  384. package/dist/index.es92.js.map +1 -1
  385. package/dist/index.es93.js +125 -61
  386. package/dist/index.es93.js.map +1 -1
  387. package/dist/index.es94.js +65 -69
  388. package/dist/index.es94.js.map +1 -1
  389. package/dist/index.es95.js +68 -8
  390. package/dist/index.es95.js.map +1 -1
  391. package/dist/index.es96.js +9 -14
  392. package/dist/index.es96.js.map +1 -1
  393. package/dist/index.es97.js +14 -62
  394. package/dist/index.es97.js.map +1 -1
  395. package/dist/index.es98.js +62 -4
  396. package/dist/index.es98.js.map +1 -1
  397. package/dist/index.es99.js +3 -22
  398. package/dist/index.es99.js.map +1 -1
  399. package/dist/packages/builder/context.d.ts +12 -0
  400. package/dist/packages/builder/context.d.ts.map +1 -1
  401. package/dist/packages/builder/schema-builder.d.ts.map +1 -1
  402. package/dist/style.css +1 -1
  403. package/package.json +1 -1
@@ -1,9 +1,428 @@
1
- import { clsx as o } from "./index.es31.js";
2
- import { twMerge as t } from "./index.es32.js";
3
- function n(...r) {
4
- return t(o(r));
1
+ import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
+ import { Button as x } from "./index.es11.js";
3
+ import { zodResolver as K } from "./index.es44.js";
4
+ import { Dialog as M, DialogContent as _, DialogHeader as B, DialogTitle as H, DialogDescription as J, DialogFooter as G } from "./index.es41.js";
5
+ import { Input as O } from "./index.es28.js";
6
+ import { Label as Q } from "./index.es15.js";
7
+ import { Select as A, SelectTrigger as j, SelectValue as F, SelectContent as N, SelectItem as s } from "./index.es14.js";
8
+ import { Switch as U } from "./index.es13.js";
9
+ import { DebouncedInput as V } from "./index.es20.js";
10
+ import { a as f } from "./index.es10.js";
11
+ import W from "./index.es46.js";
12
+ import { useConstraints as X } from "./index.es4.js";
13
+ import Y from "./index.es42.js";
14
+ import { Separator as Z } from "./index.es43.js";
15
+ import { z as t } from "zod";
16
+ import { useForm as ee } from "react-hook-form";
17
+ import { Form as re, FormField as u, FormItem as d, FormLabel as p, FormControl as h, FormMessage as y } from "./index.es45.js";
18
+ const g = t.enum([
19
+ "string",
20
+ "number",
21
+ "integer",
22
+ "boolean",
23
+ "object",
24
+ "array",
25
+ "null"
26
+ ]), ne = t.object({
27
+ key: t.string().trim().min(1, { message: "Key must be at least 1 character long" }),
28
+ property: t.object({
29
+ title: t.string().trim().min(1, { message: "Title must be at least 1 character long" }),
30
+ type: g.or(t.array(g)),
31
+ description: t.string().optional(),
32
+ enum: t.array(
33
+ t.string().or(t.number()).or(t.null()).or(t.boolean()).or(t.record(t.string(), t.any()))
34
+ ).optional(),
35
+ items: t.object({
36
+ type: g.or(t.array(g))
37
+ }).or(
38
+ t.array(
39
+ t.object({ type: g.or(t.array(g)) }).or(t.boolean())
40
+ )
41
+ ).or(t.boolean()).optional()
42
+ }),
43
+ required: t.boolean().default(!1),
44
+ constraints: t.array(
45
+ t.custom(() => ({
46
+ name: t.string().trim().min(1),
47
+ value: t.any()
48
+ }))
49
+ ).optional()
50
+ });
51
+ function Ce({
52
+ open: T,
53
+ onOpenChange: E,
54
+ onSubmit: R
55
+ }) {
56
+ const n = ee({
57
+ resolver: K(ne),
58
+ defaultValues: {
59
+ key: "",
60
+ property: {
61
+ title: ""
62
+ }
63
+ }
64
+ }), v = n.watch("constraints"), C = n.watch("property"), I = n.watch("property.enum"), w = n.watch("property.type"), {
65
+ getConstraintDefinitionsForType: k,
66
+ getRendererForConstraint: q,
67
+ validateConstraintValue: P
68
+ } = X(), $ = (r) => {
69
+ const { key: o, property: a, required: l, constraints: c } = r, m = {
70
+ ...a,
71
+ ...c?.reduce((b, D) => ({
72
+ ...b,
73
+ [D.name]: D.value
74
+ }), {})
75
+ };
76
+ R(o, m, l), n.reset();
77
+ }, z = (r, o) => {
78
+ const a = f(v), l = a?.[r];
79
+ if (!l) {
80
+ n.setError(`constraints.${r}`, {
81
+ message: "The constraint was not found",
82
+ type: "constraint_not_found"
83
+ });
84
+ return;
85
+ }
86
+ const c = P(
87
+ l.name,
88
+ o
89
+ );
90
+ if (c.status === "error") {
91
+ let m = c.message;
92
+ c.code === "invalid" && (m = `${m}: ${c.error?.map((b) => b.message).join(", ")}`), n.setError(`constraints.${r}`, {
93
+ type: c.code,
94
+ message: m
95
+ });
96
+ return;
97
+ }
98
+ l.value = o, n.setValue("constraints", a), n.clearErrors(`constraints.${r}`);
99
+ }, L = (r) => {
100
+ if (!v) return;
101
+ const a = f(v).filter((l) => l.name !== r);
102
+ n.setValue("constraints", a);
103
+ }, S = k(
104
+ typeof C?.type == "string" ? C.type : ""
105
+ );
106
+ return /* @__PURE__ */ e(M, { open: T, onOpenChange: E, children: /* @__PURE__ */ i(_, { "data-testid": "add-property-dialog", children: [
107
+ /* @__PURE__ */ i(B, { children: [
108
+ /* @__PURE__ */ e(H, { children: "Add" }),
109
+ /* @__PURE__ */ e(J, { children: "Required property values and constraints" })
110
+ ] }),
111
+ /* @__PURE__ */ e(re, { ...n, children: /* @__PURE__ */ i(
112
+ "form",
113
+ {
114
+ onSubmit: n.handleSubmit($),
115
+ className: "space-y-4",
116
+ "data-testid": "add-property-form",
117
+ children: [
118
+ /* @__PURE__ */ e("div", { className: "space-y-2", children: /* @__PURE__ */ e(
119
+ u,
120
+ {
121
+ control: n.control,
122
+ name: "key",
123
+ render: ({ field: r }) => {
124
+ const { onChange: o, ...a } = r;
125
+ return /* @__PURE__ */ i(d, { children: [
126
+ /* @__PURE__ */ e(p, { children: "Property Key" }),
127
+ /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(
128
+ V,
129
+ {
130
+ ...a,
131
+ onDebounce: (l) => o(l)
132
+ }
133
+ ) }),
134
+ /* @__PURE__ */ e(y, {})
135
+ ] });
136
+ }
137
+ }
138
+ ) }),
139
+ /* @__PURE__ */ e("div", { className: "space-y-2", children: /* @__PURE__ */ e(
140
+ u,
141
+ {
142
+ control: n.control,
143
+ name: "property.title",
144
+ render: ({ field: r }) => {
145
+ const { onChange: o, ...a } = r;
146
+ return /* @__PURE__ */ i(d, { children: [
147
+ /* @__PURE__ */ e(p, { children: "Property Title" }),
148
+ /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(
149
+ V,
150
+ {
151
+ ...a,
152
+ onDebounce: (l) => o(l)
153
+ }
154
+ ) }),
155
+ /* @__PURE__ */ e(y, {})
156
+ ] });
157
+ }
158
+ }
159
+ ) }),
160
+ /* @__PURE__ */ e("div", { className: "space-y-2", children: /* @__PURE__ */ e(
161
+ u,
162
+ {
163
+ control: n.control,
164
+ name: "property.type",
165
+ render: ({ field: r }) => /* @__PURE__ */ i(d, { children: [
166
+ /* @__PURE__ */ e(p, { children: "Type" }),
167
+ /* @__PURE__ */ e(h, { children: /* @__PURE__ */ i(
168
+ A,
169
+ {
170
+ value: Array.isArray(r.value) ? void 0 : r.value,
171
+ onValueChange: (o) => {
172
+ o === "enum" ? n.setValue("property.enum", []) : n.setValue("property.enum", void 0), r.value === "array" && o !== "array" && (n.clearErrors("property.items"), n.setValue("property.items", void 0)), r.onChange(o);
173
+ },
174
+ children: [
175
+ /* @__PURE__ */ e(
176
+ j,
177
+ {
178
+ className: "w-full",
179
+ "aria-label": "Select type",
180
+ children: /* @__PURE__ */ e(F, {})
181
+ }
182
+ ),
183
+ /* @__PURE__ */ i(N, { children: [
184
+ /* @__PURE__ */ e(
185
+ s,
186
+ {
187
+ value: "string",
188
+ children: "string"
189
+ }
190
+ ),
191
+ /* @__PURE__ */ e(
192
+ s,
193
+ {
194
+ value: "number",
195
+ children: "number"
196
+ }
197
+ ),
198
+ /* @__PURE__ */ e(
199
+ s,
200
+ {
201
+ value: "integer",
202
+ children: "integer"
203
+ }
204
+ ),
205
+ /* @__PURE__ */ e(
206
+ s,
207
+ {
208
+ value: "boolean",
209
+ children: "boolean"
210
+ }
211
+ ),
212
+ /* @__PURE__ */ e(
213
+ s,
214
+ {
215
+ value: "object",
216
+ children: "object"
217
+ }
218
+ ),
219
+ /* @__PURE__ */ e(
220
+ s,
221
+ {
222
+ value: "array",
223
+ children: "array"
224
+ }
225
+ ),
226
+ /* @__PURE__ */ e(
227
+ s,
228
+ {
229
+ value: "null",
230
+ children: "null"
231
+ }
232
+ )
233
+ ] })
234
+ ]
235
+ }
236
+ ) }),
237
+ /* @__PURE__ */ e(y, {})
238
+ ] })
239
+ }
240
+ ) }),
241
+ w === "array" && /* @__PURE__ */ e("div", { className: "space-y-2", children: /* @__PURE__ */ e(
242
+ u,
243
+ {
244
+ control: n.control,
245
+ name: "property.items.type",
246
+ render: ({ field: r }) => /* @__PURE__ */ i(d, { children: [
247
+ /* @__PURE__ */ e(p, { children: "Items of type" }),
248
+ /* @__PURE__ */ e(h, { children: /* @__PURE__ */ i(
249
+ A,
250
+ {
251
+ value: Array.isArray(r.value) ? void 0 : r.value,
252
+ onValueChange: (o) => {
253
+ n.clearErrors("property.items.type"), n.setValue(
254
+ "property.items.type",
255
+ o
256
+ );
257
+ },
258
+ children: [
259
+ /* @__PURE__ */ e(
260
+ j,
261
+ {
262
+ className: "w-full",
263
+ "aria-label": "Select items of type",
264
+ children: /* @__PURE__ */ e(F, { placeholder: "Select item type" })
265
+ }
266
+ ),
267
+ /* @__PURE__ */ i(N, { children: [
268
+ /* @__PURE__ */ e(
269
+ s,
270
+ {
271
+ value: "string",
272
+ children: "string"
273
+ }
274
+ ),
275
+ /* @__PURE__ */ e(
276
+ s,
277
+ {
278
+ value: "number",
279
+ children: "number"
280
+ }
281
+ ),
282
+ /* @__PURE__ */ e(
283
+ s,
284
+ {
285
+ value: "integer",
286
+ children: "integer"
287
+ }
288
+ ),
289
+ /* @__PURE__ */ e(
290
+ s,
291
+ {
292
+ value: "boolean",
293
+ children: "boolean"
294
+ }
295
+ ),
296
+ /* @__PURE__ */ e(
297
+ s,
298
+ {
299
+ value: "object",
300
+ children: "object"
301
+ }
302
+ ),
303
+ /* @__PURE__ */ e(
304
+ s,
305
+ {
306
+ value: "array",
307
+ children: "array"
308
+ }
309
+ ),
310
+ /* @__PURE__ */ e(
311
+ s,
312
+ {
313
+ value: "null",
314
+ children: "null"
315
+ }
316
+ )
317
+ ] })
318
+ ]
319
+ }
320
+ ) }),
321
+ /* @__PURE__ */ e(y, {})
322
+ ] })
323
+ }
324
+ ) }),
325
+ /* @__PURE__ */ e("div", { className: "flex items-center space-x-2", children: /* @__PURE__ */ e(
326
+ u,
327
+ {
328
+ control: n.control,
329
+ name: "required",
330
+ render: ({ field: r }) => /* @__PURE__ */ i(d, { children: [
331
+ /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(
332
+ U,
333
+ {
334
+ checked: r.value,
335
+ onCheckedChange: (o) => r.onChange(o)
336
+ }
337
+ ) }),
338
+ /* @__PURE__ */ e(p, { children: "Required" }),
339
+ /* @__PURE__ */ e(y, {})
340
+ ] })
341
+ }
342
+ ) }),
343
+ /* @__PURE__ */ e("div", { className: "space-y-2", children: /* @__PURE__ */ e(
344
+ u,
345
+ {
346
+ control: n.control,
347
+ name: "property.description",
348
+ render: ({ field: r }) => /* @__PURE__ */ i(d, { children: [
349
+ /* @__PURE__ */ e(p, { children: "Description" }),
350
+ /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(O, { ...r }) }),
351
+ /* @__PURE__ */ e(y, {})
352
+ ] })
353
+ }
354
+ ) }),
355
+ I ? /* @__PURE__ */ e(
356
+ u,
357
+ {
358
+ control: n.control,
359
+ name: "property.enum",
360
+ render: ({ field: r }) => /* @__PURE__ */ i(d, { children: [
361
+ /* @__PURE__ */ e(p, { children: "Enum" }),
362
+ /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(
363
+ W,
364
+ {
365
+ values: r.value?.filter((o) => typeof o == "string") ?? [],
366
+ onAddValue: (o) => {
367
+ const a = [];
368
+ r.value && a.push(...r.value), a.push(o), r.onChange(a);
369
+ },
370
+ onRemoveValue: (o) => {
371
+ const a = f(r.value ?? []);
372
+ a.splice(o, 1), r.onChange(a);
373
+ }
374
+ }
375
+ ) }),
376
+ /* @__PURE__ */ e(y, {})
377
+ ] })
378
+ }
379
+ ) : null,
380
+ S.length ? /* @__PURE__ */ i("div", { className: "space-y-2", children: [
381
+ /* @__PURE__ */ e(Q, { children: "Constraints" }),
382
+ /* @__PURE__ */ e(
383
+ Y,
384
+ {
385
+ addedConstraints: v ?? [],
386
+ availableDefinitions: S,
387
+ onAdd: (r) => {
388
+ n.setValue("constraints", r);
389
+ }
390
+ }
391
+ ),
392
+ /* @__PURE__ */ e(Z, {}),
393
+ v?.map((r, o) => {
394
+ const a = q(r.name);
395
+ if (!a) return null;
396
+ const l = n.formState.errors.constraints?.[o];
397
+ let c;
398
+ return l && (c = {
399
+ code: l?.type ?? "INVALID",
400
+ message: l.message ?? "An error occurred"
401
+ }), /* @__PURE__ */ e(
402
+ a,
403
+ {
404
+ constraintName: r.name,
405
+ value: r.value,
406
+ onConstraintChange: (m) => {
407
+ z(o, m);
408
+ },
409
+ onRemoveConstraint: () => {
410
+ L(r.name);
411
+ },
412
+ error: c
413
+ },
414
+ r.name
415
+ );
416
+ })
417
+ ] }) : null,
418
+ /* @__PURE__ */ e(G, { children: /* @__PURE__ */ e(x, { type: "submit", children: "Add Property" }) })
419
+ ]
420
+ }
421
+ ) })
422
+ ] }) });
5
423
  }
6
424
  export {
7
- n as cn
425
+ ne as AddFormSchema,
426
+ Ce as AddPropertyDialog
8
427
  };
9
428
  //# sourceMappingURL=index.es21.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es21.js","sources":["../src/lib/utils.ts"],"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"],"names":["cn","inputs","twMerge","clsx"],"mappings":";;AAGO,SAASA,KAAMC,GAAsB;AACnC,SAAAC,EAAQC,EAAKF,CAAM,CAAC;AAC7B;"}
1
+ {"version":3,"file":"index.es21.js","sources":["../src/packages/builder/add-dialog.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { zodResolver } from \"@hookform/resolvers/zod\";\n\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogFooter,\n DialogDescription,\n} from \"@/components/ui/dialog\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { Switch } from \"@/components/ui/switch\";\nimport type { JSONSchema7, JSONSchema7TypeName } from \"json-schema\";\nimport { DebouncedInput } from \"@/components/depounced-input\";\nimport { clone } from \"remeda\";\nimport MultiInput from \"@/components/multi-input\";\nimport { Constraint, useConstraints } from \"@/packages/constraints/context\";\nimport ConstraintsAdd from \"@/packages/constraints/constraint-add\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { z } from \"zod\";\nimport { useForm } from \"react-hook-form\";\nimport {\n Form,\n FormControl,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from \"@/components/ui/form\";\nimport type { OperationError } from \"./shared-types\";\n\nexport interface AddPropertyDialogProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n onSubmit: (key: string, property: JSONSchema7, required: boolean) => void;\n}\n\nconst zodJsonTypes = z.enum([\n \"string\",\n \"number\",\n \"integer\",\n \"boolean\",\n \"object\",\n \"array\",\n \"null\",\n]);\n\nexport const AddFormSchema = z.object({\n key: z\n .string()\n .trim()\n .min(1, { message: \"Key must be at least 1 character long\" }),\n property: z.object({\n title: z\n .string()\n .trim()\n .min(1, { message: \"Title must be at least 1 character long\" }),\n type: zodJsonTypes.or(z.array(zodJsonTypes)),\n description: z.string().optional(),\n enum: z\n .array(\n z\n .string()\n .or(z.number())\n .or(z.null())\n .or(z.boolean())\n .or(z.record(z.string(), z.any())),\n )\n .optional(),\n items: z\n .object({\n type: zodJsonTypes.or(z.array(zodJsonTypes)),\n })\n //only to satisfy the other types but we actually don't handle it\n .or(\n z.array(\n z\n .object({ type: zodJsonTypes.or(z.array(zodJsonTypes)) })\n .or(z.boolean()),\n ),\n )\n .or(z.boolean())\n .optional(),\n }),\n required: z.boolean().default(false),\n constraints: z\n .array(\n z.custom<Constraint>(() => ({\n name: z.string().trim().min(1),\n value: z.any(),\n })),\n )\n .optional(),\n});\n\n/**\n * Handles adding a property to a parent JSON schema's \"properties\".\n * This means you are working under a child property.\n */\nexport function AddPropertyDialog({\n open,\n onOpenChange,\n onSubmit,\n}: AddPropertyDialogProps) {\n const form = useForm<z.infer<typeof AddFormSchema>>({\n resolver: zodResolver(AddFormSchema),\n defaultValues: {\n key: \"\",\n property: {\n title: \"\",\n },\n },\n });\n\n const currentConstraints = form.watch(\"constraints\");\n const currentProperty = form.watch(\"property\");\n const currentEnum = form.watch(\"property.enum\");\n const currentType = form.watch(\"property.type\");\n\n const {\n getConstraintDefinitionsForType,\n getRendererForConstraint,\n validateConstraintValue,\n } = useConstraints();\n\n const handleSubmit = (data: z.infer<typeof AddFormSchema>) => {\n const { key, property, required, constraints } = data;\n const propertyToSubmit: JSONSchema7 = {\n ...property,\n ...constraints?.reduce((acc, constraint) => {\n return {\n ...acc,\n [constraint.name]: constraint.value,\n } satisfies JSONSchema7;\n }, {}),\n };\n onSubmit(key, propertyToSubmit, required);\n form.reset();\n };\n\n const handleConstraintChange = (\n index: number,\n newVal: Constraint[\"value\"],\n ) => {\n const constraintsCopy = clone(currentConstraints);\n\n const constraintToChange = constraintsCopy?.[index];\n\n if (!constraintToChange) {\n form.setError(`constraints.${index}`, {\n message: \"The constraint was not found\",\n type: \"constraint_not_found\",\n });\n return;\n }\n\n const validationResult = validateConstraintValue(\n constraintToChange.name,\n newVal,\n );\n\n if (validationResult.status === \"error\") {\n let message = validationResult.message;\n if (validationResult.code === \"invalid\") {\n message = `${message}: ${validationResult.error?.map((i) => i.message).join(\", \")}`;\n }\n form.setError(`constraints.${index}`, {\n type: validationResult.code,\n message,\n });\n return;\n }\n\n //edit reference\n constraintToChange.value = newVal;\n form.setValue(\"constraints\", constraintsCopy);\n form.clearErrors(`constraints.${index}`);\n };\n\n const handleRemoveConstraint = (constraintName: Constraint[\"name\"]) => {\n if (!currentConstraints) return;\n const copy = clone(currentConstraints);\n const newConstraints = copy.filter((c) => c.name !== constraintName);\n form.setValue(\"constraints\", newConstraints);\n };\n\n const availableDefinitions = getConstraintDefinitionsForType(\n typeof currentProperty?.type === \"string\" ? currentProperty.type : \"\",\n );\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent data-testid=\"add-property-dialog\">\n <DialogHeader>\n <DialogTitle>Add</DialogTitle>\n <DialogDescription>\n Required property values and constraints\n </DialogDescription>\n </DialogHeader>\n <Form {...form}>\n <form\n onSubmit={form.handleSubmit(handleSubmit)}\n className=\"space-y-4\"\n data-testid=\"add-property-form\"\n >\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"key\"\n render={({ field }) => {\n // Pull the onChange since debounced input should\n // be calling onDebounce instead\n const { onChange, ...rest } = field;\n\n return (\n <FormItem>\n <FormLabel>Property Key</FormLabel>\n <FormControl>\n <DebouncedInput\n {...rest}\n onDebounce={(newVal) => onChange(newVal)}\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.title\"\n render={({ field }) => {\n const { onChange, ...rest } = field;\n return (\n <FormItem>\n <FormLabel>Property Title</FormLabel>\n <FormControl>\n <DebouncedInput\n {...rest}\n onDebounce={(newVal) => onChange(newVal)}\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.type\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Type</FormLabel>\n <FormControl>\n <Select\n value={\n !Array.isArray(field.value)\n ? field.value\n : undefined\n }\n onValueChange={(newVal) => {\n if (newVal === \"enum\") {\n form.setValue(\"property.enum\", []);\n } else {\n form.setValue(\"property.enum\", undefined);\n }\n\n // If changing away from array, clear any array item errors\n if (field.value === \"array\" && newVal !== \"array\") {\n form.clearErrors(\"property.items\");\n form.setValue(\"property.items\", undefined);\n }\n\n field.onChange(newVal);\n }}\n >\n <SelectTrigger\n className=\"w-full\"\n aria-label=\"Select type\"\n >\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem\n value={\"string\" satisfies JSONSchema7TypeName}\n >\n string\n </SelectItem>\n <SelectItem\n value={\"number\" satisfies JSONSchema7TypeName}\n >\n number\n </SelectItem>\n <SelectItem\n value={\"integer\" satisfies JSONSchema7TypeName}\n >\n integer\n </SelectItem>\n <SelectItem\n value={\"boolean\" satisfies JSONSchema7TypeName}\n >\n boolean\n </SelectItem>\n <SelectItem\n value={\"object\" satisfies JSONSchema7TypeName}\n >\n object\n </SelectItem>\n <SelectItem\n value={\"array\" satisfies JSONSchema7TypeName}\n >\n array\n </SelectItem>\n <SelectItem\n value={\"null\" satisfies JSONSchema7TypeName}\n >\n null\n </SelectItem>\n </SelectContent>\n </Select>\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n\n {/* Array Items Type selector */}\n {currentType === \"array\" && (\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.items.type\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Items of type</FormLabel>\n <FormControl>\n <Select\n value={\n !Array.isArray(field.value)\n ? field.value\n : undefined\n }\n onValueChange={(newVal) => {\n form.clearErrors(\"property.items.type\");\n form.setValue(\n \"property.items.type\",\n newVal as JSONSchema7TypeName,\n );\n }}\n >\n <SelectTrigger\n className=\"w-full\"\n aria-label=\"Select items of type\"\n >\n <SelectValue placeholder=\"Select item type\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem\n value={\"string\" satisfies JSONSchema7TypeName}\n >\n string\n </SelectItem>\n <SelectItem\n value={\"number\" satisfies JSONSchema7TypeName}\n >\n number\n </SelectItem>\n <SelectItem\n value={\"integer\" satisfies JSONSchema7TypeName}\n >\n integer\n </SelectItem>\n <SelectItem\n value={\"boolean\" satisfies JSONSchema7TypeName}\n >\n boolean\n </SelectItem>\n <SelectItem\n value={\"object\" satisfies JSONSchema7TypeName}\n >\n object\n </SelectItem>\n <SelectItem\n value={\"array\" satisfies JSONSchema7TypeName}\n >\n array\n </SelectItem>\n <SelectItem\n value={\"null\" satisfies JSONSchema7TypeName}\n >\n null\n </SelectItem>\n </SelectContent>\n </Select>\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n )}\n\n <div className=\"flex items-center space-x-2\">\n <FormField\n control={form.control}\n name=\"required\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormControl>\n <Switch\n checked={field.value}\n onCheckedChange={(checked) => field.onChange(checked)}\n />\n </FormControl>\n <FormLabel>Required</FormLabel>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.description\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Description</FormLabel>\n <FormControl>\n <Input {...field} />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n {currentEnum ? (\n <FormField\n control={form.control}\n name=\"property.enum\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Enum</FormLabel>\n <FormControl>\n <MultiInput\n values={\n field.value?.filter((i) => typeof i === \"string\") ??\n []\n }\n onAddValue={(newVal) => {\n const updates = [];\n if (field.value) {\n updates.push(...field.value);\n }\n updates.push(newVal);\n field.onChange(updates);\n }}\n onRemoveValue={(index) => {\n const newEnums = clone(field.value ?? []);\n newEnums.splice(index, 1);\n field.onChange(newEnums);\n }}\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n ) : null}\n\n {availableDefinitions.length ? (\n <div className=\"space-y-2\">\n <Label>Constraints</Label>\n <ConstraintsAdd\n addedConstraints={currentConstraints ?? []}\n availableDefinitions={availableDefinitions}\n onAdd={(newConstraints) => {\n form.setValue(\"constraints\", newConstraints);\n }}\n />\n <Separator />\n {currentConstraints?.map((constraint, i) => {\n const Renderer = getRendererForConstraint(constraint.name);\n if (!Renderer) return null;\n\n const error = form.formState.errors.constraints?.[i];\n let mappedError: OperationError | undefined;\n\n if (error) {\n mappedError = {\n code: error?.type ?? \"INVALID\",\n message: error.message ?? \"An error occurred\",\n };\n }\n\n return (\n <Renderer\n key={constraint.name}\n constraintName={constraint.name}\n value={constraint.value}\n onConstraintChange={(newVal) => {\n handleConstraintChange(i, newVal);\n }}\n onRemoveConstraint={() => {\n handleRemoveConstraint(constraint.name);\n }}\n error={mappedError}\n />\n );\n })}\n </div>\n ) : null}\n\n <DialogFooter>\n <Button type=\"submit\">Add Property</Button>\n </DialogFooter>\n </form>\n </Form>\n </DialogContent>\n </Dialog>\n );\n}\n"],"names":["zodJsonTypes","z","AddFormSchema","AddPropertyDialog","open","onOpenChange","onSubmit","form","useForm","zodResolver","currentConstraints","currentProperty","currentEnum","currentType","getConstraintDefinitionsForType","getRendererForConstraint","validateConstraintValue","useConstraints","handleSubmit","data","key","property","required","constraints","propertyToSubmit","acc","constraint","handleConstraintChange","index","newVal","constraintsCopy","clone","constraintToChange","validationResult","message","i","handleRemoveConstraint","constraintName","newConstraints","c","availableDefinitions","Dialog","jsxs","DialogContent","DialogHeader","jsx","DialogTitle","DialogDescription","Form","FormField","field","onChange","rest","FormItem","FormLabel","FormControl","DebouncedInput","FormMessage","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Switch","checked","Input","MultiInput","updates","newEnums","Label","ConstraintsAdd","Separator","Renderer","error","mappedError","DialogFooter","Button"],"mappings":"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"}
@@ -1,16 +1,9 @@
1
- import e from "./index.es48.js";
2
- /**
3
- * @license lucide-react v0.477.0 - ISC
4
- *
5
- * This source code is licensed under the ISC license.
6
- * See the LICENSE file in the root directory of this source tree.
7
- */
8
- const o = [
9
- ["path", { d: "M5 12h14", key: "1ays0h" }],
10
- ["path", { d: "M12 5v14", key: "s699le" }]
11
- ], s = e("Plus", o);
1
+ import { clsx as o } from "./index.es32.js";
2
+ import { twMerge as t } from "./index.es33.js";
3
+ function n(...r) {
4
+ return t(o(r));
5
+ }
12
6
  export {
13
- o as __iconNode,
14
- s as default
7
+ n as cn
15
8
  };
16
9
  //# sourceMappingURL=index.es22.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es22.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/plus.js"],"sourcesContent":["/**\n * @license lucide-react v0.477.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }]\n];\nconst Plus = createLucideIcon(\"Plus\", __iconNode);\n\nexport { __iconNode, Plus as default };\n//# sourceMappingURL=plus.js.map\n"],"names":["__iconNode","Plus","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,MAACA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAU,CAAA;AAC3C,GACMC,IAAOC,EAAiB,QAAQF,CAAU;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es22.js","sources":["../src/lib/utils.ts"],"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"],"names":["cn","inputs","twMerge","clsx"],"mappings":";;AAGO,SAASA,KAAMC,GAAsB;AACnC,SAAAC,EAAQC,EAAKF,CAAM,CAAC;AAC7B;"}
@@ -1,19 +1,16 @@
1
- import e from "./index.es48.js";
1
+ import e from "./index.es51.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
5
5
  * This source code is licensed under the ISC license.
6
6
  * See the LICENSE file in the root directory of this source tree.
7
7
  */
8
- const t = [
9
- ["path", { d: "M3 6h18", key: "d0wm0j" }],
10
- ["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }],
11
- ["path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", key: "v07s0e" }],
12
- ["line", { x1: "10", x2: "10", y1: "11", y2: "17", key: "1uufr5" }],
13
- ["line", { x1: "14", x2: "14", y1: "11", y2: "17", key: "xtxkd" }]
14
- ], a = e("Trash2", t);
8
+ const o = [
9
+ ["path", { d: "M5 12h14", key: "1ays0h" }],
10
+ ["path", { d: "M12 5v14", key: "s699le" }]
11
+ ], s = e("Plus", o);
15
12
  export {
16
- t as __iconNode,
17
- a as default
13
+ o as __iconNode,
14
+ s as default
18
15
  };
19
16
  //# sourceMappingURL=index.es23.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es23.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/trash-2.js"],"sourcesContent":["/**\n * @license lucide-react v0.477.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M3 6h18\", key: \"d0wm0j\" }],\n [\"path\", { d: \"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6\", key: \"4alrt4\" }],\n [\"path\", { d: \"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2\", key: \"v07s0e\" }],\n [\"line\", { x1: \"10\", x2: \"10\", y1: \"11\", y2: \"17\", key: \"1uufr5\" }],\n [\"line\", { x1: \"14\", x2: \"14\", y1: \"11\", y2: \"17\", key: \"xtxkd\" }]\n];\nconst Trash2 = createLucideIcon(\"Trash2\", __iconNode);\n\nexport { __iconNode, Trash2 as default };\n//# sourceMappingURL=trash-2.js.map\n"],"names":["__iconNode","Trash2","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,MAACA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,yCAAyC,KAAK,SAAQ,CAAE;AAAA,EACtE,CAAC,QAAQ,EAAE,GAAG,sCAAsC,KAAK,SAAQ,CAAE;AAAA,EACnE,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,SAAQ,CAAE;AAAA,EAClE,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,QAAS,CAAA;AACnE,GACMC,IAASC,EAAiB,UAAUF,CAAU;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es23.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/plus.js"],"sourcesContent":["/**\n * @license lucide-react v0.477.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }]\n];\nconst Plus = createLucideIcon(\"Plus\", __iconNode);\n\nexport { __iconNode, Plus as default };\n//# sourceMappingURL=plus.js.map\n"],"names":["__iconNode","Plus","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,MAACA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAU,CAAA;AAC3C,GACMC,IAAOC,EAAiB,QAAQF,CAAU;","x_google_ignoreList":[0]}
@@ -1,16 +1,19 @@
1
- import e from "./index.es48.js";
1
+ import e from "./index.es51.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
5
5
  * This source code is licensed under the ISC license.
6
6
  * See the LICENSE file in the root directory of this source tree.
7
7
  */
8
- const c = [
9
- ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
10
- ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
11
- ], t = e("Copy", c);
8
+ const t = [
9
+ ["path", { d: "M3 6h18", key: "d0wm0j" }],
10
+ ["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }],
11
+ ["path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", key: "v07s0e" }],
12
+ ["line", { x1: "10", x2: "10", y1: "11", y2: "17", key: "1uufr5" }],
13
+ ["line", { x1: "14", x2: "14", y1: "11", y2: "17", key: "xtxkd" }]
14
+ ], a = e("Trash2", t);
12
15
  export {
13
- c as __iconNode,
14
- t as default
16
+ t as __iconNode,
17
+ a as default
15
18
  };
16
19
  //# sourceMappingURL=index.es24.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es24.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/copy.js"],"sourcesContent":["/**\n * @license lucide-react v0.477.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"14\", height: \"14\", x: \"8\", y: \"8\", rx: \"2\", ry: \"2\", key: \"17jyea\" }],\n [\"path\", { d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\", key: \"zix9uf\" }]\n];\nconst Copy = createLucideIcon(\"Copy\", __iconNode);\n\nexport { __iconNode, Copy as default };\n//# sourceMappingURL=copy.js.map\n"],"names":["__iconNode","Copy","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,MAACA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,OAAO,MAAM,QAAQ,MAAM,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,UAAU;AAAA,EACvF,CAAC,QAAQ,EAAE,GAAG,2DAA2D,KAAK,SAAU,CAAA;AAC1F,GACMC,IAAOC,EAAiB,QAAQF,CAAU;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es24.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/trash-2.js"],"sourcesContent":["/**\n * @license lucide-react v0.477.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M3 6h18\", key: \"d0wm0j\" }],\n [\"path\", { d: \"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6\", key: \"4alrt4\" }],\n [\"path\", { d: \"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2\", key: \"v07s0e\" }],\n [\"line\", { x1: \"10\", x2: \"10\", y1: \"11\", y2: \"17\", key: \"1uufr5\" }],\n [\"line\", { x1: \"14\", x2: \"14\", y1: \"11\", y2: \"17\", key: \"xtxkd\" }]\n];\nconst Trash2 = createLucideIcon(\"Trash2\", __iconNode);\n\nexport { __iconNode, Trash2 as default };\n//# sourceMappingURL=trash-2.js.map\n"],"names":["__iconNode","Trash2","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,MAACA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,yCAAyC,KAAK,SAAQ,CAAE;AAAA,EACtE,CAAC,QAAQ,EAAE,GAAG,sCAAsC,KAAK,SAAQ,CAAE;AAAA,EACnE,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,SAAQ,CAAE;AAAA,EAClE,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,QAAS,CAAA;AACnE,GACMC,IAASC,EAAiB,UAAUF,CAAU;","x_google_ignoreList":[0]}
@@ -1,22 +1,16 @@
1
- import c from "./index.es48.js";
1
+ import e from "./index.es51.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
5
5
  * This source code is licensed under the ISC license.
6
6
  * See the LICENSE file in the root directory of this source tree.
7
7
  */
8
- const e = [
9
- [
10
- "path",
11
- {
12
- d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",
13
- key: "yt0hxn"
14
- }
15
- ],
16
- ["circle", { cx: "12", cy: "12", r: "4", key: "4exip2" }]
17
- ], t = c("Bolt", e);
8
+ const c = [
9
+ ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
10
+ ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
11
+ ], t = e("Copy", c);
18
12
  export {
19
- e as __iconNode,
13
+ c as __iconNode,
20
14
  t as default
21
15
  };
22
16
  //# sourceMappingURL=index.es25.js.map