{"version":3,"file":"node_modules_ionic_core_dist_esm_ion-menu_3_entry_js.js","mappings":"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","sources":["./node_modules/@ionic/core/dist/esm/ion-menu_3.entry.js","./node_modules/@ionic/core/dist/esm/theme-7670341c.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-8e692445.js';\nimport { c as config, b as getIonMode } from './ionic-global-c74e4951.js';\nimport { g as getTimeGivenProgression } from './cubic-bezier-e78d1307.js';\nimport { G as GESTURE_CONTROLLER } from './gesture-controller-17060b7c.js';\nimport { o as isEndSide, i as inheritAriaAttributes, n as assert, l as clamp } from './helpers-3b390e48.js';\nimport { m as menuController } from './index-2b839939.js';\nimport { k as getOverlay } from './overlays-58fa8e4d.js';\nimport { u as menuOutline, v as menuSharp } from './index-2bcb741c.js';\nimport { c as createColorClasses, h as hostContext } from './theme-7670341c.js';\nimport './hardware-back-button-490df115.js';\nimport './animation-4ff3f603.js';\nimport './index-33ffec25.js';\n\nconst menuIosCss = \":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}\";\n\nconst menuMdCss = \":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}\";\n\nconst iosEasing = 'cubic-bezier(0.32,0.72,0,1)';\nconst mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)';\nconst iosEasingReverse = 'cubic-bezier(1, 0, 0.68, 0.28)';\nconst mdEasingReverse = 'cubic-bezier(0.4, 0, 0.6, 1)';\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 Menu = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.ionWillOpen = createEvent(this, \"ionWillOpen\", 7);\n this.ionWillClose = createEvent(this, \"ionWillClose\", 7);\n this.ionDidOpen = createEvent(this, \"ionDidOpen\", 7);\n this.ionDidClose = createEvent(this, \"ionDidClose\", 7);\n this.ionMenuChange = createEvent(this, \"ionMenuChange\", 7);\n this.lastOnEnd = 0;\n this.blocker = GESTURE_CONTROLLER.createBlocker({ disableScroll: true });\n this.isAnimating = false;\n this._isOpen = false;\n this.inheritedAttributes = {};\n this.handleFocus = (ev) => {\n /**\n * Overlays have their own focus trapping listener\n * so we do not want the two listeners to conflict\n * with each other. If the top-most overlay that is\n * open does not contain this ion-menu, then ion-menu's\n * focus trapping should not run.\n */\n const lastOverlay = getOverlay(document);\n if (lastOverlay && !lastOverlay.contains(this.el)) {\n return;\n }\n this.trapKeyboardFocus(ev, document);\n };\n this.isPaneVisible = false;\n this.isEndSide = false;\n /**\n * If `true`, the menu is disabled.\n */\n this.disabled = false;\n /**\n * Which side of the view the menu should be placed.\n */\n this.side = 'start';\n /**\n * If `true`, swiping the menu is enabled.\n */\n this.swipeGesture = true;\n /**\n * The edge threshold for dragging the menu open.\n * If a drag/swipe happens over this value, the menu is not triggered.\n */\n this.maxEdgeStart = 50;\n }\n typeChanged(type, oldType) {\n const contentEl = this.contentEl;\n if (contentEl) {\n if (oldType !== undefined) {\n contentEl.classList.remove(`menu-content-${oldType}`);\n }\n contentEl.classList.add(`menu-content-${type}`);\n contentEl.removeAttribute('style');\n }\n if (this.menuInnerEl) {\n // Remove effects of previous animations\n this.menuInnerEl.removeAttribute('style');\n }\n this.animation = undefined;\n }\n disabledChanged() {\n this.updateState();\n this.ionMenuChange.emit({\n disabled: this.disabled,\n open: this._isOpen,\n });\n }\n sideChanged() {\n this.isEndSide = isEndSide(this.side);\n }\n swipeGestureChanged() {\n this.updateState();\n }\n async connectedCallback() {\n // TODO: connectedCallback is fired in CE build\n // before WC is defined. This needs to be fixed in Stencil.\n if (typeof customElements !== 'undefined' && customElements != null) {\n await customElements.whenDefined('ion-menu');\n }\n if (this.type === undefined) {\n this.type = config.get('menuType', 'overlay');\n }\n const content = this.contentId !== undefined ? document.getElementById(this.contentId) : null;\n if (content === null) {\n console.error('Menu: must have a \"content\" element to listen for drag events on.');\n return;\n }\n if (this.el.contains(content)) {\n console.error(`Menu: \"contentId\" should refer to the main view's ion-content, not the ion-content inside of the ion-menu.`);\n }\n this.contentEl = content;\n // add menu's content classes\n content.classList.add('menu-content');\n this.typeChanged(this.type, undefined);\n this.sideChanged();\n // register this menu with the app's menu controller\n menuController._register(this);\n this.gesture = (await import('./index-422b6e83.js')).createGesture({\n el: document,\n gestureName: 'menu-swipe',\n gesturePriority: 30,\n threshold: 10,\n blurOnStart: true,\n canStart: (ev) => this.canStart(ev),\n onWillStart: () => this.onWillStart(),\n onStart: () => this.onStart(),\n onMove: (ev) => this.onMove(ev),\n onEnd: (ev) => this.onEnd(ev),\n });\n this.updateState();\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAriaAttributes(this.el);\n }\n async componentDidLoad() {\n this.ionMenuChange.emit({ disabled: this.disabled, open: this._isOpen });\n this.updateState();\n }\n async disconnectedCallback() {\n /**\n * The menu should be closed when it is\n * unmounted from the DOM.\n * This is an async call, so we need to wait for\n * this to finish otherwise contentEl\n * will not have MENU_CONTENT_OPEN removed.\n */\n await this.close(false);\n this.blocker.destroy();\n menuController._unregister(this);\n if (this.animation) {\n this.animation.destroy();\n }\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n this.animation = undefined;\n this.contentEl = undefined;\n }\n onSplitPaneChanged(ev) {\n this.isPaneVisible = ev.detail.isPane(this.el);\n this.updateState();\n }\n onBackdropClick(ev) {\n // TODO(FW-2832): type (CustomEvent triggers errors which should be sorted)\n if (this._isOpen && this.lastOnEnd < ev.timeStamp - 100) {\n const shouldClose = ev.composedPath ? !ev.composedPath().includes(this.menuInnerEl) : false;\n if (shouldClose) {\n ev.preventDefault();\n ev.stopPropagation();\n this.close();\n }\n }\n }\n onKeydown(ev) {\n if (ev.key === 'Escape') {\n this.close();\n }\n }\n /**\n * Returns `true` is the menu is open.\n */\n isOpen() {\n return Promise.resolve(this._isOpen);\n }\n /**\n * Returns `true` is the menu is active.\n *\n * A menu is active when it can be opened or closed, meaning it's enabled\n * and it's not part of a `ion-split-pane`.\n */\n isActive() {\n return Promise.resolve(this._isActive());\n }\n /**\n * Opens the menu. If the menu is already open or it can't be opened,\n * it returns `false`.\n */\n open(animated = true) {\n return this.setOpen(true, animated);\n }\n /**\n * Closes the menu. If the menu is already closed or it can't be closed,\n * it returns `false`.\n */\n close(animated = true) {\n return this.setOpen(false, animated);\n }\n /**\n * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it.\n * If the operation can't be completed successfully, it returns `false`.\n */\n toggle(animated = true) {\n return this.setOpen(!this._isOpen, animated);\n }\n /**\n * Opens or closes the button.\n * If the operation can't be completed successfully, it returns `false`.\n */\n setOpen(shouldOpen, animated = true) {\n return menuController._setOpen(this, shouldOpen, animated);\n }\n focusFirstDescendant() {\n const { el } = this;\n const firstInput = el.querySelector(focusableQueryString);\n if (firstInput) {\n firstInput.focus();\n }\n else {\n el.focus();\n }\n }\n focusLastDescendant() {\n const { el } = this;\n const inputs = Array.from(el.querySelectorAll(focusableQueryString));\n const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;\n if (lastInput) {\n lastInput.focus();\n }\n else {\n el.focus();\n }\n }\n trapKeyboardFocus(ev, doc) {\n const target = ev.target;\n if (!target) {\n return;\n }\n /**\n * If the target is inside the menu contents, let the browser\n * focus as normal and keep a log of the last focused element.\n */\n if (this.el.contains(target)) {\n this.lastFocus = target;\n }\n else {\n /**\n * Otherwise, we are about to have focus go out of the menu.\n * Wrap the focus to either the first or last element.\n */\n /**\n * Once we call `focusFirstDescendant`, another focus event\n * will fire, which will cause `lastFocus` to be updated\n * before we can run the code after that. We cache the value\n * here to avoid that.\n */\n this.focusFirstDescendant();\n /**\n * If the cached last focused element is the same as the now-\n * active element, that means the user was on the first element\n * already and pressed Shift + Tab, so we need to wrap to the\n * last descendant.\n */\n if (this.lastFocus === doc.activeElement) {\n this.focusLastDescendant();\n }\n }\n }\n async _setOpen(shouldOpen, animated = true) {\n // If the menu is disabled or it is currently being animated, let's do nothing\n if (!this._isActive() || this.isAnimating || shouldOpen === this._isOpen) {\n return false;\n }\n this.beforeAnimation(shouldOpen);\n await this.loadAnimation();\n await this.startAnimation(shouldOpen, animated);\n this.afterAnimation(shouldOpen);\n return true;\n }\n async loadAnimation() {\n // Menu swipe animation takes the menu's inner width as parameter,\n // If `offsetWidth` changes, we need to create a new animation.\n const width = this.menuInnerEl.offsetWidth;\n if (width === this.width && this.animation !== undefined) {\n return;\n }\n this.width = width;\n // Destroy existing animation\n if (this.animation) {\n this.animation.destroy();\n this.animation = undefined;\n }\n // Create new animation\n this.animation = await menuController._createAnimation(this.type, this);\n if (!config.getBoolean('animated', true)) {\n this.animation.duration(0);\n }\n this.animation.fill('both');\n }\n async startAnimation(shouldOpen, animated) {\n const isReversed = !shouldOpen;\n const mode = getIonMode(this);\n const easing = mode === 'ios' ? iosEasing : mdEasing;\n const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse;\n const ani = this.animation\n .direction(isReversed ? 'reverse' : 'normal')\n .easing(isReversed ? easingReverse : easing)\n .onFinish(() => {\n if (ani.getDirection() === 'reverse') {\n ani.direction('normal');\n }\n });\n if (animated) {\n await ani.play();\n }\n else {\n ani.play({ sync: true });\n }\n }\n _isActive() {\n return !this.disabled && !this.isPaneVisible;\n }\n canSwipe() {\n return this.swipeGesture && !this.isAnimating && this._isActive();\n }\n canStart(detail) {\n // Do not allow swipe gesture if a modal is open\n const isModalPresented = !!document.querySelector('ion-modal.show-modal');\n if (isModalPresented || !this.canSwipe()) {\n return false;\n }\n if (this._isOpen) {\n return true;\n }\n else if (menuController._getOpenSync()) {\n return false;\n }\n return checkEdgeSide(window, detail.currentX, this.isEndSide, this.maxEdgeStart);\n }\n onWillStart() {\n this.beforeAnimation(!this._isOpen);\n return this.loadAnimation();\n }\n onStart() {\n if (!this.isAnimating || !this.animation) {\n assert(false, 'isAnimating has to be true');\n return;\n }\n // the cloned animation should not use an easing curve during seek\n this.animation.progressStart(true, this._isOpen ? 1 : 0);\n }\n onMove(detail) {\n if (!this.isAnimating || !this.animation) {\n assert(false, 'isAnimating has to be true');\n return;\n }\n const delta = computeDelta(detail.deltaX, this._isOpen, this.isEndSide);\n const stepValue = delta / this.width;\n this.animation.progressStep(this._isOpen ? 1 - stepValue : stepValue);\n }\n onEnd(detail) {\n if (!this.isAnimating || !this.animation) {\n assert(false, 'isAnimating has to be true');\n return;\n }\n const isOpen = this._isOpen;\n const isEndSide = this.isEndSide;\n const delta = computeDelta(detail.deltaX, isOpen, isEndSide);\n const width = this.width;\n const stepValue = delta / width;\n const velocity = detail.velocityX;\n const z = width / 2.0;\n const shouldCompleteRight = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z);\n const shouldCompleteLeft = velocity <= 0 && (velocity < -0.2 || detail.deltaX < -z);\n const shouldComplete = isOpen\n ? isEndSide\n ? shouldCompleteRight\n : shouldCompleteLeft\n : isEndSide\n ? shouldCompleteLeft\n : shouldCompleteRight;\n let shouldOpen = !isOpen && shouldComplete;\n if (isOpen && !shouldComplete) {\n shouldOpen = true;\n }\n this.lastOnEnd = detail.currentTime;\n // Account for rounding errors in JS\n let newStepValue = shouldComplete ? 0.001 : -0.001;\n /**\n * stepValue can sometimes return a negative\n * value, but you can't have a negative time value\n * for the cubic bezier curve (at least with web animations)\n */\n const adjustedStepValue = stepValue < 0 ? 0.01 : stepValue;\n /**\n * Animation will be reversed here, so need to\n * reverse the easing curve as well\n *\n * Additionally, we need to account for the time relative\n * to the new easing curve, as `stepValue` is going to be given\n * in terms of a linear curve.\n */\n newStepValue +=\n getTimeGivenProgression([0, 0], [0.4, 0], [0.6, 1], [1, 1], clamp(0, adjustedStepValue, 0.9999))[0] || 0;\n const playTo = this._isOpen ? !shouldComplete : shouldComplete;\n this.animation\n .easing('cubic-bezier(0.4, 0.0, 0.6, 1)')\n .onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true })\n .progressEnd(playTo ? 1 : 0, this._isOpen ? 1 - newStepValue : newStepValue, 300);\n }\n beforeAnimation(shouldOpen) {\n assert(!this.isAnimating, '_before() should not be called while animating');\n // this places the menu into the correct location before it animates in\n // this css class doesn't actually kick off any animations\n this.el.classList.add(SHOW_MENU);\n /**\n * We add a tabindex here so that focus trapping\n * still works even if the menu does not have\n * any focusable elements slotted inside. The\n * focus trapping utility will fallback to focusing\n * the menu so focus does not leave when the menu\n * is open.\n */\n this.el.setAttribute('tabindex', '0');\n if (this.backdropEl) {\n this.backdropEl.classList.add(SHOW_BACKDROP);\n }\n // add css class and hide content behind menu from screen readers\n if (this.contentEl) {\n this.contentEl.classList.add(MENU_CONTENT_OPEN);\n /**\n * When the menu is open and overlaying the main\n * content, the main content should not be announced\n * by the screenreader as the menu is the main\n * focus. This is useful with screenreaders that have\n * \"read from top\" gestures that read the entire\n * page from top to bottom when activated.\n * This should be done before the animation starts\n * so that users cannot accidentally scroll\n * the content while dragging a menu open.\n */\n this.contentEl.setAttribute('aria-hidden', 'true');\n }\n this.blocker.block();\n this.isAnimating = true;\n if (shouldOpen) {\n this.ionWillOpen.emit();\n }\n else {\n this.ionWillClose.emit();\n }\n }\n afterAnimation(isOpen) {\n var _a;\n assert(this.isAnimating, '_before() should be called while animating');\n // keep opening/closing the menu disabled for a touch more yet\n // only add listeners/css if it's enabled and isOpen\n // and only remove listeners/css if it's not open\n // emit opened/closed events\n this._isOpen = isOpen;\n this.isAnimating = false;\n if (!this._isOpen) {\n this.blocker.unblock();\n }\n if (isOpen) {\n // emit open event\n this.ionDidOpen.emit();\n /**\n * Move focus to the menu to prepare focus trapping, as long as\n * it isn't already focused. Use the host element instead of the\n * first descendant to avoid the scroll position jumping around.\n */\n const focusedMenu = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('ion-menu');\n if (focusedMenu !== this.el) {\n this.el.focus();\n }\n // start focus trapping\n document.addEventListener('focus', this.handleFocus, true);\n }\n else {\n // remove css classes and unhide content from screen readers\n this.el.classList.remove(SHOW_MENU);\n /**\n * Remove tabindex from the menu component\n * so that is cannot be tabbed to.\n */\n this.el.removeAttribute('tabindex');\n if (this.contentEl) {\n this.contentEl.classList.remove(MENU_CONTENT_OPEN);\n /**\n * Remove aria-hidden so screen readers\n * can announce the main content again\n * now that the menu is not the main focus.\n */\n this.contentEl.removeAttribute('aria-hidden');\n }\n if (this.backdropEl) {\n this.backdropEl.classList.remove(SHOW_BACKDROP);\n }\n if (this.animation) {\n this.animation.stop();\n }\n // emit close event\n this.ionDidClose.emit();\n // undo focus trapping so multiple menus don't collide\n document.removeEventListener('focus', this.handleFocus, true);\n }\n }\n updateState() {\n const isActive = this._isActive();\n if (this.gesture) {\n this.gesture.enable(isActive && this.swipeGesture);\n }\n // Close menu immediately\n if (!isActive && this._isOpen) {\n // close if this menu is open, and should not be enabled\n this.forceClosing();\n }\n if (!this.disabled) {\n menuController._setActiveMenu(this);\n }\n assert(!this.isAnimating, 'can not be animating');\n }\n forceClosing() {\n assert(this._isOpen, 'menu cannot be closed');\n this.isAnimating = true;\n const ani = this.animation.direction('reverse');\n ani.play({ sync: true });\n this.afterAnimation(false);\n }\n render() {\n const { isEndSide, type, disabled, isPaneVisible, inheritedAttributes } = this;\n const mode = getIonMode(this);\n return (h(Host, { role: \"navigation\", \"aria-label\": inheritedAttributes['aria-label'] || 'menu', class: {\n [mode]: true,\n [`menu-type-${type}`]: true,\n 'menu-enabled': !disabled,\n 'menu-side-end': isEndSide,\n 'menu-side-start': !isEndSide,\n 'menu-pane-visible': isPaneVisible,\n } }, h(\"div\", { class: \"menu-inner\", part: \"container\", ref: (el) => (this.menuInnerEl = el) }, h(\"slot\", null)), h(\"ion-backdrop\", { ref: (el) => (this.backdropEl = el), class: \"menu-backdrop\", tappable: false, stopPropagation: false, part: \"backdrop\" })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"type\": [\"typeChanged\"],\n \"disabled\": [\"disabledChanged\"],\n \"side\": [\"sideChanged\"],\n \"swipeGesture\": [\"swipeGestureChanged\"]\n }; }\n};\nconst computeDelta = (deltaX, isOpen, isEndSide) => {\n return Math.max(0, isOpen !== isEndSide ? -deltaX : deltaX);\n};\nconst checkEdgeSide = (win, posX, isEndSide, maxEdgeStart) => {\n if (isEndSide) {\n return posX >= win.innerWidth - maxEdgeStart;\n }\n else {\n return posX <= maxEdgeStart;\n }\n};\nconst SHOW_MENU = 'show-menu';\nconst SHOW_BACKDROP = 'show-backdrop';\nconst MENU_CONTENT_OPEN = 'menu-content-open';\nMenu.style = {\n ios: menuIosCss,\n md: menuMdCss\n};\n\n// Given a menu, return whether or not the menu toggle should be visible\nconst updateVisibility = async (menu) => {\n const menuEl = await menuController.get(menu);\n return !!(menuEl && (await menuEl.isActive()));\n};\n\nconst menuButtonIosCss = \":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #3880ff);--padding-start:5px;--padding-end:5px;height:32px;font-size:31px}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}\";\n\nconst menuButtonMdCss = \":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.12;--background-hover:currentColor;--background-hover-opacity:.04;--border-radius:50%;--color:initial;--padding-start:8px;--padding-end:8px;width:48px;height:48px;font-size:24px}:host(.ion-color.ion-focused)::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}\";\n\nconst MenuButton = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.inheritedAttributes = {};\n this.visible = false;\n /**\n * If `true`, the user cannot interact with the menu button.\n */\n this.disabled = false;\n /**\n * Automatically hides the menu button when the corresponding menu is not active\n */\n this.autoHide = true;\n /**\n * The type of the button.\n */\n this.type = 'button';\n this.onClick = async () => {\n return menuController.toggle(this.menu);\n };\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAriaAttributes(this.el);\n }\n componentDidLoad() {\n this.visibilityChanged();\n }\n async visibilityChanged() {\n this.visible = await updateVisibility(this.menu);\n }\n render() {\n const { color, disabled, inheritedAttributes } = this;\n const mode = getIonMode(this);\n const menuIcon = config.get('menuIcon', mode === 'ios' ? menuOutline : menuSharp);\n const hidden = this.autoHide && !this.visible;\n const attrs = {\n type: this.type,\n };\n const ariaLabel = inheritedAttributes['aria-label'] || 'menu';\n return (h(Host, { onClick: this.onClick, \"aria-disabled\": disabled ? 'true' : null, \"aria-hidden\": hidden ? 'true' : null, class: createColorClasses(color, {\n [mode]: true,\n button: true,\n 'menu-button-hidden': hidden,\n 'menu-button-disabled': disabled,\n 'in-toolbar': hostContext('ion-toolbar', this.el),\n 'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),\n 'ion-activatable': true,\n 'ion-focusable': true,\n }) }, h(\"button\", Object.assign({}, attrs, { disabled: disabled, class: \"button-native\", part: \"native\", \"aria-label\": ariaLabel }), h(\"span\", { class: \"button-inner\" }, h(\"slot\", null, h(\"ion-icon\", { part: \"icon\", icon: menuIcon, mode: mode, lazy: false, \"aria-hidden\": \"true\" }))), mode === 'md' && h(\"ion-ripple-effect\", { type: \"unbounded\" }))));\n }\n get el() { return getElement(this); }\n};\nMenuButton.style = {\n ios: menuButtonIosCss,\n md: menuButtonMdCss\n};\n\nconst menuToggleCss = \":host(.menu-toggle-hidden){display:none}\";\n\nconst MenuToggle = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.visible = false;\n /**\n * Automatically hides the content when the corresponding menu is not active.\n *\n * By default, it's `true`. Change it to `false` in order to\n * keep `ion-menu-toggle` always visible regardless the state of the menu.\n */\n this.autoHide = true;\n this.onClick = () => {\n return menuController.toggle(this.menu);\n };\n }\n connectedCallback() {\n this.visibilityChanged();\n }\n async visibilityChanged() {\n this.visible = await updateVisibility(this.menu);\n }\n render() {\n const mode = getIonMode(this);\n const hidden = this.autoHide && !this.visible;\n return (h(Host, { onClick: this.onClick, \"aria-hidden\": hidden ? 'true' : null, class: {\n [mode]: true,\n 'menu-toggle-hidden': hidden,\n } }, h(\"slot\", null)));\n }\n};\nMenuToggle.style = menuToggleCss;\n\nexport { Menu as ion_menu, MenuButton as ion_menu_button, MenuToggle as ion_menu_toggle };\n","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nconst hostContext = (selector, el) => {\n return el.closest(selector) !== null;\n};\n/**\n * Create the mode and color classes for the component based on the classes passed in\n */\nconst createColorClasses = (color, cssClassMap) => {\n return typeof color === 'string' && color.length > 0\n ? Object.assign({ 'ion-color': true, [`ion-color-${color}`]: true }, cssClassMap) : cssClassMap;\n};\nconst getClassList = (classes) => {\n if (classes !== undefined) {\n const array = Array.isArray(classes) ? classes : classes.split(' ');\n return array\n .filter((c) => c != null)\n .map((c) => c.trim())\n .filter((c) => c !== '');\n }\n return [];\n};\nconst getClassMap = (classes) => {\n const map = {};\n getClassList(classes).forEach((c) => (map[c] = true));\n return map;\n};\nconst SCHEME = /^[a-z][a-z0-9+\\-.]*:/;\nconst openURL = async (url, ev, direction, animation) => {\n if (url != null && url[0] !== '#' && !SCHEME.test(url)) {\n const router = document.querySelector('ion-router');\n if (router) {\n if (ev != null) {\n ev.preventDefault();\n }\n return router.push(url, direction, animation);\n }\n }\n return false;\n};\n\nexport { createColorClasses as c, getClassMap as g, hostContext as h, openURL as o };\n"],"names":["r","registerInstance","e","createEvent","h","H","Host","i","getElement","c","config","b","getIonMode","g","getTimeGivenProgression","G","GESTURE_CONTROLLER","o","isEndSide","inheritAriaAttributes","n","assert","l","clamp","m","menuController","k","getOverlay","u","menuOutline","v","menuSharp","createColorClasses","hostContext","menuIosCss","menuMdCss","iosEasing","mdEasing","iosEasingReverse","mdEasingReverse","focusableQueryString","Menu","constructor","hostRef","ionWillOpen","ionWillClose","ionDidOpen","ionDidClose","ionMenuChange","lastOnEnd","blocker","createBlocker","disableScroll","isAnimating","_isOpen","inheritedAttributes","handleFocus","ev","lastOverlay","document","contains","el","trapKeyboardFocus","isPaneVisible","disabled","side","swipeGesture","maxEdgeStart","typeChanged","type","oldType","contentEl","undefined","classList","remove","add","removeAttribute","menuInnerEl","animation","disabledChanged","updateState","emit","open","sideChanged","swipeGestureChanged","connectedCallback","customElements","whenDefined","get","content","contentId","getElementById","console","error","_register","gesture","createGesture","gestureName","gesturePriority","threshold","blurOnStart","canStart","onWillStart","onStart","onMove","onEnd","componentWillLoad","componentDidLoad","disconnectedCallback","close","destroy","_unregister","onSplitPaneChanged","detail","isPane","onBackdropClick","timeStamp","shouldClose","composedPath","includes","preventDefault","stopPropagation","onKeydown","key","isOpen","Promise","resolve","isActive","_isActive","animated","setOpen","toggle","shouldOpen","_setOpen","focusFirstDescendant","firstInput","querySelector","focus","focusLastDescendant","inputs","Array","from","querySelectorAll","lastInput","length","doc","target","lastFocus","activeElement","beforeAnimation","loadAnimation","startAnimation","afterAnimation","width","offsetWidth","_createAnimation","getBoolean","duration","fill","isReversed","mode","easing","easingReverse","ani","direction","onFinish","getDirection","play","sync","canSwipe","isModalPresented","_getOpenSync","checkEdgeSide","window","currentX","progressStart","delta","computeDelta","deltaX","stepValue","progressStep","velocity","velocityX","z","shouldCompleteRight","shouldCompleteLeft","shouldComplete","currentTime","newStepValue","adjustedStepValue","playTo","oneTimeCallback","progressEnd","SHOW_MENU","setAttribute","backdropEl","SHOW_BACKDROP","MENU_CONTENT_OPEN","block","_a","unblock","focusedMenu","closest","addEventListener","stop","removeEventListener","enable","forceClosing","_setActiveMenu","render","role","class","part","ref","tappable","watchers","Math","max","win","posX","innerWidth","style","ios","md","updateVisibility","menu","menuEl","menuButtonIosCss","menuButtonMdCss","MenuButton","visible","autoHide","onClick","visibilityChanged","color","menuIcon","hidden","attrs","ariaLabel","button","Object","assign","icon","lazy","menuToggleCss","MenuToggle","ion_menu","ion_menu_button","ion_menu_toggle","selector","cssClassMap","getClassList","classes","array","isArray","split","filter","map","trim","getClassMap","forEach","SCHEME","openURL","url","test","router","push"],"sourceRoot":"webpack:///"}