fix(overlays): local backdrop outlet

This commit is contained in:
Thijs Louisse 2020-05-18 09:55:43 +02:00
parent 5114076eb3
commit e19a0f483c
9 changed files with 11 additions and 4 deletions

View file

@ -30,6 +30,7 @@ export class LionDialog extends OverlayMixin(LitElement) {
render() { render() {
return html` return html`
<slot name="invoker"></slot> <slot name="invoker"></slot>
<slot name="_overlay-shadow-outlet"></slot>
<div id="overlay-content-node-wrapper"> <div id="overlay-content-node-wrapper">
<slot name="content"></slot> <slot name="content"></slot>
</div> </div>

View file

@ -115,6 +115,7 @@ export class LionCalendarOverlayFrame extends LocalizeMixin(LitElement) {
<slot name="close-icon">&times;</slot> <slot name="close-icon">&times;</slot>
</button> </button>
</div> </div>
<slot name="_overlay-shadow-outlet"></slot>
<div id="overlay-content-node-wrapper"> <div id="overlay-content-node-wrapper">
<slot name="content"></slot> <slot name="content"></slot>
</div> </div>

View file

@ -103,6 +103,7 @@ class MyOverlayComponent extends LitElement {
render() { render() {
return html` return html`
<slot name="invoker"></slot> <slot name="invoker"></slot>
<slot name="_overlay-shadow-outlet"></slot>
<div id="overlay-content-node-wrapper"> <div id="overlay-content-node-wrapper">
<slot name="content"></slot> <slot name="content"></slot>
</div> </div>

View file

@ -527,10 +527,8 @@ export class OverlayController {
this.backdropNode = document.createElement('div'); this.backdropNode = document.createElement('div');
this.backdropNode.classList.add('local-overlays__backdrop'); this.backdropNode.classList.add('local-overlays__backdrop');
} }
this._contentWrapperNode.parentNode.insertBefore( this.backdropNode.slot = '_overlay-shadow-outlet';
this.backdropNode, this.contentNode.parentNode.insertBefore(this.backdropNode, this.contentNode);
this._contentWrapperNode,
);
break; break;
case 'show': case 'show':
this.__hasActiveBackdrop = true; this.__hasActiveBackdrop = true;

View file

@ -156,6 +156,7 @@ _teardownOpenCloseListeners() {
render() { render() {
return html` return html`
<slot name="invoker"></slot> <slot name="invoker"></slot>
<slot name="_overlay-shadow-outlet"></slot>
<div id="overlay-content-node-wrapper"> <div id="overlay-content-node-wrapper">
<slot name="content"></slot> <slot name="content"></slot>
</div> </div>
@ -507,6 +508,7 @@ class MyOverlayWC extends OverlayMixin(LitElement) {
render() { render() {
return html` return html`
<slot name="invoker"></slot> <slot name="invoker"></slot>
<slot name="_overlay-shadow-outlet"></slot>
<div id="overlay-content-node-wrapper"> <div id="overlay-content-node-wrapper">
<slot name="content"></slot> <slot name="content"></slot>
</div> </div>

View file

@ -30,6 +30,7 @@ class DemoOverlaySystem extends OverlayMixin(LitElement) {
render() { render() {
return html` return html`
<slot name="invoker"></slot> <slot name="invoker"></slot>
<slot name="_overlay-shadow-outlet"></slot>
<div id="overlay-content-node-wrapper"> <div id="overlay-content-node-wrapper">
<slot name="content"></slot> <slot name="content"></slot>
</div> </div>

View file

@ -8,6 +8,7 @@ const tagString = defineCE(
render() { render() {
return html` return html`
<button slot="invoker">invoker button</button> <button slot="invoker">invoker button</button>
<slot name="_overlay-shadow-outlet"></slot>
<div id="overlay-content-node-wrapper"> <div id="overlay-content-node-wrapper">
<div slot="content">content of the overlay</div> <div slot="content">content of the overlay</div>
</div> </div>

View file

@ -334,6 +334,7 @@ export class LionSelectRich extends ScopedElementsMixin(
return html` return html`
<div class="input-group__input"> <div class="input-group__input">
<slot name="invoker"></slot> <slot name="invoker"></slot>
<slot name="_overlay-shadow-outlet"></slot>
<div id="overlay-content-node-wrapper"> <div id="overlay-content-node-wrapper">
<slot name="input"></slot> <slot name="input"></slot>
</div> </div>

View file

@ -80,6 +80,7 @@ export class LionTooltip extends OverlayMixin(LitElement) {
render() { render() {
return html` return html`
<slot name="invoker"></slot> <slot name="invoker"></slot>
<slot name="_overlay-shadow-outlet"></slot>
<div id="overlay-content-node-wrapper"> <div id="overlay-content-node-wrapper">
<slot name="content"></slot> <slot name="content"></slot>
<div class="arrow" x-arrow> <div class="arrow" x-arrow>