@wikimedia/codex
Version:
Codex Design System for Wikimedia
1 lines • 164 kB
JavaScript
(function(S,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(S=typeof globalThis!="undefined"?globalThis:S||self,t(S.codex={},S.Vue))})(this,function(S,t){"use strict";var Fr=Object.defineProperty,vr=Object.defineProperties;var Pr=Object.getOwnPropertyDescriptors;var ut=Object.getOwnPropertySymbols;var zn=Object.prototype.hasOwnProperty,Kn=Object.prototype.propertyIsEnumerable;var Pt=(S,t,Y)=>t in S?Fr(S,t,{enumerable:!0,configurable:!0,writable:!0,value:Y}):S[t]=Y,J=(S,t)=>{for(var Y in t||(t={}))zn.call(t,Y)&&Pt(S,Y,t[Y]);if(ut)for(var Y of ut(t))Kn.call(t,Y)&&Pt(S,Y,t[Y]);return S},re=(S,t)=>vr(S,Pr(t));var pe=(S,t)=>{var Y={};for(var de in S)zn.call(S,de)&&t.indexOf(de)<0&&(Y[de]=S[de]);if(S!=null&&ut)for(var de of ut(S))t.indexOf(de)<0&&Kn.call(S,de)&&(Y[de]=S[de]);return Y};var we=(S,t,Y)=>Pt(S,typeof t!="symbol"?t+"":t,Y);var te=(S,t,Y)=>new Promise((de,qe)=>{var pt=ke=>{try{ve(Y.next(ke))}catch(Pe){qe(Pe)}},ft=ke=>{try{ve(Y.throw(ke))}catch(Pe){qe(Pe)}},ve=ke=>ke.done?de(ke.value):Promise.resolve(ke.value).then(pt,ft);ve((Y=Y.apply(S,t)).next())});const Y='<path d="M11.53 2.3A1.85 1.85 0 0010 1.21 1.85 1.85 0 008.48 2.3L.36 16.36C-.48 17.81.21 19 1.88 19h16.24c1.67 0 2.36-1.19 1.52-2.64zM11 16H9v-2h2zm0-4H9V6h2z"/>',de='<path d="M12.43 14.34A5 5 0 0110 15a5 5 0 113.95-2L17 16.09V3a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2h10a2 2 0 001.45-.63z"/><circle cx="10" cy="10" r="3"/>',qe='<path d="M7 14.17 2.83 10l-1.41 1.41L7 17 19 5l-1.41-1.42z"/>',pt='<path d="M10 0a10 10 0 1010 10A10 10 0 0010 0m5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z"/>',ft='<path d="m4.34 2.93 12.73 12.73-1.41 1.41L2.93 4.35z"/><path d="M17.07 4.34 4.34 17.07l-1.41-1.41L15.66 2.93z"/>',ve='<path d="M10 15 2 5h16z"/>',ke='<path d="M13.728 1H6.272L1 6.272v7.456L6.272 19h7.456L19 13.728V6.272zM11 15H9v-2h2zm0-4H9V5h2z"/>',Pe='<path d="m17.5 4.75-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z"/>',Hn='<path d="M19 3H1v14h18zM3 14l3.5-4.5 2.5 3L12.5 8l4.5 6z"/><path d="M19 5H1V3h18zm0 12H1v-2h18z"/>',Un='<path d="M8 19a1 1 0 001 1h2a1 1 0 001-1v-1H8zm9-12a7 7 0 10-12 4.9S7 14 7 15v1a1 1 0 001 1h4a1 1 0 001-1v-1c0-1 2-3.1 2-3.1A7 7 0 0017 7"/>',jn='<path d="M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0M9 5h2v2H9zm0 4h2v6H9z"/>',Wn='<path d="M3 1h2v18H3zm13.5 1.5L15 1l-9 9 9 9 1.5-1.5L9 10z"/>',qn='<path d="M15 1h2v18h-2zM3.5 2.5 11 10l-7.5 7.5L5 19l9-9-9-9z"/>',Qn='<path d="M7 1 5.6 2.5 13 10l-7.4 7.5L7 19l9-9z"/>',Gn='<path d="m4 10 9 9 1.4-1.5L7 10l7.4-7.5L13 1z"/>',Yn='<path d="M12.2 13.6a7 7 0 111.4-1.4l5.4 5.4-1.4 1.4zM3 8a5 5 0 1010 0A5 5 0 003 8"/>',Xn='<path d="M10 0 3 8h14zm0 18-7-8h14z"/>',Zn='<path d="M10 20a10 10 0 010-20 10 10 0 110 20m-2-5 9-8.5L15.5 5 8 12 4.5 8.5 3 10z"/>',Jn='<path d="m10 5 8 10H2z"/>',_t=Y,eo=de,to=qe,no=pt,Qe=ft,oo=ve,zt=ke,Kt=Pe,lo=Hn,Ht={langCodeMap:{ar:Un},default:jn},ao={ltr:Wn,shouldFlip:!0},so={ltr:qn,shouldFlip:!0},Ut={ltr:Qn,shouldFlip:!0},jt={ltr:Gn,shouldFlip:!0},io=Yn,ro=Xn,Wt=Zn,co=Jn;function uo(e,n,o){if(typeof e=="string"||"path"in e)return e;if("shouldFlip"in e)return e.ltr;if("rtl"in e)return o==="rtl"?e.rtl:e.ltr;const l=n in e.langCodeMap?e.langCodeMap[n]:e.default;return typeof l=="string"||"path"in l?l:l.ltr}function po(e,n){if(typeof e=="string")return!1;if("langCodeMap"in e){const o=n in e.langCodeMap?e.langCodeMap[n]:e.default;if(typeof o=="string")return!1;e=o}if("shouldFlipExceptions"in e&&Array.isArray(e.shouldFlipExceptions)){const o=e.shouldFlipExceptions.indexOf(n);return o===void 0||o===-1}return"shouldFlip"in e?e.shouldFlip:!1}function _e(e){const n=t.ref(null);return t.onMounted(()=>{const o=window.getComputedStyle(e.value).direction;n.value=o==="ltr"||o==="rtl"?o:null}),n}function qt(e){const n=t.ref("");return t.onMounted(()=>{let o=e.value;for(;o&&o.lang==="";)o=o.parentElement;n.value=o?o.lang:null}),n}function ne(e){return n=>typeof n=="string"&&e.includes(n)}const ze="cdx",fo=["default","progressive","destructive"],mo=["normal","primary","quiet"],ho=["medium","large"],go=["x-small","small","medium"],Qt=ne(["notice","warning","error","success"]),bo=["text","search","number","email","month","password","tel","url","week","date","datetime-local","time"],fe=["default","warning","error","success"],yo=["start","center","end","number"],Co=120,wo=500,De="cdx-menu-footer-item",Gt=Symbol("CdxTabs"),Yt=Symbol("CdxActiveTab"),Xt=Symbol("CdxAllowArbitrary"),Zt=Symbol("CdxFieldInputId"),Ge=Symbol("CdxFieldDescriptionId"),Jt=Symbol("CdxFieldStatus"),en=Symbol("CdxDisabled"),ko="".concat(ze,"-no-invert"),Ye=Symbol("CdxTableRowIdentifier"),$o=["top","bottom","both"],tn={left:"right","left-start":"right","left-end":"right",top:"bottom","top-start":"bottom","top-end":"bottom",bottom:"top","bottom-start":"top","bottom-end":"top",right:"left","right-start":"left","right-end":"left"},Bo=ne(go),So=t.defineComponent({name:"CdxIcon",props:{icon:{type:[String,Object],required:!0},iconLabel:{type:String,default:""},lang:{type:String,default:null},dir:{type:String,default:null},size:{type:String,default:"medium",validator:Bo}},setup(e){const n=t.ref(),o=_e(n),l=qt(n),i=t.computed(()=>{var u;return(u=e.dir)!=null?u:o.value}),d=t.computed(()=>{var u;return(u=e.lang)!=null?u:l.value}),s=t.computed(()=>({"cdx-icon--flipped":i.value==="rtl"&&d.value!==null&&po(e.icon,d.value),["cdx-icon--".concat(e.size)]:!0})),r=t.computed(()=>{var u,p;return uo(e.icon,(u=d.value)!=null?u:"",(p=i.value)!=null?p:"ltr")}),a=t.computed(()=>typeof r.value=="string"?r.value:""),c=t.computed(()=>typeof r.value!="string"?r.value.path:"");return{rootElement:n,rootClasses:s,iconSvg:a,iconPath:c}}}),_=(e,n)=>{const o=e.__vccOpts||e;for(const[l,i]of n)o[l]=i;return o},Io=["aria-hidden"],Vo={key:0},xo=["innerHTML"],Eo=["d"];function No(e,n,o,l,i,d){return t.openBlock(),t.createElementBlock("span",{ref:"rootElement",class:t.normalizeClass(["cdx-icon",e.rootClasses])},[(t.openBlock(),t.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20","aria-hidden":e.iconLabel?void 0:!0},[e.iconLabel?(t.openBlock(),t.createElementBlock("title",Vo,t.toDisplayString(e.iconLabel),1)):t.createCommentVNode("v-if",!0),e.iconSvg?(t.openBlock(),t.createElementBlock("g",{key:1,innerHTML:e.iconSvg},null,8,xo)):(t.openBlock(),t.createElementBlock("path",{key:2,d:e.iconPath},null,8,Eo))],8,Io))],2)}const X=_(So,[["render",No]]);function nn(e){const n=[];for(const o of e)typeof o.type=="string"||typeof o.type=="object"?n.push(o):o.type!==t.Comment&&(typeof o.children=="string"&&o.children.trim()!==""?n.push(o.children):Array.isArray(o.children)&&n.push(...nn(o.children)));return n}function on(e,n){return typeof e.type=="object"&&"name"in e.type?n!==void 0?e.type.name===n:!0:!1}function Ao(e,n){return typeof e.type=="string"?e.type===n.toLowerCase():!1}function Xe(e){const n=typeof e=="function"?e():e;return n?nn(n):[]}function Ze(e,n){if(e()){t.warn(n);return}const o=t.watch(e,l=>{l&&(t.warn(n),o())})}function ln(e,n,o){const l=t.computed(()=>{const i=Xe(e);if(i.length!==1)return!1;const d=i[0];return!!(typeof d=="object"&&(on(d,"CdxIcon")||Ao(d,"svg")))});return Ze(()=>l.value&&!n["aria-label"]&&!n["aria-hidden"],"".concat(o,": Icon-only buttons require one of the following attributes: aria-label or aria-hidden. See documentation at https://doc.wikimedia.org/codex/latest/components/demos/button.html#icon-only-button")),l}const Do=ne(fo),Mo=ne(mo),Lo=ne(ho),To=t.defineComponent({name:"CdxButton",props:{action:{type:String,default:"default",validator:Do},weight:{type:String,default:"normal",validator:Mo},size:{type:String,default:"medium",validator:Lo}},emits:["click"],setup(e,{emit:n,slots:o,attrs:l}){const i=t.ref(),d=ln(o.default,l,"CdxButton"),s=t.ref(!1),r=t.computed(()=>({["cdx-button--action-".concat(e.action)]:!0,["cdx-button--weight-".concat(e.weight)]:!0,["cdx-button--size-".concat(e.size)]:!0,"cdx-button--framed":e.weight!=="quiet","cdx-button--icon-only":d.value,"cdx-button--is-active":s.value})),a=f=>{n("click",f)},c=f=>{s.value=f};function u(){c(!0)}function p(){var f;c(!1),(f=i.value)==null||f.click()}return{button:i,rootClasses:r,onClick:a,onKeyDown:u,onKeyUp:p}}});function Ro(e,n,o,l,i,d){return t.openBlock(),t.createElementBlock("button",{ref:"button",class:t.normalizeClass(["cdx-button",e.rootClasses]),onKeydown:n[0]||(n[0]=t.withKeys(t.withModifiers((...s)=>e.onKeyDown&&e.onKeyDown(...s),["prevent"]),["space","enter"])),onKeyup:n[1]||(n[1]=t.withKeys((...s)=>e.onKeyUp&&e.onKeyUp(...s),["space","enter"])),onClick:n[2]||(n[2]=(...s)=>e.onClick&&e.onClick(...s))},[t.renderSlot(e.$slots,"default")],34)}const me=_(To,[["render",Ro]]),Oo=t.defineComponent({name:"CdxAccordion",components:{CdxButton:me,CdxIcon:X},props:{actionAlwaysVisible:{type:Boolean,default:!1},actionIcon:{type:[String,Object],default:null},actionButtonLabel:{type:String,default:""},headingLevel:{type:String,default:"h3"}},emits:["action-button-click"],setup(e,{attrs:n,emit:o}){const l=t.ref("open"in n),i=()=>{o("action-button-click")},d=a=>{l.value=a.newState==="open"},s=t.computed(()=>e.actionIcon&&(l.value||e.actionAlwaysVisible)),r=t.computed(()=>({"cdx-accordion--has-icon":s.value}));return{emitActionButtonClick:i,rootClasses:r,shouldShowActionButton:s,onToggle:d}}}),Fo={class:"cdx-accordion__header__title"},vo={class:"cdx-accordion__header__description"};function Po(e,n,o,l,i,d){const s=t.resolveComponent("cdx-icon"),r=t.resolveComponent("cdx-button");return t.openBlock(),t.createElementBlock("details",{class:t.normalizeClass(["cdx-accordion",e.rootClasses]),onToggle:n[1]||(n[1]=(...a)=>e.onToggle&&e.onToggle(...a))},[t.createElementVNode("summary",null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.headingLevel),{class:"cdx-accordion__header"},{default:t.withCtx(()=>[t.createElementVNode("span",Fo,[t.renderSlot(e.$slots,"title")]),t.createElementVNode("span",vo,[t.renderSlot(e.$slots,"description")])]),_:3})),e.shouldShowActionButton?(t.openBlock(),t.createBlock(r,{key:0,class:"cdx-accordion__action","aria-label":e.actionButtonLabel,type:"button",weight:"quiet",onClick:t.withModifiers(e.emitActionButtonClick,["stop"])},{default:t.withCtx(()=>[t.createVNode(s,{icon:e.actionIcon,"icon-label":e.actionButtonLabel,size:"medium"},null,8,["icon","icon-label"])]),_:1},8,["aria-label","onClick"])):t.createCommentVNode("v-if",!0)]),t.createElementVNode("div",{class:"cdx-accordion__content",onClick:n[0]||(n[0]=t.withModifiers(()=>{},["stop"]))},[t.renderSlot(e.$slots,"default")])],34)}const _o=_(Oo,[["render",Po]]);function an(e){return e.label===void 0?e.value:e.label===null?"":e.label}function sn(e){const n=t.ref(),o=t.ref(),l=t.ref(new Map),i=_e(n);function d(h,g){const b=h;b&&l.value.set(g,b)}function s(h){o.value=h}function r(){o.value=void 0}function a(h,g){var I;const b=h+g,w=e.value[b];if(w)if(w.disabled)a(b,g);else{const V=(I=l.value.get(b))==null?void 0:I.$el;V==null||V.focus()}}function c(){var h;a((h=o.value)!=null?h:-1,1)}function u(){var h;a((h=o.value)!=null?h:e.value.length,-1)}function p(){i.value==="rtl"?u():c()}function f(){i.value==="rtl"?c():u()}function m(h){switch(h.key){case"ArrowRight":h.preventDefault(),p();break;case"ArrowLeft":h.preventDefault(),f();break;case"ArrowDown":h.preventDefault(),c();break;case"ArrowUp":h.preventDefault(),u();break}}return{rootElement:n,assignTemplateRef:d,onFocus:s,onBlur:r,onKeydown:m}}const zo=t.defineComponent({name:"CdxButtonGroup",components:{CdxButton:me,CdxIcon:X},props:{buttons:{type:Array,required:!0,validator:e=>Array.isArray(e)&&e.length>=1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){const{rootElement:n,assignTemplateRef:o,onFocus:l,onBlur:i,onKeydown:d}=sn(t.toRef(e,"buttons"));return{rootElement:n,assignTemplateRef:o,onFocus:l,onBlur:i,onKeydown:d,getButtonLabel:an}}}),Ko={ref:"rootElement",class:"cdx-button-group"};function Ho(e,n,o,l,i,d){const s=t.resolveComponent("cdx-icon"),r=t.resolveComponent("cdx-button");return t.openBlock(),t.createElementBlock("div",Ko,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.buttons,(a,c)=>(t.openBlock(),t.createBlock(r,{key:a.value,ref_for:!0,ref:u=>e.assignTemplateRef(u,c),disabled:a.disabled||e.disabled,"aria-label":a.ariaLabel,onClick:u=>e.$emit("click",a.value),onFocus:u=>e.onFocus(c),onBlur:e.onBlur,onKeydown:e.onKeydown},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"default",{button:a},()=>[a.icon?(t.openBlock(),t.createBlock(s,{key:0,icon:a.icon},null,8,["icon"])):t.createCommentVNode("v-if",!0),t.createTextVNode(" "+t.toDisplayString(e.getButtonLabel(a)),1)])]),_:2},1032,["disabled","aria-label","onClick","onFocus","onBlur","onKeydown"]))),128))],512)}const Uo=_(zo,[["render",Ho]]),jo=t.defineComponent({name:"CdxThumbnail",components:{CdxIcon:X},props:{thumbnail:{type:[Object,null],default:null},placeholderIcon:{type:[String,Object],default:lo}},setup:e=>{const n=t.ref(!1),o=t.ref({}),l=i=>{const d=i.replace(/([\\"\n])/g,"\\$1"),s=new Image;s.onload=()=>{o.value={backgroundImage:'url("'.concat(d,'")')},n.value=!0},s.onerror=()=>{n.value=!1},s.src=d};return t.onMounted(()=>{var i;(i=e.thumbnail)!=null&&i.url&&l(e.thumbnail.url)}),t.watch(t.toRef(e,"thumbnail"),(i,d)=>{if(!(i!=null&&i.url)){n.value=!1,o.value={};return}(d==null?void 0:d.url)!==i.url&&(n.value=!1,l(i.url))},{deep:!0}),{thumbnailStyle:o,thumbnailLoaded:n,NoInvertClass:ko}}}),Wo={class:"cdx-thumbnail"},qo={key:0,class:"cdx-thumbnail__placeholder"};function Qo(e,n,o,l,i,d){const s=t.resolveComponent("cdx-icon");return t.openBlock(),t.createElementBlock("span",Wo,[e.thumbnailLoaded?t.createCommentVNode("v-if",!0):(t.openBlock(),t.createElementBlock("span",qo,[t.createVNode(s,{icon:e.placeholderIcon,class:"cdx-thumbnail__placeholder__icon--vue"},null,8,["icon"])])),t.createVNode(t.Transition,{name:"cdx-thumbnail__image"},{default:t.withCtx(()=>[e.thumbnailLoaded?(t.openBlock(),t.createElementBlock("span",{key:0,style:t.normalizeStyle(e.thumbnailStyle),class:t.normalizeClass([e.NoInvertClass,"cdx-thumbnail__image"])},null,6)):t.createCommentVNode("v-if",!0)]),_:1})])}const mt=_(jo,[["render",Qo]]),Go=t.defineComponent({name:"CdxCard",components:{CdxIcon:X,CdxThumbnail:mt},props:{url:{type:String,default:""},icon:{type:[String,Object],default:""},thumbnail:{type:[Object,null],default:null},forceThumbnail:{type:Boolean,default:!1},customPlaceholderIcon:{type:[String,Object],default:void 0}},setup(e){const n=t.computed(()=>!!e.url),o=t.computed(()=>n.value?"a":"span"),l=t.computed(()=>n.value?e.url:void 0);return{isLink:n,contentTag:o,cardLink:l}}}),Yo={class:"cdx-card__text"},Xo={class:"cdx-card__text__title"},Zo={key:0,class:"cdx-card__text__description"},Jo={key:1,class:"cdx-card__text__supporting-text"};function el(e,n,o,l,i,d){const s=t.resolveComponent("cdx-thumbnail"),r=t.resolveComponent("cdx-icon");return t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.contentTag),{href:e.cardLink,class:t.normalizeClass(["cdx-card",{"cdx-card--is-link":e.isLink,"cdx-card--title-only":!e.$slots.description&&!e.$slots["supporting-text"]}])},{default:t.withCtx(()=>[e.thumbnail||e.forceThumbnail?(t.openBlock(),t.createBlock(s,{key:0,thumbnail:e.thumbnail,"placeholder-icon":e.customPlaceholderIcon,class:"cdx-card__thumbnail"},null,8,["thumbnail","placeholder-icon"])):e.icon?(t.openBlock(),t.createBlock(r,{key:1,icon:e.icon,class:"cdx-card__icon"},null,8,["icon"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",Yo,[t.createElementVNode("span",Xo,[t.renderSlot(e.$slots,"title")]),e.$slots.description?(t.openBlock(),t.createElementBlock("span",Zo,[t.renderSlot(e.$slots,"description")])):t.createCommentVNode("v-if",!0),e.$slots["supporting-text"]?(t.openBlock(),t.createElementBlock("span",Jo,[t.renderSlot(e.$slots,"supporting-text")])):t.createCommentVNode("v-if",!0)])]),_:3},8,["href","class"])}const tl=_(Go,[["render",el]]);function ht(e){const n=t.inject(en,t.ref(!1));return t.computed(()=>n.value||e.value)}function ie(e,n,o){const l=ht(e),i=t.inject(Jt,t.ref("default")),d=t.computed(()=>n!=null&&n.value&&n.value!=="default"?n.value:i.value),s=t.inject(Zt,void 0),r=t.computed(()=>{var a;return(a=s==null?void 0:s.value)!=null?a:o});return{computedDisabled:l,computedStatus:d,computedInputId:r}}function ae(e,n=t.computed(()=>({}))){const o=t.computed(()=>{const d=pe(n.value,[]);return e.class&&e.class.split(" ").forEach(r=>{d[r]=!0}),d}),l=t.computed(()=>{if("style"in e)return e.style}),i=t.computed(()=>{const a=e,{class:d,style:s}=a;return pe(a,["class","style"])});return{rootClasses:o,rootStyle:l,otherAttrs:i}}function Z(e,n,o=[]){const l=t.inject("CdxI18nFunction",void 0);return t.computed(()=>{const i=o.map(s=>typeof s=="function"?s():s.value),d=l==null?void 0:l(e,...i);return d!=null?d:typeof n=="function"?n(...i):n})}function Ke(e,n,o,l=[]){const i=Z(n,o,l);return t.computed(()=>e.value||i.value)}const nl=t.defineComponent({name:"CdxLabel",components:{CdxIcon:X},inheritAttrs:!1,props:{icon:{type:[String,Object],default:null},optional:{type:Boolean,default:!1},optionalFlag:{type:String,default:""},visuallyHidden:{type:Boolean,default:!1},isLegend:{type:Boolean,default:!1},inputId:{type:String,default:""},descriptionId:{type:String,default:""},disabled:{type:Boolean,default:!1}},setup(e,{attrs:n}){const{computedDisabled:o}=ie(t.toRef(e,"disabled")),l=t.computed(()=>({"cdx-label--visually-hidden":e.visuallyHidden,"cdx-label--disabled":o.value})),{rootClasses:i,rootStyle:d,otherAttrs:s}=ae(n,l),r=Ke(t.toRef(e,"optionalFlag"),"cdx-label-optional-flag","(optional)");return{rootClasses:i,rootStyle:d,otherAttrs:s,translatedOptionalFlag:r}}}),ol=["for"],ll={class:"cdx-label__label__text"},al={key:1,class:"cdx-label__label__optional-flag"},sl=["id"],il={class:"cdx-label__label"},rl={class:"cdx-label__label__text"},dl={key:1,class:"cdx-label__label__optional-flag"},cl={key:0,class:"cdx-label__description"};function ul(e,n,o,l,i,d){const s=t.resolveComponent("cdx-icon");return e.isLegend?(t.openBlock(),t.createElementBlock("legend",t.mergeProps({key:1,class:["cdx-label",e.rootClasses],style:e.rootStyle},e.otherAttrs),[t.createElementVNode("span",il,[e.icon?(t.openBlock(),t.createBlock(s,{key:0,icon:e.icon,class:"cdx-label__label__icon"},null,8,["icon"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",rl,[t.renderSlot(e.$slots,"default")]),e.optionalFlag||e.optional?(t.openBlock(),t.createElementBlock("span",dl,t.toDisplayString(" ")+" "+t.toDisplayString(e.translatedOptionalFlag),1)):t.createCommentVNode("v-if",!0)]),e.$slots.description&&e.$slots.description().length>0?(t.openBlock(),t.createElementBlock("span",cl,[t.renderSlot(e.$slots,"description")])):t.createCommentVNode("v-if",!0)],16)):(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["cdx-label",e.rootClasses]),style:t.normalizeStyle(e.rootStyle)},[t.createElementVNode("label",t.mergeProps({class:"cdx-label__label",for:e.inputId?e.inputId:void 0},e.otherAttrs),[e.icon?(t.openBlock(),t.createBlock(s,{key:0,icon:e.icon,class:"cdx-label__label__icon"},null,8,["icon"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",ll,[t.renderSlot(e.$slots,"default")]),e.optionalFlag||e.optional?(t.openBlock(),t.createElementBlock("span",al,t.toDisplayString(" ")+" "+t.toDisplayString(e.translatedOptionalFlag),1)):t.createCommentVNode("v-if",!0)],16,ol),e.$slots.description&&e.$slots.description().length>0?(t.openBlock(),t.createElementBlock("span",{key:0,id:e.descriptionId||void 0,class:"cdx-label__description"},[t.renderSlot(e.$slots,"description")],8,sl)):t.createCommentVNode("v-if",!0)],6))}const Me=_(nl,[["render",ul]]);function Je(e,n,o){Ze(()=>Xe(e).length===0&&!(n!=null&&n["aria-label"])&&!(n!=null&&n["aria-labelledby"]),"".concat(o,": Inputs must have an associated label. Provide one of the following:\n - A label via the appropriate slot\n - An `aria-label` attribute set to the label text\n - An `aria-labelledby` attribute set to the ID of the label element"))}function se(e,n,o){return t.computed({get:()=>e.value,set:l=>n(o||"update:modelValue",l)})}const pl=ne(fe),fl=t.defineComponent({name:"CdxCheckbox",components:{CdxLabel:Me},props:{modelValue:{type:[Boolean,Array],default:!1},inputValue:{type:[String,Number,Boolean],default:!1},name:{type:String,default:null},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},hideLabel:{type:Boolean,default:!1},status:{type:String,default:"default",validator:pl}},emits:["update:modelValue"],setup(e,{emit:n,slots:o,attrs:l}){var f;Je((f=o.default)==null?void 0:f.call(o),l,"CdxCheckbox");const{computedDisabled:i,computedStatus:d}=ie(t.toRef(e,"disabled"),t.toRef(e,"status")),s=t.computed(()=>({"cdx-checkbox--inline":e.inline,["cdx-checkbox--status-".concat(d.value)]:!0})),r=t.computed(()=>({"cdx-checkbox__custom-input--inline":e.inline})),a=t.ref(),c=t.useId(),u=t.useId(),p=se(t.toRef(e,"modelValue"),n);return{rootClasses:s,computedDisabled:i,input:a,checkboxId:c,descriptionId:u,wrappedModel:p,customInputClasses:r}}}),ml={class:"cdx-checkbox__wrapper"},hl=["id","aria-describedby","value","name","disabled",".indeterminate"];function gl(e,n,o,l,i,d){const s=t.resolveComponent("cdx-label");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["cdx-checkbox",e.rootClasses])},[t.createElementVNode("div",ml,[t.withDirectives(t.createElementVNode("input",{id:e.checkboxId,ref:"input","onUpdate:modelValue":n[0]||(n[0]=r=>e.wrappedModel=r),class:"cdx-checkbox__input",type:"checkbox","aria-describedby":e.$slots.description&&e.$slots.description().length>0?e.descriptionId:void 0,value:e.inputValue,name:e.name,disabled:e.computedDisabled,".indeterminate":e.indeterminate},null,40,hl),[[t.vModelCheckbox,e.wrappedModel]]),n[1]||(n[1]=t.createElementVNode("span",{class:"cdx-checkbox__icon"},null,-1)),e.$slots.default&&e.$slots.default().length?(t.openBlock(),t.createBlock(s,{key:0,class:"cdx-checkbox__label","input-id":e.checkboxId,"description-id":e.$slots.description&&e.$slots.description().length>0?e.descriptionId:void 0,disabled:e.computedDisabled,"visually-hidden":e.hideLabel},t.createSlots({default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:2},[e.$slots.description&&e.$slots.description().length>0?{name:"description",fn:t.withCtx(()=>[t.renderSlot(e.$slots,"description")]),key:"0"}:void 0]),1032,["input-id","description-id","disabled","visually-hidden"])):t.createCommentVNode("v-if",!0)]),e.$slots["custom-input"]?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["cdx-checkbox__custom-input",e.customInputClasses])},[t.renderSlot(e.$slots,"custom-input")],2)):t.createCommentVNode("v-if",!0)],2)}const rn=_(fl,[["render",gl]]),bl=t.defineComponent({name:"CdxInputChip",components:{CdxButton:me,CdxIcon:X},props:{icon:{type:[String,Object],default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},className:{type:String,default:""}},emits:["remove-chip","click-chip","arrow-left","arrow-right"],setup(e,{emit:n}){const o=t.computed(()=>e.disabled?-1:0),l=t.ref(),i=t.computed(()=>({"cdx-input-chip--disabled":e.disabled,"cdx-input-chip--readonly":e.readonly,[e.className]:e.className.length>0})),d=Z("cdx-input-chip-aria-description","Press Enter to edit or Delete to remove");function s(r){var a;switch(r.key){case"Enter":n("click-chip"),r.preventDefault(),r.stopPropagation();break;case"Escape":(a=l.value)==null||a.blur(),r.preventDefault(),r.stopPropagation();break;case"Backspace":case"Delete":n("remove-chip",r.key),r.preventDefault(),r.stopPropagation();break;case"ArrowLeft":n("arrow-left"),r.preventDefault(),r.stopPropagation();break;case"ArrowRight":n("arrow-right"),r.preventDefault(),r.stopPropagation();break}}return{rootElement:l,rootClasses:i,ariaDescription:d,onKeydown:s,cdxIconClose:Qe,tabIndex:o}},methods:{focus(){this.$refs.rootElement.focus()}}}),yl=["tabindex","aria-description"],Cl={class:"cdx-input-chip__text"};function wl(e,n,o,l,i,d){const s=t.resolveComponent("cdx-icon"),r=t.resolveComponent("cdx-button");return t.openBlock(),t.createElementBlock("div",{ref:"rootElement",class:t.normalizeClass(["cdx-input-chip",e.rootClasses]),tabindex:e.tabIndex,role:"option","aria-description":e.ariaDescription,onKeydown:n[1]||(n[1]=(...a)=>e.onKeydown&&e.onKeydown(...a)),onClick:n[2]||(n[2]=a=>e.$emit("click-chip"))},[e.icon?(t.openBlock(),t.createBlock(s,{key:0,icon:e.icon,size:"small"},null,8,["icon"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",Cl,[t.renderSlot(e.$slots,"default")]),t.createVNode(r,{class:"cdx-input-chip__button",weight:"quiet",tabindex:"-1","aria-hidden":"true",disabled:e.disabled||e.readonly,onClick:n[0]||(n[0]=t.withModifiers(a=>e.$emit("remove-chip","button"),["stop"]))},{default:t.withCtx(()=>[t.createVNode(s,{icon:e.cdxIconClose,size:"x-small"},null,8,["icon"])]),_:1},8,["disabled"])],42,yl)}const kl=_(bl,[["render",wl]]);function et(e,n,o,l){return t.computed({get:()=>{var i;return(i=n.value)!=null?i:e.value},set:i=>{n.value!==null?o(l||"update:modelValue",i):e.value=i}})}const $l=ne(fe),Bl=t.defineComponent({name:"CdxChipInput",components:{CdxInputChip:kl},inheritAttrs:!1,props:{inputChips:{type:Array,required:!0},inputValue:{type:[String,Number],default:null},separateInput:{type:Boolean,default:!1},status:{type:String,default:"default",validator:$l},chipValidator:{type:Function,default:e=>!0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1}},emits:["update:input-chips","update:input-value","chip-click"],setup(e,{emit:n,attrs:o}){const l=t.ref(),i=t.ref(),d=t.ref(),s=t.ref(""),r=_e(l),a=t.ref(),c=t.inject(Xt,t.ref(!0)),u=t.ref(""),p=et(u,t.toRef(e,"inputValue"),n,"update:input-value"),f=t.ref("default"),m=t.computed(()=>f.value==="error"||e.status==="error"?"error":"default"),{computedDisabled:h,computedStatus:g}=ie(t.toRef(e,"disabled"),m),b=t.ref(!1),w=t.computed(()=>({"cdx-chip-input--has-separate-input":e.separateInput,["cdx-chip-input--status-".concat(g.value)]:!0,"cdx-chip-input--focused":b.value,"cdx-chip-input--disabled":h.value,"cdx-chip-input--readonly":e.readonly})),{rootClasses:I,rootStyle:V,otherAttrs:A}=ae(o,w),N=[],L=t.ref(null),M=t.computed(()=>L.value?L.value.value:""),B=Z("cdx-chip-input-chip-added",C=>"Chip ".concat(C," was added."),[p]),y=Z("cdx-chip-input-chip-removed",C=>"Chip ".concat(C," was removed."),[M]);function $(C,O){C!==null&&(N[O]=C)}const x=()=>{a.value.focus()};function E(){e.inputChips.find(C=>C.value===p.value)||!e.chipValidator(p.value)?f.value="error":p.value.toString().length>0&&(s.value=B.value,n("update:input-chips",e.inputChips.concat({value:p.value})),p.value="")}function F(C){e.readonly||h.value||n("update:input-chips",e.inputChips.filter(O=>O.value!==C.value))}function H(C,O){const q=r.value==="ltr"&&C==="left"||r.value==="rtl"&&C==="right"?-1:1,ee=O+q;if(!(ee<0)){if(ee>=e.inputChips.length){x();return}N[ee].focus()}}function K(C){return te(this,null,function*(){var O;n("chip-click",C),!(e.readonly||h.value||!c.value)&&(E(),yield t.nextTick(),F(C),p.value=(O=C.label)!=null?O:C.value,x())})}function v(C,O,q){if(L.value=C,s.value=y.value,q==="button")x();else if(q==="Backspace"){const ee=O===0?1:O-1;ee<e.inputChips.length?N[ee].focus():x()}else if(q==="Delete"){const ee=O+1;ee<e.inputChips.length?N[ee].focus():x()}F(C)}function j(C){var q,ee;const O=r.value==="rtl"?"ArrowRight":"ArrowLeft";switch(C.key){case"Enter":if(p.value.toString().length>0&&c.value){E(),C.preventDefault(),C.stopPropagation();return}break;case"Escape":(q=a.value)==null||q.blur(),C.preventDefault(),C.stopPropagation();return;case"Backspace":case O:if(((ee=a.value)==null?void 0:ee.selectionStart)===0&&a.value.selectionEnd===0&&e.inputChips.length>0){N[e.inputChips.length-1].focus(),C.preventDefault(),C.stopPropagation();return}break}}function R(){b.value=!0}function U(){b.value=!1}function Q(C){var O;!((O=l.value)!=null&&O.contains(C.relatedTarget))&&c.value&&E()}return t.watch(t.toRef(e,"inputChips"),C=>{const O=C.find(q=>q.value===p.value);f.value=O?"error":"default"}),t.watch(p,()=>{f.value==="error"&&(f.value="default")}),{rootElement:l,chipsContainer:i,separateInputWrapper:d,input:a,computedInputValue:p,rootClasses:I,rootStyle:V,otherAttrs:A,assignChipTemplateRef:$,handleChipClick:K,handleChipRemove:v,moveChipFocus:H,onInputKeydown:j,focusInput:x,onInputFocus:R,onInputBlur:U,onFocusOut:Q,computedDisabled:h,statusMessageContent:s}}}),Sl={ref:"chipsContainer",class:"cdx-chip-input__chips",role:"listbox","aria-orientation":"horizontal"},Il=["readonly","disabled"],Vl={key:0,ref:"separateInputWrapper",class:"cdx-chip-input__separate-input"},xl=["readonly","disabled"],El={class:"cdx-chip-input__aria-status",role:"status","aria-live":"polite"};function Nl(e,n,o,l,i,d){const s=t.resolveComponent("cdx-input-chip");return t.openBlock(),t.createElementBlock("div",{ref:"rootElement",class:t.normalizeClass(["cdx-chip-input",e.rootClasses]),style:t.normalizeStyle(e.rootStyle),onClick:n[8]||(n[8]=r=>e.disabled||e.readonly?null:e.focusInput),onFocusout:n[9]||(n[9]=(...r)=>e.onFocusOut&&e.onFocusOut(...r))},[t.createElementVNode("div",Sl,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.inputChips,(r,a)=>(t.openBlock(),t.createBlock(s,{key:r.value,ref_for:!0,ref:c=>e.assignChipTemplateRef(c,a),class:t.normalizeClass(["cdx-chip-input__item",r.className]),icon:r.icon,readonly:e.readonly,disabled:e.computedDisabled,onClickChip:c=>e.handleChipClick(r),onRemoveChip:c=>e.handleChipRemove(r,a,c),onArrowLeft:c=>e.moveChipFocus("left",a),onArrowRight:c=>e.moveChipFocus("right",a)},{default:t.withCtx(()=>{var c;return[t.createTextVNode(t.toDisplayString((c=r.label)!=null?c:r.value),1)]}),_:2},1032,["class","icon","readonly","disabled","onClickChip","onRemoveChip","onArrowLeft","onArrowRight"]))),128)),e.separateInput?t.createCommentVNode("v-if",!0):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:0,ref:"input","onUpdate:modelValue":n[0]||(n[0]=r=>e.computedInputValue=r),class:"cdx-chip-input__input",readonly:e.readonly,disabled:e.computedDisabled},e.otherAttrs,{onBlur:n[1]||(n[1]=(...r)=>e.onInputBlur&&e.onInputBlur(...r)),onFocus:n[2]||(n[2]=(...r)=>e.onInputFocus&&e.onInputFocus(...r)),onKeydown:n[3]||(n[3]=(...r)=>e.onInputKeydown&&e.onInputKeydown(...r))}),null,16,Il)),[[t.vModelDynamic,e.computedInputValue]])],512),e.separateInput?(t.openBlock(),t.createElementBlock("div",Vl,[t.withDirectives(t.createElementVNode("input",t.mergeProps({ref:"input","onUpdate:modelValue":n[4]||(n[4]=r=>e.computedInputValue=r),class:"cdx-chip-input__input",readonly:e.readonly,disabled:e.computedDisabled},e.otherAttrs,{onBlur:n[5]||(n[5]=(...r)=>e.onInputBlur&&e.onInputBlur(...r)),onFocus:n[6]||(n[6]=(...r)=>e.onInputFocus&&e.onInputFocus(...r)),onKeydown:n[7]||(n[7]=(...r)=>e.onInputKeydown&&e.onInputKeydown(...r))}),null,16,xl),[[t.vModelDynamic,e.computedInputValue]])],512)):t.createCommentVNode("v-if",!0),t.createElementVNode("div",El,t.toDisplayString(e.statusMessageContent),1)],38)}const dn=_(Bl,[["render",Nl]]);function cn(e){return e.replace(/([\\{}()|.?*+\-^$[\]])/g,"\\$1")}const Al="[̀-ͯ҃-҉֑-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣ৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఄా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣංඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ູົຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-᪾ᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭ᳲ-᳴᳷-᳹᷀-᷹᷻-᷿⃐-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯-꙲ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯]";function un(e,n){if(!e)return[n,"",""];const o=cn(e),l=new RegExp(o+Al+"*","i").exec(n);if(!l||l.index===void 0)return[n,"",""];const i=l.index,d=i+l[0].length,s=n.slice(i,d),r=n.slice(0,i),a=n.slice(d,n.length);return[r,s,a]}const Dl=Object.freeze(Object.defineProperty({__proto__:null,regExpEscape:cn,splitStringAtMatch:un},Symbol.toStringTag,{value:"Module"})),Ml=t.defineComponent({name:"CdxSearchResultTitle",props:{title:{type:String,required:!0},searchQuery:{type:String,default:""}},setup:e=>({titleChunks:t.computed(()=>un(e.searchQuery,String(e.title)))})}),Ll={class:"cdx-search-result-title"},Tl={class:"cdx-search-result-title__match"};function Rl(e,n,o,l,i,d){return t.openBlock(),t.createElementBlock("span",Ll,[t.createElementVNode("bdi",null,[t.createTextVNode(t.toDisplayString(e.titleChunks[0]),1),t.createElementVNode("span",Tl,t.toDisplayString(e.titleChunks[1]),1),t.createTextVNode(t.toDisplayString(e.titleChunks[2]),1)])])}const pn=_(Ml,[["render",Rl]]),Ol=t.defineComponent({name:"CdxMenuItem",components:{CdxIcon:X,CdxThumbnail:mt,CdxSearchResultTitle:pn},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:n})=>{const o=()=>{e.highlighted||n("change","highlighted",!0)},l=()=>{n("change","highlighted",!1)},i=u=>{u.button===0&&n("change","active",!0)},d=()=>{n("change","selected",!0)},s=t.computed(()=>e.searchQuery.length>0),r=t.computed(()=>({"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":s.value,"cdx-menu-item--bold-label":e.boldLabel,"cdx-menu-item--has-description":!!e.description,"cdx-menu-item--hide-description-overflow":e.hideDescriptionOverflow})),a=t.computed(()=>e.url?"a":"span"),c=t.computed(()=>e.label||String(e.value));return{onMouseMove:o,onMouseLeave:l,onMouseDown:i,onClick:d,highlightQuery:s,rootClasses:r,contentTag:a,title:c,cdxIconCheck:to}}}),Fl=["id","aria-disabled","aria-selected","aria-checked"],vl={class:"cdx-menu-item__text"},Pl=["lang"],_l=["lang"],zl=["lang"],Kl=["lang"];function Hl(e,n,o,l,i,d){const s=t.resolveComponent("cdx-thumbnail"),r=t.resolveComponent("cdx-icon"),a=t.resolveComponent("cdx-search-result-title");return t.openBlock(),t.createElementBlock("li",{id:e.id,role:"option",class:t.normalizeClass(["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:n[0]||(n[0]=(...c)=>e.onMouseMove&&e.onMouseMove(...c)),onMouseleave:n[1]||(n[1]=(...c)=>e.onMouseLeave&&e.onMouseLeave(...c)),onMousedown:n[2]||(n[2]=t.withModifiers((...c)=>e.onMouseDown&&e.onMouseDown(...c),["prevent"])),onClick:n[3]||(n[3]=(...c)=>e.onClick&&e.onClick(...c))},[t.renderSlot(e.$slots,"default",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.contentTag),{href:e.url?e.url:void 0,class:"cdx-menu-item__content"},{default:t.withCtx(()=>{var c,u,p,f,m,h;return[e.showThumbnail?(t.openBlock(),t.createBlock(s,{key:0,thumbnail:e.thumbnail,class:"cdx-menu-item__thumbnail"},null,8,["thumbnail"])):e.icon?(t.openBlock(),t.createBlock(r,{key:1,icon:e.icon,class:"cdx-menu-item__icon"},null,8,["icon"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",vl,[e.highlightQuery?(t.openBlock(),t.createBlock(a,{key:0,title:e.title,"search-query":e.searchQuery,lang:(c=e.language)==null?void 0:c.label},null,8,["title","search-query","lang"])):(t.openBlock(),t.createElementBlock("span",{key:1,class:"cdx-menu-item__text__label",lang:(u=e.language)==null?void 0:u.label},[t.createElementVNode("bdi",null,t.toDisplayString(e.title),1)],8,Pl)),e.match?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[n[4]||(n[4]=t.createTextVNode(t.toDisplayString(" ")+" ")),e.highlightQuery?(t.openBlock(),t.createBlock(a,{key:0,title:e.match,"search-query":e.searchQuery,lang:(p=e.language)==null?void 0:p.match},null,8,["title","search-query","lang"])):(t.openBlock(),t.createElementBlock("span",{key:1,class:"cdx-menu-item__text__match",lang:(f=e.language)==null?void 0:f.match},[t.createElementVNode("bdi",null,t.toDisplayString(e.match),1)],8,_l))],64)):t.createCommentVNode("v-if",!0),e.supportingText?(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[n[5]||(n[5]=t.createTextVNode(t.toDisplayString(" ")+" ")),t.createElementVNode("span",{class:"cdx-menu-item__text__supporting-text",lang:(m=e.language)==null?void 0:m.supportingText},[t.createElementVNode("bdi",null,t.toDisplayString(e.supportingText),1)],8,zl)],64)):t.createCommentVNode("v-if",!0),e.description?(t.openBlock(),t.createElementBlock("span",{key:4,class:"cdx-menu-item__text__description",lang:(h=e.language)==null?void 0:h.description},[t.createElementVNode("bdi",null,t.toDisplayString(e.description),1)],8,Kl)):t.createCommentVNode("v-if",!0)]),e.multiselect&&e.selected?(t.openBlock(),t.createBlock(r,{key:2,icon:e.cdxIconCheck,size:"small",class:"cdx-menu-item__selected-icon"},null,8,["icon"])):t.createCommentVNode("v-if",!0)]}),_:1},8,["href"]))])],42,Fl)}const fn=_(Ol,[["render",Hl]]),Ul=t.defineComponent({name:"CdxProgressBar",props:{inline:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e,{attrs:n}){Ze(()=>!e.inline&&!n["aria-label"]&&!n["aria-hidden"],"CdxProgressBar: Progress bars require one of the following attribute, aria-label or aria-hidden. See documentation on https://doc.wikimedia.org/codex/latest/components/demos/progressbar.html");const o=t.computed(()=>({"cdx-progress-bar--block":!e.inline,"cdx-progress-bar--inline":e.inline,"cdx-progress-bar--enabled":!e.disabled,"cdx-progress-bar--disabled":e.disabled})),l=t.computed(()=>e.inline?"true":void 0);return{rootClasses:o,computedAriaHidden:l}}}),jl=["aria-hidden","aria-disabled"];function Wl(e,n,o,l,i,d){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["cdx-progress-bar",e.rootClasses]),role:"progressbar","aria-hidden":e.computedAriaHidden,"aria-disabled":e.disabled},n[0]||(n[0]=[t.createElementVNode("div",{class:"cdx-progress-bar__bar"},null,-1)]),10,jl)}const gt=_(Ul,[["render",Wl]]);function tt(e,n){const o=t.ref(!1);let l=!1;if(typeof window!="object"||!("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype))return o;const i=new window.IntersectionObserver(d=>{const s=d[0];s&&(o.value=s.isIntersecting)},n);return t.onMounted(()=>{l=!0,e.value&&i.observe(e.value)}),t.onUnmounted(()=>{l=!1,i.disconnect()}),t.watch(e,d=>{l&&(i.disconnect(),o.value=!1,d&&i.observe(d))}),o}function nt(e){return e!==null&&Array.isArray(e)}function He(e){return"items"in e}const ql=t.defineComponent({name:"CdxMenu",components:{CdxMenuItem:fn,CdxIcon:X,CdxProgressBar:gt},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:n,slots:o,attrs:l}){const i=t.useId();let d=0;const s=new Map;function r(){return d+=1,"".concat(i,"-").concat(d)}function a(k){k.forEach(D=>{if(He(D)){const P="group-".concat(D.label);s.has(P)||s.set(P,r()),D.items.forEach(W=>{s.has(W.value)||s.set(W.value,r())})}else s.has(D.value)||s.set(D.value,r())})}t.watch(t.toRef(e,"menuItems"),k=>{function D(W){const le=new Set;return W.forEach(oe=>{He(oe)?(le.add("group-".concat(oe.label)),oe.items.forEach(Fe=>le.add(Fe.value))):le.add(oe.value)}),le}const P=D(k);s.forEach((W,le)=>{P.has(le)||s.delete(le)})},{deep:!0});const c=t.computed(()=>{a(e.menuItems),e.footer&&a([e.footer]);const k=e.footer&&e.menuItems?[...e.menuItems,e.footer]:e.menuItems;function D(P){const W=s.get(P.value);if(!W)throw new Error("No ID found for menu item with value ".concat(P.value));return re(J({},P),{id:W})}return k.map(P=>{if(He(P)){const W=s.get("group-".concat(P.label));if(!W)throw new Error("No ID found for menu item with value group-".concat(P.label));return re(J({},P),{id:W,items:P.items.map(le=>D(le))})}else return D(P)})}),u=t.computed(()=>{const k=[];return c.value.forEach(D=>{He(D)?k.push(...D.items):k.push(D)}),k}),p=t.computed(()=>o["no-results"]?e.showNoResultsSlot!==null?e.showNoResultsSlot:u.value.length===0:!1),f=t.ref(null),m=t.ref(!1),h=t.ref(null),g="additions removals";let b="",w=null;function I(){b="",w!==null&&(clearTimeout(w),w=null)}function V(){w!==null&&clearTimeout(w),w=setTimeout(I,1500)}function A(){var k;return(k=u.value.find(D=>nt(e.selected)?e.selected.includes(D.value):D.value===e.selected))!=null?k:null}const N=t.computed(()=>nt(e.selected));function L(k){return nt(e.selected)?e.selected.includes(k):k===e.selected}function M(k){if(nt(e.selected)){const D=e.selected.includes(k)?e.selected.filter(P=>P!==k):e.selected.concat(k);n("update:selected",D)}else n("update:selected",k)}function B(k,D){if(!(D!=null&&D.disabled))switch(k){case"selected":D&&M(D.value),N.value||n("update:expanded",!1),h.value=null;break;case"highlighted":f.value=D!=null?D:null,m.value=!1;break;case"highlightedViaKeyboard":f.value=D!=null?D:null,m.value=!0;break;case"active":h.value=D!=null?D:null;break}}const y=t.computed(()=>{if(f.value!==null)return u.value.findIndex(k=>k.value===f.value.value)});function $(k){k&&(B("highlightedViaKeyboard",k),n("menu-item-keyboard-navigation",k))}function x(k){var W;const D=le=>{for(let oe=le-1;oe>=0;oe--)if(!u.value[oe].disabled)return u.value[oe]};k=k!=null?k:u.value.length;const P=(W=D(k))!=null?W:D(u.value.length);$(P)}function E(k){var W;const D=le=>u.value.find((oe,Fe)=>!oe.disabled&&Fe>le);k=k!=null?k:-1;const P=(W=D(k))!=null?W:D(-1);$(P)}function F(k){if(k.key==="Clear")return I(),!0;if(k.key==="Backspace")return b=b.slice(0,-1),V(),!0;if(k.key.length===1&&!k.metaKey&&!k.ctrlKey&&!k.altKey){if(e.expanded||n("update:expanded",!0),k.key===" "&&b.length<1)return!1;b+=k.key.toLowerCase();const D=b.length>1&&b.split("").every(oe=>oe===b[0]);let P=u.value,W=b;D&&y.value!==void 0&&(P=P.slice(y.value+1).concat(P.slice(0,y.value)),W=b[0]);const le=P.find(oe=>{var Fe;return!oe.disabled&&String((Fe=oe.label)!=null?Fe:oe.value).toLowerCase().startsWith(W)});return le&&(B("highlightedViaKeyboard",le),C()),V(),!0}return!1}function H(k,{prevent:D=!0,characterNavigation:P=!1}={}){if(P){if(F(k))return k.preventDefault(),!0;I()}function W(){D&&(k.preventDefault(),k.stopPropagation())}switch(k.key){case"Enter":case" ":return W(),e.expanded?(f.value&&m.value&&M(f.value.value),N.value||n("update:expanded",!1)):n("update:expanded",!0),!0;case"Tab":return e.expanded&&f.value&&m.value&&!N.value&&(M(f.value.value),n("update:expanded",!1)),!0;case"ArrowUp":return W(),e.expanded?(f.value===null&&B("highlightedViaKeyboard",A()),x(y.value)):n("update:expanded",!0),C(),!0;case"ArrowDown":return W(),e.expanded?(f.value===null&&B("highlightedViaKeyboard",A()),E(y.value)):n("update:expanded",!0),C(),!0;case"Home":return W(),e.expanded?(f.value===null&&B("highlightedViaKeyboard",A()),E()):n("update:expanded",!0),C(),!0;case"End":return W(),e.expanded?(f.value===null&&B("highlightedViaKeyboard",A()),x()):n("update:expanded",!0),C(),!0;case"Escape":return W(),n("update:expanded",!1),!0;default:return!1}}function K(){B("active",null)}const v=[],j=t.ref(void 0),R=tt(j,{threshold:.8});t.watch(R,k=>{k&&n("load-more")});function U(k,D){if(k){v[D]=k.$el;const P=e.visibleItemLimit;if(!P||e.menuItems.length<P)return;const W=Math.min(P,Math.max(2,Math.floor(.2*e.menuItems.length)));D===e.menuItems.length-W&&(j.value=k.$el)}}const Q=t.ref();function C(){const k=Q.value&&Q.value.scrollHeight>Q.value.clientHeight;if(y.value===void 0||!k)return;const D=y.value>=0?y.value:0;v[D].scrollIntoView({behavior:"smooth",block:"nearest"})}const O=t.ref(null),q=t.ref(null);function ee(){return te(this,null,function*(){yield t.nextTick(),Rt(),Ot(),yield t.nextTick(),C()})}function Rt(){if(e.footer){const k=v[v.length-1];q.value=k.scrollHeight}else q.value=null}function Ot(){if(!e.visibleItemLimit||v.length<=e.visibleItemLimit){O.value=null;return}const k=v[0].getBoundingClientRect().top,D=v[e.visibleItemLimit].getBoundingClientRect().top;O.value=D-k+2}function Ft(k){return{"cdx-menu__group-wrapper--hide-label":!!k.hideLabel}}function vt(k){return u.value.indexOf(k)}function T(k){var D,P;return J({selected:L(k.value),active:k.value===((D=h.value)==null?void 0:D.value),highlighted:k.value===((P=f.value)==null?void 0:P.value),showThumbnail:e.showThumbnail,boldLabel:e.boldLabel,hideDescriptionOverflow:e.hideDescriptionOverflow,searchQuery:e.searchQuery,multiselect:N.value},k)}function z(k){return{change:(D,P)=>B(D,P?k:null),click:()=>n("menu-item-click",k)}}function G(k){var D,P;return{menuItem:k,active:k.value===((D=h.value)==null?void 0:D.value)&&k.value===((P=f.value)==null?void 0:P.value)}}t.onMounted(()=>{document.addEventListener("mouseup",K)}),t.onUnmounted(()=>{document.removeEventListener("mouseup",K)}),t.watch(t.toRef(e,"expanded"),k=>te(this,null,function*(){if(k){const D=A();D&&!f.value&&B("highlighted",D),yield ee()}else B("highlighted",null)})),t.watch(t.toRef(e,"menuItems"),k=>te(this,null,function*(){k.length<v.length&&(v.length=k.length),e.expanded&&(yield ee())}),{deep:!0});const $e=t.computed(()=>({"max-height":O.value?"".concat(O.value,"px"):void 0,"margin-bottom":q.value?"".concat(q.value,"px"):void 0})),Lr=t.computed(()=>({"cdx-menu--has-footer":!!e.footer})),{rootClasses:Tr,rootStyle:Rr,otherAttrs:Or}=ae(l,Lr);return{listBoxStyle:$e,rootClasses:Tr,rootStyle:Rr,otherAttrs:Or,assignTemplateRef:U,computedMenuEntries:c,computedMenuItems:u,computedShowNoResultsSlot:p,highlightedMenuItem:f,highlightedViaKeyboard:m,handleMenuItemChange:B,handleKeyNavigation:H,ariaRelevant:g,isMultiselect:N,menuListbox:Q,getGroupWrapperClasses:Ft,getMenuItemIndex:vt,getMenuItemBindings:T,getMenuItemHandlers:z,getSlotBindings:G,isMenuGroupData:He}},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:n=!0,characterNavigation:o=!1}={}){return this.handleKeyNavigation(e,{prevent:n,characterNavigation:o})}}}),Ql=["aria-live","aria-relevant","aria-multiselectable"],Gl={key:0,class:"cdx-menu__pending cdx-menu-item"},Yl={key:1,class:"cdx-menu__no-results cdx-menu-item",role:"option"},Xl=["aria-labelledby","aria-describedby"],Zl={class:"cdx-menu__group__meta"},Jl={class:"cdx-menu__group__meta__text"},ea=["id"],ta=["id"];function na(e,n,o,l,i,d){const s=t.resolveComponent("cdx-icon"),r=t.resolveComponent("cdx-menu-item"),a=t.resolveComponent("cdx-progress-bar");return t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["cdx-menu",e.rootClasses]),style:t.normalizeStyle(e.rootStyle)},[t.createElementVNode("ul",t.mergeProps({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?(t.openBlock(),t.createElementBlock("li",Gl,[t.renderSlot(e.$slots,"pending")])):t.createCommentVNode("v-if",!0),e.computedShowNoResultsSlot?(t.openBlock(),t.createElementBlock("li",Yl,[t.renderSlot(e.$slots,"no-results")])):t.createCommentVNode("v-if",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.computedMenuEntries,(c,u)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:u},[e.isMenuGroupData(c)?(t.openBlock(),t.createElementBlock("li",{key:0,class:t.normalizeClass(["cdx-menu__group-wrapper",e.getGroupWrapperClasses(c)])},[t.createElementVNode("ul",{class:"cdx-menu__group",role:"group","aria-labelledby":c.id+"-label","aria-describedby":c.id+"-description"},[t.createElementVNode("span",Zl,[c.icon?(t.openBlock(),t.createBlock(s,{key:0,class:"cdx-menu__group__icon",icon:c.icon},null,8,["icon"])):t.createCommentVNode("v-if",!0),t.createElementVNode("span",Jl,[t.createElementVNode("span",{id:c.id+"-label",class:"cdx-menu__group__label"},t.toDisplayString(c.label),9,ea),c.description?(t.openBlock(),t.createElementBlock("span",{key:0,id:c.id+"-description",class:"cdx-menu__group__description"},t.toDisplayString(c.description),9,ta)):t.createCommentVNode("v-if",!0)])]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.items,p=>(t.openBlock(),t.createBlock(r,t.mergeProps({key:p.value,ref_for:!0,ref:f=>e.assignTemplateRef(f,e.getMenuItemIndex(p)),class:"cdx-menu__group__item"},e.getMenuItemBindings(p),t.toHandlers(e.getMenuItemHandlers(p))),{default:t.withCtx(()=>[t.renderSlot(e.$slots,"default",t.mergeProps({ref_for:!0},e.getSlotBindings(p)))]),_:2},1040))),128))],8,Xl)],2)):(t.openBlock(),t.createBlock(r,t.mergeProps({key:1,ref_for:!0,ref:p=>e.assignTemplateRef