UNPKG

@wikimedia/codex

Version:

Codex Design System for Wikimedia

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