{"version":3,"sources":["webpack:///./node_modules/@ionic/core/dist/esm-es5/focus-visible-70713a0c.js"],"names":["ION_FOCUSED","FOCUS_KEYS","startFocusVisible","setFocus","elements","currentFocus","forEach","el","classList","remove","add","pointerDown","keyboardMode","doc","document","addEventListener","ev","includes","key","composedPath","toFocus","filter","contains","activeElement","body"],"mappings":"+FAAA,2DAAIA,EAAc,cAEdC,EAAa,CAAC,MAAO,YAAa,QAAS,SAAU,IAAK,QAAS,QAAS,YAAa,aAAc,WACvGC,EAAoB,WAIL,SAAXC,EAAqBC,GACrBC,EAAaC,QAAQ,SAAUC,GAAM,OAAOA,EAAGC,UAAUC,OAAOT,CAAW,CAAG,CAAC,EAC/EI,EAASE,QAAQ,SAAUC,GAAM,OAAOA,EAAGC,UAAUE,IAAIV,CAAW,CAAG,CAAC,EACxEK,EAAeD,CACnB,CACkB,SAAdO,IACAC,EAAe,GACfT,EAAS,EAAE,CACf,CAXA,IAAIE,EAAe,GACfO,EAAe,GACfC,EAAMC,SAUVD,EAAIE,iBAAiB,UAAW,SAAUC,IACtCJ,EAAeX,EAAWgB,SAASD,EAAGE,GAAG,IAErCf,EAAS,EAAE,CAEnB,CAAC,EACDU,EAAIE,iBAAiB,UAAW,SAAUC,GAClCJ,GAAgBI,EAAGG,eACfC,EAAUJ,EAAGG,aAAa,EAAEE,OAAO,SAAUd,GAC7C,MAAIA,IAAGC,WACID,EAAGC,UAAUc,SAzBpB,eAyB0C,CAGlD,CAAC,EACDnB,EAASiB,CAAO,EAExB,CAAC,EACDP,EAAIE,iBAAiB,WAAY,WACzBF,EAAIU,gBAAkBV,EAAIW,MAC1BrB,EAAS,EAAE,CAEnB,CAAC,EACDU,EAAIE,iBAAiB,aAAcJ,CAAW,EAC9CE,EAAIE,iBAAiB,YAAaJ,CAAW,CACjD,C","file":"js/chunk-2d0e13d1.aee919a7.js","sourcesContent":["var ION_FOCUSED = 'ion-focused';\nvar ION_FOCUSABLE = 'ion-focusable';\nvar FOCUS_KEYS = ['Tab', 'ArrowDown', 'Space', 'Escape', ' ', 'Shift', 'Enter', 'ArrowLeft', 'ArrowRight', 'ArrowUp'];\nvar startFocusVisible = function () {\n var currentFocus = [];\n var keyboardMode = true;\n var doc = document;\n var setFocus = function (elements) {\n currentFocus.forEach(function (el) { return el.classList.remove(ION_FOCUSED); });\n elements.forEach(function (el) { return el.classList.add(ION_FOCUSED); });\n currentFocus = elements;\n };\n var pointerDown = function () {\n keyboardMode = false;\n setFocus([]);\n };\n doc.addEventListener('keydown', function (ev) {\n keyboardMode = FOCUS_KEYS.includes(ev.key);\n if (!keyboardMode) {\n setFocus([]);\n }\n });\n doc.addEventListener('focusin', function (ev) {\n if (keyboardMode && ev.composedPath) {\n var toFocus = ev.composedPath().filter(function (el) {\n if (el.classList) {\n return el.classList.contains(ION_FOCUSABLE);\n }\n return false;\n });\n setFocus(toFocus);\n }\n });\n doc.addEventListener('focusout', function () {\n if (doc.activeElement === doc.body) {\n setFocus([]);\n }\n });\n doc.addEventListener('touchstart', pointerDown);\n doc.addEventListener('mousedown', pointerDown);\n};\nexport { startFocusVisible };\n"],"sourceRoot":""}