{"version":3,"sources":["webpack://elevations-credit-union/./node_modules/@reach/descendants/dist/reach-descendants.esm.js","webpack://elevations-credit-union/./node_modules/@reach/utils/context/dist/reach-utils-context.esm.js","webpack://elevations-credit-union/./node_modules/decode-uri-component/index.js","webpack://elevations-credit-union/./node_modules/filter-obj/index.js","webpack://elevations-credit-union/./node_modules/query-string/index.js","webpack://elevations-credit-union/./node_modules/split-on-first/index.js","webpack://elevations-credit-union/./node_modules/strict-uri-encode/index.js","webpack://elevations-credit-union/./node_modules/@reach/utils/computed-styles/dist/reach-utils-computed-styles.esm.js","webpack://elevations-credit-union/./node_modules/@reach/tabs/dist/reach-tabs.esm.js","webpack://elevations-credit-union/./node_modules/@reach/utils/use-controlled-state/dist/reach-utils-use-controlled-state.esm.js","webpack://elevations-credit-union/./node_modules/@reach/utils/clone-valid-element/dist/reach-utils-clone-valid-element.esm.js","webpack://elevations-credit-union/./node_modules/@reach/utils/use-update-effect/dist/reach-utils-use-update-effect.esm.js","webpack://elevations-credit-union/./src/components/tabs/Tabs.module.scss","webpack://elevations-credit-union/./src/components/tabs/Tabs.js","webpack://elevations-credit-union/./src/components/login/Login.module.scss","webpack://elevations-credit-union/./src/components/login/Login.js","webpack://elevations-credit-union/./src/containers/login.js","webpack://elevations-credit-union/./src/containers/login.module.scss","webpack://elevations-credit-union/./src/templates/staticTemplate.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","createDescendantContext","name","initialValue","descendants","registerDescendant","unregisterDescendant","useDescendant","descendant","context","indexProp","forceUpdate","_React$useContext","useContext","index","findIndex","item","element","previousDescendants","someDescendantsHaveChanged","some","_previousDescendants$","concat","values","useDescendantsInit","useState","useDescendants","ctx","DescendantProvider","_ref","Ctx","children","items","set","useCallback","_ref2","explicitIndex","rest","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","newItems","find","Boolean","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","newItem","slice","map","filter","createElement","Provider","value","useMemo","useDescendantKeyDown","options","callback","currentIndex","_options$key","_options$orientation","orientation","_options$rotate","rotate","_options$rtl","rtl","event","includes","selectableDescendants","preventDefault","next","getNextOption","prev","getPreviousOption","nextOrPrev","prevOrNext","prevOrFirst","ctrlKey","getFirstOption","first","nextOrLast","getLastOption","last","createNamedContext","defaultValue","createContext","token","singleMatcher","RegExp","multiMatcher","decodeComponents","components","split","decodeURIComponent","join","err","left","right","Array","decode","input","tokens","match","module","exports","encodedURI","TypeError","replace","replaceMap","exec","result","entries","customDecodeURIComponent","obj","predicate","ret","isArr","isArray","val","_slicedToArray","_toConsumableArray","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","minLen","_arrayLikeToArray","n","toString","constructor","from","test","_unsupportedIterableToArray","F","s","done","e","_e","f","normalCompletion","didErr","step","_e2","return","arr","len","arr2","strictUriEncode","decodeComponent","splitOnFirst","filterObject","validateArrayFormatSeparator","encode","strict","encodeURIComponent","keysSorter","sort","a","b","Number","removeHash","hashStart","extract","queryStart","parseValue","parseNumbers","isNaN","trim","parseBooleans","toLowerCase","parse","query","arrayFormat","arrayFormatSeparator","formatter","accumulator","undefined","isEncodedArray","newValue","parserForArrayFormat","create","_step","_iterator","param","_splitOnFirst","_splitOnFirst2","_key","_value","_i","_Object$keys","_i2","_Object$keys2","k","reduce","stringify","object","shouldFilter","skipNull","skipEmptyString","encoderForArrayFormat","objectCopy","_i3","_Object$keys3","x","parseUrl","url","_splitOnFirst3","_splitOnFirst4","url_","hash","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","queryString","getHash","pick","_exports$parseUrl","exclude","exclusionFilter","string","separator","separatorIndex","str","charCodeAt","toUpperCase","getComputedStyle","styleProp","_getComputedStyles","ownerWindow","getComputedStyles","getPropertyValue","TabsKeyboardActivation","TabsOrientation","TabsDescendantsContext","TabPanelDescendantsContext","TabsContext","forwardRef","ref","_props$id","_ref$as","as","Comp","defaultIndex","_ref$orientation","Horizontal","_ref$index","controlledIndex","_ref$keyboardActivati","keyboardActivation","Auto","onChange","_ref$readOnly","readOnly","props","isControlled","useRef","controlledValue","controlledRef","_useState","valueState","setValue","_id","id","userInteractedRef","selectedPanelRef","isRTL","_useControlledState","current","selectedIndex","setSelectedIndex","_React$useState","focusedIndex","setFocusedIndex","_useDescendantsInit","tabs","setTabs","onFocusPanel","focus","onSelectTab","onSelectTabWithKeyboard","Manual","tabElement","TabListImpl","forwardedRef","_ref2$as","onKeyDown","ownRef","useEffect","ownerDocument","dir","handleKeyDown","tab","disabled","_tabs$selectedIndex","role","Children","child","_len","isValidElement","cloneElement","cloneValidElement","isSelected","memo","_ref3","effect","deps","mounted","_ref3$as","onBlur","onFocus","_React$useContext2","tabsId","htmlType","type","tabIndex","onClick","TabPanelsImpl","_ref4","_ref4$as","_useDescendantsInit2","tabPanels","setTabPanels","_ref5","_ref5$as","_React$useContext3","readyToHide","hidden","Tabs","className","classNames","data-qa","List","Tab","Panels","Panel","HorizontalLink","LoginTab","LoginActions","Login","activeTab","onSetActiveTabUrl","t","useTranslation","personalValidationSchema","userid","required","password","errorsPersonal","useForm","errors","inputRefs","createRef","timer","setTimeout","clearInterval","classes","Heading","size","Fragment","styles","method","action","process","autoComplete","noValidate","encType","label","error","formatError","variant","alt","fullWidth","distribution","Link","to","LoginPage","location","pageContext","i18n","pageTitle","pagePath","backgroundImagePath","loginType","search","staticPage","title","urlPath","setActiveTabUrl","activeIndex","navigate","normalizePagePath","locale","language","defaultLocale","fallbackLng","navMenus","pathname","menu","subnav","showSubnav","langKey","Helmet","rel","href","style","backgroundImage","StaticTemplate","useStaticQuery","allContentfulNavigationMenu","edges","acc","edge","node","node_locale","content","navigationItems","internal","JSON","propTypes","PropTypes"],"mappings":"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","file":"0a2694403899ef0ecf5a752287ca1d2a4f46118e-8040057405a74ad95aa0.js","sourcesContent":["import { useContext, useState, useCallback, createElement, useMemo } from 'react';\nimport { useForceUpdate } from '@reach/utils/use-force-update';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { usePrevious } from '@reach/utils/use-previous';\nimport { createNamedContext } from '@reach/utils/context';\nimport { noop } from '@reach/utils/noop';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction createDescendantContext(name, initialValue) {\n if (initialValue === void 0) {\n initialValue = {};\n }\n\n var descendants = [];\n return createNamedContext(name, _extends({\n descendants: descendants,\n registerDescendant: noop,\n unregisterDescendant: noop\n }, initialValue));\n}\n/**\n * This hook registers our descendant by passing it into an array. We can then\n * search that array by to find its index when registering it in the component.\n * We use this for focus management, keyboard navigation, and typeahead\n * functionality for some components.\n *\n * The hook accepts the element node and (optionally) a key. The key is useful\n * if multiple descendants have identical text values and we need to\n * differentiate siblings for some reason.\n *\n * Our main goals with this are:\n * 1) maximum composability,\n * 2) minimal API friction\n * 3) SSR compatibility*\n * 4) concurrent safe\n * 5) index always up-to-date with the tree despite changes\n * 6) works with memoization of any component in the tree (hopefully)\n *\n * * As for SSR, the good news is that we don't actually need the index on the\n * server for most use-cases, as we are only using it to determine the order of\n * composed descendants for keyboard navigation. However, in the few cases where\n * this is not the case, we can require an explicit index from the app.\n */\n\n\nfunction useDescendant(descendant, context, indexProp) {\n var forceUpdate = useForceUpdate();\n\n var _React$useContext = useContext(context),\n registerDescendant = _React$useContext.registerDescendant,\n unregisterDescendant = _React$useContext.unregisterDescendant,\n descendants = _React$useContext.descendants; // This will initially return -1 because we haven't registered the descendant\n // on the first render. After we register, this will then return the correct\n // index on the following render and we will re-register descendants\n // so that everything is up-to-date before the user interacts with a\n // collection.\n\n\n var index = indexProp != null ? indexProp : descendants.findIndex(function (item) {\n return item.element === descendant.element;\n });\n var previousDescendants = usePrevious(descendants); // We also need to re-register descendants any time ANY of the other\n // descendants have changed. My brain was melting when I wrote this and it\n // feels a little off, but checking in render and using the result in the\n // effect's dependency array works well enough.\n\n var someDescendantsHaveChanged = descendants.some(function (descendant, index) {\n var _previousDescendants$;\n\n return descendant.element !== (previousDescendants == null ? void 0 : (_previousDescendants$ = previousDescendants[index]) == null ? void 0 : _previousDescendants$.element);\n }); // Prevent any flashing\n\n useIsomorphicLayoutEffect(function () {\n if (!descendant.element) forceUpdate();\n registerDescendant(_extends({}, descendant, {\n index: index\n }));\n return function () {\n return unregisterDescendant(descendant.element);\n }; // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [forceUpdate, index, registerDescendant, someDescendantsHaveChanged, unregisterDescendant].concat(Object.values(descendant)));\n return index;\n}\n\nfunction useDescendantsInit() {\n return useState([]);\n}\n\nfunction useDescendants(ctx) {\n return useContext(ctx).descendants;\n}\n\nfunction DescendantProvider(_ref) {\n var Ctx = _ref.context,\n children = _ref.children,\n items = _ref.items,\n set = _ref.set;\n var registerDescendant = useCallback(function (_ref2) {\n var element = _ref2.element,\n explicitIndex = _ref2.index,\n rest = _objectWithoutPropertiesLoose(_ref2, [\"element\", \"index\"]);\n\n if (!element) {\n return;\n }\n\n set(function (items) {\n var newItems;\n\n if (explicitIndex != null) {\n newItems = [].concat(items, [_extends({}, rest, {\n element: element,\n index: explicitIndex\n })]);\n } else if (items.length === 0) {\n // If there are no items, register at index 0 and bail.\n newItems = [].concat(items, [_extends({}, rest, {\n element: element,\n index: 0\n })]);\n } else if (items.find(function (item) {\n return item.element === element;\n })) {\n // If the element is already registered, just use the same array\n newItems = items;\n } else {\n // When registering a descendant, we need to make sure we insert in\n // into the array in the same order that it appears in the DOM. So as\n // new descendants are added or maybe some are removed, we always know\n // that the array is up-to-date and correct.\n //\n // So here we look at our registered descendants and see if the new\n // element we are adding appears earlier than an existing descendant's\n // DOM node via `node.compareDocumentPosition`. If it does, we insert\n // the new element at this index. Because `registerDescendant` will be\n // called in an effect every time the descendants state value changes,\n // we should be sure that this index is accurate when descendent\n // elements come or go from our component.\n var index = items.findIndex(function (item) {\n if (!item.element || !element) {\n return false;\n } // Does this element's DOM node appear before another item in the\n // array in our DOM tree? If so, return true to grab the index at\n // this point in the array so we know where to insert the new\n // element.\n\n\n return Boolean(item.element.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_PRECEDING);\n });\n\n var newItem = _extends({}, rest, {\n element: element,\n index: index\n }); // If an index is not found we will push the element to the end.\n\n\n if (index === -1) {\n newItems = [].concat(items, [newItem]);\n } else {\n newItems = [].concat(items.slice(0, index), [newItem], items.slice(index));\n }\n }\n\n return newItems.map(function (item, index) {\n return _extends({}, item, {\n index: index\n });\n });\n });\n }, // set is a state setter initialized by the useDescendantsInit hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n var unregisterDescendant = useCallback(function (element) {\n if (!element) {\n return;\n }\n\n set(function (items) {\n return items.filter(function (item) {\n return element !== item.element;\n });\n });\n }, // set is a state setter initialized by the useDescendantsInit hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n return /*#__PURE__*/createElement(Ctx.Provider, {\n value: useMemo(function () {\n return {\n descendants: items,\n registerDescendant: registerDescendant,\n unregisterDescendant: unregisterDescendant\n };\n }, [items, registerDescendant, unregisterDescendant])\n }, children);\n}\n/**\n * Testing this as an abstraction for compound components that use keyboard\n * navigation. Hoping this will help us prevent bugs and mismatched behavior\n * across various components, but it may also prove to be too messy of an\n * abstraction in the end.\n *\n * Currently used in:\n * - Tabs\n * - Accordion\n *\n * @param context\n * @param options\n */\n\n\nfunction useDescendantKeyDown(context, options) {\n var _React$useContext2 = useContext(context),\n descendants = _React$useContext2.descendants;\n\n var callback = options.callback,\n currentIndex = options.currentIndex,\n filter = options.filter,\n _options$key = options.key,\n key = _options$key === void 0 ? \"index\" : _options$key,\n _options$orientation = options.orientation,\n orientation = _options$orientation === void 0 ? \"vertical\" : _options$orientation,\n _options$rotate = options.rotate,\n rotate = _options$rotate === void 0 ? true : _options$rotate,\n _options$rtl = options.rtl,\n rtl = _options$rtl === void 0 ? false : _options$rtl;\n return function handleKeyDown(event) {\n if (![\"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\", \"PageUp\", \"PageDown\", \"Home\", \"End\"].includes(event.key)) {\n return;\n }\n\n var index = currentIndex != null ? currentIndex : -1; // If we use a filter function, we need to re-index our descendants array\n // so that filtered descendent elements aren't selected.\n\n var selectableDescendants = filter ? descendants.filter(filter) : descendants; // Current index should map to the updated array vs. the original\n // descendants array.\n\n if (filter) {\n index = selectableDescendants.findIndex(function (descendant) {\n return descendant.index === currentIndex;\n });\n } // We need some options for any of this to work!\n\n\n if (!selectableDescendants.length) {\n return;\n }\n\n function getNextOption() {\n var atBottom = index === selectableDescendants.length - 1;\n return atBottom ? rotate ? getFirstOption() : selectableDescendants[index] : selectableDescendants[(index + 1) % selectableDescendants.length];\n }\n\n function getPreviousOption() {\n var atTop = index === 0;\n return atTop ? rotate ? getLastOption() : selectableDescendants[index] : selectableDescendants[(index - 1 + selectableDescendants.length) % selectableDescendants.length];\n }\n\n function getFirstOption() {\n return selectableDescendants[0];\n }\n\n function getLastOption() {\n return selectableDescendants[selectableDescendants.length - 1];\n }\n\n switch (event.key) {\n case \"ArrowDown\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n var next = getNextOption();\n callback(key === \"option\" ? next : next[key]);\n }\n\n break;\n\n case \"ArrowUp\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n var prev = getPreviousOption();\n callback(key === \"option\" ? prev : prev[key]);\n }\n\n break;\n\n case \"ArrowLeft\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n var nextOrPrev = (rtl ? getNextOption : getPreviousOption)();\n callback(key === \"option\" ? nextOrPrev : nextOrPrev[key]);\n }\n\n break;\n\n case \"ArrowRight\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n var prevOrNext = (rtl ? getPreviousOption : getNextOption)();\n callback(key === \"option\" ? prevOrNext : prevOrNext[key]);\n }\n\n break;\n\n case \"PageUp\":\n event.preventDefault();\n var prevOrFirst = (event.ctrlKey ? getPreviousOption : getFirstOption)();\n callback(key === \"option\" ? prevOrFirst : prevOrFirst[key]);\n break;\n\n case \"Home\":\n event.preventDefault();\n var first = getFirstOption();\n callback(key === \"option\" ? first : first[key]);\n break;\n\n case \"PageDown\":\n event.preventDefault();\n var nextOrLast = (event.ctrlKey ? getNextOption : getLastOption)();\n callback(key === \"option\" ? nextOrLast : nextOrLast[key]);\n break;\n\n case \"End\":\n event.preventDefault();\n var last = getLastOption();\n callback(key === \"option\" ? last : last[key]);\n break;\n }\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n\nexport { DescendantProvider, createDescendantContext, useDescendant, useDescendantKeyDown, useDescendants, useDescendantsInit };","import { createContext } from 'react';\n\nfunction createNamedContext(name, defaultValue) {\n var Ctx = /*#__PURE__*/createContext(defaultValue);\n\n if (process.env.NODE_ENV !== \"production\") {\n Ctx.displayName = name;\n }\n\n return Ctx;\n}\n\nexport { createNamedContext };","'use strict';\n\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp(token, 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n try {\n // Try to decode the entire string first\n return decodeURIComponent(components.join(''));\n } catch (err) {// Do nothing\n }\n\n if (components.length === 1) {\n return components;\n }\n\n split = split || 1; // Split the array in 2 parts\n\n var left = components.slice(0, split);\n var right = components.slice(split);\n return Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n try {\n return decodeURIComponent(input);\n } catch (err) {\n var tokens = input.match(singleMatcher);\n\n for (var i = 1; i < tokens.length; i++) {\n input = decodeComponents(tokens, i).join('');\n tokens = input.match(singleMatcher);\n }\n\n return input;\n }\n}\n\nfunction customDecodeURIComponent(input) {\n // Keep track of all the replacements and prefill the map with the `BOM`\n var replaceMap = {\n '%FE%FF': \"\\uFFFD\\uFFFD\",\n '%FF%FE': \"\\uFFFD\\uFFFD\"\n };\n var match = multiMatcher.exec(input);\n\n while (match) {\n try {\n // Decode as big chunks as possible\n replaceMap[match[0]] = decodeURIComponent(match[0]);\n } catch (err) {\n var result = decode(match[0]);\n\n if (result !== match[0]) {\n replaceMap[match[0]] = result;\n }\n }\n\n match = multiMatcher.exec(input);\n } // Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\n\n replaceMap['%C2'] = \"\\uFFFD\";\n var entries = Object.keys(replaceMap);\n\n for (var i = 0; i < entries.length; i++) {\n // Replace all decoded components\n var key = entries[i];\n input = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n }\n\n return input;\n}\n\nmodule.exports = function (encodedURI) {\n if (typeof encodedURI !== 'string') {\n throw new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n }\n\n try {\n encodedURI = encodedURI.replace(/\\+/g, ' '); // Try the built in decoder first\n\n return decodeURIComponent(encodedURI);\n } catch (err) {\n // Fallback to a more advanced decoder\n return customDecodeURIComponent(encodedURI);\n }\n};","'use strict';\n\nmodule.exports = function (obj, predicate) {\n var ret = {};\n var keys = Object.keys(obj);\n var isArr = Array.isArray(predicate);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var val = obj[key];\n\n if (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n ret[key] = val;\n }\n }\n\n return ret;\n};","'use strict';\n\nvar _slicedToArray = require(\"/home/circleci/project/node_modules/@babel/runtime/helpers/slicedToArray\");\n\nvar _toConsumableArray = require(\"/home/circleci/project/node_modules/@babel/runtime/helpers/toConsumableArray\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar strictUriEncode = require('strict-uri-encode');\n\nvar decodeComponent = require('decode-uri-component');\n\nvar splitOnFirst = require('split-on-first');\n\nvar filterObject = require('filter-obj');\n\nvar isNullOrUndefined = function isNullOrUndefined(value) {\n return value === null || value === undefined;\n};\n\nfunction encoderForArrayFormat(options) {\n switch (options.arrayFormat) {\n case 'index':\n return function (key) {\n return function (result, value) {\n var index = result.length;\n\n if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {\n return result;\n }\n\n if (value === null) {\n return [].concat(_toConsumableArray(result), [[encode(key, options), '[', index, ']'].join('')]);\n }\n\n return [].concat(_toConsumableArray(result), [[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')]);\n };\n };\n\n case 'bracket':\n return function (key) {\n return function (result, value) {\n if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {\n return result;\n }\n\n if (value === null) {\n return [].concat(_toConsumableArray(result), [[encode(key, options), '[]'].join('')]);\n }\n\n return [].concat(_toConsumableArray(result), [[encode(key, options), '[]=', encode(value, options)].join('')]);\n };\n };\n\n case 'comma':\n case 'separator':\n return function (key) {\n return function (result, value) {\n if (value === null || value === undefined || value.length === 0) {\n return result;\n }\n\n if (result.length === 0) {\n return [[encode(key, options), '=', encode(value, options)].join('')];\n }\n\n return [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n };\n };\n\n default:\n return function (key) {\n return function (result, value) {\n if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {\n return result;\n }\n\n if (value === null) {\n return [].concat(_toConsumableArray(result), [encode(key, options)]);\n }\n\n return [].concat(_toConsumableArray(result), [[encode(key, options), '=', encode(value, options)].join('')]);\n };\n };\n }\n}\n\nfunction parserForArrayFormat(options) {\n var result;\n\n switch (options.arrayFormat) {\n case 'index':\n return function (key, value, accumulator) {\n result = /\\[(\\d*)\\]$/.exec(key);\n key = key.replace(/\\[\\d*\\]$/, '');\n\n if (!result) {\n accumulator[key] = value;\n return;\n }\n\n if (accumulator[key] === undefined) {\n accumulator[key] = {};\n }\n\n accumulator[key][result[1]] = value;\n };\n\n case 'bracket':\n return function (key, value, accumulator) {\n result = /(\\[\\])$/.exec(key);\n key = key.replace(/\\[\\]$/, '');\n\n if (!result) {\n accumulator[key] = value;\n return;\n }\n\n if (accumulator[key] === undefined) {\n accumulator[key] = [value];\n return;\n }\n\n accumulator[key] = [].concat(accumulator[key], value);\n };\n\n case 'comma':\n case 'separator':\n return function (key, value, accumulator) {\n var isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n var isEncodedArray = typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator);\n value = isEncodedArray ? decode(value, options) : value;\n var newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(function (item) {\n return decode(item, options);\n }) : value === null ? value : decode(value, options);\n accumulator[key] = newValue;\n };\n\n default:\n return function (key, value, accumulator) {\n if (accumulator[key] === undefined) {\n accumulator[key] = value;\n return;\n }\n\n accumulator[key] = [].concat(accumulator[key], value);\n };\n }\n}\n\nfunction validateArrayFormatSeparator(value) {\n if (typeof value !== 'string' || value.length !== 1) {\n throw new TypeError('arrayFormatSeparator must be single character string');\n }\n}\n\nfunction encode(value, options) {\n if (options.encode) {\n return options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n }\n\n return value;\n}\n\nfunction decode(value, options) {\n if (options.decode) {\n return decodeComponent(value);\n }\n\n return value;\n}\n\nfunction keysSorter(input) {\n if (Array.isArray(input)) {\n return input.sort();\n }\n\n if (typeof input === 'object') {\n return keysSorter(Object.keys(input)).sort(function (a, b) {\n return Number(a) - Number(b);\n }).map(function (key) {\n return input[key];\n });\n }\n\n return input;\n}\n\nfunction removeHash(input) {\n var hashStart = input.indexOf('#');\n\n if (hashStart !== -1) {\n input = input.slice(0, hashStart);\n }\n\n return input;\n}\n\nfunction getHash(url) {\n var hash = '';\n var hashStart = url.indexOf('#');\n\n if (hashStart !== -1) {\n hash = url.slice(hashStart);\n }\n\n return hash;\n}\n\nfunction extract(input) {\n input = removeHash(input);\n var queryStart = input.indexOf('?');\n\n if (queryStart === -1) {\n return '';\n }\n\n return input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n if (options.parseNumbers && !Number.isNaN(Number(value)) && typeof value === 'string' && value.trim() !== '') {\n value = Number(value);\n } else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n value = value.toLowerCase() === 'true';\n }\n\n return value;\n}\n\nfunction parse(query, options) {\n options = Object.assign({\n decode: true,\n sort: true,\n arrayFormat: 'none',\n arrayFormatSeparator: ',',\n parseNumbers: false,\n parseBooleans: false\n }, options);\n validateArrayFormatSeparator(options.arrayFormatSeparator);\n var formatter = parserForArrayFormat(options); // Create an object with no prototype\n\n var ret = Object.create(null);\n\n if (typeof query !== 'string') {\n return ret;\n }\n\n query = query.trim().replace(/^[?#&]/, '');\n\n if (!query) {\n return ret;\n }\n\n var _iterator = _createForOfIteratorHelper(query.split('&')),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var param = _step.value;\n\n if (param === '') {\n continue;\n }\n\n var _splitOnFirst = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '='),\n _splitOnFirst2 = _slicedToArray(_splitOnFirst, 2),\n _key = _splitOnFirst2[0],\n _value = _splitOnFirst2[1]; // Missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\n\n _value = _value === undefined ? null : ['comma', 'separator'].includes(options.arrayFormat) ? _value : decode(_value, options);\n formatter(decode(_key, options), _value, ret);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n for (var _i = 0, _Object$keys = Object.keys(ret); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n var value = ret[key];\n\n if (typeof value === 'object' && value !== null) {\n for (var _i2 = 0, _Object$keys2 = Object.keys(value); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n value[k] = parseValue(value[k], options);\n }\n } else {\n ret[key] = parseValue(value, options);\n }\n }\n\n if (options.sort === false) {\n return ret;\n }\n\n return (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce(function (result, key) {\n var value = ret[key];\n\n if (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n // Sort object keys, not values\n result[key] = keysSorter(value);\n } else {\n result[key] = value;\n }\n\n return result;\n }, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = function (object, options) {\n if (!object) {\n return '';\n }\n\n options = Object.assign({\n encode: true,\n strict: true,\n arrayFormat: 'none',\n arrayFormatSeparator: ','\n }, options);\n validateArrayFormatSeparator(options.arrayFormatSeparator);\n\n var shouldFilter = function shouldFilter(key) {\n return options.skipNull && isNullOrUndefined(object[key]) || options.skipEmptyString && object[key] === '';\n };\n\n var formatter = encoderForArrayFormat(options);\n var objectCopy = {};\n\n for (var _i3 = 0, _Object$keys3 = Object.keys(object); _i3 < _Object$keys3.length; _i3++) {\n var key = _Object$keys3[_i3];\n\n if (!shouldFilter(key)) {\n objectCopy[key] = object[key];\n }\n }\n\n var keys = Object.keys(objectCopy);\n\n if (options.sort !== false) {\n keys.sort(options.sort);\n }\n\n return keys.map(function (key) {\n var value = object[key];\n\n if (value === undefined) {\n return '';\n }\n\n if (value === null) {\n return encode(key, options);\n }\n\n if (Array.isArray(value)) {\n return value.reduce(formatter(key), []).join('&');\n }\n\n return encode(key, options) + '=' + encode(value, options);\n }).filter(function (x) {\n return x.length > 0;\n }).join('&');\n};\n\nexports.parseUrl = function (url, options) {\n options = Object.assign({\n decode: true\n }, options);\n\n var _splitOnFirst3 = splitOnFirst(url, '#'),\n _splitOnFirst4 = _slicedToArray(_splitOnFirst3, 2),\n url_ = _splitOnFirst4[0],\n hash = _splitOnFirst4[1];\n\n return Object.assign({\n url: url_.split('?')[0] || '',\n query: parse(extract(url), options)\n }, options && options.parseFragmentIdentifier && hash ? {\n fragmentIdentifier: decode(hash, options)\n } : {});\n};\n\nexports.stringifyUrl = function (object, options) {\n options = Object.assign({\n encode: true,\n strict: true\n }, options);\n var url = removeHash(object.url).split('?')[0] || '';\n var queryFromUrl = exports.extract(object.url);\n var parsedQueryFromUrl = exports.parse(queryFromUrl, {\n sort: false\n });\n var query = Object.assign(parsedQueryFromUrl, object.query);\n var queryString = exports.stringify(query, options);\n\n if (queryString) {\n queryString = \"?\".concat(queryString);\n }\n\n var hash = getHash(object.url);\n\n if (object.fragmentIdentifier) {\n hash = \"#\".concat(encode(object.fragmentIdentifier, options));\n }\n\n return \"\".concat(url).concat(queryString).concat(hash);\n};\n\nexports.pick = function (input, filter, options) {\n options = Object.assign({\n parseFragmentIdentifier: true\n }, options);\n\n var _exports$parseUrl = exports.parseUrl(input, options),\n url = _exports$parseUrl.url,\n query = _exports$parseUrl.query,\n fragmentIdentifier = _exports$parseUrl.fragmentIdentifier;\n\n return exports.stringifyUrl({\n url: url,\n query: filterObject(query, filter),\n fragmentIdentifier: fragmentIdentifier\n }, options);\n};\n\nexports.exclude = function (input, filter, options) {\n var exclusionFilter = Array.isArray(filter) ? function (key) {\n return !filter.includes(key);\n } : function (key, value) {\n return !filter(key, value);\n };\n return exports.pick(input, exclusionFilter, options);\n};","'use strict';\n\nmodule.exports = function (string, separator) {\n if (!(typeof string === 'string' && typeof separator === 'string')) {\n throw new TypeError('Expected the arguments to be of type `string`');\n }\n\n if (separator === '') {\n return [string];\n }\n\n var separatorIndex = string.indexOf(separator);\n\n if (separatorIndex === -1) {\n return [string];\n }\n\n return [string.slice(0, separatorIndex), string.slice(separatorIndex + separator.length)];\n};","'use strict';\n\nmodule.exports = function (str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (x) {\n return \"%\".concat(x.charCodeAt(0).toString(16).toUpperCase());\n });\n};","import { getOwnerWindow } from '../../owner-document/dist/reach-utils-owner-document.esm.js';\nimport '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n/**\n * Get computed style properties of a DOM element.\n *\n * @param element\n * @param styleProp\n */\n\nfunction getComputedStyles(element) {\n var ownerWindow = getOwnerWindow(element);\n\n if (ownerWindow) {\n return ownerWindow.getComputedStyle(element, null);\n }\n\n return null;\n}\n/**\n * Get a computed style value by property.\n *\n * @param element\n * @param styleProp\n */\n\n\nfunction getComputedStyle(element, styleProp) {\n var _getComputedStyles;\n\n return ((_getComputedStyles = getComputedStyles(element)) == null ? void 0 : _getComputedStyles.getPropertyValue(styleProp)) || null;\n}\n\nexport { getComputedStyle, getComputedStyles };","import { forwardRef, useRef, useState, useMemo, createElement, useContext, useEffect, Children, memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { createDescendantContext, useDescendantsInit, DescendantProvider, useDescendants, useDescendantKeyDown, useDescendant } from '@reach/descendants';\nimport { getComputedStyle } from '@reach/utils/computed-styles';\nimport { cloneValidElement } from '@reach/utils/clone-valid-element';\nimport { useControlledState } from '@reach/utils/use-controlled-state';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { createNamedContext } from '@reach/utils/context';\nimport { isFunction, isNumber, isBoolean } from '@reach/utils/type-check';\nimport { makeId } from '@reach/utils/make-id';\nimport { noop } from '@reach/utils/noop';\nimport { useControlledSwitchWarning, useCheckStyles } from '@reach/utils/dev-utils';\nimport { useComposedRefs } from '@reach/utils/compose-refs';\nimport { useUpdateEffect } from '@reach/utils/use-update-effect';\nimport { composeEventHandlers } from '@reach/utils/compose-event-handlers';\nimport { useId } from '@reach/auto-id';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar TabsDescendantsContext = /*#__PURE__*/createDescendantContext(\"TabsDescendantsContext\");\nvar TabPanelDescendantsContext = /*#__PURE__*/createDescendantContext(\"TabPanelDescendantsContext\");\nvar TabsContext = /*#__PURE__*/createNamedContext(\"TabsContext\", {});\nvar TabsKeyboardActivation;\n\n(function (TabsKeyboardActivation) {\n TabsKeyboardActivation[\"Auto\"] = \"auto\";\n TabsKeyboardActivation[\"Manual\"] = \"manual\";\n})(TabsKeyboardActivation || (TabsKeyboardActivation = {}));\n\nvar TabsOrientation; ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Tabs\n *\n * The parent component of the tab interface.\n *\n * @see Docs https://reach.tech/tabs#tabs\n */\n\n(function (TabsOrientation) {\n TabsOrientation[\"Horizontal\"] = \"horizontal\";\n TabsOrientation[\"Vertical\"] = \"vertical\";\n})(TabsOrientation || (TabsOrientation = {}));\n\nvar Tabs = /*#__PURE__*/forwardRef(function Tabs(_ref, ref) {\n var _props$id;\n\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"div\" : _ref$as,\n children = _ref.children,\n defaultIndex = _ref.defaultIndex,\n _ref$orientation = _ref.orientation,\n orientation = _ref$orientation === void 0 ? TabsOrientation.Horizontal : _ref$orientation,\n _ref$index = _ref.index,\n controlledIndex = _ref$index === void 0 ? undefined : _ref$index,\n _ref$keyboardActivati = _ref.keyboardActivation,\n keyboardActivation = _ref$keyboardActivati === void 0 ? TabsKeyboardActivation.Auto : _ref$keyboardActivati,\n onChange = _ref.onChange,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n props = _objectWithoutPropertiesLoose(_ref, [\"as\", \"children\", \"defaultIndex\", \"orientation\", \"index\", \"keyboardActivation\", \"onChange\", \"readOnly\"]);\n\n var isControlled = useRef(controlledIndex != null);\n useControlledSwitchWarning(controlledIndex, \"index\", \"Tabs\");\n\n var _id = useId(props.id);\n\n var id = (_props$id = props.id) != null ? _props$id : makeId(\"tabs\", _id); // We only manage focus if the user caused the update vs. a new controlled\n // index coming in.\n\n var userInteractedRef = useRef(false);\n var selectedPanelRef = useRef(null);\n var isRTL = useRef(false);\n\n var _useControlledState = useControlledState(controlledIndex, defaultIndex != null ? defaultIndex : 0),\n selectedIndex = _useControlledState[0],\n setSelectedIndex = _useControlledState[1];\n\n var _React$useState = useState(-1),\n focusedIndex = _React$useState[0],\n setFocusedIndex = _React$useState[1];\n\n var _useDescendantsInit = useDescendantsInit(),\n tabs = _useDescendantsInit[0],\n setTabs = _useDescendantsInit[1];\n\n var context = useMemo(function () {\n return {\n focusedIndex: focusedIndex,\n id: id,\n isControlled: isControlled.current,\n isRTL: isRTL,\n keyboardActivation: keyboardActivation,\n onFocusPanel: function onFocusPanel() {\n if (selectedPanelRef.current && isFunction(selectedPanelRef.current.focus)) {\n selectedPanelRef.current.focus();\n }\n },\n onSelectTab: readOnly ? noop : function (index) {\n userInteractedRef.current = true;\n onChange && onChange(index);\n setSelectedIndex(index);\n },\n onSelectTabWithKeyboard: readOnly ? noop : function (index) {\n userInteractedRef.current = true;\n\n switch (keyboardActivation) {\n case TabsKeyboardActivation.Manual:\n var tabElement = tabs[index] && tabs[index].element;\n\n if (tabElement && isFunction(tabElement.focus)) {\n tabElement.focus();\n }\n\n return;\n\n case TabsKeyboardActivation.Auto:\n default:\n onChange && onChange(index);\n setSelectedIndex(index);\n return;\n }\n },\n orientation: orientation,\n selectedIndex: selectedIndex,\n selectedPanelRef: selectedPanelRef,\n setFocusedIndex: setFocusedIndex,\n setSelectedIndex: setSelectedIndex,\n userInteractedRef: userInteractedRef\n };\n }, [focusedIndex, id, keyboardActivation, onChange, orientation, readOnly, selectedIndex, setSelectedIndex, tabs]);\n useCheckStyles(\"tabs\");\n return /*#__PURE__*/createElement(DescendantProvider, {\n context: TabsDescendantsContext,\n items: tabs,\n set: setTabs\n }, /*#__PURE__*/createElement(TabsContext.Provider, {\n value: context\n }, /*#__PURE__*/createElement(Comp, _extends({}, props, {\n ref: ref,\n \"data-reach-tabs\": \"\",\n \"data-orientation\": orientation,\n id: props.id\n }), isFunction(children) ? children({\n focusedIndex: focusedIndex,\n id: id,\n selectedIndex: selectedIndex\n }) : children)));\n});\n/**\n * @see Docs https://reach.tech/tabs#tabs-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n Tabs.displayName = \"Tabs\";\n Tabs.propTypes = {\n children: /*#__PURE__*/PropTypes.oneOfType([PropTypes.func, PropTypes.node]).isRequired,\n onChange: PropTypes.func,\n orientation: /*#__PURE__*/PropTypes.oneOf( /*#__PURE__*/Object.values(TabsOrientation)),\n index: function index(props, name, compName, location, propName) {\n var val = props[name];\n\n if (props.index > -1 && props.onChange == null && props.readOnly !== true) {\n return new Error(\"You provided a value prop to `\" + compName + \"` without an `onChange` handler. This will render a read-only tabs element. If the tabs should be mutable use `defaultIndex`. Otherwise, set `onChange`.\");\n } else if (val != null && !isNumber(val)) {\n return new Error(\"Invalid prop `\" + propName + \"` supplied to `\" + compName + \"`. Expected `number`, received `\" + (Array.isArray(val) ? \"array\" : typeof val) + \"`.\");\n }\n\n return null;\n },\n defaultIndex: PropTypes.number\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * TabList\n *\n * The parent component of the tabs.\n *\n * @see Docs https://reach.tech/tabs#tablist\n */\n\n\nvar TabListImpl = /*#__PURE__*/forwardRef(function TabList(_ref2, forwardedRef) {\n var children = _ref2.children,\n _ref2$as = _ref2.as,\n Comp = _ref2$as === void 0 ? \"div\" : _ref2$as,\n onKeyDown = _ref2.onKeyDown,\n props = _objectWithoutPropertiesLoose(_ref2, [\"children\", \"as\", \"onKeyDown\"]);\n\n var _React$useContext = useContext(TabsContext),\n focusedIndex = _React$useContext.focusedIndex,\n isControlled = _React$useContext.isControlled,\n isRTL = _React$useContext.isRTL,\n keyboardActivation = _React$useContext.keyboardActivation,\n onSelectTabWithKeyboard = _React$useContext.onSelectTabWithKeyboard,\n orientation = _React$useContext.orientation,\n selectedIndex = _React$useContext.selectedIndex,\n setSelectedIndex = _React$useContext.setSelectedIndex;\n\n var tabs = useDescendants(TabsDescendantsContext);\n var ownRef = useRef(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n useEffect(function () {\n if (ownRef.current && (ownRef.current.ownerDocument && ownRef.current.ownerDocument.dir === \"rtl\" || getComputedStyle(ownRef.current, \"direction\") === \"rtl\")) {\n isRTL.current = true;\n }\n }, [isRTL]);\n var handleKeyDown = composeEventHandlers(onKeyDown, useDescendantKeyDown(TabsDescendantsContext, {\n currentIndex: keyboardActivation === TabsKeyboardActivation.Manual ? focusedIndex : selectedIndex,\n orientation: orientation,\n rotate: true,\n callback: onSelectTabWithKeyboard,\n filter: function filter(tab) {\n return !tab.disabled;\n },\n rtl: isRTL.current\n }));\n useIsomorphicLayoutEffect(function () {\n var _tabs$selectedIndex; // In the event an uncontrolled component's selected index is disabled,\n // (this should only happen if the first tab is disabled and no default\n // index is set), we need to override the selection to the next selectable\n // index value.\n\n\n if (!isControlled && boolOrBoolString((_tabs$selectedIndex = tabs[selectedIndex]) == null ? void 0 : _tabs$selectedIndex.disabled)) {\n var next = tabs.find(function (tab) {\n return !tab.disabled;\n });\n\n if (next) {\n setSelectedIndex(next.index);\n }\n }\n }, [tabs, isControlled, selectedIndex, setSelectedIndex]);\n return /*#__PURE__*/createElement(Comp // The element that serves as the container for the set of tabs has role\n // `tablist`\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tabpanel\n , _extends({\n role: \"tablist\" // If the `tablist` element is vertically oriented, it has the property\n // `aria-orientation` set to `\"vertical\"`. The default value of\n // `aria-orientation` for a tablist element is `\"horizontal\"`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tabpanel\n ,\n \"aria-orientation\": orientation\n }, props, {\n \"data-reach-tab-list\": \"\",\n ref: ref,\n onKeyDown: handleKeyDown\n }), Children.map(children, function (child, index) {\n // TODO: Remove in 1.0\n return cloneValidElement(child, {\n isSelected: index === selectedIndex\n });\n }));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n TabListImpl.displayName = \"TabList\";\n TabListImpl.propTypes = {\n as: PropTypes.any,\n children: PropTypes.node\n };\n}\n\nvar TabList = /*#__PURE__*/memo(TabListImpl);\n/**\n * @see Docs https://reach.tech/tabs#tablist-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n TabList.displayName = \"TabList\";\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Tab\n *\n * The interactive element that changes the selected panel.\n *\n * @see Docs https://reach.tech/tabs#tab\n */\n\n\nvar Tab = /*#__PURE__*/forwardRef(function Tab(_ref3, forwardedRef) {\n _ref3.isSelected;\n\n var children = _ref3.children,\n _ref3$as = _ref3.as,\n Comp = _ref3$as === void 0 ? \"button\" : _ref3$as,\n indexProp = _ref3.index,\n disabled = _ref3.disabled,\n onBlur = _ref3.onBlur,\n onFocus = _ref3.onFocus,\n props = _objectWithoutPropertiesLoose(_ref3, [\"isSelected\", \"children\", \"as\", \"index\", \"disabled\", \"onBlur\", \"onFocus\"]);\n\n var _React$useContext2 = useContext(TabsContext),\n tabsId = _React$useContext2.id,\n onSelectTab = _React$useContext2.onSelectTab,\n orientation = _React$useContext2.orientation,\n selectedIndex = _React$useContext2.selectedIndex,\n userInteractedRef = _React$useContext2.userInteractedRef,\n setFocusedIndex = _React$useContext2.setFocusedIndex;\n\n var ownRef = useRef(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n var index = useDescendant({\n element: ownRef.current,\n disabled: !!disabled\n }, TabsDescendantsContext, indexProp);\n var htmlType = Comp === \"button\" && props.type == null ? \"button\" : props.type;\n var isSelected = index === selectedIndex;\n\n function onSelect() {\n onSelectTab(index);\n }\n\n useUpdateEffect(function () {\n if (isSelected && ownRef.current && userInteractedRef.current) {\n userInteractedRef.current = false;\n\n if (isFunction(ownRef.current.focus)) {\n ownRef.current.focus();\n }\n }\n }, [isSelected, userInteractedRef]);\n return /*#__PURE__*/createElement(Comp // Each element with role `tab` has the property `aria-controls` referring\n // to its associated `tabpanel` element.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tabpanel\n , _extends({\n \"aria-controls\": makeId(tabsId, \"panel\", index),\n \"aria-disabled\": disabled // The active tab element has the state `aria-selected` set to `true` and\n // all other tab elements have it set to `false`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tabpanel\n ,\n \"aria-selected\": isSelected // Each element that serves as a tab has role `tab` and is contained\n // within the element with role `tablist`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tabpanel\n ,\n role: \"tab\",\n tabIndex: isSelected ? 0 : -1\n }, props, {\n ref: ref,\n \"data-reach-tab\": \"\",\n \"data-orientation\": orientation,\n \"data-selected\": isSelected ? \"\" : undefined,\n disabled: disabled,\n id: makeId(tabsId, \"tab\", index),\n onClick: onSelect,\n onFocus: composeEventHandlers(onFocus, function () {\n setFocusedIndex(index);\n }),\n onBlur: composeEventHandlers(onBlur, function () {\n setFocusedIndex(-1);\n }),\n type: htmlType\n }), children);\n});\n/**\n * @see Docs https://reach.tech/tabs#tab-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n Tab.displayName = \"Tab\";\n Tab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * TabPanels\n *\n * The parent component of the panels.\n *\n * @see Docs https://reach.tech/tabs#tabpanels\n */\n\n\nvar TabPanelsImpl = /*#__PURE__*/forwardRef(function TabPanels(_ref4, forwardedRef) {\n var children = _ref4.children,\n _ref4$as = _ref4.as,\n Comp = _ref4$as === void 0 ? \"div\" : _ref4$as,\n props = _objectWithoutPropertiesLoose(_ref4, [\"children\", \"as\"]);\n\n var ownRef = useRef();\n var ref = useComposedRefs(ownRef, forwardedRef);\n\n var _useDescendantsInit2 = useDescendantsInit(),\n tabPanels = _useDescendantsInit2[0],\n setTabPanels = _useDescendantsInit2[1];\n\n return /*#__PURE__*/createElement(DescendantProvider, {\n context: TabPanelDescendantsContext,\n items: tabPanels,\n set: setTabPanels\n }, /*#__PURE__*/createElement(Comp, _extends({}, props, {\n ref: ref,\n \"data-reach-tab-panels\": \"\"\n }), children));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n TabPanelsImpl.displayName = \"TabPanels\";\n TabPanelsImpl.propTypes = {\n as: PropTypes.any,\n children: PropTypes.node\n };\n}\n\nvar TabPanels = /*#__PURE__*/memo(TabPanelsImpl);\n/**\n * @see Docs https://reach.tech/tabs#tabpanels-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n TabPanels.displayName = \"TabPanels\";\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * TabPanel\n *\n * The panel that displays when it's corresponding tab is active.\n *\n * @see Docs https://reach.tech/tabs#tabpanel\n */\n\n\nvar TabPanel = /*#__PURE__*/forwardRef(function TabPanel(_ref5, forwardedRef) {\n var children = _ref5.children;\n _ref5[\"aria-label\"];\n\n var _ref5$as = _ref5.as,\n Comp = _ref5$as === void 0 ? \"div\" : _ref5$as,\n props = _objectWithoutPropertiesLoose(_ref5, [\"children\", \"aria-label\", \"as\"]);\n\n var _React$useContext3 = useContext(TabsContext),\n selectedPanelRef = _React$useContext3.selectedPanelRef,\n selectedIndex = _React$useContext3.selectedIndex,\n tabsId = _React$useContext3.id;\n\n var ownRef = useRef(null);\n var index = useDescendant({\n element: ownRef.current\n }, TabPanelDescendantsContext);\n var id = makeId(tabsId, \"panel\", index); // Because useDescendant will always return -1 on the first render,\n // `isSelected` will briefly be false for all tabs. We set a tab panel's\n // hidden attribute based `isSelected` being false, meaning that all tabs\n // are initially hidden. This makes it impossible for consumers to do\n // certain things, like focus an element inside the active tab panel when\n // the page loads. So what we can do is track that a panel is \"ready\" to be\n // hidden once effects are run (descendants work their magic in\n // useLayoutEffect, so we can set our ref in useEffecct to run later). We\n // can use a ref instead of state because we're always geting a re-render\n // anyway thanks to descendants. This is a little more coupled to the\n // implementation details of descendants than I'd like, but we'll add a test\n // to (hopefully) catch any regressions.\n\n var isSelected = index === selectedIndex;\n var readyToHide = useRef(false);\n var hidden = readyToHide.current ? !isSelected : false;\n useEffect(function () {\n readyToHide.current = true;\n }, []);\n var ref = useComposedRefs(forwardedRef, ownRef, isSelected ? selectedPanelRef : null);\n return /*#__PURE__*/createElement(Comp // Each element with role `tabpanel` has the property `aria-labelledby`\n // referring to its associated tab element.\n , _extends({\n \"aria-labelledby\": makeId(tabsId, \"tab\", index),\n hidden: hidden // Each element that contains the content panel for a tab has role\n // `tabpanel`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tabpanel\n ,\n role: \"tabpanel\",\n tabIndex: isSelected ? 0 : -1\n }, props, {\n ref: ref,\n \"data-reach-tab-panel\": \"\",\n id: id\n }), children);\n});\n/**\n * @see Docs https://reach.tech/tabs#tabpanel-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n TabPanel.displayName = \"TabPanel\";\n TabPanel.propTypes = {\n as: PropTypes.any,\n children: PropTypes.node\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hook that exposes data for a given `Tabs` component to its descendants.\n *\n * @see Docs https://reach.tech/tabs#usetabscontext\n */\n\n\nfunction useTabsContext() {\n var _React$useContext4 = useContext(TabsContext),\n focusedIndex = _React$useContext4.focusedIndex,\n id = _React$useContext4.id,\n selectedIndex = _React$useContext4.selectedIndex;\n\n return useMemo(function () {\n return {\n focusedIndex: focusedIndex,\n id: id,\n selectedIndex: selectedIndex\n };\n }, [focusedIndex, id, selectedIndex]);\n} ////////////////////////////////////////////////////////////////////////////////\n\n\nfunction boolOrBoolString(value) {\n return value === \"true\" ? true : isBoolean(value) ? value : false;\n}\n\nexport { Tab, TabList, TabPanel, TabPanels, Tabs, TabsKeyboardActivation, TabsOrientation, useTabsContext };","import { useRef, useState, useCallback } from 'react';\n/**\n * Check if a component is controlled or uncontrolled and return the correct\n * state value and setter accordingly. If the component state is controlled by\n * the app, the setter is a noop.\n *\n * @param controlledValue\n * @param defaultValue\n */\n\nfunction useControlledState(controlledValue, defaultValue) {\n var controlledRef = useRef(controlledValue != null);\n\n var _useState = useState(defaultValue),\n valueState = _useState[0],\n setValue = _useState[1];\n\n var set = useCallback(function (n) {\n if (!controlledRef.current) {\n setValue(n);\n }\n }, []);\n return [controlledRef.current ? controlledValue : valueState, set];\n}\n\nexport { useControlledState };","import { isValidElement, cloneElement } from 'react';\n/**\n * Type-safe clone element\n *\n * @param element\n * @param props\n * @param children\n */\n\nfunction cloneValidElement(element, props) {\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n\n return /*#__PURE__*/isValidElement(element) ? cloneElement.apply(void 0, [element, props].concat(children)) : element;\n}\n\nexport { cloneValidElement };","import { useRef, useEffect } from 'react';\n/**\n * Call an effect after a component update, skipping the initial mount.\n *\n * @param effect Effect to call\n * @param deps Effect dependency list\n */\n\nfunction useUpdateEffect(effect, deps) {\n var mounted = useRef(false);\n useEffect(function () {\n if (mounted.current) {\n effect();\n } else {\n mounted.current = true;\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, deps);\n}\n\nexport { useUpdateEffect };","// extracted by mini-css-extract-plugin\nexport var TabList = \"Tabs-module--TabList--2I6Am\";\nexport var TabPanel = \"Tabs-module--TabPanel--21Qmf\";\nexport var TabPanelActive = \"Tabs-module--TabPanelActive--2l3v4\";\nexport var Tab = \"Tabs-module--Tab--lDaXn\";","import PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport {\n Tabs as ReachTabs,\n TabList as ReachTabList,\n Tab as ReachTab,\n TabPanels as ReachTabPanels,\n TabPanel as ReachTabPanel,\n} from '@reach/tabs'\nimport * as styles from './Tabs.module.scss'\n\nconst Tabs = ({ children, className, ...props }) => {\n return (\n \n {children}\n \n )\n}\n\nTabs.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n}\n\nconst TabList = ({ children, className, ...props }) => {\n return (\n \n {children}\n \n )\n}\n\nTabList.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n}\n\nconst Tab = ({ children, className, ...props }) => {\n return (\n \n {children}\n \n )\n}\n\nTab.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n}\n\nconst TabPanels = ({ children, className, ...props }) => {\n return (\n \n {children}\n \n )\n}\n\nTabPanels.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n}\n\nconst TabPanel = ({ children, className, ...props }) => {\n const { isSelected } = props\n return (\n \n {children}\n \n )\n}\n\nTabPanel.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n isSelected: PropTypes.bool,\n}\n\nTabs.List = TabList\nTabs.Tab = Tab\nTabs.Panels = TabPanels\nTabs.Panel = TabPanel\n\nexport { Tabs }\nexport default Tabs\n","// extracted by mini-css-extract-plugin\nexport var Login = \"Login-module--Login--3zKfY\";\nexport var loginTopDecorativeBackground = \"Login-module--loginTopDecorativeBackground--2oDLV\";\nexport var LoginTitle = \"Login-module--LoginTitle--3byL3\";\nexport var LoginForm = \"Login-module--LoginForm--1ZVWE\";\nexport var tabBackground = \"Login-module--tabBackground--194x2\";\nexport var HorizontalLink = \"Login-module--HorizontalLink--1Dpu4\";\nexport var HorizontalLinkDivider = \"Login-module--HorizontalLinkDivider--3aMj9\";\nexport var LoginTabList = \"Login-module--LoginTabList--2XrTw\";\nexport var LoginTab = \"Login-module--LoginTab--2KvCm\";\nexport var LoginActions = \"Login-module--LoginActions--1hh8t\";","/* eslint-disable no-nested-ternary */\n/* eslint-disable react/no-danger */\nimport { useState, useMemo, createRef, useEffect, Fragment } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { useTranslation } from 'react-i18next'\nimport { useForm } from 'react-hook-form/dist/index.ie11'\nimport formatError from '../../utilities/formatError'\nimport { TextField } from '../textfield'\nimport { Button } from '../button'\nimport { Link } from '../typography/Link'\nimport { Heading } from '../typography/Heading'\nimport { Stack } from '../stack'\nimport { Tabs } from '../tabs'\nimport * as styles from './Login.module.scss'\n\nconst Login = ({ className, activeTab, onSetActiveTabUrl }) => {\n const [t] = useTranslation()\n\n const personalValidationSchema = {\n userid: {\n required: t('Login.validationMessages.usernameRequired', {\n defaultValue: 'Please enter a username',\n }),\n },\n password: {\n required: t('Login.validationMessages.passwordRequired', {\n defaultValue: 'Please enter a password',\n }),\n },\n }\n\n const { errors: errorsPersonal } = useForm()\n\n const inputRefs = useMemo(() => Array.from({ length: 3 }).map(() => createRef()), [])\n\n // We should use useAutofocus hook here but there's a bug in Reach UI Tabs\n // which prevents us from focusing the input on initial page load.\n // Queueing an update via setTimeout works around this issue. We should\n // revisit at some point based on the status of the following issue:\n // ref: https://github.com/reach/reach-ui/issues/561\n useEffect(() => {\n const timer = setTimeout(() => {\n inputRefs[activeTab].current.focus()\n }, 0)\n return () => clearInterval(timer)\n }, [inputRefs[activeTab]])\n\n const classes = classNames(className, styles.Login)\n\n return (\n
\n
\n \n {t('Login.title', { defaultValue: 'Member Login' })}\n \n
\n {/* We use manual activation b/c changing the active tab focuses the first input */}\n {/* Don't change this back to auto because it will prevent screen reader users */}\n {/* From being able to focus 2nd and 3rd tab due to focus being changed constantly */}\n \n
\n \n \n \n {t('Login.alkamiDigitalTab', { defaultValue: 'Digital Banking' })}\n \n \n {t('Login.investmentTabLabel', { defaultValue: 'Investment' })}\n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n {t('Login.forgotCapitolCase', { defaultValue: 'Forgot' })} \n \n {t('Login.usernameLowerCase', { defaultValue: 'username' })}\n \n  {t('Login.orConjunction', { defaultValue: 'or' })} \n \n {t('Login.forgotPasswordLinkLabel', { defaultValue: 'password' })}\n \n ?\n \n \n {process.env.ALLOW_ENROLL && (\n \n \n {t('Login.enrollmentLinkLabel', {\n defaultValue: 'New to digital banking? Enroll now.',\n })}\n \n \n )}\n \n \n \n \n {t('Login.viewPortfolioLinkLabel', { defaultValue: 'View Your Portfolio' })}\n \n \n \n \n \n
\n
\n )\n}\n\nLogin.propTypes = {\n className: PropTypes.string,\n activeTab: PropTypes.number,\n onSetActiveTabUrl: PropTypes.func,\n inputRefs: PropTypes.array,\n}\n\nexport { Login }\nexport default Login\n","import { useCallback } from 'react'\nimport PropTypes from 'prop-types'\nimport queryString from 'query-string'\nimport { navigate } from '@reach/router'\nimport { Helmet } from 'react-helmet'\nimport { useTranslation } from 'react-i18next'\nimport { Layout } from '../components/layouts/layout'\nimport { Login } from '../components/login'\nimport { Container } from '../components/grid'\nimport { PageMeta } from '../components/page-meta'\nimport { StaticTemplate } from '../templates/staticTemplate'\nimport normalizePagePath from '../utilities/normalizePagePath'\nimport * as styles from './login.module.scss'\n\nconst LoginPage = ({ location, pageContext }) => {\n const [t, i18n] = useTranslation()\n let pageTitle = t('Login.MemberPageTitle', { defaultValue: 'Member Log In' })\n let activeTab = 0\n let pagePath = '/login'\n let backgroundImagePath =\n '//images.ctfassets.net/ekto664lcskf/56tj475cLrZBlddtmglhhv/032b2fbad7ea8a029f3e7bc18f433aae/Longs-Peak---Ben-Edits-smaller.png?q=80&w=1400'\n\n const loginType = location.search ? queryString.parse(location.search) : {}\n\n // Handle both \"?type\" and \"?action\" query strings for business and investment login\n if (loginType.type === 'investment' || loginType.action === 'investment') {\n activeTab = 1\n pageTitle = t('Login.investmentPageTitle', { defaultValue: 'Investment Log In' })\n pagePath = '/login?type=investment'\n backgroundImagePath =\n '//images.ctfassets.net/ekto664lcskf/2kBwPFKYrPJnRWCstzj967/9af716d9b6707a34096ada22c6a5a9da/Red-Rocks-2.png?q=80&w=1400'\n }\n\n const staticPage = {\n title: pageTitle,\n urlPath: pagePath,\n children: [],\n }\n\n const setActiveTabUrl = useCallback(activeIndex => {\n if (activeIndex === 0) {\n navigate(\n normalizePagePath('/login?type=personal', {\n locale: i18n.language,\n defaultLocale: i18n.options.fallbackLng[0],\n })\n )\n }\n\n if (activeIndex === 1) {\n navigate(\n normalizePagePath('/login?type=investment', {\n locale: i18n.language,\n defaultLocale: i18n.options.fallbackLng[0],\n })\n )\n }\n }, [])\n\n return (\n \n {({ navMenus }) => (\n \n \n \n \n \n\n \n \n \n \n \n \n )}\n \n )\n}\n\nLoginPage.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object,\n pageContext: PropTypes.object,\n}\n\nexport { LoginPage }\nexport default LoginPage\n","// extracted by mini-css-extract-plugin\nexport var LoginBackground = \"login-module--LoginBackground--lW6Fy\";","import PropTypes from 'prop-types'\nimport { useTranslation } from 'react-i18next'\nimport { useStaticQuery, graphql } from 'gatsby'\n\nconst query = graphql`\n query StaticTemplateQuery {\n allContentfulNavigationMenu {\n edges {\n node {\n type\n node_locale\n navigationItems {\n internal {\n content\n }\n }\n }\n }\n }\n }\n`\n\nconst StaticTemplate = ({ children }) => {\n const [_t, i18n] = useTranslation()\n const allMenus = useStaticQuery(query)\n\n const {\n allContentfulNavigationMenu: { edges },\n } = allMenus\n\n const navMenus = edges.reduce((acc, edge) => {\n const {\n node: {\n type,\n // eslint-disable-next-line camelcase\n node_locale,\n navigationItems: {\n internal: { content },\n },\n },\n } = edge\n\n // Since the content is received as a json string, we need to parse it\n const menu = JSON.parse(content)\n acc[node_locale] = acc[node_locale] || {}\n acc[node_locale][type] = menu.items\n\n return acc\n }, {})\n\n return children({ navMenus: navMenus[i18n.language] })\n}\n\nStaticTemplate.propTypes = {\n children: PropTypes.func,\n location: PropTypes.object,\n}\n\nexport { StaticTemplate }\nexport default StaticTemplate\n"],"sourceRoot":""}