0abf75285b502988c8b144d0cdacdafb3062d3d7e3432b949d0016d110c61589.json 39 KB

1
  1. {"ast":null,"code":"import _asyncToGenerator from \"F:/workspace/huinongbao-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\n/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { c as config } from './ionic-global-c81d82ab.js';\nimport { w as writeTask, B as Build } from './index-28849c61.js';\nimport { p as printIonWarning } from './index-9b0d46f4.js';\nimport { r as raf } from './helpers-da915de8.js';\nconst LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';\nconst LIFECYCLE_DID_ENTER = 'ionViewDidEnter';\nconst LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';\nconst LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';\nconst LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';\n\n/**\n * Moves focus to a specified element. Note that we do not remove the tabindex\n * because that can result in an unintentional blur. Non-focusables can't be\n * focused, so the body will get focused again.\n */\nconst moveFocus = el => {\n el.tabIndex = -1;\n el.focus();\n};\n/**\n * Elements that are hidden using `display: none` should not be focused even if\n * they are present in the DOM.\n */\nconst isVisible = el => {\n return el.offsetParent !== null;\n};\n/**\n * The focus controller allows us to manage focus within a view so assistive\n * technologies can inform users of changes to the navigation state. Traditional\n * native apps have a way of informing assistive technology about a navigation\n * state change. Mobile browsers have this too, but only when doing a full page\n * load. In a single page app we do not do that, so we need to build this\n * integration ourselves.\n */\nconst createFocusController = () => {\n const saveViewFocus = referenceEl => {\n const focusManagerEnabled = config.get('focusManagerPriority', false);\n /**\n * When going back to a previously visited page focus should typically be moved\n * back to the element that was last focused when the user was on this view.\n */\n if (focusManagerEnabled) {\n const activeEl = document.activeElement;\n if (activeEl !== null && (referenceEl === null || referenceEl === void 0 ? void 0 : referenceEl.contains(activeEl))) {\n activeEl.setAttribute(LAST_FOCUS, 'true');\n }\n }\n };\n const setViewFocus = referenceEl => {\n const focusManagerPriorities = config.get('focusManagerPriority', false);\n /**\n * If the focused element is a descendant of the referenceEl then it's possible\n * that the app developer manually moved focus, so we do not want to override that.\n * This can happen with inputs the are focused when a view transitions in.\n */\n if (Array.isArray(focusManagerPriorities) && !referenceEl.contains(document.activeElement)) {\n /**\n * When going back to a previously visited view focus should always be moved back\n * to the element that the user was last focused on when they were on this view.\n */\n const lastFocus = referenceEl.querySelector(`[${LAST_FOCUS}]`);\n if (lastFocus && isVisible(lastFocus)) {\n moveFocus(lastFocus);\n return;\n }\n for (const priority of focusManagerPriorities) {\n /**\n * For each recognized case (excluding the default case) make sure to return\n * so that the fallback focus behavior does not run.\n *\n * We intentionally query for specific roles/semantic elements so that the\n * transition manager can work with both Ionic and non-Ionic UI components.\n *\n * If new selectors are added, be sure to remove the outline ring by adding\n * new selectors to rule in core.scss.\n */\n switch (priority) {\n case 'content':\n const content = referenceEl.querySelector('main, [role=\"main\"]');\n if (content && isVisible(content)) {\n moveFocus(content);\n return;\n }\n break;\n case 'heading':\n const headingOne = referenceEl.querySelector('h1, [role=\"heading\"][aria-level=\"1\"]');\n if (headingOne && isVisible(headingOne)) {\n moveFocus(headingOne);\n return;\n }\n break;\n case 'banner':\n const header = referenceEl.querySelector('header, [role=\"banner\"]');\n if (header && isVisible(header)) {\n moveFocus(header);\n return;\n }\n break;\n default:\n printIonWarning(`Unrecognized focus manager priority value ${priority}`);\n break;\n }\n }\n /**\n * If there is nothing to focus then focus the page so focus at least moves to\n * the correct view. The browser will then determine where within the page to\n * move focus to.\n */\n moveFocus(referenceEl);\n }\n };\n return {\n saveViewFocus,\n setViewFocus\n };\n};\nconst LAST_FOCUS = 'ion-last-focus';\nconst iosTransitionAnimation = () => import('./ios.transition-4ee1a3af.js');\nconst mdTransitionAnimation = () => import('./md.transition-5106a0d2.js');\nconst focusController = createFocusController();\n// TODO(FW-2832): types\nconst transition = opts => {\n return new Promise((resolve, reject) => {\n writeTask(() => {\n beforeTransition(opts);\n runTransition(opts).then(result => {\n if (result.animation) {\n result.animation.destroy();\n }\n afterTransition(opts);\n resolve(result);\n }, error => {\n afterTransition(opts);\n reject(error);\n });\n });\n });\n};\nconst beforeTransition = opts => {\n const enteringEl = opts.enteringEl;\n const leavingEl = opts.leavingEl;\n focusController.saveViewFocus(leavingEl);\n setZIndex(enteringEl, leavingEl, opts.direction);\n if (opts.showGoBack) {\n enteringEl.classList.add('can-go-back');\n } else {\n enteringEl.classList.remove('can-go-back');\n }\n setPageHidden(enteringEl, false);\n /**\n * When transitioning, the page should not\n * respond to click events. This resolves small\n * issues like users double tapping the ion-back-button.\n * These pointer events are removed in `afterTransition`.\n */\n enteringEl.style.setProperty('pointer-events', 'none');\n if (leavingEl) {\n setPageHidden(leavingEl, false);\n leavingEl.style.setProperty('pointer-events', 'none');\n }\n};\nconst runTransition = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (opts) {\n const animationBuilder = yield getAnimationBuilder(opts);\n const ani = animationBuilder && Build.isBrowser ? animation(animationBuilder, opts) : noAnimation(opts); // fast path for no animation\n return ani;\n });\n return function runTransition(_x) {\n return _ref.apply(this, arguments);\n };\n}();\nconst afterTransition = opts => {\n const enteringEl = opts.enteringEl;\n const leavingEl = opts.leavingEl;\n enteringEl.classList.remove('ion-page-invisible');\n enteringEl.style.removeProperty('pointer-events');\n if (leavingEl !== undefined) {\n leavingEl.classList.remove('ion-page-invisible');\n leavingEl.style.removeProperty('pointer-events');\n }\n focusController.setViewFocus(enteringEl);\n};\nconst getAnimationBuilder = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* (opts) {\n if (!opts.leavingEl || !opts.animated || opts.duration === 0) {\n return undefined;\n }\n if (opts.animationBuilder) {\n return opts.animationBuilder;\n }\n const getAnimation = opts.mode === 'ios' ? (yield iosTransitionAnimation()).iosTransitionAnimation : (yield mdTransitionAnimation()).mdTransitionAnimation;\n return getAnimation;\n });\n return function getAnimationBuilder(_x2) {\n return _ref2.apply(this, arguments);\n };\n}();\nconst animation = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator(function* (animationBuilder, opts) {\n yield waitForReady(opts, true);\n const trans = animationBuilder(opts.baseEl, opts);\n fireWillEvents(opts.enteringEl, opts.leavingEl);\n const didComplete = yield playTransition(trans, opts);\n if (opts.progressCallback) {\n opts.progressCallback(undefined);\n }\n if (didComplete) {\n fireDidEvents(opts.enteringEl, opts.leavingEl);\n }\n return {\n hasCompleted: didComplete,\n animation: trans\n };\n });\n return function animation(_x3, _x4) {\n return _ref3.apply(this, arguments);\n };\n}();\nconst noAnimation = /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator(function* (opts) {\n const enteringEl = opts.enteringEl;\n const leavingEl = opts.leavingEl;\n const focusManagerEnabled = config.get('focusManagerPriority', false);\n /**\n * If the focus manager is enabled then we need to wait for Ionic components to be\n * rendered otherwise the component to focus may not be focused because it is hidden.\n */\n yield waitForReady(opts, focusManagerEnabled);\n fireWillEvents(enteringEl, leavingEl);\n fireDidEvents(enteringEl, leavingEl);\n return {\n hasCompleted: true\n };\n });\n return function noAnimation(_x5) {\n return _ref4.apply(this, arguments);\n };\n}();\nconst waitForReady = /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator(function* (opts, defaultDeep) {\n const deep = opts.deepWait !== undefined ? opts.deepWait : defaultDeep;\n if (deep) {\n yield Promise.all([_deepReady(opts.enteringEl), _deepReady(opts.leavingEl)]);\n }\n yield notifyViewReady(opts.viewIsReady, opts.enteringEl);\n });\n return function waitForReady(_x6, _x7) {\n return _ref5.apply(this, arguments);\n };\n}();\nconst notifyViewReady = /*#__PURE__*/function () {\n var _ref6 = _asyncToGenerator(function* (viewIsReady, enteringEl) {\n if (viewIsReady) {\n yield viewIsReady(enteringEl);\n }\n });\n return function notifyViewReady(_x8, _x9) {\n return _ref6.apply(this, arguments);\n };\n}();\nconst playTransition = (trans, opts) => {\n const progressCallback = opts.progressCallback;\n const promise = new Promise(resolve => {\n trans.onFinish(currentStep => resolve(currentStep === 1));\n });\n // cool, let's do this, start the transition\n if (progressCallback) {\n // this is a swipe to go back, just get the transition progress ready\n // kick off the swipe animation start\n trans.progressStart(true);\n progressCallback(trans);\n } else {\n // only the top level transition should actually start \"play\"\n // kick it off and let it play through\n // ******** DOM WRITE ****************\n trans.play();\n }\n // create a callback for when the animation is done\n return promise;\n};\nconst fireWillEvents = (enteringEl, leavingEl) => {\n lifecycle(leavingEl, LIFECYCLE_WILL_LEAVE);\n lifecycle(enteringEl, LIFECYCLE_WILL_ENTER);\n};\nconst fireDidEvents = (enteringEl, leavingEl) => {\n lifecycle(enteringEl, LIFECYCLE_DID_ENTER);\n lifecycle(leavingEl, LIFECYCLE_DID_LEAVE);\n};\nconst lifecycle = (el, eventName) => {\n if (el) {\n const ev = new CustomEvent(eventName, {\n bubbles: false,\n cancelable: false\n });\n el.dispatchEvent(ev);\n }\n};\n/**\n * Wait two request animation frame loops.\n * This allows the framework implementations enough time to mount\n * the user-defined contents. This is often needed when using inline\n * modals and popovers that accept user components. For popover,\n * the contents must be mounted for the popover to be sized correctly.\n * For modals, the contents must be mounted for iOS to run the\n * transition correctly.\n *\n * On Angular and React, a single raf is enough time, but for Vue\n * we need to wait two rafs. As a result we are using two rafs for\n * all frameworks to ensure contents are mounted.\n */\nconst waitForMount = () => {\n return new Promise(resolve => raf(() => raf(() => resolve())));\n};\nconst _deepReady = /*#__PURE__*/function () {\n var _ref7 = _asyncToGenerator(function* (el) {\n const element = el;\n if (element) {\n if (element.componentOnReady != null) {\n // eslint-disable-next-line custom-rules/no-component-on-ready-method\n const stencilEl = yield element.componentOnReady();\n if (stencilEl != null) {\n return;\n }\n /**\n * Custom elements in Stencil will have __registerHost.\n */\n } else if (element.__registerHost != null) {\n /**\n * Non-lazy loaded custom elements need to wait\n * one frame for component to be loaded.\n */\n const waitForCustomElement = new Promise(resolve => raf(resolve));\n yield waitForCustomElement;\n return;\n }\n yield Promise.all(Array.from(element.children).map(_deepReady));\n }\n });\n return function deepReady(_x10) {\n return _ref7.apply(this, arguments);\n };\n}();\nconst setPageHidden = (el, hidden) => {\n if (hidden) {\n el.setAttribute('aria-hidden', 'true');\n el.classList.add('ion-page-hidden');\n } else {\n el.hidden = false;\n el.removeAttribute('aria-hidden');\n el.classList.remove('ion-page-hidden');\n }\n};\nconst setZIndex = (enteringEl, leavingEl, direction) => {\n if (enteringEl !== undefined) {\n enteringEl.style.zIndex = direction === 'back' ? '99' : '101';\n }\n if (leavingEl !== undefined) {\n leavingEl.style.zIndex = '100';\n }\n};\nconst getIonPageElement = element => {\n if (element.classList.contains('ion-page')) {\n return element;\n }\n const ionPage = element.querySelector(':scope > .ion-page, :scope > ion-nav, :scope > ion-tabs');\n if (ionPage) {\n return ionPage;\n }\n // idk, return the original element so at least something animates and we don't have a null pointer\n return element;\n};\nexport { LIFECYCLE_WILL_ENTER as L, LIFECYCLE_DID_ENTER as a, LIFECYCLE_WILL_LEAVE as b, LIFECYCLE_DID_LEAVE as c, LIFECYCLE_WILL_UNLOAD as d, _deepReady as e, getIonPageElement as g, lifecycle as l, setPageHidden as s, transition as t, waitForMount as w };","map":{"version":3,"names":["c","config","w","writeTask","B","Build","p","printIonWarning","r","raf","LIFECYCLE_WILL_ENTER","LIFECYCLE_DID_ENTER","LIFECYCLE_WILL_LEAVE","LIFECYCLE_DID_LEAVE","LIFECYCLE_WILL_UNLOAD","moveFocus","el","tabIndex","focus","isVisible","offsetParent","createFocusController","saveViewFocus","referenceEl","focusManagerEnabled","get","activeEl","document","activeElement","contains","setAttribute","LAST_FOCUS","setViewFocus","focusManagerPriorities","Array","isArray","lastFocus","querySelector","priority","content","headingOne","header","iosTransitionAnimation","mdTransitionAnimation","focusController","transition","opts","Promise","resolve","reject","beforeTransition","runTransition","then","result","animation","destroy","afterTransition","error","enteringEl","leavingEl","setZIndex","direction","showGoBack","classList","add","remove","setPageHidden","style","setProperty","_ref","_asyncToGenerator","animationBuilder","getAnimationBuilder","ani","isBrowser","noAnimation","_x","apply","arguments","removeProperty","undefined","_ref2","animated","duration","getAnimation","mode","_x2","_ref3","waitForReady","trans","baseEl","fireWillEvents","didComplete","playTransition","progressCallback","fireDidEvents","hasCompleted","_x3","_x4","_ref4","_x5","_ref5","defaultDeep","deep","deepWait","all","deepReady","notifyViewReady","viewIsReady","_x6","_x7","_ref6","_x8","_x9","promise","onFinish","currentStep","progressStart","play","lifecycle","eventName","ev","CustomEvent","bubbles","cancelable","dispatchEvent","waitForMount","_ref7","element","componentOnReady","stencilEl","__registerHost","waitForCustomElement","from","children","map","_x10","hidden","removeAttribute","zIndex","getIonPageElement","ionPage","L","a","b","d","e","g","l","s","t"],"sources":["F:/workspace/huinongbao-app/node_modules/@ionic/core/dist/esm/index-3ad7f18b.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { c as config } from './ionic-global-c81d82ab.js';\nimport { w as writeTask, B as Build } from './index-28849c61.js';\nimport { p as printIonWarning } from './index-9b0d46f4.js';\nimport { r as raf } from './helpers-da915de8.js';\n\nconst LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';\nconst LIFECYCLE_DID_ENTER = 'ionViewDidEnter';\nconst LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';\nconst LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';\nconst LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';\n\n/**\n * Moves focus to a specified element. Note that we do not remove the tabindex\n * because that can result in an unintentional blur. Non-focusables can't be\n * focused, so the body will get focused again.\n */\nconst moveFocus = (el) => {\n el.tabIndex = -1;\n el.focus();\n};\n/**\n * Elements that are hidden using `display: none` should not be focused even if\n * they are present in the DOM.\n */\nconst isVisible = (el) => {\n return el.offsetParent !== null;\n};\n/**\n * The focus controller allows us to manage focus within a view so assistive\n * technologies can inform users of changes to the navigation state. Traditional\n * native apps have a way of informing assistive technology about a navigation\n * state change. Mobile browsers have this too, but only when doing a full page\n * load. In a single page app we do not do that, so we need to build this\n * integration ourselves.\n */\nconst createFocusController = () => {\n const saveViewFocus = (referenceEl) => {\n const focusManagerEnabled = config.get('focusManagerPriority', false);\n /**\n * When going back to a previously visited page focus should typically be moved\n * back to the element that was last focused when the user was on this view.\n */\n if (focusManagerEnabled) {\n const activeEl = document.activeElement;\n if (activeEl !== null && (referenceEl === null || referenceEl === void 0 ? void 0 : referenceEl.contains(activeEl))) {\n activeEl.setAttribute(LAST_FOCUS, 'true');\n }\n }\n };\n const setViewFocus = (referenceEl) => {\n const focusManagerPriorities = config.get('focusManagerPriority', false);\n /**\n * If the focused element is a descendant of the referenceEl then it's possible\n * that the app developer manually moved focus, so we do not want to override that.\n * This can happen with inputs the are focused when a view transitions in.\n */\n if (Array.isArray(focusManagerPriorities) && !referenceEl.contains(document.activeElement)) {\n /**\n * When going back to a previously visited view focus should always be moved back\n * to the element that the user was last focused on when they were on this view.\n */\n const lastFocus = referenceEl.querySelector(`[${LAST_FOCUS}]`);\n if (lastFocus && isVisible(lastFocus)) {\n moveFocus(lastFocus);\n return;\n }\n for (const priority of focusManagerPriorities) {\n /**\n * For each recognized case (excluding the default case) make sure to return\n * so that the fallback focus behavior does not run.\n *\n * We intentionally query for specific roles/semantic elements so that the\n * transition manager can work with both Ionic and non-Ionic UI components.\n *\n * If new selectors are added, be sure to remove the outline ring by adding\n * new selectors to rule in core.scss.\n */\n switch (priority) {\n case 'content':\n const content = referenceEl.querySelector('main, [role=\"main\"]');\n if (content && isVisible(content)) {\n moveFocus(content);\n return;\n }\n break;\n case 'heading':\n const headingOne = referenceEl.querySelector('h1, [role=\"heading\"][aria-level=\"1\"]');\n if (headingOne && isVisible(headingOne)) {\n moveFocus(headingOne);\n return;\n }\n break;\n case 'banner':\n const header = referenceEl.querySelector('header, [role=\"banner\"]');\n if (header && isVisible(header)) {\n moveFocus(header);\n return;\n }\n break;\n default:\n printIonWarning(`Unrecognized focus manager priority value ${priority}`);\n break;\n }\n }\n /**\n * If there is nothing to focus then focus the page so focus at least moves to\n * the correct view. The browser will then determine where within the page to\n * move focus to.\n */\n moveFocus(referenceEl);\n }\n };\n return {\n saveViewFocus,\n setViewFocus,\n };\n};\nconst LAST_FOCUS = 'ion-last-focus';\n\nconst iosTransitionAnimation = () => import('./ios.transition-4ee1a3af.js');\nconst mdTransitionAnimation = () => import('./md.transition-5106a0d2.js');\nconst focusController = createFocusController();\n// TODO(FW-2832): types\nconst transition = (opts) => {\n return new Promise((resolve, reject) => {\n writeTask(() => {\n beforeTransition(opts);\n runTransition(opts).then((result) => {\n if (result.animation) {\n result.animation.destroy();\n }\n afterTransition(opts);\n resolve(result);\n }, (error) => {\n afterTransition(opts);\n reject(error);\n });\n });\n });\n};\nconst beforeTransition = (opts) => {\n const enteringEl = opts.enteringEl;\n const leavingEl = opts.leavingEl;\n focusController.saveViewFocus(leavingEl);\n setZIndex(enteringEl, leavingEl, opts.direction);\n if (opts.showGoBack) {\n enteringEl.classList.add('can-go-back');\n }\n else {\n enteringEl.classList.remove('can-go-back');\n }\n setPageHidden(enteringEl, false);\n /**\n * When transitioning, the page should not\n * respond to click events. This resolves small\n * issues like users double tapping the ion-back-button.\n * These pointer events are removed in `afterTransition`.\n */\n enteringEl.style.setProperty('pointer-events', 'none');\n if (leavingEl) {\n setPageHidden(leavingEl, false);\n leavingEl.style.setProperty('pointer-events', 'none');\n }\n};\nconst runTransition = async (opts) => {\n const animationBuilder = await getAnimationBuilder(opts);\n const ani = animationBuilder && Build.isBrowser ? animation(animationBuilder, opts) : noAnimation(opts); // fast path for no animation\n return ani;\n};\nconst afterTransition = (opts) => {\n const enteringEl = opts.enteringEl;\n const leavingEl = opts.leavingEl;\n enteringEl.classList.remove('ion-page-invisible');\n enteringEl.style.removeProperty('pointer-events');\n if (leavingEl !== undefined) {\n leavingEl.classList.remove('ion-page-invisible');\n leavingEl.style.removeProperty('pointer-events');\n }\n focusController.setViewFocus(enteringEl);\n};\nconst getAnimationBuilder = async (opts) => {\n if (!opts.leavingEl || !opts.animated || opts.duration === 0) {\n return undefined;\n }\n if (opts.animationBuilder) {\n return opts.animationBuilder;\n }\n const getAnimation = opts.mode === 'ios'\n ? (await iosTransitionAnimation()).iosTransitionAnimation\n : (await mdTransitionAnimation()).mdTransitionAnimation;\n return getAnimation;\n};\nconst animation = async (animationBuilder, opts) => {\n await waitForReady(opts, true);\n const trans = animationBuilder(opts.baseEl, opts);\n fireWillEvents(opts.enteringEl, opts.leavingEl);\n const didComplete = await playTransition(trans, opts);\n if (opts.progressCallback) {\n opts.progressCallback(undefined);\n }\n if (didComplete) {\n fireDidEvents(opts.enteringEl, opts.leavingEl);\n }\n return {\n hasCompleted: didComplete,\n animation: trans,\n };\n};\nconst noAnimation = async (opts) => {\n const enteringEl = opts.enteringEl;\n const leavingEl = opts.leavingEl;\n const focusManagerEnabled = config.get('focusManagerPriority', false);\n /**\n * If the focus manager is enabled then we need to wait for Ionic components to be\n * rendered otherwise the component to focus may not be focused because it is hidden.\n */\n await waitForReady(opts, focusManagerEnabled);\n fireWillEvents(enteringEl, leavingEl);\n fireDidEvents(enteringEl, leavingEl);\n return {\n hasCompleted: true,\n };\n};\nconst waitForReady = async (opts, defaultDeep) => {\n const deep = opts.deepWait !== undefined ? opts.deepWait : defaultDeep;\n if (deep) {\n await Promise.all([deepReady(opts.enteringEl), deepReady(opts.leavingEl)]);\n }\n await notifyViewReady(opts.viewIsReady, opts.enteringEl);\n};\nconst notifyViewReady = async (viewIsReady, enteringEl) => {\n if (viewIsReady) {\n await viewIsReady(enteringEl);\n }\n};\nconst playTransition = (trans, opts) => {\n const progressCallback = opts.progressCallback;\n const promise = new Promise((resolve) => {\n trans.onFinish((currentStep) => resolve(currentStep === 1));\n });\n // cool, let's do this, start the transition\n if (progressCallback) {\n // this is a swipe to go back, just get the transition progress ready\n // kick off the swipe animation start\n trans.progressStart(true);\n progressCallback(trans);\n }\n else {\n // only the top level transition should actually start \"play\"\n // kick it off and let it play through\n // ******** DOM WRITE ****************\n trans.play();\n }\n // create a callback for when the animation is done\n return promise;\n};\nconst fireWillEvents = (enteringEl, leavingEl) => {\n lifecycle(leavingEl, LIFECYCLE_WILL_LEAVE);\n lifecycle(enteringEl, LIFECYCLE_WILL_ENTER);\n};\nconst fireDidEvents = (enteringEl, leavingEl) => {\n lifecycle(enteringEl, LIFECYCLE_DID_ENTER);\n lifecycle(leavingEl, LIFECYCLE_DID_LEAVE);\n};\nconst lifecycle = (el, eventName) => {\n if (el) {\n const ev = new CustomEvent(eventName, {\n bubbles: false,\n cancelable: false,\n });\n el.dispatchEvent(ev);\n }\n};\n/**\n * Wait two request animation frame loops.\n * This allows the framework implementations enough time to mount\n * the user-defined contents. This is often needed when using inline\n * modals and popovers that accept user components. For popover,\n * the contents must be mounted for the popover to be sized correctly.\n * For modals, the contents must be mounted for iOS to run the\n * transition correctly.\n *\n * On Angular and React, a single raf is enough time, but for Vue\n * we need to wait two rafs. As a result we are using two rafs for\n * all frameworks to ensure contents are mounted.\n */\nconst waitForMount = () => {\n return new Promise((resolve) => raf(() => raf(() => resolve())));\n};\nconst deepReady = async (el) => {\n const element = el;\n if (element) {\n if (element.componentOnReady != null) {\n // eslint-disable-next-line custom-rules/no-component-on-ready-method\n const stencilEl = await element.componentOnReady();\n if (stencilEl != null) {\n return;\n }\n /**\n * Custom elements in Stencil will have __registerHost.\n */\n }\n else if (element.__registerHost != null) {\n /**\n * Non-lazy loaded custom elements need to wait\n * one frame for component to be loaded.\n */\n const waitForCustomElement = new Promise((resolve) => raf(resolve));\n await waitForCustomElement;\n return;\n }\n await Promise.all(Array.from(element.children).map(deepReady));\n }\n};\nconst setPageHidden = (el, hidden) => {\n if (hidden) {\n el.setAttribute('aria-hidden', 'true');\n el.classList.add('ion-page-hidden');\n }\n else {\n el.hidden = false;\n el.removeAttribute('aria-hidden');\n el.classList.remove('ion-page-hidden');\n }\n};\nconst setZIndex = (enteringEl, leavingEl, direction) => {\n if (enteringEl !== undefined) {\n enteringEl.style.zIndex = direction === 'back' ? '99' : '101';\n }\n if (leavingEl !== undefined) {\n leavingEl.style.zIndex = '100';\n }\n};\nconst getIonPageElement = (element) => {\n if (element.classList.contains('ion-page')) {\n return element;\n }\n const ionPage = element.querySelector(':scope > .ion-page, :scope > ion-nav, :scope > ion-tabs');\n if (ionPage) {\n return ionPage;\n }\n // idk, return the original element so at least something animates and we don't have a null pointer\n return element;\n};\n\nexport { LIFECYCLE_WILL_ENTER as L, LIFECYCLE_DID_ENTER as a, LIFECYCLE_WILL_LEAVE as b, LIFECYCLE_DID_LEAVE as c, LIFECYCLE_WILL_UNLOAD as d, deepReady as e, getIonPageElement as g, lifecycle as l, setPageHidden as s, transition as t, waitForMount as w };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}