1import{N as L,a0 as ee,ba as ie,bp as se,bb as ue,aW as Y,o as _,l as j,w as P,j as V,k as le,u as i,bj as M,B as $,Y as te,bi as oe,bq as de,c as E,bd as ce,br as fe,ap as ve,bs as U,bl as pe,p as ae,bt as Q,a as me,Q as he,d as ge,h as ye,ac as O,aU as be,i as D,s as F,n as I,A as xe,F as X,X as ke,x as Ce,_ as J,v as Te,q as Z}from"./CLBpckQH.js";import{f as G}from"./BZ--eSLu.js";import{R as Ke}from"./DugyXpiC.js";import Ae from"./ChqlgGxB.js";function Se(d,k){const l=L(),h=(e,C)=>{if(k.multiple&&Array.isArray(d.value))if(k.selectionBehavior==="replace")d.value=[e],l.value=e;else{const K=d.value.findIndex(m=>C(m));K!==-1?d.value=d.value.filter((m,c)=>c!==K):d.value=[...d.value,e]}else k.selectionBehavior==="replace"?d.value={...e}:!Array.isArray(d.value)&&C(d.value)?d.value=void 0:d.value={...e};return d.value};function B(e,C,K,m){if(!l?.value||!k.multiple||!Array.isArray(d.value))return;const S=K().filter(A=>A.ref.dataset.disabled!=="").find(A=>A.ref===C)?.value;if(!S)return;let f=null;switch(e){case"prev":case"next":{f=G(m,l.value,S);break}case"first":{f=G(m,l.value,m?.[0]);break}case"last":{f=G(m,l.value,m.at(-1));break}}d.value=f}return{firstValue:l,onSelectItem:h,handleMultipleReplace:B}}function W(d){return d.reduce((k,l)=>(k.push(l),l.children&&k.push(...W(l.children)),k),[])}const[Ie,_e]=ce("TreeRoot");var Ee=ee({__name:"TreeRoot",props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},items:{type:Array,required:!1},expanded:{type:Array,required:!1},defaultExpanded:{type:Array,required:!1},getKey:{type:Function,required:!0},getChildren:{type:Function,required:!1,default:d=>d.children},selectionBehavior:{type:String,required:!1,default:"toggle"},multiple:{type:Boolean,required:!1,skipCheck:!0},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},propagateSelect:{type:Boolean,required:!1},bubbleSelect:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"ul"}}
1,emits:["update:modelValue","update:expanded"],setup(d,{emit:k}){const l=d,h=k,{items:B,multiple:e,disabled:C,propagateSelect:K,dir:m,bubbleSelect:c}=ie(l),{handleTypeaheadSearch:S}=se(),f=ue(m),A=L(),q=L(!1),w=de(),v=Y(l,"modelValue",h,{defaultValue:l.defaultValue??(e.value?[]:void 0),passive:!0,deep:!0}),T=Y(l,"expanded",h,{defaultValue:l.defaultExpanded??[],passive:l.expanded===void 0,deep:!0}),{onSelectItem:R,handleMultipleReplace:n}=Se(v,l),s=E(()=>e.value&&Array.isArray(v.value)?v.value.map(a=>l.getKey(a)):[l.getKey(v.value??{})]);function t(a,r=1,b){return a.reduce((y,x,N)=>{const H=l.getKey(x),z=l.getChildren(x),ne=T.value.includes(H),re={_id:H,value:x,index:N,level:r,parentItem:b,hasChildren:!!z,bind:{value:x,level:r,"aria-setsize":a.length,"aria-posinset":N+1}};return y.push(re),z&&ne&&y.push(...t(z,r+1,x)),y},[])}const u=E(()=>{const a=l.items;return T.value.map(r=>r),t(a??[])});function p(a){if(q.value)w.trigger(a);else{const r=A.value?.getItems()??[];S(a.key,r)}}function g(a){if(q.value)return;const r=fe[a.key];ve(()=>{n(r,U(),A.value?.getItems,u.value.map(b=>b.value))})}function o(a){if(a.parentItem!=null&&Array.isArray(v.value)&&l.multiple){const r=u.value.find(b=>a.parentItem!=null&&l.getKey(b.value)===l.getKey(a.parentItem));r!=null&&(l.getChildren(r.value)?.every(y=>v.value.find(x=>l.getKey(x)===l.getKey(y)))?v.value=[...v.value,r.value]:v.value=v.value.filter(y=>l.getKey(y)!==l.getKey(r.value)),o(r))}}return _e({modelValue:v,selectedKeys:s,onSelect:a=>{const r=y=>l.getKey(y??{})===l.getKey(a),b=l.multiple&&Array.isArray(v.value)?v.value?.findIndex(r)!==-1:void 0;if(R(a,r),l.bubbleSelect&&l.multiple&&Array.isArray(v.value)){const y=u.value.find(x=>l.getKey(x.value)===l.getKey(a));y!=null&&o(y)}if(l.propagateSelect&&l.multiple&&Array.isArray(v.value)){const y=W(l.getChildren(a)??[]);b?v.value=[...v.value].filter(x=>!y.some(N=>l.getKey(x??{})===l.getKey(N))):v.value=[...v.value,...y]}},expanded:T,onToggle(a){if(!(a?l.getChildren(a):void 0))return;const b=l.getKey(a)??a;T.value.includes(b)?T.value=T.value.filter(y=>y!==b):T.value=[...T.value,b]},getKey:l.getKey,getChildren:l.getChildren,items:B,expandedItems:u,disabled:C,multiple:e,dir:f,propagateSelect:K,bubbleSelect:c,isVirtual:q,virtualKeydownHook:w,handleMultipleReplace:n}),(a,r)=>(_(),j(i(oe),{ref_key:"rovingFocusGroupRef",ref:A,"as-child":"",orientation:"vertical",dir:i(f)},{default:P(()=>[V(i(te),{role:"tree",as:a.as,"as-child":a.asChild,"aria-multiselectable":i(e)?!0:void 0,onKeydown:[p,M($(g,["shift"]),["up","down"])]},{default:P(()=>[le(a.$slots,"default",{flattenItems:u.value,modelValue:i(v),expanded:i(T)})]),_:3},8,["as","as-child","aria-multiselectable","onKeydown"])]),_:3},8,["dir"]))}}),qe=Ee;const we="tree.select",Be="tree.toggle";var Re=ee({inheritAttrs:!1,__name:"TreeItem",props:{value:{type:null,required:!0},level:{type:Number,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"li"}},emits:["select","toggle"],setup(d,{expose:k,emit:l}){const h=d,B=l,e=Ie(),{getItems:C}=pe(),K=E(()=>!!e.getChildren(h.value)),m=E(()=>{const n=e.getKey(h.value);return e.expanded.value.includes(n)}),c=E(()=>{const n=e.getKey(h.value);return e.selectedKeys.value.includes(n)}),S=E(()=>{if(e.bubbleSelect.value&&K.value&&Array.isArray(e.modelValue.value)){const n=W(e.getChildren(h.value)||[]);return n.some(s=>e.modelValue.value.find(t=>e.getKey(t)===e.getKey(s)))&&!n.every(s=>e.modelValue.value.find(t=>e.getKey(t)===e.getKey(s)))}else return e.propagateSelect.value&&c.value&&K.value&&Array.isArray(e.modelValue.value)?!W(e.getChildren(h.value)||[]).every(s=>e.modelValue.value.find(t=>e.getKey(t)===e.getKey(s))):void 0}),f=E(()=>e.disabled.value||h.disabled);function A(n){if(!f.value&&K.value)if(m.value){const s=C().map(o=>o.ref),t=U(),u=s.indexOf(t),g=[...s].slice(u).find(o=>Number(o.getAttribute("data-indent"))===h.level+1);g&&g.focus()}else R(n)}function q(n){if(!f.value)if(m.value)R(n);else{const s=C().map(o=>o.ref),t=U(),u=s.indexOf(t),g=[...s].slice(0,u).reverse().find(o=>Number(o.getAttribute("data-indent"))===h.level-1);
1g&&g.focus()}}async function w(n){f.value||(B("select",n),!n?.defaultPrevented&&e.onSelect(h.value))}async function v(n){f.value||(B("toggle",n),!n?.defaultPrevented&&e.onToggle(h.value))}async function T(n){if(!n)return;const s={originalEvent:n,value:h.value,isExpanded:m.value,isSelected:c.value};Q(we,w,s)}async function R(n){if(!n)return;const s={originalEvent:n,value:h.value,isExpanded:m.value,isSelected:c.value};Q(Be,v,s)}return k({isExpanded:m,isSelected:c,isIndeterminate:S,isDisabled:f,handleToggle:()=>e.onToggle(h.value),handleSelect:()=>e.onSelect(h.value)}),(n,s)=>(_(),j(i(Ke),{"as-child":"",value:n.value,"allow-shift-key":"",focusable:!f.value},{default:P(()=>[V(i(te),ae(n.$attrs,{role:"treeitem",as:n.as,"as-child":n.asChild,"aria-selected":c.value,"aria-expanded":K.value?m.value:void 0,"aria-level":n.level,"aria-disabled":f.value?!0:void 0,"data-indent":n.level,"data-selected":c.value?"":void 0,"data-expanded":m.value?"":void 0,"data-disabled":f.value?"":void 0,onKeydown:[M($(T,["self","prevent"]),["enter","space"]),s[0]||(s[0]=M($(t=>i(e).dir.value==="ltr"?A(t):q(t),["prevent"]),["right"])),s[1]||(s[1]=M($(t=>i(e).dir.value==="ltr"?q(t):A(t),["prevent"]),["left"]))],onClick:s[2]||(s[2]=$(t=>{T(t),R(t)},["stop"]))}),{default:P(()=>[le(n.$slots,"default",{isExpanded:m.value,isSelected:c.value,isIndeterminate:S.value,isDisabled:f.value,handleSelect:()=>i(e).onSelect(n.value),handleToggle:()=>i(e).onToggle(n.value)})]),_:3},16,["as","as-child","aria-selected","aria-expanded","aria-level","aria-disabled","data-indent","data-selected","data-expanded","data-disabled","onKeydown"])]),_:3},8,["value","focusable"]))}}),Ve=Re;const Le={slots:{root:"relative lg:h-[450px] my-5 grid lg:grid-cols-3 border border-muted rounded-md",list:"isolate relative p-2 border-b lg:border-b-0 lg:border-e border-muted overflow-y-auto",item:"",listWithChildren:"ms-4.5 border-s border-default",itemWithChildren:"ps-1.5 -ms-px",link:"relative group peer w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none before:outline-primary/25 focus-visible:before:outline-3",linkLeadingIcon:"size-4 shrink-0",linkLabel:"truncate",linkTrailing:"ms-auto inline-flex gap-1.5 items-center",linkTrailingIcon:"size-5 transform transition-transform duration-200 shrink-0 group-data-expanded:rotate-180",content:"overflow-hidden lg:col-span-2 flex flex-col [&>div]:my-0 [&>div]:flex-1 [&>div]:flex [&>div]:flex-col [&>div>div]:border-0 [&>div>pre]:border-b-0 [&>div>pre]:border-s-0 [&>div>pre]:border-e-0 [&>div>pre]:rounded-s-none [&>div>pre]:flex-1 [&>div]:overflow-y-auto"},variants:{active:{true:{link:"text-highlighted before:bg-elevated"},false:{link:["hover:text-highlighted hover:before:bg-elevated/50","transition-colors before:transition-colors"]}}}},Ne=Object.assign({inheritAttrs:!1},{__name:"ProseCodeTree",props:{items:{type:Array,required:!1},modelValue:{type:String,required:!1},defaultValue:{type:String,required:!1},expandAll:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},emits:["update:modelValue"],setup(d,{emit:k}){const l=d,h=k,B=me(),e=he("prose.codeTree",l),C=ge(),[K,m]=ye(),c=E(()=>ke({extend:Le,...C.ui?.prose?.codeTree||{}})()),S=e.modelValue??e.defaultValue,f=L(S?{path:S}:void 0),A=L();O(f,t=>{t?.path!==e.modelValue&&h("update:modelValue",t?.path)}),O(()=>e.modelValue,t=>{if(t===f.value?.path)return;f.value=t?{path:t}:void 0;const u=n(t);for(const p of u)s.value.includes(p)||s.value.push(p)});const q=L(1),w=E(()=>(q.value,e.items||B.default?.()?.flatMap(R).filter(Boolean)||[])),v=E(()=>T(w.value));function T(t){const u=new Map,p=[];t.forEach(o=>{const a=o.label.split("/");let r="";a.forEach((b,y)=>{if(r=r?`${r}/${b}`:b,!u.has(r)){const x={label:b,path:r,...y<a.length-1&&{children:[]}};u.set(r,x),y===0?p.push(x):u.get(a.slice(0,y).join("/"))?.children?.push(x)}})});const g=o=>o.sort((a,r)=>!!a.children==!!r.children?a.label.localeCompare(r.label):r.children?1:-1).map(a=>({...a,children:a.children&&g(a.children)}));return g(p)}function R(t,u){return typeof t.type=="symbol"?t.children?.map(R):{label:t.props?.filename||t.props?.label||`${u}`,icon:t.props?.icon,component:t}}function n(t){if(e.expandAll){const p=new Set;return w.value.forEach(g=>{const o=g.label.split("/");for(let a=1;a<o.length;a++)p.add(o.slice(0,a).join("/"))}),Array.from(p)}if(!t)return[];const u=t.split("/");return u.slice(0,-1).map((p,g)=>u.slice(0,g+1).join("/"))}const s=L(n(f.value?.path));return O(w,(t,u)=>{if(!e.expandAll)return;const p=t.map(o=>o.label).join(` 2`),g=u?.map(o=>o.label).join(` 3`)??"";p!==g&&(s.value=n())}),O(f,t=>{const u=w.value.find(p=>t?.path===p.label);u?.component&&(A.value=u)},{immediate:!0}),be(()=>q.value++),(t,u)=>(_(),D(X,null,[V(i(K),null,{default:P(({items:p,level:g})=>[(_(!0),D(X,null,Ce(p,(o,a)=>(_(),D("li",{key:`${g}-${a}`,role:"presentation",class:I(g>1?c.value.itemWithChildren({class:i(e).ui?.itemWithChildren}):c.value.item({class:i(e).ui?.item}))},[V(i(Ve),{level:g,value:o,"as-child":""},{default:P(({isExpanded:r,isSelected:b})=>[F("button",{type:"button",class:I(c.value.link({class:i(e).ui?.link,active:b}))},[o.children?.length?(_(),j(J,{key:0,name:r?i(C).ui.icons.folderOpen:i(C).ui.icons.folder,class:I(c.value.linkLeadingIcon({class:i(e).ui?.linkLeadingIcon}))},null,8,["name","class"])):(_(),j(Ae,{key:1,filename:o.label,class:I(c.value.linkLeadingIcon({class:i(e).ui?.linkLeadingIcon}))},null,8,["filename","class"])),F("span",{class:I(c.value.linkLabel({class:i(e).ui?.linkLabel}))},Te(o.label),3),o.children?.length?(_(),D("span",{key:2,class:I(c.value.linkTrailing({class:i(e).ui?.linkTrailing}))},[V(J,{name:i(C).ui.icons.chevronDown,class:I(c.value.linkTrailingIcon({class:i(e).ui?.linkTrailingIcon}))},null,8,["name","class"])],2)):Z("",!0)],2),o.children?.length&&r?(_(),D("ul",{key:0,role:"group",class:I(c.value.listWithChildren({class:i(e).ui?.listWithChildren}))},[V(i(m),{items:o.children,level:g+1},null,8,["items","level"])],2)):Z("",!0)]),_:2},1032,["level","value"])],2))),128))]),_:1}),F("div",ae(t.$attrs,{class:c.value.root({class:[i(e).ui?.root,i(e).class]})}),[V(i(qe),{modelValue:f.value,"onUpdate:modelValue":u[0]||(u[0]=p=>f.value=p),expanded:s.value,"onUpdate:expanded":u[1]||(u[1]=p=>s.value=p),class:I(c.value.list({class:i(e).ui?.list})),items:v.value,"get-key":p=>p.path},{default:P(()=>[V(i(m),{items:v.value,level:1},null,8,["items"])]),_:1},8,["modelValue","expanded","class","items","get-key"]),F("div",{class:I(c.value.content({class:i(e).ui?.content}))},[(_(),j(xe(A.value?.component)))],2)],16)],64))}});
3export{Ne as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.