@ionic/core
Version:
Base components for Ionic
4 lines • 29.1 kB
JavaScript
import{__awaiter,__generator}from"tslib";
/*!
* (C) Ionic http://ionicframework.com - MIT License
*/import{r as registerInstance,c as createEvent,h,e as Host,f as getElement}from"./index-527b9e34.js";import{g as getTimeGivenProgression}from"./cubic-bezier-fe2083dc.js";import{o as getPresentedOverlay,B as BACKDROP,n as focusFirstDescendant,q as focusLastDescendant,G as GESTURE}from"./overlays-41a5d51b.js";import{G as GESTURE_CONTROLLER}from"./gesture-controller-314a54f6.js";import{shouldUseCloseWatcher}from"./hardware-back-button-864101a3.js";import{o as isEndSide,i as inheritAriaAttributes,n as assert,j as clamp}from"./helpers-78efeec3.js";import{m as menuController}from"./index-f9f5d018.js";import{c as config,b as getIonMode,a as isPlatform}from"./ionic-global-ca86cf32.js";import{h as hostContext,c as createColorClasses}from"./theme-01f3f29c.js";import{u as menuOutline,v as menuSharp}from"./index-e2cf2ceb.js";import"./index-a5d50daf.js";import"./framework-delegate-2eea1763.js";import"./index-738d7504.js";import"./animation-eab5a4ca.js";var 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{-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}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}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){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";var IonMenuIosStyle0=menuIosCss;var 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{-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}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}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){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}: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)}";var IonMenuMdStyle0=menuMdCss;var iosEasing="cubic-bezier(0.32,0.72,0,1)";var mdEasing="cubic-bezier(0.0,0.0,0.2,1)";var iosEasingReverse="cubic-bezier(1, 0, 0.68, 0.28)";var mdEasingReverse="cubic-bezier(0.4, 0, 0.6, 1)";var Menu=function(){function e(e){var t=this;registerInstance(this,e);this.ionWillOpen=createEvent(this,"ionWillOpen",7);this.ionWillClose=createEvent(this,"ionWillClose",7);this.ionDidOpen=createEvent(this,"ionDidOpen",7);this.ionDidClose=createEvent(this,"ionDidClose",7);this.ionMenuChange=createEvent(this,"ionMenuChange",7);this.lastOnEnd=0;this.blocker=GESTURE_CONTROLLER.createBlocker({disableScroll:true});this.didLoad=false;this.operationCancelled=false;this.isAnimating=false;this._isOpen=false;this.inheritedAttributes={};this.handleFocus=function(e){var n=getPresentedOverlay(document);if(n&&!n.contains(t.el)){return}t.trapKeyboardFocus(e,document)};this.isPaneVisible=false;this.isEndSide=false;this.contentId=undefined;this.menuId=undefined;this.type=undefined;this.disabled=false;this.side="start";this.swipeGesture=true;this.maxEdgeStart=50}e.prototype.typeChanged=function(e,t){var n=this.contentEl;if(n){if(t!==undefined){n.classList.remove("menu-content-".concat(t))}n.classList.add("menu-content-".concat(e));n.removeAttribute("style")}if(this.menuInnerEl){this.menuInnerEl.removeAttribute("style")}this.animation=undefined};e.prototype.disabledChanged=function(){this.updateState();this.ionMenuChange.emit({disabled:this.disabled,open:this._isOpen})};e.prototype.sideChanged=function(){this.isEndSide=isEndSide(this.side);this.animation=undefined};e.prototype.swipeGestureChanged=function(){this.updateState()};e.prototype.connectedCallback=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;var n=this;return __generator(this,(function(i){switch(i.label){case 0:if(!(typeof customElements!=="undefined"&&customElements!=null))return[3,2];return[4,customElements.whenDefined("ion-menu")];case 1:i.sent();i.label=2;case 2:if(this.type===undefined){this.type=config.get("menuType","overlay")}e=this.contentId!==undefined?document.getElementById(this.contentId):null;if(e===null){console.error('Menu: must have a "content" element to listen for drag events on.');return[2]}if(this.el.contains(e)){console.error('Menu: "contentId" should refer to the main view\'s ion-content, not the ion-content inside of the ion-menu.')}this.contentEl=e;e.classList.add("menu-content");this.typeChanged(this.type,undefined);this.sideChanged();menuController._register(this);this.menuChanged();t=this;return[4,import("./index-39782642.js")];case 3:t.gesture=i.sent().createGesture({el:document,gestureName:"menu-swipe",gesturePriority:30,threshold:10,blurOnStart:true,canStart:function(e){return n.canStart(e)},onWillStart:function(){return n.onWillStart()},onStart:function(){return n.onStart()},onMove:function(e){return n.onMove(e)},onEnd:function(e){return n.onEnd(e)}});this.updateState();return[2]}}))}))};e.prototype.componentWillLoad=function(){this.inheritedAttributes=inheritAriaAttributes(this.el)};e.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(n){switch(n.label){case 0:this.didLoad=true;e=this.el.closest("ion-split-pane");if(!(e!==null))return[3,2];t=this;return[4,e.isVisible()];case 1:t.isPaneVisible=n.sent();n.label=2;case 2:this.menuChanged();this.updateState();return[2]}}))}))};e.prototype.menuChanged=function(){if(this.didLoad){this.ionMenuChange.emit({disabled:this.disabled,open:this._isOpen})}};e.prototype.disconnectedCallback=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:return[4,this.close(false)];case 1:e.sent();this.blocker.destroy();menuController._unregister(this);if(this.animation){this.animation.destroy()}if(this.gesture){this.gesture.destroy();this.gesture=undefined}this.animation=undefined;this.contentEl=undefined;return[2]}}))}))};e.prototype.onSplitPaneChanged=function(e){var t=this.el.closest("ion-split-pane");if(t!==null&&t===e.target){this.isPaneVisible=e.detail.visible;this.updateState()}};e.prototype.onBackdropClick=function(e){if(this._isOpen&&this.lastOnEnd<e.timeStamp-100){var t=e.composedPath?!e.composedPath().includes(this.menuInnerEl):false;if(t){e.preventDefault();e.stopPropagation();this.close(undefined,BACKDROP)}}};e.prototype.onKeydown=function(e){if(e.key==="Escape"){this.close(undefined,BACKDROP)}};e.prototype.isOpen=function(){return Promise.resolve(this._isOpen)};e.prototype.isActive=function(){return Promise.resolve(this._isActive())};e.prototype.open=function(e){if(e===void 0){e=true}return this.setOpen(true,e)};e.prototype.close=function(e,t){if(e===void 0){e=true}return this.setOpen(false,e,t)};e.prototype.toggle=function(e){if(e===void 0){e=true}return this.setOpen(!this._isOpen,e)};e.prototype.setOpen=function(e,t,n){if(t===void 0){t=true}return menuController._setOpen(this,e,t,n)};e.prototype.trapKeyboardFocus=function(e,t){var n=e.target;if(!n){return}if(this.el.contains(n)){this.lastFocus=n}else{var i=this.el;focusFirstDescendant(i);if(this.lastFocus===t.activeElement){focusLastDescendant(i)}}};e.prototype._setOpen=function(e){return __awaiter(this,arguments,void 0,(function(e,t,n){if(t===void 0){t=true}return __generator(this,(function(i){switch(i.label){case 0:if(!this._isActive()||this.isAnimating||e===this._isOpen){return[2,false]}this.beforeAnimation(e,n);return[4,this.loadAnimation()];case 1:i.sent();return[4,this.startAnimation(e,t)];case 2:i.sent();if(this.operationCancelled){this.operationCancelled=false;return[2,false]}this.afterAnimation(e,n);return[2,true]}}))}))};e.prototype.loadAnimation=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n,i;return __generator(this,(function(r){switch(r.label){case 0:e=this.menuInnerEl.offsetWidth;t=isEndSide(this.side);if(e===this.width&&this.animation!==undefined&&t===this.isEndSide){return[2]}this.width=e;this.isEndSide=t;if(this.animation){this.animation.destroy();this.animation=undefined}i=this;return[4,menuController._createAnimation(this.type,this)];case 1:n=i.animation=r.sent();if(!config.getBoolean("animated",true)){n.duration(0)}n.fill("both");return[2]}}))}))};e.prototype.startAnimation=function(e,t){return __awaiter(this,void 0,void 0,(function(){var n,i,r,o,s;return __generator(this,(function(a){switch(a.label){case 0:n=!e;i=getIonMode(this);r=i==="ios"?iosEasing:mdEasing;o=i==="ios"?iosEasingReverse:mdEasingReverse;s=this.animation.direction(n?"reverse":"normal").easing(n?o:r);if(!t)return[3,2];return[4,s.play()];case 1:a.sent();return[3,3];case 2:s.play({sync:true});a.label=3;case 3:if(s.getDirection()==="reverse"){s.direction("normal")}return[2]}}))}))};e.prototype._isActive=function(){return!this.disabled&&!this.isPaneVisible};e.prototype.canSwipe=function(){return this.swipeGesture&&!this.isAnimating&&this._isActive()};e.prototype.canStart=function(e){var t=!!document.querySelector("ion-modal.show-modal");if(t||!this.canSwipe()){return false}if(this._isOpen){return true}else if(menuController._getOpenSync()){return false}return checkEdgeSide(window,e.currentX,this.isEndSide,this.maxEdgeStart)};e.prototype.onWillStart=function(){this.beforeAnimation(!this._isOpen,GESTURE);return this.loadAnimation()};e.prototype.onStart=function(){if(!this.isAnimating||!this.animation){assert(false,"isAnimating has to be true");return}this.animation.progressStart(true,this._isOpen?1:0)};e.prototype.onMove=function(e){if(!this.isAnimating||!this.animation){assert(false,"isAnimating has to be true");return}var t=computeDelta(e.deltaX,this._isOpen,this.isEndSide);var n=t/this.width;this.animation.progressStep(this._isOpen?1-n:n)};e.prototype.onEnd=function(e){var t=this;if(!this.isAnimating||!this.animation){assert(false,"isAnimating has to be true");return}var n=this._isOpen;var i=this.isEndSide;var r=computeDelta(e.deltaX,n,i);var o=this.width;var s=r/o;var a=e.velocityX;var d=o/2;var h=a>=0&&(a>.2||e.deltaX>d);var u=a<=0&&(a<-.2||e.deltaX<-d);var l=n?i?h:u:i?u:h;var c=!n&&l;if(n&&!l){c=true}this.lastOnEnd=e.currentTime;var f=l?.001:-.001;var m=s<0?.01:s;f+=getTimeGivenProgression([0,0],[.4,0],[.6,1],[1,1],clamp(0,m,.9999))[0]||0;var p=this._isOpen?!l:l;this.animation.easing("cubic-bezier(0.4, 0.0, 0.6, 1)").onFinish((function(){return t.afterAnimation(c,GESTURE)}),{oneTimeCallback:true}).progressEnd(p?1:0,this._isOpen?1-f:f,300)};e.prototype.beforeAnimation=function(e,t){assert(!this.isAnimating,"_before() should not be called while animating");if(isPlatform("android")){this.el.setAttribute("aria-hidden","true")}this.el.classList.add(SHOW_MENU);this.el.setAttribute("tabindex","0");if(this.backdropEl){this.backdropEl.classList.add(SHOW_BACKDROP)}if(this.contentEl){this.contentEl.classList.add(MENU_CONTENT_OPEN);this.contentEl.setAttribute("aria-hidden","true")}this.blocker.block();this.isAnimating=true;if(e){this.ionWillOpen.emit()}else{this.ionWillClose.emit({role:t})}};e.prototype.afterAnimation=function(e,t){var n;this._isOpen=e;this.isAnimating=false;if(!this._isOpen){this.blocker.unblock()}if(e){if(isPlatform("android")){this.el.removeAttribute("aria-hidden")}this.ionDidOpen.emit();var i=(n=document.activeElement)===null||n===void 0?void 0:n.closest("ion-menu");if(i!==this.el){this.el.focus()}document.addEventListener("focus",this.handleFocus,true)}else{this.el.removeAttribute("aria-hidden");this.el.classList.remove(SHOW_MENU);this.el.removeAttribute("tabindex");if(this.contentEl){this.contentEl.classList.remove(MENU_CONTENT_OPEN);this.contentEl.removeAttribute("aria-hidden")}if(this.backdropEl){this.backdropEl.classList.remove(SHOW_BACKDROP)}if(this.animation){this.animation.stop()}this.ionDidClose.emit({role:t});document.removeEventListener("focus",this.handleFocus,true)}};e.prototype.updateState=function(){var e=this._isActive();if(this.gesture){this.gesture.enable(e&&this.swipeGesture)}if(!e){if(this.isAnimating){this.operationCancelled=true}this.afterAnimation(false,GESTURE)}};e.prototype.render=function(){var e;var t=this;var n=this,i=n.type,r=n.disabled,o=n.el,s=n.isPaneVisible,a=n.inheritedAttributes,d=n.side;var u=getIonMode(this);return h(Host,{key:"342db8551d26604128b29b21d2d8c37593972ed9",onKeyDown:shouldUseCloseWatcher()?null:this.onKeydown,role:"navigation","aria-label":a["aria-label"]||"menu",class:(e={},e[u]=true,e["menu-type-".concat(i)]=true,e["menu-enabled"]=!r,e["menu-side-".concat(d)]=true,e["menu-pane-visible"]=s,e["split-pane-side"]=hostContext("ion-split-pane",o),e)},h("div",{key:"3c9bec2862b7fb9d88de66b1600be01f6735e3dd",class:"menu-inner",part:"container",ref:function(e){return t.menuInnerEl=e}},h("slot",{key:"76283b4b2a65c78646f92c3b273eea021eda499c"})),h("ion-backdrop",{key:"121c395bc4873542a1b6ae2c9e23f2e881e75d93",ref:function(e){return t.backdropEl=e},class:"menu-backdrop",tappable:false,stopPropagation:false,part:"backdrop"}))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{type:["typeChanged"],disabled:["disabledChanged"],side:["sideChanged"],swipeGesture:["swipeGestureChanged"]}},enumerable:false,configurable:true});return e}();var computeDelta=function(e,t,n){return Math.max(0,t!==n?-e:e)};var checkEdgeSide=function(e,t,n,i){if(n){return t>=e.innerWidth-i}else{return t<=i}};var SHOW_MENU="show-menu";var SHOW_BACKDROP="show-backdrop";var MENU_CONTENT_OPEN="menu-content-open";Menu.style={ios:IonMenuIosStyle0,md:IonMenuMdStyle0};var updateVisibility=function(e){return __awaiter(void 0,void 0,void 0,(function(){var t,n;return __generator(this,(function(i){switch(i.label){case 0:return[4,menuController.get(e)];case 1:t=i.sent();n=t;if(!n)return[3,3];return[4,t.isActive()];case 2:n=i.sent();i.label=3;case 3:return[2,!!n]}}))}))};var 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;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end: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%;min-height:inherit;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}.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%;min-height:inherit;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, #0054e9);--padding-start:5px;--padding-end:5px;min-height:32px;font-size:clamp(31px, 1.9375rem, 38.13px)}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}';var IonMenuButtonIosStyle0=menuButtonIosCss;var 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;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end: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%;min-height:inherit;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}.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%;min-height:inherit;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:3rem;height:3rem;font-size:1.5rem}: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)}}';var IonMenuButtonMdStyle0=menuButtonMdCss;var MenuButton=function(){function e(e){var t=this;registerInstance(this,e);this.inheritedAttributes={};this.onClick=function(){return __awaiter(t,void 0,void 0,(function(){return __generator(this,(function(e){return[2,menuController.toggle(this.menu)]}))}))};this.visible=false;this.color=undefined;this.disabled=false;this.menu=undefined;this.autoHide=true;this.type="button"}e.prototype.componentWillLoad=function(){this.inheritedAttributes=inheritAriaAttributes(this.el)};e.prototype.componentDidLoad=function(){this.visibilityChanged()};e.prototype.visibilityChanged=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:e=this;return[4,updateVisibility(this.menu)];case 1:e.visible=t.sent();return[2]}}))}))};e.prototype.render=function(){var e;var t=this,n=t.color,i=t.disabled,r=t.inheritedAttributes;var o=getIonMode(this);var s=config.get("menuIcon",o==="ios"?menuOutline:menuSharp);var a=this.autoHide&&!this.visible;var d={type:this.type};var u=r["aria-label"]||"menu";return h(Host,{key:"3cde3704f28eb275f4a5ff2985bbb68c1024e79c",onClick:this.onClick,"aria-disabled":i?"true":null,"aria-hidden":a?"true":null,class:createColorClasses(n,(e={},e[o]=true,e.button=true,e["menu-button-hidden"]=a,e["menu-button-disabled"]=i,e["in-toolbar"]=hostContext("ion-toolbar",this.el),e["in-toolbar-color"]=hostContext("ion-toolbar[color]",this.el),e["ion-activatable"]=true,e["ion-focusable"]=true,e))},h("button",Object.assign({key:"a02a3374288bd1759b6e352ada8eab0d45c6422f"},d,{disabled:i,class:"button-native",part:"native","aria-label":u}),h("span",{key:"ba699f2277a4e7b27ce5e42faeefc53d8805bb43",class:"button-inner"},h("slot",{key:"829fe6cbdeb173f50d1a670389d1565baa6273e4"},h("ion-icon",{key:"a9a9f7b8dcffc648a8429fe0adbe766869de72fd",part:"icon",icon:s,mode:o,lazy:false,"aria-hidden":"true"}))),o==="md"&&h("ion-ripple-effect",{key:"48deca9a771a249f2fc76eaa8b9741c8d66d8355",type:"unbounded"})))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();MenuButton.style={ios:IonMenuButtonIosStyle0,md:IonMenuButtonMdStyle0};var menuToggleCss=":host(.menu-toggle-hidden){display:none}";var IonMenuToggleStyle0=menuToggleCss;var MenuToggle=function(){function e(e){var t=this;registerInstance(this,e);this.onClick=function(){return menuController.toggle(t.menu)};this.visible=false;this.menu=undefined;this.autoHide=true}e.prototype.connectedCallback=function(){this.visibilityChanged()};e.prototype.visibilityChanged=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:e=this;return[4,updateVisibility(this.menu)];case 1:e.visible=t.sent();return[2]}}))}))};e.prototype.render=function(){var e;var t=getIonMode(this);var n=this.autoHide&&!this.visible;return h(Host,{key:"88e88fa13ac7f10ba3acfe378bd11cda0c7e2749",onClick:this.onClick,"aria-hidden":n?"true":null,class:(e={},e[t]=true,e["menu-toggle-hidden"]=n,e)},h("slot",{key:"0a14c7b63eda64702d2fd1b4bc7db4809892842d"}))};return e}();MenuToggle.style=IonMenuToggleStyle0;export{Menu as ion_menu,MenuButton as ion_menu_button,MenuToggle as ion_menu_toggle};