@nuxt/devtools 2.1.1 → 2.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.
- package/dist/chunks/module-main.mjs +2 -2
- package/dist/chunks/vue-tracer.mjs +14 -0
- package/dist/client/200.html +22 -22
- package/dist/client/404.html +22 -22
- package/dist/client/_nuxt/__blank-e5z7ffa4.js +1 -0
- package/dist/client/_nuxt/{analyze-build-l4969lgh.js → analyze-build-cj8ped4j.js} +1 -1
- package/dist/client/_nuxt/assets-g2a5d3vk.js +16 -0
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/2a61a2a5-23bf-4f63-886a-9c38ebc0e065.json +1 -0
- package/dist/client/_nuxt/{client-edufhzwa.js → client-gsjyqe32.js} +1 -1
- package/dist/client/_nuxt/code-diff.vue-i89n1j2r.js +8 -0
- package/dist/client/_nuxt/code-snippets.vue-eixx1s2g.js +1 -0
- package/dist/client/_nuxt/components-hs6q9cve.js +1 -0
- package/dist/client/_nuxt/composable-item.vue-k5s38fcb.js +1 -0
- package/dist/client/_nuxt/custom-_name_-owcg55ki.js +1 -0
- package/dist/client/_nuxt/data-schema-button.vue-htzfoue4.js +1 -0
- package/dist/client/_nuxt/data-schema-drawer-fl1lvvva.js +2 -0
- package/dist/client/_nuxt/default-geiuynj5.js +1 -0
- package/dist/client/_nuxt/{duration-display.vue-gu7el5x3.js → duration-display.vue-h9mqvgci.js} +1 -1
- package/dist/client/_nuxt/error-404-dv94kocq.js +1 -0
- package/dist/client/_nuxt/error-404.css-cyoi3t2n.css +1 -0
- package/dist/client/_nuxt/error-500-n7ptz9gg.js +1 -0
- package/dist/client/_nuxt/error-500.css-c3osv0mr.css +1 -0
- package/dist/client/_nuxt/{error-jndv6aqj.js → error-czl89kb6.js} +6 -6
- package/dist/client/_nuxt/{filepath-item.vue-ll9h44c8.js → filepath-item.vue-jftwevzm.js} +1 -1
- package/dist/client/_nuxt/full-oyph9txt.js +1 -0
- package/dist/client/_nuxt/help-fab.vue-m3loez22.js +1 -0
- package/dist/client/_nuxt/{hooks-ixsdqv69.js → hooks-lto1lr6d.js} +1 -1
- package/dist/client/_nuxt/imports-npa2r9da.js +1 -0
- package/dist/client/_nuxt/index-jc4yj4to.js +1 -0
- package/dist/client/_nuxt/index-locabwng.js +1 -0
- package/dist/client/_nuxt/launch-page.vue-cpibtiyv.js +1 -0
- package/dist/client/_nuxt/m6q5jxyf.js +17 -0
- package/dist/client/_nuxt/{modules-lx3nkhcb.js → modules-cf83k2dl.js} +1 -1
- package/dist/client/_nuxt/nbadge-ngr8fyeh.js +1 -0
- package/dist/client/_nuxt/ncheckbox.vue-1pzqvzrt.js +1 -0
- package/dist/client/_nuxt/{ncode-block.vue-msaaoy71.js → ncode-block.vue-bir2wz4z.js} +2 -2
- package/dist/client/_nuxt/ndrawer.vue-l1gwm2vb.js +1 -0
- package/dist/client/_nuxt/ndropdown.vue-g7muyou7.js +1 -0
- package/dist/client/_nuxt/nicon-title.vue-dsf9ygne.js +1 -0
- package/dist/client/_nuxt/nlink.vue-bz4gqft1.js +1 -0
- package/dist/client/_nuxt/nmarkdown.vue-iw2voruc.js +1 -0
- package/dist/client/_nuxt/nnavbar.vue-lx7u1v1n.js +1 -0
- package/dist/client/_nuxt/none-ih7k4flj.js +1 -0
- package/dist/client/_nuxt/nsection-block-n909in7j.js +1 -0
- package/dist/client/_nuxt/nselect-tabs.vue-fqyl6q6m.js +1 -0
- package/dist/client/_nuxt/nselect.vue-beh7ue6r.js +1 -0
- package/dist/client/_nuxt/{nswitch.vue-l8xqfho0.js → nswitch.vue-jbyu7ls8.js} +1 -1
- package/dist/client/_nuxt/{open-graph-d7sxt89b.js → open-graph-cvlp53mg.js} +2 -2
- package/dist/client/_nuxt/overview-b8560st0.js +1 -0
- package/dist/client/_nuxt/pages-l28dpc28.js +1 -0
- package/dist/client/_nuxt/payload-c5ee4ltu.js +1 -0
- package/dist/client/_nuxt/pinia-hqa6fyey.js +1 -0
- package/dist/client/_nuxt/{plugins-jf10b6hs.js → plugins-g305m48w.js} +1 -1
- package/dist/client/_nuxt/render-tree-fwnqhw5k.js +1 -0
- package/dist/client/_nuxt/runtime-configs-irfbuiww.js +1 -0
- package/dist/client/_nuxt/server-discovery-gpa5383a.js +1 -0
- package/dist/client/_nuxt/{server-route-inputs.vue-jnx1cv8r.js → server-route-inputs.vue-fudrxwrv.js} +1 -1
- package/dist/client/_nuxt/{server-routes-hnfxgz05.js → server-routes-i6df08vv.js} +3 -3
- package/dist/client/_nuxt/{server-tasks-h172w86r.js → server-tasks-d4xp6g69.js} +1 -1
- package/dist/client/_nuxt/{settings-cu1sweow.js → settings-bplq7bsb.js} +1 -1
- package/dist/client/_nuxt/stacktrace-list.vue-insachyo.js +1 -0
- package/dist/client/_nuxt/{state-components-fdqi5qrf.js → state-components-74bob3n8.js} +1 -1
- package/dist/client/_nuxt/state-editor.vue-jjwoeqcv.js +1 -0
- package/dist/client/_nuxt/state-modules-e61lgtaz.js +1 -0
- package/dist/client/_nuxt/storage-hcqe1em7.js +1 -0
- package/dist/client/_nuxt/terminals-pfh0mieu.js +1 -0
- package/dist/client/_nuxt/{timeline-heq9ren3.js → timeline-i1g8r53a.js} +2 -2
- package/dist/client/_nuxt/{unocss-runtime-fzjefjlm.js → unocss-runtime-l2otbg6e.js} +1 -1
- package/dist/client/_nuxt/vendor/json-editor-vue-llkaejaf.js +3819 -0
- package/dist/client/_nuxt/vendor/{quicktype-core-i8ym98gu.js → quicktype-core-o2aektoq.js} +83 -83
- package/dist/client/_nuxt/vendor/{shiki-ej2em068.js → shiki-kdj4mcqm.js} +30 -38
- package/dist/client/_nuxt/vendor/unocss-mvzv9iuf.js +2 -0
- package/dist/client/_nuxt/vendor/vis-fth2qiu5.js +98 -0
- package/dist/client/_nuxt/vendor/{xterm-b1jefe3j.js → xterm-dbpzgj7s.js} +7 -7
- package/dist/client/_nuxt/virtual-files-os2zxe1v.js +1 -0
- package/dist/client/_nuxt/vue-devtools-fc087omm.js +2 -0
- package/dist/client/_nuxt/{vue-virtual-scroller.esm-guzt9iin.js → vue-virtual-scroller.esm-gnguvd0a.js} +2 -2
- package/dist/client/index.html +22 -22
- package/dist/module.d.mts +1 -2
- package/dist/module.d.ts +1 -2
- package/dist/module.json +1 -1
- package/dist/runtime/plugins/view/Main.vue +21 -4
- package/dist/runtime/plugins/view/client.js +28 -39
- package/dist/shared/{devtools.2e078e30.d.mts → devtools.427ec2e8.d.mts} +0 -9
- package/dist/shared/{devtools.2e078e30.d.ts → devtools.427ec2e8.d.ts} +0 -9
- package/dist/types.d.mts +1 -2
- package/dist/types.d.ts +1 -2
- package/package.json +17 -17
- package/dist/chunks/vue-inspector.mjs +0 -15
- package/dist/client/_nuxt/__blank-ld6vcstp.js +0 -1
- package/dist/client/_nuxt/assets-rwimhsfq.js +0 -16
- package/dist/client/_nuxt/builds/meta/bb0232af-3ede-4a7a-91e4-f1381bfe6a29.json +0 -1
- package/dist/client/_nuxt/code-diff.vue-nu85g53p.js +0 -8
- package/dist/client/_nuxt/code-snippets.vue-mtca7vbo.js +0 -1
- package/dist/client/_nuxt/components-hfwd2f13.js +0 -1
- package/dist/client/_nuxt/composable-item.vue-jp23lpaj.js +0 -1
- package/dist/client/_nuxt/custom-_name_-b6hz78a5.js +0 -1
- package/dist/client/_nuxt/data-schema-button.vue-lz9owmcc.js +0 -1
- package/dist/client/_nuxt/data-schema-drawer-by6y5f74.js +0 -2
- package/dist/client/_nuxt/default-crdabeod.js +0 -1
- package/dist/client/_nuxt/error-404-b74x3dw8.js +0 -1
- package/dist/client/_nuxt/error-404.css-c4cbwrmc.css +0 -1
- package/dist/client/_nuxt/error-500-lxgu6zam.js +0 -1
- package/dist/client/_nuxt/error-500.css-k70rrah0.css +0 -1
- package/dist/client/_nuxt/full-fw08y527.js +0 -1
- package/dist/client/_nuxt/help-fab.vue-hyf2xt5v.js +0 -1
- package/dist/client/_nuxt/imports-kt3v5qcg.js +0 -1
- package/dist/client/_nuxt/index-bdk3y7i2.js +0 -1
- package/dist/client/_nuxt/index-obsucz0g.js +0 -1
- package/dist/client/_nuxt/launch-page.vue-hnfa4f5k.js +0 -1
- package/dist/client/_nuxt/mdin2k9x.js +0 -17
- package/dist/client/_nuxt/nbadge-jscmxa0e.js +0 -1
- package/dist/client/_nuxt/ncheckbox.vue-oxgpzkb5.js +0 -1
- package/dist/client/_nuxt/ndrawer.vue-ggbjuic7.js +0 -1
- package/dist/client/_nuxt/ndropdown.vue-by1qbsg0.js +0 -1
- package/dist/client/_nuxt/nicon-title.vue-j1ceohu1.js +0 -1
- package/dist/client/_nuxt/nlink.vue-idpwaqq8.js +0 -1
- package/dist/client/_nuxt/nmarkdown.vue-oxfi26vk.js +0 -1
- package/dist/client/_nuxt/nnavbar.vue-ccrl0i3s.js +0 -1
- package/dist/client/_nuxt/none-o0keg2jc.js +0 -1
- package/dist/client/_nuxt/nsection-block-omdmf6ve.js +0 -1
- package/dist/client/_nuxt/nselect-tabs.vue-irobeaxl.js +0 -1
- package/dist/client/_nuxt/nselect.vue-dfin0ans.js +0 -1
- package/dist/client/_nuxt/overview-cbwwn16u.js +0 -1
- package/dist/client/_nuxt/pages-m77chk1v.js +0 -1
- package/dist/client/_nuxt/payload-d3lzja2v.js +0 -1
- package/dist/client/_nuxt/pinia-celahsku.js +0 -1
- package/dist/client/_nuxt/render-tree-eizdzodc.js +0 -1
- package/dist/client/_nuxt/runtime-configs-labvfb4w.js +0 -1
- package/dist/client/_nuxt/server-discovery-b9kztzlw.js +0 -1
- package/dist/client/_nuxt/stacktrace-list.vue-l5a36a3u.js +0 -1
- package/dist/client/_nuxt/state-editor.vue-gnkemono.js +0 -1
- package/dist/client/_nuxt/state-modules-j0orvr18.js +0 -1
- package/dist/client/_nuxt/storage-nruvnn8w.js +0 -1
- package/dist/client/_nuxt/terminals-c8p45vpu.js +0 -1
- package/dist/client/_nuxt/vendor/json-editor-vue-npezbdce.js +0 -3818
- package/dist/client/_nuxt/vendor/unocss-jzxuon8q.js +0 -2
- package/dist/client/_nuxt/vendor/vis-fzckz0r6.js +0 -98
- package/dist/client/_nuxt/virtual-files-gxfhrd65.js +0 -1
- package/dist/client/_nuxt/vue-devtools-j81qx9qy.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xe(e){var t;return typeof e=="function"?t={callback:e}:t=e,t}function ke(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s,r,a,u=function(n){for(var d=arguments.length,p=new Array(d>1?d-1:0),S=1;S<d;S++)p[S-1]=arguments[S];if(a=p,!(s&&n===r)){var _=i.leading;typeof _=="function"&&(_=_(n,r)),(!s||n!==r)&&_&&e.apply(void 0,[n].concat(X(a))),r=n,clearTimeout(s),s=setTimeout(function(){e.apply(void 0,[n].concat(X(a))),s=0},t)}};return u._clear=function(){clearTimeout(s),s=null},u}function Z(e,t){if(e===t)return!0;if(C(e)==="object"){for(var i in e)if(!Z(e[i],t[i]))return!1;return!0}return!1}var Me=function(){function e(t,i,s){we(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(i,s)}return Ie(e,[{key:"createObserver",value:function(i,s){var r=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=xe(i),this.callback=function(c,n){r.options.callback(c,n),c&&r.options.once&&(r.frozen=!0,r.destroyObserver())},this.callback&&this.options.throttle){var a=this.options.throttleOptions||{},u=a.leading;this.callback=ke(this.callback,this.options.throttle,{leading:function(n){return u==="both"||u==="visible"&&n||u==="hidden"&&!n}})}this.oldResult=void 0,this.observer=new IntersectionObserver(function(c){var n=c[0];if(c.length>1){var d=c.find(function(S){return S.isIntersecting});d&&(n=d)}if(r.callback){var p=n.isIntersecting&&n.intersectionRatio>=r.threshold;if(p===r.oldResult)return;r.oldResult=p,r.callback(p,n)}},this.options.intersection),Q(function(){r.observer&&r.observer.observe(r.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),e}();function J(e,t,i){var s=t.value;if(s)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new Me(e,s,i);e._vue_visibilityState=r}}function Ae(e,t,i){var s=t.value,r=t.oldValue;if(!Z(s,r)){var a=e._vue_visibilityState;if(!s){ee(e);return}a?a.createObserver(s,i):J(e,{value:s},i)}}function ee(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var Re={beforeMount:J,updated:Ae,unmounted:ee},Ce={itemsLimit:1e3},Ee=/(auto|scroll)/;function te(e,t){return e.parentNode===null?t:te(e.parentNode,t.concat([e]))}var P=function(t,i){return getComputedStyle(t,null).getPropertyValue(i)},Pe=function(t){return P(t,"overflow")+P(t,"overflow-y")+P(t,"overflow-x")},Le=function(t){return Ee.test(Pe(t))};function G(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=te(e.parentNode,[]),i=0;i<t.length;i+=1)if(Le(t[i]))return t[i];return document.scrollingElement||document.documentElement}}function j(e){"@babel/helpers - typeof";return j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},j(e)}var He={items:{type:Array,required:!0},keyField:{type:String,default:"id"},direction:{type:String,default:"vertical",validator:function(t){return["vertical","horizontal"].includes(t)}},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"}};function Ne(){return this.items.length&&j(this.items[0])!=="object"}var B=!1;if(typeof window<"u"){B=!1;try{var je=Object.defineProperty({},"passive",{get:function(){B=!0}});window.addEventListener("test",null,je)}catch{}}let Be=0;var ie={name:"RecycleScroller",components:{ResizeObserver:E},directives:{ObserveVisibility:Re},props:{...He,itemSize:{type:Number,default:null},gridItems:{type:Number,default:void 0},itemSecondarySize:{type:Number,default:void 0},minItemSize:{type:[Number,String],default:null},sizeField:{type:String,default:"size"},typeField:{type:String,default:"type"},buffer:{type:Number,default:200},pageMode:{type:Boolean,default:!1},prerender:{type:Number,default:0},emitUpdate:{type:Boolean,default:!1},updateInterval:{type:Number,default:0},skipHover:{type:Boolean,default:!1},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"},listClass:{type:[String,Object,Array],default:""},itemClass:{type:[String,Object,Array],default:""}},emits:["resize","visible","hidden","update","scroll-start","scroll-end"],data(){return{pool:[],totalSize:0,ready:!1,hoverKey:null}},computed:{sizes(){if(this.itemSize===null){const e={"-1":{accumulator:0}},t=this.items,i=this.sizeField,s=this.minItemSize;let r=1e4,a=0,u;for(let c=0,n=t.length;c<n;c++)u=t[c][i]||s,u<r&&(r=u),a+=u,e[c]={accumulator:a,size:u};return this.$_computedMinItemSize=r,e}return[]},simpleArray:Ne,itemIndexByKey(){const{keyField:e,items:t}=this,i={};for(let s=0,r=t.length;s<r;s++)i[t[s][e]]=s;return i}},watch:{items(){this.updateVisibleItems(!0)},pageMode(){this.applyPageMode(),this.updateVisibleItems(!1)},sizes:{handler(){this.updateVisibleItems(!1)},deep:!0},gridItems(){this.updateVisibleItems(!0)},itemSecondarySize(){this.updateVisibleItems(!0)}},created(){this.$_startIndex=0,this.$_endIndex=0,this.$_views=new Map,this.$_unusedViews=new Map,this.$_scrollDirty=!1,this.$_lastUpdateScrollPosition=0,this.prerender&&(this.$_prerender=!0,this.updateVisibleItems(!1)),this.gridItems&&!this.itemSize&&console.error("[vue-recycle-scroller] You must provide an itemSize when using gridItems")},mounted(){this.applyPageMode(),this.$nextTick(()=>{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const e=this.$_lastUpdateScrollPosition;typeof e=="number"&&this.$nextTick(()=>{this.scrollToPosition(e)})},beforeUnmount(){this.removeListeners()},methods:{addView(e,t,i,s,r){const a=le({id:Be++,index:t,used:!0,key:s,type:r}),u=ae({item:i,position:0,nr:a});return e.push(u),u},unuseView(e,t=!1){const i=this.$_unusedViews,s=e.nr.type;let r=i.get(s);r||(r=[],i.set(s,r)),r.push(e),t||(e.nr.used=!1,e.position=-9999)},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(e){if(!this.$_scrollDirty){if(this.$_scrollDirty=!0,this.$_updateTimeout)return;const t=()=>requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:i}=this.updateVisibleItems(!1,!0);i||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,this.updateInterval+100))});t(),this.updateInterval&&(this.$_updateTimeout=setTimeout(()=>{this.$_updateTimeout=0,this.$_scrollDirty&&t()},this.updateInterval))}},handleVisibilityChange(e,t){this.ready&&(e||t.boundingClientRect.width!==0||t.boundingClientRect.height!==0?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(e,t=!1){const i=this.itemSize,s=this.gridItems||1,r=this.itemSecondarySize||i,a=this.$_computedMinItemSize,u=this.typeField,c=this.simpleArray?null:this.keyField,n=this.items,d=n.length,p=this.sizes,S=this.$_views,_=this.$_unusedViews,V=this.pool,se=this.itemIndexByKey;let y,f,T,g,z;if(!d)y=f=g=z=T=0;else if(this.$_prerender)y=g=0,f=z=Math.min(this.prerender,n.length),T=null;else{const o=this.getScroll();if(t){let m=o.start-this.$_lastUpdateScrollPosition;if(m<0&&(m=-m),i===null&&m<a||m<i)return{continuous:!0}}this.$_lastUpdateScrollPosition=o.start;const v=this.buffer;o.start-=v,o.end+=v;let h=0;if(this.$refs.before&&(h=this.$refs.before.scrollHeight,o.start-=h),this.$refs.after){const m=this.$refs.after.scrollHeight;o.end+=m}if(i===null){let m,O=0,F=d-1,b=~~(d/2),U;do U=b,m=p[b].accumulator,m<o.start?O=b:b<d-1&&p[b+1].accumulator>o.start&&(F=b),b=~~((O+F)/2);while(b!==U);for(b<0&&(b=0),y=b,T=p[d-1].accumulator,f=b;f<d&&p[f].accumulator<o.end;f++);for(f===-1?f=n.length-1:(f++,f>d&&(f=d)),g=y;g<d&&h+p[g].accumulator<o.start;g++);for(z=g;z<d&&h+p[z].accumulator<o.end;z++);}else{y=~~(o.start/i*s);const m=y%s;y-=m,f=Math.ceil(o.end/i*s),g=Math.max(0,Math.floor((o.start-h)/i*s)),z=Math.floor((o.end-h)/i*s),y<0&&(y=0),f>d&&(f=d),g<0&&(g=0),z>d&&(z=d),T=Math.ceil(d/s)*i}}f-y>Ce.itemsLimit&&this.itemsLimitError(),this.totalSize=T;let l;const x=y<=this.$_endIndex&&f>=this.$_startIndex;if(x)for(let o=0,v=V.length;o<v;o++)l=V[o],l.nr.used&&(e&&(l.nr.index=se[l.item[c]]),(l.nr.index==null||l.nr.index<y||l.nr.index>=f)&&this.unuseView(l));const D=x?null:new Map;let I,w,k;for(let o=y;o<f;o++){I=n[o];const v=c?I[c]:I;if(v==null)throw new Error(`Key is ${v} on item (keyField is '${c}')`);if(l=S.get(v),!i&&!p[o].size){l&&this.unuseView(l);continue}w=I[u];let h=_.get(w),m=!1;if(!l)x?h&&h.length?l=h.pop():l=this.addView(V,o,I,v,w):(k=D.get(w)||0,(!h||k>=h.length)&&(l=this.addView(V,o,I,v,w),this.unuseView(l,!0),h=_.get(w)),l=h[k],D.set(w,k+1)),S.delete(l.nr.key),l.nr.used=!0,l.nr.index=o,l.nr.key=v,l.nr.type=w,S.set(v,l),m=!0;else if(!l.nr.used&&(l.nr.used=!0,m=!0,h)){const O=h.indexOf(l);O!==-1&&h.splice(O,1)}l.item=I,m&&(o===n.length-1&&this.$emit("scroll-end"),o===0&&this.$emit("scroll-start")),i===null?(l.position=p[o-1].accumulator,l.offset=0):(l.position=Math.floor(o/s)*i,l.offset=o%s*r)}return this.$_startIndex=y,this.$_endIndex=f,this.emitUpdate&&this.$emit("update",y,f,g,z),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:x}},getListenerTarget(){let e=G(this.$el);return window.document&&(e===window.document.documentElement||e===window.document.body)&&(e=window),e},getScroll(){const{$el:e,direction:t}=this,i=t==="vertical";let s;if(this.pageMode){const r=e.getBoundingClientRect(),a=i?r.height:r.width;let u=-(i?r.top:r.left),c=i?window.innerHeight:window.innerWidth;u<0&&(c+=u,u=0),u+c>a&&(c=a-u),s={start:u,end:u+c}}else i?s={start:e.scrollTop,end:e.scrollTop+e.clientHeight}:s={start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return s},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,B?{passive:!0}:!1),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem(e){let t;const i=this.gridItems||1;this.itemSize===null?t=e>0?this.sizes[e-1].accumulator:0:t=Math.floor(e/i)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let i,s,r;if(this.pageMode){const a=G(this.$el),u=a.tagName==="HTML"?0:a[t.scroll],c=a.getBoundingClientRect(),d=this.$el.getBoundingClientRect()[t.start]-c[t.start];i=a,s=t.scroll,r=e+u+d}else i=this.$el,s=t.scroll,r=e;i[s]=r},itemsLimitError(){throw setTimeout(()=>{console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",this.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")}),new Error("Rendered items limit reached")},sortViews(){this.pool.sort((e,t)=>e.nr.index-t.nr.index)}}};const De={key:0,ref:"before",class:"vue-recycle-scroller__slot"},Fe={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function Ue(e,t,i,s,r,a){const u=ue("ResizeObserver"),c=ce("observe-visibility");return de(($(),M("div",{class:Y(["vue-recycle-scroller",{ready:r.ready,"page-mode":i.pageMode,[`direction-${e.direction}`]:!0}]),onScrollPassive:t[0]||(t[0]=(...n)=>a.handleScroll&&a.handleScroll(...n))},[e.$slots.before?($(),M("div",De,[A(e.$slots,"before")],512)):W("v-if",!0),($(),L(q(i.listTag),{ref:"wrapper",style:ye({[e.direction==="vertical"?"minHeight":"minWidth"]:r.totalSize+"px"}),class:Y(["vue-recycle-scroller__item-wrapper",i.listClass])},{default:K(()=>[($(!0),M(fe,null,he(r.pool,n=>($(),L(q(i.itemTag),me({key:n.nr.id,style:r.ready?{transform:`translate${e.direction==="vertical"?"Y":"X"}(${n.position}px) translate${e.direction==="vertical"?"X":"Y"}(${n.offset}px)`,width:i.gridItems?`${e.direction==="vertical"&&i.itemSecondarySize||i.itemSize}px`:void 0,height:i.gridItems?`${e.direction==="horizontal"&&i.itemSecondarySize||i.itemSize}px`:void 0}:null,class:["vue-recycle-scroller__item-view",[i.itemClass,{hover:!i.skipHover&&r.hoverKey===n.nr.key}]]},pe(i.skipHover?{}:{mouseenter:()=>{r.hoverKey=n.nr.key},mouseleave:()=>{r.hoverKey=null}})),{default:K(()=>[A(e.$slots,"default",{item:n.item,index:n.nr.index,active:n.nr.used})]),_:2},1040,["style","class"]))),128)),A(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?($(),M("div",Fe,[A(e.$slots,"after")],512)):W("v-if",!0),ve(u,{onNotify:a.handleResize},null,8,["onNotify"])],34)),[[c,a.handleVisibilityChange]])}ie.render=Ue;ie.__file="src/components/RecycleScroller.vue";export{ie as s};
|
|
1
|
+
import{n as Z,Z as re,$ as ne,a0 as oe,S as L,a1 as $,av as le,s as ae,Y as ue,ag as ce,aa as de,P as M,R as W,a3 as fe,U as A,a2 as K,F as he,ae as me,ad as q,a4 as pe,aw as ye,X as Y,V as ve}from"./vendor/json-editor-vue-llkaejaf.js";function be(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var i=e.indexOf("Trident/");if(i>0){var s=e.indexOf("rv:");return parseInt(e.substring(s+3,e.indexOf(".",s)),10)}var r=e.indexOf("Edge/");return r>0?parseInt(e.substring(r+5,e.indexOf(".",r)),10):-1}let R;function H(){H.init||(H.init=!0,R=be()!==-1)}var E={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){H(),Z(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",R&&this.$el.appendChild(e),e.data="about:blank",R||this.$el.appendChild(e)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!R&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const ge=oe();re("data-v-b329ee4c");const Se={class:"resize-observer",tabindex:"-1"};ne();const ze=ge((e,t,i,s,r,a)=>($(),L("div",Se)));E.render=ze;E.__scopeId="data-v-b329ee4c";E.__file="src/components/ResizeObserver.vue";function C(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?C=function(t){return typeof t}:C=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},C(e)}function we(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _e(e,t){for(var i=0;i<t.length;i++){var s=t[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function Ie(e,t,i){return t&&_e(e.prototype,t),e}function X(e){return $e(e)||Te(e)||Oe(e)||Ve()}function $e(e){if(Array.isArray(e))return N(e)}function Te(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function Oe(e,t){if(e){if(typeof e=="string")return N(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);if(i==="Object"&&e.constructor&&(i=e.constructor.name),i==="Map"||i==="Set")return Array.from(e);if(i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return N(e,t)}}function N(e,t){(t==null||t>e.length)&&(t=e.length);for(var i=0,s=new Array(t);i<t;i++)s[i]=e[i];return s}function Ve(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xe(e){var t;return typeof e=="function"?t={callback:e}:t=e,t}function ke(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s,r,a,u=function(n){for(var d=arguments.length,p=new Array(d>1?d-1:0),S=1;S<d;S++)p[S-1]=arguments[S];if(a=p,!(s&&n===r)){var _=i.leading;typeof _=="function"&&(_=_(n,r)),(!s||n!==r)&&_&&e.apply(void 0,[n].concat(X(a))),r=n,clearTimeout(s),s=setTimeout(function(){e.apply(void 0,[n].concat(X(a))),s=0},t)}};return u._clear=function(){clearTimeout(s),s=null},u}function J(e,t){if(e===t)return!0;if(C(e)==="object"){for(var i in e)if(!J(e[i],t[i]))return!1;return!0}return!1}var Me=function(){function e(t,i,s){we(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(i,s)}return Ie(e,[{key:"createObserver",value:function(i,s){var r=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=xe(i),this.callback=function(c,n){r.options.callback(c,n),c&&r.options.once&&(r.frozen=!0,r.destroyObserver())},this.callback&&this.options.throttle){var a=this.options.throttleOptions||{},u=a.leading;this.callback=ke(this.callback,this.options.throttle,{leading:function(n){return u==="both"||u==="visible"&&n||u==="hidden"&&!n}})}this.oldResult=void 0,this.observer=new IntersectionObserver(function(c){var n=c[0];if(c.length>1){var d=c.find(function(S){return S.isIntersecting});d&&(n=d)}if(r.callback){var p=n.isIntersecting&&n.intersectionRatio>=r.threshold;if(p===r.oldResult)return;r.oldResult=p,r.callback(p,n)}},this.options.intersection),Z(function(){r.observer&&r.observer.observe(r.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),e}();function Q(e,t,i){var s=t.value;if(s)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var r=new Me(e,s,i);e._vue_visibilityState=r}}function Ae(e,t,i){var s=t.value,r=t.oldValue;if(!J(s,r)){var a=e._vue_visibilityState;if(!s){ee(e);return}a?a.createObserver(s,i):Q(e,{value:s},i)}}function ee(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var Re={beforeMount:Q,updated:Ae,unmounted:ee},Ce={itemsLimit:1e3},Ee=/(auto|scroll)/;function te(e,t){return e.parentNode===null?t:te(e.parentNode,t.concat([e]))}var P=function(t,i){return getComputedStyle(t,null).getPropertyValue(i)},Pe=function(t){return P(t,"overflow")+P(t,"overflow-y")+P(t,"overflow-x")},Le=function(t){return Ee.test(Pe(t))};function G(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=te(e.parentNode,[]),i=0;i<t.length;i+=1)if(Le(t[i]))return t[i];return document.scrollingElement||document.documentElement}}function j(e){"@babel/helpers - typeof";return j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},j(e)}var He={items:{type:Array,required:!0},keyField:{type:String,default:"id"},direction:{type:String,default:"vertical",validator:function(t){return["vertical","horizontal"].includes(t)}},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"}};function Ne(){return this.items.length&&j(this.items[0])!=="object"}var B=!1;if(typeof window<"u"){B=!1;try{var je=Object.defineProperty({},"passive",{get:function(){B=!0}});window.addEventListener("test",null,je)}catch{}}let Be=0;var ie={name:"RecycleScroller",components:{ResizeObserver:E},directives:{ObserveVisibility:Re},props:{...He,itemSize:{type:Number,default:null},gridItems:{type:Number,default:void 0},itemSecondarySize:{type:Number,default:void 0},minItemSize:{type:[Number,String],default:null},sizeField:{type:String,default:"size"},typeField:{type:String,default:"type"},buffer:{type:Number,default:200},pageMode:{type:Boolean,default:!1},prerender:{type:Number,default:0},emitUpdate:{type:Boolean,default:!1},updateInterval:{type:Number,default:0},skipHover:{type:Boolean,default:!1},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"},listClass:{type:[String,Object,Array],default:""},itemClass:{type:[String,Object,Array],default:""}},emits:["resize","visible","hidden","update","scroll-start","scroll-end"],data(){return{pool:[],totalSize:0,ready:!1,hoverKey:null}},computed:{sizes(){if(this.itemSize===null){const e={"-1":{accumulator:0}},t=this.items,i=this.sizeField,s=this.minItemSize;let r=1e4,a=0,u;for(let c=0,n=t.length;c<n;c++)u=t[c][i]||s,u<r&&(r=u),a+=u,e[c]={accumulator:a,size:u};return this.$_computedMinItemSize=r,e}return[]},simpleArray:Ne,itemIndexByKey(){const{keyField:e,items:t}=this,i={};for(let s=0,r=t.length;s<r;s++)i[t[s][e]]=s;return i}},watch:{items(){this.updateVisibleItems(!0)},pageMode(){this.applyPageMode(),this.updateVisibleItems(!1)},sizes:{handler(){this.updateVisibleItems(!1)},deep:!0},gridItems(){this.updateVisibleItems(!0)},itemSecondarySize(){this.updateVisibleItems(!0)}},created(){this.$_startIndex=0,this.$_endIndex=0,this.$_views=new Map,this.$_unusedViews=new Map,this.$_scrollDirty=!1,this.$_lastUpdateScrollPosition=0,this.prerender&&(this.$_prerender=!0,this.updateVisibleItems(!1)),this.gridItems&&!this.itemSize&&console.error("[vue-recycle-scroller] You must provide an itemSize when using gridItems")},mounted(){this.applyPageMode(),this.$nextTick(()=>{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const e=this.$_lastUpdateScrollPosition;typeof e=="number"&&this.$nextTick(()=>{this.scrollToPosition(e)})},beforeUnmount(){this.removeListeners()},methods:{addView(e,t,i,s,r){const a=le({id:Be++,index:t,used:!0,key:s,type:r}),u=ae({item:i,position:0,nr:a});return e.push(u),u},unuseView(e,t=!1){const i=this.$_unusedViews,s=e.nr.type;let r=i.get(s);r||(r=[],i.set(s,r)),r.push(e),t||(e.nr.used=!1,e.position=-9999)},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(e){if(!this.$_scrollDirty){if(this.$_scrollDirty=!0,this.$_updateTimeout)return;const t=()=>requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:i}=this.updateVisibleItems(!1,!0);i||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,this.updateInterval+100))});t(),this.updateInterval&&(this.$_updateTimeout=setTimeout(()=>{this.$_updateTimeout=0,this.$_scrollDirty&&t()},this.updateInterval))}},handleVisibilityChange(e,t){this.ready&&(e||t.boundingClientRect.width!==0||t.boundingClientRect.height!==0?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(e,t=!1){const i=this.itemSize,s=this.gridItems||1,r=this.itemSecondarySize||i,a=this.$_computedMinItemSize,u=this.typeField,c=this.simpleArray?null:this.keyField,n=this.items,d=n.length,p=this.sizes,S=this.$_views,_=this.$_unusedViews,V=this.pool,se=this.itemIndexByKey;let y,f,T,g,z;if(!d)y=f=g=z=T=0;else if(this.$_prerender)y=g=0,f=z=Math.min(this.prerender,n.length),T=null;else{const o=this.getScroll();if(t){let m=o.start-this.$_lastUpdateScrollPosition;if(m<0&&(m=-m),i===null&&m<a||m<i)return{continuous:!0}}this.$_lastUpdateScrollPosition=o.start;const v=this.buffer;o.start-=v,o.end+=v;let h=0;if(this.$refs.before&&(h=this.$refs.before.scrollHeight,o.start-=h),this.$refs.after){const m=this.$refs.after.scrollHeight;o.end+=m}if(i===null){let m,O=0,F=d-1,b=~~(d/2),U;do U=b,m=p[b].accumulator,m<o.start?O=b:b<d-1&&p[b+1].accumulator>o.start&&(F=b),b=~~((O+F)/2);while(b!==U);for(b<0&&(b=0),y=b,T=p[d-1].accumulator,f=b;f<d&&p[f].accumulator<o.end;f++);for(f===-1?f=n.length-1:(f++,f>d&&(f=d)),g=y;g<d&&h+p[g].accumulator<o.start;g++);for(z=g;z<d&&h+p[z].accumulator<o.end;z++);}else{y=~~(o.start/i*s);const m=y%s;y-=m,f=Math.ceil(o.end/i*s),g=Math.max(0,Math.floor((o.start-h)/i*s)),z=Math.floor((o.end-h)/i*s),y<0&&(y=0),f>d&&(f=d),g<0&&(g=0),z>d&&(z=d),T=Math.ceil(d/s)*i}}f-y>Ce.itemsLimit&&this.itemsLimitError(),this.totalSize=T;let l;const x=y<=this.$_endIndex&&f>=this.$_startIndex;if(x)for(let o=0,v=V.length;o<v;o++)l=V[o],l.nr.used&&(e&&(l.nr.index=se[l.item[c]]),(l.nr.index==null||l.nr.index<y||l.nr.index>=f)&&this.unuseView(l));const D=x?null:new Map;let I,w,k;for(let o=y;o<f;o++){I=n[o];const v=c?I[c]:I;if(v==null)throw new Error(`Key is ${v} on item (keyField is '${c}')`);if(l=S.get(v),!i&&!p[o].size){l&&this.unuseView(l);continue}w=I[u];let h=_.get(w),m=!1;if(!l)x?h&&h.length?l=h.pop():l=this.addView(V,o,I,v,w):(k=D.get(w)||0,(!h||k>=h.length)&&(l=this.addView(V,o,I,v,w),this.unuseView(l,!0),h=_.get(w)),l=h[k],D.set(w,k+1)),S.delete(l.nr.key),l.nr.used=!0,l.nr.index=o,l.nr.key=v,l.nr.type=w,S.set(v,l),m=!0;else if(!l.nr.used&&(l.nr.used=!0,m=!0,h)){const O=h.indexOf(l);O!==-1&&h.splice(O,1)}l.item=I,m&&(o===n.length-1&&this.$emit("scroll-end"),o===0&&this.$emit("scroll-start")),i===null?(l.position=p[o-1].accumulator,l.offset=0):(l.position=Math.floor(o/s)*i,l.offset=o%s*r)}return this.$_startIndex=y,this.$_endIndex=f,this.emitUpdate&&this.$emit("update",y,f,g,z),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:x}},getListenerTarget(){let e=G(this.$el);return window.document&&(e===window.document.documentElement||e===window.document.body)&&(e=window),e},getScroll(){const{$el:e,direction:t}=this,i=t==="vertical";let s;if(this.pageMode){const r=e.getBoundingClientRect(),a=i?r.height:r.width;let u=-(i?r.top:r.left),c=i?window.innerHeight:window.innerWidth;u<0&&(c+=u,u=0),u+c>a&&(c=a-u),s={start:u,end:u+c}}else i?s={start:e.scrollTop,end:e.scrollTop+e.clientHeight}:s={start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return s},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,B?{passive:!0}:!1),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem(e){let t;const i=this.gridItems||1;this.itemSize===null?t=e>0?this.sizes[e-1].accumulator:0:t=Math.floor(e/i)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let i,s,r;if(this.pageMode){const a=G(this.$el),u=a.tagName==="HTML"?0:a[t.scroll],c=a.getBoundingClientRect(),d=this.$el.getBoundingClientRect()[t.start]-c[t.start];i=a,s=t.scroll,r=e+u+d}else i=this.$el,s=t.scroll,r=e;i[s]=r},itemsLimitError(){throw setTimeout(()=>{console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",this.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")}),new Error("Rendered items limit reached")},sortViews(){this.pool.sort((e,t)=>e.nr.index-t.nr.index)}}};const De={key:0,ref:"before",class:"vue-recycle-scroller__slot"},Fe={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function Ue(e,t,i,s,r,a){const u=ue("ResizeObserver"),c=ce("observe-visibility");return de(($(),M("div",{class:Y(["vue-recycle-scroller",{ready:r.ready,"page-mode":i.pageMode,[`direction-${e.direction}`]:!0}]),onScrollPassive:t[0]||(t[0]=(...n)=>a.handleScroll&&a.handleScroll(...n))},[e.$slots.before?($(),M("div",De,[A(e.$slots,"before")],512)):W("v-if",!0),($(),L(q(i.listTag),{ref:"wrapper",style:ve({[e.direction==="vertical"?"minHeight":"minWidth"]:r.totalSize+"px"}),class:Y(["vue-recycle-scroller__item-wrapper",i.listClass])},{default:K(()=>[($(!0),M(he,null,me(r.pool,n=>($(),L(q(i.itemTag),pe({key:n.nr.id,style:r.ready?{transform:`translate${e.direction==="vertical"?"Y":"X"}(${n.position}px) translate${e.direction==="vertical"?"X":"Y"}(${n.offset}px)`,width:i.gridItems?`${e.direction==="vertical"&&i.itemSecondarySize||i.itemSize}px`:void 0,height:i.gridItems?`${e.direction==="horizontal"&&i.itemSecondarySize||i.itemSize}px`:void 0}:null,class:["vue-recycle-scroller__item-view",[i.itemClass,{hover:!i.skipHover&&r.hoverKey===n.nr.key}]]},ye(i.skipHover?{}:{mouseenter:()=>{r.hoverKey=n.nr.key},mouseleave:()=>{r.hoverKey=null}})),{default:K(()=>[A(e.$slots,"default",{item:n.item,index:n.nr.index,active:n.nr.used})]),_:2},1040,["style","class"]))),128)),A(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?($(),M("div",Fe,[A(e.$slots,"after")],512)):W("v-if",!0),fe(u,{onNotify:a.handleResize},null,8,["onNotify"])],34)),[[c,a.handleVisibilityChange]])}ie.render=Ue;ie.__file="src/components/RecycleScroller.vue";export{ie as s};
|
package/dist/client/index.html
CHANGED
|
@@ -3,27 +3,27 @@
|
|
|
3
3
|
<link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/entry.css-jfo9gib8.css" crossorigin>
|
|
4
4
|
<link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue.css-mqq5uooj.css" crossorigin>
|
|
5
5
|
<link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/unocss.css-mhvipxpl.css" crossorigin>
|
|
6
|
-
<link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/
|
|
7
|
-
<link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue-
|
|
8
|
-
<link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/unocss-
|
|
9
|
-
<link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/shiki-
|
|
6
|
+
<link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/m6q5jxyf.js">
|
|
7
|
+
<link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue-llkaejaf.js">
|
|
8
|
+
<link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/unocss-mvzv9iuf.js">
|
|
9
|
+
<link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/shiki-kdj4mcqm.js">
|
|
10
10
|
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/markdown-it-fvu08dbs.js">
|
|
11
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/default-
|
|
12
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/full-
|
|
13
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/none-
|
|
11
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/default-geiuynj5.js">
|
|
12
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/full-oyph9txt.js">
|
|
13
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/none-ih7k4flj.js">
|
|
14
14
|
<link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ncode-block.css-lvdc77tw.css">
|
|
15
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/data-schema-drawer-
|
|
16
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/nselect.vue-
|
|
17
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/nswitch.vue-
|
|
18
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ndropdown.vue-
|
|
19
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ncode-block.vue-
|
|
20
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/client-
|
|
21
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ndrawer.vue-
|
|
22
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/quicktype-core-
|
|
23
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/unocss-runtime-
|
|
24
|
-
<link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-404.css-
|
|
25
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-404-
|
|
26
|
-
<link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500.css-
|
|
27
|
-
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500-
|
|
28
|
-
<script type="module" src="/__NUXT_DEVTOOLS_BASE__/_nuxt/
|
|
29
|
-
<script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_BASE__/",buildId:"
|
|
15
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/data-schema-drawer-fl1lvvva.js">
|
|
16
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/nselect.vue-beh7ue6r.js">
|
|
17
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/nswitch.vue-jbyu7ls8.js">
|
|
18
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ndropdown.vue-g7muyou7.js">
|
|
19
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ncode-block.vue-bir2wz4z.js">
|
|
20
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/client-gsjyqe32.js">
|
|
21
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/ndrawer.vue-l1gwm2vb.js">
|
|
22
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/quicktype-core-o2aektoq.js">
|
|
23
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/unocss-runtime-l2otbg6e.js">
|
|
24
|
+
<link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-404.css-cyoi3t2n.css">
|
|
25
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-404-dv94kocq.js">
|
|
26
|
+
<link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500.css-c3osv0mr.css">
|
|
27
|
+
<link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/error-500-n7ptz9gg.js">
|
|
28
|
+
<script type="module" src="/__NUXT_DEVTOOLS_BASE__/_nuxt/m6q5jxyf.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1741162227041,false]</script>
|
|
29
|
+
<script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_BASE__/",buildId:"2a61a2a5-23bf-4f63-886a-9c38ebc0e065",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
|
package/dist/module.d.mts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
-
import './shared/devtools.
|
|
2
|
+
import './shared/devtools.427ec2e8.mjs';
|
|
3
3
|
import { ModuleOptions } from '@nuxt/devtools-kit/types';
|
|
4
4
|
export { ModuleOptions } from '@nuxt/devtools-kit/types';
|
|
5
|
-
import 'vite-plugin-vue-inspector';
|
|
6
5
|
|
|
7
6
|
declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
|
|
8
7
|
|
package/dist/module.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
-
import './shared/devtools.
|
|
2
|
+
import './shared/devtools.427ec2e8.js';
|
|
3
3
|
import { ModuleOptions } from '@nuxt/devtools-kit/types';
|
|
4
4
|
export { ModuleOptions } from '@nuxt/devtools-kit/types';
|
|
5
|
-
import 'vite-plugin-vue-inspector';
|
|
6
5
|
|
|
7
6
|
declare const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>;
|
|
8
7
|
|
package/dist/module.json
CHANGED
|
@@ -254,7 +254,7 @@ const iframeStyle = computed(() => {
|
|
|
254
254
|
const style: CSSProperties = {
|
|
255
255
|
position: 'fixed',
|
|
256
256
|
zIndex: -1,
|
|
257
|
-
pointerEvents: isDragging.value || !state.value.open ? 'none' : 'auto',
|
|
257
|
+
pointerEvents: (isDragging.value || !state.value.open || props.client.inspector?.isEnabled.value) ? 'none' : 'auto',
|
|
258
258
|
width: `min(${state.value.width}vw, calc(100vw - ${marginHorizontal}px))`,
|
|
259
259
|
height: `min(${state.value.height}vh, calc(100vh - ${marginVertical}px))`,
|
|
260
260
|
}
|
|
@@ -303,6 +303,10 @@ const iframeStyle = computed(() => {
|
|
|
303
303
|
break
|
|
304
304
|
}
|
|
305
305
|
|
|
306
|
+
if (props.client.inspector?.isEnabled.value) {
|
|
307
|
+
style.opacity = 0
|
|
308
|
+
}
|
|
309
|
+
|
|
306
310
|
return style
|
|
307
311
|
})
|
|
308
312
|
|
|
@@ -324,6 +328,20 @@ const time = computed(() => {
|
|
|
324
328
|
return [type, ...millisecondToHumanreadable(time)]
|
|
325
329
|
})
|
|
326
330
|
|
|
331
|
+
function toggleInspector() {
|
|
332
|
+
const isDevToolsOpen = state.value.open
|
|
333
|
+
if (!isDevToolsOpen)
|
|
334
|
+
props.client.devtools.open()
|
|
335
|
+
|
|
336
|
+
props.client.inspector?.enable()
|
|
337
|
+
|
|
338
|
+
if (!isDevToolsOpen) {
|
|
339
|
+
setTimeout(() => {
|
|
340
|
+
props.client.devtools.close()
|
|
341
|
+
}, 500)
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
|
|
327
345
|
onMounted(() => {
|
|
328
346
|
bringUp()
|
|
329
347
|
})
|
|
@@ -379,12 +397,12 @@ onMounted(() => {
|
|
|
379
397
|
{{ time[2] }}
|
|
380
398
|
</span>
|
|
381
399
|
</div>
|
|
382
|
-
<template v-if="client.inspector?.
|
|
400
|
+
<template v-if="client.inspector?.isAvailable">
|
|
383
401
|
<div
|
|
384
402
|
style="border-left: 1px solid #8883;width:1px;height:10px;"
|
|
385
403
|
class="nuxt-devtools-panel-content"
|
|
386
404
|
/>
|
|
387
|
-
<button class="nuxt-devtools-icon-button nuxt-devtools-panel-content" title="Toggle Component Inspector" @click
|
|
405
|
+
<button class="nuxt-devtools-icon-button nuxt-devtools-panel-content" title="Toggle Component Inspector" @click.prevent.stop="toggleInspector">
|
|
388
406
|
<svg
|
|
389
407
|
xmlns="http://www.w3.org/2000/svg"
|
|
390
408
|
style="height: 1.2em; width: 1.2em; opacity:0.5;"
|
|
@@ -398,7 +416,6 @@ onMounted(() => {
|
|
|
398
416
|
</div>
|
|
399
417
|
|
|
400
418
|
<div
|
|
401
|
-
v-show="!client.inspector?.isEnabled.value"
|
|
402
419
|
ref="frameBox"
|
|
403
420
|
:style="iframeStyle"
|
|
404
421
|
>
|
|
@@ -2,7 +2,8 @@ import { useAppConfig, useRuntimeConfig } from "#imports";
|
|
|
2
2
|
import { setIframeServerContext } from "@vue/devtools-kit";
|
|
3
3
|
import { createHooks } from "hookable";
|
|
4
4
|
import { debounce } from "perfect-debounce";
|
|
5
|
-
import {
|
|
5
|
+
import { events as inspectorEvents, hasData as inspectorHasData, state as inspectorState } from "vite-plugin-vue-tracer/client/overlay";
|
|
6
|
+
import { computed, createApp, h, markRaw, ref, shallowReactive, shallowRef, toRef, watch } from "vue";
|
|
6
7
|
import { initTimelineMetrics } from "../../function-metrics-helpers.js";
|
|
7
8
|
import Main from "./Main.vue";
|
|
8
9
|
import { popupWindow, state } from "./state.js";
|
|
@@ -14,7 +15,6 @@ export async function setupDevToolsClient({
|
|
|
14
15
|
timeMetric,
|
|
15
16
|
router
|
|
16
17
|
}) {
|
|
17
|
-
const isInspecting = ref(false);
|
|
18
18
|
const colorMode = useClientColorMode();
|
|
19
19
|
const timeline = initTimelineMetrics();
|
|
20
20
|
const client = shallowReactive({
|
|
@@ -138,47 +138,36 @@ export async function setupDevToolsClient({
|
|
|
138
138
|
}, timeout);
|
|
139
139
|
});
|
|
140
140
|
}
|
|
141
|
-
function getInspector() {
|
|
142
|
-
return window.__NUXT_INSPECTOR__ || window.__VUE_INSPECTOR__;
|
|
143
|
-
}
|
|
144
|
-
function enableComponentInspector() {
|
|
145
|
-
getInspector()?.enable();
|
|
146
|
-
isInspecting.value = true;
|
|
147
|
-
}
|
|
148
|
-
function disableComponentInspector() {
|
|
149
|
-
if (!getInspector()?.enabled)
|
|
150
|
-
return;
|
|
151
|
-
getInspector()?.disable();
|
|
152
|
-
client?.hooks.callHook("host:inspector:close");
|
|
153
|
-
isInspecting.value = false;
|
|
154
|
-
}
|
|
155
141
|
function getInspectorInstance() {
|
|
156
|
-
const
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
142
|
+
const isAvailable = ref(inspectorHasData());
|
|
143
|
+
inspectorEvents.on("disabled", () => {
|
|
144
|
+
inspectorState.isVisible = false;
|
|
145
|
+
client?.hooks.callHook("host:inspector:close");
|
|
146
|
+
});
|
|
147
|
+
inspectorEvents.on("enabled", () => {
|
|
148
|
+
inspectorState.isVisible = true;
|
|
149
|
+
});
|
|
150
|
+
inspectorEvents.on("click", async (info) => {
|
|
151
|
+
inspectorState.isEnabled = false;
|
|
152
|
+
await client.hooks.callHook("host:inspector:click", info.fullpath);
|
|
153
|
+
});
|
|
154
|
+
if (!isAvailable.value) {
|
|
155
|
+
inspectorEvents.on("hover", async () => {
|
|
156
|
+
isAvailable.value = inspectorHasData();
|
|
157
|
+
});
|
|
168
158
|
}
|
|
169
159
|
return markRaw({
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
disableComponentInspector();
|
|
178
|
-
else
|
|
179
|
-
enableComponentInspector();
|
|
160
|
+
isAvailable,
|
|
161
|
+
isEnabled: toRef(inspectorState, "isEnabled"),
|
|
162
|
+
enable: () => {
|
|
163
|
+
inspectorState.isEnabled = true;
|
|
164
|
+
},
|
|
165
|
+
disable: () => {
|
|
166
|
+
inspectorState.isEnabled = false;
|
|
180
167
|
},
|
|
181
|
-
|
|
168
|
+
toggle: () => {
|
|
169
|
+
inspectorState.isEnabled = !inspectorState.isEnabled;
|
|
170
|
+
}
|
|
182
171
|
});
|
|
183
172
|
}
|
|
184
173
|
setupRouteTracking(timeline, router);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { VueInspectorClient } from 'vite-plugin-vue-inspector';
|
|
2
1
|
import { NuxtDevtoolsIframeClient, NuxtDevtoolsHostClient, NuxtDevtoolsGlobal, PluginMetric, TimelineMetrics, LoadingTimeMetric } from '@nuxt/devtools-kit/types';
|
|
3
2
|
|
|
4
3
|
declare global {
|
|
@@ -48,14 +47,6 @@ declare global {
|
|
|
48
47
|
* @internal
|
|
49
48
|
*/
|
|
50
49
|
__NUXT_DEVTOOLS_IS_POPUP__?: boolean;
|
|
51
|
-
/**
|
|
52
|
-
* Vue Inspector client
|
|
53
|
-
*/
|
|
54
|
-
__VUE_INSPECTOR__?: VueInspectorClient;
|
|
55
|
-
/**
|
|
56
|
-
* Vue Inspector client
|
|
57
|
-
*/
|
|
58
|
-
__NUXT_INSPECTOR__?: VueInspectorClient;
|
|
59
50
|
/**
|
|
60
51
|
* Experimental API: Picture-in-Picture mode
|
|
61
52
|
*
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { VueInspectorClient } from 'vite-plugin-vue-inspector';
|
|
2
1
|
import { NuxtDevtoolsIframeClient, NuxtDevtoolsHostClient, NuxtDevtoolsGlobal, PluginMetric, TimelineMetrics, LoadingTimeMetric } from '@nuxt/devtools-kit/types';
|
|
3
2
|
|
|
4
3
|
declare global {
|
|
@@ -48,14 +47,6 @@ declare global {
|
|
|
48
47
|
* @internal
|
|
49
48
|
*/
|
|
50
49
|
__NUXT_DEVTOOLS_IS_POPUP__?: boolean;
|
|
51
|
-
/**
|
|
52
|
-
* Vue Inspector client
|
|
53
|
-
*/
|
|
54
|
-
__VUE_INSPECTOR__?: VueInspectorClient;
|
|
55
|
-
/**
|
|
56
|
-
* Vue Inspector client
|
|
57
|
-
*/
|
|
58
|
-
__NUXT_INSPECTOR__?: VueInspectorClient;
|
|
59
50
|
/**
|
|
60
51
|
* Experimental API: Picture-in-Picture mode
|
|
61
52
|
*
|
package/dist/types.d.mts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import './shared/devtools.
|
|
1
|
+
import './shared/devtools.427ec2e8.mjs';
|
|
2
2
|
import { ModuleStaticInfo } from '@nuxt/devtools-kit/types';
|
|
3
3
|
export * from '@nuxt/devtools-kit/types';
|
|
4
|
-
import 'vite-plugin-vue-inspector';
|
|
5
4
|
|
|
6
5
|
interface SocialPreviewResolved {
|
|
7
6
|
url?: string;
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import './shared/devtools.
|
|
1
|
+
import './shared/devtools.427ec2e8.js';
|
|
2
2
|
import { ModuleStaticInfo } from '@nuxt/devtools-kit/types';
|
|
3
3
|
export * from '@nuxt/devtools-kit/types';
|
|
4
|
-
import 'vite-plugin-vue-inspector';
|
|
5
4
|
|
|
6
5
|
interface SocialPreviewResolved {
|
|
7
6
|
url?: string;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nuxt/devtools",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.2.0",
|
|
5
5
|
"description": "The Nuxt DevTools gives you insights and transparency about your Nuxt App.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://devtools.nuxt.com",
|
|
@@ -46,24 +46,24 @@
|
|
|
46
46
|
"image-meta": "^0.2.1",
|
|
47
47
|
"is-installed-globally": "^1.0.0",
|
|
48
48
|
"launch-editor": "^2.10.0",
|
|
49
|
-
"local-pkg": "^1.1.
|
|
49
|
+
"local-pkg": "^1.1.1",
|
|
50
50
|
"magicast": "^0.3.5",
|
|
51
51
|
"nypm": "^0.6.0",
|
|
52
|
-
"ohash": "^2.0.
|
|
52
|
+
"ohash": "^2.0.11",
|
|
53
53
|
"pathe": "^2.0.3",
|
|
54
54
|
"perfect-debounce": "^1.0.0",
|
|
55
|
-
"pkg-types": "^2.
|
|
55
|
+
"pkg-types": "^2.1.0",
|
|
56
56
|
"semver": "^7.7.1",
|
|
57
57
|
"simple-git": "^3.27.0",
|
|
58
58
|
"sirv": "^3.0.1",
|
|
59
59
|
"structured-clone-es": "^1.0.0",
|
|
60
60
|
"tinyglobby": "^0.2.12",
|
|
61
61
|
"vite-plugin-inspect": "^11.0.0",
|
|
62
|
-
"vite-plugin-vue-
|
|
62
|
+
"vite-plugin-vue-tracer": "^0.1.0",
|
|
63
63
|
"which": "^5.0.0",
|
|
64
64
|
"ws": "^8.18.1",
|
|
65
|
-
"@nuxt/devtools-
|
|
66
|
-
"@nuxt/devtools-
|
|
65
|
+
"@nuxt/devtools-kit": "2.2.0",
|
|
66
|
+
"@nuxt/devtools-wizard": "2.2.0"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@antfu/utils": "^9.1.0",
|
|
@@ -73,10 +73,10 @@
|
|
|
73
73
|
"@iconify-json/carbon": "^1.2.8",
|
|
74
74
|
"@iconify-json/logos": "^1.2.4",
|
|
75
75
|
"@iconify-json/ri": "^1.2.5",
|
|
76
|
-
"@iconify-json/simple-icons": "^1.2.
|
|
76
|
+
"@iconify-json/simple-icons": "^1.2.27",
|
|
77
77
|
"@iconify-json/tabler": "^1.2.16",
|
|
78
|
-
"@nuxt/content": "^2.
|
|
79
|
-
"@nuxt/test-utils": "^3.17.
|
|
78
|
+
"@nuxt/content": "^3.2.2",
|
|
79
|
+
"@nuxt/test-utils": "^3.17.1",
|
|
80
80
|
"@parcel/watcher": "^2.5.1",
|
|
81
81
|
"@shikijs/langs-precompiled": "^3.1.0",
|
|
82
82
|
"@types/markdown-it-link-attributes": "^3.0.5",
|
|
@@ -86,19 +86,19 @@
|
|
|
86
86
|
"@unocss/runtime": "^66.0.0",
|
|
87
87
|
"@vitest/ui": "^3.0.7",
|
|
88
88
|
"@vue/devtools-applet": "^7.7.2",
|
|
89
|
-
"@vueuse/nuxt": "^12.
|
|
89
|
+
"@vueuse/nuxt": "^12.8.0",
|
|
90
90
|
"@xterm/addon-fit": "^0.10.0",
|
|
91
91
|
"@xterm/xterm": "^5.5.0",
|
|
92
|
-
"cronstrue": "^2.
|
|
92
|
+
"cronstrue": "^2.56.0",
|
|
93
93
|
"esno": "^4.8.0",
|
|
94
94
|
"floating-vue": "^5.2.2",
|
|
95
95
|
"fuse.js": "^7.1.0",
|
|
96
|
-
"json-editor-vue": "^0.
|
|
96
|
+
"json-editor-vue": "^0.18.1",
|
|
97
97
|
"markdown-it": "^14.1.0",
|
|
98
98
|
"markdown-it-link-attributes": "^4.0.1",
|
|
99
99
|
"my-ua-parser": "^2.0.4",
|
|
100
100
|
"nanoid": "^5.1.2",
|
|
101
|
-
"nitropack": "^2.
|
|
101
|
+
"nitropack": "^2.11.0",
|
|
102
102
|
"nuxt": "^3.15.4",
|
|
103
103
|
"ofetch": "^1.4.1",
|
|
104
104
|
"quicktype-core": "22.0.0",
|
|
@@ -109,12 +109,12 @@
|
|
|
109
109
|
"unimport": "^4.1.2",
|
|
110
110
|
"unocss": "^66.0.0",
|
|
111
111
|
"unplugin-vue-markdown": "^28.3.1",
|
|
112
|
-
"vanilla-jsoneditor": "^
|
|
112
|
+
"vanilla-jsoneditor": "^3.0.0",
|
|
113
113
|
"vis-data": "^7.1.9",
|
|
114
114
|
"vis-network": "^9.1.9",
|
|
115
|
-
"vue-tsc": "^2.2.
|
|
115
|
+
"vue-tsc": "^2.2.8",
|
|
116
116
|
"vue-virtual-scroller": "^2.0.0-beta.8",
|
|
117
|
-
"@nuxt/devtools": "2.
|
|
117
|
+
"@nuxt/devtools": "2.2.0"
|
|
118
118
|
},
|
|
119
119
|
"scripts": {
|
|
120
120
|
"build": "pnpm dev:prepare && pnpm build:module && pnpm build:discovery && pnpm build:client",
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { addVitePlugin } from '@nuxt/kit';
|
|
2
|
-
import VueInspector from 'vite-plugin-vue-inspector';
|
|
3
|
-
|
|
4
|
-
function setup({ nuxt, options }) {
|
|
5
|
-
if (!nuxt.options.dev || nuxt.options.test)
|
|
6
|
-
return;
|
|
7
|
-
addVitePlugin(VueInspector({
|
|
8
|
-
toggleComboKey: "",
|
|
9
|
-
...typeof options.componentInspector === "boolean" ? {} : options.componentInspector,
|
|
10
|
-
appendTo: /\/entry\.m?js$/,
|
|
11
|
-
toggleButtonVisibility: "never"
|
|
12
|
-
}));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { setup };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as e,W as n,U as t}from"./vendor/json-editor-vue-npezbdce.js";const c={"h-screen":"","w-screen":"","bg-black":""},r=e({__name:"__blank",setup(o){return(s,_)=>(t(),n("div",c))}});export{r as default};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import{C as oe,D as Y,E as fe,F as ve,x as he,r as W,m as X,G as R,_ as se,H as ie,z as re,I as ge,c as ae,J as ye,a as we,K as be,L as _e,B as xe,M as $e,N as ke,O as Ce,g as Ae,P as Be}from"./mdin2k9x.js";import{_ as Pe}from"./ncheckbox.vue-oxgpzkb5.js";import{_ as Ve}from"./ndropdown.vue-by1qbsg0.js";import{_ as De}from"./nnavbar.vue-ccrl0i3s.js";import{p as Z,f as T,ag as le,W as f,aa as J,a3 as h,X as i,a9 as j,F as L,ae as G,P as N,a2 as A,Z as I,a0 as Q,u as w,U as a,q as z,$ as ue,a8 as S,Y as Fe,A as Ne,a1 as je,an as Se}from"./vendor/json-editor-vue-npezbdce.js";import{_ as Ue}from"./nsection-block-omdmf6ve.js";import{_ as Ie}from"./filepath-item.vue-ll9h44c8.js";import{_ as ze}from"./code-snippets.vue-mtca7vbo.js";import{_ as Ee}from"./ndrawer.vue-ggbjuic7.js";import{D as Te}from"./constants-b32h69zq.js";import"./vendor/unocss-jzxuon8q.js";import"./vendor/shiki-ej2em068.js";import"./nicon-title.vue-j1ceohu1.js";import"./ncode-block.vue-msaaoy71.js";import"./client-edufhzwa.js";const Me={key:0,"h-full":"","w-full":"",flex:"","items-center":"","justify-center":""},Oe={for:"drop-zone-input","text-3xl":"",hover:"text-green cursor-pointer","transition-all":""},Le={key:1,relative:"","h-full":"","w-full":"",grid:"~ rows-[max-content_1fr_max-content]"},Re={grid:"~ cols-minmax-8rem gap-8","overflow-auto":"",p6:""},Ke={flex:"","items-center":"","justify-center":"","of-hidden":"",rounded:"","rounded-t-lg":"","bg-active":"","object-cover":"",class:"aspect-1/1",border:"~ base"},Je=["src"],qe={flex:"~ gap1","items-center":""},Ge={flex:"~ gap-2","items-center":"","justify-center":"",p8:""},Ze=Z({__name:"AssetDropZone",props:{modelValue:{type:Boolean,required:!0},folder:{type:String,required:!0}},setup(b){const o=b,e=oe(o,"modelValue"),s=T(),n=T([]);function l(u){s.value=u.target,e.value=!0}function r(u){u.target===s.value&&(e.value=!1)}function y(u){u.preventDefault()}function v(u){u.preventDefault(),_(u.dataTransfer.files)}function _(u){const c=Array.from(u||[]);if(c.length){const $=[],x=n.value.map(p=>p.name);for(const p of c)if(x.includes(p.name)){let B=1;const[P,M]=p.name.split(".");for(;x.includes(`${P} (${B}).${M}`);)B++;const K=`${P}-${B}.${M}`,m=new Blob([p],{type:p.type}),t=new File([m],K,{lastModified:Date.now()});$.push(t),x.push(K)}else p.type===""&&R({message:"Folders are not supported yet",icon:"carbon:face-dissatisfied",classes:"text-orange"}),$.push(p);n.value=[...n.value,...$]}}async function D(){if(fe.value||ve.value)return;he("assets:upload");const u=[];for(const c of n.value){const $=new FileReader;$.readAsDataURL(c);const p=(await new Promise(B=>{$.onload=()=>B($.result)})).split(";base64,").pop();u.push({path:c.name,encoding:"base64",content:p})}await W.writeStaticAssets(await X(),[...u],o.folder).then(()=>{g(),R({message:"Files uploaded successfully!",icon:"i-carbon:checkmark"})}).catch(c=>{g(),R({message:`Error uploading files: ${c?.message??"unknown"}`,icon:"i-carbon-warning",classes:"text-red"})}),e.value=!1}function O(u){n.value?.splice(u,1)}function k(u){return URL.createObjectURL(u)}function C(u,c){const[$,x]=u.name.split("."),p=c.replace(/\.\w+$/,""),B=`${p}.${x}`;return p.length===0?(alert("File name must be at least 1 characters long"),$):(Object.defineProperty(u,"name",{value:B,writable:!1}),n.value.splice(n.value.indexOf(u),1,u),u)}function d(){n.value=[]}function g(){e.value=!1,d()}return Y("dragenter",l),Y("dragleave",r),Y("dragover",y),Y("drop",v),(u,c)=>{const $=se,x=ie,p=re,B=le("tooltip");return a(),f("div",{fixed:"","bottom-0":"","left-13":"","right-0":"","top-0":"","z-10":"","backdrop-blur-20":"","transition-all":"",class:Q(w(e)?"opacity-100 visible":"opacity-0 invisible")},[J(h($,{icon:"carbon-close",title:"Close",absolute:"","right-5":"","top-5":"","z-20":"","text-xl":"",border:!1,onClick:g},null,512),[[B,"Close",void 0,{"bottom-end":!0}]]),n.value?.length?(a(),f("div",Le,[c[4]||(c[4]=i("div",{px6:"",py6:""},[i("h1",{"text-2xl":""}," Upload "),i("p",{"text-sm":"",op50:""}," Drag and drop files to upload ")],-1)),i("div",Re,[(a(!0),f(L,null,G(n.value,(P,M)=>(a(),f("div",{key:P.name,flex:"~ col gap-2",relative:"","h-50":"","w-40":"","items-center":""},[i("div",Ke,[i("img",{"h-full":"","w-full":"","rounded-t-lg":"","object-cover":"",src:k(P)},null,8,Je)]),i("div",qe,[h(p,{n:"xs","h-full":"","flex-auto":"","model-value":P.name,"onUpdate:modelValue":K=>C(P,K.target.value)},null,8,["model-value","onUpdate:modelValue"]),h($,{n:"red",icon:"carbon-trash-can","h-full":"","flex-none":"",title:"Remove file",onClick:K=>O(M)},null,8,["onClick"])])]))),128))]),i("div",Ge,[n.value.length?(a(),N($,{key:0,n:"red",onClick:d},{default:A(()=>[h(x,{icon:"carbon-clean"}),c[2]||(c[2]=j(" Clear "))]),_:1})):I("",!0),h($,{disabled:!n.value.length,n:"primary solid",onClick:D},{default:A(()=>[h(x,{icon:"carbon-cloud-upload"}),c[3]||(c[3]=j(" Upload "))]),_:1},8,["disabled"])])])):(a(),f("div",Me,[i("label",Oe,[h(x,{icon:"carbon-cloud-upload","mr-2":""}),c[1]||(c[1]=j(" Drop files here or click to select "))]),i("input",{id:"drop-zone-input",type:"file",multiple:"",hidden:"",onChange:c[0]||(c[0]=P=>_(P.target.files))},null,32)]))],2)}}});function ne(b){if(typeof b=="string")return`'${b}'`;const o=new We;return o.dispatch(b),o.serialized}const We=function(){class b{serialized="";#e=new Map;write(e){this.serialized+=e}dispatch(e){return this["$"+(e===null?"null":typeof e)].call(this,e)}compare(e,s){return typeof e=="string"&&typeof s=="string"?e.localeCompare(s):ne(e).localeCompare(ne(s))}objectEntries(e,s){const n=Array.from(s).sort((l,r)=>this.compare(l[0],r[0]));this.write(`${e}{`);for(let l=0;l<n.length;l++){const[r,y]=n[l];this.write(`${r}:`),this.dispatch(y),l<n.length-1&&this.write(",")}this.write("}")}$string(e){this.write("'"+e+"'")}$symbol(e){this.write(e.toString())}$bigint(e){this.write(`${e}n`)}$object(e){const s=Object.prototype.toString.call(e);let n="";const l=s.length;l<10?n="unknown:["+s+"]":n=s.slice(8,l-1);let r=null;if((r=this.#e.get(e))===void 0)this.#e.set(e,this.#e.size);else return this.write(`#${r}`);if(n!=="Object"&&n!=="Function"&&n!=="AsyncFunction"){const y=this["$"+n];if(y)y.call(this,e);else{if(typeof e?.entries=="function")return this.objectEntries(n,e.entries());throw new Error(`Cannot serialize ${n}`)}}else{const y=e.constructor.name,v=y==="Object"?"":y;return typeof e.toJSON=="function"?(v&&this.write(v),this.$object(e.toJSON())):this.objectEntries(v,Object.entries(e))}}$function(e){const s=Function.prototype.toString.call(e);if(s.slice(-15)==="[native code] }")return this.write(`${e.name||""}()[native]`);this.write(`${e.name}(${e.length})${s.replace(/\s*\n\s*/g,"")}`)}$Array(e){this.write("[");for(let s=0;s<e.length;s++)this.dispatch(e[s]),s<e.length-1&&this.write(",");this.write("]")}$Date(e){return this.write(`Date(${e.toJSON()})`)}$ArrayBuffer(e){this.write(`ArrayBuffer[${Array.prototype.slice.call(new Uint8Array(e)).join(",")}]`)}$Set(e){this.write("Set"),this.$Array(Array.from(e).sort((s,n)=>this.compare(s,n)))}$Map(e){return this.objectEntries("Map",e.entries())}}for(const o of["boolean","number","null","undefined"])b.prototype["$"+o]=function(e){return this.write(e)};for(const o of["Error","RegExp","URL"])b.prototype["$"+o]=function(e){return this.write(`${o}(${e.toString()})`)};for(const o of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])b.prototype["$"+o]=function(e){this.write(`${o}[${Array.prototype.slice.call(e).join(",")}]`)};for(const o of["BigInt64Array","BigUint64Array"])b.prototype["$"+o]=function(e){this.write(`${o}[${Array.prototype.slice.call(e).map(s=>`${s}n`).join(",")}]`)};return b}(),Xe=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],He=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],Ye="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",q=[];class Qe{_data=new H;_hash=new H([...Xe]);_nDataBytes=0;_minBufferSize=0;finalize(o){o&&this._append(o);const e=this._nDataBytes*8,s=this._data.sigBytes*8;return this._data.words[s>>>5]|=128<<24-s%32,this._data.words[(s+64>>>9<<4)+14]=Math.floor(e/4294967296),this._data.words[(s+64>>>9<<4)+15]=e,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(o,e){const s=this._hash.words;let n=s[0],l=s[1],r=s[2],y=s[3],v=s[4],_=s[5],D=s[6],O=s[7];for(let k=0;k<64;k++){if(k<16)q[k]=o[e+k]|0;else{const x=q[k-15],p=(x<<25|x>>>7)^(x<<14|x>>>18)^x>>>3,B=q[k-2],P=(B<<15|B>>>17)^(B<<13|B>>>19)^B>>>10;q[k]=p+q[k-7]+P+q[k-16]}const C=v&_^~v&D,d=n&l^n&r^l&r,g=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),u=(v<<26|v>>>6)^(v<<21|v>>>11)^(v<<7|v>>>25),c=O+u+C+He[k]+q[k],$=g+d;O=D,D=_,_=v,v=y+c|0,y=r,r=l,l=n,n=c+$|0}s[0]=s[0]+n|0,s[1]=s[1]+l|0,s[2]=s[2]+r|0,s[3]=s[3]+y|0,s[4]=s[4]+v|0,s[5]=s[5]+_|0,s[6]=s[6]+D|0,s[7]=s[7]+O|0}_append(o){typeof o=="string"&&(o=H.fromUtf8(o)),this._data.concat(o),this._nDataBytes+=o.sigBytes}_process(o){let e,s=this._data.sigBytes/64;o?s=Math.ceil(s):s=Math.max((s|0)-this._minBufferSize,0);const n=s*16,l=Math.min(n*4,this._data.sigBytes);if(n){for(let r=0;r<n;r+=16)this._doProcessBlock(this._data.words,r);e=this._data.words.splice(0,n),this._data.sigBytes-=l}return new H(e,l)}}class H{words;sigBytes;constructor(o,e){o=this.words=o||[],this.sigBytes=e===void 0?o.length*4:e}static fromUtf8(o){const e=unescape(encodeURIComponent(o)),s=e.length,n=[];for(let l=0;l<s;l++)n[l>>>2]|=(e.charCodeAt(l)&255)<<24-l%4*8;return new H(n,s)}toBase64(){const o=[];for(let e=0;e<this.sigBytes;e+=3){const s=this.words[e>>>2]>>>24-e%4*8&255,n=this.words[e+1>>>2]>>>24-(e+1)%4*8&255,l=this.words[e+2>>>2]>>>24-(e+2)%4*8&255,r=s<<16|n<<8|l;for(let y=0;y<4&&e*8+y*6<this.sigBytes*8;y++)o.push(Ye.charAt(r>>>6*(3-y)&63))}return o.join("")}concat(o){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let e=0;e<o.sigBytes;e++){const s=o.words[e>>>2]>>>24-e%4*8&255;this.words[this.sigBytes+e>>>2]|=s<<24-(this.sigBytes+e)%4*8}else for(let e=0;e<o.sigBytes;e+=4)this.words[this.sigBytes+e>>>2]=o.words[e>>>2];this.sigBytes+=o.sigBytes}}function et(b){return new Qe().finalize(b).toBase64()}function tt(b){return et(ne(b))}const nt=Z({__name:"AssetFontPreview",props:{asset:{}},setup(b){const o=b,e=z(()=>`devtools-assets-${tt(o.asset)}`);return ge(z(()=>`
|
|
2
|
-
@font-face {
|
|
3
|
-
font-family: '${e.value}';
|
|
4
|
-
src: url('${o.asset.publicPath}');
|
|
5
|
-
}
|
|
6
|
-
`)),(s,n)=>(a(),f("div",{"of-hidden":"",style:ue({fontFamily:`'${e.value}'`})}," Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz ",4))}}),ot={flex:"","items-center":"","justify-center":"","of-hidden":"","bg-active":"","object-cover":"",p1:""},st=["src"],it={key:2,"i-carbon-document":"","text-3xl":"",op20:""},lt={key:3,"w-full":"","self-start":"",p4:""},at=["textContent"],rt={key:4},ut=["src","autoplay","controls"],dt={key:5},ct={key:0,"i-carbon-volume-up":"","text-3xl":"",op20:""},pt=["src"],mt={key:6,"i-carbon-help":"","text-3xl":"",op20:""},de=Z({__name:"AssetPreview",props:{asset:{},textContent:{},detail:{type:Boolean}},setup(b){return(o,e)=>{const s=nt;return a(),f("div",ot,[o.asset.type==="image"?(a(),f("img",{key:0,src:o.asset.publicPath},null,8,st)):o.asset.type==="font"?(a(),N(s,{key:o.asset.publicPath,asset:o.asset,"self-stretch":"",p2:"","text-2xl":""},null,8,["asset"])):o.asset.type==="text"&&!o.textContent?(a(),f("div",it)):o.asset.type==="text"&&o.textContent?(a(),f("div",lt,[i("pre",{"max-h-10rem":"","of-hidden":"","text-xs":"","font-mono":"",textContent:S(o.textContent)},null,8,at)])):o.asset.type==="video"?(a(),f("div",rt,[i("video",{src:o.asset.publicPath,autoplay:o.detail,controls:o.detail},null,8,ut)])):o.asset.type==="audio"?(a(),f("div",dt,[o.detail?(a(),f("audio",{key:1,src:o.asset.publicPath,controls:""},null,8,pt)):(a(),f("div",ct))])):(a(),f("div",mt))])}}}),ft={relative:"",flex:"~ col gap-1",hover:"bg-active","items-center":"","of-hidden":"",rounded:"",p2:""},vt={"w-full":"","of-hidden":"",truncate:"","ws-nowrap":"","text-center":"","text-xs":""},ht=Z({__name:"AssetGridItem",props:{asset:{},folder:{}},setup(b){const o=b,e=z(()=>o.folder&&o.asset.path.startsWith(o.folder)?o.asset.path.slice(o.folder.length):o.asset.path);return(s,n)=>{const l=ie,r=de;return a(),f("button",ft,[s.asset.layer?(a(),N(l,{key:0,icon:"i-carbon-layers",absolute:"","right-4":"","top-4":"","bg-primary":""})):I("",!0),h(r,{"h-30":"","w-30":"",rounded:"",border:"~ base",asset:s.asset},null,8,["asset"]),i("div",vt,S(e.value),1)])}}}),ce=Z({__name:"AssetListItem",props:{item:{},index:{default:0},modelValue:{}},setup(b,{emit:o}){const e=b,n=oe(e,"modelValue",o,{passive:!0}),l=z(()=>e.item?.children?.length),r=T(!0),y=z(()=>l.value?"i-carbon-folder":e.item.type==="image"?"i-carbon-image":e.item.type==="video"?"i-carbon-video":e.item.type==="audio"?"i-carbon-volume-up":e.item.type==="font"?"i-carbon-text-small-caps":e.item.type==="text"?"i-carbon-document":e.item.type==="json"?"i-carbon-json":"i-carbon-document-blank");return(v,_)=>{const D=ie,O=ce;return a(),f("div",null,[i("button",{flex:"~ gap-2","w-full":"","items-center":"",hover:"bg-active",px4:"",py1:"",style:ue({paddingLeft:`calc(1rem + ${v.index*1.5}em)`}),class:Q({"bg-active":!l.value&&w(n)?.filePath===v.item?.filePath}),border:"b base",onClick:_[0]||(_[0]=k=>l.value?r.value=!r.value:n.value=v.item)},[i("div",{class:Q(y.value)},null,2),i("span",{class:Q({"flex items-center":l.value}),"flex-auto":"","text-start":"","text-sm":"","font-mono":""},[j(S(v.item.path)+" ",1),v.item.layer?(a(),N(D,{key:0,icon:"i-carbon-layers","bg-primary":""})):I("",!0)],2),l.value?(a(),N(D,{key:0,icon:"carbon:chevron-right","transform-rotate":r.value?90:0,transition:""},null,8,["transform-rotate"])):I("",!0)],6),r.value?Fe(v.$slots,"default",{key:0},()=>[(a(!0),f(L,null,G(v.item?.children,k=>(a(),N(O,{key:k.filepath,modelValue:w(n),"onUpdate:modelValue":_[1]||(_[1]=C=>Ne(n)?n.value=C:null),item:k,index:v.index+1},null,8,["modelValue","item","index"]))),128))]):I("",!0)])}}}),gt={flex:"~ col gap-4","min-h-full":"","w-full":"","of-hidden":"",p4:""},yt={flex:"~","items-center":"","justify-center":""},wt={"max-w-full":"","w-full":"","table-fixed":""},bt={flex:"~ gap-1","w-full":"","items-center":""},_t={flex:"~ gap-1","w-full":"","items-center":"","of-hidden":""},xt={"flex-auto":"","of-hidden":"",truncate:"","ws-pre":"","font-mono":""},$t={capitalize:""},kt={key:0},Ct={op70:""},At={flex:"~ gap2 wrap"},Bt={flex:"~ col gap-4","min-h-full":"","w-full":"","of-hidden":"",p8:""},Pt={flex:"~ gap2 wrap justify-center"},Vt={flex:"~ col gap-4","min-h-full":"","w-full":"","of-hidden":"",p8:""},Dt={flex:"~ gap2 wrap justify-center"},Ft={flex:"~ col gap-4","min-h-full":"","w-full":"","of-hidden":"",p4:""},Nt={flex:"","justify-end":"","gap-4":""},jt=Z({__name:"AssetDetails",props:{modelValue:{}},setup(b,{emit:o}){const n=oe(b,"modelValue",o,{passive:!0}),l=ae(async()=>{if(n.value.type==="image")return W.getImageMeta(await X(),n.value.filePath)}),r=T(!1),y=T(),v=T(0),_=ae(async()=>{if(n.value.type!=="text")return;v.value;const m=await W.getTextAssetContent(await X(),n.value.filePath);return y.value=m,m});async function D(){if(_.value!==y.value)try{await W.writeStaticAssets(await X(),[{path:n.value.path,content:y.value,override:!0}],""),r.value=!1,v.value++,R({message:"Updated",icon:"i-carbon-checkmark",classes:"text-green"})}catch(m){console.error(m),R({message:"Something went wrong!",icon:"i-carbon-warning",classes:"text-red"})}}const O=ye(),k=z(()=>(O.value?._installedModules||[]).some(t=>t.meta?.name==="@nuxt/image"||t.meta?.name==="@nuxt/image-edge"||t.meta?.name==="@nuxt/image-nightly")),C=z(()=>{const m=[];if(n.value.type==="image"){const t=l.value?.width?`
|
|
7
|
-
width="${l.value.width}"
|
|
8
|
-
height="${l.value.height}" `:" ";return m.push({lang:"vue-html",code:`<img${t}
|
|
9
|
-
src="${n.value.publicPath}"
|
|
10
|
-
/>`,name:"Plain Image"}),k.value&&m.push({lang:"vue-html",code:`<NuxtImg${t}
|
|
11
|
-
src="${n.value.publicPath}"
|
|
12
|
-
/>`,name:"Nuxt Img",docs:"https://image.nuxt.com/usage/nuxt-img"},{lang:"vue-html",code:`<NuxtPicture${t}
|
|
13
|
-
src="${n.value.publicPath}"
|
|
14
|
-
/>`,name:"Nuxt Picture",docs:"https://image.nuxt.com/usage/nuxt-picture"}),m}return m.push({lang:"html",code:`<a download href="${n.value.publicPath}">
|
|
15
|
-
Download ${n.value.path.split("/").slice(-1)[0]}
|
|
16
|
-
</a>`,name:"Download link"}),m}),d=we(),g=be(),u=_e(()=>n.value.mtime),c=z(()=>{const m=n.value.size;return m<1024?`${m} B`:m<1024*1024?`${(m/1024).toFixed(2)} KB`:`${(m/1024/1024).toFixed(2)} MB`}),$=z(()=>{if(!l.value?.width||!l.value?.height)return"";const m=(V,E)=>E?m(E,V%E):V,t=m(l.value.width,l.value.height);return t>3?`${l.value.width/t}:${l.value.height/t}`:""}),x=z(()=>["image","text","video","audio","font"].includes(n.value.type)),p=T(!1);async function B(){try{await W.deleteStaticAsset(await X(),n.value.filePath),n.value=void 0,p.value=!1,R({message:"Asset deleted",icon:"i-carbon-checkmark",classes:"text-green"})}catch(m){console.error(m),R({message:"Something went wrong!",icon:"i-carbon-warning",classes:"text-red"})}}const P=T(!1),M=T("");async function K(){const m=n.value.filePath.split("/"),t=m.slice(-1)[0].split(".").slice(0,-1).join(".");if(!M.value||M.value===t)return R({message:"Please enter a new name",icon:"i-carbon-warning",classes:"text-orange"});try{const V=m.slice(-1)[0].split(".").slice(-1)[0],E=`${m.slice(0,-1).join("/")}/${M.value}.${V}`;await W.renameStaticAsset(await X(),n.value.filePath,E),n.value=void 0,P.value=!1,R({message:"Asset renamed",icon:"i-carbon-checkmark",classes:"text-green"})}catch(V){console.error(V),R({message:"Something went wrong!",icon:"i-carbon-warning",classes:"text-red"})}}return(m,t)=>{const V=de,E=Ie,U=se,pe=ze,ee=xe,me=re,te=le("tooltip");return a(),f(L,null,[i("div",gt,[x.value?(a(),f(L,{key:0},[t[13]||(t[13]=i("div",{flex:"~ gap2","mb--2":"","items-center":"",op50:""},[i("div",{"x-divider":""}),i("div",{"flex-none":""}," Preview "),i("div",{"x-divider":""})],-1)),i("div",yt,[h(V,{detail:"","max-h-80":"","min-h-20":"","min-w-20":"","w-auto":"",rounded:"",border:"~ base",asset:w(n),"text-content":w(_)},null,8,["asset","text-content"])])],64)):I("",!0),t[25]||(t[25]=i("div",{flex:"~ gap2","mb--2":"","items-center":"",op50:""},[i("div",{"x-divider":""}),i("div",{"flex-none":""}," Details "),i("div",{"x-divider":""})],-1)),i("table",wt,[i("tbody",null,[i("tr",null,[t[14]||(t[14]=i("td",{"w-30":"","ws-nowrap":"",pr5:"","text-right":"",op50:""}," Filepath ",-1)),i("td",null,[i("div",bt,[h(E,{filepath:w(n).filePath,"text-left":""},null,8,["filepath"]),J(h(U,{"flex-none":"",title:"Open in Editor",icon:"carbon-launch",border:!1,onClick:t[0]||(t[0]=F=>w(g)(w(n).filePath))},null,512),[[te,"Open in Editor"]])])])]),i("tr",null,[t[15]||(t[15]=i("td",{"w-30":"","ws-nowrap":"",pr5:"","text-right":"",op50:""}," Public Path ",-1)),i("td",null,[i("div",_t,[i("div",xt,S(w(n).publicPath),1),J(h(U,{"flex-none":"",title:"Copy public path",icon:"carbon-copy",border:!1,onClick:t[1]||(t[1]=F=>w(d)(w(n).publicPath,"assets-public-path"))},null,512),[[te,"Copy public path"]]),J(h(U,{"flex-none":"",to:w(n).publicPath,icon:"carbon-launch",target:"_blank",border:!1,title:"Open in browser"},null,8,["to"]),[[te,"Open in browser"]])])])]),i("tr",null,[t[16]||(t[16]=i("td",{"w-30":"","ws-nowrap":"",pr5:"","text-right":"",op50:""}," Type ",-1)),i("td",$t,S(w(n).type),1)]),w(l)?.width?(a(),f(L,{key:0},[i("tr",null,[t[17]||(t[17]=i("td",{"w-30":"","ws-nowrap":"",pr5:"","text-right":"",op50:""}," Image Size ",-1)),i("td",null,S(w(l).width)+" x "+S(w(l).height),1)]),$.value?(a(),f("tr",kt,[t[18]||(t[18]=i("td",{"w-30":"","ws-nowrap":"",pr5:"","text-right":"",op50:""}," Aspect Ratio ",-1)),i("td",null,S($.value),1)])):I("",!0)],64)):I("",!0),i("tr",null,[t[19]||(t[19]=i("td",{"w-30":"","ws-nowrap":"",pr5:"","text-right":"",op50:""}," File size ",-1)),i("td",null,S(c.value),1)]),i("tr",null,[t[20]||(t[20]=i("td",{"w-30":"","ws-nowrap":"",pr5:"","text-right":"",op50:""}," Last modified ",-1)),i("td",null,[j(S(new Date(w(n).mtime).toLocaleString())+" ",1),i("span",Ct,"("+S(w(u))+")",1)])])])]),t[26]||(t[26]=i("div",{flex:"~ gap2","mb--2":"","items-center":"",op50:""},[i("div",{"x-divider":""}),i("div",{"flex-none":""}," Actions "),i("div",{"x-divider":""})],-1)),i("div",At,[h(U,{to:w(n).publicPath,download:"",target:"_blank",icon:"carbon-download",n:"green"},{default:A(()=>t[21]||(t[21]=[j(" Download ")])),_:1},8,["to"]),w(n).type==="text"?(a(),N(U,{key:0,icon:"carbon-edit",n:"cyan",onClick:t[2]||(t[2]=F=>r.value=!r.value)},{default:A(()=>t[22]||(t[22]=[j(" Edit ")])),_:1})):I("",!0),h(U,{icon:"carbon-text-annotation-toggle",n:"blue",onClick:t[3]||(t[3]=F=>P.value=!P.value)},{default:A(()=>t[23]||(t[23]=[j(" Rename ")])),_:1}),h(U,{icon:"carbon-delete",n:"red",onClick:t[4]||(t[4]=F=>p.value=!p.value)},{default:A(()=>t[24]||(t[24]=[j(" Delete ")])),_:1})]),t[27]||(t[27]=i("div",{"flex-auto":""},null,-1)),C.value.length?(a(),N(pe,{key:1,border:"t base","mx--4":"","mb--4":"","code-snippets":C.value},null,8,["code-snippets"])):I("",!0)]),h(ee,{modelValue:p.value,"onUpdate:modelValue":t[6]||(t[6]=F=>p.value=F)},{default:A(()=>[i("div",Bt,[t[30]||(t[30]=i("span",null," Are you sure you want to delete this asset? ",-1)),i("div",Pt,[h(U,{icon:"carbon-close",onClick:t[5]||(t[5]=F=>p.value=!1)},{default:A(()=>t[28]||(t[28]=[j(" Cancel ")])),_:1}),h(U,{icon:"carbon-delete",n:"red",onClick:B},{default:A(()=>t[29]||(t[29]=[j(" Delete ")])),_:1})])])]),_:1},8,["modelValue"]),h(ee,{modelValue:P.value,"onUpdate:modelValue":t[9]||(t[9]=F=>P.value=F)},{default:A(()=>[i("div",Vt,[h(me,{modelValue:M.value,"onUpdate:modelValue":t[7]||(t[7]=F=>M.value=F),placeholder:"New name",n:"blue"},null,8,["modelValue"]),i("div",Dt,[h(U,{icon:"carbon-close",onClick:t[8]||(t[8]=F=>P.value=!1)},{default:A(()=>t[31]||(t[31]=[j(" Cancel ")])),_:1}),h(U,{icon:"carbon-text-annotation-toggle",n:"blue",onClick:K},{default:A(()=>t[32]||(t[32]=[j(" Rename ")])),_:1})])])]),_:1},8,["modelValue"]),w(n).type==="text"?(a(),N(ee,{key:0,modelValue:r.value,"onUpdate:modelValue":t[12]||(t[12]=F=>r.value=F)},{default:A(()=>[i("div",Ft,[J(i("textarea",{"onUpdate:modelValue":t[10]||(t[10]=F=>y.value=F),placeholder:"Item value...",class:"h-lg w-xl of-auto rounded-lg p-4 text-sm font-mono outline-none",onKeydown:je(D,["enter"])},null,544),[[Se,y.value]]),i("div",Nt,[h(U,{icon:"carbon-close",onClick:t[11]||(t[11]=F=>r.value=!1)},{default:A(()=>t[33]||(t[33]=[j(" Cancel ")])),_:1}),h(U,{icon:"carbon:save",n:"primary",onClick:D},{default:A(()=>t[34]||(t[34]=[j(" save ")])),_:1})])])]),_:1},8,["modelValue"])):I("",!0)],64)}}}),St={"h-full":"","of-auto":""},Ut={"flex-none":"",flex:"~ gap2 items-center","text-lg":""},It={flex:"~ items-center justify-center",absolute:"","bottom--1":"","right--1":"","h-4":"","w-4":"","rounded-full":"","bg-primary:30":"","text-8px":""},zt={flex:"~ col","w-30":"","of-auto":""},Et={"text-xs":"",op75:""},Tt={op50:""},Mt={key:0},Ot={"mt--4":"",px2:"",grid:"~ cols-minmax-8rem"},Lt={key:1,p2:"",grid:"~ cols-minmax-8rem"},Rt={key:1},ln=Z({__name:"assets",setup(b){const o=$e(),e=T(!1),s=T(""),n=z(()=>new ke(o.value||[],{keys:["path"]})),l=Ce(()=>{const C=[];for(const d of o.value||[]){const g=d.path.split(".").pop();g&&!C.find(u=>u.name===g)&&C.push({name:g,value:!0})}return C}),r=z(()=>(s.value?n.value.search(s.value).map(d=>d.item):o.value||[]).filter(d=>{const g=d.path.split(".").pop();return!g||l.some(u=>u.name===g&&u.value)})),y=z(()=>{const C={};for(const d of r.value){const g=`${d.path.split("/").slice(0,-1).join("/")}/`;C[g]||(C[g]=[]),C[g].push(d)}return Object.entries(C).sort(([d],[g])=>d.localeCompare(g))}),v=z(()=>{const C={path:"public",children:[]},d=(g,u,c)=>{const[$,...x]=u;let p=g.children.find(B=>B.path===$);p||(p={...c,path:$,children:[]},g.children.push(p)),x.length>1?d(p,x,c):x.length===1&&p.children.push({...c,path:x[0]})};return r.value.forEach(g=>{const u=g.path.split("/").filter(c=>c!=="");d(C,u,g)}),C.children}),_=T(),{view:D}=Ae("assets");function O(){D.value=D.value==="list"?"grid":"list"}Be("Escape",()=>{_.value=void 0});const k=T();return(C,d)=>{const g=se,u=Pe,c=Ve,$=De,x=Ze,p=ht,B=Ue,P=ce,M=jt,K=Ee,m=le("tooltip");return a(),f("div",St,[h($,{ref_key:"navbar",ref:k,search:s.value,"onUpdate:search":d[1]||(d[1]=t=>s.value=t),pb2:""},{actions:A(()=>[i("div",Ut,[J(h(g,{icon:"carbon:cloud-upload",title:"File Upload",border:!1,onClick:d[0]||(d[0]=t=>e.value=!e.value)},null,512),[[m,"File Upload",void 0,{"bottom-end":!0}]]),w(l).length?(a(),N(c,{key:0,direction:"end",n:"sm primary"},{trigger:A(({click:t})=>[J(h(g,{icon:"carbon-filter",border:!1,title:"Filter",p3:"","text-lg":"",onClick:V=>t()},null,8,["onClick"]),[[m,"Filter",void 0,{"bottom-end":!0}]]),i("span",It,S(w(l).length),1)]),default:A(()=>[i("div",zt,[(a(!0),f(L,null,G(w(l),t=>(a(),N(u,{key:t.name,modelValue:t.value,"onUpdate:modelValue":V=>t.value=V,flex:"~ gap-2",rounded:"",px2:"",py2:""},{default:A(()=>[i("span",Et,S(t.name),1)]),_:2},1032,["modelValue","onUpdate:modelValue"]))),128))])]),_:1})):I("",!0),J(h(g,{"text-lg":"",border:!1,icon:w(D)==="grid"?"i-carbon-list":"i-carbon-grid",title:"Toggle view",onClick:O},null,8,["icon"]),[[m,"Toggle View",void 0,{"bottom-end":!0}]])])]),default:A(()=>[i("div",Tt,[s.value?(a(),f("span",Mt,S(r.value.length)+" matched · ",1)):I("",!0),i("span",null,S(w(o)?.length)+" assets in total",1)])]),_:1},8,["search"]),h(x,{modelValue:e.value,"onUpdate:modelValue":d[2]||(d[2]=t=>e.value=t),folder:"/"},null,8,["modelValue"]),w(D)==="grid"?(a(),f(L,{key:0},[y.value.length>1?(a(!0),f(L,{key:0},G(y.value,([t,V])=>(a(),N(B,{key:t,text:t,description:`${V.length} items`,open:V.length<=w(Te),padding:!1},{default:A(()=>[i("div",Ot,[(a(!0),f(L,null,G(V,E=>(a(),N(p,{key:E.path,asset:E,folder:t,onClick:U=>_.value=E},null,8,["asset","folder","onClick"]))),128))])]),_:2},1032,["text","description","open"]))),128)):(a(),f("div",Lt,[(a(!0),f(L,null,G(r.value,t=>(a(),N(p,{key:t.path,asset:t,onClick:V=>_.value=t},null,8,["asset","onClick"]))),128))]))],64)):(a(),f("div",Rt,[(a(!0),f(L,null,G(v.value,(t,V)=>(a(),N(P,{key:V,modelValue:_.value,"onUpdate:modelValue":d[3]||(d[3]=E=>_.value=E),item:t},null,8,["modelValue","item"]))),128))])),h(K,{"model-value":!!_.value,"auto-close":"","w-120":"",top:k.value,onClose:d[5]||(d[5]=t=>_.value=void 0)},{default:A(()=>[_.value?(a(),N(M,{key:0,modelValue:_.value,"onUpdate:modelValue":d[4]||(d[4]=t=>_.value=t)},null,8,["modelValue"])):I("",!0)]),_:1},8,["model-value","top"])])}}});export{ln as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"id":"bb0232af-3ede-4a7a-91e4-f1381bfe6a29","timestamp":1740717931231,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
|