:host { --menu-min-width: 270px; --menu-max-width: 28%; --menu-box-shadow: var(--core-menu-box-shadow-end); --menu-z: 2; --menu-border-width: 1; --menu-display: flex; --content-display: block; --content-outlet-display: none; --content-placeholder-display: var(--content-display); top: 0; right: 0; bottom: 0; left: 0; display: flex; position: absolute; inset: 0; flex-direction: row; flex-wrap: nowrap; contain: strict; .menu, .content-outlet { top: 0; right: 0; bottom: 0; left: 0; position: relative; box-shadow: none; z-index: 0; } .menu { box-shadow: var(--menu-box-shadow); z-index: var(--menu-z); display: var(--menu-display); flex-shrink: 0; order: -1; width: 100%; border-inline-start: 0; border-inline-end: var(--border); min-width: var(--menu-min-width); max-width: var(--menu-max-width); } .content-outlet { display: var(--content-outlet-display); flex: 1; ::ng-deep ion-header { display: none; } } .content-placeholder { display: var(--content-placeholder-display); flex: 1; position: relative; background-color: var(--ion-background); } } :host(.menu-only) { --menu-min-width: 0; --menu-max-width: 100%; --content-display: none; --menu-border-width: 0; --menu-box-shadow: none; --menu-z: 0; --selected-item-border-width: 0; } :host(.content-only) { --menu-display: none; --menu-border-width: 0; } :host(.outlet-activated) { --content-placeholder-display: none; --content-outlet-display: var(--content-display); } :host-context(ion-app.md) { --border: calc(var(--menu-border-width) * 1px) solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, .13)))); } :host-context(ion-app.ios) { --border: calc(var(--menu-border-width) * .55px) solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc))); }