@satoshibits/react-json-schema-builder 1.0.3 → 1.1.1

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 (402) 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 -6
  68. package/dist/index.cjs36.js.map +1 -1
  69. package/dist/index.cjs37.js +1 -6
  70. package/dist/index.cjs37.js.map +1 -1
  71. package/dist/index.cjs38.js +1 -6
  72. package/dist/index.cjs38.js.map +1 -1
  73. package/dist/index.cjs39.js +1 -1
  74. package/dist/index.cjs39.js.map +1 -1
  75. package/dist/index.cjs4.js +1 -1
  76. package/dist/index.cjs40.js +1 -1
  77. package/dist/index.cjs40.js.map +1 -1
  78. package/dist/index.cjs41.js +1 -1
  79. package/dist/index.cjs41.js.map +1 -1
  80. package/dist/index.cjs42.js +1 -1
  81. package/dist/index.cjs42.js.map +1 -1
  82. package/dist/index.cjs43.js +1 -1
  83. package/dist/index.cjs43.js.map +1 -1
  84. package/dist/index.cjs44.js +6 -1
  85. package/dist/index.cjs44.js.map +1 -1
  86. package/dist/index.cjs45.js +6 -1
  87. package/dist/index.cjs45.js.map +1 -1
  88. package/dist/index.cjs46.js +6 -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 -1
  93. package/dist/index.cjs48.js.map +1 -1
  94. package/dist/index.cjs49.js +1 -1
  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 +2 -2
  102. package/dist/index.cjs52.js.map +1 -1
  103. package/dist/index.cjs53.js +2 -2
  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 -13
  203. package/dist/index.es100.js.map +1 -1
  204. package/dist/index.es101.js +20 -25
  205. package/dist/index.es101.js.map +1 -1
  206. package/dist/index.es102.js +12 -4
  207. package/dist/index.es102.js.map +1 -1
  208. package/dist/index.es103.js +25 -20
  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 +95 -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 +167 -176
  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 -831
  265. package/dist/index.es35.js.map +1 -1
  266. package/dist/index.es36.js +116 -10
  267. package/dist/index.es36.js.map +1 -1
  268. package/dist/index.es37.js +114 -10
  269. package/dist/index.es37.js.map +1 -1
  270. package/dist/index.es38.js +56 -10
  271. package/dist/index.es38.js.map +1 -1
  272. package/dist/index.es39.js +20 -112
  273. package/dist/index.es39.js.map +1 -1
  274. package/dist/index.es4.js +1 -1
  275. package/dist/index.es40.js +42 -111
  276. package/dist/index.es40.js.map +1 -1
  277. package/dist/index.es41.js +84 -54
  278. package/dist/index.es41.js.map +1 -1
  279. package/dist/index.es42.js +57 -21
  280. package/dist/index.es42.js.map +1 -1
  281. package/dist/index.es43.js +827 -40
  282. package/dist/index.es43.js.map +1 -1
  283. package/dist/index.es44.js +10 -86
  284. package/dist/index.es44.js.map +1 -1
  285. package/dist/index.es45.js +10 -60
  286. package/dist/index.es45.js.map +1 -1
  287. package/dist/index.es46.js +10 -123
  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 +62 -7
  292. package/dist/index.es48.js.map +1 -1
  293. package/dist/index.es49.js +7 -4
  294. package/dist/index.es49.js.map +1 -1
  295. package/dist/index.es5.js +7 -7
  296. package/dist/index.es50.js +5 -21
  297. package/dist/index.es50.js.map +1 -1
  298. package/dist/index.es51.js +15 -3
  299. package/dist/index.es51.js.map +1 -1
  300. package/dist/index.es52.js +3 -32
  301. package/dist/index.es52.js.map +1 -1
  302. package/dist/index.es53.js +32 -12
  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 -3
  309. package/dist/index.es56.js.map +1 -1
  310. package/dist/index.es58.js +25 -44
  311. package/dist/index.es58.js.map +1 -1
  312. package/dist/index.es59.js +62 -23
  313. package/dist/index.es59.js.map +1 -1
  314. package/dist/index.es6.js +6 -6
  315. package/dist/index.es60.js +27 -63
  316. package/dist/index.es60.js.map +1 -1
  317. package/dist/index.es61.js +5 -7
  318. package/dist/index.es61.js.map +1 -1
  319. package/dist/index.es62.js +23 -123
  320. package/dist/index.es62.js.map +1 -1
  321. package/dist/index.es63.js +32 -14
  322. package/dist/index.es63.js.map +1 -1
  323. package/dist/index.es64.js +3 -133
  324. package/dist/index.es64.js.map +1 -1
  325. package/dist/index.es65.js +45 -10
  326. package/dist/index.es65.js.map +1 -1
  327. package/dist/index.es66.js +7 -215
  328. package/dist/index.es66.js.map +1 -1
  329. package/dist/index.es67.js +124 -12
  330. package/dist/index.es67.js.map +1 -1
  331. package/dist/index.es68.js +14 -32
  332. package/dist/index.es68.js.map +1 -1
  333. package/dist/index.es69.js +133 -7
  334. package/dist/index.es69.js.map +1 -1
  335. package/dist/index.es7.js +6 -6
  336. package/dist/index.es70.js +10 -29
  337. package/dist/index.es70.js.map +1 -1
  338. package/dist/index.es71.js +215 -3
  339. package/dist/index.es71.js.map +1 -1
  340. package/dist/index.es72.js +13 -6
  341. package/dist/index.es72.js.map +1 -1
  342. package/dist/index.es73.js +7 -27
  343. package/dist/index.es73.js.map +1 -1
  344. package/dist/index.es74.js +3 -49
  345. package/dist/index.es74.js.map +1 -1
  346. package/dist/index.es75.js +28 -9
  347. package/dist/index.es75.js.map +1 -1
  348. package/dist/index.es76.js +50 -25
  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 +14 -1
  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/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs28.js","sources":["../src/components/input-error.tsx"],"sourcesContent":["import type React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface InputErrorWrapperProps {\n children: React.ReactNode;\n errorCode?: string;\n errorDescription?: string;\n showError?: boolean;\n className?: string;\n}\n\nexport function InputErrorWrapper({\n children,\n errorCode,\n errorDescription,\n showError = false,\n className,\n}: InputErrorWrapperProps) {\n return (\n <div className={cn(\"space-y-2\", className)}>\n {showError && errorCode && (\n <div\n className=\"text-sm font-medium text-destructive\"\n aria-live=\"polite\"\n >\n {errorCode}\n </div>\n )}\n\n {children}\n\n {showError && errorDescription && (\n <div className=\"text-sm text-destructive\" aria-live=\"polite\">\n {errorDescription}\n </div>\n )}\n </div>\n );\n}\n"],"names":["InputErrorWrapper","children","errorCode","errorDescription","showError","className","cn","jsx"],"mappings":"mJAWO,SAASA,EAAkB,CAChC,SAAAC,EACA,UAAAC,EACA,iBAAAC,EACA,UAAAC,EAAY,GACZ,UAAAC,CACF,EAA2B,CACzB,cACG,MAAI,CAAA,UAAWC,EAAG,GAAA,YAAaD,CAAS,EACtC,SAAA,CAAAD,GAAaF,GACZK,EAAA,IAAC,MAAA,CACC,UAAU,uCACV,YAAU,SAET,SAAAL,CAAA,CACH,EAGDD,EAEAG,GAAaD,GACXI,MAAA,MAAA,CAAI,UAAU,2BAA2B,YAAU,SACjD,SACHJ,CAAA,CAAA,CAAA,EAEJ,CAEJ"}
1
+ {"version":3,"file":"index.cjs28.js","sources":["../src/components/ui/input.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"border-input file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n"],"names":["Input","className","type","props","jsx","cn"],"mappings":"mJAIA,SAASA,EAAM,CAAE,UAAAC,EAAW,KAAAC,EAAM,GAAGC,GAAwC,CAEzE,OAAAC,EAAA,IAAC,QAAA,CACC,KAAAF,EACA,YAAU,QACV,UAAWG,EAAA,GACT,ibACA,gFACA,yGACAJ,CACF,EACC,GAAGE,CAAA,CACN,CAEJ"}
@@ -1,7 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("./index.cjs50.js");/**
2
- * @license lucide-react v0.477.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const e=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],o=t.default("X",e);exports.__iconNode=e;exports.default=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("./index.cjs22.js");function c({children:r,errorCode:t,errorDescription:i,showError:s=!1,className:a}){return e.jsxs("div",{className:l.cn("space-y-2",a),children:[s&&t&&e.jsx("div",{className:"text-sm font-medium text-destructive","aria-live":"polite",children:t}),r,s&&i&&e.jsx("div",{className:"text-sm text-destructive","aria-live":"polite",children:i})]})}exports.InputErrorWrapper=c;
7
2
  //# sourceMappingURL=index.cjs29.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs29.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/x.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: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n];\nconst X = createLucideIcon(\"X\", __iconNode);\n\nexport { __iconNode, X as default };\n//# sourceMappingURL=x.js.map\n"],"names":["__iconNode","X","createLucideIcon"],"mappings":"gJAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAa,CACjB,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,EAC3C,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAU,CAAA,CAC7C,EACMC,EAAIC,EAAAA,QAAiB,IAAKF,CAAU","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.cjs29.js","sources":["../src/components/input-error.tsx"],"sourcesContent":["import type React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface InputErrorWrapperProps {\n children: React.ReactNode;\n errorCode?: string;\n errorDescription?: string;\n showError?: boolean;\n className?: string;\n}\n\nexport function InputErrorWrapper({\n children,\n errorCode,\n errorDescription,\n showError = false,\n className,\n}: InputErrorWrapperProps) {\n return (\n <div className={cn(\"space-y-2\", className)}>\n {showError && errorCode && (\n <div\n className=\"text-sm font-medium text-destructive\"\n aria-live=\"polite\"\n >\n {errorCode}\n </div>\n )}\n\n {children}\n\n {showError && errorDescription && (\n <div className=\"text-sm text-destructive\" aria-live=\"polite\">\n {errorDescription}\n </div>\n )}\n </div>\n );\n}\n"],"names":["InputErrorWrapper","children","errorCode","errorDescription","showError","className","cn","jsx"],"mappings":"mJAWO,SAASA,EAAkB,CAChC,SAAAC,EACA,UAAAC,EACA,iBAAAC,EACA,UAAAC,EAAY,GACZ,UAAAC,CACF,EAA2B,CACzB,cACG,MAAI,CAAA,UAAWC,EAAG,GAAA,YAAaD,CAAS,EACtC,SAAA,CAAAD,GAAaF,GACZK,EAAA,IAAC,MAAA,CACC,UAAU,uCACV,YAAU,SAET,SAAAL,CAAA,CACH,EAGDD,EAEAG,GAAaD,GACXI,MAAA,MAAA,CAAI,UAAU,2BAA2B,YAAU,SACjD,SACHJ,CAAA,CAAA,CAAA,EAEJ,CAEJ"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("react"),se=require("./index.cjs2.js"),h=require("./index.cjs10.js"),u=require("./index.cjs11.js"),ae=require("./index.cjs12.js"),l=require("./index.cjs13.js"),F=require("./index.cjs14.js"),U=require("./index.cjs9.js"),Q=require("./index.cjs4.js"),oe=require("./index.cjs15.js"),a=require("./index.cjs16.js"),D=require("./index.cjs17.js"),ce=require("./index.cjs18.js"),de=require("ajv"),P=require("./index.cjs19.js"),ue=require("./index.cjs20.js"),A=require("./index.cjs21.js"),he=require("./index.cjs22.js"),me=require("./index.cjs23.js"),je=require("./index.cjs24.js"),xe=require("./index.cjs25.js"),ge=require("./index.cjs26.js"),be=i=>{const[_,x]=s.useState(!1),[k,p]=s.useState(!1),[H,g]=s.useState(!1),[b,S]=s.useState(),[N,q]=s.useState(),[B,I]=s.useState(),[f,v]=s.useState(null);Q.usePluginSystem(i.plugins??[]);const{getCurrentSchema:E,setPath:m,path:o,schema:w,handleAddProperty:T,handlePropertyChange:c,handleKeyChange:R,handleDeleteProperty:M,setSchema:G,isPropertyRequired:C}=se.useSchema(),{getConstraintDefinitionsForType:J}=Q.useConstraints();s.useEffect(()=>{if(i.initialSchema)try{ce.validateSchema(i.initialSchema),G(U.a(i.initialSchema)),v(null)}catch(t){t instanceof Error?v(t.message):t instanceof de.ValidationError?v(`Schema validation error: ${t.message}`):v("Unknown schema validation error")}},[i.initialSchema]),s.useEffect(()=>{!f&&i.onSchemaChange&&i.onSchemaChange(w)},[w,f,i.onSchemaChange]);const W=E(),z=t=>{m([...o,t])},K=()=>{m(o.slice(0,-1))},X=(t,n)=>{q(t),I(n),p(!0)},V=t=>{S(t),g(!0)},Y=()=>{b&&(M(b),S(void 0)),g(!1)},Z=()=>{S(void 0),g(!1)},$=t=>{const n=E().properties;if(!n||typeof n[t]=="boolean")return;const r=n[t],j=`${t}_copy`,y=U.a(r),d=T(j,y,C(t));d.status==="error"?i.onPropertyAddError?.(d):i.onPropertyAddSuccess?.(d)},ee=(...t)=>{const n=T(...t);n.status==="error"?i.onPropertyAddError?.(n):n.status==="success"&&i.onPropertyAddSuccess?.(n),x(!1)},L=i.propertyComponent,te=(t,n)=>L?e.jsx(L,{property:{key:t,schema:n,isRequired:C(t)},onPropertyChange:c,onKeyChange:R,onDelete:V,onDuplicate:$,onNavigate:n.type==="object"||n.type==="array"&&typeof n.items=="object"&&n.items.type==="object"?z:void 0},t):e.jsxs("div",{className:"flex flex-col md:grid grid-cols-(--my-autofit-grid) gap-4 md:items-center border p-2 rounded-md mb-2",children:[e.jsx("div",{className:"",children:e.jsx(P.DebouncedInput,{value:t,onDebounce:r=>R(t,r),placeholder:"Property Key","aria-label":`Property key for ${t}`,delay:500})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ae.Switch,{checked:C(t),onCheckedChange:r=>c(t,{isRequired:r}),"aria-label":"Required"}),e.jsx(F.Label,{htmlFor:`required-${t}`,children:"Required"})]}),e.jsx("div",{className:"",children:e.jsxs(l.Select,{value:typeof n=="object"&&!Array.isArray(n.type)?n.type:void 0,onValueChange:r=>c(t,{type:r}),"aria-label":"Type",children:[e.jsx(l.SelectTrigger,{className:"w-full","aria-label":"Select type",children:e.jsx(l.SelectValue,{})}),e.jsxs(l.SelectContent,{children:[e.jsx(l.SelectItem,{value:"string",children:"string"}),e.jsx(l.SelectItem,{value:"number",children:"number"}),e.jsx(l.SelectItem,{value:"integer",children:"integer"}),e.jsx(l.SelectItem,{value:"boolean",children:"boolean"}),e.jsx(l.SelectItem,{value:"object",children:"object"}),e.jsx(l.SelectItem,{value:"array",children:"array"}),e.jsx(l.SelectItem,{value:"null",children:"null"}),e.jsx(l.SelectItem,{value:"enum",children:"enum"})]})]})}),e.jsx("div",{className:"",children:e.jsx(P.DebouncedInput,{value:typeof n=="object"?n.title:void 0,onDebounce:r=>c(t,{title:r}),placeholder:"Title"})}),e.jsx("div",{className:"",children:e.jsx(P.DebouncedInput,{value:typeof n=="object"?n.description:void 0,onDebounce:r=>c(t,{description:r}),placeholder:"Description"})}),e.jsxs("div",{className:"order-last md:order-none flex gap-2",children:[e.jsx(h.Button,{variant:"outline",size:"sm",onClick:()=>V(t),"aria-label":"Delete",className:"block!",children:e.jsx(me.default,{size:16,className:"text-destructive"})}),e.jsx(h.Button,{variant:"outline",size:"sm",onClick:()=>$(t),"aria-label":"Duplicate",className:"block!",children:e.jsx(je.default,{size:16})}),re(t,n),O(t,n)]}),ne(t,n)]},t),ne=(t,n)=>{if(typeof n!="object"||n.type!=="array")return null;const r=n.items,j=!Array.isArray(r)&&typeof r=="object"&&typeof r.type=="string"?r?.type:"string";return e.jsxs("div",{className:"col-span-full flex items-center gap-4 pl-8 mt-2 bg-gray-50 p-2 rounded-md",children:[e.jsx(F.Label,{children:"Items of type:"}),e.jsxs(l.Select,{value:j,onValueChange:y=>{const d={...typeof r=="object"?r:{},type:y};y==="object"&&(d.properties=d.properties??{}),c(t,{items:d})},children:[e.jsx(l.SelectTrigger,{className:"w-[200px]","aria-label":"Select items of type",children:e.jsx(l.SelectValue,{})}),e.jsxs(l.SelectContent,{children:[e.jsx(l.SelectItem,{value:"string",children:"string"}),e.jsx(l.SelectItem,{value:"number",children:"number"}),e.jsx(l.SelectItem,{value:"integer",children:"integer"}),e.jsx(l.SelectItem,{value:"boolean",children:"boolean"}),e.jsx(l.SelectItem,{value:"object",children:"object"}),e.jsx(l.SelectItem,{value:"array",children:"array"}),e.jsx(l.SelectItem,{value:"null",children:"null"})]})]}),O(t,r)]})},re=(t,n)=>{if(typeof n!="object")return null;const r=J(typeof n.type=="string"?n.type:""),j=Array.isArray(n?.enum);return r.length||j?e.jsx(h.Button,{variant:"outline",size:"sm",onClick:()=>X(t,n),"aria-label":"Edit constraints",children:e.jsx(xe.default,{size:16})}):null},O=(t,n)=>!Array.isArray(n)&&typeof n=="object"&&n?.type==="object"?e.jsxs(h.Button,{variant:"outline",size:"sm",onClick:()=>z(t),"aria-label":"Navigate",children:[e.jsx("span",{className:"sr-only",children:"Navigate"}),e.jsx(ge.default,{size:16})]}):null,le=()=>{const t=i.navigationComponent;return t?e.jsx(t,{currentPath:o,onNavigateUp:K,onNavigateTo:m,isRootPath:o.length===0}):e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(h.Button,{variant:"outline",size:"sm",onClick:K,disabled:o.length===0,className:A.cn(i.backButtonClassName),children:"Back"}),e.jsx(u.Breadcrumb,{children:e.jsxs(u.BreadcrumbList,{children:[e.jsx(u.BreadcrumbItem,{children:e.jsx(u.BreadcrumbLink,{href:"#",onClick:()=>m([]),children:"Root"})}),o.map((n,r)=>e.jsxs(s.Fragment,{children:[e.jsx(u.BreadcrumbSeparator,{}),e.jsx(u.BreadcrumbItem,{children:e.jsx(u.BreadcrumbLink,{href:"#",onClick:()=>m(o.slice(0,r+1)),children:n})})]},`path-${r}`))]})})]})},ie=()=>{const t=i.addPropertyButtonComponent;return t?e.jsx(t,{onClick:()=>x(!0)}):e.jsxs(h.Button,{type:"button",className:A.cn("self-center",i.addPropertyButtonClassName),onClick:()=>{x(!0)},children:[e.jsx(he.default,{className:"h-4 w-4 mr-2"}),"Add Property"]})};return e.jsxs("div",{children:[f&&e.jsxs(D.Alert,{variant:"destructive",children:[e.jsx(D.AlertTitle,{children:"Schema Error"}),e.jsx(D.AlertDescription,{children:f})]}),le(),e.jsx("div",{className:A.cn("mt-6 overflow-x-hidden",i.propertiesListClassName),children:Object.entries(W.properties??{}).map(([t,n])=>typeof n=="boolean"?null:te(t,n))}),ie(),e.jsx(ue.AddPropertyDialog,{open:_,onOpenChange:x,onSubmit:ee}),N&&B&&e.jsx(oe.EditPropertyDialog,{propertyKey:N,property:B,open:k,onOpenChange:p,onSubmit:t=>{c(...t),q(void 0),I(void 0),p(!1)}}),e.jsx(a.AlertDialog,{open:H,onOpenChange:g,children:e.jsxs(a.AlertDialogContent,{children:[e.jsxs(a.AlertDialogHeader,{children:[e.jsx(a.AlertDialogTitle,{children:"Are you sure?"}),e.jsxs(a.AlertDialogDescription,{children:["This action cannot be undone. This will permanently delete the property",b?` "${b}"`:""," from the schema."]})]}),e.jsxs(a.AlertDialogFooter,{children:[e.jsx(a.AlertDialogCancel,{onClick:Z,children:"Cancel"}),e.jsx(a.AlertDialogAction,{onClick:Y,children:"Delete"})]})]})})]})};exports.SchemaBuilder=be;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("react"),ie=require("./index.cjs2.js"),u=require("./index.cjs11.js"),d=require("./index.cjs12.js"),se=require("./index.cjs13.js"),r=require("./index.cjs14.js"),$=require("./index.cjs15.js"),ae=require("./index.cjs10.js"),L=require("./index.cjs4.js"),oe=require("./index.cjs16.js"),a=require("./index.cjs17.js"),S=require("./index.cjs18.js"),ce=require("./index.cjs19.js"),de=require("ajv"),p=require("./index.cjs20.js"),ue=require("./index.cjs21.js"),C=require("./index.cjs22.js"),he=require("./index.cjs23.js"),me=require("./index.cjs24.js"),je=require("./index.cjs25.js"),xe=require("./index.cjs26.js"),ge=require("./index.cjs27.js"),be=i=>{const[O,m]=s.useState(!1),[k,b]=s.useState(!1),[F,j]=s.useState(!1),[x,f]=s.useState(),[D,A]=s.useState(),[P,N]=s.useState(),[q,g]=s.useState(null);L.usePluginSystem(i.plugins??[]);const{getCurrentSchema:U,setPath:h,path:o,handleAddProperty:Q,handlePropertyChange:c,handleKeyChange:B,handleDeleteProperty:H,setSchema:M,isPropertyRequired:I,handleDuplicateProperty:_}=ie.useSchema({onSchemaChange:i.onSchemaChange}),{getConstraintDefinitionsForType:G}=L.useConstraints();s.useEffect(()=>{if(i.initialSchema)try{ce.validateSchema(i.initialSchema),M(ae.a(i.initialSchema)),g(null)}catch(t){t instanceof Error?g(t.message):t instanceof de.ValidationError?g(`Schema validation error: ${t.message}`):g("Unknown schema validation error")}},[i.initialSchema]);const J=U(),E=t=>{h([...o,t])},w=()=>{h(o.slice(0,-1))},W=(t,n)=>{A(t),N(n),b(!0)},T=t=>{f(t),j(!0)},X=()=>{x&&(H(x),f(void 0)),j(!1)},Y=()=>{f(void 0),j(!1)},R=t=>{const n=_(t);n?.status==="error"?i.onPropertyAddError?.(n):n?.status==="success"&&i.onPropertyAddSuccess?.(n)},Z=(...t)=>{const n=Q(...t);n.status==="error"?i.onPropertyAddError?.(n):n.status==="success"&&i.onPropertyAddSuccess?.(n),m(!1)},z=i.propertyComponent,ee=(t,n)=>z?e.jsx(z,{property:{key:t,schema:n,isRequired:I(t)},onPropertyChange:c,onKeyChange:B,onDelete:T,onDuplicate:R,onNavigate:n.type==="object"||n.type==="array"&&typeof n.items=="object"&&n.items.type==="object"?E:void 0},t):e.jsxs("div",{className:"flex flex-col md:grid grid-cols-(--my-autofit-grid) gap-4 md:items-center border p-2 rounded-md mb-2",children:[e.jsx("div",{className:"",children:e.jsx(p.DebouncedInput,{value:t,onDebounce:l=>B(t,l),placeholder:"Property Key","aria-label":`Property key for ${t}`,delay:500})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(se.Switch,{checked:I(t),onCheckedChange:l=>c(t,{isRequired:l}),"aria-label":"Required"}),e.jsx($.Label,{htmlFor:`required-${t}`,children:"Required"})]}),e.jsx("div",{className:"",children:e.jsxs(r.Select,{value:typeof n=="object"&&!Array.isArray(n.type)?n.type:void 0,onValueChange:l=>c(t,{type:l}),"aria-label":"Type",children:[e.jsx(r.SelectTrigger,{className:"w-full","aria-label":"Select type",children:e.jsx(r.SelectValue,{})}),e.jsxs(r.SelectContent,{children:[e.jsx(r.SelectItem,{value:"string",children:"string"}),e.jsx(r.SelectItem,{value:"number",children:"number"}),e.jsx(r.SelectItem,{value:"integer",children:"integer"}),e.jsx(r.SelectItem,{value:"boolean",children:"boolean"}),e.jsx(r.SelectItem,{value:"object",children:"object"}),e.jsx(r.SelectItem,{value:"array",children:"array"}),e.jsx(r.SelectItem,{value:"null",children:"null"}),e.jsx(r.SelectItem,{value:"enum",children:"enum"})]})]})}),e.jsx("div",{className:"",children:e.jsx(p.DebouncedInput,{value:typeof n=="object"?n.title:void 0,onDebounce:l=>c(t,{title:l}),placeholder:"Title"})}),e.jsx("div",{className:"",children:e.jsx(p.DebouncedInput,{value:typeof n=="object"?n.description:void 0,onDebounce:l=>c(t,{description:l}),placeholder:"Description"})}),e.jsxs("div",{className:"order-last md:order-none flex gap-2",children:[e.jsx(u.Button,{variant:"outline",size:"sm",onClick:()=>T(t),"aria-label":"Delete",className:"block!",children:e.jsx(me.default,{size:16,className:"text-destructive"})}),e.jsx(u.Button,{variant:"outline",size:"sm",onClick:()=>R(t),"aria-label":"Duplicate",className:"block!",children:e.jsx(je.default,{size:16})}),ne(t,n),K(t,n)]}),te(t,n)]},t),te=(t,n)=>{if(typeof n!="object"||n.type!=="array")return null;const l=n.items,v=!Array.isArray(l)&&typeof l=="object"&&typeof l.type=="string"?l?.type:"string";return e.jsxs("div",{className:"col-span-full flex items-center gap-4 pl-8 mt-2 bg-gray-50 p-2 rounded-md",children:[e.jsx($.Label,{children:"Items of type:"}),e.jsxs(r.Select,{value:v,onValueChange:V=>{const y={...typeof l=="object"?l:{},type:V};V==="object"&&(y.properties=y.properties??{}),c(t,{items:y})},children:[e.jsx(r.SelectTrigger,{className:"w-[200px]","aria-label":"Select items of type",children:e.jsx(r.SelectValue,{})}),e.jsxs(r.SelectContent,{children:[e.jsx(r.SelectItem,{value:"string",children:"string"}),e.jsx(r.SelectItem,{value:"number",children:"number"}),e.jsx(r.SelectItem,{value:"integer",children:"integer"}),e.jsx(r.SelectItem,{value:"boolean",children:"boolean"}),e.jsx(r.SelectItem,{value:"object",children:"object"}),e.jsx(r.SelectItem,{value:"array",children:"array"}),e.jsx(r.SelectItem,{value:"null",children:"null"})]})]}),K(t,l)]})},ne=(t,n)=>{if(typeof n!="object")return null;const l=G(typeof n.type=="string"?n.type:""),v=Array.isArray(n?.enum);return l.length||v?e.jsx(u.Button,{variant:"outline",size:"sm",onClick:()=>W(t,n),"aria-label":"Edit constraints",children:e.jsx(xe.default,{size:16})}):null},K=(t,n)=>!Array.isArray(n)&&typeof n=="object"&&n?.type==="object"?e.jsxs(u.Button,{variant:"outline",size:"sm",onClick:()=>E(t),"aria-label":"Navigate",children:[e.jsx("span",{className:"sr-only",children:"Navigate"}),e.jsx(ge.default,{size:16})]}):null,re=()=>{const t=i.navigationComponent;return t?e.jsx(t,{currentPath:o,onNavigateUp:w,onNavigateTo:h,isRootPath:o.length===0}):e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(u.Button,{variant:"outline",size:"sm",onClick:w,disabled:o.length===0,className:C.cn(i.backButtonClassName),children:"Back"}),e.jsx(d.Breadcrumb,{children:e.jsxs(d.BreadcrumbList,{children:[e.jsx(d.BreadcrumbItem,{children:e.jsx(d.BreadcrumbLink,{href:"#",onClick:()=>h([]),children:"Root"})}),o.map((n,l)=>e.jsxs(s.Fragment,{children:[e.jsx(d.BreadcrumbSeparator,{}),e.jsx(d.BreadcrumbItem,{children:e.jsx(d.BreadcrumbLink,{href:"#",onClick:()=>h(o.slice(0,l+1)),children:n})})]},`path-${l}`))]})})]})},le=()=>{const t=i.addPropertyButtonComponent;return t?e.jsx(t,{onClick:()=>m(!0)}):e.jsxs(u.Button,{type:"button",className:C.cn("self-center",i.addPropertyButtonClassName),onClick:()=>{m(!0)},children:[e.jsx(he.default,{className:"h-4 w-4 mr-2"}),"Add Property"]})};return e.jsxs("div",{children:[q&&e.jsxs(S.Alert,{variant:"destructive",children:[e.jsx(S.AlertTitle,{children:"Schema Error"}),e.jsx(S.AlertDescription,{children:q})]}),re(),e.jsx("div",{className:C.cn("mt-6 overflow-x-hidden",i.propertiesListClassName),children:Object.entries(J.properties??{}).map(([t,n])=>typeof n=="boolean"?null:ee(t,n))}),le(),e.jsx(ue.AddPropertyDialog,{open:O,onOpenChange:m,onSubmit:Z}),D&&P&&e.jsx(oe.EditPropertyDialog,{propertyKey:D,property:P,open:k,onOpenChange:b,onSubmit:t=>{c(...t),A(void 0),N(void 0),b(!1)}}),e.jsx(a.AlertDialog,{open:F,onOpenChange:j,children:e.jsxs(a.AlertDialogContent,{children:[e.jsxs(a.AlertDialogHeader,{children:[e.jsx(a.AlertDialogTitle,{children:"Are you sure?"}),e.jsxs(a.AlertDialogDescription,{children:["This action cannot be undone. This will permanently delete the property",x?` "${x}"`:""," from the schema."]})]}),e.jsxs(a.AlertDialogFooter,{children:[e.jsx(a.AlertDialogCancel,{onClick:Y,children:"Cancel"}),e.jsx(a.AlertDialogAction,{onClick:X,children:"Delete"})]})]})})]})};exports.SchemaBuilder=be;
2
2
  //# sourceMappingURL=index.cjs3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs3.js","sources":["../src/packages/builder/schema-builder.tsx"],"sourcesContent":["import { useEffect, useState, Fragment } from \"react\";\nimport { PropertyAddError, PropertyAddSuccess, useSchema } from \"./context\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { Bolt, ChevronRight, Copy, Plus, Trash2 } from \"lucide-react\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { Label } from \"@/components/ui/label\";\nimport type { JSONSchema7 } from \"json-schema\";\nimport { clone } from \"remeda\";\nimport {\n BaseJSONSchemaPlugin,\n useConstraints,\n usePluginSystem,\n} from \"@/packages/constraints/context\";\nimport { EditPropertyDialog } from \"./edit-dialog\";\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} from \"@/components/ui/alert-dialog\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { validateSchema } from \"./utils\";\nimport Ajv from \"ajv\";\nimport { DebouncedInput } from \"@/components/depounced-input\";\nimport { AddPropertyDialog, type AddPropertyDialogProps } from \"./add-dialog\";\nimport { cn } from \"@/lib/utils\";\n\n// PropertyComponent type definition for custom property components\nexport interface PropertyComponentProps {\n property: {\n key: string;\n schema: JSONSchema7;\n isRequired: boolean;\n };\n onPropertyChange: (key: string, changes: Partial<JSONSchema7>) => void;\n onKeyChange: (oldKey: string, newKey: string) => void;\n onDelete: (key: string) => void;\n onDuplicate?: (key: string) => void;\n onNavigate?: (key: string) => void;\n}\n\n// NavigationProps for custom navigation component\nexport interface NavigationProps {\n currentPath: string[];\n onNavigateUp: () => void;\n onNavigateTo: (newPath: string[]) => void;\n isRootPath: boolean;\n}\n\n// AddPropertyButtonProps for custom add property button\nexport interface AddPropertyButtonProps {\n onClick: () => void;\n}\n\ninterface SchemaBuilderProps {\n /** The schema to edit */\n initialSchema?: JSONSchema7;\n /** Constraint plugins to use */\n plugins?: BaseJSONSchemaPlugin[];\n /** Custom component to render properties */\n propertyComponent?: React.ComponentType<PropertyComponentProps>;\n /** Called when the schema changes */\n onSchemaChange?: (schema: JSONSchema7) => void;\n /** Called when a property is successfully added */\n onPropertyAddSuccess?: (props: PropertyAddSuccess) => void;\n /** Called when there's an error adding a property */\n onPropertyAddError?: (props: PropertyAddError) => void;\n /** Called when there's an error changing a property */\n onPropertyChangeError?: (prop: Error) => void;\n /** Called when a property is successfully changed */\n onPropertyChangeSuccess?: () => void;\n /** Class name for the navigation bar back button */\n backButtonClassName?: string;\n /** Class name for the properties list container */\n propertiesListClassName?: string;\n /** Class name for the add property button */\n addPropertyButtonClassName?: string;\n /** Custom navigation component */\n navigationComponent?: React.ComponentType<NavigationProps>;\n /** Custom add property button component */\n addPropertyButtonComponent?: React.ComponentType<AddPropertyButtonProps>;\n}\n\nexport const SchemaBuilder = (props: SchemaBuilderProps) => {\n // State\n const [showPropertyDialog, setShowPropertyDialog] = useState(false);\n const [showEditDialog, setShowEditDialog] = useState(false);\n const [showDeleteDialog, setShowDeleteDialog] = useState(false);\n const [deleteKey, setDeleteKey] = useState<string | undefined>();\n const [editingKey, setEditingKey] = useState<string | undefined>();\n const [editingProperty, setEditingProperty] = useState<\n JSONSchema7 | undefined\n >();\n const [schemaValidationError, setSchemaValidationError] = useState<\n string | null\n >(null);\n\n // Initialize the plugin system\n usePluginSystem(props.plugins ?? []);\n\n // Get schema context\n const {\n getCurrentSchema,\n setPath,\n path,\n schema,\n handleAddProperty,\n handlePropertyChange,\n handleKeyChange,\n handleDeleteProperty,\n setSchema,\n isPropertyRequired,\n } = useSchema();\n\n // Get constraints context\n const { getConstraintDefinitionsForType } = useConstraints();\n\n // Set schema from props\n useEffect(() => {\n if (props.initialSchema) {\n try {\n // Validate the schema before setting it\n validateSchema(props.initialSchema);\n setSchema(clone(props.initialSchema));\n setSchemaValidationError(null);\n } catch (error) {\n if (error instanceof Error) {\n setSchemaValidationError(error.message);\n } else if (error instanceof Ajv.ValidationError) {\n setSchemaValidationError(`Schema validation error: ${error.message}`);\n } else {\n setSchemaValidationError(\"Unknown schema validation error\");\n }\n }\n }\n }, [props.initialSchema]);\n\n // Notify schema changes\n useEffect(() => {\n if (!schemaValidationError && props.onSchemaChange) {\n props.onSchemaChange(schema);\n }\n }, [schema, schemaValidationError, props.onSchemaChange]);\n\n const currentSchema = getCurrentSchema();\n\n // Navigation handlers\n const handleNavigateToProperty = (name: string) => {\n setPath([...path, name]);\n };\n\n const handleNavigateUp = () => {\n setPath(path.slice(0, -1));\n };\n\n // Property management handlers\n const handleEditProperty = (key: string, property: JSONSchema7) => {\n setEditingKey(key);\n setEditingProperty(property);\n setShowEditDialog(true);\n };\n\n const handleInitiateDelete = (key: string) => {\n setDeleteKey(key);\n setShowDeleteDialog(true);\n };\n\n const handleConfirmDelete = () => {\n if (deleteKey) {\n handleDeleteProperty(deleteKey);\n setDeleteKey(undefined);\n }\n setShowDeleteDialog(false);\n };\n\n const handleCancelDelete = () => {\n setDeleteKey(undefined);\n setShowDeleteDialog(false);\n };\n\n const handleDuplicateProperty = (key: string) => {\n const currentProperties = getCurrentSchema().properties;\n if (!currentProperties || typeof currentProperties[key] === \"boolean\") {\n return;\n }\n\n const propertyToDuplicate = currentProperties[key]!;\n const newKey = `${key}_copy`;\n const newProperty = clone(propertyToDuplicate);\n\n // Add the duplicated property\n const result = handleAddProperty(\n newKey,\n newProperty,\n isPropertyRequired(key),\n );\n\n // Notify if needed\n if (result.status === \"error\") {\n props.onPropertyAddError?.(result);\n } else {\n props.onPropertyAddSuccess?.(result);\n }\n };\n\n const onAddProperty: AddPropertyDialogProps[\"onSubmit\"] = (...vals) => {\n const result = handleAddProperty(...vals);\n\n if (result.status === \"error\") {\n props.onPropertyAddError?.(result);\n } else if (result.status === \"success\") {\n props.onPropertyAddSuccess?.(result);\n }\n setShowPropertyDialog(false);\n };\n\n // Custom property component or default renderer\n const PropertyComponent = props.propertyComponent;\n\n const renderProperty = (key: string, property: JSONSchema7) => {\n if (PropertyComponent) {\n return (\n <PropertyComponent\n key={key}\n property={{\n key,\n schema: property,\n isRequired: isPropertyRequired(key),\n }}\n onPropertyChange={handlePropertyChange}\n onKeyChange={handleKeyChange}\n onDelete={handleInitiateDelete}\n onDuplicate={handleDuplicateProperty}\n onNavigate={\n property.type === \"object\" ||\n (property.type === \"array\" &&\n typeof property.items === \"object\" &&\n (property.items as JSONSchema7).type === \"object\")\n ? handleNavigateToProperty\n : undefined\n }\n />\n );\n }\n\n // Default property renderer\n return (\n <div\n key={key}\n className=\"flex flex-col md:grid grid-cols-(--my-autofit-grid) gap-4 md:items-center border p-2 rounded-md mb-2\"\n >\n <div className=\"\">\n <DebouncedInput\n value={key}\n onDebounce={(newVal) => handleKeyChange(key, newVal)}\n placeholder=\"Property Key\"\n aria-label={`Property key for ${key}`}\n delay={500}\n />\n </div>\n\n <div className=\"flex items-center gap-2\">\n <Switch\n checked={isPropertyRequired(key)}\n onCheckedChange={(checked) =>\n handlePropertyChange(key, { isRequired: checked })\n }\n aria-label=\"Required\"\n />\n <Label htmlFor={`required-${key}`}>Required</Label>\n </div>\n\n <div className=\"\">\n <Select\n value={\n typeof property === \"object\" && !Array.isArray(property.type)\n ? property.type\n : undefined\n }\n onValueChange={(value) =>\n handlePropertyChange(key, {\n type: value as JSONSchema7[\"type\"],\n })\n }\n aria-label=\"Type\"\n >\n <SelectTrigger className=\"w-full\" aria-label=\"Select type\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value={\"string\" satisfies JSONSchema7[\"type\"]}>\n string\n </SelectItem>\n <SelectItem value={\"number\" satisfies JSONSchema7[\"type\"]}>\n number\n </SelectItem>\n <SelectItem value={\"integer\" satisfies JSONSchema7[\"type\"]}>\n integer\n </SelectItem>\n <SelectItem value={\"boolean\" satisfies JSONSchema7[\"type\"]}>\n boolean\n </SelectItem>\n <SelectItem value={\"object\" satisfies JSONSchema7[\"type\"]}>\n object\n </SelectItem>\n <SelectItem value={\"array\" satisfies JSONSchema7[\"type\"]}>\n array\n </SelectItem>\n <SelectItem value={\"null\" satisfies JSONSchema7[\"type\"]}>\n null\n </SelectItem>\n <SelectItem value={\"enum\"}>enum</SelectItem>\n </SelectContent>\n </Select>\n </div>\n\n <div className=\"\">\n <DebouncedInput\n value={typeof property === \"object\" ? property.title : undefined}\n onDebounce={(newVal) =>\n handlePropertyChange(key, { title: newVal })\n }\n placeholder=\"Title\"\n />\n </div>\n\n <div className=\"\">\n <DebouncedInput\n value={\n typeof property === \"object\" ? property.description : undefined\n }\n onDebounce={(newVal) =>\n handlePropertyChange(key, { description: newVal })\n }\n placeholder=\"Description\"\n />\n </div>\n\n <div className=\"order-last md:order-none flex gap-2\">\n {/* Delete button */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => handleInitiateDelete(key)}\n aria-label=\"Delete\"\n className=\"block!\"\n >\n <Trash2 size={16} className=\"text-destructive\" />\n </Button>\n\n {/* Duplicate button */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => handleDuplicateProperty(key)}\n aria-label=\"Duplicate\"\n className=\"block!\"\n >\n <Copy size={16} />\n </Button>\n\n {/* Edit button if applicable */}\n {renderEditButton(key, property)}\n\n {/* Navigate button for objects/array items */}\n {renderNavigateButton(key, property)}\n </div>\n\n {/* Render array items configuration if needed */}\n {renderArrayItemsConfig(key, property)}\n </div>\n );\n };\n\n // Helper to render array items configuration\n const renderArrayItemsConfig = (key: string, property: JSONSchema7) => {\n if (typeof property !== \"object\" || property.type !== \"array\") {\n return null;\n }\n\n const items = property.items;\n const itemType =\n !Array.isArray(items) &&\n typeof items === \"object\" &&\n typeof items.type === \"string\"\n ? items?.type\n : \"string\";\n\n return (\n <div className=\"col-span-full flex items-center gap-4 pl-8 mt-2 bg-gray-50 p-2 rounded-md\">\n <Label>Items of type:</Label>\n <Select\n value={itemType as string}\n onValueChange={(value) => {\n const newItems: JSONSchema7 = {\n ...(typeof items === \"object\" ? items : {}),\n type: value as JSONSchema7[\"type\"],\n };\n\n if (value === \"object\") {\n // Initialize empty properties for object type\n newItems.properties = newItems.properties ?? {};\n }\n\n handlePropertyChange(key, { items: newItems });\n }}\n >\n <SelectTrigger\n className=\"w-[200px]\"\n aria-label=\"Select items of type\"\n >\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value={\"string\" satisfies JSONSchema7[\"type\"]}>\n string\n </SelectItem>\n <SelectItem value={\"number\" satisfies JSONSchema7[\"type\"]}>\n number\n </SelectItem>\n <SelectItem value={\"integer\" satisfies JSONSchema7[\"type\"]}>\n integer\n </SelectItem>\n <SelectItem value={\"boolean\" satisfies JSONSchema7[\"type\"]}>\n boolean\n </SelectItem>\n <SelectItem value={\"object\" satisfies JSONSchema7[\"type\"]}>\n object\n </SelectItem>\n <SelectItem value={\"array\" satisfies JSONSchema7[\"type\"]}>\n array\n </SelectItem>\n <SelectItem value={\"null\" satisfies JSONSchema7[\"type\"]}>\n null\n </SelectItem>\n </SelectContent>\n </Select>\n\n {/* Configure object button for array items of type object */}\n {renderNavigateButton(key, items)}\n </div>\n );\n };\n\n // Helper to render the edit constraint button when needed\n const renderEditButton = (key: string, property: JSONSchema7) => {\n if (typeof property !== \"object\") return null;\n\n // Check for constraints\n const availableConstraints = getConstraintDefinitionsForType(\n typeof property.type === \"string\" ? property.type : \"\",\n );\n\n // Check for enum\n const hasEnum = Array.isArray(property?.enum);\n\n if (availableConstraints.length || hasEnum) {\n return (\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => handleEditProperty(key, property)}\n aria-label=\"Edit constraints\"\n >\n <Bolt size={16} />\n </Button>\n );\n }\n\n return null;\n };\n\n const renderNavigateButton = (key: string, items: JSONSchema7[\"items\"]) => {\n if (\n !Array.isArray(items) &&\n typeof items === \"object\" &&\n items?.type === \"object\"\n ) {\n return (\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => handleNavigateToProperty(key)}\n aria-label=\"Navigate\"\n >\n <span className=\"sr-only\">Navigate</span>\n <ChevronRight size={16} />\n </Button>\n );\n }\n\n return null;\n };\n\n // Render navigation component\n const renderNavigation = () => {\n const NavigationComponent = props.navigationComponent;\n\n if (NavigationComponent) {\n return (\n <NavigationComponent\n currentPath={path}\n onNavigateUp={handleNavigateUp}\n onNavigateTo={setPath}\n isRootPath={path.length === 0}\n />\n );\n }\n\n return (\n <div className=\"flex items-center space-x-4\">\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={handleNavigateUp}\n disabled={path.length === 0}\n className={cn(props.backButtonClassName)}\n >\n Back\n </Button>\n <Breadcrumb>\n <BreadcrumbList>\n <BreadcrumbItem>\n <BreadcrumbLink href=\"#\" onClick={() => setPath([])}>\n Root\n </BreadcrumbLink>\n </BreadcrumbItem>\n {path.map((item, index) => (\n <Fragment key={`path-${index}`}>\n <BreadcrumbSeparator />\n <BreadcrumbItem>\n <BreadcrumbLink\n href=\"#\"\n onClick={() => setPath(path.slice(0, index + 1))}\n >\n {item}\n </BreadcrumbLink>\n </BreadcrumbItem>\n </Fragment>\n ))}\n </BreadcrumbList>\n </Breadcrumb>\n </div>\n );\n };\n\n // Render add property button\n const renderAddPropertyButton = () => {\n const AddPropertyButtonComponent = props.addPropertyButtonComponent;\n\n if (AddPropertyButtonComponent) {\n return (\n <AddPropertyButtonComponent\n onClick={() => setShowPropertyDialog(true)}\n />\n );\n }\n\n return (\n <Button\n type=\"button\"\n className={cn(\"self-center\", props.addPropertyButtonClassName)}\n onClick={() => {\n setShowPropertyDialog(true);\n }}\n >\n <Plus className=\"h-4 w-4 mr-2\" />\n Add Property\n </Button>\n );\n };\n\n return (\n <div>\n {/* Schema validation error */}\n {schemaValidationError && (\n <Alert variant=\"destructive\">\n <AlertTitle>Schema Error</AlertTitle>\n <AlertDescription>{schemaValidationError}</AlertDescription>\n </Alert>\n )}\n\n {/* Navigation bar */}\n {renderNavigation()}\n\n {/* Properties list */}\n <div\n className={cn(\"mt-6 overflow-x-hidden\", props.propertiesListClassName)}\n >\n {Object.entries(currentSchema.properties ?? {}).map(\n ([key, property]) => {\n if (typeof property === \"boolean\") {\n // We don't support editing boolean properties\n return null;\n }\n\n return renderProperty(key, property);\n },\n )}\n </div>\n\n {/* Add property button */}\n {renderAddPropertyButton()}\n\n {/* Add property dialog */}\n <AddPropertyDialog\n open={showPropertyDialog}\n onOpenChange={setShowPropertyDialog}\n onSubmit={onAddProperty}\n />\n\n {/* Edit property dialog */}\n {editingKey && editingProperty && (\n <EditPropertyDialog\n propertyKey={editingKey}\n property={editingProperty}\n open={showEditDialog}\n onOpenChange={setShowEditDialog}\n onSubmit={(params) => {\n handlePropertyChange(...params);\n setEditingKey(undefined);\n setEditingProperty(undefined);\n setShowEditDialog(false);\n }}\n />\n )}\n\n {/* Delete confirmation dialog */}\n <AlertDialog open={showDeleteDialog} onOpenChange={setShowDeleteDialog}>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>Are you sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete the\n property\n {deleteKey ? ` \"${deleteKey}\"` : \"\"} from the schema.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel onClick={handleCancelDelete}>\n Cancel\n </AlertDialogCancel>\n <AlertDialogAction onClick={handleConfirmDelete}>\n Delete\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n </div>\n );\n};\n"],"names":["SchemaBuilder","props","showPropertyDialog","setShowPropertyDialog","useState","showEditDialog","setShowEditDialog","showDeleteDialog","setShowDeleteDialog","deleteKey","setDeleteKey","editingKey","setEditingKey","editingProperty","setEditingProperty","schemaValidationError","setSchemaValidationError","usePluginSystem","getCurrentSchema","setPath","path","schema","handleAddProperty","handlePropertyChange","handleKeyChange","handleDeleteProperty","setSchema","isPropertyRequired","useSchema","getConstraintDefinitionsForType","useConstraints","useEffect","validateSchema","clone","error","Ajv","currentSchema","handleNavigateToProperty","name","handleNavigateUp","handleEditProperty","key","property","handleInitiateDelete","handleConfirmDelete","handleCancelDelete","handleDuplicateProperty","currentProperties","propertyToDuplicate","newKey","newProperty","result","onAddProperty","vals","PropertyComponent","renderProperty","jsx","jsxs","DebouncedInput","newVal","Switch","checked","Label","Select","value","SelectTrigger","SelectValue","SelectContent","SelectItem","Button","Trash2","Copy","renderEditButton","renderNavigateButton","renderArrayItemsConfig","items","itemType","newItems","availableConstraints","hasEnum","Bolt","ChevronRight","renderNavigation","NavigationComponent","cn","Breadcrumb","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","item","index","Fragment","BreadcrumbSeparator","renderAddPropertyButton","AddPropertyButtonComponent","Plus","Alert","AlertTitle","AlertDescription","AddPropertyDialog","EditPropertyDialog","params","AlertDialog","AlertDialogContent","AlertDialogHeader","AlertDialogTitle","AlertDialogDescription","AlertDialogFooter","AlertDialogCancel","AlertDialogAction"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs3.js","sources":["../src/packages/builder/schema-builder.tsx"],"sourcesContent":["import { useEffect, useState, Fragment } from \"react\";\nimport { PropertyAddError, PropertyAddSuccess, useSchema } from \"./context\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbSeparator,\n} from \"@/components/ui/breadcrumb\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { Bolt, ChevronRight, Copy, Plus, Trash2 } from \"lucide-react\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { Label } from \"@/components/ui/label\";\nimport type { JSONSchema7 } from \"json-schema\";\nimport { clone } from \"remeda\";\nimport {\n BaseJSONSchemaPlugin,\n useConstraints,\n usePluginSystem,\n} from \"@/packages/constraints/context\";\nimport { EditPropertyDialog } from \"./edit-dialog\";\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} from \"@/components/ui/alert-dialog\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { validateSchema } from \"./utils\";\nimport Ajv from \"ajv\";\nimport { DebouncedInput } from \"@/components/depounced-input\";\nimport { AddPropertyDialog, type AddPropertyDialogProps } from \"./add-dialog\";\nimport { cn } from \"@/lib/utils\";\n\n// PropertyComponent type definition for custom property components\nexport interface PropertyComponentProps {\n property: {\n key: string;\n schema: JSONSchema7;\n isRequired: boolean;\n };\n onPropertyChange: (key: string, changes: Partial<JSONSchema7>) => void;\n onKeyChange: (oldKey: string, newKey: string) => void;\n onDelete: (key: string) => void;\n onDuplicate?: (key: string) => void;\n onNavigate?: (key: string) => void;\n}\n\n// NavigationProps for custom navigation component\nexport interface NavigationProps {\n currentPath: string[];\n onNavigateUp: () => void;\n onNavigateTo: (newPath: string[]) => void;\n isRootPath: boolean;\n}\n\n// AddPropertyButtonProps for custom add property button\nexport interface AddPropertyButtonProps {\n onClick: () => void;\n}\n\ninterface SchemaBuilderProps {\n /** The schema to edit */\n initialSchema?: JSONSchema7;\n /** Constraint plugins to use */\n plugins?: BaseJSONSchemaPlugin[];\n /** Custom component to render properties */\n propertyComponent?: React.ComponentType<PropertyComponentProps>;\n /** Called when the schema changes */\n onSchemaChange?: (schema: JSONSchema7) => void;\n /** Called when a property is successfully added */\n onPropertyAddSuccess?: (props: PropertyAddSuccess) => void;\n /** Called when there's an error adding a property */\n onPropertyAddError?: (props: PropertyAddError) => void;\n /** Called when there's an error changing a property */\n onPropertyChangeError?: (prop: Error) => void;\n /** Called when a property is successfully changed */\n onPropertyChangeSuccess?: () => void;\n /** Class name for the navigation bar back button */\n backButtonClassName?: string;\n /** Class name for the properties list container */\n propertiesListClassName?: string;\n /** Class name for the add property button */\n addPropertyButtonClassName?: string;\n /** Custom navigation component */\n navigationComponent?: React.ComponentType<NavigationProps>;\n /** Custom add property button component */\n addPropertyButtonComponent?: React.ComponentType<AddPropertyButtonProps>;\n}\n\nexport const SchemaBuilder = (props: SchemaBuilderProps) => {\n // State\n const [showPropertyDialog, setShowPropertyDialog] = useState(false);\n const [showEditDialog, setShowEditDialog] = useState(false);\n const [showDeleteDialog, setShowDeleteDialog] = useState(false);\n const [deleteKey, setDeleteKey] = useState<string | undefined>();\n const [editingKey, setEditingKey] = useState<string | undefined>();\n const [editingProperty, setEditingProperty] = useState<\n JSONSchema7 | undefined\n >();\n const [schemaValidationError, setSchemaValidationError] = useState<\n string | null\n >(null);\n\n // Initialize the plugin system\n usePluginSystem(props.plugins ?? []);\n\n // Get schema context\n const {\n getCurrentSchema,\n setPath,\n path,\n handleAddProperty,\n handlePropertyChange,\n handleKeyChange,\n handleDeleteProperty,\n setSchema,\n isPropertyRequired,\n handleDuplicateProperty,\n } = useSchema({ onSchemaChange: props.onSchemaChange });\n\n // Get constraints context\n const { getConstraintDefinitionsForType } = useConstraints();\n\n // Set schema from props\n useEffect(() => {\n if (props.initialSchema) {\n try {\n // Validate the schema before setting it\n validateSchema(props.initialSchema);\n setSchema(clone(props.initialSchema));\n setSchemaValidationError(null);\n } catch (error) {\n if (error instanceof Error) {\n setSchemaValidationError(error.message);\n } else if (error instanceof Ajv.ValidationError) {\n setSchemaValidationError(`Schema validation error: ${error.message}`);\n } else {\n setSchemaValidationError(\"Unknown schema validation error\");\n }\n }\n }\n }, [props.initialSchema]);\n\n const currentSchema = getCurrentSchema();\n\n // Navigation handlers\n const handleNavigateToProperty = (name: string) => {\n setPath([...path, name]);\n };\n\n const handleNavigateUp = () => {\n setPath(path.slice(0, -1));\n };\n\n // Property management handlers\n const handleEditProperty = (key: string, property: JSONSchema7) => {\n setEditingKey(key);\n setEditingProperty(property);\n setShowEditDialog(true);\n };\n\n const handleInitiateDelete = (key: string) => {\n setDeleteKey(key);\n setShowDeleteDialog(true);\n };\n\n const handleConfirmDelete = () => {\n if (deleteKey) {\n handleDeleteProperty(deleteKey);\n setDeleteKey(undefined);\n }\n setShowDeleteDialog(false);\n };\n\n const handleCancelDelete = () => {\n setDeleteKey(undefined);\n setShowDeleteDialog(false);\n };\n\n const handleDuplicate = (key: string) => {\n const result = handleDuplicateProperty(key);\n\n // Notify if needed\n if (result?.status === \"error\") {\n props.onPropertyAddError?.(result);\n } else if (result?.status === \"success\") {\n props.onPropertyAddSuccess?.(result);\n }\n };\n\n const onAddProperty: AddPropertyDialogProps[\"onSubmit\"] = (...vals) => {\n const result = handleAddProperty(...vals);\n\n if (result.status === \"error\") {\n props.onPropertyAddError?.(result);\n } else if (result.status === \"success\") {\n props.onPropertyAddSuccess?.(result);\n }\n setShowPropertyDialog(false);\n };\n\n // Custom property component or default renderer\n const PropertyComponent = props.propertyComponent;\n\n const renderProperty = (key: string, property: JSONSchema7) => {\n if (PropertyComponent) {\n return (\n <PropertyComponent\n key={key}\n property={{\n key,\n schema: property,\n isRequired: isPropertyRequired(key),\n }}\n onPropertyChange={handlePropertyChange}\n onKeyChange={handleKeyChange}\n onDelete={handleInitiateDelete}\n onDuplicate={handleDuplicate}\n onNavigate={\n property.type === \"object\" ||\n (property.type === \"array\" &&\n typeof property.items === \"object\" &&\n (property.items as JSONSchema7).type === \"object\")\n ? handleNavigateToProperty\n : undefined\n }\n />\n );\n }\n\n // Default property renderer\n return (\n <div\n key={key}\n className=\"flex flex-col md:grid grid-cols-(--my-autofit-grid) gap-4 md:items-center border p-2 rounded-md mb-2\"\n >\n <div className=\"\">\n <DebouncedInput\n value={key}\n onDebounce={(newVal) => handleKeyChange(key, newVal)}\n placeholder=\"Property Key\"\n aria-label={`Property key for ${key}`}\n delay={500}\n />\n </div>\n\n <div className=\"flex items-center gap-2\">\n <Switch\n checked={isPropertyRequired(key)}\n onCheckedChange={(checked) =>\n handlePropertyChange(key, { isRequired: checked })\n }\n aria-label=\"Required\"\n />\n <Label htmlFor={`required-${key}`}>Required</Label>\n </div>\n\n <div className=\"\">\n <Select\n value={\n typeof property === \"object\" && !Array.isArray(property.type)\n ? property.type\n : undefined\n }\n onValueChange={(value) =>\n handlePropertyChange(key, {\n type: value as JSONSchema7[\"type\"],\n })\n }\n aria-label=\"Type\"\n >\n <SelectTrigger className=\"w-full\" aria-label=\"Select type\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value={\"string\" satisfies JSONSchema7[\"type\"]}>\n string\n </SelectItem>\n <SelectItem value={\"number\" satisfies JSONSchema7[\"type\"]}>\n number\n </SelectItem>\n <SelectItem value={\"integer\" satisfies JSONSchema7[\"type\"]}>\n integer\n </SelectItem>\n <SelectItem value={\"boolean\" satisfies JSONSchema7[\"type\"]}>\n boolean\n </SelectItem>\n <SelectItem value={\"object\" satisfies JSONSchema7[\"type\"]}>\n object\n </SelectItem>\n <SelectItem value={\"array\" satisfies JSONSchema7[\"type\"]}>\n array\n </SelectItem>\n <SelectItem value={\"null\" satisfies JSONSchema7[\"type\"]}>\n null\n </SelectItem>\n <SelectItem value={\"enum\"}>enum</SelectItem>\n </SelectContent>\n </Select>\n </div>\n\n <div className=\"\">\n <DebouncedInput\n value={typeof property === \"object\" ? property.title : undefined}\n onDebounce={(newVal) =>\n handlePropertyChange(key, { title: newVal })\n }\n placeholder=\"Title\"\n />\n </div>\n\n <div className=\"\">\n <DebouncedInput\n value={\n typeof property === \"object\" ? property.description : undefined\n }\n onDebounce={(newVal) =>\n handlePropertyChange(key, { description: newVal })\n }\n placeholder=\"Description\"\n />\n </div>\n\n <div className=\"order-last md:order-none flex gap-2\">\n {/* Delete button */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => handleInitiateDelete(key)}\n aria-label=\"Delete\"\n className=\"block!\"\n >\n <Trash2 size={16} className=\"text-destructive\" />\n </Button>\n\n {/* Duplicate button */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => handleDuplicate(key)}\n aria-label=\"Duplicate\"\n className=\"block!\"\n >\n <Copy size={16} />\n </Button>\n\n {/* Edit button if applicable */}\n {renderEditButton(key, property)}\n\n {/* Navigate button for objects/array items */}\n {renderNavigateButton(key, property)}\n </div>\n\n {/* Render array items configuration if needed */}\n {renderArrayItemsConfig(key, property)}\n </div>\n );\n };\n\n // Helper to render array items configuration\n const renderArrayItemsConfig = (key: string, property: JSONSchema7) => {\n if (typeof property !== \"object\" || property.type !== \"array\") {\n return null;\n }\n\n const items = property.items;\n const itemType =\n !Array.isArray(items) &&\n typeof items === \"object\" &&\n typeof items.type === \"string\"\n ? items?.type\n : \"string\";\n\n return (\n <div className=\"col-span-full flex items-center gap-4 pl-8 mt-2 bg-gray-50 p-2 rounded-md\">\n <Label>Items of type:</Label>\n <Select\n value={itemType as string}\n onValueChange={(value) => {\n const newItems: JSONSchema7 = {\n ...(typeof items === \"object\" ? items : {}),\n type: value as JSONSchema7[\"type\"],\n };\n\n if (value === \"object\") {\n // Initialize empty properties for object type\n newItems.properties = newItems.properties ?? {};\n }\n\n handlePropertyChange(key, { items: newItems });\n }}\n >\n <SelectTrigger\n className=\"w-[200px]\"\n aria-label=\"Select items of type\"\n >\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value={\"string\" satisfies JSONSchema7[\"type\"]}>\n string\n </SelectItem>\n <SelectItem value={\"number\" satisfies JSONSchema7[\"type\"]}>\n number\n </SelectItem>\n <SelectItem value={\"integer\" satisfies JSONSchema7[\"type\"]}>\n integer\n </SelectItem>\n <SelectItem value={\"boolean\" satisfies JSONSchema7[\"type\"]}>\n boolean\n </SelectItem>\n <SelectItem value={\"object\" satisfies JSONSchema7[\"type\"]}>\n object\n </SelectItem>\n <SelectItem value={\"array\" satisfies JSONSchema7[\"type\"]}>\n array\n </SelectItem>\n <SelectItem value={\"null\" satisfies JSONSchema7[\"type\"]}>\n null\n </SelectItem>\n </SelectContent>\n </Select>\n\n {/* Configure object button for array items of type object */}\n {renderNavigateButton(key, items)}\n </div>\n );\n };\n\n // Helper to render the edit constraint button when needed\n const renderEditButton = (key: string, property: JSONSchema7) => {\n if (typeof property !== \"object\") return null;\n\n // Check for constraints\n const availableConstraints = getConstraintDefinitionsForType(\n typeof property.type === \"string\" ? property.type : \"\",\n );\n\n // Check for enum\n const hasEnum = Array.isArray(property?.enum);\n\n if (availableConstraints.length || hasEnum) {\n return (\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => handleEditProperty(key, property)}\n aria-label=\"Edit constraints\"\n >\n <Bolt size={16} />\n </Button>\n );\n }\n\n return null;\n };\n\n const renderNavigateButton = (key: string, items: JSONSchema7[\"items\"]) => {\n if (\n !Array.isArray(items) &&\n typeof items === \"object\" &&\n items?.type === \"object\"\n ) {\n return (\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => handleNavigateToProperty(key)}\n aria-label=\"Navigate\"\n >\n <span className=\"sr-only\">Navigate</span>\n <ChevronRight size={16} />\n </Button>\n );\n }\n\n return null;\n };\n\n // Render navigation component\n const renderNavigation = () => {\n const NavigationComponent = props.navigationComponent;\n\n if (NavigationComponent) {\n return (\n <NavigationComponent\n currentPath={path}\n onNavigateUp={handleNavigateUp}\n onNavigateTo={setPath}\n isRootPath={path.length === 0}\n />\n );\n }\n\n return (\n <div className=\"flex items-center space-x-4\">\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={handleNavigateUp}\n disabled={path.length === 0}\n className={cn(props.backButtonClassName)}\n >\n Back\n </Button>\n <Breadcrumb>\n <BreadcrumbList>\n <BreadcrumbItem>\n <BreadcrumbLink href=\"#\" onClick={() => setPath([])}>\n Root\n </BreadcrumbLink>\n </BreadcrumbItem>\n {path.map((item, index) => (\n <Fragment key={`path-${index}`}>\n <BreadcrumbSeparator />\n <BreadcrumbItem>\n <BreadcrumbLink\n href=\"#\"\n onClick={() => setPath(path.slice(0, index + 1))}\n >\n {item}\n </BreadcrumbLink>\n </BreadcrumbItem>\n </Fragment>\n ))}\n </BreadcrumbList>\n </Breadcrumb>\n </div>\n );\n };\n\n // Render add property button\n const renderAddPropertyButton = () => {\n const AddPropertyButtonComponent = props.addPropertyButtonComponent;\n\n if (AddPropertyButtonComponent) {\n return (\n <AddPropertyButtonComponent\n onClick={() => setShowPropertyDialog(true)}\n />\n );\n }\n\n return (\n <Button\n type=\"button\"\n className={cn(\"self-center\", props.addPropertyButtonClassName)}\n onClick={() => {\n setShowPropertyDialog(true);\n }}\n >\n <Plus className=\"h-4 w-4 mr-2\" />\n Add Property\n </Button>\n );\n };\n\n return (\n <div>\n {/* Schema validation error */}\n {schemaValidationError && (\n <Alert variant=\"destructive\">\n <AlertTitle>Schema Error</AlertTitle>\n <AlertDescription>{schemaValidationError}</AlertDescription>\n </Alert>\n )}\n\n {/* Navigation bar */}\n {renderNavigation()}\n\n {/* Properties list */}\n <div\n className={cn(\"mt-6 overflow-x-hidden\", props.propertiesListClassName)}\n >\n {Object.entries(currentSchema.properties ?? {}).map(\n ([key, property]) => {\n if (typeof property === \"boolean\") {\n // We don't support editing boolean properties\n return null;\n }\n\n return renderProperty(key, property);\n },\n )}\n </div>\n\n {/* Add property button */}\n {renderAddPropertyButton()}\n\n {/* Add property dialog */}\n <AddPropertyDialog\n open={showPropertyDialog}\n onOpenChange={setShowPropertyDialog}\n onSubmit={onAddProperty}\n />\n\n {/* Edit property dialog */}\n {editingKey && editingProperty && (\n <EditPropertyDialog\n propertyKey={editingKey}\n property={editingProperty}\n open={showEditDialog}\n onOpenChange={setShowEditDialog}\n onSubmit={(params) => {\n handlePropertyChange(...params);\n setEditingKey(undefined);\n setEditingProperty(undefined);\n setShowEditDialog(false);\n }}\n />\n )}\n\n {/* Delete confirmation dialog */}\n <AlertDialog open={showDeleteDialog} onOpenChange={setShowDeleteDialog}>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>Are you sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete the\n property\n {deleteKey ? ` \"${deleteKey}\"` : \"\"} from the schema.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel onClick={handleCancelDelete}>\n Cancel\n </AlertDialogCancel>\n <AlertDialogAction onClick={handleConfirmDelete}>\n Delete\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n </div>\n );\n};\n"],"names":["SchemaBuilder","props","showPropertyDialog","setShowPropertyDialog","useState","showEditDialog","setShowEditDialog","showDeleteDialog","setShowDeleteDialog","deleteKey","setDeleteKey","editingKey","setEditingKey","editingProperty","setEditingProperty","schemaValidationError","setSchemaValidationError","usePluginSystem","getCurrentSchema","setPath","path","handleAddProperty","handlePropertyChange","handleKeyChange","handleDeleteProperty","setSchema","isPropertyRequired","handleDuplicateProperty","useSchema","getConstraintDefinitionsForType","useConstraints","useEffect","validateSchema","clone","error","Ajv","currentSchema","handleNavigateToProperty","name","handleNavigateUp","handleEditProperty","key","property","handleInitiateDelete","handleConfirmDelete","handleCancelDelete","handleDuplicate","result","onAddProperty","vals","PropertyComponent","renderProperty","jsx","jsxs","DebouncedInput","newVal","Switch","checked","Label","Select","value","SelectTrigger","SelectValue","SelectContent","SelectItem","Button","Trash2","Copy","renderEditButton","renderNavigateButton","renderArrayItemsConfig","items","itemType","newItems","availableConstraints","hasEnum","Bolt","ChevronRight","renderNavigation","NavigationComponent","cn","Breadcrumb","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","item","index","Fragment","BreadcrumbSeparator","renderAddPropertyButton","AddPropertyButtonComponent","Plus","Alert","AlertTitle","AlertDescription","AddPropertyDialog","EditPropertyDialog","params","AlertDialog","AlertDialogContent","AlertDialogHeader","AlertDialogTitle","AlertDialogDescription","AlertDialogFooter","AlertDialogCancel","AlertDialogAction"],"mappings":"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"}
@@ -1,2 +1,7 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),u=require("./index.cjs68.js"),i=require("react/jsx-runtime");function c(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const a=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(r,e,a.get?a:{enumerable:!0,get:()=>t[e]})}}return r.default=t,Object.freeze(r)}const l=c(n);var s="Label",o=l.forwardRef((t,r)=>i.jsx(u.Primitive.label,{...t,ref:r,onMouseDown:e=>{e.target.closest("button, input, select, textarea")||(t.onMouseDown?.(e),!e.defaultPrevented&&e.detail>1&&e.preventDefault())}}));o.displayName=s;var f=o;exports.Label=o;exports.Root=f;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("./index.cjs51.js");/**
2
+ * @license lucide-react v0.477.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const e=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],o=t.default("X",e);exports.__iconNode=e;exports.default=o;
2
7
  //# sourceMappingURL=index.cjs30.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs30.js","sources":["../../../node_modules/.pnpm/@radix-ui+react-label@2.1.2_@types+react-dom@18.3.5_@types+react@18.3.18__@types+react@_39ef6ff1fab5609543b645ba4602f392/node_modules/@radix-ui/react-label/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/label/src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["NAME","Label","React","props","forwardedRef","jsx","Primitive","event","Root"],"mappings":"gcAMA,IAAIA,EAAO,QACPC,EAAQC,EAAM,WAAW,CAACC,EAAOC,IACZC,EAAG,IACxBC,EAAAA,UAAU,MACV,CACE,GAAGH,EACH,IAAKC,EACL,YAAcG,GAAU,CACPA,EAAM,OACV,QAAQ,iCAAiC,IACpDJ,EAAM,cAAcI,CAAK,EACrB,CAACA,EAAM,kBAAoBA,EAAM,OAAS,GAAGA,EAAM,eAAgB,EAC/E,CACA,CACG,CACF,EACDN,EAAM,YAAcD,EACjB,IAACQ,EAAOP","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.cjs30.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/x.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: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n];\nconst X = createLucideIcon(\"X\", __iconNode);\n\nexport { __iconNode, X as default };\n//# sourceMappingURL=x.js.map\n"],"names":["__iconNode","X","createLucideIcon"],"mappings":"gJAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAa,CACjB,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,EAC3C,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAU,CAAA,CAC7C,EACMC,EAAIC,EAAAA,QAAiB,IAAKF,CAAU","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function n(r){var o,e,t="";if(typeof r=="string"||typeof r=="number")t+=r;else if(typeof r=="object")if(Array.isArray(r)){var u=r.length;for(o=0;o<u;o++)r[o]&&(e=n(r[o]))&&(t&&(t+=" "),t+=e)}else for(e in r)r[e]&&(t&&(t+=" "),t+=e);return t}function f(){for(var r,o,e=0,t="",u=arguments.length;e<u;e++)(r=arguments[e])&&(o=n(r))&&(t&&(t+=" "),t+=o);return t}exports.clsx=f;exports.default=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),u=require("./index.cjs63.js"),i=require("react/jsx-runtime");function c(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const a=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(r,e,a.get?a:{enumerable:!0,get:()=>t[e]})}}return r.default=t,Object.freeze(r)}const l=c(n);var s="Label",o=l.forwardRef((t,r)=>i.jsx(u.Primitive.label,{...t,ref:r,onMouseDown:e=>{e.target.closest("button, input, select, textarea")||(t.onMouseDown?.(e),!e.defaultPrevented&&e.detail>1&&e.preventDefault())}}));o.displayName=s;var f=o;exports.Label=o;exports.Root=f;
2
2
  //# sourceMappingURL=index.cjs31.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs31.js","sources":["../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;"],"names":["r","e","t","f","n","o","clsx"],"mappings":"4GAAA,SAASA,EAAEC,EAAE,CAAC,IAAIC,EAAEC,EAAEC,EAAE,GAAG,GAAa,OAAOH,GAAjB,UAA8B,OAAOA,GAAjB,SAAmBG,GAAGH,UAAoB,OAAOA,GAAjB,SAAmB,GAAG,MAAM,QAAQA,CAAC,EAAE,CAAC,IAAII,EAAEJ,EAAE,OAAO,IAAIC,EAAE,EAAEA,EAAEG,EAAEH,IAAID,EAAEC,CAAC,IAAIC,EAAEH,EAAEC,EAAEC,CAAC,CAAC,KAAKE,IAAIA,GAAG,KAAKA,GAAGD,EAAE,KAAM,KAAIA,KAAKF,EAAEA,EAAEE,CAAC,IAAIC,IAAIA,GAAG,KAAKA,GAAGD,GAAG,OAAOC,CAAC,CAAQ,SAASE,GAAM,CAAC,QAAQL,EAAEC,EAAEC,EAAE,EAAEC,EAAE,GAAGC,EAAE,UAAU,OAAOF,EAAEE,EAAEF,KAAKF,EAAE,UAAUE,CAAC,KAAKD,EAAEF,EAAEC,CAAC,KAAKG,IAAIA,GAAG,KAAKA,GAAGF,GAAG,OAAOE,CAAC","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.cjs31.js","sources":["../../../node_modules/.pnpm/@radix-ui+react-label@2.1.2_@types+react-dom@18.3.5_@types+react@18.3.18__@types+react@_39ef6ff1fab5609543b645ba4602f392/node_modules/@radix-ui/react-label/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/label/src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["NAME","Label","React","props","forwardedRef","jsx","Primitive","event","Root"],"mappings":"gcAMA,IAAIA,EAAO,QACPC,EAAQC,EAAM,WAAW,CAACC,EAAOC,IACZC,EAAG,IACxBC,EAAAA,UAAU,MACV,CACE,GAAGH,EACH,IAAKC,EACL,YAAcG,GAAU,CACPA,EAAM,OACV,QAAQ,iCAAiC,IACpDJ,EAAM,cAAcI,CAAK,EACrB,CAACA,EAAM,kBAAoBA,EAAM,OAAS,GAAGA,EAAM,eAAgB,EAC/E,CACA,CACG,CACF,EACDN,EAAM,YAAcD,EACjB,IAACQ,EAAOP","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Z="-",ve=e=>{const s=ze(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:l=>{const b=l.split(Z);return b[0]===""&&b.length!==1&&b.shift(),de(b,s)||ke(l)},getConflictingClassGroupIds:(l,b)=>{const u=n[l]||[];return b&&o[l]?[...u,...o[l]]:u}}},de=(e,s)=>{if(e.length===0)return s.classGroupId;const n=e[0],o=s.nextPart.get(n),a=o?de(e.slice(1),o):void 0;if(a)return a;if(s.validators.length===0)return;const c=e.join(Z);return s.validators.find(({validator:l})=>l(c))?.classGroupId},le=/^\[(.+)\]$/,ke=e=>{if(le.test(e)){const s=le.exec(e)[1],n=s?.substring(0,s.indexOf(":"));if(n)return"arbitrary.."+n}},ze=e=>{const{theme:s,classGroups:n}=e,o={nextPart:new Map,validators:[]};for(const a in n)K(n[a],o,a,s);return o},K=(e,s,n,o)=>{e.forEach(a=>{if(typeof a=="string"){const c=a===""?s:ae(s,a);c.classGroupId=n;return}if(typeof a=="function"){if(Ce(a)){K(a(o),s,n,o);return}s.validators.push({validator:a,classGroupId:n});return}Object.entries(a).forEach(([c,l])=>{K(l,ae(s,c),n,o)})})},ae=(e,s)=>{let n=e;return s.split(Z).forEach(o=>{n.nextPart.has(o)||n.nextPart.set(o,{nextPart:new Map,validators:[]}),n=n.nextPart.get(o)}),n},Ce=e=>e.isThemeGetter,Me=e=>{if(e<1)return{get:()=>{},set:()=>{}};let s=0,n=new Map,o=new Map;const a=(c,l)=>{n.set(c,l),s++,s>e&&(s=0,o=n,n=new Map)};return{get(c){let l=n.get(c);if(l!==void 0)return l;if((l=o.get(c))!==void 0)return a(c,l),l},set(c,l){n.has(c)?n.set(c,l):a(c,l)}}},Q="!",Y=":",Se=Y.length,Ae=e=>{const{prefix:s,experimentalParseClassName:n}=e;let o=a=>{const c=[];let l=0,b=0,u=0,g;for(let x=0;x<a.length;x++){let y=a[x];if(l===0&&b===0){if(y===Y){c.push(a.slice(u,x)),u=x+Se;continue}if(y==="/"){g=x;continue}}y==="["?l++:y==="]"?l--:y==="("?b++:y===")"&&b--}const m=c.length===0?a:a.substring(u),z=Ie(m),V=z!==m,j=g&&g>u?g-u:void 0;return{modifiers:c,hasImportantModifier:V,baseClassName:z,maybePostfixModifierPosition:j}};if(s){const a=s+Y,c=o;o=l=>l.startsWith(a)?c(l.substring(a.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:l,maybePostfixModifierPosition:void 0}}if(n){const a=o;o=c=>n({className:c,parseClassName:a})}return o},Ie=e=>e.endsWith(Q)?e.substring(0,e.length-1):e.startsWith(Q)?e.substring(1):e,Pe=e=>{const s=Object.fromEntries(e.orderSensitiveModifiers.map(o=>[o,!0]));return o=>{if(o.length<=1)return o;const a=[];let c=[];return o.forEach(l=>{l[0]==="["||s[l]?(a.push(...c.sort(),l),c=[]):c.push(l)}),a.push(...c.sort()),a}},Re=e=>({cache:Me(e.cacheSize),parseClassName:Ae(e),sortModifiers:Pe(e),...ve(e)}),Ge=/\s+/,Te=(e,s)=>{const{parseClassName:n,getClassGroupId:o,getConflictingClassGroupIds:a,sortModifiers:c}=s,l=[],b=e.trim().split(Ge);let u="";for(let g=b.length-1;g>=0;g-=1){const m=b[g],{isExternal:z,modifiers:V,hasImportantModifier:j,baseClassName:x,maybePostfixModifierPosition:y}=n(m);if(z){u=m+(u.length>0?" "+u:u);continue}let P=!!y,M=o(P?x.substring(0,y):x);if(!M){if(!P){u=m+(u.length>0?" "+u:u);continue}if(M=o(x),!M){u=m+(u.length>0?" "+u:u);continue}P=!1}const O=c(V).join(":"),F=j?O+Q:O,R=F+M;if(l.includes(R))continue;l.push(R);const G=a(M,P);for(let i=0;i<G.length;++i){const v=G[i];l.push(F+v)}u=m+(u.length>0?" "+u:u)}return u};function ue(){let e=0,s,n,o="";for(;e<arguments.length;)(s=arguments[e++])&&(n=pe(s))&&(o&&(o+=" "),o+=n);return o}const pe=e=>{if(typeof e=="string")return e;let s,n="";for(let o=0;o<e.length;o++)e[o]&&(s=pe(e[o]))&&(n&&(n+=" "),n+=s);return n};function be(e,...s){let n,o,a,c=l;function l(u){const g=s.reduce((m,z)=>z(m),e());return n=Re(g),o=n.cache.get,a=n.cache.set,c=b,b(u)}function b(u){const g=o(u);if(g)return g;const m=Te(u,n);return a(u,m),m}return function(){return c(ue.apply(null,arguments))}}const f=e=>{const s=n=>n[e]||[];return s.isThemeGetter=!0,s},fe=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ge=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Ee=/^\d+\/\d+$/,Le=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ne=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ve=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,je=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Oe=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,E=e=>Ee.test(e),d=e=>!!e&&!Number.isNaN(Number(e)),A=e=>!!e&&Number.isInteger(Number(e)),ce=e=>e.endsWith("%")&&d(e.slice(0,-1)),C=e=>Le.test(e),Fe=()=>!0,_e=e=>Ne.test(e)&&!Ve.test(e),ee=()=>!1,Be=e=>je.test(e),$e=e=>Oe.test(e),We=e=>!r(e)&&!t(e),Ue=e=>L(e,we,ee),r=e=>fe.test(e),I=e=>L(e,xe,_e),X=e=>L(e,rr,d),qe=e=>L(e,me,ee),Je=e=>L(e,he,$e),De=e=>L(e,ee,Be),t=e=>ge.test(e),q=e=>N(e,xe),He=e=>N(e,tr),Xe=e=>N(e,me),Ke=e=>N(e,we),Qe=e=>N(e,he),Ye=e=>N(e,or,!0),L=(e,s,n)=>{const o=fe.exec(e);return o?o[1]?s(o[1]):n(o[2]):!1},N=(e,s,n=!1)=>{const o=ge.exec(e);return o?o[1]?s(o[1]):n:!1},me=e=>e==="position",Ze=new Set(["image","url"]),he=e=>Ze.has(e),er=new Set(["length","size","percentage"]),we=e=>er.has(e),xe=e=>e==="length",rr=e=>e==="number",tr=e=>e==="family-name",or=e=>e==="shadow",ye=()=>{const e=f("color"),s=f("font"),n=f("text"),o=f("font-weight"),a=f("tracking"),c=f("leading"),l=f("breakpoint"),b=f("container"),u=f("spacing"),g=f("radius"),m=f("shadow"),z=f("inset-shadow"),V=f("drop-shadow"),j=f("blur"),x=f("perspective"),y=f("aspect"),P=f("ease"),M=f("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],F=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],R=()=>["auto","hidden","clip","visible","scroll"],G=()=>["auto","contain","none"],i=()=>[t,r,u],v=()=>[E,"full","auto",...i()],re=()=>[A,"none","subgrid",t,r],te=()=>["auto",{span:["full",A,t,r]},t,r],_=()=>[A,"auto",t,r],oe=()=>["auto","min","max","fr",t,r],J=()=>["start","end","center","between","around","evenly","stretch","baseline"],T=()=>["start","end","center","stretch"],k=()=>["auto",...i()],S=()=>[E,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...i()],p=()=>[e,t,r],D=()=>[ce,I],h=()=>["","none","full",g,t,r],w=()=>["",d,q,I],B=()=>["solid","dashed","dotted","double"],ne=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],se=()=>["","none",j,t,r],ie=()=>["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",t,r],$=()=>["none",d,t,r],W=()=>["none",d,t,r],H=()=>[d,t,r],U=()=>[E,"full",...i()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[C],breakpoint:[C],color:[Fe],container:[C],"drop-shadow":[C],ease:["in","out","in-out"],font:[We],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[C],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[C],shadow:[C],spacing:["px",d],text:[C],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",E,r,t,y]}],container:["container"],columns:[{columns:[d,r,t,b]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...F(),r,t]}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:G()}],"overscroll-x":[{"overscroll-x":G()}],"overscroll-y":[{"overscroll-y":G()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:v()}],"inset-x":[{"inset-x":v()}],"inset-y":[{"inset-y":v()}],start:[{start:v()}],end:[{end:v()}],top:[{top:v()}],right:[{right:v()}],bottom:[{bottom:v()}],left:[{left:v()}],visibility:["visible","invisible","collapse"],z:[{z:[A,"auto",t,r]}],basis:[{basis:[E,"full","auto",b,...i()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[d,E,"auto","initial","none",r]}],grow:[{grow:["",d,t,r]}],shrink:[{shrink:["",d,t,r]}],order:[{order:[A,"first","last","none",t,r]}],"grid-cols":[{"grid-cols":re()}],"col-start-end":[{col:te()}],"col-start":[{"col-start":_()}],"col-end":[{"col-end":_()}],"grid-rows":[{"grid-rows":re()}],"row-start-end":[{row:te()}],"row-start":[{"row-start":_()}],"row-end":[{"row-end":_()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":oe()}],"auto-rows":[{"auto-rows":oe()}],gap:[{gap:i()}],"gap-x":[{"gap-x":i()}],"gap-y":[{"gap-y":i()}],"justify-content":[{justify:[...J(),"normal"]}],"justify-items":[{"justify-items":[...T(),"normal"]}],"justify-self":[{"justify-self":["auto",...T()]}],"align-content":[{content:["normal",...J()]}],"align-items":[{items:[...T(),"baseline"]}],"align-self":[{self:["auto",...T(),"baseline"]}],"place-content":[{"place-content":J()}],"place-items":[{"place-items":[...T(),"baseline"]}],"place-self":[{"place-self":["auto",...T()]}],p:[{p:i()}],px:[{px:i()}],py:[{py:i()}],ps:[{ps:i()}],pe:[{pe:i()}],pt:[{pt:i()}],pr:[{pr:i()}],pb:[{pb:i()}],pl:[{pl:i()}],m:[{m:k()}],mx:[{mx:k()}],my:[{my:k()}],ms:[{ms:k()}],me:[{me:k()}],mt:[{mt:k()}],mr:[{mr:k()}],mb:[{mb:k()}],ml:[{ml:k()}],"space-x":[{"space-x":i()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":i()}],"space-y-reverse":["space-y-reverse"],size:[{size:S()}],w:[{w:[b,"screen",...S()]}],"min-w":[{"min-w":[b,"screen","none",...S()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[l]},...S()]}],h:[{h:["screen",...S()]}],"min-h":[{"min-h":["screen","none",...S()]}],"max-h":[{"max-h":["screen",...S()]}],"font-size":[{text:["base",n,q,I]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,t,X]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ce,r]}],"font-family":[{font:[He,r,s]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,t,r]}],"line-clamp":[{"line-clamp":[d,"none",t,X]}],leading:[{leading:[c,...i()]}],"list-image":[{"list-image":["none",t,r]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",t,r]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:p()}],"text-color":[{text:p()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...B(),"wavy"]}],"text-decoration-thickness":[{decoration:[d,"from-font","auto",t,I]}],"text-decoration-color":[{decoration:p()}],"underline-offset":[{"underline-offset":[d,"auto",t,r]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:i()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",t,r]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",t,r]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...F(),Xe,qe]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:["auto","cover","contain",Ke,Ue]}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},A,t,r],radial:["",t,r],conic:[A,t,r]},Qe,Je]}],"bg-color":[{bg:p()}],"gradient-from-pos":[{from:D()}],"gradient-via-pos":[{via:D()}],"gradient-to-pos":[{to:D()}],"gradient-from":[{from:p()}],"gradient-via":[{via:p()}],"gradient-to":[{to:p()}],rounded:[{rounded:h()}],"rounded-s":[{"rounded-s":h()}],"rounded-e":[{"rounded-e":h()}],"rounded-t":[{"rounded-t":h()}],"rounded-r":[{"rounded-r":h()}],"rounded-b":[{"rounded-b":h()}],"rounded-l":[{"rounded-l":h()}],"rounded-ss":[{"rounded-ss":h()}],"rounded-se":[{"rounded-se":h()}],"rounded-ee":[{"rounded-ee":h()}],"rounded-es":[{"rounded-es":h()}],"rounded-tl":[{"rounded-tl":h()}],"rounded-tr":[{"rounded-tr":h()}],"rounded-br":[{"rounded-br":h()}],"rounded-bl":[{"rounded-bl":h()}],"border-w":[{border:w()}],"border-w-x":[{"border-x":w()}],"border-w-y":[{"border-y":w()}],"border-w-s":[{"border-s":w()}],"border-w-e":[{"border-e":w()}],"border-w-t":[{"border-t":w()}],"border-w-r":[{"border-r":w()}],"border-w-b":[{"border-b":w()}],"border-w-l":[{"border-l":w()}],"divide-x":[{"divide-x":w()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":w()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...B(),"hidden","none"]}],"divide-style":[{divide:[...B(),"hidden","none"]}],"border-color":[{border:p()}],"border-color-x":[{"border-x":p()}],"border-color-y":[{"border-y":p()}],"border-color-s":[{"border-s":p()}],"border-color-e":[{"border-e":p()}],"border-color-t":[{"border-t":p()}],"border-color-r":[{"border-r":p()}],"border-color-b":[{"border-b":p()}],"border-color-l":[{"border-l":p()}],"divide-color":[{divide:p()}],"outline-style":[{outline:[...B(),"none","hidden"]}],"outline-offset":[{"outline-offset":[d,t,r]}],"outline-w":[{outline:["",d,q,I]}],"outline-color":[{outline:[e]}],shadow:[{shadow:["","none",m,Ye,De]}],"shadow-color":[{shadow:p()}],"inset-shadow":[{"inset-shadow":["none",t,r,z]}],"inset-shadow-color":[{"inset-shadow":p()}],"ring-w":[{ring:w()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:p()}],"ring-offset-w":[{"ring-offset":[d,I]}],"ring-offset-color":[{"ring-offset":p()}],"inset-ring-w":[{"inset-ring":w()}],"inset-ring-color":[{"inset-ring":p()}],opacity:[{opacity:[d,t,r]}],"mix-blend":[{"mix-blend":[...ne(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ne()}],filter:[{filter:["","none",t,r]}],blur:[{blur:se()}],brightness:[{brightness:[d,t,r]}],contrast:[{contrast:[d,t,r]}],"drop-shadow":[{"drop-shadow":["","none",V,t,r]}],grayscale:[{grayscale:["",d,t,r]}],"hue-rotate":[{"hue-rotate":[d,t,r]}],invert:[{invert:["",d,t,r]}],saturate:[{saturate:[d,t,r]}],sepia:[{sepia:["",d,t,r]}],"backdrop-filter":[{"backdrop-filter":["","none",t,r]}],"backdrop-blur":[{"backdrop-blur":se()}],"backdrop-brightness":[{"backdrop-brightness":[d,t,r]}],"backdrop-contrast":[{"backdrop-contrast":[d,t,r]}],"backdrop-grayscale":[{"backdrop-grayscale":["",d,t,r]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[d,t,r]}],"backdrop-invert":[{"backdrop-invert":["",d,t,r]}],"backdrop-opacity":[{"backdrop-opacity":[d,t,r]}],"backdrop-saturate":[{"backdrop-saturate":[d,t,r]}],"backdrop-sepia":[{"backdrop-sepia":["",d,t,r]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":i()}],"border-spacing-x":[{"border-spacing-x":i()}],"border-spacing-y":[{"border-spacing-y":i()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",t,r]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[d,"initial",t,r]}],ease:[{ease:["linear","initial",P,t,r]}],delay:[{delay:[d,t,r]}],animate:[{animate:["none",M,t,r]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[x,t,r]}],"perspective-origin":[{"perspective-origin":ie()}],rotate:[{rotate:$()}],"rotate-x":[{"rotate-x":$()}],"rotate-y":[{"rotate-y":$()}],"rotate-z":[{"rotate-z":$()}],scale:[{scale:W()}],"scale-x":[{"scale-x":W()}],"scale-y":[{"scale-y":W()}],"scale-z":[{"scale-z":W()}],"scale-3d":["scale-3d"],skew:[{skew:H()}],"skew-x":[{"skew-x":H()}],"skew-y":[{"skew-y":H()}],transform:[{transform:[t,r,"","none","gpu","cpu"]}],"transform-origin":[{origin:ie()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:U()}],"translate-x":[{"translate-x":U()}],"translate-y":[{"translate-y":U()}],"translate-z":[{"translate-z":U()}],"translate-none":["translate-none"],accent:[{accent:p()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:p()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",t,r]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":i()}],"scroll-mx":[{"scroll-mx":i()}],"scroll-my":[{"scroll-my":i()}],"scroll-ms":[{"scroll-ms":i()}],"scroll-me":[{"scroll-me":i()}],"scroll-mt":[{"scroll-mt":i()}],"scroll-mr":[{"scroll-mr":i()}],"scroll-mb":[{"scroll-mb":i()}],"scroll-ml":[{"scroll-ml":i()}],"scroll-p":[{"scroll-p":i()}],"scroll-px":[{"scroll-px":i()}],"scroll-py":[{"scroll-py":i()}],"scroll-ps":[{"scroll-ps":i()}],"scroll-pe":[{"scroll-pe":i()}],"scroll-pt":[{"scroll-pt":i()}],"scroll-pr":[{"scroll-pr":i()}],"scroll-pb":[{"scroll-pb":i()}],"scroll-pl":[{"scroll-pl":i()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",t,r]}],fill:[{fill:["none",...p()]}],"stroke-w":[{stroke:[d,q,I,X]}],stroke:[{stroke:["none",...p()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["before","after","placeholder","file","marker","selection","first-line","first-letter","backdrop","*","**"]}},nr=be(ye);exports.createTailwindMerge=be;exports.fromTheme=f;exports.getDefaultConfig=ye;exports.twJoin=ue;exports.twMerge=nr;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function n(r){var o,e,t="";if(typeof r=="string"||typeof r=="number")t+=r;else if(typeof r=="object")if(Array.isArray(r)){var u=r.length;for(o=0;o<u;o++)r[o]&&(e=n(r[o]))&&(t&&(t+=" "),t+=e)}else for(e in r)r[e]&&(t&&(t+=" "),t+=e);return t}function f(){for(var r,o,e=0,t="",u=arguments.length;e<u;e++)(r=arguments[e])&&(o=n(r))&&(t&&(t+=" "),t+=o);return t}exports.clsx=f;exports.default=f;
2
2
  //# sourceMappingURL=index.cjs32.js.map