@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,67 +1,141 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { cva as i } from "./index.es34.js";
3
- import { cn as a } from "./index.es21.js";
4
- const l = i(
5
- "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
6
- {
7
- variants: {
8
- variant: {
9
- default: "bg-background text-foreground",
10
- destructive: "text-destructive-foreground [&>svg]:text-current *:data-[slot=alert-description]:text-destructive-foreground/80"
11
- }
12
- },
13
- defaultVariants: {
14
- variant: "default"
1
+ import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
+ import { Root as n, Content as i, Title as s, Description as d, Cancel as c, Action as u, Portal as f, Overlay as m } from "./index.es47.js";
3
+ import { cn as o } from "./index.es22.js";
4
+ import { buttonVariants as l } from "./index.es11.js";
5
+ function N({
6
+ ...t
7
+ }) {
8
+ return /* @__PURE__ */ e(n, { "data-slot": "alert-dialog", ...t });
9
+ }
10
+ function g({
11
+ ...t
12
+ }) {
13
+ return /* @__PURE__ */ e(f, { "data-slot": "alert-dialog-portal", ...t });
14
+ }
15
+ function p({
16
+ className: t,
17
+ ...a
18
+ }) {
19
+ return /* @__PURE__ */ e(
20
+ m,
21
+ {
22
+ "data-slot": "alert-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
+ ...a
15
28
  }
16
- }
17
- );
18
- function c({
29
+ );
30
+ }
31
+ function b({
32
+ className: t,
33
+ ...a
34
+ }) {
35
+ return /* @__PURE__ */ r(g, { children: [
36
+ /* @__PURE__ */ e(p, {}),
37
+ /* @__PURE__ */ e(
38
+ i,
39
+ {
40
+ "data-slot": "alert-dialog-content",
41
+ className: o(
42
+ "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",
43
+ t
44
+ ),
45
+ ...a
46
+ }
47
+ )
48
+ ] });
49
+ }
50
+ function y({
19
51
  className: t,
20
- variant: r,
21
- ...s
52
+ ...a
22
53
  }) {
23
54
  return /* @__PURE__ */ e(
24
55
  "div",
25
56
  {
26
- "data-slot": "alert",
27
- role: "alert",
28
- className: a(l({ variant: r }), t),
29
- ...s
57
+ "data-slot": "alert-dialog-header",
58
+ className: o("flex flex-col gap-2 text-center sm:text-left", t),
59
+ ...a
30
60
  }
31
61
  );
32
62
  }
33
- function g({ className: t, ...r }) {
63
+ function w({
64
+ className: t,
65
+ ...a
66
+ }) {
34
67
  return /* @__PURE__ */ e(
35
68
  "div",
36
69
  {
37
- "data-slot": "alert-title",
38
- className: a(
39
- "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
70
+ "data-slot": "alert-dialog-footer",
71
+ className: o(
72
+ "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
40
73
  t
41
74
  ),
42
- ...r
75
+ ...a
43
76
  }
44
77
  );
45
78
  }
46
- function u({
79
+ function C({
47
80
  className: t,
48
- ...r
81
+ ...a
49
82
  }) {
50
83
  return /* @__PURE__ */ e(
51
- "div",
84
+ s,
52
85
  {
53
- "data-slot": "alert-description",
54
- className: a(
55
- "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
56
- t
57
- ),
58
- ...r
86
+ "data-slot": "alert-dialog-title",
87
+ className: o("text-lg font-semibold", t),
88
+ ...a
89
+ }
90
+ );
91
+ }
92
+ function z({
93
+ className: t,
94
+ ...a
95
+ }) {
96
+ return /* @__PURE__ */ e(
97
+ d,
98
+ {
99
+ "data-slot": "alert-dialog-description",
100
+ className: o("text-muted-foreground text-sm", t),
101
+ ...a
102
+ }
103
+ );
104
+ }
105
+ function h({
106
+ className: t,
107
+ ...a
108
+ }) {
109
+ return /* @__PURE__ */ e(
110
+ u,
111
+ {
112
+ className: o(l(), t),
113
+ ...a
114
+ }
115
+ );
116
+ }
117
+ function j({
118
+ className: t,
119
+ ...a
120
+ }) {
121
+ return /* @__PURE__ */ e(
122
+ c,
123
+ {
124
+ className: o(l({ variant: "outline" }), t),
125
+ ...a
59
126
  }
60
127
  );
61
128
  }
62
129
  export {
63
- c as Alert,
64
- u as AlertDescription,
65
- g as AlertTitle
130
+ N as AlertDialog,
131
+ h as AlertDialogAction,
132
+ j as AlertDialogCancel,
133
+ b as AlertDialogContent,
134
+ z as AlertDialogDescription,
135
+ w as AlertDialogFooter,
136
+ y as AlertDialogHeader,
137
+ p as AlertDialogOverlay,
138
+ g as AlertDialogPortal,
139
+ C as AlertDialogTitle
66
140
  };
67
141
  //# sourceMappingURL=index.es17.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es17.js","sources":["../src/components/ui/alert.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"text-destructive-foreground [&>svg]:text-current *:data-[slot=alert-description]:text-destructive-foreground/80\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Alert, AlertTitle, AlertDescription }\n"],"names":["alertVariants","cva","Alert","className","variant","props","jsx","cn","AlertTitle","AlertDescription"],"mappings":";;;AAKA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,MAAA;AAAA,IAEN;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAEA,SAASC,EAAM;AAAA,EACb,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAqE;AAEjE,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAWC,EAAGP,EAAc,EAAE,SAAAI,EAAS,CAAA,GAAGD,CAAS;AAAA,MAClD,GAAGE;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASG,EAAW,EAAE,WAAAL,GAAW,GAAGE,KAAsC;AAEtE,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MACF;AAAA,MACC,GAAGE;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASI,EAAiB;AAAA,EACxB,WAAAN;AAAA,EACA,GAAGE;AACL,GAAgC;AAE5B,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MACF;AAAA,MACC,GAAGE;AAAA,IAAA;AAAA,EACN;AAEJ;"}
1
+ {"version":3,"file":"index.es17.js","sources":["../src/components/ui/alert-dialog.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\"\n\nimport { cn } from \"@/lib/utils\"\nimport { buttonVariants } from \"@/components/ui/button\"\n\nfunction AlertDialog({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n )\n}\n\nfunction AlertDialogPortal({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-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 AlertDialogContent({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-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 </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-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 AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action>) {\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants(), className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogCancel({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: \"outline\" }), className)}\n {...props}\n />\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n}\n"],"names":["AlertDialog","props","AlertDialogPrimitive.Root","AlertDialogPortal","AlertDialogPrimitive.Portal","AlertDialogOverlay","className","jsx","AlertDialogPrimitive.Overlay","cn","AlertDialogContent","AlertDialogPrimitive.Content","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","AlertDialogPrimitive.Title","AlertDialogDescription","AlertDialogPrimitive.Description","AlertDialogAction","AlertDialogPrimitive.Action","buttonVariants","AlertDialogCancel","AlertDialogPrimitive.Cancel"],"mappings":";;;;AAMA,SAASA,EAAY;AAAA,EACnB,GAAGC;AACL,GAA2D;AACzD,2BAAQC,GAAA,EAA0B,aAAU,gBAAgB,GAAGD,GAAO;AACxE;AAUA,SAASE,EAAkB;AAAA,EACzB,GAAGF;AACL,GAA6D;AAC3D,2BACGG,GAAA,EAA4B,aAAU,uBAAuB,GAAGH,GAAO;AAE5E;AAEA,SAASI,EAAmB;AAAA,EAC1B,WAAAC;AAAA,EACA,GAAGL;AACL,GAA8D;AAE1D,SAAA,gBAAAM;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,EAAmB;AAAA,EAC1B,WAAAJ;AAAA,EACA,GAAGL;AACL,GAA8D;AAC5D,2BACGE,GACC,EAAA,UAAA;AAAA,IAAA,gBAAAI,EAACF,GAAmB,EAAA;AAAA,IACpB,gBAAAE;AAAA,MAACI;AAAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,WAAWF;AAAA,UACT;AAAA,UACAH;AAAA,QACF;AAAA,QACC,GAAGL;AAAA,MAAA;AAAA,IAAA;AAAA,EACN,GACF;AAEJ;AAEA,SAASW,EAAkB;AAAA,EACzB,WAAAN;AAAA,EACA,GAAGL;AACL,GAAgC;AAE5B,SAAA,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWE,EAAG,gDAAgDH,CAAS;AAAA,MACtE,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASY,EAAkB;AAAA,EACzB,WAAAP;AAAA,EACA,GAAGL;AACL,GAAgC;AAE5B,SAAA,gBAAAM;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,SAASa,EAAiB;AAAA,EACxB,WAAAR;AAAA,EACA,GAAGL;AACL,GAA4D;AAExD,SAAA,gBAAAM;AAAA,IAACQ;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWN,EAAG,yBAAyBH,CAAS;AAAA,MAC/C,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASe,EAAuB;AAAA,EAC9B,WAAAV;AAAA,EACA,GAAGL;AACL,GAAkE;AAE9D,SAAA,gBAAAM;AAAA,IAACU;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWR,EAAG,iCAAiCH,CAAS;AAAA,MACvD,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASiB,EAAkB;AAAA,EACzB,WAAAZ;AAAA,EACA,GAAGL;AACL,GAA6D;AAEzD,SAAA,gBAAAM;AAAA,IAACY;AAAAA,IAAA;AAAA,MACC,WAAWV,EAAGW,EAAe,GAAGd,CAAS;AAAA,MACxC,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASoB,EAAkB;AAAA,EACzB,WAAAf;AAAA,EACA,GAAGL;AACL,GAA6D;AAEzD,SAAA,gBAAAM;AAAA,IAACe;AAAAA,IAAA;AAAA,MACC,WAAWb,EAAGW,EAAe,EAAE,SAAS,UAAU,CAAC,GAAGd,CAAS;AAAA,MAC9D,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;"}
@@ -1,14 +1,67 @@
1
- import t from "ajv";
2
- const s = new t({ allErrors: !0 });
3
- function i(e) {
4
- const a = s.getSchema("http://json-schema.org/draft-07/schema#");
5
- if (!a?.(e)) {
6
- const o = a?.errors?.map((r) => `${r.instancePath} ${r.message}`).join(", ");
7
- throw new Error(`Schema validation error: ${o}`);
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { cva as i } from "./index.es35.js";
3
+ import { cn as a } from "./index.es22.js";
4
+ const l = i(
5
+ "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
6
+ {
7
+ variants: {
8
+ variant: {
9
+ default: "bg-background text-foreground",
10
+ destructive: "text-destructive-foreground [&>svg]:text-current *:data-[slot=alert-description]:text-destructive-foreground/80"
11
+ }
12
+ },
13
+ defaultVariants: {
14
+ variant: "default"
15
+ }
8
16
  }
17
+ );
18
+ function c({
19
+ className: t,
20
+ variant: r,
21
+ ...s
22
+ }) {
23
+ return /* @__PURE__ */ e(
24
+ "div",
25
+ {
26
+ "data-slot": "alert",
27
+ role: "alert",
28
+ className: a(l({ variant: r }), t),
29
+ ...s
30
+ }
31
+ );
32
+ }
33
+ function g({ className: t, ...r }) {
34
+ return /* @__PURE__ */ e(
35
+ "div",
36
+ {
37
+ "data-slot": "alert-title",
38
+ className: a(
39
+ "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
40
+ t
41
+ ),
42
+ ...r
43
+ }
44
+ );
45
+ }
46
+ function u({
47
+ className: t,
48
+ ...r
49
+ }) {
50
+ return /* @__PURE__ */ e(
51
+ "div",
52
+ {
53
+ "data-slot": "alert-description",
54
+ className: a(
55
+ "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
56
+ t
57
+ ),
58
+ ...r
59
+ }
60
+ );
9
61
  }
10
62
  export {
11
- s as ajv,
12
- i as validateSchema
63
+ c as Alert,
64
+ u as AlertDescription,
65
+ g as AlertTitle
13
66
  };
14
67
  //# sourceMappingURL=index.es18.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es18.js","sources":["../src/packages/builder/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { faker } from \"@faker-js/faker\";\nimport Ajv from \"ajv\";\n\nimport type { JSONSchema7 } from \"json-schema\";\n\n// Export AJV instance for reuse\nexport const ajv = new Ajv({ allErrors: true });\n\n/**\n * Validates a JSON schema against the JSON Schema Draft 7 specification\n * @param schema Schema to validate\n * @throws Error if the schema is invalid\n */\nexport function validateSchema(schema: JSONSchema7) {\n const validate = ajv.getSchema(\"http://json-schema.org/draft-07/schema#\");\n const valid = validate?.(schema);\n\n if (!valid) {\n const errorMessages = validate?.errors\n ?.map((err) => `${err.instancePath} ${err.message}`)\n .join(\", \");\n\n throw new Error(`Schema validation error: ${errorMessages}`);\n }\n}\n\n// Test helpers\nexport const createTestSchema = (overrides = {}): JSONSchema7 => ({\n $schema: \"http://json-schema.org/draft-07/schema#\",\n type: \"object\",\n title: \"Test Schema\",\n properties: {\n name: {\n type: \"string\",\n title: \"Name\",\n },\n age: {\n type: \"integer\",\n title: \"Age\",\n },\n address: {\n type: \"object\",\n title: \"Address\",\n properties: {\n street: {\n type: \"string\",\n title: \"Street\",\n },\n city: {\n type: \"string\",\n title: \"City\",\n },\n },\n },\n tags: {\n type: \"array\",\n title: \"Tags\",\n items: {\n type: \"string\",\n },\n },\n },\n required: [\"name\"],\n ...overrides,\n});\n\ntype SampleDataType =\n | string\n | number\n | boolean\n | undefined\n | null\n | Record<string, any>;\n\n/**\n * Generate sample data for a JSON schema\n * @param schema JSON Schema to generate data for\n * @returns Sample data that conforms to the schema\n */\nexport const generateSampleData = (\n schema: JSONSchema7,\n): SampleDataType | SampleDataType[] => {\n if (!schema) return undefined;\n\n // Handle schema references (not implemented in this basic version)\n if (schema.$ref) {\n // In a complete implementation, this would resolve the reference\n return \"Reference not resolved\";\n }\n\n // Handle different types\n switch (schema.type) {\n case \"object\":\n return generateObjectData(schema);\n case \"array\":\n return generateArrayData(schema);\n case \"string\":\n return generateStringData(schema);\n case \"number\":\n case \"integer\":\n return generateNumberData(schema);\n case \"boolean\":\n return generateBooleanData();\n case \"null\":\n return null;\n default:\n // Handle schemas with multiple types or no type specified\n if (Array.isArray(schema.type) && schema.type.length > 0) {\n // Use the first type as default\n const primaryType = schema.type[0];\n const newSchema = { ...schema, type: primaryType };\n return generateSampleData(newSchema);\n }\n // If no type is specified, default to object\n if (schema.properties) {\n return generateObjectData({ ...schema, type: \"object\" });\n }\n // Fall back to a string if we can't determine the type\n return faker.lorem.word();\n }\n};\n\n/**\n * Generate sample data for an object schema\n */\nconst generateObjectData = (schema: JSONSchema7): Record<string, any> => {\n const result: Record<string, any> = {};\n\n if (!schema.properties) return result;\n\n // Process each property in the schema\n Object.entries(schema.properties).forEach(([key, propSchema]) => {\n // Only include required fields and some random non-required fields\n const isRequired =\n Array.isArray(schema.required) && schema.required.includes(key);\n const includeField = isRequired ?? Math.random() > 0.3; // 70% chance to include non-required fields\n\n if (includeField && typeof propSchema !== \"boolean\") {\n // Handle default values\n if (propSchema.default !== undefined) {\n result[key] = propSchema.default;\n } else {\n result[key] = generateSampleData(propSchema);\n }\n }\n });\n\n return result;\n};\n\n/**\n * Generate sample data for an array schema\n */\nconst generateArrayData = (schema: JSONSchema7) => {\n if (!schema.items) return [];\n\n // Determine array length\n const minItems = schema.minItems ?? 1;\n const maxItems = schema.maxItems ?? minItems + 3;\n const count = faker.number.int({ min: minItems, max: maxItems });\n\n const result = [];\n const itemSchema = Array.isArray(schema.items)\n ? schema.items[0]\n : schema.items;\n\n // Generate items\n if (typeof itemSchema !== \"boolean\" && itemSchema) {\n for (let i = 0; i < count; i++) {\n result.push(generateSampleData(itemSchema));\n }\n }\n\n return result;\n};\n\n/**\n * Generate sample data for a string schema\n */\nconst generateStringData = (schema: JSONSchema7): string => {\n if (schema.enum && Array.isArray(schema.enum)) {\n // Pick a random value from the enum\n return schema.enum[\n Math.floor(Math.random() * schema.enum.length)\n ] as string;\n }\n\n // Handle string formats\n if (schema.format) {\n switch (schema.format) {\n case \"email\":\n return faker.internet.email();\n case \"uri\":\n case \"url\":\n return faker.internet.url();\n case \"date\":\n return faker.date.past().toISOString().split(\"T\")[0]!;\n case \"date-time\":\n return faker.date.past().toISOString();\n case \"uuid\":\n return faker.string.uuid();\n case \"hostname\":\n return faker.internet.domainName();\n case \"ipv4\":\n return faker.internet.ip();\n case \"ipv6\":\n return faker.internet.ipv6();\n case \"phone\":\n return faker.phone.number();\n default:\n return faker.lorem.word();\n }\n }\n\n // Handle patterns\n if (schema.pattern) {\n try {\n // Basic implementation for simple patterns\n // For complex patterns, consider using a library like randexp\n if (schema.pattern.includes(\"\\\\d\")) {\n return faker.string.alphanumeric(10);\n }\n return faker.lorem.word();\n } catch {\n return faker.lorem.word();\n }\n }\n\n // Handle length constraints\n const minLength = schema.minLength ?? 3;\n const maxLength = schema.maxLength ?? 12;\n\n return faker.string.alphanumeric({\n length: { min: minLength, max: maxLength },\n });\n};\n\n/**\n * Generate sample data for a number schema\n */\nconst generateNumberData = (schema: JSONSchema7): number => {\n if (schema.enum && Array.isArray(schema.enum)) {\n return schema.enum[\n Math.floor(Math.random() * schema.enum.length)\n ] as number;\n }\n\n const isInteger = schema.type === \"integer\";\n const minimum =\n typeof schema.minimum === \"number\" ? schema.minimum : isInteger ? 0 : 0.0;\n const maximum =\n typeof schema.maximum === \"number\"\n ? schema.maximum\n : isInteger\n ? 100\n : 100.0;\n\n if (isInteger) {\n return faker.number.int({ min: minimum, max: maximum });\n }\n\n return faker.number.float({ min: minimum, max: maximum, fractionDigits: 2 });\n};\n\n/**\n * Generate sample data for a boolean schema\n */\nconst generateBooleanData = (): boolean => {\n return faker.datatype.boolean();\n};\n"],"names":["ajv","Ajv","validateSchema","schema","validate","errorMessages","err"],"mappings":";AAOO,MAAMA,IAAM,IAAIC,EAAI,EAAE,WAAW,GAAM,CAAA;AAOvC,SAASC,EAAeC,GAAqB;AAC5C,QAAAC,IAAWJ,EAAI,UAAU,yCAAyC;AAGxE,MAAI,CAFUI,IAAWD,CAAM,GAEnB;AACV,UAAME,IAAgBD,GAAU,QAC5B,IAAI,CAACE,MAAQ,GAAGA,EAAI,YAAY,IAAIA,EAAI,OAAO,EAAE,EAClD,KAAK,IAAI;AAEZ,UAAM,IAAI,MAAM,4BAA4BD,CAAa,EAAE;AAAA,EAAA;AAE/D;"}
1
+ {"version":3,"file":"index.es18.js","sources":["../src/components/ui/alert.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"text-destructive-foreground [&>svg]:text-current *:data-[slot=alert-description]:text-destructive-foreground/80\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Alert, AlertTitle, AlertDescription }\n"],"names":["alertVariants","cva","Alert","className","variant","props","jsx","cn","AlertTitle","AlertDescription"],"mappings":";;;AAKA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,MAAA;AAAA,IAEN;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAEA,SAASC,EAAM;AAAA,EACb,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAqE;AAEjE,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAWC,EAAGP,EAAc,EAAE,SAAAI,EAAS,CAAA,GAAGD,CAAS;AAAA,MAClD,GAAGE;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASG,EAAW,EAAE,WAAAL,GAAW,GAAGE,KAAsC;AAEtE,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MACF;AAAA,MACC,GAAGE;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASI,EAAiB;AAAA,EACxB,WAAAN;AAAA,EACA,GAAGE;AACL,GAAgC;AAE5B,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MACF;AAAA,MACC,GAAGE;AAAA,IAAA;AAAA,EACN;AAEJ;"}
@@ -1,26 +1,14 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import { forwardRef as c, useState as i, useEffect as d } from "react";
3
- import { useDebounce as l } from "./index.es47.js";
4
- import { Input as b } from "./index.es27.js";
5
- const I = c(({ onDebounce: u, type: n, delay: r = 200, value: t, ...a }, p) => {
6
- const [o, s] = i(t), [e] = l(o, r);
7
- return d(() => {
8
- typeof e == "string" && e !== t && u?.(e);
9
- }, [e]), /* @__PURE__ */ m(
10
- b,
11
- {
12
- ...a,
13
- type: n,
14
- value: o,
15
- ref: p,
16
- onChange: (f) => {
17
- s(f.target.value);
18
- }
19
- }
20
- );
21
- });
22
- I.displayName = "DebouncedInput";
1
+ import t from "ajv";
2
+ const s = new t({ allErrors: !0 });
3
+ function i(e) {
4
+ const a = s.getSchema("http://json-schema.org/draft-07/schema#");
5
+ if (!a?.(e)) {
6
+ const o = a?.errors?.map((r) => `${r.instancePath} ${r.message}`).join(", ");
7
+ throw new Error(`Schema validation error: ${o}`);
8
+ }
9
+ }
23
10
  export {
24
- I as DebouncedInput
11
+ s as ajv,
12
+ i as validateSchema
25
13
  };
26
14
  //# sourceMappingURL=index.es19.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es19.js","sources":["../src/components/depounced-input.tsx"],"sourcesContent":["import { forwardRef, useState, useEffect } from \"react\";\nimport { useDebounce } from \"use-debounce\";\nimport { Input } from \"@/components/ui/input\";\n\nexport const DebouncedInput = forwardRef<\n HTMLInputElement,\n React.ComponentProps<\"input\"> & {\n onDebounce?: (newVal: string) => void;\n delay?: number;\n }\n>(({ onDebounce, type, delay = 200, value, ...props }, ref) => {\n const [inputValue, setInputValue] = useState(value);\n\n const [debouncedValue] = useDebounce(inputValue, delay);\n\n useEffect(() => {\n //prevents the initial value from being sent\n if (typeof debouncedValue === \"string\" && debouncedValue !== value) {\n onDebounce?.(debouncedValue);\n }\n }, [debouncedValue]);\n\n return (\n <Input\n {...props}\n type={type}\n value={inputValue}\n ref={ref}\n onChange={(e) => {\n setInputValue(e.target.value);\n }}\n />\n );\n});\nDebouncedInput.displayName = \"DebouncedInput\";\n"],"names":["DebouncedInput","forwardRef","onDebounce","type","delay","value","props","ref","inputValue","setInputValue","useState","debouncedValue","useDebounce","useEffect","jsx","Input","e"],"mappings":";;;;AAIO,MAAMA,IAAiBC,EAM5B,CAAC,EAAE,YAAAC,GAAY,MAAAC,GAAM,OAAAC,IAAQ,KAAK,OAAAC,GAAO,GAAGC,EAAM,GAAGC,MAAQ;AAC7D,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAASL,CAAK,GAE5C,CAACM,CAAc,IAAIC,EAAYJ,GAAYJ,CAAK;AAEtD,SAAAS,EAAU,MAAM;AAEd,IAAI,OAAOF,KAAmB,YAAYA,MAAmBN,KAC3DH,IAAaS,CAAc;AAAA,EAC7B,GACC,CAACA,CAAc,CAAC,GAGjB,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGT;AAAA,MACJ,MAAAH;AAAA,MACA,OAAOK;AAAA,MACP,KAAAD;AAAA,MACA,UAAU,CAACS,MAAM;AACD,QAAAP,EAAAO,EAAE,OAAO,KAAK;AAAA,MAAA;AAAA,IAC9B;AAAA,EACF;AAEJ,CAAC;AACDhB,EAAe,cAAc;"}
1
+ {"version":3,"file":"index.es19.js","sources":["../src/packages/builder/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { faker } from \"@faker-js/faker\";\nimport Ajv from \"ajv\";\n\nimport type { JSONSchema7 } from \"json-schema\";\n\n// Export AJV instance for reuse\nexport const ajv = new Ajv({ allErrors: true });\n\n/**\n * Validates a JSON schema against the JSON Schema Draft 7 specification\n * @param schema Schema to validate\n * @throws Error if the schema is invalid\n */\nexport function validateSchema(schema: JSONSchema7) {\n const validate = ajv.getSchema(\"http://json-schema.org/draft-07/schema#\");\n const valid = validate?.(schema);\n\n if (!valid) {\n const errorMessages = validate?.errors\n ?.map((err) => `${err.instancePath} ${err.message}`)\n .join(\", \");\n\n throw new Error(`Schema validation error: ${errorMessages}`);\n }\n}\n\n// Test helpers\nexport const createTestSchema = (overrides = {}): JSONSchema7 => ({\n $schema: \"http://json-schema.org/draft-07/schema#\",\n type: \"object\",\n title: \"Test Schema\",\n properties: {\n name: {\n type: \"string\",\n title: \"Name\",\n },\n age: {\n type: \"integer\",\n title: \"Age\",\n },\n address: {\n type: \"object\",\n title: \"Address\",\n properties: {\n street: {\n type: \"string\",\n title: \"Street\",\n },\n city: {\n type: \"string\",\n title: \"City\",\n },\n },\n },\n tags: {\n type: \"array\",\n title: \"Tags\",\n items: {\n type: \"string\",\n },\n },\n },\n required: [\"name\"],\n ...overrides,\n});\n\ntype SampleDataType =\n | string\n | number\n | boolean\n | undefined\n | null\n | Record<string, any>;\n\n/**\n * Generate sample data for a JSON schema\n * @param schema JSON Schema to generate data for\n * @returns Sample data that conforms to the schema\n */\nexport const generateSampleData = (\n schema: JSONSchema7,\n): SampleDataType | SampleDataType[] => {\n if (!schema) return undefined;\n\n // Handle schema references (not implemented in this basic version)\n if (schema.$ref) {\n // In a complete implementation, this would resolve the reference\n return \"Reference not resolved\";\n }\n\n // Handle different types\n switch (schema.type) {\n case \"object\":\n return generateObjectData(schema);\n case \"array\":\n return generateArrayData(schema);\n case \"string\":\n return generateStringData(schema);\n case \"number\":\n case \"integer\":\n return generateNumberData(schema);\n case \"boolean\":\n return generateBooleanData();\n case \"null\":\n return null;\n default:\n // Handle schemas with multiple types or no type specified\n if (Array.isArray(schema.type) && schema.type.length > 0) {\n // Use the first type as default\n const primaryType = schema.type[0];\n const newSchema = { ...schema, type: primaryType };\n return generateSampleData(newSchema);\n }\n // If no type is specified, default to object\n if (schema.properties) {\n return generateObjectData({ ...schema, type: \"object\" });\n }\n // Fall back to a string if we can't determine the type\n return faker.lorem.word();\n }\n};\n\n/**\n * Generate sample data for an object schema\n */\nconst generateObjectData = (schema: JSONSchema7): Record<string, any> => {\n const result: Record<string, any> = {};\n\n if (!schema.properties) return result;\n\n // Process each property in the schema\n Object.entries(schema.properties).forEach(([key, propSchema]) => {\n // Only include required fields and some random non-required fields\n const isRequired =\n Array.isArray(schema.required) && schema.required.includes(key);\n const includeField = isRequired ?? Math.random() > 0.3; // 70% chance to include non-required fields\n\n if (includeField && typeof propSchema !== \"boolean\") {\n // Handle default values\n if (propSchema.default !== undefined) {\n result[key] = propSchema.default;\n } else {\n result[key] = generateSampleData(propSchema);\n }\n }\n });\n\n return result;\n};\n\n/**\n * Generate sample data for an array schema\n */\nconst generateArrayData = (schema: JSONSchema7) => {\n if (!schema.items) return [];\n\n // Determine array length\n const minItems = schema.minItems ?? 1;\n const maxItems = schema.maxItems ?? minItems + 3;\n const count = faker.number.int({ min: minItems, max: maxItems });\n\n const result = [];\n const itemSchema = Array.isArray(schema.items)\n ? schema.items[0]\n : schema.items;\n\n // Generate items\n if (typeof itemSchema !== \"boolean\" && itemSchema) {\n for (let i = 0; i < count; i++) {\n result.push(generateSampleData(itemSchema));\n }\n }\n\n return result;\n};\n\n/**\n * Generate sample data for a string schema\n */\nconst generateStringData = (schema: JSONSchema7): string => {\n if (schema.enum && Array.isArray(schema.enum)) {\n // Pick a random value from the enum\n return schema.enum[\n Math.floor(Math.random() * schema.enum.length)\n ] as string;\n }\n\n // Handle string formats\n if (schema.format) {\n switch (schema.format) {\n case \"email\":\n return faker.internet.email();\n case \"uri\":\n case \"url\":\n return faker.internet.url();\n case \"date\":\n return faker.date.past().toISOString().split(\"T\")[0]!;\n case \"date-time\":\n return faker.date.past().toISOString();\n case \"uuid\":\n return faker.string.uuid();\n case \"hostname\":\n return faker.internet.domainName();\n case \"ipv4\":\n return faker.internet.ip();\n case \"ipv6\":\n return faker.internet.ipv6();\n case \"phone\":\n return faker.phone.number();\n default:\n return faker.lorem.word();\n }\n }\n\n // Handle patterns\n if (schema.pattern) {\n try {\n // Basic implementation for simple patterns\n // For complex patterns, consider using a library like randexp\n if (schema.pattern.includes(\"\\\\d\")) {\n return faker.string.alphanumeric(10);\n }\n return faker.lorem.word();\n } catch {\n return faker.lorem.word();\n }\n }\n\n // Handle length constraints\n const minLength = schema.minLength ?? 3;\n const maxLength = schema.maxLength ?? 12;\n\n return faker.string.alphanumeric({\n length: { min: minLength, max: maxLength },\n });\n};\n\n/**\n * Generate sample data for a number schema\n */\nconst generateNumberData = (schema: JSONSchema7): number => {\n if (schema.enum && Array.isArray(schema.enum)) {\n return schema.enum[\n Math.floor(Math.random() * schema.enum.length)\n ] as number;\n }\n\n const isInteger = schema.type === \"integer\";\n const minimum =\n typeof schema.minimum === \"number\" ? schema.minimum : isInteger ? 0 : 0.0;\n const maximum =\n typeof schema.maximum === \"number\"\n ? schema.maximum\n : isInteger\n ? 100\n : 100.0;\n\n if (isInteger) {\n return faker.number.int({ min: minimum, max: maximum });\n }\n\n return faker.number.float({ min: minimum, max: maximum, fractionDigits: 2 });\n};\n\n/**\n * Generate sample data for a boolean schema\n */\nconst generateBooleanData = (): boolean => {\n return faker.datatype.boolean();\n};\n"],"names":["ajv","Ajv","validateSchema","schema","validate","errorMessages","err"],"mappings":";AAOO,MAAMA,IAAM,IAAIC,EAAI,EAAE,WAAW,GAAM,CAAA;AAOvC,SAASC,EAAeC,GAAqB;AAC5C,QAAAC,IAAWJ,EAAI,UAAU,yCAAyC;AAGxE,MAAI,CAFUI,IAAWD,CAAM,GAEnB;AACV,UAAME,IAAgBD,GAAU,QAC5B,IAAI,CAACE,MAAQ,GAAGA,EAAI,YAAY,IAAIA,EAAI,OAAO,EAAE,EAClD,KAAK,IAAI;AAEZ,UAAM,IAAI,MAAM,4BAA4BD,CAAa,EAAE;AAAA,EAAA;AAE/D;"}
package/dist/index.es2.js CHANGED
@@ -1,7 +1,8 @@
1
- import { jsx as y } from "react/jsx-runtime";
2
- import { createContext as q, useState as m, useContext as b } from "react";
3
- import { a as f } from "./index.es9.js";
4
- const d = q(void 0), j = {
1
+ import { jsx as w } from "react/jsx-runtime";
2
+ import { createContext as x, useState as h, useContext as C } from "react";
3
+ import { a as v } from "./index.es9.js";
4
+ import { a as f } from "./index.es10.js";
5
+ const y = x(void 0), R = {
5
6
  $schema: "http://json-schema.org/draft-07/schema#",
6
7
  type: "object",
7
8
  title: "title",
@@ -9,100 +10,108 @@ const d = q(void 0), j = {
9
10
  properties: {},
10
11
  required: []
11
12
  };
12
- function B({
13
+ function O({
13
14
  children: l,
14
- initialSchema: c
15
+ initialSchema: p
15
16
  }) {
16
- const [n, a] = m(
17
- c ?? j
18
- ), [u, p] = m([]);
19
- return /* @__PURE__ */ y(d.Provider, { value: { schema: n, setSchema: a, path: u, setPath: p }, children: l });
17
+ const [n, u] = h(
18
+ p ?? R
19
+ ), [a, c] = h([]);
20
+ return /* @__PURE__ */ w(y.Provider, { value: { schema: n, setSchema: u, path: a, setPath: c }, children: l });
20
21
  }
21
- function D() {
22
- const l = b(d);
22
+ function V() {
23
+ const l = C(y);
23
24
  if (l === void 0)
24
25
  throw new Error("useSchema must be used within a SchemaProvider");
25
- const { path: c, schema: n, setSchema: a } = l, u = (t, e) => {
26
- let r = t, i = null, o = null;
26
+ const { path: p, schema: n, setSchema: u } = l, a = (r, e) => {
27
+ let t = r, i = null, o = null;
27
28
  for (const s of e)
28
- r.type === "array" && r.items && !Array.isArray(r.items) && typeof r.items == "object" && r.items.type === "object" && typeof r.items.properties?.[s] == "object" ? (o = r.items, i = r.items.properties[s], r = r.items) : r.type === "object" && r.properties && !Array.isArray(r.properties) && typeof r.properties[s] == "object" && (o = r, i = r.properties[s], r = r.properties[s]);
29
+ t.type === "array" && t.items && !Array.isArray(t.items) && typeof t.items == "object" && t.items.type === "object" && typeof t.items.properties?.[s] == "object" ? (o = t.items, i = t.items.properties[s], t = t.items) : t.type === "object" && t.properties && !Array.isArray(t.properties) && typeof t.properties[s] == "object" && (o = t, i = t.properties[s], t = t.properties[s]);
29
30
  return { propertySchema: i, parentSchema: o };
30
- }, p = (t) => {
31
- const { propertySchema: e } = u(
32
- t ?? n,
33
- c
31
+ }, c = (r) => {
32
+ const { propertySchema: e } = a(
33
+ r ?? n,
34
+ p
34
35
  );
35
- return e ? e.type === "array" ? e.items : e : t ?? n;
36
+ return e ? e.type === "array" ? e.items : e : r ?? n;
37
+ }, q = () => {
38
+ const { propertySchema: r } = a(n, p);
39
+ return r;
40
+ }, b = (r, e) => {
41
+ const t = f(n), i = c(t);
42
+ if (i.properties?.[r]) {
43
+ const o = Object.entries(i.properties).map(
44
+ ([s, g]) => [s === r ? e : s, g]
45
+ );
46
+ i.properties = Object.fromEntries(
47
+ o
48
+ );
49
+ }
50
+ i.required?.includes(r) && (i.required = i.required.map(
51
+ (o) => o === r ? e : o
52
+ )), u(t);
53
+ }, j = (r, e) => {
54
+ const t = f(n), i = c(t);
55
+ typeof e == "object" && "isRequired" in e && (i.type === "object" && (i.required || (i.required = []), e.isRequired ? i.required.includes(r) || i.required.push(r) : i.required = i.required.filter((s) => s !== r)), delete e.isRequired);
56
+ let o = !1;
57
+ if (i.type === "object" && i.properties) {
58
+ const s = i.properties[r];
59
+ typeof s != "boolean" && s && typeof e != "boolean" && (e.type && e.type !== s.type ? e = {
60
+ title: s.title,
61
+ description: s.description,
62
+ default: s.default,
63
+ ...e
64
+ } : e.enum ? (delete e.type, delete e.items, delete e.properties, e = {
65
+ title: s.title,
66
+ description: s.description,
67
+ ...e
68
+ }) : e = { ...s, ...e }, i.properties[r] = e), o = !0;
69
+ }
70
+ if (u(t), o)
71
+ return { status: "success", property: i.properties[r] };
72
+ }, m = (r, e, t) => {
73
+ const i = f(n), o = c(i);
74
+ return o.type !== "object" && (o.type = "object"), o.properties || (o.properties = {}), o.properties[r] ? {
75
+ status: "error",
76
+ code: "key-exists",
77
+ message: `Property with key ${r} already exists`
78
+ } : (e.enum && (delete e.type, delete e.items, delete e.properties), o.properties[r] = e, t && (o.required || (o.required = []), o.required.includes(r) || o.required.push(r)), u(i), {
79
+ status: "success",
80
+ property: o.properties[r]
81
+ });
82
+ }, S = (r) => {
83
+ const e = f(n), t = c(e);
84
+ t.type === "object" && t.required && (t.required = t.required.filter((i) => i !== r)), t.type === "object" && t.properties && delete t.properties[r], u(e);
85
+ }, P = (r) => {
86
+ const e = c().properties;
87
+ if (!e || v(e) || typeof e[r] == "boolean")
88
+ return;
89
+ const t = e[r], i = `${r}_copy`, o = f(t);
90
+ return m(i, o, d(r));
91
+ }, d = (r) => {
92
+ if (p.length) {
93
+ const { propertySchema: e } = a(n, p);
94
+ return e?.type === "array" && e.items && typeof e.items != "boolean" && !Array.isArray(e.items) && e.items?.type === "object" ? !!e.items?.required?.includes(r) : !!e?.required?.includes(r);
95
+ }
96
+ return !!n?.required?.includes(r);
36
97
  };
37
98
  return {
38
99
  ...l,
39
- getCurrentSchema: p,
40
- getCurrentProperty: () => {
41
- const { propertySchema: t } = u(n, c);
42
- return t;
43
- },
44
- handlePropertyChange: (t, e) => {
45
- const r = f(n), i = p(r);
46
- typeof e == "object" && "isRequired" in e && (i.type === "object" && (i.required || (i.required = []), e.isRequired ? i.required.includes(t) || i.required.push(t) : i.required = i.required.filter((s) => s !== t)), delete e.isRequired);
47
- let o = !1;
48
- if (i.type === "object" && i.properties) {
49
- const s = i.properties[t];
50
- typeof s != "boolean" && s && typeof e != "boolean" && (e.type && e.type !== s.type ? e = {
51
- title: s.title,
52
- description: s.description,
53
- default: s.default,
54
- ...e
55
- } : e.enum ? (delete e.type, delete e.items, delete e.properties, e = {
56
- title: s.title,
57
- description: s.description,
58
- ...e
59
- }) : e = { ...s, ...e }, i.properties[t] = e), o = !0;
60
- }
61
- if (a(r), o)
62
- return { status: "success", property: i.properties[t] };
63
- },
64
- handleAddProperty: (t, e, r) => {
65
- const i = f(n), o = p(i);
66
- return o.type !== "object" && (o.type = "object"), o.properties || (o.properties = {}), o.properties[t] ? {
67
- status: "error",
68
- code: "key-exists",
69
- message: `Property with key ${t} already exists`
70
- } : (e.enum && (delete e.type, delete e.items, delete e.properties), o.properties[t] = e, r && (o.required || (o.required = []), o.required.includes(t) || o.required.push(t)), a(i), {
71
- status: "success",
72
- property: o.properties[t]
73
- });
74
- },
75
- handleKeyChange: (t, e) => {
76
- const r = f(n), i = p(r);
77
- if (i.properties?.[t]) {
78
- const o = Object.entries(i.properties).map(
79
- ([s, h]) => [s === t ? e : s, h]
80
- );
81
- i.properties = Object.fromEntries(
82
- o
83
- );
84
- }
85
- i.required?.includes(t) && (i.required = i.required.map(
86
- (o) => o === t ? e : o
87
- )), a(r);
88
- },
89
- navigateToCorrectNesting: u,
90
- handleDeleteProperty: (t) => {
91
- const e = f(n), r = p(e);
92
- r.type === "object" && r.required && (r.required = r.required.filter((i) => i !== t)), r.type === "object" && r.properties && delete r.properties[t], a(e);
93
- },
94
- isPropertyRequired: (t) => {
95
- if (c.length) {
96
- const { propertySchema: e } = u(n, c);
97
- return e?.type === "array" && e.items && typeof e.items != "boolean" && !Array.isArray(e.items) && e.items?.type === "object" ? !!e.items?.required?.includes(t) : !!e?.required?.includes(t);
98
- }
99
- return !!n?.required?.includes(t);
100
- }
100
+ getCurrentSchema: c,
101
+ getCurrentProperty: q,
102
+ handlePropertyChange: j,
103
+ handleAddProperty: m,
104
+ handleKeyChange: b,
105
+ navigateToCorrectNesting: a,
106
+ handleDeleteProperty: S,
107
+ isPropertyRequired: d,
108
+ getValue: () => n,
109
+ handleDuplicateProperty: P
101
110
  };
102
111
  }
103
112
  export {
104
- d as SchemaContext,
105
- B as SchemaProvider,
106
- D as useSchema
113
+ y as SchemaContext,
114
+ O as SchemaProvider,
115
+ V as useSchema
107
116
  };
108
117
  //# sourceMappingURL=index.es2.js.map