@satoshibits/react-json-schema-builder 1.1.4 → 1.1.6

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 (727) hide show
  1. package/dist/index.cjs.js +1 -1
  2. package/dist/index.cjs10.js +1 -1
  3. package/dist/index.cjs10.js.map +1 -1
  4. package/dist/index.cjs100.js +1 -1
  5. package/dist/index.cjs100.js.map +1 -1
  6. package/dist/index.cjs101.js +1 -1
  7. package/dist/index.cjs101.js.map +1 -1
  8. package/dist/index.cjs102.js +1 -1
  9. package/dist/index.cjs102.js.map +1 -1
  10. package/dist/index.cjs103.js +1 -1
  11. package/dist/index.cjs103.js.map +1 -1
  12. package/dist/index.cjs104.js +1 -1
  13. package/dist/index.cjs104.js.map +1 -1
  14. package/dist/index.cjs105.js +2 -0
  15. package/dist/index.cjs105.js.map +1 -0
  16. package/dist/index.cjs106.js +2 -0
  17. package/dist/index.cjs106.js.map +1 -0
  18. package/dist/index.cjs107.js +2 -0
  19. package/dist/index.cjs107.js.map +1 -0
  20. package/dist/index.cjs108.js +2 -0
  21. package/dist/index.cjs108.js.map +1 -0
  22. package/dist/index.cjs109.js +2 -0
  23. package/dist/index.cjs109.js.map +1 -0
  24. package/dist/index.cjs11.js +1 -1
  25. package/dist/index.cjs11.js.map +1 -1
  26. package/dist/index.cjs110.js +2 -0
  27. package/dist/index.cjs110.js.map +1 -0
  28. package/dist/index.cjs111.js +2 -0
  29. package/dist/index.cjs111.js.map +1 -0
  30. package/dist/index.cjs112.js +2 -0
  31. package/dist/index.cjs112.js.map +1 -0
  32. package/dist/index.cjs113.js +2 -0
  33. package/dist/index.cjs113.js.map +1 -0
  34. package/dist/index.cjs114.js +2 -0
  35. package/dist/index.cjs114.js.map +1 -0
  36. package/dist/index.cjs115.js +2 -0
  37. package/dist/index.cjs115.js.map +1 -0
  38. package/dist/index.cjs116.js +2 -0
  39. package/dist/index.cjs116.js.map +1 -0
  40. package/dist/index.cjs117.js +2 -0
  41. package/dist/index.cjs117.js.map +1 -0
  42. package/dist/index.cjs118.js +2 -0
  43. package/dist/index.cjs118.js.map +1 -0
  44. package/dist/index.cjs119.js +2 -0
  45. package/dist/index.cjs119.js.map +1 -0
  46. package/dist/index.cjs12.js +1 -1
  47. package/dist/index.cjs12.js.map +1 -1
  48. package/dist/index.cjs120.js +2 -0
  49. package/dist/index.cjs120.js.map +1 -0
  50. package/dist/index.cjs121.js +2 -0
  51. package/dist/index.cjs121.js.map +1 -0
  52. package/dist/index.cjs122.js +2 -0
  53. package/dist/index.cjs122.js.map +1 -0
  54. package/dist/index.cjs123.js +2 -0
  55. package/dist/index.cjs123.js.map +1 -0
  56. package/dist/index.cjs124.js +2 -0
  57. package/dist/index.cjs124.js.map +1 -0
  58. package/dist/index.cjs125.js +2 -0
  59. package/dist/index.cjs125.js.map +1 -0
  60. package/dist/index.cjs126.js +2 -0
  61. package/dist/index.cjs126.js.map +1 -0
  62. package/dist/index.cjs127.js +2 -0
  63. package/dist/index.cjs127.js.map +1 -0
  64. package/dist/index.cjs128.js +2 -0
  65. package/dist/index.cjs128.js.map +1 -0
  66. package/dist/index.cjs129.js +2 -0
  67. package/dist/index.cjs129.js.map +1 -0
  68. package/dist/index.cjs13.js +1 -1
  69. package/dist/index.cjs13.js.map +1 -1
  70. package/dist/index.cjs130.js +2 -0
  71. package/dist/index.cjs130.js.map +1 -0
  72. package/dist/index.cjs131.js +2 -0
  73. package/dist/index.cjs131.js.map +1 -0
  74. package/dist/index.cjs132.js +2 -0
  75. package/dist/index.cjs132.js.map +1 -0
  76. package/dist/index.cjs133.js +2 -0
  77. package/dist/index.cjs133.js.map +1 -0
  78. package/dist/index.cjs134.js +2 -0
  79. package/dist/index.cjs134.js.map +1 -0
  80. package/dist/index.cjs135.js +2 -0
  81. package/dist/index.cjs135.js.map +1 -0
  82. package/dist/index.cjs136.js +2 -0
  83. package/dist/index.cjs136.js.map +1 -0
  84. package/dist/index.cjs137.js +2 -0
  85. package/dist/index.cjs137.js.map +1 -0
  86. package/dist/index.cjs138.js +2 -0
  87. package/dist/index.cjs138.js.map +1 -0
  88. package/dist/index.cjs139.js +2 -0
  89. package/dist/index.cjs139.js.map +1 -0
  90. package/dist/index.cjs14.js +1 -1
  91. package/dist/index.cjs14.js.map +1 -1
  92. package/dist/index.cjs140.js +2 -0
  93. package/dist/index.cjs140.js.map +1 -0
  94. package/dist/index.cjs141.js +2 -0
  95. package/dist/index.cjs141.js.map +1 -0
  96. package/dist/index.cjs142.js +2 -0
  97. package/dist/index.cjs142.js.map +1 -0
  98. package/dist/index.cjs143.js +2 -0
  99. package/dist/index.cjs143.js.map +1 -0
  100. package/dist/index.cjs144.js +2 -0
  101. package/dist/index.cjs144.js.map +1 -0
  102. package/dist/index.cjs145.js +2 -0
  103. package/dist/index.cjs145.js.map +1 -0
  104. package/dist/index.cjs146.js +2 -0
  105. package/dist/index.cjs146.js.map +1 -0
  106. package/dist/index.cjs147.js +2 -0
  107. package/dist/index.cjs147.js.map +1 -0
  108. package/dist/index.cjs148.js +2 -0
  109. package/dist/index.cjs148.js.map +1 -0
  110. package/dist/index.cjs149.js +2 -0
  111. package/dist/index.cjs149.js.map +1 -0
  112. package/dist/index.cjs15.js +1 -1
  113. package/dist/index.cjs15.js.map +1 -1
  114. package/dist/index.cjs150.js +2 -0
  115. package/dist/index.cjs150.js.map +1 -0
  116. package/dist/index.cjs151.js +2 -0
  117. package/dist/index.cjs151.js.map +1 -0
  118. package/dist/index.cjs152.js +2 -0
  119. package/dist/index.cjs152.js.map +1 -0
  120. package/dist/index.cjs153.js +6 -0
  121. package/dist/index.cjs153.js.map +1 -0
  122. package/dist/index.cjs154.js +2 -0
  123. package/dist/index.cjs154.js.map +1 -0
  124. package/dist/index.cjs155.js +2 -0
  125. package/dist/index.cjs155.js.map +1 -0
  126. package/dist/index.cjs156.js +2 -0
  127. package/dist/index.cjs156.js.map +1 -0
  128. package/dist/index.cjs157.js +2 -0
  129. package/dist/index.cjs157.js.map +1 -0
  130. package/dist/index.cjs158.js +2 -0
  131. package/dist/index.cjs158.js.map +1 -0
  132. package/dist/index.cjs159.js +2 -0
  133. package/dist/index.cjs159.js.map +1 -0
  134. package/dist/index.cjs16.js +6 -1
  135. package/dist/index.cjs16.js.map +1 -1
  136. package/dist/index.cjs160.js +2 -0
  137. package/dist/index.cjs160.js.map +1 -0
  138. package/dist/index.cjs161.js +2 -0
  139. package/dist/index.cjs161.js.map +1 -0
  140. package/dist/index.cjs162.js +2 -0
  141. package/dist/index.cjs162.js.map +1 -0
  142. package/dist/index.cjs163.js +2 -0
  143. package/dist/index.cjs163.js.map +1 -0
  144. package/dist/index.cjs164.js +2 -0
  145. package/dist/index.cjs164.js.map +1 -0
  146. package/dist/index.cjs165.js +2 -0
  147. package/dist/index.cjs165.js.map +1 -0
  148. package/dist/index.cjs166.js +5 -0
  149. package/dist/index.cjs166.js.map +1 -0
  150. package/dist/index.cjs167.js +2 -0
  151. package/dist/index.cjs167.js.map +1 -0
  152. package/dist/index.cjs168.js +2 -0
  153. package/dist/index.cjs168.js.map +1 -0
  154. package/dist/index.cjs169.js +2 -0
  155. package/dist/index.cjs169.js.map +1 -0
  156. package/dist/index.cjs17.js +1 -1
  157. package/dist/index.cjs17.js.map +1 -1
  158. package/dist/index.cjs170.js +2 -0
  159. package/dist/index.cjs170.js.map +1 -0
  160. package/dist/index.cjs171.js +39 -0
  161. package/dist/index.cjs171.js.map +1 -0
  162. package/dist/index.cjs172.js +2 -0
  163. package/dist/index.cjs172.js.map +1 -0
  164. package/dist/index.cjs173.js +2 -0
  165. package/dist/index.cjs173.js.map +1 -0
  166. package/dist/index.cjs174.js +2 -0
  167. package/dist/index.cjs174.js.map +1 -0
  168. package/dist/index.cjs175.js +2 -0
  169. package/dist/index.cjs175.js.map +1 -0
  170. package/dist/index.cjs176.js +2 -0
  171. package/dist/index.cjs176.js.map +1 -0
  172. package/dist/index.cjs177.js +2 -0
  173. package/dist/index.cjs177.js.map +1 -0
  174. package/dist/index.cjs178.js +2 -0
  175. package/dist/index.cjs178.js.map +1 -0
  176. package/dist/index.cjs179.js +2 -0
  177. package/dist/index.cjs179.js.map +1 -0
  178. package/dist/index.cjs18.js +1 -1
  179. package/dist/index.cjs18.js.map +1 -1
  180. package/dist/index.cjs180.js +2 -0
  181. package/dist/index.cjs180.js.map +1 -0
  182. package/dist/index.cjs181.js +2 -0
  183. package/dist/index.cjs181.js.map +1 -0
  184. package/dist/index.cjs19.js +1 -1
  185. package/dist/index.cjs19.js.map +1 -1
  186. package/dist/index.cjs2.js +1 -1
  187. package/dist/index.cjs2.js.map +1 -1
  188. package/dist/index.cjs20.js +1 -1
  189. package/dist/index.cjs20.js.map +1 -1
  190. package/dist/index.cjs21.js +1 -1
  191. package/dist/index.cjs21.js.map +1 -1
  192. package/dist/index.cjs22.js +1 -1
  193. package/dist/index.cjs22.js.map +1 -1
  194. package/dist/index.cjs23.js +1 -6
  195. package/dist/index.cjs23.js.map +1 -1
  196. package/dist/index.cjs24.js +1 -6
  197. package/dist/index.cjs24.js.map +1 -1
  198. package/dist/index.cjs25.js +1 -6
  199. package/dist/index.cjs25.js.map +1 -1
  200. package/dist/index.cjs26.js +2 -2
  201. package/dist/index.cjs26.js.map +1 -1
  202. package/dist/index.cjs27.js +2 -2
  203. package/dist/index.cjs27.js.map +1 -1
  204. package/dist/index.cjs28.js +6 -1
  205. package/dist/index.cjs28.js.map +1 -1
  206. package/dist/index.cjs29.js +6 -1
  207. package/dist/index.cjs29.js.map +1 -1
  208. package/dist/index.cjs3.js +1 -1
  209. package/dist/index.cjs3.js.map +1 -1
  210. package/dist/index.cjs30.js +2 -2
  211. package/dist/index.cjs30.js.map +1 -1
  212. package/dist/index.cjs31.js +1 -1
  213. package/dist/index.cjs31.js.map +1 -1
  214. package/dist/index.cjs32.js +1 -1
  215. package/dist/index.cjs32.js.map +1 -1
  216. package/dist/index.cjs33.js +1 -1
  217. package/dist/index.cjs33.js.map +1 -1
  218. package/dist/index.cjs34.js +1 -1
  219. package/dist/index.cjs34.js.map +1 -1
  220. package/dist/index.cjs35.js +1 -1
  221. package/dist/index.cjs35.js.map +1 -1
  222. package/dist/index.cjs36.js +1 -1
  223. package/dist/index.cjs36.js.map +1 -1
  224. package/dist/index.cjs37.js +1 -1
  225. package/dist/index.cjs37.js.map +1 -1
  226. package/dist/index.cjs38.js +1 -6
  227. package/dist/index.cjs38.js.map +1 -1
  228. package/dist/index.cjs39.js +2 -2
  229. package/dist/index.cjs39.js.map +1 -1
  230. package/dist/index.cjs4.js +1 -1
  231. package/dist/index.cjs4.js.map +1 -1
  232. package/dist/index.cjs40.js +2 -2
  233. package/dist/index.cjs40.js.map +1 -1
  234. package/dist/index.cjs41.js +6 -1
  235. package/dist/index.cjs41.js.map +1 -1
  236. package/dist/index.cjs42.js +1 -1
  237. package/dist/index.cjs42.js.map +1 -1
  238. package/dist/index.cjs43.js +1 -1
  239. package/dist/index.cjs43.js.map +1 -1
  240. package/dist/index.cjs44.js +1 -1
  241. package/dist/index.cjs44.js.map +1 -1
  242. package/dist/index.cjs45.js +1 -1
  243. package/dist/index.cjs45.js.map +1 -1
  244. package/dist/index.cjs46.js +1 -1
  245. package/dist/index.cjs46.js.map +1 -1
  246. package/dist/index.cjs47.js +1 -7
  247. package/dist/index.cjs47.js.map +1 -1
  248. package/dist/index.cjs48.js +7 -1
  249. package/dist/index.cjs48.js.map +1 -1
  250. package/dist/index.cjs49.js +1 -6
  251. package/dist/index.cjs49.js.map +1 -1
  252. package/dist/index.cjs5.js +1 -1
  253. package/dist/index.cjs5.js.map +1 -1
  254. package/dist/index.cjs50.js +2 -2
  255. package/dist/index.cjs50.js.map +1 -1
  256. package/dist/index.cjs51.js +2 -2
  257. package/dist/index.cjs51.js.map +1 -1
  258. package/dist/index.cjs52.js +2 -2
  259. package/dist/index.cjs52.js.map +1 -1
  260. package/dist/index.cjs53.js +6 -1
  261. package/dist/index.cjs53.js.map +1 -1
  262. package/dist/index.cjs54.js +1 -1
  263. package/dist/index.cjs54.js.map +1 -1
  264. package/dist/index.cjs55.js +1 -5
  265. package/dist/index.cjs55.js.map +1 -1
  266. package/dist/index.cjs56.js +12 -1
  267. package/dist/index.cjs56.js.map +1 -1
  268. package/dist/index.cjs57.js +1 -1
  269. package/dist/index.cjs57.js.map +1 -1
  270. package/dist/index.cjs58.js +1 -1
  271. package/dist/index.cjs58.js.map +1 -1
  272. package/dist/index.cjs59.js +1 -1
  273. package/dist/index.cjs59.js.map +1 -1
  274. package/dist/index.cjs6.js +1 -1
  275. package/dist/index.cjs6.js.map +1 -1
  276. package/dist/index.cjs60.js +1 -1
  277. package/dist/index.cjs60.js.map +1 -1
  278. package/dist/index.cjs61.js +1 -1
  279. package/dist/index.cjs61.js.map +1 -1
  280. package/dist/index.cjs62.js +1 -1
  281. package/dist/index.cjs62.js.map +1 -1
  282. package/dist/index.cjs63.js +1 -1
  283. package/dist/index.cjs63.js.map +1 -1
  284. package/dist/index.cjs64.js +1 -1
  285. package/dist/index.cjs64.js.map +1 -1
  286. package/dist/index.cjs65.js +1 -1
  287. package/dist/index.cjs65.js.map +1 -1
  288. package/dist/index.cjs66.js +1 -1
  289. package/dist/index.cjs66.js.map +1 -1
  290. package/dist/index.cjs67.js +1 -1
  291. package/dist/index.cjs67.js.map +1 -1
  292. package/dist/index.cjs68.js +1 -1
  293. package/dist/index.cjs68.js.map +1 -1
  294. package/dist/index.cjs69.js +1 -1
  295. package/dist/index.cjs69.js.map +1 -1
  296. package/dist/index.cjs7.js +1 -1
  297. package/dist/index.cjs7.js.map +1 -1
  298. package/dist/index.cjs70.js +1 -1
  299. package/dist/index.cjs70.js.map +1 -1
  300. package/dist/index.cjs71.js +1 -1
  301. package/dist/index.cjs71.js.map +1 -1
  302. package/dist/index.cjs72.js +1 -1
  303. package/dist/index.cjs72.js.map +1 -1
  304. package/dist/index.cjs73.js +1 -1
  305. package/dist/index.cjs73.js.map +1 -1
  306. package/dist/index.cjs74.js +1 -1
  307. package/dist/index.cjs74.js.map +1 -1
  308. package/dist/index.cjs75.js +1 -1
  309. package/dist/index.cjs75.js.map +1 -1
  310. package/dist/index.cjs76.js +1 -1
  311. package/dist/index.cjs76.js.map +1 -1
  312. package/dist/index.cjs77.js +1 -1
  313. package/dist/index.cjs77.js.map +1 -1
  314. package/dist/index.cjs78.js +1 -1
  315. package/dist/index.cjs78.js.map +1 -1
  316. package/dist/index.cjs79.js +1 -1
  317. package/dist/index.cjs79.js.map +1 -1
  318. package/dist/index.cjs8.js +1 -1
  319. package/dist/index.cjs8.js.map +1 -1
  320. package/dist/index.cjs80.js +1 -1
  321. package/dist/index.cjs80.js.map +1 -1
  322. package/dist/index.cjs81.js +1 -1
  323. package/dist/index.cjs81.js.map +1 -1
  324. package/dist/index.cjs82.js +1 -1
  325. package/dist/index.cjs82.js.map +1 -1
  326. package/dist/index.cjs83.js +1 -1
  327. package/dist/index.cjs83.js.map +1 -1
  328. package/dist/index.cjs84.js +1 -1
  329. package/dist/index.cjs84.js.map +1 -1
  330. package/dist/index.cjs85.js +1 -1
  331. package/dist/index.cjs85.js.map +1 -1
  332. package/dist/index.cjs86.js +1 -1
  333. package/dist/index.cjs86.js.map +1 -1
  334. package/dist/index.cjs87.js +1 -1
  335. package/dist/index.cjs87.js.map +1 -1
  336. package/dist/index.cjs88.js +1 -1
  337. package/dist/index.cjs88.js.map +1 -1
  338. package/dist/index.cjs89.js +1 -4
  339. package/dist/index.cjs89.js.map +1 -1
  340. package/dist/index.cjs9.js +1 -1
  341. package/dist/index.cjs9.js.map +1 -1
  342. package/dist/index.cjs90.js +1 -1
  343. package/dist/index.cjs90.js.map +1 -1
  344. package/dist/index.cjs91.js +1 -1
  345. package/dist/index.cjs91.js.map +1 -1
  346. package/dist/index.cjs92.js +1 -1
  347. package/dist/index.cjs92.js.map +1 -1
  348. package/dist/index.cjs93.js +1 -1
  349. package/dist/index.cjs93.js.map +1 -1
  350. package/dist/index.cjs94.js +1 -1
  351. package/dist/index.cjs94.js.map +1 -1
  352. package/dist/index.cjs95.js +1 -38
  353. package/dist/index.cjs95.js.map +1 -1
  354. package/dist/index.cjs96.js +1 -1
  355. package/dist/index.cjs96.js.map +1 -1
  356. package/dist/index.cjs97.js +1 -1
  357. package/dist/index.cjs97.js.map +1 -1
  358. package/dist/index.cjs98.js +1 -1
  359. package/dist/index.cjs98.js.map +1 -1
  360. package/dist/index.cjs99.js +1 -1
  361. package/dist/index.cjs99.js.map +1 -1
  362. package/dist/index.d.mts +6 -4
  363. package/dist/index.d.mts.map +1 -1
  364. package/dist/index.es.js +23 -28
  365. package/dist/index.es.js.map +1 -1
  366. package/dist/index.es10.js +18 -22
  367. package/dist/index.es10.js.map +1 -1
  368. package/dist/index.es100.js +2 -23
  369. package/dist/index.es100.js.map +1 -1
  370. package/dist/index.es101.js +6 -23
  371. package/dist/index.es101.js.map +1 -1
  372. package/dist/index.es102.js +5 -13
  373. package/dist/index.es102.js.map +1 -1
  374. package/dist/index.es103.js +5 -28
  375. package/dist/index.es103.js.map +1 -1
  376. package/dist/index.es104.js +4 -7
  377. package/dist/index.es104.js.map +1 -1
  378. package/dist/index.es105.js +9 -0
  379. package/dist/index.es105.js.map +1 -0
  380. package/dist/index.es106.js +8 -0
  381. package/dist/index.es106.js.map +1 -0
  382. package/dist/index.es107.js +8 -0
  383. package/dist/index.es107.js.map +1 -0
  384. package/dist/index.es108.js +8 -0
  385. package/dist/index.es108.js.map +1 -0
  386. package/dist/index.es109.js +8 -0
  387. package/dist/index.es109.js.map +1 -0
  388. package/dist/index.es11.js +21 -46
  389. package/dist/index.es11.js.map +1 -1
  390. package/dist/index.es110.js +8 -0
  391. package/dist/index.es110.js.map +1 -0
  392. package/dist/index.es111.js +8 -0
  393. package/dist/index.es111.js.map +1 -0
  394. package/dist/index.es112.js +8 -0
  395. package/dist/index.es112.js.map +1 -0
  396. package/dist/index.es113.js +8 -0
  397. package/dist/index.es113.js.map +1 -0
  398. package/dist/index.es114.js +9 -0
  399. package/dist/index.es114.js.map +1 -0
  400. package/dist/index.es115.js +5 -0
  401. package/dist/index.es115.js.map +1 -0
  402. package/dist/index.es116.js +9 -0
  403. package/dist/index.es116.js.map +1 -0
  404. package/dist/index.es117.js +8 -0
  405. package/dist/index.es117.js.map +1 -0
  406. package/dist/index.es118.js +8 -0
  407. package/dist/index.es118.js.map +1 -0
  408. package/dist/index.es119.js +5 -0
  409. package/dist/index.es119.js.map +1 -0
  410. package/dist/index.es12.js +14 -60
  411. package/dist/index.es12.js.map +1 -1
  412. package/dist/index.es120.js +5 -0
  413. package/dist/index.es120.js.map +1 -0
  414. package/dist/index.es121.js +9 -0
  415. package/dist/index.es121.js.map +1 -0
  416. package/dist/index.es122.js +8 -0
  417. package/dist/index.es122.js.map +1 -0
  418. package/dist/index.es123.js +8 -0
  419. package/dist/index.es123.js.map +1 -0
  420. package/dist/index.es124.js +8 -0
  421. package/dist/index.es124.js.map +1 -0
  422. package/dist/index.es125.js +8 -0
  423. package/dist/index.es125.js.map +1 -0
  424. package/dist/index.es126.js +3 -0
  425. package/dist/index.es126.js.map +1 -0
  426. package/dist/index.es127.js +8 -0
  427. package/dist/index.es127.js.map +1 -0
  428. package/dist/index.es128.js +8 -0
  429. package/dist/index.es128.js.map +1 -0
  430. package/dist/index.es129.js +5 -0
  431. package/dist/index.es129.js.map +1 -0
  432. package/dist/index.es13.js +5 -28
  433. package/dist/index.es13.js.map +1 -1
  434. package/dist/index.es130.js +11 -0
  435. package/dist/index.es130.js.map +1 -0
  436. package/dist/index.es131.js +8 -0
  437. package/dist/index.es131.js.map +1 -0
  438. package/dist/index.es132.js +30 -0
  439. package/dist/index.es132.js.map +1 -0
  440. package/dist/index.es133.js +36 -0
  441. package/dist/index.es133.js.map +1 -0
  442. package/dist/index.es134.js +10 -0
  443. package/dist/index.es134.js.map +1 -0
  444. package/dist/index.es135.js +69 -0
  445. package/dist/index.es135.js.map +1 -0
  446. package/dist/index.es136.js +33 -0
  447. package/dist/index.es136.js.map +1 -0
  448. package/dist/index.es137.js +9 -0
  449. package/dist/index.es137.js.map +1 -0
  450. package/dist/index.es138.js +28 -0
  451. package/dist/index.es138.js.map +1 -0
  452. package/dist/index.es139.js +7 -0
  453. package/dist/index.es139.js.map +1 -0
  454. package/dist/index.es14.js +42 -128
  455. package/dist/index.es14.js.map +1 -1
  456. package/dist/index.es140.js +49 -0
  457. package/dist/index.es140.js.map +1 -0
  458. package/dist/index.es141.js +11 -0
  459. package/dist/index.es141.js.map +1 -0
  460. package/dist/index.es142.js +128 -0
  461. package/dist/index.es142.js.map +1 -0
  462. package/dist/index.es143.js +18 -0
  463. package/dist/index.es143.js.map +1 -0
  464. package/dist/index.es144.js +137 -0
  465. package/dist/index.es144.js.map +1 -0
  466. package/dist/index.es145.js +14 -0
  467. package/dist/index.es145.js.map +1 -0
  468. package/dist/index.es146.js +219 -0
  469. package/dist/index.es146.js.map +1 -0
  470. package/dist/index.es147.js +16 -0
  471. package/dist/index.es147.js.map +1 -0
  472. package/dist/index.es148.js +11 -0
  473. package/dist/index.es148.js.map +1 -0
  474. package/dist/index.es149.js +7 -0
  475. package/dist/index.es149.js.map +1 -0
  476. package/dist/index.es15.js +22 -13
  477. package/dist/index.es15.js.map +1 -1
  478. package/dist/index.es150.js +31 -0
  479. package/dist/index.es150.js.map +1 -0
  480. package/dist/index.es151.js +53 -0
  481. package/dist/index.es151.js.map +1 -0
  482. package/dist/index.es152.js +12 -0
  483. package/dist/index.es152.js.map +1 -0
  484. package/dist/index.es153.js +258 -0
  485. package/dist/index.es153.js.map +1 -0
  486. package/dist/index.es154.js +25 -0
  487. package/dist/index.es154.js.map +1 -0
  488. package/dist/index.es155.js +15 -0
  489. package/dist/index.es155.js.map +1 -0
  490. package/dist/index.es156.js +208 -0
  491. package/dist/index.es156.js.map +1 -0
  492. package/dist/index.es157.js +25 -0
  493. package/dist/index.es157.js.map +1 -0
  494. package/dist/index.es158.js +396 -0
  495. package/dist/index.es158.js.map +1 -0
  496. package/dist/index.es159.js +71 -0
  497. package/dist/index.es159.js.map +1 -0
  498. package/dist/index.es16.js +13 -135
  499. package/dist/index.es16.js.map +1 -1
  500. package/dist/index.es160.js +28 -0
  501. package/dist/index.es160.js.map +1 -0
  502. package/dist/index.es161.js +32 -0
  503. package/dist/index.es161.js.map +1 -0
  504. package/dist/index.es162.js +8 -0
  505. package/dist/index.es162.js.map +1 -0
  506. package/dist/index.es163.js +8 -0
  507. package/dist/index.es163.js.map +1 -0
  508. package/dist/index.es164.js +6 -0
  509. package/dist/index.es164.js.map +1 -0
  510. package/dist/index.es165.js +27 -0
  511. package/dist/index.es165.js.map +1 -0
  512. package/dist/index.es166.js +113 -0
  513. package/dist/index.es166.js.map +1 -0
  514. package/dist/index.es167.js +19 -0
  515. package/dist/index.es167.js.map +1 -0
  516. package/dist/index.es168.js +526 -0
  517. package/dist/index.es168.js.map +1 -0
  518. package/dist/index.es169.js +130 -0
  519. package/dist/index.es169.js.map +1 -0
  520. package/dist/index.es17.js +90 -94
  521. package/dist/index.es17.js.map +1 -1
  522. package/dist/index.es170.js +132 -0
  523. package/dist/index.es170.js.map +1 -0
  524. package/dist/index.es171.js +72 -0
  525. package/dist/index.es171.js.map +1 -0
  526. package/dist/index.es172.js +12 -0
  527. package/dist/index.es172.js.map +1 -0
  528. package/dist/index.es173.js +17 -0
  529. package/dist/index.es173.js.map +1 -0
  530. package/dist/index.es174.js +65 -0
  531. package/dist/index.es174.js.map +1 -0
  532. package/dist/index.es175.js +68 -0
  533. package/dist/index.es175.js.map +1 -0
  534. package/dist/index.es176.js +7 -0
  535. package/dist/index.es176.js.map +1 -0
  536. package/dist/index.es177.js +26 -0
  537. package/dist/index.es177.js.map +1 -0
  538. package/dist/index.es178.js +16 -0
  539. package/dist/index.es178.js.map +1 -0
  540. package/dist/index.es179.js +31 -0
  541. package/dist/index.es179.js.map +1 -0
  542. package/dist/index.es18.js +3 -63
  543. package/dist/index.es18.js.map +1 -1
  544. package/dist/index.es180.js +8 -0
  545. package/dist/index.es180.js.map +1 -0
  546. package/dist/index.es181.js +26 -0
  547. package/dist/index.es181.js.map +1 -0
  548. package/dist/index.es19.js +22 -10
  549. package/dist/index.es19.js.map +1 -1
  550. package/dist/index.es2.js +156 -115
  551. package/dist/index.es2.js.map +1 -1
  552. package/dist/index.es20.js +63 -20
  553. package/dist/index.es20.js.map +1 -1
  554. package/dist/index.es21.js +96 -389
  555. package/dist/index.es21.js.map +1 -1
  556. package/dist/index.es22.js +137 -5
  557. package/dist/index.es22.js.map +1 -1
  558. package/dist/index.es23.js +64 -13
  559. package/dist/index.es23.js.map +1 -1
  560. package/dist/index.es24.js +23 -16
  561. package/dist/index.es24.js.map +1 -1
  562. package/dist/index.es25.js +428 -13
  563. package/dist/index.es25.js.map +1 -1
  564. package/dist/index.es26.js +7 -13
  565. package/dist/index.es26.js.map +1 -1
  566. package/dist/index.es27.js +9 -3
  567. package/dist/index.es27.js.map +1 -1
  568. package/dist/index.es28.js +13 -19
  569. package/dist/index.es28.js.map +1 -1
  570. package/dist/index.es29.js +19 -23
  571. package/dist/index.es29.js.map +1 -1
  572. package/dist/index.es3.js +129 -340
  573. package/dist/index.es3.js.map +1 -1
  574. package/dist/index.es30.js +4 -7
  575. package/dist/index.es30.js.map +1 -1
  576. package/dist/index.es31.js +4 -17
  577. package/dist/index.es31.js.map +1 -1
  578. package/dist/index.es32.js +17 -15
  579. package/dist/index.es32.js.map +1 -1
  580. package/dist/index.es33.js +13 -2475
  581. package/dist/index.es33.js.map +1 -1
  582. package/dist/index.es34.js +2472 -36
  583. package/dist/index.es34.js.map +1 -1
  584. package/dist/index.es35.js +41 -33
  585. package/dist/index.es35.js.map +1 -1
  586. package/dist/index.es36.js +32 -115
  587. package/dist/index.es36.js.map +1 -1
  588. package/dist/index.es37.js +95 -811
  589. package/dist/index.es37.js.map +1 -1
  590. package/dist/index.es38.js +832 -10
  591. package/dist/index.es38.js.map +1 -1
  592. package/dist/index.es39.js +3 -3
  593. package/dist/index.es39.js.map +1 -1
  594. package/dist/index.es4.js +92 -70
  595. package/dist/index.es4.js.map +1 -1
  596. package/dist/index.es40.js +3 -3
  597. package/dist/index.es40.js.map +1 -1
  598. package/dist/index.es41.js +10 -114
  599. package/dist/index.es41.js.map +1 -1
  600. package/dist/index.es42.js +112 -54
  601. package/dist/index.es42.js.map +1 -1
  602. package/dist/index.es43.js +55 -23
  603. package/dist/index.es43.js.map +1 -1
  604. package/dist/index.es44.js +22 -43
  605. package/dist/index.es44.js.map +1 -1
  606. package/dist/index.es45.js +41 -82
  607. package/dist/index.es45.js.map +1 -1
  608. package/dist/index.es46.js +82 -56
  609. package/dist/index.es46.js.map +1 -1
  610. package/dist/index.es47.js +57 -120
  611. package/dist/index.es47.js.map +1 -1
  612. package/dist/index.es48.js +122 -62
  613. package/dist/index.es48.js.map +1 -1
  614. package/dist/index.es49.js +63 -21
  615. package/dist/index.es49.js.map +1 -1
  616. package/dist/index.es5.js +225 -79
  617. package/dist/index.es5.js.map +1 -1
  618. package/dist/index.es50.js +15 -3
  619. package/dist/index.es50.js.map +1 -1
  620. package/dist/index.es51.js +3 -32
  621. package/dist/index.es51.js.map +1 -1
  622. package/dist/index.es52.js +32 -12
  623. package/dist/index.es52.js.map +1 -1
  624. package/dist/index.es53.js +18 -8
  625. package/dist/index.es53.js.map +1 -1
  626. package/dist/index.es54.js +5 -5
  627. package/dist/index.es54.js.map +1 -1
  628. package/dist/index.es55.js +2 -255
  629. package/dist/index.es55.js.map +1 -1
  630. package/dist/index.es56.js +1756 -22
  631. package/dist/index.es56.js.map +1 -1
  632. package/dist/index.es57.js +5 -7
  633. package/dist/index.es57.js.map +1 -1
  634. package/dist/index.es58.js +5 -27
  635. package/dist/index.es58.js.map +1 -1
  636. package/dist/index.es59.js +5 -66
  637. package/dist/index.es59.js.map +1 -1
  638. package/dist/index.es6.js +117 -57
  639. package/dist/index.es6.js.map +1 -1
  640. package/dist/index.es60.js +5 -30
  641. package/dist/index.es60.js.map +1 -1
  642. package/dist/index.es61.js +5 -6
  643. package/dist/index.es61.js.map +1 -1
  644. package/dist/index.es62.js +5 -25
  645. package/dist/index.es62.js.map +1 -1
  646. package/dist/index.es63.js +5 -33
  647. package/dist/index.es63.js.map +1 -1
  648. package/dist/index.es64.js +5 -4
  649. package/dist/index.es64.js.map +1 -1
  650. package/dist/index.es65.js +5 -46
  651. package/dist/index.es65.js.map +1 -1
  652. package/dist/index.es66.js +5 -8
  653. package/dist/index.es66.js.map +1 -1
  654. package/dist/index.es67.js +5 -125
  655. package/dist/index.es67.js.map +1 -1
  656. package/dist/index.es68.js +5 -15
  657. package/dist/index.es68.js.map +1 -1
  658. package/dist/index.es69.js +5 -134
  659. package/dist/index.es69.js.map +1 -1
  660. package/dist/index.es7.js +345 -48
  661. package/dist/index.es7.js.map +1 -1
  662. package/dist/index.es70.js +5 -11
  663. package/dist/index.es70.js.map +1 -1
  664. package/dist/index.es71.js +4 -218
  665. package/dist/index.es71.js.map +1 -1
  666. package/dist/index.es72.js +2 -13
  667. package/dist/index.es72.js.map +1 -1
  668. package/dist/index.es73.js +6 -8
  669. package/dist/index.es73.js.map +1 -1
  670. package/dist/index.es74.js +5 -4
  671. package/dist/index.es74.js.map +1 -1
  672. package/dist/index.es75.js +5 -28
  673. package/dist/index.es75.js.map +1 -1
  674. package/dist/index.es76.js +5 -50
  675. package/dist/index.es76.js.map +1 -1
  676. package/dist/index.es77.js +4 -11
  677. package/dist/index.es77.js.map +1 -1
  678. package/dist/index.es78.js +2 -12
  679. package/dist/index.es78.js.map +1 -1
  680. package/dist/index.es79.js +6 -205
  681. package/dist/index.es79.js.map +1 -1
  682. package/dist/index.es8.js +73 -163
  683. package/dist/index.es8.js.map +1 -1
  684. package/dist/index.es80.js +5 -22
  685. package/dist/index.es80.js.map +1 -1
  686. package/dist/index.es81.js +5 -393
  687. package/dist/index.es81.js.map +1 -1
  688. package/dist/index.es82.js +5 -68
  689. package/dist/index.es82.js.map +1 -1
  690. package/dist/index.es83.js +5 -25
  691. package/dist/index.es83.js.map +1 -1
  692. package/dist/index.es84.js +5 -29
  693. package/dist/index.es84.js.map +1 -1
  694. package/dist/index.es85.js +5 -5
  695. package/dist/index.es85.js.map +1 -1
  696. package/dist/index.es86.js +5 -5
  697. package/dist/index.es86.js.map +1 -1
  698. package/dist/index.es87.js +5 -3
  699. package/dist/index.es87.js.map +1 -1
  700. package/dist/index.es88.js +6 -24
  701. package/dist/index.es88.js.map +1 -1
  702. package/dist/index.es89.js +2 -110
  703. package/dist/index.es89.js.map +1 -1
  704. package/dist/index.es9.js +131 -3
  705. package/dist/index.es9.js.map +1 -1
  706. package/dist/index.es90.js +6 -16
  707. package/dist/index.es90.js.map +1 -1
  708. package/dist/index.es91.js +6 -523
  709. package/dist/index.es91.js.map +1 -1
  710. package/dist/index.es92.js +6 -127
  711. package/dist/index.es92.js.map +1 -1
  712. package/dist/index.es93.js +5 -129
  713. package/dist/index.es93.js.map +1 -1
  714. package/dist/index.es94.js +5 -65
  715. package/dist/index.es94.js.map +1 -1
  716. package/dist/index.es95.js +5 -69
  717. package/dist/index.es95.js.map +1 -1
  718. package/dist/index.es96.js +5 -9
  719. package/dist/index.es96.js.map +1 -1
  720. package/dist/index.es97.js +5 -14
  721. package/dist/index.es97.js.map +1 -1
  722. package/dist/index.es98.js +5 -62
  723. package/dist/index.es98.js.map +1 -1
  724. package/dist/index.es99.js +4 -6
  725. package/dist/index.es99.js.map +1 -1
  726. package/dist/packages/builder/add-dialog.d.ts +5 -5
  727. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.es38.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/chevron-down.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 = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"ChevronDown\", __iconNode);\n\nexport { __iconNode, ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n"],"names":["__iconNode","ChevronDown","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,MAACA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,gBAAgB,KAAK,UAAU,CAAC,GAC5DC,IAAcC,EAAiB,eAAeF,CAAU;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es38.js","sources":["../../../node_modules/.pnpm/@radix-ui+react-select@2.1.6_@types+react-dom@18.3.5_@types+react@18.3.18__@types+react_c56d354b83a56e6a914687c302946fec/node_modules/@radix-ui/react-select/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/select/src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const triggerPointerDownPosRef = React.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ jsxs(\n BubbleSelect,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n }\n );\n }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar SelectContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst = React.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ jsx(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n return /* @__PURE__ */ jsx(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ jsx(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n);\nSelectArrow.displayName = ARROW_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nvar BubbleSelect = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...selectProps } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const select = ref.current;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx(\"select\", { ...selectProps, ref: composedRefs, defaultValue: value }) });\n }\n);\nBubbleSelect.displayName = \"BubbleSelect\";\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef(\"\");\n const timerRef = React.useRef(0);\n const handleTypeaheadSearch = React.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Group,\n Icon,\n Item,\n ItemIndicator,\n ItemText,\n Label,\n Portal,\n Root2 as Root,\n ScrollDownButton,\n ScrollUpButton,\n Select,\n SelectArrow,\n SelectContent,\n SelectGroup,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectPortal,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectViewport,\n Separator,\n Trigger,\n Value,\n Viewport,\n createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["OPEN_KEYS","SELECTION_KEYS","SELECT_NAME","Collection","useCollection","createCollectionScope","createCollection","createSelectContext","createSelectScope","createContextScope","createPopperScope","usePopperScope","SelectProvider","useSelectContext","SelectNativeOptionsProvider","useSelectNativeOptionsContext","Select","props","__scopeSelect","children","openProp","defaultOpen","onOpenChange","valueProp","defaultValue","onValueChange","dir","name","autoComplete","disabled","required","form","popperScope","trigger","setTrigger","React","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","direction","useDirection","open","setOpen","useControllableState","value","setValue","triggerPointerDownPosRef","isFormControl","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","option","jsx","PopperPrimitive.Root","jsxs","useId","prev","optionsSet","BubbleSelect","event","TRIGGER_NAME","SelectTrigger","forwardedRef","triggerProps","context","isDisabled","composedRefs","useComposedRefs","getItems","pointerTypeRef","searchRef","handleTypeaheadSearch","resetTypeahead","useTypeaheadSearch","search","enabledItems","item","currentItem","nextItem","findNextItem","handleOpen","pointerEvent","PopperPrimitive.Anchor","Primitive","shouldShowPlaceholder","composeEventHandlers","target","isTypingAhead","VALUE_NAME","SelectValue","className","style","placeholder","valueProps","onValueNodeHasChildrenChange","hasChildren","useLayoutEffect","Fragment","ICON_NAME","SelectIcon","iconProps","PORTAL_NAME","SelectPortal","PortalPrimitive","CONTENT_NAME","SelectContent","fragment","setFragment","frag","ReactDOM","SelectContentProvider","SelectContentImpl","CONTENT_MARGIN","useSelectContentContext","CONTENT_IMPL_NAME","position","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","side","sideOffset","align","alignOffset","arrowPadding","collisionBoundary","collisionPadding","sticky","hideWhenDetached","avoidCollisions","contentProps","content","setContent","viewport","setViewport","node","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","isPositioned","setIsPositioned","firstValidItemFoundRef","hideOthers","useFocusGuards","focusFirst","candidates","firstItem","restItems","lastItem","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusSelectedItem","pointerMoveDelta","handlePointerMove","handlePointerUp","close","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","SelectPopperPosition","SelectItemAlignedPosition","popperContentProps","RemoveScroll","Slot","FocusScope","DismissableLayer","isModifierKey","candidateNodes","currentElement","currentIndex","ITEM_ALIGNED_POSITION_NAME","onPlaced","popperProps","contentContext","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","triggerRect","contentRect","valueNodeRect","itemTextRect","itemTextOffset","left","leftDelta","minContentWidth","contentWidth","rightEdge","clampedLeft","clamp","right","rightDelta","leftEdge","clampedRight","items","availableHeight","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","contentPaddingBottom","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","itemOffsetMiddle","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","clampedTriggerMiddleToBottomEdge","height","isFirstItem","contentZIndex","setContentZIndex","handleScrollButtonChange","SelectViewportProvider","POPPER_POSITION_NAME","PopperPrimitive.Content","useSelectViewportContext","VIEWPORT_NAME","SelectViewport","nonce","viewportProps","viewportContext","prevScrollTopRef","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","GROUP_NAME","SelectGroupContextProvider","useSelectGroupContext","SelectGroup","groupProps","groupId","LABEL_NAME","SelectLabel","labelProps","groupContext","ITEM_NAME","SelectItemContextProvider","useSelectItemContext","SelectItem","textValueProp","itemProps","isSelected","textValue","setTextValue","isFocused","setIsFocused","textId","handleSelect","prevTextValue","ITEM_TEXT_NAME","SelectItemText","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","textContent","nativeOption","onNativeOptionAdd","onNativeOptionRemove","ITEM_INDICATOR_NAME","SelectItemIndicator","itemIndicatorProps","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","canScrollUp","setCanScrollUp","handleScroll2","canScrollUp2","SelectScrollButtonImpl","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","canScrollDown","setCanScrollDown","maxScroll","canScrollDown2","onAutoScroll","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","SEPARATOR_NAME","SelectSeparator","separatorProps","ARROW_NAME","SelectArrow","arrowProps","PopperPrimitive.Arrow","selectProps","ref","prevValue","usePrevious","select","selectProto","VisuallyHidden","onSearchChange","handleSearchChange","useCallbackRef","timerRef","key","updateSearch","normalizedSearch","char","currentItemIndex","wrappedItems","wrapArray","v","array","startIndex","_","index","Root2","Trigger","Value","Icon","Portal","Content2","Viewport","Item","ItemText","ItemIndicator","ScrollUpButton","ScrollDownButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA4BA,IAAIA,KAAY,CAAC,KAAK,SAAS,WAAW,WAAW,GACjDC,KAAiB,CAAC,KAAK,OAAO,GAC9BC,KAAc,UACd,CAACC,IAAYC,IAAeC,EAAqB,IAAIC,GAAiBJ,EAAW,GACjF,CAACK,IAAqBC,EAAiB,IAAIC,GAAmBP,IAAa;AAAA,EAC7EG;AAAA,EACAK;AACF,CAAC,GACGC,KAAiBD,GAAmB,GACpC,CAACE,IAAgBC,CAAgB,IAAIN,GAAoBL,EAAW,GACpE,CAACY,IAA6BC,EAA6B,IAAIR,GAAoBL,EAAW,GAC9Fc,KAAS,CAACC,MAAU;AACtB,QAAM;AAAA,IACJ,eAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAMC;AAAA,IACN,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,OAAOC;AAAA,IACP,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,KAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,EACJ,IAAMd,GACEe,IAAcrB,GAAeO,CAAa,GAC1C,CAACe,GAASC,CAAU,IAAIC,EAAM,SAAS,IAAI,GAC3C,CAACC,GAAWC,CAAY,IAAIF,EAAM,SAAS,IAAI,GAC/C,CAACG,GAAsBC,CAAuB,IAAIJ,EAAM,SAAS,EAAK,GACtEK,KAAYC,GAAaf,CAAG,GAC5B,CAACgB,IAAO,IAAOC,CAAO,IAAIC,GAAqB;AAAA,IACnD,MAAMxB;AAAA,IACN,aAAaC;AAAA,IACb,UAAUC;AAAA,EACd,CAAG,GACK,CAACuB,GAAOC,CAAQ,IAAIF,GAAqB;AAAA,IAC7C,MAAMrB;AAAA,IACN,aAAaC;AAAA,IACb,UAAUC;AAAA,EACd,CAAG,GACKsB,IAA2BZ,EAAM,OAAO,IAAI,GAC5Ca,IAAgBf,IAAUF,KAAQ,CAAC,CAACE,EAAQ,QAAQ,MAAM,IAAI,IAC9D,CAACgB,GAAkBC,CAAmB,IAAIf,EAAM,SAAyB,oBAAI,KAAK,GAClFgB,IAAkB,MAAM,KAAKF,CAAgB,EAAE,IAAI,CAACG,MAAWA,EAAO,MAAM,KAAK,EAAE,KAAK,GAAG;AACjG,SAAuB,gBAAAC,EAAIC,IAAsB,EAAE,GAAGtB,GAAa,UAA0B,gBAAAuB;AAAA,IAC3F3C;AAAA,IACA;AAAA,MACE,UAAAkB;AAAA,MACA,OAAOZ;AAAA,MACP,SAAAe;AAAA,MACA,iBAAiBC;AAAA,MACjB,WAAAE;AAAA,MACA,mBAAmBC;AAAA,MACnB,sBAAAC;AAAA,MACA,8BAA8BC;AAAA,MAC9B,WAAWiB,GAAO;AAAA,MAClB,OAAAX;AAAA,MACA,eAAeC;AAAA,MACf,MAAAJ;AAAA,MACA,cAAcC;AAAA,MACd,KAAKH;AAAA,MACL,0BAAAO;AAAA,MACA,UAAAlB;AAAA,MACA,UAAU;AAAA,QACQ,gBAAAwB,EAAIlD,GAAW,UAAU,EAAE,OAAOe,GAAe,UAA0B,gBAAAmC;AAAA,UACzFvC;AAAA,UACA;AAAA,YACE,OAAOG,EAAM;AAAA,YACb,mBAAmBkB,EAAM,YAAY,CAACiB,MAAW;AAC/C,cAAAF,EAAoB,CAACO,MAAS,IAAI,IAAIA,CAAI,EAAE,IAAIL,CAAM,CAAC;AAAA,YACxD,GAAE,EAAE;AAAA,YACL,sBAAsBjB,EAAM,YAAY,CAACiB,MAAW;AAClD,cAAAF,EAAoB,CAACO,MAAS;AAC5B,sBAAMC,IAAa,IAAI,IAAID,CAAI;AAC/B,uBAAAC,EAAW,OAAON,CAAM,GACjBM;AAAA,cACvB,CAAe;AAAA,YACF,GAAE,EAAE;AAAA,YACL,UAAAvC;AAAA,UACZ;AAAA,QACA,GAAW;AAAA,QACH6B,IAAgC,gBAAAO;AAAA,UAC9BI;AAAA,UACA;AAAA,YACE,eAAe;AAAA,YACf,UAAA7B;AAAA,YACA,UAAU;AAAA,YACV,MAAAH;AAAA,YACA,cAAAC;AAAA,YACA,OAAAiB;AAAA,YACA,UAAU,CAACe,MAAUd,EAASc,EAAM,OAAO,KAAK;AAAA,YAChD,UAAA/B;AAAA,YACA,MAAAE;AAAA,YACA,UAAU;AAAA,cACRc,MAAU,SAAyB,gBAAAQ,EAAI,UAAU,EAAE,OAAO,GAAI,CAAA,IAAI;AAAA,cAClE,MAAM,KAAKJ,CAAgB;AAAA,YACzC;AAAA,UACW;AAAA,UACDE;AAAA,QACV,IAAY;AAAA,MACZ;AAAA,IACA;AAAA,EACA,GAAK;AACL;AACAnC,GAAO,cAAcd;AACrB,IAAI2D,KAAe,iBACfC,KAAgB3B,EAAM;AAAA,EACxB,CAAClB,GAAO8C,MAAiB;AACvB,UAAM,EAAE,eAAA7C,GAAe,UAAAW,IAAW,IAAO,GAAGmC,EAAc,IAAG/C,GACvDe,IAAcrB,GAAeO,CAAa,GAC1C+C,IAAUpD,EAAiBgD,IAAc3C,CAAa,GACtDgD,IAAaD,EAAQ,YAAYpC,GACjCsC,IAAeC,EAAgBL,GAAcE,EAAQ,eAAe,GACpEI,IAAWjE,GAAcc,CAAa,GACtCoD,IAAiBnC,EAAM,OAAO,OAAO,GACrC,CAACoC,GAAWC,GAAuBC,CAAc,IAAIC,GAAmB,CAACC,MAAW;AACxF,YAAMC,IAAeP,IAAW,OAAO,CAACQ,MAAS,CAACA,EAAK,QAAQ,GACzDC,IAAcF,EAAa,KAAK,CAACC,MAASA,EAAK,UAAUZ,EAAQ,KAAK,GACtEc,IAAWC,GAAaJ,GAAcD,GAAQG,CAAW;AAC/D,MAAIC,MAAa,UACfd,EAAQ,cAAcc,EAAS,KAAK;AAAA,IAE5C,CAAK,GACKE,IAAa,CAACC,MAAiB;AACnC,MAAKhB,MACHD,EAAQ,aAAa,EAAI,GACzBQ,EAAgB,IAEdS,MACFjB,EAAQ,yBAAyB,UAAU;AAAA,QACzC,GAAG,KAAK,MAAMiB,EAAa,KAAK;AAAA,QAChC,GAAG,KAAK,MAAMA,EAAa,KAAK;AAAA,MACjC;AAAA,IAEJ;AACD,WAAuB,gBAAA7B,EAAI8B,IAAwB,EAAE,SAAS,IAAM,GAAGnD,GAAa,UAA0B,gBAAAqB;AAAA,MAC5G+B,EAAU;AAAA,MACV;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,iBAAiBnB,EAAQ;AAAA,QACzB,iBAAiBA,EAAQ;AAAA,QACzB,iBAAiBA,EAAQ;AAAA,QACzB,qBAAqB;AAAA,QACrB,KAAKA,EAAQ;AAAA,QACb,cAAcA,EAAQ,OAAO,SAAS;AAAA,QACtC,UAAUC;AAAA,QACV,iBAAiBA,IAAa,KAAK;AAAA,QACnC,oBAAoBmB,GAAsBpB,EAAQ,KAAK,IAAI,KAAK;AAAA,QAChE,GAAGD;AAAA,QACH,KAAKG;AAAA,QACL,SAASmB,EAAqBtB,EAAa,SAAS,CAACJ,MAAU;AAC7D,UAAAA,EAAM,cAAc,MAAO,GACvBU,EAAe,YAAY,WAC7BW,EAAWrB,CAAK;AAAA,QAE5B,CAAS;AAAA,QACD,eAAe0B,EAAqBtB,EAAa,eAAe,CAACJ,MAAU;AACzE,UAAAU,EAAe,UAAUV,EAAM;AAC/B,gBAAM2B,IAAS3B,EAAM;AACrB,UAAI2B,EAAO,kBAAkB3B,EAAM,SAAS,KAC1C2B,EAAO,sBAAsB3B,EAAM,SAAS,GAE1CA,EAAM,WAAW,KAAKA,EAAM,YAAY,MAASA,EAAM,gBAAgB,YACzEqB,EAAWrB,CAAK,GAChBA,EAAM,eAAgB;AAAA,QAElC,CAAS;AAAA,QACD,WAAW0B,EAAqBtB,EAAa,WAAW,CAACJ,MAAU;AACjE,gBAAM4B,IAAgBjB,EAAU,YAAY;AAG5C,UADI,EADkBX,EAAM,WAAWA,EAAM,UAAUA,EAAM,YACvCA,EAAM,IAAI,WAAW,KAAGY,EAAsBZ,EAAM,GAAG,GACzE,EAAA4B,KAAiB5B,EAAM,QAAQ,QAC/B5D,GAAU,SAAS4D,EAAM,GAAG,MAC9BqB,EAAY,GACZrB,EAAM,eAAgB;AAAA,QAEzB,CAAA;AAAA,MACT;AAAA,IACA,GAAO;AAAA,EACP;AACA;AACAE,GAAc,cAAcD;AAC5B,IAAI4B,KAAa,eACbC,KAAcvD,EAAM;AAAA,EACtB,CAAClB,GAAO8C,MAAiB;AACvB,UAAM,EAAE,eAAA7C,GAAe,WAAAyE,GAAW,OAAAC,GAAO,UAAAzE,GAAU,aAAA0E,IAAc,IAAI,GAAGC,EAAU,IAAK7E,GACjFgD,IAAUpD,EAAiB4E,IAAYvE,CAAa,GACpD,EAAE,8BAAA6E,EAA4B,IAAK9B,GACnC+B,IAAc7E,MAAa,QAC3BgD,IAAeC,EAAgBL,GAAcE,EAAQ,iBAAiB;AAC5EgC,WAAAA,EAAgB,MAAM;AACpB,MAAAF,EAA6BC,CAAW;AAAA,IAC9C,GAAO,CAACD,GAA8BC,CAAW,CAAC,GACvB,gBAAA3C;AAAA,MACrB+B,EAAU;AAAA,MACV;AAAA,QACE,GAAGU;AAAA,QACH,KAAK3B;AAAA,QACL,OAAO,EAAE,eAAe,OAAQ;AAAA,QAChC,UAAUkB,GAAsBpB,EAAQ,KAAK,IAAoB,gBAAAZ,EAAI6C,IAAU,EAAE,UAAUL,EAAW,CAAE,IAAI1E;AAAA,MACpH;AAAA,IACK;AAAA,EACL;AACA;AACAuE,GAAY,cAAcD;AAC1B,IAAIU,KAAY,cACZC,KAAajE,EAAM;AAAA,EACrB,CAAClB,GAAO8C,MAAiB;AACvB,UAAM,EAAE,eAAA7C,GAAe,UAAAC,GAAU,GAAGkF,EAAW,IAAGpF;AAClD,WAAuB,gBAAAoC,EAAI+B,EAAU,MAAM,EAAE,eAAe,IAAM,GAAGiB,GAAW,KAAKtC,GAAc,UAAU5C,KAAY,IAAQ,CAAE;AAAA,EACvI;AACA;AACAiF,GAAW,cAAcD;AACzB,IAAIG,KAAc,gBACdC,KAAe,CAACtF,MACK,gBAAAoC,EAAImD,IAAiB,EAAE,SAAS,IAAM,GAAGvF,GAAO;AAEzEsF,GAAa,cAAcD;AAC3B,IAAIG,IAAe,iBACfC,KAAgBvE,EAAM;AAAA,EACxB,CAAClB,GAAO8C,MAAiB;AACvB,UAAME,IAAUpD,EAAiB4F,GAAcxF,EAAM,aAAa,GAC5D,CAAC0F,GAAUC,CAAW,IAAIzE,EAAM,SAAU;AAIhD,QAHA8D,EAAgB,MAAM;AACpB,MAAAW,EAAY,IAAI,kBAAkB;AAAA,IACnC,GAAE,EAAE,GACD,CAAC3C,EAAQ,MAAM;AACjB,YAAM4C,IAAOF;AACb,aAAOE,IAAOC,GAAS;AAAA,QACL,gBAAAzD,EAAI0D,IAAuB,EAAE,OAAO9F,EAAM,eAAe,UAA0B,gBAAAoC,EAAIlD,GAAW,MAAM,EAAE,OAAOc,EAAM,eAAe,UAA0B,gBAAAoC,EAAI,OAAO,EAAE,UAAUpC,EAAM,SAAQ,CAAE,EAAG,CAAA,GAAG;AAAA,QAC7N4F;AAAA,MACR,IAAU;AAAA,IACV;AACI,WAAuB,gBAAAxD,EAAI2D,IAAmB,EAAE,GAAG/F,GAAO,KAAK8C,GAAc;AAAA,EACjF;AACA;AACA2C,GAAc,cAAcD;AAC5B,IAAIQ,IAAiB,IACjB,CAACF,IAAuBG,CAAuB,IAAI3G,GAAoBkG,CAAY,GACnFU,KAAoB,qBACpBH,KAAoB7E,EAAM;AAAA,EAC5B,CAAClB,GAAO8C,MAAiB;AACvB,UAAM;AAAA,MACJ,eAAA7C;AAAA,MACA,UAAAkG,IAAW;AAAA,MACX,kBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,sBAAAC;AAAA;AAAA;AAAA,MAGA,MAAAC;AAAA,MACA,YAAAC;AAAA,MACA,OAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,QAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,iBAAAC;AAAA;AAAA,MAEA,GAAGC;AAAA,IACT,IAAQjH,GACEgD,IAAUpD,EAAiB4F,GAAcvF,CAAa,GACtD,CAACiH,GAASC,CAAU,IAAIjG,EAAM,SAAS,IAAI,GAC3C,CAACkG,GAAUC,EAAW,IAAInG,EAAM,SAAS,IAAI,GAC7CgC,IAAeC,EAAgBL,GAAc,CAACwE,MAASH,EAAWG,CAAI,CAAC,GACvE,CAACC,GAAcC,CAAe,IAAItG,EAAM,SAAS,IAAI,GACrD,CAACuG,GAAkBC,CAAmB,IAAIxG,EAAM;AAAA,MACpD;AAAA,IACD,GACKkC,IAAWjE,GAAcc,CAAa,GACtC,CAAC0H,GAAcC,CAAe,IAAI1G,EAAM,SAAS,EAAK,GACtD2G,IAAyB3G,EAAM,OAAO,EAAK;AACjD,IAAAA,EAAM,UAAU,MAAM;AACpB,UAAIgG,EAAS,QAAOY,GAAWZ,CAAO;AAAA,IAC5C,GAAO,CAACA,CAAO,CAAC,GACZa,GAAgB;AAChB,UAAMC,IAAa9G,EAAM;AAAA,MACvB,CAAC+G,MAAe;AACd,cAAM,CAACC,GAAW,GAAGC,CAAS,IAAI/E,EAAQ,EAAG,IAAI,CAACQ,MAASA,EAAK,IAAI,OAAO,GACrE,CAACwE,CAAQ,IAAID,EAAU,MAAM,EAAE,GAC/BE,IAA6B,SAAS;AAC5C,mBAAWC,KAAaL;AAMtB,cALIK,MAAcD,MAClBC,GAAW,eAAe,EAAE,OAAO,UAAS,CAAE,GAC1CA,MAAcJ,KAAad,MAAUA,EAAS,YAAY,IAC1DkB,MAAcF,KAAYhB,MAAUA,EAAS,YAAYA,EAAS,eACtEkB,GAAW,MAAO,GACd,SAAS,kBAAkBD,GAA4B;AAAA,MAE9D;AAAA,MACD,CAACjF,GAAUgE,CAAQ;AAAA,IACpB,GACKmB,IAAoBrH,EAAM;AAAA,MAC9B,MAAM8G,EAAW,CAACT,GAAcL,CAAO,CAAC;AAAA,MACxC,CAACc,GAAYT,GAAcL,CAAO;AAAA,IACnC;AACD,IAAAhG,EAAM,UAAU,MAAM;AACpB,MAAIyG,KACFY,EAAmB;AAAA,IAE3B,GAAO,CAACZ,GAAcY,CAAiB,CAAC;AACpC,UAAM,EAAE,cAAAlI,GAAc,0BAAAyB,EAAwB,IAAKkB;AACnD,IAAA9B,EAAM,UAAU,MAAM;AACpB,UAAIgG,GAAS;AACX,YAAIsB,IAAmB,EAAE,GAAG,GAAG,GAAG,EAAG;AACrC,cAAMC,IAAoB,CAAC9F,MAAU;AACnC,UAAA6F,IAAmB;AAAA,YACjB,GAAG,KAAK,IAAI,KAAK,MAAM7F,EAAM,KAAK,KAAKb,EAAyB,SAAS,KAAK,EAAE;AAAA,YAChF,GAAG,KAAK,IAAI,KAAK,MAAMa,EAAM,KAAK,KAAKb,EAAyB,SAAS,KAAK,EAAE;AAAA,UACjF;AAAA,QACF,GACK4G,IAAkB,CAAC/F,MAAU;AACjC,UAAI6F,EAAiB,KAAK,MAAMA,EAAiB,KAAK,KACpD7F,EAAM,eAAgB,IAEjBuE,EAAQ,SAASvE,EAAM,MAAM,KAChCtC,EAAa,EAAK,GAGtB,SAAS,oBAAoB,eAAeoI,CAAiB,GAC7D3G,EAAyB,UAAU;AAAA,QACpC;AACD,eAAIA,EAAyB,YAAY,SACvC,SAAS,iBAAiB,eAAe2G,CAAiB,GAC1D,SAAS,iBAAiB,aAAaC,GAAiB,EAAE,SAAS,IAAM,MAAM,IAAM,IAEhF,MAAM;AACX,mBAAS,oBAAoB,eAAeD,CAAiB,GAC7D,SAAS,oBAAoB,aAAaC,GAAiB,EAAE,SAAS,IAAM;AAAA,QAC7E;AAAA,MACT;AAAA,IACK,GAAE,CAACxB,GAAS7G,GAAcyB,CAAwB,CAAC,GACpDZ,EAAM,UAAU,MAAM;AACpB,YAAMyH,IAAQ,MAAMtI,EAAa,EAAK;AACtC,oBAAO,iBAAiB,QAAQsI,CAAK,GACrC,OAAO,iBAAiB,UAAUA,CAAK,GAChC,MAAM;AACX,eAAO,oBAAoB,QAAQA,CAAK,GACxC,OAAO,oBAAoB,UAAUA,CAAK;AAAA,MAC3C;AAAA,IACP,GAAO,CAACtI,CAAY,CAAC;AACjB,UAAM,CAACiD,IAAWC,EAAqB,IAAIE,GAAmB,CAACC,MAAW;AACxE,YAAMC,IAAeP,IAAW,OAAO,CAACQ,MAAS,CAACA,EAAK,QAAQ,GACzDC,IAAcF,EAAa,KAAK,CAACC,MAASA,EAAK,IAAI,YAAY,SAAS,aAAa,GACrFE,IAAWC,GAAaJ,GAAcD,GAAQG,CAAW;AAC/D,MAAIC,KACF,WAAW,MAAMA,EAAS,IAAI,QAAQ,MAAK,CAAE;AAAA,IAErD,CAAK,GACK8E,KAAkB1H,EAAM;AAAA,MAC5B,CAACoG,GAAM1F,GAAOhB,MAAa;AACzB,cAAMiI,IAAmB,CAAChB,EAAuB,WAAW,CAACjH;AAE7D,SADuBoC,EAAQ,UAAU,UAAUA,EAAQ,UAAUpB,KAC/CiH,OACpBrB,EAAgBF,CAAI,GAChBuB,MAAkBhB,EAAuB,UAAU;AAAA,MAE1D;AAAA,MACD,CAAC7E,EAAQ,KAAK;AAAA,IACf,GACK8F,KAAkB5H,EAAM,YAAY,MAAMgG,GAAS,MAAO,GAAE,CAACA,CAAO,CAAC,GACrE6B,IAAsB7H,EAAM;AAAA,MAChC,CAACoG,GAAM1F,GAAOhB,MAAa;AACzB,cAAMiI,IAAmB,CAAChB,EAAuB,WAAW,CAACjH;AAE7D,SADuBoC,EAAQ,UAAU,UAAUA,EAAQ,UAAUpB,KAC/CiH,MACpBnB,EAAoBJ,CAAI;AAAA,MAE3B;AAAA,MACD,CAACtE,EAAQ,KAAK;AAAA,IACf,GACKgG,KAAiB7C,MAAa,WAAW8C,KAAuBC,IAChEC,KAAqBH,OAAmBC,KAAuB;AAAA,MACnE,MAAA1C;AAAA,MACA,YAAAC;AAAA,MACA,OAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,QAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,iBAAAC;AAAA,IACN,IAAQ,CAAE;AACN,WAAuB,gBAAA5E;AAAA,MACrB0D;AAAA,MACA;AAAA,QACE,OAAO7F;AAAA,QACP,SAAAiH;AAAA,QACA,UAAAE;AAAA,QACA,kBAAkBC;AAAA,QAClB,iBAAAuB;AAAA,QACA,cAAArB;AAAA,QACA,aAAauB;AAAA,QACb,qBAAAC;AAAA,QACA,mBAAAR;AAAA,QACA,kBAAAd;AAAA,QACA,UAAAtB;AAAA,QACA,cAAAwB;AAAA,QACA,WAAArE;AAAA,QACA,UAA0B,gBAAAlB,EAAIgH,IAAc,EAAE,IAAIC,IAAM,gBAAgB,IAAM,UAA0B,gBAAAjH;AAAA,UACtGkH;AAAA,UACA;AAAA,YACE,SAAS;AAAA,YACT,SAAStG,EAAQ;AAAA,YACjB,kBAAkB,CAACL,MAAU;AAC3B,cAAAA,EAAM,eAAgB;AAAA,YACvB;AAAA,YACD,oBAAoB0B,EAAqB+B,GAAkB,CAACzD,MAAU;AACpE,cAAAK,EAAQ,SAAS,MAAM,EAAE,eAAe,GAAI,CAAE,GAC9CL,EAAM,eAAgB;AAAA,YACpC,CAAa;AAAA,YACD,UAA0B,gBAAAP;AAAA,cACxBmH;AAAA,cACA;AAAA,gBACE,SAAS;AAAA,gBACT,6BAA6B;AAAA,gBAC7B,iBAAAlD;AAAA,gBACA,sBAAAC;AAAA,gBACA,gBAAgB,CAAC3D,MAAUA,EAAM,eAAgB;AAAA,gBACjD,WAAW,MAAMK,EAAQ,aAAa,EAAK;AAAA,gBAC3C,UAA0B,gBAAAZ;AAAA,kBACxB4G;AAAA,kBACA;AAAA,oBACE,MAAM;AAAA,oBACN,IAAIhG,EAAQ;AAAA,oBACZ,cAAcA,EAAQ,OAAO,SAAS;AAAA,oBACtC,KAAKA,EAAQ;AAAA,oBACb,eAAe,CAACL,MAAUA,EAAM,eAAgB;AAAA,oBAChD,GAAGsE;AAAA,oBACH,GAAGkC;AAAA,oBACH,UAAU,MAAMvB,EAAgB,EAAI;AAAA,oBACpC,KAAK1E;AAAA,oBACL,OAAO;AAAA;AAAA,sBAEL,SAAS;AAAA,sBACT,eAAe;AAAA;AAAA,sBAEf,SAAS;AAAA,sBACT,GAAG+D,EAAa;AAAA,oBACjB;AAAA,oBACD,WAAW5C,EAAqB4C,EAAa,WAAW,CAACtE,MAAU;AACjE,4BAAM6G,IAAgB7G,EAAM,WAAWA,EAAM,UAAUA,EAAM;AAG7D,0BAFIA,EAAM,QAAQ,SAAOA,EAAM,eAAgB,GAC3C,CAAC6G,KAAiB7G,EAAM,IAAI,WAAW,KAAGY,GAAsBZ,EAAM,GAAG,GACzE,CAAC,WAAW,aAAa,QAAQ,KAAK,EAAE,SAASA,EAAM,GAAG,GAAG;AAE/D,4BAAI8G,IADUrG,IAAW,OAAO,CAACQ,MAAS,CAACA,EAAK,QAAQ,EAC7B,IAAI,CAACA,MAASA,EAAK,IAAI,OAAO;AAIzD,4BAHI,CAAC,WAAW,KAAK,EAAE,SAASjB,EAAM,GAAG,MACvC8G,IAAiBA,EAAe,MAAO,EAAC,QAAS,IAE/C,CAAC,WAAW,WAAW,EAAE,SAAS9G,EAAM,GAAG,GAAG;AAChD,gCAAM+G,IAAiB/G,EAAM,QACvBgH,IAAeF,EAAe,QAAQC,CAAc;AAC1D,0BAAAD,IAAiBA,EAAe,MAAME,IAAe,CAAC;AAAA,wBAChF;AACwB,mCAAW,MAAM3B,EAAWyB,CAAc,CAAC,GAC3C9G,EAAM,eAAgB;AAAA,sBAC9C;AAAA,oBACqB,CAAA;AAAA,kBACrB;AAAA,gBACA;AAAA,cACA;AAAA,YACA;AAAA,UACA;AAAA,QACA,EAAW,CAAA;AAAA,MACX;AAAA,IACK;AAAA,EACL;AACA;AACAoD,GAAkB,cAAcG;AAChC,IAAI0D,KAA6B,6BAC7BV,KAA4BhI,EAAM,WAAW,CAAClB,GAAO8C,MAAiB;AACxE,QAAM,EAAE,eAAA7C,GAAe,UAAA4J,GAAU,GAAGC,EAAa,IAAG9J,GAC9CgD,IAAUpD,EAAiB4F,GAAcvF,CAAa,GACtD8J,IAAiB9D,EAAwBT,GAAcvF,CAAa,GACpE,CAAC+J,GAAgBC,CAAiB,IAAI/I,EAAM,SAAS,IAAI,GACzD,CAACgG,GAASC,CAAU,IAAIjG,EAAM,SAAS,IAAI,GAC3CgC,IAAeC,EAAgBL,GAAc,CAACwE,MAASH,EAAWG,CAAI,CAAC,GACvElE,IAAWjE,GAAcc,CAAa,GACtCiK,IAA0BhJ,EAAM,OAAO,EAAK,GAC5CiJ,IAAsBjJ,EAAM,OAAO,EAAI,GACvC,EAAE,UAAAkG,GAAU,cAAAG,GAAc,kBAAAE,GAAkB,mBAAAc,EAAmB,IAAGwB,GAClE5D,IAAWjF,EAAM,YAAY,MAAM;AACvC,QAAI8B,EAAQ,WAAWA,EAAQ,aAAagH,KAAkB9C,KAAWE,KAAYG,KAAgBE,GAAkB;AACrH,YAAM2C,IAAcpH,EAAQ,QAAQ,sBAAuB,GACrDqH,IAAcnD,EAAQ,sBAAuB,GAC7CoD,IAAgBtH,EAAQ,UAAU,sBAAuB,GACzDuH,IAAe9C,EAAiB,sBAAuB;AAC7D,UAAIzE,EAAQ,QAAQ,OAAO;AACzB,cAAMwH,IAAiBD,EAAa,OAAOF,EAAY,MACjDI,IAAOH,EAAc,OAAOE,GAC5BE,IAAYN,EAAY,OAAOK,GAC/BE,IAAkBP,EAAY,QAAQM,GACtCE,KAAe,KAAK,IAAID,GAAiBN,EAAY,KAAK,GAC1DQ,KAAY,OAAO,aAAa7E,GAChC8E,KAAcC,GAAMN,GAAM;AAAA,UAC9BzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMA,KAAK,IAAIA,GAAgB6E,KAAYD,EAAY;AAAA,QAC3D,CAAS;AACD,QAAAZ,EAAe,MAAM,WAAWW,IAAkB,MAClDX,EAAe,MAAM,OAAOc,KAAc;AAAA,MAClD,OAAa;AACL,cAAMN,IAAiBH,EAAY,QAAQE,EAAa,OAClDS,IAAQ,OAAO,aAAaV,EAAc,QAAQE,GAClDS,IAAa,OAAO,aAAab,EAAY,QAAQY,GACrDL,IAAkBP,EAAY,QAAQa,GACtCL,KAAe,KAAK,IAAID,GAAiBN,EAAY,KAAK,GAC1Da,KAAW,OAAO,aAAalF,GAC/BmF,KAAeJ,GAAMC,GAAO;AAAA,UAChChF;AAAA,UACA,KAAK,IAAIA,GAAgBkF,KAAWN,EAAY;AAAA,QAC1D,CAAS;AACD,QAAAZ,EAAe,MAAM,WAAWW,IAAkB,MAClDX,EAAe,MAAM,QAAQmB,KAAe;AAAA,MACpD;AACM,YAAMC,IAAQhI,EAAU,GAClBiI,IAAkB,OAAO,cAAcrF,IAAiB,GACxDsF,IAAclE,EAAS,cACvBmE,IAAgB,OAAO,iBAAiBrE,CAAO,GAC/CsE,IAAwB,SAASD,EAAc,gBAAgB,EAAE,GACjEE,IAAoB,SAASF,EAAc,YAAY,EAAE,GACzDG,IAA2B,SAASH,EAAc,mBAAmB,EAAE,GACvEI,IAAuB,SAASJ,EAAc,eAAe,EAAE,GAC/DK,IAAoBJ,IAAwBC,IAAoBH,IAAcK,IAAuBD,GACrGG,KAAmB,KAAK,IAAItE,EAAa,eAAe,GAAGqE,CAAiB,GAC5EE,KAAiB,OAAO,iBAAiB1E,CAAQ,GACjD2E,KAAqB,SAASD,GAAe,YAAY,EAAE,GAC3DE,KAAwB,SAASF,GAAe,eAAe,EAAE,GACjEG,IAAyB7B,EAAY,MAAMA,EAAY,SAAS,IAAIpE,GACpEkG,KAA4Bb,IAAkBY,GAC9CE,KAAyB5E,EAAa,eAAe,GACrD6E,IAAmB7E,EAAa,YAAY4E,IAC5CE,IAAyBb,IAAwBC,IAAoBW,GACrEE,IAA4BV,IAAoBS;AAEtD,UADoCA,KAA0BJ,GAC7B;AAC/B,cAAMM,IAAanB,EAAM,SAAS,KAAK7D,MAAiB6D,EAAMA,EAAM,SAAS,CAAC,EAAE,IAAI;AACpF,QAAApB,EAAe,MAAM,SAAS;AAC9B,cAAMwC,IAAuBtF,EAAQ,eAAeE,EAAS,YAAYA,EAAS,cAC5EqF,IAAmC,KAAK;AAAA,UAC5CP;AAAA,UACAC;AAAA,WACCI,IAAaP,KAAwB,KAAKQ,IAAuBd;AAAA,QACnE,GACKgB,IAASL,IAAyBI;AACxC,QAAAzC,EAAe,MAAM,SAAS0C,IAAS;AAAA,MAC/C,OAAa;AACL,cAAMC,IAAcvB,EAAM,SAAS,KAAK7D,MAAiB6D,EAAM,CAAC,EAAE,IAAI;AACtE,QAAApB,EAAe,MAAM,MAAM;AAM3B,cAAM0C,IALgC,KAAK;AAAA,UACzCT;AAAA,UACAT,IAAwBpE,EAAS;AAAA,WAChCuF,IAAcZ,KAAqB,KAAKI;AAAA,QAC1C,IAC8CG;AAC/C,QAAAtC,EAAe,MAAM,SAAS0C,IAAS,MACvCtF,EAAS,YAAYiF,IAAyBJ,IAAyB7E,EAAS;AAAA,MACxF;AACM,MAAA4C,EAAe,MAAM,SAAS,GAAGhE,CAAc,QAC/CgE,EAAe,MAAM,YAAY6B,KAAmB,MACpD7B,EAAe,MAAM,YAAYqB,IAAkB,MACnDxB,IAAY,GACZ,sBAAsB,MAAMK,EAAwB,UAAU,EAAI;AAAA,IACxE;AAAA,EACA,GAAK;AAAA,IACD9G;AAAA,IACAJ,EAAQ;AAAA,IACRA,EAAQ;AAAA,IACRgH;AAAA,IACA9C;AAAA,IACAE;AAAA,IACAG;AAAA,IACAE;AAAA,IACAzE,EAAQ;AAAA,IACR6G;AAAA,EACJ,CAAG;AACD7E,EAAAA,EAAgB,MAAMmB,KAAY,CAACA,CAAQ,CAAC;AAC5C,QAAM,CAACyG,GAAeC,CAAgB,IAAI3L,EAAM,SAAU;AAC1D8D,EAAAA,EAAgB,MAAM;AACpB,IAAIkC,KAAS2F,EAAiB,OAAO,iBAAiB3F,CAAO,EAAE,MAAM;AAAA,EACzE,GAAK,CAACA,CAAO,CAAC;AACZ,QAAM4F,KAA2B5L,EAAM;AAAA,IACrC,CAACoG,MAAS;AACR,MAAIA,KAAQ6C,EAAoB,YAAY,OAC1ChE,EAAU,GACVoC,IAAqB,GACrB4B,EAAoB,UAAU;AAAA,IAEjC;AAAA,IACD,CAAChE,GAAUoC,CAAiB;AAAA,EAC7B;AACD,SAAuB,gBAAAnG;AAAA,IACrB2K;AAAA,IACA;AAAA,MACE,OAAO9M;AAAA,MACP,gBAAA+J;AAAA,MACA,yBAAAE;AAAA,MACA,sBAAsB4C;AAAA,MACtB,UAA0B,gBAAA1K;AAAA,QACxB;AAAA,QACA;AAAA,UACE,KAAK6H;AAAA,UACL,OAAO;AAAA,YACL,SAAS;AAAA,YACT,eAAe;AAAA,YACf,UAAU;AAAA,YACV,QAAQ2C;AAAA,UACT;AAAA,UACD,UAA0B,gBAAAxK;AAAA,YACxB+B,EAAU;AAAA,YACV;AAAA,cACE,GAAG2F;AAAA,cACH,KAAK5G;AAAA,cACL,OAAO;AAAA;AAAA;AAAA,gBAGL,WAAW;AAAA;AAAA,gBAEX,WAAW;AAAA,gBACX,GAAG4G,EAAY;AAAA,cAC/B;AAAA,YACA;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACG;AACH,CAAC;AACDZ,GAA0B,cAAcU;AACxC,IAAIoD,KAAuB,wBACvB/D,KAAuB/H,EAAM,WAAW,CAAClB,GAAO8C,MAAiB;AACnE,QAAM;AAAA,IACJ,eAAA7C;AAAA,IACA,OAAAwG,IAAQ;AAAA,IACR,kBAAAI,IAAmBb;AAAA,IACnB,GAAG8D;AAAA,EACP,IAAM9J,GACEe,IAAcrB,GAAeO,CAAa;AAChD,SAAuB,gBAAAmC;AAAA,IACrB6K;AAAAA,IACA;AAAA,MACE,GAAGlM;AAAA,MACH,GAAG+I;AAAA,MACH,KAAKhH;AAAA,MACL,OAAA2D;AAAA,MACA,kBAAAI;AAAA,MACA,OAAO;AAAA;AAAA,QAEL,WAAW;AAAA,QACX,GAAGiD,EAAY;AAAA,QAGb,2CAA2C;AAAA,QAC3C,0CAA0C;AAAA,QAC1C,2CAA2C;AAAA,QAC3C,gCAAgC;AAAA,QAChC,iCAAiC;AAAA,MAE3C;AAAA,IACA;AAAA,EACG;AACH,CAAC;AACDb,GAAqB,cAAc+D;AACnC,IAAI,CAACD,IAAwBG,EAAwB,IAAI5N,GAAoBkG,GAAc,CAAA,CAAE,GACzF2H,KAAgB,kBAChBC,KAAiBlM,EAAM;AAAA,EACzB,CAAClB,GAAO8C,MAAiB;AACvB,UAAM,EAAE,eAAA7C,GAAe,OAAAoN,GAAO,GAAGC,EAAe,IAAGtN,GAC7C+J,IAAiB9D,EAAwBkH,IAAelN,CAAa,GACrEsN,IAAkBL,GAAyBC,IAAelN,CAAa,GACvEiD,IAAeC,EAAgBL,GAAciH,EAAe,gBAAgB,GAC5EyD,IAAmBtM,EAAM,OAAO,CAAC;AACvC,WAAuB,gBAAAoB,GAAK2C,IAAU,EAAE,UAAU;AAAA,MAChC,gBAAA7C;AAAA,QACd;AAAA,QACA;AAAA,UACE,yBAAyB;AAAA,YACvB,QAAQ;AAAA,UACT;AAAA,UACD,OAAAiL;AAAA,QACV;AAAA,MACO;AAAA,MACe,gBAAAjL,EAAIlD,GAAW,MAAM,EAAE,OAAOe,GAAe,UAA0B,gBAAAmC;AAAA,QACrF+B,EAAU;AAAA,QACV;AAAA,UACE,8BAA8B;AAAA,UAC9B,MAAM;AAAA,UACN,GAAGmJ;AAAA,UACH,KAAKpK;AAAA,UACL,OAAO;AAAA;AAAA;AAAA;AAAA,YAIL,UAAU;AAAA,YACV,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,YAKN,UAAU;AAAA,YACV,GAAGoK,EAAc;AAAA,UAClB;AAAA,UACD,UAAUjJ,EAAqBiJ,EAAc,UAAU,CAAC3K,MAAU;AAChE,kBAAMyE,IAAWzE,EAAM,eACjB,EAAE,gBAAAqH,GAAgB,yBAAAE,EAAuB,IAAKqD;AACpD,gBAAIrD,GAAyB,WAAWF,GAAgB;AACtD,oBAAMyD,IAAa,KAAK,IAAID,EAAiB,UAAUpG,EAAS,SAAS;AACzE,kBAAIqG,IAAa,GAAG;AAClB,sBAAMpC,IAAkB,OAAO,cAAcrF,IAAiB,GACxD0H,IAAe,WAAW1D,EAAe,MAAM,SAAS,GACxD2D,IAAY,WAAW3D,EAAe,MAAM,MAAM,GAClD4D,IAAa,KAAK,IAAIF,GAAcC,CAAS;AACnD,oBAAIC,IAAavC,GAAiB;AAChC,wBAAMwC,IAAaD,IAAaH,GAC1BK,IAAoB,KAAK,IAAIzC,GAAiBwC,CAAU,GACxDE,IAAaF,IAAaC;AAChC,kBAAA9D,EAAe,MAAM,SAAS8D,IAAoB,MAC9C9D,EAAe,MAAM,WAAW,UAClC5C,EAAS,YAAY2G,IAAa,IAAIA,IAAa,GACnD/D,EAAe,MAAM,iBAAiB;AAAA,gBAE1D;AAAA,cACA;AAAA,YACA;AACY,YAAAwD,EAAiB,UAAUpG,EAAS;AAAA,UACrC,CAAA;AAAA,QACX;AAAA,MACA,EAAS,CAAA;AAAA,IACT,GAAO;AAAA,EACP;AACA;AACAgG,GAAe,cAAcD;AAC7B,IAAIa,KAAa,eACb,CAACC,IAA4BC,EAAqB,IAAI5O,GAAoB0O,EAAU,GACpFG,KAAcjN,EAAM;AAAA,EACtB,CAAClB,GAAO8C,MAAiB;AACvB,UAAM,EAAE,eAAA7C,GAAe,GAAGmO,EAAU,IAAKpO,GACnCqO,IAAU9L,GAAO;AACvB,WAAuB,gBAAAH,EAAI6L,IAA4B,EAAE,OAAOhO,GAAe,IAAIoO,GAAS,UAA0B,gBAAAjM,EAAI+B,EAAU,KAAK,EAAE,MAAM,SAAS,mBAAmBkK,GAAS,GAAGD,GAAY,KAAKtL,EAAc,CAAA,GAAG;AAAA,EAC/N;AACA;AACAqL,GAAY,cAAcH;AAC1B,IAAIM,KAAa,eACbC,KAAcrN,EAAM;AAAA,EACtB,CAAClB,GAAO8C,MAAiB;AACvB,UAAM,EAAE,eAAA7C,GAAe,GAAGuO,EAAU,IAAKxO,GACnCyO,IAAeP,GAAsBI,IAAYrO,CAAa;AACpE,WAAuB,gBAAAmC,EAAI+B,EAAU,KAAK,EAAE,IAAIsK,EAAa,IAAI,GAAGD,GAAY,KAAK1L,EAAY,CAAE;AAAA,EACvG;AACA;AACAyL,GAAY,cAAcD;AAC1B,IAAII,KAAY,cACZ,CAACC,IAA2BC,EAAoB,IAAItP,GAAoBoP,EAAS,GACjFG,KAAa3N,EAAM;AAAA,EACrB,CAAClB,GAAO8C,MAAiB;AACvB,UAAM;AAAA,MACJ,eAAA7C;AAAA,MACA,OAAA2B;AAAA,MACA,UAAAhB,IAAW;AAAA,MACX,WAAWkO;AAAA,MACX,GAAGC;AAAA,IACT,IAAQ/O,GACEgD,IAAUpD,EAAiB8O,IAAWzO,CAAa,GACnD8J,IAAiB9D,EAAwByI,IAAWzO,CAAa,GACjE+O,IAAahM,EAAQ,UAAUpB,GAC/B,CAACqN,GAAWC,CAAY,IAAIhO,EAAM,SAAS4N,KAAiB,EAAE,GAC9D,CAACK,GAAWC,CAAY,IAAIlO,EAAM,SAAS,EAAK,GAChDgC,IAAeC;AAAA,MACnBL;AAAA,MACA,CAACwE,MAASyC,EAAe,kBAAkBzC,GAAM1F,GAAOhB,CAAQ;AAAA,IACjE,GACKyO,IAAS9M,GAAO,GAChBc,IAAiBnC,EAAM,OAAO,OAAO,GACrCoO,IAAe,MAAM;AACzB,MAAK1O,MACHoC,EAAQ,cAAcpB,CAAK,GAC3BoB,EAAQ,aAAa,EAAK;AAAA,IAE7B;AACD,QAAIpB,MAAU;AACZ,YAAM,IAAI;AAAA,QACR;AAAA,MACD;AAEH,WAAuB,gBAAAQ;AAAA,MACrBuM;AAAA,MACA;AAAA,QACE,OAAO1O;AAAA,QACP,OAAA2B;AAAA,QACA,UAAAhB;AAAA,QACA,QAAAyO;AAAA,QACA,YAAAL;AAAA,QACA,kBAAkB9N,EAAM,YAAY,CAACoG,MAAS;AAC5C,UAAA4H,EAAa,CAACK,MAAkBA,MAAkBjI,GAAM,eAAe,IAAI,MAAM;AAAA,QAClF,GAAE,EAAE;AAAA,QACL,UAA0B,gBAAAlF;AAAA,UACxBlD,GAAW;AAAA,UACX;AAAA,YACE,OAAOe;AAAA,YACP,OAAA2B;AAAA,YACA,UAAAhB;AAAA,YACA,WAAAqO;AAAA,YACA,UAA0B,gBAAA7M;AAAA,cACxB+B,EAAU;AAAA,cACV;AAAA,gBACE,MAAM;AAAA,gBACN,mBAAmBkL;AAAA,gBACnB,oBAAoBF,IAAY,KAAK;AAAA,gBACrC,iBAAiBH,KAAcG;AAAA,gBAC/B,cAAcH,IAAa,YAAY;AAAA,gBACvC,iBAAiBpO,KAAY;AAAA,gBAC7B,iBAAiBA,IAAW,KAAK;AAAA,gBACjC,UAAUA,IAAW,SAAS;AAAA,gBAC9B,GAAGmO;AAAA,gBACH,KAAK7L;AAAA,gBACL,SAASmB,EAAqB0K,EAAU,SAAS,MAAMK,EAAa,EAAI,CAAC;AAAA,gBACzE,QAAQ/K,EAAqB0K,EAAU,QAAQ,MAAMK,EAAa,EAAK,CAAC;AAAA,gBACxE,SAAS/K,EAAqB0K,EAAU,SAAS,MAAM;AACrD,kBAAI1L,EAAe,YAAY,WAASiM,EAAc;AAAA,gBACxE,CAAiB;AAAA,gBACD,aAAajL,EAAqB0K,EAAU,aAAa,MAAM;AAC7D,kBAAI1L,EAAe,YAAY,WAASiM,EAAc;AAAA,gBACxE,CAAiB;AAAA,gBACD,eAAejL,EAAqB0K,EAAU,eAAe,CAACpM,MAAU;AACtE,kBAAAU,EAAe,UAAUV,EAAM;AAAA,gBACjD,CAAiB;AAAA,gBACD,eAAe0B,EAAqB0K,EAAU,eAAe,CAACpM,MAAU;AACtE,kBAAAU,EAAe,UAAUV,EAAM,aAC3B/B,IACFmJ,EAAe,cAAe,IACrB1G,EAAe,YAAY,WACpCV,EAAM,cAAc,MAAM,EAAE,eAAe,GAAI,CAAE;AAAA,gBAErE,CAAiB;AAAA,gBACD,gBAAgB0B,EAAqB0K,EAAU,gBAAgB,CAACpM,MAAU;AACxE,kBAAIA,EAAM,kBAAkB,SAAS,iBACnCoH,EAAe,cAAe;AAAA,gBAElD,CAAiB;AAAA,gBACD,WAAW1F,EAAqB0K,EAAU,WAAW,CAACpM,MAAU;AAE9D,kBADsBoH,EAAe,WAAW,YAAY,MACvCpH,EAAM,QAAQ,QAC/B3D,GAAe,SAAS2D,EAAM,GAAG,KAAG2M,EAAc,GAClD3M,EAAM,QAAQ,OAAKA,EAAM,eAAgB;AAAA,gBAC9C,CAAA;AAAA,cACjB;AAAA,YACA;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACK;AAAA,EACL;AACA;AACAkM,GAAW,cAAcH;AACzB,IAAIc,KAAiB,kBACjBC,KAAiBvO,EAAM;AAAA,EACzB,CAAClB,GAAO8C,MAAiB;AACvB,UAAM,EAAE,eAAA7C,GAAe,WAAAyE,GAAW,OAAAC,GAAO,GAAG+K,EAAe,IAAG1P,GACxDgD,IAAUpD,EAAiB4P,IAAgBvP,CAAa,GACxD8J,IAAiB9D,EAAwBuJ,IAAgBvP,CAAa,GACtE0P,IAAcf,GAAqBY,IAAgBvP,CAAa,GAChE2P,IAAuB9P,GAA8B0P,IAAgBvP,CAAa,GAClF,CAAC4P,GAAcC,CAAe,IAAI5O,EAAM,SAAS,IAAI,GACrDgC,IAAeC;AAAA,MACnBL;AAAA,MACA,CAACwE,MAASwI,EAAgBxI,CAAI;AAAA,MAC9BqI,EAAY;AAAA,MACZ,CAACrI,MAASyC,EAAe,sBAAsBzC,GAAMqI,EAAY,OAAOA,EAAY,QAAQ;AAAA,IAC7F,GACKI,IAAcF,GAAc,aAC5BG,IAAe9O,EAAM;AAAA,MACzB,MAAsB,gBAAAkB,EAAI,UAAU,EAAE,OAAOuN,EAAY,OAAO,UAAUA,EAAY,UAAU,UAAUI,EAAW,GAAIJ,EAAY,KAAK;AAAA,MAC1I,CAACA,EAAY,UAAUA,EAAY,OAAOI,CAAW;AAAA,IACtD,GACK,EAAE,mBAAAE,GAAmB,sBAAAC,EAAoB,IAAKN;AACpD5K,WAAAA,EAAgB,OACdiL,EAAkBD,CAAY,GACvB,MAAME,EAAqBF,CAAY,IAC7C,CAACC,GAAmBC,GAAsBF,CAAY,CAAC,GACnC,gBAAA1N,GAAK2C,IAAU,EAAE,UAAU;AAAA,MAChC,gBAAA7C,EAAI+B,EAAU,MAAM,EAAE,IAAIwL,EAAY,QAAQ,GAAGD,GAAe,KAAKxM,GAAc;AAAA,MACnGyM,EAAY,cAAc3M,EAAQ,aAAa,CAACA,EAAQ,uBAAuB6C,GAAS,aAAa6J,EAAc,UAAU1M,EAAQ,SAAS,IAAI;AAAA,IACxJ,GAAO;AAAA,EACP;AACA;AACAyM,GAAe,cAAcD;AAC7B,IAAIW,KAAsB,uBACtBC,KAAsBlP,EAAM;AAAA,EAC9B,CAAClB,GAAO8C,MAAiB;AACvB,UAAM,EAAE,eAAA7C,GAAe,GAAGoQ,EAAkB,IAAKrQ;AAEjD,WADoB4O,GAAqBuB,IAAqBlQ,CAAa,EACxD,aAA6B,gBAAAmC,EAAI+B,EAAU,MAAM,EAAE,eAAe,IAAM,GAAGkM,GAAoB,KAAKvN,EAAY,CAAE,IAAI;AAAA,EAC7I;AACA;AACAsN,GAAoB,cAAcD;AAClC,IAAIG,KAAwB,wBACxBC,KAAuBrP,EAAM,WAAW,CAAClB,GAAO8C,MAAiB;AACnE,QAAMiH,IAAiB9D,EAAwBqK,IAAuBtQ,EAAM,aAAa,GACnFuN,IAAkBL,GAAyBoD,IAAuBtQ,EAAM,aAAa,GACrF,CAACwQ,GAAaC,CAAc,IAAIvP,EAAM,SAAS,EAAK,GACpDgC,IAAeC,EAAgBL,GAAcyK,EAAgB,oBAAoB;AACvFvI,SAAAA,EAAgB,MAAM;AACpB,QAAI+E,EAAe,YAAYA,EAAe,cAAc;AAC1D,UAAI2G,IAAgB,WAAW;AAC7B,cAAMC,IAAevJ,EAAS,YAAY;AAC1C,QAAAqJ,EAAeE,CAAY;AAAA,MAC5B;AAED,YAAMvJ,IAAW2C,EAAe;AAChC,aAAA2G,EAAe,GACftJ,EAAS,iBAAiB,UAAUsJ,CAAa,GAC1C,MAAMtJ,EAAS,oBAAoB,UAAUsJ,CAAa;AAAA,IACvE;AAAA,EACG,GAAE,CAAC3G,EAAe,UAAUA,EAAe,YAAY,CAAC,GAClDyG,IAA8B,gBAAApO;AAAA,IACnCwO;AAAA,IACA;AAAA,MACE,GAAG5Q;AAAA,MACH,KAAKkD;AAAA,MACL,cAAc,MAAM;AAClB,cAAM,EAAE,UAAAkE,GAAU,cAAAG,EAAY,IAAKwC;AACnC,QAAI3C,KAAYG,MACdH,EAAS,YAAYA,EAAS,YAAYG,EAAa;AAAA,MAEjE;AAAA,IACA;AAAA,EACA,IAAM;AACN,CAAC;AACDgJ,GAAqB,cAAcD;AACnC,IAAIO,KAA0B,0BAC1BC,KAAyB5P,EAAM,WAAW,CAAClB,GAAO8C,MAAiB;AACrE,QAAMiH,IAAiB9D,EAAwB4K,IAAyB7Q,EAAM,aAAa,GACrFuN,IAAkBL,GAAyB2D,IAAyB7Q,EAAM,aAAa,GACvF,CAAC+Q,GAAeC,CAAgB,IAAI9P,EAAM,SAAS,EAAK,GACxDgC,IAAeC,EAAgBL,GAAcyK,EAAgB,oBAAoB;AACvFvI,SAAAA,EAAgB,MAAM;AACpB,QAAI+E,EAAe,YAAYA,EAAe,cAAc;AAC1D,UAAI2G,IAAgB,WAAW;AAC7B,cAAMO,IAAY7J,EAAS,eAAeA,EAAS,cAC7C8J,IAAiB,KAAK,KAAK9J,EAAS,SAAS,IAAI6J;AACvD,QAAAD,EAAiBE,CAAc;AAAA,MAChC;AAED,YAAM9J,IAAW2C,EAAe;AAChC,aAAA2G,EAAe,GACftJ,EAAS,iBAAiB,UAAUsJ,CAAa,GAC1C,MAAMtJ,EAAS,oBAAoB,UAAUsJ,CAAa;AAAA,IACvE;AAAA,EACG,GAAE,CAAC3G,EAAe,UAAUA,EAAe,YAAY,CAAC,GAClDgH,IAAgC,gBAAA3O;AAAA,IACrCwO;AAAA,IACA;AAAA,MACE,GAAG5Q;AAAA,MACH,KAAKkD;AAAA,MACL,cAAc,MAAM;AAClB,cAAM,EAAE,UAAAkE,GAAU,cAAAG,EAAY,IAAKwC;AACnC,QAAI3C,KAAYG,MACdH,EAAS,YAAYA,EAAS,YAAYG,EAAa;AAAA,MAEjE;AAAA,IACA;AAAA,EACA,IAAM;AACN,CAAC;AACDuJ,GAAuB,cAAcD;AACrC,IAAID,KAAyB1P,EAAM,WAAW,CAAClB,GAAO8C,MAAiB;AACrE,QAAM,EAAE,eAAA7C,GAAe,cAAAkR,GAAc,GAAGC,EAAsB,IAAGpR,GAC3D+J,IAAiB9D,EAAwB,sBAAsBhG,CAAa,GAC5EoR,IAAqBnQ,EAAM,OAAO,IAAI,GACtCkC,IAAWjE,GAAcc,CAAa,GACtCqR,IAAuBpQ,EAAM,YAAY,MAAM;AACnD,IAAImQ,EAAmB,YAAY,SACjC,OAAO,cAAcA,EAAmB,OAAO,GAC/CA,EAAmB,UAAU;AAAA,EAEhC,GAAE,EAAE;AACL,SAAAnQ,EAAM,UAAU,MACP,MAAMoQ,EAAsB,GAClC,CAACA,CAAoB,CAAC,GACzBtM,EAAgB,MAAM;AAEpB,IADmB5B,IAAW,KAAK,CAACQ,MAASA,EAAK,IAAI,YAAY,SAAS,aAAa,GAC5E,IAAI,SAAS,eAAe,EAAE,OAAO,WAAW;AAAA,EAChE,GAAK,CAACR,CAAQ,CAAC,GACU,gBAAAhB;AAAA,IACrB+B,EAAU;AAAA,IACV;AAAA,MACE,eAAe;AAAA,MACf,GAAGiN;AAAA,MACH,KAAKtO;AAAA,MACL,OAAO,EAAE,YAAY,GAAG,GAAGsO,EAAqB,MAAO;AAAA,MACvD,eAAe/M,EAAqB+M,EAAqB,eAAe,MAAM;AAC5E,QAAIC,EAAmB,YAAY,SACjCA,EAAmB,UAAU,OAAO,YAAYF,GAAc,EAAE;AAAA,MAE1E,CAAO;AAAA,MACD,eAAe9M,EAAqB+M,EAAqB,eAAe,MAAM;AAC5E,QAAArH,EAAe,cAAe,GAC1BsH,EAAmB,YAAY,SACjCA,EAAmB,UAAU,OAAO,YAAYF,GAAc,EAAE;AAAA,MAE1E,CAAO;AAAA,MACD,gBAAgB9M,EAAqB+M,EAAqB,gBAAgB,MAAM;AAC9E,QAAAE,EAAsB;AAAA,MACvB,CAAA;AAAA,IACP;AAAA,EACG;AACH,CAAC,GACGC,KAAiB,mBACjBC,KAAkBtQ,EAAM;AAAA,EAC1B,CAAClB,GAAO8C,MAAiB;AACvB,UAAM,EAAE,eAAA7C,GAAe,GAAGwR,EAAc,IAAKzR;AAC7C,WAAuB,gBAAAoC,EAAI+B,EAAU,KAAK,EAAE,eAAe,IAAM,GAAGsN,GAAgB,KAAK3O,GAAc;AAAA,EAC3G;AACA;AACA0O,GAAgB,cAAcD;AAC9B,IAAIG,KAAa,eACbC,KAAczQ,EAAM;AAAA,EACtB,CAAClB,GAAO8C,MAAiB;AACvB,UAAM,EAAE,eAAA7C,GAAe,GAAG2R,EAAU,IAAK5R,GACnCe,IAAcrB,GAAeO,CAAa,GAC1C+C,IAAUpD,EAAiB8R,IAAYzR,CAAa,GACpD8J,IAAiB9D,EAAwByL,IAAYzR,CAAa;AACxE,WAAO+C,EAAQ,QAAQ+G,EAAe,aAAa,WAA2B,gBAAA3H,EAAIyP,IAAuB,EAAE,GAAG9Q,GAAa,GAAG6Q,GAAY,KAAK9O,EAAY,CAAE,IAAI;AAAA,EACrK;AACA;AACA6O,GAAY,cAAcD;AAC1B,SAAStN,GAAsBxC,GAAO;AACpC,SAAOA,MAAU,MAAMA,MAAU;AACnC;AACA,IAAIc,KAAexB,EAAM;AAAA,EACvB,CAAClB,GAAO8C,MAAiB;AACvB,UAAM,EAAE,OAAAlB,GAAO,GAAGkQ,EAAW,IAAK9R,GAC5B+R,IAAM7Q,EAAM,OAAO,IAAI,GACvBgC,IAAeC,EAAgBL,GAAciP,CAAG,GAChDC,IAAYC,GAAYrQ,CAAK;AACnC,WAAAV,EAAM,UAAU,MAAM;AACpB,YAAMgR,IAASH,EAAI,SACbI,IAAc,OAAO,kBAAkB,WAKvCtQ,IAJa,OAAO;AAAA,QACxBsQ;AAAA,QACA;AAAA,MACD,EAC2B;AAC5B,UAAIH,MAAcpQ,KAASC,GAAU;AACnC,cAAMc,IAAQ,IAAI,MAAM,UAAU,EAAE,SAAS,IAAM;AACnD,QAAAd,EAAS,KAAKqQ,GAAQtQ,CAAK,GAC3BsQ,EAAO,cAAcvP,CAAK;AAAA,MAClC;AAAA,IACA,GAAO,CAACqP,GAAWpQ,CAAK,CAAC,GACE,gBAAAQ,EAAIgQ,IAAgB,EAAE,SAAS,IAAM,UAA0B,gBAAAhQ,EAAI,UAAU,EAAE,GAAG0P,GAAa,KAAK5O,GAAc,cAActB,EAAO,CAAA,GAAG;AAAA,EACrK;AACA;AACAc,GAAa,cAAc;AAC3B,SAASe,GAAmB4O,GAAgB;AAC1C,QAAMC,IAAqBC,GAAeF,CAAc,GAClD/O,IAAYpC,EAAM,OAAO,EAAE,GAC3BsR,IAAWtR,EAAM,OAAO,CAAC,GACzBqC,IAAwBrC,EAAM;AAAA,IAClC,CAACuR,MAAQ;AACP,YAAM/O,IAASJ,EAAU,UAAUmP;AACnC,MAAAH,EAAmB5O,CAAM,GACxB,SAASgP,EAAa9Q,GAAO;AAC5B,QAAA0B,EAAU,UAAU1B,GACpB,OAAO,aAAa4Q,EAAS,OAAO,GAChC5Q,MAAU,OAAI4Q,EAAS,UAAU,OAAO,WAAW,MAAME,EAAa,EAAE,GAAG,GAAG;AAAA,MACnF,EAAEhP,CAAM;AAAA,IACV;AAAA,IACD,CAAC4O,CAAkB;AAAA,EACpB,GACK9O,IAAiBtC,EAAM,YAAY,MAAM;AAC7C,IAAAoC,EAAU,UAAU,IACpB,OAAO,aAAakP,EAAS,OAAO;AAAA,EACrC,GAAE,EAAE;AACL,SAAAtR,EAAM,UAAU,MACP,MAAM,OAAO,aAAasR,EAAS,OAAO,GAChD,EAAE,GACE,CAAClP,GAAWC,GAAuBC,CAAc;AAC1D;AACA,SAASO,GAAaqH,GAAO1H,GAAQG,GAAa;AAEhD,QAAM8O,IADajP,EAAO,SAAS,KAAK,MAAM,KAAKA,CAAM,EAAE,MAAM,CAACkP,MAASA,MAASlP,EAAO,CAAC,CAAC,IACvDA,EAAO,CAAC,IAAIA,GAC5CmP,IAAmBhP,IAAcuH,EAAM,QAAQvH,CAAW,IAAI;AACpE,MAAIiP,IAAeC,GAAU3H,GAAO,KAAK,IAAIyH,GAAkB,CAAC,CAAC;AAEjE,EAD2BF,EAAiB,WAAW,MAC/BG,IAAeA,EAAa,OAAO,CAACE,MAAMA,MAAMnP,CAAW;AACnF,QAAMC,IAAWgP,EAAa;AAAA,IAC5B,CAAClP,MAASA,EAAK,UAAU,YAAW,EAAG,WAAW+O,EAAiB,YAAa,CAAA;AAAA,EACjF;AACD,SAAO7O,MAAaD,IAAcC,IAAW;AAC/C;AACA,SAASiP,GAAUE,GAAOC,GAAY;AACpC,SAAOD,EAAM,IAAI,CAACE,GAAGC,MAAUH,GAAOC,IAAaE,KAASH,EAAM,MAAM,CAAC;AAC3E;AACG,IAACI,KAAQtT,IACRuT,KAAUzQ,IACV0Q,KAAQ9O,IACR+O,KAAOrO,IACPsO,KAASnO,IACToO,KAAWjO,IACXkO,KAAWvG,IAGXwG,KAAO/E,IACPgF,KAAWpE,IACXqE,KAAgB1D,IAChB2D,KAAiBxD,IACjByD,KAAmBlD;","x_google_ignoreList":[0]}
@@ -1,13 +1,13 @@
1
- import c from "./index.es49.js";
1
+ import o from "./index.es50.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
5
5
  * This source code is licensed under the ISC license.
6
6
  * See the LICENSE file in the root directory of this source tree.
7
7
  */
8
- const e = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]], t = c("Check", e);
8
+ const e = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]], r = o("ChevronDown", e);
9
9
  export {
10
10
  e as __iconNode,
11
- t as default
11
+ r as default
12
12
  };
13
13
  //# sourceMappingURL=index.es39.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es39.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/check.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 = [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]];\nconst Check = createLucideIcon(\"Check\", __iconNode);\n\nexport { __iconNode, Check as default };\n//# sourceMappingURL=check.js.map\n"],"names":["__iconNode","Check","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,MAACA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,mBAAmB,KAAK,UAAU,CAAC,GAC/DC,IAAQC,EAAiB,SAASF,CAAU;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es39.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/chevron-down.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 = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"ChevronDown\", __iconNode);\n\nexport { __iconNode, ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n"],"names":["__iconNode","ChevronDown","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,MAACA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,gBAAgB,KAAK,UAAU,CAAC,GAC5DC,IAAcC,EAAiB,eAAeF,CAAU;","x_google_ignoreList":[0]}
package/dist/index.es4.js CHANGED
@@ -1,80 +1,102 @@
1
- import { jsx as C } from "react/jsx-runtime";
2
- import { createContext as h, useContext as g, useMemo as P, useRef as l } from "react";
3
- import { ajv as R } from "./index.es19.js";
4
- const u = h(void 0), x = ({ children: e }) => {
5
- const r = l(
6
- /* @__PURE__ */ new Map()
7
- ), o = l(/* @__PURE__ */ new Map());
8
- return /* @__PURE__ */ C(
9
- u.Provider,
1
+ import { jsx as t, jsxs as i } from "react/jsx-runtime";
2
+ import { Input as u } from "./index.es10.js";
3
+ import { InputErrorWrapper as d } from "./index.es11.js";
4
+ import { Label as b } from "./index.es12.js";
5
+ import { cn as h } from "./index.es13.js";
6
+ import { useConstraints as f } from "./index.es8.js";
7
+ import { Button as x } from "./index.es14.js";
8
+ import g from "./index.es16.js";
9
+ const n = ({
10
+ constraintName: o,
11
+ value: s,
12
+ onConstraintChange: m,
13
+ disabled: a,
14
+ error: r,
15
+ onRemoveConstraint: p
16
+ }) => {
17
+ const { getConstraintDefinition: c } = f(), e = c(o);
18
+ return e ? /* @__PURE__ */ t(
19
+ d,
10
20
  {
11
- value: {
12
- constraintDefinitionsMap: r.current,
13
- constraintRenderersMap: o.current
14
- },
15
- children: e
21
+ errorCode: r?.code,
22
+ errorDescription: r?.message,
23
+ showError: !!r,
24
+ children: /* @__PURE__ */ i("div", { children: [
25
+ /* @__PURE__ */ t(b, { className: "mb-2", htmlFor: e.name, children: e.name }),
26
+ /* @__PURE__ */ i("div", { className: "flex items-center gap-2", children: [
27
+ /* @__PURE__ */ t(
28
+ u,
29
+ {
30
+ id: e.name,
31
+ type: "number",
32
+ value: s,
33
+ onChange: (l) => m(Number(l.target.value)),
34
+ disabled: a,
35
+ min: 0,
36
+ className: h({ "border-destructive": r })
37
+ }
38
+ ),
39
+ /* @__PURE__ */ t(
40
+ x,
41
+ {
42
+ type: "button",
43
+ variant: "ghost",
44
+ size: "icon",
45
+ onClick: () => p(),
46
+ children: /* @__PURE__ */ t(g, { className: "size-4" })
47
+ }
48
+ )
49
+ ] }),
50
+ e.description && /* @__PURE__ */ t("div", { className: "mt-2 text-sm text-gray-500", children: e.description })
51
+ ] })
16
52
  }
17
- );
18
- };
19
- function E(e) {
20
- const r = g(u);
21
- if (!r)
22
- throw new Error("usePluginSystem must be used within a PluginsProvider");
23
- const { constraintDefinitionsMap: o, constraintRenderersMap: a } = r;
24
- return P(() => (e.forEach((t) => {
25
- if (t.hooks.registerConstraints && t.hooks.registerConstraints().forEach((i) => {
26
- o.set(i.name, i);
27
- }), t.hooks.registerRenderers) {
28
- const s = t.hooks.registerRenderers();
29
- Object.entries(s).forEach(([i, n]) => {
30
- a.set(i, n);
31
- });
32
- }
33
- }), {
34
- // Check if a plugin with given ID exists
35
- hasPlugin(t) {
36
- return e.some((s) => s.id === t);
53
+ ) : null;
54
+ }, j = n, P = n, O = {
55
+ id: "object-constraints",
56
+ hooks: {
57
+ registerConstraints() {
58
+ return [
59
+ {
60
+ name: "minProperties",
61
+ label: "Min Properties",
62
+ appliesTo: ["object"],
63
+ schema: {
64
+ type: "integer",
65
+ title: "Minimum Properties Constraint",
66
+ description: "The minimum number of properties the object must have",
67
+ examples: [1, 2, 5],
68
+ minimum: 0
69
+ },
70
+ description: "Specifies the minimum number of properties in the object",
71
+ defaultValue: 0
72
+ },
73
+ {
74
+ name: "maxProperties",
75
+ label: "Max Properties",
76
+ appliesTo: ["object"],
77
+ schema: {
78
+ type: "integer",
79
+ title: "Maximum Properties Constraint",
80
+ description: "The maximum number of properties the object can have",
81
+ examples: [5, 10, 20],
82
+ minimum: 0
83
+ },
84
+ description: "Specifies the maximum number of properties in the object",
85
+ defaultValue: 10
86
+ }
87
+ ];
37
88
  },
38
- // Get a plugin by ID
39
- getPlugin(t) {
40
- return e.find((s) => s.id === t);
41
- }
42
- }), [e]);
43
- }
44
- const k = () => {
45
- const e = g(u);
46
- if (!e)
47
- throw new Error("useConstraints must be used within a ConstraintsProvider");
48
- const { constraintDefinitionsMap: r, constraintRenderersMap: o } = e, a = () => Array.from(r.values()), d = (n) => a().filter(
49
- (c) => c.appliesTo.includes(n)
50
- ), t = (n) => r.get(n);
51
- return {
52
- getConstraintDefinitionsForType: d,
53
- getAllDefinitions: a,
54
- getRendererForConstraint: (n) => o.get(n),
55
- getConstraintDefinition: t,
56
- validateConstraintValue: (n, f) => {
57
- const c = t(n);
58
- if (c) {
59
- const v = c.schema, m = R.compile(v);
60
- return m(f) ? { status: "success" } : {
61
- status: "error",
62
- code: "invalid",
63
- message: "Invalid value",
64
- error: m.errors
65
- };
66
- }
89
+ registerRenderers() {
67
90
  return {
68
- status: "error",
69
- code: "constraint-def-missing",
70
- message: "Constraint not found"
91
+ minProperties: j,
92
+ maxProperties: P
71
93
  };
72
94
  }
73
- };
95
+ }
74
96
  };
75
97
  export {
76
- x as PluginsProvider,
77
- k as useConstraints,
78
- E as usePluginSystem
98
+ P as ObjectMaxPropertiesRenderer,
99
+ j as ObjectMinPropertiesRenderer,
100
+ O as default
79
101
  };
80
102
  //# sourceMappingURL=index.es4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es4.js","sources":["../src/packages/constraints/context.tsx"],"sourcesContent":["import { createContext, useContext, useMemo, useRef } from \"react\";\nimport type { PropsWithChildren, ComponentType } from \"react\";\n\nimport type { JSONSchema7 } from \"json-schema\";\nimport { ajv } from \"@/packages/builder/utils\";\nimport type { OperationError } from \"../builder/shared-types\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface ConstraintRendererProps<T = any> {\n value: T;\n onConstraintChange: (newValue: T) => void;\n onRemoveConstraint: () => void;\n constraintName: string;\n // Is this constraint disabled/readonly\n disabled?: boolean;\n error?: OperationError;\n}\n\nexport interface ConstraintDefinition {\n /**\n * The unique identifier for the constraint\n */\n name: keyof JSONSchema7;\n label: string;\n /**\n * Types this constraint applies to.\n */\n appliesTo: string[];\n /**\n * Apply JSON schema principles to the constraint.\n */\n schema: JSONSchema7;\n description?: string;\n defaultValue: unknown;\n}\n\nexport interface Constraint {\n name: ConstraintDefinition[\"name\"];\n value: unknown;\n}\n\nexport interface BaseJSONSchemaPlugin {\n id: string;\n hooks: {\n registerConstraints?: () => ConstraintDefinition[];\n registerRenderers?: () => Record<\n string,\n ComponentType<ConstraintRendererProps>\n >;\n };\n}\n\ninterface ContextState {\n constraintDefinitionsMap: Map<string, ConstraintDefinition>;\n constraintRenderersMap: Map<string, ComponentType<ConstraintRendererProps>>;\n}\n\nconst PluginsContext = createContext<ContextState | undefined>(undefined);\n\nexport const PluginsProvider = ({ children }: PropsWithChildren) => {\n // Store references. If you need to trigger a re-render,\n //use the methods in usePluginSystem hook instead\n const constraintDefinitionsRef = useRef<Map<string, ConstraintDefinition>>(\n new Map(),\n );\n const constraintRenderersRef = useRef<\n Map<string, ComponentType<ConstraintRendererProps>>\n >(new Map());\n\n return (\n <PluginsContext.Provider\n value={{\n constraintDefinitionsMap: constraintDefinitionsRef.current,\n constraintRenderersMap: constraintRenderersRef.current,\n }}\n >\n {children}\n </PluginsContext.Provider>\n );\n};\n\n// The main plugin system hook\nexport function usePluginSystem<TPlugin extends BaseJSONSchemaPlugin>(\n plugins: TPlugin[],\n) {\n const context = useContext(PluginsContext);\n if (!context) {\n throw new Error(\"usePluginSystem must be used within a PluginsProvider\");\n }\n\n const { constraintDefinitionsMap, constraintRenderersMap } = context;\n\n const memoizedPluginValues = useMemo(() => {\n // Register all plugins\n plugins.forEach((plugin) => {\n // Register constraints\n if (plugin.hooks.registerConstraints) {\n const constraints = plugin.hooks.registerConstraints();\n constraints.forEach((constraint) => {\n constraintDefinitionsMap.set(constraint.name, constraint);\n });\n }\n\n // Register renderers\n if (plugin.hooks.registerRenderers) {\n const renderers = plugin.hooks.registerRenderers();\n Object.entries(renderers).forEach(([name, component]) => {\n constraintRenderersMap.set(name, component);\n });\n }\n });\n\n return {\n // Check if a plugin with given ID exists\n hasPlugin(id: string): boolean {\n return plugins.some((plugin) => plugin.id === id);\n },\n\n // Get a plugin by ID\n getPlugin(id: string): BaseJSONSchemaPlugin | undefined {\n return plugins.find((plugin) => plugin.id === id);\n },\n };\n }, [plugins]);\n\n return memoizedPluginValues;\n}\n\nexport const useConstraints = () => {\n const context = useContext(PluginsContext);\n if (!context) {\n throw new Error(\"useConstraints must be used within a ConstraintsProvider\");\n }\n\n const { constraintDefinitionsMap, constraintRenderersMap } = context;\n\n const getAllDefinitions = (): ConstraintDefinition[] => {\n return Array.from(constraintDefinitionsMap.values());\n };\n\n const getConstraintDefinitionsForType = (\n type: string,\n ): ConstraintDefinition[] => {\n const definitions = getAllDefinitions();\n return definitions.filter((definition) =>\n definition.appliesTo.includes(type),\n );\n };\n\n const getConstraintDefinition = (constraintName: string) => {\n return constraintDefinitionsMap.get(constraintName);\n };\n\n const getRendererForConstraint = (constraintName: string) => {\n return constraintRenderersMap.get(constraintName);\n };\n\n const validateConstraintValue = (constraintName: string, value: unknown) => {\n const constraintDefinition = getConstraintDefinition(constraintName);\n\n if (constraintDefinition) {\n const schema = constraintDefinition.schema;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const validate = ajv.compile<any>(schema);\n const valid = validate(value);\n\n if (valid) {\n return { status: \"success\" as const };\n }\n\n const obj = {\n status: \"error\" as const,\n code: \"invalid\" as const,\n message: \"Invalid value\",\n error: validate.errors,\n };\n\n return obj satisfies OperationError;\n }\n\n const obj = {\n status: \"error\" as const,\n code: \"constraint-def-missing\" as const,\n message: \"Constraint not found\",\n };\n\n return obj satisfies OperationError;\n };\n\n return {\n getConstraintDefinitionsForType,\n getAllDefinitions,\n getRendererForConstraint,\n getConstraintDefinition,\n validateConstraintValue,\n };\n};\n"],"names":["PluginsContext","createContext","PluginsProvider","children","constraintDefinitionsRef","useRef","constraintRenderersRef","jsx","usePluginSystem","plugins","context","useContext","constraintDefinitionsMap","constraintRenderersMap","useMemo","plugin","constraint","renderers","name","component","id","useConstraints","getAllDefinitions","getConstraintDefinitionsForType","type","definition","getConstraintDefinition","constraintName","value","constraintDefinition","schema","validate","ajv"],"mappings":";;;AAyDA,MAAMA,IAAiBC,EAAwC,MAAS,GAE3DC,IAAkB,CAAC,EAAE,UAAAC,QAAkC;AAGlE,QAAMC,IAA2BC;AAAA,wBAC3B,IAAI;AAAA,EACV,GACMC,IAAyBD,EAEzB,oBAAA,KAAK;AAGT,SAAA,gBAAAE;AAAA,IAACP,EAAe;AAAA,IAAf;AAAA,MACC,OAAO;AAAA,QACL,0BAA0BI,EAAyB;AAAA,QACnD,wBAAwBE,EAAuB;AAAA,MACjD;AAAA,MAEC,UAAAH;AAAA,IAAA;AAAA,EACH;AAEJ;AAGO,SAASK,EACdC,GACA;AACM,QAAAC,IAAUC,EAAWX,CAAc;AACzC,MAAI,CAACU;AACG,UAAA,IAAI,MAAM,uDAAuD;AAGnE,QAAA,EAAE,0BAAAE,GAA0B,wBAAAC,EAAA,IAA2BH;AAmCtD,SAjCsBI,EAAQ,OAE3BL,EAAA,QAAQ,CAACM,MAAW;AAUtB,QARAA,EAAO,MAAM,uBACKA,EAAO,MAAM,oBAAoB,EACzC,QAAQ,CAACC,MAAe;AACT,MAAAJ,EAAA,IAAII,EAAW,MAAMA,CAAU;AAAA,IAAA,CACzD,GAICD,EAAO,MAAM,mBAAmB;AAC5B,YAAAE,IAAYF,EAAO,MAAM,kBAAkB;AAC1C,aAAA,QAAQE,CAAS,EAAE,QAAQ,CAAC,CAACC,GAAMC,CAAS,MAAM;AAChC,QAAAN,EAAA,IAAIK,GAAMC,CAAS;AAAA,MAAA,CAC3C;AAAA,IAAA;AAAA,EACH,CACD,GAEM;AAAA;AAAA,IAEL,UAAUC,GAAqB;AAC7B,aAAOX,EAAQ,KAAK,CAACM,MAAWA,EAAO,OAAOK,CAAE;AAAA,IAClD;AAAA;AAAA,IAGA,UAAUA,GAA8C;AACtD,aAAOX,EAAQ,KAAK,CAACM,MAAWA,EAAO,OAAOK,CAAE;AAAA,IAAA;AAAA,EAEpD,IACC,CAACX,CAAO,CAAC;AAGd;AAEO,MAAMY,IAAiB,MAAM;AAC5B,QAAAX,IAAUC,EAAWX,CAAc;AACzC,MAAI,CAACU;AACG,UAAA,IAAI,MAAM,0DAA0D;AAGtE,QAAA,EAAE,0BAAAE,GAA0B,wBAAAC,EAAA,IAA2BH,GAEvDY,IAAoB,MACjB,MAAM,KAAKV,EAAyB,OAAA,CAAQ,GAG/CW,IAAkC,CACtCC,MAEoBF,EAAkB,EACnB;AAAA,IAAO,CAACG,MACzBA,EAAW,UAAU,SAASD,CAAI;AAAA,EACpC,GAGIE,IAA0B,CAACC,MACxBf,EAAyB,IAAIe,CAAc;AAuC7C,SAAA;AAAA,IACL,iCAAAJ;AAAA,IACA,mBAAAD;AAAA,IACA,0BAvC+B,CAACK,MACzBd,EAAuB,IAAIc,CAAc;AAAA,IAuChD,yBAAAD;AAAA,IACA,yBArC8B,CAACC,GAAwBC,MAAmB;AACpE,YAAAC,IAAuBH,EAAwBC,CAAc;AAEnE,UAAIE,GAAsB;AACxB,cAAMC,IAASD,EAAqB,QAE9BE,IAAWC,EAAI,QAAaF,CAAM;AAGxC,eAFcC,EAASH,CAAK,IAGnB,EAAE,QAAQ,UAAmB,IAG1B;AAAA,UACV,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,SAAS;AAAA,UACT,OAAOG,EAAS;AAAA,QAClB;AAAA,MAEO;AASF,aANK;AAAA,QACV,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IAGF;AAAA,EAQA;AACF;"}
1
+ {"version":3,"file":"index.es4.js","sources":["../src/packages/plugins/object.tsx"],"sourcesContent":["import { Input } from \"@/components/ui/input\";\nimport { InputErrorWrapper } from \"@/components/input-error\";\nimport { Label } from \"@/components/ui/label\";\nimport { cn } from \"@/lib/utils\";\nimport {\n BaseJSONSchemaPlugin,\n ConstraintRendererProps,\n useConstraints,\n} from \"@/packages/constraints/context\";\nimport { Button } from \"@/components/ui/button\";\nimport { X } from \"lucide-react\";\n\n// Number constraint renderer for minProperties and maxProperties\nconst ObjectNumberConstraintRenderer = ({\n constraintName,\n value,\n onConstraintChange,\n disabled,\n error,\n onRemoveConstraint,\n}: ConstraintRendererProps<number> & { disabled?: boolean }) => {\n const { getConstraintDefinition } = useConstraints();\n const constraintDef = getConstraintDefinition(constraintName);\n\n if (!constraintDef) {\n return null;\n }\n\n return (\n <InputErrorWrapper\n errorCode={error?.code}\n errorDescription={error?.message}\n showError={!!error}\n >\n <div>\n <Label className=\"mb-2\" htmlFor={constraintDef.name}>\n {constraintDef.name}\n </Label>\n <div className=\"flex items-center gap-2\">\n <Input\n id={constraintDef.name}\n type=\"number\"\n value={value}\n onChange={(e) => onConstraintChange(Number(e.target.value))}\n disabled={disabled}\n min={0}\n className={cn({ \"border-destructive\": error })}\n />\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon\"\n onClick={() => onRemoveConstraint()}\n >\n <X className=\"size-4\" />\n </Button>\n </div>\n {constraintDef.description && (\n <div className=\"mt-2 text-sm text-gray-500\">\n {constraintDef.description}\n </div>\n )}\n </div>\n </InputErrorWrapper>\n );\n};\n\n// Export the renderers\nexport const ObjectMinPropertiesRenderer = ObjectNumberConstraintRenderer;\nexport const ObjectMaxPropertiesRenderer = ObjectNumberConstraintRenderer;\n\nconst plugin: BaseJSONSchemaPlugin = {\n id: \"object-constraints\",\n hooks: {\n registerConstraints() {\n return [\n {\n name: \"minProperties\",\n label: \"Min Properties\",\n appliesTo: [\"object\"],\n schema: {\n type: \"integer\",\n title: \"Minimum Properties Constraint\",\n description:\n \"The minimum number of properties the object must have\",\n examples: [1, 2, 5],\n minimum: 0,\n },\n description:\n \"Specifies the minimum number of properties in the object\",\n defaultValue: 0,\n },\n {\n name: \"maxProperties\",\n label: \"Max Properties\",\n appliesTo: [\"object\"],\n schema: {\n type: \"integer\",\n title: \"Maximum Properties Constraint\",\n description: \"The maximum number of properties the object can have\",\n examples: [5, 10, 20],\n minimum: 0,\n },\n description:\n \"Specifies the maximum number of properties in the object\",\n defaultValue: 10,\n },\n ];\n },\n registerRenderers() {\n return {\n minProperties: ObjectMinPropertiesRenderer,\n maxProperties: ObjectMaxPropertiesRenderer,\n };\n },\n },\n};\n\nexport default plugin;\n"],"names":["ObjectNumberConstraintRenderer","constraintName","value","onConstraintChange","disabled","error","onRemoveConstraint","getConstraintDefinition","useConstraints","constraintDef","jsx","InputErrorWrapper","Label","jsxs","Input","e","cn","Button","X","ObjectMinPropertiesRenderer","ObjectMaxPropertiesRenderer","plugin"],"mappings":";;;;;;;;AAaA,MAAMA,IAAiC,CAAC;AAAA,EACtC,gBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,oBAAAC;AACF,MAAgE;AACxD,QAAA,EAAE,yBAAAC,EAAwB,IAAIC,EAAe,GAC7CC,IAAgBF,EAAwBN,CAAc;AAE5D,SAAKQ,IAKH,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWN,GAAO;AAAA,MAClB,kBAAkBA,GAAO;AAAA,MACzB,WAAW,CAAC,CAACA;AAAA,MAEb,4BAAC,OACC,EAAA,UAAA;AAAA,QAAA,gBAAAK,EAACE,KAAM,WAAU,QAAO,SAASH,EAAc,MAC5C,YAAc,KACjB,CAAA;AAAA,QACA,gBAAAI,EAAC,OAAI,EAAA,WAAU,2BACb,UAAA;AAAA,UAAA,gBAAAH;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,IAAIL,EAAc;AAAA,cAClB,MAAK;AAAA,cACL,OAAAP;AAAA,cACA,UAAU,CAACa,MAAMZ,EAAmB,OAAOY,EAAE,OAAO,KAAK,CAAC;AAAA,cAC1D,UAAAX;AAAA,cACA,KAAK;AAAA,cACL,WAAWY,EAAG,EAAE,sBAAsBX,EAAO,CAAA;AAAA,YAAA;AAAA,UAC/C;AAAA,UACA,gBAAAK;AAAA,YAACO;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,SAAS,MAAMX,EAAmB;AAAA,cAElC,UAAA,gBAAAI,EAACQ,GAAE,EAAA,WAAU,SAAS,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACxB,GACF;AAAA,QACCT,EAAc,eACb,gBAAAC,EAAC,SAAI,WAAU,8BACZ,YAAc,YACjB,CAAA;AAAA,MAAA,EAEJ,CAAA;AAAA,IAAA;AAAA,EACF,IAtCO;AAwCX,GAGaS,IAA8BnB,GAC9BoB,IAA8BpB,GAErCqB,IAA+B;AAAA,EACnC,IAAI;AAAA,EACJ,OAAO;AAAA,IACL,sBAAsB;AACb,aAAA;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,WAAW,CAAC,QAAQ;AAAA,UACpB,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aACE;AAAA,YACF,UAAU,CAAC,GAAG,GAAG,CAAC;AAAA,YAClB,SAAS;AAAA,UACX;AAAA,UACA,aACE;AAAA,UACF,cAAc;AAAA,QAChB;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,WAAW,CAAC,QAAQ;AAAA,UACpB,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aAAa;AAAA,YACb,UAAU,CAAC,GAAG,IAAI,EAAE;AAAA,YACpB,SAAS;AAAA,UACX;AAAA,UACA,aACE;AAAA,UACF,cAAc;AAAA,QAAA;AAAA,MAElB;AAAA,IACF;AAAA,IACA,oBAAoB;AACX,aAAA;AAAA,QACL,eAAeF;AAAA,QACf,eAAeC;AAAA,MACjB;AAAA,IAAA;AAAA,EACF;AAEJ;"}
@@ -1,13 +1,13 @@
1
- import o from "./index.es49.js";
1
+ import c from "./index.es50.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
5
5
  * This source code is licensed under the ISC license.
6
6
  * See the LICENSE file in the root directory of this source tree.
7
7
  */
8
- const e = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]], c = o("ChevronUp", e);
8
+ const e = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]], t = c("Check", e);
9
9
  export {
10
10
  e as __iconNode,
11
- c as default
11
+ t as default
12
12
  };
13
13
  //# sourceMappingURL=index.es40.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es40.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/chevron-up.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 = [[\"path\", { d: \"m18 15-6-6-6 6\", key: \"153udz\" }]];\nconst ChevronUp = createLucideIcon(\"ChevronUp\", __iconNode);\n\nexport { __iconNode, ChevronUp as default };\n//# sourceMappingURL=chevron-up.js.map\n"],"names":["__iconNode","ChevronUp","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,MAACA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,kBAAkB,KAAK,UAAU,CAAC,GAC9DC,IAAYC,EAAiB,aAAaF,CAAU;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es40.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/check.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 = [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]];\nconst Check = createLucideIcon(\"Check\", __iconNode);\n\nexport { __iconNode, Check as default };\n//# sourceMappingURL=check.js.map\n"],"names":["__iconNode","Check","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,MAACA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAG,mBAAmB,KAAK,UAAU,CAAC,GAC/DC,IAAQC,EAAiB,SAASF,CAAU;","x_google_ignoreList":[0]}
@@ -1,117 +1,13 @@
1
- import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
- import { Root as l, Content as i, Close as r, Title as d, Description as c, Portal as g, Overlay as f } from "./index.es55.js";
3
- import { cn as o } from "./index.es22.js";
4
- import u from "./index.es30.js";
5
- function D({
6
- ...t
7
- }) {
8
- return /* @__PURE__ */ e(l, { "data-slot": "dialog", ...t });
9
- }
10
- function m({
11
- ...t
12
- }) {
13
- return /* @__PURE__ */ e(g, { "data-slot": "dialog-portal", ...t });
14
- }
15
- function p({
16
- className: t,
17
- ...a
18
- }) {
19
- return /* @__PURE__ */ e(
20
- f,
21
- {
22
- "data-slot": "dialog-overlay",
23
- className: o(
24
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",
25
- t
26
- ),
27
- ...a
28
- }
29
- );
30
- }
31
- function y({
32
- className: t,
33
- children: a,
34
- ...s
35
- }) {
36
- return /* @__PURE__ */ n(m, { "data-slot": "dialog-portal", children: [
37
- /* @__PURE__ */ e(p, {}),
38
- /* @__PURE__ */ n(
39
- i,
40
- {
41
- "data-slot": "dialog-content",
42
- className: o(
43
- "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
44
- t
45
- ),
46
- ...s,
47
- children: [
48
- a,
49
- /* @__PURE__ */ n(r, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [
50
- /* @__PURE__ */ e(u, {}),
51
- /* @__PURE__ */ e("span", { className: "sr-only", children: "Close" })
52
- ] })
53
- ]
54
- }
55
- )
56
- ] });
57
- }
58
- function N({ className: t, ...a }) {
59
- return /* @__PURE__ */ e(
60
- "div",
61
- {
62
- "data-slot": "dialog-header",
63
- className: o("flex flex-col gap-2 text-center sm:text-left", t),
64
- ...a
65
- }
66
- );
67
- }
68
- function z({ className: t, ...a }) {
69
- return /* @__PURE__ */ e(
70
- "div",
71
- {
72
- "data-slot": "dialog-footer",
73
- className: o(
74
- "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
75
- t
76
- ),
77
- ...a
78
- }
79
- );
80
- }
81
- function w({
82
- className: t,
83
- ...a
84
- }) {
85
- return /* @__PURE__ */ e(
86
- d,
87
- {
88
- "data-slot": "dialog-title",
89
- className: o("text-lg leading-none font-semibold", t),
90
- ...a
91
- }
92
- );
93
- }
94
- function k({
95
- className: t,
96
- ...a
97
- }) {
98
- return /* @__PURE__ */ e(
99
- c,
100
- {
101
- "data-slot": "dialog-description",
102
- className: o("text-muted-foreground text-sm", t),
103
- ...a
104
- }
105
- );
106
- }
1
+ import o from "./index.es50.js";
2
+ /**
3
+ * @license lucide-react v0.477.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const e = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]], c = o("ChevronUp", e);
107
9
  export {
108
- D as Dialog,
109
- y as DialogContent,
110
- k as DialogDescription,
111
- z as DialogFooter,
112
- N as DialogHeader,
113
- p as DialogOverlay,
114
- m as DialogPortal,
115
- w as DialogTitle
10
+ e as __iconNode,
11
+ c as default
116
12
  };
117
13
  //# sourceMappingURL=index.es41.js.map