@nuxt/devtools 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/README.md +1 -1
  2. package/dist/chunks/module-main.mjs +59 -56
  3. package/dist/chunks/vscode.mjs +1 -1
  4. package/dist/client/200.html +1 -1
  5. package/dist/client/404.html +1 -1
  6. package/dist/client/_nuxt/__blank-may67yna.js +1 -0
  7. package/dist/client/_nuxt/analyze-build-ezjae6pi.js +1 -0
  8. package/dist/client/_nuxt/assets-cctzmb3x.js +6 -0
  9. package/dist/client/_nuxt/builds/latest.json +1 -1
  10. package/dist/client/_nuxt/builds/meta/2a5ea934-38f3-42f9-8ddd-b2d868a945a1.json +1 -0
  11. package/dist/client/_nuxt/client-cbmkjf3j.js +1 -0
  12. package/dist/client/_nuxt/code-diff-dj5abiya.js +8 -0
  13. package/dist/client/_nuxt/code-snippets-cgl6wpax.js +1 -0
  14. package/dist/client/_nuxt/color-k274hmrf.js +1 -0
  15. package/dist/client/_nuxt/components-gbus3qqv.js +1 -0
  16. package/dist/client/_nuxt/composable-item-gs2iudn4.js +1 -0
  17. package/dist/client/_nuxt/composables-g8w9dpc0.js +1 -0
  18. package/dist/client/_nuxt/constants-i6giw94a.js +1 -0
  19. package/dist/client/_nuxt/custom-_name_-m936a9yu.js +1 -0
  20. package/dist/client/_nuxt/data-schema-button-j6fxaw99.js +1 -0
  21. package/dist/client/_nuxt/data-schema-drawer-it2972mk.js +2 -0
  22. package/dist/client/_nuxt/debug-i1rscwhu.js +1 -0
  23. package/dist/client/_nuxt/default-fb125qds.js +1 -0
  24. package/dist/client/_nuxt/dist-joij2tdx.js +1 -0
  25. package/dist/client/_nuxt/dist-k9rc0n5t.js +1 -0
  26. package/dist/client/_nuxt/duration-display-dhj2ifr1.js +1 -0
  27. package/dist/client/_nuxt/entry.css-gx482m17.css +1 -0
  28. package/dist/client/_nuxt/error-404-m8kh5nuw.js +1 -0
  29. package/dist/client/_nuxt/error-404.css-hvuilq4i.css +1 -0
  30. package/dist/client/_nuxt/error-500-h85n6r14.js +1 -0
  31. package/dist/client/_nuxt/error-500.css-jc8udnlk.css +1 -0
  32. package/dist/client/_nuxt/error-l968gtru.js +9 -0
  33. package/dist/client/_nuxt/filepath-item-osqp88cx.js +1 -0
  34. package/dist/client/_nuxt/full-odhn7e61.js +1 -0
  35. package/dist/client/_nuxt/help-fab-bhtk9hzf.js +1 -0
  36. package/dist/client/_nuxt/hooks-hkx6shiy.js +1 -0
  37. package/dist/client/_nuxt/imports-nbrcx3j5.js +1 -0
  38. package/dist/client/_nuxt/launch-page-fyevedb0.js +1 -0
  39. package/dist/client/_nuxt/lwjah63g.js +4 -0
  40. package/dist/client/_nuxt/modules-kh9xciqf.js +1 -0
  41. package/dist/client/_nuxt/nbadge-ijsj8fjy.js +1 -0
  42. package/dist/client/_nuxt/ncheckbox-f4a8016e.js +1 -0
  43. package/dist/client/_nuxt/ncode-block-j2hcqwrp.js +2 -0
  44. package/dist/client/_nuxt/ncode-block.css-o2ixs97j.css +1 -0
  45. package/dist/client/_nuxt/ndrawer-lh0r2gbb.js +1 -0
  46. package/dist/client/_nuxt/ndropdown-ef0253xr.js +1 -0
  47. package/dist/client/_nuxt/nicon-title-hrj2h1mn.js +1 -0
  48. package/dist/client/_nuxt/nlink-bsck6xne.js +1 -0
  49. package/dist/client/_nuxt/nmarkdown-ftmgc061.js +1 -0
  50. package/dist/client/_nuxt/nnavbar-fdsyxwr6.js +1 -0
  51. package/dist/client/_nuxt/none-kpcjhluv.js +1 -0
  52. package/dist/client/_nuxt/nsection-block-kp1wt3o4.js +1 -0
  53. package/dist/client/_nuxt/nselect-cmll6q59.js +1 -0
  54. package/dist/client/_nuxt/nselect-tabs-dueuo8rw.js +1 -0
  55. package/dist/client/_nuxt/nswitch-gqy4bgn3.js +1 -0
  56. package/dist/client/_nuxt/open-graph-ol89f0bf.js +3 -0
  57. package/dist/client/_nuxt/open-graph.css-dk03m1qz.css +1 -0
  58. package/dist/client/_nuxt/overview-lxyqhn33.js +1 -0
  59. package/dist/client/_nuxt/pages-bbrpp8du.js +1 -0
  60. package/dist/client/_nuxt/pages-cry23sym.js +1 -0
  61. package/dist/client/_nuxt/payload-bhrm3gbm.js +1 -0
  62. package/dist/client/_nuxt/pinia-bcnuwvzr.js +1 -0
  63. package/dist/client/_nuxt/plugins-k9rqnu6h.js +1 -0
  64. package/dist/client/_nuxt/render-tree-fd08tpf3.js +1 -0
  65. package/dist/client/_nuxt/rolldown-runtime-oipoa1or.js +1 -0
  66. package/dist/client/_nuxt/runtime-configs-kagn8z75.js +1 -0
  67. package/dist/client/_nuxt/server-discovery-ja6p66g6.js +1 -0
  68. package/dist/client/_nuxt/server-route-inputs-b6nweyxn.js +1 -0
  69. package/dist/client/_nuxt/server-routes-dtwlhsgf.js +7 -0
  70. package/dist/client/_nuxt/server-tasks-lboebplp.js +1 -0
  71. package/dist/client/_nuxt/settings-joqzffm3.js +1 -0
  72. package/dist/client/_nuxt/stacktrace-list-mphoqupg.js +1 -0
  73. package/dist/client/_nuxt/state-components-b5shg9ni.js +1 -0
  74. package/dist/client/_nuxt/state-editor-gc0bkewv.js +1 -0
  75. package/dist/client/_nuxt/state-modules-e2s3wq2g.js +1 -0
  76. package/dist/client/_nuxt/storage-m3jg7c3a.js +1 -0
  77. package/dist/client/_nuxt/terminals-hsjdjxac.js +1 -0
  78. package/dist/client/_nuxt/timeline-nn4tvvo6.js +31 -0
  79. package/dist/client/_nuxt/timeline.css-m03aec2q.css +1 -0
  80. package/dist/client/_nuxt/unocss-runtime-cyizum7d.js +1 -0
  81. package/dist/client/_nuxt/vendor/json-editor-vue-ddj4xtqm.js +3869 -0
  82. package/dist/client/_nuxt/vendor/json-editor-vue.css-lkbe0qhh.css +1 -0
  83. package/dist/client/_nuxt/vendor/markdown-it-ew3lvn5m.js +14 -0
  84. package/dist/client/_nuxt/vendor/quicktype-core-f78dz8oi.js +929 -0
  85. package/dist/client/_nuxt/vendor/shiki-kunkft64.js +152 -0
  86. package/dist/client/_nuxt/vendor/unocss-f9yt86gg.js +3 -0
  87. package/dist/client/_nuxt/vendor/vis-ccj7spt3.js +26 -0
  88. package/dist/client/_nuxt/vendor/xterm-b39oya8c.js +36 -0
  89. package/dist/client/_nuxt/vendor/xterm.css-jqmddlol.css +1 -0
  90. package/dist/client/_nuxt/virtual-files-ds4udxjo.js +1 -0
  91. package/dist/client/_nuxt/virtual-files.css-l97kh4kx.css +1 -0
  92. package/dist/client/_nuxt/vue-devtools-hovopvyk.js +3 -0
  93. package/dist/client/_nuxt/vue-virtual-scroller.esm-il5noocm.js +2 -0
  94. package/dist/client/discovery/index.html +80 -80
  95. package/dist/client/index.html +1 -1
  96. package/dist/module.json +1 -1
  97. package/dist/module.mjs +1 -1
  98. package/dist/runtime/function-metrics-helpers.js +1 -1
  99. package/dist/shared/{devtools.Dlu0WIXO.mjs → devtools.DuFZOCNN.mjs} +2 -2
  100. package/dist/webcomponents/index.mjs +706 -405
  101. package/package.json +47 -48
  102. package/dist/client/_nuxt/__blank-jhf8n41f.js +0 -1
  103. package/dist/client/_nuxt/analyze-build-dclm2eua.js +0 -1
  104. package/dist/client/_nuxt/assets-gul8j4ty.js +0 -16
  105. package/dist/client/_nuxt/builds/meta/7f6c0584-4542-4a99-a964-04ffe2cf6d8b.json +0 -1
  106. package/dist/client/_nuxt/client-c7ye0k5n.js +0 -1
  107. package/dist/client/_nuxt/code-diff-injlkjgq.js +0 -8
  108. package/dist/client/_nuxt/code-snippets-m6659svv.js +0 -1
  109. package/dist/client/_nuxt/color-mt9xuhgy.js +0 -1
  110. package/dist/client/_nuxt/components-dx448jl3.js +0 -1
  111. package/dist/client/_nuxt/composable-item-fx38xsht.js +0 -1
  112. package/dist/client/_nuxt/constants-b32h69zq.js +0 -1
  113. package/dist/client/_nuxt/custom-_name_-hhxly3pw.js +0 -1
  114. package/dist/client/_nuxt/data-schema-button-n4i5g8zd.js +0 -1
  115. package/dist/client/_nuxt/data-schema-drawer-kqzssz6s.js +0 -2
  116. package/dist/client/_nuxt/debug-d3sv8xbk.js +0 -1
  117. package/dist/client/_nuxt/default-m5mbakn0.js +0 -1
  118. package/dist/client/_nuxt/dqkmjlgs.js +0 -5
  119. package/dist/client/_nuxt/duration-display-jckntkny.js +0 -1
  120. package/dist/client/_nuxt/entry.css-isd0m9wk.css +0 -1
  121. package/dist/client/_nuxt/error-404-gjtmorrj.js +0 -1
  122. package/dist/client/_nuxt/error-404.css-comgjw6y.css +0 -1
  123. package/dist/client/_nuxt/error-500-nccwcser.js +0 -1
  124. package/dist/client/_nuxt/error-500.css-mrt4j707.css +0 -1
  125. package/dist/client/_nuxt/error-ffv58uws.js +0 -9
  126. package/dist/client/_nuxt/filepath-item-i5bipy7o.js +0 -1
  127. package/dist/client/_nuxt/full-c16pqeel.js +0 -1
  128. package/dist/client/_nuxt/help-fab-9epbigv8.js +0 -1
  129. package/dist/client/_nuxt/hooks-mduk5nzn.js +0 -1
  130. package/dist/client/_nuxt/imports-i91uw6yj.js +0 -1
  131. package/dist/client/_nuxt/index-jc4yj4to.js +0 -1
  132. package/dist/client/_nuxt/index-nhqhrtpb.js +0 -1
  133. package/dist/client/_nuxt/launch-page-hs2f7bb3.js +0 -1
  134. package/dist/client/_nuxt/modules-zf3s3x2v.js +0 -1
  135. package/dist/client/_nuxt/nbadge-b5jyufiz.js +0 -1
  136. package/dist/client/_nuxt/ncheckbox-dhpz73wm.js +0 -1
  137. package/dist/client/_nuxt/ncode-block-j34pr9ay.js +0 -2
  138. package/dist/client/_nuxt/ncode-block.css-lvdc77tw.css +0 -1
  139. package/dist/client/_nuxt/ndrawer-drb8l4me.js +0 -1
  140. package/dist/client/_nuxt/ndropdown-nmlejt8k.js +0 -1
  141. package/dist/client/_nuxt/nicon-title-d35s6mci.js +0 -1
  142. package/dist/client/_nuxt/nlink-c419gh8c.js +0 -1
  143. package/dist/client/_nuxt/nmarkdown-nigjp7j4.js +0 -1
  144. package/dist/client/_nuxt/nnavbar-l4xos9kw.js +0 -1
  145. package/dist/client/_nuxt/none-gpw8rwbw.js +0 -1
  146. package/dist/client/_nuxt/nsection-block-egbswicp.js +0 -1
  147. package/dist/client/_nuxt/nselect-ioi0seuc.js +0 -1
  148. package/dist/client/_nuxt/nselect-tabs-g53jlfar.js +0 -1
  149. package/dist/client/_nuxt/nswitch-fe63il2r.js +0 -1
  150. package/dist/client/_nuxt/open-graph-at6lhslo.js +0 -3
  151. package/dist/client/_nuxt/open-graph.css-me89qec1.css +0 -1
  152. package/dist/client/_nuxt/overview-m6fs47hx.js +0 -1
  153. package/dist/client/_nuxt/pages-j5tlf4m8.js +0 -1
  154. package/dist/client/_nuxt/payload-jr962nnb.js +0 -1
  155. package/dist/client/_nuxt/pinia-joljeqzn.js +0 -1
  156. package/dist/client/_nuxt/plugins-ojaq4cs3.js +0 -1
  157. package/dist/client/_nuxt/render-tree-if0b608n.js +0 -1
  158. package/dist/client/_nuxt/runtime-configs-o7wtu3kn.js +0 -1
  159. package/dist/client/_nuxt/server-discovery-b3v4zpwp.js +0 -1
  160. package/dist/client/_nuxt/server-route-inputs-b67yt8gz.js +0 -1
  161. package/dist/client/_nuxt/server-routes-bv99k10t.js +0 -9
  162. package/dist/client/_nuxt/server-tasks-cm8nifg0.js +0 -1
  163. package/dist/client/_nuxt/settings-eg7tsmzu.js +0 -1
  164. package/dist/client/_nuxt/stacktrace-list-bcj6vnom.js +0 -1
  165. package/dist/client/_nuxt/state-components-fc2pwsp2.js +0 -1
  166. package/dist/client/_nuxt/state-editor-dk0l27xr.js +0 -1
  167. package/dist/client/_nuxt/state-modules-kznlrvp3.js +0 -1
  168. package/dist/client/_nuxt/storage-llgdq75n.js +0 -1
  169. package/dist/client/_nuxt/terminals-dw7izba9.js +0 -1
  170. package/dist/client/_nuxt/timeline-47q1o74r.js +0 -31
  171. package/dist/client/_nuxt/timeline.css-otdwftpy.css +0 -1
  172. package/dist/client/_nuxt/unocss-runtime-jh5tu2xl.js +0 -1
  173. package/dist/client/_nuxt/vendor/json-editor-vue-gjlsq8io.js +0 -3867
  174. package/dist/client/_nuxt/vendor/json-editor-vue.css-f8ezrn37.css +0 -1
  175. package/dist/client/_nuxt/vendor/markdown-it-fvu08dbs.js +0 -16
  176. package/dist/client/_nuxt/vendor/quicktype-core-bmjj6ua7.js +0 -955
  177. package/dist/client/_nuxt/vendor/shiki-g7cm1eew.js +0 -152
  178. package/dist/client/_nuxt/vendor/unocss-gny6huge.js +0 -3
  179. package/dist/client/_nuxt/vendor/unocss.css-c5u30s53.css +0 -1
  180. package/dist/client/_nuxt/vendor/vis-lxvjz9wh.js +0 -26
  181. package/dist/client/_nuxt/vendor/xterm-nmc0lagr.js +0 -9
  182. package/dist/client/_nuxt/vendor/xterm.css-g1ekxkss.css +0 -1
  183. package/dist/client/_nuxt/virtual-files-mjjst5kh.js +0 -1
  184. package/dist/client/_nuxt/virtual-files.css-gqpg2wnb.css +0 -1
  185. package/dist/client/_nuxt/vue-devtools-f6dfrqr1.js +0 -2
  186. package/dist/client/_nuxt/vue-virtual-scroller.esm-uia1jucn.js +0 -2
@@ -1,6 +1,6 @@
1
- import { isRef, toRefs as toRefs$1, customRef, toValue, onMounted, nextTick, watch, getCurrentScope, onScopeDispose, getCurrentInstance, shallowRef, computed, unref, ref, defineComponent, mergeModels, useModel, watchEffect, withDirectives, createElementBlock, openBlock, createCommentVNode, createElementVNode, withModifiers, vShow, reactive, useTemplateRef, normalizeClass, normalizeStyle, toDisplayString, Fragment, createVNode, defineCustomElement } from 'vue';
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';
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-x{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128L50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon)no-repeat;mask:var(--un-icon)no-repeat;color:inherit;background-color:currentColor;width:1em;height:1em;mask-size:100% 100%}.container{width:100%}.bg-glass{--un-backdrop-blur:blur(5px);backdrop-filter:var(--un-backdrop-blur)var(--un-backdrop-brightness)var(--un-backdrop-contrast)var(--un-backdrop-grayscale)var(--un-backdrop-hue-rotate)var(--un-backdrop-invert)var(--un-backdrop-opacity)var(--un-backdrop-saturate)var(--un-backdrop-sepia);background-color:rgba(255,255,255,.75)}.color-base{--un-text-opacity:1;color:rgba(38,38,38,var(--un-text-opacity))}.ring-base{--un-ring-opacity:.13;--un-ring-color:rgba(136,136,136,var(--un-ring-opacity))}@media (prefers-color-scheme:dark){.bg-glass{background-color:rgba(17,17,17,.75)}.color-base{--un-text-opacity:1;color:rgba(229,229,229,var(--un-text-opacity))}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.disabled\\:pointer-events-none:disabled{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{top:0;bottom:0;left:0;right:0}.z-10{z-index:10}.z-9999999{z-index:9999999}.ms:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:1rem}.ms:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:1rem}.mt--2{margin-top:-.5rem}.w-400px{width:400px}.flex{display:flex}.flex-auto{flex:auto}.flex-none{flex:none}.flex-col{flex-direction:column}.transform{transform:translateX(var(--un-translate-x))translateY(var(--un-translate-y))translateZ(var(--un-translate-z))rotate(var(--un-rotate))rotateX(var(--un-rotate-x))rotateY(var(--un-rotate-y))rotateZ(var(--un-rotate-z))skewX(var(--un-skew-x))skewY(var(--un-skew-y))scaleX(var(--un-scale-x))scaleY(var(--un-scale-y))scaleZ(var(--un-scale-z))}.resize{resize:both}.items-center{align-items:center}.gap-2{gap:.5rem}.of-hidden{overflow:hidden}.border-1\\.5{border-width:1.5px}.border-transparent{border-color:transparent}.rounded-lg{-webkit-border-radius:.5rem;border-radius:.5rem}.p2{padding:.5rem}.px{padding-left:1rem;padding-right:1rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.hover\\:text-green6:hover{--un-text-opacity:1;color:rgba(22,163,74,var(--un-text-opacity))}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.op0{opacity:0}.op100{opacity:1}.op50{opacity:.5}.hover\\:op100:hover{opacity:1}.disabled\\:op10\\!:disabled{opacity:.1!important}.shadow-lg{--un-shadow:var(--un-shadow-inset)0 10px 15px -3px var(--un-shadow-color,rgba(0,0,0,.1)),var(--un-shadow-inset)0 4px 6px -4px var(--un-shadow-color,rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.ring-1{--un-ring-width:1px;--un-ring-offset-shadow:var(--un-ring-inset)0 0 0 var(--un-ring-offset-width)var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset)0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width))var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.backdrop-blur{--un-backdrop-blur:blur(8px);backdrop-filter:var(--un-backdrop-blur)var(--un-backdrop-brightness)var(--un-backdrop-contrast)var(--un-backdrop-grayscale)var(--un-backdrop-hue-rotate)var(--un-backdrop-invert)var(--un-backdrop-opacity)var(--un-backdrop-saturate)var(--un-backdrop-sepia)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.transition-none{transition:none}`;
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
4
 
5
5
  //#endregion
6
6
  //#region tryOnScopeDispose/index.ts
@@ -197,11 +197,6 @@ function unrefElement(elRef) {
197
197
  //#endregion
198
198
  //#region useEventListener/index.ts
199
199
  function useEventListener(...args) {
200
- const cleanups = [];
201
- const cleanup = () => {
202
- cleanups.forEach((fn) => fn());
203
- cleanups.length = 0;
204
- };
205
200
  const register = (el, event, listener, options) => {
206
201
  el.addEventListener(event, listener, options);
207
202
  return () => el.removeEventListener(event, listener, options);
@@ -210,7 +205,7 @@ function useEventListener(...args) {
210
205
  const test = toArray(toValue(args[0])).filter((e) => e != null);
211
206
  return test.every((e) => typeof e !== "string") ? test : void 0;
212
207
  });
213
- const stopWatch = watchImmediate(() => {
208
+ return watchImmediate(() => {
214
209
  var _firstParamTargets$va, _firstParamTargets$va2;
215
210
  return [
216
211
  (_firstParamTargets$va = (_firstParamTargets$va2 = firstParamTargets.value) === null || _firstParamTargets$va2 === void 0 ? void 0 : _firstParamTargets$va2.map((e) => unrefElement(e))) !== null && _firstParamTargets$va !== void 0 ? _firstParamTargets$va : [defaultWindow].filter((e) => e != null),
@@ -218,18 +213,14 @@ function useEventListener(...args) {
218
213
  toArray(unref(firstParamTargets.value ? args[2] : args[1])),
219
214
  toValue(firstParamTargets.value ? args[3] : args[2])
220
215
  ];
221
- }, ([raw_targets, raw_events, raw_listeners, raw_options]) => {
222
- cleanup();
216
+ }, ([raw_targets, raw_events, raw_listeners, raw_options], _, onCleanup) => {
223
217
  if (!(raw_targets === null || raw_targets === void 0 ? void 0 : raw_targets.length) || !(raw_events === null || raw_events === void 0 ? void 0 : raw_events.length) || !(raw_listeners === null || raw_listeners === void 0 ? void 0 : raw_listeners.length)) return;
224
218
  const optionsClone = isObject(raw_options) ? { ...raw_options } : raw_options;
225
- cleanups.push(...raw_targets.flatMap((el) => raw_events.flatMap((event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone)))));
219
+ const cleanups = raw_targets.flatMap((el) => raw_events.flatMap((event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone))));
220
+ onCleanup(() => {
221
+ cleanups.forEach((fn) => fn());
222
+ });
226
223
  }, { flush: "post" });
227
- const stop = () => {
228
- stopWatch();
229
- cleanup();
230
- };
231
- tryOnScopeDispose(cleanup);
232
- return stop;
233
224
  }
234
225
  function onClickOutside(target, handler, options = {}) {
235
226
  const { window: window$1 = defaultWindow, ignore = [], capture = true, detectIframe = false, controls = false } = options;
@@ -436,6 +427,15 @@ function useCssVar(prop, target, options = {}) {
436
427
 
437
428
  //#endregion
438
429
  //#region useDraggable/index.ts
430
+ const defaultScrollConfig = {
431
+ speed: 2,
432
+ margin: 30,
433
+ direction: "both"
434
+ };
435
+ function clampContainerScroll(container) {
436
+ if (container.scrollLeft > container.scrollWidth - container.clientWidth) container.scrollLeft = Math.max(0, container.scrollWidth - container.clientWidth);
437
+ if (container.scrollTop > container.scrollHeight - container.clientHeight) container.scrollTop = Math.max(0, container.scrollHeight - container.clientHeight);
438
+ }
439
439
  /**
440
440
  * Make elements draggable.
441
441
  *
@@ -444,8 +444,8 @@ function useCssVar(prop, target, options = {}) {
444
444
  * @param options
445
445
  */
446
446
  function useDraggable(target, options = {}) {
447
- var _toValue;
448
- const { pointerTypes, preventDefault: preventDefault$1, stopPropagation, exact, onMove, onEnd, onStart, initialValue, axis = "both", draggingElement = defaultWindow, containerElement, handle: draggingHandle = target, buttons = [0] } = options;
447
+ var _toValue, _toValue2, _toValue3, _scrollConfig$directi;
448
+ const { pointerTypes, preventDefault: preventDefault$1, stopPropagation, exact, onMove, onEnd, onStart, initialValue, axis = "both", draggingElement = defaultWindow, containerElement, handle: draggingHandle = target, buttons = [0], restrictInView, autoScroll = false } = options;
449
449
  const position = ref((_toValue = toValue(initialValue)) !== null && _toValue !== void 0 ? _toValue : {
450
450
  x: 0,
451
451
  y: 0
@@ -459,6 +459,75 @@ function useDraggable(target, options = {}) {
459
459
  if (toValue(preventDefault$1)) e.preventDefault();
460
460
  if (toValue(stopPropagation)) e.stopPropagation();
461
461
  };
462
+ const scrollConfig = toValue(autoScroll);
463
+ const scrollSettings = typeof scrollConfig === "object" ? {
464
+ speed: (_toValue2 = toValue(scrollConfig.speed)) !== null && _toValue2 !== void 0 ? _toValue2 : defaultScrollConfig.speed,
465
+ margin: (_toValue3 = toValue(scrollConfig.margin)) !== null && _toValue3 !== void 0 ? _toValue3 : defaultScrollConfig.margin,
466
+ direction: (_scrollConfig$directi = scrollConfig.direction) !== null && _scrollConfig$directi !== void 0 ? _scrollConfig$directi : defaultScrollConfig.direction
467
+ } : defaultScrollConfig;
468
+ const getScrollAxisValues = (value) => typeof value === "number" ? [value, value] : [value.x, value.y];
469
+ const handleAutoScroll = (container, targetRect, position$1) => {
470
+ const { clientWidth, clientHeight, scrollLeft, scrollTop, scrollWidth, scrollHeight } = container;
471
+ const [marginX, marginY] = getScrollAxisValues(scrollSettings.margin);
472
+ const [speedX, speedY] = getScrollAxisValues(scrollSettings.speed);
473
+ let deltaX = 0;
474
+ let deltaY = 0;
475
+ if (scrollSettings.direction === "x" || scrollSettings.direction === "both") {
476
+ if (position$1.x < marginX && scrollLeft > 0) deltaX = -speedX;
477
+ else if (position$1.x + targetRect.width > clientWidth - marginX && scrollLeft < scrollWidth - clientWidth) deltaX = speedX;
478
+ }
479
+ if (scrollSettings.direction === "y" || scrollSettings.direction === "both") {
480
+ if (position$1.y < marginY && scrollTop > 0) deltaY = -speedY;
481
+ else if (position$1.y + targetRect.height > clientHeight - marginY && scrollTop < scrollHeight - clientHeight) deltaY = speedY;
482
+ }
483
+ if (deltaX || deltaY) container.scrollBy({
484
+ left: deltaX,
485
+ top: deltaY,
486
+ behavior: "auto"
487
+ });
488
+ };
489
+ let autoScrollInterval = null;
490
+ const startAutoScroll = () => {
491
+ const container = toValue(containerElement);
492
+ if (container && !autoScrollInterval) autoScrollInterval = setInterval(() => {
493
+ const targetRect = toValue(target).getBoundingClientRect();
494
+ const { x, y } = position.value;
495
+ const relativePosition = {
496
+ x: x - container.scrollLeft,
497
+ y: y - container.scrollTop
498
+ };
499
+ if (relativePosition.x >= 0 && relativePosition.y >= 0) {
500
+ handleAutoScroll(container, targetRect, relativePosition);
501
+ relativePosition.x += container.scrollLeft;
502
+ relativePosition.y += container.scrollTop;
503
+ position.value = relativePosition;
504
+ }
505
+ }, 1e3 / 60);
506
+ };
507
+ const stopAutoScroll = () => {
508
+ if (autoScrollInterval) {
509
+ clearInterval(autoScrollInterval);
510
+ autoScrollInterval = null;
511
+ }
512
+ };
513
+ const isPointerNearEdge = (pointer, container, margin, targetRect) => {
514
+ const [marginX, marginY] = typeof margin === "number" ? [margin, margin] : [margin.x, margin.y];
515
+ const { clientWidth, clientHeight } = container;
516
+ return pointer.x < marginX || pointer.x + targetRect.width > clientWidth - marginX || pointer.y < marginY || pointer.y + targetRect.height > clientHeight - marginY;
517
+ };
518
+ const checkAutoScroll = () => {
519
+ if (toValue(options.disabled) || !pressedDelta.value) return;
520
+ const container = toValue(containerElement);
521
+ if (!container) return;
522
+ const targetRect = toValue(target).getBoundingClientRect();
523
+ const { x, y } = position.value;
524
+ if (isPointerNearEdge({
525
+ x: x - container.scrollLeft,
526
+ y: y - container.scrollTop
527
+ }, container, scrollSettings.margin, targetRect)) startAutoScroll();
528
+ else stopAutoScroll();
529
+ };
530
+ if (toValue(autoScroll)) watch(position, checkAutoScroll);
462
531
  const start = (e) => {
463
532
  var _container$getBoundin;
464
533
  if (!toValue(buttons).includes(e.button)) return;
@@ -468,8 +537,8 @@ function useDraggable(target, options = {}) {
468
537
  const containerRect = container === null || container === void 0 || (_container$getBoundin = container.getBoundingClientRect) === null || _container$getBoundin === void 0 ? void 0 : _container$getBoundin.call(container);
469
538
  const targetRect = toValue(target).getBoundingClientRect();
470
539
  const pos = {
471
- x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left),
472
- y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top)
540
+ x: e.clientX - (container ? targetRect.left - containerRect.left + (autoScroll ? 0 : container.scrollLeft) : targetRect.left),
541
+ y: e.clientY - (container ? targetRect.top - containerRect.top + (autoScroll ? 0 : container.scrollTop) : targetRect.top)
473
542
  };
474
543
  if ((onStart === null || onStart === void 0 ? void 0 : onStart(pos, e)) === false) return;
475
544
  pressedDelta.value = pos;
@@ -479,6 +548,7 @@ function useDraggable(target, options = {}) {
479
548
  if (toValue(options.disabled) || !filterEvent(e)) return;
480
549
  if (!pressedDelta.value) return;
481
550
  const container = toValue(containerElement);
551
+ if (container instanceof HTMLElement) clampContainerScroll(container);
482
552
  const targetRect = toValue(target).getBoundingClientRect();
483
553
  let { x, y } = position.value;
484
554
  if (axis === "x" || axis === "both") {
@@ -489,6 +559,26 @@ function useDraggable(target, options = {}) {
489
559
  y = e.clientY - pressedDelta.value.y;
490
560
  if (container) y = Math.min(Math.max(0, y), container.scrollHeight - targetRect.height);
491
561
  }
562
+ if (toValue(autoScroll) && container) {
563
+ if (autoScrollInterval === null) handleAutoScroll(container, targetRect, {
564
+ x,
565
+ y
566
+ });
567
+ x += container.scrollLeft;
568
+ y += container.scrollTop;
569
+ }
570
+ if (container && (restrictInView || autoScroll)) {
571
+ if (axis !== "y") {
572
+ const relativeX = x - container.scrollLeft;
573
+ if (relativeX < 0) x = container.scrollLeft;
574
+ else if (relativeX > container.clientWidth - targetRect.width) x = container.clientWidth - targetRect.width + container.scrollLeft;
575
+ }
576
+ if (axis !== "x") {
577
+ const relativeY = y - container.scrollTop;
578
+ if (relativeY < 0) y = container.scrollTop;
579
+ else if (relativeY > container.clientHeight - targetRect.height) y = container.clientHeight - targetRect.height + container.scrollTop;
580
+ }
581
+ }
492
582
  position.value = {
493
583
  x,
494
584
  y
@@ -500,6 +590,7 @@ function useDraggable(target, options = {}) {
500
590
  if (toValue(options.disabled) || !filterEvent(e)) return;
501
591
  if (!pressedDelta.value) return;
502
592
  pressedDelta.value = void 0;
593
+ if (autoScroll) stopAutoScroll();
503
594
  onEnd === null || onEnd === void 0 || onEnd(position.value, e);
504
595
  handleEvent(e);
505
596
  };
@@ -519,7 +610,11 @@ function useDraggable(target, options = {}) {
519
610
  ...toRefs(position),
520
611
  position,
521
612
  isDragging: computed(() => !!pressedDelta.value),
522
- style: computed(() => `left:${position.value.x}px;top:${position.value.y}px;`)
613
+ style: computed(() => `
614
+ left: ${position.value.x}px;
615
+ top: ${position.value.y}px;
616
+ ${autoScroll ? "text-wrap: nowrap;" : ""}
617
+ `)
523
618
  };
524
619
  }
525
620
 
@@ -784,133 +879,155 @@ const _export_sfc = (sfc, props) => {
784
879
  };
785
880
 
786
881
  const _hoisted_1$2 = {
787
- ref: "container",
788
- class: "nuxt-devtools-frame"
882
+ ref: "container",
883
+ class: "nuxt-devtools-frame"
789
884
  };
790
885
  function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
791
- return withDirectives((openBlock(), createElementBlock(
792
- "div",
793
- _hoisted_1$2,
794
- [
795
- createCommentVNode(" Handlers "),
796
- withDirectives(createElementVNode(
797
- "div",
798
- {
799
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-horizontal",
800
- style: { top: 0 },
801
- onMousedown: _cache[0] || (_cache[0] = withModifiers(($event) => $setup.isResizing = { top: true }, ["prevent"])),
802
- onTouchstartPassive: _cache[1] || (_cache[1] = () => $setup.isResizing = { top: true })
803
- },
804
- null,
805
- 544
806
- /* NEED_HYDRATION, NEED_PATCH */
807
- ), [
808
- [vShow, $setup.state.position !== "top"]
809
- ]),
810
- withDirectives(createElementVNode(
811
- "div",
812
- {
813
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-horizontal",
814
- style: { bottom: 0 },
815
- onMousedown: _cache[2] || (_cache[2] = withModifiers(() => $setup.isResizing = { bottom: true }, ["prevent"])),
816
- onTouchstartPassive: _cache[3] || (_cache[3] = () => $setup.isResizing = { bottom: true })
817
- },
818
- null,
819
- 544
820
- /* NEED_HYDRATION, NEED_PATCH */
821
- ), [
822
- [vShow, $setup.state.position !== "bottom"]
823
- ]),
824
- withDirectives(createElementVNode(
825
- "div",
826
- {
827
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-vertical",
828
- style: { left: 0 },
829
- onMousedown: _cache[4] || (_cache[4] = withModifiers(() => $setup.isResizing = { left: true }, ["prevent"])),
830
- onTouchstartPassive: _cache[5] || (_cache[5] = () => $setup.isResizing = { left: true })
831
- },
832
- null,
833
- 544
834
- /* NEED_HYDRATION, NEED_PATCH */
835
- ), [
836
- [vShow, $setup.state.position !== "left"]
837
- ]),
838
- withDirectives(createElementVNode(
839
- "div",
840
- {
841
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-vertical",
842
- style: { right: 0 },
843
- onMousedown: _cache[6] || (_cache[6] = withModifiers(() => $setup.isResizing = { right: true }, ["prevent"])),
844
- onTouchstartPassive: _cache[7] || (_cache[7] = () => $setup.isResizing = { right: true })
845
- },
846
- null,
847
- 544
848
- /* NEED_HYDRATION, NEED_PATCH */
849
- ), [
850
- [vShow, $setup.state.position !== "right"]
851
- ]),
852
- withDirectives(createElementVNode(
853
- "div",
854
- {
855
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner",
856
- style: { top: 0, left: 0, cursor: "nwse-resize" },
857
- onMousedown: _cache[8] || (_cache[8] = withModifiers(() => $setup.isResizing = { top: true, left: true }, ["prevent"])),
858
- onTouchstartPassive: _cache[9] || (_cache[9] = () => $setup.isResizing = { top: true, left: true })
859
- },
860
- null,
861
- 544
862
- /* NEED_HYDRATION, NEED_PATCH */
863
- ), [
864
- [vShow, $setup.state.position !== "top" && $setup.state.position !== "left"]
865
- ]),
866
- withDirectives(createElementVNode(
867
- "div",
868
- {
869
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner",
870
- style: { top: 0, right: 0, cursor: "nesw-resize" },
871
- onMousedown: _cache[10] || (_cache[10] = withModifiers(() => $setup.isResizing = { top: true, right: true }, ["prevent"])),
872
- onTouchstartPassive: _cache[11] || (_cache[11] = () => $setup.isResizing = { top: true, right: true })
873
- },
874
- null,
875
- 544
876
- /* NEED_HYDRATION, NEED_PATCH */
877
- ), [
878
- [vShow, $setup.state.position !== "top" && $setup.state.position !== "right"]
879
- ]),
880
- withDirectives(createElementVNode(
881
- "div",
882
- {
883
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner",
884
- style: { bottom: 0, left: 0, cursor: "nesw-resize" },
885
- onMousedown: _cache[12] || (_cache[12] = withModifiers(() => $setup.isResizing = { bottom: true, left: true }, ["prevent"])),
886
- onTouchstartPassive: _cache[13] || (_cache[13] = () => $setup.isResizing = { bottom: true, left: true })
887
- },
888
- null,
889
- 544
890
- /* NEED_HYDRATION, NEED_PATCH */
891
- ), [
892
- [vShow, $setup.state.position !== "bottom" && $setup.state.position !== "left"]
893
- ]),
894
- withDirectives(createElementVNode(
895
- "div",
896
- {
897
- class: "nuxt-devtools-resize-handle nuxt-devtools-resize-handle-corner",
898
- style: { bottom: 0, right: 0, cursor: "nwse-resize" },
899
- onMousedown: _cache[14] || (_cache[14] = withModifiers(() => $setup.isResizing = { bottom: true, right: true }, ["prevent"])),
900
- onTouchstartPassive: _cache[15] || (_cache[15] = () => $setup.isResizing = { bottom: true, right: true })
901
- },
902
- null,
903
- 544
904
- /* NEED_HYDRATION, NEED_PATCH */
905
- ), [
906
- [vShow, $setup.state.position !== "bottom" && $setup.state.position !== "right"]
907
- ])
908
- ],
909
- 512
910
- /* NEED_PATCH */
911
- )), [
912
- [vShow, $setup.state.open && !$props.client.inspector?.isEnabled.value && !$setup.popupWindow]
913
- ]);
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]]);
914
1031
  }
915
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"]]);
916
1033
 
@@ -1232,185 +1349,187 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1232
1349
  });
1233
1350
 
1234
1351
  const _hoisted_1$1 = {
1235
- viewBox: "0 0 324 324",
1236
- fill: "none",
1237
- xmlns: "http://www.w3.org/2000/svg",
1238
- style: { "margin-top": "-1px", "height": "1.2em", "width": "1.2em" }
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
+ }
1239
1360
  };
1240
1361
  const _hoisted_2$1 = ["title"];
1241
1362
  const _hoisted_3$1 = { class: "nuxt-devtools-label-main" };
1242
- const _hoisted_4 = { class: "nuxt-devtools-label-secondary" };
1363
+ const _hoisted_4$1 = { class: "nuxt-devtools-label-secondary" };
1243
1364
  function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
1244
- return openBlock(), createElementBlock(
1245
- "div",
1246
- {
1247
- id: "nuxt-devtools-anchor",
1248
- ref: "anchorEl",
1249
- style: normalizeStyle([$setup.anchorStyle, $setup.vars]),
1250
- class: normalizeClass({
1251
- "nuxt-devtools-vertical": $setup.isVertical,
1252
- "nuxt-devtools-hide": $setup.isMinimized
1253
- }),
1254
- onMousemove: $setup.bringUp
1255
- },
1256
- [
1257
- !$setup.isSafari ? (openBlock(), createElementBlock(
1258
- "div",
1259
- {
1260
- key: 0,
1261
- class: "nuxt-devtools-glowing",
1262
- style: normalizeStyle($setup.isDragging ? "opacity: 0.6 !important" : "")
1263
- },
1264
- null,
1265
- 4
1266
- /* STYLE */
1267
- )) : createCommentVNode("v-if", true),
1268
- createElementVNode(
1269
- "div",
1270
- {
1271
- ref: "panelEl",
1272
- class: "nuxt-devtools-panel",
1273
- style: normalizeStyle($setup.panelStyle),
1274
- onPointerdown: $setup.onPointerDown
1275
- },
1276
- [
1277
- createElementVNode(
1278
- "button",
1279
- {
1280
- class: "nuxt-devtools-icon-button nuxt-devtools-nuxt-button",
1281
- title: "Toggle Nuxt DevTools",
1282
- style: normalizeStyle($setup.state.open ? "" : "filter:saturate(0)"),
1283
- onClick: _cache[0] || (_cache[0] = ($event) => $props.client.devtools.toggle())
1284
- },
1285
- [
1286
- (openBlock(), createElementBlock("svg", _hoisted_1$1, [..._cache[2] || (_cache[2] = [
1287
- createElementVNode(
1288
- "path",
1289
- {
1290
- 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",
1291
- fill: "#00DC82"
1292
- },
1293
- null,
1294
- -1
1295
- /* CACHED */
1296
- )
1297
- ])]))
1298
- ],
1299
- 4
1300
- /* STYLE */
1301
- ),
1302
- _cache[5] || (_cache[5] = createElementVNode(
1303
- "div",
1304
- {
1305
- style: { "border-left": "1px solid #8883", "width": "1px", "height": "10px" },
1306
- class: "nuxt-devtools-panel-content"
1307
- },
1308
- null,
1309
- -1
1310
- /* CACHED */
1311
- )),
1312
- createElementVNode("div", {
1313
- class: "nuxt-devtools-panel-content nuxt-devtools-label",
1314
- title: `${$setup.time[0]} load time`
1315
- }, [
1316
- createElementVNode(
1317
- "div",
1318
- _hoisted_3$1,
1319
- toDisplayString($setup.time[1]),
1320
- 1
1321
- /* TEXT */
1322
- ),
1323
- createElementVNode(
1324
- "span",
1325
- _hoisted_4,
1326
- toDisplayString($setup.time[2]),
1327
- 1
1328
- /* TEXT */
1329
- )
1330
- ], 8, _hoisted_2$1),
1331
- $props.client.inspector?.isAvailable ? (openBlock(), createElementBlock(
1332
- Fragment,
1333
- { key: 0 },
1334
- [
1335
- _cache[4] || (_cache[4] = createElementVNode(
1336
- "div",
1337
- {
1338
- style: { "border-left": "1px solid #8883", "width": "1px", "height": "10px" },
1339
- class: "nuxt-devtools-panel-content"
1340
- },
1341
- null,
1342
- -1
1343
- /* CACHED */
1344
- )),
1345
- createElementVNode("button", {
1346
- class: "nuxt-devtools-icon-button nuxt-devtools-panel-content",
1347
- title: "Toggle Component Inspector",
1348
- onClick: withModifiers($setup.toggleInspector, ["prevent", "stop"])
1349
- }, [
1350
- (openBlock(), createElementBlock(
1351
- "svg",
1352
- {
1353
- xmlns: "http://www.w3.org/2000/svg",
1354
- style: normalizeStyle([{ "height": "1.2em", "width": "1.2em", "opacity": "0.5" }, $props.client.inspector.isEnabled.value ? "opacity:1;color:#00dc82" : ""]),
1355
- viewBox: "0 0 24 24"
1356
- },
1357
- [..._cache[3] || (_cache[3] = [
1358
- createElementVNode(
1359
- "g",
1360
- {
1361
- fill: "none",
1362
- stroke: "currentColor",
1363
- "stroke-linecap": "round",
1364
- "stroke-linejoin": "round",
1365
- "stroke-width": "2"
1366
- },
1367
- [
1368
- createElementVNode("circle", {
1369
- cx: "12",
1370
- cy: "12",
1371
- r: ".5",
1372
- fill: "currentColor"
1373
- }),
1374
- createElementVNode("path", { d: "M5 12a7 7 0 1 0 14 0a7 7 0 1 0-14 0m7-9v2m-9 7h2m7 7v2m7-9h2" })
1375
- ],
1376
- -1
1377
- /* CACHED */
1378
- )
1379
- ])],
1380
- 4
1381
- /* STYLE */
1382
- ))
1383
- ])
1384
- ],
1385
- 64
1386
- /* STABLE_FRAGMENT */
1387
- )) : createCommentVNode("v-if", true)
1388
- ],
1389
- 36
1390
- /* STYLE, NEED_HYDRATION */
1391
- ),
1392
- createElementVNode(
1393
- "div",
1394
- {
1395
- ref: "frameBox",
1396
- style: normalizeStyle($setup.iframeStyle)
1397
- },
1398
- [
1399
- createVNode($setup["FrameBox"], {
1400
- "popup-window": $setup.popupWindow,
1401
- "onUpdate:popupWindow": _cache[1] || (_cache[1] = ($event) => $setup.popupWindow = $event),
1402
- state: $setup.state,
1403
- client: $props.client,
1404
- "is-dragging": $setup.isDragging
1405
- }, null, 8, ["popup-window", "state", "client", "is-dragging"])
1406
- ],
1407
- 4
1408
- /* STYLE */
1409
- )
1410
- ],
1411
- 38
1412
- /* CLASS, STYLE, NEED_HYDRATION */
1413
- );
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
+ );
1414
1533
  }
1415
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"]]);
1416
1535
 
@@ -1435,6 +1554,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1435
1554
  setup(__props, { expose: __expose, emit: __emit }) {
1436
1555
  __expose();
1437
1556
  const emit = __emit;
1557
+ const showToast = ref(false);
1558
+ const toastContent = ref("");
1559
+ let toastTimer;
1438
1560
  const initX = ref(0);
1439
1561
  const initY = ref(0);
1440
1562
  watch(
@@ -1483,97 +1605,276 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1483
1605
  const file = `${__props.props.matched.pos[0]}:${__props.props.matched.pos[1]}:${__props.props.matched.pos[2]}`;
1484
1606
  emit("openInEditor", file);
1485
1607
  }
1486
- const __returned__ = { emit, PANEL_WIDTH, PANEL_HEIGHT, PANEL_MARGIN, initX, initY, el, draggingEl, x, y, style, isDragging, hasMoved, close, selectParent, openInEditor };
1608
+ function generateUniqueSelector(element) {
1609
+ if (!element)
1610
+ return "";
1611
+ const path = [];
1612
+ let current = element;
1613
+ while (current && current !== document.body) {
1614
+ let selector = current.tagName.toLowerCase();
1615
+ if (current.id) {
1616
+ selector += `#${CSS.escape(current.id)}`;
1617
+ path.unshift(selector);
1618
+ break;
1619
+ }
1620
+ if (current.className && typeof current.className === "string") {
1621
+ const classes = current.className.trim().split(/\s+/).filter(Boolean);
1622
+ if (classes.length > 0)
1623
+ selector += `.${classes.map((c) => CSS.escape(c)).join(".")}`;
1624
+ }
1625
+ const parent = current.parentElement;
1626
+ if (parent) {
1627
+ const siblings = Array.from(parent.children).filter(
1628
+ (child) => child.tagName === current.tagName
1629
+ );
1630
+ if (siblings.length > 1) {
1631
+ const index = siblings.indexOf(current) + 1;
1632
+ selector += `:nth-of-type(${index})`;
1633
+ }
1634
+ }
1635
+ path.unshift(selector);
1636
+ current = current.parentElement;
1637
+ }
1638
+ if (path.length > 6)
1639
+ return "";
1640
+ return path.join(" > ");
1641
+ }
1642
+ function buildComponentTree() {
1643
+ if (!__props.props.matched)
1644
+ return "";
1645
+ const components = [];
1646
+ let current = __props.props.matched;
1647
+ while (current) {
1648
+ let componentName = "Unknown";
1649
+ if (current.vnode) {
1650
+ const vnode = current.vnode;
1651
+ if (vnode.type) {
1652
+ if (typeof vnode.type === "string") {
1653
+ componentName = vnode.type;
1654
+ } else if (typeof vnode.type === "object") {
1655
+ const typeObj = vnode.type;
1656
+ componentName = typeObj.name || typeObj.__name || typeObj.__file?.split("/").pop()?.replace(/\.\w+$/, "") || "AnonymousComponent";
1657
+ } else if (typeof vnode.type === "function") {
1658
+ componentName = vnode.type.name || "FunctionalComponent";
1659
+ }
1660
+ }
1661
+ }
1662
+ components.unshift(componentName);
1663
+ try {
1664
+ current = current.getParent();
1665
+ } catch {
1666
+ break;
1667
+ }
1668
+ }
1669
+ return components.join(" > ");
1670
+ }
1671
+ async function copyAgentInfo() {
1672
+ if (!__props.props.matched)
1673
+ return;
1674
+ try {
1675
+ const pageUrl = window.location.href;
1676
+ const viewport = `${window.innerWidth}x${window.innerHeight}`;
1677
+ const selectedText = window.getSelection()?.toString()?.trim();
1678
+ const filepath = __props.props.matched.pos[0];
1679
+ const line = __props.props.matched.pos[1];
1680
+ const column = __props.props.matched.pos[2];
1681
+ const fileLocation = `${filepath}:${line}:${column}`;
1682
+ const selector = generateUniqueSelector(__props.props.matched.el);
1683
+ const componentTree = buildComponentTree();
1684
+ const info = [
1685
+ `Page URL: ${pageUrl}`,
1686
+ `Viewport: ${viewport}`,
1687
+ selectedText ? `Selected Text: ${selectedText}` : null,
1688
+ selector ? `Selector: ${selector}` : null,
1689
+ componentTree ? `Component Tree: ${componentTree}` : null,
1690
+ `File: ${fileLocation}`
1691
+ ].filter(Boolean).join("\n");
1692
+ await navigator.clipboard.writeText(info);
1693
+ toastContent.value = info;
1694
+ showToast.value = true;
1695
+ if (toastTimer)
1696
+ clearTimeout(toastTimer);
1697
+ toastTimer = setTimeout(() => {
1698
+ showToast.value = false;
1699
+ }, 6e3);
1700
+ } catch (error) {
1701
+ console.error("Failed to copy agent info:", error);
1702
+ }
1703
+ }
1704
+ const __returned__ = { emit, PANEL_WIDTH, PANEL_HEIGHT, PANEL_MARGIN, showToast, toastContent, get toastTimer() {
1705
+ return toastTimer;
1706
+ }, set toastTimer(v) {
1707
+ toastTimer = v;
1708
+ }, initX, initY, el, draggingEl, x, y, style, isDragging, hasMoved, close, selectParent, openInEditor, generateUniqueSelector, buildComponentTree, copyAgentInfo };
1487
1709
  Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
1488
1710
  return __returned__;
1489
1711
  }
1490
1712
  });
1491
1713
 
1492
1714
  const _hoisted_1 = {
1493
- ref: "draggingEl",
1494
- class: "flex items-center gap-2 p2"
1715
+ ref: "draggingEl",
1716
+ class: "flex flex-col gap-2 of-hidden p2"
1717
+ };
1718
+ const _hoisted_2 = { class: "flex items-center gap-2" };
1719
+ const _hoisted_3 = { class: "grid grid-cols-[max-content_1fr] items-center gap-2" };
1720
+ const _hoisted_4 = {
1721
+ class: "break-all text-xs font-mono",
1722
+ title: "File location"
1723
+ };
1724
+ const _hoisted_5 = {
1725
+ class: "break-all text-xs font-mono",
1726
+ title: "Component Tree"
1495
1727
  };
1496
- const _hoisted_2 = ["disabled"];
1497
- const _hoisted_3 = { key: 0 };
1728
+ const _hoisted_6 = { class: "mt-2 max-h-200px of-auto whitespace-pre-wrap rounded bg-black bg-op-20 p2 text-xs font-mono" };
1498
1729
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
1499
- return openBlock(), createElementBlock(
1500
- "div",
1501
- {
1502
- ref: "el",
1503
- class: normalizeClass(["bg-glass ring-base color-base fixed relative z-9999999 w-400px flex flex-col of-hidden rounded-lg text-sm shadow-lg ring-1 backdrop-blur duration-200", [
1504
- $setup.isDragging ? "transition-none" : "transition-opacity",
1505
- $props.props.matched ? "op100" : "op0 pointer-events-none"
1506
- ]]),
1507
- style: normalizeStyle($setup.style)
1508
- },
1509
- [
1510
- createCommentVNode(' <div\n class="pointer-events-none absolute inset-0 z-10 transition-opacity duration-300"\n >\n <div class="nuxt-devtools-inspect-running-border pointer-events-none absolute inset-0 z-10 border-1.5 border-transparent rounded-lg" />\n </div> '),
1511
- createElementVNode(
1512
- "div",
1513
- _hoisted_1,
1514
- [
1515
- createElementVNode("button", {
1516
- title: "Go to parent",
1517
- class: "flex items-center text-sm font-mono op50 disabled:pointer-events-none hover:text-green6 hover:op100 disabled:op10!",
1518
- disabled: !$props.props.hasParent,
1519
- onClick: $setup.selectParent
1520
- }, [..._cache[0] || (_cache[0] = [
1521
- createElementVNode(
1522
- "div",
1523
- { class: "i-ph-arrow-bend-left-up-duotone text-lg" },
1524
- null,
1525
- -1
1526
- /* CACHED */
1527
- )
1528
- ])], 8, _hoisted_2),
1529
- createElementVNode("button", {
1530
- title: "Open in editor",
1531
- class: "flex items-center text-sm font-mono op50 hover:text-green6 hover:op100",
1532
- onClick: $setup.openInEditor
1533
- }, [
1534
- $props.props.matched ? (openBlock(), createElementBlock(
1535
- "span",
1536
- _hoisted_3,
1537
- toDisplayString($props.props.matched.pos[0]) + ":" + toDisplayString($props.props.matched.pos[1]) + ":" + toDisplayString($props.props.matched.pos[2]),
1538
- 1
1539
- /* TEXT */
1540
- )) : createCommentVNode("v-if", true),
1541
- _cache[1] || (_cache[1] = createElementVNode(
1542
- "div",
1543
- { class: "i-ph-arrow-up-right-light mt--2 text-lg" },
1544
- null,
1545
- -1
1546
- /* CACHED */
1547
- ))
1548
- ]),
1549
- _cache[3] || (_cache[3] = createElementVNode(
1550
- "div",
1551
- { class: "flex-auto" },
1552
- null,
1553
- -1
1554
- /* CACHED */
1555
- )),
1556
- createElementVNode("button", {
1557
- title: "Close",
1558
- class: "flex-none op50 hover:op100",
1559
- onClick: $setup.close
1560
- }, [..._cache[2] || (_cache[2] = [
1561
- createElementVNode(
1562
- "div",
1563
- { class: "i-ph-x text-lg" },
1564
- null,
1565
- -1
1566
- /* CACHED */
1567
- )
1568
- ])])
1569
- ],
1570
- 512
1571
- /* NEED_PATCH */
1572
- )
1573
- ],
1574
- 6
1575
- /* CLASS, STYLE */
1576
- );
1730
+ return openBlock(), createElementBlock(
1731
+ Fragment,
1732
+ null,
1733
+ [
1734
+ $props.props.matched ? (openBlock(), createElementBlock(
1735
+ "div",
1736
+ {
1737
+ key: 0,
1738
+ ref: "el",
1739
+ class: normalizeClass(["fixed relative z-9999999 w-400px flex flex-col of-hidden rounded-lg bg-glass text-sm color-base shadow-lg ring-1 ring-base backdrop-blur duration-200", [$setup.isDragging ? "transition-none" : "transition-opacity", $props.props.matched ? "op100" : "op0 pointer-events-none"]]),
1740
+ style: normalizeStyle($setup.style)
1741
+ },
1742
+ [createCommentVNode(" <div\n class=\"pointer-events-none absolute inset-0 z-10 transition-opacity duration-300\"\n >\n <div class=\"nuxt-devtools-inspect-running-border pointer-events-none absolute inset-0 z-10 border-1.5 border-transparent rounded-lg\" />\n </div> "), createElementVNode(
1743
+ "div",
1744
+ _hoisted_1,
1745
+ [createElementVNode("div", _hoisted_2, [
1746
+ $props.props.hasParent ? (openBlock(), createElementBlock("button", {
1747
+ key: 0,
1748
+ title: "Go to parent",
1749
+ class: "flex items-center border-1 border-base rounded px1 py0.5 text-sm font-mono op50 disabled:pointer-events-none hover:text-green6 hover:op100 disabled:op10!",
1750
+ onClick: $setup.selectParent
1751
+ }, [..._cache[0] || (_cache[0] = [createElementVNode(
1752
+ "div",
1753
+ { class: "i-ph-arrow-bend-left-up-duotone text-lg" },
1754
+ null,
1755
+ -1
1756
+ /* CACHED */
1757
+ ), createTextVNode(
1758
+ " Parent ",
1759
+ -1
1760
+ /* CACHED */
1761
+ )])])) : createCommentVNode("v-if", true),
1762
+ createElementVNode("button", {
1763
+ title: "Open in editor",
1764
+ class: "flex items-center border-1 border-base rounded px1 py0.5 text-sm font-mono op50 hover:text-green6 hover:op100",
1765
+ onClick: $setup.openInEditor
1766
+ }, [..._cache[1] || (_cache[1] = [createElementVNode(
1767
+ "div",
1768
+ { class: "i-ph-arrow-up-right-light text-lg" },
1769
+ null,
1770
+ -1
1771
+ /* CACHED */
1772
+ ), createTextVNode(
1773
+ " Open ",
1774
+ -1
1775
+ /* CACHED */
1776
+ )])]),
1777
+ createElementVNode("button", {
1778
+ title: "Copy infos for agents",
1779
+ class: "flex items-center border-1 border-base rounded px1 py0.5 text-sm font-mono op50 hover:text-green6 hover:op100",
1780
+ onClick: $setup.copyAgentInfo
1781
+ }, [..._cache[2] || (_cache[2] = [createElementVNode(
1782
+ "div",
1783
+ { class: "i-ph-copy-duotone text-lg" },
1784
+ null,
1785
+ -1
1786
+ /* CACHED */
1787
+ ), createTextVNode(
1788
+ " Info ",
1789
+ -1
1790
+ /* CACHED */
1791
+ )])]),
1792
+ _cache[4] || (_cache[4] = createElementVNode(
1793
+ "div",
1794
+ { class: "flex-auto" },
1795
+ null,
1796
+ -1
1797
+ /* CACHED */
1798
+ )),
1799
+ createElementVNode("button", {
1800
+ title: "Close",
1801
+ class: "flex-none op50 hover:op100",
1802
+ onClick: $setup.close
1803
+ }, [..._cache[3] || (_cache[3] = [createElementVNode(
1804
+ "div",
1805
+ { class: "i-ph-x text-lg" },
1806
+ null,
1807
+ -1
1808
+ /* CACHED */
1809
+ )])])
1810
+ ]), createElementVNode("div", _hoisted_3, [
1811
+ createCommentVNode(" File "),
1812
+ _cache[5] || (_cache[5] = createElementVNode(
1813
+ "div",
1814
+ {
1815
+ class: "i-ph-file-duotone flex-none text-lg op50",
1816
+ title: "File"
1817
+ },
1818
+ null,
1819
+ -1
1820
+ /* CACHED */
1821
+ )),
1822
+ createElementVNode(
1823
+ "span",
1824
+ _hoisted_4,
1825
+ toDisplayString($props.props.matched.pos[0]) + ":" + toDisplayString($props.props.matched.pos[1]) + ":" + toDisplayString($props.props.matched.pos[2]),
1826
+ 1
1827
+ /* TEXT */
1828
+ ),
1829
+ createCommentVNode(" Component Tree "),
1830
+ _cache[6] || (_cache[6] = createElementVNode(
1831
+ "div",
1832
+ {
1833
+ class: "i-ph-tree-view-duotone flex-none text-lg op50",
1834
+ title: "Component Tree"
1835
+ },
1836
+ null,
1837
+ -1
1838
+ /* CACHED */
1839
+ )),
1840
+ createElementVNode(
1841
+ "span",
1842
+ _hoisted_5,
1843
+ toDisplayString($setup.buildComponentTree()),
1844
+ 1
1845
+ /* TEXT */
1846
+ )
1847
+ ])],
1848
+ 512
1849
+ /* NEED_PATCH */
1850
+ )],
1851
+ 6
1852
+ /* CLASS, STYLE */
1853
+ )) : createCommentVNode("v-if", true),
1854
+ createCommentVNode(" Toast notification "),
1855
+ withDirectives(createElementVNode(
1856
+ "div",
1857
+ { class: normalizeClass(["fixed bottom-20px right-20px z-99999999 max-w-500px flex flex-col gap-2 rounded-lg bg-glass p4 text-sm color-base shadow-xl ring-1 ring-base backdrop-blur transition-all duration-300", $setup.showToast ? "translate-y-0 op100" : "translate-y-10 op0"]) },
1858
+ [_cache[7] || (_cache[7] = createElementVNode(
1859
+ "div",
1860
+ { class: "flex items-center gap-2" },
1861
+ [createElementVNode("div", { class: "i-ph-check-circle-duotone text-xl text-green6" }), createElementVNode("span", { class: "font-semibold" }, "Infos for agents copied to clipboard")],
1862
+ -1
1863
+ /* CACHED */
1864
+ )), createElementVNode(
1865
+ "pre",
1866
+ _hoisted_6,
1867
+ toDisplayString($setup.toastContent),
1868
+ 1
1869
+ /* TEXT */
1870
+ )],
1871
+ 2
1872
+ /* CLASS */
1873
+ ), [[vShow, $setup.showToast]])
1874
+ ],
1875
+ 64
1876
+ /* STABLE_FRAGMENT */
1877
+ );
1577
1878
  }
1578
1879
  const Component = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/devtools/devtools/packages/devtools/src/webcomponents/components/NuxtDevtoolsInspectPanel.vue"]]);
1579
1880