@satoshibits/react-json-schema-builder 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/README.md +260 -0
  2. package/dist/components/depounced-input.d.ts +5 -0
  3. package/dist/components/depounced-input.d.ts.map +1 -0
  4. package/dist/components/input-error.d.ts +11 -0
  5. package/dist/components/input-error.d.ts.map +1 -0
  6. package/dist/components/multi-input.d.ts +10 -0
  7. package/dist/components/multi-input.d.ts.map +1 -0
  8. package/dist/components/ui/alert-dialog.d.ts +15 -0
  9. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  10. package/dist/components/ui/alert.d.ts +10 -0
  11. package/dist/components/ui/alert.d.ts.map +1 -0
  12. package/dist/components/ui/breadcrumb.d.ts +12 -0
  13. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  14. package/dist/components/ui/button.d.ts +11 -0
  15. package/dist/components/ui/button.d.ts.map +1 -0
  16. package/dist/components/ui/dialog.d.ts +14 -0
  17. package/dist/components/ui/dialog.d.ts.map +1 -0
  18. package/dist/components/ui/form.d.ts +25 -0
  19. package/dist/components/ui/form.d.ts.map +1 -0
  20. package/dist/components/ui/input.d.ts +4 -0
  21. package/dist/components/ui/input.d.ts.map +1 -0
  22. package/dist/components/ui/label.d.ts +5 -0
  23. package/dist/components/ui/label.d.ts.map +1 -0
  24. package/dist/components/ui/select.d.ts +14 -0
  25. package/dist/components/ui/select.d.ts.map +1 -0
  26. package/dist/components/ui/separator.d.ts +5 -0
  27. package/dist/components/ui/separator.d.ts.map +1 -0
  28. package/dist/components/ui/switch.d.ts +5 -0
  29. package/dist/components/ui/switch.d.ts.map +1 -0
  30. package/dist/dev.d.ts +3 -0
  31. package/dist/dev.d.ts.map +1 -0
  32. package/dist/index.cjs.js +2 -0
  33. package/dist/index.cjs.js.map +1 -0
  34. package/dist/index.cjs10.js +2 -0
  35. package/dist/index.cjs10.js.map +1 -0
  36. package/dist/index.cjs100.js +2 -0
  37. package/dist/index.cjs100.js.map +1 -0
  38. package/dist/index.cjs101.js +39 -0
  39. package/dist/index.cjs101.js.map +1 -0
  40. package/dist/index.cjs102.js +2 -0
  41. package/dist/index.cjs102.js.map +1 -0
  42. package/dist/index.cjs103.js +2 -0
  43. package/dist/index.cjs103.js.map +1 -0
  44. package/dist/index.cjs104.js +2 -0
  45. package/dist/index.cjs104.js.map +1 -0
  46. package/dist/index.cjs105.js +2 -0
  47. package/dist/index.cjs105.js.map +1 -0
  48. package/dist/index.cjs106.js +2 -0
  49. package/dist/index.cjs106.js.map +1 -0
  50. package/dist/index.cjs107.js +2 -0
  51. package/dist/index.cjs107.js.map +1 -0
  52. package/dist/index.cjs108.js +2 -0
  53. package/dist/index.cjs108.js.map +1 -0
  54. package/dist/index.cjs109.js +2 -0
  55. package/dist/index.cjs109.js.map +1 -0
  56. package/dist/index.cjs11.js +2 -0
  57. package/dist/index.cjs11.js.map +1 -0
  58. package/dist/index.cjs110.js +2 -0
  59. package/dist/index.cjs110.js.map +1 -0
  60. package/dist/index.cjs12.js +2 -0
  61. package/dist/index.cjs12.js.map +1 -0
  62. package/dist/index.cjs13.js +2 -0
  63. package/dist/index.cjs13.js.map +1 -0
  64. package/dist/index.cjs14.js +2 -0
  65. package/dist/index.cjs14.js.map +1 -0
  66. package/dist/index.cjs15.js +2 -0
  67. package/dist/index.cjs15.js.map +1 -0
  68. package/dist/index.cjs16.js +2 -0
  69. package/dist/index.cjs16.js.map +1 -0
  70. package/dist/index.cjs17.js +2 -0
  71. package/dist/index.cjs17.js.map +1 -0
  72. package/dist/index.cjs18.js +2 -0
  73. package/dist/index.cjs18.js.map +1 -0
  74. package/dist/index.cjs19.js +2 -0
  75. package/dist/index.cjs19.js.map +1 -0
  76. package/dist/index.cjs2.js +2 -0
  77. package/dist/index.cjs2.js.map +1 -0
  78. package/dist/index.cjs20.js +2 -0
  79. package/dist/index.cjs20.js.map +1 -0
  80. package/dist/index.cjs21.js +2 -0
  81. package/dist/index.cjs21.js.map +1 -0
  82. package/dist/index.cjs22.js +7 -0
  83. package/dist/index.cjs22.js.map +1 -0
  84. package/dist/index.cjs23.js +7 -0
  85. package/dist/index.cjs23.js.map +1 -0
  86. package/dist/index.cjs24.js +7 -0
  87. package/dist/index.cjs24.js.map +1 -0
  88. package/dist/index.cjs25.js +7 -0
  89. package/dist/index.cjs25.js.map +1 -0
  90. package/dist/index.cjs26.js +7 -0
  91. package/dist/index.cjs26.js.map +1 -0
  92. package/dist/index.cjs27.js +2 -0
  93. package/dist/index.cjs27.js.map +1 -0
  94. package/dist/index.cjs28.js +2 -0
  95. package/dist/index.cjs28.js.map +1 -0
  96. package/dist/index.cjs29.js +2 -0
  97. package/dist/index.cjs29.js.map +1 -0
  98. package/dist/index.cjs3.js +2 -0
  99. package/dist/index.cjs3.js.map +1 -0
  100. package/dist/index.cjs30.js +7 -0
  101. package/dist/index.cjs30.js.map +1 -0
  102. package/dist/index.cjs31.js +2 -0
  103. package/dist/index.cjs31.js.map +1 -0
  104. package/dist/index.cjs32.js +2 -0
  105. package/dist/index.cjs32.js.map +1 -0
  106. package/dist/index.cjs33.js +10 -0
  107. package/dist/index.cjs33.js.map +1 -0
  108. package/dist/index.cjs34.js +24 -0
  109. package/dist/index.cjs34.js.map +1 -0
  110. package/dist/index.cjs35.js +2 -0
  111. package/dist/index.cjs35.js.map +1 -0
  112. package/dist/index.cjs36.js +2 -0
  113. package/dist/index.cjs36.js.map +1 -0
  114. package/dist/index.cjs37.js +2 -0
  115. package/dist/index.cjs37.js.map +1 -0
  116. package/dist/index.cjs38.js +2 -0
  117. package/dist/index.cjs38.js.map +1 -0
  118. package/dist/index.cjs39.js +2 -0
  119. package/dist/index.cjs39.js.map +1 -0
  120. package/dist/index.cjs4.js +2 -0
  121. package/dist/index.cjs4.js.map +1 -0
  122. package/dist/index.cjs40.js +2 -0
  123. package/dist/index.cjs40.js.map +1 -0
  124. package/dist/index.cjs41.js +2 -0
  125. package/dist/index.cjs41.js.map +1 -0
  126. package/dist/index.cjs42.js +2 -0
  127. package/dist/index.cjs42.js.map +1 -0
  128. package/dist/index.cjs43.js +2 -0
  129. package/dist/index.cjs43.js.map +1 -0
  130. package/dist/index.cjs44.js +2 -0
  131. package/dist/index.cjs44.js.map +1 -0
  132. package/dist/index.cjs45.js +2 -0
  133. package/dist/index.cjs45.js.map +1 -0
  134. package/dist/index.cjs46.js +2 -0
  135. package/dist/index.cjs46.js.map +1 -0
  136. package/dist/index.cjs47.js +2 -0
  137. package/dist/index.cjs47.js.map +1 -0
  138. package/dist/index.cjs48.js +7 -0
  139. package/dist/index.cjs48.js.map +1 -0
  140. package/dist/index.cjs49.js +7 -0
  141. package/dist/index.cjs49.js.map +1 -0
  142. package/dist/index.cjs5.js +2 -0
  143. package/dist/index.cjs5.js.map +1 -0
  144. package/dist/index.cjs50.js +7 -0
  145. package/dist/index.cjs50.js.map +1 -0
  146. package/dist/index.cjs51.js +8 -0
  147. package/dist/index.cjs51.js.map +1 -0
  148. package/dist/index.cjs52.js +2 -0
  149. package/dist/index.cjs52.js.map +1 -0
  150. package/dist/index.cjs53.js +2 -0
  151. package/dist/index.cjs53.js.map +1 -0
  152. package/dist/index.cjs54.js +2 -0
  153. package/dist/index.cjs54.js.map +1 -0
  154. package/dist/index.cjs55.js +7 -0
  155. package/dist/index.cjs55.js.map +1 -0
  156. package/dist/index.cjs56.js +7 -0
  157. package/dist/index.cjs56.js.map +1 -0
  158. package/dist/index.cjs57.js +7 -0
  159. package/dist/index.cjs57.js.map +1 -0
  160. package/dist/index.cjs58.js +7 -0
  161. package/dist/index.cjs58.js.map +1 -0
  162. package/dist/index.cjs59.js +2 -0
  163. package/dist/index.cjs59.js.map +1 -0
  164. package/dist/index.cjs6.js +2 -0
  165. package/dist/index.cjs6.js.map +1 -0
  166. package/dist/index.cjs60.js +2 -0
  167. package/dist/index.cjs60.js.map +1 -0
  168. package/dist/index.cjs61.js +6 -0
  169. package/dist/index.cjs61.js.map +1 -0
  170. package/dist/index.cjs62.js +2 -0
  171. package/dist/index.cjs62.js.map +1 -0
  172. package/dist/index.cjs63.js +2 -0
  173. package/dist/index.cjs63.js.map +1 -0
  174. package/dist/index.cjs64.js +2 -0
  175. package/dist/index.cjs64.js.map +1 -0
  176. package/dist/index.cjs65.js +2 -0
  177. package/dist/index.cjs65.js.map +1 -0
  178. package/dist/index.cjs66.js +2 -0
  179. package/dist/index.cjs66.js.map +1 -0
  180. package/dist/index.cjs67.js +2 -0
  181. package/dist/index.cjs67.js.map +1 -0
  182. package/dist/index.cjs68.js +2 -0
  183. package/dist/index.cjs68.js.map +1 -0
  184. package/dist/index.cjs69.js +2 -0
  185. package/dist/index.cjs69.js.map +1 -0
  186. package/dist/index.cjs7.js +2 -0
  187. package/dist/index.cjs7.js.map +1 -0
  188. package/dist/index.cjs70.js +2 -0
  189. package/dist/index.cjs70.js.map +1 -0
  190. package/dist/index.cjs71.js +2 -0
  191. package/dist/index.cjs71.js.map +1 -0
  192. package/dist/index.cjs72.js +2 -0
  193. package/dist/index.cjs72.js.map +1 -0
  194. package/dist/index.cjs73.js +2 -0
  195. package/dist/index.cjs73.js.map +1 -0
  196. package/dist/index.cjs74.js +2 -0
  197. package/dist/index.cjs74.js.map +1 -0
  198. package/dist/index.cjs75.js +2 -0
  199. package/dist/index.cjs75.js.map +1 -0
  200. package/dist/index.cjs76.js +2 -0
  201. package/dist/index.cjs76.js.map +1 -0
  202. package/dist/index.cjs77.js +2 -0
  203. package/dist/index.cjs77.js.map +1 -0
  204. package/dist/index.cjs78.js +2 -0
  205. package/dist/index.cjs78.js.map +1 -0
  206. package/dist/index.cjs79.js +2 -0
  207. package/dist/index.cjs79.js.map +1 -0
  208. package/dist/index.cjs8.js +2 -0
  209. package/dist/index.cjs8.js.map +1 -0
  210. package/dist/index.cjs80.js +2 -0
  211. package/dist/index.cjs80.js.map +1 -0
  212. package/dist/index.cjs81.js +2 -0
  213. package/dist/index.cjs81.js.map +1 -0
  214. package/dist/index.cjs82.js +2 -0
  215. package/dist/index.cjs82.js.map +1 -0
  216. package/dist/index.cjs83.js +2 -0
  217. package/dist/index.cjs83.js.map +1 -0
  218. package/dist/index.cjs84.js +2 -0
  219. package/dist/index.cjs84.js.map +1 -0
  220. package/dist/index.cjs85.js +2 -0
  221. package/dist/index.cjs85.js.map +1 -0
  222. package/dist/index.cjs86.js +2 -0
  223. package/dist/index.cjs86.js.map +1 -0
  224. package/dist/index.cjs87.js +2 -0
  225. package/dist/index.cjs87.js.map +1 -0
  226. package/dist/index.cjs88.js +2 -0
  227. package/dist/index.cjs88.js.map +1 -0
  228. package/dist/index.cjs89.js +2 -0
  229. package/dist/index.cjs89.js.map +1 -0
  230. package/dist/index.cjs9.js +2 -0
  231. package/dist/index.cjs9.js.map +1 -0
  232. package/dist/index.cjs90.js +2 -0
  233. package/dist/index.cjs90.js.map +1 -0
  234. package/dist/index.cjs91.js +2 -0
  235. package/dist/index.cjs91.js.map +1 -0
  236. package/dist/index.cjs92.js +2 -0
  237. package/dist/index.cjs92.js.map +1 -0
  238. package/dist/index.cjs93.js +2 -0
  239. package/dist/index.cjs93.js.map +1 -0
  240. package/dist/index.cjs94.js +2 -0
  241. package/dist/index.cjs94.js.map +1 -0
  242. package/dist/index.cjs95.js +5 -0
  243. package/dist/index.cjs95.js.map +1 -0
  244. package/dist/index.cjs96.js +2 -0
  245. package/dist/index.cjs96.js.map +1 -0
  246. package/dist/index.cjs97.js +2 -0
  247. package/dist/index.cjs97.js.map +1 -0
  248. package/dist/index.cjs98.js +2 -0
  249. package/dist/index.cjs98.js.map +1 -0
  250. package/dist/index.cjs99.js +2 -0
  251. package/dist/index.cjs99.js.map +1 -0
  252. package/dist/index.d.mts +10 -0
  253. package/dist/index.d.mts.map +1 -0
  254. package/dist/index.es.js +31 -0
  255. package/dist/index.es.js.map +1 -0
  256. package/dist/index.es10.js +26 -0
  257. package/dist/index.es10.js.map +1 -0
  258. package/dist/index.es100.js +68 -0
  259. package/dist/index.es100.js.map +1 -0
  260. package/dist/index.es101.js +72 -0
  261. package/dist/index.es101.js.map +1 -0
  262. package/dist/index.es102.js +12 -0
  263. package/dist/index.es102.js.map +1 -0
  264. package/dist/index.es103.js +17 -0
  265. package/dist/index.es103.js.map +1 -0
  266. package/dist/index.es104.js +65 -0
  267. package/dist/index.es104.js.map +1 -0
  268. package/dist/index.es105.js +7 -0
  269. package/dist/index.es105.js.map +1 -0
  270. package/dist/index.es106.js +26 -0
  271. package/dist/index.es106.js.map +1 -0
  272. package/dist/index.es107.js +26 -0
  273. package/dist/index.es107.js.map +1 -0
  274. package/dist/index.es108.js +16 -0
  275. package/dist/index.es108.js.map +1 -0
  276. package/dist/index.es109.js +31 -0
  277. package/dist/index.es109.js.map +1 -0
  278. package/dist/index.es11.js +51 -0
  279. package/dist/index.es11.js.map +1 -0
  280. package/dist/index.es110.js +8 -0
  281. package/dist/index.es110.js.map +1 -0
  282. package/dist/index.es12.js +70 -0
  283. package/dist/index.es12.js.map +1 -0
  284. package/dist/index.es13.js +32 -0
  285. package/dist/index.es13.js.map +1 -0
  286. package/dist/index.es14.js +137 -0
  287. package/dist/index.es14.js.map +1 -0
  288. package/dist/index.es15.js +23 -0
  289. package/dist/index.es15.js.map +1 -0
  290. package/dist/index.es16.js +138 -0
  291. package/dist/index.es16.js.map +1 -0
  292. package/dist/index.es17.js +141 -0
  293. package/dist/index.es17.js.map +1 -0
  294. package/dist/index.es18.js +67 -0
  295. package/dist/index.es18.js.map +1 -0
  296. package/dist/index.es19.js +14 -0
  297. package/dist/index.es19.js.map +1 -0
  298. package/dist/index.es2.js +108 -0
  299. package/dist/index.es2.js.map +1 -0
  300. package/dist/index.es20.js +26 -0
  301. package/dist/index.es20.js.map +1 -0
  302. package/dist/index.es21.js +428 -0
  303. package/dist/index.es21.js.map +1 -0
  304. package/dist/index.es22.js +16 -0
  305. package/dist/index.es22.js.map +1 -0
  306. package/dist/index.es23.js +19 -0
  307. package/dist/index.es23.js.map +1 -0
  308. package/dist/index.es24.js +16 -0
  309. package/dist/index.es24.js.map +1 -0
  310. package/dist/index.es25.js +22 -0
  311. package/dist/index.es25.js.map +1 -0
  312. package/dist/index.es26.js +13 -0
  313. package/dist/index.es26.js.map +1 -0
  314. package/dist/index.es27.js +22 -0
  315. package/dist/index.es27.js.map +1 -0
  316. package/dist/index.es28.js +26 -0
  317. package/dist/index.es28.js.map +1 -0
  318. package/dist/index.es29.js +9 -0
  319. package/dist/index.es29.js.map +1 -0
  320. package/dist/index.es3.js +337 -0
  321. package/dist/index.es3.js.map +1 -0
  322. package/dist/index.es30.js +16 -0
  323. package/dist/index.es30.js.map +1 -0
  324. package/dist/index.es31.js +11 -0
  325. package/dist/index.es31.js.map +1 -0
  326. package/dist/index.es32.js +5 -0
  327. package/dist/index.es32.js.map +1 -0
  328. package/dist/index.es33.js +36 -0
  329. package/dist/index.es33.js.map +1 -0
  330. package/dist/index.es34.js +409 -0
  331. package/dist/index.es34.js.map +1 -0
  332. package/dist/index.es35.js +20 -0
  333. package/dist/index.es35.js.map +1 -0
  334. package/dist/index.es36.js +18 -0
  335. package/dist/index.es36.js.map +1 -0
  336. package/dist/index.es37.js +2480 -0
  337. package/dist/index.es37.js.map +1 -0
  338. package/dist/index.es38.js +44 -0
  339. package/dist/index.es38.js.map +1 -0
  340. package/dist/index.es39.js +36 -0
  341. package/dist/index.es39.js.map +1 -0
  342. package/dist/index.es4.js +80 -0
  343. package/dist/index.es4.js.map +1 -0
  344. package/dist/index.es40.js +119 -0
  345. package/dist/index.es40.js.map +1 -0
  346. package/dist/index.es41.js +117 -0
  347. package/dist/index.es41.js.map +1 -0
  348. package/dist/index.es42.js +59 -0
  349. package/dist/index.es42.js.map +1 -0
  350. package/dist/index.es43.js +27 -0
  351. package/dist/index.es43.js.map +1 -0
  352. package/dist/index.es44.js +48 -0
  353. package/dist/index.es44.js.map +1 -0
  354. package/dist/index.es45.js +89 -0
  355. package/dist/index.es45.js.map +1 -0
  356. package/dist/index.es46.js +63 -0
  357. package/dist/index.es46.js.map +1 -0
  358. package/dist/index.es47.js +835 -0
  359. package/dist/index.es47.js.map +1 -0
  360. package/dist/index.es48.js +13 -0
  361. package/dist/index.es48.js.map +1 -0
  362. package/dist/index.es49.js +13 -0
  363. package/dist/index.es49.js.map +1 -0
  364. package/dist/index.es5.js +106 -0
  365. package/dist/index.es5.js.map +1 -0
  366. package/dist/index.es50.js +13 -0
  367. package/dist/index.es50.js.map +1 -0
  368. package/dist/index.es51.js +126 -0
  369. package/dist/index.es51.js.map +1 -0
  370. package/dist/index.es52.js +66 -0
  371. package/dist/index.es52.js.map +1 -0
  372. package/dist/index.es53.js +5 -0
  373. package/dist/index.es53.js.map +1 -0
  374. package/dist/index.es54.js +5 -0
  375. package/dist/index.es54.js.map +1 -0
  376. package/dist/index.es55.js +24 -0
  377. package/dist/index.es55.js.map +1 -0
  378. package/dist/index.es56.js +12 -0
  379. package/dist/index.es56.js.map +1 -0
  380. package/dist/index.es57.js +41 -0
  381. package/dist/index.es57.js.map +1 -0
  382. package/dist/index.es58.js +21 -0
  383. package/dist/index.es58.js.map +1 -0
  384. package/dist/index.es59.js +11 -0
  385. package/dist/index.es59.js.map +1 -0
  386. package/dist/index.es6.js +61 -0
  387. package/dist/index.es6.js.map +1 -0
  388. package/dist/index.es60.js +8 -0
  389. package/dist/index.es60.js.map +1 -0
  390. package/dist/index.es61.js +258 -0
  391. package/dist/index.es61.js.map +1 -0
  392. package/dist/index.es62.js +25 -0
  393. package/dist/index.es62.js.map +1 -0
  394. package/dist/index.es63.js +7 -0
  395. package/dist/index.es63.js.map +1 -0
  396. package/dist/index.es64.js +10 -0
  397. package/dist/index.es64.js.map +1 -0
  398. package/dist/index.es65.js +49 -0
  399. package/dist/index.es65.js.map +1 -0
  400. package/dist/index.es66.js +30 -0
  401. package/dist/index.es66.js.map +1 -0
  402. package/dist/index.es67.js +69 -0
  403. package/dist/index.es67.js.map +1 -0
  404. package/dist/index.es68.js +11 -0
  405. package/dist/index.es68.js.map +1 -0
  406. package/dist/index.es69.js +128 -0
  407. package/dist/index.es69.js.map +1 -0
  408. package/dist/index.es7.js +59 -0
  409. package/dist/index.es7.js.map +1 -0
  410. package/dist/index.es70.js +18 -0
  411. package/dist/index.es70.js.map +1 -0
  412. package/dist/index.es71.js +137 -0
  413. package/dist/index.es71.js.map +1 -0
  414. package/dist/index.es72.js +14 -0
  415. package/dist/index.es72.js.map +1 -0
  416. package/dist/index.es73.js +219 -0
  417. package/dist/index.es73.js.map +1 -0
  418. package/dist/index.es74.js +16 -0
  419. package/dist/index.es74.js.map +1 -0
  420. package/dist/index.es75.js +36 -0
  421. package/dist/index.es75.js.map +1 -0
  422. package/dist/index.es76.js +11 -0
  423. package/dist/index.es76.js.map +1 -0
  424. package/dist/index.es77.js +33 -0
  425. package/dist/index.es77.js.map +1 -0
  426. package/dist/index.es78.js +7 -0
  427. package/dist/index.es78.js.map +1 -0
  428. package/dist/index.es79.js +9 -0
  429. package/dist/index.es79.js.map +1 -0
  430. package/dist/index.es8.js +170 -0
  431. package/dist/index.es8.js.map +1 -0
  432. package/dist/index.es80.js +31 -0
  433. package/dist/index.es80.js.map +1 -0
  434. package/dist/index.es81.js +53 -0
  435. package/dist/index.es81.js.map +1 -0
  436. package/dist/index.es82.js +12 -0
  437. package/dist/index.es82.js.map +1 -0
  438. package/dist/index.es83.js +28 -0
  439. package/dist/index.es83.js.map +1 -0
  440. package/dist/index.es84.js +71 -0
  441. package/dist/index.es84.js.map +1 -0
  442. package/dist/index.es85.js +15 -0
  443. package/dist/index.es85.js.map +1 -0
  444. package/dist/index.es86.js +208 -0
  445. package/dist/index.es86.js.map +1 -0
  446. package/dist/index.es87.js +25 -0
  447. package/dist/index.es87.js.map +1 -0
  448. package/dist/index.es88.js +396 -0
  449. package/dist/index.es88.js.map +1 -0
  450. package/dist/index.es89.js +28 -0
  451. package/dist/index.es89.js.map +1 -0
  452. package/dist/index.es9.js +6 -0
  453. package/dist/index.es9.js.map +1 -0
  454. package/dist/index.es90.js +32 -0
  455. package/dist/index.es90.js.map +1 -0
  456. package/dist/index.es91.js +8 -0
  457. package/dist/index.es91.js.map +1 -0
  458. package/dist/index.es92.js +8 -0
  459. package/dist/index.es92.js.map +1 -0
  460. package/dist/index.es93.js +6 -0
  461. package/dist/index.es93.js.map +1 -0
  462. package/dist/index.es94.js +27 -0
  463. package/dist/index.es94.js.map +1 -0
  464. package/dist/index.es95.js +113 -0
  465. package/dist/index.es95.js.map +1 -0
  466. package/dist/index.es96.js +19 -0
  467. package/dist/index.es96.js.map +1 -0
  468. package/dist/index.es97.js +526 -0
  469. package/dist/index.es97.js.map +1 -0
  470. package/dist/index.es98.js +130 -0
  471. package/dist/index.es98.js.map +1 -0
  472. package/dist/index.es99.js +132 -0
  473. package/dist/index.es99.js.map +1 -0
  474. package/dist/lib/utils.d.ts +3 -0
  475. package/dist/lib/utils.d.ts.map +1 -0
  476. package/dist/main.d.ts +1 -0
  477. package/dist/main.d.ts.map +1 -0
  478. package/dist/packages/builder/add-dialog.d.ts +88 -0
  479. package/dist/packages/builder/add-dialog.d.ts.map +1 -0
  480. package/dist/packages/builder/context.d.ts +55 -0
  481. package/dist/packages/builder/context.d.ts.map +1 -0
  482. package/dist/packages/builder/context.test.d.ts +2 -0
  483. package/dist/packages/builder/context.test.d.ts.map +1 -0
  484. package/dist/packages/builder/edit-dialog.d.ts +15 -0
  485. package/dist/packages/builder/edit-dialog.d.ts.map +1 -0
  486. package/dist/packages/builder/schema-builder.d.ts +36 -0
  487. package/dist/packages/builder/schema-builder.d.ts.map +1 -0
  488. package/dist/packages/builder/schema-builder.test.d.ts +2 -0
  489. package/dist/packages/builder/schema-builder.test.d.ts.map +1 -0
  490. package/dist/packages/builder/shared-types.d.ts +6 -0
  491. package/dist/packages/builder/shared-types.d.ts.map +1 -0
  492. package/dist/packages/builder/utils.d.ts +19 -0
  493. package/dist/packages/builder/utils.d.ts.map +1 -0
  494. package/dist/packages/constraints/constraint-add.d.ts +10 -0
  495. package/dist/packages/constraints/constraint-add.d.ts.map +1 -0
  496. package/dist/packages/constraints/context.d.ts +63 -0
  497. package/dist/packages/constraints/context.d.ts.map +1 -0
  498. package/dist/packages/constraints/context.test.d.ts +2 -0
  499. package/dist/packages/constraints/context.test.d.ts.map +1 -0
  500. package/dist/packages/plugins/array.d.ts +13 -0
  501. package/dist/packages/plugins/array.d.ts.map +1 -0
  502. package/dist/packages/plugins/number.d.ts +19 -0
  503. package/dist/packages/plugins/number.d.ts.map +1 -0
  504. package/dist/packages/plugins/object.d.ts +10 -0
  505. package/dist/packages/plugins/object.d.ts.map +1 -0
  506. package/dist/packages/plugins/string.d.ts +16 -0
  507. package/dist/packages/plugins/string.d.ts.map +1 -0
  508. package/dist/setupTests.d.ts +1 -0
  509. package/dist/setupTests.d.ts.map +1 -0
  510. package/dist/style.css +1559 -0
  511. package/package.json +119 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es47.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_3e58b7c920cc0a82486eca3902ab2012/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,SAAuBC,gBAAAA,EAAG,IAACC,IAAsB,EAAE,GAAGtB,GAAa,UAA0BuB,gBAAAA,EAAI;AAAA,IAC/F3C;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,QACQwB,gBAAAA,EAAG,IAAClD,GAAW,UAAU,EAAE,OAAOe,GAAe,UAA0BmC,gBAAAA,EAAG;AAAA,UAC5FvC;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,IAAgCO,gBAAAA,EAAI;AAAA,UAClCI;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,SAAyBQ,gBAAAA,MAAI,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,WAAuB7B,gBAAAA,EAAAA,IAAI8B,IAAwB,EAAE,SAAS,IAAM,GAAGnD,GAAa,UAA0BqB,gBAAAA,EAAG;AAAA,MAC/G+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,GACvB3C,gBAAAA,EAAG;AAAA,MACxB+B,EAAU;AAAA,MACV;AAAA,QACE,GAAGU;AAAA,QACH,KAAK3B;AAAA,QACL,OAAO,EAAE,eAAe,OAAQ;AAAA,QAChC,UAAUkB,GAAsBpB,EAAQ,KAAK,IAAoBZ,gBAAAA,MAAI6C,EAAAA,UAAU,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,WAAuBoC,gBAAAA,EAAG,IAAC+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,MACKoC,gBAAAA,EAAAA,IAAImD,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,QACLzD,gBAAAA,MAAI0D,IAAuB,EAAE,OAAO9F,EAAM,eAAe,UAA0BoC,gBAAAA,EAAG,IAAClD,GAAW,MAAM,EAAE,OAAOc,EAAM,eAAe,UAA0BoC,gBAAAA,EAAG,IAAC,OAAO,EAAE,UAAUpC,EAAM,SAAQ,CAAE,EAAG,CAAA,GAAG;AAAA,QAC7N4F;AAAA,MACR,IAAU;AAAA,IACV;AACI,WAAuBxD,gBAAAA,EAAAA,IAAI2D,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,WAAuB5E,gBAAAA,EAAG;AAAA,MACxB0D;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,UAA0BlB,gBAAAA,EAAAA,IAAIgH,IAAc,EAAE,IAAIC,IAAM,gBAAgB,IAAM,UAA0BjH,gBAAAA,EAAG;AAAA,UACzGkH;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,UAA0BP,gBAAAA,EAAG;AAAA,cAC3BmH;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,UAA0BZ,gBAAAA,EAAG;AAAA,kBAC3B4G;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,SAAuBnG,gBAAAA,EAAG;AAAA,IACxB2K;AAAA,IACA;AAAA,MACE,OAAO9M;AAAA,MACP,gBAAA+J;AAAA,MACA,yBAAAE;AAAA,MACA,sBAAsB4C;AAAA,MACtB,UAA0B1K,gBAAAA,EAAG;AAAA,QAC3B;AAAA,QACA;AAAA,UACE,KAAK6H;AAAA,UACL,OAAO;AAAA,YACL,SAAS;AAAA,YACT,eAAe;AAAA,YACf,UAAU;AAAA,YACV,QAAQ2C;AAAA,UACT;AAAA,UACD,UAA0BxK,gBAAAA,EAAG;AAAA,YAC3B+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,SAAuBmC,gBAAAA,EAAG;AAAA,IACxB6K;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,WAAuBoB,gBAAAA,EAAI,KAAC2C,YAAU,EAAE,UAAU;AAAA,MAChC7C,gBAAAA,EAAG;AAAA,QACjB;AAAA,QACA;AAAA,UACE,yBAAyB;AAAA,YACvB,QAAQ;AAAA,UACT;AAAA,UACD,OAAAiL;AAAA,QACV;AAAA,MACO;AAAA,MACejL,gBAAAA,EAAG,IAAClD,GAAW,MAAM,EAAE,OAAOe,GAAe,UAA0BmC,gBAAAA,EAAG;AAAA,QACxF+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,WAAuBH,gBAAAA,EAAG,IAAC6L,IAA4B,EAAE,OAAOhO,GAAe,IAAIoO,GAAS,UAA0BjM,gBAAAA,EAAAA,IAAI+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,WAAuBmC,gBAAAA,MAAI+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,WAAuBQ,gBAAAA,EAAG;AAAA,MACxBuM;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,UAA0BlF,gBAAAA,EAAG;AAAA,UAC3BlD,GAAW;AAAA,UACX;AAAA,YACE,OAAOe;AAAA,YACP,OAAA2B;AAAA,YACA,UAAAhB;AAAA,YACA,WAAAqO;AAAA,YACA,UAA0B7M,gBAAAA,EAAG;AAAA,cAC3B+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,MAAsBkB,gBAAAA,EAAG,IAAC,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,GACnC1N,gBAAAA,EAAI,KAAC2C,YAAU,EAAE,UAAU;AAAA,MAChC7C,gBAAAA,EAAAA,IAAI+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,aAA6BmC,gBAAAA,MAAI+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,IAA8BpO,gBAAAA,EAAG;AAAA,IACtCwO;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,IAAgC3O,gBAAAA,EAAG;AAAA,IACxCwO;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,GACUhB,gBAAAA,EAAG;AAAA,IACxB+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,WAAuBoC,gBAAAA,EAAG,IAAC+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,WAA2B3H,gBAAAA,EAAAA,IAAIyP,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,GACEQ,gBAAAA,EAAAA,IAAIgQ,IAAgB,EAAE,SAAS,IAAM,UAA0BhQ,gBAAAA,MAAI,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]}
@@ -0,0 +1,13 @@
1
+ import o from "./index.es55.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: "m6 9 6 6 6-6", key: "qrunsl" }]], r = o("ChevronDown", e);
9
+ export {
10
+ e as __iconNode,
11
+ r as default
12
+ };
13
+ //# sourceMappingURL=index.es48.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es48.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.0.0/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]}
@@ -0,0 +1,13 @@
1
+ import c from "./index.es55.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: "M20 6 9 17l-5-5", key: "1gmf2c" }]], t = c("Check", e);
9
+ export {
10
+ e as __iconNode,
11
+ t as default
12
+ };
13
+ //# sourceMappingURL=index.es49.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es49.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.0.0/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]}
@@ -0,0 +1,106 @@
1
+ import { j as e } from "./index.es9.js";
2
+ import { Input as f } from "./index.es27.js";
3
+ import { InputErrorWrapper as d } from "./index.es28.js";
4
+ import { Label as l } from "./index.es15.js";
5
+ import { cn as x } from "./index.es29.js";
6
+ import { useConstraints as p } from "./index.es4.js";
7
+ import { Button as h } from "./index.es11.js";
8
+ import { Switch as g } from "./index.es13.js";
9
+ import u from "./index.es30.js";
10
+ const j = ({
11
+ constraintName: s,
12
+ value: n,
13
+ onConstraintChange: i,
14
+ disabled: o,
15
+ error: t,
16
+ onRemoveConstraint: a
17
+ }) => {
18
+ const { getConstraintDefinition: c } = p(), r = c(s);
19
+ return r ? /* @__PURE__ */ e.jsx(
20
+ d,
21
+ {
22
+ errorCode: t?.code,
23
+ errorDescription: t?.message,
24
+ showError: !!t,
25
+ children: /* @__PURE__ */ e.jsxs("div", { children: [
26
+ /* @__PURE__ */ e.jsx(l, { className: "mb-2", htmlFor: r.name, children: r.name }),
27
+ /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
28
+ /* @__PURE__ */ e.jsx(
29
+ f,
30
+ {
31
+ id: r.name,
32
+ type: "number",
33
+ value: n,
34
+ onChange: (m) => i(Number(m.target.value)),
35
+ disabled: o,
36
+ min: 0,
37
+ className: x({ "border-destructive": t })
38
+ }
39
+ ),
40
+ /* @__PURE__ */ e.jsx(
41
+ h,
42
+ {
43
+ type: "button",
44
+ variant: "ghost",
45
+ size: "icon",
46
+ onClick: () => a(),
47
+ children: /* @__PURE__ */ e.jsx(u, { className: "size-4" })
48
+ }
49
+ )
50
+ ] }),
51
+ r.description && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-gray-500", children: r.description })
52
+ ] })
53
+ }
54
+ ) : null;
55
+ }, v = ({
56
+ constraintName: s,
57
+ value: n,
58
+ onConstraintChange: i,
59
+ disabled: o,
60
+ error: t,
61
+ onRemoveConstraint: a
62
+ }) => {
63
+ const { getConstraintDefinition: c } = p(), r = c(s);
64
+ return r ? /* @__PURE__ */ e.jsx(
65
+ d,
66
+ {
67
+ errorCode: t?.code,
68
+ errorDescription: t?.message,
69
+ showError: !!t,
70
+ children: /* @__PURE__ */ e.jsxs("div", { children: [
71
+ /* @__PURE__ */ e.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
72
+ /* @__PURE__ */ e.jsx(l, { htmlFor: r.name, children: r.name }),
73
+ /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
74
+ /* @__PURE__ */ e.jsx(
75
+ g,
76
+ {
77
+ id: r.name,
78
+ checked: n,
79
+ onCheckedChange: (m) => i(m),
80
+ disabled: o,
81
+ className: x({ "border-destructive": t })
82
+ }
83
+ ),
84
+ /* @__PURE__ */ e.jsx(
85
+ h,
86
+ {
87
+ type: "button",
88
+ variant: "ghost",
89
+ size: "icon",
90
+ onClick: () => a(),
91
+ children: /* @__PURE__ */ e.jsx(u, { className: "size-4" })
92
+ }
93
+ )
94
+ ] })
95
+ ] }),
96
+ r.description && /* @__PURE__ */ e.jsx("div", { className: "mt-2 text-sm text-gray-500", children: r.description })
97
+ ] })
98
+ }
99
+ ) : null;
100
+ }, w = j, z = j, E = v;
101
+ export {
102
+ z as ArrayMaxItemsRenderer,
103
+ w as ArrayMinItemsRenderer,
104
+ E as ArrayUniqueItemsRenderer
105
+ };
106
+ //# sourceMappingURL=index.es5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es5.js","sources":["../src/packages/plugins/array.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\";\nimport { Switch } from \"@/components/ui/switch\";\n\n// Generic numeric constraint renderer for arrays (minItems, maxItems)\nconst ArrayNumberConstraintRenderer = ({\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// Boolean constraint renderer for uniqueItems\nconst ArrayBooleanConstraintRenderer = ({\n constraintName,\n value,\n onConstraintChange,\n disabled,\n error,\n onRemoveConstraint,\n}: ConstraintRendererProps<boolean> & { 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 <div className=\"mb-2 flex items-center justify-between\">\n <Label htmlFor={constraintDef.name}>{constraintDef.name}</Label>\n <div className=\"flex items-center gap-2\">\n <Switch\n id={constraintDef.name}\n checked={value}\n onCheckedChange={(checked) => onConstraintChange(checked)}\n disabled={disabled}\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 </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 ArrayMinItemsRenderer = ArrayNumberConstraintRenderer;\nexport const ArrayMaxItemsRenderer = ArrayNumberConstraintRenderer;\nexport const ArrayUniqueItemsRenderer = ArrayBooleanConstraintRenderer;\n\nconst plugin: BaseJSONSchemaPlugin = {\n id: \"array-constraints\",\n hooks: {\n registerConstraints() {\n return [\n {\n name: \"minItems\",\n label: \"Min Items\",\n appliesTo: [\"array\"],\n schema: {\n type: \"integer\",\n title: \"Minimum Items Constraint\",\n description: \"The minimum number of items the array must contain\",\n examples: [1, 2, 5],\n minimum: 0,\n },\n description: \"Specifies the minimum number of items in the array\",\n defaultValue: 0,\n },\n {\n name: \"maxItems\",\n label: \"Max Items\",\n appliesTo: [\"array\"],\n schema: {\n type: \"integer\",\n title: \"Maximum Items Constraint\",\n description: \"The maximum number of items the array can contain\",\n examples: [10, 20, 100],\n minimum: 0,\n },\n description: \"Specifies the maximum number of items in the array\",\n defaultValue: 10,\n },\n {\n name: \"uniqueItems\",\n label: \"Unique Items\",\n appliesTo: [\"array\"],\n schema: {\n type: \"boolean\",\n title: \"Unique Items Constraint\",\n description: \"Whether array items must be unique\",\n },\n description: \"When true, all items in the array must be unique\",\n defaultValue: false,\n },\n ];\n },\n registerRenderers() {\n return {\n minItems: ArrayMinItemsRenderer,\n maxItems: ArrayMaxItemsRenderer,\n uniqueItems: ArrayUniqueItemsRenderer,\n };\n },\n },\n};\n\nexport default plugin;\n"],"names":["ArrayNumberConstraintRenderer","constraintName","value","onConstraintChange","disabled","error","onRemoveConstraint","getConstraintDefinition","useConstraints","constraintDef","jsx","InputErrorWrapper","Label","jsxs","Input","e","cn","Button","X","ArrayBooleanConstraintRenderer","Switch","checked","ArrayMinItemsRenderer","ArrayMaxItemsRenderer","ArrayUniqueItemsRenderer"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import o from "./index.es55.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);
9
+ export {
10
+ e as __iconNode,
11
+ c as default
12
+ };
13
+ //# sourceMappingURL=index.es50.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es50.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.0.0/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]}
@@ -0,0 +1,126 @@
1
+ import * as l from "react";
2
+ import { createContextScope as T } from "./index.es67.js";
3
+ import { useComposedRefs as u } from "./index.es66.js";
4
+ import { createDialogScope as A, Root as O, WarningProvider as j, Content as b, Title as w, Description as M, Close as v, Portal as I, Overlay as L, Trigger as $ } from "./index.es61.js";
5
+ import { composeEventHandlers as F } from "./index.es64.js";
6
+ import { Slottable as G } from "./index.es38.js";
7
+ import { j as i } from "./index.es9.js";
8
+ var f = "AlertDialog", [W, oe] = T(f, [
9
+ A
10
+ ]), s = A(), D = (e) => {
11
+ const { __scopeAlertDialog: o, ...r } = e, t = s(o);
12
+ return /* @__PURE__ */ i.jsx(O, { ...t, ...r, modal: !0 });
13
+ };
14
+ D.displayName = f;
15
+ var Y = "AlertDialogTrigger", q = l.forwardRef(
16
+ (e, o) => {
17
+ const { __scopeAlertDialog: r, ...t } = e, a = s(r);
18
+ return /* @__PURE__ */ i.jsx($, { ...a, ...t, ref: o });
19
+ }
20
+ );
21
+ q.displayName = Y;
22
+ var B = "AlertDialogPortal", m = (e) => {
23
+ const { __scopeAlertDialog: o, ...r } = e, t = s(o);
24
+ return /* @__PURE__ */ i.jsx(I, { ...t, ...r });
25
+ };
26
+ m.displayName = B;
27
+ var H = "AlertDialogOverlay", y = l.forwardRef(
28
+ (e, o) => {
29
+ const { __scopeAlertDialog: r, ...t } = e, a = s(r);
30
+ return /* @__PURE__ */ i.jsx(L, { ...a, ...t, ref: o });
31
+ }
32
+ );
33
+ y.displayName = H;
34
+ var n = "AlertDialogContent", [V, k] = W(n), _ = l.forwardRef(
35
+ (e, o) => {
36
+ const { __scopeAlertDialog: r, children: t, ...a } = e, d = s(r), p = l.useRef(null), S = u(o, p), g = l.useRef(null);
37
+ return /* @__PURE__ */ i.jsx(
38
+ j,
39
+ {
40
+ contentName: n,
41
+ titleName: N,
42
+ docsSlug: "alert-dialog",
43
+ children: /* @__PURE__ */ i.jsx(V, { scope: r, cancelRef: g, children: /* @__PURE__ */ i.jsxs(
44
+ b,
45
+ {
46
+ role: "alertdialog",
47
+ ...d,
48
+ ...a,
49
+ ref: S,
50
+ onOpenAutoFocus: F(a.onOpenAutoFocus, (c) => {
51
+ c.preventDefault(), g.current?.focus({ preventScroll: !0 });
52
+ }),
53
+ onPointerDownOutside: (c) => c.preventDefault(),
54
+ onInteractOutside: (c) => c.preventDefault(),
55
+ children: [
56
+ /* @__PURE__ */ i.jsx(G, { children: t }),
57
+ /* @__PURE__ */ i.jsx(J, { contentRef: p })
58
+ ]
59
+ }
60
+ ) })
61
+ }
62
+ );
63
+ }
64
+ );
65
+ _.displayName = n;
66
+ var N = "AlertDialogTitle", R = l.forwardRef(
67
+ (e, o) => {
68
+ const { __scopeAlertDialog: r, ...t } = e, a = s(r);
69
+ return /* @__PURE__ */ i.jsx(w, { ...a, ...t, ref: o });
70
+ }
71
+ );
72
+ R.displayName = N;
73
+ var x = "AlertDialogDescription", E = l.forwardRef((e, o) => {
74
+ const { __scopeAlertDialog: r, ...t } = e, a = s(r);
75
+ return /* @__PURE__ */ i.jsx(M, { ...a, ...t, ref: o });
76
+ });
77
+ E.displayName = x;
78
+ var z = "AlertDialogAction", h = l.forwardRef(
79
+ (e, o) => {
80
+ const { __scopeAlertDialog: r, ...t } = e, a = s(r);
81
+ return /* @__PURE__ */ i.jsx(v, { ...a, ...t, ref: o });
82
+ }
83
+ );
84
+ h.displayName = z;
85
+ var C = "AlertDialogCancel", P = l.forwardRef(
86
+ (e, o) => {
87
+ const { __scopeAlertDialog: r, ...t } = e, { cancelRef: a } = k(C, r), d = s(r), p = u(o, a);
88
+ return /* @__PURE__ */ i.jsx(v, { ...d, ...t, ref: p });
89
+ }
90
+ );
91
+ P.displayName = C;
92
+ var J = ({ contentRef: e }) => {
93
+ const o = `\`${n}\` requires a description for the component to be accessible for screen reader users.
94
+
95
+ You can add a description to the \`${n}\` by passing a \`${x}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
96
+
97
+ Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${n}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
98
+
99
+ For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;
100
+ return l.useEffect(() => {
101
+ document.getElementById(
102
+ e.current?.getAttribute("aria-describedby")
103
+ ) || console.warn(o);
104
+ }, [o, e]), null;
105
+ }, re = D, te = m, ae = y, ie = _, le = h, se = P, ne = R, ce = E;
106
+ export {
107
+ le as Action,
108
+ D as AlertDialog,
109
+ h as AlertDialogAction,
110
+ P as AlertDialogCancel,
111
+ _ as AlertDialogContent,
112
+ E as AlertDialogDescription,
113
+ y as AlertDialogOverlay,
114
+ m as AlertDialogPortal,
115
+ R as AlertDialogTitle,
116
+ q as AlertDialogTrigger,
117
+ se as Cancel,
118
+ ie as Content,
119
+ ce as Description,
120
+ ae as Overlay,
121
+ te as Portal,
122
+ re as Root,
123
+ ne as Title,
124
+ oe as createAlertDialogScope
125
+ };
126
+ //# sourceMappingURL=index.es51.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es51.js","sources":["../../../node_modules/.pnpm/@radix-ui+react-alert-dialog@1.1.6_@types+react-dom@18.3.5_@types+react@18.3.18__@types_9a42bc5019ce142eedb02e3dad52c0a3/node_modules/@radix-ui/react-alert-dialog/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/alert-dialog/src/alert-dialog.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { createDialogScope } from \"@radix-ui/react-dialog\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Slottable } from \"@radix-ui/react-slot\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar ROOT_NAME = \"AlertDialog\";\nvar [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [\n createDialogScope\n]);\nvar useDialogScope = createDialogScope();\nvar AlertDialog = (props) => {\n const { __scopeAlertDialog, ...alertDialogProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Root, { ...dialogScope, ...alertDialogProps, modal: true });\n};\nAlertDialog.displayName = ROOT_NAME;\nvar TRIGGER_NAME = \"AlertDialogTrigger\";\nvar AlertDialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...triggerProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, { ...dialogScope, ...triggerProps, ref: forwardedRef });\n }\n);\nAlertDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"AlertDialogPortal\";\nvar AlertDialogPortal = (props) => {\n const { __scopeAlertDialog, ...portalProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { ...dialogScope, ...portalProps });\n};\nAlertDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"AlertDialogOverlay\";\nvar AlertDialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...overlayProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, { ...dialogScope, ...overlayProps, ref: forwardedRef });\n }\n);\nAlertDialogOverlay.displayName = OVERLAY_NAME;\nvar CONTENT_NAME = \"AlertDialogContent\";\nvar [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME);\nvar AlertDialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, children, ...contentProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const cancelRef = React.useRef(null);\n return /* @__PURE__ */ jsx(\n DialogPrimitive.WarningProvider,\n {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"alert-dialog\",\n children: /* @__PURE__ */ jsx(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ jsxs(\n DialogPrimitive.Content,\n {\n role: \"alertdialog\",\n ...dialogScope,\n ...contentProps,\n ref: composedRefs,\n onOpenAutoFocus: composeEventHandlers(contentProps.onOpenAutoFocus, (event) => {\n event.preventDefault();\n cancelRef.current?.focus({ preventScroll: true });\n }),\n onPointerDownOutside: (event) => event.preventDefault(),\n onInteractOutside: (event) => event.preventDefault(),\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef })\n ]\n }\n ) })\n }\n );\n }\n);\nAlertDialogContent.displayName = CONTENT_NAME;\nvar TITLE_NAME = \"AlertDialogTitle\";\nvar AlertDialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...titleProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Title, { ...dialogScope, ...titleProps, ref: forwardedRef });\n }\n);\nAlertDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"AlertDialogDescription\";\nvar AlertDialogDescription = React.forwardRef((props, forwardedRef) => {\n const { __scopeAlertDialog, ...descriptionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Description, { ...dialogScope, ...descriptionProps, ref: forwardedRef });\n});\nAlertDialogDescription.displayName = DESCRIPTION_NAME;\nvar ACTION_NAME = \"AlertDialogAction\";\nvar AlertDialogAction = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...actionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...actionProps, ref: forwardedRef });\n }\n);\nAlertDialogAction.displayName = ACTION_NAME;\nvar CANCEL_NAME = \"AlertDialogCancel\";\nvar AlertDialogCancel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...cancelProps } = props;\n const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const ref = useComposedRefs(forwardedRef, cancelRef);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...cancelProps, ref });\n }\n);\nAlertDialogCancel.displayName = CANCEL_NAME;\nvar DescriptionWarning = ({ contentRef }) => {\n const MESSAGE = `\\`${CONTENT_NAME}\\` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the \\`${CONTENT_NAME}\\` by passing a \\`${DESCRIPTION_NAME}\\` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an \\`id\\` and passing the same value to the \\`aria-describedby\\` prop in \\`${CONTENT_NAME}\\`. If the description is confusing or duplicative for sighted users, you can use the \\`@radix-ui/react-visually-hidden\\` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;\n React.useEffect(() => {\n const hasDescription = document.getElementById(\n contentRef.current?.getAttribute(\"aria-describedby\")\n );\n if (!hasDescription) console.warn(MESSAGE);\n }, [MESSAGE, contentRef]);\n return null;\n};\nvar Root2 = AlertDialog;\nvar Trigger2 = AlertDialogTrigger;\nvar Portal2 = AlertDialogPortal;\nvar Overlay2 = AlertDialogOverlay;\nvar Content2 = AlertDialogContent;\nvar Action = AlertDialogAction;\nvar Cancel = AlertDialogCancel;\nvar Title2 = AlertDialogTitle;\nvar Description2 = AlertDialogDescription;\nexport {\n Action,\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n Cancel,\n Content2 as Content,\n Description2 as Description,\n Overlay2 as Overlay,\n Portal2 as Portal,\n Root2 as Root,\n Title2 as Title,\n Trigger2 as Trigger,\n createAlertDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["ROOT_NAME","createAlertDialogContext","createAlertDialogScope","createContextScope","createDialogScope","useDialogScope","AlertDialog","props","__scopeAlertDialog","alertDialogProps","dialogScope","jsx","DialogPrimitive.Root","TRIGGER_NAME","AlertDialogTrigger","React","forwardedRef","triggerProps","DialogPrimitive.Trigger","PORTAL_NAME","AlertDialogPortal","portalProps","DialogPrimitive.Portal","OVERLAY_NAME","AlertDialogOverlay","overlayProps","DialogPrimitive.Overlay","CONTENT_NAME","AlertDialogContentProvider","useAlertDialogContentContext","AlertDialogContent","children","contentProps","contentRef","composedRefs","useComposedRefs","cancelRef","DialogPrimitive.WarningProvider","TITLE_NAME","jsxs","DialogPrimitive.Content","composeEventHandlers","event","Slottable","DescriptionWarning","AlertDialogTitle","titleProps","DialogPrimitive.Title","DESCRIPTION_NAME","AlertDialogDescription","descriptionProps","DialogPrimitive.Description","ACTION_NAME","AlertDialogAction","actionProps","DialogPrimitive.Close","CANCEL_NAME","AlertDialogCancel","cancelProps","ref","MESSAGE","Root2","Portal2","Overlay2","Content2","Action","Cancel","Title2","Description2"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,66 @@
1
+ import { useRef as a, useState as O, useCallback as W, useEffect as q, useMemo as P } from "react";
2
+ function R(u, r, i) {
3
+ var g = this, c = a(null), f = a(0), n = a(null), o = a([]), l = a(), s = a(), D = a(u), m = a(!0);
4
+ D.current = u;
5
+ var h = typeof window < "u", d = !r && r !== 0 && h;
6
+ if (typeof u != "function") throw new TypeError("Expected a function");
7
+ r = +r || 0;
8
+ var F = !!(i = i || {}).leading, E = !("trailing" in i) || !!i.trailing, v = "maxWait" in i, M = "debounceOnServer" in i && !!i.debounceOnServer, x = v ? Math.max(+i.maxWait || 0, r) : null;
9
+ q(function() {
10
+ return m.current = !0, function() {
11
+ m.current = !1;
12
+ };
13
+ }, []);
14
+ var k = P(function() {
15
+ var y = function(e) {
16
+ var t = o.current, b = l.current;
17
+ return o.current = l.current = null, f.current = e, s.current = D.current.apply(b, t);
18
+ }, p = function(e, t) {
19
+ d && cancelAnimationFrame(n.current), n.current = d ? requestAnimationFrame(e) : setTimeout(e, t);
20
+ }, S = function(e) {
21
+ if (!m.current) return !1;
22
+ var t = e - c.current;
23
+ return !c.current || t >= r || t < 0 || v && e - f.current >= x;
24
+ }, T = function(e) {
25
+ return n.current = null, E && o.current ? y(e) : (o.current = l.current = null, s.current);
26
+ }, A = function e() {
27
+ var t = Date.now();
28
+ if (S(t)) return T(t);
29
+ if (m.current) {
30
+ var b = r - (t - c.current), C = v ? Math.min(b, x - (t - f.current)) : b;
31
+ p(e, C);
32
+ }
33
+ }, w = function() {
34
+ if (h || M) {
35
+ var e = Date.now(), t = S(e);
36
+ if (o.current = [].slice.call(arguments), l.current = g, c.current = e, t) {
37
+ if (!n.current && m.current) return f.current = c.current, p(A, r), F ? y(c.current) : s.current;
38
+ if (v) return p(A, r), y(c.current);
39
+ }
40
+ return n.current || p(A, r), s.current;
41
+ }
42
+ };
43
+ return w.cancel = function() {
44
+ n.current && (d ? cancelAnimationFrame(n.current) : clearTimeout(n.current)), f.current = 0, o.current = c.current = l.current = n.current = null;
45
+ }, w.isPending = function() {
46
+ return !!n.current;
47
+ }, w.flush = function() {
48
+ return n.current ? T(Date.now()) : s.current;
49
+ }, w;
50
+ }, [F, v, r, x, E, d, h, M]);
51
+ return k;
52
+ }
53
+ function j(u, r) {
54
+ return u === r;
55
+ }
56
+ function B(u, r, i) {
57
+ var g = j, c = a(u), f = O({})[1], n = R(W(function(l) {
58
+ c.current = l, f({});
59
+ }, [f]), r, i), o = a(u);
60
+ return g(o.current, u) || (n(u), o.current = u), [c.current, n];
61
+ }
62
+ export {
63
+ B as useDebounce,
64
+ R as useDebouncedCallback
65
+ };
66
+ //# sourceMappingURL=index.es52.js.map