@wikimedia/codex
Version:
Codex Design System for Wikimedia
1 lines • 135 kB
JavaScript
var Qt=Object.defineProperty,Xt=Object.defineProperties;var Jt=Object.getOwnPropertyDescriptors;var je=Object.getOwnPropertySymbols;var $t=Object.prototype.hasOwnProperty,kt=Object.prototype.propertyIsEnumerable;var _t=(e,t,o)=>t in e?Qt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,Ue=(e,t)=>{for(var o in t||(t={}))$t.call(t,o)&&_t(e,o,t[o]);if(je)for(var o of je(t))kt.call(t,o)&&_t(e,o,t[o]);return e},Me=(e,t)=>Xt(e,Jt(t));var lt=(e,t)=>{var o={};for(var s in e)$t.call(e,s)&&t.indexOf(s)<0&&(o[s]=e[s]);if(e!=null&&je)for(var s of je(e))t.indexOf(s)<0&&kt.call(e,s)&&(o[s]=e[s]);return o};import{d as I,m as he,C as J,r as y,t as H,c as T,A as Yt,_ as W,a as O,b as w,o as h,e as n,f as E,g as F,w as m,h as N,i as Vt,j as a,k as le,n as Q,u as Zt,l as en,F as Y,p as ee,q as f,s as V,v as oe,x as Be,y as Fe,z as fe,B as ve,S as tn,V as Ve,D as se,E as ie,G as ye,T as At,H as tt,I as nt,J as nn,K as on,L as me,M as sn,N as Lt,O as ln,P as an,Q as ot,R as dn,U as un,W as rn,X as pn,Y as Ut,Z as ae,$ as cn,a0 as mn,a1 as mt,a2 as Pe,a3 as Mt,a4 as Pt,a5 as rt,a6 as Rt,a7 as vn,a8 as fn,a9 as bn,aa as vt,ab as gn,ac as Et,ad as Ft,ae as d,af as Oe,ag as ft,ah as yn,ai as pt,aj as $e,ak as hn,al as xn,am as ce,an as He,ao as Qe,ap as _n,aq as Ot,ar as Nt,as as $n,at as kn,au as te,av as wn,aw as Wt,ax as Cn,ay as Sn,az as bt,aA as In,aB as Tn,aC as Dn,aD as Bn,aE as Vn,aF as wt,aG as ke,aH as Kt,aI as An,aJ as Ln,aK as Un,aL as Mn,aM as Ct,aN as Pn,aO as Rn}from"./DemoBaseLayout.vue_vue_type_style_index_0_lang-CWG_HZgx.js";import{C as R,_ as En,i as at,c as Xe,t as ue,a as it}from"./TypeaheadSearch.vue_vue_type_style_index_0_lang-guaG63gZ.js";import{u as gt,C as St,a as Fn,v as yt}from"./data-Cic2Cp98.js";import{C as Je,a as re}from"./MenuButton-CAcUPM-p.js";import{C as qt}from"./Tooltip-DvwCv0ek.js";/* empty css */import{C as et,a as dt}from"./Message-D4PyBt8G.js";import{C as ct,a as Re,b as ze}from"./Table-BylBugw3.js";import{C as de}from"./TextInput-BPNpai4v.js";import{C as De,u as Ee,a as It,b as On,c as we,d as Nn}from"./useFloatingMenu-DS6iyMuY.js";/* empty css */import{C as Ce}from"./Popover-BN9HEI-a.js";import"./floating-ui.dom-CMj0Z5yx.js";import"./floating-ui.vue-VTEv9orc.js";const Wn=he(Yt),Kn=I({name:"CdxAccordion",components:{CdxButton:R,CdxIcon:J},props:{modelValue:{type:[Boolean,null],default:null},actionAlwaysVisible:{type:Boolean,default:!1},separation:{type:String,default:"divider",validator:Wn},actionIcon:{type:[String,Object],default:null},actionButtonLabel:{type:String,default:""},headingLevel:{type:String,default:"h3"}},emits:["action-button-click","update:modelValue","toggle"],setup(e,{attrs:t,emit:o}){const s=y("open"in t),c=gt(s,H(e,"modelValue"),o),b=()=>{o("action-button-click")},g=u=>{c.value=u.newState==="open",o("toggle",c.value)},p=T(()=>e.actionIcon?c.value?!0:!!e.actionAlwaysVisible:!1),l=T(()=>({"cdx-accordion--has-icon":p.value,["cdx-accordion--separation-".concat(e.separation)]:!0}));return{emitActionButtonClick:b,rootClasses:l,shouldShowActionButton:p,onToggle:g,computedOpen:c}}}),qn=["open"],jn={class:"cdx-accordion__header__title"},zn={class:"cdx-accordion__header__description"};function Gn(e,t,o,s,c,b){const g=O("cdx-icon"),p=O("cdx-button");return h(),w("details",{class:Q(["cdx-accordion",e.rootClasses]),open:e.computedOpen||void 0,onToggle:t[1]||(t[1]=(...l)=>e.onToggle&&e.onToggle(...l))},[n("summary",null,[(h(),E(Vt(e.headingLevel),{class:"cdx-accordion__header"},{default:m(()=>[n("span",jn,[N(e.$slots,"title")]),n("span",zn,[N(e.$slots,"description")])]),_:3})),e.shouldShowActionButton?(h(),E(p,{key:0,class:"cdx-accordion__action","aria-label":e.actionButtonLabel,type:"button",weight:"quiet",onClick:le(e.emitActionButtonClick,["stop"])},{default:m(()=>[a(g,{icon:e.actionIcon,"icon-label":e.actionButtonLabel,size:"medium"},null,8,["icon","icon-label"])]),_:1},8,["aria-label","onClick"])):F("v-if",!0)]),n("div",{class:"cdx-accordion__content",onClick:t[0]||(t[0]=le(()=>{},["stop"]))},[N(e.$slots,"default")])],42,qn)}const be=W(Kn,[["render",Gn]]),Hn=I({name:"CdxButtonGroup",components:{CdxButton:R,CdxIcon:J},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:t,assignTemplateRef:o,onFocus:s,onBlur:c,onKeydown:b}=Zt(H(e,"buttons"));return{rootElement:t,assignTemplateRef:o,onFocus:s,onBlur:c,onKeydown:b,getButtonLabel:en}}}),Qn={ref:"rootElement",class:"cdx-button-group"};function Xn(e,t,o,s,c,b){const g=O("cdx-icon"),p=O("cdx-button");return h(),w("div",Qn,[(h(!0),w(Y,null,ee(e.buttons,(l,u)=>(h(),E(p,{key:l.value,ref_for:!0,ref:i=>e.assignTemplateRef(i,u),disabled:l.disabled||e.disabled,"aria-label":l.ariaLabel,onClick:i=>e.$emit("click",l.value),onFocus:i=>e.onFocus(u),onBlur:e.onBlur,onKeydown:e.onKeydown},{default:m(()=>[N(e.$slots,"default",{button:l},()=>[l.icon?(h(),E(g,{key:0,icon:l.icon},null,8,["icon"])):F("v-if",!0),f(" "+V(e.getButtonLabel(l)),1)])]),_:2},1032,["disabled","aria-label","onClick","onFocus","onBlur","onKeydown"]))),128))],512)}const Jn=W(Hn,[["render",Xn]]),Yn=he(Ve),Zn=I({name:"CdxCombobox",components:{CdxButton:R,CdxIcon:J,CdxMenu:De,CdxTextInput:de},inheritAttrs:!1,props:{menuItems:{type:Array,required:!0},selected:{type:[String,Number],required:!0},disabled:{type:Boolean,default:!1},menuConfig:{type:Object,default:()=>({})},status:{type:String,default:"default",validator:Yn}},emits:["update:selected","load-more","input","change","focus","blur"],setup(e,{emit:t,attrs:o,slots:s}){const c=y(),b=y(),g=y(),p=oe(),l=H(e,"selected"),u=Be(l,t,"update:selected"),i=y(!1),_=y(!1),C=T(()=>{var q,B;return(B=(q=g.value)==null?void 0:q.getHighlightedMenuItem())==null?void 0:B.id}),{computedDisabled:S,computedStatus:U}=Fe(H(e,"disabled"),H(e,"status")),k=T(()=>({"cdx-combobox--expanded":i.value,"cdx-combobox--disabled":S.value})),{rootClasses:r,rootStyle:x,otherAttrs:A}=fe(o,k);function P(q){_.value&&i.value?i.value=!1:(e.menuItems.length>0||s["no-results"])&&(i.value=!0),t("focus",q)}function M(q){i.value=_.value&&i.value,t("blur",q)}function ne(){S.value||(_.value=!0)}function G(){var q;S.value||(q=c.value)==null||q.focus()}function X(q){!g.value||S.value||e.menuItems.length===0||q.key===" "||g.value.delegateKeyNavigation(q)}return Ee(c,g),ve(i,()=>{_.value=!1}),{input:c,inputWrapper:b,menu:g,menuId:p,modelWrapper:u,expanded:i,highlightedId:C,computedDisabled:S,computedStatus:U,onInputFocus:P,onInputBlur:M,onKeydown:X,onButtonClick:G,onButtonMousedown:ne,cdxIconExpand:tn,rootClasses:r,rootStyle:x,otherAttrs:A}}}),eo={ref:"inputWrapper",class:"cdx-combobox__input-wrapper"};function to(e,t,o,s,c,b){const g=O("cdx-text-input"),p=O("cdx-icon"),l=O("cdx-button"),u=O("cdx-menu");return h(),w("div",{class:Q(["cdx-combobox",e.rootClasses]),style:ie(e.rootStyle)},[n("div",eo,[a(g,se({ref:"input",modelValue:e.modelWrapper,"onUpdate:modelValue":t[0]||(t[0]=i=>e.modelWrapper=i)},e.otherAttrs,{class:"cdx-combobox__input","aria-activedescendant":e.highlightedId,"aria-expanded":e.expanded,"aria-controls":e.menuId,disabled:e.computedDisabled,status:e.computedStatus,autocomplete:"off",role:"combobox",onKeydown:e.onKeydown,onInput:t[1]||(t[1]=i=>e.$emit("input",i)),onChange:t[2]||(t[2]=i=>e.$emit("change",i)),onFocus:e.onInputFocus,onBlur:e.onInputBlur}),null,16,["modelValue","aria-activedescendant","aria-expanded","aria-controls","disabled","status","onKeydown","onFocus","onBlur"]),a(l,{class:"cdx-combobox__expand-button","aria-hidden":"true",disabled:e.computedDisabled,tabindex:"-1",type:"button",onMousedown:e.onButtonMousedown,onClick:e.onButtonClick},{default:m(()=>[a(p,{class:"cdx-combobox__expand-icon",icon:e.cdxIconExpand},null,8,["icon"])]),_:1},8,["disabled","onMousedown","onClick"])],512),a(u,se({id:e.menuId,ref:"menu",selected:e.modelWrapper,"onUpdate:selected":t[3]||(t[3]=i=>e.modelWrapper=i),expanded:e.expanded,"onUpdate:expanded":t[4]||(t[4]=i=>e.expanded=i),"menu-items":e.menuItems},e.menuConfig,{onLoadMore:t[5]||(t[5]=i=>e.$emit("load-more"))}),{default:m(({menuItem:i})=>[N(e.$slots,"menu-item",{menuItem:i})]),"no-results":m(()=>[N(e.$slots,"no-results")]),_:3},16,["id","selected","expanded","menu-items"])],6)}const Te=W(Zn,[["render",to]]),no=["aria-label","aria-labelledby"],oo={key:0,class:"cdx-dialog__header__title-group"},so=["id"],lo={key:0,class:"cdx-dialog__header__subtitle"},ao={ref:"focusHolder",class:"cdx-dialog-focus-trap",tabindex:"-1"},io={key:0,class:"cdx-dialog__footer__text"},uo={key:1,class:"cdx-dialog__footer__actions"},ro={ref:"innerTeleportTarget"};function po(e,t,o,s,c,b){const g=O("cdx-icon"),p=O("cdx-button");return h(),E(tt,{to:e.computedTarget,disabled:e.renderInPlace},[a(At,{name:"cdx-dialog-fade",appear:""},{default:m(()=>[e.open?(h(),w("div",{key:0,ref:"backdrop",class:"cdx-dialog-backdrop",onMousedown:t[5]||(t[5]=(...l)=>e.onBackdropMouseDown&&e.onBackdropMouseDown(...l)),onClick:t[6]||(t[6]=(...l)=>e.onBackdropClick&&e.onBackdropClick(...l)),onKeyup:t[7]||(t[7]=ye((...l)=>e.close&&e.close(...l),["escape"]))},[n("div",{ref:"focusTrapStart",tabindex:"0",onFocus:t[0]||(t[0]=(...l)=>e.focusLast&&e.focusLast(...l))},null,544),n("div",se({ref:"dialogElement",class:["cdx-dialog",e.rootClasses],role:"dialog"},e.$attrs,{"aria-label":e.$slots.header||e.hideTitle?e.title:void 0,"aria-labelledby":!e.$slots.header&&!e.hideTitle?e.labelId:void 0,"aria-modal":"true",onClick:t[3]||(t[3]=le(()=>{},["stop"]))}),[n("header",{class:Q(["cdx-dialog__header",{"cdx-dialog__header--default":!e.$slots.header,"cdx-dialog__header--no-close-button":!e.useCloseButtonOrLabel}])},[N(e.$slots,"header",{},()=>[e.hideTitle?F("v-if",!0):(h(),w("div",oo,[n("h2",{id:e.labelId,class:"cdx-dialog__header__title"},V(e.title),9,so),e.subtitle?(h(),w("p",lo,V(e.subtitle),1)):F("v-if",!0)])),a(p,{class:"cdx-dialog__header__close-button",weight:"quiet",type:"button","aria-label":e.translatedCloseButtonLabel,onClick:e.close},{default:m(()=>[a(g,{icon:e.cdxIconClose},null,8,["icon"])]),_:1},8,["aria-label","onClick"])])],2),n("div",ao,null,512),n("div",{ref:"dialogBody",class:Q(["cdx-dialog__body cdx-scrollable-container",{"cdx-dialog__body--no-footer":!(e.showFooterActions||e.$slots.footer||e.$slots["footer-text"])}])},[N(e.$slots,"default")],2),e.showFooterActions||e.$slots.footer||e.$slots["footer-text"]?(h(),w("footer",{key:0,class:Q(["cdx-dialog__footer",{"cdx-dialog__footer--default":!e.$slots.footer}])},[N(e.$slots,"footer",{},()=>[e.$slots["footer-text"]?(h(),w("p",io,[N(e.$slots,"footer-text")])):F("v-if",!0),e.showFooterActions?(h(),w("div",uo,[e.primaryAction?(h(),E(p,{key:0,class:"cdx-dialog__footer__primary-action",weight:"primary",action:e.primaryAction.actionType,disabled:e.primaryAction.disabled,onClick:t[1]||(t[1]=l=>e.$emit("primary"))},{default:m(()=>[f(V(e.primaryAction.label),1)]),_:1},8,["action","disabled"])):F("v-if",!0),e.defaultAction?(h(),E(p,{key:1,class:"cdx-dialog__footer__default-action",disabled:e.defaultAction.disabled,onClick:t[2]||(t[2]=l=>e.$emit("default"))},{default:m(()=>[f(V(e.defaultAction.label),1)]),_:1},8,["disabled"])):F("v-if",!0)])):F("v-if",!0)])],2)):F("v-if",!0)],16,no),n("div",{ref:"focusTrapEnd",tabindex:"0",onFocus:t[4]||(t[4]=(...l)=>e.focusFirst&&e.focusFirst(...l))},null,544),n("div",ro,null,512)],544)):F("v-if",!0)]),_:3})],8,["to","disabled"])}const ge=W(En,[["render",po]]),co=he(Ve),mo=I({name:"CdxField",components:{CdxLabel:nt,CdxMessage:et},props:{labelIcon:{type:[String,Object],default:""},optional:{type:Boolean,default:!1},optionalFlag:{type:String,default:"",validator:(e,t)=>e.length>0&&!t.optional?(console.warn("[CdxField]: The boolean `optional` prop is required to show the optional flag.\n\nRefer to https://doc.wikimedia.org/codex/latest/components/demos/field.html#props."),!1):!0},hideLabel:{type:Boolean,default:!1},isFieldset:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},status:{type:String,default:"default",validator:co},messages:{type:Object,default:()=>({})}},setup(e,{slots:t}){const{disabled:o,status:s,isFieldset:c}=nn(e),b=on(o),g=T(()=>({"cdx-field--disabled":b.value,"cdx-field--is-fieldset":c.value})),p=oe(),l=oe(),u=oe(),i=T(()=>c.value?void 0:u);me(sn,i);const _=T(()=>!c.value&&t.description?l:void 0);me(Lt,_),me(ln,b),me(an,s);const C=T(()=>e.status!=="default"&&e.status in e.messages?e.messages[e.status]:""),S=T(()=>e.status==="default"?"notice":e.status);return{rootClasses:g,computedDisabled:b,labelId:p,descriptionId:l,inputId:u,validationMessage:C,validationMessageType:S}}}),vo={class:"cdx-field__control"},fo={class:"cdx-field__help-text"},bo={key:0,class:"cdx-field__validation-message"};function go(e,t,o,s,c,b){const g=O("cdx-label"),p=O("cdx-message");return h(),E(Vt(e.isFieldset?"fieldset":"div"),{class:Q(["cdx-field",e.rootClasses]),"aria-disabled":!e.isFieldset&&e.computedDisabled?!0:void 0,disabled:e.isFieldset&&e.computedDisabled?!0:void 0},{default:m(()=>[a(g,{id:e.labelId,icon:e.labelIcon,"visually-hidden":e.hideLabel,optional:e.optional,"optional-flag":e.optionalFlag,"input-id":e.inputId,"description-id":e.descriptionId,disabled:e.computedDisabled,"is-legend":e.isFieldset},ot({default:m(()=>[N(e.$slots,"label")]),_:2},[e.$slots.description&&e.$slots.description().length>0?{name:"description",fn:m(()=>[N(e.$slots,"description")]),key:"0"}:void 0]),1032,["id","icon","visually-hidden","optional","optional-flag","input-id","description-id","disabled","is-legend"]),n("div",vo,[N(e.$slots,"default")]),n("div",fo,[N(e.$slots,"help-text")]),!e.computedDisabled&&e.validationMessage||e.$slots[e.validationMessageType]?(h(),w("div",bo,[a(p,{type:e.validationMessageType,inline:!0},{default:m(()=>[e.status==="warning"&&e.$slots.warning?N(e.$slots,"warning",{key:0}):e.status==="error"&&e.$slots.error?N(e.$slots,"error",{key:1}):e.status==="success"&&e.$slots.success?N(e.$slots,"success",{key:2}):(h(),w(Y,{key:3},[f(V(e.validationMessage),1)],64))]),_:3},8,["type"])])):F("v-if",!0)]),_:3},8,["class","aria-disabled","disabled"])}const Ye=W(mo,[["render",go]]),yo=I({name:"CdxImage",components:{CdxIcon:J},inheritAttrs:!1,props:{src:{type:String,default:""},alt:{type:String,required:!0,default:""},aspectRatio:{type:String,validator:rn,default:null},objectPosition:{type:String,validator:un,default:"center"},objectFit:{type:String,validator:dn,default:"cover"},position:{type:String,default:""},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0},loadingPriority:{type:String,default:"lazy"}},emits:["error"],setup(e,{emit:t,attrs:o}){const s=y(e.src),c=y(!1),b=y(!1),g=T(()=>{var r;return{["cdx-image__image--".concat((r=e.aspectRatio)==null?void 0:r.split(":").join("-"))]:!!e.aspectRatio,["cdx-image__image--object-position-".concat(e.objectPosition)]:!!e.objectPosition,["cdx-image__image--object-fit-".concat(e.objectFit)]:!!e.objectFit,"cdx-image__image--is-broken":c.value,"cdx-image__image--is-loading":!b.value&&!c.value}}),p=T(()=>({["cdx-image--".concat(e.position)]:!!e.position})),{rootClasses:l,rootStyle:u,otherAttrs:i}=fe(o,p),_=T(()=>({width:"".concat(e.width,"px"),height:"".concat(e.height,"px")})),C=T(()=>{var r;return{["cdx-image__placeholder--".concat((r=e.aspectRatio)==null?void 0:r.split(":").join("-"))]:!!e.aspectRatio}}),S=r=>{c.value=!0,t("error",r)},U=()=>{b.value=!0},k=T(()=>{const r=Number(e.width);return r<=32?"cdx-image__placeholder__icon--size-smallest":r<=180?"cdx-image__placeholder__icon--size-small":r<=280?"cdx-image__placeholder__icon--size-medium":"cdx-image__placeholder__icon--size-large"});return{imageSrc:s,isBroken:c,isLoaded:b,imageClasses:g,rootClasses:l,rootStyle:u,otherAttrs:i,placeholderStyles:_,handleError:S,handleLoad:U,cdxIconImage:pn,iconSizeClass:k,placeholderClasses:C}}}),ho=["src","alt","width","height","loading"];function xo(e,t,o,s,c,b){const g=O("cdx-icon");return h(),w("div",{class:Q(["cdx-image",e.rootClasses]),style:ie(e.rootStyle)},[e.src?(h(),w("img",se({key:0},e.otherAttrs,{src:e.imageSrc,alt:e.alt,width:e.width,height:e.height,loading:e.loadingPriority,class:["cdx-image__image",e.imageClasses],onLoad:t[0]||(t[0]=(...p)=>e.handleLoad&&e.handleLoad(...p)),onError:t[1]||(t[1]=(...p)=>e.handleError&&e.handleError(...p))}),null,16,ho)):F("v-if",!0),!e.src||!e.isLoaded&&!e.isBroken?(h(),w("div",{key:1,class:Q(["cdx-image__placeholder",e.placeholderClasses]),style:ie(e.placeholderStyles)},[a(g,{icon:e.cdxIconImage,class:Q(["cdx-image__placeholder__icon",[e.iconSizeClass]])},null,8,["icon","class"])],6)):F("v-if",!0)],6)}const Tt=W(yo,[["render",xo]]),_o=he(Ve),$o=I({name:"CdxLookup",components:{CdxMenu:De,CdxTextInput:de},inheritAttrs:!1,props:{selected:{type:[String,Number,null],required:!0},menuItems:{type:Array,required:!0},inputValue:{type:[String,Number],default:null},disabled:{type:Boolean,default:!1},menuConfig:{type:Object,default:()=>({})},status:{type:String,default:"default",validator:_o},readonly:{type:Boolean,default:!1}},emits:["update:selected","update:input-value","load-more","input","change","focus","blur"],setup:(e,{emit:t,attrs:o,slots:s})=>{const c=y(),b=y(),g=y(),p=oe(),l=y(!1),u=y(!1),i=y(!1),_=y(e.menuItems),{computedDisabled:C,computedStatus:S}=Fe(H(e,"disabled"),H(e,"status")),U=H(e,"selected"),k=Be(U,t,"update:selected"),r=T(()=>{var D;return(D=g.value)==null?void 0:D.getComputedMenuItems().find(K=>K.value===k.value)}),x=T(()=>{var D,K;return(K=(D=g.value)==null?void 0:D.getHighlightedMenuItem())==null?void 0:K.id}),A=y(""),P=gt(A,H(e,"inputValue"),t,"update:input-value"),M=T(()=>({"cdx-lookup--disabled":C.value,"cdx-lookup--pending":l.value})),{rootClasses:ne,rootStyle:G,otherAttrs:X}=fe(o,M);function q(D){r.value?r.value.label!==D&&r.value.value!==D&&(k.value=null):e.selected!==null&&e.selected!==D&&(k.value=null),D===""&&_.value.length===0?(u.value=!1,l.value=!1):l.value=!0,t("input",D)}function B(D){if(e.readonly){t("focus",D);return}i.value=!0;const K=P.value!==null&&P.value!=="";!!(e.menuItems.length>0||s["no-results"])&&(K||_.value.length>0)&&(u.value=!0),t("focus",D)}function v(D){i.value=!1,u.value=!1,t("blur",D)}function $(D){e.readonly||!g.value||C.value||e.menuItems.length===0&&!s["no-results"]||D.key===" "||g.value.delegateKeyNavigation(D)}return Ee(b,g),ve(k,D=>{var K;if(D!==null){const Z=r.value?(K=r.value.label)!=null?K:r.value.value:"";P.value!==Z&&(P.value=Z,t("input",Z))}}),ve(H(e,"menuItems"),D=>{i.value&&l.value&&(D.length>0||s["no-results"])&&(u.value=!0),D.length===0&&!s["no-results"]&&(u.value=!1),l.value=!1}),{rootElement:c,textInput:b,menu:g,menuId:p,highlightedId:x,computedInputValue:P,selection:k,expanded:u,computedDisabled:C,computedStatus:S,onInputBlur:v,rootClasses:ne,rootStyle:G,otherAttrs:X,onUpdateInput:q,onInputFocus:B,onKeydown:$}}});function ko(e,t,o,s,c,b){const g=O("cdx-text-input"),p=O("cdx-menu");return h(),w("div",{ref:"rootElement",class:Q(["cdx-lookup",e.rootClasses]),style:ie(e.rootStyle)},[a(g,se({ref:"textInput",modelValue:e.computedInputValue,"onUpdate:modelValue":t[0]||(t[0]=l=>e.computedInputValue=l)},e.otherAttrs,{class:"cdx-lookup__input",role:"combobox",autocomplete:"off","aria-autocomplete":"list","aria-controls":e.menuId,"aria-expanded":e.expanded,"aria-activedescendant":e.highlightedId,disabled:e.computedDisabled,readonly:e.readonly,status:e.computedStatus,"onUpdate:modelValue":e.onUpdateInput,onChange:t[1]||(t[1]=l=>e.$emit("change",l)),onFocus:e.onInputFocus,onBlur:e.onInputBlur,onKeydown:e.onKeydown}),null,16,["modelValue","aria-controls","aria-expanded","aria-activedescendant","disabled","readonly","status","onUpdate:modelValue","onFocus","onBlur","onKeydown"]),e.readonly?F("v-if",!0):(h(),E(p,se({key:0,id:e.menuId,ref:"menu",selected:e.selection,"onUpdate:selected":t[2]||(t[2]=l=>e.selection=l),expanded:e.expanded,"onUpdate:expanded":t[3]||(t[3]=l=>e.expanded=l),"menu-items":e.menuItems},e.menuConfig,{onLoadMore:t[4]||(t[4]=l=>e.$emit("load-more"))}),{default:m(({menuItem:l})=>[N(e.$slots,"menu-item",{menuItem:l})]),"no-results":m(()=>[N(e.$slots,"no-results")]),_:3},16,["id","selected","expanded","menu-items"]))],6)}const jt=W($o,[["render",ko]]),wo=I({name:"CdxProgressIndicator",components:{CdxLabel:nt},inheritAttrs:!1,props:{showLabel:{type:Boolean,default:!1}},setup(e,{slots:t,attrs:o}){var l;Ut((l=t.default)==null?void 0:l.call(t),o);const s=T(()=>({"cdx-progress-indicator--has-label-visible":e.showLabel})),{rootClasses:c,rootStyle:b,otherAttrs:g}=fe(o,s),p=oe();return{rootClasses:c,rootStyle:b,progressIndicatorId:p,otherAttrs:g}}}),Co={class:"cdx-progress-indicator__indicator"},So=["id"];function Io(e,t,o,s,c,b){var p,l;const g=O("cdx-label");return h(),w("div",{class:Q(["cdx-progress-indicator",e.rootClasses]),style:ie(e.rootStyle)},[n("span",Co,[n("progress",se({id:e.progressIndicatorId,class:"cdx-progress-indicator__indicator__progress"},e.otherAttrs),null,16,So)]),(l=(p=e.$slots).default)!=null&&l.call(p,{})?(h(),E(g,{key:0,class:"cdx-progress-indicator__label","input-id":e.progressIndicatorId,"visually-hidden":!e.showLabel},{default:m(()=>[N(e.$slots,"default")]),_:3},8,["input-id","visually-hidden"])):F("v-if",!0)],6)}const Dt=W(wo,[["render",Io]]),To=he(Ve),Do=I({name:"CdxRadio",components:{CdxLabel:nt},props:{modelValue:{type:[String,Number,Boolean],default:""},inputValue:{type:[String,Number,Boolean],default:!1},name:{type:String,required:!0},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},status:{type:String,default:"default",validator:To}},emits:["update:modelValue"],setup(e,{emit:t,slots:o,attrs:s}){var S;Ut((S=o.default)==null?void 0:S.call(o),s);const{computedDisabled:c,computedStatus:b}=Fe(H(e,"disabled"),H(e,"status")),g=T(()=>({"cdx-radio--inline":e.inline,["cdx-radio--status-".concat(b.value)]:!0})),p=T(()=>({"cdx-radio__custom-input--inline":e.inline})),l=y(),u=oe(),i=oe(),_=()=>{l.value.focus()},C=Be(H(e,"modelValue"),t);return{rootClasses:g,computedDisabled:c,input:l,radioId:u,descriptionId:i,focusInput:_,wrappedModel:C,customInputClasses:p}}}),Bo={class:"cdx-radio__wrapper"},Vo=["id","aria-describedby","name","value","disabled"];function Ao(e,t,o,s,c,b){const g=O("cdx-label");return h(),w("div",{class:Q(["cdx-radio",e.rootClasses])},[n("div",Bo,[ae(n("input",{id:e.radioId,ref:"input","onUpdate:modelValue":t[0]||(t[0]=p=>e.wrappedModel=p),class:"cdx-radio__input",type:"radio","aria-describedby":e.$slots.description&&e.$slots.description().length>0?e.descriptionId:void 0,name:e.name,value:e.inputValue,disabled:e.computedDisabled},null,8,Vo),[[cn,e.wrappedModel]]),t[1]||(t[1]=n("span",{class:"cdx-radio__icon"},null,-1)),e.$slots.default&&e.$slots.default().length?(h(),E(g,{key:0,class:"cdx-radio__label","input-id":e.radioId,"description-id":e.$slots.description&&e.$slots.description().length>0?e.descriptionId:void 0,disabled:e.computedDisabled,onClick:e.focusInput},ot({default:m(()=>[N(e.$slots,"default")]),_:2},[e.$slots.description&&e.$slots.description().length>0?{name:"description",fn:m(()=>[N(e.$slots,"description")]),key:"0"}:void 0]),1032,["input-id","description-id","disabled","onClick"])):F("v-if",!0)]),e.$slots["custom-input"]?(h(),w("div",{key:0,class:Q(["cdx-radio__custom-input",e.customInputClasses])},[N(e.$slots,"custom-input")],2)):F("v-if",!0)],2)}const Ze=W(Do,[["render",Ao]]),Lo=he(Ve),Uo=I({name:"CdxSearchInput",components:{CdxButton:R,CdxTextInput:de},inheritAttrs:!1,props:{modelValue:{type:[String,Number],default:""},useButton:{type:Boolean,default:!1},hideIcon:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},buttonLabel:{type:String,default:"",validator:(e,t)=>e.length>0&&!t.useButton?(console.warn("[CdxSearchInput]: The boolean `useButton` prop is required to show the search button.\n\nRefer to https://doc.wikimedia.org/codex/latest/components/demos/search-input.html#props."),!1):!0},disabled:{type:Boolean,default:!1},status:{type:String,default:"default",validator:Lo}},emits:["update:modelValue","submit-click","input","change","focus","blur","compositionstart","compositionupdate","compositionend"],setup(e,{emit:t,attrs:o}){const s=Be(H(e,"modelValue"),t),{computedDisabled:c}=Fe(H(e,"disabled")),b=T(()=>({"cdx-search-input--has-end-button":!!e.buttonLabel||e.useButton})),{rootClasses:g,rootStyle:p,otherAttrs:l}=fe(o,b),u=mn(H(e,"buttonLabel"),"cdx-search-input-search-button-label","Search"),i=T(()=>e.useButton||e.buttonLabel.length>0);return{wrappedModel:s,computedDisabled:c,rootClasses:g,rootStyle:p,otherAttrs:l,handleSubmit:()=>{t("submit-click",s.value)},searchIcon:mt,translatedSearchButtonLabel:u,useButtonOrLabel:i}},methods:{focus(){this.$refs.textInput.focus()}}}),Mo={class:"cdx-search-input__input-wrapper"};function Po(e,t,o,s,c,b){const g=O("cdx-text-input"),p=O("cdx-button");return h(),w("div",{class:Q(["cdx-search-input",e.rootClasses]),style:ie(e.rootStyle)},[n("div",Mo,[a(g,se({ref:"textInput",modelValue:e.wrappedModel,"onUpdate:modelValue":t[0]||(t[0]=l=>e.wrappedModel=l),class:"cdx-search-input__text-input","input-type":"search","start-icon":e.hideIcon?void 0:e.searchIcon,clearable:e.clearable,disabled:e.computedDisabled,status:e.status},e.otherAttrs,{onKeydown:ye(e.handleSubmit,["enter"]),onInput:t[1]||(t[1]=l=>e.$emit("input",l)),onChange:t[2]||(t[2]=l=>e.$emit("change",l)),onFocus:t[3]||(t[3]=l=>e.$emit("focus",l)),onBlur:t[4]||(t[4]=l=>e.$emit("blur",l)),onCompositionstart:t[5]||(t[5]=l=>e.$emit("compositionstart",l)),onCompositionupdate:t[6]||(t[6]=l=>e.$emit("compositionupdate",l)),onCompositionend:t[7]||(t[7]=l=>e.$emit("compositionend",l))}),null,16,["modelValue","start-icon","clearable","disabled","status","onKeydown"]),N(e.$slots,"default")]),e.useButtonOrLabel?(h(),E(p,{key:0,class:"cdx-search-input__end-button",disabled:e.computedDisabled,onClick:e.handleSubmit},{default:m(()=>[f(V(e.translatedSearchButtonLabel),1)]),_:1},8,["disabled","onClick"])):F("v-if",!0)],6)}const zt=W(Uo,[["render",Po]]),Ro=I({name:"CdxTab",props:{name:{type:String,required:!0},label:{type:String,default:""},disabled:{type:Boolean,default:!1}},setup(e){var b;const t=Pe(Mt),o=Pe(Pt);if(!t||!o)throw new Error("Tab component must be used inside a Tabs component");const s=(b=t.value.get(e.name))!=null?b:{},c=T(()=>e.name===o.value);return{tab:s,isActive:c}}}),Eo=["id","aria-hidden","aria-labelledby"];function Fo(e,t,o,s,c,b){return ae((h(),w("section",{id:e.tab.id,"aria-hidden":e.isActive?void 0:!0,"aria-labelledby":"".concat(e.tab.id,"-label"),class:"cdx-tab",role:"tabpanel",tabindex:"-1"},[N(e.$slots,"default")],8,Eo)),[[rt,e.isActive]])}const Gt=W(Ro,[["render",Fo]]),Oo=I({name:"CdxTabs",components:{CdxButton:R,CdxIcon:J},props:{active:{type:String,default:null},framed:{type:Boolean,default:!1}},emits:["update:active"],setup(e,{slots:t,emit:o}){const s=y(),c=y(),b=y(),g=y(),p=vn(s),l=T(()=>{const B=fn(t.default);if(!B.every(v=>typeof v=="object"&&bn(v,Gt.name)))throw new Error("Slot content may only contain CdxTab components");if(B.length===0)throw new Error("Slot content cannot be empty");return B}),u=T(()=>l.value.reduce((B,v)=>{var $,D;if(($=v.props)!=null&&$.name&&typeof v.props.name=="string"){if(B.get(v.props.name))throw new Error("Tab names must be unique");B.set(v.props.name,{name:v.props.name,id:oe(),label:(D=v.props.label)!=null?D:v.props.name,disabled:v.props.disabled})}return B},new Map)),i=y(Array.from(u.value.keys())[0]),_=gt(i,H(e,"active"),o,"update:active"),C=T(()=>Array.from(u.value.keys())),S=T(()=>C.value.indexOf(_.value)),U=T(()=>{var B;return(B=u.value.get(_.value))==null?void 0:B.id});me(Pt,_),me(Mt,u);const k=y(new Map),r=y(),x=y(),A=It(r,{threshold:.95}),P=It(x,{threshold:.95});function M(B,v){const $=B;$&&(k.value.set(v,$),v===0?r.value=$:v===C.value.length-1&&(x.value=$))}const ne=T(()=>({"cdx-tabs--framed":e.framed,"cdx-tabs--quiet":!e.framed}));function G(){var B;(B=k.value.get(S.value))==null||B.focus()}function X(B){if(!c.value||!b.value||!g.value)return 0;const v=p.value==="rtl"?g.value:b.value,$=p.value==="rtl"?b.value:g.value,D=B.offsetLeft,K=D+B.clientWidth,Z=c.value.scrollLeft+v.clientWidth,xe=c.value.scrollLeft+c.value.clientWidth-$.clientWidth;return D<Z?D-Z:K>xe?K-xe:0}function q(B){if(!c.value||!b.value||!g.value)return;const v=B==="next"&&p.value==="ltr"||B==="prev"&&p.value==="rtl"?1:-1;let $=0,D=B==="next"?c.value.firstElementChild:c.value.lastElementChild;for(;D;){const K=B==="next"?D.nextElementSibling:D.previousElementSibling;if($=X(D),Math.sign($)===v){K&&Math.abs($)<.25*c.value.clientWidth&&($=X(K));break}D=K}c.value.scrollBy({left:$,behavior:"smooth"}),G()}return ve(_,()=>{if(U.value===void 0||!c.value||!b.value||!g.value)return;const B=document.getElementById("".concat(U.value,"-label"));B&&c.value.scrollBy({left:X(B),behavior:"smooth"})}),{activeTab:_,activeTabIndex:S,activeTabId:U,currentDirection:p,rootElement:s,tabListElement:c,prevScroller:b,nextScroller:g,rootClasses:ne,tabNames:C,tabsData:u,firstLabelVisible:A,lastLabelVisible:P,assignTemplateRefForTabButton:M,scrollTabs:q,focusActiveTab:G,cdxIconPrevious:gn,cdxIconNext:vt}},methods:{select(e,t){const o=this.tabsData.get(e);o&&!(o!=null&&o.disabled)&&(this.activeTab=e,t&&Rt(()=>{this.focusActiveTab()}))},selectNonDisabled(e,t,o){const s=this.tabsData.get(this.tabNames[e+t]);s&&(s.disabled?this.selectNonDisabled(e+t,t,o):this.select(s.name,o))},next(e){this.selectNonDisabled(this.activeTabIndex,1,e)},prev(e){this.selectNonDisabled(this.activeTabIndex,-1,e)},onLeftArrowKeypress(){this.currentDirection==="rtl"?this.next(!0):this.prev(!0)},onRightArrowKeypress(){this.currentDirection==="rtl"?this.prev(!0):this.next(!0)},onDownArrowKeypress(){var e;this.activeTabId&&((e=document.getElementById(this.activeTabId))==null||e.focus())}}}),No={class:"cdx-tabs__header"},Wo={ref:"prevScroller",class:"cdx-tabs__prev-scroller"},Ko={ref:"tabListElement",class:"cdx-tabs__list",role:"tablist"},qo=["id","disabled","aria-controls","aria-selected","tabindex","onClick","onKeyup"],jo={ref:"nextScroller",class:"cdx-tabs__next-scroller"},zo={class:"cdx-tabs__content"};function Go(e,t,o,s,c,b){const g=O("cdx-icon"),p=O("cdx-button");return h(),w("div",{ref:"rootElement",class:Q(["cdx-tabs",e.rootClasses])},[n("div",No,[ae(n("div",Wo,[a(p,{class:"cdx-tabs__scroll-button",weight:"quiet",type:"button",tabindex:"-1","aria-hidden":!0,onMousedown:t[0]||(t[0]=le(()=>{},["prevent"])),onClick:t[1]||(t[1]=l=>e.scrollTabs("prev"))},{default:m(()=>[a(g,{icon:e.cdxIconPrevious},null,8,["icon"])]),_:1})],512),[[rt,!e.firstLabelVisible]]),n("div",Ko,[(h(!0),w(Y,null,ee(e.tabsData.values(),(l,u)=>(h(),w("button",{id:"".concat(l.id,"-label"),key:u,ref_for:!0,ref:i=>e.assignTemplateRefForTabButton(i,u),disabled:l.disabled?!0:void 0,"aria-controls":l.id,"aria-selected":l.name===e.activeTab,tabindex:l.name===e.activeTab?void 0:-1,class:"cdx-tabs__list__item",role:"tab",onClick:le(i=>e.select(l.name),["prevent"]),onKeyup:ye(i=>e.select(l.name),["enter"]),onKeydown:[t[2]||(t[2]=ye(le((...i)=>e.onRightArrowKeypress&&e.onRightArrowKeypress(...i),["prevent"]),["right"])),t[3]||(t[3]=ye(le((...i)=>e.onDownArrowKeypress&&e.onDownArrowKeypress(...i),["prevent"]),["down"])),t[4]||(t[4]=ye(le((...i)=>e.onLeftArrowKeypress&&e.onLeftArrowKeypress(...i),["prevent"]),["left"]))]},[n("span",null,V(l.label),1)],40,qo))),128))],512),ae(n("div",jo,[a(p,{class:"cdx-tabs__scroll-button",weight:"quiet",type:"button",tabindex:"-1","aria-hidden":!0,onMousedown:t[5]||(t[5]=le(()=>{},["prevent"])),onClick:t[6]||(t[6]=l=>e.scrollTabs("next"))},{default:m(()=>[a(g,{icon:e.cdxIconNext},null,8,["icon"])]),_:1})],512),[[rt,!e.lastLabelVisible]])]),n("div",zo,[N(e.$slots,"default")])],2)}const Ho=W(Oo,[["render",Go]]),Qo=he(Ve),Xo=I({name:"CdxTextArea",components:{CdxIcon:J},inheritAttrs:!1,props:{modelValue:{type:String,default:""},status:{type:String,default:"default",validator:Qo},disabled:{type:Boolean,default:!1},autosize:{type:Boolean,default:!1},startIcon:{type:[String,Object],default:void 0},endIcon:{type:[String,Object],default:void 0}},emits:["update:modelValue","input","change","focus","blur","invalid"],setup(e,{attrs:t,emit:o}){const s=y(),c=Be(H(e,"modelValue"),o),b=t.id,{computedDisabled:g,computedStatus:p,computedInputId:l}=Fe(H(e,"disabled"),H(e,"status"),b),u=Pe(Lt,void 0),i=T(()=>({"cdx-text-area__textarea--has-value":!!c.value,"cdx-text-area__textarea--is-autosize":e.autosize})),_=T(()=>({"cdx-text-area--status-default":p.value==="default","cdx-text-area--status-error":p.value==="error","cdx-text-area--has-start-icon":!!e.startIcon,"cdx-text-area--has-end-icon":!!e.endIcon})),{rootClasses:C,rootStyle:S,otherAttrs:U}=fe(t,_),k=T(()=>{const q=U.value,{id:G}=q;return lt(q,["id"])});function r(G){s.value&&e.autosize&&(s.value.style.height="auto",s.value.style.height="".concat(s.value.scrollHeight,"px")),o("input",G)}const x=G=>{o("change",G)},A=G=>{o("focus",G)},P=G=>{o("blur",G)},M=y(!0);return{textarea:s,rootClasses:C,rootStyle:S,wrappedModel:c,computedDisabled:g,computedInputId:l,descriptionId:u,textareaClasses:i,otherAttrsMinusId:k,onInput:r,onChange:x,onFocus:A,onBlur:P,onInvalid:(G,X)=>{X&&G.preventDefault(),o("invalid",G),M.value=!0},shouldPreventDefault:M}},methods:{focus(){this.$refs.textarea.focus()},blur(){this.$refs.textarea.blur()},checkValidity(){return this.$refs.textarea.checkValidity()},reportValidity(){return this.shouldPreventDefault=!1,this.$refs.textarea.reportValidity()},setCustomValidity(e){this.$refs.textarea.setCustomValidity(e)}}}),Jo=["id","aria-describedby","disabled"];function Yo(e,t,o,s,c,b){const g=O("cdx-icon");return h(),w("div",{class:Q(["cdx-text-area",e.rootClasses]),style:ie(e.rootStyle)},[ae(n("textarea",se({id:e.computedInputId,ref:"textarea"},e.otherAttrsMinusId,{"onUpdate:modelValue":t[0]||(t[0]=p=>e.wrappedModel=p),class:[e.textareaClasses,"cdx-text-area__textarea"],"aria-describedby":e.descriptionId,disabled:e.computedDisabled,onInput:t[1]||(t[1]=(...p)=>e.onInput&&e.onInput(...p)),onChange:t[2]||(t[2]=(...p)=>e.onChange&&e.onChange(...p)),onFocus:t[3]||(t[3]=(...p)=>e.onFocus&&e.onFocus(...p)),onBlur:t[4]||(t[4]=(...p)=>e.onBlur&&e.onBlur(...p)),onInvalid:t[5]||(t[5]=p=>e.onInvalid(p,e.shouldPreventDefault))}),null,16,Jo),[[Et,e.wrappedModel]]),e.startIcon?(h(),E(g,{key:0,icon:e.startIcon,class:"cdx-text-area__icon-vue cdx-text-area__start-icon"},null,8,["icon"])):F("v-if",!0),e.endIcon?(h(),E(g,{key:1,icon:e.endIcon,class:"cdx-text-area__icon-vue cdx-text-area__end-icon"},null,8,["icon"])):F("v-if",!0)],6)}const Zo=W(Xo,[["render",Yo]]),es=I({name:"CdxToastDisplay",components:{CdxMessage:et},inheritAttrs:!1,props:{type:{type:String,default:"notice",validator:Ft},icon:{type:[String,Object],default:null},actionButtonLabel:{type:String,default:""},preventUserDismiss:{type:Boolean,default:!1},autoDismiss:{type:[Boolean,Number],default:!1,validator:e=>typeof e=="boolean"||typeof e=="number"&&e>0},renderInPlace:{type:Boolean,default:!1},target:{type:[String,Object],default:void 0}},emits:["user-dismissed","auto-dismissed","action-button-click"],setup(e,{emit:t,attrs:o}){const s=y(!1),c=y(),b=y(""),g=y(null),p=y(!1);let l=null,u=!1,i;function _(){return typeof document=="undefined"?null:document.querySelector(".cdx-toast-container__stack")}const C=y(_()),S=Pe("CdxTeleportTarget",void 0),U=T(()=>{var $,D,K;return(K=(D=($=d(e.target))!=null?$:C.value)!=null?D:d(S))!=null?K:"body"}),k=T(()=>e.autoDismiss===!0?4e3:e.autoDismiss),r=T(()=>({["cdx-toast--".concat(e.type)]:!0})),{rootClasses:x}=fe(o,r);function A($){s.value||(X(),b.value=$==="user-dismissed"?"cdx-toast-leave-active-user":"cdx-toast-leave-active-system",g.value=$,s.value=!0)}function P(){g.value&&(t(g.value),g.value=null)}function M(){t("action-button-click")}function ne(){u=!0,X()}function G(){u&&k.value&&(u=!1,q())}function X(){l&&(clearTimeout(l),l=null)}function q(){!k.value||u||(l=setTimeout(()=>{if(p.value||at.value){X();return}A("auto-dismissed")},k.value))}ve(at,($,D)=>{D&&!$&&k.value&&!u&&(X(),q())}),ve(k,$=>{X(),$&&!u&&q()});function B(){if(!c.value||e.preventUserDismiss)return;const $=c.value,D=.35;let K=null,Z=0;function xe(){return e.renderInPlace?"":"translateX(-50%)"}function Ne(j){const _e=$.offsetWidth*D,qe=Math.max(.95,1-Math.abs(j)/_e*.05);$.style.opacity=String(qe),e.renderInPlace?$.style.transform="translateX(".concat(j,"px)"):$.style.transform="translateX(calc(-50% + ".concat(j,"px))")}function Ae(){$.style.transition="transform 0.2s ease-out, opacity 0.2s ease-out",$.style.transform=xe(),$.style.opacity="";const j=()=>{$.removeEventListener("transitionend",j),$.style.transition="",$.style.transform=""};$.addEventListener("transitionend",j)}function st(){const j=Z>=0?1:-1,_e=$.offsetWidth*1.2,qe=j*_e;$.style.transition="transform 0.25s ease-out, opacity 0.25s ease-out",$.style.opacity="0",e.renderInPlace?$.style.transform="translateX(".concat(qe,"px)"):$.style.transform="translateX(calc(-50% + ".concat(qe,"px))");const xt=()=>{$.removeEventListener("transitionend",xt),A("user-dismissed")};$.addEventListener("transitionend",xt)}function Le(j){p.value=j,at.value=j}const We=j=>{K=j.touches[0].clientX,Z=0,$.style.transition="",Le(!0)},Ke=j=>{K!==null&&(j.preventDefault(),Z=j.touches[0].clientX-K,Ne(Z))},L=()=>{if(Le(!1),K===null)return;const j=$.offsetWidth*D;Math.abs(Z)>=j?st():Ae(),K=null},z=()=>{Le(!1),K!==null&&(Ae(),K=null)};return $.addEventListener("touchstart",We,{passive:!0}),$.addEventListener("touchmove",Ke,{passive:!1}),$.addEventListener("touchend",L,{passive:!0}),$.addEventListener("touchcancel",z,{passive:!0}),()=>{$.removeEventListener("touchstart",We),$.removeEventListener("touchmove",Ke),$.removeEventListener("touchend",L),$.removeEventListener("touchcancel",z)}}async function v(){await Rt(),c.value&&c.value.focus()}return Oe(async()=>{C.value=_(),k.value&&q(),i=B(),await v()}),ft(()=>{X(),i==null||i()}),{dismissed:s,toastElement:c,rootClasses:x,leaveActiveClass:b,onDismiss:A,onActionButtonClick:M,onAfterLeave:P,onMouseEnter:ne,onMouseLeave:G,computedTarget:U}}});function ts(e,t,o,s,c,b){const g=O("cdx-message");return h(),E(tt,{disabled:e.renderInPlace,to:e.computedTarget},[a(At,{name:"cdx-toast",appear:"","leave-active-class":e.leaveActiveClass,onAfterLeave:e.onAfterLeave},{default:m(()=>[e.dismissed?F("v-if",!0):(h(),w("div",{key:0,ref:"toastElement",class:Q(["cdx-toast",e.rootClasses]),tabindex:-1,onMouseenter:t[2]||(t[2]=(...p)=>e.onMouseEnter&&e.onMouseEnter(...p)),onMouseleave:t[3]||(t[3]=(...p)=>e.onMouseLeave&&e.onMouseLeave(...p)),onKeydown:t[4]||(t[4]=ye(p=>e.onDismiss("user-dismissed"),["esc"]))},[a(g,{type:e.type,icon:e.icon,"action-button-label":e.actionButtonLabel,"allow-user-dismiss":!e.preventUserDismiss,class:"cdx-toast__message",onUserDismissed:t[0]||(t[0]=p=>e.onDismiss("user-dismissed")),onAutoDismissed:t[1]||(t[1]=p=>e.onDismiss("auto-dismissed")),onActionButtonClick:e.onActionButtonClick},{default:m(()=>[N(e.$slots,"default")]),_:3},8,["type","icon","action-button-label","allow-user-dismiss","onActionButtonClick"])],34))]),_:3},8,["leave-active-class","onAfterLeave"])],8,["disabled","to"])}const Ht=W(es,[["render",ts]]);function ht(){const e=oe(),t={value:0};function o(i){const{message:_,contentRef:C,type:S,icon:U,actionButton:k,preventUserDismiss:r,autoDismiss:x,onUserDismissed:A,onAutoDismissed:P}=i;if(_===void 0&&!C)throw new Error("Toast: provide either message or contentRef in options.");const M="".concat(e,"-").concat(t.value++);return C&&Xe.set(M,C),ue.toasts.push({id:M,message:_,type:S!=null?S:"notice",icon:U,actionButton:k,autoDismiss:x!=null?x:!1,preventUserDismiss:r!=null?r:!1,onUserDismissed:A,onAutoDismissed:P}),M}function s(i){const _=ue.toasts.findIndex(C=>C.id===i);_!==-1&&(ue.toasts.splice(_,1),Xe.delete(i))}function c(i,_){const C=ue.toasts.find(S=>S.id===i);C&&Object.assign(C,_)}function b(){ue.toasts.length=0,Xe.clear()}function g(i,_={}){return o(Me(Ue({},_),{message:i,type:"success"}))}function p(i,_={}){return o(Me(Ue({},_),{message:i,type:"error"}))}function l(i,_={}){return o(Me(Ue({},_),{message:i,type:"notice"}))}function u(i,_={}){return o(Me(Ue({},_),{message:i,type:"warning"}))}return{show:o,dismiss:s,update:c,clear:b,success:g,error:p,info:l,warning:u}}const ns=I({name:"CdxToast",components:{CdxToastDisplay:Ht},inheritAttrs:!1,props:{type:{type:String,default:"notice",validator:Ft},icon:{type:[String,Object],default:null},actionButtonLabel:{type:String,default:""},preventUserDismiss:{type:Boolean,default:!1},autoDismiss:{type:[Boolean,Number],default:!1,validator:e=>typeof e=="boolean"||typeof e=="number"&&e>0},renderInPlace:{type:Boolean,default:!1},target:{type:[String,Object],default:void 0},standalone:{type:Boolean,default:!1}},emits:["user-dismissed","auto-dismissed","action-button-click"],setup(e,{emit:t}){const o=y(null),s=y(null),c=T(()=>e.actionButtonLabel?{label:e.actionButtonLabel,onClick:()=>t("action-button-click")}:void 0);if(!e.standalone){const{show:b,dismiss:g,update:p}=ht();Oe(()=>{const{preventUserDismiss:l,autoDismiss:u,icon:i,type:_}=e;s.value=b({contentRef:o,type:_,icon:i!=null?i:void 0,actionButton:c.value,preventUserDismiss:l,autoDismiss:u,onUserDismissed:()=>t("user-dismissed"),onAutoDismissed:()=>t("auto-dismissed")})}),ve(()=>[e.type,e.icon,e.actionButtonLabel,e.autoDismiss,e.preventUserDismiss],()=>{var l;s.value&&p(s.value,{type:e.type,icon:(l=e.icon)!=null?l:void 0,actionButton:c.value,autoDismiss:e.autoDismiss,preventUserDismiss:e.preventUserDismiss})}),ft(()=>{s.value&&g(s.value)})}return{stackContentRef:o}}});function os(e,t,o,s,c,b){const g=O("cdx-toast-display");return e.standalone?(h(),E(g,se({key:0,type:e.type,icon:e.icon,"action-button-label":e.actionButtonLabel,"prevent-user-dismiss":e.preventUserDismiss,"auto-dismiss":e.autoDismiss,"render-in-place":e.renderInPlace,target:e.target},e.$attrs,{onUserDismissed:t[0]||(t[0]=p=>e.$emit("user-dismissed")),onAutoDismissed:t[1]||(t[1]=p=>e.$emit("auto-dismissed")),onActionButtonClick:t[2]||(t[2]=p=>e.$emit("action-button-click"))}),{default:m(()=>[N(e.$slots,"default")]),_:3},16,["type","icon","action-button-label","prevent-user-dismiss","auto-dismiss","render-in-place","target"])):e.stackContentRef?(h(),E(tt,{key:1,to:e.stackContentRef},[N(e.$slots,"default")],8,["to"])):F("v-if",!0)}const pe=W(ns,[["render",os]]),ss=I({name:"CdxToastContainer",components:{CdxToastDisplay:Ht},props:{target:{type:[String,Object],default:void 0}},setup(e){const{dismiss:t}=ht(),o=y(!1),s=Pe("CdxTeleportTarget",void 0),c=T(()=>{var u,i;return(i=d((u=e.target)!=null?u:s))!=null?i:"body"});function b(u,i){const _=Xe.get(u);if(_){const C=i&&"$el"in i?i.$el:i;_.value=C}}function g(u){var _;const i=ue.toasts.find(C=>C.id===u);t(u),(_=i==null?void 0:i.onUserDismissed)==null||_.call(i)}function p(u){var _;const i=ue.toasts.find(C=>C.id===u);t(u),(_=i==null?void 0:i.onAutoDismissed)==null||_.call(i)}function l(u){var _;const i=ue.toasts.find(C=>C.id===u);(_=i==null?void 0:i.actionButton)==null||_.onClick()}return Oe(()=>{if(it.value){console.warn("CdxToastContainer: Only one ToastContainer should be mounted in the app. Multiple instances may cause duplicate or missing toasts. This instance will not render.");return}it.value=!0,o.value=!0}),ft(()=>{o.value&&(it.value=!1)}),{toastStore:ue,computedTarget:c,isInitialized:o,setToastContentRef:b,handleUserDismissed:g,handleAutoDismissed:p,handleActionButtonClick:l}}}),ls={class:"cdx-toast-container"},as={class:"cdx-toast-container__stack"};function is(e,t,o,s,c,b){const g=O("cdx-toast-display");return e.isInitialized?(h(),E(tt,{key:0,to:e.computedTarget},[n("div",ls,[n("div",as,[(h(!0),w(Y,null,ee(e.toastStore.toasts,p=>{var l,u,i;return h(),E(g,{key:p.id,type:p.type,icon:(l=p.icon)!=null?l:void 0,"action-button-label":(i=(u=p.actionButton)==null?void 0:u.label)!=null?i:"","auto-dismiss":p.autoDismiss,"prevent-user-dismiss":p.preventUserDismiss,"render-in-place":"",onUserDismissed:_=>e.handleUserDismissed(p.id),onAutoDismissed:_=>e.handleAutoDismissed(p.id),onActionButtonClick:_=>e.handleActionButtonClick(p.id)},{default:m(()=>[p.message?(h(),w(Y,{key:0},[f(V(p.message),1)],64)):(h(),w("div",{key:1,ref_for:!0,ref:_=>e.setToastContentRef(p.id,_),class:"cdx-toast__content-target"},null,512))]),_:2},1032,["type","icon","action-button-label","auto-dismiss","prevent-user-dismiss","onUserDismissed","onAutoDismissed","onActionButtonClick"])}),128))])])],8,["to"])):F("v-if",!0)}const ds=W(ss,[["render",is]]),us=I({name:"CdxTypeaheadSearch",components:{CdxIcon:J,CdxMenu:De,CdxSearchInput:zt},inheritAttrs:!1,props:{id:{type:String,required:!0},formAction:{type:String,required:!0},searchResults:{type:Array,required:!0},useButton:{type:Boolean,default:!1},buttonLabel:{type:String,default:"",validator:(e,t)=>e.length>0&&!t.useButton?(console.warn("[CdxTypeaheadSearch]: The boolean `useButton` prop is required to show the search button.\n\nRefer to https://doc.wikimedia.org/codex/latest/components/demos/typeahead-search.html#props."),!1):!0},initialInputValue:{type:String,default:""},searchFooterUrl:{type:String,default:""},debounceInterval:{type:Number,default:yn},highlightQuery:{type:Boolean,default:!1},showThumbnail:{type:Boolean,default:!1},autoExpandWidth:{type:Boolean,default:!1},visibleItemLimit:{type:Number,default:null},showEmptyQueryResults:{type:Boolean,default:!1},isMobileView:{type:Boolean,default:!1}},emits:["input","search-result-click","submit","load-more"],setup(e,{attrs:t,emit:o,slots:s}){const c=y(),b=y(),g=oe(),p=pt("cdx-typeahead-search-search-results-label","Search results"),l=y(!1),u=y(!1),i=y(!1),_=y(!1),C=y(e.initialInputValue),S=y(""),U=T(()=>{var L,z;return(z=(L=b.value)==null?void 0:L.getHighlightedMenuItem())==null?void 0:z.id}),k=y(null),r=T(()=>({"cdx-typeahead-search__menu-message--has-thumbnail":e.showThumbnail})),x=T(()=>e.searchResults.find(L=>L.value===k.value)),A=T(()=>e.searchFooterUrl&&S.value.length>0?{value:$e,url:e.searchFooterUrl}:void 0),P=T(()=>({"cdx-typeahead-search--expanded":l.value,"cdx-typeahead-search--is-mobile-view":e.isMobileView,"cdx-typeahead-search--show-thumbnail":e.showThumbnail,"cdx-typeahead-search--auto-expand-width":e.showThumbnail&&e.autoExpandWidth&&!e.isMobileView})),{rootClasses:M,rootStyle:ne,otherAttrs:G}=fe(t,P);function X(L){return L}const q=T(()=>({visibleItemLimit:e.visibleItemLimit,showThumbnail:e.showThumbnail,boldLabel:!0,hideDescriptionOverflow:!0}));let B,v;function $(L){const z=L.target;D(z.value)}function D(L,z=!1){x.value&&x.value.label!==L&&x.value.value!==L&&(k.value=null),v!==void 0&&(clearTimeout(v),v=void 0),L===""?l.value=!1:(u.value=!0,s["search-results-pending"]&&(v=setTimeout(()=>{_.value&&(l.value=!0),i.value=!0},xn))),B!==void 0&&(clearTimeout(B),B=void 0);const j=()=>{o("input",L)};z?j():B=setTimeout(()=>{j()},e.debounceInterval)}function K(L){var z;if(L===$e){k.value=null,C.value=S.value;return}k.value=L,L!==null&&(C.value=x.value?(z=x.value.label)!=null?z:String(x.value.value):"")}function Z(){_.value=!0,(S.value||i.value||e.showEmptyQueryResults&&e.searchResults.length>0)&&(l.value=!0)}function xe(){_.value=!1,l.value=!1}function Ne(L){const _e=L,{id:z}=_e,j=lt(_e,["id"]);if(j.value===$e){o("search-result-click",{searchResult:null,index:e.searchResults.length,numberOfResults:e.searchResults.length});return}Ae(j)}function Ae(L){const z={searchResult:L,index:e.searchResults.findIndex(j=>j.value===L.value),numberOfResults:e.searchResults.length};o("search-result-click",z)}function st(L){var z;if(L.value===$e){C.value=S.value;return}C.value=L.value?(z=L.label)!=null?z:String(L.value):""}function Le(L){var z;l.value=!1,(z=b.value)==null||z.clearActive(),Ne(L)}function We(L){if(x.value)Ae(x.value),L.stopPropagation(),window.location.assign(x.value.url),L.preventDefault();else{const z={searchResult:null,index:-1,numberOfResults:e.searchResults.length};o("submit",z)}}function Ke(L){if(!b.value||!S.value&&!e.showEmptyQueryResults||L.key===" ")return;const z=b.value.getHighlightedMenuItem(),j=b.value.getHighlightedViaKeyboard();switch(L.key){case"Enter":z&&(z.value===$e&&j?window.location.assign(e.searchFooterUrl):b.value.delegateKeyNavigation(L,{prevent:!1})),l.value=!1;break;case"Tab":l.value=!1;break;default:b.value.delegateKeyNavigation(L);break}}return Oe(()=>{e.initialInputValue&&D(e.initialInputValue,!0)}),ve(H(e,"searchResults"),()=>{S.value=C.value.trim(),(_.value&&u.value&&S.value.length>0||e.showEmptyQueryResults&&e.searchResults.length>0)&&(l.value=!0),v!==void 0&&(clearTimeout(v),v=void 0),u.value=!1,i.value=!1}),{form:c,menu:b,menuId:g,highlightedId:U,selection:k,menuMessageClass:r,footer:A,asSearchResult:X,inputValue:C,searchQuery:S,expanded:l,showPending:i,rootClasses:M,rootStyle:ne,otherAttrs:G,menuConfig:q,onComposition:$,onUpdateInputValue:D,onUpdateMenuSelection:K,onFocus:Z,onBlur:xe,onSearchResultClick:Ne,onSearchResultKeyboardNavigation:st,onSearchFooterClick:Le,onSubmit:We,onKeydown:Ke,MenuFooterValue:$e,articleIcon:hn,translatedSearchResultsLabel:p}},methods:{focus(){this.$refs.searchInput.focus()}}}),rs=["id","action"],ps={class:"cdx-typeahead-search__menu-message__text"},cs={class:"cdx-typeahead-search__menu-message__text"},ms=["href","onClickCapture"],vs={class:"cdx-menu-item__text cdx-typeahead-search__search-footer__text"},fs={class:"cdx-typeahead-search__search-footer__query"};function bs(e,t,o,s,c,b){const g=O("cdx-icon"),p=O("cdx-menu"),l=O("cdx-search-input");return h(),w("div",{class:Q(["cdx-typeahead-search",e.rootClasses]),style:ie(e.rootStyle)},[n("form",{id:e.id,ref:"form",class:"cdx-typeahead-search__form",action:e.formAction,onSubmit:t[4]||(t[4]=(...u)=>e.onSubmit&&e.onSubmit(...u))},[a(l,se({ref:"searchInput",modelValue:e.inputValue,"onUpdate:modelValue":t[3]||(t[3]=u=>e.inputValue=u),"button-label":e.isMobileView?void 0:e.buttonLabel,"use-button":e.useButton&&!e.isMobileView,"hide-icon":e.isMobileView,clearable:e.isMobileView},e.otherAttrs,{class:"cdx-typeahead-search__input",name:"search",role:"combobox",autoc