@nuxt/devtools-nightly 2.6.5-29358579.0c258d4 → 3.0.0-beta.1-29360371.9a6c882

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 (154) hide show
  1. package/dist/chunks/module-main.mjs +4 -2
  2. package/dist/chunks/vite-inspect.mjs +3 -3
  3. package/dist/client/200.html +1 -30
  4. package/dist/client/404.html +1 -30
  5. package/dist/client/_nuxt/__blank-dhzpxa9h.js +1 -0
  6. package/dist/client/_nuxt/analyze-build-i7dz4diz.js +1 -0
  7. package/dist/client/_nuxt/assets-e1eiimkb.js +16 -0
  8. package/dist/client/_nuxt/builds/latest.json +1 -1
  9. package/dist/client/_nuxt/builds/meta/201c45d2-00f5-4709-8202-2f048e9eeba9.json +1 -0
  10. package/dist/client/_nuxt/{client-kvgyopwa.js → client-miiq4qin.js} +1 -1
  11. package/dist/client/_nuxt/code-diff-ojhnq7lb.js +8 -0
  12. package/dist/client/_nuxt/code-snippets-io8vjgte.js +1 -0
  13. package/dist/client/_nuxt/components-b06rag2o.js +1 -0
  14. package/dist/client/_nuxt/composable-item-de2qbj5y.js +1 -0
  15. package/dist/client/_nuxt/custom-_name_-n5xcd89j.js +1 -0
  16. package/dist/client/_nuxt/data-schema-button-hqryewml.js +1 -0
  17. package/dist/client/_nuxt/data-schema-drawer-ohi5wclq.js +2 -0
  18. package/dist/client/_nuxt/debug-edst1aup.js +1 -0
  19. package/dist/client/_nuxt/default-iey7bcl0.js +1 -0
  20. package/dist/client/_nuxt/duration-display-cjpkh71u.js +1 -0
  21. package/dist/client/_nuxt/entry.css-gme6a42i.css +1 -0
  22. package/dist/client/_nuxt/error-404-j1jq1c66.js +1 -0
  23. package/dist/client/_nuxt/error-404.css-b77wc31r.css +1 -0
  24. package/dist/client/_nuxt/error-500-g7c66z1a.js +1 -0
  25. package/dist/client/_nuxt/error-500.css-fqn6oeub.css +1 -0
  26. package/dist/client/_nuxt/{error-kkczr13h.js → error-n99dhadk.js} +4 -4
  27. package/dist/client/_nuxt/filepath-item-owlv864w.js +1 -0
  28. package/dist/client/_nuxt/full-boj6lq2g.js +1 -0
  29. package/dist/client/_nuxt/help-fab-chg6ox1v.js +1 -0
  30. package/dist/client/_nuxt/hjatffgj.js +19 -0
  31. package/dist/client/_nuxt/hooks-bpngdbhx.js +1 -0
  32. package/dist/client/_nuxt/imports-i8h7x738.js +1 -0
  33. package/dist/client/_nuxt/index-jmvfijcg.js +1 -0
  34. package/dist/client/_nuxt/launch-page-l87i7ewv.js +1 -0
  35. package/dist/client/_nuxt/modules-mo5j545f.js +1 -0
  36. package/dist/client/_nuxt/nbadge-d24jlq2b.js +1 -0
  37. package/dist/client/_nuxt/ncheckbox-eijyrwcq.js +1 -0
  38. package/dist/client/_nuxt/ncode-block-pcw3yh3u.js +2 -0
  39. package/dist/client/_nuxt/ndrawer-bkb7znk3.js +1 -0
  40. package/dist/client/_nuxt/ndropdown-jcnxkt1n.js +1 -0
  41. package/dist/client/_nuxt/nicon-title-he6hzgyb.js +1 -0
  42. package/dist/client/_nuxt/nlink-fgjzhevk.js +1 -0
  43. package/dist/client/_nuxt/nmarkdown-n6zsr15e.js +1 -0
  44. package/dist/client/_nuxt/nnavbar-b4ap0r8w.js +1 -0
  45. package/dist/client/_nuxt/none-mairbbrs.js +1 -0
  46. package/dist/client/_nuxt/nsection-block-je23gs2w.js +1 -0
  47. package/dist/client/_nuxt/nsection-block.css-h05mpq8x.css +1 -0
  48. package/dist/client/_nuxt/nselect-nvb1idpm.js +1 -0
  49. package/dist/client/_nuxt/nselect-tabs-fwdas30r.js +1 -0
  50. package/dist/client/_nuxt/nswitch-ls95gzk4.js +1 -0
  51. package/dist/client/_nuxt/open-graph-hjnpn4lk.js +3 -0
  52. package/dist/client/_nuxt/{overview-e9eewad2.js → overview-k79e36il.js} +1 -1
  53. package/dist/client/_nuxt/pages-ds02jwc5.js +1 -0
  54. package/dist/client/_nuxt/payload-jjh8ouvz.js +1 -0
  55. package/dist/client/_nuxt/pinia-be68olcl.js +1 -0
  56. package/dist/client/_nuxt/plugins-b9qyoo0c.js +1 -0
  57. package/dist/client/_nuxt/render-tree-m94vu53a.js +1 -0
  58. package/dist/client/_nuxt/runtime-configs-la4u86eo.js +1 -0
  59. package/dist/client/_nuxt/{server-discovery-c0ik8ywv.js → server-discovery-mjs49bz1.js} +1 -1
  60. package/dist/client/_nuxt/server-route-inputs-e42a8bs5.js +1 -0
  61. package/dist/client/_nuxt/server-routes-emm36jf2.js +9 -0
  62. package/dist/client/_nuxt/server-tasks-gkj1p3fy.js +1 -0
  63. package/dist/client/_nuxt/settings-qjlpbgea.js +1 -0
  64. package/dist/client/_nuxt/stacktrace-list-gp6s7nwa.js +1 -0
  65. package/dist/client/_nuxt/{state-components-i9ev6w42.js → state-components-8k7sf46m.js} +1 -1
  66. package/dist/client/_nuxt/state-editor-kisl1jyp.js +1 -0
  67. package/dist/client/_nuxt/state-modules-lzveckmy.js +1 -0
  68. package/dist/client/_nuxt/storage-cgn8xpm9.js +1 -0
  69. package/dist/client/_nuxt/terminals-oykxibii.js +1 -0
  70. package/dist/client/_nuxt/timeline-kuccxakl.js +31 -0
  71. package/dist/client/_nuxt/{unocss-runtime-kbniizgc.js → unocss-runtime-o01c8yfj.js} +1 -1
  72. package/dist/client/_nuxt/vendor/json-editor-vue-ikjc812x.js +3902 -0
  73. package/dist/client/_nuxt/vendor/json-editor-vue.css-f8ezrn37.css +1 -0
  74. package/dist/client/_nuxt/vendor/{quicktype-core-jxekulwx.js → quicktype-core-e2ngitjr.js} +47 -47
  75. package/dist/client/_nuxt/vendor/{shiki-jxvjmls6.js → shiki-hpfujfi3.js} +1 -1
  76. package/dist/client/_nuxt/vendor/{unocss-la8bop5t.js → unocss-jpwnx6aq.js} +3 -3
  77. package/dist/client/_nuxt/vendor/unocss.css-c5u30s53.css +1 -0
  78. package/dist/client/_nuxt/vendor/xterm.css-g1ekxkss.css +1 -0
  79. package/dist/client/_nuxt/virtual-files-be3na8kr.js +1 -0
  80. package/dist/client/_nuxt/vue-devtools-bywsfgh0.js +2 -0
  81. package/dist/client/_nuxt/{vue-virtual-scroller.esm-oaume2n6.js → vue-virtual-scroller.esm-b0ym3ct8.js} +2 -2
  82. package/dist/client/discovery/index.html +1 -1
  83. package/dist/client/index.html +1 -30
  84. package/dist/module.json +1 -1
  85. package/dist/runtime/shared/hooks.js +7 -5
  86. package/dist/webcomponents/index.mjs +612 -586
  87. package/package.json +34 -34
  88. package/dist/client/_nuxt/__blank-oybwb9u0.js +0 -1
  89. package/dist/client/_nuxt/analyze-build-g8sjrv2z.js +0 -1
  90. package/dist/client/_nuxt/assets-d64fukbn.js +0 -16
  91. package/dist/client/_nuxt/builds/meta/6d949717-4f72-4b8f-ab4a-43add5c28ea2.json +0 -1
  92. package/dist/client/_nuxt/code-diff.vue-bq8bth0l.js +0 -8
  93. package/dist/client/_nuxt/code-snippets.vue-i2momvvn.js +0 -1
  94. package/dist/client/_nuxt/components-m69qhybz.js +0 -1
  95. package/dist/client/_nuxt/composable-item.vue-bd0qe28q.js +0 -1
  96. package/dist/client/_nuxt/custom-_name_-d8xr5ols.js +0 -1
  97. package/dist/client/_nuxt/data-schema-button.vue-hwc5uuo4.js +0 -1
  98. package/dist/client/_nuxt/data-schema-drawer-m0642ay4.js +0 -2
  99. package/dist/client/_nuxt/debug-muc6hlrw.js +0 -1
  100. package/dist/client/_nuxt/default-c2nspeqr.js +0 -1
  101. package/dist/client/_nuxt/duration-display.vue-juecltgn.js +0 -1
  102. package/dist/client/_nuxt/entry.css-bgro2w4m.css +0 -1
  103. package/dist/client/_nuxt/error-404-bfza8pjy.js +0 -1
  104. package/dist/client/_nuxt/error-404.css-nxlugf5l.css +0 -1
  105. package/dist/client/_nuxt/error-500-gvq1ofsq.js +0 -1
  106. package/dist/client/_nuxt/error-500.css-bcokcrit.css +0 -1
  107. package/dist/client/_nuxt/filepath-item.vue-e693vfym.js +0 -1
  108. package/dist/client/_nuxt/full-g973cipt.js +0 -1
  109. package/dist/client/_nuxt/help-fab.vue-le7iybnb.js +0 -1
  110. package/dist/client/_nuxt/hooks-j17719nd.js +0 -1
  111. package/dist/client/_nuxt/imports-i9odkp1s.js +0 -1
  112. package/dist/client/_nuxt/index-ebrbbgwp.js +0 -1
  113. package/dist/client/_nuxt/launch-page.vue-mubr1qiq.js +0 -1
  114. package/dist/client/_nuxt/m8cyoooy.js +0 -15
  115. package/dist/client/_nuxt/modules-m73nzwro.js +0 -1
  116. package/dist/client/_nuxt/nbadge-hbh0pw7g.js +0 -1
  117. package/dist/client/_nuxt/ncheckbox.vue-cowm3nmm.js +0 -1
  118. package/dist/client/_nuxt/ncode-block.vue-nph7f5ph.js +0 -2
  119. package/dist/client/_nuxt/ndrawer.vue-bscihm5p.js +0 -1
  120. package/dist/client/_nuxt/ndropdown.vue-mt2skirs.js +0 -1
  121. package/dist/client/_nuxt/nicon-title.vue-l5va2e26.js +0 -1
  122. package/dist/client/_nuxt/nlink.vue-gjku6j2r.js +0 -1
  123. package/dist/client/_nuxt/nmarkdown.vue-ho3nn7tc.js +0 -1
  124. package/dist/client/_nuxt/nnavbar.vue-fe2vbqhk.js +0 -1
  125. package/dist/client/_nuxt/none-kod0wjii.js +0 -1
  126. package/dist/client/_nuxt/nsection-block-b1meb1ma.js +0 -1
  127. package/dist/client/_nuxt/nsection-block.css-h1lgpwgm.css +0 -1
  128. package/dist/client/_nuxt/nselect-tabs.vue-hb4dua1x.js +0 -1
  129. package/dist/client/_nuxt/nselect.vue-j457efs9.js +0 -1
  130. package/dist/client/_nuxt/nswitch.vue-m7rzt1v6.js +0 -1
  131. package/dist/client/_nuxt/open-graph-pe9i8d76.js +0 -3
  132. package/dist/client/_nuxt/pages-lcwqvn9k.js +0 -1
  133. package/dist/client/_nuxt/payload-g490ej9a.js +0 -1
  134. package/dist/client/_nuxt/pinia-c8puw8i8.js +0 -1
  135. package/dist/client/_nuxt/plugins-nv3v13im.js +0 -1
  136. package/dist/client/_nuxt/render-tree-2ewluw8m.js +0 -1
  137. package/dist/client/_nuxt/runtime-configs-k8otipyv.js +0 -1
  138. package/dist/client/_nuxt/server-route-inputs.vue-m4ax1l4d.js +0 -1
  139. package/dist/client/_nuxt/server-routes-il1kr8mz.js +0 -9
  140. package/dist/client/_nuxt/server-tasks-oyf96fso.js +0 -1
  141. package/dist/client/_nuxt/settings-ll0xqgui.js +0 -1
  142. package/dist/client/_nuxt/stacktrace-list.vue-nfhbrir6.js +0 -1
  143. package/dist/client/_nuxt/state-editor.vue-byiz4hoi.js +0 -1
  144. package/dist/client/_nuxt/state-modules-c2rs6wdq.js +0 -1
  145. package/dist/client/_nuxt/storage-c3flod4b.js +0 -1
  146. package/dist/client/_nuxt/terminals-et318vjt.js +0 -1
  147. package/dist/client/_nuxt/timeline-f40bnngi.js +0 -31
  148. package/dist/client/_nuxt/vendor/json-editor-vue-gd4lkf0o.js +0 -3902
  149. package/dist/client/_nuxt/vendor/json-editor-vue.css-mqq5uooj.css +0 -1
  150. package/dist/client/_nuxt/vendor/unocss.css-mhvipxpl.css +0 -1
  151. package/dist/client/_nuxt/vendor/xterm.css-egmhki83.css +0 -32
  152. package/dist/client/_nuxt/virtual-files-dqv301q7.js +0 -1
  153. package/dist/client/_nuxt/vue-devtools-m76pi1vn.js +0 -2
  154. /package/dist/client/_nuxt/vendor/{xterm-elw8536o.js → xterm-nmc0lagr.js} +0 -0
@@ -2,660 +2,686 @@ import { isRef, toRefs as toRefs$1, customRef, toValue, onMounted, nextTick, wat
2
2
 
3
3
  const css = `*{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:before{--un-content:""}:after{--un-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button{-webkit-appearance:button;background-color:transparent;background-image:none}[type=button]{-webkit-appearance:button;background-color:transparent;background-image:none}[type=reset]{-webkit-appearance:button;background-color:transparent;background-image:none}[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder{opacity:1;color:#9ca3af}textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--un-text-opacity:100%}@property --nuxt-devtools-inspect-border-angle{syntax:"<angle>";inherits:false;initial-value:90deg}.nuxt-devtools-inspect-running-border{filter:blur(10px);--nuxt-devtools-inspect-border-angle:0deg;background:conic-gradient(from var(--nuxt-devtools-inspect-border-angle),#00dc82,#00e6e8,#42e200,#0086e2,#00dc82)border-box;-webkit-mask:linear-gradient(#fff 0,#fff 0) padding-box,linear-gradient(#fff 0,#fff 0);-webkit-mask-composite:destination-out;transition:all .5s;animation:1s linear infinite color-rotate-background;mask-image:linear-gradient(#fff 0,#fff 0),linear-gradient(#fff 0,#fff 0);mask-position:0 0,0 0;mask-size:auto,auto;mask-repeat:repeat,repeat;mask-clip:padding-box,border-box;mask-origin:padding-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.nuxt-devtools-inspect-neon{background-image:linear-gradient(90deg,#00dc82,#00e6e8,#42e200,#00dc82,#00e6e8,#42e200,#00dc82,#00e6e8,#42e200);background-position:0;background-size:400% 400%}.nuxt-devtools-inspect-neon.running{animation:3s linear infinite neon-background}@keyframes neon-background{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.nuxt-devtools-frame{z-index:2147483645;-webkit-font-smoothing:antialiased;width:100%;height:100%;position:fixed}.nuxt-devtools-frame iframe{background:var(--nuxt-devtools-widget-bg);border:1px solid rgba(125,125,125,.2);-webkit-border-radius:10px;border-radius:10px;outline:none;width:100%;height:100%}.nuxt-devtools-resize-handle-horizontal{cursor:ns-resize;-webkit-border-radius:5px;border-radius:5px;height:10px;margin:-5px 0;position:absolute;left:6px;right:6px}.nuxt-devtools-resize-handle-vertical{cursor:ew-resize;-webkit-border-radius:5px;border-radius:5px;width:10px;margin:0 -5px;position:absolute;top:6px;bottom:0}.nuxt-devtools-resize-handle-corner{-webkit-border-radius:6px;border-radius:6px;width:14px;height:14px;margin:-6px;position:absolute}.nuxt-devtools-resize-handle:hover{background:rgba(125,125,125,.1)}#nuxt-devtools-anchor{z-index:2147483645;transform-origin:50%;box-sizing:border-box;width:0;font-family:Arial,Helvetica,sans-serif;position:fixed;transform:translate(-50%,-50%)rotate(0);font-size:15px!important}#nuxt-devtools-anchor *{box-sizing:border-box}#nuxt-devtools-anchor button{cursor:pointer;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}#nuxt-devtools-anchor .nuxt-devtools-label{align-items:center;justify-items:center;gap:3px;padding:0 7px 0 8px;font-size:.8em;line-height:1em;display:flex}#nuxt-devtools-anchor .nuxt-devtools-label .nuxt-devtools-label-main{opacity:.8;white-space:nowrap}#nuxt-devtools-anchor .nuxt-devtools-label .nuxt-devtools-label-secondary{opacity:.5;white-space:nowrap;font-size:.8em;line-height:.6em}#nuxt-devtools-anchor .nuxt-devtools-nuxt-button{flex:none}#nuxt-devtools-anchor.nuxt-devtools-vertical .nuxt-devtools-nuxt-button{transform:rotate(-90deg)}#nuxt-devtools-anchor.nuxt-devtools-vertical .nuxt-devtools-label{flex-direction:column;gap:2px;padding:0 10px;transform:rotate(-90deg)}#nuxt-devtools-anchor .nuxt-devtools-panel{border:1px solid var(--nuxt-devtools-widget-border);background-color:var(--nuxt-devtools-widget-bg);backdrop-filter:blur(10px);height:30px;color:var(--nuxt-devtools-widget-fg);box-shadow:2px 2px 8px var(--nuxt-devtools-widget-shadow);user-select:none;touch-action:none;-webkit-border-radius:100px;border-radius:100px;justify-content:flex-start;align-items:center;gap:2px;max-width:150px;padding:2px 2px 2px 2.5px;transition:all .6s,max-width .6s,padding .5s,transform .4s,opacity .2s;display:flex;position:absolute;top:0;left:0;overflow:hidden;transform:translate(-50%,-50%)}#nuxt-devtools-anchor.nuxt-devtools-hide .nuxt-devtools-panel{max-width:32px;padding:2px 0}#nuxt-devtools-anchor.nuxt-devtools-vertical .nuxt-devtools-panel{box-shadow:2px -2px 8px var(--nuxt-devtools-widget-shadow);transform:translate(-50%,-50%)rotate(90deg)}#nuxt-devtools-anchor .nuxt-devtools-panel-content{transition:opacity .4s}#nuxt-devtools-anchor.nuxt-devtools-hide .nuxt-devtools-panel-content{opacity:0}#nuxt-devtools-anchor .nuxt-devtools-icon-button{opacity:.8;border-width:0;-webkit-border-radius:100%;border-radius:100%;justify-content:center;align-items:center;width:30px;height:30px;transition:opacity .2s ease-in-out;display:flex}#nuxt-devtools-anchor .nuxt-devtools-icon-button:hover{opacity:1}#nuxt-devtools-anchor:hover .nuxt-devtools-glowing{opacity:.6}#nuxt-devtools-anchor .nuxt-devtools-glowing{opacity:0;pointer-events:none;z-index:-1;filter:blur(60px);background-image:linear-gradient(45deg,#00dc82,#00dc82,#00dc82);-webkit-border-radius:9999px;border-radius:9999px;width:160px;height:160px;transition:all 1s;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}@media print{#nuxt-devtools-anchor{display:none}}*{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.i-ph-arrow-bend-left-up-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M152 80H56l48-48Z' opacity='.2'/%3E%3Cpath d='M200 216a88.1 88.1 0 0 1-88-88V88h40a8 8 0 0 0 5.66-13.66l-48-48a8 8 0 0 0-11.32 0l-48 48A8 8 0 0 0 56 88h40v40a104.11 104.11 0 0 0 104 104a8 8 0 0 0 0-16M104 43.31L132.69 72H75.31Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon)no-repeat;mask:var(--un-icon)no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;mask-size:100% 100%}.i-ph-arrow-up-right-light{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M198 64v104a6 6 0 0 1-12 0V78.48L68.24 196.24a6 6 0 0 1-8.48-8.48L177.52 70H88a6 6 0 0 1 0-12h104a6 6 0 0 1 6 6'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon)no-repeat;mask:var(--un-icon)no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;mask-size:100% 100%}.i-ph-x{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128L50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon)no-repeat;mask:var(--un-icon)no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;mask-size:100% 100%}.container{width:100%}.bg-glass{--un-backdrop-blur:blur(5px);backdrop-filter:var(--un-backdrop-blur)var(--un-backdrop-brightness)var(--un-backdrop-contrast)var(--un-backdrop-grayscale)var(--un-backdrop-hue-rotate)var(--un-backdrop-invert)var(--un-backdrop-opacity)var(--un-backdrop-saturate)var(--un-backdrop-sepia);background-color:rgba(255,255,255,.75)}.color-base{--un-text-opacity:1;color:rgba(38,38,38,var(--un-text-opacity))}.ring-base{--un-ring-opacity:.13;--un-ring-color:rgba(136,136,136,var(--un-ring-opacity))}@media (prefers-color-scheme:dark){.bg-glass{background-color:rgba(17,17,17,.75)}.color-base{--un-text-opacity:1;color:rgba(229,229,229,var(--un-text-opacity))}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.disabled\\:pointer-events-none:disabled{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{top:0;bottom:0;left:0;right:0}.z-10{z-index:10}.z-9999999{z-index:9999999}.ms:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:1rem}.ms:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:1rem}.mt--2{margin-top:-.5rem}.w-400px{width:400px}.flex{display:flex}.flex-auto{flex:auto}.flex-none{flex:none}.flex-col{flex-direction:column}.transform{transform:translateX(var(--un-translate-x))translateY(var(--un-translate-y))translateZ(var(--un-translate-z))rotate(var(--un-rotate))rotateX(var(--un-rotate-x))rotateY(var(--un-rotate-y))rotateZ(var(--un-rotate-z))skewX(var(--un-skew-x))skewY(var(--un-skew-y))scaleX(var(--un-scale-x))scaleY(var(--un-scale-y))scaleZ(var(--un-scale-z))}.resize{resize:both}.items-center{align-items:center}.gap-2{gap:.5rem}.of-hidden{overflow:hidden}.border-1\\.5{border-width:1.5px}.border-transparent{border-color:transparent}.rounded-lg{-webkit-border-radius:.5rem;border-radius:.5rem}.p2{padding:.5rem}.px{padding-left:1rem;padding-right:1rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.hover\\:text-green6:hover{--un-text-opacity:1;color:rgba(22,163,74,var(--un-text-opacity))}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.op0{opacity:0}.op100{opacity:1}.op50{opacity:.5}.hover\\:op100:hover{opacity:1}.disabled\\:op10\\!:disabled{opacity:.1!important}.shadow-lg{--un-shadow:var(--un-shadow-inset)0 10px 15px -3px var(--un-shadow-color,rgba(0,0,0,.1)),var(--un-shadow-inset)0 4px 6px -4px var(--un-shadow-color,rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.ring-1{--un-ring-width:1px;--un-ring-offset-shadow:var(--un-ring-inset)0 0 0 var(--un-ring-offset-width)var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset)0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width))var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.backdrop-blur{--un-backdrop-blur:blur(8px);backdrop-filter:var(--un-backdrop-blur)var(--un-backdrop-brightness)var(--un-backdrop-contrast)var(--un-backdrop-grayscale)var(--un-backdrop-hue-rotate)var(--un-backdrop-invert)var(--un-backdrop-opacity)var(--un-backdrop-saturate)var(--un-backdrop-sepia)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.transition-none{transition:none}`;
4
4
 
5
- function tryOnScopeDispose(fn) {
6
- if (getCurrentScope()) {
7
- onScopeDispose(fn);
8
- return true;
9
- }
10
- return false;
5
+ //#endregion
6
+ //#region tryOnScopeDispose/index.ts
7
+ /**
8
+ * Call onScopeDispose() if it's inside an effect scope lifecycle, if not, do nothing
9
+ *
10
+ * @param fn
11
+ */
12
+ function tryOnScopeDispose(fn, failSilently) {
13
+ if (getCurrentScope()) {
14
+ onScopeDispose(fn, failSilently);
15
+ return true;
16
+ }
17
+ return false;
11
18
  }
12
19
 
20
+ //#endregion
21
+ //#region utils/is.ts
13
22
  const isClient = typeof window !== "undefined" && typeof document !== "undefined";
14
23
  typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
15
24
  const notNullish = (val) => val != null;
16
25
  const toString = Object.prototype.toString;
17
26
  const isObject = (val) => toString.call(val) === "[object Object]";
18
- const noop = () => {
19
- };
20
- const isIOS = /* @__PURE__ */ getIsIOS();
21
- function getIsIOS() {
22
- var _a, _b;
23
- return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));
24
- }
27
+ const noop = () => {};
25
28
 
29
+ //#endregion
30
+ //#region utils/filters.ts
31
+ /**
32
+ * @internal
33
+ */
26
34
  function createFilterWrapper(filter, fn) {
27
- function wrapper(...args) {
28
- return new Promise((resolve, reject) => {
29
- Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);
30
- });
31
- }
32
- return wrapper;
35
+ function wrapper(...args) {
36
+ return new Promise((resolve, reject) => {
37
+ Promise.resolve(filter(() => fn.apply(this, args), {
38
+ fn,
39
+ thisArg: this,
40
+ args
41
+ })).then(resolve).catch(reject);
42
+ });
43
+ }
44
+ return wrapper;
33
45
  }
46
+ /**
47
+ * Create an EventFilter that debounce the events
48
+ */
34
49
  function debounceFilter(ms, options = {}) {
35
- let timer;
36
- let maxTimer;
37
- let lastRejector = noop;
38
- const _clearTimeout = (timer2) => {
39
- clearTimeout(timer2);
40
- lastRejector();
41
- lastRejector = noop;
42
- };
43
- let lastInvoker;
44
- const filter = (invoke) => {
45
- const duration = toValue(ms);
46
- const maxDuration = toValue(options.maxWait);
47
- if (timer)
48
- _clearTimeout(timer);
49
- if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {
50
- if (maxTimer) {
51
- _clearTimeout(maxTimer);
52
- maxTimer = void 0;
53
- }
54
- return Promise.resolve(invoke());
55
- }
56
- return new Promise((resolve, reject) => {
57
- lastRejector = options.rejectOnCancel ? reject : resolve;
58
- lastInvoker = invoke;
59
- if (maxDuration && !maxTimer) {
60
- maxTimer = setTimeout(() => {
61
- if (timer)
62
- _clearTimeout(timer);
63
- maxTimer = void 0;
64
- resolve(lastInvoker());
65
- }, maxDuration);
66
- }
67
- timer = setTimeout(() => {
68
- if (maxTimer)
69
- _clearTimeout(maxTimer);
70
- maxTimer = void 0;
71
- resolve(invoke());
72
- }, duration);
73
- });
74
- };
75
- return filter;
50
+ let timer;
51
+ let maxTimer;
52
+ let lastRejector = noop;
53
+ const _clearTimeout = (timer$1) => {
54
+ clearTimeout(timer$1);
55
+ lastRejector();
56
+ lastRejector = noop;
57
+ };
58
+ let lastInvoker;
59
+ const filter = (invoke$1) => {
60
+ const duration = toValue(ms);
61
+ const maxDuration = toValue(options.maxWait);
62
+ if (timer) _clearTimeout(timer);
63
+ if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {
64
+ if (maxTimer) {
65
+ _clearTimeout(maxTimer);
66
+ maxTimer = void 0;
67
+ }
68
+ return Promise.resolve(invoke$1());
69
+ }
70
+ return new Promise((resolve, reject) => {
71
+ lastRejector = options.rejectOnCancel ? reject : resolve;
72
+ lastInvoker = invoke$1;
73
+ if (maxDuration && !maxTimer) maxTimer = setTimeout(() => {
74
+ if (timer) _clearTimeout(timer);
75
+ maxTimer = void 0;
76
+ resolve(lastInvoker());
77
+ }, maxDuration);
78
+ timer = setTimeout(() => {
79
+ if (maxTimer) _clearTimeout(maxTimer);
80
+ maxTimer = void 0;
81
+ resolve(invoke$1());
82
+ }, duration);
83
+ });
84
+ };
85
+ return filter;
76
86
  }
77
87
  function toArray(value) {
78
- return Array.isArray(value) ? value : [value];
88
+ return Array.isArray(value) ? value : [value];
79
89
  }
80
90
 
91
+ //#endregion
92
+ //#region utils/vue.ts
81
93
  function getLifeCycleTarget(target) {
82
- return getCurrentInstance();
94
+ return getCurrentInstance();
83
95
  }
84
96
 
85
- // @__NO_SIDE_EFFECTS__
97
+ //#endregion
98
+ //#region useDebounceFn/index.ts
99
+ /**
100
+ * Debounce execution of a function.
101
+ *
102
+ * @see https://vueuse.org/useDebounceFn
103
+ * @param fn A function to be executed after delay milliseconds debounced.
104
+ * @param ms A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
105
+ * @param options Options
106
+ *
107
+ * @return A new, debounce, function.
108
+ *
109
+ * @__NO_SIDE_EFFECTS__
110
+ */
86
111
  function useDebounceFn(fn, ms = 200, options = {}) {
87
- return createFilterWrapper(
88
- debounceFilter(ms, options),
89
- fn
90
- );
112
+ return createFilterWrapper(debounceFilter(ms, options), fn);
91
113
  }
92
114
 
115
+ //#endregion
116
+ //#region toRefs/index.ts
117
+ /**
118
+ * Extended `toRefs` that also accepts refs of an object.
119
+ *
120
+ * @see https://vueuse.org/toRefs
121
+ * @param objectRef A ref or normal object or array.
122
+ * @param options Options
123
+ */
93
124
  function toRefs(objectRef, options = {}) {
94
- if (!isRef(objectRef))
95
- return toRefs$1(objectRef);
96
- const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};
97
- for (const key in objectRef.value) {
98
- result[key] = customRef(() => ({
99
- get() {
100
- return objectRef.value[key];
101
- },
102
- set(v) {
103
- var _a;
104
- const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true;
105
- if (replaceRef) {
106
- if (Array.isArray(objectRef.value)) {
107
- const copy = [...objectRef.value];
108
- copy[key] = v;
109
- objectRef.value = copy;
110
- } else {
111
- const newObject = { ...objectRef.value, [key]: v };
112
- Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));
113
- objectRef.value = newObject;
114
- }
115
- } else {
116
- objectRef.value[key] = v;
117
- }
118
- }
119
- }));
120
- }
121
- return result;
125
+ if (!isRef(objectRef)) return toRefs$1(objectRef);
126
+ const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};
127
+ for (const key in objectRef.value) result[key] = customRef(() => ({
128
+ get() {
129
+ return objectRef.value[key];
130
+ },
131
+ set(v) {
132
+ var _toValue;
133
+ if ((_toValue = toValue(options.replaceRef)) !== null && _toValue !== void 0 ? _toValue : true) if (Array.isArray(objectRef.value)) {
134
+ const copy = [...objectRef.value];
135
+ copy[key] = v;
136
+ objectRef.value = copy;
137
+ } else {
138
+ const newObject = {
139
+ ...objectRef.value,
140
+ [key]: v
141
+ };
142
+ Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));
143
+ objectRef.value = newObject;
144
+ }
145
+ else objectRef.value[key] = v;
146
+ }
147
+ }));
148
+ return result;
122
149
  }
123
150
 
151
+ //#endregion
152
+ //#region tryOnMounted/index.ts
153
+ /**
154
+ * Call onMounted() if it's inside a component lifecycle, if not, just call the function
155
+ *
156
+ * @param fn
157
+ * @param sync if set to false, it will run in the nextTick() of Vue
158
+ * @param target
159
+ */
124
160
  function tryOnMounted(fn, sync = true, target) {
125
- const instance = getLifeCycleTarget();
126
- if (instance)
127
- onMounted(fn, target);
128
- else if (sync)
129
- fn();
130
- else
131
- nextTick(fn);
161
+ if (getLifeCycleTarget()) onMounted(fn, target);
162
+ else if (sync) fn();
163
+ else nextTick(fn);
132
164
  }
133
165
 
166
+ //#endregion
167
+ //#region watchImmediate/index.ts
168
+ /**
169
+ * Shorthand for watching value with {immediate: true}
170
+ *
171
+ * @see https://vueuse.org/watchImmediate
172
+ */
134
173
  function watchImmediate(source, cb, options) {
135
- return watch(
136
- source,
137
- cb,
138
- {
139
- ...options,
140
- immediate: true
141
- }
142
- );
174
+ return watch(source, cb, {
175
+ ...options,
176
+ immediate: true
177
+ });
143
178
  }
144
179
 
180
+ //#endregion
181
+ //#region _configurable.ts
145
182
  const defaultWindow = isClient ? window : void 0;
146
183
 
184
+ //#endregion
185
+ //#region unrefElement/index.ts
186
+ /**
187
+ * Get the dom element of a ref of element or Vue component instance
188
+ *
189
+ * @param elRef
190
+ */
147
191
  function unrefElement(elRef) {
148
- var _a;
149
- const plain = toValue(elRef);
150
- return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;
192
+ var _$el;
193
+ const plain = toValue(elRef);
194
+ return (_$el = plain === null || plain === void 0 ? void 0 : plain.$el) !== null && _$el !== void 0 ? _$el : plain;
151
195
  }
152
196
 
197
+ //#endregion
198
+ //#region useEventListener/index.ts
153
199
  function useEventListener(...args) {
154
- const cleanups = [];
155
- const cleanup = () => {
156
- cleanups.forEach((fn) => fn());
157
- cleanups.length = 0;
158
- };
159
- const register = (el, event, listener, options) => {
160
- el.addEventListener(event, listener, options);
161
- return () => el.removeEventListener(event, listener, options);
162
- };
163
- const firstParamTargets = computed(() => {
164
- const test = toArray(toValue(args[0])).filter((e) => e != null);
165
- return test.every((e) => typeof e !== "string") ? test : void 0;
166
- });
167
- const stopWatch = watchImmediate(
168
- () => {
169
- var _a, _b;
170
- return [
171
- (_b = (_a = firstParamTargets.value) == null ? void 0 : _a.map((e) => unrefElement(e))) != null ? _b : [defaultWindow].filter((e) => e != null),
172
- toArray(toValue(firstParamTargets.value ? args[1] : args[0])),
173
- toArray(unref(firstParamTargets.value ? args[2] : args[1])),
174
- // @ts-expect-error - TypeScript gets the correct types, but somehow still complains
175
- toValue(firstParamTargets.value ? args[3] : args[2])
176
- ];
177
- },
178
- ([raw_targets, raw_events, raw_listeners, raw_options]) => {
179
- cleanup();
180
- if (!(raw_targets == null ? void 0 : raw_targets.length) || !(raw_events == null ? void 0 : raw_events.length) || !(raw_listeners == null ? void 0 : raw_listeners.length))
181
- return;
182
- const optionsClone = isObject(raw_options) ? { ...raw_options } : raw_options;
183
- cleanups.push(
184
- ...raw_targets.flatMap(
185
- (el) => raw_events.flatMap(
186
- (event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone))
187
- )
188
- )
189
- );
190
- },
191
- { flush: "post" }
192
- );
193
- const stop = () => {
194
- stopWatch();
195
- cleanup();
196
- };
197
- tryOnScopeDispose(cleanup);
198
- return stop;
200
+ const cleanups = [];
201
+ const cleanup = () => {
202
+ cleanups.forEach((fn) => fn());
203
+ cleanups.length = 0;
204
+ };
205
+ const register = (el, event, listener, options) => {
206
+ el.addEventListener(event, listener, options);
207
+ return () => el.removeEventListener(event, listener, options);
208
+ };
209
+ const firstParamTargets = computed(() => {
210
+ const test = toArray(toValue(args[0])).filter((e) => e != null);
211
+ return test.every((e) => typeof e !== "string") ? test : void 0;
212
+ });
213
+ const stopWatch = watchImmediate(() => {
214
+ var _firstParamTargets$va, _firstParamTargets$va2;
215
+ return [
216
+ (_firstParamTargets$va = (_firstParamTargets$va2 = firstParamTargets.value) === null || _firstParamTargets$va2 === void 0 ? void 0 : _firstParamTargets$va2.map((e) => unrefElement(e))) !== null && _firstParamTargets$va !== void 0 ? _firstParamTargets$va : [defaultWindow].filter((e) => e != null),
217
+ toArray(toValue(firstParamTargets.value ? args[1] : args[0])),
218
+ toArray(unref(firstParamTargets.value ? args[2] : args[1])),
219
+ toValue(firstParamTargets.value ? args[3] : args[2])
220
+ ];
221
+ }, ([raw_targets, raw_events, raw_listeners, raw_options]) => {
222
+ cleanup();
223
+ if (!(raw_targets === null || raw_targets === void 0 ? void 0 : raw_targets.length) || !(raw_events === null || raw_events === void 0 ? void 0 : raw_events.length) || !(raw_listeners === null || raw_listeners === void 0 ? void 0 : raw_listeners.length)) return;
224
+ const optionsClone = isObject(raw_options) ? { ...raw_options } : raw_options;
225
+ cleanups.push(...raw_targets.flatMap((el) => raw_events.flatMap((event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone)))));
226
+ }, { flush: "post" });
227
+ const stop = () => {
228
+ stopWatch();
229
+ cleanup();
230
+ };
231
+ tryOnScopeDispose(cleanup);
232
+ return stop;
199
233
  }
200
-
201
- let _iOSWorkaround = false;
202
234
  function onClickOutside(target, handler, options = {}) {
203
- const { window = defaultWindow, ignore = [], capture = true, detectIframe = false, controls = false } = options;
204
- if (!window) {
205
- return controls ? { stop: noop, cancel: noop, trigger: noop } : noop;
206
- }
207
- if (isIOS && !_iOSWorkaround) {
208
- _iOSWorkaround = true;
209
- const listenerOptions = { passive: true };
210
- Array.from(window.document.body.children).forEach((el) => el.addEventListener("click", noop, listenerOptions));
211
- window.document.documentElement.addEventListener("click", noop, listenerOptions);
212
- }
213
- let shouldListen = true;
214
- const shouldIgnore = (event) => {
215
- return toValue(ignore).some((target2) => {
216
- if (typeof target2 === "string") {
217
- return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));
218
- } else {
219
- const el = unrefElement(target2);
220
- return el && (event.target === el || event.composedPath().includes(el));
221
- }
222
- });
223
- };
224
- function hasMultipleRoots(target2) {
225
- const vm = toValue(target2);
226
- return vm && vm.$.subTree.shapeFlag === 16;
227
- }
228
- function checkMultipleRoots(target2, event) {
229
- const vm = toValue(target2);
230
- const children = vm.$.subTree && vm.$.subTree.children;
231
- if (children == null || !Array.isArray(children))
232
- return false;
233
- return children.some((child) => child.el === event.target || event.composedPath().includes(child.el));
234
- }
235
- const listener = (event) => {
236
- const el = unrefElement(target);
237
- if (event.target == null)
238
- return;
239
- if (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event))
240
- return;
241
- if (!el || el === event.target || event.composedPath().includes(el))
242
- return;
243
- if ("detail" in event && event.detail === 0)
244
- shouldListen = !shouldIgnore(event);
245
- if (!shouldListen) {
246
- shouldListen = true;
247
- return;
248
- }
249
- handler(event);
250
- };
251
- let isProcessingClick = false;
252
- const cleanup = [
253
- useEventListener(window, "click", (event) => {
254
- if (!isProcessingClick) {
255
- isProcessingClick = true;
256
- setTimeout(() => {
257
- isProcessingClick = false;
258
- }, 0);
259
- listener(event);
260
- }
261
- }, { passive: true, capture }),
262
- useEventListener(window, "pointerdown", (e) => {
263
- const el = unrefElement(target);
264
- shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));
265
- }, { passive: true }),
266
- detectIframe && useEventListener(window, "blur", (event) => {
267
- setTimeout(() => {
268
- var _a;
269
- const el = unrefElement(target);
270
- if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window.document.activeElement))) {
271
- handler(event);
272
- }
273
- }, 0);
274
- }, { passive: true })
275
- ].filter(Boolean);
276
- const stop = () => cleanup.forEach((fn) => fn());
277
- if (controls) {
278
- return {
279
- stop,
280
- cancel: () => {
281
- shouldListen = false;
282
- },
283
- trigger: (event) => {
284
- shouldListen = true;
285
- listener(event);
286
- shouldListen = false;
287
- }
288
- };
289
- }
290
- return stop;
235
+ const { window: window$1 = defaultWindow, ignore = [], capture = true, detectIframe = false, controls = false } = options;
236
+ if (!window$1) return controls ? {
237
+ stop: noop,
238
+ cancel: noop,
239
+ trigger: noop
240
+ } : noop;
241
+ let shouldListen = true;
242
+ const shouldIgnore = (event) => {
243
+ return toValue(ignore).some((target$1) => {
244
+ if (typeof target$1 === "string") return Array.from(window$1.document.querySelectorAll(target$1)).some((el) => el === event.target || event.composedPath().includes(el));
245
+ else {
246
+ const el = unrefElement(target$1);
247
+ return el && (event.target === el || event.composedPath().includes(el));
248
+ }
249
+ });
250
+ };
251
+ /**
252
+ * Determines if the given target has multiple root elements.
253
+ * Referenced from: https://github.com/vuejs/test-utils/blob/ccb460be55f9f6be05ab708500a41ec8adf6f4bc/src/vue-wrapper.ts#L21
254
+ */
255
+ function hasMultipleRoots(target$1) {
256
+ const vm = toValue(target$1);
257
+ return vm && vm.$.subTree.shapeFlag === 16;
258
+ }
259
+ function checkMultipleRoots(target$1, event) {
260
+ const vm = toValue(target$1);
261
+ const children = vm.$.subTree && vm.$.subTree.children;
262
+ if (children == null || !Array.isArray(children)) return false;
263
+ return children.some((child) => child.el === event.target || event.composedPath().includes(child.el));
264
+ }
265
+ const listener = (event) => {
266
+ const el = unrefElement(target);
267
+ if (event.target == null) return;
268
+ if (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event)) return;
269
+ if (!el || el === event.target || event.composedPath().includes(el)) return;
270
+ if ("detail" in event && event.detail === 0) shouldListen = !shouldIgnore(event);
271
+ if (!shouldListen) {
272
+ shouldListen = true;
273
+ return;
274
+ }
275
+ handler(event);
276
+ };
277
+ let isProcessingClick = false;
278
+ const cleanup = [
279
+ useEventListener(window$1, "click", (event) => {
280
+ if (!isProcessingClick) {
281
+ isProcessingClick = true;
282
+ setTimeout(() => {
283
+ isProcessingClick = false;
284
+ }, 0);
285
+ listener(event);
286
+ }
287
+ }, {
288
+ passive: true,
289
+ capture
290
+ }),
291
+ useEventListener(window$1, "pointerdown", (e) => {
292
+ const el = unrefElement(target);
293
+ shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));
294
+ }, { passive: true }),
295
+ detectIframe && useEventListener(window$1, "blur", (event) => {
296
+ setTimeout(() => {
297
+ var _window$document$acti;
298
+ const el = unrefElement(target);
299
+ if (((_window$document$acti = window$1.document.activeElement) === null || _window$document$acti === void 0 ? void 0 : _window$document$acti.tagName) === "IFRAME" && !(el === null || el === void 0 ? void 0 : el.contains(window$1.document.activeElement))) handler(event);
300
+ }, 0);
301
+ }, { passive: true })
302
+ ].filter(Boolean);
303
+ const stop = () => cleanup.forEach((fn) => fn());
304
+ if (controls) return {
305
+ stop,
306
+ cancel: () => {
307
+ shouldListen = false;
308
+ },
309
+ trigger: (event) => {
310
+ shouldListen = true;
311
+ listener(event);
312
+ shouldListen = false;
313
+ }
314
+ };
315
+ return stop;
291
316
  }
292
317
 
293
- // @__NO_SIDE_EFFECTS__
318
+ //#endregion
319
+ //#region useMounted/index.ts
320
+ /**
321
+ * Mounted state in ref.
322
+ *
323
+ * @see https://vueuse.org/useMounted
324
+ *
325
+ * @__NO_SIDE_EFFECTS__
326
+ */
294
327
  function useMounted() {
295
- const isMounted = shallowRef(false);
296
- const instance = getCurrentInstance();
297
- if (instance) {
298
- onMounted(() => {
299
- isMounted.value = true;
300
- }, instance);
301
- }
302
- return isMounted;
328
+ const isMounted = shallowRef(false);
329
+ const instance = getCurrentInstance();
330
+ if (instance) onMounted(() => {
331
+ isMounted.value = true;
332
+ }, instance);
333
+ return isMounted;
303
334
  }
304
335
 
305
- // @__NO_SIDE_EFFECTS__
336
+ //#endregion
337
+ //#region useSupported/index.ts
338
+ /* @__NO_SIDE_EFFECTS__ */
306
339
  function useSupported(callback) {
307
- const isMounted = useMounted();
308
- return computed(() => {
309
- isMounted.value;
310
- return Boolean(callback());
311
- });
340
+ const isMounted = useMounted();
341
+ return computed(() => {
342
+ isMounted.value;
343
+ return Boolean(callback());
344
+ });
312
345
  }
313
346
 
347
+ //#endregion
348
+ //#region useMutationObserver/index.ts
349
+ /**
350
+ * Watch for changes being made to the DOM tree.
351
+ *
352
+ * @see https://vueuse.org/useMutationObserver
353
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver MutationObserver MDN
354
+ * @param target
355
+ * @param callback
356
+ * @param options
357
+ */
314
358
  function useMutationObserver(target, callback, options = {}) {
315
- const { window = defaultWindow, ...mutationOptions } = options;
316
- let observer;
317
- const isSupported = useSupported(() => window && "MutationObserver" in window);
318
- const cleanup = () => {
319
- if (observer) {
320
- observer.disconnect();
321
- observer = void 0;
322
- }
323
- };
324
- const targets = computed(() => {
325
- const value = toValue(target);
326
- const items = toArray(value).map(unrefElement).filter(notNullish);
327
- return new Set(items);
328
- });
329
- const stopWatch = watch(
330
- targets,
331
- (newTargets) => {
332
- cleanup();
333
- if (isSupported.value && newTargets.size) {
334
- observer = new MutationObserver(callback);
335
- newTargets.forEach((el) => observer.observe(el, mutationOptions));
336
- }
337
- },
338
- { immediate: true, flush: "post" }
339
- );
340
- const takeRecords = () => {
341
- return observer == null ? void 0 : observer.takeRecords();
342
- };
343
- const stop = () => {
344
- stopWatch();
345
- cleanup();
346
- };
347
- tryOnScopeDispose(stop);
348
- return {
349
- isSupported,
350
- stop,
351
- takeRecords
352
- };
359
+ const { window: window$1 = defaultWindow,...mutationOptions } = options;
360
+ let observer;
361
+ const isSupported = /* @__PURE__ */ useSupported(() => window$1 && "MutationObserver" in window$1);
362
+ const cleanup = () => {
363
+ if (observer) {
364
+ observer.disconnect();
365
+ observer = void 0;
366
+ }
367
+ };
368
+ const stopWatch = watch(computed(() => {
369
+ const items = toArray(toValue(target)).map(unrefElement).filter(notNullish);
370
+ return new Set(items);
371
+ }), (newTargets) => {
372
+ cleanup();
373
+ if (isSupported.value && newTargets.size) {
374
+ observer = new MutationObserver(callback);
375
+ newTargets.forEach((el) => observer.observe(el, mutationOptions));
376
+ }
377
+ }, {
378
+ immediate: true,
379
+ flush: "post"
380
+ });
381
+ const takeRecords = () => {
382
+ return observer === null || observer === void 0 ? void 0 : observer.takeRecords();
383
+ };
384
+ const stop = () => {
385
+ stopWatch();
386
+ cleanup();
387
+ };
388
+ tryOnScopeDispose(stop);
389
+ return {
390
+ isSupported,
391
+ stop,
392
+ takeRecords
393
+ };
353
394
  }
354
395
 
396
+ //#endregion
397
+ //#region useCssVar/index.ts
398
+ /**
399
+ * Manipulate CSS variables.
400
+ *
401
+ * @see https://vueuse.org/useCssVar
402
+ * @param prop
403
+ * @param target
404
+ * @param options
405
+ */
355
406
  function useCssVar(prop, target, options = {}) {
356
- const { window = defaultWindow, initialValue, observe = false } = options;
357
- const variable = shallowRef(initialValue);
358
- const elRef = computed(() => {
359
- var _a;
360
- return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);
361
- });
362
- function updateCssVar() {
363
- var _a;
364
- const key = toValue(prop);
365
- const el = toValue(elRef);
366
- if (el && window && key) {
367
- const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();
368
- variable.value = value || variable.value || initialValue;
369
- }
370
- }
371
- if (observe) {
372
- useMutationObserver(elRef, updateCssVar, {
373
- attributeFilter: ["style", "class"],
374
- window
375
- });
376
- }
377
- watch(
378
- [elRef, () => toValue(prop)],
379
- (_, old) => {
380
- if (old[0] && old[1])
381
- old[0].style.removeProperty(old[1]);
382
- updateCssVar();
383
- },
384
- { immediate: true }
385
- );
386
- watch(
387
- [variable, elRef],
388
- ([val, el]) => {
389
- const raw_prop = toValue(prop);
390
- if ((el == null ? void 0 : el.style) && raw_prop) {
391
- if (val == null)
392
- el.style.removeProperty(raw_prop);
393
- else
394
- el.style.setProperty(raw_prop, val);
395
- }
396
- },
397
- { immediate: true }
398
- );
399
- return variable;
407
+ const { window: window$1 = defaultWindow, initialValue, observe = false } = options;
408
+ const variable = shallowRef(initialValue);
409
+ const elRef = computed(() => {
410
+ var _window$document;
411
+ return unrefElement(target) || (window$1 === null || window$1 === void 0 || (_window$document = window$1.document) === null || _window$document === void 0 ? void 0 : _window$document.documentElement);
412
+ });
413
+ function updateCssVar() {
414
+ const key = toValue(prop);
415
+ const el = toValue(elRef);
416
+ if (el && window$1 && key) {
417
+ var _window$getComputedSt;
418
+ variable.value = ((_window$getComputedSt = window$1.getComputedStyle(el).getPropertyValue(key)) === null || _window$getComputedSt === void 0 ? void 0 : _window$getComputedSt.trim()) || variable.value || initialValue;
419
+ }
420
+ }
421
+ if (observe) useMutationObserver(elRef, updateCssVar, {
422
+ attributeFilter: ["style", "class"],
423
+ window: window$1
424
+ });
425
+ watch([elRef, () => toValue(prop)], (_, old) => {
426
+ if (old[0] && old[1]) old[0].style.removeProperty(old[1]);
427
+ updateCssVar();
428
+ }, { immediate: true });
429
+ watch([variable, elRef], ([val, el]) => {
430
+ const raw_prop = toValue(prop);
431
+ if ((el === null || el === void 0 ? void 0 : el.style) && raw_prop) if (val == null) el.style.removeProperty(raw_prop);
432
+ else el.style.setProperty(raw_prop, val);
433
+ }, { immediate: true });
434
+ return variable;
400
435
  }
401
436
 
437
+ //#endregion
438
+ //#region useDraggable/index.ts
439
+ /**
440
+ * Make elements draggable.
441
+ *
442
+ * @see https://vueuse.org/useDraggable
443
+ * @param target
444
+ * @param options
445
+ */
402
446
  function useDraggable(target, options = {}) {
403
- var _a;
404
- const {
405
- pointerTypes,
406
- preventDefault,
407
- stopPropagation,
408
- exact,
409
- onMove,
410
- onEnd,
411
- onStart,
412
- initialValue,
413
- axis = "both",
414
- draggingElement = defaultWindow,
415
- containerElement,
416
- handle: draggingHandle = target,
417
- buttons = [0]
418
- } = options;
419
- const position = ref(
420
- (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 }
421
- );
422
- const pressedDelta = ref();
423
- const filterEvent = (e) => {
424
- if (pointerTypes)
425
- return pointerTypes.includes(e.pointerType);
426
- return true;
427
- };
428
- const handleEvent = (e) => {
429
- if (toValue(preventDefault))
430
- e.preventDefault();
431
- if (toValue(stopPropagation))
432
- e.stopPropagation();
433
- };
434
- const start = (e) => {
435
- var _a2;
436
- if (!toValue(buttons).includes(e.button))
437
- return;
438
- if (toValue(options.disabled) || !filterEvent(e))
439
- return;
440
- if (toValue(exact) && e.target !== toValue(target))
441
- return;
442
- const container = toValue(containerElement);
443
- const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container);
444
- const targetRect = toValue(target).getBoundingClientRect();
445
- const pos = {
446
- x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left),
447
- y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top)
448
- };
449
- if ((onStart == null ? void 0 : onStart(pos, e)) === false)
450
- return;
451
- pressedDelta.value = pos;
452
- handleEvent(e);
453
- };
454
- const move = (e) => {
455
- if (toValue(options.disabled) || !filterEvent(e))
456
- return;
457
- if (!pressedDelta.value)
458
- return;
459
- const container = toValue(containerElement);
460
- const targetRect = toValue(target).getBoundingClientRect();
461
- let { x, y } = position.value;
462
- if (axis === "x" || axis === "both") {
463
- x = e.clientX - pressedDelta.value.x;
464
- if (container)
465
- x = Math.min(Math.max(0, x), container.scrollWidth - targetRect.width);
466
- }
467
- if (axis === "y" || axis === "both") {
468
- y = e.clientY - pressedDelta.value.y;
469
- if (container)
470
- y = Math.min(Math.max(0, y), container.scrollHeight - targetRect.height);
471
- }
472
- position.value = {
473
- x,
474
- y
475
- };
476
- onMove == null ? void 0 : onMove(position.value, e);
477
- handleEvent(e);
478
- };
479
- const end = (e) => {
480
- if (toValue(options.disabled) || !filterEvent(e))
481
- return;
482
- if (!pressedDelta.value)
483
- return;
484
- pressedDelta.value = void 0;
485
- onEnd == null ? void 0 : onEnd(position.value, e);
486
- handleEvent(e);
487
- };
488
- if (isClient) {
489
- const config = () => {
490
- var _a2;
491
- return {
492
- capture: (_a2 = options.capture) != null ? _a2 : true,
493
- passive: !toValue(preventDefault)
494
- };
495
- };
496
- useEventListener(draggingHandle, "pointerdown", start, config);
497
- useEventListener(draggingElement, "pointermove", move, config);
498
- useEventListener(draggingElement, "pointerup", end, config);
499
- }
500
- return {
501
- ...toRefs(position),
502
- position,
503
- isDragging: computed(() => !!pressedDelta.value),
504
- style: computed(
505
- () => `left:${position.value.x}px;top:${position.value.y}px;`
506
- )
507
- };
447
+ var _toValue;
448
+ const { pointerTypes, preventDefault: preventDefault$1, stopPropagation, exact, onMove, onEnd, onStart, initialValue, axis = "both", draggingElement = defaultWindow, containerElement, handle: draggingHandle = target, buttons = [0] } = options;
449
+ const position = ref((_toValue = toValue(initialValue)) !== null && _toValue !== void 0 ? _toValue : {
450
+ x: 0,
451
+ y: 0
452
+ });
453
+ const pressedDelta = ref();
454
+ const filterEvent = (e) => {
455
+ if (pointerTypes) return pointerTypes.includes(e.pointerType);
456
+ return true;
457
+ };
458
+ const handleEvent = (e) => {
459
+ if (toValue(preventDefault$1)) e.preventDefault();
460
+ if (toValue(stopPropagation)) e.stopPropagation();
461
+ };
462
+ const start = (e) => {
463
+ var _container$getBoundin;
464
+ if (!toValue(buttons).includes(e.button)) return;
465
+ if (toValue(options.disabled) || !filterEvent(e)) return;
466
+ if (toValue(exact) && e.target !== toValue(target)) return;
467
+ const container = toValue(containerElement);
468
+ const containerRect = container === null || container === void 0 || (_container$getBoundin = container.getBoundingClientRect) === null || _container$getBoundin === void 0 ? void 0 : _container$getBoundin.call(container);
469
+ const targetRect = toValue(target).getBoundingClientRect();
470
+ const pos = {
471
+ x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left),
472
+ y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top)
473
+ };
474
+ if ((onStart === null || onStart === void 0 ? void 0 : onStart(pos, e)) === false) return;
475
+ pressedDelta.value = pos;
476
+ handleEvent(e);
477
+ };
478
+ const move = (e) => {
479
+ if (toValue(options.disabled) || !filterEvent(e)) return;
480
+ if (!pressedDelta.value) return;
481
+ const container = toValue(containerElement);
482
+ const targetRect = toValue(target).getBoundingClientRect();
483
+ let { x, y } = position.value;
484
+ if (axis === "x" || axis === "both") {
485
+ x = e.clientX - pressedDelta.value.x;
486
+ if (container) x = Math.min(Math.max(0, x), container.scrollWidth - targetRect.width);
487
+ }
488
+ if (axis === "y" || axis === "both") {
489
+ y = e.clientY - pressedDelta.value.y;
490
+ if (container) y = Math.min(Math.max(0, y), container.scrollHeight - targetRect.height);
491
+ }
492
+ position.value = {
493
+ x,
494
+ y
495
+ };
496
+ onMove === null || onMove === void 0 || onMove(position.value, e);
497
+ handleEvent(e);
498
+ };
499
+ const end = (e) => {
500
+ if (toValue(options.disabled) || !filterEvent(e)) return;
501
+ if (!pressedDelta.value) return;
502
+ pressedDelta.value = void 0;
503
+ onEnd === null || onEnd === void 0 || onEnd(position.value, e);
504
+ handleEvent(e);
505
+ };
506
+ if (isClient) {
507
+ const config = () => {
508
+ var _options$capture;
509
+ return {
510
+ capture: (_options$capture = options.capture) !== null && _options$capture !== void 0 ? _options$capture : true,
511
+ passive: !toValue(preventDefault$1)
512
+ };
513
+ };
514
+ useEventListener(draggingHandle, "pointerdown", start, config);
515
+ useEventListener(draggingElement, "pointermove", move, config);
516
+ useEventListener(draggingElement, "pointerup", end, config);
517
+ }
518
+ return {
519
+ ...toRefs(position),
520
+ position,
521
+ isDragging: computed(() => !!pressedDelta.value),
522
+ style: computed(() => `left:${position.value.x}px;top:${position.value.y}px;`)
523
+ };
508
524
  }
509
525
 
526
+ //#endregion
527
+ //#region useResizeObserver/index.ts
528
+ /**
529
+ * Reports changes to the dimensions of an Element's content or the border-box
530
+ *
531
+ * @see https://vueuse.org/useResizeObserver
532
+ * @param target
533
+ * @param callback
534
+ * @param options
535
+ */
510
536
  function useResizeObserver(target, callback, options = {}) {
511
- const { window = defaultWindow, ...observerOptions } = options;
512
- let observer;
513
- const isSupported = useSupported(() => window && "ResizeObserver" in window);
514
- const cleanup = () => {
515
- if (observer) {
516
- observer.disconnect();
517
- observer = void 0;
518
- }
519
- };
520
- const targets = computed(() => {
521
- const _targets = toValue(target);
522
- return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)];
523
- });
524
- const stopWatch = watch(
525
- targets,
526
- (els) => {
527
- cleanup();
528
- if (isSupported.value && window) {
529
- observer = new ResizeObserver(callback);
530
- for (const _el of els) {
531
- if (_el)
532
- observer.observe(_el, observerOptions);
533
- }
534
- }
535
- },
536
- { immediate: true, flush: "post" }
537
- );
538
- const stop = () => {
539
- cleanup();
540
- stopWatch();
541
- };
542
- tryOnScopeDispose(stop);
543
- return {
544
- isSupported,
545
- stop
546
- };
537
+ const { window: window$1 = defaultWindow,...observerOptions } = options;
538
+ let observer;
539
+ const isSupported = /* @__PURE__ */ useSupported(() => window$1 && "ResizeObserver" in window$1);
540
+ const cleanup = () => {
541
+ if (observer) {
542
+ observer.disconnect();
543
+ observer = void 0;
544
+ }
545
+ };
546
+ const stopWatch = watch(computed(() => {
547
+ const _targets = toValue(target);
548
+ return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)];
549
+ }), (els) => {
550
+ cleanup();
551
+ if (isSupported.value && window$1) {
552
+ observer = new ResizeObserver(callback);
553
+ for (const _el of els) if (_el) observer.observe(_el, observerOptions);
554
+ }
555
+ }, {
556
+ immediate: true,
557
+ flush: "post"
558
+ });
559
+ const stop = () => {
560
+ cleanup();
561
+ stopWatch();
562
+ };
563
+ tryOnScopeDispose(stop);
564
+ return {
565
+ isSupported,
566
+ stop
567
+ };
547
568
  }
548
569
 
570
+ //#endregion
571
+ //#region useElementBounding/index.ts
572
+ /**
573
+ * Reactive bounding box of an HTML element.
574
+ *
575
+ * @see https://vueuse.org/useElementBounding
576
+ * @param target
577
+ */
549
578
  function useElementBounding(target, options = {}) {
550
- const {
551
- reset = true,
552
- windowResize = true,
553
- windowScroll = true,
554
- immediate = true,
555
- updateTiming = "sync"
556
- } = options;
557
- const height = shallowRef(0);
558
- const bottom = shallowRef(0);
559
- const left = shallowRef(0);
560
- const right = shallowRef(0);
561
- const top = shallowRef(0);
562
- const width = shallowRef(0);
563
- const x = shallowRef(0);
564
- const y = shallowRef(0);
565
- function recalculate() {
566
- const el = unrefElement(target);
567
- if (!el) {
568
- if (reset) {
569
- height.value = 0;
570
- bottom.value = 0;
571
- left.value = 0;
572
- right.value = 0;
573
- top.value = 0;
574
- width.value = 0;
575
- x.value = 0;
576
- y.value = 0;
577
- }
578
- return;
579
- }
580
- const rect = el.getBoundingClientRect();
581
- height.value = rect.height;
582
- bottom.value = rect.bottom;
583
- left.value = rect.left;
584
- right.value = rect.right;
585
- top.value = rect.top;
586
- width.value = rect.width;
587
- x.value = rect.x;
588
- y.value = rect.y;
589
- }
590
- function update() {
591
- if (updateTiming === "sync")
592
- recalculate();
593
- else if (updateTiming === "next-frame")
594
- requestAnimationFrame(() => recalculate());
595
- }
596
- useResizeObserver(target, update);
597
- watch(() => unrefElement(target), (ele) => !ele && update());
598
- useMutationObserver(target, update, {
599
- attributeFilter: ["style", "class"]
600
- });
601
- if (windowScroll)
602
- useEventListener("scroll", update, { capture: true, passive: true });
603
- if (windowResize)
604
- useEventListener("resize", update, { passive: true });
605
- tryOnMounted(() => {
606
- if (immediate)
607
- update();
608
- });
609
- return {
610
- height,
611
- bottom,
612
- left,
613
- right,
614
- top,
615
- width,
616
- x,
617
- y,
618
- update
619
- };
579
+ const { reset = true, windowResize = true, windowScroll = true, immediate = true, updateTiming = "sync" } = options;
580
+ const height = shallowRef(0);
581
+ const bottom = shallowRef(0);
582
+ const left = shallowRef(0);
583
+ const right = shallowRef(0);
584
+ const top = shallowRef(0);
585
+ const width = shallowRef(0);
586
+ const x = shallowRef(0);
587
+ const y = shallowRef(0);
588
+ function recalculate() {
589
+ const el = unrefElement(target);
590
+ if (!el) {
591
+ if (reset) {
592
+ height.value = 0;
593
+ bottom.value = 0;
594
+ left.value = 0;
595
+ right.value = 0;
596
+ top.value = 0;
597
+ width.value = 0;
598
+ x.value = 0;
599
+ y.value = 0;
600
+ }
601
+ return;
602
+ }
603
+ const rect = el.getBoundingClientRect();
604
+ height.value = rect.height;
605
+ bottom.value = rect.bottom;
606
+ left.value = rect.left;
607
+ right.value = rect.right;
608
+ top.value = rect.top;
609
+ width.value = rect.width;
610
+ x.value = rect.x;
611
+ y.value = rect.y;
612
+ }
613
+ function update() {
614
+ if (updateTiming === "sync") recalculate();
615
+ else if (updateTiming === "next-frame") requestAnimationFrame(() => recalculate());
616
+ }
617
+ useResizeObserver(target, update);
618
+ watch(() => unrefElement(target), (ele) => !ele && update());
619
+ useMutationObserver(target, update, { attributeFilter: ["style", "class"] });
620
+ if (windowScroll) useEventListener("scroll", update, {
621
+ capture: true,
622
+ passive: true
623
+ });
624
+ if (windowResize) useEventListener("resize", update, { passive: true });
625
+ tryOnMounted(() => {
626
+ if (immediate) update();
627
+ });
628
+ return {
629
+ height,
630
+ bottom,
631
+ left,
632
+ right,
633
+ top,
634
+ width,
635
+ x,
636
+ y,
637
+ update
638
+ };
620
639
  }
621
640
 
641
+ //#endregion
642
+ //#region useScreenSafeArea/index.ts
622
643
  const topVarName = "--vueuse-safe-area-top";
623
644
  const rightVarName = "--vueuse-safe-area-right";
624
645
  const bottomVarName = "--vueuse-safe-area-bottom";
625
646
  const leftVarName = "--vueuse-safe-area-left";
647
+ /**
648
+ * Reactive `env(safe-area-inset-*)`
649
+ *
650
+ * @see https://vueuse.org/useScreenSafeArea
651
+ */
626
652
  function useScreenSafeArea() {
627
- const top = shallowRef("");
628
- const right = shallowRef("");
629
- const bottom = shallowRef("");
630
- const left = shallowRef("");
631
- if (isClient) {
632
- const topCssVar = useCssVar(topVarName);
633
- const rightCssVar = useCssVar(rightVarName);
634
- const bottomCssVar = useCssVar(bottomVarName);
635
- const leftCssVar = useCssVar(leftVarName);
636
- topCssVar.value = "env(safe-area-inset-top, 0px)";
637
- rightCssVar.value = "env(safe-area-inset-right, 0px)";
638
- bottomCssVar.value = "env(safe-area-inset-bottom, 0px)";
639
- leftCssVar.value = "env(safe-area-inset-left, 0px)";
640
- tryOnMounted(update);
641
- useEventListener("resize", useDebounceFn(update), { passive: true });
642
- }
643
- function update() {
644
- top.value = getValue(topVarName);
645
- right.value = getValue(rightVarName);
646
- bottom.value = getValue(bottomVarName);
647
- left.value = getValue(leftVarName);
648
- }
649
- return {
650
- top,
651
- right,
652
- bottom,
653
- left,
654
- update
655
- };
653
+ const top = shallowRef("");
654
+ const right = shallowRef("");
655
+ const bottom = shallowRef("");
656
+ const left = shallowRef("");
657
+ if (isClient) {
658
+ const topCssVar = useCssVar(topVarName);
659
+ const rightCssVar = useCssVar(rightVarName);
660
+ const bottomCssVar = useCssVar(bottomVarName);
661
+ const leftCssVar = useCssVar(leftVarName);
662
+ topCssVar.value = "env(safe-area-inset-top, 0px)";
663
+ rightCssVar.value = "env(safe-area-inset-right, 0px)";
664
+ bottomCssVar.value = "env(safe-area-inset-bottom, 0px)";
665
+ leftCssVar.value = "env(safe-area-inset-left, 0px)";
666
+ tryOnMounted(update);
667
+ useEventListener("resize", useDebounceFn(update), { passive: true });
668
+ }
669
+ function update() {
670
+ top.value = getValue(topVarName);
671
+ right.value = getValue(rightVarName);
672
+ bottom.value = getValue(bottomVarName);
673
+ left.value = getValue(leftVarName);
674
+ }
675
+ return {
676
+ top,
677
+ right,
678
+ bottom,
679
+ left,
680
+ update
681
+ };
656
682
  }
657
683
  function getValue(position) {
658
- return getComputedStyle(document.documentElement).getPropertyValue(position);
684
+ return getComputedStyle(document.documentElement).getPropertyValue(position);
659
685
  }
660
686
 
661
687
  const PANEL_MIN = 20;