businesslens 0.2.2

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 (354) hide show
  1. package/.output/nitro.json +15 -0
  2. package/.output/public/_nuxt/ANTr5GBv.js +1 -0
  3. package/.output/public/_nuxt/B3Z-Zt7l.js +37 -0
  4. package/.output/public/_nuxt/Bd76-HGM.js +1 -0
  5. package/.output/public/_nuxt/Bf4VrETn.js +1 -0
  6. package/.output/public/_nuxt/CR3jGlpM.js +1 -0
  7. package/.output/public/_nuxt/CntoM1kL.js +1 -0
  8. package/.output/public/_nuxt/DogqooqX.js +1 -0
  9. package/.output/public/_nuxt/Zsu92SSr.js +1 -0
  10. package/.output/public/_nuxt/builds/latest.json +1 -0
  11. package/.output/public/_nuxt/builds/meta/e74555da-0c18-4e95-b959-2bdcc538677b.json +1 -0
  12. package/.output/public/_nuxt/default.CRZmPCG_.css +1 -0
  13. package/.output/public/_nuxt/e3lOfLH3.js +1 -0
  14. package/.output/public/_nuxt/entry.SgkJh-3P.css +1 -0
  15. package/.output/public/_nuxt/error-404.CTIGkQtd.css +1 -0
  16. package/.output/public/_nuxt/error-500.CKBWIF4V.css +1 -0
  17. package/.output/public/_nuxt/fCd72uLR.js +1 -0
  18. package/.output/public/_nuxt/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2 +0 -0
  19. package/.output/public/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2 +0 -0
  20. package/.output/public/_nuxt/inter-greek-ext-wght-normal.DlzME5K_.woff2 +0 -0
  21. package/.output/public/_nuxt/inter-greek-wght-normal.CkhJZR-_.woff2 +0 -0
  22. package/.output/public/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2 +0 -0
  23. package/.output/public/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2 +0 -0
  24. package/.output/public/_nuxt/inter-vietnamese-wght-normal.CBcvBZtf.woff2 +0 -0
  25. package/.output/public/_nuxt/vk0fkBN0.js +1 -0
  26. package/.output/public/_nuxt/zg6VsE4d.js +39 -0
  27. package/.output/public/brand/logo/businesslens-mark.svg +20 -0
  28. package/.output/public/favicon.svg +13 -0
  29. package/.output/server/chunks/_/error-500.mjs +19 -0
  30. package/.output/server/chunks/_/error-500.mjs.map +1 -0
  31. package/.output/server/chunks/_/icons.mjs +6150 -0
  32. package/.output/server/chunks/_/icons.mjs.map +1 -0
  33. package/.output/server/chunks/build/Card-DJ5Lo0Cn.mjs +161 -0
  34. package/.output/server/chunks/build/Card-DJ5Lo0Cn.mjs.map +1 -0
  35. package/.output/server/chunks/build/EntityInspector-fTjbuYoq.mjs +4412 -0
  36. package/.output/server/chunks/build/EntityInspector-fTjbuYoq.mjs.map +1 -0
  37. package/.output/server/chunks/build/Slideover-KOfskX1l.mjs +4226 -0
  38. package/.output/server/chunks/build/Slideover-KOfskX1l.mjs.map +1 -0
  39. package/.output/server/chunks/build/Tooltip-DkxwLaX6.mjs +1338 -0
  40. package/.output/server/chunks/build/Tooltip-DkxwLaX6.mjs.map +1 -0
  41. package/.output/server/chunks/build/client.precomputed.mjs +4 -0
  42. package/.output/server/chunks/build/client.precomputed.mjs.map +1 -0
  43. package/.output/server/chunks/build/default-BJSthw3t.mjs +8999 -0
  44. package/.output/server/chunks/build/default-BJSthw3t.mjs.map +1 -0
  45. package/.output/server/chunks/build/default-styles.BYgqaNao.mjs +8 -0
  46. package/.output/server/chunks/build/default-styles.BYgqaNao.mjs.map +1 -0
  47. package/.output/server/chunks/build/error-404-BOiGLcfP.mjs +96 -0
  48. package/.output/server/chunks/build/error-404-BOiGLcfP.mjs.map +1 -0
  49. package/.output/server/chunks/build/error-404-styles.DA-UkGXW.mjs +8 -0
  50. package/.output/server/chunks/build/error-404-styles.DA-UkGXW.mjs.map +1 -0
  51. package/.output/server/chunks/build/error-500-Bwyw373t.mjs +79 -0
  52. package/.output/server/chunks/build/error-500-Bwyw373t.mjs.map +1 -0
  53. package/.output/server/chunks/build/error-500-styles.De7qbKJ2.mjs +8 -0
  54. package/.output/server/chunks/build/error-500-styles.De7qbKJ2.mjs.map +1 -0
  55. package/.output/server/chunks/build/index-BuhKSZfH.mjs +313 -0
  56. package/.output/server/chunks/build/index-BuhKSZfH.mjs.map +1 -0
  57. package/.output/server/chunks/build/journeys-DHHOyxCM.mjs +244 -0
  58. package/.output/server/chunks/build/journeys-DHHOyxCM.mjs.map +1 -0
  59. package/.output/server/chunks/build/server.mjs +14099 -0
  60. package/.output/server/chunks/build/server.mjs.map +1 -0
  61. package/.output/server/chunks/build/styles.mjs +9 -0
  62. package/.output/server/chunks/build/styles.mjs.map +1 -0
  63. package/.output/server/chunks/build/topology-BJfDB_jA.mjs +295 -0
  64. package/.output/server/chunks/build/topology-BJfDB_jA.mjs.map +1 -0
  65. package/.output/server/chunks/build/useReport-pDAk-ETG.mjs +406 -0
  66. package/.output/server/chunks/build/useReport-pDAk-ETG.mjs.map +1 -0
  67. package/.output/server/chunks/nitro/nitro.mjs +5770 -0
  68. package/.output/server/chunks/nitro/nitro.mjs.map +1 -0
  69. package/.output/server/chunks/routes/api/report.get.mjs +617 -0
  70. package/.output/server/chunks/routes/api/report.get.mjs.map +1 -0
  71. package/.output/server/chunks/routes/renderer.mjs +451 -0
  72. package/.output/server/chunks/routes/renderer.mjs.map +1 -0
  73. package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
  74. package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
  75. package/.output/server/index.mjs +12 -0
  76. package/.output/server/index.mjs.map +1 -0
  77. package/.output/server/node_modules/.nitro/hookable@5.5.3/dist/index.mjs +290 -0
  78. package/.output/server/node_modules/.nitro/hookable@5.5.3/package.json +49 -0
  79. package/.output/server/node_modules/.nitro/hookable@6.1.1/dist/index.mjs +257 -0
  80. package/.output/server/node_modules/.nitro/hookable@6.1.1/package.json +53 -0
  81. package/.output/server/node_modules/@babel/parser/lib/index.js +14599 -0
  82. package/.output/server/node_modules/@babel/parser/package.json +50 -0
  83. package/.output/server/node_modules/@iconify/utils/lib/colors/index.js +295 -0
  84. package/.output/server/node_modules/@iconify/utils/lib/colors/keywords.js +701 -0
  85. package/.output/server/node_modules/@iconify/utils/lib/css/common.js +75 -0
  86. package/.output/server/node_modules/@iconify/utils/lib/css/format.js +39 -0
  87. package/.output/server/node_modules/@iconify/utils/lib/css/icon.js +47 -0
  88. package/.output/server/node_modules/@iconify/utils/lib/css/icons.js +128 -0
  89. package/.output/server/node_modules/@iconify/utils/lib/customisations/bool.js +19 -0
  90. package/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.js +13 -0
  91. package/.output/server/node_modules/@iconify/utils/lib/customisations/flip.js +17 -0
  92. package/.output/server/node_modules/@iconify/utils/lib/customisations/merge.js +16 -0
  93. package/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.js +30 -0
  94. package/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.js +78 -0
  95. package/.output/server/node_modules/@iconify/utils/lib/emoji/convert.js +100 -0
  96. package/.output/server/node_modules/@iconify/utils/lib/emoji/data.js +28 -0
  97. package/.output/server/node_modules/@iconify/utils/lib/emoji/format.js +58 -0
  98. package/.output/server/node_modules/@iconify/utils/lib/emoji/parse.js +48 -0
  99. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.js +203 -0
  100. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.js +33 -0
  101. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.js +132 -0
  102. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.js +165 -0
  103. package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.js +79 -0
  104. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.js +92 -0
  105. package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.js +26 -0
  106. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.js +76 -0
  107. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.js +66 -0
  108. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.js +45 -0
  109. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.js +103 -0
  110. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.js +36 -0
  111. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.js +92 -0
  112. package/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.js +62 -0
  113. package/.output/server/node_modules/@iconify/utils/lib/icon/defaults.js +25 -0
  114. package/.output/server/node_modules/@iconify/utils/lib/icon/merge.js +16 -0
  115. package/.output/server/node_modules/@iconify/utils/lib/icon/name.js +57 -0
  116. package/.output/server/node_modules/@iconify/utils/lib/icon/square.js +33 -0
  117. package/.output/server/node_modules/@iconify/utils/lib/icon/transformations.js +12 -0
  118. package/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.js +125 -0
  119. package/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.js +19 -0
  120. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.js +25 -0
  121. package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.js +36 -0
  122. package/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.js +91 -0
  123. package/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.js +46 -0
  124. package/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.js +23 -0
  125. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.js +42 -0
  126. package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.js +123 -0
  127. package/.output/server/node_modules/@iconify/utils/lib/index.js +52 -0
  128. package/.output/server/node_modules/@iconify/utils/lib/loader/custom.js +30 -0
  129. package/.output/server/node_modules/@iconify/utils/lib/loader/loader.js +26 -0
  130. package/.output/server/node_modules/@iconify/utils/lib/loader/modern.js +27 -0
  131. package/.output/server/node_modules/@iconify/utils/lib/loader/utils.js +105 -0
  132. package/.output/server/node_modules/@iconify/utils/lib/misc/objects.js +26 -0
  133. package/.output/server/node_modules/@iconify/utils/lib/misc/strings.js +26 -0
  134. package/.output/server/node_modules/@iconify/utils/lib/misc/title.js +9 -0
  135. package/.output/server/node_modules/@iconify/utils/lib/svg/build.js +113 -0
  136. package/.output/server/node_modules/@iconify/utils/lib/svg/defs.js +31 -0
  137. package/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js +13 -0
  138. package/.output/server/node_modules/@iconify/utils/lib/svg/html.js +9 -0
  139. package/.output/server/node_modules/@iconify/utils/lib/svg/id.js +41 -0
  140. package/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.js +22 -0
  141. package/.output/server/node_modules/@iconify/utils/lib/svg/parse.js +67 -0
  142. package/.output/server/node_modules/@iconify/utils/lib/svg/pretty.js +54 -0
  143. package/.output/server/node_modules/@iconify/utils/lib/svg/size.js +27 -0
  144. package/.output/server/node_modules/@iconify/utils/lib/svg/trim.js +7 -0
  145. package/.output/server/node_modules/@iconify/utils/lib/svg/url.js +22 -0
  146. package/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.js +8 -0
  147. package/.output/server/node_modules/@iconify/utils/package.json +119 -0
  148. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6759 -0
  149. package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  150. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +689 -0
  151. package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  152. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1413 -0
  153. package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  154. package/.output/server/node_modules/@vue/devtools-api/dist/index.js +2 -0
  155. package/.output/server/node_modules/@vue/devtools-api/package.json +34 -0
  156. package/.output/server/node_modules/@vue/devtools-kit/dist/index.js +5670 -0
  157. package/.output/server/node_modules/@vue/devtools-kit/package.json +44 -0
  158. package/.output/server/node_modules/@vue/devtools-shared/dist/index.js +239 -0
  159. package/.output/server/node_modules/@vue/devtools-shared/package.json +33 -0
  160. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1899 -0
  161. package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  162. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6940 -0
  163. package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  164. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1822 -0
  165. package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  166. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +896 -0
  167. package/.output/server/node_modules/@vue/server-renderer/package.json +55 -0
  168. package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +604 -0
  169. package/.output/server/node_modules/@vue/shared/package.json +47 -0
  170. package/.output/server/node_modules/@vue-flow/core/dist/vue-flow-core.mjs +10186 -0
  171. package/.output/server/node_modules/@vue-flow/core/package.json +95 -0
  172. package/.output/server/node_modules/ajv/dist/2020.js +55 -0
  173. package/.output/server/node_modules/ajv/dist/ajv.js +50 -0
  174. package/.output/server/node_modules/ajv/dist/compile/codegen/code.js +156 -0
  175. package/.output/server/node_modules/ajv/dist/compile/codegen/index.js +697 -0
  176. package/.output/server/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
  177. package/.output/server/node_modules/ajv/dist/compile/errors.js +123 -0
  178. package/.output/server/node_modules/ajv/dist/compile/index.js +242 -0
  179. package/.output/server/node_modules/ajv/dist/compile/names.js +28 -0
  180. package/.output/server/node_modules/ajv/dist/compile/ref_error.js +12 -0
  181. package/.output/server/node_modules/ajv/dist/compile/resolve.js +155 -0
  182. package/.output/server/node_modules/ajv/dist/compile/rules.js +26 -0
  183. package/.output/server/node_modules/ajv/dist/compile/util.js +178 -0
  184. package/.output/server/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
  185. package/.output/server/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
  186. package/.output/server/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
  187. package/.output/server/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
  188. package/.output/server/node_modules/ajv/dist/compile/validate/index.js +520 -0
  189. package/.output/server/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
  190. package/.output/server/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
  191. package/.output/server/node_modules/ajv/dist/core.js +618 -0
  192. package/.output/server/node_modules/ajv/dist/refs/data.json +13 -0
  193. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
  194. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
  195. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
  196. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
  197. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  198. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  199. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  200. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
  201. package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
  202. package/.output/server/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
  203. package/.output/server/node_modules/ajv/dist/runtime/equal.js +7 -0
  204. package/.output/server/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
  205. package/.output/server/node_modules/ajv/dist/runtime/uri.js +6 -0
  206. package/.output/server/node_modules/ajv/dist/runtime/validation_error.js +11 -0
  207. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  208. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
  209. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  210. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  211. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
  212. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  213. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
  214. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
  215. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
  216. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
  217. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  218. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
  219. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  220. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  221. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  222. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
  223. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  224. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  225. package/.output/server/node_modules/ajv/dist/vocabularies/code.js +131 -0
  226. package/.output/server/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
  227. package/.output/server/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
  228. package/.output/server/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
  229. package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
  230. package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
  231. package/.output/server/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
  232. package/.output/server/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
  233. package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
  234. package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
  235. package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
  236. package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
  237. package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
  238. package/.output/server/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
  239. package/.output/server/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
  240. package/.output/server/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
  241. package/.output/server/node_modules/ajv/dist/vocabularies/next.js +8 -0
  242. package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
  243. package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
  244. package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
  245. package/.output/server/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
  246. package/.output/server/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
  247. package/.output/server/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
  248. package/.output/server/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
  249. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
  250. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  251. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  252. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  253. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  254. package/.output/server/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  255. package/.output/server/node_modules/ajv/dist/vocabularies/validation/pattern.js +24 -0
  256. package/.output/server/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
  257. package/.output/server/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  258. package/.output/server/node_modules/ajv/package.json +126 -0
  259. package/.output/server/node_modules/ajv-formats/dist/formats.js +208 -0
  260. package/.output/server/node_modules/ajv-formats/dist/index.js +37 -0
  261. package/.output/server/node_modules/ajv-formats/dist/limit.js +69 -0
  262. package/.output/server/node_modules/ajv-formats/package.json +74 -0
  263. package/.output/server/node_modules/birpc/dist/index.mjs +291 -0
  264. package/.output/server/node_modules/birpc/package.json +57 -0
  265. package/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
  266. package/.output/server/node_modules/consola/dist/core.mjs +512 -0
  267. package/.output/server/node_modules/consola/dist/index.mjs +651 -0
  268. package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
  269. package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
  270. package/.output/server/node_modules/consola/package.json +136 -0
  271. package/.output/server/node_modules/devalue/index.js +4 -0
  272. package/.output/server/node_modules/devalue/package.json +40 -0
  273. package/.output/server/node_modules/devalue/src/base64.js +60 -0
  274. package/.output/server/node_modules/devalue/src/constants.js +12 -0
  275. package/.output/server/node_modules/devalue/src/parse.js +283 -0
  276. package/.output/server/node_modules/devalue/src/stringify.js +401 -0
  277. package/.output/server/node_modules/devalue/src/uneval.js +552 -0
  278. package/.output/server/node_modules/devalue/src/utils.js +160 -0
  279. package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  280. package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
  281. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  282. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  283. package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  284. package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  285. package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
  286. package/.output/server/node_modules/entities/package.json +120 -0
  287. package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  288. package/.output/server/node_modules/estree-walker/package.json +37 -0
  289. package/.output/server/node_modules/fast-deep-equal/index.js +46 -0
  290. package/.output/server/node_modules/fast-deep-equal/package.json +61 -0
  291. package/.output/server/node_modules/fast-uri/index.js +406 -0
  292. package/.output/server/node_modules/fast-uri/lib/schemes.js +267 -0
  293. package/.output/server/node_modules/fast-uri/lib/utils.js +443 -0
  294. package/.output/server/node_modules/fast-uri/package.json +68 -0
  295. package/.output/server/node_modules/json-schema-traverse/index.js +93 -0
  296. package/.output/server/node_modules/json-schema-traverse/package.json +43 -0
  297. package/.output/server/node_modules/perfect-debounce/dist/index.mjs +89 -0
  298. package/.output/server/node_modules/perfect-debounce/package.json +41 -0
  299. package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  300. package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  301. package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  302. package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  303. package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  304. package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
  305. package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  306. package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  307. package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
  308. package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  309. package/.output/server/node_modules/source-map-js/package.json +71 -0
  310. package/.output/server/node_modules/source-map-js/source-map.js +8 -0
  311. package/.output/server/node_modules/tailwindcss/dist/chunk-X4GG3EDV.mjs +1 -0
  312. package/.output/server/node_modules/tailwindcss/dist/colors.mjs +1 -0
  313. package/.output/server/node_modules/tailwindcss/package.json +89 -0
  314. package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
  315. package/.output/server/node_modules/ufo/package.json +48 -0
  316. package/.output/server/node_modules/unhead/dist/index.mjs +9 -0
  317. package/.output/server/node_modules/unhead/dist/parser.mjs +508 -0
  318. package/.output/server/node_modules/unhead/dist/plugins.mjs +101 -0
  319. package/.output/server/node_modules/unhead/dist/scripts.mjs +30 -0
  320. package/.output/server/node_modules/unhead/dist/server.mjs +180 -0
  321. package/.output/server/node_modules/unhead/dist/shared/unhead.B3VbJo7Y.mjs +207 -0
  322. package/.output/server/node_modules/unhead/dist/shared/unhead.BYvz9V1x.mjs +43 -0
  323. package/.output/server/node_modules/unhead/dist/shared/unhead.BnoAbrHA.mjs +269 -0
  324. package/.output/server/node_modules/unhead/dist/shared/unhead.CaI5ZD4O.mjs +182 -0
  325. package/.output/server/node_modules/unhead/dist/shared/unhead.CbpEuj3y.mjs +71 -0
  326. package/.output/server/node_modules/unhead/dist/shared/unhead.D4vSFytZ.mjs +236 -0
  327. package/.output/server/node_modules/unhead/dist/shared/unhead.DQc16pHI.mjs +196 -0
  328. package/.output/server/node_modules/unhead/dist/shared/unhead.Dh1cQCTe.mjs +44 -0
  329. package/.output/server/node_modules/unhead/dist/shared/unhead.TxTMM7cM.mjs +166 -0
  330. package/.output/server/node_modules/unhead/dist/shared/unhead.yem5I2v_.mjs +38 -0
  331. package/.output/server/node_modules/unhead/dist/utils.mjs +5 -0
  332. package/.output/server/node_modules/unhead/package.json +105 -0
  333. package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  334. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  335. package/.output/server/node_modules/vue/index.js +7 -0
  336. package/.output/server/node_modules/vue/index.mjs +1 -0
  337. package/.output/server/node_modules/vue/package.json +112 -0
  338. package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  339. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +249 -0
  340. package/.output/server/node_modules/vue-bundle-renderer/package.json +57 -0
  341. package/.output/server/node_modules/vue-router/dist/devtools-DCoWQoU_.js +1034 -0
  342. package/.output/server/node_modules/vue-router/dist/useApi-s_02lHjl.js +181 -0
  343. package/.output/server/node_modules/vue-router/dist/vue-router.js +1499 -0
  344. package/.output/server/node_modules/vue-router/package.json +226 -0
  345. package/.output/server/node_modules/vue-router/vue-router.node.mjs +2 -0
  346. package/.output/server/package.json +41 -0
  347. package/README.md +114 -0
  348. package/THIRD_PARTY_NOTICES.md +28 -0
  349. package/bin/businesslens.mjs +181 -0
  350. package/package.json +68 -0
  351. package/packages/report-schema/schemas/report.schema.json +235 -0
  352. package/packages/report-schema/types/index.ts +1 -0
  353. package/packages/report-schema/types/report.ts +101 -0
  354. package/packages/report-schema/validate.mjs +111 -0
@@ -0,0 +1,4226 @@
1
+ import { t as useComponentProps, Q as useLocale, v as useAppConfig, C as useForwardProps, D as reactivePick, E as usePortal, z as tv, G as FieldGroupReset, V as VisuallyHidden_default, f as _sfc_main$8, p as useForwardExpose, P as Primitive, T as Teleport_default, k as useVModel, a4 as useEmitAsProps, s as Presence_default, j as injectConfigProviderContext, o as useForwardProps$1, n as createContext, a5 as onKeyStroke, l as isNullish, h as unrefElement, a3 as tryOnBeforeUnmount, ae as computedEager, i as getActiveElement, a7 as AUTOFOCUS_ON_MOUNT, a8 as focusFirst$1, a9 as getTabbableCandidates, aa as focus, ab as AUTOFOCUS_ON_UNMOUNT, a2 as createSharedComposable, ac as EVENT_OPTIONS, ad as getTabbableEdges, a6 as createGlobalState } from './server.mjs';
2
+ import * as vue from 'vue';
3
+ import { useSlots, toRef, computed, unref, mergeProps, withCtx, renderSlot, toHandlers, createTextVNode, toDisplayString, openBlock, createBlock, createCommentVNode, createVNode, defineComponent, normalizeProps, guardReactiveProps, ref, toRefs, withModifiers, createElementBlock, normalizeStyle, watchPostEffect, watch, watchEffect, mergeDefaults, reactive, toValue as toValue$1, nextTick, shallowRef, getCurrentScope, onScopeDispose, shallowReadonly, useSSRContext } from 'vue';
4
+ import { ssrRenderComponent, ssrRenderSlot, ssrInterpolate, ssrRenderClass } from 'vue/server-renderer';
5
+
6
+ const useBodyLockStackCount = createSharedComposable(() => {
7
+ const map = ref(/* @__PURE__ */ new Map());
8
+ ref();
9
+ const locked = computed(() => {
10
+ for (const value of map.value.values()) if (value) return true;
11
+ return false;
12
+ });
13
+ injectConfigProviderContext({ scrollBody: ref(true) });
14
+ watch(locked, (val, oldVal) => {
15
+ return;
16
+ }, {
17
+ immediate: true,
18
+ flush: "sync"
19
+ });
20
+ return map;
21
+ });
22
+ function useBodyScrollLock(initialState) {
23
+ const id = Math.random().toString(36).substring(2, 7);
24
+ const map = useBodyLockStackCount();
25
+ map.value.set(id, initialState ?? false);
26
+ const locked = computed({
27
+ get: () => map.value.get(id) ?? false,
28
+ set: (value) => map.value.set(id, value)
29
+ });
30
+ tryOnBeforeUnmount();
31
+ return locked;
32
+ }
33
+ function useDirection(dir) {
34
+ const context2 = injectConfigProviderContext({ dir: ref("ltr") });
35
+ return computed(() => dir?.value || context2.dir?.value || "ltr");
36
+ }
37
+ function useFocusGuards() {
38
+ watchEffect((cleanupFn) => {
39
+ return;
40
+ });
41
+ }
42
+ function useForwardPropsEmits(props, emit) {
43
+ const parsedProps = useForwardProps$1(props);
44
+ const emitsAsProps = emit ? useEmitAsProps(emit) : {};
45
+ return computed(() => ({
46
+ ...parsedProps.value,
47
+ ...emitsAsProps
48
+ }));
49
+ }
50
+ var getDefaultParent = function(originalTarget) {
51
+ {
52
+ return null;
53
+ }
54
+ };
55
+ var counterMap = /* @__PURE__ */ new WeakMap();
56
+ var uncontrolledNodes = /* @__PURE__ */ new WeakMap();
57
+ var markerMap = {};
58
+ var lockCount = 0;
59
+ var unwrapHost = function(node) {
60
+ return node && (node.host || unwrapHost(node.parentNode));
61
+ };
62
+ var correctTargets = function(parent, targets) {
63
+ return targets.map(function(target) {
64
+ if (parent.contains(target)) {
65
+ return target;
66
+ }
67
+ var correctedTarget = unwrapHost(target);
68
+ if (correctedTarget && parent.contains(correctedTarget)) {
69
+ return correctedTarget;
70
+ }
71
+ console.error("aria-hidden", target, "in not contained inside", parent, ". Doing nothing");
72
+ return null;
73
+ }).filter(function(x) {
74
+ return Boolean(x);
75
+ });
76
+ };
77
+ var applyAttributeToOthers = function(originalTarget, parentNode, markerName, controlAttribute) {
78
+ var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);
79
+ if (!markerMap[markerName]) {
80
+ markerMap[markerName] = /* @__PURE__ */ new WeakMap();
81
+ }
82
+ var markerCounter = markerMap[markerName];
83
+ var hiddenNodes = [];
84
+ var elementsToKeep = /* @__PURE__ */ new Set();
85
+ var elementsToStop = new Set(targets);
86
+ var keep = function(el) {
87
+ if (!el || elementsToKeep.has(el)) {
88
+ return;
89
+ }
90
+ elementsToKeep.add(el);
91
+ keep(el.parentNode);
92
+ };
93
+ targets.forEach(keep);
94
+ var deep = function(parent) {
95
+ if (!parent || elementsToStop.has(parent)) {
96
+ return;
97
+ }
98
+ Array.prototype.forEach.call(parent.children, function(node) {
99
+ if (elementsToKeep.has(node)) {
100
+ deep(node);
101
+ } else {
102
+ try {
103
+ var attr = node.getAttribute(controlAttribute);
104
+ var alreadyHidden = attr !== null && attr !== "false";
105
+ var counterValue = (counterMap.get(node) || 0) + 1;
106
+ var markerValue = (markerCounter.get(node) || 0) + 1;
107
+ counterMap.set(node, counterValue);
108
+ markerCounter.set(node, markerValue);
109
+ hiddenNodes.push(node);
110
+ if (counterValue === 1 && alreadyHidden) {
111
+ uncontrolledNodes.set(node, true);
112
+ }
113
+ if (markerValue === 1) {
114
+ node.setAttribute(markerName, "true");
115
+ }
116
+ if (!alreadyHidden) {
117
+ node.setAttribute(controlAttribute, "true");
118
+ }
119
+ } catch (e) {
120
+ console.error("aria-hidden: cannot operate on ", node, e);
121
+ }
122
+ }
123
+ });
124
+ };
125
+ deep(parentNode);
126
+ elementsToKeep.clear();
127
+ lockCount++;
128
+ return function() {
129
+ hiddenNodes.forEach(function(node) {
130
+ var counterValue = counterMap.get(node) - 1;
131
+ var markerValue = markerCounter.get(node) - 1;
132
+ counterMap.set(node, counterValue);
133
+ markerCounter.set(node, markerValue);
134
+ if (!counterValue) {
135
+ if (!uncontrolledNodes.has(node)) {
136
+ node.removeAttribute(controlAttribute);
137
+ }
138
+ uncontrolledNodes.delete(node);
139
+ }
140
+ if (!markerValue) {
141
+ node.removeAttribute(markerName);
142
+ }
143
+ });
144
+ lockCount--;
145
+ if (!lockCount) {
146
+ counterMap = /* @__PURE__ */ new WeakMap();
147
+ counterMap = /* @__PURE__ */ new WeakMap();
148
+ uncontrolledNodes = /* @__PURE__ */ new WeakMap();
149
+ markerMap = {};
150
+ }
151
+ };
152
+ };
153
+ var hideOthers = function(originalTarget, parentNode, markerName) {
154
+ if (markerName === void 0) {
155
+ markerName = "data-aria-hidden";
156
+ }
157
+ var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);
158
+ var activeParentNode = getDefaultParent();
159
+ if (!activeParentNode) {
160
+ return function() {
161
+ return null;
162
+ };
163
+ }
164
+ targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll("[aria-live], script")));
165
+ return applyAttributeToOthers(targets, activeParentNode, markerName, "aria-hidden");
166
+ };
167
+ function useHideOthers(target) {
168
+ let undo;
169
+ watch(() => unrefElement(target), (el) => {
170
+ let isInsideClosedPopover = false;
171
+ try {
172
+ isInsideClosedPopover = !!el?.closest("[popover]:not(:popover-open)");
173
+ } catch {
174
+ }
175
+ if (el && !isInsideClosedPopover) undo = hideOthers(el);
176
+ else if (undo) undo();
177
+ });
178
+ }
179
+ let count = 0;
180
+ function useId(deterministicId, prefix = "reka") {
181
+ if (deterministicId) return deterministicId;
182
+ let id;
183
+ const configProviderContext = injectConfigProviderContext({ useId: void 0 });
184
+ if (configProviderContext.useId) id = configProviderContext.useId();
185
+ else if ("useId" in vue) id = vue.useId?.();
186
+ else id = `${++count}`;
187
+ return prefix ? `${prefix}-${id}` : id;
188
+ }
189
+ function useSize(element) {
190
+ const size2 = ref();
191
+ const width = computed(() => size2.value?.width ?? 0);
192
+ const height = computed(() => size2.value?.height ?? 0);
193
+ return {
194
+ width,
195
+ height
196
+ };
197
+ }
198
+ const [injectDialogRootContext, provideDialogRootContext] = /* @__PURE__ */ createContext("DialogRoot");
199
+ var DialogRoot_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
200
+ inheritAttrs: false,
201
+ __name: "DialogRoot",
202
+ props: {
203
+ open: {
204
+ type: Boolean,
205
+ required: false,
206
+ default: void 0
207
+ },
208
+ defaultOpen: {
209
+ type: Boolean,
210
+ required: false,
211
+ default: false
212
+ },
213
+ modal: {
214
+ type: Boolean,
215
+ required: false,
216
+ default: true
217
+ }
218
+ },
219
+ emits: ["update:open"],
220
+ setup(__props, { emit: __emit }) {
221
+ const props = __props;
222
+ const emit = __emit;
223
+ const open = useVModel(props, "open", emit, {
224
+ defaultValue: props.defaultOpen,
225
+ passive: props.open === void 0
226
+ });
227
+ const triggerElement = ref();
228
+ const contentElement = ref();
229
+ const { modal } = toRefs(props);
230
+ provideDialogRootContext({
231
+ open,
232
+ modal,
233
+ openModal: () => {
234
+ open.value = true;
235
+ },
236
+ onOpenChange: (value) => {
237
+ open.value = value;
238
+ },
239
+ onOpenToggle: () => {
240
+ open.value = !open.value;
241
+ },
242
+ contentId: "",
243
+ titleId: "",
244
+ descriptionId: "",
245
+ triggerElement,
246
+ contentElement
247
+ });
248
+ return (_ctx, _cache) => {
249
+ return renderSlot(_ctx.$slots, "default", {
250
+ open: unref(open),
251
+ close: () => open.value = false
252
+ });
253
+ };
254
+ }
255
+ });
256
+ var DialogRoot_default = DialogRoot_vue_vue_type_script_setup_true_lang_default;
257
+ var DialogClose_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
258
+ __name: "DialogClose",
259
+ props: {
260
+ asChild: {
261
+ type: Boolean,
262
+ required: false
263
+ },
264
+ as: {
265
+ type: null,
266
+ required: false,
267
+ default: "button"
268
+ }
269
+ },
270
+ setup(__props) {
271
+ const props = __props;
272
+ useForwardExpose();
273
+ const rootContext = injectDialogRootContext();
274
+ return (_ctx, _cache) => {
275
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
276
+ type: _ctx.as === "button" ? "button" : void 0,
277
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(rootContext).onOpenChange(false))
278
+ }), {
279
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
280
+ _: 3
281
+ }, 16, ["type"]);
282
+ };
283
+ }
284
+ });
285
+ var DialogClose_default = DialogClose_vue_vue_type_script_setup_true_lang_default;
286
+ function usePointerDownOutside(onPointerDownOutside, element, enabled = true) {
287
+ element?.value?.ownerDocument ?? globalThis?.document;
288
+ const isPointerInsideDOMTree = ref(false);
289
+ ref(() => {
290
+ });
291
+ watchEffect((cleanupFn) => {
292
+ return;
293
+ });
294
+ return { onPointerDownCapture: () => {
295
+ if (!toValue$1(enabled)) return;
296
+ isPointerInsideDOMTree.value = true;
297
+ } };
298
+ }
299
+ function useFocusOutside(onFocusOutside, element, enabled = true) {
300
+ element?.value?.ownerDocument ?? globalThis?.document;
301
+ const isFocusInsideDOMTree = ref(false);
302
+ watchEffect((cleanupFn) => {
303
+ return;
304
+ });
305
+ return {
306
+ onFocusCapture: () => {
307
+ if (!toValue$1(enabled)) return;
308
+ isFocusInsideDOMTree.value = true;
309
+ },
310
+ onBlurCapture: () => {
311
+ if (!toValue$1(enabled)) return;
312
+ isFocusInsideDOMTree.value = false;
313
+ }
314
+ };
315
+ }
316
+ const context = /* @__PURE__ */ reactive({
317
+ layersRoot: /* @__PURE__ */ new Set(),
318
+ layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
319
+ originalBodyPointerEvents: void 0,
320
+ branches: /* @__PURE__ */ new Set()
321
+ });
322
+ var DismissableLayer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
323
+ __name: "DismissableLayer",
324
+ props: {
325
+ disableOutsidePointerEvents: {
326
+ type: Boolean,
327
+ required: false,
328
+ default: false
329
+ },
330
+ asChild: {
331
+ type: Boolean,
332
+ required: false
333
+ },
334
+ as: {
335
+ type: null,
336
+ required: false
337
+ }
338
+ },
339
+ emits: [
340
+ "escapeKeyDown",
341
+ "pointerDownOutside",
342
+ "focusOutside",
343
+ "interactOutside",
344
+ "dismiss"
345
+ ],
346
+ setup(__props, { emit: __emit }) {
347
+ const props = __props;
348
+ const emits = __emit;
349
+ const { forwardRef, currentElement: layerElement } = useForwardExpose();
350
+ const ownerDocument = computed(() => layerElement.value?.ownerDocument ?? globalThis.document);
351
+ const layers = computed(() => context.layersRoot);
352
+ const index = computed(() => {
353
+ return layerElement.value ? Array.from(layers.value).indexOf(layerElement.value) : -1;
354
+ });
355
+ const isBodyPointerEventsDisabled = computed(() => {
356
+ return context.layersWithOutsidePointerEventsDisabled.size > 0;
357
+ });
358
+ const isPointerEventsEnabled = computed(() => {
359
+ const localLayers = Array.from(layers.value);
360
+ const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);
361
+ const highestLayerWithOutsidePointerEventsDisabledIndex = localLayers.indexOf(highestLayerWithOutsidePointerEventsDisabled);
362
+ return index.value >= highestLayerWithOutsidePointerEventsDisabledIndex;
363
+ });
364
+ const pointerDownOutside2 = usePointerDownOutside(async (event) => {
365
+ const isPointerDownOnBranch = [...context.branches].some((branch) => branch?.contains(event.target));
366
+ if (!isPointerEventsEnabled.value || isPointerDownOnBranch) return;
367
+ emits("pointerDownOutside", event);
368
+ emits("interactOutside", event);
369
+ await nextTick();
370
+ if (!event.defaultPrevented) emits("dismiss");
371
+ }, layerElement);
372
+ const focusOutside = useFocusOutside((event) => {
373
+ const isFocusInBranch = [...context.branches].some((branch) => branch?.contains(event.target));
374
+ if (isFocusInBranch) return;
375
+ emits("focusOutside", event);
376
+ emits("interactOutside", event);
377
+ if (!event.defaultPrevented) emits("dismiss");
378
+ }, layerElement);
379
+ onKeyStroke("Escape", (event) => {
380
+ const isHighestLayer = index.value === layers.value.size - 1;
381
+ if (!isHighestLayer) return;
382
+ emits("escapeKeyDown", event);
383
+ if (!event.defaultPrevented) emits("dismiss");
384
+ });
385
+ watch([layerElement, () => props.disableOutsidePointerEvents], ([element, disableOutsidePointerEvents], _, onCleanup) => {
386
+ if (!element) return;
387
+ if (disableOutsidePointerEvents) {
388
+ if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
389
+ context.originalBodyPointerEvents = ownerDocument.value.body.style.pointerEvents;
390
+ ownerDocument.value.body.style.pointerEvents = "none";
391
+ }
392
+ context.layersWithOutsidePointerEventsDisabled.add(element);
393
+ onCleanup(() => {
394
+ context.layersWithOutsidePointerEventsDisabled.delete(element);
395
+ if (context.layersWithOutsidePointerEventsDisabled.size === 0 && !isNullish(context.originalBodyPointerEvents)) ownerDocument.value.body.style.pointerEvents = context.originalBodyPointerEvents;
396
+ });
397
+ }
398
+ layers.value.add(element);
399
+ }, { immediate: true });
400
+ watchEffect((cleanupFn) => {
401
+ cleanupFn(() => {
402
+ if (!layerElement.value) return;
403
+ layers.value.delete(layerElement.value);
404
+ context.layersWithOutsidePointerEventsDisabled.delete(layerElement.value);
405
+ });
406
+ });
407
+ return (_ctx, _cache) => {
408
+ return openBlock(), createBlock(unref(Primitive), {
409
+ ref: unref(forwardRef),
410
+ "as-child": _ctx.asChild,
411
+ as: _ctx.as,
412
+ "data-dismissable-layer": "",
413
+ style: normalizeStyle({ pointerEvents: isBodyPointerEventsDisabled.value ? isPointerEventsEnabled.value ? "auto" : "none" : void 0 }),
414
+ onFocusCapture: unref(focusOutside).onFocusCapture,
415
+ onBlurCapture: unref(focusOutside).onBlurCapture,
416
+ onPointerdownCapture: unref(pointerDownOutside2).onPointerDownCapture
417
+ }, {
418
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
419
+ _: 3
420
+ }, 8, [
421
+ "as-child",
422
+ "as",
423
+ "style",
424
+ "onFocusCapture",
425
+ "onBlurCapture",
426
+ "onPointerdownCapture"
427
+ ]);
428
+ };
429
+ }
430
+ });
431
+ var DismissableLayer_default = DismissableLayer_vue_vue_type_script_setup_true_lang_default;
432
+ const useFocusStackState = createGlobalState(() => {
433
+ const stack = ref([]);
434
+ return stack;
435
+ });
436
+ function createFocusScopesStack() {
437
+ const stack = useFocusStackState();
438
+ return {
439
+ add(focusScope) {
440
+ const activeFocusScope = stack.value[0];
441
+ if (focusScope !== activeFocusScope) activeFocusScope?.pause();
442
+ stack.value = arrayRemove(stack.value, focusScope);
443
+ stack.value.unshift(focusScope);
444
+ },
445
+ remove(focusScope) {
446
+ stack.value = arrayRemove(stack.value, focusScope);
447
+ stack.value[0]?.resume();
448
+ }
449
+ };
450
+ }
451
+ function arrayRemove(array, item) {
452
+ const updatedArray = [...array];
453
+ const index = updatedArray.indexOf(item);
454
+ if (index !== -1) updatedArray.splice(index, 1);
455
+ return updatedArray;
456
+ }
457
+ var FocusScope_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
458
+ __name: "FocusScope",
459
+ props: {
460
+ loop: {
461
+ type: Boolean,
462
+ required: false,
463
+ default: false
464
+ },
465
+ trapped: {
466
+ type: Boolean,
467
+ required: false,
468
+ default: false
469
+ },
470
+ asChild: {
471
+ type: Boolean,
472
+ required: false
473
+ },
474
+ as: {
475
+ type: null,
476
+ required: false
477
+ }
478
+ },
479
+ emits: ["mountAutoFocus", "unmountAutoFocus"],
480
+ setup(__props, { emit: __emit }) {
481
+ const props = __props;
482
+ const emits = __emit;
483
+ const { currentRef, currentElement } = useForwardExpose();
484
+ ref(null);
485
+ const focusScopesStack = createFocusScopesStack();
486
+ const focusScope = /* @__PURE__ */ reactive({
487
+ paused: false,
488
+ pause() {
489
+ this.paused = true;
490
+ },
491
+ resume() {
492
+ this.paused = false;
493
+ }
494
+ });
495
+ watchEffect((cleanupFn) => {
496
+ return;
497
+ });
498
+ watchEffect(async (cleanupFn) => {
499
+ const container = currentElement.value;
500
+ await nextTick();
501
+ if (!container) return;
502
+ focusScopesStack.add(focusScope);
503
+ const previouslyFocusedElement = getActiveElement();
504
+ const hasFocusedCandidate = container.contains(previouslyFocusedElement);
505
+ if (!hasFocusedCandidate) {
506
+ const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);
507
+ container.addEventListener(AUTOFOCUS_ON_MOUNT, (ev) => emits("mountAutoFocus", ev));
508
+ container.dispatchEvent(mountEvent);
509
+ if (!mountEvent.defaultPrevented) {
510
+ focusFirst$1(getTabbableCandidates(container), { select: true });
511
+ if (getActiveElement() === previouslyFocusedElement) focus(container);
512
+ }
513
+ }
514
+ cleanupFn(() => {
515
+ container.removeEventListener(AUTOFOCUS_ON_MOUNT, (ev) => emits("mountAutoFocus", ev));
516
+ const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);
517
+ const unmountEventHandler = (ev) => {
518
+ emits("unmountAutoFocus", ev);
519
+ };
520
+ container.addEventListener(AUTOFOCUS_ON_UNMOUNT, unmountEventHandler);
521
+ container.dispatchEvent(unmountEvent);
522
+ container.setAttribute("data-focus-scope-unmounting", "");
523
+ setTimeout(() => {
524
+ if (!unmountEvent.defaultPrevented) focus(previouslyFocusedElement ?? (void 0).body, { select: true });
525
+ container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, unmountEventHandler);
526
+ focusScopesStack.remove(focusScope);
527
+ container.removeAttribute("data-focus-scope-unmounting");
528
+ }, 0);
529
+ });
530
+ });
531
+ function handleKeyDown(event) {
532
+ if (!props.loop && !props.trapped) return;
533
+ if (focusScope.paused) return;
534
+ const isTabKey = event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey;
535
+ const focusedElement = getActiveElement();
536
+ if (isTabKey && focusedElement) {
537
+ const container = event.currentTarget;
538
+ const [first, last] = getTabbableEdges(container);
539
+ const hasTabbableElementsInside = first && last;
540
+ if (!hasTabbableElementsInside) {
541
+ if (focusedElement === container) event.preventDefault();
542
+ } else if (!event.shiftKey && focusedElement === last) {
543
+ event.preventDefault();
544
+ if (props.loop) focus(first, { select: true });
545
+ } else if (event.shiftKey && focusedElement === first) {
546
+ event.preventDefault();
547
+ if (props.loop) focus(last, { select: true });
548
+ }
549
+ }
550
+ }
551
+ return (_ctx, _cache) => {
552
+ return openBlock(), createBlock(unref(Primitive), {
553
+ ref_key: "currentRef",
554
+ ref: currentRef,
555
+ tabindex: "-1",
556
+ "as-child": _ctx.asChild,
557
+ as: _ctx.as,
558
+ onKeydown: handleKeyDown
559
+ }, {
560
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
561
+ _: 3
562
+ }, 8, ["as-child", "as"]);
563
+ };
564
+ }
565
+ });
566
+ var FocusScope_default = FocusScope_vue_vue_type_script_setup_true_lang_default;
567
+ function getOpenState(open) {
568
+ return open ? "open" : "closed";
569
+ }
570
+ function focusFirst(candidates) {
571
+ const PREVIOUSLY_FOCUSED_ELEMENT = getActiveElement();
572
+ for (const candidate of candidates) {
573
+ if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
574
+ candidate.focus();
575
+ if (getActiveElement() !== PREVIOUSLY_FOCUSED_ELEMENT) return;
576
+ }
577
+ }
578
+ var DialogContentImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
579
+ __name: "DialogContentImpl",
580
+ props: {
581
+ forceMount: {
582
+ type: Boolean,
583
+ required: false
584
+ },
585
+ trapFocus: {
586
+ type: Boolean,
587
+ required: false
588
+ },
589
+ disableOutsidePointerEvents: {
590
+ type: Boolean,
591
+ required: false
592
+ },
593
+ asChild: {
594
+ type: Boolean,
595
+ required: false
596
+ },
597
+ as: {
598
+ type: null,
599
+ required: false
600
+ }
601
+ },
602
+ emits: [
603
+ "escapeKeyDown",
604
+ "pointerDownOutside",
605
+ "focusOutside",
606
+ "interactOutside",
607
+ "openAutoFocus",
608
+ "closeAutoFocus"
609
+ ],
610
+ setup(__props, { emit: __emit }) {
611
+ const props = __props;
612
+ const emits = __emit;
613
+ const rootContext = injectDialogRootContext();
614
+ const { forwardRef, currentElement: contentElement } = useForwardExpose();
615
+ rootContext.titleId ||= useId(void 0, "reka-dialog-title");
616
+ rootContext.descriptionId ||= useId(void 0, "reka-dialog-description");
617
+ return (_ctx, _cache) => {
618
+ return openBlock(), createBlock(unref(FocusScope_default), {
619
+ "as-child": "",
620
+ loop: "",
621
+ trapped: props.trapFocus,
622
+ onMountAutoFocus: _cache[5] || (_cache[5] = ($event) => emits("openAutoFocus", $event)),
623
+ onUnmountAutoFocus: _cache[6] || (_cache[6] = ($event) => emits("closeAutoFocus", $event))
624
+ }, {
625
+ default: withCtx(() => [createVNode(unref(DismissableLayer_default), mergeProps({
626
+ id: unref(rootContext).contentId,
627
+ ref: unref(forwardRef),
628
+ as: _ctx.as,
629
+ "as-child": _ctx.asChild,
630
+ "disable-outside-pointer-events": _ctx.disableOutsidePointerEvents,
631
+ role: "dialog",
632
+ "aria-describedby": unref(rootContext).descriptionId,
633
+ "aria-labelledby": unref(rootContext).titleId,
634
+ "data-state": unref(getOpenState)(unref(rootContext).open.value)
635
+ }, _ctx.$attrs, {
636
+ onDismiss: _cache[0] || (_cache[0] = ($event) => unref(rootContext).onOpenChange(false)),
637
+ onEscapeKeyDown: _cache[1] || (_cache[1] = ($event) => emits("escapeKeyDown", $event)),
638
+ onFocusOutside: _cache[2] || (_cache[2] = ($event) => emits("focusOutside", $event)),
639
+ onInteractOutside: _cache[3] || (_cache[3] = ($event) => emits("interactOutside", $event)),
640
+ onPointerDownOutside: _cache[4] || (_cache[4] = ($event) => emits("pointerDownOutside", $event))
641
+ }), {
642
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
643
+ _: 3
644
+ }, 16, [
645
+ "id",
646
+ "as",
647
+ "as-child",
648
+ "disable-outside-pointer-events",
649
+ "aria-describedby",
650
+ "aria-labelledby",
651
+ "data-state"
652
+ ])]),
653
+ _: 3
654
+ }, 8, ["trapped"]);
655
+ };
656
+ }
657
+ });
658
+ var DialogContentImpl_default = DialogContentImpl_vue_vue_type_script_setup_true_lang_default;
659
+ var DialogContentModal_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
660
+ __name: "DialogContentModal",
661
+ props: {
662
+ forceMount: {
663
+ type: Boolean,
664
+ required: false
665
+ },
666
+ trapFocus: {
667
+ type: Boolean,
668
+ required: false
669
+ },
670
+ disableOutsidePointerEvents: {
671
+ type: Boolean,
672
+ required: false,
673
+ default: true
674
+ },
675
+ asChild: {
676
+ type: Boolean,
677
+ required: false
678
+ },
679
+ as: {
680
+ type: null,
681
+ required: false
682
+ }
683
+ },
684
+ emits: [
685
+ "escapeKeyDown",
686
+ "pointerDownOutside",
687
+ "focusOutside",
688
+ "interactOutside",
689
+ "openAutoFocus",
690
+ "closeAutoFocus"
691
+ ],
692
+ setup(__props, { emit: __emit }) {
693
+ const props = __props;
694
+ const emits = __emit;
695
+ const rootContext = injectDialogRootContext();
696
+ const emitsAsProps = useEmitAsProps(emits);
697
+ const { forwardRef, currentElement } = useForwardExpose();
698
+ useHideOthers(currentElement);
699
+ return (_ctx, _cache) => {
700
+ return openBlock(), createBlock(DialogContentImpl_default, mergeProps({
701
+ ...props,
702
+ ...unref(emitsAsProps)
703
+ }, {
704
+ ref: unref(forwardRef),
705
+ "trap-focus": unref(rootContext).open.value,
706
+ "disable-outside-pointer-events": props.disableOutsidePointerEvents,
707
+ onCloseAutoFocus: _cache[0] || (_cache[0] = (event) => {
708
+ if (!event.defaultPrevented) {
709
+ event.preventDefault();
710
+ unref(rootContext).triggerElement.value?.focus();
711
+ }
712
+ }),
713
+ onPointerDownOutside: _cache[1] || (_cache[1] = (event) => {
714
+ const originalEvent = event.detail.originalEvent;
715
+ const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
716
+ const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
717
+ if (isRightClick) event.preventDefault();
718
+ }),
719
+ onFocusOutside: _cache[2] || (_cache[2] = (event) => {
720
+ event.preventDefault();
721
+ })
722
+ }), {
723
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
724
+ _: 3
725
+ }, 16, ["trap-focus", "disable-outside-pointer-events"]);
726
+ };
727
+ }
728
+ });
729
+ var DialogContentModal_default = DialogContentModal_vue_vue_type_script_setup_true_lang_default;
730
+ var DialogContentNonModal_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
731
+ __name: "DialogContentNonModal",
732
+ props: {
733
+ forceMount: {
734
+ type: Boolean,
735
+ required: false
736
+ },
737
+ trapFocus: {
738
+ type: Boolean,
739
+ required: false
740
+ },
741
+ disableOutsidePointerEvents: {
742
+ type: Boolean,
743
+ required: false
744
+ },
745
+ asChild: {
746
+ type: Boolean,
747
+ required: false
748
+ },
749
+ as: {
750
+ type: null,
751
+ required: false
752
+ }
753
+ },
754
+ emits: [
755
+ "escapeKeyDown",
756
+ "pointerDownOutside",
757
+ "focusOutside",
758
+ "interactOutside",
759
+ "openAutoFocus",
760
+ "closeAutoFocus"
761
+ ],
762
+ setup(__props, { emit: __emit }) {
763
+ const props = __props;
764
+ const emits = __emit;
765
+ const emitsAsProps = useEmitAsProps(emits);
766
+ useForwardExpose();
767
+ const rootContext = injectDialogRootContext();
768
+ const hasInteractedOutsideRef = ref(false);
769
+ const hasPointerDownOutsideRef = ref(false);
770
+ return (_ctx, _cache) => {
771
+ return openBlock(), createBlock(DialogContentImpl_default, mergeProps({
772
+ ...props,
773
+ ...unref(emitsAsProps)
774
+ }, {
775
+ "trap-focus": false,
776
+ "disable-outside-pointer-events": false,
777
+ onCloseAutoFocus: _cache[0] || (_cache[0] = (event) => {
778
+ if (!event.defaultPrevented) {
779
+ if (!hasInteractedOutsideRef.value) unref(rootContext).triggerElement.value?.focus();
780
+ event.preventDefault();
781
+ }
782
+ hasInteractedOutsideRef.value = false;
783
+ hasPointerDownOutsideRef.value = false;
784
+ }),
785
+ onInteractOutside: _cache[1] || (_cache[1] = (event) => {
786
+ if (!event.defaultPrevented) {
787
+ hasInteractedOutsideRef.value = true;
788
+ if (event.detail.originalEvent.type === "pointerdown") hasPointerDownOutsideRef.value = true;
789
+ }
790
+ const target = event.target;
791
+ const targetIsTrigger = unref(rootContext).triggerElement.value?.contains(target);
792
+ if (targetIsTrigger) event.preventDefault();
793
+ if (event.detail.originalEvent.type === "focusin" && hasPointerDownOutsideRef.value) event.preventDefault();
794
+ })
795
+ }), {
796
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
797
+ _: 3
798
+ }, 16);
799
+ };
800
+ }
801
+ });
802
+ var DialogContentNonModal_default = DialogContentNonModal_vue_vue_type_script_setup_true_lang_default;
803
+ var DialogContent_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
804
+ __name: "DialogContent",
805
+ props: {
806
+ forceMount: {
807
+ type: Boolean,
808
+ required: false
809
+ },
810
+ disableOutsidePointerEvents: {
811
+ type: Boolean,
812
+ required: false,
813
+ default: void 0
814
+ },
815
+ asChild: {
816
+ type: Boolean,
817
+ required: false
818
+ },
819
+ as: {
820
+ type: null,
821
+ required: false
822
+ }
823
+ },
824
+ emits: [
825
+ "escapeKeyDown",
826
+ "pointerDownOutside",
827
+ "focusOutside",
828
+ "interactOutside",
829
+ "openAutoFocus",
830
+ "closeAutoFocus"
831
+ ],
832
+ setup(__props, { emit: __emit }) {
833
+ const props = __props;
834
+ const emits = __emit;
835
+ const rootContext = injectDialogRootContext();
836
+ const emitsAsProps = useEmitAsProps(emits);
837
+ const { forwardRef } = useForwardExpose();
838
+ return (_ctx, _cache) => {
839
+ return openBlock(), createBlock(unref(Presence_default), { present: _ctx.forceMount || unref(rootContext).open.value }, {
840
+ default: withCtx(() => [unref(rootContext).modal.value ? (openBlock(), createBlock(DialogContentModal_default, mergeProps({
841
+ key: 0,
842
+ ref: unref(forwardRef)
843
+ }, {
844
+ ...props,
845
+ ...unref(emitsAsProps),
846
+ ..._ctx.$attrs
847
+ }), {
848
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
849
+ _: 3
850
+ }, 16)) : (openBlock(), createBlock(DialogContentNonModal_default, mergeProps({
851
+ key: 1,
852
+ ref: unref(forwardRef)
853
+ }, {
854
+ ...props,
855
+ ...unref(emitsAsProps),
856
+ ..._ctx.$attrs
857
+ }), {
858
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
859
+ _: 3
860
+ }, 16))]),
861
+ _: 3
862
+ }, 8, ["present"]);
863
+ };
864
+ }
865
+ });
866
+ var DialogContent_default = DialogContent_vue_vue_type_script_setup_true_lang_default;
867
+ var DialogDescription_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
868
+ __name: "DialogDescription",
869
+ props: {
870
+ asChild: {
871
+ type: Boolean,
872
+ required: false
873
+ },
874
+ as: {
875
+ type: null,
876
+ required: false,
877
+ default: "p"
878
+ }
879
+ },
880
+ setup(__props) {
881
+ const props = __props;
882
+ useForwardExpose();
883
+ const rootContext = injectDialogRootContext();
884
+ return (_ctx, _cache) => {
885
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, { id: unref(rootContext).descriptionId }), {
886
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
887
+ _: 3
888
+ }, 16, ["id"]);
889
+ };
890
+ }
891
+ });
892
+ var DialogDescription_default = DialogDescription_vue_vue_type_script_setup_true_lang_default;
893
+ var DialogOverlayImpl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
894
+ __name: "DialogOverlayImpl",
895
+ props: {
896
+ asChild: {
897
+ type: Boolean,
898
+ required: false
899
+ },
900
+ as: {
901
+ type: null,
902
+ required: false
903
+ }
904
+ },
905
+ setup(__props) {
906
+ const rootContext = injectDialogRootContext();
907
+ useBodyScrollLock(true);
908
+ useForwardExpose();
909
+ return (_ctx, _cache) => {
910
+ return openBlock(), createBlock(unref(Primitive), {
911
+ as: _ctx.as,
912
+ "as-child": _ctx.asChild,
913
+ "data-state": unref(rootContext).open.value ? "open" : "closed",
914
+ style: { "pointer-events": "auto" },
915
+ onPointerdown: _cache[0] || (_cache[0] = withModifiers(() => {
916
+ }, [
917
+ "left",
918
+ "self",
919
+ "prevent"
920
+ ]))
921
+ }, {
922
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
923
+ _: 3
924
+ }, 8, [
925
+ "as",
926
+ "as-child",
927
+ "data-state"
928
+ ]);
929
+ };
930
+ }
931
+ });
932
+ var DialogOverlayImpl_default = DialogOverlayImpl_vue_vue_type_script_setup_true_lang_default;
933
+ var DialogOverlay_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
934
+ __name: "DialogOverlay",
935
+ props: {
936
+ forceMount: {
937
+ type: Boolean,
938
+ required: false
939
+ },
940
+ asChild: {
941
+ type: Boolean,
942
+ required: false
943
+ },
944
+ as: {
945
+ type: null,
946
+ required: false
947
+ }
948
+ },
949
+ setup(__props) {
950
+ const rootContext = injectDialogRootContext();
951
+ const { forwardRef } = useForwardExpose();
952
+ return (_ctx, _cache) => {
953
+ return unref(rootContext)?.modal.value ? (openBlock(), createBlock(unref(Presence_default), {
954
+ key: 0,
955
+ present: _ctx.forceMount || unref(rootContext).open.value
956
+ }, {
957
+ default: withCtx(() => [createVNode(DialogOverlayImpl_default, mergeProps(_ctx.$attrs, {
958
+ ref: unref(forwardRef),
959
+ as: _ctx.as,
960
+ "as-child": _ctx.asChild
961
+ }), {
962
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
963
+ _: 3
964
+ }, 16, ["as", "as-child"])]),
965
+ _: 3
966
+ }, 8, ["present"])) : createCommentVNode("v-if", true);
967
+ };
968
+ }
969
+ });
970
+ var DialogOverlay_default = DialogOverlay_vue_vue_type_script_setup_true_lang_default;
971
+ var DialogPortal_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
972
+ __name: "DialogPortal",
973
+ props: {
974
+ to: {
975
+ type: null,
976
+ required: false
977
+ },
978
+ disabled: {
979
+ type: Boolean,
980
+ required: false
981
+ },
982
+ defer: {
983
+ type: Boolean,
984
+ required: false
985
+ },
986
+ forceMount: {
987
+ type: Boolean,
988
+ required: false
989
+ }
990
+ },
991
+ setup(__props) {
992
+ const props = __props;
993
+ return (_ctx, _cache) => {
994
+ return openBlock(), createBlock(unref(Teleport_default), normalizeProps(guardReactiveProps(props)), {
995
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
996
+ _: 3
997
+ }, 16);
998
+ };
999
+ }
1000
+ });
1001
+ var DialogPortal_default = DialogPortal_vue_vue_type_script_setup_true_lang_default;
1002
+ var DialogTitle_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
1003
+ __name: "DialogTitle",
1004
+ props: {
1005
+ asChild: {
1006
+ type: Boolean,
1007
+ required: false
1008
+ },
1009
+ as: {
1010
+ type: null,
1011
+ required: false,
1012
+ default: "h2"
1013
+ }
1014
+ },
1015
+ setup(__props) {
1016
+ const props = __props;
1017
+ const rootContext = injectDialogRootContext();
1018
+ useForwardExpose();
1019
+ return (_ctx, _cache) => {
1020
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, { id: unref(rootContext).titleId }), {
1021
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
1022
+ _: 3
1023
+ }, 16, ["id"]);
1024
+ };
1025
+ }
1026
+ });
1027
+ var DialogTitle_default = DialogTitle_vue_vue_type_script_setup_true_lang_default;
1028
+ var DialogTrigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
1029
+ __name: "DialogTrigger",
1030
+ props: {
1031
+ asChild: {
1032
+ type: Boolean,
1033
+ required: false
1034
+ },
1035
+ as: {
1036
+ type: null,
1037
+ required: false,
1038
+ default: "button"
1039
+ }
1040
+ },
1041
+ setup(__props) {
1042
+ const props = __props;
1043
+ const rootContext = injectDialogRootContext();
1044
+ const { forwardRef } = useForwardExpose();
1045
+ rootContext.contentId ||= useId(void 0, "reka-dialog-content");
1046
+ return (_ctx, _cache) => {
1047
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
1048
+ ref: unref(forwardRef),
1049
+ type: _ctx.as === "button" ? "button" : void 0,
1050
+ "aria-haspopup": "dialog",
1051
+ "aria-expanded": unref(rootContext).open.value || false,
1052
+ "aria-controls": unref(rootContext).open.value ? unref(rootContext).contentId : void 0,
1053
+ "data-state": unref(rootContext).open.value ? "open" : "closed",
1054
+ onClick: unref(rootContext).onOpenToggle
1055
+ }), {
1056
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
1057
+ _: 3
1058
+ }, 16, [
1059
+ "type",
1060
+ "aria-expanded",
1061
+ "aria-controls",
1062
+ "data-state",
1063
+ "onClick"
1064
+ ]);
1065
+ };
1066
+ }
1067
+ });
1068
+ var DialogTrigger_default = DialogTrigger_vue_vue_type_script_setup_true_lang_default;
1069
+ const [injectPopperRootContext, providePopperRootContext] = /* @__PURE__ */ createContext("PopperRoot");
1070
+ var PopperRoot_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
1071
+ inheritAttrs: false,
1072
+ __name: "PopperRoot",
1073
+ setup(__props) {
1074
+ const anchor = ref();
1075
+ providePopperRootContext({
1076
+ anchor,
1077
+ onAnchorChange: (element) => anchor.value = element
1078
+ });
1079
+ return (_ctx, _cache) => {
1080
+ return renderSlot(_ctx.$slots, "default");
1081
+ };
1082
+ }
1083
+ });
1084
+ var PopperRoot_default = PopperRoot_vue_vue_type_script_setup_true_lang_default;
1085
+ var PopperAnchor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
1086
+ __name: "PopperAnchor",
1087
+ props: {
1088
+ reference: {
1089
+ type: null,
1090
+ required: false
1091
+ },
1092
+ asChild: {
1093
+ type: Boolean,
1094
+ required: false
1095
+ },
1096
+ as: {
1097
+ type: null,
1098
+ required: false
1099
+ }
1100
+ },
1101
+ setup(__props) {
1102
+ const props = __props;
1103
+ const { forwardRef, currentElement } = useForwardExpose();
1104
+ const rootContext = injectPopperRootContext();
1105
+ watchPostEffect(() => {
1106
+ rootContext.onAnchorChange(props.reference ?? currentElement.value);
1107
+ });
1108
+ return (_ctx, _cache) => {
1109
+ return openBlock(), createBlock(unref(Primitive), {
1110
+ ref: unref(forwardRef),
1111
+ as: _ctx.as,
1112
+ "as-child": _ctx.asChild
1113
+ }, {
1114
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
1115
+ _: 3
1116
+ }, 8, ["as", "as-child"]);
1117
+ };
1118
+ }
1119
+ });
1120
+ var PopperAnchor_default = PopperAnchor_vue_vue_type_script_setup_true_lang_default;
1121
+ const _hoisted_1 = {
1122
+ key: 0,
1123
+ d: "M0 0L6 6L12 0"
1124
+ };
1125
+ const _hoisted_2 = {
1126
+ key: 1,
1127
+ d: "M0 0L4.58579 4.58579C5.36683 5.36683 6.63316 5.36684 7.41421 4.58579L12 0"
1128
+ };
1129
+ var Arrow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
1130
+ __name: "Arrow",
1131
+ props: {
1132
+ width: {
1133
+ type: Number,
1134
+ required: false,
1135
+ default: 10
1136
+ },
1137
+ height: {
1138
+ type: Number,
1139
+ required: false,
1140
+ default: 5
1141
+ },
1142
+ rounded: {
1143
+ type: Boolean,
1144
+ required: false
1145
+ },
1146
+ asChild: {
1147
+ type: Boolean,
1148
+ required: false
1149
+ },
1150
+ as: {
1151
+ type: null,
1152
+ required: false,
1153
+ default: "svg"
1154
+ }
1155
+ },
1156
+ setup(__props) {
1157
+ const props = __props;
1158
+ useForwardExpose();
1159
+ return (_ctx, _cache) => {
1160
+ return openBlock(), createBlock(unref(Primitive), mergeProps(props, {
1161
+ width: _ctx.width,
1162
+ height: _ctx.height,
1163
+ viewBox: _ctx.asChild ? void 0 : "0 0 12 6",
1164
+ preserveAspectRatio: _ctx.asChild ? void 0 : "none"
1165
+ }), {
1166
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [!_ctx.rounded ? (openBlock(), createElementBlock("path", _hoisted_1)) : (openBlock(), createElementBlock("path", _hoisted_2))])]),
1167
+ _: 3
1168
+ }, 16, [
1169
+ "width",
1170
+ "height",
1171
+ "viewBox",
1172
+ "preserveAspectRatio"
1173
+ ]);
1174
+ };
1175
+ }
1176
+ });
1177
+ var Arrow_default = Arrow_vue_vue_type_script_setup_true_lang_default;
1178
+ function isNotNull(value) {
1179
+ return value !== null;
1180
+ }
1181
+ function transformOrigin(options) {
1182
+ return {
1183
+ name: "transformOrigin",
1184
+ options,
1185
+ fn(data) {
1186
+ const { placement, rects, middlewareData } = data;
1187
+ const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;
1188
+ const isArrowHidden = cannotCenterArrow;
1189
+ const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;
1190
+ const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;
1191
+ const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
1192
+ const noArrowAlign = {
1193
+ start: "0%",
1194
+ center: "50%",
1195
+ end: "100%"
1196
+ }[placedAlign];
1197
+ const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;
1198
+ const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;
1199
+ let x = "";
1200
+ let y = "";
1201
+ if (placedSide === "bottom") {
1202
+ x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
1203
+ y = `${-arrowHeight}px`;
1204
+ } else if (placedSide === "top") {
1205
+ x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
1206
+ y = `${rects.floating.height + arrowHeight}px`;
1207
+ } else if (placedSide === "right") {
1208
+ x = `${-arrowHeight}px`;
1209
+ y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
1210
+ } else if (placedSide === "left") {
1211
+ x = `${rects.floating.width + arrowHeight}px`;
1212
+ y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
1213
+ }
1214
+ return { data: {
1215
+ x,
1216
+ y
1217
+ } };
1218
+ }
1219
+ };
1220
+ }
1221
+ function getSideAndAlignFromPlacement(placement) {
1222
+ const [side, align = "center"] = placement.split("-");
1223
+ return [side, align];
1224
+ }
1225
+ const sides = ["top", "right", "bottom", "left"];
1226
+ const min = Math.min;
1227
+ const max = Math.max;
1228
+ const round = Math.round;
1229
+ const floor = Math.floor;
1230
+ const createCoords = (v) => ({
1231
+ x: v,
1232
+ y: v
1233
+ });
1234
+ const oppositeSideMap = {
1235
+ left: "right",
1236
+ right: "left",
1237
+ bottom: "top",
1238
+ top: "bottom"
1239
+ };
1240
+ function clamp(start, value, end) {
1241
+ return max(start, min(value, end));
1242
+ }
1243
+ function evaluate(value, param) {
1244
+ return typeof value === "function" ? value(param) : value;
1245
+ }
1246
+ function getSide(placement) {
1247
+ return placement.split("-")[0];
1248
+ }
1249
+ function getAlignment(placement) {
1250
+ return placement.split("-")[1];
1251
+ }
1252
+ function getOppositeAxis(axis) {
1253
+ return axis === "x" ? "y" : "x";
1254
+ }
1255
+ function getAxisLength(axis) {
1256
+ return axis === "y" ? "height" : "width";
1257
+ }
1258
+ function getSideAxis(placement) {
1259
+ const firstChar = placement[0];
1260
+ return firstChar === "t" || firstChar === "b" ? "y" : "x";
1261
+ }
1262
+ function getAlignmentAxis(placement) {
1263
+ return getOppositeAxis(getSideAxis(placement));
1264
+ }
1265
+ function getAlignmentSides(placement, rects, rtl) {
1266
+ if (rtl === void 0) {
1267
+ rtl = false;
1268
+ }
1269
+ const alignment = getAlignment(placement);
1270
+ const alignmentAxis = getAlignmentAxis(placement);
1271
+ const length = getAxisLength(alignmentAxis);
1272
+ let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top";
1273
+ if (rects.reference[length] > rects.floating[length]) {
1274
+ mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
1275
+ }
1276
+ return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
1277
+ }
1278
+ function getExpandedPlacements(placement) {
1279
+ const oppositePlacement = getOppositePlacement(placement);
1280
+ return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
1281
+ }
1282
+ function getOppositeAlignmentPlacement(placement) {
1283
+ return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
1284
+ }
1285
+ const lrPlacement = ["left", "right"];
1286
+ const rlPlacement = ["right", "left"];
1287
+ const tbPlacement = ["top", "bottom"];
1288
+ const btPlacement = ["bottom", "top"];
1289
+ function getSideList(side, isStart, rtl) {
1290
+ switch (side) {
1291
+ case "top":
1292
+ case "bottom":
1293
+ if (rtl) return isStart ? rlPlacement : lrPlacement;
1294
+ return isStart ? lrPlacement : rlPlacement;
1295
+ case "left":
1296
+ case "right":
1297
+ return isStart ? tbPlacement : btPlacement;
1298
+ default:
1299
+ return [];
1300
+ }
1301
+ }
1302
+ function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
1303
+ const alignment = getAlignment(placement);
1304
+ let list = getSideList(getSide(placement), direction === "start", rtl);
1305
+ if (alignment) {
1306
+ list = list.map((side) => side + "-" + alignment);
1307
+ if (flipAlignment) {
1308
+ list = list.concat(list.map(getOppositeAlignmentPlacement));
1309
+ }
1310
+ }
1311
+ return list;
1312
+ }
1313
+ function getOppositePlacement(placement) {
1314
+ const side = getSide(placement);
1315
+ return oppositeSideMap[side] + placement.slice(side.length);
1316
+ }
1317
+ function expandPaddingObject(padding) {
1318
+ var _padding$top, _padding$right, _padding$bottom, _padding$left;
1319
+ return {
1320
+ top: (_padding$top = padding.top) != null ? _padding$top : 0,
1321
+ right: (_padding$right = padding.right) != null ? _padding$right : 0,
1322
+ bottom: (_padding$bottom = padding.bottom) != null ? _padding$bottom : 0,
1323
+ left: (_padding$left = padding.left) != null ? _padding$left : 0
1324
+ };
1325
+ }
1326
+ function getPaddingObject(padding) {
1327
+ return typeof padding !== "number" ? expandPaddingObject(padding) : {
1328
+ top: padding,
1329
+ right: padding,
1330
+ bottom: padding,
1331
+ left: padding
1332
+ };
1333
+ }
1334
+ function rectToClientRect(rect) {
1335
+ const {
1336
+ x,
1337
+ y,
1338
+ width,
1339
+ height
1340
+ } = rect;
1341
+ return {
1342
+ width,
1343
+ height,
1344
+ top: y,
1345
+ left: x,
1346
+ right: x + width,
1347
+ bottom: y + height,
1348
+ x,
1349
+ y
1350
+ };
1351
+ }
1352
+ function computeCoordsFromPlacement(_ref, placement, rtl) {
1353
+ let {
1354
+ reference,
1355
+ floating
1356
+ } = _ref;
1357
+ const sideAxis = getSideAxis(placement);
1358
+ const alignmentAxis = getAlignmentAxis(placement);
1359
+ const alignLength = getAxisLength(alignmentAxis);
1360
+ const side = getSide(placement);
1361
+ const isVertical = sideAxis === "y";
1362
+ const commonX = reference.x + reference.width / 2 - floating.width / 2;
1363
+ const commonY = reference.y + reference.height / 2 - floating.height / 2;
1364
+ const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
1365
+ let coords;
1366
+ switch (side) {
1367
+ case "top":
1368
+ coords = {
1369
+ x: commonX,
1370
+ y: reference.y - floating.height
1371
+ };
1372
+ break;
1373
+ case "bottom":
1374
+ coords = {
1375
+ x: commonX,
1376
+ y: reference.y + reference.height
1377
+ };
1378
+ break;
1379
+ case "right":
1380
+ coords = {
1381
+ x: reference.x + reference.width,
1382
+ y: commonY
1383
+ };
1384
+ break;
1385
+ case "left":
1386
+ coords = {
1387
+ x: reference.x - floating.width,
1388
+ y: commonY
1389
+ };
1390
+ break;
1391
+ default:
1392
+ coords = {
1393
+ x: reference.x,
1394
+ y: reference.y
1395
+ };
1396
+ }
1397
+ const alignment = getAlignment(placement);
1398
+ if (alignment) {
1399
+ coords[alignmentAxis] += commonAlign * (alignment === "end" ? 1 : -1) * (rtl && isVertical ? -1 : 1);
1400
+ }
1401
+ return coords;
1402
+ }
1403
+ async function detectOverflow(state, options) {
1404
+ var _await$platform$isEle;
1405
+ if (options === void 0) {
1406
+ options = {};
1407
+ }
1408
+ const {
1409
+ x,
1410
+ y,
1411
+ platform: platform2,
1412
+ rects,
1413
+ elements,
1414
+ strategy
1415
+ } = state;
1416
+ const {
1417
+ boundary = "clippingAncestors",
1418
+ rootBoundary = "viewport",
1419
+ elementContext = "floating",
1420
+ altBoundary = false,
1421
+ padding = 0
1422
+ } = evaluate(options, state);
1423
+ const paddingObject = getPaddingObject(padding);
1424
+ const altContext = elementContext === "floating" ? "reference" : "floating";
1425
+ const element = elements[altBoundary ? altContext : elementContext];
1426
+ const clippingClientRect = rectToClientRect(await platform2.getClippingRect({
1427
+ element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)),
1428
+ boundary,
1429
+ rootBoundary,
1430
+ strategy
1431
+ }));
1432
+ const rect = elementContext === "floating" ? {
1433
+ x,
1434
+ y,
1435
+ width: rects.floating.width,
1436
+ height: rects.floating.height
1437
+ } : rects.reference;
1438
+ const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating));
1439
+ const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) && await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || {
1440
+ x: 1,
1441
+ y: 1
1442
+ };
1443
+ const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({
1444
+ elements,
1445
+ rect,
1446
+ offsetParent,
1447
+ strategy
1448
+ }) : rect);
1449
+ return {
1450
+ top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
1451
+ bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
1452
+ left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
1453
+ right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
1454
+ };
1455
+ }
1456
+ const MAX_RESET_COUNT = 50;
1457
+ const computePosition$1 = async (reference, floating, config) => {
1458
+ const {
1459
+ placement = "bottom",
1460
+ strategy = "absolute",
1461
+ middleware = [],
1462
+ platform: platform2
1463
+ } = config;
1464
+ const platformWithDetectOverflow = platform2.detectOverflow ? platform2 : {
1465
+ ...platform2,
1466
+ detectOverflow
1467
+ };
1468
+ const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating));
1469
+ let rects = await platform2.getElementRects({
1470
+ reference,
1471
+ floating,
1472
+ strategy
1473
+ });
1474
+ let {
1475
+ x,
1476
+ y
1477
+ } = computeCoordsFromPlacement(rects, placement, rtl);
1478
+ let statefulPlacement = placement;
1479
+ let resetCount = 0;
1480
+ const middlewareData = {};
1481
+ for (let i = 0; i < middleware.length; i++) {
1482
+ const currentMiddleware = middleware[i];
1483
+ if (!currentMiddleware) {
1484
+ continue;
1485
+ }
1486
+ const {
1487
+ name,
1488
+ fn
1489
+ } = currentMiddleware;
1490
+ const {
1491
+ x: nextX,
1492
+ y: nextY,
1493
+ data,
1494
+ reset
1495
+ } = await fn({
1496
+ x,
1497
+ y,
1498
+ initialPlacement: placement,
1499
+ placement: statefulPlacement,
1500
+ strategy,
1501
+ middlewareData,
1502
+ rects,
1503
+ platform: platformWithDetectOverflow,
1504
+ elements: {
1505
+ reference,
1506
+ floating
1507
+ }
1508
+ });
1509
+ x = nextX != null ? nextX : x;
1510
+ y = nextY != null ? nextY : y;
1511
+ middlewareData[name] = {
1512
+ ...middlewareData[name],
1513
+ ...data
1514
+ };
1515
+ if (reset && resetCount < MAX_RESET_COUNT) {
1516
+ resetCount++;
1517
+ if (typeof reset === "object") {
1518
+ if (reset.placement) {
1519
+ statefulPlacement = reset.placement;
1520
+ }
1521
+ if (reset.rects) {
1522
+ rects = reset.rects === true ? await platform2.getElementRects({
1523
+ reference,
1524
+ floating,
1525
+ strategy
1526
+ }) : reset.rects;
1527
+ }
1528
+ ({
1529
+ x,
1530
+ y
1531
+ } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
1532
+ }
1533
+ i = -1;
1534
+ }
1535
+ }
1536
+ return {
1537
+ x,
1538
+ y,
1539
+ placement: statefulPlacement,
1540
+ strategy,
1541
+ middlewareData
1542
+ };
1543
+ };
1544
+ const arrow$2 = (options) => ({
1545
+ name: "arrow",
1546
+ options,
1547
+ async fn(state) {
1548
+ const {
1549
+ x,
1550
+ y,
1551
+ placement,
1552
+ rects,
1553
+ platform: platform2,
1554
+ elements,
1555
+ middlewareData
1556
+ } = state;
1557
+ const {
1558
+ element,
1559
+ padding = 0
1560
+ } = evaluate(options, state) || {};
1561
+ if (element == null) {
1562
+ return {};
1563
+ }
1564
+ const paddingObject = getPaddingObject(padding);
1565
+ const coords = {
1566
+ x,
1567
+ y
1568
+ };
1569
+ const axis = getAlignmentAxis(placement);
1570
+ const length = getAxisLength(axis);
1571
+ const arrowDimensions = await platform2.getDimensions(element);
1572
+ const isYAxis = axis === "y";
1573
+ const minProp = isYAxis ? "top" : "left";
1574
+ const maxProp = isYAxis ? "bottom" : "right";
1575
+ const clientProp = isYAxis ? "clientHeight" : "clientWidth";
1576
+ const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];
1577
+ const startDiff = coords[axis] - rects.reference[axis];
1578
+ const arrowOffsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(element));
1579
+ let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;
1580
+ if (!clientSize || !await (platform2.isElement == null ? void 0 : platform2.isElement(arrowOffsetParent))) {
1581
+ clientSize = elements.floating[clientProp] || rects.floating[length];
1582
+ }
1583
+ const centerToReference = endDiff / 2 - startDiff / 2;
1584
+ const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
1585
+ const minPadding = min(paddingObject[minProp], largestPossiblePadding);
1586
+ const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);
1587
+ const max2 = clientSize - arrowDimensions[length] - maxPadding;
1588
+ const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
1589
+ const offset2 = clamp(minPadding, center, max2);
1590
+ const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset2 && rects.reference[length] / 2 - (center < minPadding ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
1591
+ const alignmentOffset = shouldAddOffset ? center < minPadding ? center - minPadding : center - max2 : 0;
1592
+ return {
1593
+ [axis]: coords[axis] + alignmentOffset,
1594
+ data: {
1595
+ [axis]: offset2,
1596
+ centerOffset: center - offset2 - alignmentOffset,
1597
+ ...shouldAddOffset && {
1598
+ alignmentOffset
1599
+ }
1600
+ },
1601
+ reset: shouldAddOffset
1602
+ };
1603
+ }
1604
+ });
1605
+ const flip$1 = function(options) {
1606
+ if (options === void 0) {
1607
+ options = {};
1608
+ }
1609
+ return {
1610
+ name: "flip",
1611
+ options,
1612
+ async fn(state) {
1613
+ var _middlewareData$arrow, _middlewareData$flip;
1614
+ const {
1615
+ placement,
1616
+ middlewareData,
1617
+ rects,
1618
+ initialPlacement,
1619
+ platform: platform2,
1620
+ elements
1621
+ } = state;
1622
+ const {
1623
+ mainAxis: checkMainAxis = true,
1624
+ crossAxis: checkCrossAxis = true,
1625
+ fallbackPlacements: specifiedFallbackPlacements,
1626
+ fallbackStrategy = "bestFit",
1627
+ fallbackAxisSideDirection = "none",
1628
+ flipAlignment = true,
1629
+ ...detectOverflowOptions
1630
+ } = evaluate(options, state);
1631
+ if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
1632
+ return {};
1633
+ }
1634
+ const side = getSide(placement);
1635
+ const initialSideAxis = getSideAxis(initialPlacement);
1636
+ const isBasePlacement = getSide(initialPlacement) === initialPlacement;
1637
+ const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));
1638
+ const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
1639
+ const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none";
1640
+ if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
1641
+ fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
1642
+ }
1643
+ const placements2 = [initialPlacement, ...fallbackPlacements];
1644
+ const overflow = await platform2.detectOverflow(state, detectOverflowOptions);
1645
+ const overflows = [];
1646
+ let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
1647
+ if (checkMainAxis) {
1648
+ overflows.push(overflow[side]);
1649
+ }
1650
+ if (checkCrossAxis) {
1651
+ const sides2 = getAlignmentSides(placement, rects, rtl);
1652
+ overflows.push(overflow[sides2[0]], overflow[sides2[1]]);
1653
+ }
1654
+ overflowsData = [...overflowsData, {
1655
+ placement,
1656
+ overflows
1657
+ }];
1658
+ if (!overflows.every((side2) => side2 <= 0)) {
1659
+ var _middlewareData$flip2, _overflowsData$filter;
1660
+ const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
1661
+ const nextPlacement = placements2[nextIndex];
1662
+ if (nextPlacement) {
1663
+ const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false;
1664
+ if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis
1665
+ // overflows the main axis.
1666
+ overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
1667
+ return {
1668
+ data: {
1669
+ index: nextIndex,
1670
+ overflows: overflowsData
1671
+ },
1672
+ reset: {
1673
+ placement: nextPlacement
1674
+ }
1675
+ };
1676
+ }
1677
+ }
1678
+ let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;
1679
+ if (!resetPlacement) {
1680
+ switch (fallbackStrategy) {
1681
+ case "bestFit": {
1682
+ var _overflowsData$filter2;
1683
+ const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {
1684
+ if (hasFallbackAxisSideDirection) {
1685
+ const currentSideAxis = getSideAxis(d.placement);
1686
+ return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal
1687
+ // reading directions favoring greater width.
1688
+ currentSideAxis === "y";
1689
+ }
1690
+ return true;
1691
+ }).map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];
1692
+ if (placement2) {
1693
+ resetPlacement = placement2;
1694
+ }
1695
+ break;
1696
+ }
1697
+ case "initialPlacement":
1698
+ resetPlacement = initialPlacement;
1699
+ break;
1700
+ }
1701
+ }
1702
+ if (placement !== resetPlacement) {
1703
+ return {
1704
+ reset: {
1705
+ placement: resetPlacement
1706
+ }
1707
+ };
1708
+ }
1709
+ }
1710
+ return {};
1711
+ }
1712
+ };
1713
+ };
1714
+ function getSideOffsets(overflow, rect) {
1715
+ return {
1716
+ top: overflow.top - rect.height,
1717
+ right: overflow.right - rect.width,
1718
+ bottom: overflow.bottom - rect.height,
1719
+ left: overflow.left - rect.width
1720
+ };
1721
+ }
1722
+ function isAnySideFullyClipped(overflow) {
1723
+ return sides.some((side) => overflow[side] >= 0);
1724
+ }
1725
+ const hide$1 = function(options) {
1726
+ if (options === void 0) {
1727
+ options = {};
1728
+ }
1729
+ return {
1730
+ name: "hide",
1731
+ options,
1732
+ async fn(state) {
1733
+ const {
1734
+ rects,
1735
+ platform: platform2
1736
+ } = state;
1737
+ const {
1738
+ strategy = "referenceHidden",
1739
+ ...detectOverflowOptions
1740
+ } = evaluate(options, state);
1741
+ switch (strategy) {
1742
+ case "referenceHidden": {
1743
+ const overflow = await platform2.detectOverflow(state, {
1744
+ ...detectOverflowOptions,
1745
+ elementContext: "reference"
1746
+ });
1747
+ const offsets = getSideOffsets(overflow, rects.reference);
1748
+ return {
1749
+ data: {
1750
+ referenceHiddenOffsets: offsets,
1751
+ referenceHidden: isAnySideFullyClipped(offsets)
1752
+ }
1753
+ };
1754
+ }
1755
+ case "escaped": {
1756
+ const overflow = await platform2.detectOverflow(state, {
1757
+ ...detectOverflowOptions,
1758
+ altBoundary: true
1759
+ });
1760
+ const offsets = getSideOffsets(overflow, rects.floating);
1761
+ return {
1762
+ data: {
1763
+ escapedOffsets: offsets,
1764
+ escaped: isAnySideFullyClipped(offsets)
1765
+ }
1766
+ };
1767
+ }
1768
+ default: {
1769
+ return {};
1770
+ }
1771
+ }
1772
+ }
1773
+ };
1774
+ };
1775
+ const originSides = /* @__PURE__ */ new Set(["left", "top"]);
1776
+ async function convertValueToCoords(state, options) {
1777
+ const {
1778
+ placement,
1779
+ platform: platform2,
1780
+ elements
1781
+ } = state;
1782
+ const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));
1783
+ const side = getSide(placement);
1784
+ const alignment = getAlignment(placement);
1785
+ const isVertical = getSideAxis(placement) === "y";
1786
+ const mainAxisMulti = originSides.has(side) ? -1 : 1;
1787
+ const crossAxisMulti = rtl && isVertical ? -1 : 1;
1788
+ const rawValue = evaluate(options, state);
1789
+ let {
1790
+ mainAxis,
1791
+ crossAxis,
1792
+ alignmentAxis
1793
+ } = typeof rawValue === "number" ? {
1794
+ mainAxis: rawValue,
1795
+ crossAxis: 0,
1796
+ alignmentAxis: null
1797
+ } : {
1798
+ mainAxis: rawValue.mainAxis || 0,
1799
+ crossAxis: rawValue.crossAxis || 0,
1800
+ alignmentAxis: rawValue.alignmentAxis
1801
+ };
1802
+ if (alignment && typeof alignmentAxis === "number") {
1803
+ crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis;
1804
+ }
1805
+ return isVertical ? {
1806
+ x: crossAxis * crossAxisMulti,
1807
+ y: mainAxis * mainAxisMulti
1808
+ } : {
1809
+ x: mainAxis * mainAxisMulti,
1810
+ y: crossAxis * crossAxisMulti
1811
+ };
1812
+ }
1813
+ const offset$1 = function(options) {
1814
+ if (options === void 0) {
1815
+ options = 0;
1816
+ }
1817
+ return {
1818
+ name: "offset",
1819
+ options,
1820
+ async fn(state) {
1821
+ var _middlewareData$offse, _middlewareData$arrow;
1822
+ const {
1823
+ x,
1824
+ y,
1825
+ placement,
1826
+ middlewareData
1827
+ } = state;
1828
+ const diffCoords = await convertValueToCoords(state, options);
1829
+ if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
1830
+ return {};
1831
+ }
1832
+ return {
1833
+ x: x + diffCoords.x,
1834
+ y: y + diffCoords.y,
1835
+ data: {
1836
+ ...diffCoords,
1837
+ placement
1838
+ }
1839
+ };
1840
+ }
1841
+ };
1842
+ };
1843
+ const shift$1 = function(options) {
1844
+ if (options === void 0) {
1845
+ options = {};
1846
+ }
1847
+ return {
1848
+ name: "shift",
1849
+ options,
1850
+ async fn(state) {
1851
+ const {
1852
+ x,
1853
+ y,
1854
+ placement,
1855
+ platform: platform2
1856
+ } = state;
1857
+ const {
1858
+ mainAxis: checkMainAxis = true,
1859
+ crossAxis: checkCrossAxis = false,
1860
+ limiter = {
1861
+ fn: (_ref) => {
1862
+ let {
1863
+ x: x2,
1864
+ y: y2
1865
+ } = _ref;
1866
+ return {
1867
+ x: x2,
1868
+ y: y2
1869
+ };
1870
+ }
1871
+ },
1872
+ ...detectOverflowOptions
1873
+ } = evaluate(options, state);
1874
+ const coords = {
1875
+ x,
1876
+ y
1877
+ };
1878
+ const overflow = await platform2.detectOverflow(state, detectOverflowOptions);
1879
+ const crossAxis = getSideAxis(placement);
1880
+ const mainAxis = getOppositeAxis(crossAxis);
1881
+ let mainAxisCoord = coords[mainAxis];
1882
+ let crossAxisCoord = coords[crossAxis];
1883
+ const clampCoord = (axis, coord) => clamp(coord + overflow[axis === "y" ? "top" : "left"], coord, coord - overflow[axis === "y" ? "bottom" : "right"]);
1884
+ if (checkMainAxis) {
1885
+ mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);
1886
+ }
1887
+ if (checkCrossAxis) {
1888
+ crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);
1889
+ }
1890
+ const limitedCoords = limiter.fn({
1891
+ ...state,
1892
+ [mainAxis]: mainAxisCoord,
1893
+ [crossAxis]: crossAxisCoord
1894
+ });
1895
+ return {
1896
+ ...limitedCoords,
1897
+ data: {
1898
+ x: limitedCoords.x - x,
1899
+ y: limitedCoords.y - y,
1900
+ enabled: {
1901
+ [mainAxis]: checkMainAxis,
1902
+ [crossAxis]: checkCrossAxis
1903
+ }
1904
+ }
1905
+ };
1906
+ }
1907
+ };
1908
+ };
1909
+ const limitShift$1 = function(options) {
1910
+ if (options === void 0) {
1911
+ options = {};
1912
+ }
1913
+ return {
1914
+ options,
1915
+ fn(state) {
1916
+ var _rawOffset$mainAxis, _rawOffset$crossAxis;
1917
+ const {
1918
+ x,
1919
+ y,
1920
+ placement,
1921
+ rects,
1922
+ middlewareData
1923
+ } = state;
1924
+ const {
1925
+ offset: offset2 = 0,
1926
+ mainAxis: checkMainAxis = true,
1927
+ crossAxis: checkCrossAxis = true
1928
+ } = evaluate(options, state);
1929
+ const coords = {
1930
+ x,
1931
+ y
1932
+ };
1933
+ const crossAxis = getSideAxis(placement);
1934
+ const mainAxis = getOppositeAxis(crossAxis);
1935
+ let mainAxisCoord = coords[mainAxis];
1936
+ let crossAxisCoord = coords[crossAxis];
1937
+ const rawOffset = evaluate(offset2, state);
1938
+ const computedOffset = typeof rawOffset === "number" ? {
1939
+ mainAxis: rawOffset,
1940
+ crossAxis: 0
1941
+ } : {
1942
+ mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,
1943
+ crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0
1944
+ };
1945
+ if (checkMainAxis) {
1946
+ const len = mainAxis === "y" ? "height" : "width";
1947
+ const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;
1948
+ const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;
1949
+ if (mainAxisCoord < limitMin) {
1950
+ mainAxisCoord = limitMin;
1951
+ } else if (mainAxisCoord > limitMax) {
1952
+ mainAxisCoord = limitMax;
1953
+ }
1954
+ }
1955
+ if (checkCrossAxis) {
1956
+ var _middlewareData$offse, _middlewareData$offse2;
1957
+ const len = mainAxis === "y" ? "width" : "height";
1958
+ const isOriginSide = originSides.has(getSide(placement));
1959
+ const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);
1960
+ const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);
1961
+ if (crossAxisCoord < limitMin) {
1962
+ crossAxisCoord = limitMin;
1963
+ } else if (crossAxisCoord > limitMax) {
1964
+ crossAxisCoord = limitMax;
1965
+ }
1966
+ }
1967
+ return {
1968
+ [mainAxis]: mainAxisCoord,
1969
+ [crossAxis]: crossAxisCoord
1970
+ };
1971
+ }
1972
+ };
1973
+ };
1974
+ const size$1 = function(options) {
1975
+ if (options === void 0) {
1976
+ options = {};
1977
+ }
1978
+ return {
1979
+ name: "size",
1980
+ options,
1981
+ async fn(state) {
1982
+ const {
1983
+ placement,
1984
+ rects,
1985
+ platform: platform2,
1986
+ elements
1987
+ } = state;
1988
+ const {
1989
+ apply = () => {
1990
+ },
1991
+ ...detectOverflowOptions
1992
+ } = evaluate(options, state);
1993
+ const overflow = await platform2.detectOverflow(state, detectOverflowOptions);
1994
+ const side = getSide(placement);
1995
+ const alignment = getAlignment(placement);
1996
+ const isYAxis = getSideAxis(placement) === "y";
1997
+ const {
1998
+ width,
1999
+ height
2000
+ } = rects.floating;
2001
+ let heightSide;
2002
+ let widthSide;
2003
+ if (side === "top" || side === "bottom") {
2004
+ heightSide = side;
2005
+ widthSide = alignment === (await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right";
2006
+ } else {
2007
+ widthSide = side;
2008
+ heightSide = alignment === "end" ? "top" : "bottom";
2009
+ }
2010
+ const maximumClippingHeight = height - overflow.top - overflow.bottom;
2011
+ const maximumClippingWidth = width - overflow.left - overflow.right;
2012
+ const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
2013
+ const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
2014
+ const shiftData = state.middlewareData.shift;
2015
+ const noShift = !shiftData;
2016
+ let availableHeight = overflowAvailableHeight;
2017
+ let availableWidth = overflowAvailableWidth;
2018
+ if (shiftData != null && shiftData.enabled.x) {
2019
+ availableWidth = maximumClippingWidth;
2020
+ }
2021
+ if (shiftData != null && shiftData.enabled.y) {
2022
+ availableHeight = maximumClippingHeight;
2023
+ }
2024
+ if (noShift && !alignment) {
2025
+ if (isYAxis) {
2026
+ availableWidth = width - 2 * max(overflow.left, overflow.right);
2027
+ } else {
2028
+ availableHeight = height - 2 * max(overflow.top, overflow.bottom);
2029
+ }
2030
+ }
2031
+ await apply({
2032
+ ...state,
2033
+ availableWidth,
2034
+ availableHeight
2035
+ });
2036
+ const nextDimensions = await platform2.getDimensions(elements.floating);
2037
+ if (width !== nextDimensions.width || height !== nextDimensions.height) {
2038
+ return {
2039
+ reset: {
2040
+ rects: true
2041
+ }
2042
+ };
2043
+ }
2044
+ return {};
2045
+ }
2046
+ };
2047
+ };
2048
+ function getNodeName(node) {
2049
+ if (isNode()) {
2050
+ return (node.nodeName || "").toLowerCase();
2051
+ }
2052
+ return "#document";
2053
+ }
2054
+ function getWindow(node) {
2055
+ var _node$ownerDocument;
2056
+ return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || void 0;
2057
+ }
2058
+ function getDocumentElement(node) {
2059
+ var _ref;
2060
+ return (_ref = (isNode() ? node.ownerDocument : node.document) || (void 0).document) == null ? void 0 : _ref.documentElement;
2061
+ }
2062
+ function isNode(value) {
2063
+ {
2064
+ return false;
2065
+ }
2066
+ }
2067
+ function isElement(value) {
2068
+ {
2069
+ return false;
2070
+ }
2071
+ }
2072
+ function isHTMLElement(value) {
2073
+ {
2074
+ return false;
2075
+ }
2076
+ }
2077
+ function isShadowRoot(value) {
2078
+ {
2079
+ return false;
2080
+ }
2081
+ }
2082
+ function isOverflowElement(element) {
2083
+ const {
2084
+ overflow,
2085
+ overflowX,
2086
+ overflowY,
2087
+ display
2088
+ } = getComputedStyle$1(element);
2089
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
2090
+ }
2091
+ function isTableElement(element) {
2092
+ return /^(table|td|th)$/.test(getNodeName(element));
2093
+ }
2094
+ function isTopLayer(element) {
2095
+ try {
2096
+ if (element.matches(":popover-open")) {
2097
+ return true;
2098
+ }
2099
+ } catch (_e) {
2100
+ }
2101
+ try {
2102
+ return element.matches(":modal");
2103
+ } catch (_e) {
2104
+ return false;
2105
+ }
2106
+ }
2107
+ const willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
2108
+ const containRe = /paint|layout|strict|content/;
2109
+ const isNotNone = (value) => !!value && value !== "none";
2110
+ let isWebKitValue;
2111
+ function isContainingBlock(elementOrCss) {
2112
+ const css = isElement() ? getComputedStyle$1(elementOrCss) : elementOrCss;
2113
+ return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || "") || containRe.test(css.contain || "");
2114
+ }
2115
+ function getContainingBlock(element) {
2116
+ let currentNode = getParentNode(element);
2117
+ while (isHTMLElement() && !isLastTraversableNode(currentNode)) {
2118
+ if (isContainingBlock(currentNode)) {
2119
+ return currentNode;
2120
+ } else if (isTopLayer(currentNode)) {
2121
+ return null;
2122
+ }
2123
+ currentNode = getParentNode(currentNode);
2124
+ }
2125
+ return null;
2126
+ }
2127
+ function isWebKit() {
2128
+ if (isWebKitValue == null) {
2129
+ isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
2130
+ }
2131
+ return isWebKitValue;
2132
+ }
2133
+ function isLastTraversableNode(node) {
2134
+ return /^(html|body|#document)$/.test(getNodeName(node));
2135
+ }
2136
+ function getComputedStyle$1(element) {
2137
+ return getWindow(element).getComputedStyle(element);
2138
+ }
2139
+ function getNodeScroll(element) {
2140
+ if (isElement()) {
2141
+ return {
2142
+ scrollLeft: element.scrollLeft,
2143
+ scrollTop: element.scrollTop
2144
+ };
2145
+ }
2146
+ return {
2147
+ scrollLeft: element.scrollX,
2148
+ scrollTop: element.scrollY
2149
+ };
2150
+ }
2151
+ function getParentNode(node) {
2152
+ if (getNodeName(node) === "html") {
2153
+ return node;
2154
+ }
2155
+ const result = (
2156
+ // Step into the shadow DOM of the parent of a slotted node.
2157
+ node.assignedSlot || // DOM Element detected.
2158
+ node.parentNode || // ShadowRoot detected.
2159
+ isShadowRoot() && node.host || // Fallback.
2160
+ getDocumentElement(node)
2161
+ );
2162
+ return isShadowRoot() ? result.host : result;
2163
+ }
2164
+ function getNearestOverflowAncestor(node) {
2165
+ const parentNode = getParentNode(node);
2166
+ if (isLastTraversableNode(parentNode)) {
2167
+ return (node.ownerDocument || node).body;
2168
+ }
2169
+ if (isHTMLElement() && isOverflowElement(parentNode)) {
2170
+ return parentNode;
2171
+ }
2172
+ return getNearestOverflowAncestor(parentNode);
2173
+ }
2174
+ function getOverflowAncestors(node, list, traverseIframes) {
2175
+ var _node$ownerDocument2;
2176
+ if (list === void 0) {
2177
+ list = [];
2178
+ }
2179
+ if (traverseIframes === void 0) {
2180
+ traverseIframes = true;
2181
+ }
2182
+ const scrollableAncestor = getNearestOverflowAncestor(node);
2183
+ const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
2184
+ const win = getWindow(scrollableAncestor);
2185
+ if (isBody) {
2186
+ const frameElement = getFrameElement(win);
2187
+ return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
2188
+ } else {
2189
+ return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
2190
+ }
2191
+ }
2192
+ function getFrameElement(win) {
2193
+ return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
2194
+ }
2195
+ function getCssDimensions(element) {
2196
+ const css = getComputedStyle$1(element);
2197
+ let width = parseFloat(css.width) || 0;
2198
+ let height = parseFloat(css.height) || 0;
2199
+ const hasOffset = isHTMLElement();
2200
+ const offsetWidth = hasOffset ? element.offsetWidth : width;
2201
+ const offsetHeight = hasOffset ? element.offsetHeight : height;
2202
+ const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
2203
+ if (shouldFallback) {
2204
+ width = offsetWidth;
2205
+ height = offsetHeight;
2206
+ }
2207
+ return {
2208
+ width,
2209
+ height,
2210
+ $: shouldFallback
2211
+ };
2212
+ }
2213
+ function unwrapElement$1(element) {
2214
+ return !isElement() ? element.contextElement : element;
2215
+ }
2216
+ function getScale(element) {
2217
+ const domElement = unwrapElement$1(element);
2218
+ if (!isHTMLElement()) {
2219
+ return createCoords(1);
2220
+ }
2221
+ const rect = domElement.getBoundingClientRect();
2222
+ const {
2223
+ width,
2224
+ height,
2225
+ $
2226
+ } = getCssDimensions(domElement);
2227
+ let x = ($ ? round(rect.width) : rect.width) / width;
2228
+ let y = ($ ? round(rect.height) : rect.height) / height;
2229
+ if (!x || !Number.isFinite(x)) {
2230
+ x = 1;
2231
+ }
2232
+ if (!y || !Number.isFinite(y)) {
2233
+ y = 1;
2234
+ }
2235
+ return {
2236
+ x,
2237
+ y
2238
+ };
2239
+ }
2240
+ const noOffsets = /* @__PURE__ */ createCoords(0);
2241
+ function getVisualOffsets(element) {
2242
+ const win = getWindow(element);
2243
+ if (!isWebKit() || !win.visualViewport) {
2244
+ return noOffsets;
2245
+ }
2246
+ return {
2247
+ x: win.visualViewport.offsetLeft,
2248
+ y: win.visualViewport.offsetTop
2249
+ };
2250
+ }
2251
+ function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
2252
+ if (isFixed === void 0) {
2253
+ isFixed = false;
2254
+ }
2255
+ return !!floatingOffsetParent && isFixed && floatingOffsetParent === getWindow(element);
2256
+ }
2257
+ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
2258
+ if (includeScale === void 0) {
2259
+ includeScale = false;
2260
+ }
2261
+ if (isFixedStrategy === void 0) {
2262
+ isFixedStrategy = false;
2263
+ }
2264
+ const clientRect = element.getBoundingClientRect();
2265
+ const domElement = unwrapElement$1(element);
2266
+ let scale = createCoords(1);
2267
+ if (includeScale) {
2268
+ if (offsetParent) {
2269
+ if (isElement()) {
2270
+ scale = getScale(offsetParent);
2271
+ }
2272
+ } else {
2273
+ scale = getScale(element);
2274
+ }
2275
+ }
2276
+ const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
2277
+ let x = (clientRect.left + visualOffsets.x) / scale.x;
2278
+ let y = (clientRect.top + visualOffsets.y) / scale.y;
2279
+ let width = clientRect.width / scale.x;
2280
+ let height = clientRect.height / scale.y;
2281
+ if (domElement && offsetParent) {
2282
+ const win = getWindow(domElement);
2283
+ const offsetWin = isElement() ? getWindow(offsetParent) : offsetParent;
2284
+ let currentWin = win;
2285
+ let currentIFrame = getFrameElement(currentWin);
2286
+ while (currentIFrame && offsetWin !== currentWin) {
2287
+ const iframeScale = getScale(currentIFrame);
2288
+ const iframeRect = currentIFrame.getBoundingClientRect();
2289
+ const css = getComputedStyle$1(currentIFrame);
2290
+ const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
2291
+ const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
2292
+ x *= iframeScale.x;
2293
+ y *= iframeScale.y;
2294
+ width *= iframeScale.x;
2295
+ height *= iframeScale.y;
2296
+ x += left;
2297
+ y += top;
2298
+ currentWin = getWindow(currentIFrame);
2299
+ currentIFrame = getFrameElement(currentWin);
2300
+ }
2301
+ }
2302
+ return rectToClientRect({
2303
+ width,
2304
+ height,
2305
+ x,
2306
+ y
2307
+ });
2308
+ }
2309
+ function getWindowScrollBarX(element, rect) {
2310
+ const leftScroll = getNodeScroll(element).scrollLeft;
2311
+ if (!rect) {
2312
+ return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
2313
+ }
2314
+ return rect.left + leftScroll;
2315
+ }
2316
+ function getHTMLOffset(documentElement, scroll) {
2317
+ const htmlRect = documentElement.getBoundingClientRect();
2318
+ const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
2319
+ const y = htmlRect.top + scroll.scrollTop;
2320
+ return {
2321
+ x,
2322
+ y
2323
+ };
2324
+ }
2325
+ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
2326
+ let {
2327
+ elements,
2328
+ rect,
2329
+ offsetParent,
2330
+ strategy
2331
+ } = _ref;
2332
+ const isFixed = strategy === "fixed";
2333
+ const documentElement = getDocumentElement(offsetParent);
2334
+ const topLayer = elements ? isTopLayer(elements.floating) : false;
2335
+ if (offsetParent === documentElement || topLayer && isFixed) {
2336
+ return rect;
2337
+ }
2338
+ let scroll = {
2339
+ scrollLeft: 0,
2340
+ scrollTop: 0
2341
+ };
2342
+ let scale = createCoords(1);
2343
+ const offsets = createCoords(0);
2344
+ const isOffsetParentAnElement = isHTMLElement();
2345
+ if (isOffsetParentAnElement || !isFixed) {
2346
+ if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
2347
+ scroll = getNodeScroll(offsetParent);
2348
+ }
2349
+ if (isOffsetParentAnElement) {
2350
+ const offsetRect = getBoundingClientRect(offsetParent);
2351
+ scale = getScale(offsetParent);
2352
+ offsets.x = offsetRect.x + offsetParent.clientLeft;
2353
+ offsets.y = offsetRect.y + offsetParent.clientTop;
2354
+ }
2355
+ }
2356
+ const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
2357
+ return {
2358
+ width: rect.width * scale.x,
2359
+ height: rect.height * scale.y,
2360
+ x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
2361
+ y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
2362
+ };
2363
+ }
2364
+ function getClientRects(element) {
2365
+ return element.getClientRects ? Array.from(element.getClientRects()) : [];
2366
+ }
2367
+ function getDocumentRect(html) {
2368
+ const scroll = getNodeScroll(html);
2369
+ const body = html.ownerDocument.body;
2370
+ const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
2371
+ const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
2372
+ let x = -scroll.scrollLeft + getWindowScrollBarX(html);
2373
+ const y = -scroll.scrollTop;
2374
+ if (getComputedStyle$1(body).direction === "rtl") {
2375
+ x += max(html.clientWidth, body.clientWidth) - width;
2376
+ }
2377
+ return {
2378
+ width,
2379
+ height,
2380
+ x,
2381
+ y
2382
+ };
2383
+ }
2384
+ const SCROLLBAR_MAX = 25;
2385
+ function getViewportRect(element, strategy, rootBoundary) {
2386
+ if (rootBoundary === void 0) {
2387
+ rootBoundary = "viewport";
2388
+ }
2389
+ const isLayoutViewport = rootBoundary === "layoutViewport";
2390
+ const win = getWindow(element);
2391
+ const html = getDocumentElement(element);
2392
+ const visualViewport = win.visualViewport;
2393
+ let width = html.clientWidth;
2394
+ let height = html.clientHeight;
2395
+ let x = 0;
2396
+ let y = 0;
2397
+ if (visualViewport) {
2398
+ const layoutRelativeClientCoords = !isWebKit() || strategy === "fixed";
2399
+ if (isLayoutViewport) {
2400
+ if (!layoutRelativeClientCoords) {
2401
+ x = -visualViewport.offsetLeft;
2402
+ y = -visualViewport.offsetTop;
2403
+ }
2404
+ } else {
2405
+ width = visualViewport.width;
2406
+ height = visualViewport.height;
2407
+ if (layoutRelativeClientCoords) {
2408
+ x = visualViewport.offsetLeft;
2409
+ y = visualViewport.offsetTop;
2410
+ }
2411
+ }
2412
+ }
2413
+ const windowScrollbarX = getWindowScrollBarX(html);
2414
+ if (windowScrollbarX <= 0) {
2415
+ const doc = html.ownerDocument;
2416
+ const body = doc.body;
2417
+ const bodyStyles = getComputedStyle(body);
2418
+ const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
2419
+ const reservedWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
2420
+ const gutter = getComputedStyle(html).scrollbarGutter === "stable both-edges" ? reservedWidth / 2 : reservedWidth;
2421
+ if (gutter <= SCROLLBAR_MAX) {
2422
+ width -= gutter;
2423
+ }
2424
+ }
2425
+ return {
2426
+ width,
2427
+ height,
2428
+ x,
2429
+ y
2430
+ };
2431
+ }
2432
+ function getInnerBoundingClientRect(element, strategy) {
2433
+ const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
2434
+ const top = clientRect.top + element.clientTop;
2435
+ const left = clientRect.left + element.clientLeft;
2436
+ const scale = getScale(element);
2437
+ const width = element.clientWidth * scale.x;
2438
+ const height = element.clientHeight * scale.y;
2439
+ const x = left * scale.x;
2440
+ const y = top * scale.y;
2441
+ return {
2442
+ width,
2443
+ height,
2444
+ x,
2445
+ y
2446
+ };
2447
+ }
2448
+ function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
2449
+ let rect;
2450
+ if (clippingAncestor === "viewport" || clippingAncestor === "layoutViewport") {
2451
+ rect = getViewportRect(element, strategy, clippingAncestor);
2452
+ } else if (clippingAncestor === "document") {
2453
+ rect = getDocumentRect(getDocumentElement(element));
2454
+ } else if (isElement()) {
2455
+ rect = getInnerBoundingClientRect(clippingAncestor, strategy);
2456
+ } else {
2457
+ const visualOffsets = getVisualOffsets(element);
2458
+ rect = {
2459
+ x: clippingAncestor.x - visualOffsets.x,
2460
+ y: clippingAncestor.y - visualOffsets.y,
2461
+ width: clippingAncestor.width,
2462
+ height: clippingAncestor.height
2463
+ };
2464
+ }
2465
+ return rectToClientRect(rect);
2466
+ }
2467
+ function getClippingElementAncestors(element, cache) {
2468
+ const cachedResult = cache.get(element);
2469
+ if (cachedResult) {
2470
+ return cachedResult;
2471
+ }
2472
+ let result = getOverflowAncestors(element, [], false).filter((el) => isElement() && getNodeName(el) !== "body");
2473
+ let lastKeptComputedStyle = null;
2474
+ const elementIsFixed = getComputedStyle$1(element).position === "fixed";
2475
+ let currentNode = elementIsFixed ? getParentNode(element) : element;
2476
+ while (isElement() && !isLastTraversableNode(currentNode)) {
2477
+ const computedStyle = getComputedStyle$1(currentNode);
2478
+ const currentNodeIsContaining = isContainingBlock(currentNode);
2479
+ const lastPosition = lastKeptComputedStyle ? lastKeptComputedStyle.position : elementIsFixed ? "fixed" : "";
2480
+ const shouldDropCurrentNode = !currentNodeIsContaining && (lastPosition === "fixed" || lastPosition === "absolute" && computedStyle.position === "static");
2481
+ if (shouldDropCurrentNode) {
2482
+ result = result.filter((ancestor) => ancestor !== currentNode);
2483
+ } else {
2484
+ lastKeptComputedStyle = computedStyle;
2485
+ }
2486
+ currentNode = getParentNode(currentNode);
2487
+ }
2488
+ cache.set(element, result);
2489
+ return result;
2490
+ }
2491
+ function getClippingRect(_ref) {
2492
+ let {
2493
+ element,
2494
+ boundary,
2495
+ rootBoundary,
2496
+ strategy
2497
+ } = _ref;
2498
+ const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
2499
+ const clippingAncestors = [...elementClippingAncestors, rootBoundary];
2500
+ const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
2501
+ let top = firstRect.top;
2502
+ let right = firstRect.right;
2503
+ let bottom = firstRect.bottom;
2504
+ let left = firstRect.left;
2505
+ for (let i = 1; i < clippingAncestors.length; i++) {
2506
+ const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
2507
+ top = max(rect.top, top);
2508
+ right = min(rect.right, right);
2509
+ bottom = min(rect.bottom, bottom);
2510
+ left = max(rect.left, left);
2511
+ }
2512
+ return {
2513
+ width: right - left,
2514
+ height: bottom - top,
2515
+ x: left,
2516
+ y: top
2517
+ };
2518
+ }
2519
+ function getDimensions(element) {
2520
+ const {
2521
+ width,
2522
+ height
2523
+ } = getCssDimensions(element);
2524
+ return {
2525
+ width,
2526
+ height
2527
+ };
2528
+ }
2529
+ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
2530
+ const isOffsetParentAnElement = isHTMLElement();
2531
+ const documentElement = getDocumentElement(offsetParent);
2532
+ const isFixed = strategy === "fixed";
2533
+ const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
2534
+ let scroll = {
2535
+ scrollLeft: 0,
2536
+ scrollTop: 0
2537
+ };
2538
+ const offsets = createCoords(0);
2539
+ if (isOffsetParentAnElement || !isFixed) {
2540
+ if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
2541
+ scroll = getNodeScroll(offsetParent);
2542
+ }
2543
+ if (isOffsetParentAnElement) {
2544
+ const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
2545
+ offsets.x = offsetRect.x + offsetParent.clientLeft;
2546
+ offsets.y = offsetRect.y + offsetParent.clientTop;
2547
+ }
2548
+ }
2549
+ if (!isOffsetParentAnElement && documentElement) {
2550
+ offsets.x = getWindowScrollBarX(documentElement);
2551
+ }
2552
+ const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
2553
+ const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
2554
+ const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
2555
+ return {
2556
+ x,
2557
+ y,
2558
+ width: rect.width,
2559
+ height: rect.height
2560
+ };
2561
+ }
2562
+ function isStaticPositioned(element) {
2563
+ return getComputedStyle$1(element).position === "static";
2564
+ }
2565
+ function getTrueOffsetParent(element, polyfill) {
2566
+ if (!isHTMLElement() || getComputedStyle$1(element).position === "fixed") {
2567
+ return null;
2568
+ }
2569
+ if (polyfill) {
2570
+ return polyfill(element);
2571
+ }
2572
+ let rawOffsetParent = element.offsetParent;
2573
+ if (getDocumentElement(element) === rawOffsetParent) {
2574
+ rawOffsetParent = rawOffsetParent.ownerDocument.body;
2575
+ }
2576
+ return rawOffsetParent;
2577
+ }
2578
+ function getOffsetParent(element, polyfill) {
2579
+ const win = getWindow(element);
2580
+ if (isTopLayer(element)) {
2581
+ return win;
2582
+ }
2583
+ if (!isHTMLElement()) {
2584
+ let svgOffsetParent = getParentNode(element);
2585
+ while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
2586
+ if (isElement() && !isStaticPositioned(svgOffsetParent)) {
2587
+ return svgOffsetParent;
2588
+ }
2589
+ svgOffsetParent = getParentNode(svgOffsetParent);
2590
+ }
2591
+ return win;
2592
+ }
2593
+ let offsetParent = getTrueOffsetParent(element, polyfill);
2594
+ while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
2595
+ offsetParent = getTrueOffsetParent(offsetParent, polyfill);
2596
+ }
2597
+ if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
2598
+ return win;
2599
+ }
2600
+ return offsetParent || getContainingBlock(element) || win;
2601
+ }
2602
+ const getElementRects = async function(data) {
2603
+ const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
2604
+ const getDimensionsFn = this.getDimensions;
2605
+ const floatingDimensions = await getDimensionsFn(data.floating);
2606
+ return {
2607
+ reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
2608
+ floating: {
2609
+ x: 0,
2610
+ y: 0,
2611
+ width: floatingDimensions.width,
2612
+ height: floatingDimensions.height
2613
+ }
2614
+ };
2615
+ };
2616
+ function isRTL(element) {
2617
+ return getComputedStyle$1(element).direction === "rtl";
2618
+ }
2619
+ const platform = {
2620
+ convertOffsetParentRelativeRectToViewportRelativeRect,
2621
+ getDocumentElement,
2622
+ getClippingRect,
2623
+ getOffsetParent,
2624
+ getElementRects,
2625
+ getClientRects,
2626
+ getDimensions,
2627
+ getScale,
2628
+ isElement,
2629
+ isRTL
2630
+ };
2631
+ function rectsAreEqual(a, b) {
2632
+ return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
2633
+ }
2634
+ function observeMove(element, onMove, ancestorResize) {
2635
+ let io = null;
2636
+ let timeoutId;
2637
+ const root = getDocumentElement(element);
2638
+ function cleanup() {
2639
+ var _io;
2640
+ clearTimeout(timeoutId);
2641
+ (_io = io) == null || _io.disconnect();
2642
+ io = null;
2643
+ }
2644
+ function refresh(skip, threshold) {
2645
+ if (skip === void 0) {
2646
+ skip = false;
2647
+ }
2648
+ if (threshold === void 0) {
2649
+ threshold = 1;
2650
+ }
2651
+ cleanup();
2652
+ const elementRectForRootMargin = element.getBoundingClientRect();
2653
+ const {
2654
+ left,
2655
+ top,
2656
+ width,
2657
+ height
2658
+ } = elementRectForRootMargin;
2659
+ if (!skip) {
2660
+ onMove();
2661
+ }
2662
+ if (!width || !height) {
2663
+ return;
2664
+ }
2665
+ const insetTop = floor(top);
2666
+ const insetRight = floor(root.clientWidth - (left + width));
2667
+ const insetBottom = floor(root.clientHeight - (top + height));
2668
+ const insetLeft = floor(left);
2669
+ const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
2670
+ const options = {
2671
+ rootMargin,
2672
+ threshold: max(0, min(1, threshold)) || 1
2673
+ };
2674
+ let isFirstUpdate = true;
2675
+ function handleObserve(entries) {
2676
+ const ratio = entries[0].intersectionRatio;
2677
+ if (!rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
2678
+ return refresh();
2679
+ }
2680
+ if (ratio !== threshold) {
2681
+ if (!isFirstUpdate) {
2682
+ return refresh();
2683
+ }
2684
+ if (!ratio) {
2685
+ timeoutId = setTimeout(() => {
2686
+ refresh(false, 1e-7);
2687
+ }, 1e3);
2688
+ } else {
2689
+ refresh(false, ratio);
2690
+ }
2691
+ }
2692
+ isFirstUpdate = false;
2693
+ }
2694
+ try {
2695
+ io = new IntersectionObserver(handleObserve, {
2696
+ ...options,
2697
+ // Handle <iframe>s
2698
+ root: root.ownerDocument
2699
+ });
2700
+ } catch (_e) {
2701
+ io = new IntersectionObserver(handleObserve, options);
2702
+ }
2703
+ io.observe(element);
2704
+ }
2705
+ const win = getWindow(element);
2706
+ const handleResize = () => refresh(ancestorResize);
2707
+ win.addEventListener("resize", handleResize);
2708
+ refresh(true);
2709
+ return () => {
2710
+ win.removeEventListener("resize", handleResize);
2711
+ cleanup();
2712
+ };
2713
+ }
2714
+ function autoUpdate(reference, floating, update, options) {
2715
+ if (options === void 0) {
2716
+ options = {};
2717
+ }
2718
+ const {
2719
+ ancestorScroll = true,
2720
+ ancestorResize = true,
2721
+ elementResize = typeof ResizeObserver === "function",
2722
+ layoutShift = typeof IntersectionObserver === "function",
2723
+ animationFrame = false
2724
+ } = options;
2725
+ const referenceEl = unwrapElement$1(reference);
2726
+ const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
2727
+ ancestors.forEach((ancestor) => {
2728
+ ancestorScroll && ancestor.addEventListener("scroll", update);
2729
+ ancestorResize && ancestor.addEventListener("resize", update);
2730
+ });
2731
+ const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update, ancestorResize) : null;
2732
+ let reobserveFrame = -1;
2733
+ let resizeObserver = null;
2734
+ if (elementResize) {
2735
+ resizeObserver = new ResizeObserver((_ref) => {
2736
+ let [firstEntry] = _ref;
2737
+ if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
2738
+ resizeObserver.unobserve(floating);
2739
+ cancelAnimationFrame(reobserveFrame);
2740
+ reobserveFrame = requestAnimationFrame(() => {
2741
+ var _resizeObserver;
2742
+ (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
2743
+ });
2744
+ }
2745
+ update();
2746
+ });
2747
+ if (referenceEl && !animationFrame) {
2748
+ resizeObserver.observe(referenceEl);
2749
+ }
2750
+ if (floating) {
2751
+ resizeObserver.observe(floating);
2752
+ }
2753
+ }
2754
+ let frameId;
2755
+ let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
2756
+ if (animationFrame) {
2757
+ frameLoop();
2758
+ }
2759
+ function frameLoop() {
2760
+ const nextRefRect = getBoundingClientRect(reference);
2761
+ if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
2762
+ update();
2763
+ }
2764
+ prevRefRect = nextRefRect;
2765
+ frameId = requestAnimationFrame(frameLoop);
2766
+ }
2767
+ update();
2768
+ return () => {
2769
+ var _resizeObserver2;
2770
+ ancestors.forEach((ancestor) => {
2771
+ ancestorScroll && ancestor.removeEventListener("scroll", update);
2772
+ ancestorResize && ancestor.removeEventListener("resize", update);
2773
+ });
2774
+ cleanupIo == null || cleanupIo();
2775
+ (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
2776
+ resizeObserver = null;
2777
+ if (animationFrame) {
2778
+ cancelAnimationFrame(frameId);
2779
+ }
2780
+ };
2781
+ }
2782
+ const offset = offset$1;
2783
+ const shift = shift$1;
2784
+ const flip = flip$1;
2785
+ const size = size$1;
2786
+ const hide = hide$1;
2787
+ const arrow$1 = arrow$2;
2788
+ const limitShift = limitShift$1;
2789
+ const computePosition = (reference, floating, options) => {
2790
+ const cache = /* @__PURE__ */ new Map();
2791
+ const mergedOptions = options != null ? options : {};
2792
+ const platformWithCache = {
2793
+ ...platform,
2794
+ ...mergedOptions.platform,
2795
+ _c: cache
2796
+ };
2797
+ return computePosition$1(reference, floating, {
2798
+ ...mergedOptions,
2799
+ platform: platformWithCache
2800
+ });
2801
+ };
2802
+ function isComponentPublicInstance(target) {
2803
+ return target != null && typeof target === "object" && "$el" in target;
2804
+ }
2805
+ function unwrapElement(target) {
2806
+ if (isComponentPublicInstance(target)) {
2807
+ const element = target.$el;
2808
+ return isNode() && getNodeName(element) === "#comment" ? null : element;
2809
+ }
2810
+ return target;
2811
+ }
2812
+ function toValue(source) {
2813
+ return typeof source === "function" ? source() : unref(source);
2814
+ }
2815
+ function arrow(options) {
2816
+ return {
2817
+ name: "arrow",
2818
+ options,
2819
+ fn(args) {
2820
+ const element = unwrapElement(toValue(options.element));
2821
+ if (element == null) {
2822
+ return {};
2823
+ }
2824
+ return arrow$1({
2825
+ element,
2826
+ padding: options.padding
2827
+ }).fn(args);
2828
+ }
2829
+ };
2830
+ }
2831
+ function getDPR(element) {
2832
+ {
2833
+ return 1;
2834
+ }
2835
+ }
2836
+ function roundByDPR(element, value) {
2837
+ const dpr = getDPR();
2838
+ return Math.round(value * dpr) / dpr;
2839
+ }
2840
+ function useFloating(reference, floating, options) {
2841
+ if (options === void 0) {
2842
+ options = {};
2843
+ }
2844
+ const whileElementsMountedOption = options.whileElementsMounted;
2845
+ const openOption = computed(() => {
2846
+ var _toValue;
2847
+ return (_toValue = toValue(options.open)) != null ? _toValue : true;
2848
+ });
2849
+ const middlewareOption = computed(() => toValue(options.middleware));
2850
+ const placementOption = computed(() => {
2851
+ var _toValue2;
2852
+ return (_toValue2 = toValue(options.placement)) != null ? _toValue2 : "bottom";
2853
+ });
2854
+ const strategyOption = computed(() => {
2855
+ var _toValue3;
2856
+ return (_toValue3 = toValue(options.strategy)) != null ? _toValue3 : "absolute";
2857
+ });
2858
+ const transformOption = computed(() => {
2859
+ var _toValue4;
2860
+ return (_toValue4 = toValue(options.transform)) != null ? _toValue4 : true;
2861
+ });
2862
+ const referenceElement = computed(() => unwrapElement(reference.value));
2863
+ const floatingElement = computed(() => unwrapElement(floating.value));
2864
+ const x = ref(0);
2865
+ const y = ref(0);
2866
+ const strategy = ref(strategyOption.value);
2867
+ const placement = ref(placementOption.value);
2868
+ const middlewareData = shallowRef({});
2869
+ const isPositioned = ref(false);
2870
+ const floatingStyles = computed(() => {
2871
+ const initialStyles = {
2872
+ position: strategy.value,
2873
+ left: "0",
2874
+ top: "0"
2875
+ };
2876
+ if (!floatingElement.value) {
2877
+ return initialStyles;
2878
+ }
2879
+ const xVal = roundByDPR(floatingElement.value, x.value);
2880
+ const yVal = roundByDPR(floatingElement.value, y.value);
2881
+ if (transformOption.value) {
2882
+ return {
2883
+ ...initialStyles,
2884
+ transform: "translate(" + xVal + "px, " + yVal + "px)",
2885
+ ...getDPR(floatingElement.value) >= 1.5 && {
2886
+ willChange: "transform"
2887
+ }
2888
+ };
2889
+ }
2890
+ return {
2891
+ position: strategy.value,
2892
+ left: xVal + "px",
2893
+ top: yVal + "px"
2894
+ };
2895
+ });
2896
+ let whileElementsMountedCleanup;
2897
+ function update() {
2898
+ if (referenceElement.value == null || floatingElement.value == null) {
2899
+ return;
2900
+ }
2901
+ const open = openOption.value;
2902
+ computePosition(referenceElement.value, floatingElement.value, {
2903
+ middleware: middlewareOption.value,
2904
+ placement: placementOption.value,
2905
+ strategy: strategyOption.value
2906
+ }).then((position) => {
2907
+ x.value = position.x;
2908
+ y.value = position.y;
2909
+ strategy.value = position.strategy;
2910
+ placement.value = position.placement;
2911
+ middlewareData.value = position.middlewareData;
2912
+ isPositioned.value = open !== false;
2913
+ });
2914
+ }
2915
+ function cleanup() {
2916
+ if (typeof whileElementsMountedCleanup === "function") {
2917
+ whileElementsMountedCleanup();
2918
+ whileElementsMountedCleanup = void 0;
2919
+ }
2920
+ }
2921
+ function attach() {
2922
+ cleanup();
2923
+ if (whileElementsMountedOption === void 0) {
2924
+ update();
2925
+ return;
2926
+ }
2927
+ if (referenceElement.value != null && floatingElement.value != null) {
2928
+ whileElementsMountedCleanup = whileElementsMountedOption(referenceElement.value, floatingElement.value, update);
2929
+ return;
2930
+ }
2931
+ }
2932
+ function reset() {
2933
+ if (!openOption.value) {
2934
+ isPositioned.value = false;
2935
+ }
2936
+ }
2937
+ watch([middlewareOption, placementOption, strategyOption, openOption], update, {
2938
+ flush: "sync"
2939
+ });
2940
+ watch([referenceElement, floatingElement], attach, {
2941
+ flush: "sync"
2942
+ });
2943
+ watch(openOption, reset, {
2944
+ flush: "sync"
2945
+ });
2946
+ if (getCurrentScope()) {
2947
+ onScopeDispose(cleanup);
2948
+ }
2949
+ return {
2950
+ x: shallowReadonly(x),
2951
+ y: shallowReadonly(y),
2952
+ strategy: shallowReadonly(strategy),
2953
+ placement: shallowReadonly(placement),
2954
+ middlewareData: shallowReadonly(middlewareData),
2955
+ isPositioned: shallowReadonly(isPositioned),
2956
+ floatingStyles,
2957
+ update
2958
+ };
2959
+ }
2960
+ const PopperContentPropsDefaultValue = {
2961
+ side: "bottom",
2962
+ sideOffset: 0,
2963
+ sideFlip: true,
2964
+ align: "center",
2965
+ alignOffset: 0,
2966
+ alignFlip: true,
2967
+ arrowPadding: 0,
2968
+ hideShiftedArrow: true,
2969
+ avoidCollisions: true,
2970
+ collisionBoundary: () => [],
2971
+ collisionPadding: 0,
2972
+ sticky: "partial",
2973
+ hideWhenDetached: false,
2974
+ positionStrategy: "fixed",
2975
+ updatePositionStrategy: "optimized",
2976
+ prioritizePosition: false
2977
+ };
2978
+ const [injectPopperContentContext, providePopperContentContext] = /* @__PURE__ */ createContext("PopperContent");
2979
+ var PopperContent_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
2980
+ inheritAttrs: false,
2981
+ __name: "PopperContent",
2982
+ props: /* @__PURE__ */ mergeDefaults({
2983
+ side: {
2984
+ type: null,
2985
+ required: false
2986
+ },
2987
+ sideOffset: {
2988
+ type: Number,
2989
+ required: false
2990
+ },
2991
+ sideFlip: {
2992
+ type: Boolean,
2993
+ required: false
2994
+ },
2995
+ align: {
2996
+ type: null,
2997
+ required: false
2998
+ },
2999
+ alignOffset: {
3000
+ type: Number,
3001
+ required: false
3002
+ },
3003
+ alignFlip: {
3004
+ type: Boolean,
3005
+ required: false
3006
+ },
3007
+ avoidCollisions: {
3008
+ type: Boolean,
3009
+ required: false
3010
+ },
3011
+ collisionBoundary: {
3012
+ type: null,
3013
+ required: false
3014
+ },
3015
+ collisionPadding: {
3016
+ type: [Number, Object],
3017
+ required: false
3018
+ },
3019
+ arrowPadding: {
3020
+ type: Number,
3021
+ required: false
3022
+ },
3023
+ hideShiftedArrow: {
3024
+ type: Boolean,
3025
+ required: false
3026
+ },
3027
+ sticky: {
3028
+ type: String,
3029
+ required: false
3030
+ },
3031
+ hideWhenDetached: {
3032
+ type: Boolean,
3033
+ required: false
3034
+ },
3035
+ positionStrategy: {
3036
+ type: String,
3037
+ required: false
3038
+ },
3039
+ updatePositionStrategy: {
3040
+ type: String,
3041
+ required: false
3042
+ },
3043
+ disableUpdateOnLayoutShift: {
3044
+ type: Boolean,
3045
+ required: false
3046
+ },
3047
+ prioritizePosition: {
3048
+ type: Boolean,
3049
+ required: false
3050
+ },
3051
+ reference: {
3052
+ type: null,
3053
+ required: false
3054
+ },
3055
+ asChild: {
3056
+ type: Boolean,
3057
+ required: false
3058
+ },
3059
+ as: {
3060
+ type: null,
3061
+ required: false
3062
+ }
3063
+ }, { ...PopperContentPropsDefaultValue }),
3064
+ emits: ["placed"],
3065
+ setup(__props, { emit: __emit }) {
3066
+ const props = __props;
3067
+ const emits = __emit;
3068
+ const rootContext = injectPopperRootContext();
3069
+ const { forwardRef, currentElement: contentElement } = useForwardExpose();
3070
+ const floatingRef = ref();
3071
+ const arrow$12 = ref();
3072
+ const { width: arrowWidth, height: arrowHeight } = useSize();
3073
+ const desiredPlacement = computed(() => props.side + (props.align !== "center" ? `-${props.align}` : ""));
3074
+ const collisionPadding = computed(() => {
3075
+ return typeof props.collisionPadding === "number" ? props.collisionPadding : {
3076
+ top: 0,
3077
+ right: 0,
3078
+ bottom: 0,
3079
+ left: 0,
3080
+ ...props.collisionPadding
3081
+ };
3082
+ });
3083
+ const boundary = computed(() => {
3084
+ return Array.isArray(props.collisionBoundary) ? props.collisionBoundary : [props.collisionBoundary];
3085
+ });
3086
+ const detectOverflowOptions = computed(() => {
3087
+ return {
3088
+ padding: collisionPadding.value,
3089
+ boundary: boundary.value.filter(isNotNull),
3090
+ altBoundary: boundary.value.length > 0
3091
+ };
3092
+ });
3093
+ const flipOptions = computed(() => {
3094
+ return {
3095
+ mainAxis: props.sideFlip,
3096
+ crossAxis: props.alignFlip
3097
+ };
3098
+ });
3099
+ const computedMiddleware = computedEager(() => {
3100
+ return [
3101
+ offset({
3102
+ mainAxis: props.sideOffset + arrowHeight.value,
3103
+ alignmentAxis: props.alignOffset
3104
+ }),
3105
+ props.prioritizePosition && props.avoidCollisions && flip({
3106
+ ...detectOverflowOptions.value,
3107
+ ...flipOptions.value
3108
+ }),
3109
+ props.avoidCollisions && shift({
3110
+ mainAxis: true,
3111
+ crossAxis: !!props.prioritizePosition,
3112
+ limiter: props.sticky === "partial" ? limitShift() : void 0,
3113
+ ...detectOverflowOptions.value
3114
+ }),
3115
+ !props.prioritizePosition && props.avoidCollisions && flip({
3116
+ ...detectOverflowOptions.value,
3117
+ ...flipOptions.value
3118
+ }),
3119
+ size({
3120
+ ...detectOverflowOptions.value,
3121
+ apply: ({ elements, rects, availableWidth, availableHeight }) => {
3122
+ const { width: anchorWidth, height: anchorHeight } = rects.reference;
3123
+ const contentStyle = elements.floating.style;
3124
+ contentStyle.setProperty("--reka-popper-available-width", `${availableWidth}px`);
3125
+ contentStyle.setProperty("--reka-popper-available-height", `${availableHeight}px`);
3126
+ contentStyle.setProperty("--reka-popper-anchor-width", `${anchorWidth}px`);
3127
+ contentStyle.setProperty("--reka-popper-anchor-height", `${anchorHeight}px`);
3128
+ }
3129
+ }),
3130
+ arrow$12.value && arrow({
3131
+ element: arrow$12.value,
3132
+ padding: props.arrowPadding
3133
+ }),
3134
+ transformOrigin({
3135
+ arrowWidth: arrowWidth.value,
3136
+ arrowHeight: arrowHeight.value
3137
+ }),
3138
+ props.hideWhenDetached && hide({
3139
+ strategy: "referenceHidden",
3140
+ ...detectOverflowOptions.value
3141
+ })
3142
+ ];
3143
+ });
3144
+ const reference = computed(() => props.reference ?? rootContext.anchor.value);
3145
+ const { floatingStyles, placement, isPositioned, middlewareData } = useFloating(reference, floatingRef, {
3146
+ strategy: props.positionStrategy,
3147
+ placement: desiredPlacement,
3148
+ whileElementsMounted: (...args) => {
3149
+ const cleanup = autoUpdate(...args, {
3150
+ layoutShift: !props.disableUpdateOnLayoutShift,
3151
+ animationFrame: props.updatePositionStrategy === "always"
3152
+ });
3153
+ return cleanup;
3154
+ },
3155
+ middleware: computedMiddleware
3156
+ });
3157
+ const placedSide = computed(() => getSideAndAlignFromPlacement(placement.value)[0]);
3158
+ const placedAlign = computed(() => getSideAndAlignFromPlacement(placement.value)[1]);
3159
+ watchPostEffect(() => {
3160
+ if (isPositioned.value) emits("placed");
3161
+ });
3162
+ const shouldHideArrow = computed(() => {
3163
+ const cannotCenterArrow = middlewareData.value.arrow?.centerOffset !== 0;
3164
+ return props.hideShiftedArrow && cannotCenterArrow;
3165
+ });
3166
+ const contentZIndex = ref("");
3167
+ watchEffect(() => {
3168
+ if (contentElement.value) contentZIndex.value = (void 0).getComputedStyle(contentElement.value).zIndex;
3169
+ });
3170
+ const arrowX = computed(() => middlewareData.value.arrow?.x ?? 0);
3171
+ const arrowY = computed(() => middlewareData.value.arrow?.y ?? 0);
3172
+ providePopperContentContext({
3173
+ placedSide,
3174
+ onArrowChange: (element) => arrow$12.value = element,
3175
+ arrowX,
3176
+ arrowY,
3177
+ shouldHideArrow
3178
+ });
3179
+ return (_ctx, _cache) => {
3180
+ return openBlock(), createElementBlock("div", {
3181
+ ref_key: "floatingRef",
3182
+ ref: floatingRef,
3183
+ "data-reka-popper-content-wrapper": "",
3184
+ style: normalizeStyle({
3185
+ ...unref(floatingStyles),
3186
+ transform: unref(isPositioned) ? unref(floatingStyles).transform : "translate(0, -200%)",
3187
+ minWidth: "max-content",
3188
+ zIndex: contentZIndex.value,
3189
+ ["--reka-popper-transform-origin"]: [unref(middlewareData).transformOrigin?.x, unref(middlewareData).transformOrigin?.y].join(" "),
3190
+ ...unref(middlewareData).hide?.referenceHidden && {
3191
+ visibility: "hidden",
3192
+ pointerEvents: "none"
3193
+ }
3194
+ })
3195
+ }, [createVNode(unref(Primitive), mergeProps({ ref: unref(forwardRef) }, _ctx.$attrs, {
3196
+ "as-child": props.asChild,
3197
+ as: _ctx.as,
3198
+ "data-side": placedSide.value,
3199
+ "data-align": placedAlign.value,
3200
+ style: { animation: !unref(isPositioned) ? "none" : void 0 }
3201
+ }), {
3202
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
3203
+ _: 3
3204
+ }, 16, [
3205
+ "as-child",
3206
+ "as",
3207
+ "data-side",
3208
+ "data-align",
3209
+ "style"
3210
+ ])], 4);
3211
+ };
3212
+ }
3213
+ });
3214
+ var PopperContent_default = PopperContent_vue_vue_type_script_setup_true_lang_default;
3215
+ const OPPOSITE_SIDE = {
3216
+ top: "bottom",
3217
+ right: "left",
3218
+ bottom: "top",
3219
+ left: "right"
3220
+ };
3221
+ var PopperArrow_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
3222
+ inheritAttrs: false,
3223
+ __name: "PopperArrow",
3224
+ props: {
3225
+ width: {
3226
+ type: Number,
3227
+ required: false
3228
+ },
3229
+ height: {
3230
+ type: Number,
3231
+ required: false
3232
+ },
3233
+ rounded: {
3234
+ type: Boolean,
3235
+ required: false
3236
+ },
3237
+ asChild: {
3238
+ type: Boolean,
3239
+ required: false
3240
+ },
3241
+ as: {
3242
+ type: null,
3243
+ required: false,
3244
+ default: "svg"
3245
+ }
3246
+ },
3247
+ setup(__props) {
3248
+ const { forwardRef } = useForwardExpose();
3249
+ const contentContext = injectPopperContentContext();
3250
+ const baseSide = computed(() => OPPOSITE_SIDE[contentContext.placedSide.value]);
3251
+ return (_ctx, _cache) => {
3252
+ return openBlock(), createElementBlock("span", {
3253
+ ref: (el) => {
3254
+ unref(contentContext).onArrowChange(el ?? void 0);
3255
+ return void 0;
3256
+ },
3257
+ style: normalizeStyle({
3258
+ position: "absolute",
3259
+ left: unref(contentContext).arrowX?.value ? `${unref(contentContext).arrowX?.value}px` : void 0,
3260
+ top: unref(contentContext).arrowY?.value ? `${unref(contentContext).arrowY?.value}px` : void 0,
3261
+ [baseSide.value]: 0,
3262
+ transformOrigin: {
3263
+ top: "",
3264
+ right: "0 0",
3265
+ bottom: "center 0",
3266
+ left: "100% 0"
3267
+ }[unref(contentContext).placedSide.value],
3268
+ transform: {
3269
+ top: "translateY(100%)",
3270
+ right: "translateY(50%) rotate(90deg) translateX(-50%)",
3271
+ bottom: `rotate(180deg)`,
3272
+ left: "translateY(50%) rotate(-90deg) translateX(50%)"
3273
+ }[unref(contentContext).placedSide.value],
3274
+ visibility: unref(contentContext).shouldHideArrow.value ? "hidden" : void 0
3275
+ })
3276
+ }, [createVNode(Arrow_default, mergeProps(_ctx.$attrs, {
3277
+ ref: unref(forwardRef),
3278
+ style: { display: "block" },
3279
+ as: _ctx.as,
3280
+ "as-child": _ctx.asChild,
3281
+ rounded: _ctx.rounded,
3282
+ width: _ctx.width,
3283
+ height: _ctx.height
3284
+ }), {
3285
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
3286
+ _: 3
3287
+ }, 16, [
3288
+ "as",
3289
+ "as-child",
3290
+ "rounded",
3291
+ "width",
3292
+ "height"
3293
+ ])], 4);
3294
+ };
3295
+ }
3296
+ });
3297
+ var PopperArrow_default = PopperArrow_vue_vue_type_script_setup_true_lang_default;
3298
+ function pointerDownOutside(e, options = {}) {
3299
+ const originalEvent = e.detail.originalEvent;
3300
+ const target = originalEvent.target;
3301
+ if (!target?.isConnected) {
3302
+ e.preventDefault();
3303
+ return;
3304
+ }
3305
+ if (options.scrollable) {
3306
+ if (originalEvent.offsetX > target.clientWidth || originalEvent.offsetY > target.clientHeight) {
3307
+ e.preventDefault();
3308
+ }
3309
+ }
3310
+ }
3311
+ const theme = {
3312
+ "slots": {
3313
+ "overlay": "fixed inset-0 bg-elevated/75",
3314
+ "content": "fixed bg-default divide-y divide-default sm:ring ring-default sm:shadow-lg flex flex-col focus:outline-none",
3315
+ "header": "flex items-center gap-1.5 p-4 sm:px-6 min-h-(--ui-header-height)",
3316
+ "wrapper": "",
3317
+ "body": "flex-1 overflow-y-auto p-4 sm:p-6",
3318
+ "footer": "flex items-center gap-1.5 p-4 sm:px-6",
3319
+ "title": "text-highlighted font-semibold",
3320
+ "description": "mt-1 text-muted text-sm",
3321
+ "close": "absolute top-4 end-4"
3322
+ },
3323
+ "variants": {
3324
+ "side": {
3325
+ "top": {
3326
+ "content": ""
3327
+ },
3328
+ "right": {
3329
+ "content": "max-w-md"
3330
+ },
3331
+ "bottom": {
3332
+ "content": ""
3333
+ },
3334
+ "left": {
3335
+ "content": "max-w-md"
3336
+ }
3337
+ },
3338
+ "inset": {
3339
+ "true": {
3340
+ "content": "rounded-lg"
3341
+ }
3342
+ },
3343
+ "transition": {
3344
+ "true": {
3345
+ "overlay": "data-[state=open]:animate-[fade-in_200ms_ease-out] data-[state=closed]:animate-[fade-out_200ms_ease-in]"
3346
+ }
3347
+ }
3348
+ },
3349
+ "compoundVariants": [
3350
+ {
3351
+ "side": "top",
3352
+ "inset": true,
3353
+ "class": {
3354
+ "content": "max-h-[calc(100%-2rem)] inset-x-4 top-4"
3355
+ }
3356
+ },
3357
+ {
3358
+ "side": "top",
3359
+ "inset": false,
3360
+ "class": {
3361
+ "content": "max-h-full inset-x-0 top-0"
3362
+ }
3363
+ },
3364
+ {
3365
+ "side": "right",
3366
+ "inset": true,
3367
+ "class": {
3368
+ "content": "w-[calc(100%-2rem)] inset-y-4 right-4"
3369
+ }
3370
+ },
3371
+ {
3372
+ "side": "right",
3373
+ "inset": false,
3374
+ "class": {
3375
+ "content": "w-full inset-y-0 right-0"
3376
+ }
3377
+ },
3378
+ {
3379
+ "side": "bottom",
3380
+ "inset": true,
3381
+ "class": {
3382
+ "content": "max-h-[calc(100%-2rem)] inset-x-4 bottom-4"
3383
+ }
3384
+ },
3385
+ {
3386
+ "side": "bottom",
3387
+ "inset": false,
3388
+ "class": {
3389
+ "content": "max-h-full inset-x-0 bottom-0"
3390
+ }
3391
+ },
3392
+ {
3393
+ "side": "left",
3394
+ "inset": true,
3395
+ "class": {
3396
+ "content": "w-[calc(100%-2rem)] inset-y-4 left-4"
3397
+ }
3398
+ },
3399
+ {
3400
+ "side": "left",
3401
+ "inset": false,
3402
+ "class": {
3403
+ "content": "w-full inset-y-0 left-0"
3404
+ }
3405
+ },
3406
+ {
3407
+ "transition": true,
3408
+ "side": "top",
3409
+ "class": {
3410
+ "content": "data-[state=open]:animate-[slide-in-from-top_200ms_ease-in-out] data-[state=closed]:animate-[slide-out-to-top_200ms_ease-in-out]"
3411
+ }
3412
+ },
3413
+ {
3414
+ "transition": true,
3415
+ "side": "right",
3416
+ "class": {
3417
+ "content": "data-[state=open]:animate-[slide-in-from-right_200ms_ease-in-out] data-[state=closed]:animate-[slide-out-to-right_200ms_ease-in-out]"
3418
+ }
3419
+ },
3420
+ {
3421
+ "transition": true,
3422
+ "side": "bottom",
3423
+ "class": {
3424
+ "content": "data-[state=open]:animate-[slide-in-from-bottom_200ms_ease-in-out] data-[state=closed]:animate-[slide-out-to-bottom_200ms_ease-in-out]"
3425
+ }
3426
+ },
3427
+ {
3428
+ "transition": true,
3429
+ "side": "left",
3430
+ "class": {
3431
+ "content": "data-[state=open]:animate-[slide-in-from-left_200ms_ease-in-out] data-[state=closed]:animate-[slide-out-to-left_200ms_ease-in-out]"
3432
+ }
3433
+ }
3434
+ ]
3435
+ };
3436
+ const _sfc_main = {
3437
+ __name: "USlideover",
3438
+ __ssrInlineRender: true,
3439
+ props: {
3440
+ title: { type: String, required: false },
3441
+ description: { type: String, required: false },
3442
+ content: { type: Object, required: false },
3443
+ overlay: { type: Boolean, required: false, default: true },
3444
+ transition: { type: Boolean, required: false, default: true },
3445
+ side: { type: null, required: false, default: "right" },
3446
+ inset: { type: Boolean, required: false },
3447
+ portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
3448
+ close: { type: [Boolean, Object], required: false, default: true },
3449
+ closeIcon: { type: null, required: false },
3450
+ dismissible: { type: Boolean, required: false, default: true },
3451
+ class: { type: null, required: false },
3452
+ ui: { type: Object, required: false },
3453
+ open: { type: Boolean, required: false },
3454
+ defaultOpen: { type: Boolean, required: false },
3455
+ modal: { type: Boolean, required: false, default: true }
3456
+ },
3457
+ emits: ["leave", "after:leave", "enter", "after:enter", "close:prevent", "update:open"],
3458
+ setup(__props, { emit: __emit }) {
3459
+ const _props = __props;
3460
+ const emits = __emit;
3461
+ const slots = useSlots();
3462
+ const props = useComponentProps("slideover", _props);
3463
+ const { t } = useLocale();
3464
+ const appConfig = useAppConfig();
3465
+ const rootProps = useForwardProps(reactivePick(props, "open", "defaultOpen", "modal"), emits);
3466
+ const portalProps = usePortal(toRef(() => props.portal));
3467
+ const contentProps = toRef(() => props.content);
3468
+ const contentEvents = computed(() => {
3469
+ if (!props.dismissible) {
3470
+ const events = ["interactOutside", "escapeKeyDown"];
3471
+ return events.reduce((acc, curr) => {
3472
+ acc[curr] = (e) => {
3473
+ e.preventDefault();
3474
+ emits("close:prevent");
3475
+ };
3476
+ return acc;
3477
+ }, {});
3478
+ }
3479
+ return {
3480
+ pointerDownOutside
3481
+ };
3482
+ });
3483
+ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.slideover || {} })({
3484
+ transition: props.transition,
3485
+ side: props.side,
3486
+ inset: props.inset
3487
+ }));
3488
+ return (_ctx, _push, _parent, _attrs) => {
3489
+ _push(ssrRenderComponent(unref(DialogRoot_default), mergeProps(unref(rootProps), _attrs), {
3490
+ default: withCtx(({ open, close }, _push2, _parent2, _scopeId) => {
3491
+ if (_push2) {
3492
+ if (!!slots.default) {
3493
+ _push2(ssrRenderComponent(unref(DialogTrigger_default), {
3494
+ "as-child": "",
3495
+ class: unref(props).class
3496
+ }, {
3497
+ default: withCtx((_, _push3, _parent3, _scopeId2) => {
3498
+ if (_push3) {
3499
+ ssrRenderSlot(_ctx.$slots, "default", { open }, null, _push3, _parent3, _scopeId2);
3500
+ } else {
3501
+ return [
3502
+ renderSlot(_ctx.$slots, "default", { open })
3503
+ ];
3504
+ }
3505
+ }),
3506
+ _: 2
3507
+ }, _parent2, _scopeId));
3508
+ } else {
3509
+ _push2(`<!---->`);
3510
+ }
3511
+ _push2(ssrRenderComponent(unref(DialogPortal_default), unref(portalProps), {
3512
+ default: withCtx((_, _push3, _parent3, _scopeId2) => {
3513
+ if (_push3) {
3514
+ _push3(ssrRenderComponent(unref(FieldGroupReset), null, {
3515
+ default: withCtx((_2, _push4, _parent4, _scopeId3) => {
3516
+ if (_push4) {
3517
+ if (unref(props).overlay) {
3518
+ _push4(ssrRenderComponent(unref(DialogOverlay_default), {
3519
+ "data-slot": "overlay",
3520
+ class: ui.value.overlay({ class: unref(props).ui?.overlay })
3521
+ }, null, _parent4, _scopeId3));
3522
+ } else {
3523
+ _push4(`<!---->`);
3524
+ }
3525
+ _push4(ssrRenderComponent(unref(DialogContent_default), mergeProps({
3526
+ "data-side": unref(props).side,
3527
+ "data-slot": "content",
3528
+ class: ui.value.content({ class: [!slots.default && unref(props).class, unref(props).ui?.content] })
3529
+ }, contentProps.value, {
3530
+ onEnter: ($event) => emits("enter"),
3531
+ onAfterEnter: ($event) => emits("after:enter"),
3532
+ onLeave: ($event) => emits("leave"),
3533
+ onAfterLeave: ($event) => emits("after:leave")
3534
+ }, toHandlers(contentEvents.value)), {
3535
+ default: withCtx((_3, _push5, _parent5, _scopeId4) => {
3536
+ if (_push5) {
3537
+ if (!unref(props).title && !slots.title || !unref(props).description && !slots.description || !!slots.content) {
3538
+ _push5(ssrRenderComponent(unref(VisuallyHidden_default), null, {
3539
+ default: withCtx((_4, _push6, _parent6, _scopeId5) => {
3540
+ if (_push6) {
3541
+ if (!unref(props).title && !slots.title) {
3542
+ _push6(ssrRenderComponent(unref(DialogTitle_default), null, null, _parent6, _scopeId5));
3543
+ } else if (!!slots.content) {
3544
+ _push6(ssrRenderComponent(unref(DialogTitle_default), null, {
3545
+ default: withCtx((_5, _push7, _parent7, _scopeId6) => {
3546
+ if (_push7) {
3547
+ ssrRenderSlot(_ctx.$slots, "title", {}, () => {
3548
+ _push7(`${ssrInterpolate(unref(props).title)}`);
3549
+ }, _push7, _parent7, _scopeId6);
3550
+ } else {
3551
+ return [
3552
+ renderSlot(_ctx.$slots, "title", {}, () => [
3553
+ createTextVNode(toDisplayString(unref(props).title), 1)
3554
+ ])
3555
+ ];
3556
+ }
3557
+ }),
3558
+ _: 2
3559
+ }, _parent6, _scopeId5));
3560
+ } else {
3561
+ _push6(`<!---->`);
3562
+ }
3563
+ if (!unref(props).description && !slots.description) {
3564
+ _push6(ssrRenderComponent(unref(DialogDescription_default), null, null, _parent6, _scopeId5));
3565
+ } else if (!!slots.content) {
3566
+ _push6(ssrRenderComponent(unref(DialogDescription_default), null, {
3567
+ default: withCtx((_5, _push7, _parent7, _scopeId6) => {
3568
+ if (_push7) {
3569
+ ssrRenderSlot(_ctx.$slots, "description", {}, () => {
3570
+ _push7(`${ssrInterpolate(unref(props).description)}`);
3571
+ }, _push7, _parent7, _scopeId6);
3572
+ } else {
3573
+ return [
3574
+ renderSlot(_ctx.$slots, "description", {}, () => [
3575
+ createTextVNode(toDisplayString(unref(props).description), 1)
3576
+ ])
3577
+ ];
3578
+ }
3579
+ }),
3580
+ _: 2
3581
+ }, _parent6, _scopeId5));
3582
+ } else {
3583
+ _push6(`<!---->`);
3584
+ }
3585
+ } else {
3586
+ return [
3587
+ !unref(props).title && !slots.title ? (openBlock(), createBlock(unref(DialogTitle_default), { key: 0 })) : !!slots.content ? (openBlock(), createBlock(unref(DialogTitle_default), { key: 1 }, {
3588
+ default: withCtx(() => [
3589
+ renderSlot(_ctx.$slots, "title", {}, () => [
3590
+ createTextVNode(toDisplayString(unref(props).title), 1)
3591
+ ])
3592
+ ]),
3593
+ _: 3
3594
+ })) : createCommentVNode("", true),
3595
+ !unref(props).description && !slots.description ? (openBlock(), createBlock(unref(DialogDescription_default), { key: 2 })) : !!slots.content ? (openBlock(), createBlock(unref(DialogDescription_default), { key: 3 }, {
3596
+ default: withCtx(() => [
3597
+ renderSlot(_ctx.$slots, "description", {}, () => [
3598
+ createTextVNode(toDisplayString(unref(props).description), 1)
3599
+ ])
3600
+ ]),
3601
+ _: 3
3602
+ })) : createCommentVNode("", true)
3603
+ ];
3604
+ }
3605
+ }),
3606
+ _: 2
3607
+ }, _parent5, _scopeId4));
3608
+ } else {
3609
+ _push5(`<!---->`);
3610
+ }
3611
+ ssrRenderSlot(_ctx.$slots, "content", { close }, () => {
3612
+ if (!!slots.header || (unref(props).title || !!slots.title) || (unref(props).description || !!slots.description) || (unref(props).close || !!slots.close)) {
3613
+ _push5(`<div data-slot="header" class="${ssrRenderClass(ui.value.header({ class: unref(props).ui?.header }))}"${_scopeId4}>`);
3614
+ ssrRenderSlot(_ctx.$slots, "header", { close }, () => {
3615
+ if (unref(props).title || !!slots.title || unref(props).description || !!slots.description) {
3616
+ _push5(`<div data-slot="wrapper" class="${ssrRenderClass(ui.value.wrapper({ class: unref(props).ui?.wrapper }))}"${_scopeId4}>`);
3617
+ if (unref(props).title || !!slots.title) {
3618
+ _push5(ssrRenderComponent(unref(DialogTitle_default), {
3619
+ "data-slot": "title",
3620
+ class: ui.value.title({ class: unref(props).ui?.title })
3621
+ }, {
3622
+ default: withCtx((_4, _push6, _parent6, _scopeId5) => {
3623
+ if (_push6) {
3624
+ ssrRenderSlot(_ctx.$slots, "title", {}, () => {
3625
+ _push6(`${ssrInterpolate(unref(props).title)}`);
3626
+ }, _push6, _parent6, _scopeId5);
3627
+ } else {
3628
+ return [
3629
+ renderSlot(_ctx.$slots, "title", {}, () => [
3630
+ createTextVNode(toDisplayString(unref(props).title), 1)
3631
+ ])
3632
+ ];
3633
+ }
3634
+ }),
3635
+ _: 2
3636
+ }, _parent5, _scopeId4));
3637
+ } else {
3638
+ _push5(`<!---->`);
3639
+ }
3640
+ if (unref(props).description || !!slots.description) {
3641
+ _push5(ssrRenderComponent(unref(DialogDescription_default), {
3642
+ "data-slot": "description",
3643
+ class: ui.value.description({ class: unref(props).ui?.description })
3644
+ }, {
3645
+ default: withCtx((_4, _push6, _parent6, _scopeId5) => {
3646
+ if (_push6) {
3647
+ ssrRenderSlot(_ctx.$slots, "description", {}, () => {
3648
+ _push6(`${ssrInterpolate(unref(props).description)}`);
3649
+ }, _push6, _parent6, _scopeId5);
3650
+ } else {
3651
+ return [
3652
+ renderSlot(_ctx.$slots, "description", {}, () => [
3653
+ createTextVNode(toDisplayString(unref(props).description), 1)
3654
+ ])
3655
+ ];
3656
+ }
3657
+ }),
3658
+ _: 2
3659
+ }, _parent5, _scopeId4));
3660
+ } else {
3661
+ _push5(`<!---->`);
3662
+ }
3663
+ _push5(`</div>`);
3664
+ } else {
3665
+ _push5(`<!---->`);
3666
+ }
3667
+ ssrRenderSlot(_ctx.$slots, "actions", {}, null, _push5, _parent5, _scopeId4);
3668
+ if (unref(props).close || !!slots.close) {
3669
+ _push5(ssrRenderComponent(unref(DialogClose_default), { "as-child": "" }, {
3670
+ default: withCtx((_4, _push6, _parent6, _scopeId5) => {
3671
+ if (_push6) {
3672
+ ssrRenderSlot(_ctx.$slots, "close", { ui: ui.value }, () => {
3673
+ if (unref(props).close) {
3674
+ _push6(ssrRenderComponent(_sfc_main$8, mergeProps({
3675
+ icon: unref(props).closeIcon || unref(appConfig).ui.icons.close,
3676
+ color: "neutral",
3677
+ variant: "ghost",
3678
+ "aria-label": unref(t)("slideover.close")
3679
+ }, typeof unref(props).close === "object" ? unref(props).close : {}, {
3680
+ "data-slot": "close",
3681
+ class: ui.value.close({ class: unref(props).ui?.close })
3682
+ }), null, _parent6, _scopeId5));
3683
+ } else {
3684
+ _push6(`<!---->`);
3685
+ }
3686
+ }, _push6, _parent6, _scopeId5);
3687
+ } else {
3688
+ return [
3689
+ renderSlot(_ctx.$slots, "close", { ui: ui.value }, () => [
3690
+ unref(props).close ? (openBlock(), createBlock(_sfc_main$8, mergeProps({
3691
+ key: 0,
3692
+ icon: unref(props).closeIcon || unref(appConfig).ui.icons.close,
3693
+ color: "neutral",
3694
+ variant: "ghost",
3695
+ "aria-label": unref(t)("slideover.close")
3696
+ }, typeof unref(props).close === "object" ? unref(props).close : {}, {
3697
+ "data-slot": "close",
3698
+ class: ui.value.close({ class: unref(props).ui?.close })
3699
+ }), null, 16, ["icon", "aria-label", "class"])) : createCommentVNode("", true)
3700
+ ])
3701
+ ];
3702
+ }
3703
+ }),
3704
+ _: 2
3705
+ }, _parent5, _scopeId4));
3706
+ } else {
3707
+ _push5(`<!---->`);
3708
+ }
3709
+ }, _push5, _parent5, _scopeId4);
3710
+ _push5(`</div>`);
3711
+ } else {
3712
+ _push5(`<!---->`);
3713
+ }
3714
+ _push5(`<div data-slot="body" class="${ssrRenderClass(ui.value.body({ class: unref(props).ui?.body }))}"${_scopeId4}>`);
3715
+ ssrRenderSlot(_ctx.$slots, "body", { close }, null, _push5, _parent5, _scopeId4);
3716
+ _push5(`</div>`);
3717
+ if (!!slots.footer) {
3718
+ _push5(`<div data-slot="footer" class="${ssrRenderClass(ui.value.footer({ class: unref(props).ui?.footer }))}"${_scopeId4}>`);
3719
+ ssrRenderSlot(_ctx.$slots, "footer", { close }, null, _push5, _parent5, _scopeId4);
3720
+ _push5(`</div>`);
3721
+ } else {
3722
+ _push5(`<!---->`);
3723
+ }
3724
+ }, _push5, _parent5, _scopeId4);
3725
+ } else {
3726
+ return [
3727
+ !unref(props).title && !slots.title || !unref(props).description && !slots.description || !!slots.content ? (openBlock(), createBlock(unref(VisuallyHidden_default), { key: 0 }, {
3728
+ default: withCtx(() => [
3729
+ !unref(props).title && !slots.title ? (openBlock(), createBlock(unref(DialogTitle_default), { key: 0 })) : !!slots.content ? (openBlock(), createBlock(unref(DialogTitle_default), { key: 1 }, {
3730
+ default: withCtx(() => [
3731
+ renderSlot(_ctx.$slots, "title", {}, () => [
3732
+ createTextVNode(toDisplayString(unref(props).title), 1)
3733
+ ])
3734
+ ]),
3735
+ _: 3
3736
+ })) : createCommentVNode("", true),
3737
+ !unref(props).description && !slots.description ? (openBlock(), createBlock(unref(DialogDescription_default), { key: 2 })) : !!slots.content ? (openBlock(), createBlock(unref(DialogDescription_default), { key: 3 }, {
3738
+ default: withCtx(() => [
3739
+ renderSlot(_ctx.$slots, "description", {}, () => [
3740
+ createTextVNode(toDisplayString(unref(props).description), 1)
3741
+ ])
3742
+ ]),
3743
+ _: 3
3744
+ })) : createCommentVNode("", true)
3745
+ ]),
3746
+ _: 3
3747
+ })) : createCommentVNode("", true),
3748
+ renderSlot(_ctx.$slots, "content", { close }, () => [
3749
+ !!slots.header || (unref(props).title || !!slots.title) || (unref(props).description || !!slots.description) || (unref(props).close || !!slots.close) ? (openBlock(), createBlock("div", {
3750
+ key: 0,
3751
+ "data-slot": "header",
3752
+ class: ui.value.header({ class: unref(props).ui?.header })
3753
+ }, [
3754
+ renderSlot(_ctx.$slots, "header", { close }, () => [
3755
+ unref(props).title || !!slots.title || unref(props).description || !!slots.description ? (openBlock(), createBlock("div", {
3756
+ key: 0,
3757
+ "data-slot": "wrapper",
3758
+ class: ui.value.wrapper({ class: unref(props).ui?.wrapper })
3759
+ }, [
3760
+ unref(props).title || !!slots.title ? (openBlock(), createBlock(unref(DialogTitle_default), {
3761
+ key: 0,
3762
+ "data-slot": "title",
3763
+ class: ui.value.title({ class: unref(props).ui?.title })
3764
+ }, {
3765
+ default: withCtx(() => [
3766
+ renderSlot(_ctx.$slots, "title", {}, () => [
3767
+ createTextVNode(toDisplayString(unref(props).title), 1)
3768
+ ])
3769
+ ]),
3770
+ _: 3
3771
+ }, 8, ["class"])) : createCommentVNode("", true),
3772
+ unref(props).description || !!slots.description ? (openBlock(), createBlock(unref(DialogDescription_default), {
3773
+ key: 1,
3774
+ "data-slot": "description",
3775
+ class: ui.value.description({ class: unref(props).ui?.description })
3776
+ }, {
3777
+ default: withCtx(() => [
3778
+ renderSlot(_ctx.$slots, "description", {}, () => [
3779
+ createTextVNode(toDisplayString(unref(props).description), 1)
3780
+ ])
3781
+ ]),
3782
+ _: 3
3783
+ }, 8, ["class"])) : createCommentVNode("", true)
3784
+ ], 2)) : createCommentVNode("", true),
3785
+ renderSlot(_ctx.$slots, "actions"),
3786
+ unref(props).close || !!slots.close ? (openBlock(), createBlock(unref(DialogClose_default), {
3787
+ key: 1,
3788
+ "as-child": ""
3789
+ }, {
3790
+ default: withCtx(() => [
3791
+ renderSlot(_ctx.$slots, "close", { ui: ui.value }, () => [
3792
+ unref(props).close ? (openBlock(), createBlock(_sfc_main$8, mergeProps({
3793
+ key: 0,
3794
+ icon: unref(props).closeIcon || unref(appConfig).ui.icons.close,
3795
+ color: "neutral",
3796
+ variant: "ghost",
3797
+ "aria-label": unref(t)("slideover.close")
3798
+ }, typeof unref(props).close === "object" ? unref(props).close : {}, {
3799
+ "data-slot": "close",
3800
+ class: ui.value.close({ class: unref(props).ui?.close })
3801
+ }), null, 16, ["icon", "aria-label", "class"])) : createCommentVNode("", true)
3802
+ ])
3803
+ ]),
3804
+ _: 2
3805
+ }, 1024)) : createCommentVNode("", true)
3806
+ ])
3807
+ ], 2)) : createCommentVNode("", true),
3808
+ createVNode("div", {
3809
+ "data-slot": "body",
3810
+ class: ui.value.body({ class: unref(props).ui?.body })
3811
+ }, [
3812
+ renderSlot(_ctx.$slots, "body", { close })
3813
+ ], 2),
3814
+ !!slots.footer ? (openBlock(), createBlock("div", {
3815
+ key: 1,
3816
+ "data-slot": "footer",
3817
+ class: ui.value.footer({ class: unref(props).ui?.footer })
3818
+ }, [
3819
+ renderSlot(_ctx.$slots, "footer", { close })
3820
+ ], 2)) : createCommentVNode("", true)
3821
+ ])
3822
+ ];
3823
+ }
3824
+ }),
3825
+ _: 2
3826
+ }, _parent4, _scopeId3));
3827
+ } else {
3828
+ return [
3829
+ unref(props).overlay ? (openBlock(), createBlock(unref(DialogOverlay_default), {
3830
+ key: 0,
3831
+ "data-slot": "overlay",
3832
+ class: ui.value.overlay({ class: unref(props).ui?.overlay })
3833
+ }, null, 8, ["class"])) : createCommentVNode("", true),
3834
+ createVNode(unref(DialogContent_default), mergeProps({
3835
+ "data-side": unref(props).side,
3836
+ "data-slot": "content",
3837
+ class: ui.value.content({ class: [!slots.default && unref(props).class, unref(props).ui?.content] })
3838
+ }, contentProps.value, {
3839
+ onEnter: ($event) => emits("enter"),
3840
+ onAfterEnter: ($event) => emits("after:enter"),
3841
+ onLeave: ($event) => emits("leave"),
3842
+ onAfterLeave: ($event) => emits("after:leave")
3843
+ }, toHandlers(contentEvents.value)), {
3844
+ default: withCtx(() => [
3845
+ !unref(props).title && !slots.title || !unref(props).description && !slots.description || !!slots.content ? (openBlock(), createBlock(unref(VisuallyHidden_default), { key: 0 }, {
3846
+ default: withCtx(() => [
3847
+ !unref(props).title && !slots.title ? (openBlock(), createBlock(unref(DialogTitle_default), { key: 0 })) : !!slots.content ? (openBlock(), createBlock(unref(DialogTitle_default), { key: 1 }, {
3848
+ default: withCtx(() => [
3849
+ renderSlot(_ctx.$slots, "title", {}, () => [
3850
+ createTextVNode(toDisplayString(unref(props).title), 1)
3851
+ ])
3852
+ ]),
3853
+ _: 3
3854
+ })) : createCommentVNode("", true),
3855
+ !unref(props).description && !slots.description ? (openBlock(), createBlock(unref(DialogDescription_default), { key: 2 })) : !!slots.content ? (openBlock(), createBlock(unref(DialogDescription_default), { key: 3 }, {
3856
+ default: withCtx(() => [
3857
+ renderSlot(_ctx.$slots, "description", {}, () => [
3858
+ createTextVNode(toDisplayString(unref(props).description), 1)
3859
+ ])
3860
+ ]),
3861
+ _: 3
3862
+ })) : createCommentVNode("", true)
3863
+ ]),
3864
+ _: 3
3865
+ })) : createCommentVNode("", true),
3866
+ renderSlot(_ctx.$slots, "content", { close }, () => [
3867
+ !!slots.header || (unref(props).title || !!slots.title) || (unref(props).description || !!slots.description) || (unref(props).close || !!slots.close) ? (openBlock(), createBlock("div", {
3868
+ key: 0,
3869
+ "data-slot": "header",
3870
+ class: ui.value.header({ class: unref(props).ui?.header })
3871
+ }, [
3872
+ renderSlot(_ctx.$slots, "header", { close }, () => [
3873
+ unref(props).title || !!slots.title || unref(props).description || !!slots.description ? (openBlock(), createBlock("div", {
3874
+ key: 0,
3875
+ "data-slot": "wrapper",
3876
+ class: ui.value.wrapper({ class: unref(props).ui?.wrapper })
3877
+ }, [
3878
+ unref(props).title || !!slots.title ? (openBlock(), createBlock(unref(DialogTitle_default), {
3879
+ key: 0,
3880
+ "data-slot": "title",
3881
+ class: ui.value.title({ class: unref(props).ui?.title })
3882
+ }, {
3883
+ default: withCtx(() => [
3884
+ renderSlot(_ctx.$slots, "title", {}, () => [
3885
+ createTextVNode(toDisplayString(unref(props).title), 1)
3886
+ ])
3887
+ ]),
3888
+ _: 3
3889
+ }, 8, ["class"])) : createCommentVNode("", true),
3890
+ unref(props).description || !!slots.description ? (openBlock(), createBlock(unref(DialogDescription_default), {
3891
+ key: 1,
3892
+ "data-slot": "description",
3893
+ class: ui.value.description({ class: unref(props).ui?.description })
3894
+ }, {
3895
+ default: withCtx(() => [
3896
+ renderSlot(_ctx.$slots, "description", {}, () => [
3897
+ createTextVNode(toDisplayString(unref(props).description), 1)
3898
+ ])
3899
+ ]),
3900
+ _: 3
3901
+ }, 8, ["class"])) : createCommentVNode("", true)
3902
+ ], 2)) : createCommentVNode("", true),
3903
+ renderSlot(_ctx.$slots, "actions"),
3904
+ unref(props).close || !!slots.close ? (openBlock(), createBlock(unref(DialogClose_default), {
3905
+ key: 1,
3906
+ "as-child": ""
3907
+ }, {
3908
+ default: withCtx(() => [
3909
+ renderSlot(_ctx.$slots, "close", { ui: ui.value }, () => [
3910
+ unref(props).close ? (openBlock(), createBlock(_sfc_main$8, mergeProps({
3911
+ key: 0,
3912
+ icon: unref(props).closeIcon || unref(appConfig).ui.icons.close,
3913
+ color: "neutral",
3914
+ variant: "ghost",
3915
+ "aria-label": unref(t)("slideover.close")
3916
+ }, typeof unref(props).close === "object" ? unref(props).close : {}, {
3917
+ "data-slot": "close",
3918
+ class: ui.value.close({ class: unref(props).ui?.close })
3919
+ }), null, 16, ["icon", "aria-label", "class"])) : createCommentVNode("", true)
3920
+ ])
3921
+ ]),
3922
+ _: 2
3923
+ }, 1024)) : createCommentVNode("", true)
3924
+ ])
3925
+ ], 2)) : createCommentVNode("", true),
3926
+ createVNode("div", {
3927
+ "data-slot": "body",
3928
+ class: ui.value.body({ class: unref(props).ui?.body })
3929
+ }, [
3930
+ renderSlot(_ctx.$slots, "body", { close })
3931
+ ], 2),
3932
+ !!slots.footer ? (openBlock(), createBlock("div", {
3933
+ key: 1,
3934
+ "data-slot": "footer",
3935
+ class: ui.value.footer({ class: unref(props).ui?.footer })
3936
+ }, [
3937
+ renderSlot(_ctx.$slots, "footer", { close })
3938
+ ], 2)) : createCommentVNode("", true)
3939
+ ])
3940
+ ]),
3941
+ _: 2
3942
+ }, 1040, ["data-side", "class", "onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])
3943
+ ];
3944
+ }
3945
+ }),
3946
+ _: 2
3947
+ }, _parent3, _scopeId2));
3948
+ } else {
3949
+ return [
3950
+ createVNode(unref(FieldGroupReset), null, {
3951
+ default: withCtx(() => [
3952
+ unref(props).overlay ? (openBlock(), createBlock(unref(DialogOverlay_default), {
3953
+ key: 0,
3954
+ "data-slot": "overlay",
3955
+ class: ui.value.overlay({ class: unref(props).ui?.overlay })
3956
+ }, null, 8, ["class"])) : createCommentVNode("", true),
3957
+ createVNode(unref(DialogContent_default), mergeProps({
3958
+ "data-side": unref(props).side,
3959
+ "data-slot": "content",
3960
+ class: ui.value.content({ class: [!slots.default && unref(props).class, unref(props).ui?.content] })
3961
+ }, contentProps.value, {
3962
+ onEnter: ($event) => emits("enter"),
3963
+ onAfterEnter: ($event) => emits("after:enter"),
3964
+ onLeave: ($event) => emits("leave"),
3965
+ onAfterLeave: ($event) => emits("after:leave")
3966
+ }, toHandlers(contentEvents.value)), {
3967
+ default: withCtx(() => [
3968
+ !unref(props).title && !slots.title || !unref(props).description && !slots.description || !!slots.content ? (openBlock(), createBlock(unref(VisuallyHidden_default), { key: 0 }, {
3969
+ default: withCtx(() => [
3970
+ !unref(props).title && !slots.title ? (openBlock(), createBlock(unref(DialogTitle_default), { key: 0 })) : !!slots.content ? (openBlock(), createBlock(unref(DialogTitle_default), { key: 1 }, {
3971
+ default: withCtx(() => [
3972
+ renderSlot(_ctx.$slots, "title", {}, () => [
3973
+ createTextVNode(toDisplayString(unref(props).title), 1)
3974
+ ])
3975
+ ]),
3976
+ _: 3
3977
+ })) : createCommentVNode("", true),
3978
+ !unref(props).description && !slots.description ? (openBlock(), createBlock(unref(DialogDescription_default), { key: 2 })) : !!slots.content ? (openBlock(), createBlock(unref(DialogDescription_default), { key: 3 }, {
3979
+ default: withCtx(() => [
3980
+ renderSlot(_ctx.$slots, "description", {}, () => [
3981
+ createTextVNode(toDisplayString(unref(props).description), 1)
3982
+ ])
3983
+ ]),
3984
+ _: 3
3985
+ })) : createCommentVNode("", true)
3986
+ ]),
3987
+ _: 3
3988
+ })) : createCommentVNode("", true),
3989
+ renderSlot(_ctx.$slots, "content", { close }, () => [
3990
+ !!slots.header || (unref(props).title || !!slots.title) || (unref(props).description || !!slots.description) || (unref(props).close || !!slots.close) ? (openBlock(), createBlock("div", {
3991
+ key: 0,
3992
+ "data-slot": "header",
3993
+ class: ui.value.header({ class: unref(props).ui?.header })
3994
+ }, [
3995
+ renderSlot(_ctx.$slots, "header", { close }, () => [
3996
+ unref(props).title || !!slots.title || unref(props).description || !!slots.description ? (openBlock(), createBlock("div", {
3997
+ key: 0,
3998
+ "data-slot": "wrapper",
3999
+ class: ui.value.wrapper({ class: unref(props).ui?.wrapper })
4000
+ }, [
4001
+ unref(props).title || !!slots.title ? (openBlock(), createBlock(unref(DialogTitle_default), {
4002
+ key: 0,
4003
+ "data-slot": "title",
4004
+ class: ui.value.title({ class: unref(props).ui?.title })
4005
+ }, {
4006
+ default: withCtx(() => [
4007
+ renderSlot(_ctx.$slots, "title", {}, () => [
4008
+ createTextVNode(toDisplayString(unref(props).title), 1)
4009
+ ])
4010
+ ]),
4011
+ _: 3
4012
+ }, 8, ["class"])) : createCommentVNode("", true),
4013
+ unref(props).description || !!slots.description ? (openBlock(), createBlock(unref(DialogDescription_default), {
4014
+ key: 1,
4015
+ "data-slot": "description",
4016
+ class: ui.value.description({ class: unref(props).ui?.description })
4017
+ }, {
4018
+ default: withCtx(() => [
4019
+ renderSlot(_ctx.$slots, "description", {}, () => [
4020
+ createTextVNode(toDisplayString(unref(props).description), 1)
4021
+ ])
4022
+ ]),
4023
+ _: 3
4024
+ }, 8, ["class"])) : createCommentVNode("", true)
4025
+ ], 2)) : createCommentVNode("", true),
4026
+ renderSlot(_ctx.$slots, "actions"),
4027
+ unref(props).close || !!slots.close ? (openBlock(), createBlock(unref(DialogClose_default), {
4028
+ key: 1,
4029
+ "as-child": ""
4030
+ }, {
4031
+ default: withCtx(() => [
4032
+ renderSlot(_ctx.$slots, "close", { ui: ui.value }, () => [
4033
+ unref(props).close ? (openBlock(), createBlock(_sfc_main$8, mergeProps({
4034
+ key: 0,
4035
+ icon: unref(props).closeIcon || unref(appConfig).ui.icons.close,
4036
+ color: "neutral",
4037
+ variant: "ghost",
4038
+ "aria-label": unref(t)("slideover.close")
4039
+ }, typeof unref(props).close === "object" ? unref(props).close : {}, {
4040
+ "data-slot": "close",
4041
+ class: ui.value.close({ class: unref(props).ui?.close })
4042
+ }), null, 16, ["icon", "aria-label", "class"])) : createCommentVNode("", true)
4043
+ ])
4044
+ ]),
4045
+ _: 2
4046
+ }, 1024)) : createCommentVNode("", true)
4047
+ ])
4048
+ ], 2)) : createCommentVNode("", true),
4049
+ createVNode("div", {
4050
+ "data-slot": "body",
4051
+ class: ui.value.body({ class: unref(props).ui?.body })
4052
+ }, [
4053
+ renderSlot(_ctx.$slots, "body", { close })
4054
+ ], 2),
4055
+ !!slots.footer ? (openBlock(), createBlock("div", {
4056
+ key: 1,
4057
+ "data-slot": "footer",
4058
+ class: ui.value.footer({ class: unref(props).ui?.footer })
4059
+ }, [
4060
+ renderSlot(_ctx.$slots, "footer", { close })
4061
+ ], 2)) : createCommentVNode("", true)
4062
+ ])
4063
+ ]),
4064
+ _: 2
4065
+ }, 1040, ["data-side", "class", "onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])
4066
+ ]),
4067
+ _: 2
4068
+ }, 1024)
4069
+ ];
4070
+ }
4071
+ }),
4072
+ _: 2
4073
+ }, _parent2, _scopeId));
4074
+ } else {
4075
+ return [
4076
+ !!slots.default ? (openBlock(), createBlock(unref(DialogTrigger_default), {
4077
+ key: 0,
4078
+ "as-child": "",
4079
+ class: unref(props).class
4080
+ }, {
4081
+ default: withCtx(() => [
4082
+ renderSlot(_ctx.$slots, "default", { open })
4083
+ ]),
4084
+ _: 2
4085
+ }, 1032, ["class"])) : createCommentVNode("", true),
4086
+ createVNode(unref(DialogPortal_default), unref(portalProps), {
4087
+ default: withCtx(() => [
4088
+ createVNode(unref(FieldGroupReset), null, {
4089
+ default: withCtx(() => [
4090
+ unref(props).overlay ? (openBlock(), createBlock(unref(DialogOverlay_default), {
4091
+ key: 0,
4092
+ "data-slot": "overlay",
4093
+ class: ui.value.overlay({ class: unref(props).ui?.overlay })
4094
+ }, null, 8, ["class"])) : createCommentVNode("", true),
4095
+ createVNode(unref(DialogContent_default), mergeProps({
4096
+ "data-side": unref(props).side,
4097
+ "data-slot": "content",
4098
+ class: ui.value.content({ class: [!slots.default && unref(props).class, unref(props).ui?.content] })
4099
+ }, contentProps.value, {
4100
+ onEnter: ($event) => emits("enter"),
4101
+ onAfterEnter: ($event) => emits("after:enter"),
4102
+ onLeave: ($event) => emits("leave"),
4103
+ onAfterLeave: ($event) => emits("after:leave")
4104
+ }, toHandlers(contentEvents.value)), {
4105
+ default: withCtx(() => [
4106
+ !unref(props).title && !slots.title || !unref(props).description && !slots.description || !!slots.content ? (openBlock(), createBlock(unref(VisuallyHidden_default), { key: 0 }, {
4107
+ default: withCtx(() => [
4108
+ !unref(props).title && !slots.title ? (openBlock(), createBlock(unref(DialogTitle_default), { key: 0 })) : !!slots.content ? (openBlock(), createBlock(unref(DialogTitle_default), { key: 1 }, {
4109
+ default: withCtx(() => [
4110
+ renderSlot(_ctx.$slots, "title", {}, () => [
4111
+ createTextVNode(toDisplayString(unref(props).title), 1)
4112
+ ])
4113
+ ]),
4114
+ _: 3
4115
+ })) : createCommentVNode("", true),
4116
+ !unref(props).description && !slots.description ? (openBlock(), createBlock(unref(DialogDescription_default), { key: 2 })) : !!slots.content ? (openBlock(), createBlock(unref(DialogDescription_default), { key: 3 }, {
4117
+ default: withCtx(() => [
4118
+ renderSlot(_ctx.$slots, "description", {}, () => [
4119
+ createTextVNode(toDisplayString(unref(props).description), 1)
4120
+ ])
4121
+ ]),
4122
+ _: 3
4123
+ })) : createCommentVNode("", true)
4124
+ ]),
4125
+ _: 3
4126
+ })) : createCommentVNode("", true),
4127
+ renderSlot(_ctx.$slots, "content", { close }, () => [
4128
+ !!slots.header || (unref(props).title || !!slots.title) || (unref(props).description || !!slots.description) || (unref(props).close || !!slots.close) ? (openBlock(), createBlock("div", {
4129
+ key: 0,
4130
+ "data-slot": "header",
4131
+ class: ui.value.header({ class: unref(props).ui?.header })
4132
+ }, [
4133
+ renderSlot(_ctx.$slots, "header", { close }, () => [
4134
+ unref(props).title || !!slots.title || unref(props).description || !!slots.description ? (openBlock(), createBlock("div", {
4135
+ key: 0,
4136
+ "data-slot": "wrapper",
4137
+ class: ui.value.wrapper({ class: unref(props).ui?.wrapper })
4138
+ }, [
4139
+ unref(props).title || !!slots.title ? (openBlock(), createBlock(unref(DialogTitle_default), {
4140
+ key: 0,
4141
+ "data-slot": "title",
4142
+ class: ui.value.title({ class: unref(props).ui?.title })
4143
+ }, {
4144
+ default: withCtx(() => [
4145
+ renderSlot(_ctx.$slots, "title", {}, () => [
4146
+ createTextVNode(toDisplayString(unref(props).title), 1)
4147
+ ])
4148
+ ]),
4149
+ _: 3
4150
+ }, 8, ["class"])) : createCommentVNode("", true),
4151
+ unref(props).description || !!slots.description ? (openBlock(), createBlock(unref(DialogDescription_default), {
4152
+ key: 1,
4153
+ "data-slot": "description",
4154
+ class: ui.value.description({ class: unref(props).ui?.description })
4155
+ }, {
4156
+ default: withCtx(() => [
4157
+ renderSlot(_ctx.$slots, "description", {}, () => [
4158
+ createTextVNode(toDisplayString(unref(props).description), 1)
4159
+ ])
4160
+ ]),
4161
+ _: 3
4162
+ }, 8, ["class"])) : createCommentVNode("", true)
4163
+ ], 2)) : createCommentVNode("", true),
4164
+ renderSlot(_ctx.$slots, "actions"),
4165
+ unref(props).close || !!slots.close ? (openBlock(), createBlock(unref(DialogClose_default), {
4166
+ key: 1,
4167
+ "as-child": ""
4168
+ }, {
4169
+ default: withCtx(() => [
4170
+ renderSlot(_ctx.$slots, "close", { ui: ui.value }, () => [
4171
+ unref(props).close ? (openBlock(), createBlock(_sfc_main$8, mergeProps({
4172
+ key: 0,
4173
+ icon: unref(props).closeIcon || unref(appConfig).ui.icons.close,
4174
+ color: "neutral",
4175
+ variant: "ghost",
4176
+ "aria-label": unref(t)("slideover.close")
4177
+ }, typeof unref(props).close === "object" ? unref(props).close : {}, {
4178
+ "data-slot": "close",
4179
+ class: ui.value.close({ class: unref(props).ui?.close })
4180
+ }), null, 16, ["icon", "aria-label", "class"])) : createCommentVNode("", true)
4181
+ ])
4182
+ ]),
4183
+ _: 2
4184
+ }, 1024)) : createCommentVNode("", true)
4185
+ ])
4186
+ ], 2)) : createCommentVNode("", true),
4187
+ createVNode("div", {
4188
+ "data-slot": "body",
4189
+ class: ui.value.body({ class: unref(props).ui?.body })
4190
+ }, [
4191
+ renderSlot(_ctx.$slots, "body", { close })
4192
+ ], 2),
4193
+ !!slots.footer ? (openBlock(), createBlock("div", {
4194
+ key: 1,
4195
+ "data-slot": "footer",
4196
+ class: ui.value.footer({ class: unref(props).ui?.footer })
4197
+ }, [
4198
+ renderSlot(_ctx.$slots, "footer", { close })
4199
+ ], 2)) : createCommentVNode("", true)
4200
+ ])
4201
+ ]),
4202
+ _: 2
4203
+ }, 1040, ["data-side", "class", "onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])
4204
+ ]),
4205
+ _: 2
4206
+ }, 1024)
4207
+ ]),
4208
+ _: 2
4209
+ }, 1040)
4210
+ ];
4211
+ }
4212
+ }),
4213
+ _: 3
4214
+ }, _parent));
4215
+ };
4216
+ }
4217
+ };
4218
+ const _sfc_setup = _sfc_main.setup;
4219
+ _sfc_main.setup = (props, ctx) => {
4220
+ const ssrContext = useSSRContext();
4221
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/.pnpm/@nuxt+ui@4.9.0_fc567bb539fc22c96f06ec9e35286506/node_modules/@nuxt/ui/dist/runtime/components/Slideover.vue");
4222
+ return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
4223
+ };
4224
+
4225
+ export { DismissableLayer_default as D, FocusScope_default as F, PopperRoot_default as P, _sfc_main as _, useId as a, PopperAnchor_default as b, useForwardPropsEmits as c, PopperArrow_default as d, useFocusGuards as e, useBodyScrollLock as f, useHideOthers as g, focusFirst as h, PopperContent_default as i, DialogTrigger_default as j, DialogPortal_default as k, DialogTitle_default as l, DialogDescription_default as m, DialogRoot_default as n, DialogContent_default as o, pointerDownOutside as p, DialogClose_default as q, DialogOverlay_default as r, useDirection as u };
4226
+ //# sourceMappingURL=Slideover-KOfskX1l.mjs.map