UNPKG

vue-uswds

Version:

Vue 3 implementation of the USWDS (U.S. Web Design System) component library

1 lines 248 kB
(function(e,We){typeof exports=="object"&&typeof module<"u"?module.exports=We(require("vue")):typeof define=="function"&&define.amd?define(["vue"],We):(e=typeof globalThis<"u"?globalThis:e||self,e.VueUswds=We(e.Vue))})(this,function(e){"use strict";const We="1.14.0";var In=Pn,Rn=/[\s\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,\-.\/:;<=>?@\[\]^_`{|}~]+/,Un=/[A-ZÀ-Ý\u00C0-\u00D6\u00D9-\u00DD][a-zà-ÿ]/g,Fn=/[A-ZÀ-Ý\u00C0-\u00D6\u00D9-\u00DD]+/g;function Pn(t){return t=t.replace(Un,function(a){return" "+(a[0].toLowerCase()||a[0])+a[1]}),t=t.replace(Fn,function(a){return" "+a.toLowerCase()}),t.trim().split(Rn).join("-").replace(/^-/,"").replace(/-\s*$/,"")}var jn=zn;function zn(t,a){if(!Array.isArray(t))throw new Error("expected an array for the first argument");if(a!=null&&typeof a!="number")throw new Error("expected a number or null/undefined for the second argument");a=a??t.length;for(var n=t.length,o=[],r=0;r<n;r+=a)o.push(t.slice(r,r+a));return o}const rt=(t,a)=>Object.prototype.hasOwnProperty.call(t,a),Le=t=>In(t),_t=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Vt=(t,a)=>jn(t,a),ye=":",oe="grid-",qn="u-",Ge="/assets/img",st="/assets/img/sprite.svg",Dt=null,Tt="64em",ua="30em",Yn="0000-01-01",Hn="9999-12-31",Kn=/^(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])\/\d{4}$/,Wn=/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/,Gn=["January","February","March","April","May","June","July","August","September","October","November","December"],Xn=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Zn=["S","M","T","W","Th","Fr","S"],Me=12,fa="vuswds-id-",Lt={};function ee(t=""){var r,s,l;const a=e.getCurrentInstance(),n=(l=(s=(r=a==null?void 0:a.appContext)==null?void 0:r.config)==null?void 0:s.globalProperties)==null?void 0:l.$route,o=n!=null&&n.path&&Le(n.path)?Le(n.path):"global";return Lt[o]||(Lt[o]=0),`${fa}${o}-${Le(t)}-${++Lt[o]}`}const Jn={install:(t,a)=>{const o={prefixSeparator:ye,gridNamespace:oe,utilityNamespace:qn,imagePath:Ge,svgSpritePath:st,routerComponentName:Dt,mobileMenuBreakpoint:Tt,footerNavBigBreakpoint:ua,...a??{},version:We};t.config.globalProperties.$vueUswds||(t.config.globalProperties.$vueUswds=o),t.provide("vueUswds.prefixSeparator",o.prefixSeparator),t.provide("vueUswds.gridNamespace",o.gridNamespace),t.provide("vueUswds.utilityNamespace",o.utilityNamespace),t.provide("vueUswds.imagePath",o.imagePath),t.provide("vueUswds.svgSpritePath",o.svgSpritePath),t.provide("vueUswds.routerComponentName",o.routerComponentName),t.provide("vueUswds.mobileMenuBreakpoint",o.mobileMenuBreakpoint),t.provide("vueUswds.footerNavBigBreakpoint",o.footerNavBigBreakpoint),t.provide("vueUswds.version",o.version),t.provide("nextId",ee)}},ne={__name:"BaseHeading",props:{tag:{type:String,default:"h2",validator(t){const a=["h1","h2","h3","h4","h5","h6"].includes(t);return a||console.warn(`'${t}' is not a valid HTML heading element`),a}}},setup(t){return(a,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),null,{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3}))}},Ae=(t,a)=>{const n=t.__vccOpts||t;for(const[o,r]of a)n[o]=r;return n},Qn={name:"BaseLink",inject:{globalRouterComponentName:{from:"vueUswds.routerComponentName",default:Dt}},inheritAttrs:!1,props:{href:{type:String,default:""},to:{type:[String,Object],default:""},routerComponentName:{type:[String,Object],default:""}},data(){return{isNuxt:this==null?void 0:this.$nuxt,isVueRouter:this==null?void 0:this.$router}},computed:{isHrefLink(){return!!this.href||typeof this.to=="string"&&this.to.startsWith("http")},linkComponent(){return this.routerComponentName?this.routerComponentName:this.globalRouterComponentName?this.globalRouterComponentName:this.isNuxt?"nuxt-link":this.isVueRouter?"router-link":"a"}},methods:{handleSpaceKeydown(t){var a,n;(n=(a=this.$attrs)==null?void 0:a.class)!=null&&n.includes("usa-button")&&t.target.click()}}},vn=["href"];function eo(t,a,n,o,r,s){return s.isHrefLink?(e.openBlock(),e.createElementBlock("a",e.mergeProps({key:0},t.$attrs,{href:n.href||n.to,onKeydown:a[0]||(a[0]=e.withKeys(e.withModifiers((...l)=>s.handleSpaceKeydown&&s.handleSpaceKeydown(...l),["prevent"]),["space"]))}),[e.renderSlot(t.$slots,"default")],16,vn)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.linkComponent),e.mergeProps({key:1},t.$attrs,{to:n.to,onKeydown:e.withKeys(e.withModifiers(s.handleSpaceKeydown,["prevent"]),["space"])}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},16,["to","onKeydown"]))}const te=Ae(Qn,[["render",eo]]);function Mt(t,a=!1){const n=e.ref(a),o=e.reactive(t),r=(u,p)=>{if(o[u]===void 0&&(o[u]=p),!n.value)for(const f in o)f!==u&&p&&(o[f]=!1)},s=u=>{delete o[u]},l=u=>{o[u]=!1},i=u=>{if(o[u]=!0,!n.value)for(const p in o)p!==u&&l(p)};return{registerAccordionItem:r,unregisterAccordionItem:s,openItem:i,closeItem:l,toggleItem:u=>{o[u]?l(u):i(u)},closeAllItems:()=>{for(const u in o)l(u)}}}const to=["aria-multiselectable"],ao={__name:"UsaAccordion",props:{bordered:{type:Boolean,default:!1},multiselectable:{type:Boolean,default:!1},headingTag:{type:String,default:"h2"}},emits:["update:accordionItems"],setup(t,{expose:a,emit:n}){const o=n,r=t,s=e.reactive({}),l=e.toRef(r,"multiselectable"),{registerAccordionItem:i,unregisterAccordionItem:d,openItem:c,closeItem:u,toggleItem:p}=Mt(s,l);e.watch(s,()=>{o("update:accordionItems",s)}),e.provide("accordionHeadingTag",e.computed(()=>r.headingTag)),e.provide("registerAccordionItem",i),e.provide("unregisterAccordionItem",d),e.provide("toggleItem",p),e.provide("accordionItems",s);const f=e.computed(()=>[{"usa-accordion--bordered":r.bordered}]);return a({openItem:c,closeItem:u,toggleItem:p}),(m,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["usa-accordion",f.value]),"aria-multiselectable":l.value||null},[e.renderSlot(m.$slots,"default")],10,to))}},no=["aria-expanded","aria-controls"],oo=["id","hidden"],ro={__name:"UsaAccordionItem",props:{id:{type:String,default:""},label:{type:String,default:""},open:{type:Boolean,default:!1},customClasses:{type:Object,default:()=>({heading:[],button:[],content:[]})}},setup(t){const a=e.inject("accordionHeadingTag"),n=e.inject("registerAccordionItem"),o=e.inject("unregisterAccordionItem"),r=e.inject("toggleItem"),s=e.inject("accordionItems"),l=t,i=e.computed(()=>l.id||ee("usa-accordion-item")),d=e.toRef(s,i.value);return n(i.value,l.open),e.onBeforeUnmount(()=>{o(i.value)}),(c,u)=>{var p,f;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(ne),e.mergeProps(c.$attrs,{class:["usa-accordion__heading",(p=t.customClasses)==null?void 0:p.heading],tag:e.unref(a)}),{default:e.withCtx(()=>{var m;return[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["usa-accordion__button",(m=t.customClasses)==null?void 0:m.button]),"aria-expanded":d.value,"aria-controls":i.value,onClick:u[0]||(u[0]=g=>e.unref(r)(i.value))},[e.renderSlot(c.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],10,no)]}),_:3},16,["class","tag"]),e.createElementVNode("div",{id:i.value,class:e.normalizeClass(["usa-accordion__content",(f=t.customClasses)==null?void 0:f.content]),hidden:!d.value},[e.renderSlot(c.$slots,"default")],10,oo)],64)}}},so=["role"],lo={class:"usa-alert__text"},At={__name:"UsaAlert",props:{variant:{type:String,default:"",validator(t){const a=["","info","warning","error","success","emergency","validation"].includes(t);return a||console.warn(`'${t}' is not a valid alert variant`),a}},slim:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1},role:{type:String,default:""},heading:{type:String,default:""},headingTag:{type:String,default:"h2"},customClasses:{type:Object,default:()=>({body:[],heading:[]})}},setup(t){const a=t,n=e.computed(()=>({"usa-alert--no-icon":a.noIcon,"usa-alert--slim":a.slim,"usa-alert--info":a.variant==="info"||a.variant==="validation","usa-alert--warning":a.variant==="warning","usa-alert--error":a.variant==="error","usa-alert--success":a.variant==="success","usa-alert--emergency":a.variant==="emergency","usa-alert--validation":a.variant==="validation"})),o=e.computed(()=>a.role?a.role:!a.role&&a.variant==="error"?"alert":null);return(r,s)=>{var l,i;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["usa-alert",n.value]),role:o.value},[e.createElementVNode("div",{class:e.normalizeClass(["usa-alert__body",(l=t.customClasses)==null?void 0:l.body])},[t.heading||r.$slots.heading?(e.openBlock(),e.createBlock(e.unref(ne),{key:0,tag:t.headingTag,class:e.normalizeClass(["usa-alert__heading",[{"usa-sr-only":t.slim},(i=t.customClasses)==null?void 0:i.heading]])},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"heading",{},()=>[e.createTextVNode(e.toDisplayString(t.heading),1)])]),_:3},8,["tag","class"])):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"message",{},()=>[e.createElementVNode("p",lo,[e.renderSlot(r.$slots,"default")])])],2)],10,so)}}};function ma(t,a="",n=!1,o){const r=e.ref(n),s=e.computed(()=>t||ee(a)),l=()=>{r.value=!1,o&&o("update:open",r.value)},i=()=>{r.value=!0,o&&o("update:open",r.value)},d=()=>{r.value?l():i()};return e.watch(r,c=>{r.value!==c&&d()}),{isOpen:e.readonly(r),toggleId:e.readonly(s),closeContent:l,openContent:i,toggleContent:d}}const io=["src"],co={class:"usa-media-block__body"},uo={key:2},fo=["src"],mo={class:"usa-media-block__body"},po={key:2},pa={__name:"UsaBannerContent",setup(t){const a=e.useSlots();a!=null&&a.tldIcon&&console.warn("The 'tldIcon' slot is deprecated, use 'tld-icon' instead."),a!=null&&a.tldDescription&&console.warn("The 'tldDescription' slot is deprecated, use 'tld-description' instead."),a!=null&&a.httpsIcon&&console.warn("The 'httpsIcon' slot is deprecated, use 'https-icon' instead."),a!=null&&a.httpsDescription&&console.warn("The 'httpsDescription' slot is deprecated, use 'https-description' instead.");const n=e.inject("vueUswds.prefixSeparator",ye),o=e.inject("vueUswds.gridNamespace",oe),r=e.inject("vueUswds.imagePath",Ge);return(s,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(`${e.unref(o)}row ${e.unref(o)}gap-lg`)},[e.createElementVNode("div",{class:e.normalizeClass(`usa-banner__guidance tablet${e.unref(n)}${e.unref(o)}col-6`)},[s.$slots["tld-icon"]?e.renderSlot(s.$slots,"tld-icon",{key:0}):s.$slots.tldIcon?e.renderSlot(s.$slots,"tldIcon",{key:1}):(e.openBlock(),e.createElementBlock("img",{key:2,class:"usa-banner__icon usa-media-block__img",src:`${e.unref(r)}/icon-dot-gov.svg`,role:"img",alt:"","aria-hidden":"true"},null,8,io)),e.createElementVNode("div",co,[s.$slots["tld-description"]?e.renderSlot(s.$slots,"tld-description",{key:0}):s.$slots.tldDescription?e.renderSlot(s.$slots,"tldDescription",{key:1}):(e.openBlock(),e.createElementBlock("p",uo,l[0]||(l[0]=[e.createElementVNode("strong",null,"Official websites use .gov",-1),e.createElementVNode("br",null,null,-1),e.createTextVNode(" A "),e.createElementVNode("strong",null,".gov",-1),e.createTextVNode(" website belongs to an official government organization in the United States. ")])))])],2),e.createElementVNode("div",{class:e.normalizeClass(`usa-banner__guidance tablet${e.unref(n)}${e.unref(o)}col-6`)},[s.$slots["https-icon"]?e.renderSlot(s.$slots,"https-icon",{key:0}):s.$slots.httpsIcon?e.renderSlot(s.$slots,"httpsIcon",{key:1}):(e.openBlock(),e.createElementBlock("img",{key:2,class:"usa-banner__icon usa-media-block__img",src:`${e.unref(r)}/icon-https.svg`,role:"img",alt:"","aria-hidden":"true"},null,8,fo)),e.createElementVNode("div",mo,[s.$slots["https-description"]?e.renderSlot(s.$slots,"https-description",{key:0}):s.$slots.httpsDescription?e.renderSlot(s.$slots,"httpsDescription",{key:1}):(e.openBlock(),e.createElementBlock("p",po,l[1]||(l[1]=[e.createElementVNode("strong",null,"Secure .gov websites use HTTPS",-1),e.createElementVNode("br",null,null,-1),e.createTextVNode(" A "),e.createElementVNode("strong",null,"lock",-1),e.createTextVNode(" ( "),e.createElementVNode("span",{class:"icon-lock"},[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"52",height:"64",viewBox:"0 0 52 64",class:"usa-banner__lock-image",role:"img","aria-labelledby":"banner-lock-description",focusable:"false"},[e.createElementVNode("title",{id:"banner-lock-title"},"Lock"),e.createElementVNode("desc",{id:"banner-lock-description"},"Locked padlock icon"),e.createElementVNode("path",{fill:"#000000","fill-rule":"evenodd",d:"M26 0c10.493 0 19 8.507 19 19v9h3a4 4 0 0 1 4 4v28a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V32a4 4 0 0 1 4-4h3v-9C7 8.507 15.507 0 26 0zm0 8c-5.979 0-10.843 4.77-10.996 10.712L15 19v9h22v-9c0-6.075-4.925-11-11-11z"})])],-1),e.createTextVNode(" ) or "),e.createElementVNode("strong",null,"https://",-1),e.createTextVNode(" means you've safely connected to the .gov website. Share sensitive information only on official, secure websites. ")])))])],2)],2))}},go=["aria-label"],ho=["src"],bo={class:"usa-banner__header-text"},yo={class:"usa-banner__header-action"},ko=["aria-expanded","aria-controls"],So={class:"usa-banner__button-text"},Co=["id","hidden"],$o={__name:"UsaBanner",props:{open:{type:Boolean,default:!1},id:{type:String,default:""},ariaLabel:{type:String,default:"Official website of the United States government"},headerText:{type:String,default:"An official website of the United States government"},actionText:{type:String,default:"Here's how you know"},customClasses:{type:Object,default:()=>({accordion:[],bannerHeader:[],bannerInner:[],button:[],bannerContent:[]})}},emits:["update:open"],setup(t,{expose:a,emit:n}){const o=e.inject("vueUswds.prefixSeparator",ye),r=e.inject("vueUswds.gridNamespace",oe),s=e.inject("vueUswds.imagePath",Ge),l=n,i=t,{isOpen:d,toggleId:c,openContent:u,closeContent:p,toggleContent:f}=ma(i.id,"usa-banner",i.open,l),m=e.computed(()=>{var g;return[{"usa-banner__header--expanded":d.value},...((g=i.customClasses)==null?void 0:g.bannerHeader)||[]]});return a({openContent:u,closeContent:p,toggleContent:f}),(g,y)=>{var h,b,k,N;return e.openBlock(),e.createElementBlock("section",{class:"usa-banner","aria-label":t.ariaLabel},[e.createElementVNode("div",{class:e.normalizeClass(["usa-accordion",(h=t.customClasses)==null?void 0:h.accordion])},[e.createElementVNode("header",{class:e.normalizeClass(["usa-banner__header",m.value])},[e.createElementVNode("div",{class:e.normalizeClass(["usa-banner__inner",(b=t.customClasses)==null?void 0:b.bannerInner])},[e.createElementVNode("div",{class:e.normalizeClass(`${e.unref(r)}col-auto`)},[e.renderSlot(g.$slots,"flag",{},()=>[e.createElementVNode("img",{"aria-hidden":"true",class:"usa-banner__header-flag",src:`${e.unref(s)}/us_flag_small.png`,alt:""},null,8,ho)])],2),e.createElementVNode("div",{"aria-hidden":"true",class:e.normalizeClass(`${e.unref(r)}col-fill tablet${e.unref(o)}${e.unref(r)}col-auto`)},[e.createElementVNode("p",bo,e.toDisplayString(t.headerText),1),e.createElementVNode("p",yo,e.toDisplayString(t.actionText),1)],2),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["usa-accordion__button usa-banner__button",(k=t.customClasses)==null?void 0:k.button]),"aria-expanded":e.unref(d),"aria-controls":e.unref(c),onClick:y[0]||(y[0]=V=>e.unref(f)())},[e.renderSlot(g.$slots,"button",{isOpen:e.unref(d),actionText:t.actionText},()=>[e.createElementVNode("span",So,e.toDisplayString(t.actionText),1)])],10,ko)],2)],2),e.createElementVNode("div",{id:e.unref(c),hidden:!e.unref(d),class:e.normalizeClass(["usa-banner__content usa-accordion__content",(N=t.customClasses)==null?void 0:N.bannerContent])},[e.renderSlot(g.$slots,"default",{},()=>[e.createVNode(e.unref(pa))])],10,Co)],2)],8,go)}}},Bo=["aria-current"],ga={__name:"UsaBreadcrumbItem",props:{href:{type:String,default:""},to:{type:[String,Object],default:""},routerComponentName:{type:[String,Object],default:""},current:{type:Boolean,default:!1},customClasses:{type:Object,default:()=>({link:[],span:[]})}},setup(t){const a=t,n=e.computed(()=>a.current?"page":null);return(o,r)=>{var s,l;return e.openBlock(),e.createElementBlock("li",{class:"usa-breadcrumb__list-item","aria-current":n.value},[t.current?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass((s=t.customClasses)==null?void 0:s.span)},[e.renderSlot(o.$slots,"default")],2)):(e.openBlock(),e.createBlock(e.unref(te),{key:1,href:t.href,to:t.to,"router-component-name":t.routerComponentName,class:e.normalizeClass(["usa-breadcrumb__link",(l=t.customClasses)==null?void 0:l.link])},{default:e.withCtx(()=>{var i;return[e.createElementVNode("span",{class:e.normalizeClass((i=t.customClasses)==null?void 0:i.span)},[e.renderSlot(o.$slots,"default")],2)]}),_:3},8,["href","to","router-component-name","class"]))],8,Bo)}}},wo=["aria-label"],No={__name:"UsaBreadcrumb",props:{items:{type:Array,default:()=>[]},wrap:{type:Boolean,default:!1},ariaLabel:{type:String,default:"Breadcrumbs"},customClasses:{type:Object,default:()=>({list:[],item:[],link:[],span:[]})}},setup(t){const a=t,n=e.computed(()=>[{"usa-breadcrumb--wrap":a.wrap}]),o=e.computed(()=>a.items.some(s=>s==null?void 0:s.current)),r=e.computed(()=>{if(!a.items.length)return[];if(o.value)return a.items;const s=[...a.items];return s[s.length-1].current=!0,s});return(s,l)=>{var i;return e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(["usa-breadcrumb",n.value]),"aria-label":t.ariaLabel},[e.createElementVNode("ol",{class:e.normalizeClass(["usa-breadcrumb__list",(i=t.customClasses)==null?void 0:i.list])},[e.renderSlot(s.$slots,"default",{items:r.value},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,d=>{var c,u,p;return e.openBlock(),e.createBlock(e.unref(ga),{key:(d==null?void 0:d.id)||d.text,class:e.normalizeClass((c=t.customClasses)==null?void 0:c.item),to:d.to,href:d.href,"router-component-name":d.routerComponentName,current:d.current,"custom-classes":{link:(u=t.customClasses)==null?void 0:u.link,span:(p=t.customClasses)==null?void 0:p.span}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.text),1)]),_:2},1032,["class","to","href","router-component-name","current","custom-classes"])}),128))])],2)],10,wo)}}},Eo=["type","disabled"],Xe={__name:"UsaButton",props:{variant:{type:String,default:"",validator(t){return["","secondary","accent-cool","accent-warm","base","outline","inverse","unstyled"].includes(t)}},size:{type:String,default:"",validator(t){return["","big"].includes(t)}},type:{type:String,default:"button",validator(t){return["button","submit","reset"].includes(t)}},disabled:{type:Boolean,default:!1}},setup(t){const a=t,n=e.computed(()=>[{"usa-button--secondary":a.variant==="secondary","usa-button--accent-cool":a.variant==="accent-cool","usa-button--accent-warm":a.variant==="accent-warm","usa-button--base":a.variant==="base","usa-button--outline":a.variant==="outline"||a.variant==="inverse","usa-button--inverse":a.variant==="inverse","usa-button--unstyled":a.variant==="unstyled","usa-button--big":a.size==="big"}]);return(o,r)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps(o.$attrs,{class:["usa-button",n.value],type:t.type,disabled:t.disabled}),[e.renderSlot(o.$slots,"before"),e.renderSlot(o.$slots,"default"),e.renderSlot(o.$slots,"after")],16,Eo))}},xo={__name:"UsaButtonGroup",props:{segmented:{type:Boolean,default:!1}},setup(t){const a=t,n=e.computed(()=>[{"usa-button-group--segmented":a.segmented}]);return(o,r)=>(e.openBlock(),e.createElementBlock("ul",{class:e.normalizeClass(["usa-button-group",n.value])},[e.renderSlot(o.$slots,"default")],2))}},_o={},Vo={class:"usa-button-group__item"};function Do(t,a){return e.openBlock(),e.createElementBlock("li",Vo,[e.renderSlot(t.$slots,"default")])}const To=Ae(_o,[["render",Do]]),Lo={__name:"UsaCard",props:{cardTag:{type:String,default:"div"},heading:{type:String,default:""},headingTag:{type:String,default:"h2"},flag:{type:Boolean,default:!1},headerFirst:{type:Boolean,default:!1},insetMedia:{type:Boolean,default:!1},mediaPosition:{type:String,default:"left",validator(t){return["left","right"].includes(t)}},headerExdent:{type:Boolean,default:!1},mediaExdent:{type:Boolean,default:!1},bodyExdent:{type:Boolean,default:!1},footerExdent:{type:Boolean,default:!1},customClasses:{type:Object,default:()=>({container:[],header:[],heading:[],media:[],img:[],body:[],footer:[]})}},setup(t){const a=t,n=e.computed(()=>[{"usa-card--header-first":a.headerFirst,"usa-card--flag":a.flag,"usa-card--media-right":a.mediaPosition==="right"}]),o=e.computed(()=>{var i;return[{"usa-card__header--exdent":a.headerExdent},...((i=a.customClasses)==null?void 0:i.header)||[]]}),r=e.computed(()=>{var i;return[{"usa-card__media--inset":a.insetMedia,"usa-card__media--exdent":a.mediaExdent},...((i=a.customClasses)==null?void 0:i.media)||[]]}),s=e.computed(()=>{var i;return[{"usa-card__body--exdent":a.bodyExdent},...((i=a.customClasses)==null?void 0:i.body)||[]]}),l=e.computed(()=>{var i;return[{"usa-card__footer--exdent":a.footerExdent},...((i=a.customClasses)==null?void 0:i.footer)||[]]});return(i,d)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.cardTag),{class:e.normalizeClass(["usa-card",n.value])},{default:e.withCtx(()=>{var c,u,p;return[e.createElementVNode("div",{class:e.normalizeClass(["usa-card__container",(c=t.customClasses)==null?void 0:c.container])},[t.heading||i.$slots.heading?(e.openBlock(),e.createElementBlock("header",{key:0,class:e.normalizeClass(["usa-card__header",o.value])},[e.createVNode(e.unref(ne),{tag:t.headingTag,class:e.normalizeClass(["usa-card__heading",(u=t.customClasses)==null?void 0:u.heading])},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"heading",{},()=>[e.createTextVNode(e.toDisplayString(t.heading),1)])]),_:3},8,["tag","class"])],2)):e.createCommentVNode("",!0),i.$slots.media?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["usa-card__media",r.value])},[e.createElementVNode("div",{class:e.normalizeClass(["usa-card__img",(p=t.customClasses)==null?void 0:p.img])},[e.renderSlot(i.$slots,"media")],2)],2)):e.createCommentVNode("",!0),i.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["usa-card__body",s.value])},[e.renderSlot(i.$slots,"default")],2)):e.createCommentVNode("",!0),i.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(["usa-card__footer",l.value])},[e.renderSlot(i.$slots,"footer")],2)):e.createCommentVNode("",!0)],2)]}),_:3},8,["class"]))}};function Ze(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function ke(t){return typeof t=="function"?t():e.unref(t)}const ha=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ba=t=>t!=null,Mo=Object.prototype.toString,Ao=t=>Mo.call(t)==="[object Object]",he=()=>{},Oo=Io();function Io(){var t,a;return ha&&((t=window==null?void 0:window.navigator)==null?void 0:t.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((a=window==null?void 0:window.navigator)==null?void 0:a.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ya(t,a){function n(...o){return new Promise((r,s)=>{Promise.resolve(t(()=>a.apply(this,o),{fn:a,thisArg:this,args:o})).then(r).catch(s)})}return n}const Ro=t=>t();function ka(t,a={}){let n,o,r=he;const s=i=>{clearTimeout(i),r(),r=he};return i=>{const d=ke(t),c=ke(a.maxWait);return n&&s(n),d<=0||c!==void 0&&c<=0?(o&&(s(o),o=null),Promise.resolve(i())):new Promise((u,p)=>{r=a.rejectOnCancel?p:u,c&&!o&&(o=setTimeout(()=>{n&&s(n),o=null,u(i())},c)),n=setTimeout(()=>{o&&s(o),o=null,u(i())},d)})}}function Uo(t,a=200,n={}){return ya(ka(a,n),t)}function Fo(t,a=200,n={}){const o=e.ref(t.value),r=Uo(()=>{o.value=t.value},a,n);return e.watch(t,()=>r()),o}function Po(t,a,n={}){const{eventFilter:o=Ro,...r}=n;return e.watch(t,ya(o,a),r)}function jo(t,a,n={}){const{debounce:o=0,maxWait:r=void 0,...s}=n;return Po(t,a,{...s,eventFilter:ka(o,{maxWait:r})})}function ie(t){var a;const n=ke(t);return(a=n==null?void 0:n.$el)!=null?a:n}const Ee=ha?window:void 0;function Se(...t){let a,n,o,r;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,o,r]=t,a=Ee):[a,n,o,r]=t,!a)return he;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const s=[],l=()=>{s.forEach(u=>u()),s.length=0},i=(u,p,f,m)=>(u.addEventListener(p,f,m),()=>u.removeEventListener(p,f,m)),d=e.watch(()=>[ie(a),ke(r)],([u,p])=>{if(l(),!u)return;const f=Ao(p)?{...p}:p;s.push(...n.flatMap(m=>o.map(g=>i(u,m,g,f))))},{immediate:!0,flush:"post"}),c=()=>{d(),l()};return Ze(c),c}let Sa=!1;function Oe(t,a,n={}){const{window:o=Ee,ignore:r=[],capture:s=!0,detectIframe:l=!1}=n;if(!o)return he;Oo&&!Sa&&(Sa=!0,Array.from(o.document.body.children).forEach(f=>f.addEventListener("click",he)),o.document.documentElement.addEventListener("click",he));let i=!0;const d=f=>r.some(m=>{if(typeof m=="string")return Array.from(o.document.querySelectorAll(m)).some(g=>g===f.target||f.composedPath().includes(g));{const g=ie(m);return g&&(f.target===g||f.composedPath().includes(g))}}),u=[Se(o,"click",f=>{const m=ie(t);if(!(!m||m===f.target||f.composedPath().includes(m))){if(f.detail===0&&(i=!d(f)),!i){i=!0;return}a(f)}},{passive:!0,capture:s}),Se(o,"pointerdown",f=>{const m=ie(t);i=!d(f)&&!!(m&&!f.composedPath().includes(m))},{passive:!0}),l&&Se(o,"blur",f=>{setTimeout(()=>{var m;const g=ie(t);((m=o.document.activeElement)==null?void 0:m.tagName)==="IFRAME"&&!(g!=null&&g.contains(o.document.activeElement))&&a(f)},0)})].filter(Boolean);return()=>u.forEach(f=>f())}function zo(t){return typeof t=="function"?t:typeof t=="string"?a=>a.key===t:Array.isArray(t)?a=>t.includes(a.key):()=>!0}function xe(...t){let a,n,o={};t.length===3?(a=t[0],n=t[1],o=t[2]):t.length===2?typeof t[1]=="object"?(a=!0,n=t[0],o=t[1]):(a=t[0],n=t[1]):(a=!0,n=t[0]);const{target:r=Ee,eventName:s="keydown",passive:l=!1,dedupe:i=!1}=o,d=zo(a);return Se(r,s,u=>{u.repeat&&ke(i)||d(u)&&n(u)},l)}function qo(){const t=e.ref(!1),a=e.getCurrentInstance();return a&&e.onMounted(()=>{t.value=!0},a),t}function Ot(t){const a=qo();return e.computed(()=>(a.value,!!t()))}function Ca(t,a,n={}){const{window:o=Ee,...r}=n;let s;const l=Ot(()=>o&&"MutationObserver"in o),i=()=>{s&&(s.disconnect(),s=void 0)},d=e.computed(()=>{const f=ke(t),m=(Array.isArray(f)?f:[f]).map(ie).filter(ba);return new Set(m)}),c=e.watch(()=>d.value,f=>{i(),l.value&&f.size&&(s=new MutationObserver(a),f.forEach(m=>s.observe(m,r)))},{immediate:!0,flush:"post"}),u=()=>s==null?void 0:s.takeRecords(),p=()=>{i(),c()};return Ze(p),{isSupported:l,stop:p,takeRecords:u}}function Yo(t={}){var a;const{window:n=Ee,deep:o=!0,triggerOnRemoval:r=!1}=t,s=(a=t.document)!=null?a:n==null?void 0:n.document,l=()=>{var c;let u=s==null?void 0:s.activeElement;if(o)for(;u!=null&&u.shadowRoot;)u=(c=u==null?void 0:u.shadowRoot)==null?void 0:c.activeElement;return u},i=e.ref(),d=()=>{i.value=l()};return n&&(Se(n,"blur",c=>{c.relatedTarget===null&&d()},!0),Se(n,"focus",d,!0)),r&&Ca(s,c=>{c.filter(u=>u.removedNodes.length).map(u=>Array.from(u.removedNodes)).flat().forEach(u=>{u===i.value&&d()})},{childList:!0,subtree:!0}),d(),i}function It(t,a={}){const{window:n=Ee}=a,o=Ot(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const s=e.ref(!1),l=c=>{s.value=c.matches},i=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",l):r.removeListener(l))},d=e.watchEffect(()=>{o.value&&(i(),r=n.matchMedia(ke(t)),"addEventListener"in r?r.addEventListener("change",l):r.addListener(l),s.value=r.matches)});return Ze(()=>{d(),i(),r=void 0}),s}function Ho(t,a,n={}){const{root:o,rootMargin:r="0px",threshold:s=.1,window:l=Ee,immediate:i=!0}=n,d=Ot(()=>l&&"IntersectionObserver"in l),c=e.computed(()=>{const g=ke(t);return(Array.isArray(g)?g:[g]).map(ie).filter(ba)});let u=he;const p=e.ref(i),f=d.value?e.watch(()=>[c.value,ie(o),p.value],([g,y])=>{if(u(),!p.value||!g.length)return;const h=new IntersectionObserver(a,{root:ie(y),rootMargin:r,threshold:s});g.forEach(b=>b&&h.observe(b)),u=()=>{h.disconnect(),u=he}},{immediate:i,flush:"post"}):he,m=()=>{u(),f(),p.value=!1};return Ze(m),{isSupported:d,isActive:p,pause(){u(),p.value=!1},resume(){p.value=!0},stop:m}}function Ko(t,a={}){const{initialValue:n=!1,focusVisible:o=!1,preventScroll:r=!1}=a,s=e.ref(!1),l=e.computed(()=>ie(t));Se(l,"focus",d=>{var c,u;(!o||(u=(c=d.target).matches)!=null&&u.call(c,":focus-visible"))&&(s.value=!0)}),Se(l,"blur",()=>s.value=!1);const i=e.computed({get:()=>s.value,set(d){var c,u;!d&&s.value?(c=l.value)==null||c.blur():d&&!s.value&&((u=l.value)==null||u.focus({preventScroll:r}))}});return e.watch(l,()=>{i.value=n},{immediate:!0,flush:"post"}),{focused:i}}const Wo={class:"usa-character-count"},Go=["id"],Xo={class:"usa-character-count__sr-status usa-sr-only","aria-live":"polite"},Zo={__name:"UsaCharacterCount",props:{maxlength:{type:Number,required:!0,validator(t){const a=t>0;return a||console.warn(`${t} is not a valid maxlength`),a}},id:{type:String,default:""}},setup(t){const a=t,n=e.ref(""),o=e.ref(""),r=e.ref(a.maxlength),s=e.computed(()=>r.value<0?r.value*-1:0),l=e.computed(()=>r.value===a.maxlength?"equal":s.value>0?"over":"under"),i=e.computed(()=>a.id||ee("usa-character-count")),d=e.computed(()=>[{"usa-character-count__message--invalid":l.value==="over"}]),c=u=>r.value=a.maxlength-`${u}`.length;return jo(r,()=>{var u;o.value=(u=n.value)==null?void 0:u.textContent},{debounce:1e3,immediate:!0}),e.provide("updateCharacterCount",c),e.provide("characterCountMaxlength",e.computed(()=>a.maxlength)),e.provide("characterCountMessageId",e.computed(()=>i.value)),(u,p)=>(e.openBlock(),e.createElementBlock("div",Wo,[e.renderSlot(u.$slots,"default"),e.createElementVNode("span",{id:i.value,class:"usa-character-count__message usa-sr-only"},[e.renderSlot(u.$slots,"default-message",{},()=>[e.createTextVNode("You can enter up to "+e.toDisplayString(t.maxlength)+" characters",1)])],8,Go),e.createElementVNode("div",{ref_key:"statusMessageRef",ref:n,class:e.normalizeClass(["usa-character-count__status usa-hint",d.value]),"aria-hidden":"true"},[l.value==="equal"?e.renderSlot(u.$slots,"equal-message",{key:0,maxlength:t.maxlength},()=>[e.createTextVNode(e.toDisplayString(t.maxlength)+" character",1),t.maxlength!==1?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode("s")],64)):e.createCommentVNode("",!0),p[0]||(p[0]=e.createTextVNode(" allowed"))]):l.value==="under"?e.renderSlot(u.$slots,"remaining-message",{key:1,charactersRemaining:r.value,maxlength:t.maxlength},()=>[e.createTextVNode(e.toDisplayString(r.value)+" character",1),r.value!==1?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode("s")],64)):e.createCommentVNode("",!0),p[1]||(p[1]=e.createTextVNode(" left"))]):l.value==="over"?e.renderSlot(u.$slots,"over-message",{key:2,charactersOver:s.value,maxlength:t.maxlength},()=>[e.createTextVNode(e.toDisplayString(s.value)+" character",1),s.value!==1?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode("s")],64)):e.createCommentVNode("",!0),p[2]||(p[2]=e.createTextVNode(" over limit"))]):e.createCommentVNode("",!0)],2),e.createElementVNode("div",Xo,e.toDisplayString(o.value),1)]))}},Jo=["id"],Qo=["htmlFor"],vo=Object.assign({inheritAttrs:!1},{__name:"UsaCheckbox",props:{tile:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!1},label:{type:String,default:""},description:{type:String,default:""},id:{type:String,default:""},customClasses:{type:Object,default:()=>({component:[],label:[],description:[]})}},emits:["update:modelValue"],setup(t,{emit:a}){const n=a,o=t,r=e.computed(()=>o.id||ee("usa-checkbox")),s=e.computed({get(){return o.modelValue},set(i){n("update:modelValue",i)}}),l=e.computed(()=>[{"usa-checkbox__input--tile":o.tile}]);return(i,d)=>{var c,u,p;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["usa-checkbox",(c=t.customClasses)==null?void 0:c.component])},[e.withDirectives(e.createElementVNode("input",e.mergeProps(i.$attrs,{id:r.value,"onUpdate:modelValue":d[0]||(d[0]=f=>s.value=f),class:["usa-checkbox__input",l.value],type:"checkbox"}),null,16,Jo),[[e.vModelCheckbox,s.value]]),e.createElementVNode("label",{class:e.normalizeClass(["usa-checkbox__label",(u=t.customClasses)==null?void 0:u.label]),htmlFor:r.value},[e.renderSlot(i.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),t.description||i.$slots.description?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["usa-checkbox__label-description",(p=t.customClasses)==null?void 0:p.description])},[e.renderSlot(i.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(t.description),1)])],2)):e.createCommentVNode("",!0)],10,Qo)],2)}}}),er=["aria-label"],$a={__name:"UsaChecklistItem",props:{checked:{type:Boolean,default:!1},ariaLabel:{type:String,default:""}},setup(t){const a=t,n=e.computed(()=>[{"usa-checklist__item--checked":a.checked}]);return(o,r)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["usa-checklist__item",n.value]),"aria-label":t.ariaLabel},[e.renderSlot(o.$slots,"default")],10,er))}},tr={class:"usa-checklist"},Ba={__name:"UsaChecklist",props:{items:{type:Array,default:()=>[]}},setup(t){return(a,n)=>(e.openBlock(),e.createElementBlock("ul",tr,[e.renderSlot(a.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,o=>(e.openBlock(),e.createBlock(e.unref($a),{key:(o==null?void 0:o.id)||o.text,checked:o.checked,"aria-label":o.ariaLabel},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.text),1)]),_:2},1032,["checked","aria-label"]))),128))])]))}},ar={__name:"UsaCollection",props:{condensed:{type:Boolean,default:!1}},setup(t){const a=t,n=e.computed(()=>[{"usa-collection--condensed":a.condensed}]);return(o,r)=>(e.openBlock(),e.createElementBlock("ul",{class:e.normalizeClass(["usa-collection",n.value])},[e.renderSlot(o.$slots,"default")],2))}},nr={class:"usa-collection__calendar-date"},or={__name:"UsaCollectionCalendar",props:{month:{type:String,required:!0},day:{type:[String,Number],required:!0},datetime:{type:String,default:""},customClasses:{type:Object,default:()=>({datetime:[],month:[],day:[]})}},setup(t){const a=t,n=e.computed(()=>a.datetime?"time":"div");return(o,r)=>{var s;return e.openBlock(),e.createElementBlock("div",nr,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{datetime:t.datetime||null,class:e.normalizeClass((s=t.customClasses)==null?void 0:s.datetime)},{default:e.withCtx(()=>{var l,i;return[e.createElementVNode("span",{class:e.normalizeClass(["usa-collection__calendar-date-month",(l=t.customClasses)==null?void 0:l.month])},e.toDisplayString(t.month),3),e.createElementVNode("span",{class:e.normalizeClass(["usa-collection__calendar-date-day",(i=t.customClasses)==null?void 0:i.day])},e.toDisplayString(t.day),3)]}),_:1},8,["datetime","class"]))])}}},wa={__name:"UsaCollectionHeading",props:{href:{type:String,default:""},to:{type:[String,Object],default:""},routerComponentName:{type:[String,Object],default:""},headingTag:{type:String,default:"h2"},heading:{type:String,default:""},customClasses:{type:Object,default:()=>({link:[]})}},setup(t){return(a,n)=>(e.openBlock(),e.createBlock(e.unref(ne),{tag:t.headingTag,class:"usa-collection__heading"},{default:e.withCtx(()=>{var o;return[e.createVNode(e.unref(te),{href:t.href,to:t.to,"router-component-name":t.routerComponentName,class:e.normalizeClass(["usa-link",(o=t.customClasses)==null?void 0:o.link])},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.heading),1)])]),_:3},8,["href","to","router-component-name","class"])]}),_:3},8,["tag"]))}},rr={class:"usa-collection__item"},sr={class:"usa-collection__body"},lr={__name:"UsaCollectionItem",props:{heading:{type:String,default:""},headingTag:{type:String,default:"h2"},href:{type:String,default:""},to:{type:[String,Object],default:""},routerComponentName:{type:[String,Object],default:""},customClasses:{type:Object,default:()=>({media:[],heading:[],link:[],description:[]})}},setup(t){return(a,n)=>{var o;return e.openBlock(),e.createElementBlock("li",rr,[a.$slots.media?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["usa-collection__img",(o=t.customClasses)==null?void 0:o.media])},[e.renderSlot(a.$slots,"media")],2)):e.renderSlot(a.$slots,"calendar",{key:1}),e.createElementVNode("div",sr,[e.renderSlot(a.$slots,"heading",{},()=>{var r,s;return[e.createVNode(e.unref(wa),{heading:t.heading,"heading-tag":t.headingTag,href:t.href,to:t.to,class:e.normalizeClass((r=t.customClasses)==null?void 0:r.heading),"router-component-name":t.routerComponentName,"custom-classes":{link:((s=t.customClasses)==null?void 0:s.link)||[]}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.heading),1)]),_:1},8,["heading","heading-tag","href","to","class","router-component-name","custom-classes"])]}),e.renderSlot(a.$slots,"description",{},()=>{var r;return[a.$slots.default?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(["usa-collection__description",(r=t.customClasses)==null?void 0:r.description])},[e.renderSlot(a.$slots,"default")],2)):e.createCommentVNode("",!0)]}),e.renderSlot(a.$slots,"meta")])])}}},ir=["aria-label"],cr={__name:"UsaCollectionMeta",props:{ariaLabel:{type:String,required:!0}},setup(t){return(a,n)=>(e.openBlock(),e.createElementBlock("ul",{class:"usa-collection__meta","aria-label":t.ariaLabel},[e.renderSlot(a.$slots,"default")],8,ir))}},dr={},ur={class:"usa-collection__meta-item"};function fr(t,a){return e.openBlock(),e.createElementBlock("li",ur,[e.renderSlot(t.$slots,"default")])}const mr=Ae(dr,[["render",fr]]);function pr(t,a,n,o,r,s){const l=e.ref(t),i=e.ref(n),d=e.ref(o),c=e.ref(r),u=e.computed({get(){return a.value},set(F){s("update:modelValue",F)}}),p=Yo(),f=e.ref(!1),m=e.ref(""),g=e.ref(""),y=e.ref(!1),h=e.computed(()=>{if(u.value==="")return"";const F=i.value.find(X=>X.value===u.value);return(F==null?void 0:F.label)||""});e.watch(h,F=>{F!==""&&(m.value=F)}),e.watch(m,F=>{y.value&&F!==""&&(f.value=!0)}),h.value&&(m.value=h.value);const b=e.computed(()=>m.value===""||!f.value&&m.value===h.value?i.value:i.value.filter(F=>new RegExp(_t(m.value),"gi").test(F.label))),k=e.computed(()=>{var F;return(F=b.value)==null?void 0:F.length}),N=e.computed(()=>l.value||ee("usa-combo-box")),V=e.computed(()=>`${N.value}-label`),C=e.computed(()=>`${N.value}-error-message`),E=e.computed(()=>`${N.value}-hint`),D=e.computed(()=>`${N.value}-assistive-hint`),M=e.computed(()=>`${N.value}-list`),x=F=>`${M.value}-option-${F}`,B=e.ref(null),U=e.ref(null),A=e.ref(null),$=e.ref([]),S=F=>$.value.find(X=>X.id===F),T=F=>$.value.find(X=>X.dataset.value===F),O=e.computed(()=>k.value?b.value[0].value:""),j=e.computed(()=>{const F=k.value?$.value[0].id:null;return F?S(F):null}),w=e.computed(()=>{if(u.value==="")return null;const F=$.value.find(X=>X.dataset.value===u.value);return F||null}),_=e.computed(()=>{if(g.value==="")return null;const F=$.value.find(X=>X.dataset.value===g.value);return F||null}),L=e.computed(()=>b.value.findIndex(X=>X.value===g.value)===0),I=e.computed(()=>b.value.findIndex(X=>X.value===g.value)===k.value-1),K=e.computed(()=>{const F=p.value.id;return F===v.value||k.value&&u.value!==""&&y.value&&F===N.value?v.value:null}),Z=F=>{if(!F||!(A!=null&&A.value))return;const X=F.offsetTop+F.offsetHeight,da=A.value.scrollTop+A.value.offsetHeight;X>da&&(A.value.scrollTop=X-A.value.offsetHeight),F.offsetTop<A.value.scrollTop&&(A.value.scrollTop=F.offsetTop)},J=()=>{U.value.focus()},z=F=>{u.value=F;const X=i.value.find(da=>da.value===F);m.value=(X==null?void 0:X.label)||"",f.value=!1},G=()=>{z("")},Q=F=>{g.value=F},ae=()=>{g.value=""},P=()=>{!d.value&&!c.value&&(y.value=!0)},H=()=>{y.value=!1,f.value=!1,ae(),A.value.scrollTop=0},Y=F=>g.value===F||u.value===F?0:-1,v=e.computed(()=>{if(!g.value)return null;const F=b.value.findIndex(X=>X.value===g.value);return x(F)}),q=e.computed(()=>u.value!==""&&m.value===h.value&&!d.value&&!c.value),Ke=()=>{y.value||P(),u.value!==""?Q(u.value):Q(O.value)},le=()=>{const F=b.value.find(X=>X.label===m.value);m.value!==""&&F.value&&z(F.value),H()},Su=()=>{y.value?(H(),ae()):(P(),u.value!==""?(Q(u.value),e.nextTick(()=>{Z(w.value)})):Q(O.value)),J()},Cu=()=>{G(),ae(),J()},$u=F=>{Q(F),_.value&&_.value.focus({preventScroll:!0})},Bu=F=>{z(F),H(),J()},wu=F=>{z(F),H(),J()},Nu=F=>{if(!I.value){Q(b.value[F+1].value);const X=T(g.value);Z(X.value),_.value&&_.value.focus()}},Eu=F=>{if(L.value)H(),ae(),J();else{Q(b.value[F-1].value);const X=T(g.value);Z(X.value),_.value&&_.value.focus()}},xu=()=>{y.value&&(z(u.value),H(),ae())},_u=F=>{z(F),H(),J()},Vu=()=>{z(u.value),H(),ae(),J()},Du=()=>{y.value||P(),k.value&&(u.value?(Q(u.value),e.nextTick(()=>{w.value.focus(),Z(w.value)})):(Q(O.value),e.nextTick(()=>{_.value.focus(),Z(_.value)})))},Tu=()=>{y.value||P(),u.value?(Q(u.value),e.nextTick(()=>{Z(w.value)})):g.value===""&&(Q(O.value),e.nextTick(()=>{Z(j.value)}))};return Oe(B,()=>xu()),xe("Escape",()=>{Vu()}),{activeDescendent:K,clearButtonIsVisible:q,componentElement:B,computedAssistiveHintId:D,computedErrorMessageId:C,computedHintId:E,computedId:N,computedLabelId:V,computedListId:M,filteredOptions:b,getListItemIdByIndex:x,handleClearInput:Cu,handleClickOnInput:Tu,handleClickOnListOption:_u,handleDownOnInput:Du,handleDownOnListOption:Nu,handleEnterOnInput:le,handleEnterOnListOption:wu,handleFilterOnInput:Ke,handleHoverOnListOption:$u,handleListToggle:Su,handleSpaceOnListOption:Bu,handleUpOnListOption:Eu,highlightedOption:e.readonly(g),inputElement:U,isDisabled:e.readonly(d),isOpen:e.readonly(y),isReadonly:e.readonly(c),listElement:A,listItemElements:$,listItemTabIndex:Y,searchTerm:m,selectedOption:u,totalFilteredOptions:k}}const Ce=Object.assign({inheritAttrs:!1},{__name:"UsaFormGroup",props:{group:{type:Boolean,default:!1},error:{type:Boolean,default:!1}},setup(t){const a=t,n=e.computed(()=>[{"usa-form-group--error":a.error}]);return(o,r)=>t.group?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0},o.$attrs,{class:["usa-form-group",n.value]}),[e.renderSlot(o.$slots,"default")],16)):e.renderSlot(o.$slots,"default",{key:1})}}),gr=["htmlFor"],$e={__name:"UsaLabel",props:{for:{type:String,required:!0},required:{type:Boolean,default:!1},error:{type:Boolean,default:!1}},setup(t){const a=t,n=e.computed(()=>[{"usa-label--error":a.error}]);return(o,r)=>(e.openBlock(),e.createElementBlock("label",{htmlFor:a.for,class:e.normalizeClass(["usa-label",n.value])},[e.renderSlot(o.$slots,"default"),t.required?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[r[1]||(r[1]=e.createTextVNode(" ")),e.renderSlot(o.$slots,"required",{},()=>[r[0]||(r[0]=e.createElementVNode("abbr",{title:"required",class:"usa-hint usa-hint--required"},"*",-1))])],64)):e.createCommentVNode("",!0)],10,gr))}},hr=["id"],br=["id"],yr=["id","required","disabled","readonly","aria-owns","aria-controls","aria-describedby","aria-expanded","aria-activedescendant"],kr={class:"usa-combo-box__clear-input__wrapper",tabindex:"-1"},Sr=["aria-label","disabled"],Cr={class:"usa-combo-box__toggle-list__wrapper",tabindex:"-1"},$r=["aria-label","disabled"],Br=["id","aria-labelledby","hidden"],wr=["id","aria-setsize","aria-posinset","aria-selected","tabindex","data-value","onClick","onKeydown","onMouseover"],Nr={key:1,class:"usa-combo-box__list-option--no-results"},Er={class:"usa-combo-box__status usa-sr-only",role:"status"},xr=["id"],Na=Object.assign({inheritAttrs:!1},{__name:"UsaComboBox",props:{options:{type:Array,default:()=>[]},modelValue:{type:[String,Number],default:""},label:{type:String,default:""},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},error:{type:Boolean,default:!1},id:{type:String,default:""},clearButtonAriaLabel:{type:String,default:"Clear the select contents"},toggleButtonAriaLabel:{type:String,default:"Toggle the dropdown list"},customClasses:{type:Object,default:()=>({formGroup:[],component:[],label:[],input:[],list:[]})}},emits:["update:modelValue"],setup(t,{emit:a}){const n=e.useSlots(),o=a,r=t,{activeDescendent:s,clearButtonIsVisible:l,componentElement:i,computedAssistiveHintId:d,computedErrorMessageId:c,computedHintId:u,computedId:p,computedLabelId:f,computedListId:m,filteredOptions:g,getListItemIdByIndex:y,handleClearInput:h,handleClickOnInput:b,handleClickOnListOption:k,handleDownOnInput:N,handleDownOnListOption:V,handleEnterOnInput:C,handleEnterOnListOption:E,handleFilterOnInput:D,handleHoverOnListOption:M,handleListToggle:x,handleSpaceOnListOption:B,handleUpOnListOption:U,highlightedOption:A,inputElement:$,isOpen:S,isDisabled:T,isReadonly:O,listElement:j,listItemElements:w,listItemTabIndex:_,searchTerm:L,selectedOption:I,totalFilteredOptions:K}=pr(e.toRef(r,"id"),e.toRef(r,"modelValue"),e.toRef(r,"options"),e.toRef(r,"disabled"),e.toRef(r,"readonly"),o),Z=e.computed(()=>{const z=[d.value];return n.hint&&z.push(u.value),r.error&&n["error-message"]&&z.push(c.value),z.join(" ")}),J=e.computed(()=>{var z;return[{"usa-combo-box--pristine":I.value!==""},...((z=r.customClasses)==null?void 0:z.component)||[]]});return(z,G)=>{var Q;return e.openBlock(),e.createBlock(e.unref(Ce),{group:!!z.$slots.hint||t.error&&!!z.$slots["error-message"],error:t.error,class:e.normalizeClass((Q=r.customClasses)==null?void 0:Q.formGroup)},{default:e.withCtx(()=>{var ae,P,H;return[t.label||z.$slots.label?(e.openBlock(),e.createBlock(e.unref($e),{key:0,id:e.unref(f),for:e.unref(p),required:t.required,error:t.error,class:e.normalizeClass((ae=t.customClasses)==null?void 0:ae.label)},{default:e.withCtx(()=>[e.renderSlot(z.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])]),_:3},8,["id","for","required","error","class"])):e.createCommentVNode("",!0),z.$slots.hint?(e.openBlock(),e.createElementBlock("span",{key:1,id:e.unref(u),class:"usa-hint"},[e.renderSlot(z.$slots,"hint")],8,hr)):e.createCommentVNode("",!0),t.error&&z.$slots["error-message"]?(e.openBlock(),e.createElementBlock("span",{key:2,id:e.unref(c),class:"usa-error-message"},[e.renderSlot(z.$slots,"error-message")],8,br)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"componentElement",ref:i,class:e.normalizeClass(["usa-combo-box",J.value]),"data-enhanced":"true"},[e.withDirectives(e.createElementVNode("input",e.mergeProps(z.$attrs,{id:e.unref(p),ref_key:"inputElement",ref:$,"onUpdate:modelValue":G[0]||(G[0]=Y=>e.isRef(L)?L.value=Y:null),required:t.required,disabled:e.unref(T),readonly:e.unref(O),"aria-owns":e.unref(m),"aria-controls":e.unref(m),"aria-describedby":Z.value,"aria-expanded":e.unref(S),"aria-activedescendant":e.unref(s),"aria-autocomplete":"list",autocapitalize:"off",autocomplete:"off",class:["usa-combo-box__input",(P=r.customClasses)==null?void 0:P.input],type:"text",role:"combobox",onClick:G[1]||(G[1]=(...Y)=>e.unref(b)&&e.unref(b)(...Y)),onInput:G[2]||(G[2]=(...Y)=>e.unref(D)&&e.unref(D)(...Y)),onKeydown:[G[3]||(G[3]=e.withKeys(e.withModifiers((...Y)=>e.unref(C)&&e.unref(C)(...Y),["prevent"]),["enter"])),G[4]||(G[4]=e.withKeys(e.withModifiers((...Y)=>e.unref(N)&&e.unref(N)(...Y),["prevent"]),["down"]))]}),null,16,yr),[[e.vModelText,e.unref(L)]]),e.createElementVNode("span",kr,[e.withDirectives(e.createElementVNode("button",{type:"button",class:"usa-combo-box__clear-input","aria-label":t.clearButtonAriaLabel,disabled:e.unref(T)||e.unref(O),onClick:G[5]||(G[5]=(...Y)=>e.unref(h)&&e.unref(h)(...Y))}," ",8,Sr),[[e.vShow,e.unref(l)]])]),G[9]||(G[9]=e.createElementVNode("span",{class:"usa-combo-box__input-button-separator"}," ",-1)),e.createElementVNode("span",Cr,[e.createElementVNode("button",{type:"button",tabindex:"-1",class:"usa-combo-box__toggle-list","aria-label":t.toggleButtonAriaLabel,disabled:e.unref(T)||e.unref(O),onClick:G[6]||(G[6]=(...Y)=>e.unref(x)&&e.unref(x)(...Y))}," ",8,$r)]),e.createElementVNode("ul",{id:e.unref(m),ref_key:"listElement",ref:j,tabindex:"-1",class:e.normalizeClass(["usa-combo-box__list",(H=r.customClasses)==null?void 0:H.list]),role:"listbox","aria-labelledby":e.unref(f),hidden:!e.unref(S)},[e.unref(g).length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(g),(Y,v)=>(e.openBlock(),e.createElementBlock("li",{id:e.unref(y)(v),ref_for:!0,ref_key:"listItemElements",ref:w,key:Y.value,"aria-setsize":e.unref(K),"aria-posinset":v+1,"aria-selected":e.unref(I)===Y.value,class:e.normalizeClass(["usa-combo-box__list-option",[{"usa-combo-box__list-option--selected":e.unref(I)===Y.value,"usa-combo-box__list-option--focused":e.unref(A)===Y.value}]]),tabindex:e.unref(_)(Y.value),role:"option","data-value":Y.value,onClick:q=>e.unref(k)(Y.value),onKeydown:[e.withKeys(e.withModifiers(q=>e.unref(U)(v),["prevent"]),["up"]),e.withKeys(e.withModifiers(q=>e.unref(V)(v),["prevent"]),["down"]),e.withKeys(e.withModifiers(q=>e.unref(E)(Y.value),["prevent"]),["enter"]),e.withKeys(e.withModifiers(q=>e.unref(B)(Y.value),["prevent"]),["space"])],onMouseover:q=>e.unref(M)(Y.value)},e.toDisplayString(Y.label),43,wr))),128)):(e.openBlock(),e.createElementBlock("li",Nr,[e.renderSlot(z.$slots,"no-results",{},()=>[G[7]||(G[7]=e.createTextVNode("No results found"))])]))],10,Br),e.createElementVNode("div",Er,[e.unref(S)?e.renderSlot(z.$slots,"status",{key:0,filteredOptions:e.unref(g)},()=>[e.unref(g).length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(g).length)+" "+e.toDisplayString(e.unref(g).length>1?"results":"result")+" available.",1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode("No results.")],64))]):e.createCommentVNode("",!0)]),e.createElementVNode("span",{id:e.unref(d),class:"usa-sr-only"},[e.renderSlot(z.$slots,"assistive-hint",{},()=>[G[8]||(G[8]=e.createTextVNode("When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures."))])],8,xr)],2)]}),_:3},8,["group","error","class"])}}}),_r=["id"],Vr=["id"],Dr=["id","type","required","maxlength","aria-