cob-uswds
Version:
Customized USWDS UI components and visual style guide based on City of Boston Patterns Library
69 lines • 83.5 kB
JavaScript
!function s(a,i,n){function o(t,e){if(!i[t]){if(!a[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(l)return l(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}r=i[t]={exports:{}},a[t][0].call(r.exports,function(e){return o(a[t][1][e]||e)},r,r.exports,s,a,i,n)}return i[t].exports}for(var l="function"==typeof require&&require,e=0;e<n.length;e++)o(n[e]);return o}({1:[function(e,t,r){var s;"function"!=typeof(s=window.Element.prototype).matches&&(s.matches=s.msMatchesSelector||s.mozMatchesSelector||s.webkitMatchesSelector||function(e){for(var t=this,r=(t.document||t.ownerDocument).querySelectorAll(e),s=0;r[s]&&r[s]!==t;)++s;return Boolean(r[s])}),"function"!=typeof s.closest&&(s.closest=function(e){for(var t=this;t&&1===t.nodeType;){if(t.matches(e))return t;t=t.parentNode}return null})},{}],2:[function(e,t,r){for(var s={polyfill:function(){if(!("KeyboardEvent"in window)||"key"in KeyboardEvent.prototype)return!1;var e={get:function(e){var t=s.keys[this.which||this.keyCode];return t=Array.isArray(t)?t[+this.shiftKey]:t}};return Object.defineProperty(KeyboardEvent.prototype,"key",e),e},keys:{3:"Cancel",6:"Help",8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",28:"Convert",29:"NonConvert",30:"Accept",31:"ModeChange",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",41:"Select",42:"Print",43:"Execute",44:"PrintScreen",45:"Insert",46:"Delete",48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],91:"OS",93:"ContextMenu",144:"NumLock",145:"ScrollLock",181:"VolumeMute",182:"VolumeDown",183:"VolumeUp",186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"'],224:"Meta",225:"AltGraph",246:"Attn",247:"CrSel",248:"ExSel",249:"EraseEof",250:"Play",251:"ZoomOut"}},a=1;a<25;a++)s.keys[111+a]="F"+a;var i="";for(a=65;a<91;a++)i=String.fromCharCode(a),s.keys[a]=[i.toLowerCase(),i.toUpperCase()];"function"==typeof define&&define.amd?define("keyboardevent-key-polyfill",s):void 0!==r&&void 0!==t?t.exports=s:window&&(window.keyboardeventKeyPolyfill=s)},{}],3:[function(e,t,r){var l=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;t.exports=(()=>{try{if(Object.assign){var e=new String("abc");if(e[5]="de","5"!==Object.getOwnPropertyNames(e)[0]){for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var s,a=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"===a.join(""))return s={},"abcdefghijklmnopqrst".split("").forEach(function(e){s[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},s)).join("")?1:void 0}}}catch(e){}})()?Object.assign:function(e,t){for(var r,s=(e=>{if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)})(e),a=1;a<arguments.length;a++){for(var i in r=Object(arguments[a]))c.call(r,i)&&(s[i]=r[i]);if(l)for(var n=l(r),o=0;o<n.length;o++)u.call(r,n[o])&&(s[n[o]]=r[n[o]])}return s}},{}],4:[function(e,t,r){let l=e("object-assign"),c=e("../delegate"),u=e("../delegateAll"),d=/^(.+):delegate\((.+)\)$/;function p(e,t){var r=e[t];return delete e[t],r}t.exports=function(o,e){let r=Object.keys(o).reduce(function(e,t){r=o[t=t],(n=t.match(d))&&(t=n[1],s=n[2]),"object"==typeof r&&(a={capture:p(r,"capture"),passive:p(r,"passive")}),i={selector:s,delegate:"object"==typeof r?u(r):s?c(s,r):r,options:a};var r,s,a,i,n=-1<t.indexOf(" ")?t.split(" ").map(function(e){return l({type:e},i)}):(i.type=t,[i]);return e.concat(n)},[]);return l({add:function(t){r.forEach(function(e){t.addEventListener(e.type,e.delegate,e.options)})},remove:function(t){r.forEach(function(e){t.removeEventListener(e.type,e.delegate,e.options)})}},e)}},{"../delegate":6,"../delegateAll":7,"object-assign":3}],5:[function(e,t,r){t.exports=function(e){return function(t){return e.some(function(e){return!1===e.call(this,t)},this)}}},{}],6:[function(e,t,r){e("element-closest"),t.exports=function(r,s){return function(e){var t=e.target.closest(r);if(t)return s.call(t,e)}}},{"element-closest":1}],7:[function(e,t,r){let s=e("../delegate"),a=e("../compose");t.exports=function(r){var e=Object.keys(r);return 1===e.length&&"*"===e[0]?r["*"]:(e=e.reduce(function(e,t){return e.push(s(t,r[t])),e},[]),a(e))}},{"../compose":5,"../delegate":6}],8:[function(e,t,r){t.exports=function(t,r){return function(e){if(t!==e.target&&!t.contains(e.target))return r.call(this,e)}}},{}],9:[function(e,t,r){t.exports={behavior:e("./behavior"),delegate:e("./delegate"),delegateAll:e("./delegateAll"),ignore:e("./ignore"),keymap:e("./keymap")}},{"./behavior":4,"./delegate":6,"./delegateAll":7,"./ignore":8,"./keymap":10}],10:[function(e,t,r){e("keyboardevent-key-polyfill");let i={Alt:"altKey",Control:"ctrlKey",Ctrl:"ctrlKey",Shift:"shiftKey"};t.exports=function(a){let e=Object.keys(a).some(function(e){return-1<e.indexOf("+")});return function(r){var s=((e,t)=>{var r=e.key;if(t)for(var s in i)!0===e[i[s]]&&(r=[s,r].join("+"));return r})(r,e);return[s,s.toLowerCase()].reduce(function(e,t){return e=t in a?a[s].call(this,r):e},void 0)}},t.exports.MODIFIERS=i},{"keyboardevent-key-polyfill":2}],11:[function(e,t,r){t.exports=function(t,r){function s(e){return e.currentTarget.removeEventListener(e.type,s,r),t.call(this,e)}return s}},{}],12:[function(e,t,r){var s=e("../../uswds-core/src/js/utils/behavior");let a=e("../../uswds-core/src/js/utils/toggle-form-input");var i=e("../../uswds-core/src/js/events").CLICK,e=e("../../uswds-core/src/js/config").prefix;t.exports=s({[i]:{[`.${e}-show-password`]:function(e){e.preventDefault(),a(this)}}})},{"../../uswds-core/src/js/config":37,"../../uswds-core/src/js/events":38,"../../uswds-core/src/js/utils/behavior":42,"../../uswds-core/src/js/utils/toggle-form-input":52}],13:[function(e,t,r){var s=e("../../uswds-core/src/js/utils/behavior");let a=e("../../uswds-core/src/js/utils/select");var i=e("../../uswds-core/src/js/events").CLICK;let n=e("../../uswds-core/src/js/utils/toggle");let o=".cob-site-banner__header",l=".cob-site-banner__button[aria-controls]";t.exports=s({[i]:{".cob-site-banner__header":function(e){var t;e.target.closest("a:not(.cob-site-banner__button)")||e.target.closest("button:not(.cob-site-banner__button)")||e.target.closest(".cob-site-banner__content")||(e.preventDefault(),(t=(e=this.closest(o)||this).querySelector(l))&&(n(t),e.classList.toggle("cob-site-banner__header--expanded")))}}},{init(e){a(l,e).forEach(e=>{var t="true"===e.getAttribute("aria-expanded");n(e,t)})}})},{"../../uswds-core/src/js/events":38,"../../uswds-core/src/js/utils/behavior":42,"../../uswds-core/src/js/utils/select":50,"../../uswds-core/src/js/utils/toggle":53}],14:[function(e,t,r){var s=e("../../uswds-core/src/js/utils/behavior");let a=e("../../uswds-core/src/js/utils/select");e=s({init(e){a(".cob-slim-footer",e)},teardown(e){}});t.exports=e},{"../../uswds-core/src/js/utils/behavior":42,"../../uswds-core/src/js/utils/select":50}],15:[function(e,t,r){var s=e("../../uswds-core/src/js/utils/behavior");let a=e("../../uswds-core/src/js/utils/select");var{}=e("../../uswds-core/src/js/events"),{}=e("../../uswds-core/src/js/config");e=s({init(e){a(".cob-slim-header",e)},teardown(e){}});t.exports=e},{"../../uswds-core/src/js/config":37,"../../uswds-core/src/js/events":38,"../../uswds-core/src/js/utils/behavior":42,"../../uswds-core/src/js/utils/select":50}],16:[function(e,t,r){let s=e("../../uswds-core/src/js/utils/select");var a=e("../../uswds-core/src/js/utils/behavior");let i=e("../../uswds-core/src/js/utils/toggle"),n=e("../../uswds-core/src/js/utils/is-in-viewport");var o=e("../../uswds-core/src/js/events").CLICK,e=e("../../uswds-core/src/js/config").prefix;let l=`.${e}-accordion, .${e}-accordion--bordered`,c=`.${e}-accordion__button[aria-controls]:not(${`.${e}-banner__button`})`,u="aria-expanded",d=t=>s(c,t).filter(e=>e.closest(l)===t),p=(t,e)=>{var r=t.closest(l);if(!r)throw new Error(c+" is missing outer "+l);var e=i(t,e),s=r.hasAttribute("data-allow-multiple");e&&!s&&d(r).forEach(e=>{e!==t&&i(e,!1)})};e=a({[o]:{[c](){p(this),"true"!==this.getAttribute(u)||n(this)||this.scrollIntoView()}}},{init(e){s(c,e).forEach(e=>{var t="true"===e.getAttribute(u);p(e,t)})},ACCORDION:l,BUTTON:c,show:e=>p(e,!0),hide:e=>p(e,!1),toggle:p,getButtons:d});t.exports=e},{"../../uswds-core/src/js/config":37,"../../uswds-core/src/js/events":38,"../../uswds-core/src/js/utils/behavior":42,"../../uswds-core/src/js/utils/is-in-viewport":45,"../../uswds-core/src/js/utils/select":50,"../../uswds-core/src/js/utils/toggle":53}],17:[function(e,t,r){var s=e("../../uswds-core/src/js/utils/behavior");let a=e("../../uswds-core/src/js/utils/select");var i=e("../../uswds-core/src/js/events").CLICK,n=e("../../uswds-core/src/js/config").prefix;let o=e("../../uswds-core/src/js/utils/toggle"),l=`.${n}-banner__header`,c=n+"-banner__header--expanded",u=l+" [aria-controls]";t.exports=s({[i]:{[u]:function(e){e.preventDefault();e=e.target.closest(u);o(e),this.closest(l).classList.toggle(c)}}},{init(e){a(u,e).forEach(e=>{var t="true"===e.getAttribute(c);o(e,t)})}})},{"../../uswds-core/src/js/config":37,"../../uswds-core/src/js/events":38,"../../uswds-core/src/js/utils/behavior":42,"../../uswds-core/src/js/utils/select":50,"../../uswds-core/src/js/utils/toggle":53}],18:[function(e,t,r){var s=e("receptor/keymap"),e=e("../../uswds-core/src/js/utils/behavior")({keydown:{'a[class*="usa-button"]':s({" ":e=>{e.preventDefault(),e.target.click()}})}});t.exports=e},{"../../uswds-core/src/js/utils/behavior":42,"receptor/keymap":10}],19:[function(e,t,r){let s=e("../../uswds-core/src/js/utils/select");var a=e("../../uswds-core/src/js/utils/behavior"),i=e("../../uswds-core/src/js/utils/debounce"),e=e("../../uswds-core/src/js/config").prefix,n=e+"-character-count";let o="."+n;var l=e+"-form-group";let c=l+"--error",u="."+l,d=e+"-label"+"--error",p=`.${e}-character-count__field`,b=e+"-input--error",f=`.${e}-character-count__message`,h="The content is too long.",m=e+"-character-count__status--invalid",v=n+"__status",g=n+"__sr-status",w="."+v,y="."+g,E="characters allowed",A=e=>{var t=e.closest(o);if(!t)throw new Error(p+" is missing outer "+o);var r=t.querySelector(u),e=e.getAttribute("id"),s=document.querySelector(`label[for=${e}]`),a=t.querySelector(f);if(a)return{characterCountEl:t,formGroupEl:r,inputID:e,labelEl:s,messageEl:a};throw new Error(o+" is missing inner "+f)},x=e=>{var t=document.createElement("div"),r=document.createElement("div"),s=e.dataset.maxlength+" "+E;t.classList.add(""+v,"usa-hint"),r.classList.add(""+g,"usa-sr-only"),t.setAttribute("aria-hidden",!0),r.setAttribute("aria-live","polite"),t.textContent=s,r.textContent=s,e.append(t,r)},j=(e,t)=>{let r="";var s;return r=0===e?t+" "+E:(s=Math.abs(t-e))+` ${"character"+(1===s?"":"s")} `+(t<e?"over limit":"left")},L=i((e,t)=>{e.textContent=t},1e3),_=e=>{var{characterCountEl:t,labelEl:r,formGroupEl:s}=A(e),a=e.value.length,i=parseInt(t.getAttribute("data-maxlength"),10),n=t.querySelector(w),t=t.querySelector(y),o=j(a,i);i&&(i=a&&i<a,n.textContent=o,L(t,o),i&&!e.validationMessage&&e.setCustomValidity(h),i||e.validationMessage!==h||e.setCustomValidity(""),s&&s.classList.toggle(c,i),r&&r.classList.toggle(d,i),e.classList.toggle(b,i),n.classList.toggle(m,i))},S=e=>{var t,{characterCountEl:r,messageEl:s}=A(e);s.classList.add("usa-sr-only"),s.removeAttribute("aria-live"),s=e,e=A(s).characterCountEl,(t=s.getAttribute("maxlength"))&&(s.removeAttribute("maxlength"),e.setAttribute("data-maxlength",t)),x(r)};l=a({input:{[p](){_(this)}}},{init(e){s(p,e).forEach(e=>S(e))},FORM_GROUP_ERROR_CLASS:c,LABEL_ERROR_CLASS:d,INPUT_ERROR_CLASS:b,MESSAGE_INVALID_CLASS:m,VALIDATION_MESSAGE:h,STATUS_MESSAGE_CLASS:v,STATUS_MESSAGE_SR_ONLY_CLASS:g,DEFAULT_STATUS_LABEL:E,createStatusMessages:x,getCountMessage:j,updateCountMessage:_});t.exports=l},{"../../uswds-core/src/js/config":37,"../../uswds-core/src/js/utils/behavior":42,"../../uswds-core/src/js/utils/debounce":43,"../../uswds-core/src/js/utils/select":50}],20:[function(e,t,N){var r=e("receptor/keymap");let s=e("../../uswds-core/src/js/utils/select-or-matches");var a=e("../../uswds-core/src/js/utils/behavior");let p=e("../../uswds-core/src/js/utils/sanitizer");var i=e("../../uswds-core/src/js/config").prefix,e=e("../../uswds-core/src/js/events").CLICK,i=i+"-combo-box";let b=i+"--pristine",f=i+"__select",h=i+"__input",m=i+"__clear-input",O=m+"__wrapper",B=i+"__input-button-separator",v=i+"__toggle-list",H=v+"__wrapper",g=i+"__list",y=i+"__list-option",E=y+"--focused",A=y+"--selected",w=i+"__status",x="."+i,P="."+f,u="."+h,d="."+m,j="."+v,R="."+g,n="."+y,L="."+E,F="."+A,Y="."+w,U=".*{{query}}.*";let _=(e,t="")=>{e.value=t,t=new CustomEvent("change",{bubbles:!0,cancelable:!0,detail:{value:t}});e.dispatchEvent(t)},S=e=>{var t,r,s,a,i,n,o,l,c,e=e.closest(x);if(e)return t=e.querySelector(P),r=e.querySelector(u),s=e.querySelector(R),a=e.querySelector(Y),i=e.querySelector(L),n=e.querySelector(F),o=e.querySelector(j),l=e.querySelector(d),c=e.classList.contains(b),{comboBoxEl:e,selectEl:t,inputEl:r,listEl:s,statusEl:a,focusedOptionEl:i,selectedOptionEl:n,toggleListBtnEl:o,clearInputBtnEl:l,isPristine:c,disableFiltering:"true"===e.dataset.disableFiltering};throw new Error("Element is missing outer "+x)},D=e=>{var{inputEl:e,toggleListBtnEl:t,clearInputBtnEl:r}=S(e);r.hidden=!0,t.disabled=r.disabled=!0,e.disabled=!0};let o=e=>{e=e.closest(x);if(!e.dataset.enhanced){let r=e.querySelector("select");if(!r)throw new Error(x+" is missing inner select");var t=r.id,n=document.querySelector(`label[for="${t}"]`),o=t+"--list",l=t+"-label";let s=[];var c=e.dataset.defaultValue,u=e.dataset.placeholder;let a;if(u&&s.push({placeholder:u}),c)for(let e=0,t=r.options.length;e<t;e+=1){var d=r.options[e];if(d.value===c){a=d;break}}if(!n||!n.matches(`label[for="${t}"]`))throw new Error(x+` for ${t} is either missing a label or a "for" attribute`);n.setAttribute("id",l),n.setAttribute("id",l),r.setAttribute("aria-hidden","true"),r.setAttribute("tabindex","-1"),r.classList.add("usa-sr-only",f),r.id="",r.value="",["required","aria-label","aria-labelledby"].forEach(e=>{var t;r.hasAttribute(e)&&(t=r.getAttribute(e),s.push({[e]:t}),r.removeAttribute(e))});let i=document.createElement("input");i.setAttribute("id",t),i.setAttribute("aria-owns",o),i.setAttribute("aria-controls",o),i.setAttribute("aria-autocomplete","list"),i.setAttribute("aria-expanded","false"),i.setAttribute("autocapitalize","off"),i.setAttribute("autocomplete","off"),i.setAttribute("class",h),i.setAttribute("type","text"),i.setAttribute("role","combobox"),s.forEach(r=>Object.keys(r).forEach(e=>{var t=p.escapeHTML`${r[e]}`;i.setAttribute(e,t)})),e.insertAdjacentElement("beforeend",i),e.insertAdjacentHTML("beforeend",p.escapeHTML`
<span class="${O}" tabindex="-1">
<button type="button" class="${m}" aria-label="Clear the select contents"> </button>
</span>
<span class="${B}"> </span>
<span class="${H}" tabindex="-1">
<button type="button" tabindex="-1" class="${v}" aria-label="Toggle the dropdown list"> </button>
</span>
<ul
tabindex="-1"
id="${o}"
class="${g}"
role="listbox"
aria-labelledby="${l}"
hidden>
</ul>
<div class="${w} usa-sr-only" role="status"></div>`),a&&(u=S(e).inputEl,_(r,a.value),_(u,a.text),e.classList.add(b)),r.disabled&&(D(e),r.disabled=!1),r.hasAttribute("aria-disabled")&&((e=>{var{inputEl:e,toggleListBtnEl:t,clearInputBtnEl:r}=S(e);r.hidden=!0,r.setAttribute("aria-disabled",!0),t.setAttribute("aria-disabled",!0),e.setAttribute("aria-disabled",!0)})(e),r.removeAttribute("aria-disabled")),e.dataset.enhanced="true"}},C=(e,t,{skipFocus:r,preventScroll:s}={})=>{var{inputEl:e,listEl:a,focusedOptionEl:i}=S(e);i&&(i.classList.remove(E),i.setAttribute("tabIndex","-1")),t?(e.setAttribute("aria-activedescendant",t.id),t.setAttribute("tabIndex","0"),t.classList.add(E),s||(i=t.offsetTop+t.offsetHeight,a.scrollTop+a.offsetHeight<i&&(a.scrollTop=i-a.offsetHeight),t.offsetTop<a.scrollTop&&(a.scrollTop=t.offsetTop)),r||t.focus({preventScroll:s})):(e.setAttribute("aria-activedescendant",""),e.focus())},$=(e,s="",a={})=>{let i=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");e=`^(?:${e.replace(/{{(.*?)}}/g,(e,t)=>{var t=t.trim(),r=a[t];return"query"!==t&&r?(t=new RegExp(r,"i"),(r=s.match(t))?i(r[1]):""):i(s)})})$`;return new RegExp(e,"i")},l=e=>{let{comboBoxEl:t,selectEl:s,inputEl:r,listEl:a,statusEl:i,isPristine:n,disableFiltering:o}=S(e),l,c,u=a.id+"--option-",d=(r.value||"").toLowerCase();e=t.dataset.filter||U;let p=$(e,d,t.dataset),b=[],f=[],h=[];e=[...s.options];let m=e=>p.test(e.text);e.forEach(e=>{var t,r;(r=e).value&&(o||n||!d||m(r))&&(r=e,o||n?b.push(r):((r.text.toLowerCase().startsWith(d)?f:h).push(r),b=[...f,...h]),r=u+b.indexOf(e),t=e,o&&!c&&m(t)&&(c=r),t=e,s.value)&&t.value===s.value&&(l=r)});var e=b.length,v=b.map((e,t)=>{var r=u+t,s=[y];let a="-1",i="false";r===l&&(s.push(A,E),a="0",i="true"),l||0!==t||(s.push(E),a="0");var n=document.createElement("li");return n.setAttribute("aria-setsize",b.length),n.setAttribute("aria-posinset",t+1),n.setAttribute("aria-selected",i),n.setAttribute("id",r),n.setAttribute("class",s.join(" ")),n.setAttribute("tabindex",a),n.setAttribute("role","option"),n.setAttribute("data-value",e.value),n.textContent=e.text,n}),g=document.createElement("li");g.setAttribute("class",y+"--no-results"),g.textContent="No results found",a.hidden=!1,e?(a.innerHTML="",v.forEach(e=>a.insertAdjacentElement("beforeend",e))):(a.innerHTML="",a.insertAdjacentElement("beforeend",g)),r.setAttribute("aria-expanded","true"),i.textContent=e?e+` result${1<e?"s":""} available.`:"No results.";let w;n&&l?w=a.querySelector("#"+l):o&&c&&(w=a.querySelector("#"+c)),w&&C(a,w,{skipFocus:!0})},c=e=>{var{inputEl:e,listEl:t,statusEl:r,focusedOptionEl:s}=S(e);r.innerHTML="",e.setAttribute("aria-expanded","false"),e.setAttribute("aria-activedescendant",""),s&&s.classList.remove(E),t.scrollTop=0,t.hidden=!0},k=e=>{var{comboBoxEl:t,selectEl:r,inputEl:s}=S(e);_(r,e.dataset.value),_(s,e.textContent),t.classList.add(b),c(t),s.focus()},T=e=>{var{comboBoxEl:r,selectEl:s,inputEl:a}=S(e),i=s.value,n=(a.value||"").toLowerCase();if(i)for(let e=0,t=s.options.length;e<t;e+=1){var o=s.options[e];if(o.value===i)return n!==o.text&&_(a,o.text),void r.classList.add(b)}n&&_(a)};var M=e=>{var{comboBoxEl:t,listEl:r}=S(e.target),r=(r.hidden&&l(t),r.querySelector(L)||r.querySelector(n));r&&C(t,r),e.preventDefault()},q=e=>{var t=e.target,r=t.nextSibling;r&&C(t,r),e.preventDefault()},I=e=>{var{comboBoxEl:t,listEl:r,focusedOptionEl:s}=S(e.target),s=s&&s.previousSibling,r=!r.hidden;C(t,s),r&&e.preventDefault(),s||c(t)};a=a({[e]:{[u](){this.disabled||(e=>{var{comboBoxEl:e,listEl:t}=S(e);t.hidden&&l(e)})(this)},[j](){this.disabled||(e=>{var{comboBoxEl:e,listEl:t,inputEl:r}=S(e);(t.hidden?l:c)(e),r.focus()})(this)},[n](){this.disabled||k(this)},[d](){this.disabled||(e=>{var{comboBoxEl:e,listEl:t,selectEl:r,inputEl:s}=S(e),t=!t.hidden;r.value&&_(r),s.value&&_(s),e.classList.remove(b),t&&l(e),s.focus()})(this)}},focusout:{[x](e){this.contains(e.relatedTarget)||(T(this),c(this))}},keydown:{[x]:r({Escape:e=>{var{comboBoxEl:e,inputEl:t}=S(e.target);c(e),T(e),t.focus()}}),[u]:r({Enter:e=>{var{comboBoxEl:t,listEl:r}=S(e.target),r=!r.hidden;(e=>{var{comboBoxEl:r,selectEl:s,inputEl:a,statusEl:e}=S(e),i=(e.textContent="",(a.value||"").toLowerCase());if(i)for(let e=0,t=s.options.length;e<t;e+=1){var n=s.options[e];if(n.text.toLowerCase()===i)return _(s,n.value),_(a,n.text),r.classList.add(b)}T(r)})(t),r&&c(t),e.preventDefault()},ArrowDown:M,Down:M}),[n]:r({ArrowUp:I,Up:I,ArrowDown:q,Down:q,Enter:e=>{k(e.target),e.preventDefault()}," ":e=>{k(e.target),e.preventDefault()},"Shift+Tab":()=>{}})},input:{[u](){this.closest(x).classList.remove(b),l(this)}},mouseover:{[n](){var e;(e=this).classList.contains(E)||C(e,e,{preventScroll:!0})}}},{init(e){s(x,e).forEach(e=>{o(e)})},getComboBoxContext:S,enhanceComboBox:o,generateDynamicRegExp:$,disable:D,enable:e=>{var{inputEl:e,toggleListBtnEl:t,clearInputBtnEl:r}=S(e);r.hidden=!1,t.disabled=r.disabled=!1,e.disabled=!1},displayList:l,hideList:c,COMBO_BOX_CLASS:i});t.exports=a},{"../../uswds-core/src/js/config":37,"../../uswds-core/src/js/events":38,"../../uswds-core/src/js/utils/behavior":42,"../../uswds-core/src/js/utils/sanitizer":47,"../../uswds-core/src/js/utils/select-or-matches":49,"receptor/keymap":10}],21:[function(e,v,A){let t=e("receptor/keymap");var _=e("../../uswds-core/src/js/utils/behavior");let S=e("../../uswds-core/src/js/utils/select"),D=e("../../uswds-core/src/js/utils/select-or-matches");var r=e("../../uswds-core/src/js/config").prefix,C=e("../../uswds-core/src/js/events").CLICK;let F=e("../../uswds-core/src/js/utils/active-element");var Y=e("../../uswds-core/src/js/utils/is-ios-device");let $=e("../../uswds-core/src/js/utils/sanitizer");e=r+"-date-picker";let U=e+"__wrapper",W=e+"--initialized",K=e+"--active",V=e+"__internal-input",z=e+"__external-input",Q=e+"__button",i=e+"__calendar",G=e+"__status",k=i+"__date",Z=k+"--focused",X=k+"--selected",J=k+"--previous-month",ee=k+"--current-month",te=k+"--next-month",re=k+"--range-date",se=k+"--today",ae=k+"--range-date-start",ie=k+"--range-date-end",ne=k+"--within-range",oe=i+"__previous-year",le=i+"__previous-month",ce=i+"__next-year",ue=i+"__next-month",de=i+"__month-selection",pe=i+"__year-selection",p=i+"__month",be=p+"--focused",fe=p+"--selected",x=i+"__year",he=x+"--focused",me=x+"--selected",ve=i+"__previous-year-chunk",ge=i+"__next-year-chunk",we=i+"__date-picker",ye=i+"__month-picker",Ee=i+"__year-picker",T=i+"__table",Ae=i+"__row",M=i+"__cell",q=M+"--center-items",xe=i+"__month-label",je=i+"__day-of-week",g="."+e,Le="."+Q,_e="."+V,w="."+z,Se="."+i,De="."+G;r="."+k;let o="."+Z;e="."+ee;let Ce="."+oe,$e="."+le,ke="."+ce,Te="."+ue;var Me="."+pe,qe="."+de,Ie="."+p;let Ne="."+x,Oe="."+ve,Be="."+ge,I="."+we;var He="."+ye;let Pe="."+Ee,Re="."+be,l="."+he,Fe="Please enter a valid date",Ye=Array.from({length:12}).map((e,t)=>new Date(0,t)),Ue=Array.from({length:7}).map((e,t)=>new Date(0,0,t)),We=new Map,j=12,y="MM/DD/YYYY",Ke="YYYY-MM-DD";var s=(...e)=>e.map(e=>e+":not([disabled])").join(", "),a=s(Ce,$e,Me,qe,ke,Te,o),Ve=s(Re),s=s(Oe,Be,l);let ze=(e,t)=>(t!==e.getMonth()&&e.setDate(0),e),d=(e,t,r)=>{var s=new Date(0);return s.setFullYear(e,t,r),s},Qe=()=>{var e=new Date,t=e.getDate(),r=e.getMonth(),e=e.getFullYear();return d(e,r,t)},Ge=e=>{var t=new Date(0);return t.setFullYear(e.getFullYear(),e.getMonth(),1),t},Ze=e=>{var t=new Date(0);return t.setFullYear(e.getFullYear(),e.getMonth()+1,0),t},N=(e,t)=>{e=new Date(e.getTime());return e.setDate(e.getDate()+t),e},Xe=(e,t)=>N(e,-t),Je=(e,t)=>N(e,7*t),et=e=>{var t=e.getDay();return Xe(e,t)},O=(e,t)=>{var e=new Date(e.getTime()),r=(e.getMonth()+12+t)%12;return e.setMonth(e.getMonth()+t),ze(e,r),e},tt=(e,t)=>O(e,-t),rt=(e,t)=>O(e,12*t),st=(e,t)=>rt(e,-t),b=(e,t)=>{e=new Date(e.getTime());return e.setMonth(t),ze(e,t),e},L=(e,t)=>{var e=new Date(e.getTime()),r=e.getMonth();return e.setFullYear(t),ze(e,r),e},at=(e,t)=>{let r=t<e?t:e;return new Date(r.getTime())},it=(e,t)=>{let r=e<t?t:e;return new Date(r.getTime())},nt=(e,t)=>e&&t&&e.getFullYear()===t.getFullYear(),B=(e,t)=>nt(e,t)&&e.getMonth()===t.getMonth(),H=(e,t)=>B(e,t)&&e.getDate()===t.getDate(),c=(e,t,r)=>{let s=e;return e<t?s=t:r&&r<e&&(s=r),new Date(s.getTime())},ot=(e,t,r)=>t<=e&&(!r||e<=r),lt=(e,t,r)=>Ze(e)<t||r&&Ge(e)>r,ct=(e,t,r)=>Ze(b(e,11))<t||r&&Ge(b(e,0))>r,ut=(e,t)=>{var r=t&&at(e,t),e=t&&it(e,t);return{rangeStartDate:r,rangeEndDate:e,withinRangeStartDate:t&&N(r,1),withinRangeEndDate:t&&Xe(e,1)}},E=(s,a=Ke,i=!1)=>{let n,o,l,c,u;if(s){let e,t,r;a===y?[e,t,r]=s.split("/"):[r,e,t]=s.split("-"),r&&(u=parseInt(r,10),Number.isNaN(u)||(c=u,i&&(c=Math.max(0,c),r.length<3)&&(s=(a=Qe().getFullYear())-a%10**r.length,c=s+u))),e&&(u=parseInt(e,10),Number.isNaN(u)||(o=u,i&&(o=Math.max(1,o),o=Math.min(12,o)))),o&&t&&null!=c&&(u=parseInt(t,10),Number.isNaN(u)||(l=u,i&&(a=d(c,o,0).getDate(),l=Math.max(1,l),l=Math.min(a,l)))),o&&l&&null!=c&&(n=d(c,o-1,l))}return n},P=(e,t=Ke)=>{var r=(e,t)=>("0000"+e).slice(-t),s=e.getMonth()+1,a=e.getDate(),e=e.getFullYear();return t===y?[r(s,2),r(a,2),r(e,4)].join("/"):[r(e,4),r(s,2),r(a,2)].join("-")},dt=(e,r)=>{var s=[],a=[];let i=0;for(;i<e.length;){a=[];let t=document.createElement("tr");for(;i<e.length&&a.length<r;){var n=document.createElement("td");n.insertAdjacentElement("beforeend",e[i]),a.push(n),i+=1}a.forEach(e=>{t.insertAdjacentElement("beforeend",e)}),s.push(t)}return s},pt=e=>{let t=document.createElement("tbody");return e.forEach(e=>{t.insertAdjacentElement("beforeend",e)}),t},bt=(e,t="")=>{e.value=t,t=new CustomEvent("change",{bubbles:!0,cancelable:!0,detail:{value:t}});e.dispatchEvent(t)},R=e=>{e=e.closest(g);if(!e)throw new Error("Element is missing outer "+g);var t=e.querySelector(_e),r=e.querySelector(w),s=e.querySelector(Se),a=e.querySelector(Le),i=e.querySelector(De),n=e.querySelector(Ne),o=E(r.value,y,!0),l=E(t.value),c=E(s.dataset.value),u=E(e.dataset.minDate),d=E(e.dataset.maxDate),p=E(e.dataset.rangeDate),b=E(e.dataset.defaultDate);if(u&&d&&d<u)throw new Error("Minimum date cannot be after maximum date");let f=document.documentElement.lang||"en";We.has(f)||We.set(f,{monthLabels:Ye.map(e=>e.toLocaleString(f,{month:"long"})),dayOfWeeklabels:Ue.map(e=>e.toLocaleString(f,{weekday:"long"})),dayOfWeeksAbv:Ue.map(e=>e.toLocaleString(f,{weekday:"narrow"}))});var{monthLabels:h,dayOfWeeklabels:m,dayOfWeeksAbv:v}=We.get(f);return{calendarDate:c,minDate:u,toggleBtnEl:a,selectedDate:l,maxDate:d,firstYearChunkEl:n,datePickerEl:e,inputDate:o,internalInputEl:t,externalInputEl:r,calendarEl:s,rangeDate:p,defaultDate:b,statusEl:i,monthLabels:h,dayOfWeeklabels:m,dayOfWeeksAbv:v}},ft=e=>{var{externalInputEl:e,toggleBtnEl:t}=R(e);t.disabled=!0,e.disabled=!0},ht=e=>{var{externalInputEl:e,toggleBtnEl:t}=R(e);t.setAttribute("aria-disabled",!0),e.setAttribute("aria-disabled",!0),e.setAttribute("readonly","")};let mt=e=>{var t,r,s,a,{externalInputEl:e,minDate:i,maxDate:n}=R(e),e=e.value;let o=!1;return o=e&&(o=!0,[t,r,s]=(e=e.split("/")).map(e=>{let t;e=parseInt(e,10);return t=Number.isNaN(e)?t:e}),t)&&r&&null!=s&&(a=d(s,t-1,r)).getMonth()===t-1&&a.getDate()===r&&a.getFullYear()===s&&4===e[2].length&&ot(a,i,n)?!1:o},vt=e=>{var e=R(e).externalInputEl,t=mt(e);t&&!e.validationMessage&&e.setCustomValidity(Fe),t||e.validationMessage!==Fe||e.setCustomValidity("")},gt=(e,t)=>{var r,s,a=E(t);a&&(a=P(a,y),{datePickerEl:e,internalInputEl:r,externalInputEl:s}=R(e),bt(r,t),bt(s,a),vt(e))},u=(e,t)=>{let{datePickerEl:r,calendarEl:s,statusEl:a,selectedDate:d,maxDate:p,minDate:b,rangeDate:f,monthLabels:h,dayOfWeeklabels:m,dayOfWeeksAbv:i}=R(e),v=Qe(),n=t||v;e=s.hidden;let g=N(n,0);var o=n.getMonth(),t=n.getFullYear();let w=tt(n,1),y=O(n,1);var l=P(n),c=Ge(n),u=B(n,b),E=B(n,p);let{rangeStartDate:A,rangeEndDate:x,withinRangeStartDate:j,withinRangeEndDate:L}=ut(d||n,f);for(var _=h[o],S=(n=et(c),[]);S.length<28||n.getMonth()===o||S.length%7!=0;)S.push((e=>{var t=[k],r=e.getDate(),s=e.getMonth(),a=e.getFullYear(),i=e.getDay(),n=P(e);let o="-1";var l=!ot(e,b,p),c=H(e,d),e=(B(e,w)&&t.push(J),B(e,g)&&t.push(ee),B(e,y)&&t.push(te),c&&t.push(X),H(e,v)&&t.push(se),f&&(H(e,f)&&t.push(re),H(e,A)&&t.push(ae),H(e,x)&&t.push(ie),ot(e,j,L))&&t.push(ne),H(e,g)&&(o="0",t.push(Z)),h[s]),i=m[i],u=document.createElement("button");return u.setAttribute("type","button"),u.setAttribute("tabindex",o),u.setAttribute("class",t.join(" ")),u.setAttribute("data-day",r),u.setAttribute("data-month",s+1),u.setAttribute("data-year",a),u.setAttribute("data-value",n),u.setAttribute("aria-label",$.escapeHTML`${r} ${e} ${a} ${i}`),u.setAttribute("aria-selected",c?"true":"false"),!0==l&&(u.disabled=!0),u.textContent=r,u})(n)),n=N(n,1);var c=dt(S,7),D=s.cloneNode(),l=(D.dataset.value=l,D.style.top=r.offsetHeight+"px",D.hidden=!1,D.innerHTML=$.escapeHTML`
<div tabindex="-1" class="${we}">
<div class="${Ae}">
<div class="${M} ${q}">
<button
type="button"
class="${oe}"
aria-label="Navigate back one year"
${u?'disabled="disabled"':""}
></button>
</div>
<div class="${M} ${q}">
<button
type="button"
class="${le}"
aria-label="Navigate back one month"
${u?'disabled="disabled"':""}
></button>
</div>
<div class="${M} ${xe}">
<button
type="button"
class="${de}" aria-label="${_}. Select month"
>${_}</button>
<button
type="button"
class="${pe}" aria-label="${t}. Select year"
>${t}</button>
</div>
<div class="${M} ${q}">
<button
type="button"
class="${ue}"
aria-label="Navigate forward one month"
${E?'disabled="disabled"':""}
></button>
</div>
<div class="${M} ${q}">
<button
type="button"
class="${ce}"
aria-label="Navigate forward one year"
${E?'disabled="disabled"':""}
></button>
</div>
</div>
</div>
`,document.createElement("table")),u=(l.setAttribute("class",T),document.createElement("thead"));l.insertAdjacentElement("beforeend",u);let C=document.createElement("tr");u.insertAdjacentElement("beforeend",C),m.forEach((e,t)=>{var r=document.createElement("th");r.setAttribute("class",je),r.setAttribute("scope","col"),r.setAttribute("aria-label",e),r.textContent=i[t],C.insertAdjacentElement("beforeend",r)});E=pt(c);l.insertAdjacentElement("beforeend",E);D.querySelector(I).insertAdjacentElement("beforeend",l),s.parentNode.replaceChild(D,s),r.classList.add(K);u=[];return H(d,g)&&u.push("Selected date"),e?(u.push("You can navigate by day using left and right arrows","Weeks by using up and down arrows","Months by using page up and page down keys","Years by using shift plus page up and shift plus page down","Home and end keys navigate to the beginning and end of a week"),a.textContent=""):u.push(_+" "+t),a.textContent=u.join(". "),D},wt=e=>{var{datePickerEl:e,calendarEl:t,statusEl:r}=R(e);e.classList.remove(K),t.hidden=!0,r.textContent=""},yt=e=>{var{calendarEl:e,inputDate:t,minDate:r,maxDate:s}=R(e);!e.hidden&&t&&(t=c(t,r,s),u(e,t))},Et=(e,t)=>{let{calendarEl:r,statusEl:s,calendarDate:o,minDate:l,maxDate:c,monthLabels:a}=R(e),u=o.getMonth(),d=null==t?u:t;var e=a.map((e,t)=>{var r=b(o,t),r=lt(r,l,c);let s="-1";var a=[p],i=t===u,n=(t===d&&(s="0",a.push(be)),i&&a.push(fe),document.createElement("button"));return n.setAttribute("type","button"),n.setAttribute("tabindex",s),n.setAttribute("class",a.join(" ")),n.setAttribute("data-value",t),n.setAttribute("data-label",e),n.setAttribute("aria-selected",i?"true":"false"),!0===r&&(n.disabled=!0),n.textContent=e,n}),t=document.createElement("div"),i=(t.setAttribute("tabindex","-1"),t.setAttribute("class",ye),document.createElement("table")),e=(i.setAttribute("class",T),i.setAttribute("role","presentation"),dt(e,3)),e=pt(e),e=(i.insertAdjacentElement("beforeend",e),t.insertAdjacentElement("beforeend",i),r.cloneNode());return e.insertAdjacentElement("beforeend",t),r.parentNode.replaceChild(e,r),s.textContent="Select a month.",e},At=(e,t)=>{var{calendarEl:e,statusEl:r,calendarDate:s,minDate:a,maxDate:i}=R(e),n=s.getFullYear(),o=null==t?n:t,t=o,l=(t-=t%j,t=Math.max(0,t),ct(L(s,t-1),a,i)),c=ct(L(s,t+j),a,i),u=[];let d=t;for(;u.length<j;){var p=ct(L(s,d),a,i);let e="-1";var b=[x],f=d===n,h=(d===o&&(e="0",b.push(he)),f&&b.push(me),document.createElement("button"));h.setAttribute("type","button"),h.setAttribute("tabindex",e),h.setAttribute("class",b.join(" ")),h.setAttribute("data-value",d),h.setAttribute("aria-selected",f?"true":"false"),!0===p&&(h.disabled=!0),h.textContent=d,u.push(h),d+=1}var m=e.cloneNode(),v=document.createElement("div"),g=(v.setAttribute("tabindex","-1"),v.setAttribute("class",Ee),document.createElement("table")),w=(g.setAttribute("class",T),document.createElement("tbody")),y=document.createElement("tr"),E=document.createElement("button"),l=(E.setAttribute("type","button"),E.setAttribute("class",ve),E.setAttribute("aria-label",`Navigate back ${j} years`),!0===l&&(E.disabled=!0),E.innerHTML=$.escapeHTML` `,document.createElement("button")),c=(l.setAttribute("type","button"),l.setAttribute("class",ge),l.setAttribute("aria-label",`Navigate forward ${j} years`),!0===c&&(l.disabled=!0),l.innerHTML=$.escapeHTML` `,document.createElement("table")),A=(c.setAttribute("class",T),c.setAttribute("role","presentation"),dt(u,3)),A=pt(A),A=(c.insertAdjacentElement("beforeend",A),document.createElement("td")),E=(A.insertAdjacentElement("beforeend",E),document.createElement("td")),c=(E.setAttribute("colspan","3"),E.insertAdjacentElement("beforeend",c),document.createElement("td"));return c.insertAdjacentElement("beforeend",l),y.insertAdjacentElement("beforeend",A),y.insertAdjacentElement("beforeend",E),y.insertAdjacentElement("beforeend",c),w.insertAdjacentElement("beforeend",y),g.insertAdjacentElement("beforeend",w),v.insertAdjacentElement("beforeend",g),m.insertAdjacentElement("beforeend",v),e.parentNode.replaceChild(m,e),r.textContent=$.escapeHTML`Showing years ${t} to ${t+j-1}. Select a year.`,m},xt=e=>{var{datePickerEl:t,externalInputEl:r}=R(e.target);wt(t),r.focus(),e.preventDefault()};var n=n=>e=>{var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=R(e.target),i=n(r),i=c(i,s,a);H(r,i)||u(t,i).querySelector(o).focus(),e.preventDefault()},jt=n(e=>{return e=e,t=1,Je(e,-t);var t}),Lt=n(e=>Je(e,1)),_t=n(e=>Xe(e,1)),St=n(e=>N(e,1)),Dt=n(e=>et(e)),Ct=n(e=>{return t=(e=e).getDay(),N(e,6-t);var t}),$t=n(e=>O(e,1)),kt=n(e=>tt(e,1)),Tt=n(e=>rt(e,1)),n=n(e=>st(e,1));var f=o=>e=>{var t=e.target,r=parseInt(t.dataset.value,10),{calendarEl:t,calendarDate:s,minDate:a,maxDate:i}=R(t),n=b(s,r),r=o(r),r=Math.max(0,Math.min(11,r)),s=b(s,r),r=c(s,a,i);B(n,r)||Et(t,r.getMonth()).querySelector(Re).focus(),e.preventDefault()},Mt=f(e=>e-3),qt=f(e=>e+3),It=f(e=>e-1),Nt=f(e=>e+1),Ot=f(e=>e-e%3),Bt=f(e=>e+2-e%3),Ht=f(()=>11),f=f(()=>0),h=o=>e=>{var t=e.target,r=parseInt(t.dataset.value,10),{calendarEl:t,calendarDate:s,minDate:a,maxDate:i}=R(t),n=L(s,r),r=o(r),r=Math.max(0,r),s=L(s,r),r=c(s,a,i);nt(n,r)||At(t,r.getFullYear()).querySelector(l).focus(),e.preventDefault()},Pt=h(e=>e-3),Rt=h(e=>e+3),Ft=h(e=>e-1),Yt=h(e=>e+1),Ut=h(e=>e-e%3),Wt=h(e=>e+2-e%3),Kt=h(e=>e-j),h=h(e=>e+j),m=i=>{let a=e=>{var e=R(e).calendarEl,e=S(i,e),t=e.length-1,r=e[0],s=e[t],a=e.indexOf(F());return{focusableElements:e,isNotFound:-1===a,firstTabStop:r,isFirstTab:0===a,lastTabStop:s,isLastTab:a===t}};return{tabAhead(e){var{firstTabStop:t,isLastTab:r,isNotFound:s}=a(e.target);(r||s)&&(e.preventDefault(),t.focus())},tabBack(e){var{lastTabStop:t,isFirstTab:r,isNotFound:s}=a(e.target);(r||s)&&(e.preventDefault(),t.focus())}}},a=m(a),Ve=m(Ve),m=m(s),s={[C]:{[Le](){var e,t,r,s,a,i;(e=this).disabled||e.hasAttribute("aria-disabled")||({calendarEl:t,inputDate:i,minDate:r,maxDate:s,defaultDate:a}=R(e),t.hidden?(i=c(i||a||Qe(),r,s),u(t,i).querySelector(o).focus()):wt(e))},[r](){var e,t,r;(e=this).disabled||({datePickerEl:t,externalInputEl:r}=R(e),gt(e,e.dataset.value),wt(t),r.focus())},[Ie](){var e,t,r,s,a;(e=this).disabled||({calendarEl:t,calendarDate:a,minDate:r,maxDate:s}=R(e),e=parseInt(e.dataset.value,10),a=b(a,e),a=c(a,r,s),u(t,a).querySelector(o).focus())},[Ne](){var e,t,r,s,a;(e=this).disabled||({calendarEl:t,calendarDate:a,minDate:r,maxDate:s}=R(e),e=parseInt(e.innerHTML,10),a=L(a,e),a=c(a,r,s),u(t,a).querySelector(o).focus())},[$e](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=R(t),r=tt(r,1),r=c(r,s,a),s=u(t,r);let e=s.querySelector($e);(e=e.disabled?s.querySelector(I):e).focus()}})(this)},[Te](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=R(t),r=O(r,1),r=c(r,s,a),s=u(t,r);let e=s.querySelector(Te);(e=e.disabled?s.querySelector(I):e).focus()}})(this)},[Ce](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=R(t),r=st(r,1),r=c(r,s,a),s=u(t,r);let e=s.querySelector(Ce);(e=e.disabled?s.querySelector(I):e).focus()}})(this)},[ke](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=R(t),r=rt(r,1),r=c(r,s,a),s=u(t,r);let e=s.querySelector(ke);(e=e.disabled?s.querySelector(I):e).focus()}})(this)},[Oe](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=R(t),i=t.querySelector(l),i=parseInt(i.textContent,10)-j,i=Math.max(0,i),r=L(r,i),i=c(r,s,a),r=At(t,i.getFullYear());let e=r.querySelector(Oe);(e=e.disabled?r.querySelector(Pe):e).focus()}})(this)},[Be](){(t=>{if(!t.disabled){var{calendarEl:t,calendarDate:r,minDate:s,maxDate:a}=R(t),i=t.querySelector(l),i=parseInt(i.textContent,10)+j,i=Math.max(0,i),r=L(r,i),i=c(r,s,a),r=At(t,i.getFullYear());let e=r.querySelector(Be);(e=e.disabled?r.querySelector(Pe):e).focus()}})(this)},[qe](){Et(this).querySelector(Re).focus()},[Me](){At(this).querySelector(l).focus()}},keyup:{[Se](e){var t=this.dataset.keydownKeyCode;""+e.keyCode!==t&&e.preventDefault()}},keydown:{[w](e){13===e.keyCode&&vt(this)},[r]:t({Up:jt,ArrowUp:jt,Down:Lt,ArrowDown:Lt,Left:_t,ArrowLeft:_t,Right:St,ArrowRight:St,Home:Dt,End:Ct,PageDown:$t,PageUp:kt,"Shift+PageDown":Tt,"Shift+PageUp":n,Tab:a.tabAhead}),[I]:t({Tab:a.tabAhead,"Shift+Tab":a.tabBack}),[Ie]:t({Up:Mt,ArrowUp:Mt,Down:qt,ArrowDown:qt,Left:It,ArrowLeft:It,Right:Nt,ArrowRight:Nt,Home:Ot,End:Bt,PageDown:Ht,PageUp:f}),[He]:t({Tab:Ve.tabAhead,"Shift+Tab":Ve.tabBack}),[Ne]:t({Up:Pt,ArrowUp:Pt,Down:Rt,ArrowDown:Rt,Left:Ft,ArrowLeft:Ft,Right:Yt,ArrowRight:Yt,Home:Ut,End:Wt,PageDown:h,PageUp:Kt}),[Pe]:t({Tab:m.tabAhead,"Shift+Tab":m.tabBack}),[Se](e){this.dataset.keydownKeyCode=e.keyCode},[g](e){t({Escape:xt})(e)}},focusout:{[w](){vt(this)},[g](e){this.contains(e.relatedTarget)||wt(this)}},input:{[w](){(e=>{var{internalInputEl:t,inputDate:r}=R(e);let s="";r&&!mt(e)&&(s=P(r)),t.value!==s&&bt(t,s)})(this),yt(this)}}},C=(Y()||(s.mouseover={[e](){(e=>{if(!e.disabled){var t=E(e.dataset.value),{calendarEl:e,selectedDate:r,rangeDate:a}=R(e);if(!r){let{withinRangeStartDate:r,withinRangeEndDate:s}=ut(t,a);e.querySelectorAll("."+ee).forEach(e=>{var t=E(e.dataset.value);ot(t,r,s)?e.classList.add(ne):e.classList.remove(ne)})}}})(this)}}),_(s,{init(e){D(g,e).forEach(e=>{(e=>{var e=e.closest(g),t=e.dataset.defaultValue,r=e.querySelector("input");if(!r)throw new Error(g+" is missing inner input");r.value&&(r.value="");var s=E(e.dataset.minDate||r.getAttribute("min")),s=(e.dataset.minDate=s?P(s):"0000-01-01",E(e.dataset.maxDate||r.getAttribute("max"))),s=(s&&(e.dataset.maxDate=P(s)),document.createElement("div")),a=(s.classList.add(U),r.cloneNode());a.classList.add(z),a.type="text",s.appendChild(a),s.insertAdjacentHTML("beforeend",$.escapeHTML`
<button type="button" class="${Q}" aria-haspopup="true" aria-label="Toggle calendar"></button>
<div class="${i}" role="application" hidden></div>
<div class="usa-sr-only ${G}" role="status" aria-live="polite"></div>`),r.setAttribute("aria-hidden","true"),r.setAttribute("tabindex","-1"),r.style.display="none",r.classList.add(V),r.removeAttribute("id"),r.removeAttribute("name"),r.required=!1,e.appendChild(s),e.classList.add(W),t&>(e,t),r.disabled&&(ft(e),r.disabled=!1),r.hasAttribute("aria-disabled")&&(ht(e),r.removeAttribute("aria-disabled"))})(e)})},getDatePickerContext:R,disable:ft,ariaDisable:ht,enable:e=>{var{externalInputEl:e,toggleBtnEl:t}=R(e);t.disabled=!1,t.removeAttribute("aria-disabled"),e.disabled=!1,e.removeAttribute("aria-disabled"),e.removeAttribute("readonly")},isDateInputInvalid:mt,setCalendarValue:gt,validateDateInput:vt,renderCalendar:u,updateCalendarIfVisible:yt}));v.exports=C},{"../../uswds-core/src/js/config":37,"../../uswds-core/src/js/events":38,"../../uswds-core/src/js/utils/active-element":41,"../../uswds-core/src/js/utils/behavior":42,"../../uswds-core/src/js/utils/is-ios-device":46,"../../uswds-core/src/js/utils/sanitizer":47,"../../uswds-core/src/js/utils/select":50,"../../uswds-core/src/js/utils/select-or-matches":49,"receptor/keymap":10}],22:[function(e,t,r){var s=e("../../uswds-core/src/js/utils/behavior");let a=e("../../uswds-core/src/js/utils/select"),i=e("../../uswds-core/src/js/utils/select-or-matches");var n=e("../../uswds-core/src/js/config").prefix;let{getDatePickerContext:o,isDateInputInvalid:l,updateCalendarIfVisible:c}=e("../../usa-date-picker/src/index");e=n+"-date-range-picker";let u=e+"__range-start",d=e+"__range-end",p="."+(n+"-date-picker"),b="."+e,f="."+u,h="."+d,m=e=>{var t,r,e=e.closest(b);if(e)return t=e.querySelector(f),r=e.querySelector(h),{dateRangePickerEl:e,rangeStartEl:t,rangeEndEl:r};throw new Error("Element is missing outer "+b)},v=e=>{var{dateRangePickerEl:e,rangeStartEl:t,rangeEndEl:r}=m(e),t=o(t).internalInputEl,s=t.value;s&&!l(t)?(r.dataset.minDate=s,r.dataset.rangeDate=s,r.dataset.defaultDate=s):(r.dataset.minDate=e.dataset.minDate||"",r.dataset.rangeDate="",r.dataset.defaultDate=""),c(r)},g=e=>{var{dateRangePickerEl:e,rangeStartEl:t,rangeEndEl:r}=m(e),r=o(r).internalInputEl,s=r.value;s&&!l(r)?(t.dataset.maxDate=s,t.dataset.rangeDate=s,t.dataset.defaultDate=s):(t.dataset.maxDate=e.dataset.maxDate||"",t.dataset.rangeDate="",t.dataset.defaultDate=""),c(t)};n=s({"input change":{[f](){v(this)},[h](){g(this)}}},{init(e){i(b,e).forEach(e=>{(e=>{var e=e.closest(b),[t,r]=a(p,e);if(!t)throw new Error(`${b} is missing inner two '${p}' elements`);if(!r)throw new Error(`${b} is missing second '${p}' element`);t.classList.add(u),r.classList.add(d),e.dataset.minDate||(e.dataset.minDate="0000-01-01");var s=e.dataset.minDate,s=(t.dataset.minDate=s,r.dataset.minDate=s,e.dataset).maxDate;s&&(t.dataset.maxDate=s,r.dataset.maxDate=s),v(e),g(e)})(e)})}});t.exports=n},{"../../usa-date-picker/src/index":21,"../../uswds-core/src/js/config":37,"../../uswds-core/src/js/utils/behavior":42,"../../uswds-core/src/js/utils/select":50,"../../uswds-core/src/js/utils/select-or-matches":49}],23:[function(e,t,n){let r=e("../../uswds-core/src/js/utils/select-or-matches");var s=e("../../uswds-core/src/js/utils/behavior");let l=e("../../uswds-core/src/js/utils/sanitizer");e=e("../../uswds-core/src/js/config").prefix;let c=e+"-file-input",u="."+c,d=e+"-file-input__input",p=e+"-file-input__target",a="."+d,b=e+"-file-input__box",f=e+"-file-input__instructions",h=e+"-file-input__preview",o=e+"-file-input__preview-heading",m=e+"-file-input--disabled",v=e+"-file-input__choose",g=e+"-file-input__accepted-files-message",w=e+"-file-input__drag-text",i=e+"-file-input--drag",y="is-loading",E="has-invalid-file",A=e+"-file-input__preview-image",x=A+"--generic",j=A+"--pdf",L=A+"--word",_=A+"--video",S=A+"--excel",D=e+"-sr-only",C="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",O="Error: This is not a valid file type.",$=Boolean(!0),k="",T="",M=e=>{var t,e=e.closest(u);if(e)return t=e.querySelector(a),{dropZoneEl:e,inputEl:t};throw new Error("Element is missing outer "+u)};let B=e=>{var t=e.charCodeAt(0);return 32===t?"-":65<=t&&t<=90?"img_"+e.toLowerCase():"__"+t.toString(16).slice(-4)},H=e=>e.replace(/[^a-z0-9]/g,B),P=e=>e+"-"+Math.floor(Date.now().toString()/1e3),q=e=>e.hasAttribute("multiple")?"files":"file",R=e=>{var t,r,s,a=e.hasAttribute("aria-disabled")||e.hasAttribute("disabled"),i=(t=e,r=document.createElement("div"),n=document.createElement("div"),i=document.createElement("div"),t.classList.remove(c),t.classList.add(d),r.classList.add(c),i.classList.add(b),n.classList.add(p),n.prepend(i),t.parentNode.insertBefore(n,t),t.parentNode.insertBefore(r,n),n.appendChild(t),r.appendChild(n),n),n=(r=(t=e).closest(u),n=q(t),s=document.createElement("div"),n=`Drag ${n} here or`,o="choose from folder",k=n+" "+o,s.classList.add(f),s.setAttribute("aria-hidden","true"),t.setAttribute("aria-label",k),s.innerHTML=l.escapeHTML`<span class="${w}">${n}</span> <span class="${v}">${o}</span>`,t.parentNode.insertBefore(s,t),(/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(r.querySelector("."+w).outerHTML=""),s),o=M(e).dropZoneEl;return a?o.classList.add(m):(t=e,r=document.createElement("div"),s=q(t),a=t.closest(u),t=t.closest("."+p),T=`No ${s} selected.`,r.classList.add(D),r.setAttribute("aria-live","polite"),r.textContent=T,a.insertBefore(r,t)),{instructions:n,dropTarget:i}},I=(e,t)=>{var r=e.querySelectorAll("."+h),s=e.querySelector("."+o),a=e.querySelector("."+g);s&&(s.outerHTML=""),a&&(a.outerHTML="",e.classList.remove(E)),null!==r&&(t&&t.removeAttribute("hidden"),Array.prototype.forEach.call(r,e=>{e.parentNode.removeChild(e)}))},F=(e,t,r)=>{let s=e,a=T;1===t.length?a="You have selected the file: "+r:1<t.length&&(a=`You have selected ${t.length} files: `+r.join(", ")),setTimeout(()=>{s.textContent=a},1e3)},Y=(e,t)=>{var r=document.createElement("div"),s=e.closest("."+p),a=s.querySelector("."+f);let i="Change file",n="";1===t.length?n=l.escapeHTML`Selected file <span class="usa-file-input__choose">${i}</span>`:1<t.length&&(i="Change files",n=l.escapeHTML`${t.length} files selected <span class="usa-file-input__choose">${i}</span>`),a.setAttribute("hidden","true"),r.classList.add(o),r.innerHTML=n,s.insertBefore(r,a),e.setAttribute("aria-label",i)},N=(t,r)=>{t.addEventListener("error",()=>{var e=t;e.src=C,e.classList.add(r)},{once:!0})},U=(e,t,r,s)=>{((e,r,s,a)=>{var i=r.getAttribute("accept");a.classList.remove(E);if(i){var n=i.split(","),i=document.createElement("div"),o=r.dataset.errormessage||O;i.setAttribute("aria-hidden",!0);let t=!0;var l=e.target.files||e.dataTransfer.files;for(let e=0;e<l.length;e+=1){var c=l[e];if(!t)break;for(let e=0;e<n.length;e+=1){var u=n[e];if(t=0<c.name.indexOf(u)||((e,t)=>{let r=!1;e=e.indexOf(t);return r=0<=e?!0:r})(c.type,u.replace(/\*/g,""))){$=!0;break}}}t||(I(a,s),r.value="",i.textContent=o,a.insertBefore(i,r),s=o+" "+k,r.setAttribute("aria-label",s),i.classList.add(g),a.classList.add(E),$=!1,e.preventDefault(),e.stopPropagation())}})(e,t,r,s),!0===$&&((e,t,i,r)=>{var n=e.target.files,e=r.closest("."+c).querySelector("."+D),o=[];I(r,i);for(let e=0;e<n.length;e+=1){let r=new FileReader,s=n[e].name,a;o.push(s),r.onloadstart=function(){a=P(H(s)),i.insertAdjacentHTML("afterend",l.escapeHTML`<div class="${h}" aria-hidden="true">
<img id="${a}" src="${C}" alt="" class="${A} ${y}"/>${s}
<div>`)},r.onloadend=function(){var e=document.getElementById(a),t=s.split(".").pop();"pdf"===t?N(e,j):"doc"===t||"docx"===t||"pages"===t?N(e,L):"xls"===t||"xlsx"===t||"numbers"===t?N(e,S):"mov"===t||"mp4"===t?N(e,_):N(e,x),e.classList.remove(y),e.src=r.result},n[e]&&r.readAsDataURL(n[e])}0===n.length?t.setAttribute("aria-label",k):Y(t,n),F(e,n,o)})(e,t,r,s)};e=s({},{init(e){r(u,e).forEach(t=>{let{instructions:r,dropTarget:s}=R(t);s.addEventListener("dragover",function(){this.classList.add(i)},!1),s.addEventListener("dragleave",function(){this.classList.remove(i)},!1),s.addEventListener("drop",function(){this.classList.remove(i)},!1),t.addEventListener("change",e=>U(e,t,r,s),!1)})},teardown(e){r(a,e).forEach(e=>{var t=e.parentElement.parentElement;t.parentElement.replaceChild(e,t),e.className=c})},getFileInputContext:M,disable:e=>{var{dropZoneEl:e,inputEl:t}=M(e);t.disabled=!0,e.classList.add(m)},ariaDisable:e=>{e=M(e).dropZoneEl;e.classList.add(m)},enable:e=>{var{dropZoneEl:e,inputEl:t}=M(e);t.disabled=!1,e.classList.remove(m),e.removeAttribute("aria-disabled")}});t.exports=e},{"../../uswds-core/src/js/config":37,"../../uswds-core/src/js/utils/behavior":42,"../../uswds-core/src/js/utils/sanitizer":47,"../../uswds-core/src/js/utils/select-or-matches":49}],24:[function(e,t,r){var s=e("../../uswds-core/src/js/utils/behavior"),a=e("../../uswds-core/src/js/events").CLICK;let i=e("../../uswds-core/src/js/config").prefix,n=`.${i}-footer--big`,o=n+" nav"+` .${i}-footer__primary-link`;function l(s){var e=document.querySelector(n);e&&e.querySelectorAll(o).forEach(e=>{var t=e.getAttribute("class"),r=e.getAttribute("data-tag")||e.tagName,r=document.createElement(s?"button":r);r.setAttribute("class",t),r.classList.toggle(i+"-footer__primary-link--button",s),r.textContent=e.textContent,s&&(r.setAttribute("data-tag",e.tagName),t=i+"-footer-menu-list-"+Math.floor(1e5*Math.random()),r.setAttribute("aria-controls",t),r.setAttribute("aria-expanded","false"),e.nextElementSibling.setAttribute("id",t),r.setAttribute("type","button")),e.after(r),e.remove()})}let c=e=>{l(e.matches)};t.exports=s({[a]:{[o]:function(){var e;window.innerWidth<480&&(e="true"===this.getAttribute("aria-expanded"),this.closest(n).querySelectorAll(o).forEach(e=>{e.setAttribute("aria-expanded",!1)}),this.setAttribute("aria-expanded",!e))}}},{HIDE_MAX_WIDTH:480,init(){l(window.innerWidth<480),this.mediaQueryList=window.matchMedia("(max-width: 479.9px)"),this.mediaQueryList.addListener(c)},teardown(){this.mediaQueryList.removeListener(c)}})},{"../../uswds-core/src/js/config":37,"../../uswds-core/src/js/events":38,"../../uswds-core/src/js/utils/behavior":42}],25:[function(e,t,N){var r=e("receptor/keymap"),s=e("../../uswds-core/src/js/utils/behavior");let a=e("../../uswds-core/src/js/utils/select"),i=e("../../uswds-core/src/js/utils/toggle"),n=e("../../uswds-core/src/js/utils/focus-trap"),o=e("../../usa-accordion/src/index");var l=e("../../uswds-core/src/js/utils/scrollbar-width"),c=e("../../uswds-core/src/js/events").CLICK,e=e("../../uswds-core/src/js/config").prefix;let u=`.${e}-header`,d=`.${e}-nav`;var p=`.${e}-nav-container`;let b=`.${e}-nav__primary`,f=`.${e}-nav__primary-item`,h=`button.${e}-nav__link`;var m=d+" a";let v="da