@satoshibits/react-json-schema-builder 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/README.md +142 -37
  2. package/dist/index.cjs100.js.map +1 -1
  3. package/dist/index.cjs101.js.map +1 -1
  4. package/dist/index.cjs102.js.map +1 -1
  5. package/dist/index.cjs103.js.map +1 -1
  6. package/dist/index.cjs104.js.map +1 -1
  7. package/dist/index.cjs105.js.map +1 -1
  8. package/dist/index.cjs106.js.map +1 -1
  9. package/dist/index.cjs107.js.map +1 -1
  10. package/dist/index.cjs108.js.map +1 -1
  11. package/dist/index.cjs109.js.map +1 -1
  12. package/dist/index.cjs11.js +1 -1
  13. package/dist/index.cjs12.js +1 -1
  14. package/dist/index.cjs13.js +1 -1
  15. package/dist/index.cjs14.js +1 -1
  16. package/dist/index.cjs15.js +1 -1
  17. package/dist/index.cjs16.js +1 -1
  18. package/dist/index.cjs17.js +1 -1
  19. package/dist/index.cjs18.js +1 -1
  20. package/dist/index.cjs20.js +1 -1
  21. package/dist/index.cjs21.js +1 -1
  22. package/dist/index.cjs22.js +1 -6
  23. package/dist/index.cjs22.js.map +1 -1
  24. package/dist/index.cjs23.js +1 -1
  25. package/dist/index.cjs23.js.map +1 -1
  26. package/dist/index.cjs24.js +1 -1
  27. package/dist/index.cjs24.js.map +1 -1
  28. package/dist/index.cjs25.js +1 -1
  29. package/dist/index.cjs25.js.map +1 -1
  30. package/dist/index.cjs26.js +1 -1
  31. package/dist/index.cjs26.js.map +1 -1
  32. package/dist/index.cjs27.js +6 -1
  33. package/dist/index.cjs27.js.map +1 -1
  34. package/dist/index.cjs28.js +1 -1
  35. package/dist/index.cjs28.js.map +1 -1
  36. package/dist/index.cjs29.js +1 -1
  37. package/dist/index.cjs29.js.map +1 -1
  38. package/dist/index.cjs3.js +1 -1
  39. package/dist/index.cjs3.js.map +1 -1
  40. package/dist/index.cjs30.js.map +1 -1
  41. package/dist/index.cjs31.js +1 -1
  42. package/dist/index.cjs31.js.map +1 -1
  43. package/dist/index.cjs33.js +4 -4
  44. package/dist/index.cjs33.js.map +1 -1
  45. package/dist/index.cjs34.js +12 -13
  46. package/dist/index.cjs34.js.map +1 -1
  47. package/dist/index.cjs35.js +1 -1
  48. package/dist/index.cjs35.js.map +1 -1
  49. package/dist/index.cjs38.js +1 -1
  50. package/dist/index.cjs38.js.map +1 -1
  51. package/dist/index.cjs40.js +1 -1
  52. package/dist/index.cjs40.js.map +1 -1
  53. package/dist/index.cjs41.js +1 -1
  54. package/dist/index.cjs41.js.map +1 -1
  55. package/dist/index.cjs42.js +6 -1
  56. package/dist/index.cjs42.js.map +1 -1
  57. package/dist/index.cjs43.js +6 -1
  58. package/dist/index.cjs43.js.map +1 -1
  59. package/dist/index.cjs44.js +6 -1
  60. package/dist/index.cjs44.js.map +1 -1
  61. package/dist/index.cjs45.js +1 -1
  62. package/dist/index.cjs45.js.map +1 -1
  63. package/dist/index.cjs46.js +1 -1
  64. package/dist/index.cjs46.js.map +1 -1
  65. package/dist/index.cjs47.js +1 -1
  66. package/dist/index.cjs47.js.map +1 -1
  67. package/dist/index.cjs48.js +1 -6
  68. package/dist/index.cjs48.js.map +1 -1
  69. package/dist/index.cjs49.js +1 -6
  70. package/dist/index.cjs49.js.map +1 -1
  71. package/dist/index.cjs5.js +1 -1
  72. package/dist/index.cjs50.js +1 -6
  73. package/dist/index.cjs50.js.map +1 -1
  74. package/dist/index.cjs51.js +1 -1
  75. package/dist/index.cjs51.js.map +1 -1
  76. package/dist/index.cjs52.js.map +1 -1
  77. package/dist/index.cjs55.js.map +1 -1
  78. package/dist/index.cjs56.js.map +1 -1
  79. package/dist/index.cjs57.js.map +1 -1
  80. package/dist/index.cjs58.js.map +1 -1
  81. package/dist/index.cjs6.js +1 -1
  82. package/dist/index.cjs61.js +1 -1
  83. package/dist/index.cjs61.js.map +1 -1
  84. package/dist/index.cjs62.js +1 -1
  85. package/dist/index.cjs62.js.map +1 -1
  86. package/dist/index.cjs63.js +1 -1
  87. package/dist/index.cjs63.js.map +1 -1
  88. package/dist/index.cjs65.js +1 -1
  89. package/dist/index.cjs65.js.map +1 -1
  90. package/dist/index.cjs66.js +1 -1
  91. package/dist/index.cjs66.js.map +1 -1
  92. package/dist/index.cjs67.js +1 -1
  93. package/dist/index.cjs67.js.map +1 -1
  94. package/dist/index.cjs68.js +1 -1
  95. package/dist/index.cjs68.js.map +1 -1
  96. package/dist/index.cjs69.js +1 -1
  97. package/dist/index.cjs69.js.map +1 -1
  98. package/dist/index.cjs7.js +1 -1
  99. package/dist/index.cjs70.js +1 -1
  100. package/dist/index.cjs70.js.map +1 -1
  101. package/dist/index.cjs71.js +1 -1
  102. package/dist/index.cjs71.js.map +1 -1
  103. package/dist/index.cjs72.js +1 -1
  104. package/dist/index.cjs72.js.map +1 -1
  105. package/dist/index.cjs73.js +1 -1
  106. package/dist/index.cjs73.js.map +1 -1
  107. package/dist/index.cjs74.js +1 -1
  108. package/dist/index.cjs74.js.map +1 -1
  109. package/dist/index.cjs75.js +1 -1
  110. package/dist/index.cjs75.js.map +1 -1
  111. package/dist/index.cjs76.js +1 -1
  112. package/dist/index.cjs76.js.map +1 -1
  113. package/dist/index.cjs77.js +1 -1
  114. package/dist/index.cjs77.js.map +1 -1
  115. package/dist/index.cjs78.js +1 -1
  116. package/dist/index.cjs78.js.map +1 -1
  117. package/dist/index.cjs79.js +1 -1
  118. package/dist/index.cjs79.js.map +1 -1
  119. package/dist/index.cjs8.js +1 -1
  120. package/dist/index.cjs80.js +1 -1
  121. package/dist/index.cjs80.js.map +1 -1
  122. package/dist/index.cjs81.js +1 -1
  123. package/dist/index.cjs81.js.map +1 -1
  124. package/dist/index.cjs82.js +1 -1
  125. package/dist/index.cjs82.js.map +1 -1
  126. package/dist/index.cjs83.js +1 -1
  127. package/dist/index.cjs83.js.map +1 -1
  128. package/dist/index.cjs84.js +1 -1
  129. package/dist/index.cjs84.js.map +1 -1
  130. package/dist/index.cjs85.js +1 -1
  131. package/dist/index.cjs85.js.map +1 -1
  132. package/dist/index.cjs86.js.map +1 -1
  133. package/dist/index.cjs87.js +1 -1
  134. package/dist/index.cjs87.js.map +1 -1
  135. package/dist/index.cjs90.js.map +1 -1
  136. package/dist/index.cjs91.js.map +1 -1
  137. package/dist/index.cjs92.js.map +1 -1
  138. package/dist/index.cjs93.js.map +1 -1
  139. package/dist/index.cjs94.js.map +1 -1
  140. package/dist/index.cjs95.js.map +1 -1
  141. package/dist/index.cjs96.js.map +1 -1
  142. package/dist/index.es100.js.map +1 -1
  143. package/dist/index.es101.js.map +1 -1
  144. package/dist/index.es102.js.map +1 -1
  145. package/dist/index.es103.js.map +1 -1
  146. package/dist/index.es104.js.map +1 -1
  147. package/dist/index.es105.js.map +1 -1
  148. package/dist/index.es106.js.map +1 -1
  149. package/dist/index.es107.js.map +1 -1
  150. package/dist/index.es108.js.map +1 -1
  151. package/dist/index.es109.js.map +1 -1
  152. package/dist/index.es11.js +1 -1
  153. package/dist/index.es12.js +2 -2
  154. package/dist/index.es13.js +1 -1
  155. package/dist/index.es14.js +5 -5
  156. package/dist/index.es15.js +1 -1
  157. package/dist/index.es16.js +5 -5
  158. package/dist/index.es17.js +1 -1
  159. package/dist/index.es18.js +1 -1
  160. package/dist/index.es20.js +1 -1
  161. package/dist/index.es21.js +7 -7
  162. package/dist/index.es22.js +6 -13
  163. package/dist/index.es22.js.map +1 -1
  164. package/dist/index.es23.js +6 -9
  165. package/dist/index.es23.js.map +1 -1
  166. package/dist/index.es24.js +9 -6
  167. package/dist/index.es24.js.map +1 -1
  168. package/dist/index.es25.js +6 -12
  169. package/dist/index.es25.js.map +1 -1
  170. package/dist/index.es26.js +13 -4
  171. package/dist/index.es26.js.map +1 -1
  172. package/dist/index.es27.js +10 -19
  173. package/dist/index.es27.js.map +1 -1
  174. package/dist/index.es28.js +17 -21
  175. package/dist/index.es28.js.map +1 -1
  176. package/dist/index.es29.js +22 -5
  177. package/dist/index.es29.js.map +1 -1
  178. package/dist/index.es3.js +212 -185
  179. package/dist/index.es3.js.map +1 -1
  180. package/dist/index.es30.js.map +1 -1
  181. package/dist/index.es31.js +3 -3
  182. package/dist/index.es31.js.map +1 -1
  183. package/dist/index.es33.js +17 -24
  184. package/dist/index.es33.js.map +1 -1
  185. package/dist/index.es34.js +527 -331
  186. package/dist/index.es34.js.map +1 -1
  187. package/dist/index.es35.js +1 -1
  188. package/dist/index.es35.js.map +1 -1
  189. package/dist/index.es38.js +1 -1
  190. package/dist/index.es38.js.map +1 -1
  191. package/dist/index.es40.js +6 -6
  192. package/dist/index.es40.js.map +1 -1
  193. package/dist/index.es41.js +815 -97
  194. package/dist/index.es41.js.map +1 -1
  195. package/dist/index.es42.js +10 -56
  196. package/dist/index.es42.js.map +1 -1
  197. package/dist/index.es43.js +10 -24
  198. package/dist/index.es43.js.map +1 -1
  199. package/dist/index.es44.js +10 -45
  200. package/dist/index.es44.js.map +1 -1
  201. package/dist/index.es45.js +97 -69
  202. package/dist/index.es45.js.map +1 -1
  203. package/dist/index.es46.js +52 -56
  204. package/dist/index.es46.js.map +1 -1
  205. package/dist/index.es47.js +19 -827
  206. package/dist/index.es47.js.map +1 -1
  207. package/dist/index.es48.js +45 -10
  208. package/dist/index.es48.js.map +1 -1
  209. package/dist/index.es49.js +86 -10
  210. package/dist/index.es49.js.map +1 -1
  211. package/dist/index.es5.js +3 -3
  212. package/dist/index.es50.js +60 -10
  213. package/dist/index.es50.js.map +1 -1
  214. package/dist/index.es51.js +2 -2
  215. package/dist/index.es51.js.map +1 -1
  216. package/dist/index.es52.js.map +1 -1
  217. package/dist/index.es55.js.map +1 -1
  218. package/dist/index.es56.js.map +1 -1
  219. package/dist/index.es57.js.map +1 -1
  220. package/dist/index.es58.js.map +1 -1
  221. package/dist/index.es6.js +3 -3
  222. package/dist/index.es61.js +11 -11
  223. package/dist/index.es61.js.map +1 -1
  224. package/dist/index.es62.js +1 -1
  225. package/dist/index.es62.js.map +1 -1
  226. package/dist/index.es63.js +26 -3
  227. package/dist/index.es63.js.map +1 -1
  228. package/dist/index.es65.js +62 -42
  229. package/dist/index.es65.js.map +1 -1
  230. package/dist/index.es66.js +28 -25
  231. package/dist/index.es66.js.map +1 -1
  232. package/dist/index.es67.js +4 -64
  233. package/dist/index.es67.js.map +1 -1
  234. package/dist/index.es68.js +24 -7
  235. package/dist/index.es68.js.map +1 -1
  236. package/dist/index.es69.js +31 -123
  237. package/dist/index.es69.js.map +1 -1
  238. package/dist/index.es7.js +3 -3
  239. package/dist/index.es70.js +3 -14
  240. package/dist/index.es70.js.map +1 -1
  241. package/dist/index.es71.js +41 -129
  242. package/dist/index.es71.js.map +1 -1
  243. package/dist/index.es72.js +7 -10
  244. package/dist/index.es72.js.map +1 -1
  245. package/dist/index.es73.js +112 -203
  246. package/dist/index.es73.js.map +1 -1
  247. package/dist/index.es74.js +15 -13
  248. package/dist/index.es74.js.map +1 -1
  249. package/dist/index.es75.js +132 -31
  250. package/dist/index.es75.js.map +1 -1
  251. package/dist/index.es76.js +10 -7
  252. package/dist/index.es76.js.map +1 -1
  253. package/dist/index.es77.js +212 -26
  254. package/dist/index.es77.js.map +1 -1
  255. package/dist/index.es78.js +13 -4
  256. package/dist/index.es78.js.map +1 -1
  257. package/dist/index.es79.js +7 -5
  258. package/dist/index.es79.js.map +1 -1
  259. package/dist/index.es8.js +3 -3
  260. package/dist/index.es80.js +3 -27
  261. package/dist/index.es80.js.map +1 -1
  262. package/dist/index.es81.js +28 -50
  263. package/dist/index.es81.js.map +1 -1
  264. package/dist/index.es82.js +50 -9
  265. package/dist/index.es82.js.map +1 -1
  266. package/dist/index.es83.js +9 -25
  267. package/dist/index.es83.js.map +1 -1
  268. package/dist/index.es84.js +2 -2
  269. package/dist/index.es84.js.map +1 -1
  270. package/dist/index.es85.js +1 -1
  271. package/dist/index.es85.js.map +1 -1
  272. package/dist/index.es86.js.map +1 -1
  273. package/dist/index.es87.js +1 -1
  274. package/dist/index.es87.js.map +1 -1
  275. package/dist/index.es90.js.map +1 -1
  276. package/dist/index.es91.js.map +1 -1
  277. package/dist/index.es92.js.map +1 -1
  278. package/dist/index.es93.js.map +1 -1
  279. package/dist/index.es94.js.map +1 -1
  280. package/dist/index.es95.js.map +1 -1
  281. package/dist/index.es96.js.map +1 -1
  282. package/dist/packages/builder/schema-builder.d.ts +20 -1
  283. package/dist/packages/builder/schema-builder.d.ts.map +1 -1
  284. package/dist/style.css +0 -3
  285. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs41.js","sources":["../src/components/ui/dialog.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { XIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content>) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\">\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n"],"names":["Dialog","props","DialogPrimitive.Root","DialogPortal","DialogPrimitive.Portal","DialogOverlay","className","jsx","DialogPrimitive.Overlay","cn","DialogContent","children","jsxs","DialogPrimitive.Content","DialogPrimitive.Close","XIcon","DialogHeader","DialogFooter","DialogTitle","DialogPrimitive.Title","DialogDescription","DialogPrimitive.Description"],"mappings":"6MAMA,SAASA,EAAO,CACd,GAAGC,CACL,EAAsD,CACpD,+BAAQC,EAAAA,KAAA,CAAqB,YAAU,SAAU,GAAGD,EAAO,CAC7D,CAQA,SAASE,EAAa,CACpB,GAAGF,CACL,EAAwD,CACtD,+BAAQG,EAAAA,OAAA,CAAuB,YAAU,gBAAiB,GAAGH,EAAO,CACtE,CAQA,SAASI,EAAc,CACrB,UAAAC,EACA,GAAGL,CACL,EAAyD,CAErD,OAAAM,EAAA,kBAAA,IAACC,EAAgB,QAAhB,CACC,YAAU,iBACV,UAAWC,EAAA,GACT,yJACAH,CACF,EACC,GAAGL,CAAA,CACN,CAEJ,CAEA,SAASS,EAAc,CACrB,UAAAJ,EACA,SAAAK,EACA,GAAGV,CACL,EAAyD,CAErD,OAAAW,EAAA,kBAAA,KAACT,EAAa,CAAA,YAAU,gBACtB,SAAA,CAAAI,EAAA,kBAAA,IAACF,EAAc,EAAA,EACfO,EAAA,kBAAA,KAACC,EAAgB,QAAhB,CACC,YAAU,iBACV,UAAWJ,EAAA,GACT,8WACAH,CACF,EACC,GAAGL,EAEH,SAAA,CAAAU,EACAC,EAAAA,kBAAAA,KAAAE,EAAAA,MAAA,CAAsB,UAAU,oWAC/B,SAAA,CAAAP,EAAA,kBAAA,IAACQ,EAAM,QAAA,EAAA,EACNR,EAAA,kBAAA,IAAA,OAAA,CAAK,UAAU,UAAU,SAAK,OAAA,CAAA,CAAA,CACjC,CAAA,CAAA,CAAA,CAAA,CACF,EACF,CAEJ,CAEA,SAASS,EAAa,CAAE,UAAAV,EAAW,GAAGL,GAAsC,CAExE,OAAAM,EAAA,kBAAA,IAAC,MAAA,CACC,YAAU,gBACV,UAAWE,EAAAA,GAAG,+CAAgDH,CAAS,EACtE,GAAGL,CAAA,CACN,CAEJ,CAEA,SAASgB,EAAa,CAAE,UAAAX,EAAW,GAAGL,GAAsC,CAExE,OAAAM,EAAA,kBAAA,IAAC,MAAA,CACC,YAAU,gBACV,UAAWE,EAAA,GACT,yDACAH,CACF,EACC,GAAGL,CAAA,CACN,CAEJ,CAEA,SAASiB,EAAY,CACnB,UAAAZ,EACA,GAAGL,CACL,EAAuD,CAEnD,OAAAM,EAAA,kBAAA,IAACY,EAAgB,MAAhB,CACC,YAAU,eACV,UAAWV,EAAAA,GAAG,qCAAsCH,CAAS,EAC5D,GAAGL,CAAA,CACN,CAEJ,CAEA,SAASmB,EAAkB,CACzB,UAAAd,EACA,GAAGL,CACL,EAA6D,CAEzD,OAAAM,EAAA,kBAAA,IAACc,EAAgB,YAAhB,CACC,YAAU,qBACV,UAAWZ,EAAAA,GAAG,gCAAiCH,CAAS,EACvD,GAAGL,CAAA,CACN,CAEJ"}
1
+ {"version":3,"file":"index.cjs41.js","sources":["../../../node_modules/.pnpm/@radix-ui+react-select@2.1.6_@types+react-dom@18.3.5_@types+react@18.3.18__@types+react_c56d354b83a56e6a914687c302946fec/node_modules/@radix-ui/react-select/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/select/src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const triggerPointerDownPosRef = React.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ jsxs(\n BubbleSelect,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n }\n );\n }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar SelectContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst = React.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ jsx(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n return /* @__PURE__ */ jsx(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ jsx(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n);\nSelectArrow.displayName = ARROW_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nvar BubbleSelect = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...selectProps } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const select = ref.current;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx(\"select\", { ...selectProps, ref: composedRefs, defaultValue: value }) });\n }\n);\nBubbleSelect.displayName = \"BubbleSelect\";\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef(\"\");\n const timerRef = React.useRef(0);\n const handleTypeaheadSearch = React.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Group,\n Icon,\n Item,\n ItemIndicator,\n ItemText,\n Label,\n Portal,\n Root2 as Root,\n ScrollDownButton,\n ScrollUpButton,\n Select,\n SelectArrow,\n SelectContent,\n SelectGroup,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectPortal,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectViewport,\n Separator,\n Trigger,\n Value,\n Viewport,\n createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["OPEN_KEYS","SELECTION_KEYS","SELECT_NAME","Collection","useCollection","createCollectionScope","createCollection","createSelectContext","createSelectScope","createContextScope","createPopperScope","usePopperScope","SelectProvider","useSelectContext","SelectNativeOptionsProvider","useSelectNativeOptionsContext","Select","props","__scopeSelect","children","openProp","defaultOpen","onOpenChange","valueProp","defaultValue","onValueChange","dir","name","autoComplete","disabled","required","form","popperScope","trigger","setTrigger","React","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","direction","useDirection","open","setOpen","useControllableState","value","setValue","triggerPointerDownPosRef","isFormControl","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","option","jsx","PopperPrimitive.Root","jsxs","useId","prev","optionsSet","BubbleSelect","event","TRIGGER_NAME","SelectTrigger","forwardedRef","triggerProps","context","isDisabled","composedRefs","useComposedRefs","getItems","pointerTypeRef","searchRef","handleTypeaheadSearch","resetTypeahead","useTypeaheadSearch","search","enabledItems","item","currentItem","nextItem","findNextItem","handleOpen","pointerEvent","PopperPrimitive.Anchor","Primitive","shouldShowPlaceholder","composeEventHandlers","target","isTypingAhead","VALUE_NAME","SelectValue","className","style","placeholder","valueProps","onValueNodeHasChildrenChange","hasChildren","useLayoutEffect","Fragment","ICON_NAME","SelectIcon","iconProps","PORTAL_NAME","SelectPortal","PortalPrimitive","CONTENT_NAME","SelectContent","fragment","setFragment","frag","ReactDOM","SelectContentProvider","SelectContentImpl","CONTENT_MARGIN","useSelectContentContext","CONTENT_IMPL_NAME","position","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","side","sideOffset","align","alignOffset","arrowPadding","collisionBoundary","collisionPadding","sticky","hideWhenDetached","avoidCollisions","contentProps","content","setContent","viewport","setViewport","node","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","isPositioned","setIsPositioned","firstValidItemFoundRef","hideOthers","useFocusGuards","focusFirst","candidates","firstItem","restItems","lastItem","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusSelectedItem","pointerMoveDelta","handlePointerMove","handlePointerUp","close","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","SelectPopperPosition","SelectItemAlignedPosition","popperContentProps","RemoveScroll","Slot","FocusScope","DismissableLayer","isModifierKey","candidateNodes","currentElement","currentIndex","ITEM_ALIGNED_POSITION_NAME","onPlaced","popperProps","contentContext","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","triggerRect","contentRect","valueNodeRect","itemTextRect","itemTextOffset","left","leftDelta","minContentWidth","contentWidth","rightEdge","clampedLeft","clamp","right","rightDelta","leftEdge","clampedRight","items","availableHeight","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","contentPaddingBottom","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","itemOffsetMiddle","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","clampedTriggerMiddleToBottomEdge","height","isFirstItem","contentZIndex","setContentZIndex","handleScrollButtonChange","SelectViewportProvider","POPPER_POSITION_NAME","PopperPrimitive.Content","useSelectViewportContext","VIEWPORT_NAME","SelectViewport","nonce","viewportProps","viewportContext","prevScrollTopRef","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","GROUP_NAME","SelectGroupContextProvider","useSelectGroupContext","SelectGroup","groupProps","groupId","LABEL_NAME","SelectLabel","labelProps","groupContext","ITEM_NAME","SelectItemContextProvider","useSelectItemContext","SelectItem","textValueProp","itemProps","isSelected","textValue","setTextValue","isFocused","setIsFocused","textId","handleSelect","prevTextValue","ITEM_TEXT_NAME","SelectItemText","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","textContent","nativeOption","onNativeOptionAdd","onNativeOptionRemove","ITEM_INDICATOR_NAME","SelectItemIndicator","itemIndicatorProps","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","canScrollUp","setCanScrollUp","handleScroll2","canScrollUp2","SelectScrollButtonImpl","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","canScrollDown","setCanScrollDown","maxScroll","canScrollDown2","onAutoScroll","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","SEPARATOR_NAME","SelectSeparator","separatorProps","ARROW_NAME","SelectArrow","arrowProps","PopperPrimitive.Arrow","selectProps","ref","prevValue","usePrevious","select","selectProto","VisuallyHidden","onSearchChange","handleSearchChange","useCallbackRef","timerRef","key","updateSearch","normalizedSearch","char","currentItemIndex","wrappedItems","wrapArray","v","array","startIndex","_","index","Root2","Trigger","Value","Icon","Portal","Content2","Viewport","Item","ItemText","ItemIndicator","ScrollUpButton","ScrollDownButton"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,7 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("./index.cjs9.js"),d=require("react"),s=require("./index.cjs14.js"),m=require("./index.cjs11.js"),j=require("./index.cjs22.js"),p=({availableDefinitions:l,addedConstraints:r,onAdd:u})=>{const[n,a]=d.useState(),c=()=>{if(!n)return;const e=l.find(x=>x.name===n);if(!e)return;const i={name:n,value:e.defaultValue};u([...r,i]),a(void 0)},o=l.filter(e=>!r.some(i=>i.name===e.name));return o.length>0&&t.jsxRuntimeExports.jsxs("div",{className:"flex items-end gap-2",children:[t.jsxRuntimeExports.jsx("div",{className:"flex-1",children:t.jsxRuntimeExports.jsxs(s.Select,{value:n,onValueChange:e=>{a(e)},children:[t.jsxRuntimeExports.jsx(s.SelectTrigger,{className:"w-full","aria-label":"Select constraint",children:t.jsxRuntimeExports.jsx(s.SelectValue,{placeholder:"Select a constraint"})}),t.jsxRuntimeExports.jsx(s.SelectContent,{children:o.map(e=>t.jsxRuntimeExports.jsx(s.SelectItem,{value:e.name,children:e.label},e.name))})]})}),t.jsxRuntimeExports.jsx(m.Button,{type:"button",variant:"outline",size:"icon",onClick:c,disabled:!n,"aria-label":"Add constraint",children:t.jsxRuntimeExports.jsx(j.default,{className:"h-4 w-4"})})]})};exports.default=p;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("./index.cjs55.js");/**
2
+ * @license lucide-react v0.477.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const e=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],t=o.default("ChevronDown",e);exports.__iconNode=e;exports.default=t;
2
7
  //# sourceMappingURL=index.cjs42.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs42.js","sources":["../src/packages/constraints/constraint-add.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { Button } from \"@/components/ui/button\";\nimport { Plus } from \"lucide-react\";\nimport { Constraint, ConstraintDefinition } from \"./context\";\n\ninterface ConstraintsSectionProps {\n /** The available constraints for a specific schema type */\n availableDefinitions: ConstraintDefinition[];\n addedConstraints: Constraint[];\n onAdd: (constraints: Constraint[]) => void;\n}\n\nconst ConstraintsAdd = ({\n availableDefinitions,\n addedConstraints,\n onAdd,\n}: ConstraintsSectionProps) => {\n const [selectedConstraintDefinition, setSelectedConstraintDefinition] =\n useState<Constraint[\"name\"]>();\n\n const handleAddConstraint = () => {\n if (!selectedConstraintDefinition) return;\n\n const definition = availableDefinitions.find(\n (c) => c.name === selectedConstraintDefinition,\n );\n if (!definition) return;\n\n const newConstraint: Constraint = {\n name: selectedConstraintDefinition,\n value: definition.defaultValue,\n };\n\n onAdd([...addedConstraints, newConstraint]);\n setSelectedConstraintDefinition(undefined);\n };\n\n const unusedConstraintDefinitions = availableDefinitions.filter(\n (constraint) => !addedConstraints.some((v) => v.name === constraint.name),\n );\n\n return (\n //Don't render the component if there are no constraints to add\n unusedConstraintDefinitions.length > 0 && (\n <div className=\"flex items-end gap-2\">\n <div className=\"flex-1\">\n <Select\n value={selectedConstraintDefinition}\n onValueChange={(newVal) => {\n setSelectedConstraintDefinition(newVal as Constraint[\"name\"]);\n }}\n >\n <SelectTrigger className=\"w-full\" aria-label=\"Select constraint\">\n <SelectValue placeholder=\"Select a constraint\" />\n </SelectTrigger>\n <SelectContent>\n {unusedConstraintDefinitions.map((constraint) => (\n <SelectItem key={constraint.name} value={constraint.name}>\n {constraint.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"icon\"\n onClick={handleAddConstraint}\n disabled={!selectedConstraintDefinition}\n aria-label=\"Add constraint\"\n >\n <Plus className=\"h-4 w-4\" />\n </Button>\n </div>\n )\n );\n};\n\nexport default ConstraintsAdd;\n"],"names":["ConstraintsAdd","availableDefinitions","addedConstraints","onAdd","selectedConstraintDefinition","setSelectedConstraintDefinition","useState","handleAddConstraint","definition","c","newConstraint","unusedConstraintDefinitions","constraint","v","jsxs","jsx","Select","newVal","SelectTrigger","SelectValue","SelectContent","SelectItem","Button","Plus"],"mappings":"4PAmBMA,EAAiB,CAAC,CACtB,qBAAAC,EACA,iBAAAC,EACA,MAAAC,CACF,IAA+B,CAC7B,KAAM,CAACC,EAA8BC,CAA+B,EAClEC,WAA6B,EAEzBC,EAAsB,IAAM,CAChC,GAAI,CAACH,EAA8B,OAEnC,MAAMI,EAAaP,EAAqB,KACrCQ,GAAMA,EAAE,OAASL,CACpB,EACA,GAAI,CAACI,EAAY,OAEjB,MAAME,EAA4B,CAChC,KAAMN,EACN,MAAOI,EAAW,YACpB,EAEAL,EAAM,CAAC,GAAGD,EAAkBQ,CAAa,CAAC,EAC1CL,EAAgC,MAAS,CAC3C,EAEMM,EAA8BV,EAAqB,OACtDW,GAAe,CAACV,EAAiB,KAAMW,GAAMA,EAAE,OAASD,EAAW,IAAI,CAC1E,EAEA,OAEED,EAA4B,OAAS,GAClCG,EAAA,kBAAA,KAAA,MAAA,CAAI,UAAU,uBACb,SAAA,CAACC,EAAAA,kBAAAA,IAAA,MAAA,CAAI,UAAU,SACb,SAAAD,EAAA,kBAAA,KAACE,EAAA,OAAA,CACC,MAAOZ,EACP,cAAgBa,GAAW,CACzBZ,EAAgCY,CAA4B,CAC9D,EAEA,SAAA,CAACF,EAAAA,kBAAAA,IAAAG,EAAAA,cAAA,CAAc,UAAU,SAAS,aAAW,oBAC3C,SAACH,EAAAA,kBAAAA,IAAAI,EAAAA,YAAA,CAAY,YAAY,qBAAA,CAAsB,CACjD,CAAA,0BACCC,EAAAA,cACE,CAAA,SAAAT,EAA4B,IAAKC,GAC/BG,EAAAA,kBAAAA,IAAAM,EAAA,WAAA,CAAiC,MAAOT,EAAW,KACjD,SAAWA,EAAA,OADGA,EAAW,IAE5B,CACD,CACH,CAAA,CAAA,CAAA,CAAA,EAEJ,EACAG,EAAA,kBAAA,IAACO,EAAA,OAAA,CACC,KAAK,SACL,QAAQ,UACR,KAAK,OACL,QAASf,EACT,SAAU,CAACH,EACX,aAAW,iBAEX,SAAAW,EAAAA,kBAAAA,IAACQ,EAAAA,QAAK,CAAA,UAAU,SAAU,CAAA,CAAA,CAAA,CAC5B,CACF,CAAA,CAGN"}
1
+ {"version":3,"file":"index.cjs42.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/chevron-down.js"],"sourcesContent":["/**\n * @license lucide-react v0.477.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"ChevronDown\", __iconNode);\n\nexport { __iconNode, ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n"],"names":["__iconNode","ChevronDown","createLucideIcon"],"mappings":"gJAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAa,CAAC,CAAC,OAAQ,CAAE,EAAG,eAAgB,IAAK,SAAU,CAAC,EAC5DC,EAAcC,EAAAA,QAAiB,cAAeF,CAAU","x_google_ignoreList":[0]}
@@ -1,2 +1,7 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index.cjs9.js"),i=require("./index.cjs62.js"),n=require("./index.cjs29.js");function l({className:t,orientation:r="horizontal",decorative:o=!0,...a}){return e.jsxRuntimeExports.jsx(i.Root,{"data-slot":"separator-root",decorative:o,orientation:r,className:n.cn("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...a})}exports.Separator=l;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("./index.cjs55.js");/**
2
+ * @license lucide-react v0.477.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const e=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],c=t.default("Check",e);exports.__iconNode=e;exports.default=c;
2
7
  //# sourceMappingURL=index.cjs43.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs43.js","sources":["../src/components/ui/separator.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator-root\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n"],"names":["Separator","className","orientation","decorative","props","jsx","SeparatorPrimitive.Root","cn"],"mappings":"+KAOA,SAASA,EAAU,CACjB,UAAAC,EACA,YAAAC,EAAc,aACd,WAAAC,EAAa,GACb,GAAGC,CACL,EAAyD,CAErD,OAAAC,EAAA,kBAAA,IAACC,EAAmB,KAAnB,CACC,YAAU,iBACV,WAAAH,EACA,YAAAD,EACA,UAAWK,EAAA,GACT,iKACAN,CACF,EACC,GAAGG,CAAA,CACN,CAEJ"}
1
+ {"version":3,"file":"index.cjs43.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/check.js"],"sourcesContent":["/**\n * @license lucide-react v0.477.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]];\nconst Check = createLucideIcon(\"Check\", __iconNode);\n\nexport { __iconNode, Check as default };\n//# sourceMappingURL=check.js.map\n"],"names":["__iconNode","Check","createLucideIcon"],"mappings":"gJAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAa,CAAC,CAAC,OAAQ,CAAE,EAAG,kBAAmB,IAAK,SAAU,CAAC,EAC/DC,EAAQC,EAAAA,QAAiB,QAASF,CAAU","x_google_ignoreList":[0]}
@@ -1,2 +1,7 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@hookform/resolvers"),f=require("react-hook-form");function h(i,u){for(var o={};i.length;){var r=i[0],c=r.code,n=r.message,e=r.path.join(".");if(!o[e])if("unionErrors"in r){var t=r.unionErrors[0].errors[0];o[e]={message:t.message,type:t.code}}else o[e]={message:n,type:c};if("unionErrors"in r&&r.unionErrors.forEach(function(v){return v.errors.forEach(function(d){return i.push(d)})}),u){var s=o[e].types,a=s&&s[r.code];o[e]=f.appendErrors(e,u,o,c,a?[].concat(a,r.message):r.message)}i.shift()}return o}function m(i,u,o){return o===void 0&&(o={}),function(r,c,n){try{return Promise.resolve(function(e,t){try{var s=Promise.resolve(i[o.mode==="sync"?"parse":"parseAsync"](r,u)).then(function(a){return n.shouldUseNativeValidation&&l.validateFieldsNatively({},n),{errors:{},values:o.raw?Object.assign({},r):a}})}catch(a){return t(a)}return s&&s.then?s.then(void 0,t):s}(0,function(e){if(function(t){return Array.isArray(t?.errors)}(e))return{values:{},errors:l.toNestErrors(h(e.errors,!n.shouldUseNativeValidation&&n.criteriaMode==="all"),n)};throw e}))}catch(e){return Promise.reject(e)}}}exports.zodResolver=m;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("./index.cjs55.js");/**
2
+ * @license lucide-react v0.477.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const e=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],t=o.default("ChevronUp",e);exports.__iconNode=e;exports.default=t;
2
7
  //# sourceMappingURL=index.cjs44.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs44.js","sources":["../../../node_modules/.pnpm/@hookform+resolvers@4.1.3_react-hook-form@7.54.2_react@19.0.0_/node_modules/@hookform/resolvers/zod/dist/zod.mjs"],"sourcesContent":["import{validateFieldsNatively as r,toNestErrors as e}from\"@hookform/resolvers\";import{appendErrors as o}from\"react-hook-form\";function n(r,e){for(var n={};r.length;){var s=r[0],t=s.code,i=s.message,a=s.path.join(\".\");if(!n[a])if(\"unionErrors\"in s){var u=s.unionErrors[0].errors[0];n[a]={message:u.message,type:u.code}}else n[a]={message:i,type:t};if(\"unionErrors\"in s&&s.unionErrors.forEach(function(e){return e.errors.forEach(function(e){return r.push(e)})}),e){var c=n[a].types,f=c&&c[s.code];n[a]=o(a,e,n,t,f?[].concat(f,s.message):s.message)}r.shift()}return n}function s(o,s,t){return void 0===t&&(t={}),function(i,a,u){try{return Promise.resolve(function(e,n){try{var a=Promise.resolve(o[\"sync\"===t.mode?\"parse\":\"parseAsync\"](i,s)).then(function(e){return u.shouldUseNativeValidation&&r({},u),{errors:{},values:t.raw?Object.assign({},i):e}})}catch(r){return n(r)}return a&&a.then?a.then(void 0,n):a}(0,function(r){if(function(r){return Array.isArray(null==r?void 0:r.errors)}(r))return{values:{},errors:e(n(r.errors,!u.shouldUseNativeValidation&&\"all\"===u.criteriaMode),u)};throw r}))}catch(r){return Promise.reject(r)}}}export{s as zodResolver};\n//# sourceMappingURL=zod.module.js.map\n"],"names":["n","r","e","s","t","i","a","u","c","f","o"],"mappings":"oJAA8H,SAASA,EAAEC,EAAEC,EAAE,CAAC,QAAQF,EAAE,GAAGC,EAAE,QAAQ,CAAC,IAAIE,EAAEF,EAAE,CAAC,EAAEG,EAAED,EAAE,KAAKE,EAAEF,EAAE,QAAQG,EAAEH,EAAE,KAAK,KAAK,GAAG,EAAE,GAAG,CAACH,EAAEM,CAAC,EAAE,GAAG,gBAAgBH,EAAE,CAAC,IAAII,EAAEJ,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,EAAEH,EAAEM,CAAC,EAAE,CAAC,QAAQC,EAAE,QAAQ,KAAKA,EAAE,IAAI,CAAC,MAAMP,EAAEM,CAAC,EAAE,CAAC,QAAQD,EAAE,KAAKD,CAAC,EAAE,GAAG,gBAAgBD,GAAGA,EAAE,YAAY,QAAQ,SAASD,EAAE,CAAC,OAAOA,EAAE,OAAO,QAAQ,SAASA,EAAE,CAAC,OAAOD,EAAE,KAAKC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEA,EAAE,CAAC,IAAIM,EAAER,EAAEM,CAAC,EAAE,MAAMG,EAAED,GAAGA,EAAEL,EAAE,IAAI,EAAEH,EAAEM,CAAC,EAAEI,EAAAA,aAAEJ,EAAEJ,EAAEF,EAAEI,EAAEK,EAAE,GAAG,OAAOA,EAAEN,EAAE,OAAO,EAAEA,EAAE,OAAO,CAAC,CAACF,EAAE,MAAO,CAAA,CAAC,OAAOD,CAAC,CAAC,SAASG,EAAEO,EAAEP,EAAEC,EAAE,CAAC,OAAgBA,IAAT,SAAaA,EAAE,IAAI,SAASC,EAAEC,EAAEC,EAAE,CAAC,GAAG,CAAC,OAAO,QAAQ,QAAQ,SAAS,EAAEP,EAAE,CAAC,GAAG,CAAC,IAAIM,EAAE,QAAQ,QAAQI,EAAWN,EAAE,OAAX,OAAgB,QAAQ,YAAY,EAAEC,EAAEF,CAAC,CAAC,EAAE,KAAK,SAASD,EAAE,CAAC,OAAOK,EAAE,2BAA2BN,yBAAE,CAAA,EAAGM,CAAC,EAAE,CAAC,OAAO,CAAE,EAAC,OAAOH,EAAE,IAAI,OAAO,OAAO,CAAE,EAACC,CAAC,EAAEH,CAAC,CAAC,CAAC,CAAC,OAAOD,EAAE,CAAC,OAAOD,EAAEC,CAAC,CAAC,CAAC,OAAOK,GAAGA,EAAE,KAAKA,EAAE,KAAK,OAAON,CAAC,EAAEM,CAAC,EAAE,EAAE,SAASL,EAAE,CAAC,GAAG,SAASA,EAAE,CAAC,OAAO,MAAM,QAAuBA,GAAE,MAAM,CAAC,EAAEA,CAAC,EAAE,MAAM,CAAC,OAAO,CAAE,EAAC,OAAOC,EAAC,aAACF,EAAEC,EAAE,OAAO,CAACM,EAAE,2BAAmCA,EAAE,eAAV,KAAsB,EAAEA,CAAC,CAAC,EAAE,MAAMN,CAAC,CAAC,CAAC,CAAC,OAAOA,EAAE,CAAC,OAAO,QAAQ,OAAOA,CAAC,CAAC,CAAC,CAAC","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.cjs44.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/chevron-up.js"],"sourcesContent":["/**\n * @license lucide-react v0.477.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m18 15-6-6-6 6\", key: \"153udz\" }]];\nconst ChevronUp = createLucideIcon(\"ChevronUp\", __iconNode);\n\nexport { __iconNode, ChevronUp as default };\n//# sourceMappingURL=chevron-up.js.map\n"],"names":["__iconNode","ChevronUp","createLucideIcon"],"mappings":"gJAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAa,CAAC,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,SAAU,CAAC,EAC9DC,EAAYC,EAAAA,QAAiB,YAAaF,CAAU","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index.cjs9.js"),f=require("react"),x=require("./index.cjs38.js"),a=require("react-hook-form"),d=require("./index.cjs29.js"),F=require("./index.cjs15.js");function g(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const i=g(f),j=a.FormProvider,u=i.createContext({}),b=({...e})=>n.jsxRuntimeExports.jsx(u.Provider,{value:{name:e.name},children:n.jsxRuntimeExports.jsx(a.Controller,{...e})}),c=()=>{const e=i.useContext(u),t=i.useContext(l),{getFieldState:r}=a.useFormContext(),o=a.useFormState({name:e.name}),s=r(e.name,o);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:m}=t;return{id:m,name:e.name,formItemId:`${m}-form-item`,formDescriptionId:`${m}-form-item-description`,formMessageId:`${m}-form-item-message`,...s}},l=i.createContext({});function p({className:e,...t}){const r=i.useId();return n.jsxRuntimeExports.jsx(l.Provider,{value:{id:r},children:n.jsxRuntimeExports.jsx("div",{"data-slot":"form-item",className:d.cn("grid gap-2",e),...t})})}function I({className:e,...t}){const{error:r,formItemId:o}=c();return n.jsxRuntimeExports.jsx(F.Label,{"data-slot":"form-label","data-error":!!r,className:d.cn("data-[error=true]:text-destructive-foreground",e),htmlFor:o,...t})}function C({...e}){const{error:t,formItemId:r,formDescriptionId:o,formMessageId:s}=c();return n.jsxRuntimeExports.jsx(x.Slot,{"data-slot":"form-control",id:r,"aria-describedby":t?`${o} ${s}`:`${o}`,"aria-invalid":!!t,...e})}function v({className:e,...t}){const{error:r,formMessageId:o}=c(),s=r?String(r?.message??""):t.children;return s?n.jsxRuntimeExports.jsx("p",{"data-slot":"form-message",id:o,className:d.cn("text-destructive-foreground text-sm",e),...t,children:s}):null}exports.Form=j;exports.FormControl=C;exports.FormField=b;exports.FormItem=p;exports.FormLabel=I;exports.FormMessage=v;exports.useFormField=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index.cjs9.js"),o=require("./index.cjs61.js"),s=require("./index.cjs22.js"),r=require("./index.cjs30.js");function d({...t}){return e.jsxRuntimeExports.jsx(o.Root,{"data-slot":"dialog",...t})}function n({...t}){return e.jsxRuntimeExports.jsx(o.Portal,{"data-slot":"dialog-portal",...t})}function i({className:t,...a}){return e.jsxRuntimeExports.jsx(o.Overlay,{"data-slot":"dialog-overlay",className:s.cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",t),...a})}function u({className:t,children:a,...l}){return e.jsxRuntimeExports.jsxs(n,{"data-slot":"dialog-portal",children:[e.jsxRuntimeExports.jsx(i,{}),e.jsxRuntimeExports.jsxs(o.Content,{"data-slot":"dialog-content",className:s.cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",t),...l,children:[a,e.jsxRuntimeExports.jsxs(o.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[e.jsxRuntimeExports.jsx(r.default,{}),e.jsxRuntimeExports.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function c({className:t,...a}){return e.jsxRuntimeExports.jsx("div",{"data-slot":"dialog-header",className:s.cn("flex flex-col gap-2 text-center sm:text-left",t),...a})}function x({className:t,...a}){return e.jsxRuntimeExports.jsx("div",{"data-slot":"dialog-footer",className:s.cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...a})}function g({className:t,...a}){return e.jsxRuntimeExports.jsx(o.Title,{"data-slot":"dialog-title",className:s.cn("text-lg leading-none font-semibold",t),...a})}function m({className:t,...a}){return e.jsxRuntimeExports.jsx(o.Description,{"data-slot":"dialog-description",className:s.cn("text-muted-foreground text-sm",t),...a})}exports.Dialog=d;exports.DialogContent=u;exports.DialogDescription=m;exports.DialogFooter=x;exports.DialogHeader=c;exports.DialogOverlay=i;exports.DialogPortal=n;exports.DialogTitle=g;
2
2
  //# sourceMappingURL=index.cjs45.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs45.js","sources":["../src/components/ui/form.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n Controller,\n FormProvider,\n useFormContext,\n useFormState,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from \"react-hook-form\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Label } from \"@/components/ui/label\";\n\nconst Form = FormProvider;\n\ninterface FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> {\n name: TName;\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue,\n);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\");\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ninterface FormItemContextValue {\n id: string;\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue,\n);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn(\"grid gap-2\", className)}\n {...props}\n />\n </FormItemContext.Provider>\n );\n}\n\nfunction FormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn(\"data-[error=true]:text-destructive-foreground\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n const { error, formMessageId } = useFormField();\n\n const body = error ? String(error?.message ?? \"\") : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn(\"text-destructive-foreground text-sm\", className)}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n};\n"],"names":["Form","FormProvider","FormFieldContext","React","FormField","props","jsx","Controller","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","useFormContext","formState","useFormState","fieldState","id","FormItem","className","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormMessage","body"],"mappings":"uhBAgBMA,EAAOC,EAAAA,aASPC,EAAmBC,EAAM,cAC7B,CAAA,CACF,EAEMC,EAAY,CAGhB,CACA,GAAGC,CACL,IAEKC,EAAAA,kBAAAA,IAAAJ,EAAiB,SAAjB,CAA0B,MAAO,CAAE,KAAMG,EAAM,IAAA,EAC9C,SAAAC,EAAAA,kBAAAA,IAACC,EAAAA,WAAY,CAAA,GAAGF,CAAO,CAAA,EACzB,EAIEG,EAAe,IAAM,CACnB,MAAAC,EAAeN,EAAM,WAAWD,CAAgB,EAChDQ,EAAcP,EAAM,WAAWQ,CAAe,EAC9C,CAAE,cAAAC,CAAc,EAAIC,iBAAe,EACnCC,EAAYC,EAAAA,aAAa,CAAE,KAAMN,EAAa,KAAM,EACpDO,EAAaJ,EAAcH,EAAa,KAAMK,CAAS,EAE7D,GAAI,CAACL,EACG,MAAA,IAAI,MAAM,gDAAgD,EAG5D,KAAA,CAAE,GAAAQ,GAAOP,EAER,MAAA,CACL,GAAAO,EACA,KAAMR,EAAa,KACnB,WAAY,GAAGQ,CAAE,aACjB,kBAAmB,GAAGA,CAAE,yBACxB,cAAe,GAAGA,CAAE,qBACpB,GAAGD,CACL,CACF,EAMML,EAAkBR,EAAM,cAC5B,CAAA,CACF,EAEA,SAASe,EAAS,CAAE,UAAAC,EAAW,GAAGd,GAAsC,CAChE,MAAAY,EAAKd,EAAM,MAAM,EAEvB,+BACGQ,EAAgB,SAAhB,CAAyB,MAAO,CAAE,GAAAM,GACjC,SAAAX,EAAA,kBAAA,IAAC,MAAA,CACC,YAAU,YACV,UAAWc,EAAAA,GAAG,aAAcD,CAAS,EACpC,GAAGd,CAAA,CAAA,EAER,CAEJ,CAEA,SAASgB,EAAU,CACjB,UAAAF,EACA,GAAGd,CACL,EAAqD,CACnD,KAAM,CAAE,MAAAiB,EAAO,WAAAC,CAAW,EAAIf,EAAa,EAGzC,OAAAF,EAAA,kBAAA,IAACkB,EAAA,MAAA,CACC,YAAU,aACV,aAAY,CAAC,CAACF,EACd,UAAWF,EAAAA,GAAG,gDAAiDD,CAAS,EACxE,QAASI,EACR,GAAGlB,CAAA,CACN,CAEJ,CAEA,SAASoB,EAAY,CAAE,GAAGpB,GAA4C,CACpE,KAAM,CAAE,MAAAiB,EAAO,WAAAC,EAAY,kBAAAG,EAAmB,cAAAC,CAAA,EAC5CnB,EAAa,EAGb,OAAAF,EAAA,kBAAA,IAACsB,EAAA,KAAA,CACC,YAAU,eACV,GAAIL,EACJ,mBACGD,EAEG,GAAGI,CAAiB,IAAIC,CAAa,GADrC,GAAGD,CAAiB,GAG1B,eAAc,CAAC,CAACJ,EACf,GAAGjB,CAAA,CACN,CAEJ,CAeA,SAASwB,EAAY,CAAE,UAAAV,EAAW,GAAGd,GAAoC,CACvE,KAAM,CAAE,MAAAiB,EAAO,cAAAK,CAAc,EAAInB,EAAa,EAExCsB,EAAOR,EAAQ,OAAOA,GAAO,SAAW,EAAE,EAAIjB,EAAM,SAE1D,OAAKyB,EAKHxB,EAAA,kBAAA,IAAC,IAAA,CACC,YAAU,eACV,GAAIqB,EACJ,UAAWP,EAAAA,GAAG,sCAAuCD,CAAS,EAC7D,GAAGd,EAEH,SAAAyB,CAAA,CACH,EAXO,IAaX"}
1
+ {"version":3,"file":"index.cjs45.js","sources":["../src/components/ui/dialog.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { XIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content>) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\">\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n"],"names":["Dialog","props","DialogPrimitive.Root","DialogPortal","DialogPrimitive.Portal","DialogOverlay","className","jsx","DialogPrimitive.Overlay","cn","DialogContent","children","jsxs","DialogPrimitive.Content","DialogPrimitive.Close","XIcon","DialogHeader","DialogFooter","DialogTitle","DialogPrimitive.Title","DialogDescription","DialogPrimitive.Description"],"mappings":"6MAMA,SAASA,EAAO,CACd,GAAGC,CACL,EAAsD,CACpD,+BAAQC,EAAAA,KAAA,CAAqB,YAAU,SAAU,GAAGD,EAAO,CAC7D,CAQA,SAASE,EAAa,CACpB,GAAGF,CACL,EAAwD,CACtD,+BAAQG,EAAAA,OAAA,CAAuB,YAAU,gBAAiB,GAAGH,EAAO,CACtE,CAQA,SAASI,EAAc,CACrB,UAAAC,EACA,GAAGL,CACL,EAAyD,CAErD,OAAAM,EAAA,kBAAA,IAACC,EAAgB,QAAhB,CACC,YAAU,iBACV,UAAWC,EAAA,GACT,yJACAH,CACF,EACC,GAAGL,CAAA,CACN,CAEJ,CAEA,SAASS,EAAc,CACrB,UAAAJ,EACA,SAAAK,EACA,GAAGV,CACL,EAAyD,CAErD,OAAAW,EAAA,kBAAA,KAACT,EAAa,CAAA,YAAU,gBACtB,SAAA,CAAAI,EAAA,kBAAA,IAACF,EAAc,EAAA,EACfO,EAAA,kBAAA,KAACC,EAAgB,QAAhB,CACC,YAAU,iBACV,UAAWJ,EAAA,GACT,8WACAH,CACF,EACC,GAAGL,EAEH,SAAA,CAAAU,EACAC,EAAAA,kBAAAA,KAAAE,EAAAA,MAAA,CAAsB,UAAU,oWAC/B,SAAA,CAAAP,EAAA,kBAAA,IAACQ,EAAM,QAAA,EAAA,EACNR,EAAA,kBAAA,IAAA,OAAA,CAAK,UAAU,UAAU,SAAK,OAAA,CAAA,CAAA,CACjC,CAAA,CAAA,CAAA,CAAA,CACF,EACF,CAEJ,CAEA,SAASS,EAAa,CAAE,UAAAV,EAAW,GAAGL,GAAsC,CAExE,OAAAM,EAAA,kBAAA,IAAC,MAAA,CACC,YAAU,gBACV,UAAWE,EAAAA,GAAG,+CAAgDH,CAAS,EACtE,GAAGL,CAAA,CACN,CAEJ,CAEA,SAASgB,EAAa,CAAE,UAAAX,EAAW,GAAGL,GAAsC,CAExE,OAAAM,EAAA,kBAAA,IAAC,MAAA,CACC,YAAU,gBACV,UAAWE,EAAA,GACT,yDACAH,CACF,EACC,GAAGL,CAAA,CACN,CAEJ,CAEA,SAASiB,EAAY,CACnB,UAAAZ,EACA,GAAGL,CACL,EAAuD,CAEnD,OAAAM,EAAA,kBAAA,IAACY,EAAgB,MAAhB,CACC,YAAU,eACV,UAAWV,EAAAA,GAAG,qCAAsCH,CAAS,EAC5D,GAAGL,CAAA,CACN,CAEJ,CAEA,SAASmB,EAAkB,CACzB,UAAAd,EACA,GAAGL,CACL,EAA6D,CAEzD,OAAAM,EAAA,kBAAA,IAACc,EAAgB,YAAhB,CACC,YAAU,qBACV,UAAWZ,EAAAA,GAAG,gCAAiCH,CAAS,EACvD,GAAGL,CAAA,CACN,CAEJ"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("./index.cjs9.js"),d=require("./index.cjs15.js"),j=require("./index.cjs27.js"),E=require("./index.cjs28.js"),u=require("react"),h=require("./index.cjs30.js"),f=({values:t,onAddValue:x,renderValues:s,maxValues:n,onRemoveValue:a,...c})=>{const[o,p]=u.useState(),[l,m]=u.useState();return r.jsxRuntimeExports.jsxs(E.InputErrorWrapper,{errorCode:o,errorDescription:l,showError:!!o,className:"space-y-2",children:[r.jsxRuntimeExports.jsx(d.Label,{children:"Add Input"}),r.jsxRuntimeExports.jsx(j.Input,{...c,onKeyDown:e=>{e.key==="Enter"&&(e.preventDefault(),e.stopPropagation())},onKeyUp:e=>{if(e.key==="Enter"){if(n&&t.length>=n){p("Maximum reached"),m("You have reached the maximum number of values");return}x?.(e.currentTarget.value),e.currentTarget.value=""}}}),s?s():r.jsxRuntimeExports.jsx("div",{className:"space-x-2 flex",children:t.map((e,i)=>r.jsxRuntimeExports.jsxs("div",{className:"flex items-center text-xs border rounded p-1 w-max mt-2",children:[r.jsxRuntimeExports.jsx("span",{children:e}),r.jsxRuntimeExports.jsx("button",{onClick:()=>a(i),children:r.jsxRuntimeExports.jsx(h.default,{size:16})})]},`${i}-${e}`))})]})};exports.default=f;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("./index.cjs9.js"),d=require("react"),s=require("./index.cjs14.js"),m=require("./index.cjs11.js"),j=require("./index.cjs23.js"),p=({availableDefinitions:l,addedConstraints:r,onAdd:u})=>{const[n,a]=d.useState(),c=()=>{if(!n)return;const e=l.find(x=>x.name===n);if(!e)return;const i={name:n,value:e.defaultValue};u([...r,i]),a(void 0)},o=l.filter(e=>!r.some(i=>i.name===e.name));return o.length>0&&t.jsxRuntimeExports.jsxs("div",{className:"flex items-end gap-2",children:[t.jsxRuntimeExports.jsx("div",{className:"flex-1",children:t.jsxRuntimeExports.jsxs(s.Select,{value:n,onValueChange:e=>{a(e)},children:[t.jsxRuntimeExports.jsx(s.SelectTrigger,{className:"w-full","aria-label":"Select constraint",children:t.jsxRuntimeExports.jsx(s.SelectValue,{placeholder:"Select a constraint"})}),t.jsxRuntimeExports.jsx(s.SelectContent,{children:o.map(e=>t.jsxRuntimeExports.jsx(s.SelectItem,{value:e.name,children:e.label},e.name))})]})}),t.jsxRuntimeExports.jsx(m.Button,{type:"button",variant:"outline",size:"icon",onClick:c,disabled:!n,"aria-label":"Add constraint",children:t.jsxRuntimeExports.jsx(j.default,{className:"h-4 w-4"})})]})};exports.default=p;
2
2
  //# sourceMappingURL=index.cjs46.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs46.js","sources":["../src/components/multi-input.tsx"],"sourcesContent":["import { Label } from \"@/components/ui/label\";\nimport { Input } from \"@/components/ui/input\";\nimport { X } from \"lucide-react\";\nimport { InputErrorWrapper } from \"@/components/input-error\";\nimport { useState } from \"react\";\n\ninterface MultiInputProps {\n renderValues?: () => React.ReactNode;\n values: string[];\n onAddValue: (newVal: string) => void;\n onRemoveValue: (index: number) => void;\n maxValues?: number;\n}\n\nconst MultiInput = ({\n values,\n onAddValue,\n renderValues,\n maxValues,\n onRemoveValue,\n ...props\n}: MultiInputProps &\n Omit<React.ComponentProps<\"input\">, \"value\" | \"onChange\">) => {\n const [primaryError, setPrimaryError] = useState<string>();\n const [errorDescription, setErrorDescription] = useState<string>();\n\n return (\n <InputErrorWrapper\n errorCode={primaryError}\n errorDescription={errorDescription}\n showError={!!primaryError}\n className=\"space-y-2\"\n >\n <Label>Add Input</Label>\n <Input\n {...props}\n onKeyDown={(e) => {\n // Prevent form submission on Enter key press\n if (e.key === \"Enter\") {\n e.preventDefault();\n //prevent bubbling up\n e.stopPropagation();\n }\n }}\n onKeyUp={(e) => {\n // Add value on Enter key press\n if (e.key === \"Enter\") {\n if (maxValues && values.length >= maxValues) {\n setPrimaryError(\"Maximum reached\");\n setErrorDescription(\n \"You have reached the maximum number of values\",\n );\n return;\n }\n onAddValue?.(e.currentTarget.value);\n e.currentTarget.value = \"\";\n }\n }}\n />\n {renderValues ? (\n renderValues()\n ) : (\n <div className=\"space-x-2 flex\">\n {values.map((value, i) => (\n <div\n key={`${i}-${value}`}\n className=\"flex items-center text-xs border rounded p-1 w-max mt-2\"\n >\n <span>{value}</span>\n <button onClick={() => onRemoveValue(i)}>\n <X size={16} />\n </button>\n </div>\n ))}\n </div>\n )}\n </InputErrorWrapper>\n );\n};\n\nexport default MultiInput;\n"],"names":["MultiInput","values","onAddValue","renderValues","maxValues","onRemoveValue","props","primaryError","setPrimaryError","useState","errorDescription","setErrorDescription","jsxs","InputErrorWrapper","jsx","Label","Input","value","X"],"mappings":"0RAcMA,EAAa,CAAC,CAClB,OAAAC,EACA,WAAAC,EACA,aAAAC,EACA,UAAAC,EACA,cAAAC,EACA,GAAGC,CACL,IACgE,CAC9D,KAAM,CAACC,EAAcC,CAAe,EAAIC,WAAiB,EACnD,CAACC,EAAkBC,CAAmB,EAAIF,WAAiB,EAG/D,OAAAG,EAAA,kBAAA,KAACC,EAAA,kBAAA,CACC,UAAWN,EACX,iBAAAG,EACA,UAAW,CAAC,CAACH,EACb,UAAU,YAEV,SAAA,CAAAO,EAAAA,kBAAAA,IAACC,SAAM,SAAS,WAAA,CAAA,EAChBD,EAAA,kBAAA,IAACE,EAAA,MAAA,CACE,GAAGV,EACJ,UAAY,GAAM,CAEZ,EAAE,MAAQ,UACZ,EAAE,eAAe,EAEjB,EAAE,gBAAgB,EAEtB,EACA,QAAU,GAAM,CAEV,GAAA,EAAE,MAAQ,QAAS,CACjB,GAAAF,GAAaH,EAAO,QAAUG,EAAW,CAC3CI,EAAgB,iBAAiB,EACjCG,EACE,+CACF,EACA,MAAA,CAEWT,IAAA,EAAE,cAAc,KAAK,EAClC,EAAE,cAAc,MAAQ,EAAA,CAC1B,CACF,CACF,EACCC,EACCA,EAAa,EAEZW,wBAAA,MAAA,CAAI,UAAU,iBACZ,SAAOb,EAAA,IAAI,CAACgB,EAAO,IAClBL,EAAA,kBAAA,KAAC,MAAA,CAEC,UAAU,0DAEV,SAAA,CAAAE,EAAAA,kBAAAA,IAAC,QAAM,SAAMG,CAAA,CAAA,EACbH,EAAAA,kBAAAA,IAAC,SAAO,CAAA,QAAS,IAAMT,EAAc,CAAC,EACpC,SAACS,EAAA,kBAAA,IAAAI,EAAA,QAAA,CAAE,KAAM,EAAI,CAAA,CACf,CAAA,CAAA,CAAA,EANK,GAAG,CAAC,IAAID,CAAK,EAAA,CAQrB,CACH,CAAA,CAAA,CAAA,CAEJ,CAEJ"}
1
+ {"version":3,"file":"index.cjs46.js","sources":["../src/packages/constraints/constraint-add.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { Button } from \"@/components/ui/button\";\nimport { Plus } from \"lucide-react\";\nimport { Constraint, ConstraintDefinition } from \"./context\";\n\ninterface ConstraintsSectionProps {\n /** The available constraints for a specific schema type */\n availableDefinitions: ConstraintDefinition[];\n addedConstraints: Constraint[];\n onAdd: (constraints: Constraint[]) => void;\n}\n\nconst ConstraintsAdd = ({\n availableDefinitions,\n addedConstraints,\n onAdd,\n}: ConstraintsSectionProps) => {\n const [selectedConstraintDefinition, setSelectedConstraintDefinition] =\n useState<Constraint[\"name\"]>();\n\n const handleAddConstraint = () => {\n if (!selectedConstraintDefinition) return;\n\n const definition = availableDefinitions.find(\n (c) => c.name === selectedConstraintDefinition,\n );\n if (!definition) return;\n\n const newConstraint: Constraint = {\n name: selectedConstraintDefinition,\n value: definition.defaultValue,\n };\n\n onAdd([...addedConstraints, newConstraint]);\n setSelectedConstraintDefinition(undefined);\n };\n\n const unusedConstraintDefinitions = availableDefinitions.filter(\n (constraint) => !addedConstraints.some((v) => v.name === constraint.name),\n );\n\n return (\n //Don't render the component if there are no constraints to add\n unusedConstraintDefinitions.length > 0 && (\n <div className=\"flex items-end gap-2\">\n <div className=\"flex-1\">\n <Select\n value={selectedConstraintDefinition}\n onValueChange={(newVal) => {\n setSelectedConstraintDefinition(newVal as Constraint[\"name\"]);\n }}\n >\n <SelectTrigger className=\"w-full\" aria-label=\"Select constraint\">\n <SelectValue placeholder=\"Select a constraint\" />\n </SelectTrigger>\n <SelectContent>\n {unusedConstraintDefinitions.map((constraint) => (\n <SelectItem key={constraint.name} value={constraint.name}>\n {constraint.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"icon\"\n onClick={handleAddConstraint}\n disabled={!selectedConstraintDefinition}\n aria-label=\"Add constraint\"\n >\n <Plus className=\"h-4 w-4\" />\n </Button>\n </div>\n )\n );\n};\n\nexport default ConstraintsAdd;\n"],"names":["ConstraintsAdd","availableDefinitions","addedConstraints","onAdd","selectedConstraintDefinition","setSelectedConstraintDefinition","useState","handleAddConstraint","definition","c","newConstraint","unusedConstraintDefinitions","constraint","v","jsxs","jsx","Select","newVal","SelectTrigger","SelectValue","SelectContent","SelectItem","Button","Plus"],"mappings":"4PAmBMA,EAAiB,CAAC,CACtB,qBAAAC,EACA,iBAAAC,EACA,MAAAC,CACF,IAA+B,CAC7B,KAAM,CAACC,EAA8BC,CAA+B,EAClEC,WAA6B,EAEzBC,EAAsB,IAAM,CAChC,GAAI,CAACH,EAA8B,OAEnC,MAAMI,EAAaP,EAAqB,KACrCQ,GAAMA,EAAE,OAASL,CACpB,EACA,GAAI,CAACI,EAAY,OAEjB,MAAME,EAA4B,CAChC,KAAMN,EACN,MAAOI,EAAW,YACpB,EAEAL,EAAM,CAAC,GAAGD,EAAkBQ,CAAa,CAAC,EAC1CL,EAAgC,MAAS,CAC3C,EAEMM,EAA8BV,EAAqB,OACtDW,GAAe,CAACV,EAAiB,KAAMW,GAAMA,EAAE,OAASD,EAAW,IAAI,CAC1E,EAEA,OAEED,EAA4B,OAAS,GAClCG,EAAA,kBAAA,KAAA,MAAA,CAAI,UAAU,uBACb,SAAA,CAACC,EAAAA,kBAAAA,IAAA,MAAA,CAAI,UAAU,SACb,SAAAD,EAAA,kBAAA,KAACE,EAAA,OAAA,CACC,MAAOZ,EACP,cAAgBa,GAAW,CACzBZ,EAAgCY,CAA4B,CAC9D,EAEA,SAAA,CAACF,EAAAA,kBAAAA,IAAAG,EAAAA,cAAA,CAAc,UAAU,SAAS,aAAW,oBAC3C,SAACH,EAAAA,kBAAAA,IAAAI,EAAAA,YAAA,CAAY,YAAY,qBAAA,CAAsB,CACjD,CAAA,0BACCC,EAAAA,cACE,CAAA,SAAAT,EAA4B,IAAKC,GAC/BG,EAAAA,kBAAAA,IAAAM,EAAA,WAAA,CAAiC,MAAOT,EAAW,KACjD,SAAWA,EAAA,OADGA,EAAW,IAE5B,CACD,CACH,CAAA,CAAA,CAAA,CAAA,EAEJ,EACAG,EAAA,kBAAA,IAACO,EAAA,OAAA,CACC,KAAK,SACL,QAAQ,UACR,KAAK,OACL,QAASf,EACT,SAAU,CAACH,EACX,aAAW,iBAEX,SAAAW,EAAAA,kBAAAA,IAACQ,EAAAA,QAAK,CAAA,UAAU,SAAU,CAAA,CAAA,CAAA,CAC5B,CACF,CAAA,CAGN"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const st=require("react"),it=require("react-dom"),Le=require("./index.cjs63.js"),T=require("./index.cjs64.js"),ct=require("./index.cjs65.js"),H=require("./index.cjs66.js"),lt=require("./index.cjs67.js"),at=require("./index.cjs68.js"),dt=require("./index.cjs69.js"),ut=require("./index.cjs70.js"),pt=require("./index.cjs71.js"),Re=require("./index.cjs72.js"),ee=require("./index.cjs73.js"),ft=require("./index.cjs74.js"),N=require("./index.cjs75.js"),mt=require("./index.cjs38.js"),xt=require("./index.cjs76.js"),ke=require("./index.cjs77.js"),$=require("./index.cjs78.js"),ht=require("./index.cjs79.js"),vt=require("./index.cjs80.js"),St=require("./index.cjs81.js"),gt=require("./index.cjs82.js"),d=require("./index.cjs9.js");function Ve(o){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const l=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(c,e,l.get?l:{enumerable:!0,get:()=>o[e]})}}return c.default=o,Object.freeze(c)}const t=Ve(st),Be=Ve(it);var wt=[" ","Enter","ArrowUp","ArrowDown"],Et=[" ","Enter"],se="Select",[ae,de,Ct]=ct.createCollection(se),[te,Rt]=lt.createContextScope(se,[Ct,ee.createPopperScope]),ue=ee.createPopperScope(),[yt,G]=te(se),[It,Tt]=te(se),ye=o=>{const{__scopeSelect:c,children:e,open:l,defaultOpen:r,onOpenChange:u,value:n,defaultValue:s,onValueChange:i,dir:f,name:v,autoComplete:w,disabled:P,required:y,form:C}=o,a=ue(c),[x,S]=t.useState(null),[m,h]=t.useState(null),[F,M]=t.useState(!1),oe=at.useDirection(f),[j=!1,A]=ke.useControllableState({prop:l,defaultProp:r,onChange:u}),[W,Y]=ke.useControllableState({prop:n,defaultProp:s,onChange:i}),L=t.useRef(null),k=x?C||!!x.closest("form"):!0,[U,V]=t.useState(new Set),B=Array.from(U).map(b=>b.props.value).join(";");return d.jsxRuntimeExports.jsx(ee.Root,{...a,children:d.jsxRuntimeExports.jsxs(yt,{required:y,scope:c,trigger:x,onTriggerChange:S,valueNode:m,onValueNodeChange:h,valueNodeHasChildren:F,onValueNodeHasChildrenChange:M,contentId:Re.useId(),value:W,onValueChange:Y,open:j,onOpenChange:A,dir:oe,triggerPointerDownPosRef:L,disabled:P,children:[d.jsxRuntimeExports.jsx(ae.Provider,{scope:c,children:d.jsxRuntimeExports.jsx(It,{scope:o.__scopeSelect,onNativeOptionAdd:t.useCallback(b=>{V(D=>new Set(D).add(b))},[]),onNativeOptionRemove:t.useCallback(b=>{V(D=>{const q=new Set(D);return q.delete(b),q})},[]),children:e})}),k?d.jsxRuntimeExports.jsxs(ot,{"aria-hidden":!0,required:y,tabIndex:-1,name:v,autoComplete:w,value:W,onChange:b=>Y(b.target.value),disabled:P,form:C,children:[W===void 0?d.jsxRuntimeExports.jsx("option",{value:""}):null,Array.from(U)]},B):null]})})};ye.displayName=se;var qe="SelectTrigger",Ie=t.forwardRef((o,c)=>{const{__scopeSelect:e,disabled:l=!1,...r}=o,u=ue(e),n=G(qe,e),s=n.disabled||l,i=H.useComposedRefs(c,n.onTriggerChange),f=de(e),v=t.useRef("touch"),[w,P,y]=nt(a=>{const x=f().filter(h=>!h.disabled),S=x.find(h=>h.value===n.value),m=rt(x,a,S);m!==void 0&&n.onValueChange(m.value)}),C=a=>{s||(n.onOpenChange(!0),y()),a&&(n.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return d.jsxRuntimeExports.jsx(ee.Anchor,{asChild:!0,...u,children:d.jsxRuntimeExports.jsx(N.Primitive.button,{type:"button",role:"combobox","aria-controls":n.contentId,"aria-expanded":n.open,"aria-required":n.required,"aria-autocomplete":"none",dir:n.dir,"data-state":n.open?"open":"closed",disabled:s,"data-disabled":s?"":void 0,"data-placeholder":tt(n.value)?"":void 0,...r,ref:i,onClick:T.composeEventHandlers(r.onClick,a=>{a.currentTarget.focus(),v.current!=="mouse"&&C(a)}),onPointerDown:T.composeEventHandlers(r.onPointerDown,a=>{v.current=a.pointerType;const x=a.target;x.hasPointerCapture(a.pointerId)&&x.releasePointerCapture(a.pointerId),a.button===0&&a.ctrlKey===!1&&a.pointerType==="mouse"&&(C(a),a.preventDefault())}),onKeyDown:T.composeEventHandlers(r.onKeyDown,a=>{const x=w.current!=="";!(a.ctrlKey||a.altKey||a.metaKey)&&a.key.length===1&&P(a.key),!(x&&a.key===" ")&&wt.includes(a.key)&&(C(),a.preventDefault())})})})});Ie.displayName=qe;var Fe="SelectValue",Te=t.forwardRef((o,c)=>{const{__scopeSelect:e,className:l,style:r,children:u,placeholder:n="",...s}=o,i=G(Fe,e),{onValueNodeHasChildrenChange:f}=i,v=u!==void 0,w=H.useComposedRefs(c,i.onValueNodeChange);return $.useLayoutEffect(()=>{f(v)},[f,v]),d.jsxRuntimeExports.jsx(N.Primitive.span,{...s,ref:w,style:{pointerEvents:"none"},children:tt(i.value)?d.jsxRuntimeExports.jsx(d.jsxRuntimeExports.Fragment,{children:n}):u})});Te.displayName=Fe;var Pt="SelectIcon",Pe=t.forwardRef((o,c)=>{const{__scopeSelect:e,children:l,...r}=o;return d.jsxRuntimeExports.jsx(N.Primitive.span,{"aria-hidden":!0,...r,ref:c,children:l||"▼"})});Pe.displayName=Pt;var jt="SelectPortal",je=o=>d.jsxRuntimeExports.jsx(ft.Portal,{asChild:!0,...o});je.displayName=jt;var J="SelectContent",be=t.forwardRef((o,c)=>{const e=G(J,o.__scopeSelect),[l,r]=t.useState();if($.useLayoutEffect(()=>{r(new DocumentFragment)},[]),!e.open){const u=l;return u?Be.createPortal(d.jsxRuntimeExports.jsx(We,{scope:o.__scopeSelect,children:d.jsxRuntimeExports.jsx(ae.Slot,{scope:o.__scopeSelect,children:d.jsxRuntimeExports.jsx("div",{children:o.children})})}),u):null}return d.jsxRuntimeExports.jsx(Ue,{...o,ref:c})});be.displayName=J;var O=10,[We,z]=te(J),bt="SelectContentImpl",Ue=t.forwardRef((o,c)=>{const{__scopeSelect:e,position:l="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:u,onPointerDownOutside:n,side:s,sideOffset:i,align:f,alignOffset:v,arrowPadding:w,collisionBoundary:P,collisionPadding:y,sticky:C,hideWhenDetached:a,avoidCollisions:x,...S}=o,m=G(J,e),[h,F]=t.useState(null),[M,oe]=t.useState(null),j=H.useComposedRefs(c,p=>F(p)),[A,W]=t.useState(null),[Y,L]=t.useState(null),k=de(e),[U,V]=t.useState(!1),B=t.useRef(!1);t.useEffect(()=>{if(h)return St.hideOthers(h)},[h]),ut.useFocusGuards();const b=t.useCallback(p=>{const[R,..._]=k().map(I=>I.ref.current),[g]=_.slice(-1),E=document.activeElement;for(const I of p)if(I===E||(I?.scrollIntoView({block:"nearest"}),I===R&&M&&(M.scrollTop=0),I===g&&M&&(M.scrollTop=M.scrollHeight),I?.focus(),document.activeElement!==E))return},[k,M]),D=t.useCallback(()=>b([A,h]),[b,A,h]);t.useEffect(()=>{U&&D()},[U,D]);const{onOpenChange:q,triggerPointerDownPosRef:K}=m;t.useEffect(()=>{if(h){let p={x:0,y:0};const R=g=>{p={x:Math.abs(Math.round(g.pageX)-(K.current?.x??0)),y:Math.abs(Math.round(g.pageY)-(K.current?.y??0))}},_=g=>{p.x<=10&&p.y<=10?g.preventDefault():h.contains(g.target)||q(!1),document.removeEventListener("pointermove",R),K.current=null};return K.current!==null&&(document.addEventListener("pointermove",R),document.addEventListener("pointerup",_,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",R),document.removeEventListener("pointerup",_,{capture:!0})}}},[h,q,K]),t.useEffect(()=>{const p=()=>q(!1);return window.addEventListener("blur",p),window.addEventListener("resize",p),()=>{window.removeEventListener("blur",p),window.removeEventListener("resize",p)}},[q]);const[pe,ie]=nt(p=>{const R=k().filter(E=>!E.disabled),_=R.find(E=>E.ref.current===document.activeElement),g=rt(R,p,_);g&&setTimeout(()=>g.ref.current.focus())}),fe=t.useCallback((p,R,_)=>{const g=!B.current&&!_;(m.value!==void 0&&m.value===R||g)&&(W(p),g&&(B.current=!0))},[m.value]),me=t.useCallback(()=>h?.focus(),[h]),Q=t.useCallback((p,R,_)=>{const g=!B.current&&!_;(m.value!==void 0&&m.value===R||g)&&L(p)},[m.value]),ce=l==="popper"?Se:Ke,ne=ce===Se?{side:s,sideOffset:i,align:f,alignOffset:v,arrowPadding:w,collisionBoundary:P,collisionPadding:y,sticky:C,hideWhenDetached:a,avoidCollisions:x}:{};return d.jsxRuntimeExports.jsx(We,{scope:e,content:h,viewport:M,onViewportChange:oe,itemRefCallback:fe,selectedItem:A,onItemLeave:me,itemTextRefCallback:Q,focusSelectedItem:D,selectedItemText:Y,position:l,isPositioned:U,searchRef:pe,children:d.jsxRuntimeExports.jsx(gt.default,{as:mt.Slot,allowPinchZoom:!0,children:d.jsxRuntimeExports.jsx(pt.FocusScope,{asChild:!0,trapped:m.open,onMountAutoFocus:p=>{p.preventDefault()},onUnmountAutoFocus:T.composeEventHandlers(r,p=>{m.trigger?.focus({preventScroll:!0}),p.preventDefault()}),children:d.jsxRuntimeExports.jsx(dt.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:n,onFocusOutside:p=>p.preventDefault(),onDismiss:()=>m.onOpenChange(!1),children:d.jsxRuntimeExports.jsx(ce,{role:"listbox",id:m.contentId,"data-state":m.open?"open":"closed",dir:m.dir,onContextMenu:p=>p.preventDefault(),...S,...ne,onPlaced:()=>V(!0),ref:j,style:{display:"flex",flexDirection:"column",outline:"none",...S.style},onKeyDown:T.composeEventHandlers(S.onKeyDown,p=>{const R=p.ctrlKey||p.altKey||p.metaKey;if(p.key==="Tab"&&p.preventDefault(),!R&&p.key.length===1&&ie(p.key),["ArrowUp","ArrowDown","Home","End"].includes(p.key)){let g=k().filter(E=>!E.disabled).map(E=>E.ref.current);if(["ArrowUp","End"].includes(p.key)&&(g=g.slice().reverse()),["ArrowUp","ArrowDown"].includes(p.key)){const E=p.target,I=g.indexOf(E);g=g.slice(I+1)}setTimeout(()=>b(g)),p.preventDefault()}})})})})})})});Ue.displayName=bt;var _t="SelectItemAlignedPosition",Ke=t.forwardRef((o,c)=>{const{__scopeSelect:e,onPlaced:l,...r}=o,u=G(J,e),n=z(J,e),[s,i]=t.useState(null),[f,v]=t.useState(null),w=H.useComposedRefs(c,j=>v(j)),P=de(e),y=t.useRef(!1),C=t.useRef(!0),{viewport:a,selectedItem:x,selectedItemText:S,focusSelectedItem:m}=n,h=t.useCallback(()=>{if(u.trigger&&u.valueNode&&s&&f&&a&&x&&S){const j=u.trigger.getBoundingClientRect(),A=f.getBoundingClientRect(),W=u.valueNode.getBoundingClientRect(),Y=S.getBoundingClientRect();if(u.dir!=="rtl"){const E=Y.left-A.left,I=W.left-E,X=j.left-I,Z=j.width+X,xe=Math.max(Z,A.width),he=window.innerWidth-O,ve=Le.clamp(I,[O,Math.max(O,he-xe)]);s.style.minWidth=Z+"px",s.style.left=ve+"px"}else{const E=A.right-Y.right,I=window.innerWidth-W.right-E,X=window.innerWidth-j.right-I,Z=j.width+X,xe=Math.max(Z,A.width),he=window.innerWidth-O,ve=Le.clamp(I,[O,Math.max(O,he-xe)]);s.style.minWidth=Z+"px",s.style.right=ve+"px"}const L=P(),k=window.innerHeight-O*2,U=a.scrollHeight,V=window.getComputedStyle(f),B=parseInt(V.borderTopWidth,10),b=parseInt(V.paddingTop,10),D=parseInt(V.borderBottomWidth,10),q=parseInt(V.paddingBottom,10),K=B+b+U+q+D,pe=Math.min(x.offsetHeight*5,K),ie=window.getComputedStyle(a),fe=parseInt(ie.paddingTop,10),me=parseInt(ie.paddingBottom,10),Q=j.top+j.height/2-O,ce=k-Q,ne=x.offsetHeight/2,p=x.offsetTop+ne,R=B+b+p,_=K-R;if(R<=Q){const E=L.length>0&&x===L[L.length-1].ref.current;s.style.bottom="0px";const I=f.clientHeight-a.offsetTop-a.offsetHeight,X=Math.max(ce,ne+(E?me:0)+I+D),Z=R+X;s.style.height=Z+"px"}else{const E=L.length>0&&x===L[0].ref.current;s.style.top="0px";const X=Math.max(Q,B+a.offsetTop+(E?fe:0)+ne)+_;s.style.height=X+"px",a.scrollTop=R-Q+a.offsetTop}s.style.margin=`${O}px 0`,s.style.minHeight=pe+"px",s.style.maxHeight=k+"px",l?.(),requestAnimationFrame(()=>y.current=!0)}},[P,u.trigger,u.valueNode,s,f,a,x,S,u.dir,l]);$.useLayoutEffect(()=>h(),[h]);const[F,M]=t.useState();$.useLayoutEffect(()=>{f&&M(window.getComputedStyle(f).zIndex)},[f]);const oe=t.useCallback(j=>{j&&C.current===!0&&(h(),m?.(),C.current=!1)},[h,m]);return d.jsxRuntimeExports.jsx(Mt,{scope:e,contentWrapper:s,shouldExpandOnScrollRef:y,onScrollButtonChange:oe,children:d.jsxRuntimeExports.jsx("div",{ref:i,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:F},children:d.jsxRuntimeExports.jsx(N.Primitive.div,{...r,ref:w,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});Ke.displayName=_t;var Nt="SelectPopperPosition",Se=t.forwardRef((o,c)=>{const{__scopeSelect:e,align:l="start",collisionPadding:r=O,...u}=o,n=ue(e);return d.jsxRuntimeExports.jsx(ee.Content,{...n,...u,ref:c,align:l,collisionPadding:r,style:{boxSizing:"border-box",...u.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Se.displayName=Nt;var[Mt,_e]=te(J,{}),ge="SelectViewport",Ne=t.forwardRef((o,c)=>{const{__scopeSelect:e,nonce:l,...r}=o,u=z(ge,e),n=_e(ge,e),s=H.useComposedRefs(c,u.onViewportChange),i=t.useRef(0);return d.jsxRuntimeExports.jsxs(d.jsxRuntimeExports.Fragment,{children:[d.jsxRuntimeExports.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),d.jsxRuntimeExports.jsx(ae.Slot,{scope:e,children:d.jsxRuntimeExports.jsx(N.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:s,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:T.composeEventHandlers(r.onScroll,f=>{const v=f.currentTarget,{contentWrapper:w,shouldExpandOnScrollRef:P}=n;if(P?.current&&w){const y=Math.abs(i.current-v.scrollTop);if(y>0){const C=window.innerHeight-O*2,a=parseFloat(w.style.minHeight),x=parseFloat(w.style.height),S=Math.max(a,x);if(S<C){const m=S+y,h=Math.min(C,m),F=m-h;w.style.height=h+"px",w.style.bottom==="0px"&&(v.scrollTop=F>0?F:0,w.style.justifyContent="flex-end")}}}i.current=v.scrollTop})})})]})});Ne.displayName=ge;var $e="SelectGroup",[Ot,At]=te($e),Ge=t.forwardRef((o,c)=>{const{__scopeSelect:e,...l}=o,r=Re.useId();return d.jsxRuntimeExports.jsx(Ot,{scope:e,id:r,children:d.jsxRuntimeExports.jsx(N.Primitive.div,{role:"group","aria-labelledby":r,...l,ref:c})})});Ge.displayName=$e;var ze="SelectLabel",Ye=t.forwardRef((o,c)=>{const{__scopeSelect:e,...l}=o,r=At(ze,e);return d.jsxRuntimeExports.jsx(N.Primitive.div,{id:r.id,...l,ref:c})});Ye.displayName=ze;var le="SelectItem",[Dt,Xe]=te(le),Me=t.forwardRef((o,c)=>{const{__scopeSelect:e,value:l,disabled:r=!1,textValue:u,...n}=o,s=G(le,e),i=z(le,e),f=s.value===l,[v,w]=t.useState(u??""),[P,y]=t.useState(!1),C=H.useComposedRefs(c,m=>i.itemRefCallback?.(m,l,r)),a=Re.useId(),x=t.useRef("touch"),S=()=>{r||(s.onValueChange(l),s.onOpenChange(!1))};if(l==="")throw new Error("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.");return d.jsxRuntimeExports.jsx(Dt,{scope:e,value:l,disabled:r,textId:a,isSelected:f,onItemTextChange:t.useCallback(m=>{w(h=>h||(m?.textContent??"").trim())},[]),children:d.jsxRuntimeExports.jsx(ae.ItemSlot,{scope:e,value:l,disabled:r,textValue:v,children:d.jsxRuntimeExports.jsx(N.Primitive.div,{role:"option","aria-labelledby":a,"data-highlighted":P?"":void 0,"aria-selected":f&&P,"data-state":f?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...n,ref:C,onFocus:T.composeEventHandlers(n.onFocus,()=>y(!0)),onBlur:T.composeEventHandlers(n.onBlur,()=>y(!1)),onClick:T.composeEventHandlers(n.onClick,()=>{x.current!=="mouse"&&S()}),onPointerUp:T.composeEventHandlers(n.onPointerUp,()=>{x.current==="mouse"&&S()}),onPointerDown:T.composeEventHandlers(n.onPointerDown,m=>{x.current=m.pointerType}),onPointerMove:T.composeEventHandlers(n.onPointerMove,m=>{x.current=m.pointerType,r?i.onItemLeave?.():x.current==="mouse"&&m.currentTarget.focus({preventScroll:!0})}),onPointerLeave:T.composeEventHandlers(n.onPointerLeave,m=>{m.currentTarget===document.activeElement&&i.onItemLeave?.()}),onKeyDown:T.composeEventHandlers(n.onKeyDown,m=>{i.searchRef?.current!==""&&m.key===" "||(Et.includes(m.key)&&S(),m.key===" "&&m.preventDefault())})})})})});Me.displayName=le;var re="SelectItemText",Oe=t.forwardRef((o,c)=>{const{__scopeSelect:e,className:l,style:r,...u}=o,n=G(re,e),s=z(re,e),i=Xe(re,e),f=Tt(re,e),[v,w]=t.useState(null),P=H.useComposedRefs(c,S=>w(S),i.onItemTextChange,S=>s.itemTextRefCallback?.(S,i.value,i.disabled)),y=v?.textContent,C=t.useMemo(()=>d.jsxRuntimeExports.jsx("option",{value:i.value,disabled:i.disabled,children:y},i.value),[i.disabled,i.value,y]),{onNativeOptionAdd:a,onNativeOptionRemove:x}=f;return $.useLayoutEffect(()=>(a(C),()=>x(C)),[a,x,C]),d.jsxRuntimeExports.jsxs(d.jsxRuntimeExports.Fragment,{children:[d.jsxRuntimeExports.jsx(N.Primitive.span,{id:i.textId,...u,ref:P}),i.isSelected&&n.valueNode&&!n.valueNodeHasChildren?Be.createPortal(u.children,n.valueNode):null]})});Oe.displayName=re;var Ze="SelectItemIndicator",Ae=t.forwardRef((o,c)=>{const{__scopeSelect:e,...l}=o;return Xe(Ze,e).isSelected?d.jsxRuntimeExports.jsx(N.Primitive.span,{"aria-hidden":!0,...l,ref:c}):null});Ae.displayName=Ze;var we="SelectScrollUpButton",De=t.forwardRef((o,c)=>{const e=z(we,o.__scopeSelect),l=_e(we,o.__scopeSelect),[r,u]=t.useState(!1),n=H.useComposedRefs(c,l.onScrollButtonChange);return $.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){let s=function(){const f=i.scrollTop>0;u(f)};const i=e.viewport;return s(),i.addEventListener("scroll",s),()=>i.removeEventListener("scroll",s)}},[e.viewport,e.isPositioned]),r?d.jsxRuntimeExports.jsx(Je,{...o,ref:n,onAutoScroll:()=>{const{viewport:s,selectedItem:i}=e;s&&i&&(s.scrollTop=s.scrollTop-i.offsetHeight)}}):null});De.displayName=we;var Ee="SelectScrollDownButton",He=t.forwardRef((o,c)=>{const e=z(Ee,o.__scopeSelect),l=_e(Ee,o.__scopeSelect),[r,u]=t.useState(!1),n=H.useComposedRefs(c,l.onScrollButtonChange);return $.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){let s=function(){const f=i.scrollHeight-i.clientHeight,v=Math.ceil(i.scrollTop)<f;u(v)};const i=e.viewport;return s(),i.addEventListener("scroll",s),()=>i.removeEventListener("scroll",s)}},[e.viewport,e.isPositioned]),r?d.jsxRuntimeExports.jsx(Je,{...o,ref:n,onAutoScroll:()=>{const{viewport:s,selectedItem:i}=e;s&&i&&(s.scrollTop=s.scrollTop+i.offsetHeight)}}):null});He.displayName=Ee;var Je=t.forwardRef((o,c)=>{const{__scopeSelect:e,onAutoScroll:l,...r}=o,u=z("SelectScrollButton",e),n=t.useRef(null),s=de(e),i=t.useCallback(()=>{n.current!==null&&(window.clearInterval(n.current),n.current=null)},[]);return t.useEffect(()=>()=>i(),[i]),$.useLayoutEffect(()=>{s().find(v=>v.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[s]),d.jsxRuntimeExports.jsx(N.Primitive.div,{"aria-hidden":!0,...r,ref:c,style:{flexShrink:0,...r.style},onPointerDown:T.composeEventHandlers(r.onPointerDown,()=>{n.current===null&&(n.current=window.setInterval(l,50))}),onPointerMove:T.composeEventHandlers(r.onPointerMove,()=>{u.onItemLeave?.(),n.current===null&&(n.current=window.setInterval(l,50))}),onPointerLeave:T.composeEventHandlers(r.onPointerLeave,()=>{i()})})}),Ht="SelectSeparator",Qe=t.forwardRef((o,c)=>{const{__scopeSelect:e,...l}=o;return d.jsxRuntimeExports.jsx(N.Primitive.div,{"aria-hidden":!0,...l,ref:c})});Qe.displayName=Ht;var Ce="SelectArrow",et=t.forwardRef((o,c)=>{const{__scopeSelect:e,...l}=o,r=ue(e),u=G(Ce,e),n=z(Ce,e);return u.open&&n.position==="popper"?d.jsxRuntimeExports.jsx(ee.Arrow,{...r,...l,ref:c}):null});et.displayName=Ce;function tt(o){return o===""||o===void 0}var ot=t.forwardRef((o,c)=>{const{value:e,...l}=o,r=t.useRef(null),u=H.useComposedRefs(c,r),n=ht.usePrevious(e);return t.useEffect(()=>{const s=r.current,i=window.HTMLSelectElement.prototype,v=Object.getOwnPropertyDescriptor(i,"value").set;if(n!==e&&v){const w=new Event("change",{bubbles:!0});v.call(s,e),s.dispatchEvent(w)}},[n,e]),d.jsxRuntimeExports.jsx(vt.VisuallyHidden,{asChild:!0,children:d.jsxRuntimeExports.jsx("select",{...l,ref:u,defaultValue:e})})});ot.displayName="BubbleSelect";function nt(o){const c=xt.useCallbackRef(o),e=t.useRef(""),l=t.useRef(0),r=t.useCallback(n=>{const s=e.current+n;c(s),function i(f){e.current=f,window.clearTimeout(l.current),f!==""&&(l.current=window.setTimeout(()=>i(""),1e3))}(s)},[c]),u=t.useCallback(()=>{e.current="",window.clearTimeout(l.current)},[]);return t.useEffect(()=>()=>window.clearTimeout(l.current),[]),[e,r,u]}function rt(o,c,e){const r=c.length>1&&Array.from(c).every(f=>f===c[0])?c[0]:c,u=e?o.indexOf(e):-1;let n=Lt(o,Math.max(u,0));r.length===1&&(n=n.filter(f=>f!==e));const i=n.find(f=>f.textValue.toLowerCase().startsWith(r.toLowerCase()));return i!==e?i:void 0}function Lt(o,c){return o.map((e,l)=>o[(c+l)%o.length])}var kt=ye,Vt=Ie,Bt=Te,qt=Pe,Ft=je,Wt=be,Ut=Ne,Kt=Me,$t=Oe,Gt=Ae,zt=De,Yt=He;exports.Content=Wt;exports.Icon=qt;exports.Item=Kt;exports.ItemIndicator=Gt;exports.ItemText=$t;exports.Portal=Ft;exports.Root=kt;exports.ScrollDownButton=Yt;exports.ScrollUpButton=zt;exports.Select=ye;exports.SelectArrow=et;exports.SelectContent=be;exports.SelectGroup=Ge;exports.SelectIcon=Pe;exports.SelectItem=Me;exports.SelectItemIndicator=Ae;exports.SelectItemText=Oe;exports.SelectLabel=Ye;exports.SelectPortal=je;exports.SelectScrollDownButton=He;exports.SelectScrollUpButton=De;exports.SelectSeparator=Qe;exports.SelectTrigger=Ie;exports.SelectValue=Te;exports.SelectViewport=Ne;exports.Trigger=Vt;exports.Value=Bt;exports.Viewport=Ut;exports.createSelectScope=Rt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index.cjs9.js"),i=require("./index.cjs62.js"),n=require("./index.cjs22.js");function l({className:t,orientation:r="horizontal",decorative:o=!0,...a}){return e.jsxRuntimeExports.jsx(i.Root,{"data-slot":"separator-root",decorative:o,orientation:r,className:n.cn("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...a})}exports.Separator=l;
2
2
  //# sourceMappingURL=index.cjs47.js.map