{"version":3,"file":"js/nav-3d96ad6c9705de983c00.js","mappings":";uJAMA,WACE,MAAMA,EAAOC,SAASC,eAAe,sBACxBC,EAAAA,EAAAA,GAAWH,GACnBI,OAAOC,EAAAA,cAACC,EAAAA,EAAG,MAClB,CAEAC,yDCZA,MAAMC,EAAM,mBAAmBC,KAAKC,UAAUC,aAAeC,OAAOC,SAe9DC,EAAiBC,IAbDC,KACpB,MAAMC,EAAMD,EAAGE,QAAQC,cACvB,MACU,WAARF,GACQ,aAARA,GACS,UAARA,GACa,UAAZD,EAAGI,MACS,aAAZJ,EAAGI,MACS,WAAZJ,EAAGI,MACS,WAAZJ,EAAGI,IAAkB,EAKrBC,CAAaN,EAAIO,SACnBrB,SAASsB,KAAKC,UAAUC,IAAI,aAC9B,EAGIC,EAAiBA,KAIrBC,YAAW,KACT1B,SAASsB,KAAKC,UAAUI,OAAO,aAAa,GAC5C,EAWGpB,IAILP,SAASsB,KAAKM,iBAAiB,UAAWf,GAC1Cb,SAASsB,KAAKM,iBAAiB,WAAYH,yBC3C7C,OAOC,WACA,aAEA,IAAII,EAAS,CAAC,EAAEC,eAGhB,SAASC,IAGR,IAFA,IAAIC,EAAU,GAELC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAC1C,IAAIG,EAAMF,UAAUD,GACpB,GAAKG,EAAL,CAEA,IAAIC,SAAiBD,EAErB,GAAgB,WAAZC,GAAoC,WAAZA,EAC3BL,EAAQM,KAAKF,QACP,GAAIG,MAAMC,QAAQJ,IACxB,GAAIA,EAAID,OAAQ,CACf,IAAIM,EAAQV,EAAWW,MAAM,KAAMN,GAC/BK,GACHT,EAAQM,KAAKG,EAEf,OACM,GAAgB,WAAZJ,EAAsB,CAChC,GAAID,EAAIO,WAAaC,OAAOC,UAAUF,WAAaP,EAAIO,SAASA,WAAWG,SAAS,iBAAkB,CACrGd,EAAQM,KAAKF,EAAIO,YACjB,QACD,CAEA,IAAK,IAAII,KAAOX,EACXP,EAAOmB,KAAKZ,EAAKW,IAAQX,EAAIW,IAChCf,EAAQM,KAAKS,EAGhB,CAxBkB,CAyBnB,CAEA,OAAOf,EAAQiB,KAAK,IACrB,CAEqCC,EAAOC,SAC3CpB,EAAWqB,QAAUrB,EACrBmB,EAAOC,QAAUpB,QAKhB,KAFwB,EAAF,WACtB,OAAOA,CACP,UAFoB,OAEpB,YAIH,CApDA,sBCHQ,WAAe,aASrB,SAASsB,EAA0BC,GACjC,IAAIC,GAAmB,EACnBC,GAA0B,EAC1BC,EAAiC,KAEjCC,EAAsB,CACxBC,MAAM,EACNC,QAAQ,EACRC,KAAK,EACLC,KAAK,EACLC,OAAO,EACPC,UAAU,EACVC,QAAQ,EACRC,MAAM,EACNC,OAAO,EACPC,MAAM,EACNC,MAAM,EACNC,UAAU,EACV,kBAAkB,GAQpB,SAASC,EAAmBxD,GAC1B,SACEA,GACAA,IAAOf,UACS,SAAhBe,EAAGyD,UACa,SAAhBzD,EAAGyD,UACH,cAAezD,GACf,aAAcA,EAAGQ,UAKrB,CASA,SAASkD,EAA8B1D,GACrC,IAAII,EAAOJ,EAAGI,KACVF,EAAUF,EAAGE,QAEjB,QAAgB,UAAZA,IAAuByC,EAAoBvC,IAAUJ,EAAG2D,WAI5C,aAAZzD,IAA2BF,EAAG2D,YAI9B3D,EAAG4D,iBAKT,CAOA,SAASC,EAAqB7D,GACxBA,EAAGQ,UAAUsD,SAAS,mBAG1B9D,EAAGQ,UAAUC,IAAI,iBACjBT,EAAG+D,aAAa,2BAA4B,IAC9C,CAOA,SAASC,EAAwBhE,GAC1BA,EAAGiE,aAAa,8BAGrBjE,EAAGQ,UAAUI,OAAO,iBACpBZ,EAAGkE,gBAAgB,4BACrB,CAUA,SAASC,EAAUC,GACbA,EAAEC,SAAWD,EAAEE,QAAUF,EAAEG,UAI3Bf,EAAmBjB,EAAMiC,gBAC3BX,EAAqBtB,EAAMiC,eAG7BhC,GAAmB,EACrB,CAUA,SAASiC,EAAcL,GACrB5B,GAAmB,CACrB,CASA,SAASkC,EAAQN,GAEVZ,EAAmBY,EAAE9D,UAItBkC,GAAoBkB,EAA8BU,EAAE9D,UACtDuD,EAAqBO,EAAE9D,OAE3B,CAMA,SAASqE,EAAOP,GACTZ,EAAmBY,EAAE9D,UAKxB8D,EAAE9D,OAAOE,UAAUsD,SAAS,kBAC5BM,EAAE9D,OAAO2D,aAAa,+BAMtBxB,GAA0B,EAC1B7C,OAAOgF,aAAalC,GACpBA,EAAiC9C,OAAOe,YAAW,WACjD8B,GAA0B,CAC5B,GAAG,KACHuB,EAAwBI,EAAE9D,QAE9B,CAOA,SAASuE,EAAmBT,GACO,WAA7BnF,SAAS6F,kBAKPrC,IACFD,GAAmB,GAErBuC,IAEJ,CAQA,SAASA,IACP9F,SAAS4B,iBAAiB,YAAamE,GACvC/F,SAAS4B,iBAAiB,YAAamE,GACvC/F,SAAS4B,iBAAiB,UAAWmE,GACrC/F,SAAS4B,iBAAiB,cAAemE,GACzC/F,SAAS4B,iBAAiB,cAAemE,GACzC/F,SAAS4B,iBAAiB,YAAamE,GACvC/F,SAAS4B,iBAAiB,YAAamE,GACvC/F,SAAS4B,iBAAiB,aAAcmE,GACxC/F,SAAS4B,iBAAiB,WAAYmE,EACxC,CAEA,SAASC,IACPhG,SAASiG,oBAAoB,YAAaF,GAC1C/F,SAASiG,oBAAoB,YAAaF,GAC1C/F,SAASiG,oBAAoB,UAAWF,GACxC/F,SAASiG,oBAAoB,cAAeF,GAC5C/F,SAASiG,oBAAoB,cAAeF,GAC5C/F,SAASiG,oBAAoB,YAAaF,GAC1C/F,SAASiG,oBAAoB,YAAaF,GAC1C/F,SAASiG,oBAAoB,aAAcF,GAC3C/F,SAASiG,oBAAoB,WAAYF,EAC3C,CASA,SAASA,EAAqBZ,GAGxBA,EAAE9D,OAAOmD,UAAgD,SAApCW,EAAE9D,OAAOmD,SAAStD,gBAI3CqC,GAAmB,EACnByC,IACF,CAKAhG,SAAS4B,iBAAiB,UAAWsD,GAAW,GAChDlF,SAAS4B,iBAAiB,YAAa4D,GAAe,GACtDxF,SAAS4B,iBAAiB,cAAe4D,GAAe,GACxDxF,SAAS4B,iBAAiB,aAAc4D,GAAe,GACvDxF,SAAS4B,iBAAiB,mBAAoBgE,GAAoB,GAElEE,IAMAxC,EAAM1B,iBAAiB,QAAS6D,GAAS,GACzCnC,EAAM1B,iBAAiB,OAAQ8D,GAAQ,GAOnCpC,EAAM4C,WAAaC,KAAKC,wBAA0B9C,EAAM+C,KAI1D/C,EAAM+C,KAAKvB,aAAa,wBAAyB,IACxCxB,EAAM4C,WAAaC,KAAKG,gBACjCtG,SAASuG,gBAAgBhF,UAAUC,IAAI,oBACvCxB,SAASuG,gBAAgBzB,aAAa,wBAAyB,IAEnE,CAKA,GAAsB,qBAAXnE,QAA8C,qBAAbX,SAA0B,CAQpE,IAAIwG,EAJJ7F,OAAO0C,0BAA4BA,EAMnC,IACEmD,EAAQ,IAAIC,YAAY,+BAC1B,CAAE,MAAOC,IAEPF,EAAQxG,SAAS2G,YAAY,gBACvBC,gBAAgB,gCAAgC,GAAO,EAAO,CAAC,EACvE,CAEAjG,OAAOkG,cAAcL,EACvB,CAEwB,qBAAbxG,UAGTqD,EAA0BrD,SAG7B,CAtTgE8G,0BCDjE,SAOE,SAAUA,GAUX,QAPe,2BAAd,KAAc,kCAId5D,EAAOC,QAAU2D,MACU,EAEG,CAC9B,IAAIC,EAAapG,OAAOqG,QACpBC,EAAMtG,OAAOqG,QAAUF,IAC3BG,EAAIC,WAAa,WAEhB,OADAvG,OAAOqG,QAAUD,EACVE,CACR,CACD,CACD,CAlBC,EAkBC,WACD,SAASE,IAGR,IAFA,IAAIlF,EAAI,EACJmF,EAAS,CAAC,EACPnF,EAAIC,UAAUC,OAAQF,IAAK,CACjC,IAAIoF,EAAanF,UAAWD,GAC5B,IAAK,IAAIc,KAAOsE,EACfD,EAAOrE,GAAOsE,EAAWtE,EAE3B,CACA,OAAOqE,CACR,CAEA,SAASE,EAAQC,GAChB,OAAOA,EAAEC,QAAQ,mBAAoBC,mBACtC,CAyHA,OAvHA,SAASC,EAAMC,GACd,SAASV,IAAO,CAEhB,SAASW,EAAK7E,EAAK8E,EAAOR,GACzB,GAAwB,qBAAbrH,SAAX,CAQkC,kBAJlCqH,EAAaF,EAAO,CACnBW,KAAM,KACJb,EAAIc,SAAUV,IAEKW,UACrBX,EAAWW,QAAU,IAAIC,KAAkB,EAAb,IAAIA,KAAkC,MAArBZ,EAAWW,UAI3DX,EAAWW,QAAUX,EAAWW,QAAUX,EAAWW,QAAQE,cAAgB,GAE7E,IACC,IAAId,EAASe,KAAKC,UAAUP,GACxB,UAAUrH,KAAK4G,KAClBS,EAAQT,EAEV,CAAE,MAAOjC,GAAI,CAEb0C,EAAQF,EAAUU,MACjBV,EAAUU,MAAMR,EAAO9E,GACvBuF,mBAAmBC,OAAOV,IACxBL,QAAQ,4DAA6DC,oBAExE1E,EAAMuF,mBAAmBC,OAAOxF,IAC9ByE,QAAQ,2BAA4BC,oBACpCD,QAAQ,UAAWgB,QAErB,IAAIC,EAAwB,GAC5B,IAAK,IAAIC,KAAiBrB,EACpBA,EAAWqB,KAGhBD,GAAyB,KAAOC,GACE,IAA9BrB,EAAWqB,KAWfD,GAAyB,IAAMpB,EAAWqB,GAAeC,MAAM,KAAK,KAGrE,OAAQ3I,SAAS4I,OAAS7F,EAAM,IAAM8E,EAAQY,CAjD9C,CAkDD,CAEA,SAASI,EAAK9F,EAAK+F,GAClB,GAAwB,qBAAb9I,SAAX,CAUA,IANA,IAAI+I,EAAM,CAAC,EAGPC,EAAUhJ,SAAS4I,OAAS5I,SAAS4I,OAAOD,MAAM,MAAQ,GAC1D1G,EAAI,EAEDA,EAAI+G,EAAQ7G,OAAQF,IAAK,CAC/B,IAAIgH,EAAQD,EAAQ/G,GAAG0G,MAAM,KACzBC,EAASK,EAAMC,MAAM,GAAGjG,KAAK,KAE5B6F,GAA6B,MAArBF,EAAOO,OAAO,KAC1BP,EAASA,EAAOM,MAAM,GAAI,IAG3B,IACC,IAAIE,EAAO9B,EAAO2B,EAAM,IAIxB,GAHAL,GAAUjB,EAAU0B,MAAQ1B,GAAWiB,EAAQQ,IAC9C9B,EAAOsB,GAEJE,EACH,IACCF,EAAST,KAAKmB,MAAMV,EACrB,CAAE,MAAOzD,GAAI,CAKd,GAFA4D,EAAIK,GAAQR,EAER7F,IAAQqG,EACX,KAEF,CAAE,MAAOjE,GAAI,CACd,CAEA,OAAOpC,EAAMgG,EAAIhG,GAAOgG,CAnCxB,CAoCD,CAmBA,OAjBA9B,EAAIW,IAAMA,EACVX,EAAI4B,IAAM,SAAU9F,GACnB,OAAO8F,EAAI9F,GAAK,EACjB,EACAkE,EAAIsC,QAAU,SAAUxG,GACvB,OAAO8F,EAAI9F,GAAK,EACjB,EACAkE,EAAItF,OAAS,SAAUoB,EAAKsE,GAC3BO,EAAI7E,EAAK,GAAIoE,EAAOE,EAAY,CAC/BW,SAAU,IAEZ,EAEAf,EAAIc,SAAW,CAAC,EAEhBd,EAAIuC,cAAgB9B,EAEbT,CACR,CAEOS,EAAK,WAAa,GAC1B,2CChKI+B,EAAI,EAAQ,OAEdtG,EAAQ,EAAasG,EAAEvJ,WACDuJ,EAAEC","sources":["webpack://bravely/./app/javascript/packs/nav.js","webpack://bravely/./app/javascript/apps/booking/utils/iOSFocusCapture.js","webpack://bravely/./node_modules/classnames/index.js","webpack://bravely/./node_modules/focus-visible/dist/focus-visible.js","webpack://bravely/./node_modules/js-cookie/src/js.cookie.js","webpack://bravely/./node_modules/react-dom/client.js"],"sourcesContent":["import '../utils/setupEmployeeApp';\n\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Nav from '../apps/shared/components/Nav';\n\nfunction main() {\n const node = document.getElementById('nav-app-container');\n const root = createRoot(node);\n root.render();\n}\n\nmain();\n","const iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n\nconst isPopUpInput = (el) => {\n const tag = el.tagName.toLowerCase();\n return (\n tag === 'select' ||\n tag === 'textarea' ||\n (tag === 'input' &&\n el.type !== 'radio' &&\n el.type !== 'checkbox' &&\n el.type !== 'button' &&\n el.type !== 'submit')\n );\n};\n\nconst handleFocusIn = (evt) => {\n if (isPopUpInput(evt.target)) {\n document.body.classList.add('with-focus');\n }\n};\n\nconst handleFocusOut = () => {\n // XXX: I hate this, but it prevents an issue where clicking on \n // while the keyboard is up causes .with-focus to be removed before the tap\n // processes as a click, so the button moves before it's clicked.\n setTimeout(() => {\n document.body.classList.remove('with-focus');\n });\n};\n\n/**\n * This adds a `.with-focus` class to the body when any element is focused that\n * causes a popover in mobile safari, such as a text input, textarea, or select.\n * This allows us to style things differently when the page is partially\n * obscured (for example, becomes unstuck from the bottom of\n * the page).\n */\nexport default function iOSFocusCapture() {\n if (!iOS) {\n return;\n }\n\n document.body.addEventListener('focusin', handleFocusIn);\n document.body.addEventListener('focusout', handleFocusOut);\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n"],"names":["node","document","getElementById","createRoot","render","React","Nav","main","iOS","test","navigator","userAgent","window","MSStream","handleFocusIn","evt","el","tag","tagName","toLowerCase","type","isPopUpInput","target","body","classList","add","handleFocusOut","setTimeout","remove","addEventListener","hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","includes","key","call","join","module","exports","default","applyFocusVisiblePolyfill","scope","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesAllowlist","text","search","url","tel","email","password","number","date","month","week","time","datetime","isValidFocusTarget","nodeName","focusTriggersKeyboardModality","readOnly","isContentEditable","addFocusVisibleClass","contains","setAttribute","removeFocusVisibleClass","hasAttribute","removeAttribute","onKeyDown","e","metaKey","altKey","ctrlKey","activeElement","onPointerDown","onFocus","onBlur","clearTimeout","onVisibilityChange","visibilityState","addInitialPointerMoveListeners","onInitialPointerMove","removeInitialPointerMoveListeners","removeEventListener","nodeType","Node","DOCUMENT_FRAGMENT_NODE","host","DOCUMENT_NODE","documentElement","event","CustomEvent","error","createEvent","initCustomEvent","dispatchEvent","factory","OldCookies","Cookies","api","noConflict","extend","result","attributes","decode","s","replace","decodeURIComponent","init","converter","set","value","path","defaults","expires","Date","toUTCString","JSON","stringify","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","get","json","jar","cookies","parts","slice","charAt","name","read","parse","getJSON","withConverter","m","hydrateRoot"],"sourceRoot":""}