vue-json-pretty
Version:
A JSON tree view component that is easy to use and also supports data selection.
1 lines • 24.6 kB
JavaScript
import*as e from"vue";var t={207:(e,t,n)=>{e.exports=n(452)},452:e=>{var t=function(e){var t,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var o=t&&t.prototype instanceof v?t:v,a=Object.create(o.prototype),i=new V(r||[]);return a._invoke=function(e,t,n){var r=d;return function(o,a){if(r===f)throw new Error("Generator is already running");if(r===p){if("throw"===o)throw a;return P()}for(n.method=o,n.arg=a;;){var i=n.delegate;if(i){var c=S(i,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===d)throw r=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var l=s(e,t,n);if("normal"===l.type){if(r=n.done?p:h,l.arg===y)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r=p,n.method="throw",n.arg=l.arg)}}}(e,n,i),a}function s(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d="suspendedStart",h="suspendedYield",f="executing",p="completed",y={};function v(){}function g(){}function m(){}var b={};l(b,a,(function(){return this}));var w=Object.getPrototypeOf,N=w&&w(w(L([])));N&&N!==n&&r.call(N,a)&&(b=N);var k=m.prototype=v.prototype=Object.create(b);function C(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function j(e,t){function n(o,a,i,c){var l=s(e[o],e,a);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,i,c)}),(function(e){n("throw",e,i,c)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return n("throw",e,i,c)}))}c(l.arg)}var o;this._invoke=function(e,r){function a(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(a,a):a()}}function S(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,S(e,n),"throw"===n.method))return y;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var o=s(r,e.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,y;var a=o.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,y):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function V(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function L(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function n(){for(;++o<e.length;)if(r.call(e,o))return n.value=e[o],n.done=!1,n;return n.value=t,n.done=!0,n};return i.next=i}}return{next:P}}function P(){return{value:t,done:!0}}return g.prototype=m,l(k,"constructor",m),l(m,"constructor",g),g.displayName=l(m,c,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,l(e,c,"GeneratorFunction")),e.prototype=Object.create(k),e},e.awrap=function(e){return{__await:e}},C(j.prototype),l(j.prototype,i,(function(){return this})),e.AsyncIterator=j,e.async=function(t,n,r,o,a){void 0===a&&(a=Promise);var i=new j(u(t,n,r,o),a);return e.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},C(k),l(k,c,"Generator"),l(k,a,(function(){return this})),l(k,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=L,V.prototype={constructor:V,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(x),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function o(r,o){return c.type="throw",c.arg=e,n.next=r,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(l&&u){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),x(n),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:L(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),y}},e}(e.exports);try{regeneratorRuntime=t}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,r),a.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var o={};function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function i(e,t){if(e){if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function c(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||i(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}r.d(o,{A:()=>L});const u=(f={Fragment:()=>e.Fragment,computed:()=>e.computed,createTextVNode:()=>e.createTextVNode,createVNode:()=>e.createVNode,defineComponent:()=>e.defineComponent,reactive:()=>e.reactive,ref:()=>e.ref,watch:()=>e.watch,watchEffect:()=>e.watchEffect},p={},r.d(p,f),p),s=(0,u.defineComponent)({props:{data:{required:!0,type:String},onClick:Function},render:function(){var e=this.data,t=this.onClick;return(0,u.createVNode)("span",{class:"vjs-tree-brackets",onClick:t},[e])}}),d=(0,u.defineComponent)({emits:["change","update:modelValue"],props:{checked:{type:Boolean,default:!1},isMultiple:Boolean,onChange:Function},setup:function(e,t){var n=t.emit;return{uiType:(0,u.computed)((function(){return e.isMultiple?"checkbox":"radio"})),model:(0,u.computed)({get:function(){return e.checked},set:function(e){return n("update:modelValue",e)}})}},render:function(){var e=this.uiType,t=this.model,n=this.$emit;return(0,u.createVNode)("label",{class:["vjs-check-controller",t?"is-checked":""],onClick:function(e){return e.stopPropagation()}},[(0,u.createVNode)("span",{class:"vjs-check-controller-inner is-".concat(e)},null),(0,u.createVNode)("input",{checked:t,class:"vjs-check-controller-original is-".concat(e),type:e,onChange:function(){return n("change",t)}},null)])}}),h=(0,u.defineComponent)({props:{nodeType:{required:!0,type:String},onClick:Function},render:function(){var e=this.nodeType,t=this.onClick,n="objectStart"===e||"arrayStart"===e;return n||"objectCollapsed"===e||"arrayCollapsed"===e?(0,u.createVNode)("span",{class:"vjs-carets vjs-carets-".concat(n?"open":"close"),onClick:t},[(0,u.createVNode)("svg",{viewBox:"0 0 1024 1024",focusable:"false","data-icon":"caret-down",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},[(0,u.createVNode)("path",{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"},null)])]):null}});var f,p;function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function v(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function g(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"root",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=(arguments.length>3?arguments[3]:void 0)||{},o=r.key,a=r.index,i=r.type,c=void 0===i?"content":i,l=r.showComma,u=void 0!==l&&l,s=r.length,d=void 0===s?1:s,h=v(e);if("array"===h){var f=m(e.map((function(e,r,o){return g(e,"".concat(t,"[").concat(r,"]"),n+1,{index:r,showComma:r!==o.length-1,length:d,type:c})})));return[g("[",t,n,{showComma:!1,key:o,length:e.length,type:"arrayStart"})[0]].concat(f,g("]",t,n,{showComma:u,length:e.length,type:"arrayEnd"})[0])}if("object"===h){var p=Object.keys(e),y=m(p.map((function(r,o,a){return g(e[r],/^[a-zA-Z_]\w*$/.test(r)?"".concat(t,".").concat(r):"".concat(t,'["').concat(r,'"]'),n+1,{key:r,showComma:o!==a.length-1,length:d,type:c})})));return[g("{",t,n,{showComma:!1,key:o,index:a,length:p.length,type:"objectStart"})[0]].concat(y,g("}",t,n,{showComma:u,length:p.length,type:"objectEnd"})[0])}return[{content:e,level:n,key:o,index:a,path:t,showComma:u,length:d,type:c}]}function m(e){if("function"==typeof Array.prototype.flat)return e.flat();for(var t=c(e),n=[];t.length;){var r=t.shift();Array.isArray(r)?t.unshift.apply(t,c(r)):n.push(r)}return n}function b(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if(null==e)return e;if(e instanceof Date)return new Date(e);if(e instanceof RegExp)return new RegExp(e);if("object"!==y(e))return e;if(t.get(e))return t.get(e);if(Array.isArray(e)){var n=e.map((function(e){return b(e,t)}));return t.set(e,n),n}var r={};for(var o in e)r[o]=b(e[o],t);return t.set(e,r),r}function w(e,t,n,r,o,a,i){try{var c=e[a](i),l=c.value}catch(e){return void n(e)}c.done?t(l):Promise.resolve(l).then(r,o)}var N=r(207),k=r.n(N);function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function j(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?C(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):C(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var S={data:{type:[String,Number,Boolean,Array,Object],default:null},rootPath:{type:String,default:"root"},indent:{type:Number,default:2},showLength:{type:Boolean,default:!1},showDoubleQuotes:{type:Boolean,default:!0},renderNodeKey:Function,renderNodeValue:Function,renderNodeActions:{type:[Boolean,Function],default:void 0},selectableType:String,showSelectController:{type:Boolean,default:!1},showLine:{type:Boolean,default:!0},showLineNumber:{type:Boolean,default:!1},selectOnClickNode:{type:Boolean,default:!0},nodeSelectable:{type:Function,default:function(){return!0}},highlightSelectedNode:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!1},theme:{type:String,default:"light"},showKeyValueSpace:{type:Boolean,default:!0},editable:{type:Boolean,default:!1},editableTrigger:{type:String,default:"click"},onNodeClick:{type:Function},onNodeMouseover:{type:Function},onBracketsClick:{type:Function},onIconClick:{type:Function},onValueChange:{type:Function}};const O=(0,u.defineComponent)({name:"TreeNode",props:j(j({},S),{},{node:{type:Object,required:!0},collapsed:Boolean,checked:Boolean,style:Object,onSelectedChange:{type:Function}}),emits:["nodeClick","nodeMouseover","bracketsClick","iconClick","selectedChange","valueChange"],setup:function(e,t){var n=t.emit,r=(0,u.computed)((function(){return v(e.node.content)})),o=(0,u.computed)((function(){return"vjs-value vjs-value-".concat(r.value)})),a=(0,u.computed)((function(){return e.showDoubleQuotes?'"'.concat(e.node.key,'"'):e.node.key})),i=(0,u.computed)((function(){return"multiple"===e.selectableType})),c=(0,u.computed)((function(){return"single"===e.selectableType})),f=(0,u.computed)((function(){return e.nodeSelectable(e.node)&&(i.value||c.value)})),p=(0,u.reactive)({editing:!1}),y=function(t){var r,o,a="null"===(o=null===(r=t.target)||void 0===r?void 0:r.value)?null:"undefined"===o?void 0:"true"===o||"false"!==o&&(o[0]+o[o.length-1]==='""'||o[0]+o[o.length-1]==="''"?o.slice(1,-1):"number"==typeof Number(o)&&!isNaN(Number(o))||"NaN"===o?Number(o):o);n("valueChange",a,e.node.path)},g=(0,u.computed)((function(){var t,n=null===(t=e.node)||void 0===t?void 0:t.content;return null===n?n="null":void 0===n&&(n="undefined"),"string"===r.value?'"'.concat(n,'"'):n+""})),m=function(){var t=e.renderNodeValue;return t?t({node:e.node,defaultValue:g.value}):g.value},b=function(){n("bracketsClick",!e.collapsed,e.node)},N=function(){n("iconClick",!e.collapsed,e.node)},C=function(){n("selectedChange",e.node)},j=function(){n("nodeClick",e.node),f.value&&e.selectOnClickNode&&n("selectedChange",e.node)},S=function(){n("nodeMouseover",e.node)},O=function(t){if(e.editable&&!p.editing){p.editing=!0;var n=function e(n){var r;n.target!==t.target&&(null===(r=n.target)||void 0===r?void 0:r.parentElement)!==t.target&&(p.editing=!1,document.removeEventListener("click",e))};document.removeEventListener("click",n),document.addEventListener("click",n)}},x=function(){var e=(0,u.ref)(!1),t=function(){var t,n=(t=k().mark((function t(n){return k().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,navigator.clipboard.writeText(n);case 3:e.value=!0,setTimeout((function(){e.value=!1}),300),t.next=10;break;case 7:t.prev=7,t.t0=t.catch(0),console.error("[vue-json-pretty] Copy failed: ",t.t0);case 10:case"end":return t.stop()}}),t,null,[[0,7]])})),function(){var e=this,n=arguments;return new Promise((function(r,o){var a=t.apply(e,n);function i(e){w(a,r,o,i,c,"next",e)}function c(e){w(a,r,o,i,c,"throw",e)}i(void 0)}))});return function(e){return n.apply(this,arguments)}}();return{copy:t}}().copy,V=function(){var t=e.node,n=t.key,r=t.path,o=e.rootPath,a=new Function("data","return data".concat(r.slice(o.length)))(e.data),i=JSON.stringify(n?l({},n,a):a,null,2);x(i)},L=function(){var t=e.renderNodeActions;if(!t)return null;var n={copy:V};return"function"==typeof t?t({node:e.node,defaultActions:n}):(0,u.createVNode)("span",{onClick:V,class:"vjs-tree-node-actions-item"},[(0,u.createTextVNode)("copy")])};return function(){var t,n=e.node;return(0,u.createVNode)("div",{class:{"vjs-tree-node":!0,"has-selector":e.showSelectController,"has-carets":e.showIcon,"is-highlight":e.highlightSelectedNode&&e.checked,dark:"dark"===e.theme},onClick:j,onMouseover:S,style:e.style},[e.showLineNumber&&(0,u.createVNode)("span",{class:"vjs-node-index"},[n.id+1]),e.showSelectController&&f.value&&"objectEnd"!==n.type&&"arrayEnd"!==n.type&&(0,u.createVNode)(d,{isMultiple:i.value,checked:e.checked,onChange:C},null),(0,u.createVNode)("div",{class:"vjs-indent"},[Array.from(Array(n.level)).map((function(t,n){return(0,u.createVNode)("div",{key:n,class:{"vjs-indent-unit":!0,"has-line":e.showLine}},[Array.from(Array(e.indent)).map((function(){return(0,u.createVNode)(u.Fragment,null,[(0,u.createTextVNode)(" ")])}))])})),e.showIcon&&(0,u.createVNode)(h,{nodeType:n.type,onClick:N},null)]),n.key&&(0,u.createVNode)("span",{class:"vjs-key"},[(t=e.renderNodeKey,t?t({node:e.node,defaultKey:a.value||""}):a.value),(0,u.createVNode)("span",{class:"vjs-colon"},[":".concat(e.showKeyValueSpace?" ":"")])]),(0,u.createVNode)("span",null,["content"!==n.type&&n.content?(0,u.createVNode)(s,{data:n.content.toString(),onClick:b},null):(0,u.createVNode)("span",{class:o.value,onClick:!e.editable||e.editableTrigger&&"click"!==e.editableTrigger?void 0:O,onDblclick:e.editable&&"dblclick"===e.editableTrigger?O:void 0},[e.editable&&p.editing?(0,u.createVNode)("input",{value:g.value,onChange:y,style:{padding:"3px 8px",border:"1px solid #eee",boxShadow:"none",boxSizing:"border-box",borderRadius:5,fontFamily:"inherit"}},null):m()]),n.showComma&&(0,u.createVNode)("span",null,[","]),e.showLength&&e.collapsed&&(0,u.createVNode)("span",{class:"vjs-comment"},[(0,u.createTextVNode)(" // "),n.length,(0,u.createTextVNode)(" items ")])]),e.renderNodeActions&&(0,u.createVNode)("span",{class:"vjs-tree-node-actions"},[L()])])}}});function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?x(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}const L=(0,u.defineComponent)({name:"Tree",props:V(V({},S),{},{collapsedNodeLength:{type:Number,default:1/0},deep:{type:Number,default:1/0},pathCollapsible:{type:Function,default:function(){return!1}},virtual:{type:Boolean,default:!1},height:{type:Number,default:400},itemHeight:{type:Number,default:20},selectedValue:{type:[String,Array],default:function(){return""}},collapsedOnClickBrackets:{type:Boolean,default:!0},style:Object,onSelectedChange:{type:Function},theme:{type:String,default:"light"}}),slots:["renderNodeKey","renderNodeValue","renderNodeActions"],emits:["nodeClick","nodeMouseover","bracketsClick","iconClick","selectedChange","update:selectedValue","update:data"],setup:function(e,t){var n=t.emit,r=t.slots,o=(0,u.ref)(),a=(0,u.computed)((function(){return g(e.data,e.rootPath)})),s=function(t,n){return a.value.reduce((function(r,o){var a,i=o.level>=t||o.length>=n,c=null===(a=e.pathCollapsible)||void 0===a?void 0:a.call(e,o);return"objectStart"!==o.type&&"arrayStart"!==o.type||!i&&!c?r:V(V({},r),{},l({},o.path,1))}),{})},d=(0,u.reactive)({translateY:0,visibleData:null,hiddenPaths:s(e.deep,e.collapsedNodeLength)}),h=(0,u.computed)((function(){for(var e=null,t=[],n=a.value.length,r=0;r<n;r++){var o=V(V({},a.value[r]),{},{id:r}),i=d.hiddenPaths[o.path];if(e&&e.path===o.path){var c="objectStart"===e.type,l=V(V(V({},o),e),{},{showComma:o.showComma,content:c?"{...}":"[...]",type:c?"objectCollapsed":"arrayCollapsed"});e=null,t.push(l)}else{if(i&&!e){e=o;continue}if(e)continue;t.push(o)}}return t})),f=(0,u.computed)((function(){var t=e.selectedValue;return t&&"multiple"===e.selectableType&&Array.isArray(t)?t:[t]})),p=(0,u.computed)((function(){return!e.selectableType||e.selectOnClickNode||e.showSelectController?"":"When selectableType is not null, selectOnClickNode and showSelectController cannot be false at the same time, because this will cause the selection to fail."})),y=function(){var t=h.value;if(e.virtual){var n,r=e.height/e.itemHeight,a=(null===(n=o.value)||void 0===n?void 0:n.scrollTop)||0,i=Math.floor(a/e.itemHeight),c=i<0?0:i+r>t.length?t.length-r:i;c<0&&(c=0);var l=c+r;d.translateY=c*e.itemHeight,d.visibleData=t.filter((function(e,t){return t>=c&&t<l}))}else d.visibleData=t},v=function(){y()},m=function(t){var r,o,a=t.path,l=e.selectableType;if("multiple"===l){var u=f.value.findIndex((function(e){return e===a})),s=c(f.value);-1!==u?s.splice(u,1):s.push(a),n("update:selectedValue",s),n("selectedChange",s,c(f.value))}else if("single"===l&&f.value[0]!==a){var d=(r=f.value,o=1,function(e){if(Array.isArray(e))return e}(r)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,c=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){c=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(c)throw o}}return a}}(r,o)||i(r,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],h=a;n("update:selectedValue",h),n("selectedChange",h,d)}},w=function(e){n("nodeClick",e)},N=function(e){n("nodeMouseover",e)},k=function(e,t){if(e)d.hiddenPaths=V(V({},d.hiddenPaths),{},l({},t,1));else{var n=V({},d.hiddenPaths);delete n[t],d.hiddenPaths=n}},C=function(t,r){e.collapsedOnClickBrackets&&k(t,r.path),n("bracketsClick",t,r)},j=function(e,t){k(e,t.path),n("iconClick",e,t)},S=function(t,r){var o=b(e.data),a=e.rootPath;new Function("data","val","data".concat(r.slice(a.length),"=val"))(o,t),n("update:data",o)};return(0,u.watchEffect)((function(){p.value&&function(e){throw new Error("[VueJSONPretty] ".concat(e))}(p.value)})),(0,u.watchEffect)((function(){h.value&&y()})),(0,u.watch)((function(){return e.deep}),(function(t){t&&(d.hiddenPaths=s(t,e.collapsedNodeLength))})),(0,u.watch)((function(){return e.collapsedNodeLength}),(function(t){t&&(d.hiddenPaths=s(e.deep,t))})),function(){var t,n,i,c,l=null!==(t=e.renderNodeKey)&&void 0!==t?t:r.renderNodeKey,s=null!==(n=e.renderNodeValue)&&void 0!==n?n:r.renderNodeValue,p=null!==(i=null!==(c=e.renderNodeActions)&&void 0!==c?c:r.renderNodeActions)&&void 0!==i&&i,y=d.visibleData&&d.visibleData.map((function(t){return(0,u.createVNode)(O,{key:t.id,data:e.data,rootPath:e.rootPath,indent:e.indent,node:t,collapsed:!!d.hiddenPaths[t.path],theme:e.theme,showDoubleQuotes:e.showDoubleQuotes,showLength:e.showLength,checked:f.value.includes(t.path),selectableType:e.selectableType,showLine:e.showLine,showLineNumber:e.showLineNumber,showSelectController:e.showSelectController,selectOnClickNode:e.selectOnClickNode,nodeSelectable:e.nodeSelectable,highlightSelectedNode:e.highlightSelectedNode,editable:e.editable,editableTrigger:e.editableTrigger,showIcon:e.showIcon,showKeyValueSpace:e.showKeyValueSpace,renderNodeKey:l,renderNodeValue:s,renderNodeActions:p,onNodeClick:w,onNodeMouseover:N,onBracketsClick:C,onIconClick:j,onSelectedChange:m,onValueChange:S,style:e.itemHeight&&20!==e.itemHeight?{lineHeight:"".concat(e.itemHeight,"px")}:{}},null)}));return(0,u.createVNode)("div",{ref:o,class:{"vjs-tree":!0,"is-virtual":e.virtual,dark:"dark"===e.theme},onScroll:e.virtual?v:void 0,style:e.showLineNumber?V({paddingLeft:"".concat(12*Number(a.value.length.toString().length),"px")},e.style):e.style},[e.virtual?(0,u.createVNode)("div",{class:"vjs-tree-list",style:{height:"".concat(e.height,"px")}},[(0,u.createVNode)("div",{class:"vjs-tree-list-holder",style:{height:"".concat(h.value.length*e.itemHeight,"px")}},[(0,u.createVNode)("div",{class:"vjs-tree-list-holder-inner",style:{transform:"translateY(".concat(d.translateY,"px)")}},[y])])]):y])}}});var P=o.A;export{P as default};