{“version”:3,“sources”:,“names”:[“e”,“t”,“n”,“r”,“s”,“o”,“u”,“a”,“require”,“i”,“f”,“Error”,“code”,“l”,“exports”,“call”,“length”,“1”,“module”,“arr”,“fn”,“self”,“filter”,“TypeError”,“ret”,“hasOwn”,“val”,“push”,“Object”,“prototype”,“hasOwnProperty”,“2”,“ary”,“callback”,“thisArg”,“forEach”,“3”,“window”,“document”,“createElement”,“createElementNS”,“view”,“classListProp”,“protoProp”,“elemCtrProto”,“Element”,“objCtr”,“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”,“_updateClassName”,“setAttribute”,“toString”,“classListProto”,“classListGetter”,“contains”,“add”,“tokens”,“arguments”,“updated”,“remove”,“index”,“splice”,“toggle”,“force”,“result”,“method”,“join”,“defineProperty”,“classListPropDesc”,“get”,“enumerable”,“configurable”,“ex”,“undefined”,“number”,“__defineGetter__”,“testElement”,“createMethod”,“original”,“DOMTokenList”,“_toggle”,“4”,“_typeof”,“Symbol”,“iterator”,“obj”,“constructor”,“definition”,“define”,“amd”,“_listener”,“fns”,“doc”,“hack”,“documentElement”,“doScroll”,“domContentLoaded”,“loaded”,“readyState”,“addEventListener”,“removeEventListener”,“shift”,“setTimeout”,“5”,“useNative”,“Boolean”,“dataset”,“aB”,“nativeDataset”,“element”,“getter”,“value”,“setter”,“removeAttribute”,“map”,“attributes”,“j”,“attribute”,“prop”,“slice”,“charAt”,“toUpperCase”,“bind”,“set”,“6”,“ElementProto”,“matches”,“msMatchesSelector”,“mozMatchesSelector”,“webkitMatchesSelector”,“selector”,“elements”,“ownerDocument”,“querySelectorAll”,“closest”,“nodeType”,“parentNode”,“7”,“global”,“debounce”,“func”,“wait”,“options”,“invokeFunc”,“time”,“args”,“lastArgs”,“lastThis”,“lastInvokeTime”,“apply”,“leadingEdge”,“timerId”,“timerExpired”,“leading”,“remainingWait”,“timeSinceLastCall”,“lastCallTime”,“timeSinceLastInvoke”,“maxing”,“nativeMin”,“maxWait”,“shouldInvoke”,“now”,“trailingEdge”,“trailing”,“cancel”,“clearTimeout”,“flush”,“debounced”,“isInvoking”,“FUNC_ERROR_TEXT”,“toNumber”,“isObject”,“nativeMax”,“isObjectLike”,“isSymbol”,“objectToString”,“symbolTag”,“NAN”,“other”,“valueOf”,“reTrim”,“isBinary”,“reIsBinary”,“reIsOctal”,“freeParseInt”,“reIsBadHex”,“parseInt”,“freeGlobal”,“freeSelf”,“root”,“Function”,“objectProto”,“Math”,“max”,“min”,“Date”,“8”,“toObject”,“shouldUseNative”,“assign”,“test1”,“getOwnPropertyNames”,“test2”,“fromCharCode”,“order2”,“test3”,“letter”,“keys”,“err”,“getOwnPropertySymbols”,“propIsEnumerable”,“propertyIsEnumerable”,“target”,“source”,“from”,“symbols”,“to”,“key”,“9”,“delegate”,“delegateAll”,“DELEGATE_PATTERN”,“SPACE”,“getListeners”,“handler”,“match”,“capture”,“popKey”,“passive”,“listener”,“_type”,“events”,“props”,“listeners”,“reduce”,“memo”,“concat”,“../delegate”,“../delegateAll”,“object-assign”,“10”,“functions”,“some”,“11”,“event”,“element-closest”,“12”,“compose”,“SPLAT”,“selectors”,“delegates”,“../compose”,“13”,“14”,“wrapped”,“currentTarget”,“15”,“RE_TRIM”,“RE_SPLIT”,“str”,“queryById”,“id”,“querySelector”,“ids”,“getElementById”,“el”,“16”,“_defineProperty”,“writable”,“behavior”,“isElementInViewport”,“CLICK”,“PREFIX”,“prefix”,“ACCORDION”,“BUTTON”,“EXPANDED”,“MULTISELECTABLE”,“toggleButton”,“button”,“expanded”,“accordion”,“multiselectable”,“getAccordionButtons”,“showButton”,“hideButton”,“preventDefault”,“scrollIntoView”,“init”,“show”,“hide”,“getButtons”,“Accordion”,“on”,“off”,“../config”,“../events”,“../utils/behavior”,“../utils/is-in-viewport”,“../utils/toggle”,“array-filter”,“array-foreach”,“17”,“HEADER”,“EXPANDED_CLASS”,“toggleBanner”,“18”,“select”,“HIDDEN”,“SCOPE”,“NAV”,“LIST”,“HIDE_MAX_WIDTH”,“DEBOUNCE_RATE”,“showPanel”,“innerWidth”,“list”,“lists”,“resize”,“hidden”,“teardown”,“../utils/select”,“./accordion”,“lodash.debounce”,“19”,“banner”,“footer”,“navigation”,“password”,“search”,“skipnav”,“validator”,“./banner”,“./footer”,“./navigation”,“./password”,“./search”,“./skipnav”,“./validator”,“20”,“_CLICK”,“NAV_LINKS”,“OPENERS”,“CLOSE_BUTTON”,“OVERLAY”,“CLOSERS”,“TOGGLES”,“ACTIVE_CLASS”,“VISIBLE_CLASS”,“isActive”,“body”,“_focusTrap”,“trapContainer”,“trapTabKey”,“keyCode”,“shiftKey”,“activeElement”,“firstTabStop”,“lastTabStop”,“focus”,“toggleNav”,“focusableElementsString”,“focusableElements”,“enable”,“release”,“focusTrap”,“active”,“closeButton”,“menuButton”,“closer”,“getBoundingClientRect”,“width”,“acc”,“btn”,“21”,“toggleFormInput”,“LINK”,“../utils/toggle-form-input”,“22”,“ignore”,“FORM”,“INPUT”,“CONTEXT”,“VISUALLY_HIDDEN”,“lastButton”,“showSearch”,“toggleSearch”,“hideSearch”,“getForm”,“context”,“form”,“input”,“receptor/ignore”,“23”,“once”,“MAINCONTENT”,“setTabindex”,“style”,“outline”,“receptor/once”,“24”,“validate”,“change”,“keyup change”,“input”,“../utils/validate-input”,“25”,“26”,“27”,“elproto”,“HTMLElement”,“hasAttribute”,“28”,“./element-hidden”,“classlist-polyfill”,“29”,“domready”,“uswds”,“components”,“./components”,“./config”,“./polyfills”,“30”,“Behavior”,“sequence”,“seq”,“_this”,“receptor/behavior”,“31”,“win”,“docEl”,“rect”,“top”,“left”,“bottom”,“innerHeight”,“clientHeight”,“right”,“clientWidth”,“32”,“isElement”,“selection”,“33”,“field”,“mask”,“34”,“resolveIdRefs”,“toggleFieldMask”,“CONTROLS”,“PRESSED”,“SHOW_ATTR”,“HIDE_ATTR”,“getHideText”,“showText”,“pressed”,“fields”,“textContent”,“hideText”,“./select”,“./toggle-field-mask”,“resolve-id-refs”,“35”,“controls”,“36”,“CHECKED”,“CHECKED_CLASS”,“data”,“validationElement”,“checkList”,“startsWith”,“validatorName”,“substr”,“toLowerCase”,“validatorPattern”,“RegExp”,“validatorSelector”,“validatorCheckbox”,“checked”,“elem-dataset”],“mappings”:“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”,“file”:“uswds.min.js”,“sourcesContent”:[“(function(){function e(t,n,r){function s(o,u){if(!n){if(!t){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"o
"'");throw f.code="MODULE_NOT_FOUND",f}var l=n={exports:{}};t[0].call(l.exports,function(e){var n=t[1];return s(n?n:e)},l,l.exports,e,t,n,r)}return n.exports}var i=typeof require=="function"&&require;for(var o=0;oo
"'");throw f.code="MODULE_NOT_FOUND",f}var l=n={exports:{}};t[0].call(l.exports,function(e){var n=t[1];return s(n?n:e)},l,l.exports,e,t,n,r)}return n.exports}var i=typeof require=="function"&&require;for(var o=0;o]0x[0-9a-f]
$/i;nn/** Used to detect binary string values. */nvar reIsBinary = /^0b+$/i;nn/** Used to detect octal string values. */nvar reIsOctal = /^0o+$/i;nn/** Built-in method references without a dependency on `root`. */nvar freeParseInt = parseInt;nn/** Detect free variable `global` from Node.js. */nvar freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global && global.Object === Object && global;nn/** Detect free variable `self`. */nvar freeSelf = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) == 'object' && self && self.Object === Object && self;nn/** Used as a reference to the global object. */nvar root = freeGlobal || freeSelf || Function('return this')();nn/** Used for built-in method references. */nvar objectProto = Object.prototype;nn/**n * Used to resolve then * [`toStringTag`](ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)n * of values.n */nvar objectToString = objectProto.toString;nn/* Built-in method references for those with the same name as other `lodash` methods. */nvar nativeMax = Math.max,n nativeMin = Math.min;nn/**n * Gets the timestamp of the number of milliseconds that have elapsed sincen * the Unix epoch (1 January 1970 00:00:00 UTC).n *n * @staticn * @memberOf _n * @since 2.4.0n * @category Daten * @returns {number} Returns the timestamp.n * @examplen *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 now() {n return root.Date.now();n};nn/**n * Creates a debounced function that delays invoking `func` until after `wait`n * milliseconds have elapsed since the last time the debounced function wasn * invoked. The debounced function comes with a `cancel` method to canceln * delayed `func` invocations and a `flush` method to immediately invoke them.n * Provide `options` to indicate whether `func` should be invoked on then * leading and/or trailing edge of the `wait` timeout. The `func` is invokedn * with the last arguments provided to the debounced function. Subsequentn * 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` isn * invoked on the trailing edge of the timeout only if the debounced functionn * is invoked more than once during the `wait` timeout.n *n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferredn * until to the next tick, similar to `setTimeout` with a timeout of `0`.n *n * See [David Corbacho's article](css-tricks.com/debouncing-throttling-explained-examples/)n * for details over the differences between `_.debounce` and `_.throttle`.n *n * @staticn * @memberOf _n * @since 0.1.0n * @category Functionn * @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 * @examplen *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': falsen * }));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;nn 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 }nn function invokeFunc(time) {n var args = lastArgs,n thisArg = lastThis;nn lastArgs = lastThis = undefined;n lastInvokeTime = time;n result = func.apply(thisArg, args);n return result;n }nn 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 }nn function remainingWait(time) {n var timeSinceLastCall = time - lastCallTime,n timeSinceLastInvoke = time - lastInvokeTime,n result = wait - timeSinceLastCall;nn return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;n }nn function shouldInvoke(time) {n var timeSinceLastCall = time - lastCallTime,n timeSinceLastInvoke = time - lastInvokeTime;nn // Either this is the first call, activity has stopped and we're at then // trailing edge, the system time has gone backwards and we're treatingn // it as the trailing edge, or we've hit the `maxWait` limit.n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;n }nn 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 }nn function trailingEdge(time) {n timerId = undefined;nn // Only invoke if we have `lastArgs` which means `func` has beenn // debounced at least once.n if (trailing && lastArgs) {n return invokeFunc(time);n }n lastArgs = lastThis = undefined;n return result;n }nn function cancel() {n if (timerId !== undefined) {n clearTimeout(timerId);n }n lastInvokeTime = 0;n lastArgs = lastCallTime = lastThis = timerId = undefined;n }nn function flush() {n return timerId === undefined ? result : trailingEdge(now());n }nn function debounced() {n var time = now(),n isInvoking = shouldInvoke(time);nn lastArgs = arguments;n lastThis = this;n lastCallTime = time;nn 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}nn/**n * Checks if `value` is then * [language type](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 * @staticn * @memberOf _n * @since 0.1.0n * @category Langn * @param {*} value The value to check.n * @returns {boolean} Returns `true` if `value` is an object, else `false`.n * @examplen *n * _.isObject({});n * // => truen *n * _.isObject([1, 2, 3]);n * // => truen *n * .isObject(.noop);n * // => truen *n * _.isObject(null);n * // => falsen */nfunction isObject(value) {n var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);n return !!value && (type == 'object' || type == 'function');n}nn/**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 * @staticn * @memberOf _n * @since 4.0.0n * @category Langn * @param {*} value The value to check.n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.n * @examplen *n * _.isObjectLike({});n * // => truen *n * _.isObjectLike([1, 2, 3]);n * // => truen *n * .isObjectLike(.noop);n * // => falsen *n * _.isObjectLike(null);n * // => falsen */nfunction isObjectLike(value) {n return !!value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'object';n}nn/**n * Checks if `value` is classified as a `Symbol` primitive or object.n *n * @staticn * @memberOf _n * @since 4.0.0n * @category Langn * @param {*} value The value to check.n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.n * @examplen *n * _.isSymbol(Symbol.iterator);n * // => truen *n * _.isSymbol('abc');n * // => falsen */nfunction isSymbol(value) {n return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;n}nn/**n * Converts `value` to a number.n *n * @staticn * @memberOf _n * @since 4.0.0n * @category Langn * @param {*} value The value to process.n * @returns {number} Returns the number.n * @examplen *n * _.toNumber(3.2);n * // => 3.2n *n * _.toNumber(Number.MIN_VALUE);n * // => 5e-324n *n * _.toNumber(Infinity);n * // => Infinityn *n * _.toNumber('3.2');n * // => 3.2n */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) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;n}nnmodule.exports = debounce;nn}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})nn},{}],8:[function(require,module,exports){n/*nobject-assignn© Sindre Sorhusn@license MITn*/nn'use strict';n/* eslint-disable no-unused-vars */nnvar getOwnPropertySymbols = Object.getOwnPropertySymbols;nvar hasOwnProperty = Object.prototype.hasOwnProperty;nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;nnfunction toObject(val) {ntif (val === null || val === undefined) {nttthrow new TypeError('Object.assign cannot be called with null or undefined');nt}nntreturn Object(val);n}nnfunction shouldUseNative() {nttry {nttif (!Object.assign) {ntttreturn false;ntt}nntt// Detect buggy property enumeration order in older V8 versions.nntt// bugs.chromium.org/p/v8/issues/detail?id=4118nttvar test1 = new String('abc'); // eslint-disable-line no-new-wrappersntttest1 = 'de';nttif (Object.getOwnPropertyNames(test1) === '5') {ntttreturn false;ntt}nntt// bugs.chromium.org/p/v8/issues/detail?id=3056nttvar test2 = {};nttfor (var i = 0; i < 10; i++) {nttttest2['_' + String.fromCharCode(i)] = i;ntt}nttvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {ntttreturn test2;ntt});nttif (order2.join('') !== '0123456789') {ntttreturn false;ntt}nntt// bugs.chromium.org/p/v8/issues/detail?id=3056nttvar test3 = {};ntt'abcdefghijklmnopqrst'.split('').forEach(function (letter) {nttttest3 = letter;ntt});nttif (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {ntttreturn false;ntt}nnttreturn true;nt} catch (err) {ntt// We don't expect any of the above to throw, but better to be safe.nttreturn false;nt}n}nnmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {ntvar from;ntvar to = toObject(target);ntvar symbols;nntfor (var s = 1; s < arguments.length; s++) {nttfrom = Object(arguments);nnttfor (var key in from) {ntttif (hasOwnProperty.call(from, key)) {nttttto = from;nttt}ntt}nnttif (getOwnPropertySymbols) {ntttsymbols = getOwnPropertySymbols(from);ntttfor (var i = 0; i < symbols.length; i++) {nttttif (propIsEnumerable.call(from, symbols)) {ntttttto[symbols] = from[symbols];ntttt}nttt}ntt}nt}nntreturn to;n};nn},{}],9:[function(require,module,exports){n'use strict';nnvar _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };nnvar assign = require('object-assign');nvar delegate = require('../delegate');nvar delegateAll = require('../delegateAll');nnvar DELEGATE_PATTERN = /^(.+):delegate\((.+)\)$/;nvar SPACE = ' ';nnvar getListeners = function getListeners(type, handler) {n var match = type.match(DELEGATE_PATTERN);n var selector;n if (match) {n type = match;n selector = match;n }nn var options;n if ((typeof handler === 'undefined' ? 'undefined' : _typeof(handler)) === 'object') {n options = {n capture: popKey(handler, 'capture'),n passive: popKey(handler, 'passive')n };n }nn var listener = {n selector: selector,n delegate: (typeof handler === 'undefined' ? 'undefined' : _typeof(handler)) === 'object' ? delegateAll(handler) : selector ? delegate(selector, handler) : handler,n options: optionsn };nn 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};nnvar popKey = function popKey(obj, key) {n var value = obj;n delete obj;n return value;n};nnmodule.exports = function behavior(events, props) {n var listeners = Object.keys(events).reduce(function (memo, type) {n var listeners = getListeners(type, events);n return memo.concat(listeners);n }, []);nn return assign({n add: function addBehavior(element) {n listeners.forEach(function (listener) {n element.addEventListener(listener.type, listener.delegate, listener.options);n });n },n remove: function removeBehavior(element) {n listeners.forEach(function (listener) {n element.removeEventListener(listener.type, listener.delegate, listener.options);n });n }n }, props);n};nn},{"../delegate":11,"../delegateAll":12,"object-assign":8}],10:[function(require,module,exports){n"use strict";nnmodule.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};nn},{}],11:[function(require,module,exports){n'use strict';nn// polyfill Element.prototype.closestnrequire('element-closest');nnmodule.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};nn},{"element-closest":6}],12:[function(require,module,exports){n'use strict';nnvar delegate = require('../delegate');nvar compose = require('../compose');nnvar SPLAT = '*';nnmodule.exports = function delegateAll(selectors) {n var keys = Object.keys(selectors);nn // XXX optimization: if there is only one handler and it applies ton // all elements (the "*" CSS selector), then just return thatn // handlern if (keys.length === 1 && keys === SPLAT) {n return selectors;n }nn var delegates = keys.reduce(function (memo, selector) {n memo.push(delegate(selector, selectors));n return memo;n }, []);n return compose(delegates);n};nn},{"../compose":10,"../delegate":11}],13:[function(require,module,exports){n"use strict";nnmodule.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};nn},{}],14:[function(require,module,exports){n"use strict";nnmodule.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};nn},{}],15:[function(require,module,exports){n'use strict';nnvar _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };nnvar RE_TRIM = /(^\s+)|(\s+$)/g;nvar RE_SPLIT = /\s+/;nnvar trim = String.prototype.trim ? function (str) {n return str.trim();n} : function (str) {n return str.replace(RE_TRIM, '');n};nnvar queryById = function queryById(id) {n return this.querySelector('[id="' + id.replace(/"/g, '\\"') + '"]');n};nnmodule.exports = function resolveIds(ids, doc) {n if (typeof ids !== 'string') {n throw new Error('Expected a string but got ' + (typeof ids === 'undefined' ? 'undefined' : _typeof(ids)));n }nn if (!doc) {n doc = window.document;n }nn var getElementById = doc.getElementById ? doc.getElementById.bind(doc) : queryById.bind(doc);nn ids = trim(ids).split(RE_SPLIT);nn // XXX we can short-circuit here because trimming and splitting an // string of just whitespace produces an array containing a single,n // empty stringn if (ids.length === 1 && ids === '') {n return [];n }nn return ids.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};nn},{}],16:[function(require,module,exports){n'use strict';nnfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj = value; } return obj; }nnvar behavior = require('../utils/behavior');nvar filter = require('array-filter');nvar forEach = require('array-foreach');nvar toggle = require('../utils/toggle');nvar isElementInViewport = require('../utils/is-in-viewport');nnvar CLICK = require('../events').CLICK;nvar PREFIX = require('../config').prefix;nn// XXX match .usa-accordion and .usa-accordion-borderednvar ACCORDION = '.' + PREFIX + '-accordion, .' + PREFIX + '-accordion-bordered';nvar BUTTON = '.' + PREFIX + '-accordion-button';nvar EXPANDED = 'aria-expanded';nvar MULTISELECTABLE = 'aria-multiselectable';nn/**n * Toggle a button's "pressed" state, optionally providing a targetn * state.n *n * @param {HTMLButtonElement} buttonn * @param {boolean?} expanded If no state is provided, the currentn * state will be toggled (from false to true, and vice-versa).n * @return {boolean} the resulting staten */nvar toggleButton = function toggleButton(button, expanded) {n var accordion = button.closest(ACCORDION);n if (!accordion) {n throw new Error(BUTTON + ' is missing outer ' + ACCORDION);n }nn expanded = toggle(button, expanded);n // XXX multiselectable is opt-in, to preserve legacy behaviorn var multiselectable = accordion.getAttribute(MULTISELECTABLE) === 'true';nn if (expanded && !multiselectable) {n forEach(getAccordionButtons(accordion), function (other) {n if (other !== button) {n toggle(other, false);n }n });n }n};nn/**n * @param {HTMLButtonElement} buttonn * @return {boolean} truen */nvar showButton = function showButton(button) {n return toggleButton(button, true);n};nn/**n * @param {HTMLButtonElement} buttonn * @return {boolean} falsen */nvar hideButton = function hideButton(button) {n return toggleButton(button, false);n};nn/**n * Get an Array of button elements belonging directly to the givenn * accordion element.n * @param {HTMLElement} accordionn * @return {array<HTMLButtonElement>}n */nvar getAccordionButtons = function getAccordionButtons(accordion) {n return filter(accordion.querySelectorAll(BUTTON), function (button) {n return button.closest(ACCORDION) === accordion;n });n};nnvar accordion = behavior(_defineProperty({}, CLICK, _defineProperty({}, BUTTON, function (event) {n event.preventDefault();n toggleButton(this);nn if (this.getAttribute(EXPANDED) === 'true') {n // We were just expanded, but if another accordion was also justn // collapsed, we may no longer be in the viewport. This ensuresn // that we are still visible, so the user isn't confused.n if (!isElementInViewport(this)) this.scrollIntoView();n }n})), {n init: function init(root) {n forEach(root.querySelectorAll(BUTTON), function (button) {n var expanded = button.getAttribute(EXPANDED) === 'true';n toggleButton(button, expanded);n });n },n ACCORDION: ACCORDION,n BUTTON: BUTTON,n show: showButton,n hide: hideButton,n toggle: toggleButton,n getButtons: getAccordionButtonsn});nn/**n * TODO: for 2.0, remove everything below this comment and export then * behavior directly:n *n * module.exports = behavior({…});n */nvar Accordion = function Accordion(root) {n this.root = root;n accordion.on(this.root);n};nn// copy all of the behavior methods and props to Accordionnvar assign = require('object-assign');nassign(Accordion, accordion);nnAccordion.prototype.show = showButton;nAccordion.prototype.hide = hideButton;nnAccordion.prototype.remove = function () {n accordion.off(this.root);n};nnmodule.exports = Accordion;nn},{"../config":25,"../events":26,"../utils/behavior":30,"../utils/is-in-viewport":31,"../utils/toggle":35,"array-filter":1,"array-foreach":2,"object-assign":8}],17:[function(require,module,exports){n'use strict';nnfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj = value; } return obj; }nnvar behavior = require('../utils/behavior');nvar toggle = require('../utils/toggle');nnvar CLICK = require('../events').CLICK;nvar PREFIX = require('../config').prefix;nnvar HEADER = '.' + PREFIX + '-banner-header';nvar EXPANDED_CLASS = PREFIX + '-banner-header-expanded';nnvar toggleBanner = function toggleBanner(event) {n event.preventDefault();n this.closest(HEADER).classList.toggle(EXPANDED_CLASS);n return false;n};nnmodule.exports = behavior(_defineProperty({}, CLICK, _defineProperty({}, HEADER + ' [aria-controls]', toggleBanner)));nn},{"../config":25,"../events":26,"../utils/behavior":30,"../utils/toggle":35}],18:[function(require,module,exports){n'use strict';nnfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj = value; } return obj; }nnvar accordion = require('./accordion');nvar behavior = require('../utils/behavior');nvar debounce = require('lodash.debounce');nvar forEach = require('array-foreach');nvar select = require('../utils/select');nnvar CLICK = require('../events').CLICK;nvar PREFIX = require('../config').prefix;nnvar HIDDEN = 'hidden';nvar SCOPE = '.' + PREFIX + '-footer-big';nvar NAV = SCOPE + ' nav';nvar BUTTON = NAV + ' .' + PREFIX + '-footer-primary-link';nvar LIST = NAV + ' ul';nnvar HIDE_MAX_WIDTH = 600;nvar DEBOUNCE_RATE = 180;nnvar showPanel = function showPanel() {n if (window.innerWidth < HIDE_MAX_WIDTH) {n var list = this.closest(LIST);n list.classList.toggle(HIDDEN);nn // NB: this should always succeed because the buttonn // selector is scoped to ".{prefix}-footer-big nav"n var lists = list.closest(NAV).querySelectorAll('ul');nn forEach(lists, function (el) {n if (el !== list) {n el.classList.add(HIDDEN);n }n });n }n};nnvar resize = debounce(function () {n var hidden = window.innerWidth < HIDE_MAX_WIDTH;n forEach(select(LIST), function (list) {n list.classList.toggle(HIDDEN, hidden);n });n}, DEBOUNCE_RATE);nnmodule.exports = behavior(_defineProperty({}, CLICK, _defineProperty({}, BUTTON, showPanel)), {n // export for use elsewheren HIDE_MAX_WIDTH: HIDE_MAX_WIDTH,n DEBOUNCE_RATE: DEBOUNCE_RATE,nn init: function init(target) {n resize();n window.addEventListener('resize', resize);n },nn teardown: function teardown(target) {n window.removeEventListener('resize', resize);n }n});nn},{"../config":25,"../events":26,"../utils/behavior":30,"../utils/select":32,"./accordion":16,"array-foreach":2,"lodash.debounce":7}],19:[function(require,module,exports){n'use strict';nnmodule.exports = {n accordion: require('./accordion'),n banner: require('./banner'),n footer: require('./footer'),n navigation: require('./navigation'),n password: require('./password'),n search: require('./search'),n skipnav: require('./skipnav'),n validator: require('./validator')n};nn},{"./accordion":16,"./banner":17,"./footer":18,"./navigation":20,"./password":21,"./search":22,"./skipnav":23,"./validator":24}],20:[function(require,module,exports){n'use strict';nnvar _CLICK;nnfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj = value; } return obj; }nnvar behavior = require('../utils/behavior');nvar forEach = require('array-foreach');nvar select = require('../utils/select');nvar accordion = require('./accordion');nnvar CLICK = require('../events').CLICK;nvar PREFIX = require('../config').prefix;nnvar NAV = '.' + PREFIX + '-nav';nvar NAV_LINKS = NAV + ' a';nvar OPENERS = '.' + PREFIX + '-menu-btn';nvar CLOSE_BUTTON = '.' + PREFIX + '-nav-close';nvar OVERLAY = '.' + PREFIX + '-overlay';nvar CLOSERS = CLOSE_BUTTON + ', .' + PREFIX + '-overlay';nvar TOGGLES = [NAV, OVERLAY].join(', ');nnvar ACTIVE_CLASS = 'usa-mobile_nav-active';nvar VISIBLE_CLASS = 'is-visible';nnvar isActive = function isActive() {n return document.body.classList.contains(ACTIVE_CLASS);n};nnvar _focusTrap = function _focusTrap(trapContainer) {n // Find all focusable childrenn var focusableElementsString = 'a, area, input:not(), select:not(), textarea:not(), button:not(), iframe, object, embed, [tabindex="0"], [contenteditable]';n var focusableElements = trapContainer.querySelectorAll(focusableElementsString);n var firstTabStop = focusableElements;n var lastTabStop = focusableElements[focusableElements.length - 1];nn function trapTabKey(e) {n // Check for TAB key pressn if (e.keyCode === 9) {nn // SHIFT + TABn if (e.shiftKey) {n if (document.activeElement === firstTabStop) {n e.preventDefault();n lastTabStop.focus();n }nn // TABn } else {n if (document.activeElement === lastTabStop) {n e.preventDefault();n firstTabStop.focus();n }n }n }nn // ESCAPEn if (e.keyCode === 27) {n toggleNav.call(this, false);n }n }nn // Focus first childn firstTabStop.focus();nn return {n enable: function enable() {n // Listen for and trap the keyboardn trapContainer.addEventListener('keydown', trapTabKey);n },n release: function release() {n trapContainer.removeEventListener('keydown', trapTabKey);n }n };n};nnvar focusTrap = void 0;nnvar toggleNav = function toggleNav(active) {n var body = document.body;n if (typeof active !== 'boolean') {n active = !isActive();n }n body.classList.toggle(ACTIVE_CLASS, active);nn forEach(select(TOGGLES), function (el) {n el.classList.toggle(VISIBLE_CLASS, active);n });nn if (active) {n focusTrap.enable();n } else {n focusTrap.release();n }nn var closeButton = body.querySelector(CLOSE_BUTTON);n var menuButton = body.querySelector(OPENERS);nn if (active && closeButton) {n // The mobile nav was just activated, so focus on the close button,n // which is just before all the nav elements in the tab order.n closeButton.focus();n } else if (!active && document.activeElement === closeButton && menuButton) {n // The mobile nav was just deactivated, and focus was on the closen // button, which is no longer visible. We don't want the focus ton // disappear into the void, so focus on the menu button if it'sn // visible (this may have been what the user was just focused on,n // if they triggered the mobile nav by mistake).n menuButton.focus();n }nn return active;n};nnvar resize = function resize() {n var closer = document.body.querySelector(CLOSE_BUTTON);nn if (isActive() && closer && closer.getBoundingClientRect().width === 0) {n // The mobile nav is active, but the close box isn't visible, whichn // means the user's viewport has been resized so that it is no longern // in mobile mode. Let's make the page state consistent byn // deactivating the mobile nav.n toggleNav.call(closer, false);n }n};nnvar navigation = behavior(_defineProperty({}, CLICK, (_CLICK = {}, _defineProperty(_CLICK, OPENERS, toggleNav), _defineProperty(_CLICK, CLOSERS, toggleNav), _defineProperty(_CLICK, NAV_LINKS, function () {n // A navigation link has been clicked! We want to collapse anyn // hierarchical navigation UI it's a part of, so that the usern // can focus on whatever they've just selected.nn // Some navigation links are inside accordions; when they'ren // clicked, we want to collapse those accordions.n var acc = this.closest(accordion.ACCORDION);n if (acc) {n accordion.getButtons(acc).forEach(function (btn) {n return accordion.hide(btn);n });n }nn // If the mobile navigation menu is active, we want to hide it.n if (isActive()) {n toggleNav.call(this, false);n }n}), _CLICK)), {n init: function init() {n var trapContainer = document.querySelector(NAV);nn if (trapContainer) {n focusTrap = _focusTrap(trapContainer);n }nn resize();n window.addEventListener('resize', resize, false);n },n teardown: function teardown() {n window.removeEventListener('resize', resize, false);n }n});nn/**n * TODO for 2.0, remove this statement and export `navigation` directly:n *n * module.exports = behavior({…});n */nvar assign = require('object-assign');nmodule.exports = assign(function (el) {n return navigation.on(el);n}, navigation);nn},{"../config":25,"../events":26,"../utils/behavior":30,"../utils/select":32,"./accordion":16,"array-foreach":2,"object-assign":8}],21:[function(require,module,exports){n'use strict';nnfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj = value; } return obj; }nnvar behavior = require('../utils/behavior');nvar toggleFormInput = require('../utils/toggle-form-input');nnvar CLICK = require('../events').CLICK;nvar PREFIX = require('../config').prefix;nnvar LINK = '.' + PREFIX + '-show_password, .' + PREFIX + '-show_multipassword';nnvar toggle = function toggle(event) {n event.preventDefault();n toggleFormInput(this);n};nnmodule.exports = behavior(_defineProperty({}, CLICK, _defineProperty({}, LINK, toggle)));nn},{"../config":25,"../events":26,"../utils/behavior":30,"../utils/toggle-form-input":34}],22:[function(require,module,exports){n'use strict';nnfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj = value; } return obj; }nnvar behavior = require('../utils/behavior');nvar forEach = require('array-foreach');nvar ignore = require('receptor/ignore');nvar select = require('../utils/select');nnvar CLICK = require('../events').CLICK;nvar PREFIX = require('../config').prefix;nnvar BUTTON = '.js-search-button';nvar FORM = '.js-search-form';nvar INPUT = '[type=search]';nvar CONTEXT = 'header'; // XXXnvar VISUALLY_HIDDEN = PREFIX + '-sr-only';nnvar lastButton = void 0;nnvar showSearch = function showSearch(event) {n toggleSearch(this, true);n lastButton = this;n};nnvar hideSearch = function hideSearch(event) {n toggleSearch(this, false);n lastButton = undefined;n};nnvar getForm = function getForm(button) {n var context = button.closest(CONTEXT);n return context ? context.querySelector(FORM) : document.querySelector(FORM);n};nnvar toggleSearch = function toggleSearch(button, active) {n var form = getForm(button);n if (!form) {n throw new Error('No ' + FORM + ' found for search toggle in ' + CONTEXT + '!');n }nn button.hidden = active;n form.classList.toggle(VISUALLY_HIDDEN, !active);nn if (active) {n var input = form.querySelector(INPUT);n if (input) {n input.focus();n }n // when the user clicks outside of the form w/ignore(): hide then // search, then remove the listenern var listener = ignore(form, function (e) {n if (lastButton) {n hideSearch.call(lastButton);n }n document.body.removeEventListener(CLICK, listener);n });nn // Normally we would just run this code without a timeout, butn // IE11 and Edge will actually call the listener immediately becausen // they are currently handling this exact type of event, so we'lln // make sure the browser is done handling the current click event,n // if any, before we attach the listener.n setTimeout(function () {n document.body.addEventListener(CLICK, listener);n }, 0);n }n};nnvar search = behavior(_defineProperty({}, CLICK, _defineProperty({}, BUTTON, showSearch)), {n init: function init(target) {n forEach(select(BUTTON, target), function (button) {n toggleSearch(button, false);n });n },n teardown: function teardown(target) {n // forget the last button clickedn lastButton = undefined;n }n});nn/**n * TODO for 2.0, remove this statement and export `navigation` directly:n *n * module.exports = behavior({…});n */nvar assign = require('object-assign');nmodule.exports = assign(function (el) {n return search.on(el);n}, search);nn},{"../config":25,"../events":26,"../utils/behavior":30,"../utils/select":32,"array-foreach":2,"object-assign":8,"receptor/ignore":13}],23:[function(require,module,exports){n'use strict';nnfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj = value; } return obj; }nnvar behavior = require('../utils/behavior');nvar once = require('receptor/once');nnvar CLICK = require('../events').CLICK;nvar PREFIX = require('../config').prefix;nvar LINK = '.' + PREFIX + '-skipnav, .' + PREFIX + '-footer-return-to-top [href^="#"]';nvar MAINCONTENT = 'main-content';nnvar setTabindex = function setTabindex(event) {n // NB: we know because of the selector we're delegating to below that then // href already begins with '#'n var id = this.getAttribute('href');n var target = document.getElementById(id === '#' ? MAINCONTENT : id.slice(1));nn if (target) {n target.style.outline = '0';n target.setAttribute('tabindex', 0);n target.focus();n target.addEventListener('blur', once(function (event) {n target.setAttribute('tabindex', -1);n }));n } else {n // throw an error?n }n};nnmodule.exports = behavior(_defineProperty({}, CLICK, _defineProperty({}, LINK, setTabindex)));nn},{"../config":25,"../events":26,"../utils/behavior":30,"receptor/once":14}],24:[function(require,module,exports){n'use strict';nnvar behavior = require('../utils/behavior');nvar validate = require('../utils/validate-input');nvar debounce = require('lodash.debounce');nnvar change = function change(event) {n return validate(this);n};nnvar validator = behavior({n 'keyup change': {n 'input': changen }n});nn/**n * TODO for 2.0, remove this statement and export `navigation` directly:n *n * module.exports = behavior({…});n */nvar assign = require('object-assign');nmodule.exports = assign(function (el) {n return validator.on(el);n}, validator);nn},{"../utils/behavior":30,"../utils/validate-input":36,"lodash.debounce":7,"object-assign":8}],25:[function(require,module,exports){n'use strict';nnmodule.exports = {n prefix: 'usa'n};nn},{}],26:[function(require,module,exports){n'use strict';nnmodule.exports = {n // This used to be conditionally dependent on whether then // browser supported touch events; if it did, `CLICK` was set ton // `touchstart`. However, this had downsides:n //n // * It pre-empted mobile browsers' default behavior of detectingn // whether a touch turned into a scroll, thereby preventingn // users from using some of our components as scroll surfaces.n //n // * Some devices, such as the Microsoft Surface Pro, support bothn // touch and clicks. This meant the conditional effectively droppedn // support for the user's mouse, frustrating users who preferredn // it on those systems.n CLICK: 'click'n};nn},{}],27:[function(require,module,exports){n'use strict';nnvar elproto = window.HTMLElement.prototype;nvar HIDDEN = 'hidden';nnif (!(HIDDEN in elproto)) {n Object.defineProperty(elproto, HIDDEN, {n get: function get() {n return this.hasAttribute(HIDDEN);n },n set: function set(value) {n if (value) {n this.setAttribute(HIDDEN, '');n } else {n this.removeAttribute(HIDDEN);n }n }n });n}nn},{}],28:[function(require,module,exports){n'use strict';n// polyfills HTMLElement.prototype.classList and DOMTokenListnnrequire('classlist-polyfill');n// polyfills HTMLElement.prototype.hiddennrequire('./element-hidden');nn},{"./element-hidden":27,"classlist-polyfill":3}],29:[function(require,module,exports){n'use strict';nnvar domready = require('domready');nn/**n * The 'polyfills' define key ECMAScript 5 methods that may be missing fromn * older browsers, so must be loaded first.n */nrequire('./polyfills');nnvar uswds = require('./config');nnvar components = require('./components');nuswds.components = components;nndomready(function () {n var target = document.body;n for (var name in components) {n var behavior = components;n behavior.on(target);n }n});nnmodule.exports = uswds;nn},{"./components":19,"./config":25,"./polyfills":28,"domready":4}],30:[function(require,module,exports){n'use strict';nnvar assign = require('object-assign');nvar forEach = require('array-foreach');nvar Behavior = require('receptor/behavior');nnvar sequence = function sequence() {n var seq = [].slice.call(arguments);n return function (target) {n var _this = this;nn if (!target) {n target = document.body;n }n forEach(seq, function (method) {n if (typeof _this === 'function') {n _this.call(_this, target);n }n });n };n};nn/**n * @name behaviorn * @param {object} eventsn * @param {object?} propsn * @return {receptor.behavior}n */nmodule.exports = function (events, props) {n return Behavior(events, assign({n on: sequence('init', 'add'),n off: sequence('teardown', 'remove')n }, props));n};nn},{"array-foreach":2,"object-assign":8,"receptor/behavior":9}],31:[function(require,module,exports){n"use strict";nn// stackoverflow.com/a/7557433nfunction isElementInViewport(el) {n var win = arguments.length > 1 && arguments !== undefined ? arguments : window;n var docEl = arguments.length > 2 && arguments !== undefined ? arguments : document.documentElement;nn var rect = el.getBoundingClientRect();nn return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (win.innerHeight || docEl.clientHeight) && rect.right <= (win.innerWidth || docEl.clientWidth);n}nnmodule.exports = isElementInViewport;nn},{}],32:[function(require,module,exports){n'use strict';nn/**n * @name isElementn * @desc returns whether or not the given argument is a DOM element.n * @param {any} valuen * @return {boolean}n */nnvar _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };nnvar isElement = function isElement(value) {n return value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && value.nodeType === 1;n};nn/**n * @name selectn * @desc selects elements from the DOM by class selector or ID selector.n * @param {string} selector - The selector to traverse the DOM with.n * @param {Document|HTMLElement?} context - The context to traverse the DOMn * in. If not provided, it defaults to the document.n * @return {HTMLElement[]} - An array of DOM nodes or an empty array.n */nmodule.exports = function select(selector, context) {nn if (typeof selector !== 'string') {n return [];n }nn if (!context || !isElement(context)) {n context = window.document;n }nn var selection = context.querySelectorAll(selector);n return Array.prototype.slice.call(selection);n};nn},{}],33:[function(require,module,exports){n'use strict';nn/**n * Flips given INPUT elements between masked (hiding the field value) and unmaskedn * @param {Array.HTMLElement} fields - An array of INPUT elementsn * @param {Boolean} mask - Whether the mask should be applied, hiding the field valuen */nmodule.exports = function (field, mask) {n field.setAttribute('autocapitalize', 'off');n field.setAttribute('autocorrect', 'off');n field.setAttribute('type', mask ? 'password' : 'text');n};nn},{}],34:[function(require,module,exports){n'use strict';nnvar forEach = require('array-foreach');nvar resolveIdRefs = require('resolve-id-refs');nvar select = require('./select');nvar toggleFieldMask = require('./toggle-field-mask');nnvar CONTROLS = 'aria-controls';nvar PRESSED = 'aria-pressed';nvar SHOW_ATTR = 'data-show-text';nvar HIDE_ATTR = 'data-hide-text';nn/**n * Replace the word "Show" (or "show") with "Hide" (or "hide") in a string.n * @param {string} showTextn * @return {strong} hideTextn */nvar getHideText = function getHideText(showText) {n return showText.replace(/\bShow\b/i, function (show) {n return ('S' === show ? 'H' : 'h') + 'ide';n });n};nn/**n * Component that decorates an HTML element with the ability to toggle then * masked state of an input field (like a password) when clicked.n * The ids of the fields to be masked will be pulled directly from the button'sn * `aria-controls` attribute.n *n * @param {HTMLElement} el Parent element containing the fields to be maskedn * @return {boolean}n */nmodule.exports = function (el) {n // this is the target state:n // * if the element has the attr and it's !== "true", pressed is truen // * otherwise, pressed is falsen var pressed = el.hasAttribute(PRESSED) && el.getAttribute(PRESSED) !== 'true';nn var fields = resolveIdRefs(el.getAttribute(CONTROLS));n forEach(fields, function (field) {n return toggleFieldMask(field, pressed);n });nn if (!el.hasAttribute(SHOW_ATTR)) {n el.setAttribute(SHOW_ATTR, el.textContent);n }nn var showText = el.getAttribute(SHOW_ATTR);n var hideText = el.getAttribute(HIDE_ATTR) || getHideText(showText);nn el.textContent = pressed ? showText : hideText;n el.setAttribute(PRESSED, pressed);n return pressed;n};nn},{"./select":32,"./toggle-field-mask":33,"array-foreach":2,"resolve-id-refs":15}],35:[function(require,module,exports){n'use strict';nnvar EXPANDED = 'aria-expanded';nvar CONTROLS = 'aria-controls';nvar HIDDEN = 'aria-hidden';nnmodule.exports = function (button, expanded) {nn if (typeof expanded !== 'boolean') {n expanded = button.getAttribute(EXPANDED) === 'false';n }n button.setAttribute(EXPANDED, expanded);nn var id = button.getAttribute(CONTROLS);n var controls = document.getElementById(id);n if (!controls) {n throw new Error('No toggle target found with id: "' + id + '"');n }nn controls.setAttribute(HIDDEN, !expanded);n return expanded;n};nn},{}],36:[function(require,module,exports){n'use strict';nnvar dataset = require('elem-dataset');nnvar PREFIX = require('../config').prefix;nvar CHECKED = 'aria-checked';nvar CHECKED_CLASS = PREFIX + '-checklist-checked';nnmodule.exports = function validate(el) {n var data = dataset(el);n var id = data.validationElement;n var checkList = id.charAt(0) === '#' ? document.querySelector(id) : document.getElementById(id);nn if (!checkList) {n throw new Error('No validation element found with id: "' + id + '"');n }nn for (var key in data) {n if (key.startsWith('validate')) {n var validatorName = key.substr('validate'.length).toLowerCase();n var validatorPattern = new RegExp(data);n var validatorSelector = '[data-validator="' + validatorName + '"]';n var validatorCheckbox = checkList.querySelector(validatorSelector);n if (!validatorCheckbox) {n throw new Error('No validator checkbox found for: "' + validatorName + '"');n }nn var checked = validatorPattern.test(el.value);n validatorCheckbox.classList.toggle(CHECKED_CLASS, checked);n validatorCheckbox.setAttribute(CHECKED, checked);n }n }n};nn},{"../config":25,"elem-dataset":5}]},{},[29])nn”,“n/**n * Array#filter.n *n * @param {Array} arrn * @param {Function} fnn * @param {Object=} selfn * @return {Array}n * @throw TypeErrorn */nnmodule.exports = function (arr, fn, self) {n if (arr.filter) return arr.filter(fn, self);n if (void 0 === arr || null === arr) throw new TypeError;n if ('function' != typeof fn) throw new TypeError;n var ret = [];n for (var i = 0; i < arr.length; i++) {n if (!hasOwn.call(arr, i)) continue;n var val = arr;n if (fn.call(self, val, i, arr)) ret.push(val);n }n return ret;n};nnvar hasOwn = Object.prototype.hasOwnProperty;n”,“/**n * array-foreachn * Array#forEach ponyfill for older browsersn * (Ponyfill: A polyfill that doesn't overwrite the native method)n * n * github.com/twada/array-foreachn *n * Copyright © 2015-2016 Takuto Wadan * Licensed under the MIT license.n * github.com/twada/array-foreach/blob/master/MIT-LICENSEn */n'use strict';nnmodule.exports = function forEach (ary, callback, thisArg) {n if (ary.forEach) {n ary.forEach(callback, thisArg);n return;n }n for (var i = 0; i < ary.length; i+=1) {n callback.call(thisArg, ary, i, ary);n }n};n”,“/*n * classList.js: Cross-browser full element.classList implementation.n * 1.1.20170427n *n * By Eli Grey, eligrey.comn * License: Dedicated to the public domain.n * See github.com/eligrey/classList.js/blob/master/LICENSE.mdn */nn/*global self, document, DOMException */nn/*! @source purl.eligrey.com/github/classList.js/blob/master/classList.js */nnif ("document" in window.self) {nn// Full polyfill for browsers with no classList supportn// Including IE < Edge missing SVGElement.classListnif (!("classList" in document.createElement("_")) nt|| document.createElementNS && !("classList" in document.createElementNS("http://www.w3.org/2000/svg","g"))) {nn(function (view) {nn"use strict";nnif (!('Element' in view)) return;nnvarnt classListProp = "classList"nt, protoProp = "prototype"nt, elemCtrProto = view.Elementnt, objCtr = Objectnt, strTrim = String.trim || function () {nttreturn this.replace(/^\s+|\s+$/g, "");nt}nt, arrIndexOf = Array.indexOf || function (item) {nttvarnttt i = 0nttt, len = this.lengthntt;nttfor (; i < len; i++) {ntttif (i in this && this === item) {nttttreturn i;nttt}ntt}nttreturn -1;nt}nt// Vendors: please allow content code to instantiate DOMExceptionsnt, DOMEx = function (type, message) {nttthis.name = type;nttthis.code = DOMException;nttthis.message = message;nt}nt, checkTokenAndGetIndex = function (classList, token) {nttif (token === "") {ntttthrow new DOMEx(ntttt "SYNTAX_ERR"ntttt, "An invalid or illegal string was specified"nttt);ntt}nttif (/\s/.test(token)) {ntttthrow new DOMEx(ntttt "INVALID_CHARACTER_ERR"ntttt, "String contains an invalid character"nttt);ntt}nttreturn arrIndexOf.call(classList, token);nt}nt, ClassList = function (elem) {nttvarnttt trimmedClasses = strTrim.call(elem.getAttribute("class") || "")nttt, classes = trimmedClasses ? trimmedClasses.split(/\s+/) : []nttt, i = 0nttt, len = classes.lengthntt;nttfor (; i < len; i++) {ntttthis.push(classes);ntt}nttthis._updateClassName = function () {ntttelem.setAttribute("class", this.toString());ntt};nt}nt, classListProto = ClassList = []nt, classListGetter = function () {nttreturn new ClassList(this);nt}n;n// Most DOMException implementations don't allow calling DOMException's toString()n// on non-DOMExceptions. Error's toString() is sufficient here.nDOMEx = Error;nclassListProto.item = function (i) {ntreturn this || null;n};nclassListProto.contains = function (token) {nttoken += "";ntreturn checkTokenAndGetIndex(this, token) !== -1;n};nclassListProto.add = function () {ntvarntt tokens = argumentsntt, i = 0ntt, l = tokens.lengthntt, tokenntt, updated = falsent;ntdo {ntttoken = tokens + "";nttif (checkTokenAndGetIndex(this, token) === -1) {ntttthis.push(token);ntttupdated = true;ntt}nt}ntwhile (++i < l);nntif (updated) {nttthis._updateClassName();nt}n};nclassListProto.remove = function () {ntvarntt tokens = argumentsntt, i = 0ntt, l = tokens.lengthntt, tokenntt, updated = falsentt, indexnt;ntdo {ntttoken = tokens + "";nttindex = checkTokenAndGetIndex(this, token);nttwhile (index !== -1) {ntttthis.splice(index, 1);ntttupdated = true;ntttindex = checkTokenAndGetIndex(this, token);ntt}nt}ntwhile (++i < l);nntif (updated) {nttthis._updateClassName();nt}n};nclassListProto.toggle = function (token, force) {nttoken += "";nntvarntt result = this.contains(token)ntt, method = result ?ntttforce !== true && "remove"ntt:ntttforce !== false && "add"nt;nntif (method) {nttthis(token);nt}nntif (force === true || force === false) {nttreturn force;nt} else {nttreturn !result;nt}n};nclassListProto.toString = function () {ntreturn this.join(" ");n};nnif (objCtr.defineProperty) {ntvar classListPropDesc = {ntt get: classListGetterntt, enumerable: truentt, configurable: truent};nttry {nttobjCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);nt} catch (ex) { // IE 8 doesn't support enumerable:truentt// adding undefined to fight this issue github.com/eligrey/classList.js/issues/36ntt// modernie IE8-MSW7 machine has IE8 8.0.6001.18702 and is affectednttif (ex.number === undefined || ex.number === -0x7FF5EC54) {ntttclassListPropDesc.enumerable = false;ntttobjCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);ntt}nt}n} else if (objCtr.__defineGetter__) {ntelemCtrProto.__defineGetter__(classListProp, classListGetter);n}nn}(window.self));nn}nn// There is full or partial native classList support, so just check if we needn// to normalize the add/remove and toggle APIs.nn(function () {nt"use strict";nntvar testElement = document.createElement("_");nnttestElement.classList.add("c1", "c2");nnt// Polyfill for IE 10/11 and Firefox <26, where classList.add andnt// classList.remove exist but support only one argument at a time.ntif (!testElement.classList.contains("c2")) {nttvar createMethod = function(method) {ntttvar original = DOMTokenList.prototype;nntttDOMTokenList.prototype = function(token) {nttttvar i, len = arguments.length;nnttttfor (i = 0; i < len; i++) {nttttttoken = arguments;ntttttoriginal.call(this, token);ntttt}nttt};ntt};nttcreateMethod('add');nttcreateMethod('remove');nt}nnttestElement.classList.toggle("c3", false);nnt// Polyfill for IE 10 and Firefox <24, where classList.toggle does notnt// support the second argument.ntif (testElement.classList.contains("c3")) {nttvar _toggle = DOMTokenList.prototype.toggle;nnttDOMTokenList.prototype.toggle = function(token, force) {ntttif (1 in arguments && !this.contains(token) === !force) {nttttreturn force;nttt} else {nttttreturn _toggle.call(this, token);nttt}ntt};nnt}nnttestElement = null;n}());nn}n”,“/*!n * domready © Dustin Diaz 2014 - License MITn */n!function (name, definition) {nn if (typeof module != 'undefined') module.exports = definition()n else if (typeof define == 'function' && typeof define.amd == 'object') define(definition)n else this = definition()nn}('domready', function () {nn var fns = [], listenern , doc = documentn , hack = doc.documentElement.doScrolln , domContentLoaded = 'DOMContentLoaded'n , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState)nnn if (!loaded)n doc.addEventListener(domContentLoaded, listener = function () {n doc.removeEventListener(domContentLoaded, listener)n loaded = 1n while (listener = fns.shift()) listener()n })nn return function (fn) {n loaded ? setTimeout(fn, 0) : fns.push(fn)n }nn});n”,“'use strict';nn// <3 Modernizrn// raw.githubusercontent.com/Modernizr/Modernizr/master/feature-detects/dom/dataset.jsnnfunction useNative() {ntvar elem = document.createElement('div');ntelem.setAttribute('data-a-b', 'c');nntreturn Boolean(elem.dataset && elem.dataset.aB === 'c');n}nnfunction nativeDataset(element) {ntreturn element.dataset;n}nnmodule.exports = useNative() ? nativeDataset : function (element) {ntvar map = {};ntvar attributes = element.attributes;nntfunction getter() {nttreturn this.value;nt}nntfunction setter(name, value) {nttif (typeof value === 'undefined') {ntttthis.removeAttribute(name);ntt} else {ntttthis.setAttribute(name, value);ntt}nt}nntfor (var i = 0, j = attributes.length; i < j; i++) {nttvar attribute = attributes;nnttif (attribute) {ntttvar name = attribute.name;nntttif (name.indexOf('data-') === 0) {nttttvar prop = name.slice(5).replace(/-./g, function (u) {ntttttreturn u.charAt(1).toUpperCase();ntttt});nnttttvar value = attribute.value;nnttttObject.defineProperty(map, prop, {ntttttenumerable: true,ntttttget: getter.bind({ value: value || '' }),ntttttset: setter.bind(element, name)ntttt});nttt}ntt}nt}nntreturn map;n};nn”,“// element-closest | CC0-1.0 | github.com/jonathantneal/closestnn(function (ElementProto) {ntif (typeof ElementProto.matches !== 'function') {nttElementProto.matches = ElementProto.msMatchesSelector || ElementProto.mozMatchesSelector || ElementProto.webkitMatchesSelector || function matches(selector) {ntttvar element = this;ntttvar elements = (element.document || element.ownerDocument).querySelectorAll(selector);ntttvar index = 0;nntttwhile (elements && elements !== element) {ntttt++index;nttt}nntttreturn Boolean(elements);ntt};nt}nntif (typeof ElementProto.closest !== 'function') {nttElementProto.closest = function closest(selector) {ntttvar element = this;nntttwhile (element && element.nodeType === 1) {nttttif (element.matches(selector)) {ntttttreturn element;ntttt}nnttttelement = element.parentNode;nttt}nntttreturn null;ntt};nt}n})(window.Element.prototype);n”,“/**n * lodash (Custom Build) <n“>jquery.org/>n]0x[0-9a-f]
$/i;nn/** Used to detect binary string values. */nvar reIsBinary = /^0b+$/i;nn/** Used to detect octal string values. */nvar reIsOctal = /^0o+$/i;nn/** Built-in method references without a dependency on `root`. */nvar freeParseInt = parseInt;nn/** Detect free variable `global` from Node.js. */nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;nn/** Detect free variable `self`. */nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;nn/** Used as a reference to the global object. */nvar root = freeGlobal || freeSelf || Function('return this')();nn/** Used for built-in method references. */nvar objectProto = Object.prototype;nn/**n * Used to resolve then * [`toStringTag`](ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)n * of values.n */nvar objectToString = objectProto.toString;nn/* Built-in method references for those with the same name as other `lodash` methods. */nvar nativeMax = Math.max,n nativeMin = Math.min;nn/**n * Gets the timestamp of the number of milliseconds that have elapsed sincen * the Unix epoch (1 January 1970 00:00:00 UTC).n *n * @staticn * @memberOf _n * @since 2.4.0n * @category Daten * @returns {number} Returns the timestamp.n * @examplen *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};nn/**n * Creates a debounced function that delays invoking `func` until after `wait`n * milliseconds have elapsed since the last time the debounced function wasn * invoked. The debounced function comes with a `cancel` method to canceln * delayed `func` invocations and a `flush` method to immediately invoke them.n * Provide `options` to indicate whether `func` should be invoked on then * leading and/or trailing edge of the `wait` timeout. The `func` is invokedn * with the last arguments provided to the debounced function. Subsequentn * 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` isn * invoked on the trailing edge of the timeout only if the debounced functionn * is invoked more than once during the `wait` timeout.n *n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferredn * until to the next tick, similar to `setTimeout` with a timeout of `0`.n *n * See [David Corbacho's article](css-tricks.com/debouncing-throttling-explained-examples/)n * for details over the differences between `_.debounce` and `_.throttle`.n *n * @staticn * @memberOf _n * @since 0.1.0n * @category Functionn * @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 * @examplen *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': falsen * }));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;nn 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 }nn function invokeFunc(time) {n var args = lastArgs,n thisArg = lastThis;nn lastArgs = lastThis = undefined;n lastInvokeTime = time;n result = func.apply(thisArg, args);n return result;n }nn 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 }nn function remainingWait(time) {n var timeSinceLastCall = time - lastCallTime,n timeSinceLastInvoke = time - lastInvokeTime,n result = wait - timeSinceLastCall;nn return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;n }nn function shouldInvoke(time) {n var timeSinceLastCall = time - lastCallTime,n timeSinceLastInvoke = time - lastInvokeTime;nn // Either this is the first call, activity has stopped and we're at then // trailing edge, the system time has gone backwards and we're treatingn // 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 }nn 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 }nn function trailingEdge(time) {n timerId = undefined;nn // Only invoke if we have `lastArgs` which means `func` has beenn // debounced at least once.n if (trailing && lastArgs) {n return invokeFunc(time);n }n lastArgs = lastThis = undefined;n return result;n }nn function cancel() {n if (timerId !== undefined) {n clearTimeout(timerId);n }n lastInvokeTime = 0;n lastArgs = lastCallTime = lastThis = timerId = undefined;n }nn function flush() {n return timerId === undefined ? result : trailingEdge(now());n }nn function debounced() {n var time = now(),n isInvoking = shouldInvoke(time);nn lastArgs = arguments;n lastThis = this;n lastCallTime = time;nn 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}nn/**n * Checks if `value` is then * [language type](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 * @staticn * @memberOf _n * @since 0.1.0n * @category Langn * @param {*} value The value to check.n * @returns {boolean} Returns `true` if `value` is an object, else `false`.n * @examplen *n * _.isObject({});n * // => truen *n * _.isObject([1, 2, 3]);n * // => truen *n * .isObject(.noop);n * // => truen *n * _.isObject(null);n * // => falsen */nfunction isObject(value) {n var type = typeof value;n return !!value && (type == 'object' || type == 'function');n}nn/**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 * @staticn * @memberOf _n * @since 4.0.0n * @category Langn * @param {*} value The value to check.n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.n * @examplen *n * _.isObjectLike({});n * // => truen *n * _.isObjectLike([1, 2, 3]);n * // => truen *n * .isObjectLike(.noop);n * // => falsen *n * _.isObjectLike(null);n * // => falsen */nfunction isObjectLike(value) {n return !!value && typeof value == 'object';n}nn/**n * Checks if `value` is classified as a `Symbol` primitive or object.n *n * @staticn * @memberOf _n * @since 4.0.0n * @category Langn * @param {*} value The value to check.n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.n * @examplen *n * _.isSymbol(Symbol.iterator);n * // => truen *n * _.isSymbol('abc');n * // => falsen */nfunction isSymbol(value) {n return typeof value == 'symbol' ||n (isObjectLike(value) && objectToString.call(value) == symbolTag);n}nn/**n * Converts `value` to a number.n *n * @staticn * @memberOf _n * @since 4.0.0n * @category Langn * @param {*} value The value to process.n * @returns {number} Returns the number.n * @examplen *n * _.toNumber(3.2);n * // => 3.2n *n * _.toNumber(Number.MIN_VALUE);n * // => 5e-324n *n * _.toNumber(Infinity);n * // => Infinityn *n * _.toNumber('3.2');n * // => 3.2n */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}nnmodule.exports = debounce;n”,“/*nobject-assignn© Sindre Sorhusn@license MITn*/nn'use strict';n/* eslint-disable no-unused-vars */nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;nvar hasOwnProperty = Object.prototype.hasOwnProperty;nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;nnfunction toObject(val) {ntif (val === null || val === undefined) {nttthrow new TypeError('Object.assign cannot be called with null or undefined');nt}nntreturn Object(val);n}nnfunction shouldUseNative() {nttry {nttif (!Object.assign) {ntttreturn false;ntt}nntt// Detect buggy property enumeration order in older V8 versions.nntt// bugs.chromium.org/p/v8/issues/detail?id=4118nttvar test1 = new String('abc'); // eslint-disable-line no-new-wrappersntttest1 = 'de';nttif (Object.getOwnPropertyNames(test1) === '5') {ntttreturn false;ntt}nntt// bugs.chromium.org/p/v8/issues/detail?id=3056nttvar test2 = {};nttfor (var i = 0; i < 10; i++) {nttttest2['_' + String.fromCharCode(i)] = i;ntt}nttvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {ntttreturn test2;ntt});nttif (order2.join('') !== '0123456789') {ntttreturn false;ntt}nntt// bugs.chromium.org/p/v8/issues/detail?id=3056nttvar test3 = {};ntt'abcdefghijklmnopqrst'.split('').forEach(function (letter) {nttttest3 = letter;ntt});nttif (Object.keys(Object.assign({}, test3)).join('') !==ntttt'abcdefghijklmnopqrst') {ntttreturn false;ntt}nnttreturn true;nt} catch (err) {ntt// We don't expect any of the above to throw, but better to be safe.nttreturn false;nt}n}nnmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {ntvar from;ntvar to = toObject(target);ntvar symbols;nntfor (var s = 1; s < arguments.length; s++) {nttfrom = Object(arguments);nnttfor (var key in from) {ntttif (hasOwnProperty.call(from, key)) {nttttto = from;nttt}ntt}nnttif (getOwnPropertySymbols) {ntttsymbols = getOwnPropertySymbols(from);ntttfor (var i = 0; i < symbols.length; i++) {nttttif (propIsEnumerable.call(from, symbols)) {ntttttto[symbols] = from[symbols];ntttt}nttt}ntt}nt}nntreturn to;n};n”,“const assign = require('object-assign');nconst delegate = require('../delegate');nconst delegateAll = require('../delegateAll');nnconst DELEGATE_PATTERN = /^(.+):delegate\((.+)\)$/;nconst SPACE = ' ';nnconst getListeners = function(type, handler) {n var match = type.match(DELEGATE_PATTERN);n var selector;n if (match) {n type = match;n selector = match;n }nn var options;n if (typeof handler === 'object') {n options = {n capture: popKey(handler, 'capture'),n passive: popKey(handler, 'passive')n };n }nn var listener = {n selector: selector,n delegate: (typeof handler === 'object')n ? delegateAll(handler)n : selectorn ? delegate(selector, handler)n : handler,n options: optionsn };nn 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};nnvar popKey = function(obj, key) {n var value = obj;n delete obj;n return value;n};nnmodule.exports = function behavior(events, props) {n const listeners = Object.keys(events)n .reduce(function(memo, type) {n var listeners = getListeners(type, events);n return memo.concat(listeners);n }, []);nn return assign({n add: function addBehavior(element) {n listeners.forEach(function(listener) {n element.addEventListener(n listener.type,n listener.delegate,n listener.optionsn );n });n },n remove: function removeBehavior(element) {n listeners.forEach(function(listener) {n element.removeEventListener(n listener.type,n listener.delegate,n listener.optionsn );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.closestnrequire('element-closest');nnmodule.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');nnconst SPLAT = '*';nnmodule.exports = function delegateAll(selectors) {n const keys = Object.keys(selectors)nn // XXX optimization: if there is only one handler and it applies ton // all elements (the "*" CSS selector), then just return thatn // handlern if (keys.length === 1 && keys === SPLAT) {n return selectors;n }nn const delegates = keys.reduce(function(memo, selector) {n memo.push(delegate(selector, selectors));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 = 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};nn”,“'use strict';nnvar RE_TRIM = /(^\s+)|(\s+$)/g;nvar RE_SPLIT = /\s+/;nnvar trim = String.prototype.trimn ? function(str) { return str.trim(); }n : function(str) { return str.replace(RE_TRIM, ''); };nnvar queryById = function(id) {n return this.querySelector('[id="' + id.replace(/"/g, '\\"') + '"]');n};nnmodule.exports = function resolveIds(ids, doc) {n if (typeof ids !== 'string') {n throw new Error('Expected a string but got ' + (typeof ids));n }nn if (!doc) {n doc = window.document;n }nn var getElementById = doc.getElementByIdn ? doc.getElementById.bind(doc)n : queryById.bind(doc);nn ids = trim(ids).split(RE_SPLIT);nn // XXX we can short-circuit here because trimming and splitting an // string of just whitespace produces an array containing a single,n // empty stringn if (ids.length === 1 && ids === '') {n return [];n }nn return idsn .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”,“'use strict';nconst behavior = require('../utils/behavior');nconst filter = require('array-filter');nconst forEach = require('array-foreach');nconst toggle = require('../utils/toggle');nconst isElementInViewport = require('../utils/is-in-viewport');nnconst CLICK = require('../events').CLICK;nconst PREFIX = require('../config').prefix;nn// XXX match .usa-accordion and .usa-accordion-borderednconst ACCORDION = `.${PREFIX}-accordion, .${PREFIX}-accordion-bordered`;nconst BUTTON = `.${PREFIX}-accordion-button`;nconst EXPANDED = 'aria-expanded';nconst MULTISELECTABLE = 'aria-multiselectable';nn/**n * Toggle a button's "pressed" state, optionally providing a targetn * state.n *n * @param {HTMLButtonElement} buttonn * @param {boolean?} expanded If no state is provided, the currentn * state will be toggled (from false to true, and vice-versa).n * @return {boolean} the resulting staten */nconst toggleButton = (button, expanded) => {n var accordion = button.closest(ACCORDION);n if (!accordion) {n throw new Error(`${BUTTON} is missing outer ${ACCORDION}`);n }nn expanded = toggle(button, expanded);n // XXX multiselectable is opt-in, to preserve legacy behaviorn const multiselectable = accordion.getAttribute(MULTISELECTABLE) === 'true';nn if (expanded && !multiselectable) {n forEach(getAccordionButtons(accordion), other => {n if (other !== button) {n toggle(other, false);n }n });n }n};nn/**n * @param {HTMLButtonElement} buttonn * @return {boolean} truen */nconst showButton = button => toggleButton(button, true);nn/**n * @param {HTMLButtonElement} buttonn * @return {boolean} falsen */nconst hideButton = button => toggleButton(button, false);nn/**n * Get an Array of button elements belonging directly to the givenn * accordion element.n * @param {HTMLElement} accordionn * @return {array<HTMLButtonElement>}n */nconst getAccordionButtons = accordion => {n return filter(accordion.querySelectorAll(BUTTON), button => {n return button.closest(ACCORDION) === accordion;n });n};nnconst accordion = behavior({n [ CLICK ]: {n [ BUTTON ]: function (event) {n event.preventDefault();n toggleButton(this);nn if (this.getAttribute(EXPANDED) === 'true') {n // We were just expanded, but if another accordion was also justn // collapsed, we may no longer be in the viewport. This ensuresn // that we are still visible, so the user isn't confused.n if (!isElementInViewport(this)) this.scrollIntoView();n }n },n },n}, {n init: root => {n forEach(root.querySelectorAll(BUTTON), 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});nn/**n * TODO: for 2.0, remove everything below this comment and export then * behavior directly:n *n * module.exports = behavior({…});n */nconst Accordion = function (root) {n this.root = root;n accordion.on(this.root);n};nn// copy all of the behavior methods and props to Accordionnconst assign = require('object-assign');nassign(Accordion, accordion);nnAccordion.prototype.show = showButton;nAccordion.prototype.hide = hideButton;nnAccordion.prototype.remove = function () {n accordion.off(this.root);n};nnmodule.exports = Accordion;n”,“'use strict';nconst behavior = require('../utils/behavior');nconst toggle = require('../utils/toggle');nnconst CLICK = require('../events').CLICK;nconst PREFIX = require('../config').prefix;nnconst HEADER = `.${PREFIX}-banner-header`;nconst EXPANDED_CLASS = `${PREFIX}-banner-header-expanded`;nnconst toggleBanner = function (event) {n event.preventDefault();n this.closest(HEADER).classList.toggle(EXPANDED_CLASS);n return false;n};nnmodule.exports = behavior({n [ CLICK ]: {n [ `${HEADER} [aria-controls]` ]: toggleBanner,n },n});n”,“'use strict';nconst accordion = require('./accordion');nconst behavior = require('../utils/behavior');nconst debounce = require('lodash.debounce');nconst forEach = require('array-foreach');nconst select = require('../utils/select');nnconst CLICK = require('../events').CLICK;nconst PREFIX = require('../config').prefix;nnconst HIDDEN = 'hidden';nconst SCOPE = `.${PREFIX}-footer-big`;nconst NAV = `${SCOPE} nav`;nconst BUTTON = `${NAV} .${PREFIX}-footer-primary-link`;nconst LIST = `${NAV} ul`;nnconst HIDE_MAX_WIDTH = 600;nconst DEBOUNCE_RATE = 180;nnconst showPanel = function () {n if (window.innerWidth < HIDE_MAX_WIDTH) {n const list = this.closest(LIST);n list.classList.toggle(HIDDEN);nn // NB: this should always succeed because the buttonn // selector is scoped to ".{prefix}-footer-big nav"n const lists = list.closest(NAV)n .querySelectorAll('ul');nn forEach(lists, el => {n if (el !== list) {n el.classList.add(HIDDEN);n }n });n }n};nnconst resize = debounce(() => {n const hidden = window.innerWidth < HIDE_MAX_WIDTH;n forEach(select(LIST), list => {n list.classList.toggle(HIDDEN, hidden);n });n}, DEBOUNCE_RATE);nnmodule.exports = behavior({n [ CLICK ]: {n [ BUTTON ]: showPanel,n },n}, {n // export for use elsewheren HIDE_MAX_WIDTH,n DEBOUNCE_RATE,nn init: target => {n resize();n window.addEventListener('resize', resize);n },nn teardown: target => {n window.removeEventListener('resize', resize);n },n});n”,“module.exports = {n accordion: require('./accordion'),n banner: require('./banner'),n footer: require('./footer'),n navigation: require('./navigation'),n password: require('./password'),n search: require('./search'),n skipnav: require('./skipnav'),n validator: require('./validator'),n};nn”,“'use strict';nconst behavior = require('../utils/behavior');nconst forEach = require('array-foreach');nconst select = require('../utils/select');nconst accordion = require('./accordion');nnconst CLICK = require('../events').CLICK;nconst PREFIX = require('../config').prefix;nnconst NAV = `.${PREFIX}-nav`;nconst NAV_LINKS = `${NAV} a`;nconst OPENERS = `.${PREFIX}-menu-btn`;nconst CLOSE_BUTTON = `.${PREFIX}-nav-close`;nconst OVERLAY = `.${PREFIX}-overlay`;nconst CLOSERS = `${CLOSE_BUTTON}, .${PREFIX}-overlay`;nconst TOGGLES = [ NAV, OVERLAY ].join(', ');nnconst ACTIVE_CLASS = 'usa-mobile_nav-active';nconst VISIBLE_CLASS = 'is-visible';nnconst isActive = () => document.body.classList.contains(ACTIVE_CLASS);nnconst _focusTrap = (trapContainer) => {n // Find all focusable childrenn const focusableElementsString = 'a, area, input:not(), select:not(), textarea:not(), button:not(), iframe, object, embed, [tabindex="0"], [contenteditable]';n const focusableElements = trapContainer.querySelectorAll(focusableElementsString);n const firstTabStop = focusableElements[ 0 ];n const lastTabStop = focusableElements[ focusableElements.length - 1 ];nn function trapTabKey (e) {n // Check for TAB key pressn if (e.keyCode === 9) {nn // SHIFT + TABn if (e.shiftKey) {n if (document.activeElement === firstTabStop) {n e.preventDefault();n lastTabStop.focus();n }nn // TABn } else {n if (document.activeElement === lastTabStop) {n e.preventDefault();n firstTabStop.focus();n }n }n }nn // ESCAPEn if (e.keyCode === 27) {n toggleNav.call(this, false);n }n }nn // Focus first childn firstTabStop.focus();nn return {n enable () {n // Listen for and trap the keyboardn trapContainer.addEventListener('keydown', trapTabKey);n },nn release () {n trapContainer.removeEventListener('keydown', trapTabKey);n },n };n};nnlet focusTrap;nnconst toggleNav = function (active) {n const body = document.body;n if (typeof active !== 'boolean') {n active = !isActive();n }n body.classList.toggle(ACTIVE_CLASS, active);nn forEach(select(TOGGLES), el => {n el.classList.toggle(VISIBLE_CLASS, active);n });nn if (active) {n focusTrap.enable();n } else {n focusTrap.release();n }nn const closeButton = body.querySelector(CLOSE_BUTTON);n const menuButton = body.querySelector(OPENERS);nn if (active && closeButton) {n // The mobile nav was just activated, so focus on the close button,n // which is just before all the nav elements in the tab order.n closeButton.focus();n } else if (!active && document.activeElement === closeButton &&n menuButton) {n // The mobile nav was just deactivated, and focus was on the closen // button, which is no longer visible. We don't want the focus ton // disappear into the void, so focus on the menu button if it'sn // visible (this may have been what the user was just focused on,n // if they triggered the mobile nav by mistake).n menuButton.focus();n }nn return active;n};nnconst resize = () => {n const closer = document.body.querySelector(CLOSE_BUTTON);nn if (isActive() && closer && closer.getBoundingClientRect().width === 0) {n // The mobile nav is active, but the close box isn't visible, whichn // means the user's viewport has been resized so that it is no longern // in mobile mode. Let's make the page state consistent byn // deactivating the mobile nav.n toggleNav.call(closer, false);n }n};nnconst navigation = behavior({n [ CLICK ]: {n [ OPENERS ]: toggleNav,n [ CLOSERS ]: toggleNav,n [ NAV_LINKS ]: function () {n // A navigation link has been clicked! We want to collapse anyn // hierarchical navigation UI it's a part of, so that the usern // can focus on whatever they've just selected.nn // Some navigation links are inside accordions; when they'ren // clicked, we want to collapse those accordions.n const acc = this.closest(accordion.ACCORDION);n if (acc) {n accordion.getButtons(acc).forEach(btn => accordion.hide(btn));n }nn // If the mobile navigation menu is active, we want to hide it.n if (isActive()) {n toggleNav.call(this, false);n }n },n },n}, {n init () {n const trapContainer = document.querySelector(NAV);nn if (trapContainer) {n focusTrap = _focusTrap(trapContainer);n }nn resize();n window.addEventListener('resize', resize, false);n },n teardown () {n window.removeEventListener('resize', resize, false);n },n});nn/**n * TODO for 2.0, remove this statement and export `navigation` directly:n *n * module.exports = behavior({…});n */nconst assign = require('object-assign');nmodule.exports = assign(n el => navigation.on(el),n navigationn);n”,“'use strict';nconst behavior = require('../utils/behavior');nconst toggleFormInput = require('../utils/toggle-form-input');nnconst CLICK = require('../events').CLICK;nconst PREFIX = require('../config').prefix;nnconst LINK = `.${PREFIX}-show_password, .${PREFIX}-show_multipassword`;nnconst toggle = function (event) {n event.preventDefault();n toggleFormInput(this);n};nnmodule.exports = behavior({n [ CLICK ]: {n [ LINK ]: toggle,n },n});n”,“'use strict';nconst behavior = require('../utils/behavior');nconst forEach = require('array-foreach');nconst ignore = require('receptor/ignore');nconst select = require('../utils/select');nnconst CLICK = require('../events').CLICK;nconst PREFIX = require('../config').prefix;nnconst BUTTON = '.js-search-button';nconst FORM = '.js-search-form';nconst INPUT = '[type=search]';nconst CONTEXT = 'header'; // XXXnconst VISUALLY_HIDDEN = `${PREFIX}-sr-only`;nnlet lastButton;nnconst showSearch = function (event) {n toggleSearch(this, true);n lastButton = this;n};nnconst hideSearch = function (event) {n toggleSearch(this, false);n lastButton = undefined;n};nnconst getForm = button => {n const context = button.closest(CONTEXT);n return contextn ? context.querySelector(FORM)n : document.querySelector(FORM);n};nnconst toggleSearch = (button, active) => {n const form = getForm(button);n if (!form) {n throw new Error(`No ${FORM} found for search toggle in ${CONTEXT}!`);n }nn button.hidden = active;n form.classList.toggle(VISUALLY_HIDDEN, !active);nn if (active) {n const input = form.querySelector(INPUT);n if (input) {n input.focus();n }n // when the user clicks outside of the form w/ignore(): hide then // search, then remove the listenern const listener = ignore(form, e => {n if (lastButton) {n hideSearch.call(lastButton);n }n document.body.removeEventListener(CLICK, listener);n });nn // Normally we would just run this code without a timeout, butn // IE11 and Edge will actually call the listener immediately becausen // they are currently handling this exact type of event, so we'lln // make sure the browser is done handling the current click event,n // if any, before we attach the listener.n setTimeout(() => {n document.body.addEventListener(CLICK, listener);n }, 0);n }n};nnconst search = behavior({n [ CLICK ]: {n [ BUTTON ]: showSearch,n },n}, {n init: (target) => {n forEach(select(BUTTON, target), button => {n toggleSearch(button, false);n });n },n teardown: (target) => {n // forget the last button clickedn lastButton = undefined;n },n});nn/**n * TODO for 2.0, remove this statement and export `navigation` directly:n *n * module.exports = behavior({…});n */nconst assign = require('object-assign');nmodule.exports = assign(n el => search.on(el),n searchn);n”,“'use strict';nconst behavior = require('../utils/behavior');nconst once = require('receptor/once');nnconst CLICK = require('../events').CLICK;nconst PREFIX = require('../config').prefix;nconst LINK = `.${PREFIX}-skipnav, .${PREFIX}-footer-return-to-top [href^="#"]`;nconst MAINCONTENT = 'main-content';nnconst setTabindex = function (event) {n // NB: we know because of the selector we're delegating to below that then // href already begins with '#'n const id = this.getAttribute('href');n const target = document.getElementById((id === '#') ? MAINCONTENT : id.slice(1));nn if (target) {n target.style.outline = '0';n target.setAttribute('tabindex', 0);n target.focus();n target.addEventListener('blur', once(event => {n target.setAttribute('tabindex', -1);n }));n } else {n // throw an error?n }n};nnmodule.exports = behavior({n [ CLICK ]: {n [ LINK ]: setTabindex,n },n});n”,“'use strict';nconst behavior = require('../utils/behavior');nconst validate = require('../utils/validate-input');nconst debounce = require('lodash.debounce');nnconst change = function (event) {n return validate(this);n};nnconst validator = behavior({n 'keyup change': {n 'input': change,n },n});nn/**n * TODO for 2.0, remove this statement and export `navigation` directly:n *n * module.exports = behavior({…});n */nconst assign = require('object-assign');nmodule.exports = assign(n el => validator.on(el),n validatorn);n”,“module.exports = {n prefix: 'usa',n};n”,“module.exports = {n // This used to be conditionally dependent on whether then // browser supported touch events; if it did, `CLICK` was set ton // `touchstart`. However, this had downsides:n //n // * It pre-empted mobile browsers' default behavior of detectingn // whether a touch turned into a scroll, thereby preventingn // users from using some of our components as scroll surfaces.n //n // * Some devices, such as the Microsoft Surface Pro, support bothn // touch and clicks. This meant the conditional effectively droppedn // support for the user's mouse, frustrating users who preferredn // it on those systems.n CLICK: 'click',n};n”,“'use strict';nconst elproto = window.HTMLElement.prototype;nconst HIDDEN = 'hidden';nnif (!(HIDDEN in elproto)) {n Object.defineProperty(elproto, HIDDEN, {n get: function () {n return this.hasAttribute(HIDDEN);n },n set: function (value) {n if (value) {n this.setAttribute(HIDDEN, '');n } else {n this.removeAttribute(HIDDEN);n }n },n });n}n”,“'use strict';n// polyfills HTMLElement.prototype.classList and DOMTokenListnrequire('classlist-polyfill');n// polyfills HTMLElement.prototype.hiddennrequire('./element-hidden');n”,“'use strict';nconst domready = require('domready');nn/**n * The 'polyfills' define key ECMAScript 5 methods that may be missing fromn * older browsers, so must be loaded first.n */nrequire('./polyfills');nnconst uswds = require('./config');nnconst components = require('./components');nuswds.components = components;nndomready(() => {n const target = document.body;n for (let name in components) {n const behavior = components[ name ];n behavior.on(target);n }n});nnmodule.exports = uswds;n”,“'use strict';nconst assign = require('object-assign');nconst forEach = require('array-foreach');nconst Behavior = require('receptor/behavior');nnconst sequence = function () {n const seq = [].slice.call(arguments);n return function (target) {n if (!target) {n target = document.body;n }n forEach(seq, method => {n if (typeof this[ method ] === 'function') {n this[ method ].call(this, target);n }n });n };n};nn/**n * @name behaviorn * @param {object} eventsn * @param {object?} propsn * @return {receptor.behavior}n */nmodule.exports = (events, props) => {n return Behavior(events, assign({n on: sequence('init', 'add'),n off: sequence('teardown', 'remove'),n }, props));n};n”,“// stackoverflow.com/a/7557433nfunction isElementInViewport (el, win=window,n docEl=document.documentElement) {n var rect = el.getBoundingClientRect();nn return (n rect.top >= 0 &&n rect.left >= 0 &&n rect.bottom <= (win.innerHeight || docEl.clientHeight) &&n rect.right <= (win.innerWidth || docEl.clientWidth)n );n}nnmodule.exports = isElementInViewport;n”,“'use strict';nn/**n * @name isElementn * @desc returns whether or not the given argument is a DOM element.n * @param {any} valuen * @return {boolean}n */nconst isElement = value => {n return value && typeof value === 'object' && value.nodeType === 1;n};nn/**n * @name selectn * @desc selects elements from the DOM by class selector or ID selector.n * @param {string} selector - The selector to traverse the DOM with.n * @param {Document|HTMLElement?} context - The context to traverse the DOMn * in. If not provided, it defaults to the document.n * @return {HTMLElement[]} - An array of DOM nodes or an empty array.n */nmodule.exports = function select (selector, context) {nn if (typeof selector !== 'string') {n return [];n }nn if (!context || !isElement(context)) {n context = window.document;n }nn const selection = context.querySelectorAll(selector);n return Array.prototype.slice.call(selection);n};n”,“/**n * Flips given INPUT elements between masked (hiding the field value) and unmaskedn * @param {Array.HTMLElement} fields - An array of INPUT elementsn * @param {Boolean} mask - Whether the mask should be applied, hiding the field valuen */nmodule.exports = (field, mask) => {n field.setAttribute('autocapitalize', 'off');n field.setAttribute('autocorrect', 'off');n field.setAttribute('type', mask ? 'password' : 'text');n};n”,“'use strict';nconst forEach = require('array-foreach');nconst resolveIdRefs = require('resolve-id-refs');nconst select = require('./select');nconst toggleFieldMask = require('./toggle-field-mask');nnconst CONTROLS = 'aria-controls';nconst PRESSED = 'aria-pressed';nconst SHOW_ATTR = 'data-show-text';nconst HIDE_ATTR = 'data-hide-text';nn/**n * Replace the word "Show" (or "show") with "Hide" (or "hide") in a string.n * @param {string} showTextn * @return {strong} hideTextn */nconst getHideText = showText => {n return showText.replace(/\bShow\b/i, show => {n return ('S' === show[ 0 ] ? 'H' : 'h') + 'ide';n });n};nn/**n * Component that decorates an HTML element with the ability to toggle then * masked state of an input field (like a password) when clicked.n * The ids of the fields to be masked will be pulled directly from the button'sn * `aria-controls` attribute.n *n * @param {HTMLElement} el Parent element containing the fields to be maskedn * @return {boolean}n */nmodule.exports = el => {n // this is the target state:n // * if the element has the attr and it's !== "true", pressed is truen // * otherwise, pressed is falsen const pressed = el.hasAttribute(PRESSED)n && el.getAttribute(PRESSED) !== 'true';nn const fields = resolveIdRefs(el.getAttribute(CONTROLS));n forEach(fields, field => toggleFieldMask(field, pressed));nn if (!el.hasAttribute(SHOW_ATTR)) {n el.setAttribute(SHOW_ATTR, el.textContent);n }nn const showText = el.getAttribute(SHOW_ATTR);n const hideText = el.getAttribute(HIDE_ATTR) || getHideText(showText);nn el.textContent = pressed ? showText : hideText;n el.setAttribute(PRESSED, pressed);n return pressed;n};n”,“'use strict';nconst EXPANDED = 'aria-expanded';nconst CONTROLS = 'aria-controls';nconst HIDDEN = 'aria-hidden';nnmodule.exports = (button, expanded) => {nn if (typeof expanded !== 'boolean') {n expanded = button.getAttribute(EXPANDED) === 'false';n }n button.setAttribute(EXPANDED, expanded);nn const id = button.getAttribute(CONTROLS);n const controls = document.getElementById(id);n if (!controls) {n throw new Error(n 'No toggle target found with id: "' + id + '"'n );n }nn controls.setAttribute(HIDDEN, !expanded);n return expanded;n};n”,“'use strict';nconst dataset = require('elem-dataset');nnconst PREFIX = require('../config').prefix;nconst CHECKED = 'aria-checked';nconst CHECKED_CLASS = `${PREFIX}-checklist-checked`;nnmodule.exports = function validate (el) {n const data = dataset(el);n const id = data.validationElement;n const checkList = id.charAt(0) === '#'n ? document.querySelector(id)n : document.getElementById(id);nn if (!checkList) {n throw new Error(n `No validation element found with id: "${id}"`n );n }nn for (const key in data) {n if (key.startsWith('validate')) {n const validatorName = key.substr('validate'.length).toLowerCase();n const validatorPattern = new RegExp(data[ key ]);n const validatorSelector = `[data-validator="${validatorName}"]`;n const validatorCheckbox = checkList.querySelector(validatorSelector);n if (!validatorCheckbox) {n throw new Error(n `No validator checkbox found for: "${validatorName}"`n );n }nn const checked = validatorPattern.test(el.value);n validatorCheckbox.classList.toggle(CHECKED_CLASS, checked);n validatorCheckbox.setAttribute(CHECKED, checked);n }n }n};n”]}