mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
1 line
42 KiB
JSON
1 line
42 KiB
JSON
{"ast":null,"code":"import _asyncToGenerator from \"C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { b as getIonMode, c as config } from './ionic-global-63a97a32.js';\nimport { OVERLAY_BACK_BUTTON_PRIORITY } from './hardware-back-button-4a6b37fb.js';\nimport { c as componentOnReady, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-1457892a.js';\nlet lastId = 0;\nconst activeAnimations = new WeakMap();\nconst createController = tagName => {\n return {\n create(options) {\n return createOverlay(tagName, options);\n },\n dismiss(data, role, id) {\n return dismissOverlay(document, data, role, tagName, id);\n },\n getTop() {\n return _asyncToGenerator(function* () {\n return getOverlay(document, tagName);\n })();\n }\n };\n};\nconst alertController = /*@__PURE__*/createController('ion-alert');\nconst actionSheetController = /*@__PURE__*/createController('ion-action-sheet');\nconst loadingController = /*@__PURE__*/createController('ion-loading');\nconst modalController = /*@__PURE__*/createController('ion-modal');\nconst pickerController = /*@__PURE__*/createController('ion-picker');\nconst popoverController = /*@__PURE__*/createController('ion-popover');\nconst toastController = /*@__PURE__*/createController('ion-toast');\nconst prepareOverlay = el => {\n /* tslint:disable-next-line */\n if (typeof document !== 'undefined') {\n connectListeners(document);\n }\n const overlayIndex = lastId++;\n el.overlayIndex = overlayIndex;\n if (!el.hasAttribute('id')) {\n el.id = `ion-overlay-${overlayIndex}`;\n }\n};\nconst createOverlay = (tagName, opts) => {\n /* tslint:disable-next-line */\n if (typeof customElements !== 'undefined') {\n return customElements.whenDefined(tagName).then(() => {\n const element = document.createElement(tagName);\n element.classList.add('overlay-hidden');\n // convert the passed in overlay options into props\n // that get passed down into the new overlay\n Object.assign(element, opts);\n // append the overlay element to the document body\n getAppRoot(document).appendChild(element);\n return new Promise(resolve => componentOnReady(element, resolve));\n });\n }\n return Promise.resolve();\n};\nconst focusableQueryString = '[tabindex]:not([tabindex^=\"-\"]), input:not([type=hidden]):not([tabindex^=\"-\"]), textarea:not([tabindex^=\"-\"]), button:not([tabindex^=\"-\"]), select:not([tabindex^=\"-\"]), .ion-focusable:not([tabindex^=\"-\"])';\nconst innerFocusableQueryString = 'input:not([type=hidden]), textarea, button, select';\nconst focusFirstDescendant = (ref, overlay) => {\n let firstInput = ref.querySelector(focusableQueryString);\n const shadowRoot = firstInput && firstInput.shadowRoot;\n if (shadowRoot) {\n // If there are no inner focusable elements, just focus the host element.\n firstInput = shadowRoot.querySelector(innerFocusableQueryString) || firstInput;\n }\n if (firstInput) {\n firstInput.focus();\n } else {\n // Focus overlay instead of letting focus escape\n overlay.focus();\n }\n};\nconst focusLastDescendant = (ref, overlay) => {\n const inputs = Array.from(ref.querySelectorAll(focusableQueryString));\n let lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;\n const shadowRoot = lastInput && lastInput.shadowRoot;\n if (shadowRoot) {\n // If there are no inner focusable elements, just focus the host element.\n lastInput = shadowRoot.querySelector(innerFocusableQueryString) || lastInput;\n }\n if (lastInput) {\n lastInput.focus();\n } else {\n // Focus overlay instead of letting focus escape\n overlay.focus();\n }\n};\n/**\n * Traps keyboard focus inside of overlay components.\n * Based on https://w3c.github.io/aria-practices/examples/dialog-modal/alertdialog.html\n * This includes the following components: Action Sheet, Alert, Loading, Modal,\n * Picker, and Popover.\n * Should NOT include: Toast\n */\nconst trapKeyboardFocus = (ev, doc) => {\n const lastOverlay = getOverlay(doc);\n const target = ev.target;\n // If no active overlay, ignore this event\n if (!lastOverlay || !target) {\n return;\n }\n /**\n * If we are focusing the overlay, clear\n * the last focused element so that hitting\n * tab activates the first focusable element\n * in the overlay wrapper.\n */\n if (lastOverlay === target) {\n lastOverlay.lastFocus = undefined;\n /**\n * Otherwise, we must be focusing an element\n * inside of the overlay. The two possible options\n * here are an input/button/etc or the ion-focus-trap\n * element. The focus trap element is used to prevent\n * the keyboard focus from leaving the overlay when\n * using Tab or screen assistants.\n */\n } else {\n /**\n * We do not want to focus the traps, so get the overlay\n * wrapper element as the traps live outside of the wrapper.\n */\n const overlayRoot = getElementRoot(lastOverlay);\n if (!overlayRoot.contains(target)) {\n return;\n }\n const overlayWrapper = overlayRoot.querySelector('.ion-overlay-wrapper');\n if (!overlayWrapper) {\n return;\n }\n /**\n * If the target is inside the wrapper, let the browser\n * focus as normal and keep a log of the last focused element.\n */\n if (overlayWrapper.contains(target)) {\n lastOverlay.lastFocus = target;\n } else {\n /**\n * Otherwise, we must have focused one of the focus traps.\n * We need to wrap the focus to either the first element\n * or the last element.\n */\n /**\n * Once we call `focusFirstDescendant` and focus the first\n * descendant, another focus event will fire which will\n * cause `lastOverlay.lastFocus` to be updated before\n * we can run the code after that. We will cache the value\n * here to avoid that.\n */\n const lastFocus = lastOverlay.lastFocus;\n // Focus the first element in the overlay wrapper\n focusFirstDescendant(overlayWrapper, lastOverlay);\n /**\n * If the cached last focused element is the\n * same as the active element, then we need\n * to wrap focus to the last descendant. This happens\n * when the first descendant is focused, and the user\n * presses Shift + Tab. The previous line will focus\n * the same descendant again (the first one), causing\n * last focus to equal the active element.\n */\n if (lastFocus === doc.activeElement) {\n focusLastDescendant(overlayWrapper, lastOverlay);\n }\n lastOverlay.lastFocus = doc.activeElement;\n }\n }\n};\nconst connectListeners = doc => {\n if (lastId === 0) {\n lastId = 1;\n doc.addEventListener('focus', ev => trapKeyboardFocus(ev, doc), true);\n // handle back-button click\n doc.addEventListener('ionBackButton', ev => {\n const lastOverlay = getOverlay(doc);\n if (lastOverlay && lastOverlay.backdropDismiss) {\n ev.detail.register(OVERLAY_BACK_BUTTON_PRIORITY, () => {\n return lastOverlay.dismiss(undefined, BACKDROP);\n });\n }\n });\n // handle ESC to close overlay\n doc.addEventListener('keyup', ev => {\n if (ev.key === 'Escape') {\n const lastOverlay = getOverlay(doc);\n if (lastOverlay && lastOverlay.backdropDismiss) {\n lastOverlay.dismiss(undefined, BACKDROP);\n }\n }\n });\n }\n};\nconst dismissOverlay = (doc, data, role, overlayTag, id) => {\n const overlay = getOverlay(doc, overlayTag, id);\n if (!overlay) {\n return Promise.reject('overlay does not exist');\n }\n return overlay.dismiss(data, role);\n};\nconst getOverlays = (doc, selector) => {\n if (selector === undefined) {\n selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast';\n }\n return Array.from(doc.querySelectorAll(selector)).filter(c => c.overlayIndex > 0);\n};\nconst getOverlay = (doc, overlayTag, id) => {\n const overlays = getOverlays(doc, overlayTag);\n return id === undefined ? overlays[overlays.length - 1] : overlays.find(o => o.id === id);\n};\n/**\n * When an overlay is presented, the main\n * focus is the overlay not the page content.\n * We need to remove the page content from the\n * accessibility tree otherwise when\n * users use \"read screen from top\" gestures with\n * TalkBack and VoiceOver, the screen reader will begin\n * to read the content underneath the overlay.\n *\n * We need a container where all page components\n * exist that is separate from where the overlays\n * are added in the DOM. For most apps, this element\n * is the top most ion-router-outlet. In the event\n * that devs are not using a router,\n * they will need to add the \"ion-view-container-root\"\n * id to the element that contains all of their views.\n *\n * TODO: If Framework supports having multiple top\n * level router outlets we would need to update this.\n * Example: One outlet for side menu and one outlet\n * for main content.\n */\nconst setRootAriaHidden = (hidden = false) => {\n const root = getAppRoot(document);\n const viewContainer = root.querySelector('ion-router-outlet, ion-nav, #ion-view-container-root');\n if (!viewContainer) {\n return;\n }\n if (hidden) {\n viewContainer.setAttribute('aria-hidden', 'true');\n } else {\n viewContainer.removeAttribute('aria-hidden');\n }\n};\nconst present = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) {\n if (overlay.presented) {\n return;\n }\n setRootAriaHidden(true);\n overlay.presented = true;\n overlay.willPresent.emit();\n const mode = getIonMode(overlay);\n // get the user's animation fn if one was provided\n const animationBuilder = overlay.enterAnimation ? overlay.enterAnimation : config.get(name, mode === 'ios' ? iosEnterAnimation : mdEnterAnimation);\n const completed = yield overlayAnimation(overlay, animationBuilder, overlay.el, opts);\n if (completed) {\n overlay.didPresent.emit();\n }\n /**\n * When an overlay that steals focus\n * is dismissed, focus should be returned\n * to the element that was focused\n * prior to the overlay opening. Toast\n * does not steal focus and is excluded\n * from returning focus as a result.\n */\n if (overlay.el.tagName !== 'ION-TOAST') {\n focusPreviousElementOnDismiss(overlay.el);\n }\n if (overlay.keyboardClose) {\n overlay.el.focus();\n }\n });\n return function present(_x, _x2, _x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n };\n}();\n/**\n * When an overlay component is dismissed,\n * focus should be returned to the element\n * that presented the overlay. Otherwise\n * focus will be set on the body which\n * means that people using screen readers\n * or tabbing will need to re-navigate\n * to where they were before they\n * opened the overlay.\n */\nconst focusPreviousElementOnDismiss = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* (overlayEl) {\n let previousElement = document.activeElement;\n if (!previousElement) {\n return;\n }\n const shadowRoot = previousElement && previousElement.shadowRoot;\n if (shadowRoot) {\n // If there are no inner focusable elements, just focus the host element.\n previousElement = shadowRoot.querySelector(innerFocusableQueryString) || previousElement;\n }\n yield overlayEl.onDidDismiss();\n previousElement.focus();\n });\n return function focusPreviousElementOnDismiss(_x6) {\n return _ref2.apply(this, arguments);\n };\n}();\nconst dismiss = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator(function* (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) {\n if (!overlay.presented) {\n return false;\n }\n setRootAriaHidden(false);\n overlay.presented = false;\n try {\n // Overlay contents should not be clickable during dismiss\n overlay.el.style.setProperty('pointer-events', 'none');\n overlay.willDismiss.emit({\n data,\n role\n });\n const mode = getIonMode(overlay);\n const animationBuilder = overlay.leaveAnimation ? overlay.leaveAnimation : config.get(name, mode === 'ios' ? iosLeaveAnimation : mdLeaveAnimation);\n // If dismissed via gesture, no need to play leaving animation again\n if (role !== 'gesture') {\n yield overlayAnimation(overlay, animationBuilder, overlay.el, opts);\n }\n overlay.didDismiss.emit({\n data,\n role\n });\n activeAnimations.delete(overlay);\n } catch (err) {\n console.error(err);\n }\n overlay.el.remove();\n return true;\n });\n return function dismiss(_x7, _x8, _x9, _x10, _x11, _x12, _x13) {\n return _ref3.apply(this, arguments);\n };\n}();\nconst getAppRoot = doc => {\n return doc.querySelector('ion-app') || doc.body;\n};\nconst overlayAnimation = /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator(function* (overlay, animationBuilder, baseEl, opts) {\n // Make overlay visible in case it's hidden\n baseEl.classList.remove('overlay-hidden');\n const aniRoot = baseEl.shadowRoot || overlay.el;\n const animation = animationBuilder(aniRoot, opts);\n if (!overlay.animated || !config.getBoolean('animated', true)) {\n animation.duration(0);\n }\n if (overlay.keyboardClose) {\n animation.beforeAddWrite(() => {\n const activeElement = baseEl.ownerDocument.activeElement;\n if (activeElement && activeElement.matches('input, ion-input, ion-textarea')) {\n activeElement.blur();\n }\n });\n }\n const activeAni = activeAnimations.get(overlay) || [];\n activeAnimations.set(overlay, [...activeAni, animation]);\n yield animation.play();\n return true;\n });\n return function overlayAnimation(_x14, _x15, _x16, _x17) {\n return _ref4.apply(this, arguments);\n };\n}();\nconst eventMethod = (element, eventName) => {\n let resolve;\n const promise = new Promise(r => resolve = r);\n onceEvent(element, eventName, event => {\n resolve(event.detail);\n });\n return promise;\n};\nconst onceEvent = (element, eventName, callback) => {\n const handler = ev => {\n removeEventListener(element, eventName, handler);\n callback(ev);\n };\n addEventListener(element, eventName, handler);\n};\nconst isCancel = role => {\n return role === 'cancel' || role === BACKDROP;\n};\nconst defaultGate = h => h();\nconst safeCall = (handler, arg) => {\n if (typeof handler === 'function') {\n const jmp = config.get('_zoneGate', defaultGate);\n return jmp(() => {\n try {\n return handler(arg);\n } catch (e) {\n console.error(e);\n }\n });\n }\n return undefined;\n};\nconst BACKDROP = 'backdrop';\nexport { BACKDROP as B, alertController as a, actionSheetController as b, popoverController as c, present as d, prepareOverlay as e, dismiss as f, eventMethod as g, activeAnimations as h, isCancel as i, loadingController as l, modalController as m, pickerController as p, safeCall as s, toastController as t };","map":{"version":3,"names":["b","getIonMode","c","config","OVERLAY_BACK_BUTTON_PRIORITY","componentOnReady","a","addEventListener","removeEventListener","g","getElementRoot","lastId","activeAnimations","WeakMap","createController","tagName","create","options","createOverlay","dismiss","data","role","id","dismissOverlay","document","getTop","_asyncToGenerator","getOverlay","alertController","actionSheetController","loadingController","modalController","pickerController","popoverController","toastController","prepareOverlay","el","connectListeners","overlayIndex","hasAttribute","opts","customElements","whenDefined","then","element","createElement","classList","add","Object","assign","getAppRoot","appendChild","Promise","resolve","focusableQueryString","innerFocusableQueryString","focusFirstDescendant","ref","overlay","firstInput","querySelector","shadowRoot","focus","focusLastDescendant","inputs","Array","from","querySelectorAll","lastInput","length","trapKeyboardFocus","ev","doc","lastOverlay","target","lastFocus","undefined","overlayRoot","contains","overlayWrapper","activeElement","backdropDismiss","detail","register","BACKDROP","key","overlayTag","reject","getOverlays","selector","filter","overlays","find","o","setRootAriaHidden","hidden","root","viewContainer","setAttribute","removeAttribute","present","_ref","name","iosEnterAnimation","mdEnterAnimation","presented","willPresent","emit","mode","animationBuilder","enterAnimation","get","completed","overlayAnimation","didPresent","focusPreviousElementOnDismiss","keyboardClose","_x","_x2","_x3","_x4","_x5","apply","arguments","_ref2","overlayEl","previousElement","onDidDismiss","_x6","_ref3","iosLeaveAnimation","mdLeaveAnimation","style","setProperty","willDismiss","leaveAnimation","didDismiss","delete","err","console","error","remove","_x7","_x8","_x9","_x10","_x11","_x12","_x13","body","_ref4","baseEl","aniRoot","animation","animated","getBoolean","duration","beforeAddWrite","ownerDocument","matches","blur","activeAni","set","play","_x14","_x15","_x16","_x17","eventMethod","eventName","promise","r","onceEvent","event","callback","handler","isCancel","defaultGate","h","safeCall","arg","jmp","e","B","d","f","i","l","m","p","s","t"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@ionic/core/dist/esm/overlays-a62f858b.js"],"sourcesContent":["import { b as getIonMode, c as config } from './ionic-global-63a97a32.js';\nimport { OVERLAY_BACK_BUTTON_PRIORITY } from './hardware-back-button-4a6b37fb.js';\nimport { c as componentOnReady, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-1457892a.js';\n\nlet lastId = 0;\nconst activeAnimations = new WeakMap();\nconst createController = (tagName) => {\n return {\n create(options) {\n return createOverlay(tagName, options);\n },\n dismiss(data, role, id) {\n return dismissOverlay(document, data, role, tagName, id);\n },\n async getTop() {\n return getOverlay(document, tagName);\n }\n };\n};\nconst alertController = /*@__PURE__*/ createController('ion-alert');\nconst actionSheetController = /*@__PURE__*/ createController('ion-action-sheet');\nconst loadingController = /*@__PURE__*/ createController('ion-loading');\nconst modalController = /*@__PURE__*/ createController('ion-modal');\nconst pickerController = /*@__PURE__*/ createController('ion-picker');\nconst popoverController = /*@__PURE__*/ createController('ion-popover');\nconst toastController = /*@__PURE__*/ createController('ion-toast');\nconst prepareOverlay = (el) => {\n /* tslint:disable-next-line */\n if (typeof document !== 'undefined') {\n connectListeners(document);\n }\n const overlayIndex = lastId++;\n el.overlayIndex = overlayIndex;\n if (!el.hasAttribute('id')) {\n el.id = `ion-overlay-${overlayIndex}`;\n }\n};\nconst createOverlay = (tagName, opts) => {\n /* tslint:disable-next-line */\n if (typeof customElements !== 'undefined') {\n return customElements.whenDefined(tagName).then(() => {\n const element = document.createElement(tagName);\n element.classList.add('overlay-hidden');\n // convert the passed in overlay options into props\n // that get passed down into the new overlay\n Object.assign(element, opts);\n // append the overlay element to the document body\n getAppRoot(document).appendChild(element);\n return new Promise(resolve => componentOnReady(element, resolve));\n });\n }\n return Promise.resolve();\n};\nconst focusableQueryString = '[tabindex]:not([tabindex^=\"-\"]), input:not([type=hidden]):not([tabindex^=\"-\"]), textarea:not([tabindex^=\"-\"]), button:not([tabindex^=\"-\"]), select:not([tabindex^=\"-\"]), .ion-focusable:not([tabindex^=\"-\"])';\nconst innerFocusableQueryString = 'input:not([type=hidden]), textarea, button, select';\nconst focusFirstDescendant = (ref, overlay) => {\n let firstInput = ref.querySelector(focusableQueryString);\n const shadowRoot = firstInput && firstInput.shadowRoot;\n if (shadowRoot) {\n // If there are no inner focusable elements, just focus the host element.\n firstInput = shadowRoot.querySelector(innerFocusableQueryString) || firstInput;\n }\n if (firstInput) {\n firstInput.focus();\n }\n else {\n // Focus overlay instead of letting focus escape\n overlay.focus();\n }\n};\nconst focusLastDescendant = (ref, overlay) => {\n const inputs = Array.from(ref.querySelectorAll(focusableQueryString));\n let lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;\n const shadowRoot = lastInput && lastInput.shadowRoot;\n if (shadowRoot) {\n // If there are no inner focusable elements, just focus the host element.\n lastInput = shadowRoot.querySelector(innerFocusableQueryString) || lastInput;\n }\n if (lastInput) {\n lastInput.focus();\n }\n else {\n // Focus overlay instead of letting focus escape\n overlay.focus();\n }\n};\n/**\n * Traps keyboard focus inside of overlay components.\n * Based on https://w3c.github.io/aria-practices/examples/dialog-modal/alertdialog.html\n * This includes the following components: Action Sheet, Alert, Loading, Modal,\n * Picker, and Popover.\n * Should NOT include: Toast\n */\nconst trapKeyboardFocus = (ev, doc) => {\n const lastOverlay = getOverlay(doc);\n const target = ev.target;\n // If no active overlay, ignore this event\n if (!lastOverlay || !target) {\n return;\n }\n /**\n * If we are focusing the overlay, clear\n * the last focused element so that hitting\n * tab activates the first focusable element\n * in the overlay wrapper.\n */\n if (lastOverlay === target) {\n lastOverlay.lastFocus = undefined;\n /**\n * Otherwise, we must be focusing an element\n * inside of the overlay. The two possible options\n * here are an input/button/etc or the ion-focus-trap\n * element. The focus trap element is used to prevent\n * the keyboard focus from leaving the overlay when\n * using Tab or screen assistants.\n */\n }\n else {\n /**\n * We do not want to focus the traps, so get the overlay\n * wrapper element as the traps live outside of the wrapper.\n */\n const overlayRoot = getElementRoot(lastOverlay);\n if (!overlayRoot.contains(target)) {\n return;\n }\n const overlayWrapper = overlayRoot.querySelector('.ion-overlay-wrapper');\n if (!overlayWrapper) {\n return;\n }\n /**\n * If the target is inside the wrapper, let the browser\n * focus as normal and keep a log of the last focused element.\n */\n if (overlayWrapper.contains(target)) {\n lastOverlay.lastFocus = target;\n }\n else {\n /**\n * Otherwise, we must have focused one of the focus traps.\n * We need to wrap the focus to either the first element\n * or the last element.\n */\n /**\n * Once we call `focusFirstDescendant` and focus the first\n * descendant, another focus event will fire which will\n * cause `lastOverlay.lastFocus` to be updated before\n * we can run the code after that. We will cache the value\n * here to avoid that.\n */\n const lastFocus = lastOverlay.lastFocus;\n // Focus the first element in the overlay wrapper\n focusFirstDescendant(overlayWrapper, lastOverlay);\n /**\n * If the cached last focused element is the\n * same as the active element, then we need\n * to wrap focus to the last descendant. This happens\n * when the first descendant is focused, and the user\n * presses Shift + Tab. The previous line will focus\n * the same descendant again (the first one), causing\n * last focus to equal the active element.\n */\n if (lastFocus === doc.activeElement) {\n focusLastDescendant(overlayWrapper, lastOverlay);\n }\n lastOverlay.lastFocus = doc.activeElement;\n }\n }\n};\nconst connectListeners = (doc) => {\n if (lastId === 0) {\n lastId = 1;\n doc.addEventListener('focus', ev => trapKeyboardFocus(ev, doc), true);\n // handle back-button click\n doc.addEventListener('ionBackButton', ev => {\n const lastOverlay = getOverlay(doc);\n if (lastOverlay && lastOverlay.backdropDismiss) {\n ev.detail.register(OVERLAY_BACK_BUTTON_PRIORITY, () => {\n return lastOverlay.dismiss(undefined, BACKDROP);\n });\n }\n });\n // handle ESC to close overlay\n doc.addEventListener('keyup', ev => {\n if (ev.key === 'Escape') {\n const lastOverlay = getOverlay(doc);\n if (lastOverlay && lastOverlay.backdropDismiss) {\n lastOverlay.dismiss(undefined, BACKDROP);\n }\n }\n });\n }\n};\nconst dismissOverlay = (doc, data, role, overlayTag, id) => {\n const overlay = getOverlay(doc, overlayTag, id);\n if (!overlay) {\n return Promise.reject('overlay does not exist');\n }\n return overlay.dismiss(data, role);\n};\nconst getOverlays = (doc, selector) => {\n if (selector === undefined) {\n selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast';\n }\n return Array.from(doc.querySelectorAll(selector))\n .filter(c => c.overlayIndex > 0);\n};\nconst getOverlay = (doc, overlayTag, id) => {\n const overlays = getOverlays(doc, overlayTag);\n return (id === undefined)\n ? overlays[overlays.length - 1]\n : overlays.find(o => o.id === id);\n};\n/**\n * When an overlay is presented, the main\n * focus is the overlay not the page content.\n * We need to remove the page content from the\n * accessibility tree otherwise when\n * users use \"read screen from top\" gestures with\n * TalkBack and VoiceOver, the screen reader will begin\n * to read the content underneath the overlay.\n *\n * We need a container where all page components\n * exist that is separate from where the overlays\n * are added in the DOM. For most apps, this element\n * is the top most ion-router-outlet. In the event\n * that devs are not using a router,\n * they will need to add the \"ion-view-container-root\"\n * id to the element that contains all of their views.\n *\n * TODO: If Framework supports having multiple top\n * level router outlets we would need to update this.\n * Example: One outlet for side menu and one outlet\n * for main content.\n */\nconst setRootAriaHidden = (hidden = false) => {\n const root = getAppRoot(document);\n const viewContainer = root.querySelector('ion-router-outlet, ion-nav, #ion-view-container-root');\n if (!viewContainer) {\n return;\n }\n if (hidden) {\n viewContainer.setAttribute('aria-hidden', 'true');\n }\n else {\n viewContainer.removeAttribute('aria-hidden');\n }\n};\nconst present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {\n if (overlay.presented) {\n return;\n }\n setRootAriaHidden(true);\n overlay.presented = true;\n overlay.willPresent.emit();\n const mode = getIonMode(overlay);\n // get the user's animation fn if one was provided\n const animationBuilder = (overlay.enterAnimation)\n ? overlay.enterAnimation\n : config.get(name, mode === 'ios' ? iosEnterAnimation : mdEnterAnimation);\n const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);\n if (completed) {\n overlay.didPresent.emit();\n }\n /**\n * When an overlay that steals focus\n * is dismissed, focus should be returned\n * to the element that was focused\n * prior to the overlay opening. Toast\n * does not steal focus and is excluded\n * from returning focus as a result.\n */\n if (overlay.el.tagName !== 'ION-TOAST') {\n focusPreviousElementOnDismiss(overlay.el);\n }\n if (overlay.keyboardClose) {\n overlay.el.focus();\n }\n};\n/**\n * When an overlay component is dismissed,\n * focus should be returned to the element\n * that presented the overlay. Otherwise\n * focus will be set on the body which\n * means that people using screen readers\n * or tabbing will need to re-navigate\n * to where they were before they\n * opened the overlay.\n */\nconst focusPreviousElementOnDismiss = async (overlayEl) => {\n let previousElement = document.activeElement;\n if (!previousElement) {\n return;\n }\n const shadowRoot = previousElement && previousElement.shadowRoot;\n if (shadowRoot) {\n // If there are no inner focusable elements, just focus the host element.\n previousElement = shadowRoot.querySelector(innerFocusableQueryString) || previousElement;\n }\n await overlayEl.onDidDismiss();\n previousElement.focus();\n};\nconst dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {\n if (!overlay.presented) {\n return false;\n }\n setRootAriaHidden(false);\n overlay.presented = false;\n try {\n // Overlay contents should not be clickable during dismiss\n overlay.el.style.setProperty('pointer-events', 'none');\n overlay.willDismiss.emit({ data, role });\n const mode = getIonMode(overlay);\n const animationBuilder = (overlay.leaveAnimation)\n ? overlay.leaveAnimation\n : config.get(name, mode === 'ios' ? iosLeaveAnimation : mdLeaveAnimation);\n // If dismissed via gesture, no need to play leaving animation again\n if (role !== 'gesture') {\n await overlayAnimation(overlay, animationBuilder, overlay.el, opts);\n }\n overlay.didDismiss.emit({ data, role });\n activeAnimations.delete(overlay);\n }\n catch (err) {\n console.error(err);\n }\n overlay.el.remove();\n return true;\n};\nconst getAppRoot = (doc) => {\n return doc.querySelector('ion-app') || doc.body;\n};\nconst overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {\n // Make overlay visible in case it's hidden\n baseEl.classList.remove('overlay-hidden');\n const aniRoot = baseEl.shadowRoot || overlay.el;\n const animation = animationBuilder(aniRoot, opts);\n if (!overlay.animated || !config.getBoolean('animated', true)) {\n animation.duration(0);\n }\n if (overlay.keyboardClose) {\n animation.beforeAddWrite(() => {\n const activeElement = baseEl.ownerDocument.activeElement;\n if (activeElement && activeElement.matches('input, ion-input, ion-textarea')) {\n activeElement.blur();\n }\n });\n }\n const activeAni = activeAnimations.get(overlay) || [];\n activeAnimations.set(overlay, [...activeAni, animation]);\n await animation.play();\n return true;\n};\nconst eventMethod = (element, eventName) => {\n let resolve;\n const promise = new Promise(r => resolve = r);\n onceEvent(element, eventName, (event) => {\n resolve(event.detail);\n });\n return promise;\n};\nconst onceEvent = (element, eventName, callback) => {\n const handler = (ev) => {\n removeEventListener(element, eventName, handler);\n callback(ev);\n };\n addEventListener(element, eventName, handler);\n};\nconst isCancel = (role) => {\n return role === 'cancel' || role === BACKDROP;\n};\nconst defaultGate = (h) => h();\nconst safeCall = (handler, arg) => {\n if (typeof handler === 'function') {\n const jmp = config.get('_zoneGate', defaultGate);\n return jmp(() => {\n try {\n return handler(arg);\n }\n catch (e) {\n console.error(e);\n }\n });\n }\n return undefined;\n};\nconst BACKDROP = 'backdrop';\n\nexport { BACKDROP as B, alertController as a, actionSheetController as b, popoverController as c, present as d, prepareOverlay as e, dismiss as f, eventMethod as g, activeAnimations as h, isCancel as i, loadingController as l, modalController as m, pickerController as p, safeCall as s, toastController as t };\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} |