UNPKG

@wikimedia/codex

Version:

Codex Design System for Wikimedia

2 lines (1 loc) 22.9 kB
var Ze=Object.defineProperty,Je=Object.defineProperties;var Xe=Object.getOwnPropertyDescriptors;var pe=Object.getOwnPropertySymbols;var Ye=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable;var ye=(e,a,n)=>a in e?Ze(e,a,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[a]=n,te=(e,a)=>{for(var n in a||(a={}))Ye.call(a,n)&&ye(e,n,a[n]);if(pe)for(var n of pe(a))et.call(a,n)&&ye(e,n,a[n]);return e},re=(e,a)=>Je(e,Xe(a));import{d as W,bi as tt,C as ue,r as T,af as de,B as H,t as le,bj as at,_ as U,a as D,b as y,o as u,g as B,j as _e,w as ne,n as P,E as Be,T as lt,c as v,e as M,q as se,s as w,bk as nt,h as z,f as I,F as Q,D as A,i as st,k as Le,bl as it,v as Te,ag as Ie,a2 as Me,ae as $e,z as ot,a6 as ke,Z as rt,a5 as ut,p as xe,bm as Ce,H as dt}from"./DemoBaseLayout.vue_vue_type_style_index_0_lang-CWG_HZgx.js";import{e as ct}from"./TypeaheadSearch.vue_vue_type_style_index_0_lang-guaG63gZ.js";import{u as ft}from"./floating-ui.vue-VTEv9orc.js";import{a as ht,o as gt,s as vt,f as bt,h as Se}from"./floating-ui.dom-CMj0Z5yx.js";function mt(e){return e.replace(/([\\{}()|.?*+\-^$[\]])/g,"\\$1")}const pt="[̀-ͯ҃-҉֑-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣ৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఄా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣංඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ູົຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-᪾ᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭ᳲ-᳴᳷-᳹᷀-᷹᷻-᷿⃐-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯-꙲ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯]";function yt(e,a){if(!e)return[a,"",""];const n=mt(e),f=new RegExp(n+pt+"*","i").exec(a);if(!f||f.index===void 0)return[a,"",""];const o=f.index,d=o+f[0].length,r=a.slice(o,d),_=a.slice(0,o),k=a.slice(d,a.length);return[_,r,k]}const _t=W({name:"CdxThumbnail",components:{CdxIcon:ue},props:{thumbnail:{type:[Object,null],default:null},placeholderIcon:{type:[String,Object],default:tt}},setup:e=>{const a=T(!1),n=T({}),f=o=>{const d=o.replace(/([\\"\n])/g,"\\$1"),r=new Image;r.onload=()=>{n.value={backgroundImage:'url("'.concat(d,'")')},a.value=!0},r.onerror=()=>{a.value=!1},r.src=d};return de(()=>{var o;(o=e.thumbnail)!=null&&o.url&&f(e.thumbnail.url)}),H(le(e,"thumbnail"),(o,d)=>{if(!(o!=null&&o.url)){a.value=!1,n.value={};return}(d==null?void 0:d.url)!==o.url&&(a.value=!1,f(o.url))},{deep:!0}),{thumbnailStyle:n,thumbnailLoaded:a,NoInvertClass:at}}}),Mt={class:"cdx-thumbnail"},$t={key:0,class:"cdx-thumbnail__placeholder"};function kt(e,a,n,f,o,d){const r=D("cdx-icon");return u(),y("span",Mt,[e.thumbnailLoaded?B("v-if",!0):(u(),y("span",$t,[_e(r,{icon:e.placeholderIcon,class:"cdx-thumbnail__placeholder__icon--vue"},null,8,["icon"])])),_e(lt,{name:"cdx-thumbnail__image"},{default:ne(()=>[e.thumbnailLoaded?(u(),y("span",{key:0,style:Be(e.thumbnailStyle),class:P([e.NoInvertClass,"cdx-thumbnail__image"])},null,6)):B("v-if",!0)]),_:1})])}const xt=U(_t,[["render",kt]]),Ct=W({name:"CdxSearchResultTitle",props:{title:{type:String,required:!0},searchQuery:{type:String,default:""}},setup:e=>({titleChunks:v(()=>yt(e.searchQuery,String(e.title)))})}),St={class:"cdx-search-result-title"},wt={class:"cdx-search-result-title__match"};function Bt(e,a,n,f,o,d){return u(),y("span",St,[M("bdi",null,[se(w(e.titleChunks[0]),1),M("span",wt,w(e.titleChunks[1]),1),se(w(e.titleChunks[2]),1)])])}const Lt=U(Ct,[["render",Bt]]),Tt=W({name:"CdxMenuItem",components:{CdxIcon:ue,CdxThumbnail:xt,CdxSearchResultTitle:Lt},props:{id:{type:String,required:!0},value:{type:[String,Number],required:!0},disabled:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},active:{type:Boolean,default:!1},highlighted:{type:Boolean,default:!1},label:{type:String,default:""},match:{type:String,default:""},supportingText:{type:String,default:""},url:{type:String,default:""},urlNewTab:{type:Boolean,default:!1},icon:{type:[String,Object],default:""},showThumbnail:{type:Boolean,default:!1},thumbnail:{type:[Object,null],default:null},description:{type:[String,null],default:""},searchQuery:{type:String,default:""},boldLabel:{type:Boolean,default:!1},hideDescriptionOverflow:{type:Boolean,default:!1},language:{type:Object,default:()=>({})},action:{type:String,default:"default"},multiselect:{type:Boolean,default:!1}},emits:["change"],setup:(e,{emit:a})=>{const n=()=>{e.highlighted||a("change","highlighted",!0)},f=()=>{a("change","highlighted",!1)},o=p=>{p.button===0&&a("change","active",!0)},d=()=>{a("change","selected",!0)},r=v(()=>e.searchQuery.length>0),_=v(()=>({"cdx-menu-item--selected":e.selected,"cdx-menu-item--active":e.active&&e.highlighted,"cdx-menu-item--highlighted":e.highlighted,"cdx-menu-item--destructive":e.action&&e.action==="destructive","cdx-menu-item--enabled":!e.disabled,"cdx-menu-item--disabled":e.disabled,"cdx-menu-item--highlight-query":r.value,"cdx-menu-item--bold-label":e.boldLabel,"cdx-menu-item--has-description":!!e.description,"cdx-menu-item--hide-description-overflow":e.hideDescriptionOverflow})),k=v(()=>e.url?"a":"span"),i=v(()=>e.url&&e.urlNewTab?{target:"_blank",rel:"noopener noreferrer"}:{}),m=v(()=>e.label||String(e.value));return{onMouseMove:n,onMouseLeave:f,onMouseDown:o,onClick:d,highlightQuery:r,rootClasses:_,contentTag:k,linkAttrs:i,title:m,cdxIconCheck:nt}}}),It=["id","aria-disabled","aria-selected","aria-checked"],Rt={class:"cdx-menu-item__text"},Nt=["lang"],Ht=["lang"],At=["lang"],Dt=["lang"];function Ot(e,a,n,f,o,d){const r=D("cdx-thumbnail"),_=D("cdx-icon"),k=D("cdx-search-result-title");return u(),y("li",{id:e.id,role:"option",class:P(["cdx-menu-item",e.rootClasses]),"aria-disabled":e.disabled,"aria-selected":e.selected&&!e.multiselect?!0:void 0,"aria-checked":e.selected&&e.multiselect?!0:void 0,onMousemove:a[0]||(a[0]=(...i)=>e.onMouseMove&&e.onMouseMove(...i)),onMouseleave:a[1]||(a[1]=(...i)=>e.onMouseLeave&&e.onMouseLeave(...i)),onMousedown:a[2]||(a[2]=Le((...i)=>e.onMouseDown&&e.onMouseDown(...i),["prevent"])),onClick:a[3]||(a[3]=(...i)=>e.onClick&&e.onClick(...i))},[z(e.$slots,"default",{},()=>[(u(),I(st(e.contentTag),A({href:e.url?e.url:void 0},e.url?e.linkAttrs:{},{class:"cdx-menu-item__content"}),{default:ne(()=>{var i,m,p,h,g,b;return[e.showThumbnail?(u(),I(r,{key:0,thumbnail:e.thumbnail,class:"cdx-menu-item__thumbnail"},null,8,["thumbnail"])):e.icon?(u(),I(_,{key:1,icon:e.icon,class:"cdx-menu-item__icon"},null,8,["icon"])):B("v-if",!0),M("span",Rt,[e.highlightQuery?(u(),I(k,{key:0,title:e.title,"search-query":e.searchQuery,lang:(i=e.language)==null?void 0:i.label},null,8,["title","search-query","lang"])):(u(),y("span",{key:1,class:"cdx-menu-item__text__label",lang:(m=e.language)==null?void 0:m.label},[M("bdi",null,w(e.title),1)],8,Nt)),e.match?(u(),y(Q,{key:2},[a[4]||(a[4]=se(w(" ")+" ")),e.highlightQuery?(u(),I(k,{key:0,title:e.match,"search-query":e.searchQuery,lang:(p=e.language)==null?void 0:p.match},null,8,["title","search-query","lang"])):(u(),y("span",{key:1,class:"cdx-menu-item__text__match",lang:(h=e.language)==null?void 0:h.match},[M("bdi",null,w(e.match),1)],8,Ht))],64)):B("v-if",!0),e.supportingText?(u(),y(Q,{key:3},[a[5]||(a[5]=se(w(" ")+" ")),M("span",{class:"cdx-menu-item__text__supporting-text",lang:(g=e.language)==null?void 0:g.supportingText},[M("bdi",null,w(e.supportingText),1)],8,At)],64)):B("v-if",!0),e.description?(u(),y("span",{key:4,class:"cdx-menu-item__text__description",lang:(b=e.language)==null?void 0:b.description},[M("bdi",null,w(e.description),1)],8,Dt)):B("v-if",!0)]),e.multiselect&&e.selected?(u(),I(_,{key:2,icon:e.cdxIconCheck,size:"small",class:"cdx-menu-item__selected-icon"},null,8,["icon"])):B("v-if",!0)]}),_:1},16,["href"]))])],42,It)}const Kt=U(Tt,[["render",Ot]]),Vt=W({name:"CdxProgressBar",inheritAttrs:!1,props:{value:{type:[Number,null],default:null},max:{type:Number,default:100},inline:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},startLabel:{type:String,default:""},endLabel:{type:String,default:""}},setup(e,{attrs:a}){it(()=>!e.inline&&!a["aria-label"]&&!a["aria-hidden"]);const n=v(()=>typeof e.value=="number"),f=v(()=>({"cdx-progress-bar--block":!e.inline,"cdx-progress-bar--inline":e.inline,"cdx-progress-bar--enabled":!e.disabled,"cdx-progress-bar--disabled":e.disabled})),o=v(()=>e.inline?"true":void 0),d=v(()=>typeof e.value!="number"?0:Math.min(Math.max(e.value,0),e.max)),r=v(()=>({"--cdx-progress-value":d.value,"--cdx-progress-max":e.max})),_=Te(),k=v(()=>!!(e.startLabel||e.endLabel)),i=v(()=>k.value?_:void 0);return{rootClasses:f,computedAriaHidden:o,hasValue:n,progressStyles:r,clampedValue:d,labelsId:_,ariaLabelledBy:i}}}),jt=["aria-labelledby","aria-hidden","aria-disabled","aria-valuemin","aria-valuemax","aria-valuenow"],Qt=["id"],qt={class:"cdx-progress-bar__label cdx-progress-bar__label--start"},Et={class:"cdx-progress-bar__label cdx-progress-bar__label--end"};function Ft(e,a,n,f,o,d){return u(),y(Q,null,[M("div",A({class:["cdx-progress-bar",e.rootClasses]},e.$attrs,{role:"progressbar","aria-labelledby":e.ariaLabelledBy,"aria-hidden":e.computedAriaHidden,"aria-disabled":e.disabled,"aria-valuemin":e.hasValue?0:void 0,"aria-valuemax":e.hasValue?e.max:void 0,"aria-valuenow":e.hasValue?e.clampedValue:void 0,style:e.hasValue?e.progressStyles:void 0}),[M("div",{class:P(["cdx-progress-bar__bar",{"cdx-progress-bar__bar--determinate":e.hasValue}])},null,2)],16,jt),e.startLabel||e.endLabel?(u(),y("div",{key:0,id:e.labelsId,class:"cdx-progress-bar__labels"},[M("div",qt,w(e.startLabel),1),M("div",Et,w(e.endLabel),1)],8,Qt)):B("v-if",!0)],64)}const zt=U(Vt,[["render",Ft]]);function Pt(e,a){const n=T(!1);let f=!1;if(typeof window!="object"||!("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype))return n;const o=new window.IntersectionObserver(d=>{const r=d[0];r&&(n.value=r.isIntersecting)},a);return de(()=>{f=!0,e.value&&o.observe(e.value)}),Ie(()=>{f=!1,o.disconnect()}),H(e,d=>{f&&(o.disconnect(),n.value=!1,d&&o.observe(d))}),n}function ae(e){return e!==null&&Array.isArray(e)}function F(e){return"items"in e}const Wt=W({name:"CdxMenu",components:{CdxMenuItem:Kt,CdxIcon:ue,CdxProgressBar:zt},inheritAttrs:!1,props:{menuItems:{type:Array,required:!0},footer:{type:Object,default:null},selected:{type:[String,Number,Array,null],required:!0},expanded:{type:Boolean,required:!0},showPending:{type:Boolean,default:!1},visibleItemLimit:{type:Number,default:null},showThumbnail:{type:Boolean,default:!1},boldLabel:{type:Boolean,default:!1},hideDescriptionOverflow:{type:Boolean,default:!1},searchQuery:{type:String,default:""},showNoResultsSlot:{type:Boolean,default:null},renderInPlace:{type:Boolean,default:!1}},emits:["update:selected","update:expanded","menu-item-click","menu-item-keyboard-navigation","load-more"],setup(e,{emit:a,slots:n,attrs:f}){const o=Te();let d=0;const r=new Map;function _(){return d+=1,"".concat(o,"-").concat(d)}function k(t){t.forEach(l=>{if(F(l)){const s="group-".concat(l.label);r.has(s)||r.set(s,_()),l.items.forEach(c=>{r.has(c.value)||r.set(c.value,_())})}else r.has(l.value)||r.set(l.value,_())})}H(le(e,"menuItems"),t=>{function l(c){const x=new Set;return c.forEach($=>{F($)?(x.add("group-".concat($.label)),$.items.forEach(j=>x.add(j.value))):x.add($.value)}),x}const s=l(t);r.forEach((c,x)=>{s.has(x)||r.delete(x)})},{deep:!0});const i=v(()=>{k(e.menuItems),e.footer&&k([e.footer]);const t=e.footer&&e.menuItems?[...e.menuItems,e.footer]:e.menuItems;function l(s){const c=r.get(s.value);if(!c)throw new Error("No ID found for menu item with value ".concat(s.value));return re(te({},s),{id:c})}return t.map(s=>{if(F(s)){const c=r.get("group-".concat(s.label));if(!c)throw new Error("No ID found for menu item with value group-".concat(s.label));return re(te({},s),{id:c,items:s.items.map(x=>l(x))})}else return l(s)})}),m=v(()=>{const t=[];return i.value.forEach(l=>{F(l)?t.push(...l.items):t.push(l)}),t}),p=v(()=>n["no-results"]?e.showNoResultsSlot!==null?e.showNoResultsSlot:m.value.length===0:!1),h=T(null),g=T(!1),b=T(null),C=Me("CdxTeleportMenus",!1),O=v(()=>!$e(C)||e.renderInPlace),G=Me("CdxTeleportTarget",void 0),Z=v(()=>{var t;return(t=$e(G))!=null?t:"body"}),J="additions removals";let S="",K=null;function ie(){S="",K!==null&&(clearTimeout(K),K=null)}function ce(){K!==null&&clearTimeout(K),K=setTimeout(ie,1500)}function q(){var t;return(t=m.value.find(l=>ae(e.selected)?e.selected.includes(l.value):l.value===e.selected))!=null?t:null}const E=v(()=>ae(e.selected));function Re(t){return ae(e.selected)?e.selected.includes(t):t===e.selected}function oe(t){if(ae(e.selected)){const l=e.selected.includes(t)?e.selected.filter(s=>s!==t):e.selected.concat(t);a("update:selected",l)}else a("update:selected",t)}function L(t,l){if(!(l!=null&&l.disabled))switch(t){case"selected":l&&oe(l.value),E.value||a("update:expanded",!1),b.value=null;break;case"highlighted":h.value=l!=null?l:null,g.value=!1;break;case"highlightedViaKeyboard":h.value=l!=null?l:null,g.value=!0;break;case"active":b.value=l!=null?l:null;break}}const N=v(()=>{if(h.value!==null)return m.value.findIndex(t=>t.value===h.value.value)});function fe(t){t&&(L("highlightedViaKeyboard",t),a("menu-item-keyboard-navigation",t))}function he(t){var c;const l=x=>{for(let $=x-1;$>=0;$--)if(!m.value[$].disabled)return m.value[$]};t=t!=null?t:m.value.length;const s=(c=l(t))!=null?c:l(m.value.length);fe(s)}function ge(t){var c;const l=x=>m.value.find(($,j)=>!$.disabled&&j>x);t=t!=null?t:-1;const s=(c=l(t))!=null?c:l(-1);fe(s)}function Ne(t){if(t.key==="Clear")return ie(),!0;if(t.key==="Backspace")return S=S.slice(0,-1),ce(),!0;if(t.key.length===1&&!t.metaKey&&!t.ctrlKey&&!t.altKey){if(e.expanded||a("update:expanded",!0),t.key===" "&&S.length<1)return!1;S+=t.key.toLowerCase();const l=S.length>1&&S.split("").every($=>$===S[0]);let s=m.value,c=S;l&&N.value!==void 0&&(s=s.slice(N.value+1).concat(s.slice(0,N.value)),c=S[0]);const x=s.find($=>{var j;return!$.disabled&&String((j=$.label)!=null?j:$.value).toLowerCase().startsWith(c)});return x&&(L("highlightedViaKeyboard",x),V()),ce(),!0}return!1}function He(t,{prevent:l=!0,characterNavigation:s=!1}={}){if(s){if(Ne(t))return t.preventDefault(),!0;ie()}function c(){l&&(t.preventDefault(),t.stopPropagation())}switch(t.key){case"Enter":case" ":return c(),e.expanded?(h.value&&g.value&&oe(h.value.value),E.value||a("update:expanded",!1)):a("update:expanded",!0),!0;case"Tab":return e.expanded&&h.value&&g.value&&!E.value&&(oe(h.value.value),a("update:expanded",!1)),!0;case"ArrowUp":return c(),e.expanded?(h.value===null&&L("highlightedViaKeyboard",q()),he(N.value)):a("update:expanded",!0),V(),!0;case"ArrowDown":return c(),e.expanded?(h.value===null&&L("highlightedViaKeyboard",q()),ge(N.value)):a("update:expanded",!0),V(),!0;case"Home":return c(),e.expanded?(h.value===null&&L("highlightedViaKeyboard",q()),ge()):a("update:expanded",!0),V(),!0;case"End":return c(),e.expanded?(h.value===null&&L("highlightedViaKeyboard",q()),he()):a("update:expanded",!0),V(),!0;case"Escape":return c(),a("update:expanded",!1),!0;default:return!1}}function ve(){L("active",null)}const R=[],be=T(void 0),Ae=Pt(be,{threshold:.8});H(Ae,t=>{t&&a("load-more")});function De(t,l){if(t){R[l]=t.$el;const s=e.visibleItemLimit;if(!s||e.menuItems.length<s)return;const c=Math.min(s,Math.max(2,Math.floor(.2*e.menuItems.length)));l===e.menuItems.length-c&&(be.value=t.$el)}}const Oe=T(),X=T();function V(){const t=X.value&&X.value.scrollHeight>X.value.clientHeight;if(N.value===void 0||!t)return;const l=N.value>=0?N.value:0;requestAnimationFrame(()=>{R[l].scrollIntoView({behavior:"smooth",block:"nearest"})})}const Y=T(null),ee=T(null);async function me(){await ke(),Ke(),Ve(),await ke(),V()}function Ke(){if(e.footer){const t=R[R.length-1];ee.value=t.scrollHeight}else ee.value=null}function Ve(){if(!e.visibleItemLimit||R.length<=e.visibleItemLimit){Y.value=null;return}const t=R[0].getBoundingClientRect().top,l=R[e.visibleItemLimit].getBoundingClientRect().top;Y.value=l-t+2}function je(t){return{"cdx-menu__group-wrapper--hide-label":!!t.hideLabel}}function Qe(t){return m.value.indexOf(t)}function qe(t){var l,s;return te({selected:Re(t.value),active:t.value===((l=b.value)==null?void 0:l.value),highlighted:t.value===((s=h.value)==null?void 0:s.value),showThumbnail:e.showThumbnail,boldLabel:e.boldLabel,hideDescriptionOverflow:e.hideDescriptionOverflow,searchQuery:e.searchQuery,multiselect:E.value},t)}function Ee(t){return{change:(l,s)=>L(l,s?t:null),click:()=>a("menu-item-click",t)}}function Fe(t){var l,s;return{menuItem:t,active:t.value===((l=b.value)==null?void 0:l.value)&&t.value===((s=h.value)==null?void 0:s.value)}}de(()=>{document.addEventListener("mouseup",ve)}),Ie(()=>{document.removeEventListener("mouseup",ve)}),H(le(e,"expanded"),async t=>{if(t){const l=q();l&&!h.value&&L("highlighted",l),await me()}else L("highlighted",null)}),H(le(e,"menuItems"),async t=>{t.length<R.length&&(R.length=t.length),e.expanded&&await me()},{deep:!0});const ze=v(()=>({"max-height":Y.value?"".concat(Y.value,"px"):void 0,"margin-bottom":ee.value?"".concat(ee.value,"px"):void 0})),Pe=v(()=>({"cdx-menu--has-footer":!!e.footer})),{rootClasses:We,rootStyle:Ue,otherAttrs:Ge}=ot(f,Pe);return{listBoxStyle:ze,rootClasses:We,rootStyle:Ue,otherAttrs:Ge,assignTemplateRef:De,computedMenuEntries:i,computedMenuItems:m,computedShowNoResultsSlot:p,highlightedMenuItem:h,highlightedViaKeyboard:g,teleportDisabled:O,computedTarget:Z,handleMenuItemChange:L,handleKeyNavigation:He,ariaRelevant:J,isMultiselect:E,rootElement:Oe,menuListbox:X,getGroupWrapperClasses:je,getMenuItemIndex:Qe,getMenuItemBindings:qe,getMenuItemHandlers:Ee,getSlotBindings:Fe,isMenuGroupData:F}},methods:{isExpanded(){return this.expanded},getRootElement(){return this.rootElement},getHighlightedMenuItem(){return this.expanded?this.highlightedMenuItem:null},getHighlightedViaKeyboard(){return this.highlightedViaKeyboard},getComputedMenuItems(){return this.computedMenuItems},clearActive(){this.handleMenuItemChange("active",null)},delegateKeyNavigation(e,{prevent:a=!0,characterNavigation:n=!1}={}){return this.handleKeyNavigation(e,{prevent:a,characterNavigation:n})}}}),Ut=["aria-live","aria-relevant","aria-multiselectable"],Gt={key:0,class:"cdx-menu__pending cdx-menu-item"},Zt={key:1,class:"cdx-menu__no-results cdx-menu-item",role:"option"},Jt=["aria-labelledby","aria-describedby"],Xt={class:"cdx-menu__group__meta"},Yt={class:"cdx-menu__group__meta__text"},ea=["id"],ta=["id"];function aa(e,a,n,f,o,d){const r=D("cdx-icon"),_=D("cdx-menu-item"),k=D("cdx-progress-bar");return u(),I(dt,{to:e.computedTarget,disabled:e.teleportDisabled},[rt(M("div",{ref:"rootElement",class:P(["cdx-menu",e.rootClasses]),style:Be(e.rootStyle)},[M("ul",A({ref:"menuListbox",class:"cdx-menu__listbox",role:"listbox",tabindex:"-1",style:e.listBoxStyle,"aria-live":e.showPending?"polite":void 0,"aria-relevant":e.showPending?e.ariaRelevant:void 0,"aria-multiselectable":e.isMultiselect?!0:void 0},e.otherAttrs,{onMousedown:a[0]||(a[0]=Le(()=>{},["prevent"]))}),[e.showPending&&e.computedMenuItems.length===0&&e.$slots.pending?(u(),y("li",Gt,[z(e.$slots,"pending")])):B("v-if",!0),e.computedShowNoResultsSlot?(u(),y("li",Zt,[z(e.$slots,"no-results")])):B("v-if",!0),(u(!0),y(Q,null,xe(e.computedMenuEntries,(i,m)=>(u(),y(Q,{key:m},[e.isMenuGroupData(i)?(u(),y("li",{key:0,class:P(["cdx-menu__group-wrapper",e.getGroupWrapperClasses(i)])},[M("ul",{class:"cdx-menu__group",role:"group","aria-labelledby":i.id+"-label","aria-describedby":i.id+"-description"},[M("span",Xt,[i.icon?(u(),I(r,{key:0,class:"cdx-menu__group__icon",icon:i.icon},null,8,["icon"])):B("v-if",!0),M("span",Yt,[M("span",{id:i.id+"-label",class:"cdx-menu__group__label"},w(i.label),9,ea),i.description?(u(),y("span",{key:0,id:i.id+"-description",class:"cdx-menu__group__description"},w(i.description),9,ta)):B("v-if",!0)])]),(u(!0),y(Q,null,xe(i.items,p=>(u(),I(_,A({key:p.value,ref_for:!0,ref:h=>e.assignTemplateRef(h,e.getMenuItemIndex(p)),class:"cdx-menu__group__item"},{ref_for:!0},e.getMenuItemBindings(p),Ce(e.getMenuItemHandlers(p))),{default:ne(()=>[z(e.$slots,"default",A({ref_for:!0},e.getSlotBindings(p)))]),_:2},1040))),128))],8,Jt)],2)):(u(),I(_,A({key:1,ref_for:!0,ref:p=>e.assignTemplateRef(p,e.getMenuItemIndex(i))},{ref_for:!0},e.getMenuItemBindings(i),Ce(e.getMenuItemHandlers(i))),{default:ne(()=>[z(e.$slots,"default",A({ref_for:!0},e.getSlotBindings(i)))]),_:2},1040))],64))),128)),e.showPending?(u(),I(k,{key:2,class:"cdx-menu__progress-bar",inline:!0})):B("v-if",!0)],16,Ut)],6),[[ut,e.expanded]])],8,["to","disabled"])}const ua=U(Wt,[["render",aa]]),we=16,la=128;function da(e,a,n){var h;const f=()=>{var g;return(g=a.value)==null?void 0:g.isExpanded()},o=v(()=>{var g;return(g=a.value)==null?void 0:g.getRootElement()}),d=[gt(n==null?void 0:n.offset),vt({padding:we,apply({rects:g,elements:b,availableHeight:C,availableWidth:O}){Object.assign(b.floating.style,{width:"".concat(n!=null&&n.useAvailableWidth?O:g.reference.width,"px"),maxHeight:"".concat(Math.max(la,C),"px")})}}),bt({padding:we-1}),Se({strategy:"escaped"}),Se()],{floatingStyles:r,placement:_,middlewareData:k,update:i}=ft(e,o,{middleware:d,placement:(h=n==null?void 0:n.placement)!=null?h:"bottom"}),m=v(()=>{var b,C;return!f()||!!((b=k.value.hide)!=null&&b.escaped)||((C=k.value.hide)==null?void 0:C.referenceHidden)?"hidden":"visible"});H([r,m,_],([g,b,C])=>{var O,G,Z,J,S;Object.assign((G=(O=o.value)==null?void 0:O.style)!=null?G:{},{visibility:b,position:g.position,top:"".concat(g.top,"px"),right:"unset",left:"".concat(g.left,"px"),transform:(Z=g.transform)!=null?Z:"none",borderTopLeftRadius:C==="bottom"&&b==="visible"?"0":"",borderTopRightRadius:C==="bottom"&&b==="visible"?"0":"",borderBottomLeftRadius:C==="top"&&b==="visible"?"0":"",borderBottomRightRadius:C==="top"&&b==="visible"?"0":""}),Object.assign((S=(J=ct(e.value))==null?void 0:J.style)!=null?S:{},{borderTopLeftRadius:C==="top"&&b==="visible"?"0":"",borderTopRightRadius:C==="top"&&b==="visible"?"0":"",borderBottomLeftRadius:C==="bottom"&&b==="visible"?"0":"",borderBottomRightRadius:C==="bottom"&&b==="visible"?"0":""})});let p=null;H(f,g=>{if(g){if(!e.value||!o.value)return;p=ht("$el"in e.value?e.value.$el:e.value,o.value,i)}else p&&(p(),p=null)})}export{ua as C,Pt as a,Kt as b,zt as c,xt as d,da as u};