@ionic/core
Version:
Base components for Ionic
4 lines • 3.76 kB
JavaScript
/*!
* (C) Ionic http://ionicframework.com - MIT License
*/
import{d as t,H as i,i as e,p as s,h as o,f as n,t as a}from"./p-Ct2aBEue.js";import{b as l}from"./p-HthJZjZ6.js";const d="split-pane-main",r="split-pane-side",p={xs:"(min-width: 0px)",sm:"(min-width: 576px)",md:"(min-width: 768px)",lg:"(min-width: 992px)",xl:"(min-width: 1200px)",never:""},h=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.ionSplitPaneVisible=e(this,"ionSplitPaneVisible",7),this.visible=!1,this.disabled=!1,this.when=p.lg}visibleChanged(t){this.ionSplitPaneVisible.emit({visible:t})}async isVisible(){return Promise.resolve(this.visible)}async connectedCallback(){"undefined"!=typeof customElements&&null!=customElements&&await customElements.whenDefined("ion-split-pane"),this.styleMainElement(),this.updateState()}disconnectedCallback(){this.rmL&&(this.rmL(),this.rmL=void 0)}updateState(){if(this.rmL&&(this.rmL(),this.rmL=void 0),this.disabled)return void(this.visible=!1);const t=this.when;if("boolean"==typeof t)return void(this.visible=t);const i=p[t]||t;if(0===i.length)return void(this.visible=!1);const e=t=>{this.visible=t.matches},s=window.matchMedia(i);s.addListener(e),this.rmL=()=>s.removeListener(e),this.visible=s.matches}styleMainElement(){const t=this.contentId,i=this.el.children,e=this.el.childElementCount;let o=!1;for(let n=0;n<e;n++){const e=i[n],a=void 0!==t&&e.id===t;if(a){if(o)return void s("[ion-split-pane] - Cannot have more than one main node.");c(e,a),o=!0}}o||s("[ion-split-pane] - Does not have a specified main node.")}render(){const t=l(this);return o(n,{key:"652bc0965ae962dc36a67fd7129dacaa1ba8e551",class:{[t]:!0,["split-pane-"+t]:!0,"split-pane-visible":this.visible}},o("slot",{key:"9eac85f4c4e33ec00e8e16e2679f5975d7652452"}))}get el(){return this}static get watchers(){return{visible:[{visibleChanged:0}],disabled:[{updateState:0}],when:[{updateState:0}]}}static get style(){return{ios:":host{--side-width:100%;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-ms-flex:1;flex:1;-webkit-box-shadow:none;box-shadow:none;overflow:hidden;z-index:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host{--border:0.55px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--side-min-width:270px;--side-max-width:28%}",md:":host{--side-width:100%;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-ms-flex:1;flex:1;-webkit-box-shadow:none;box-shadow:none;overflow:hidden;z-index:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host{--border:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));--side-min-width:270px;--side-max-width:28%}"}}},[289,"ion-split-pane",{contentId:[513,"content-id"],disabled:[4],when:[8],visible:[32],isVisible:[64]},void 0,{visible:[{visibleChanged:0}],disabled:[{updateState:0}],when:[{updateState:0}]}]),c=(t,i)=>{let e,s;i?(e=d,s=r):(e=r,s=d);const o=t.classList;o.add(e),o.remove(s)},m=h,b=function(){"undefined"!=typeof customElements&&["ion-split-pane"].forEach((t=>{"ion-split-pane"===t&&(customElements.get(a(t))||customElements.define(a(t),h))}))};export{m as IonSplitPane,b as defineCustomElement}