@nuxt/devtools 3.2.4 → 4.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/README.md +3 -0
  2. package/dist/chunks/module-main.mjs +264 -140
  3. package/dist/chunks/timeline.mjs +0 -1
  4. package/dist/chunks/vscode.mjs +14 -41
  5. package/dist/chunks/vue-devtools.mjs +0 -1
  6. package/dist/client/200.html +1 -1
  7. package/dist/client/404.html +1 -1
  8. package/dist/client/_nuxt/analyze-build-e7v5vkef.js +1 -0
  9. package/dist/client/_nuxt/{assets-k3ya1y6b.js → assets-b5c187l4.js} +2 -2
  10. package/dist/client/_nuxt/builds/latest.json +1 -1
  11. package/dist/client/_nuxt/builds/meta/25fc8778-785e-4df1-8047-b131fc1cd4b2.json +1 -0
  12. package/dist/client/_nuxt/code-diff-idsu3m0z.js +8 -0
  13. package/dist/client/_nuxt/{code-snippets-cptms1t1.js → code-snippets-k81hoi4s.js} +1 -1
  14. package/dist/client/_nuxt/components-bmictfph.js +1 -0
  15. package/dist/client/_nuxt/{composable-item-m56sdpbk.js → composable-item-cza22cup.js} +1 -1
  16. package/dist/client/_nuxt/copkoh3j.js +4 -0
  17. package/dist/client/_nuxt/custom-_name_-gqm5kr56.js +1 -0
  18. package/dist/client/_nuxt/data-schema-drawer-lr34uwsh.js +2 -0
  19. package/dist/client/_nuxt/debug-kgc8fptp.js +1 -0
  20. package/dist/client/_nuxt/dev-auth-ojiqold5.js +1 -0
  21. package/dist/client/_nuxt/entry.css-me26coxn.css +1 -0
  22. package/dist/client/_nuxt/{error-404-mzw240fb.js → error-404-nggtc73s.js} +1 -1
  23. package/dist/client/_nuxt/error-404.css-j1aav08u.css +1 -0
  24. package/dist/client/_nuxt/{error-500-l89qfgc9.js → error-500-dym2gzqx.js} +1 -1
  25. package/dist/client/_nuxt/error-500.css-eu9fz4va.css +1 -0
  26. package/dist/client/_nuxt/{error-owd7hxtu.js → error-fqinfa1x.js} +2 -2
  27. package/dist/client/_nuxt/{filepath-item-h3i1tz3s.js → filepath-item-e1s52fbh.js} +1 -1
  28. package/dist/client/_nuxt/{help-fab-oeo4c53s.js → help-fab-hz6r2oxa.js} +1 -1
  29. package/dist/client/_nuxt/hooks-i7nsduqp.js +1 -0
  30. package/dist/client/_nuxt/imports-9o2qs53q.js +1 -0
  31. package/dist/client/_nuxt/{launch-page-h3hu9uqw.js → launch-page-hpkkqhit.js} +1 -1
  32. package/dist/client/_nuxt/modules-jok0opuq.js +1 -0
  33. package/dist/client/_nuxt/ncheckbox-c0r45qtu.js +1 -0
  34. package/dist/client/_nuxt/ndrawer-bgqyrlmt.js +1 -0
  35. package/dist/client/_nuxt/ndropdown-cip8lboe.js +1 -0
  36. package/dist/client/_nuxt/{nnavbar-n7gfocyu.js → nnavbar-lpozm5fj.js} +1 -1
  37. package/dist/client/_nuxt/nsection-block-lqrohs9v.js +1 -0
  38. package/dist/client/_nuxt/nselect-gczoit0g.js +1 -0
  39. package/dist/client/_nuxt/nselect-tabs-bsw5fg3d.js +1 -0
  40. package/dist/client/_nuxt/ntext-input-cygthohl.js +1 -0
  41. package/dist/client/_nuxt/ntip-ke63ovgc.js +1 -0
  42. package/dist/client/_nuxt/{open-graph-iihpwnih.js → open-graph-lumhcitx.js} +2 -2
  43. package/dist/client/_nuxt/overview-c1ufrox9.js +1 -0
  44. package/dist/client/_nuxt/pages-cf1hvns3.js +1 -0
  45. package/dist/client/_nuxt/pages-lgihsvbt.js +1 -0
  46. package/dist/client/_nuxt/payload-fvgw4hh9.js +1 -0
  47. package/dist/client/_nuxt/pinia-lmrgyjxw.js +1 -0
  48. package/dist/client/_nuxt/plugins-ccaip8nh.js +1 -0
  49. package/dist/client/_nuxt/render-tree-corj3giw.js +1 -0
  50. package/dist/client/_nuxt/rpc-ez4fzlum.js +1 -0
  51. package/dist/client/_nuxt/runtime-configs-im0uu24n.js +1 -0
  52. package/dist/client/_nuxt/server-discovery-ffkkczqi.js +1 -0
  53. package/dist/client/_nuxt/server-route-inputs-lspeoiem.js +1 -0
  54. package/dist/client/_nuxt/server-routes-dhvqrowz.js +7 -0
  55. package/dist/client/_nuxt/server-tasks-mr9ezn8q.js +1 -0
  56. package/dist/client/_nuxt/settings-issronwn.js +1 -0
  57. package/dist/client/_nuxt/{stacktrace-list-ir6dwfsw.js → stacktrace-list-hiui24c3.js} +1 -1
  58. package/dist/client/_nuxt/state-components-fbls8ka7.js +1 -0
  59. package/dist/client/_nuxt/state-editor-c7e04uj2.js +1 -0
  60. package/dist/client/_nuxt/state-modules-inqbwd7z.js +1 -0
  61. package/dist/client/_nuxt/{state-routes-jownks2o.js → state-routes-jln33b1m.js} +1 -1
  62. package/dist/client/_nuxt/state-tabs-etl5jr30.js +1 -0
  63. package/dist/client/_nuxt/storage-husj5pg6.js +1 -0
  64. package/dist/client/_nuxt/storage-options-cth3coln.js +1 -0
  65. package/dist/client/_nuxt/telemetry-eqv6a0hn.js +1 -0
  66. package/dist/client/_nuxt/terminals-kitd8oja.js +1 -0
  67. package/dist/client/_nuxt/timeline-gr4tcvcz.js +31 -0
  68. package/dist/client/_nuxt/utils-nbkl6byi.js +2 -0
  69. package/dist/client/_nuxt/virtual-files-ky9cc4av.js +1 -0
  70. package/dist/client/_nuxt/{vue-devtools-fdei7bct.js → vue-devtools-dunhx2nz.js} +3 -3
  71. package/dist/client/index.html +1 -1
  72. package/dist/dirs.d.mts +1 -2
  73. package/dist/dirs.mjs +1 -21
  74. package/dist/module.d.mts +1 -1
  75. package/dist/module.json +1 -1
  76. package/dist/module.mjs +1 -5
  77. package/dist/runtime/plugins/devtools.client.js +1 -1
  78. package/dist/runtime/plugins/view/client.js +22 -72
  79. package/dist/runtime/plugins/view/state.d.ts +0 -1
  80. package/dist/runtime/plugins/view/state.js +0 -2
  81. package/dist/shared/{devtools.CT6XRG-F.mjs → devtools.COlX0Gls.mjs} +1 -9
  82. package/dist/shared/{devtools.C1a10l_c.d.mts → devtools.LsRDzDTD.d.mts} +0 -12
  83. package/dist/types.d.mts +1 -1
  84. package/dist/webcomponents/index.d.mts +1 -3
  85. package/dist/webcomponents/index.mjs +11 -1160
  86. package/package.json +8 -16
  87. package/cli.mjs +0 -2
  88. package/dist/client/_nuxt/analyze-build-isc8qyt9.js +0 -1
  89. package/dist/client/_nuxt/builds/meta/c954ff6d-891d-44ef-873b-bed085186c32.json +0 -1
  90. package/dist/client/_nuxt/client-nwyjxodt.js +0 -2
  91. package/dist/client/_nuxt/code-diff-hjtd937u.js +0 -8
  92. package/dist/client/_nuxt/components-h8jl0r8x.js +0 -1
  93. package/dist/client/_nuxt/custom-_name_-oczf7kge.js +0 -1
  94. package/dist/client/_nuxt/d479ufk9.js +0 -4
  95. package/dist/client/_nuxt/data-schema-drawer-le08obah.js +0 -2
  96. package/dist/client/_nuxt/debug-hbdh85ek.js +0 -1
  97. package/dist/client/_nuxt/dev-auth-he0eye7r.js +0 -1
  98. package/dist/client/_nuxt/entry.css-hn1q325i.css +0 -1
  99. package/dist/client/_nuxt/error-404.css-b4qk08da.css +0 -1
  100. package/dist/client/_nuxt/error-500.css-awwhwbzo.css +0 -1
  101. package/dist/client/_nuxt/hooks-lapcgs2a.js +0 -1
  102. package/dist/client/_nuxt/imports-lb64tt5j.js +0 -1
  103. package/dist/client/_nuxt/modules-isjfof47.js +0 -1
  104. package/dist/client/_nuxt/ncheckbox-ep01n5y1.js +0 -1
  105. package/dist/client/_nuxt/ndrawer-hos2o4rf.js +0 -1
  106. package/dist/client/_nuxt/ndropdown-knvt4ccq.js +0 -1
  107. package/dist/client/_nuxt/nsection-block-ibsk9arc.js +0 -1
  108. package/dist/client/_nuxt/nselect-gyaplrph.js +0 -1
  109. package/dist/client/_nuxt/nselect-tabs-fslk8qg5.js +0 -1
  110. package/dist/client/_nuxt/ntext-input-e8iut2en.js +0 -1
  111. package/dist/client/_nuxt/overview-hir7dg5h.js +0 -1
  112. package/dist/client/_nuxt/pages-etzxihfh.js +0 -1
  113. package/dist/client/_nuxt/pages-okkqwdpu.js +0 -1
  114. package/dist/client/_nuxt/payload-hmxfri1t.js +0 -1
  115. package/dist/client/_nuxt/pinia-bfcvuvfi.js +0 -1
  116. package/dist/client/_nuxt/plugins-ehtddhxd.js +0 -1
  117. package/dist/client/_nuxt/render-tree-ke02si46.js +0 -1
  118. package/dist/client/_nuxt/runtime-configs-ft5vi88d.js +0 -1
  119. package/dist/client/_nuxt/server-discovery-k9u6ss6f.js +0 -1
  120. package/dist/client/_nuxt/server-route-inputs-fhqv0c7q.js +0 -1
  121. package/dist/client/_nuxt/server-routes-dy0m6wq4.js +0 -7
  122. package/dist/client/_nuxt/server-tasks-naz2m1n0.js +0 -1
  123. package/dist/client/_nuxt/settings-io1tvmdq.js +0 -1
  124. package/dist/client/_nuxt/state-components-ii0yssci.js +0 -1
  125. package/dist/client/_nuxt/state-editor-m7poh4fc.js +0 -1
  126. package/dist/client/_nuxt/state-modules-m990wfjb.js +0 -1
  127. package/dist/client/_nuxt/state-tabs-mtxv3h6t.js +0 -1
  128. package/dist/client/_nuxt/storage-nebfhfwp.js +0 -1
  129. package/dist/client/_nuxt/storage-options-nzog3hhp.js +0 -1
  130. package/dist/client/_nuxt/telemetry-c77tnag3.js +0 -1
  131. package/dist/client/_nuxt/terminals-j3f24tml.js +0 -1
  132. package/dist/client/_nuxt/timeline-cg7nhorz.js +0 -31
  133. package/dist/client/_nuxt/utils-jupbrzo6.js +0 -1
  134. package/dist/client/_nuxt/virtual-files-bkiu19oo.js +0 -1
  135. /package/dist/client/_nuxt/{color-l56csnpd.js → color-b9xoe9j2.js} +0 -0
  136. /package/dist/client/_nuxt/{constants-mq2c9hze.js → constants-ih922r91.js} +0 -0
  137. /package/dist/client/_nuxt/{data-schema-button-n0xmsouw.js → data-schema-button-b308wyi0.js} +0 -0
  138. /package/dist/client/_nuxt/{dist-og16nf4d.js → dist-m49wlq01.js} +0 -0
  139. /package/dist/client/_nuxt/{duration-display-h5sffkps.js → duration-display-f7ucshmo.js} +0 -0
  140. /package/dist/client/_nuxt/{mitt.es-ey5n86su.js → mitt.es-fjx0h8xe.js} +0 -0
  141. /package/dist/client/_nuxt/{nbadge-f1bvtlf5.js → nbadge-m66xoquo.js} +0 -0
  142. /package/dist/client/_nuxt/{ncard-ludmyw2u.js → ncard-mqcl8pso.js} +0 -0
  143. /package/dist/client/_nuxt/{nicon-title-kbrt9te7.js → nicon-title-tqdvw0w0.js} +0 -0
  144. /package/dist/client/_nuxt/{nmarkdown-ciogo2e3.js → nmarkdown-hw0hmqw7.js} +0 -0
  145. /package/dist/client/_nuxt/{npanel-grids-onrho735.js → npanel-grids-dd23ifsw.js} +0 -0
  146. /package/dist/client/_nuxt/{splitpanes.es-gcsn48te.js → splitpanes.es-bxyirks2.js} +0 -0
  147. /package/dist/client/_nuxt/{unocss-runtime-g9wlule9.js → unocss-runtime-cpug61u1.js} +0 -0
  148. /package/dist/client/_nuxt/vendor/{vis-gf06uk37.js → vis-id8udisj.js} +0 -0
  149. /package/dist/client/_nuxt/vendor/{xterm-k45lhqgb.js → xterm-ed0pys2e.js} +0 -0
@@ -1,117 +1,18 @@
1
- import { isRef, toRefs as toRefs$1, customRef, toValue, onMounted, nextTick, watch, getCurrentInstance, getCurrentScope, onScopeDispose, shallowRef, computed, ref, unref, defineComponent, useModel, watchEffect, mergeModels, withDirectives, openBlock, createElementBlock, createCommentVNode, createElementVNode, withModifiers, vShow, reactive, useTemplateRef, normalizeClass, normalizeStyle, toDisplayString, Fragment, createVNode, defineCustomElement, createTextVNode } from 'vue';
1
+ import { isRef, toRefs as toRefs$1, customRef, toValue, watch, ref, computed, unref, defineComponent, useTemplateRef, nextTick, openBlock, createElementBlock, Fragment, normalizeStyle, normalizeClass, createCommentVNode, createElementVNode, createTextVNode, toDisplayString, withDirectives, vShow, defineCustomElement } from 'vue';
2
2
 
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-check-circle-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='M224 128a96 96 0 1 1-96-96a96 96 0 0 1 96 96' opacity='.2'/%3E%3Cpath d='M173.66 98.34a8 8 0 0 1 0 11.32l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 0M232 128A104 104 0 1 1 128 24a104.11 104.11 0 0 1 104 104m-16 0a88 88 0 1 0-88 88a88.1 88.1 0 0 0 88-88'/%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-copy-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='M216 40v128h-48V88H88V40Z' opacity='.2'/%3E%3Cpath d='M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8m-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z'/%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-file-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='M208 88h-56V32Z' opacity='.2'/%3E%3Cpath d='m213.66 82.34l-56-56A8 8 0 0 0 152 24H56a16 16 0 0 0-16 16v176a16 16 0 0 0 16 16h144a16 16 0 0 0 16-16V88a8 8 0 0 0-2.34-5.66M160 51.31L188.69 80H160ZM200 216H56V40h88v48a8 8 0 0 0 8 8h48z'/%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-tree-view-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='M104 32v32a8 8 0 0 1-8 8H64a8 8 0 0 1-8-8V32a8 8 0 0 1 8-8h32a8 8 0 0 1 8 8m104 64h-32a8 8 0 0 0-8 8v32a8 8 0 0 0 8 8h32a8 8 0 0 0 8-8v-32a8 8 0 0 0-8-8m0 88h-32a8 8 0 0 0-8 8v32a8 8 0 0 0 8 8h32a8 8 0 0 0 8-8v-32a8 8 0 0 0-8-8' opacity='.2'/%3E%3Cpath d='M176 152h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v8H88V80h8a16 16 0 0 0 16-16V32a16 16 0 0 0-16-16H64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h8v112a24 24 0 0 0 24 24h64v8a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v8H96a8 8 0 0 1-8-8v-64h72v8a16 16 0 0 0 16 16M64 32h32v32H64Zm112 160h32v32h-32Zm0-88h32v32h-32Z'/%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-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%}.border-base{--un-border-opacity:.13;border-color:rgba(136,136,136,var(--un-border-opacity))}.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}.bottom-20px{bottom:20px}.right-20px{right:20px}.z-10{z-index:10}.z-9999999{z-index:9999999}.z-99999999{z-index:99999999}.grid{display:grid}.grid-cols-\\[max-content_1fr\\]{grid-template-columns:max-content 1fr}.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}.max-h-200px{max-height:200px}.max-w-500px{max-width:500px}.w-400px{width:400px}.flex{display:flex}.flex-auto{flex:auto}.flex-none{flex:none}.flex-col{flex-direction:column}.translate-y-0{--un-translate-y:0;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))}.translate-y-10{--un-translate-y:2.5rem;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))}.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-auto{overflow:auto}.of-hidden{overflow:hidden}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.border-1{border-width:1px}.border-1\\.5{border-width:1.5px}.border-transparent{border-color:transparent}.rounded{-webkit-border-radius:.25rem;border-radius:.25rem}.rounded-lg{-webkit-border-radius:.5rem;border-radius:.5rem}.bg-black{--un-bg-opacity:1;background-color:rgba(0,0,0,var(--un-bg-opacity))}.bg-op-20{--un-bg-opacity:.2}.p2{padding:.5rem}.p4{padding:1rem}.px{padding-left:1rem;padding-right:1rem}.px1{padding-left:.25rem;padding-right:.25rem}.py0\\.5{padding-top:.125rem;padding-bottom:.125rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-green6{--un-text-opacity:1;color:rgba(22,163,74,var(--un-text-opacity))}.hover\\:text-green6:hover{--un-text-opacity:1;color:rgba(22,163,74,var(--un-text-opacity))}.font-semibold{font-weight:600}.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)}.shadow-xl{--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color,rgba(0,0,0,.1)),var(--un-shadow-inset) 0 8px 10px -6px 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-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.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
-
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;
18
- }
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%}}*{--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-check-circle-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='M224 128a96 96 0 1 1-96-96a96 96 0 0 1 96 96' opacity='.2'/%3E%3Cpath d='M173.66 98.34a8 8 0 0 1 0 11.32l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 0M232 128A104 104 0 1 1 128 24a104.11 104.11 0 0 1 104 104m-16 0a88 88 0 1 0-88 88a88.1 88.1 0 0 0 88-88'/%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-copy-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='M216 40v128h-48V88H88V40Z' opacity='.2'/%3E%3Cpath d='M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8m-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z'/%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-file-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='M208 88h-56V32Z' opacity='.2'/%3E%3Cpath d='m213.66 82.34l-56-56A8 8 0 0 0 152 24H56a16 16 0 0 0-16 16v176a16 16 0 0 0 16 16h144a16 16 0 0 0 16-16V88a8 8 0 0 0-2.34-5.66M160 51.31L188.69 80H160ZM200 216H56V40h88v48a8 8 0 0 0 8 8h48z'/%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-tree-view-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='M104 32v32a8 8 0 0 1-8 8H64a8 8 0 0 1-8-8V32a8 8 0 0 1 8-8h32a8 8 0 0 1 8 8m104 64h-32a8 8 0 0 0-8 8v32a8 8 0 0 0 8 8h32a8 8 0 0 0 8-8v-32a8 8 0 0 0-8-8m0 88h-32a8 8 0 0 0-8 8v32a8 8 0 0 0 8 8h32a8 8 0 0 0 8-8v-32a8 8 0 0 0-8-8' opacity='.2'/%3E%3Cpath d='M176 152h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v8H88V80h8a16 16 0 0 0 16-16V32a16 16 0 0 0-16-16H64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h8v112a24 24 0 0 0 24 24h64v8a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16v8H96a8 8 0 0 1-8-8v-64h72v8a16 16 0 0 0 16 16M64 32h32v32H64Zm112 160h32v32h-32Zm0-88h32v32h-32Z'/%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-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%}.border-base{--un-border-opacity:.13;border-color:rgba(136,136,136,var(--un-border-opacity))}.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))}}.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}.bottom-20px{bottom:20px}.right-20px{right:20px}.z-10{z-index:10}.z-9999999{z-index:9999999}.z-99999999{z-index:99999999}.grid{display:grid}.grid-cols-\\[max-content_1fr\\]{grid-template-columns:max-content 1fr}.mt-2{margin-top:.5rem}.max-h-200px{max-height:200px}.max-w-500px{max-width:500px}.w-400px{width:400px}.flex{display:flex}.flex-auto{flex:auto}.flex-none{flex:none}.flex-col{flex-direction:column}.translate-y-0{--un-translate-y:0;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))}.translate-y-10{--un-translate-y:2.5rem;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))}.items-center{align-items:center}.gap-2{gap:.5rem}.of-auto{overflow:auto}.of-hidden{overflow:hidden}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.border-1{border-width:1px}.border-1\\.5{border-width:1.5px}.border-transparent{border-color:transparent}.rounded{-webkit-border-radius:.25rem;border-radius:.25rem}.rounded-lg{-webkit-border-radius:.5rem;border-radius:.5rem}.bg-black{--un-bg-opacity:1;background-color:rgba(0,0,0,var(--un-bg-opacity))}.bg-op-20{--un-bg-opacity:.2}.p2{padding:.5rem}.p4{padding:1rem}.px1{padding-left:.25rem;padding-right:.25rem}.py0\\.5{padding-top:.125rem;padding-bottom:.125rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-green6{--un-text-opacity:1;color:rgba(22,163,74,var(--un-text-opacity))}.hover\\:text-green6:hover{--un-text-opacity:1;color:rgba(22,163,74,var(--un-text-opacity))}.font-semibold{font-weight:600}.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)}.shadow-xl{--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color,rgba(0,0,0,.1)),var(--un-shadow-inset) 0 8px 10px -6px 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-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.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}`;
19
4
 
20
5
  //#endregion
21
6
  //#region utils/is.ts
22
7
  const isClient = typeof window !== "undefined" && typeof document !== "undefined";
23
8
  typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
24
- const notNullish = (val) => val != null;
25
9
  const toString = Object.prototype.toString;
26
10
  const isObject = (val) => toString.call(val) === "[object Object]";
27
11
  const noop = () => {};
28
-
29
- //#endregion
30
- //#region utils/filters.ts
31
- /**
32
- * @internal
33
- */
34
- function createFilterWrapper(filter, fn) {
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;
45
- }
46
- /**
47
- * Create an EventFilter that debounce the events
48
- */
49
- function debounceFilter(ms, options = {}) {
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;
86
- }
87
12
  function toArray(value) {
88
13
  return Array.isArray(value) ? value : [value];
89
14
  }
90
15
 
91
- //#endregion
92
- //#region utils/vue.ts
93
- function getLifeCycleTarget(target) {
94
- return getCurrentInstance();
95
- }
96
-
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
- */
111
- function useDebounceFn(fn, ms = 200, options = {}) {
112
- return createFilterWrapper(debounceFilter(ms, options), fn);
113
- }
114
-
115
16
  //#endregion
116
17
  //#region toRefs/index.ts
117
18
  /**
@@ -148,21 +49,6 @@ function toRefs(objectRef, options = {}) {
148
49
  return result;
149
50
  }
150
51
 
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
- */
160
- function tryOnMounted(fn, sync = true, target) {
161
- if (getLifeCycleTarget()) onMounted(fn, target);
162
- else if (sync) fn();
163
- else nextTick(fn);
164
- }
165
-
166
52
  //#endregion
167
53
  //#region watchImmediate/index.ts
168
54
  /**
@@ -306,125 +192,6 @@ function onClickOutside(target, handler, options = {}) {
306
192
  return stop;
307
193
  }
308
194
 
309
- //#endregion
310
- //#region useMounted/index.ts
311
- /**
312
- * Mounted state in ref.
313
- *
314
- * @see https://vueuse.org/useMounted
315
- *
316
- * @__NO_SIDE_EFFECTS__
317
- */
318
- function useMounted() {
319
- const isMounted = shallowRef(false);
320
- const instance = getCurrentInstance();
321
- if (instance) onMounted(() => {
322
- isMounted.value = true;
323
- }, instance);
324
- return isMounted;
325
- }
326
-
327
- //#endregion
328
- //#region useSupported/index.ts
329
- /* @__NO_SIDE_EFFECTS__ */
330
- function useSupported(callback) {
331
- const isMounted = useMounted();
332
- return computed(() => {
333
- isMounted.value;
334
- return Boolean(callback());
335
- });
336
- }
337
-
338
- //#endregion
339
- //#region useMutationObserver/index.ts
340
- /**
341
- * Watch for changes being made to the DOM tree.
342
- *
343
- * @see https://vueuse.org/useMutationObserver
344
- * @see https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver MutationObserver MDN
345
- * @param target
346
- * @param callback
347
- * @param options
348
- */
349
- function useMutationObserver(target, callback, options = {}) {
350
- const { window: window$1 = defaultWindow,...mutationOptions } = options;
351
- let observer;
352
- const isSupported = /* @__PURE__ */ useSupported(() => window$1 && "MutationObserver" in window$1);
353
- const cleanup = () => {
354
- if (observer) {
355
- observer.disconnect();
356
- observer = void 0;
357
- }
358
- };
359
- const stopWatch = watch(computed(() => {
360
- const items = toArray(toValue(target)).map(unrefElement).filter(notNullish);
361
- return new Set(items);
362
- }), (newTargets) => {
363
- cleanup();
364
- if (isSupported.value && newTargets.size) {
365
- observer = new MutationObserver(callback);
366
- newTargets.forEach((el) => observer.observe(el, mutationOptions));
367
- }
368
- }, {
369
- immediate: true,
370
- flush: "post"
371
- });
372
- const takeRecords = () => {
373
- return observer === null || observer === void 0 ? void 0 : observer.takeRecords();
374
- };
375
- const stop = () => {
376
- stopWatch();
377
- cleanup();
378
- };
379
- tryOnScopeDispose(stop);
380
- return {
381
- isSupported,
382
- stop,
383
- takeRecords
384
- };
385
- }
386
-
387
- //#endregion
388
- //#region useCssVar/index.ts
389
- /**
390
- * Manipulate CSS variables.
391
- *
392
- * @see https://vueuse.org/useCssVar
393
- * @param prop
394
- * @param target
395
- * @param options
396
- */
397
- function useCssVar(prop, target, options = {}) {
398
- const { window: window$1 = defaultWindow, initialValue, observe = false } = options;
399
- const variable = shallowRef(initialValue);
400
- const elRef = computed(() => {
401
- var _window$document;
402
- 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);
403
- });
404
- function updateCssVar() {
405
- const key = toValue(prop);
406
- const el = toValue(elRef);
407
- if (el && window$1 && key) {
408
- var _window$getComputedSt;
409
- variable.value = ((_window$getComputedSt = window$1.getComputedStyle(el).getPropertyValue(key)) === null || _window$getComputedSt === void 0 ? void 0 : _window$getComputedSt.trim()) || variable.value || initialValue;
410
- }
411
- }
412
- if (observe) useMutationObserver(elRef, updateCssVar, {
413
- attributeFilter: ["style", "class"],
414
- window: window$1
415
- });
416
- watch([elRef, () => toValue(prop)], (_, old) => {
417
- if (old[0] && old[1]) old[0].style.removeProperty(old[1]);
418
- updateCssVar();
419
- }, { immediate: true });
420
- watch([variable, elRef], ([val, el]) => {
421
- const raw_prop = toValue(prop);
422
- if ((el === null || el === void 0 ? void 0 : el.style) && raw_prop) if (val == null) el.style.removeProperty(raw_prop);
423
- else el.style.setProperty(raw_prop, val);
424
- }, { immediate: true });
425
- return variable;
426
- }
427
-
428
195
  //#endregion
429
196
  //#region useDraggable/index.ts
430
197
  const defaultScrollConfig = {
@@ -618,930 +385,6 @@ function useDraggable(target, options = {}) {
618
385
  };
619
386
  }
620
387
 
621
- //#endregion
622
- //#region useResizeObserver/index.ts
623
- /**
624
- * Reports changes to the dimensions of an Element's content or the border-box
625
- *
626
- * @see https://vueuse.org/useResizeObserver
627
- * @param target
628
- * @param callback
629
- * @param options
630
- */
631
- function useResizeObserver(target, callback, options = {}) {
632
- const { window: window$1 = defaultWindow,...observerOptions } = options;
633
- let observer;
634
- const isSupported = /* @__PURE__ */ useSupported(() => window$1 && "ResizeObserver" in window$1);
635
- const cleanup = () => {
636
- if (observer) {
637
- observer.disconnect();
638
- observer = void 0;
639
- }
640
- };
641
- const stopWatch = watch(computed(() => {
642
- const _targets = toValue(target);
643
- return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)];
644
- }), (els) => {
645
- cleanup();
646
- if (isSupported.value && window$1) {
647
- observer = new ResizeObserver(callback);
648
- for (const _el of els) if (_el) observer.observe(_el, observerOptions);
649
- }
650
- }, {
651
- immediate: true,
652
- flush: "post"
653
- });
654
- const stop = () => {
655
- cleanup();
656
- stopWatch();
657
- };
658
- tryOnScopeDispose(stop);
659
- return {
660
- isSupported,
661
- stop
662
- };
663
- }
664
-
665
- //#endregion
666
- //#region useElementBounding/index.ts
667
- /**
668
- * Reactive bounding box of an HTML element.
669
- *
670
- * @see https://vueuse.org/useElementBounding
671
- * @param target
672
- */
673
- function useElementBounding(target, options = {}) {
674
- const { reset = true, windowResize = true, windowScroll = true, immediate = true, updateTiming = "sync" } = options;
675
- const height = shallowRef(0);
676
- const bottom = shallowRef(0);
677
- const left = shallowRef(0);
678
- const right = shallowRef(0);
679
- const top = shallowRef(0);
680
- const width = shallowRef(0);
681
- const x = shallowRef(0);
682
- const y = shallowRef(0);
683
- function recalculate() {
684
- const el = unrefElement(target);
685
- if (!el) {
686
- if (reset) {
687
- height.value = 0;
688
- bottom.value = 0;
689
- left.value = 0;
690
- right.value = 0;
691
- top.value = 0;
692
- width.value = 0;
693
- x.value = 0;
694
- y.value = 0;
695
- }
696
- return;
697
- }
698
- const rect = el.getBoundingClientRect();
699
- height.value = rect.height;
700
- bottom.value = rect.bottom;
701
- left.value = rect.left;
702
- right.value = rect.right;
703
- top.value = rect.top;
704
- width.value = rect.width;
705
- x.value = rect.x;
706
- y.value = rect.y;
707
- }
708
- function update() {
709
- if (updateTiming === "sync") recalculate();
710
- else if (updateTiming === "next-frame") requestAnimationFrame(() => recalculate());
711
- }
712
- useResizeObserver(target, update);
713
- watch(() => unrefElement(target), (ele) => !ele && update());
714
- useMutationObserver(target, update, { attributeFilter: ["style", "class"] });
715
- if (windowScroll) useEventListener("scroll", update, {
716
- capture: true,
717
- passive: true
718
- });
719
- if (windowResize) useEventListener("resize", update, { passive: true });
720
- tryOnMounted(() => {
721
- if (immediate) update();
722
- });
723
- return {
724
- height,
725
- bottom,
726
- left,
727
- right,
728
- top,
729
- width,
730
- x,
731
- y,
732
- update
733
- };
734
- }
735
-
736
- //#endregion
737
- //#region useScreenSafeArea/index.ts
738
- const topVarName = "--vueuse-safe-area-top";
739
- const rightVarName = "--vueuse-safe-area-right";
740
- const bottomVarName = "--vueuse-safe-area-bottom";
741
- const leftVarName = "--vueuse-safe-area-left";
742
- /**
743
- * Reactive `env(safe-area-inset-*)`
744
- *
745
- * @see https://vueuse.org/useScreenSafeArea
746
- */
747
- function useScreenSafeArea() {
748
- const top = shallowRef("");
749
- const right = shallowRef("");
750
- const bottom = shallowRef("");
751
- const left = shallowRef("");
752
- if (isClient) {
753
- const topCssVar = useCssVar(topVarName);
754
- const rightCssVar = useCssVar(rightVarName);
755
- const bottomCssVar = useCssVar(bottomVarName);
756
- const leftCssVar = useCssVar(leftVarName);
757
- topCssVar.value = "env(safe-area-inset-top, 0px)";
758
- rightCssVar.value = "env(safe-area-inset-right, 0px)";
759
- bottomCssVar.value = "env(safe-area-inset-bottom, 0px)";
760
- leftCssVar.value = "env(safe-area-inset-left, 0px)";
761
- tryOnMounted(update);
762
- useEventListener("resize", useDebounceFn(update), { passive: true });
763
- }
764
- function update() {
765
- top.value = getValue(topVarName);
766
- right.value = getValue(rightVarName);
767
- bottom.value = getValue(bottomVarName);
768
- left.value = getValue(leftVarName);
769
- }
770
- return {
771
- top,
772
- right,
773
- bottom,
774
- left,
775
- update
776
- };
777
- }
778
- function getValue(position) {
779
- return getComputedStyle(document.documentElement).getPropertyValue(position);
780
- }
781
-
782
- const PANEL_MIN = 20;
783
- const PANEL_MAX = 100;
784
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
785
- __name: "NuxtDevtoolsFrameBox",
786
- props: /* @__PURE__ */ mergeModels({
787
- client: { type: Object, required: true },
788
- isDragging: { type: Boolean, required: true },
789
- state: { type: Object, required: true }
790
- }, {
791
- "popupWindow": { type: null },
792
- "popupWindowModifiers": {}
793
- }),
794
- emits: ["update:popupWindow"],
795
- setup(__props, { expose: __expose }) {
796
- __expose();
797
- const props = __props;
798
- const popupWindow = useModel(__props, "popupWindow");
799
- const {
800
- state
801
- } = toRefs(props);
802
- const container = ref();
803
- const isResizing = ref(false);
804
- watchEffect(() => {
805
- if (!container.value)
806
- return;
807
- if (state.value.open) {
808
- const iframe = props.client.getIframe();
809
- if (!iframe)
810
- return;
811
- iframe.style.pointerEvents = isResizing.value || props.isDragging || props.client.inspector?.isEnabled.value ? "none" : "auto";
812
- if (!popupWindow.value) {
813
- if ([...container.value.children].every((el) => el !== iframe))
814
- container.value.appendChild(iframe);
815
- }
816
- }
817
- });
818
- useEventListener(window, "keydown", (e) => {
819
- if (e.key === "Escape" && props.client.inspector?.isEnabled.value) {
820
- e.preventDefault();
821
- props.client.inspector?.disable();
822
- props.client.devtools.close();
823
- }
824
- });
825
- useEventListener(window, "mousedown", (e) => {
826
- if (!state.value.closeOnOutsideClick)
827
- return;
828
- if (popupWindow.value)
829
- return;
830
- if (!state.value.open || isResizing.value || props.client.inspector?.isEnabled.value)
831
- return;
832
- const matched = e.composedPath().find((_el) => {
833
- const el = _el;
834
- return [...el.classList || []].some((c) => c.startsWith("nuxt-devtools-")) || el.tagName?.toLowerCase() === "iframe";
835
- });
836
- if (!matched)
837
- state.value.open = false;
838
- });
839
- function handleResize(e) {
840
- if (!isResizing.value || !state.value.open)
841
- return;
842
- const iframe = props.client.getIframe();
843
- if (!iframe)
844
- return;
845
- const box = iframe.getBoundingClientRect();
846
- let widthPx, heightPx;
847
- if (isResizing.value.right) {
848
- widthPx = Math.abs(e instanceof MouseEvent ? e.clientX : (e.touches[0]?.clientX || 0) - (box?.left || 0));
849
- state.value.width = Math.min(PANEL_MAX, Math.max(PANEL_MIN, widthPx / window.innerWidth * 100));
850
- } else if (isResizing.value.left) {
851
- widthPx = Math.abs((box?.right || 0) - (e instanceof MouseEvent ? e.clientX : e.touches[0]?.clientX || 0));
852
- state.value.width = Math.min(PANEL_MAX, Math.max(PANEL_MIN, widthPx / window.innerWidth * 100));
853
- }
854
- if (isResizing.value.top) {
855
- heightPx = Math.abs((box?.bottom || 0) - (e instanceof MouseEvent ? e.clientY : e.touches[0]?.clientY || 0));
856
- state.value.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, heightPx / window.innerHeight * 100));
857
- } else if (isResizing.value.bottom) {
858
- heightPx = Math.abs(e instanceof MouseEvent ? e.clientY : (e.touches[0]?.clientY || 0) - (box?.top || 0));
859
- state.value.height = Math.min(PANEL_MAX, Math.max(PANEL_MIN, heightPx / window.innerHeight * 100));
860
- }
861
- }
862
- useEventListener(window, "mousemove", handleResize);
863
- useEventListener(window, "touchmove", handleResize);
864
- useEventListener(window, "mouseup", () => isResizing.value = false);
865
- useEventListener(window, "touchend", () => isResizing.value = false);
866
- useEventListener(window, "mouseleave", () => isResizing.value = false);
867
- const __returned__ = { props, PANEL_MIN, PANEL_MAX, popupWindow, state, container, isResizing, handleResize };
868
- Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
869
- return __returned__;
870
- }
871
- });
872
-
873
- const _export_sfc = (sfc, props) => {
874
- const target = sfc.__vccOpts || sfc;
875
- for (const [key, val] of props) {
876
- target[key] = val;
877
- }
878
- return target;
879
- };
880
-
881
- const _hoisted_1$2 = {
882
- ref: "container",
883
- class: "nuxt-devtools-frame"
884
- };
885
- function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
886
- return withDirectives((openBlock(), createElementBlock(
887
- "div",
888
- _hoisted_1$2,
889
- [
890
- createCommentVNode(" Handlers "),
891
- withDirectives(createElementVNode(
892
- "div",
893
- {
894
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-horizontal",
895
- style: { top: 0 },
896
- onMousedown: _cache[0] || (_cache[0] = withModifiers(($event) => $setup.isResizing = { top: true }, ["prevent"])),
897
- onTouchstartPassive: _cache[1] || (_cache[1] = () => $setup.isResizing = { top: true })
898
- },
899
- null,
900
- 544
901
- /* NEED_HYDRATION, NEED_PATCH */
902
- ), [[vShow, $setup.state.position !== "top"]]),
903
- withDirectives(createElementVNode(
904
- "div",
905
- {
906
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-horizontal",
907
- style: { bottom: 0 },
908
- onMousedown: _cache[2] || (_cache[2] = withModifiers(() => $setup.isResizing = { bottom: true }, ["prevent"])),
909
- onTouchstartPassive: _cache[3] || (_cache[3] = () => $setup.isResizing = { bottom: true })
910
- },
911
- null,
912
- 544
913
- /* NEED_HYDRATION, NEED_PATCH */
914
- ), [[vShow, $setup.state.position !== "bottom"]]),
915
- withDirectives(createElementVNode(
916
- "div",
917
- {
918
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-vertical",
919
- style: { left: 0 },
920
- onMousedown: _cache[4] || (_cache[4] = withModifiers(() => $setup.isResizing = { left: true }, ["prevent"])),
921
- onTouchstartPassive: _cache[5] || (_cache[5] = () => $setup.isResizing = { left: true })
922
- },
923
- null,
924
- 544
925
- /* NEED_HYDRATION, NEED_PATCH */
926
- ), [[vShow, $setup.state.position !== "left"]]),
927
- withDirectives(createElementVNode(
928
- "div",
929
- {
930
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-vertical",
931
- style: { right: 0 },
932
- onMousedown: _cache[6] || (_cache[6] = withModifiers(() => $setup.isResizing = { right: true }, ["prevent"])),
933
- onTouchstartPassive: _cache[7] || (_cache[7] = () => $setup.isResizing = { right: true })
934
- },
935
- null,
936
- 544
937
- /* NEED_HYDRATION, NEED_PATCH */
938
- ), [[vShow, $setup.state.position !== "right"]]),
939
- withDirectives(createElementVNode(
940
- "div",
941
- {
942
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner",
943
- style: {
944
- top: 0,
945
- left: 0,
946
- cursor: "nwse-resize"
947
- },
948
- onMousedown: _cache[8] || (_cache[8] = withModifiers(() => $setup.isResizing = {
949
- top: true,
950
- left: true
951
- }, ["prevent"])),
952
- onTouchstartPassive: _cache[9] || (_cache[9] = () => $setup.isResizing = {
953
- top: true,
954
- left: true
955
- })
956
- },
957
- null,
958
- 544
959
- /* NEED_HYDRATION, NEED_PATCH */
960
- ), [[vShow, $setup.state.position !== "top" && $setup.state.position !== "left"]]),
961
- withDirectives(createElementVNode(
962
- "div",
963
- {
964
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner",
965
- style: {
966
- top: 0,
967
- right: 0,
968
- cursor: "nesw-resize"
969
- },
970
- onMousedown: _cache[10] || (_cache[10] = withModifiers(() => $setup.isResizing = {
971
- top: true,
972
- right: true
973
- }, ["prevent"])),
974
- onTouchstartPassive: _cache[11] || (_cache[11] = () => $setup.isResizing = {
975
- top: true,
976
- right: true
977
- })
978
- },
979
- null,
980
- 544
981
- /* NEED_HYDRATION, NEED_PATCH */
982
- ), [[vShow, $setup.state.position !== "top" && $setup.state.position !== "right"]]),
983
- withDirectives(createElementVNode(
984
- "div",
985
- {
986
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner",
987
- style: {
988
- bottom: 0,
989
- left: 0,
990
- cursor: "nesw-resize"
991
- },
992
- onMousedown: _cache[12] || (_cache[12] = withModifiers(() => $setup.isResizing = {
993
- bottom: true,
994
- left: true
995
- }, ["prevent"])),
996
- onTouchstartPassive: _cache[13] || (_cache[13] = () => $setup.isResizing = {
997
- bottom: true,
998
- left: true
999
- })
1000
- },
1001
- null,
1002
- 544
1003
- /* NEED_HYDRATION, NEED_PATCH */
1004
- ), [[vShow, $setup.state.position !== "bottom" && $setup.state.position !== "left"]]),
1005
- withDirectives(createElementVNode(
1006
- "div",
1007
- {
1008
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner",
1009
- style: {
1010
- bottom: 0,
1011
- right: 0,
1012
- cursor: "nwse-resize"
1013
- },
1014
- onMousedown: _cache[14] || (_cache[14] = withModifiers(() => $setup.isResizing = {
1015
- bottom: true,
1016
- right: true
1017
- }, ["prevent"])),
1018
- onTouchstartPassive: _cache[15] || (_cache[15] = () => $setup.isResizing = {
1019
- bottom: true,
1020
- right: true
1021
- })
1022
- },
1023
- null,
1024
- 544
1025
- /* NEED_HYDRATION, NEED_PATCH */
1026
- ), [[vShow, $setup.state.position !== "bottom" && $setup.state.position !== "right"]])
1027
- ],
1028
- 512
1029
- /* NEED_PATCH */
1030
- )), [[vShow, $setup.state.open && !$props.client.inspector?.isEnabled.value && !$setup.popupWindow]]);
1031
- }
1032
- const FrameBox = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2], ["__file", "/home/runner/work/devtools/devtools/packages/devtools/src/webcomponents/components/NuxtDevtoolsFrameBox.vue"]]);
1033
-
1034
- const SNAP_THRESHOLD = 2;
1035
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1036
- __name: "NuxtDevtoolsFrame",
1037
- props: {
1038
- client: { type: Object, required: true },
1039
- settings: { type: Object, required: true },
1040
- state: { type: Object, required: true }
1041
- },
1042
- setup(__props, { expose: __expose }) {
1043
- __expose();
1044
- const props = __props;
1045
- const {
1046
- state,
1047
- settings
1048
- } = toRefs(props);
1049
- function millisecondToHumanreadable(ms) {
1050
- if (ms < 1e3)
1051
- return [+ms.toFixed(0), "ms"];
1052
- if (ms < 1e3 * 60)
1053
- return [+(ms / 1e3).toFixed(1), "s"];
1054
- if (ms < 1e3 * 60 * 60)
1055
- return [+(ms / 1e3 / 60).toFixed(1), "min"];
1056
- return [+(ms / 1e3 / 60 / 60).toFixed(1), "hour"];
1057
- }
1058
- const panelMargins = reactive({
1059
- left: 10,
1060
- top: 10,
1061
- right: 10,
1062
- bottom: 10
1063
- });
1064
- const safeArea = useScreenSafeArea();
1065
- const isSafari = navigator.userAgent.includes("Safari") && !navigator.userAgent.includes("Chrome");
1066
- function toNumber(value) {
1067
- const num = +value;
1068
- if (Number.isNaN(num))
1069
- return 0;
1070
- return num;
1071
- }
1072
- watchEffect(() => {
1073
- panelMargins.left = toNumber(safeArea.left.value) + 10;
1074
- panelMargins.top = toNumber(safeArea.top.value) + 10;
1075
- panelMargins.right = toNumber(safeArea.right.value) + 10;
1076
- panelMargins.bottom = toNumber(safeArea.bottom.value) + 10;
1077
- });
1078
- const vars = computed(() => {
1079
- const dark = props.client.app.colorMode.value === "dark";
1080
- return {
1081
- "--nuxt-devtools-widget-bg": dark ? "#111" : "#ffffff",
1082
- "--nuxt-devtools-widget-fg": dark ? "#F5F5F5" : "#111",
1083
- "--nuxt-devtools-widget-border": dark ? "#3336" : "#efefef",
1084
- "--nuxt-devtools-widget-shadow": dark ? "rgba(0,0,0,0.3)" : "rgba(128,128,128,0.1)"
1085
- };
1086
- });
1087
- const frameBox = useTemplateRef("frameBox");
1088
- const panelEl = useTemplateRef("panelEl");
1089
- const anchorEl = useTemplateRef("anchorEl");
1090
- const windowSize = reactive({
1091
- width: window.innerWidth,
1092
- height: window.innerHeight
1093
- });
1094
- const isDragging = ref(false);
1095
- const draggingOffset = reactive({ x: 0, y: 0 });
1096
- const mousePosition = reactive({ x: 0, y: 0 });
1097
- function onPointerDown(e) {
1098
- if (!panelEl.value)
1099
- return;
1100
- isDragging.value = true;
1101
- const { left, top, width, height } = panelEl.value.getBoundingClientRect();
1102
- draggingOffset.x = e.clientX - left - width / 2;
1103
- draggingOffset.y = e.clientY - top - height / 2;
1104
- }
1105
- onMounted(() => {
1106
- windowSize.width = window.innerWidth;
1107
- windowSize.height = window.innerHeight;
1108
- useEventListener(window, "resize", () => {
1109
- windowSize.width = window.innerWidth;
1110
- windowSize.height = window.innerHeight;
1111
- });
1112
- useEventListener(window, "pointermove", (e) => {
1113
- if (!isDragging.value)
1114
- return;
1115
- const centerX = window.innerWidth / 2;
1116
- const centerY = window.innerHeight / 2;
1117
- const x = e.clientX - draggingOffset.x;
1118
- const y = e.clientY - draggingOffset.y;
1119
- if (Number.isNaN(x) || Number.isNaN(y))
1120
- return;
1121
- mousePosition.x = x;
1122
- mousePosition.y = y;
1123
- const deg = Math.atan2(y - centerY, x - centerX);
1124
- const HORIZONTAL_MARGIN = 70;
1125
- const TL = Math.atan2(0 - centerY + HORIZONTAL_MARGIN, 0 - centerX);
1126
- const TR = Math.atan2(0 - centerY + HORIZONTAL_MARGIN, window.innerWidth - centerX);
1127
- const BL = Math.atan2(window.innerHeight - HORIZONTAL_MARGIN - centerY, 0 - centerX);
1128
- const BR = Math.atan2(window.innerHeight - HORIZONTAL_MARGIN - centerY, window.innerWidth - centerX);
1129
- state.value.position = deg >= TL && deg <= TR ? "top" : deg >= TR && deg <= BR ? "right" : deg >= BR && deg <= BL ? "bottom" : "left";
1130
- state.value.left = snapToPoints(x / window.innerWidth * 100);
1131
- state.value.top = snapToPoints(y / window.innerHeight * 100);
1132
- });
1133
- useEventListener(window, "pointerup", () => {
1134
- isDragging.value = false;
1135
- });
1136
- useEventListener(window, "pointerleave", () => {
1137
- isDragging.value = false;
1138
- });
1139
- });
1140
- function snapToPoints(value) {
1141
- if (value < 5)
1142
- return 0;
1143
- if (value > 95)
1144
- return 100;
1145
- if (Math.abs(value - 50) < SNAP_THRESHOLD)
1146
- return 50;
1147
- return value;
1148
- }
1149
- function clamp(value, min, max) {
1150
- return Math.min(Math.max(value, min), max);
1151
- }
1152
- const isHovering = ref(false);
1153
- const isVertical = computed(() => state.value.position === "left" || state.value.position === "right");
1154
- const anchorPos = computed(() => {
1155
- const halfWidth = (panelEl.value?.clientWidth || 0) / 2;
1156
- const halfHeight = (panelEl.value?.clientHeight || 0) / 2;
1157
- const left = state.value.left * windowSize.width / 100;
1158
- const top = state.value.top * windowSize.height / 100;
1159
- switch (state.value.position) {
1160
- case "top":
1161
- return {
1162
- left: clamp(left, halfWidth + panelMargins.left, windowSize.width - halfWidth - panelMargins.right),
1163
- top: panelMargins.top + halfHeight
1164
- };
1165
- case "right":
1166
- return {
1167
- left: windowSize.width - panelMargins.right - halfHeight,
1168
- top: clamp(top, halfWidth + panelMargins.top, windowSize.height - halfWidth - panelMargins.bottom)
1169
- };
1170
- case "left":
1171
- return {
1172
- left: panelMargins.left + halfHeight,
1173
- top: clamp(top, halfWidth + panelMargins.top, windowSize.height - halfWidth - panelMargins.bottom)
1174
- };
1175
- case "bottom":
1176
- default:
1177
- return {
1178
- left: clamp(left, halfWidth + panelMargins.left, windowSize.width - halfWidth - panelMargins.right),
1179
- top: windowSize.height - panelMargins.bottom - halfHeight
1180
- };
1181
- }
1182
- });
1183
- let _timer = null;
1184
- function bringUp() {
1185
- isHovering.value = true;
1186
- if (state.value.minimizePanelInactive < 0)
1187
- return;
1188
- if (_timer)
1189
- clearTimeout(_timer);
1190
- _timer = setTimeout(() => {
1191
- isHovering.value = false;
1192
- }, +state.value.minimizePanelInactive || 0);
1193
- }
1194
- const isHidden = computed(() => {
1195
- if (state.value.open)
1196
- return false;
1197
- if (settings.value.ui.showPanel === true)
1198
- return false;
1199
- if (settings.value.ui.showPanel === false)
1200
- return true;
1201
- return false;
1202
- });
1203
- const isMinimized = computed(() => {
1204
- if (state.value.minimizePanelInactive < 0)
1205
- return false;
1206
- if (state.value.minimizePanelInactive === 0)
1207
- return true;
1208
- const isTouchDevice = "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
1209
- return !isDragging.value && !state.value.open && !isHovering.value && !isTouchDevice && state.value.minimizePanelInactive;
1210
- });
1211
- const anchorStyle = computed(() => {
1212
- return {
1213
- left: `${anchorPos.value.left}px`,
1214
- top: `${anchorPos.value.top}px`,
1215
- pointerEvents: isHidden.value ? "none" : "auto"
1216
- };
1217
- });
1218
- const panelStyle = computed(() => {
1219
- const style = {
1220
- transform: isVertical.value ? `translate(${isMinimized.value ? `calc(-50% ${state.value.position === "right" ? "+" : "-"} 15px)` : "-50%"}, -50%) rotate(90deg)` : `translate(-50%, ${isMinimized.value ? `calc(-50% ${state.value.position === "top" ? "-" : "+"} 15px)` : "-50%"})`
1221
- };
1222
- if (isHidden.value) {
1223
- style.opacity = 0;
1224
- style.pointerEvents = "none";
1225
- }
1226
- if (isMinimized.value) {
1227
- switch (state.value.position) {
1228
- case "top":
1229
- case "right":
1230
- style.borderTopLeftRadius = "0";
1231
- style.borderTopRightRadius = "0";
1232
- break;
1233
- case "bottom":
1234
- case "left":
1235
- style.borderBottomLeftRadius = "0";
1236
- style.borderBottomRightRadius = "0";
1237
- break;
1238
- }
1239
- }
1240
- if (isDragging.value)
1241
- style.transition = "none !important";
1242
- return style;
1243
- });
1244
- const { width: frameWidth, height: frameHeight } = useElementBounding(frameBox);
1245
- const popupWindow = ref(null);
1246
- const iframeStyle = computed(() => {
1247
- mousePosition.x, mousePosition.y;
1248
- const halfHeight = (panelEl.value?.clientHeight || 0) / 2;
1249
- const frameMargin = {
1250
- left: panelMargins.left + halfHeight,
1251
- top: panelMargins.top + halfHeight,
1252
- right: panelMargins.right + halfHeight,
1253
- bottom: panelMargins.bottom + halfHeight
1254
- };
1255
- const marginHorizontal = frameMargin.left + frameMargin.right;
1256
- const marginVertical = frameMargin.top + frameMargin.bottom;
1257
- const maxWidth = windowSize.width - marginHorizontal;
1258
- const maxHeight = windowSize.height - marginVertical;
1259
- const style = {
1260
- position: "fixed",
1261
- zIndex: -1,
1262
- pointerEvents: isDragging.value || !state.value.open || props.client.inspector?.isEnabled.value ? "none" : "auto",
1263
- width: `min(${state.value.width}vw, calc(100vw - ${marginHorizontal}px))`,
1264
- height: `min(${state.value.height}vh, calc(100vh - ${marginVertical}px))`
1265
- };
1266
- const anchor = anchorPos.value;
1267
- const width = Math.min(maxWidth, state.value.width * windowSize.width / 100);
1268
- const height = Math.min(maxHeight, state.value.height * windowSize.height / 100);
1269
- const anchorX = anchor?.left || 0;
1270
- const anchorY = anchor?.top || 0;
1271
- switch (state.value.position) {
1272
- case "top":
1273
- case "bottom":
1274
- style.left = `${-frameWidth.value / 2}px`;
1275
- style.transform = "translate(0, 0)";
1276
- if (anchorX - frameMargin.left < width / 2)
1277
- style.left = `${width / 2 - anchorX + frameMargin.left - frameWidth.value / 2}px`;
1278
- else if (windowSize.width - anchorX - frameMargin.right < width / 2)
1279
- style.left = `${windowSize.width - anchorX - width / 2 - frameMargin.right - frameWidth.value / 2}px`;
1280
- break;
1281
- case "right":
1282
- case "left":
1283
- style.top = `${-frameHeight.value / 2}px`;
1284
- style.transform = "translate(0, 0)";
1285
- if (anchorY - frameMargin.top < height / 2)
1286
- style.top = `${height / 2 - anchorY + frameMargin.top - frameHeight.value / 2}px`;
1287
- else if (windowSize.height - anchorY - frameMargin.bottom < height / 2)
1288
- style.top = `${windowSize.height - anchorY - height / 2 - frameMargin.bottom - frameHeight.value / 2}px`;
1289
- break;
1290
- }
1291
- switch (state.value.position) {
1292
- case "top":
1293
- style.top = 0;
1294
- break;
1295
- case "right":
1296
- style.right = 0;
1297
- break;
1298
- case "left":
1299
- style.left = 0;
1300
- break;
1301
- case "bottom":
1302
- default:
1303
- style.bottom = 0;
1304
- break;
1305
- }
1306
- if (props.client.inspector?.isEnabled.value) {
1307
- style.opacity = 0;
1308
- }
1309
- return style;
1310
- });
1311
- const time = computed(() => {
1312
- let type = "";
1313
- const metric = props.client.metrics.loading();
1314
- let time2 = -1;
1315
- if (metric.pageEnd && metric.pageStart) {
1316
- time2 = metric.pageEnd - metric.pageStart;
1317
- type = "Page";
1318
- } else if (metric.appLoad && metric.appInit) {
1319
- time2 = metric.appLoad - metric.appInit;
1320
- type = "App";
1321
- }
1322
- bringUp();
1323
- if (time2 < 0)
1324
- return [type, "", "-"];
1325
- return [type, ...millisecondToHumanreadable(time2)];
1326
- });
1327
- function toggleInspector() {
1328
- const isDevToolsOpen = state.value.open;
1329
- if (!isDevToolsOpen)
1330
- props.client.devtools.open();
1331
- props.client.inspector?.enable();
1332
- if (!isDevToolsOpen) {
1333
- setTimeout(() => {
1334
- props.client.devtools.close();
1335
- }, 500);
1336
- }
1337
- }
1338
- onMounted(() => {
1339
- bringUp();
1340
- });
1341
- const __returned__ = { props, state, settings, millisecondToHumanreadable, panelMargins, safeArea, isSafari, toNumber, SNAP_THRESHOLD, vars, frameBox, panelEl, anchorEl, windowSize, isDragging, draggingOffset, mousePosition, onPointerDown, snapToPoints, clamp, isHovering, isVertical, anchorPos, get _timer() {
1342
- return _timer;
1343
- }, set _timer(v) {
1344
- _timer = v;
1345
- }, bringUp, isHidden, isMinimized, anchorStyle, panelStyle, frameWidth, frameHeight, popupWindow, iframeStyle, time, toggleInspector, FrameBox };
1346
- Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
1347
- return __returned__;
1348
- }
1349
- });
1350
-
1351
- const _hoisted_1$1 = {
1352
- viewBox: "0 0 324 324",
1353
- fill: "none",
1354
- xmlns: "http://www.w3.org/2000/svg",
1355
- style: {
1356
- "margin-top": "-1px",
1357
- "height": "1.2em",
1358
- "width": "1.2em"
1359
- }
1360
- };
1361
- const _hoisted_2$1 = ["title"];
1362
- const _hoisted_3$1 = { class: "nuxt-devtools-label-main" };
1363
- const _hoisted_4$1 = { class: "nuxt-devtools-label-secondary" };
1364
- function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
1365
- return openBlock(), createElementBlock(
1366
- "div",
1367
- {
1368
- id: "nuxt-devtools-anchor",
1369
- ref: "anchorEl",
1370
- style: normalizeStyle([$setup.anchorStyle, $setup.vars]),
1371
- class: normalizeClass({
1372
- "nuxt-devtools-vertical": $setup.isVertical,
1373
- "nuxt-devtools-hide": $setup.isMinimized
1374
- }),
1375
- onMousemove: $setup.bringUp
1376
- },
1377
- [
1378
- !$setup.isSafari ? (openBlock(), createElementBlock(
1379
- "div",
1380
- {
1381
- key: 0,
1382
- class: "nuxt-devtools-glowing",
1383
- style: normalizeStyle($setup.isDragging ? "opacity: 0.6 !important" : "")
1384
- },
1385
- null,
1386
- 4
1387
- /* STYLE */
1388
- )) : createCommentVNode("v-if", true),
1389
- createElementVNode(
1390
- "div",
1391
- {
1392
- ref: "panelEl",
1393
- class: "nuxt-devtools-panel",
1394
- style: normalizeStyle($setup.panelStyle),
1395
- onPointerdown: $setup.onPointerDown
1396
- },
1397
- [
1398
- createElementVNode(
1399
- "button",
1400
- {
1401
- class: "nuxt-devtools-icon-button nuxt-devtools-nuxt-button",
1402
- title: "Toggle Nuxt DevTools",
1403
- style: normalizeStyle($setup.state.open ? "" : "filter:saturate(0)"),
1404
- onClick: _cache[0] || (_cache[0] = ($event) => $props.client.devtools.toggle())
1405
- },
1406
- [(openBlock(), createElementBlock("svg", _hoisted_1$1, [..._cache[2] || (_cache[2] = [createElementVNode(
1407
- "path",
1408
- {
1409
- d: "M181.767 270H302.211C306.037 270 309.795 269.003 313.108 267.107C316.421 265.211 319.172 262.484 321.084 259.2C322.996 255.915 324.002 252.19 324 248.399C323.998 244.607 322.989 240.883 321.074 237.601L240.187 98.7439C238.275 95.4607 235.525 92.7342 232.213 90.8385C228.901 88.9429 225.143 87.9449 221.318 87.9449C217.494 87.9449 213.736 88.9429 210.424 90.8385C207.112 92.7342 204.361 95.4607 202.449 98.7439L181.767 134.272L141.329 64.7975C139.416 61.5145 136.664 58.7884 133.351 56.8931C130.038 54.9978 126.28 54 122.454 54C118.629 54 114.871 54.9978 111.558 56.8931C108.245 58.7884 105.493 61.5145 103.58 64.7975L2.92554 237.601C1.01067 240.883 0.00166657 244.607 2.06272e-06 248.399C-0.00166244 252.19 1.00407 255.915 2.91605 259.2C4.82803 262.484 7.57884 265.211 10.8918 267.107C14.2047 269.003 17.963 270 21.7886 270H97.3936C127.349 270 149.44 256.959 164.641 231.517L201.546 168.172L221.313 134.272L280.637 236.1H201.546L181.767 270ZM96.1611 236.065L43.3984 236.054L122.49 100.291L161.953 168.172L135.531 213.543C125.436 230.051 113.968 236.065 96.1611 236.065Z",
1410
- fill: "#00DC82"
1411
- },
1412
- null,
1413
- -1
1414
- /* CACHED */
1415
- )])]))],
1416
- 4
1417
- /* STYLE */
1418
- ),
1419
- _cache[5] || (_cache[5] = createElementVNode(
1420
- "div",
1421
- {
1422
- style: {
1423
- "border-left": "1px solid #8883",
1424
- "width": "1px",
1425
- "height": "10px"
1426
- },
1427
- class: "nuxt-devtools-panel-content"
1428
- },
1429
- null,
1430
- -1
1431
- /* CACHED */
1432
- )),
1433
- createElementVNode("div", {
1434
- class: "nuxt-devtools-panel-content nuxt-devtools-label",
1435
- title: `${$setup.time[0]} load time`
1436
- }, [createElementVNode(
1437
- "div",
1438
- _hoisted_3$1,
1439
- toDisplayString($setup.time[1]),
1440
- 1
1441
- /* TEXT */
1442
- ), createElementVNode(
1443
- "span",
1444
- _hoisted_4$1,
1445
- toDisplayString($setup.time[2]),
1446
- 1
1447
- /* TEXT */
1448
- )], 8, _hoisted_2$1),
1449
- $props.client.inspector?.isAvailable ? (openBlock(), createElementBlock(
1450
- Fragment,
1451
- { key: 0 },
1452
- [_cache[4] || (_cache[4] = createElementVNode(
1453
- "div",
1454
- {
1455
- style: {
1456
- "border-left": "1px solid #8883",
1457
- "width": "1px",
1458
- "height": "10px"
1459
- },
1460
- class: "nuxt-devtools-panel-content"
1461
- },
1462
- null,
1463
- -1
1464
- /* CACHED */
1465
- )), createElementVNode("button", {
1466
- class: "nuxt-devtools-icon-button nuxt-devtools-panel-content",
1467
- title: "Toggle Component Inspector",
1468
- onClick: withModifiers($setup.toggleInspector, ["prevent", "stop"])
1469
- }, [(openBlock(), createElementBlock(
1470
- "svg",
1471
- {
1472
- xmlns: "http://www.w3.org/2000/svg",
1473
- style: normalizeStyle([{
1474
- "height": "1.2em",
1475
- "width": "1.2em",
1476
- "opacity": "0.5"
1477
- }, $props.client.inspector.isEnabled.value ? "opacity:1;color:#00dc82" : ""]),
1478
- viewBox: "0 0 24 24"
1479
- },
1480
- [..._cache[3] || (_cache[3] = [createElementVNode(
1481
- "g",
1482
- {
1483
- fill: "none",
1484
- stroke: "currentColor",
1485
- "stroke-linecap": "round",
1486
- "stroke-linejoin": "round",
1487
- "stroke-width": "2"
1488
- },
1489
- [createElementVNode("circle", {
1490
- cx: "12",
1491
- cy: "12",
1492
- r: ".5",
1493
- fill: "currentColor"
1494
- }), createElementVNode("path", { d: "M5 12a7 7 0 1 0 14 0a7 7 0 1 0-14 0m7-9v2m-9 7h2m7 7v2m7-9h2" })],
1495
- -1
1496
- /* CACHED */
1497
- )])],
1498
- 4
1499
- /* STYLE */
1500
- ))])],
1501
- 64
1502
- /* STABLE_FRAGMENT */
1503
- )) : createCommentVNode("v-if", true)
1504
- ],
1505
- 36
1506
- /* STYLE, NEED_HYDRATION */
1507
- ),
1508
- createElementVNode(
1509
- "div",
1510
- {
1511
- ref: "frameBox",
1512
- style: normalizeStyle($setup.iframeStyle)
1513
- },
1514
- [createVNode($setup["FrameBox"], {
1515
- "popup-window": $setup.popupWindow,
1516
- "onUpdate:popupWindow": _cache[1] || (_cache[1] = ($event) => $setup.popupWindow = $event),
1517
- state: $setup.state,
1518
- client: $props.client,
1519
- "is-dragging": $setup.isDragging
1520
- }, null, 8, [
1521
- "popup-window",
1522
- "state",
1523
- "client",
1524
- "is-dragging"
1525
- ])],
1526
- 4
1527
- /* STYLE */
1528
- )
1529
- ],
1530
- 38
1531
- /* CLASS, STYLE, NEED_HYDRATION */
1532
- );
1533
- }
1534
- const Component$1 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__file", "/home/runner/work/devtools/devtools/packages/devtools/src/webcomponents/components/NuxtDevtoolsFrame.vue"]]);
1535
-
1536
- const NuxtDevtoolsFrame = defineCustomElement(
1537
- Component$1,
1538
- {
1539
- shadowRoot: true,
1540
- styles: [css]
1541
- }
1542
- );
1543
- customElements.define("nuxt-devtools-frame", NuxtDevtoolsFrame);
1544
-
1545
388
  const PANEL_WIDTH = 400;
1546
389
  const PANEL_HEIGHT = 300;
1547
390
  const PANEL_MARGIN = 30;
@@ -1718,6 +561,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1718
561
  }
1719
562
  });
1720
563
 
564
+ const _export_sfc = (sfc, props) => {
565
+ const target = sfc.__vccOpts || sfc;
566
+ for (const [key, val] of props) {
567
+ target[key] = val;
568
+ }
569
+ return target;
570
+ };
571
+
1721
572
  const _hoisted_1 = {
1722
573
  ref: "draggingEl",
1723
574
  class: "flex flex-col gap-2 of-hidden p2"
@@ -1894,4 +745,4 @@ const NuxtDevtoolsInspectPanel = defineCustomElement(
1894
745
  );
1895
746
  customElements.define("nuxt-devtools-inspect-panel", NuxtDevtoolsInspectPanel);
1896
747
 
1897
- export { NuxtDevtoolsFrame, NuxtDevtoolsInspectPanel };
748
+ export { NuxtDevtoolsInspectPanel };