{"version":3,"sources":["node_modules/browser-pack/_prelude.js","node_modules/classlist-polyfill/src/index.js","node_modules/domready/ready.js","node_modules/elem-dataset/dist/index.js","node_modules/element-closest/element-closest.js","node_modules/keyboardevent-key-polyfill/index.js","node_modules/lodash.debounce/index.js","node_modules/object-assign/index.js","node_modules/receptor/behavior/index.js","node_modules/receptor/compose/index.js","node_modules/receptor/delegate/index.js","node_modules/receptor/delegateAll/index.js","node_modules/receptor/ignore/index.js","node_modules/receptor/index.js","node_modules/receptor/keymap/index.js","node_modules/receptor/once/index.js","node_modules/resolve-id-refs/index.js","src/js/components/accordion.js","src/js/components/banner.js","src/js/components/character-count.js","src/js/components/combo-box.js","src/js/components/footer.js","src/js/components/index.js","src/js/components/navigation.js","src/js/components/password.js","src/js/components/search.js","src/js/components/skipnav.js","src/js/components/validator.js","src/js/config.js","src/js/events.js","src/js/polyfills/element-hidden.js","src/js/polyfills/index.js","src/js/start.js","src/js/utils/active-element.js","src/js/utils/behavior.js","src/js/utils/focus-trap.js","src/js/utils/is-in-viewport.js","src/js/utils/select.js","src/js/utils/toggle-field-mask.js","src/js/utils/toggle-form-input.js","src/js/utils/toggle.js","src/js/utils/validate-input.js"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","window","self","document","createElement","createElementNS","view","classListProp","protoProp","elemCtrProto","Element","objCtr","Object","strTrim","String","trim","this","replace","arrIndexOf","Array","indexOf","item","len","DOMEx","type","message","name","DOMException","checkTokenAndGetIndex","classList","token","test","ClassList","elem","trimmedClasses","getAttribute","classes","split","push","_updateClassName","setAttribute","toString","classListProto","classListGetter","contains","add","tokens","arguments","l","updated","remove","index","splice","toggle","force","result","method","join","defineProperty","classListPropDesc","get","enumerable","configurable","ex","undefined","number","__defineGetter__","testElement","createMethod","original","DOMTokenList","prototype","_toggle","definition","define","_typeof","amd","_listener","fns","doc","hack","documentElement","doScroll","domContentLoaded","loaded","readyState","addEventListener","removeEventListener","shift","fn","setTimeout","Boolean","dataset","aB","element","map","attributes","getter","value","setter","removeAttribute","j","attribute","prop","slice","charAt","toUpperCase","bind","set","ElementProto","matches","msMatchesSelector","mozMatchesSelector","webkitMatchesSelector","selector","elements","ownerDocument","querySelectorAll","closest","nodeType","parentNode","keyboardeventKeyPolyfill","polyfill","KeyboardEvent","proto","key","keys","which","keyCode","isArray","shiftKey","3","6","8","9","12","13","16","17","18","19","20","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","48","49","50","51","52","53","54","55","56","57","91","93","144","145","181","182","183","186","187","188","189","190","191","192","219","220","221","222","224","225","246","247","248","249","250","251","letter","fromCharCode","toLowerCase","now","root","Date","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","freeSelf","Function","objectToString","nativeMax","Math","max","nativeMin","min","isObject","isSymbol","isObjectLike","toNumber","other","valueOf","isBinary","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","remainingWait","debounced","isInvoking","leadingEdge","cancel","clearTimeout","flush","getOwnPropertySymbols","hasOwnProperty","propIsEnumerable","propertyIsEnumerable","assign","test1","getOwnPropertyNames","test2","test3","forEach","err","shouldUseNative","target","source","from","symbols","to","val","toObject","s","delegate","delegateAll","DELEGATE_PATTERN","popKey","obj","events","props","listeners","reduce","memo","handler","match","capture","passive","listener","_type","getListeners","concat","functions","some","event","compose","selectors","delegates","behavior","ignore","keymap","MODIFIERS","Alt","Control","Ctrl","Shift","hasModifiers","modifier","getEventKey","_key","wrapped","currentTarget","RE_TRIM","RE_SPLIT","str","ids","getElementById","id","querySelector","el","getAccordionButtons","accordion","select","BUTTON","filter","button","ACCORDION","toggleButton","expanded","safeExpanded","multiselectable","isElementInViewport","CLICK","PREFIX","prefix","EXPANDED","_defineProperty","preventDefault","scrollIntoView","init","show","hide","getButtons","HEADER","EXPANDED_CLASS","getCharacterCountElements","inputEl","characterCountEl","CHARACTER_COUNT","INPUT","messageEl","MESSAGE","updateCountMessage","_getCharacterCountEle","maxlength","newMessage","currentLength","isOverLimit","difference","abs","characters","guidance","MESSAGE_INVALID_CLASS","innerHTML","validationMessage","setCustomValidity","VALIDATION_MESSAGE","characterCount","input","setupAttributes","getComboBoxElements","comboBoxEl","COMBO_BOX","selectEl","SELECT","listEl","LIST","statusEl","STATUS","focusedOptionEl","LIST_OPTION_FOCUSED","displayList","_getComboBoxElements3","listOptionBaseId","inputValue","optionEl","text","numOptions","optionHtml","option","LIST_OPTION_CLASS","noResults","hidden","hideList","_getComboBoxElements4","completeSelection","_getComboBoxElements6","textContent","highlightOption","currentEl","nextEl","_getComboBoxElements7","LIST_OPTION_FOCUSED_CLASS","optionBottom","offsetTop","offsetHeight","scrollTop","focus","handleUp","_getComboBoxElements10","nextOptionEl","previousSibling","listShown","handleDown","_getComboBoxElements11","nextSibling","LIST_OPTION","INPUT_CLASS","LIST_CLASS","STATUS_CLASS","comboBox","_behavior","_CLICK","listOptionEl","_getComboBoxElements5","selectItem","relatedTarget","ArrowUp","Up","ArrowDown","Down","Escape","_getComboBoxElements9","Enter","_getComboBoxElements8","isPrintableKeyCode","selectedOption","_getComboBoxElements","selectId","listId","assistiveHintID","placeholder","additionalAttributes","selected","hasAttribute","insertAdjacentHTML","enhanceComboBox","lastInnerWidth","debounce","HIDDEN","SCOPE","NAV","COLLAPSIBLE","resize","innerWidth","list","collapseEl","HIDE_MAX_WIDTH","DEBOUNCE_RATE","teardown","banner","footer","navigation","password","search","skipnav","validator","isActive","body","ACTIVE_CLASS","toggleNav","active","safeActive","TOGGLES","focusTrap","update","closeButton","CLOSE_BUTTON","menuButton","OPENERS","activeElement","closer","getBoundingClientRect","width","onMenuClose","hideActiveNavDropdown","navActive","FocusTrap","NAV_LINKS","NAV_CONTROL","OVERLAY","CLOSERS","acc","btn","trapContainer","toggleFormInput","LINK","lastButton","FORM","toggleSearch","form","context","getForm","once","style","outline","validate","keyup change","input[data-validation-element]","elproto","HTMLElement","domready","uswds","components","on","sequence","_len","seq","_this","Behavior","off","tabHandler","focusableElements","firstTabStop","lastTabStop","tabAhead","tabBack","additionalKeyBindings","tabEventHandler","keyMappings","Tab","Shift+Tab","keydown","win","docEl","rect","top","left","bottom","innerHeight","clientHeight","right","clientWidth","isElement","selection","field","mask","resolveIdRefs","toggleFieldMask","PRESSED","SHOW_ATTR","pressed","showText","hideText","getHideText","controls","CHECKED_CLASS","data","validationElement","checkList","entries","_ref","_ref2","_slicedToArray","startsWith","validatorName","substr","validatorPattern","RegExp","validatorSelector","validatorCheckbox","checked"],"mappings":"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","file":"uswds.min.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i'],\n 191: ['/', '?'],\n 192: ['`', '~'],\n 219: ['[', '{'],\n 220: ['\\\\', '|'],\n 221: [']', '}'],\n 222: [\"'\", '\"'],\n 224: 'Meta',\n 225: 'AltGraph',\n 246: 'Attn',\n 247: 'CrSel',\n 248: 'ExSel',\n 249: 'EraseEof',\n 250: 'Play',\n 251: 'ZoomOut'\n }\n };\n\n // Function keys (F1-24).\n var i;\n for (i = 1; i < 25; i++) {\n keyboardeventKeyPolyfill.keys[111 + i] = 'F' + i;\n }\n\n // Printable ASCII characters.\n var letter = '';\n for (i = 65; i < 91; i++) {\n letter = String.fromCharCode(i);\n keyboardeventKeyPolyfill.keys[i] = [letter.toLowerCase(), letter.toUpperCase()];\n }\n\n function polyfill () {\n if (!('KeyboardEvent' in window) ||\n 'key' in KeyboardEvent.prototype) {\n return false;\n }\n\n // Polyfill `key` on `KeyboardEvent`.\n var proto = {\n get: function (x) {\n var key = keyboardeventKeyPolyfill.keys[this.which || this.keyCode];\n\n if (Array.isArray(key)) {\n key = key[+this.shiftKey];\n }\n\n return key;\n }\n };\n Object.defineProperty(KeyboardEvent.prototype, 'key', proto);\n return proto;\n }\n\n if (typeof define === 'function' && define.amd) {\n define('keyboardevent-key-polyfill', keyboardeventKeyPolyfill);\n } else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {\n module.exports = keyboardeventKeyPolyfill;\n } else if (window) {\n window.keyboardeventKeyPolyfill = keyboardeventKeyPolyfill;\n }\n\n})();\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","const assign = require('object-assign');\nconst delegate = require('../delegate');\nconst delegateAll = require('../delegateAll');\n\nconst DELEGATE_PATTERN = /^(.+):delegate\\((.+)\\)$/;\nconst SPACE = ' ';\n\nconst getListeners = function(type, handler) {\n var match = type.match(DELEGATE_PATTERN);\n var selector;\n if (match) {\n type = match[1];\n selector = match[2];\n }\n\n var options;\n if (typeof handler === 'object') {\n options = {\n capture: popKey(handler, 'capture'),\n passive: popKey(handler, 'passive')\n };\n }\n\n var listener = {\n selector: selector,\n delegate: (typeof handler === 'object')\n ? delegateAll(handler)\n : selector\n ? delegate(selector, handler)\n : handler,\n options: options\n };\n\n if (type.indexOf(SPACE) > -1) {\n return type.split(SPACE).map(function(_type) {\n return assign({type: _type}, listener);\n });\n } else {\n listener.type = type;\n return [listener];\n }\n};\n\nvar popKey = function(obj, key) {\n var value = obj[key];\n delete obj[key];\n return value;\n};\n\nmodule.exports = function behavior(events, props) {\n const listeners = Object.keys(events)\n .reduce(function(memo, type) {\n var listeners = getListeners(type, events[type]);\n return memo.concat(listeners);\n }, []);\n\n return assign({\n add: function addBehavior(element) {\n listeners.forEach(function(listener) {\n element.addEventListener(\n listener.type,\n listener.delegate,\n listener.options\n );\n });\n },\n remove: function removeBehavior(element) {\n listeners.forEach(function(listener) {\n element.removeEventListener(\n listener.type,\n listener.delegate,\n listener.options\n );\n });\n }\n }, props);\n};\n","module.exports = function compose(functions) {\n return function(e) {\n return functions.some(function(fn) {\n return fn.call(this, e) === false;\n }, this);\n };\n};\n","// polyfill Element.prototype.closest\nrequire('element-closest');\n\nmodule.exports = function delegate(selector, fn) {\n return function delegation(event) {\n var target = event.target.closest(selector);\n if (target) {\n return fn.call(target, event);\n }\n }\n};\n","const delegate = require('../delegate');\nconst compose = require('../compose');\n\nconst SPLAT = '*';\n\nmodule.exports = function delegateAll(selectors) {\n const keys = Object.keys(selectors)\n\n // XXX optimization: if there is only one handler and it applies to\n // all elements (the \"*\" CSS selector), then just return that\n // handler\n if (keys.length === 1 && keys[0] === SPLAT) {\n return selectors[SPLAT];\n }\n\n const delegates = keys.reduce(function(memo, selector) {\n memo.push(delegate(selector, selectors[selector]));\n return memo;\n }, []);\n return compose(delegates);\n};\n","module.exports = function ignore(element, fn) {\n return function ignorance(e) {\n if (element !== e.target && !element.contains(e.target)) {\n return fn.call(this, e);\n }\n };\n};\n","module.exports = {\n behavior: require('./behavior'),\n delegate: require('./delegate'),\n delegateAll: require('./delegateAll'),\n ignore: require('./ignore'),\n keymap: require('./keymap'),\n};\n","require('keyboardevent-key-polyfill');\n\n// these are the only relevant modifiers supported on all platforms,\n// according to MDN:\n// \nconst MODIFIERS = {\n 'Alt': 'altKey',\n 'Control': 'ctrlKey',\n 'Ctrl': 'ctrlKey',\n 'Shift': 'shiftKey'\n};\n\nconst MODIFIER_SEPARATOR = '+';\n\nconst getEventKey = function(event, hasModifiers) {\n var key = event.key;\n if (hasModifiers) {\n for (var modifier in MODIFIERS) {\n if (event[MODIFIERS[modifier]] === true) {\n key = [modifier, key].join(MODIFIER_SEPARATOR);\n }\n }\n }\n return key;\n};\n\nmodule.exports = function keymap(keys) {\n const hasModifiers = Object.keys(keys).some(function(key) {\n return key.indexOf(MODIFIER_SEPARATOR) > -1;\n });\n return function(event) {\n var key = getEventKey(event, hasModifiers);\n return [key, key.toLowerCase()]\n .reduce(function(result, _key) {\n if (_key in keys) {\n result = keys[key].call(this, event);\n }\n return result;\n }, undefined);\n };\n};\n\nmodule.exports.MODIFIERS = MODIFIERS;\n","module.exports = function once(listener, options) {\n var wrapped = function wrappedOnce(e) {\n e.currentTarget.removeEventListener(e.type, wrapped, options);\n return listener.call(this, e);\n };\n return wrapped;\n};\n\n","'use strict';\n\nvar RE_TRIM = /(^\\s+)|(\\s+$)/g;\nvar RE_SPLIT = /\\s+/;\n\nvar trim = String.prototype.trim\n ? function(str) { return str.trim(); }\n : function(str) { return str.replace(RE_TRIM, ''); };\n\nvar queryById = function(id) {\n return this.querySelector('[id=\"' + id.replace(/\"/g, '\\\\\"') + '\"]');\n};\n\nmodule.exports = function resolveIds(ids, doc) {\n if (typeof ids !== 'string') {\n throw new Error('Expected a string but got ' + (typeof ids));\n }\n\n if (!doc) {\n doc = window.document;\n }\n\n var getElementById = doc.getElementById\n ? doc.getElementById.bind(doc)\n : queryById.bind(doc);\n\n ids = trim(ids).split(RE_SPLIT);\n\n // XXX we can short-circuit here because trimming and splitting a\n // string of just whitespace produces an array containing a single,\n // empty string\n if (ids.length === 1 && ids[0] === '') {\n return [];\n }\n\n return ids\n .map(function(id) {\n var el = getElementById(id);\n if (!el) {\n throw new Error('no element with id: \"' + id + '\"');\n }\n return el;\n });\n};\n","const select = require(\"../utils/select\");\nconst behavior = require(\"../utils/behavior\");\nconst toggle = require(\"../utils/toggle\");\nconst isElementInViewport = require(\"../utils/is-in-viewport\");\nconst { CLICK } = require(\"../events\");\nconst { prefix: PREFIX } = require(\"../config\");\n\nconst ACCORDION = `.${PREFIX}-accordion, .${PREFIX}-accordion--bordered`;\nconst BUTTON = `.${PREFIX}-accordion__button[aria-controls]`;\nconst EXPANDED = \"aria-expanded\";\nconst MULTISELECTABLE = \"aria-multiselectable\";\n\n/**\n * Get an Array of button elements belonging directly to the given\n * accordion element.\n * @param {HTMLElement} accordion\n * @return {array}\n */\nconst getAccordionButtons = accordion => {\n const buttons = select(BUTTON, accordion);\n\n return buttons.filter(button => button.closest(ACCORDION) === accordion);\n};\n\n/**\n * Toggle a button's \"pressed\" state, optionally providing a target\n * state.\n *\n * @param {HTMLButtonElement} button\n * @param {boolean?} expanded If no state is provided, the current\n * state will be toggled (from false to true, and vice-versa).\n * @return {boolean} the resulting state\n */\nconst toggleButton = (button, expanded) => {\n const accordion = button.closest(ACCORDION);\n let safeExpanded = expanded;\n\n if (!accordion) {\n throw new Error(`${BUTTON} is missing outer ${ACCORDION}`);\n }\n\n safeExpanded = toggle(button, expanded);\n\n // XXX multiselectable is opt-in, to preserve legacy behavior\n const multiselectable = accordion.getAttribute(MULTISELECTABLE) === \"true\";\n\n if (safeExpanded && !multiselectable) {\n getAccordionButtons(accordion).forEach(other => {\n if (other !== button) {\n toggle(other, false);\n }\n });\n }\n};\n\n/**\n * @param {HTMLButtonElement} button\n * @return {boolean} true\n */\nconst showButton = button => toggleButton(button, true);\n\n/**\n * @param {HTMLButtonElement} button\n * @return {boolean} false\n */\nconst hideButton = button => toggleButton(button, false);\n\nconst accordion = behavior(\n {\n [CLICK]: {\n [BUTTON](event) {\n event.preventDefault();\n\n toggleButton(this);\n\n if (this.getAttribute(EXPANDED) === \"true\") {\n // We were just expanded, but if another accordion was also just\n // collapsed, we may no longer be in the viewport. This ensures\n // that we are still visible, so the user isn't confused.\n if (!isElementInViewport(this)) this.scrollIntoView();\n }\n }\n }\n },\n {\n init(root) {\n select(BUTTON, root).forEach(button => {\n const expanded = button.getAttribute(EXPANDED) === \"true\";\n toggleButton(button, expanded);\n });\n },\n ACCORDION,\n BUTTON,\n show: showButton,\n hide: hideButton,\n toggle: toggleButton,\n getButtons: getAccordionButtons\n }\n);\n\nmodule.exports = accordion;\n","const behavior = require(\"../utils/behavior\");\nconst { CLICK } = require(\"../events\");\nconst { prefix: PREFIX } = require(\"../config\");\n\nconst HEADER = `.${PREFIX}-banner__header`;\nconst EXPANDED_CLASS = `${PREFIX}-banner__header--expanded`;\n\nconst toggleBanner = function toggleEl(event) {\n event.preventDefault();\n this.closest(HEADER).classList.toggle(EXPANDED_CLASS);\n};\n\nmodule.exports = behavior({\n [CLICK]: {\n [`${HEADER} [aria-controls]`]: toggleBanner\n }\n});\n","const select = require(\"../utils/select\");\nconst behavior = require(\"../utils/behavior\");\nconst { prefix: PREFIX } = require(\"../config\");\n\nconst CHARACTER_COUNT = `.${PREFIX}-character-count`;\nconst INPUT = `.${PREFIX}-character-count__field`;\nconst MESSAGE = `.${PREFIX}-character-count__message`;\nconst VALIDATION_MESSAGE = \"The content is too long.\";\nconst MESSAGE_INVALID_CLASS = `${PREFIX}-character-count__message--invalid`;\n\n/**\n * The elements within the character count.\n * @typedef {Object} CharacterCountElements\n * @property {HTMLDivElement} characterCountEl\n * @property {HTMLSpanElement} messageEl\n */\n\n/**\n * Returns the root and message element\n * for an character count input\n *\n * @param {HTMLInputElement|HTMLTextAreaElement} inputEl The character count input element\n * @returns {CharacterCountElements} elements The root and message element.\n */\nconst getCharacterCountElements = inputEl => {\n const characterCountEl = inputEl.closest(CHARACTER_COUNT);\n\n if (!characterCountEl) {\n throw new Error(`${INPUT} is missing outer ${CHARACTER_COUNT}`);\n }\n\n const messageEl = characterCountEl.querySelector(MESSAGE);\n\n if (!messageEl) {\n throw new Error(`${CHARACTER_COUNT} is missing inner ${MESSAGE}`);\n }\n\n return { characterCountEl, messageEl };\n};\n\n/**\n * Update the character count component\n *\n * @param {HTMLInputElement|HTMLTextAreaElement} inputEl The character count input element\n */\nconst updateCountMessage = inputEl => {\n const { characterCountEl, messageEl } = getCharacterCountElements(inputEl);\n\n const maxlength = parseInt(\n characterCountEl.getAttribute(\"data-maxlength\"),\n 10\n );\n\n if (!maxlength) return;\n\n let newMessage = \"\";\n const currentLength = inputEl.value.length;\n const isOverLimit = currentLength && currentLength > maxlength;\n\n if (currentLength === 0) {\n newMessage = `${maxlength} characters allowed`;\n } else {\n const difference = Math.abs(maxlength - currentLength);\n const characters = `character${difference === 1 ? \"\" : \"s\"}`;\n const guidance = isOverLimit ? \"over limit\" : \"left\";\n\n newMessage = `${difference} ${characters} ${guidance}`;\n }\n\n messageEl.classList.toggle(MESSAGE_INVALID_CLASS, isOverLimit);\n messageEl.innerHTML = newMessage;\n\n if (isOverLimit && !inputEl.validationMessage) {\n inputEl.setCustomValidity(VALIDATION_MESSAGE);\n }\n\n if (!isOverLimit && inputEl.validationMessage === VALIDATION_MESSAGE) {\n inputEl.setCustomValidity(\"\");\n }\n};\n\n/**\n * Setup the character count component\n *\n * @param {HTMLInputElement|HTMLTextAreaElement} inputEl The character count input element\n */\nconst setupAttributes = inputEl => {\n const { characterCountEl } = getCharacterCountElements(inputEl);\n\n const maxlength = inputEl.getAttribute(\"maxlength\");\n\n if (!maxlength) return;\n\n inputEl.removeAttribute(\"maxlength\");\n characterCountEl.setAttribute(\"data-maxlength\", maxlength);\n};\n\nconst characterCount = behavior(\n {\n input: {\n [INPUT]() {\n updateCountMessage(this);\n }\n }\n },\n {\n init(root) {\n select(INPUT, root).forEach(input => {\n setupAttributes(input);\n updateCountMessage(input);\n });\n },\n MESSAGE_INVALID_CLASS,\n VALIDATION_MESSAGE\n }\n);\n\nmodule.exports = characterCount;\n","const keymap = require(\"receptor/keymap\");\nconst select = require(\"../utils/select\");\nconst behavior = require(\"../utils/behavior\");\nconst { prefix: PREFIX } = require(\"../config\");\nconst { CLICK } = require(\"../events\");\n\nconst COMBO_BOX = `.${PREFIX}-combo-box`;\n\nconst INPUT_CLASS = `${PREFIX}-combo-box__input`;\nconst LIST_CLASS = `${PREFIX}-combo-box__list`;\nconst LIST_OPTION_CLASS = `${PREFIX}-combo-box__list-option`;\nconst STATUS_CLASS = `${PREFIX}-combo-box__status`;\nconst LIST_OPTION_FOCUSED_CLASS = `${LIST_OPTION_CLASS}--focused`;\n\nconst SELECT = `.${PREFIX}-combo-box__select`;\nconst INPUT = `.${INPUT_CLASS}`;\nconst LIST = `.${LIST_CLASS}`;\nconst LIST_OPTION = `.${LIST_OPTION_CLASS}`;\nconst LIST_OPTION_FOCUSED = `.${LIST_OPTION_FOCUSED_CLASS}`;\nconst STATUS = `.${STATUS_CLASS}`;\n\n/**\n * Determine if the key code of an event is printable\n *\n * @param {number} keyCode The key code of the event\n * @returns {boolean} true is the key code is printable\n */\nconst isPrintableKeyCode = keyCode => {\n return (\n (keyCode > 47 && keyCode < 58) || // number keys\n keyCode === 32 || // space\n keyCode === 8 || // backspace\n (keyCode > 64 && keyCode < 91) || // letter keys\n (keyCode > 95 && keyCode < 112) || // numpad keys\n (keyCode > 185 && keyCode < 193) || // ;=,-./` (in order)\n (keyCode > 218 && keyCode < 223) // [\\]' (in order)\n );\n};\n\n/**\n * The elements within the combo box.\n * @typedef {Object} ComboBoxElements\n * @property {HTMLElement} comboBoxEl\n * @property {HTMLSelectElement} selectEl\n * @property {HTMLInputElement} inputEl\n * @property {HTMLUListElement} listEl\n * @property {HTMLDivElement} statusEl\n * @property {HTMLOptionElement} focusedOptionEl\n */\n\n/**\n * Get an object of elements belonging directly to the given\n * combo box component.\n *\n * @param {HTMLElement} el the element within the combo box\n * @returns {ComboBoxElements} elements\n */\nconst getComboBoxElements = el => {\n const comboBoxEl = el.closest(COMBO_BOX);\n\n if (!comboBoxEl) {\n throw new Error(`Element is missing outer ${COMBO_BOX}`);\n }\n\n const selectEl = comboBoxEl.querySelector(SELECT);\n\n if (!selectEl) {\n throw new Error(`${COMBO_BOX} is missing inner ${SELECT}`);\n }\n\n const inputEl = comboBoxEl.querySelector(INPUT);\n const listEl = comboBoxEl.querySelector(LIST);\n const statusEl = comboBoxEl.querySelector(STATUS);\n const focusedOptionEl = comboBoxEl.querySelector(LIST_OPTION_FOCUSED);\n\n return { comboBoxEl, selectEl, inputEl, listEl, statusEl, focusedOptionEl };\n};\n\n/**\n * Enhance a select element into a combo box component.\n *\n * @param {HTMLElement} el The initial element within the combo box component\n */\nconst enhanceComboBox = el => {\n const { comboBoxEl, selectEl } = getComboBoxElements(el);\n\n const selectId = selectEl.id;\n const listId = `${selectId}--list`;\n const assistiveHintID = `${selectId}--assistiveHint`;\n let placeholder = \"\";\n let selectedOption;\n const additionalAttributes = [];\n\n for (let i = 0, len = selectEl.options.length; i < len; i += 1) {\n const optionEl = selectEl.options[i];\n\n if (!placeholder && !optionEl.value) {\n placeholder = `placeholder=\"${optionEl.text}\"`;\n }\n\n if (!selectedOption && optionEl.selected && optionEl.value) {\n selectedOption = optionEl;\n }\n\n if (placeholder && selectedOption) {\n break;\n }\n }\n\n selectEl.setAttribute(\"aria-hidden\", \"true\");\n selectEl.setAttribute(\"tabindex\", \"-1\");\n selectEl.classList.add(\"usa-sr-only\");\n selectEl.id = \"\";\n\n [\"required\", \"aria-label\", \"aria-labelledby\"].forEach(name => {\n if (selectEl.hasAttribute(name)) {\n const value = selectEl.getAttribute(name);\n additionalAttributes.push(`${name}=\"${value}\"`);\n selectEl.removeAttribute(name);\n }\n });\n\n comboBoxEl.insertAdjacentHTML(\n \"beforeend\",\n [\n ``,\n `