UNPKG

vue3-treeview

Version:

A simple vue js 3 treeview component

2 lines (1 loc) 22.6 kB
var qt=Object.defineProperty;var ge=Object.getOwnPropertySymbols;var At=Object.prototype.hasOwnProperty,Pt=Object.prototype.propertyIsEnumerable;var be=(t,C,j)=>C in t?qt(t,C,{enumerable:!0,configurable:!0,writable:!0,value:j}):t[C]=j,y=(t,C)=>{for(var j in C||(C={}))At.call(C,j)&&be(t,j,C[j]);if(ge)for(var j of ge(C))Pt.call(C,j)&&be(t,j,C[j]);return t};(function(t,C){typeof exports=="object"&&typeof module!="undefined"?module.exports=C(require("vue")):typeof define=="function"&&define.amd?define(["vue"],C):(t=typeof globalThis!="undefined"?globalThis:t||self,t.treeview=C(t.Vue))})(this,function(t){"use strict";var C=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function j(e){return e==null}var h=j,se=1/0,ke=17976931348623157e292,de=0/0,ve="[object Symbol]",ye=/^\s+|\s+$/g,Ce=/^[-+]0x[0-9a-f]+$/i,we=/^0b[01]+$/i,Ie=/^0o[0-7]+$/i,Se=parseInt,Be=Object.prototype,Ne=Be.toString;function ie(e){var n=typeof e;return!!e&&(n=="object"||n=="function")}function Te(e){return!!e&&typeof e=="object"}function je(e){return typeof e=="symbol"||Te(e)&&Ne.call(e)==ve}function Oe(e){if(!e)return e===0?e:0;if(e=Ee(e),e===se||e===-se){var n=e<0?-1:1;return n*ke}return e===e?e:0}function De(e){var n=Oe(e),o=n%1;return n===n?o?n-o:n:0}function Ee(e){if(typeof e=="number")return e;if(je(e))return de;if(ie(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=ie(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=e.replace(ye,"");var o=we.test(e);return o||Ie.test(e)?Se(e.slice(2),o?2:8):Ce.test(e)?de:+e}var Le=De;const P=8,$e="disabled",Me="focused",xe="draggable",Ve="droppable",Re="node-over",ze="node-in",Fe="node-under",qe="0 0 123.958 123.959",Ae="M117.979,28.017h-112c-5.3,0-8,6.4-4.2,10.2l56,56c2.3,2.3,6.1,2.3,8.401,0l56-56C125.979,34.417,123.279,28.017,117.979,28.017z",Pe="M38.217,1.779c-3.8-3.8-10.2-1.1-10.2,4.2v112c0,5.3,6.4,8,10.2,4.2l56-56c2.3-2.301,2.3-6.101,0-8.401L38.217,1.779z",ce="black";function X(e){return{type:"shape",width:P,height:P,viewBox:qe,stroke:ce,fill:ce,draw:e,name:null,src:null,alt:null,style:null,class:null}}const q={roots:[],padding:16,editable:!1,editing:null,checkboxes:!1,dragAndDrop:!1,keyboardNavigation:!1,openedIcon:X(Ae),closedIcon:X(Pe)};function Ke(e){const n=t.inject("state"),o=n.config,r=n.nodes,d=t.ref(e.depth),a=t.ref(e.parentId),u=t.computed(()=>{const f=[];if(h(a.value)&&o.value.roots&&d.value===0){for(const m of o.value.roots)s(m,f);return f}if(!h(a.value)){const m=r.value[a.value];if(m&&m.children&&m.children.length>0)for(const v of m.children)s(v,f);return f}return[]}),s=(f,m)=>{r.value[f]&&(r.value[f].id=f,r.value[f].parent=a.value,m.push(r.value[f]))},l=t.computed(()=>new Date().valueOf()),b=t.computed(()=>{if(d.value===0)return 0;if(h(o.value.padding))return q.padding;const f=Le(o.value.padding);return f>=0?f:0}),k=t.computed(()=>({"padding-left":`${b.value}px`,"list-style":"none"}));return{id:l,level:u,padding:b,style:k}}var A=(e,n)=>{for(const[o,r]of n)e[o]=r;return e};const Ue={components:{TreeNode:t.defineAsyncComponent(()=>Promise.resolve().then(function(){return Ft}))},props:{depth:{required:!0,type:Number,default:null},parentId:{type:String,default:null}},setup(e){return y({},Ke(e))}},Ge=["id"];function We(e,n,o,r,d,a){const u=t.resolveComponent("TreeNode");return t.openBlock(),t.createElementBlock("ul",{class:"tree-level",id:e.id,style:t.normalizeStyle(e.style)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.level,(s,l)=>(t.openBlock(),t.createBlock(u,{key:s.id,node:s,depth:o.depth,index:l,"parent-id":o.parentId},{"loading-slot":t.withCtx(b=>[t.renderSlot(e.$slots,"loading-slot",{node:b.node})]),"before-input":t.withCtx(b=>[t.renderSlot(e.$slots,"before-input",{node:b.node})]),"after-input":t.withCtx(b=>[t.renderSlot(e.$slots,"after-input",{node:b.node})]),_:2},1032,["node","depth","index","parent-id"]))),128))],12,Ge)}var ue=A(Ue,[["render",We]]),Ye=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",default:ue}),He=1/0,Je="[object Symbol]",Xe=typeof C=="object"&&C&&C.Object===Object&&C,Qe=typeof self=="object"&&self&&self.Object===Object&&self,Ze=Xe||Qe||Function("return this")(),_e=Object.prototype,et=0,tt=_e.toString,fe=Ze.Symbol,pe=fe?fe.prototype:void 0,me=pe?pe.toString:void 0;function nt(e){if(typeof e=="string")return e;if(rt(e))return me?me.call(e):"";var n=e+"";return n=="0"&&1/e==-He?"-0":n}function ot(e){return!!e&&typeof e=="object"}function rt(e){return typeof e=="symbol"||ot(e)&&tt.call(e)==Je}function lt(e){return e==null?"":nt(e)}function at(e){var n=++et;return lt(e)+n}var st=at;const Q=new Map;function dt(e){const{nodes:n,config:o}=t.toRefs(e),r={id:st(),nodes:t.computed(()=>n.value),config:t.computed(()=>o.value),focusable:t.ref(null),focusFunc:new Map,dragged:t.ref({node:null,element:null,wrapper:null,parentId:null})};return Q.set(r.id,r),r.id}function it(e,n){const o=t.ref(null),r=dt(e),d=Q.get(r);t.provide("emitter",n),t.provide("state",d);const a=t.computed(()=>({display:"flex","align-items":"center"}));return t.onUnmounted(()=>{Q.delete(r)}),{element:o,style:a}}var Kt="";const ct={components:{TreeLevel:ue},props:{nodes:{required:!0,type:Object,default:()=>{}},config:{required:!0,type:Object,default:()=>{}}},setup(e,{emit:n}){return y({},it(e,n))},methods:{setElementRef(e){this.element=e}}};function ut(e,n,o,r,d,a){const u=t.resolveComponent("TreeLevel");return t.openBlock(),t.createElementBlock("div",{class:"tree",ref:a.setElementRef,style:t.normalizeStyle(e.style)},[t.createVNode(u,t.mergeProps({depth:0,"parent-id":null},e.$attrs),{"loading-slot":t.withCtx(s=>[t.renderSlot(e.$slots,"loading-slot",{node:s.node})]),"before-input":t.withCtx(s=>[t.renderSlot(e.$slots,"before-input",{node:s.node})]),"after-input":t.withCtx(s=>[t.renderSlot(e.$slots,"after-input",{node:s.node})]),_:3},16)],4)}var ft=A(ct,[["render",ut]]);function pt(e,n){return e===n||e!==e&&n!==n}var Z=pt;const x={opened:"nodeOpened",closed:"nodeClosed",focus:"nodeFocus",toggle:"nodeToggle",blur:"nodeBlur",edit:"nodeEdit"},_={checked:"nodeChecked",unchecked:"nodeUnchecked"},V={start:"nodeDragstart",end:"nodeDragend",enter:"nodeDragenter",leave:"nodeDragleave",over:"nodeOver",drop:"nodeDrop"};function mt(e){const n=e.node,o=e.config,r=e.wrapper,d=e.editable,a=e.editing,u=t.ref(null),s=t.computed({get:()=>n.value.text,set:m=>n.value.text=m}),l=t.computed(()=>e.editable.value?o.value.editableClass?o.value.editableClass:"editable":null);t.watch(a,(m,v)=>{!Z(m,v)&&m&&t.nextTick(()=>{u.value.focus()})});const b=()=>{d.value&&!e.disabled.value&&(o.value.editing=n.value.id,e.root.emit(x.edit,n.value))};return{text:s,input:u,editing:a,editable:d,editableClass:l,focusInput:b,esc:m=>{d.value&&o.value.keyboardNavigation&&(e.blur(m),r.value.focus())},enter:()=>{d.value&&!e.disabled.value&&o.value.keyboardNavigation&&b()}}}function ht(e){const{isLeaf:n}=t.toRefs(e),r=t.inject("state").config,d=t.computed(()=>r.value.openedIcon||q.openedIcon),a=t.computed(()=>r.value.closedIcon||q.closedIcon),u=t.computed(()=>!h(a.value)&&!h(d.value)),s=t.computed(()=>!n.value&&u.value),l=t.computed(()=>({width:`${P}px`,height:`${P}px`}));return{hasIcons:u,openedIcon:d,closedIcon:a,useIcons:s,fakeNodeStyle:l}}const gt={props:{icon:{required:!0,type:Object}}},bt=["width","height","viewBox"],kt=["d","fill","stroke","stroke-width"],vt=["src","alt","width","height"];function yt(e,n,o,r,d,a){return o.icon.type==="shape"?(t.openBlock(),t.createElementBlock("svg",{key:0,xmlns:"http://www.w3.org/2000/svg",width:o.icon.width,height:o.icon.height,class:t.normalizeClass(o.icon.class),style:t.normalizeStyle(o.icon.style),viewBox:o.icon.viewBox},[t.createElementVNode("path",{d:o.icon.draw,fill:o.icon.fill,stroke:o.icon.stroke,"stroke-width":o.icon.strokeWidth},null,8,kt)],14,bt)):o.icon.type==="class"?(t.openBlock(),t.createElementBlock("i",{key:1,class:t.normalizeClass(o.icon.class),style:t.normalizeStyle(o.icon.style)},null,6)):o.icon.type==="img"?(t.openBlock(),t.createElementBlock("img",{key:2,src:o.icon.src,alt:o.icon.alt,width:o.icon.width,height:o.icon.height,class:t.normalizeClass(o.icon.class),style:t.normalizeStyle(o.icon.style)},null,14,vt)):t.createCommentVNode("",!0)}var Ct=A(gt,[["render",yt]]);const wt={components:{Icon:Ct},props:{isLeaf:{type:Boolean},opened:{type:Boolean}},setup(e){return ht(e)},computed:{fakeIcon(){return X(null)}}};function It(e,n,o,r,d,a){const u=t.resolveComponent("Icon");return e.useIcons?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[o.opened?(t.openBlock(),t.createBlock(u,{key:0,icon:e.openedIcon},null,8,["icon"])):(t.openBlock(),t.createBlock(u,{key:1,icon:e.closedIcon},null,8,["icon"]))],64)):(t.openBlock(),t.createBlock(u,{key:1,icon:a.fakeIcon},null,8,["icon"]))}var St=A(wt,[["render",It]]);function Bt(e,n){const o=e.state,r=e.node,d=e.config,a=e.wrapper,u=e.editing,s=t.ref(null),l=t.ref(n.depth),b=t.ref(n.index);r.value.children||(r.value.children=t.ref([]).value);const k=t.computed(()=>f.value&&r.value.id),f=t.computed(()=>!h(r)),m=t.computed(()=>f.value&&!h(r.value.state)),v=t.computed(()=>d.value.roots||[]),S=t.computed(()=>h(r.value.children)?[]:r.value.children),O=t.computed(()=>S.value.length),B=t.computed(()=>O.value>0),w=t.computed(()=>m.value&&r.value.state.opened||!1),g=t.computed(()=>m.value&&r.value.state.isLoading||!1),$=t.computed(()=>g.value&&!B.value&&w.value),T=t.computed(()=>!g.value&&B.value&&w.value),M=t.computed(()=>({display:"flex"})),ee=t.computed(()=>e.disabled.value?d.value.disabledClass?d.value.disabledClass:$e:null),U=t.computed(()=>{for(const p of v.value){const c=o.nodes.value[p];if(c.children&&c.children.length>0)return!1}return!0}),G=t.computed(()=>{if(d.value.leaves instanceof Array){const c=d.value.leaves.indexOf(k.value);return Number.isFinite(c)&&c>=0}return!B.value}),te=t.computed(()=>o.focusable.value===r.value.id),W=t.computed(()=>l.value===0&&b.value===0&&h(o.focusable.value)||te.value?0:-1),ne=t.computed(()=>e.focused.value?d.value.focusClass?d.value.focusClass:Me:null);t.watch(w,p=>{p?e.root.emit(x.opened,r.value):e.root.emit(x.closed,r.value)});const E=()=>{o.focusable.value=r.value.id,t.nextTick(()=>{a.value.focus(),e.focused.value=!0,e.root.emit(x.focus,r.value)})},oe=()=>{r.value.state.opened=!r.value.state.opened,e.root.emit(x.toggle,r.value)},re=()=>{!u.value&&d.value.keyboardNavigation&&(r.value.state.opened=!0)},le=()=>{!u.value&&d.value.keyboardNavigation&&(r.value.state.opened=!1)},Y=p=>{const c=p(r.value.id);if(!h(c)&&d.value.keyboardNavigation){const I=o.focusFunc.get(c);I&&I()}},ae=()=>Y(J),H=p=>{const c=o.nodes.value[p];if(c.children&&c.children.length>0){const I=c.children.indexOf(r.value.id),z=c.children[I-1];if(!h(z))return i(z)}return c.id},J=p=>{const c=o.nodes.value[p],I=o.nodes.value[c.parent];if(!I){const z=v.value.indexOf(p);return i(v.value[z-1])||null}return H(I.id)},i=p=>{const c=o.nodes.value[p];if(!c)return null;if(c.children&&c.children.length>0&&c.state.opened){const I=c.children[c.children.length-1];if(!h(I))return i(I)}return c.id},N=()=>Y(L),D=p=>{const c=v.value.indexOf(p);return v.value[c+1]||null},R=(p,c)=>{const I=p.children.indexOf(c);return p.children[I+1]?p.children[I+1]:p.parent?R(o.nodes.value[p.parent],p.id):D(p.id)},L=p=>{const c=o.nodes.value[p];if(c.children&&c.children.length>0&&c.state.opened)return c.children[0];const I=o.nodes.value[c.parent];return I?R(I,p):D(p)};return t.onMounted(()=>{o.focusFunc.set(r.value.id,E)}),t.onUnmounted(()=>{o.focusFunc.delete(r.value.id)}),{id:k,level:s,style:M,opened:w,hasNode:f,hideIcons:U,hasChildren:B,tabIndex:W,focusClass:ne,disabledClass:ee,isLeaf:G,isLoading:g,displayLoading:$,displayLevel:T,right:re,left:le,up:ae,down:N,toggle:oe,focus:E,prevVisible:J,nextVisible:L}}function K(e){h(e.state)&&(e.state={},e.state.checked=!1)}function Nt(e,n){const o=g=>{e.value.state.checked=g},r=g=>{e.value.state.indeterminate=g},d=()=>{K(e.value),(e.value.state.checked||!u.value)&&r(!1)},a=t.computed(()=>e.value.children),u=t.computed(()=>!h(a.value)&&a.value.length>0||!1),s=t.computed(()=>{if(!u.value)return[];const g=[];for(const $ of a.value){const T=n.value[$];h(T)||(K(T),g.push(T.state))}return g}),l=t.computed(()=>e.value.state.checked),b=t.computed(()=>e.value.state.indeterminate),k=t.computed(()=>s.value.every(g=>g.checked)),f=t.computed(()=>s.value.every(g=>!g.checked)),m=t.computed(()=>!k.value&&!f.value),v=t.computed(()=>s.value.some(g=>g.indeterminate)),S=g=>{if(!h(g.state)&&!h(g.children))for(const $ of g.children){const T=n.value[$];h(T)||(K(T),T.state.indeterminate=!1,T.state.checked=g.state.checked,S(T))}},O=()=>{if(!!u.value){if(f.value&&!v.value){r(!1),o(!1);return}if(k.value){r(!1),o(!0);return}r(!0),o(!1)}};return{checked:l,indeterminate:b,noneChecked:f,someChecked:m,allChecked:k,someIndeterminate:v,click:()=>{r(!1),o(!e.value.state.checked)},rebuild:()=>{d(),S(e.value),O()},updateState:O,recurseDown:S}}function Tt(e){const n=t.computed(()=>e.value.state.checked),o=t.computed(()=>e.value.state.indeterminate||!1),r=t.computed(()=>!1),d=t.computed(()=>!1),a=t.computed(()=>!1),u=t.computed(()=>!1);return{checked:n,indeterminate:o,noneChecked:r,someChecked:d,allChecked:a,someIndeterminate:u,click:()=>{e.value.state.checked=!e.value.state.checked},rebuild:()=>{},updateState:()=>{},recurseDown:()=>{}}}var F;(function(e){e[e.auto=0]="auto",e[e.manual=1]="manual"})(F||(F={}));function jt(e){const n=e.node,o=e.config,r=e.state.nodes,d=t.computed(()=>o.value.checkMode===F.auto?F.auto:F.manual),a=t.computed(()=>d.value===F.auto?Nt(n,r):Tt(n));t.watch(d,(B,w)=>{Z(B,w)||a.value.rebuild()});const u=t.computed(()=>a.value.checked.value),s=t.computed(()=>a.value.indeterminate.value),l=t.computed(()=>o.value.checkboxes||q.checkboxes),b=t.computed(()=>[a.value.checked.value?o.value.checkedClass?o.value.checkedClass:"checked":null,a.value.indeterminate.value?o.value.indeterminateClass?o.value.indeterminateClass:"indeterminate":null]),k=t.computed(()=>a.value.allChecked.value),f=t.computed(()=>a.value.noneChecked.value),m=t.computed(()=>a.value.someChecked.value),v=t.computed(()=>a.value.someIndeterminate.value);t.watch([k,f,m],([B,w,g])=>{(B||w||g)&&a.value.updateState()},{deep:!0}),t.watch(v,(B,w)=>{Z(B,w)||a.value.updateState()},{deep:!0});const S=()=>{e.disabled.value||(a.value.click(),a.value.recurseDown(n.value),e.root.emit(u.value?_.checked:_.unchecked,n.value))};return{checked:u,hasCheckbox:l,indeterminate:s,checkedClass:b,space:()=>{!e.editing.value&&o.value.checkboxes&&o.value.keyboardNavigation&&S()},clickCheckbox:S}}var he;(function(e){e[e.over=0]="over",e[e.in=1]="in",e[e.under=2]="under"})(he||(he={}));function Ot(e,n){const o=e.node,r=e.state,d=t.ref(n.parentId),a=e.config,u=r.nodes,s=t.ref(r.dragged),l=e.wrapper,b=t.ref(null),k=t.ref(null),f=t.computed(()=>!e.disabled.value&&a.value.dragAndDrop&&o.value.state.draggable!==!1),m=t.computed(()=>a.value.dragAndDrop&&o.value.state.droppable!==!1),v=t.computed(()=>!h(s.value)&&!h(s.value.node)),S=t.computed(()=>v.value&&s.value.node.id===o.value.id),O=t.computed(()=>g.value===B.value),B=t.computed(()=>!v.value||!s.value.parentId?null:U(s.value.parentId)),w=t.computed(()=>G(B.value)),g=t.computed(()=>h(d.value)?null:U(d.value)),$=t.computed(()=>G(g.value)),T=t.computed(()=>!v.value||!s.value.wrapper?!1:s.value.element.contains(b.value)),M=t.computed(()=>({dragged:s.value,target:{node:o.value.id,element:b.value,wrapper:l.value,parentId:d.value}})),ee=t.computed(()=>[f.value?xe:null,m.value?Ve:null,k.value===0?Re:null,k.value===1?ze:null,k.value===2?Fe:null]),U=i=>h(i)?null:u.value[i],G=i=>h(i)?a.value.roots:i.children,te=i=>{if(!i||!i.dataTransfer)return null;const N=i.dataTransfer.getData("application/json");return N?JSON.parse(N):i.dataTransfer.getData("text/plain")},W=i=>{var N,D;return((D=(N=i==null?void 0:i.dataTransfer)==null?void 0:N.items)==null?void 0:D.length)>0},ne=i=>{f.value&&(s.value={node:o.value,element:b.value,wrapper:l.value,parentId:d.value},e.root.emit(V.start,y(y({},M.value),E(i))))},E=i=>({evt:i,external:W(i),dataTransfer:te(i)}),oe=i=>{e.root.emit(V.end,y(y({},M.value),E(i))),s.value=null},re=i=>{e.root.emit(V.enter,y(y({},M.value),E(i)))},le=i=>{e.root.emit(V.leave,y(y({},M.value),E(i))),k.value=null},Y=i=>{if(!S.value&&!T.value){const N=W(i);if(!v.value&&!N)return;if(e.root.emit(V.over,y(y({},M.value),E(i))),!N&&l.value){const D=.3,R=i.pageY,L=l.value.getBoundingClientRect(),p=L.top+L.height/2,c=[p-L.height*D,p+L.height*D],I=w.value.indexOf(o.value.id),z=w.value.indexOf(s.value.node.id);R<c[0]&&(!O.value||O.value&&I!==z+1)?k.value=0:R>c[1]&&(!O.value||O.value&&I!==z-1)?k.value=2:k.value=1}}},ae=i=>{if(!S.value&&!T.value)switch(k.value){case 0:{H(0);break}case 2:{H(1);break}case 1:J()}e.root.emit(V.drop,y(y({},M.value),E(i))),k.value=null},H=i=>{if(v.value){const N=s.value.node.id,D=w.value.indexOf(N);w.value.splice(D,1);const R=o.value.id,L=$.value.indexOf(R);$.value.splice(L+i,0,N)}},J=()=>{if(v.value&&m.value){const i=s.value.node.id;if(w.value){const N=w.value.indexOf(i);w.value.splice(N,1)}o.value.children.unshift(i)}};return{pos:k,element:b,dragClass:ee,draggable:f,droppable:m,dragstart:ne,dragend:oe,dragenter:re,dragleave:le,dragover:Y,drop:ae}}function Dt(e){const{node:n}=t.toRefs(e),o=t.inject("state"),r=o.config,d=t.ref(null),a=t.ref(!1),u={emit:t.inject("emitter")};K(n.value);const s=t.computed(()=>!h(n)),l=t.computed(()=>!h(r.value)),b=t.computed(()=>s.value&&!h(n.value.state)),k=t.computed(()=>r.value.disabled||n.value.state.disabled),f=t.computed(()=>r.value.editable&&(h(n.value.state.editable)?!0:n.value.state.editable)||q.editable),m=t.computed(()=>f.value&&r.value.editing===n.value.id);return{state:o,node:n,config:r,hasNode:s,hasState:b,hasConfig:l,disabled:k,wrapper:d,editable:f,editing:m,focused:a,blur:S=>{if(S.type==="blur"){const O=S.currentTarget,B=S.relatedTarget;O.contains(B)||(r.value.editing=null,a.value=!1,u.emit(x.blur,S,n.value))}},root:u}}const Et={components:{TreeLevel:t.defineAsyncComponent(()=>Promise.resolve().then(function(){return Ye})),TreeIcons:St},emits:[...Object.values(x),...Object.values(_),...Object.values(V)],props:{depth:{required:!0,type:Number},index:{required:!0,type:Number},node:{required:!0,type:Object},parentId:{default:null,type:String}},setup(e){const n=Dt(e);return y(y(y(y(y({},n),mt(n)),jt(n)),Bt(n,e)),Ot(n,e))},computed:{nodeClass(){return[this.focusClass,this.disabledClass,this.checkedClass,this.editableClass,this.dragClass]}},methods:{setWrapperRef(e){this.wrapper=e},setLevelRef(e){this.level=e},setElementRef(e){this.element=e},setInputRef(e){this.input=e}}},Lt=["aria-expanded"],$t=["draggable","tabindex"],Mt=["checked","disabled",".indeterminate"],xt={class:"input-wrapper"},Vt=["disabled"];function Rt(e,n,o,r,d,a){const u=t.resolveComponent("TreeIcons"),s=t.resolveComponent("TreeLevel");return e.hasNode?(t.openBlock(),t.createElementBlock("li",{key:0,class:"tree-node",ref:a.setElementRef,"aria-expanded":e.opened,onKeydown:[n[13]||(n[13]=t.withKeys(t.withModifiers((...l)=>e.enter&&e.enter(...l),["stop"]),["enter"])),n[14]||(n[14]=t.withKeys(t.withModifiers((...l)=>e.esc&&e.esc(...l),["stop"]),["esc"])),n[15]||(n[15]=t.withKeys(t.withModifiers((...l)=>e.space&&e.space(...l),["stop"]),["space"])),n[16]||(n[16]=t.withKeys(t.withModifiers((...l)=>e.left&&e.left(...l),["stop"]),["left"])),n[17]||(n[17]=t.withKeys(t.withModifiers((...l)=>e.right&&e.right(...l),["stop"]),["right"])),n[18]||(n[18]=t.withKeys(t.withModifiers((...l)=>e.up&&e.up(...l),["stop"]),["up"])),n[19]||(n[19]=t.withKeys(t.withModifiers((...l)=>e.down&&e.down(...l),["stop"]),["down"]))]},[t.createElementVNode("div",{class:t.normalizeClass(["node-wrapper",a.nodeClass]),style:t.normalizeStyle(e.style),ref:a.setWrapperRef,draggable:e.draggable,tabindex:e.tabIndex,onBlur:n[5]||(n[5]=(...l)=>e.blur&&e.blur(...l)),onClick:n[6]||(n[6]=t.withModifiers((...l)=>e.focus&&e.focus(...l),["stop"])),onDragstart:n[7]||(n[7]=t.withModifiers((...l)=>e.dragstart&&e.dragstart(...l),["stop"])),onDragend:n[8]||(n[8]=t.withModifiers((...l)=>e.dragend&&e.dragend(...l),["stop"])),onDragenter:n[9]||(n[9]=t.withModifiers((...l)=>e.dragenter&&e.dragenter(...l),["prevent","stop"])),onDragleave:n[10]||(n[10]=t.withModifiers((...l)=>e.dragleave&&e.dragleave(...l),["prevent","stop"])),onDragover:n[11]||(n[11]=t.withModifiers((...l)=>e.dragover&&e.dragover(...l),["prevent","stop"])),onDrop:n[12]||(n[12]=t.withModifiers((...l)=>e.drop&&e.drop(...l),["prevent","stop"]))},[e.hideIcons?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,class:"icon-wrapper",onClick:n[0]||(n[0]=t.withModifiers((...l)=>e.toggle&&e.toggle(...l),["stop"]))},[t.createVNode(u,{"is-leaf":e.isLeaf,opened:e.opened},null,8,["is-leaf","opened"])])),e.hasCheckbox?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["checkbox-wrapper",e.checkedClass]),onClick:n[1]||(n[1]=t.withModifiers((...l)=>e.clickCheckbox&&e.clickCheckbox(...l),["stop"]))},[t.createElementVNode("input",{type:"checkbox",tabindex:"-1",class:"node-checkbox",checked:e.checked,disabled:e.disabled,".indeterminate":e.indeterminate},null,40,Mt)],2)):t.createCommentVNode("",!0),t.renderSlot(e.$slots,"before-input",{node:o.node}),t.createElementVNode("div",xt,[e.editing?t.withDirectives((t.openBlock(),t.createElementBlock("input",{key:0,type:"text",tabindex:"0",class:"node-input","onUpdate:modelValue":n[2]||(n[2]=l=>e.text=l),ref:a.setInputRef,disabled:e.disabled,onBlur:n[3]||(n[3]=(...l)=>e.blur&&e.blur(...l))},null,40,Vt)),[[t.vModelText,e.text]]):(t.openBlock(),t.createElementBlock("span",{key:1,class:"node-text",onDblclick:n[4]||(n[4]=(...l)=>e.focusInput&&e.focusInput(...l))},t.toDisplayString(e.text),33))]),t.renderSlot(e.$slots,"after-input",{node:o.node})],46,$t),e.displayLoading?t.renderSlot(e.$slots,"loading-slot",{key:0,node:o.node}):t.createCommentVNode("",!0),t.createVNode(t.Transition,{name:"level"},{default:t.withCtx(()=>[e.displayLevel?(t.openBlock(),t.createBlock(s,{key:0,"parent-id":e.id,depth:o.depth+1,ref:a.setLevelRef},{"loading-slot":t.withCtx(l=>[t.renderSlot(e.$slots,"loading-slot",{node:l.node})]),"before-input":t.withCtx(l=>[t.renderSlot(e.$slots,"before-input",{node:l.node})]),"after-input":t.withCtx(l=>[t.renderSlot(e.$slots,"after-input",{node:l.node})]),_:3},8,["parent-id","depth"])):t.createCommentVNode("",!0)]),_:3})],40,Lt)):t.createCommentVNode("",!0)}var zt=A(Et,[["render",Rt]]),Ft=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",default:zt});return ft});