@pantograph/vue 0.5.0 → 0.6.2

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),g=require("../class-CjZYGZDW.js"),Z=require("class-variance-authority"),le=require("../omit-C_ZXwm9T.js"),W=require("radix-vue"),J=require("lodash-es"),se=require("sortablejs"),D=require("../options-B4iSAKol.js"),ie=require("../IndentLevel.vue_vue_type_style_index_0_lang-B_x8tshB.js"),de=require("../Icon.vue_vue_type_style_index_0_lang-D-jaUivh.js"),ce=require("../Checkbox.vue_vue_type_style_index_0_lang-BQeNpCYy.js");var ue=1,ge=4;function B(F){return le.baseClone(F,ue|ge)}const ee=["sm","md","lg"],Q={none:"gap-none",sm:"gap-sm",md:"gap-md",lg:"gap-lg"},[te,ne]=W.createContext("CheckboxGroup"),ve=["tabindex"],me={class:"ms-200"},pe=["data-parents","data-level"],fe=e.defineComponent({...D.getComponentOptions("TreeNode"),__name:"TreeNode",props:{item:{},level:{default:1},hovered:{type:Boolean},parentKeys:{}},setup(F){const s=F,t=te(),y=Z.cva(t.prefixes.node,{variants:{disabled:g.generateVariantClassList("disabled",t.prefixes.node),active:g.generateVariantClassList("active",t.prefixes.node)}}),p=e.computed(()=>{switch(t.size.value){case"sm":return"2xsm";case"md":return"xsm";case"lg":return"sm"}}),T=e.computed(()=>{switch(t.size.value){case"sm":return"2xsm";default:return"xsm"}}),C=n=>t.getNodeField(n,"children"),S=n=>t.getNodeField(n,"key"),z=e.computed(()=>C(s.item)),O=e.computed(()=>t.getNodeField(s.item,"leaf")),E=e.computed(()=>t.draggable.value?t.getNodeField(s.item,"draggable")??!0:!1),b=e.computed(()=>S(s.item)),N=e.computed(()=>t.getNodeField(s.item,"disabled")),w=e.computed(()=>{var n;return!!((n=z.value)!=null&&n.some(a=>t.expandedKeys.value.includes(S(a))))}),v=e.inject("tree-node-context",{hovered:e.ref(s.hovered??!1),expanded:e.ref(!1),childExpanded:w}),_=e.computed(()=>!(s.item.dragging??!1)&&t.expandedKeys.value.includes(b.value)),h=e.ref(!1),x=n=>{h.value=n};e.watch(h,n=>{t.showLine.value&&v.hovered&&(v.hovered.value=n)}),e.provide("tree-node-context",{expanded:_,childExpanded:w,hovered:h});const k=e.computed(()=>{var n,a,l;if(t.dragging.value)return!1;if(t.showLine.value){if(s.hovered||(n=v.hovered)!=null&&n.value||h.value)return"all";if(_.value&&!w.value)return"self";if((a=v.expanded)!=null&&a.value&&!((l=v.childExpanded)!=null&&l.value))return"last"}}),P=e.computed(()=>{var n;return!((n=z.value)!=null&&n.length)}),R=()=>{N.value||t.onSelect(s.item)},j=e.computed(()=>t.model.value.includes(b.value)),G=e.computed(()=>{const n=(m=s.item)=>{const d=C(m);return(d==null?void 0:d.length)&&d.every(c=>t.checked.value.includes(S(c)))},a=(m=s.item)=>{const d=C(m);return d!=null&&d.length?!!(d!=null&&d.some(c=>t.checked.value.includes(S(c))||a(c))):!1},l=t.checked.value.includes(b.value);return n()?(l||t.onCheck(s.item),!0):a()?(l&&t.onCheck(s.item),"indeterminate"):!!l}),U=()=>{var l;if(!((l=z.value)!=null&&l.length))return t.onCheck(s.item);const n=(f=s.item)=>{const m=C(f);return m!=null&&m.length?m.reduce((d,c)=>{const r=C(c),u=S(c);return r!=null&&r.length?[...d,u,...n(c)]:[...d,u]},[]):[]},a=n();return t.onCheck(s.item,{keys:[b.value,...a],value:!t.checked.value.includes(b.value)})},L=e.computed(()=>[...s.parentKeys??[],b.value]),K=()=>{t.onExpandKey(s.item)},V=e.computed(()=>s.item.dragging_level??s.level),A=e.computed(()=>V.value+1),$=e.ref(),i=e.ref();t.useSortable({root:$,instance:i});const o=e.computed(()=>{switch(t.size.value){case"sm":return"2xsm";case"md":return"xsm";case"lg":return"sm"}});return(n,a)=>{const l=e.resolveComponent("TreeNode",!0);return e.openBlock(),e.createBlock(e.unref(W.Primitive),{asChild:P.value,key:P.value,"data-parents":e.unref(t).draggable.value?n.parentKeys:void 0,"data-key":e.unref(t).draggable.value?b.value:void 0,"data-draggable":e.unref(t).draggable.value?!e.unref(t).disabled.value&&!N.value&&E.value:void 0,class:e.normalizeClass([{[e.unref(t).prefixes.group]:!P.value},e.unref(t).getNodeField(n.item,"class")])},{default:e.withCtx(()=>{var f,m;return[e.createElementVNode("div",{tabindex:N.value?void 0:0,class:e.normalizeClass([e.unref(y)({disabled:N.value,active:j.value}),e.unref(t).getNodeField(n.item,"class")]),onMouseenter:a[1]||(a[1]=d=>x(!0)),onMouseleave:a[2]||(a[2]=d=>x(!1)),onClick:R},[e.unref(t).draggable.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(t).prefixes.draggable)},[!n.item.dragging&&!e.unref(t).dragging.value?(e.openBlock(),e.createBlock(de._sfc_main,{key:0,icon:"tabler:grip-vertical",size:T.value,class:e.normalizeClass(e.unref(t).prefixes.draggableIcon)},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"dragTrigger",e.normalizeProps(e.guardReactiveProps(n.item)))]),_:3},8,["size","class"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createVNode(ie._sfc_main,{level:V.value,children:!!((f=z.value)!=null&&f.length||e.unref(t).lazyLoad.value&&!O.value),size:o.value,expanded:_.value,showLine:k.value,loading:e.unref(t).getNodeField(n.item,"loading"),"branch-icon":e.unref(t).getNodeField(n.item,"switcherIcon")??e.unref(t).switcherIcon.value,"no-rotate-branch":e.unref(t).getNodeField(n.item,"noRotateSwitcherIcon")??e.unref(t).noRotateSwitcherIcon.value,onToggleExpand:e.withModifiers(K,["stop"])},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"switcherIcon",e.mergeProps({expanded:_.value},n.item))]),_:3},8,["level","children","size","expanded","showLine","loading","branch-icon","no-rotate-branch"]),!n.item.dragging||!e.unref(t).dragging.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(t).checkbox.value?(e.openBlock(),e.createBlock(ce._sfc_main,{key:0,size:p.value,onClick:a[0]||(a[0]=e.withModifiers(()=>{},["stop"])),checked:G.value,"onUpdate:checked":U,disabled:N.value||e.unref(t).disabled.value},null,8,["size","checked","disabled"])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"title",e.normalizeProps(e.guardReactiveProps(n.item)),()=>[e.createElementVNode("div",me,e.toDisplayString(e.unref(t).getNodeField(n.item,"title")),1)])],64)):(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(g.getBemElement)(e.unref(t).prefixes.node,"slot"))},null,2))],42,ve),(m=z.value)!=null&&m.length?e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(t).prefixes.groupList),ref_key:"root",ref:$,"data-parents":e.unref(t).draggable.value?L.value:void 0,"data-level":e.unref(t).draggable.value?A.value:void 0},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C(n.item),d=>{var c;return e.openBlock(),e.createBlock(l,{key:e.unref(t).getNodeField(d,"key"),parentKeys:L.value,item:d,level:A.value,hovered:s.hovered||h.value||((c=e.unref(v).hovered)==null?void 0:c.value)},{title:e.withCtx(r=>[e.renderSlot(n.$slots,"title",e.mergeProps({ref_for:!0},r))]),switcherIcon:e.withCtx(r=>[e.renderSlot(n.$slots,"switcherIcon",e.mergeProps({ref_for:!0},r))]),dragTrigger:e.withCtx(r=>[e.renderSlot(n.$slots,"dragTrigger",e.mergeProps({ref_for:!0},r))]),_:2},1032,["parentKeys","item","level","hovered"])}),128))],10,pe)),[[e.vShow,_.value]]):e.createCommentVNode("",!0)]}),_:3},8,["asChild","data-parents","data-key","data-draggable","class"])}}}),ae=e.defineComponent({...D.getComponentOptions("Tree"),__name:"Tree",props:{class:{},size:{default:"md"},gap:{},data:{},value:{},checkedKeys:{},expandedKeys:{},multiple:{type:Boolean},checkbox:{type:Boolean},defaultExpandAll:{type:Boolean},selectable:{type:Boolean},showLine:{type:Boolean},inlineNode:{type:Boolean},lazyLoad:{type:Boolean},fieldNames:{},groupName:{},switcherIcon:{},noRotateSwitcherIcon:{type:Boolean},draggable:{type:Boolean},disabled:{type:Boolean}},emits:["update:value","update:expandedKeys","update:checkedKeys","expand","select","check","dragStart","dragEnd"],setup(F,{emit:s}){const t=F,y=s,p=g.getBemBlock("tree"),T=g.getBemElement(p,"node"),C=g.getBemElement(T,"group"),S=g.getBemElement(T,"draggable"),z=g.getBemElement(S,"icon"),O=g.getBemElement(C,"list"),E={node:T,group:C,draggable:S,draggableIcon:z,groupList:O},b=Z.cva(p,{variants:{size:g.generateVariantClassList(ee,p),gap:g.generateVariantClassList(Q,p),selectable:g.generateVariantClassList("selectable",p),disabled:g.generateVariantClassList("disabled",p),inlineNode:g.generateVariantClassList("inline-node",p),dragging:g.generateVariantClassList("dragging",p)}}),N=e.computed(()=>B(t.data)),w=e.ref(N.value),v=(i,o)=>{var a;const n=J.get(i,o);return(a=t.fieldNames)!=null&&a[o]?J.get(i,t.fieldNames[o],n):n},_=()=>{if(!t.lazyLoad){const i=[],o=n=>{for(const a of n){const l=v(a,"children");l!=null&&l.length&&(i.push(v(a,"key")),o(l))}};return o(w.value),i}return[]},h=e.ref(t.expandedKeys??(t.defaultExpandAll?_():[]));e.watch(N,i=>{w.value=i;const o=_();h.value=h.value.filter(n=>o.includes(n)),L.value++},{deep:!0});const x=e.ref(t.value??[]),k=e.ref(t.checkedKeys??[]),P=i=>{if(t.selectable&&!t.disabled){let o=B(x.value);const n=v(i,"key");t.multiple?x.value.includes(n)?o=B(x.value.filter(a=>a!==n)):o=B([...x.value,n]):o.includes(n)?o=[]:o=[n],t.value!==void 0?y("update:value",o):x.value=o,y("select",i,o.includes(n))}},R=(i,o)=>{if(t.checkbox&&!t.disabled){let n=B(k.value);const a=v(i,"key");o!=null&&o.keys.length?o.value?n=J.uniq([...o.keys,...n]):n=B(k.value.filter(f=>!o.keys.includes(f))):k.value.includes(a)?n=B(k.value.filter(f=>f!==a)):n=B([...k.value,a]),t.checkedKeys!==void 0?y("update:checkedKeys",n):k.value=n;const l=(o==null?void 0:o.value)??k.value.includes(a);y("check",i,l,(o==null?void 0:o.keys)??a)}},j=i=>{let o=!0;const n=v(i,"key");let a=B(h.value);a.includes(n)?(a=a.filter(l=>l!==n),o=!1):a=[...a,n],t.expandedKeys!==void 0?y("update:expandedKeys",a):h.value=a,y("expand",i,o)},G=e.computed(()=>{if(t.gap){if(typeof t.gap=="number")return`${t.gap}px`;if(!Object.keys(Q).includes(t.gap))return t.gap}}),U=t.groupName??W.useId(void 0,p),L=e.ref(1),K=e.ref(!1),V=e.ref(),A=e.ref(),$=i=>{const{root:o,instance:n}=i,a=c=>{var r;return(r=c.getAttribute("data-parents"))==null?void 0:r.split(",")},l=c=>{const r=(q,oe=w.value)=>{const{parents:H,self:re}=q;for(let Y of oe){const X=v(Y,"key").toString();if(X===re)return Y;const M=v(Y,"children");if(H!=null&&H.includes(X)&&(M!=null&&M.length))return r(q,M)}},u=a(c),I=c.getAttribute("data-key")??"";return r({parents:u,self:I})},f=g.getBemModifier(g.getBemElement(p,"dragging_item"),t.size),m=(c=o.value)=>new se(c,{group:U,animation:150,forceFallback:!0,fallbackOnBody:!0,filter:"[data-draggable=false]",handle:`.${E.node} .${E.draggable} .${E.draggableIcon}`,dataIdAttr:"data-key",dragClass:f,onChoose(r){const u=l(r.item);u&&(u.dragging=!0)},onStart(r){var q;const u=document.querySelector(`.${f}`),I=(q=getComputedStyle(o.value))==null?void 0:q.direction;u!=null&&u.style&&(u.style.direction=I),K.value=!0,y("dragStart",r)},onUnchoose(r){const u=l(r.item);u&&(u.dragging=!1)},onEnd(r){K.value=!1,y("dragEnd",{...r,node:l(r.item),oldParents:a(r.item),newParents:a(r.to)})},onMove(r){const u=Number(r.to.getAttribute("data-level")??"1"),I=l(r.dragged);I&&(I.dragging_level=u)}}),d=()=>{var c;(c=n.value)==null||c.destroy(),n.value=void 0};e.onMounted(()=>{e.watch(()=>[o.value,t.draggable,L.value],()=>{n.value?d():o.value&&t.draggable&&(n.value=m())},{immediate:!0})}),e.onBeforeUnmount(()=>{n.value&&d()})};return $({root:V,instance:A}),ne({size:e.computed(()=>t.size),draggable:e.computed(()=>t.draggable),lazyLoad:e.computed(()=>t.lazyLoad),checkbox:e.computed(()=>t.checkbox),showLine:e.computed(()=>t.showLine),disabled:e.computed(()=>t.disabled),switcherIcon:e.computed(()=>t.switcherIcon),noRotateSwitcherIcon:e.computed(()=>t.noRotateSwitcherIcon),expandedKeys:h,model:x,checked:k,onExpandKey:j,onSelect:P,onCheck:R,getNodeField:v,useSortable:$,dragging:K,prefixes:E}),(i,o)=>(e.openBlock(),e.createElementBlock("div",{key:L.value,class:e.normalizeClass([e.unref(b)({size:t.size,gap:t.gap??t.size,selectable:t.selectable,disabled:t.disabled,inlineNode:t.inlineNode,dragging:K.value}),t.class]),style:e.normalizeStyle({"--ptc-tree-gap":G.value}),ref_key:"root",ref:V},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,n=>(e.openBlock(),e.createBlock(fe,{key:v(n,"key"),item:n},e.createSlots({_:2},[e.renderList(Object.keys(i.$slots),a=>({name:a,fn:e.withCtx(l=>[e.renderSlot(i.$slots,a,e.mergeProps({ref_for:!0},l))])}))]),1032,["item"]))),128))],6))}});exports.Tree=ae;exports.TreeGaps=Q;exports.TreeSizes=ee;exports.default=ae;exports.injectTreeContext=te;exports.provideTreeContext=ne;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),u=require("../class-CjZYGZDW.js"),Z=require("class-variance-authority"),le=require("../omit-C_ZXwm9T.js"),W=require("radix-vue"),J=require("lodash-es"),se=require("sortablejs"),D=require("../options-B4iSAKol.js"),ie=require("../IndentLevel.vue_vue_type_style_index_0_lang-B_x8tshB.js"),de=require("../Icon.vue_vue_type_style_index_0_lang-D-jaUivh.js"),ce=require("../Checkbox.vue_vue_type_style_index_0_lang-BQeNpCYy.js");var ue=1,ge=4;function B(F){return le.baseClone(F,ue|ge)}const ee=["sm","md","lg"],Q={none:"gap-none",sm:"gap-sm",md:"gap-md",lg:"gap-lg"},[te,ne]=W.createContext("CheckboxGroup"),ve=["tabindex"],me=["data-parents","data-level"],pe=e.defineComponent({...D.getComponentOptions("TreeNode"),__name:"TreeNode",props:{item:{},level:{default:1},hovered:{type:Boolean},parentKeys:{}},setup(F){const s=F,t=te(),y=Z.cva(t.prefixes.node,{variants:{disabled:u.generateVariantClassList("disabled",t.prefixes.node),active:u.generateVariantClassList("active",t.prefixes.node)}}),p=e.computed(()=>{switch(t.size.value){case"sm":return"2xsm";case"md":return"xsm";case"lg":return"sm"}}),T=e.computed(()=>{switch(t.size.value){case"sm":return"2xsm";default:return"xsm"}}),C=n=>t.getNodeField(n,"children"),S=n=>t.getNodeField(n,"key"),E=e.computed(()=>C(s.item)),O=e.computed(()=>t.getNodeField(s.item,"leaf")),_=e.computed(()=>t.draggable.value?t.getNodeField(s.item,"draggable")??!0:!1),b=e.computed(()=>S(s.item)),N=e.computed(()=>t.getNodeField(s.item,"disabled")),w=e.computed(()=>{var n;return!!((n=E.value)!=null&&n.some(a=>t.expandedKeys.value.includes(S(a))))}),v=e.inject("tree-node-context",{hovered:e.ref(s.hovered??!1),expanded:e.ref(!1),childExpanded:w}),z=e.computed(()=>!(s.item.dragging??!1)&&t.expandedKeys.value.includes(b.value)),h=e.ref(!1),x=n=>{h.value=n};e.watch(h,n=>{t.showLine.value&&v.hovered&&(v.hovered.value=n)}),e.provide("tree-node-context",{expanded:z,childExpanded:w,hovered:h});const k=e.computed(()=>{var n,a,l;if(t.dragging.value)return!1;if(t.showLine.value){if(s.hovered||(n=v.hovered)!=null&&n.value||h.value)return"all";if(z.value&&!w.value)return"self";if((a=v.expanded)!=null&&a.value&&!((l=v.childExpanded)!=null&&l.value))return"last"}}),P=e.computed(()=>{var n;return!((n=E.value)!=null&&n.length)}),R=()=>{N.value||t.onSelect(s.item)},j=e.computed(()=>t.model.value.includes(b.value)),G=e.computed(()=>{const n=(m=s.item)=>{const d=C(m);return(d==null?void 0:d.length)&&d.every(c=>t.checked.value.includes(S(c)))},a=(m=s.item)=>{const d=C(m);return d!=null&&d.length?!!(d!=null&&d.some(c=>t.checked.value.includes(S(c))||a(c))):!1},l=t.checked.value.includes(b.value);return n()?(l||t.onCheck(s.item),!0):a()?(l&&t.onCheck(s.item),"indeterminate"):!!l}),U=()=>{var l;if(!((l=E.value)!=null&&l.length))return t.onCheck(s.item);const n=(f=s.item)=>{const m=C(f);return m!=null&&m.length?m.reduce((d,c)=>{const o=C(c),g=S(c);return o!=null&&o.length?[...d,g,...n(c)]:[...d,g]},[]):[]},a=n();return t.onCheck(s.item,{keys:[b.value,...a],value:!t.checked.value.includes(b.value)})},L=e.computed(()=>[...s.parentKeys??[],b.value]),K=()=>{t.onExpandKey(s.item)},V=e.computed(()=>s.item.dragging_level??s.level),A=e.computed(()=>V.value+1),$=e.ref(),i=e.ref();t.useSortable({root:$,instance:i});const r=e.computed(()=>{switch(t.size.value){case"sm":return"2xsm";case"md":return"xsm";case"lg":return"sm"}});return(n,a)=>{const l=e.resolveComponent("TreeNode",!0);return e.openBlock(),e.createBlock(e.unref(W.Primitive),{asChild:P.value,key:P.value,"data-parents":e.unref(t).draggable.value?n.parentKeys:void 0,"data-key":e.unref(t).draggable.value?b.value:void 0,"data-draggable":e.unref(t).draggable.value?!e.unref(t).disabled.value&&!N.value&&_.value:void 0,class:e.normalizeClass([{[e.unref(t).prefixes.group]:!P.value},e.unref(t).getNodeField(n.item,"class")])},{default:e.withCtx(()=>{var f,m;return[e.createElementVNode("div",{tabindex:N.value?void 0:0,class:e.normalizeClass([e.unref(y)({disabled:N.value,active:j.value}),e.unref(t).getNodeField(n.item,"class")]),onMouseenter:a[1]||(a[1]=d=>x(!0)),onMouseleave:a[2]||(a[2]=d=>x(!1)),onClick:R},[e.unref(t).draggable.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(t).prefixes.draggable)},[!n.item.dragging&&!e.unref(t).dragging.value?(e.openBlock(),e.createBlock(de._sfc_main,{key:0,icon:"tabler:grip-vertical",size:T.value,class:e.normalizeClass(e.unref(t).prefixes.draggableIcon)},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"dragTrigger",e.normalizeProps(e.guardReactiveProps(n.item)))]),_:3},8,["size","class"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createVNode(ie._sfc_main,{level:V.value,children:!!((f=E.value)!=null&&f.length||e.unref(t).lazyLoad.value&&!O.value),size:r.value,expanded:z.value,showLine:k.value,loading:e.unref(t).getNodeField(n.item,"loading"),"branch-icon":e.unref(t).getNodeField(n.item,"switcherIcon")??e.unref(t).switcherIcon.value,"no-rotate-branch":e.unref(t).getNodeField(n.item,"noRotateSwitcherIcon")??e.unref(t).noRotateSwitcherIcon.value,onToggleExpand:e.withModifiers(K,["stop"])},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"switcherIcon",e.mergeProps({expanded:z.value},n.item))]),_:3},8,["level","children","size","expanded","showLine","loading","branch-icon","no-rotate-branch"]),!n.item.dragging||!e.unref(t).dragging.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(t).checkbox.value?(e.openBlock(),e.createBlock(ce._sfc_main,{key:0,size:p.value,onClick:a[0]||(a[0]=e.withModifiers(()=>{},["stop"])),checked:G.value,"onUpdate:checked":U,disabled:N.value||e.unref(t).disabled.value},null,8,["size","checked","disabled"])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"title",e.normalizeProps(e.guardReactiveProps(n.item)),()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(u.getBemElement)(e.unref(t).prefixes.node,"title"))},e.toDisplayString(e.unref(t).getNodeField(n.item,"title")),3)])],64)):(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(u.getBemElement)(e.unref(t).prefixes.node,"slot"))},null,2))],42,ve),(m=E.value)!=null&&m.length?e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(t).prefixes.groupList),ref_key:"root",ref:$,"data-parents":e.unref(t).draggable.value?L.value:void 0,"data-level":e.unref(t).draggable.value?A.value:void 0},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C(n.item),d=>{var c;return e.openBlock(),e.createBlock(l,{key:e.unref(t).getNodeField(d,"key"),parentKeys:L.value,item:d,level:A.value,hovered:s.hovered||h.value||((c=e.unref(v).hovered)==null?void 0:c.value)},{title:e.withCtx(o=>[e.renderSlot(n.$slots,"title",e.mergeProps({ref_for:!0},o))]),switcherIcon:e.withCtx(o=>[e.renderSlot(n.$slots,"switcherIcon",e.mergeProps({ref_for:!0},o))]),dragTrigger:e.withCtx(o=>[e.renderSlot(n.$slots,"dragTrigger",e.mergeProps({ref_for:!0},o))]),_:2},1032,["parentKeys","item","level","hovered"])}),128))],10,me)),[[e.vShow,z.value]]):e.createCommentVNode("",!0)]}),_:3},8,["asChild","data-parents","data-key","data-draggable","class"])}}}),ae=e.defineComponent({...D.getComponentOptions("Tree"),__name:"Tree",props:{class:{},size:{default:"md"},gap:{},data:{},value:{},checkedKeys:{},expandedKeys:{},multiple:{type:Boolean},checkbox:{type:Boolean},defaultExpandAll:{type:Boolean},selectable:{type:Boolean},showLine:{type:Boolean},inlineNode:{type:Boolean},lazyLoad:{type:Boolean},fieldNames:{},groupName:{},switcherIcon:{},noRotateSwitcherIcon:{type:Boolean},draggable:{type:Boolean},disabled:{type:Boolean}},emits:["update:value","update:expandedKeys","update:checkedKeys","expand","select","check","dragStart","dragEnd"],setup(F,{emit:s}){const t=F,y=s,p=u.getBemBlock("tree"),T=u.getBemElement(p,"node"),C=u.getBemElement(T,"group"),S=u.getBemElement(T,"draggable"),E=u.getBemElement(S,"icon"),O=u.getBemElement(C,"list"),_={node:T,group:C,draggable:S,draggableIcon:E,groupList:O},b=Z.cva(p,{variants:{size:u.generateVariantClassList(ee,p),gap:u.generateVariantClassList(Q,p),selectable:u.generateVariantClassList("selectable",p),disabled:u.generateVariantClassList("disabled",p),inlineNode:u.generateVariantClassList("inline-node",p),dragging:u.generateVariantClassList("dragging",p)}}),N=e.computed(()=>B(t.data)),w=e.ref(N.value),v=(i,r)=>{var a;const n=J.get(i,r);return(a=t.fieldNames)!=null&&a[r]?J.get(i,t.fieldNames[r],n):n},z=()=>{if(!t.lazyLoad){const i=[],r=n=>{for(const a of n){const l=v(a,"children");l!=null&&l.length&&(i.push(v(a,"key")),r(l))}};return r(w.value),i}return[]},h=e.ref(t.expandedKeys??(t.defaultExpandAll?z():[]));e.watch(N,i=>{w.value=i;const r=z();h.value=h.value.filter(n=>r.includes(n)),L.value++},{deep:!0});const x=e.ref(t.value??[]),k=e.ref(t.checkedKeys??[]),P=i=>{if(t.selectable&&!t.disabled){let r=B(x.value);const n=v(i,"key");t.multiple?x.value.includes(n)?r=B(x.value.filter(a=>a!==n)):r=B([...x.value,n]):r.includes(n)?r=[]:r=[n],t.value!==void 0?y("update:value",r):x.value=r,y("select",i,r.includes(n))}},R=(i,r)=>{if(t.checkbox&&!t.disabled){let n=B(k.value);const a=v(i,"key");r!=null&&r.keys.length?r.value?n=J.uniq([...r.keys,...n]):n=B(k.value.filter(f=>!r.keys.includes(f))):k.value.includes(a)?n=B(k.value.filter(f=>f!==a)):n=B([...k.value,a]),t.checkedKeys!==void 0?y("update:checkedKeys",n):k.value=n;const l=(r==null?void 0:r.value)??k.value.includes(a);y("check",i,l,(r==null?void 0:r.keys)??a)}},j=i=>{let r=!0;const n=v(i,"key");let a=B(h.value);a.includes(n)?(a=a.filter(l=>l!==n),r=!1):a=[...a,n],t.expandedKeys!==void 0?y("update:expandedKeys",a):h.value=a,y("expand",i,r)},G=e.computed(()=>{if(t.gap){if(typeof t.gap=="number")return`${t.gap}px`;if(!Object.keys(Q).includes(t.gap))return t.gap}}),U=t.groupName??W.useId(void 0,p),L=e.ref(1),K=e.ref(!1),V=e.ref(),A=e.ref(),$=i=>{const{root:r,instance:n}=i,a=c=>{var o;return(o=c.getAttribute("data-parents"))==null?void 0:o.split(",")},l=c=>{const o=(q,re=w.value)=>{const{parents:H,self:oe}=q;for(let Y of re){const X=v(Y,"key").toString();if(X===oe)return Y;const M=v(Y,"children");if(H!=null&&H.includes(X)&&(M!=null&&M.length))return o(q,M)}},g=a(c),I=c.getAttribute("data-key")??"";return o({parents:g,self:I})},f=u.getBemModifier(u.getBemElement(p,"dragging_item"),t.size),m=(c=r.value)=>new se(c,{group:U,animation:150,forceFallback:!0,fallbackOnBody:!0,filter:"[data-draggable=false]",handle:`.${_.node} .${_.draggable} .${_.draggableIcon}`,dataIdAttr:"data-key",dragClass:f,onChoose(o){const g=l(o.item);g&&(g.dragging=!0)},onStart(o){var q;const g=document.querySelector(`.${f}`),I=(q=getComputedStyle(r.value))==null?void 0:q.direction;g!=null&&g.style&&(g.style.direction=I),K.value=!0,y("dragStart",o)},onUnchoose(o){const g=l(o.item);g&&(g.dragging=!1)},onEnd(o){K.value=!1,y("dragEnd",{...o,node:l(o.item),oldParents:a(o.item),newParents:a(o.to)})},onMove(o){const g=Number(o.to.getAttribute("data-level")??"1"),I=l(o.dragged);I&&(I.dragging_level=g)}}),d=()=>{var c;(c=n.value)==null||c.destroy(),n.value=void 0};e.onMounted(()=>{e.watch(()=>[r.value,t.draggable,L.value],()=>{n.value?d():r.value&&t.draggable&&(n.value=m())},{immediate:!0})}),e.onBeforeUnmount(()=>{n.value&&d()})};return $({root:V,instance:A}),ne({size:e.computed(()=>t.size),draggable:e.computed(()=>t.draggable),lazyLoad:e.computed(()=>t.lazyLoad),checkbox:e.computed(()=>t.checkbox),showLine:e.computed(()=>t.showLine),disabled:e.computed(()=>t.disabled),switcherIcon:e.computed(()=>t.switcherIcon),noRotateSwitcherIcon:e.computed(()=>t.noRotateSwitcherIcon),expandedKeys:h,model:x,checked:k,onExpandKey:j,onSelect:P,onCheck:R,getNodeField:v,useSortable:$,dragging:K,prefixes:_}),(i,r)=>(e.openBlock(),e.createElementBlock("div",{key:L.value,class:e.normalizeClass([e.unref(b)({size:t.size,gap:t.gap??t.size,selectable:t.selectable,disabled:t.disabled,inlineNode:t.inlineNode,dragging:K.value}),t.class]),style:e.normalizeStyle({"--ptc-tree-gap":G.value}),ref_key:"root",ref:V},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,n=>(e.openBlock(),e.createBlock(pe,{key:v(n,"key"),item:n},e.createSlots({_:2},[e.renderList(Object.keys(i.$slots),a=>({name:a,fn:e.withCtx(l=>[e.renderSlot(i.$slots,a,e.mergeProps({ref_for:!0},l))])}))]),1032,["item"]))),128))],6))}});exports.Tree=ae;exports.TreeGaps=Q;exports.TreeSizes=ee;exports.default=ae;exports.injectTreeContext=te;exports.provideTreeContext=ne;
@@ -1,8 +1,8 @@
1
- import { defineComponent as pe, computed as r, inject as be, ref as p, watch as le, provide as xe, resolveComponent as Ce, openBlock as h, createBlock as Y, unref as s, normalizeClass as F, withCtx as $, createElementVNode as de, createElementBlock as P, renderSlot as _, normalizeProps as ce, guardReactiveProps as ue, createCommentVNode as X, createVNode as Ne, withModifiers as ge, mergeProps as J, Fragment as oe, toDisplayString as Se, withDirectives as we, renderList as re, vShow as ze, normalizeStyle as Ke, createSlots as Be, onMounted as Le, onBeforeUnmount as Ee } from "vue";
2
- import { g as E, a as T, b as Ie, c as Fe } from "../class-DyU-Ox8D.js";
1
+ import { defineComponent as pe, computed as r, inject as be, ref as p, watch as le, provide as xe, resolveComponent as Ce, openBlock as h, createBlock as Y, unref as s, normalizeClass as E, withCtx as T, createElementVNode as de, createElementBlock as P, renderSlot as _, normalizeProps as ce, guardReactiveProps as ue, createCommentVNode as X, createVNode as Ne, withModifiers as ge, mergeProps as J, Fragment as oe, toDisplayString as Se, withDirectives as we, renderList as re, vShow as ze, normalizeStyle as Ke, createSlots as Be, onMounted as Le, onBeforeUnmount as Ee } from "vue";
2
+ import { g as I, a as F, b as Ie, c as Fe } from "../class-DyU-Ox8D.js";
3
3
  import { cva as me } from "class-variance-authority";
4
4
  import { b as $e } from "../omit-DtumnYm5.js";
5
- import { createContext as _e, Primitive as Te, useId as Pe } from "radix-vue";
5
+ import { createContext as Te, Primitive as _e, useId as Pe } from "radix-vue";
6
6
  import { get as ve, uniq as Ae } from "lodash-es";
7
7
  import Me from "sortablejs";
8
8
  import { g as ye } from "../options-JBqnVZUl.js";
@@ -13,7 +13,7 @@ var je = 1, Ue = 4;
13
13
  function w(G) {
14
14
  return $e(G, je | Ue);
15
15
  }
16
- const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-md", lg: "gap-lg" }, [qe, He] = _e("CheckboxGroup"), Ye = ["tabindex"], Je = { class: "ms-200" }, Qe = ["data-parents", "data-level"], We = /* @__PURE__ */ pe({
16
+ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-md", lg: "gap-lg" }, [qe, He] = Te("CheckboxGroup"), Ye = ["tabindex"], Je = ["data-parents", "data-level"], Qe = /* @__PURE__ */ pe({
17
17
  ...ye("TreeNode"),
18
18
  __name: "TreeNode",
19
19
  props: {
@@ -25,8 +25,8 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
25
25
  setup(G) {
26
26
  const i = G, e = qe(), b = me(e.prefixes.node, {
27
27
  variants: {
28
- disabled: E("disabled", e.prefixes.node),
29
- active: E("active", e.prefixes.node)
28
+ disabled: I("disabled", e.prefixes.node),
29
+ active: I("active", e.prefixes.node)
30
30
  }
31
31
  }), m = r(() => {
32
32
  switch (e.size.value) {
@@ -44,10 +44,10 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
44
44
  default:
45
45
  return "xsm";
46
46
  }
47
- }), C = (t) => e.getNodeField(t, "children"), z = (t) => e.getNodeField(t, "key"), I = r(() => C(i.item)), Z = r(() => e.getNodeField(i.item, "leaf")), A = r(() => e.draggable.value ? e.getNodeField(i.item, "draggable") ?? !0 : !1), N = r(() => z(i.item)), K = r(() => e.getNodeField(i.item, "disabled")), B = r(
47
+ }), C = (t) => e.getNodeField(t, "children"), z = (t) => e.getNodeField(t, "key"), $ = r(() => C(i.item)), Z = r(() => e.getNodeField(i.item, "leaf")), A = r(() => e.draggable.value ? e.getNodeField(i.item, "draggable") ?? !0 : !1), N = r(() => z(i.item)), K = r(() => e.getNodeField(i.item, "disabled")), B = r(
48
48
  () => {
49
49
  var t;
50
- return !!((t = I.value) != null && t.some((a) => e.expandedKeys.value.includes(z(a))));
50
+ return !!((t = $.value) != null && t.some((a) => e.expandedKeys.value.includes(z(a))));
51
51
  }
52
52
  ), v = be("tree-node-context", {
53
53
  hovered: p(i.hovered ?? !1),
@@ -75,7 +75,7 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
75
75
  }
76
76
  }), U = r(() => {
77
77
  var t;
78
- return !((t = I.value) != null && t.length);
78
+ return !((t = $.value) != null && t.length);
79
79
  }), D = () => {
80
80
  K.value || e.onSelect(i.item);
81
81
  }, ee = r(() => e.model.value.includes(N.value)), te = r(() => {
@@ -91,7 +91,7 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
91
91
  return t() ? (o || e.onCheck(i.item), !0) : a() ? (o && e.onCheck(i.item), "indeterminate") : !!o;
92
92
  }), ae = () => {
93
93
  var o;
94
- if (!((o = I.value) != null && o.length)) return e.onCheck(i.item);
94
+ if (!((o = $.value) != null && o.length)) return e.onCheck(i.item);
95
95
  const t = (y = i.item) => {
96
96
  const f = C(y);
97
97
  return f != null && f.length ? f.reduce((c, u) => {
@@ -122,20 +122,20 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
122
122
  });
123
123
  return (t, a) => {
124
124
  const o = Ce("TreeNode", !0);
125
- return h(), Y(s(Te), {
125
+ return h(), Y(s(_e), {
126
126
  asChild: U.value,
127
127
  key: U.value,
128
128
  "data-parents": s(e).draggable.value ? t.parentKeys : void 0,
129
129
  "data-key": s(e).draggable.value ? N.value : void 0,
130
130
  "data-draggable": s(e).draggable.value ? !s(e).disabled.value && !K.value && A.value : void 0,
131
- class: F([{ [s(e).prefixes.group]: !U.value }, s(e).getNodeField(t.item, "class")])
131
+ class: E([{ [s(e).prefixes.group]: !U.value }, s(e).getNodeField(t.item, "class")])
132
132
  }, {
133
- default: $(() => {
133
+ default: T(() => {
134
134
  var y, f;
135
135
  return [
136
136
  de("div", {
137
137
  tabindex: K.value ? void 0 : 0,
138
- class: F([
138
+ class: E([
139
139
  s(b)({
140
140
  disabled: K.value,
141
141
  active: ee.value
@@ -148,15 +148,15 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
148
148
  }, [
149
149
  s(e).draggable.value ? (h(), P("span", {
150
150
  key: 0,
151
- class: F(s(e).prefixes.draggable)
151
+ class: E(s(e).prefixes.draggable)
152
152
  }, [
153
153
  !t.item.dragging && !s(e).dragging.value ? (h(), Y(Re, {
154
154
  key: 0,
155
155
  icon: "tabler:grip-vertical",
156
156
  size: j.value,
157
- class: F(s(e).prefixes.draggableIcon)
157
+ class: E(s(e).prefixes.draggableIcon)
158
158
  }, {
159
- default: $(() => [
159
+ default: T(() => [
160
160
  _(t.$slots, "dragTrigger", ce(ue(t.item)))
161
161
  ]),
162
162
  _: 3
@@ -164,7 +164,7 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
164
164
  ], 2)) : X("", !0),
165
165
  Ne(Oe, {
166
166
  level: V.value,
167
- children: !!((y = I.value) != null && y.length || s(e).lazyLoad.value && !Z.value),
167
+ children: !!((y = $.value) != null && y.length || s(e).lazyLoad.value && !Z.value),
168
168
  size: n.value,
169
169
  expanded: L.value,
170
170
  showLine: x.value,
@@ -173,7 +173,7 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
173
173
  "no-rotate-branch": s(e).getNodeField(t.item, "noRotateSwitcherIcon") ?? s(e).noRotateSwitcherIcon.value,
174
174
  onToggleExpand: ge(O, ["stop"])
175
175
  }, {
176
- default: $(() => [
176
+ default: T(() => [
177
177
  _(t.$slots, "switcherIcon", J({ expanded: L.value }, t.item))
178
178
  ]),
179
179
  _: 3
@@ -189,16 +189,18 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
189
189
  disabled: K.value || s(e).disabled.value
190
190
  }, null, 8, ["size", "checked", "disabled"])) : X("", !0),
191
191
  _(t.$slots, "title", ce(ue(t.item)), () => [
192
- de("div", Je, Se(s(e).getNodeField(t.item, "title")), 1)
192
+ de("div", {
193
+ class: E(s(F)(s(e).prefixes.node, "title"))
194
+ }, Se(s(e).getNodeField(t.item, "title")), 3)
193
195
  ])
194
196
  ], 64)) : (h(), P("div", {
195
197
  key: 2,
196
- class: F(s(T)(s(e).prefixes.node, "slot"))
198
+ class: E(s(F)(s(e).prefixes.node, "slot"))
197
199
  }, null, 2))
198
200
  ], 42, Ye),
199
- (f = I.value) != null && f.length ? we((h(), P("div", {
201
+ (f = $.value) != null && f.length ? we((h(), P("div", {
200
202
  key: 0,
201
- class: F(s(e).prefixes.groupList),
203
+ class: E(s(e).prefixes.groupList),
202
204
  ref_key: "root",
203
205
  ref: q,
204
206
  "data-parents": s(e).draggable.value ? M.value : void 0,
@@ -213,19 +215,19 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
213
215
  level: Q.value,
214
216
  hovered: i.hovered || k.value || ((u = s(v).hovered) == null ? void 0 : u.value)
215
217
  }, {
216
- title: $((l) => [
218
+ title: T((l) => [
217
219
  _(t.$slots, "title", J({ ref_for: !0 }, l))
218
220
  ]),
219
- switcherIcon: $((l) => [
221
+ switcherIcon: T((l) => [
220
222
  _(t.$slots, "switcherIcon", J({ ref_for: !0 }, l))
221
223
  ]),
222
- dragTrigger: $((l) => [
224
+ dragTrigger: T((l) => [
223
225
  _(t.$slots, "dragTrigger", J({ ref_for: !0 }, l))
224
226
  ]),
225
227
  _: 2
226
228
  }, 1032, ["parentKeys", "item", "level", "hovered"]);
227
229
  }), 128))
228
- ], 10, Qe)), [
230
+ ], 10, Je)), [
229
231
  [ze, L.value]
230
232
  ]) : X("", !0)
231
233
  ];
@@ -234,7 +236,7 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
234
236
  }, 8, ["asChild", "data-parents", "data-key", "data-draggable", "class"]);
235
237
  };
236
238
  }
237
- }), it = /* @__PURE__ */ pe({
239
+ }), rt = /* @__PURE__ */ pe({
238
240
  ...ye("Tree"),
239
241
  __name: "Tree",
240
242
  props: {
@@ -261,20 +263,20 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
261
263
  },
262
264
  emits: ["update:value", "update:expandedKeys", "update:checkedKeys", "expand", "select", "check", "dragStart", "dragEnd"],
263
265
  setup(G, { emit: i }) {
264
- const e = G, b = i, m = Ie("tree"), j = T(m, "node"), C = T(j, "group"), z = T(j, "draggable"), I = T(z, "icon"), Z = T(C, "list"), A = {
266
+ const e = G, b = i, m = Ie("tree"), j = F(m, "node"), C = F(j, "group"), z = F(j, "draggable"), $ = F(z, "icon"), Z = F(C, "list"), A = {
265
267
  node: j,
266
268
  group: C,
267
269
  draggable: z,
268
- draggableIcon: I,
270
+ draggableIcon: $,
269
271
  groupList: Z
270
272
  }, N = me(m, {
271
273
  variants: {
272
- size: E(Ve, m),
273
- gap: E(fe, m),
274
- selectable: E("selectable", m),
275
- disabled: E("disabled", m),
276
- inlineNode: E("inline-node", m),
277
- dragging: E("dragging", m)
274
+ size: I(Ve, m),
275
+ gap: I(fe, m),
276
+ selectable: I("selectable", m),
277
+ disabled: I("disabled", m),
278
+ inlineNode: I("inline-node", m),
279
+ dragging: I("dragging", m)
278
280
  }
279
281
  }), K = r(() => w(e.data)), B = p(K.value), v = (d, n) => {
280
282
  var a;
@@ -340,7 +342,7 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
340
342
  }
341
343
  }, g = a(u), R = u.getAttribute("data-key") ?? "";
342
344
  return l({ parents: g, self: R });
343
- }, y = Fe(T(m, "dragging_item"), e.size), f = (u = n.value) => new Me(u, {
345
+ }, y = Fe(F(m, "dragging_item"), e.size), f = (u = n.value) => new Me(u, {
344
346
  group: ae,
345
347
  animation: 150,
346
348
  forceFallback: !0,
@@ -415,7 +417,7 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
415
417
  prefixes: A
416
418
  }), (d, n) => (h(), P("div", {
417
419
  key: M.value,
418
- class: F([
420
+ class: E([
419
421
  s(N)({
420
422
  size: e.size,
421
423
  gap: e.gap ?? e.size,
@@ -432,13 +434,13 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
432
434
  ref_key: "root",
433
435
  ref: V
434
436
  }, [
435
- (h(!0), P(oe, null, re(B.value, (t) => (h(), Y(We, {
437
+ (h(!0), P(oe, null, re(B.value, (t) => (h(), Y(Qe, {
436
438
  key: v(t, "key"),
437
439
  item: t
438
440
  }, Be({ _: 2 }, [
439
441
  re(Object.keys(d.$slots), (a) => ({
440
442
  name: a,
441
- fn: $((o) => [
443
+ fn: T((o) => [
442
444
  _(d.$slots, a, J({ ref_for: !0 }, o))
443
445
  ])
444
446
  }))
@@ -447,10 +449,10 @@ const Ve = ["sm", "md", "lg"], fe = { none: "gap-none", sm: "gap-sm", md: "gap-m
447
449
  }
448
450
  });
449
451
  export {
450
- it as Tree,
452
+ rt as Tree,
451
453
  fe as TreeGaps,
452
454
  Ve as TreeSizes,
453
- it as default,
455
+ rt as default,
454
456
  qe as injectTreeContext,
455
457
  He as provideTreeContext
456
458
  };