@vandeurenglenn/lite-elements 0.3.50 → 0.3.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/exports/banner.js +36 -36
  2. package/exports/bundle/button.js +6 -1
  3. package/exports/bundle/index.html +590 -590
  4. package/exports/bundle/themes/default/colors.module.css +180 -180
  5. package/exports/bundle/themes/default/missing/motion.css +3 -3
  6. package/exports/bundle/themes/default/missing/shape.css +12 -12
  7. package/exports/bundle/themes/default/missing/theme.dark.css +4 -4
  8. package/exports/bundle/themes/default/missing/theme.light.css +4 -4
  9. package/exports/bundle/themes/default/missing/tokens.css +8 -8
  10. package/exports/bundle/themes/default/theme.css +10 -10
  11. package/exports/bundle/themes/default/theme.dark.css +33 -33
  12. package/exports/bundle/themes/default/theme.light.css +33 -33
  13. package/exports/bundle/themes/default/tokens.css +256 -256
  14. package/exports/bundle/themes/default/typography.module.css +150 -150
  15. package/exports/bundle/upload-image.js +49 -45
  16. package/exports/button.js +148 -143
  17. package/exports/card.js +139 -139
  18. package/exports/code.js +34 -34
  19. package/exports/demo-icons.js +15 -15
  20. package/exports/demo-shell.js +539 -539
  21. package/exports/demo.js +456 -456
  22. package/exports/dialog.js +148 -148
  23. package/exports/divider.js +21 -21
  24. package/exports/drawer-button.js +13 -13
  25. package/exports/drawer-item.js +38 -38
  26. package/exports/drawer-layout.js +95 -95
  27. package/exports/drawer.js +7 -7
  28. package/exports/dropdown-menu.js +58 -58
  29. package/exports/dropdown.js +25 -25
  30. package/exports/elevation.js +50 -50
  31. package/exports/fab.js +145 -145
  32. package/exports/icon-button.js +12 -12
  33. package/exports/icon-set.js +4 -4
  34. package/exports/icon.js +15 -15
  35. package/exports/input.js +5 -5
  36. package/exports/list-item.js +42 -42
  37. package/exports/menu.js +12 -12
  38. package/exports/minute-field.js +4 -4
  39. package/exports/mixins/scroll-mixin.d.ts +1 -1
  40. package/exports/notification.js +34 -34
  41. package/exports/notifications.js +65 -65
  42. package/exports/pages.js +42 -42
  43. package/exports/pane.js +18 -18
  44. package/exports/rail.js +57 -57
  45. package/exports/root.js +7 -7
  46. package/exports/section/section.d.ts +1 -1
  47. package/exports/section.js +10 -10
  48. package/exports/section2.js +24 -24
  49. package/exports/selector.js +30 -30
  50. package/exports/summary-mirror.js +19 -19
  51. package/exports/summary.js +24 -24
  52. package/exports/supporting-pane.js +46 -46
  53. package/exports/tab.js +21 -21
  54. package/exports/tabs.js +50 -50
  55. package/exports/text-field.js +9 -9
  56. package/exports/theme.js +8 -8
  57. package/exports/themes/default/colors.module.css +180 -180
  58. package/exports/themes/default/missing/motion.css +3 -3
  59. package/exports/themes/default/missing/shape.css +12 -12
  60. package/exports/themes/default/missing/theme.dark.css +4 -4
  61. package/exports/themes/default/missing/theme.light.css +4 -4
  62. package/exports/themes/default/missing/tokens.css +8 -8
  63. package/exports/themes/default/theme.css +10 -10
  64. package/exports/themes/default/theme.dark.css +33 -33
  65. package/exports/themes/default/theme.light.css +33 -33
  66. package/exports/themes/default/tokens.css +256 -256
  67. package/exports/themes/default/typography.module.css +150 -150
  68. package/exports/time-picker.js +20 -20
  69. package/exports/toggle-button.js +3 -3
  70. package/exports/toggle.js +4 -4
  71. package/exports/top-app-bar.js +20 -20
  72. package/exports/typography.js +155 -155
  73. package/exports/upload-file.js +8 -8
  74. package/exports/upload-image.js +200 -200
  75. package/package.json +20 -28
  76. package/exports/bundle/simple-hash-router.js +0 -1
  77. package/exports/bundle/types2.js +0 -1
  78. package/exports/router/simple-hash-router.d.ts +0 -34
  79. package/exports/router/types.d.ts +0 -45
  80. package/exports/simple-hash-router.js +0 -111
  81. package/exports/types2.js +0 -1
package/exports/dialog.js CHANGED
@@ -94,161 +94,161 @@ let CustomDialog = (() => {
94
94
  this.open = false;
95
95
  }
96
96
  static styles = [
97
- css `
98
- :host {
99
- position: absolute;
100
- inset: 0;
101
- display: flex;
102
- flex-direction: column;
103
- align-items: center;
104
- justify-content: center;
105
- pointer-events: none;
106
- }
107
-
108
- .header {
109
- height: 56px;
110
- box-sizing: border-box;
111
- }
112
-
113
- .scrim,
114
- .dialog {
115
- transition: var(--md-sys-motion-easing-emphasized-accelerate) 200ms opacity,
116
- var(--md-sys-motion-easing-emphasized-accelerate) 200ms transform;
117
- }
118
-
119
- .scrim {
120
- position: absolute;
121
- inset: 0;
122
- background-color: var(--md-sys-color-scrim);
123
- opacity: 0;
124
- pointer-events: none;
125
- }
126
-
127
- dialog {
128
- pointer-events: none;
129
- border: none;
130
- min-width: var(--custom-dialog-min-width, 280px);
131
- max-width: var(--custom-dialog-max-width, 560px);
132
- width: fit-content;
133
- border-radius: var(--md-sys-shape-corner-extra-large);
134
- background-color: var(--md-sys-color-surface-container-high);
135
- color: var(--md-sys-color-on-surface);
136
- padding: 24px;
137
- box-sizing: border-box;
138
- position: relative;
139
- opacity: 0;
140
- transform: scaleY(0.1);
141
- }
142
-
143
- .body {
144
- overflow-y: auto;
145
- }
146
-
147
- :host([has-actions]) .body {
148
- padding-top: 16px;
149
- padding-bottom: 24px;
150
- }
151
-
152
- :host([has-header][has-hero]) .header {
153
- padding-top: 16px;
154
- }
155
-
156
- slot[name='title']::slotted(*) {
157
- font-family: var(--md-sys-typescale-title-large-font-family-name);
158
- font-style: var(--md-sys-typescale-title-large-font-family-style);
159
- font-weight: var(--md-sys-typescale-title-large-font-weight);
160
- font-size: var(--md-sys-typescale-title-large-font-size);
161
- letter-spacing: var(--md-sys-typescale-title-large-tracking);
162
- line-height: var(--md-sys-typescale-title-large-height);
163
- text-transform: var(--md-sys-typescale-title-large-text-transform);
164
- text-decoration: var(--md-sys-typescale-title-large-text-decoration);
165
- }
166
-
167
- :host([has-hero]) slot[name='title']::slotted(*) {
168
- padding-top: 16px;
169
- position: absolute;
170
- left: 50%;
171
- transform: translateX(-50%);
172
- }
173
-
174
- :host([fullscreen]) slot[name='title']::slotted(*) {
175
- padding-left: 16px;
176
- }
177
-
178
- :host(:not([fullscreen])) dialog {
179
- align-items: center;
180
- justify-content: center;
181
- }
182
-
183
- slot[name='supporting-text']::slotted(*) {
184
- color: var(--md-sys-color-on-surface-variant);
185
- padding-bottom: 16px;
186
- }
187
-
188
- slot[name='actions']::slotted(*) {
189
- align-items: center;
190
- justify-content: end;
191
- }
192
-
193
- :host([open]) dialog,
194
- :host([open]) .scrim {
195
- pointer-events: auto;
196
- opacity: 1;
197
- transform: scaleY(1);
198
- transition: var(--md-sys-motion-easing-emphasized-decelerate) 500ms opacity,
199
- var(--md-sys-motion-easing-emphasized-decelerate) 500ms transform;
200
- }
201
-
202
- :host([open]) .scrim {
203
- opacity: 0.44;
204
- }
205
-
206
- :host([fullscreen]) slot[name='actions']::slotted(*) {
207
- --custom-icon-size: 12px;
208
- --custom-button-color: var(--md-sys-color-primary);
209
- }
210
-
211
- slot[name='actions'] {
212
- align-items: flex-end;
213
- }
97
+ css `
98
+ :host {
99
+ position: absolute;
100
+ inset: 0;
101
+ display: flex;
102
+ flex-direction: column;
103
+ align-items: center;
104
+ justify-content: center;
105
+ pointer-events: none;
106
+ }
107
+
108
+ .header {
109
+ height: 56px;
110
+ box-sizing: border-box;
111
+ }
112
+
113
+ .scrim,
114
+ .dialog {
115
+ transition: var(--md-sys-motion-easing-emphasized-accelerate) 200ms opacity,
116
+ var(--md-sys-motion-easing-emphasized-accelerate) 200ms transform;
117
+ }
118
+
119
+ .scrim {
120
+ position: absolute;
121
+ inset: 0;
122
+ background-color: var(--md-sys-color-scrim);
123
+ opacity: 0;
124
+ pointer-events: none;
125
+ }
126
+
127
+ dialog {
128
+ pointer-events: none;
129
+ border: none;
130
+ min-width: var(--custom-dialog-min-width, 280px);
131
+ max-width: var(--custom-dialog-max-width, 560px);
132
+ width: fit-content;
133
+ border-radius: var(--md-sys-shape-corner-extra-large);
134
+ background-color: var(--md-sys-color-surface-container-high);
135
+ color: var(--md-sys-color-on-surface);
136
+ padding: 24px;
137
+ box-sizing: border-box;
138
+ position: relative;
139
+ opacity: 0;
140
+ transform: scaleY(0.1);
141
+ }
142
+
143
+ .body {
144
+ overflow-y: auto;
145
+ }
146
+
147
+ :host([has-actions]) .body {
148
+ padding-top: 16px;
149
+ padding-bottom: 24px;
150
+ }
151
+
152
+ :host([has-header][has-hero]) .header {
153
+ padding-top: 16px;
154
+ }
155
+
156
+ slot[name='title']::slotted(*) {
157
+ font-family: var(--md-sys-typescale-title-large-font-family-name);
158
+ font-style: var(--md-sys-typescale-title-large-font-family-style);
159
+ font-weight: var(--md-sys-typescale-title-large-font-weight);
160
+ font-size: var(--md-sys-typescale-title-large-font-size);
161
+ letter-spacing: var(--md-sys-typescale-title-large-tracking);
162
+ line-height: var(--md-sys-typescale-title-large-height);
163
+ text-transform: var(--md-sys-typescale-title-large-text-transform);
164
+ text-decoration: var(--md-sys-typescale-title-large-text-decoration);
165
+ }
166
+
167
+ :host([has-hero]) slot[name='title']::slotted(*) {
168
+ padding-top: 16px;
169
+ position: absolute;
170
+ left: 50%;
171
+ transform: translateX(-50%);
172
+ }
173
+
174
+ :host([fullscreen]) slot[name='title']::slotted(*) {
175
+ padding-left: 16px;
176
+ }
177
+
178
+ :host(:not([fullscreen])) dialog {
179
+ align-items: center;
180
+ justify-content: center;
181
+ }
182
+
183
+ slot[name='supporting-text']::slotted(*) {
184
+ color: var(--md-sys-color-on-surface-variant);
185
+ padding-bottom: 16px;
186
+ }
187
+
188
+ slot[name='actions']::slotted(*) {
189
+ align-items: center;
190
+ justify-content: end;
191
+ }
192
+
193
+ :host([open]) dialog,
194
+ :host([open]) .scrim {
195
+ pointer-events: auto;
196
+ opacity: 1;
197
+ transform: scaleY(1);
198
+ transition: var(--md-sys-motion-easing-emphasized-decelerate) 500ms opacity,
199
+ var(--md-sys-motion-easing-emphasized-decelerate) 500ms transform;
200
+ }
201
+
202
+ :host([open]) .scrim {
203
+ opacity: 0.44;
204
+ }
205
+
206
+ :host([fullscreen]) slot[name='actions']::slotted(*) {
207
+ --custom-icon-size: 12px;
208
+ --custom-button-color: var(--md-sys-color-primary);
209
+ }
210
+
211
+ slot[name='actions'] {
212
+ align-items: flex-end;
213
+ }
214
214
  `
215
215
  ];
216
216
  render() {
217
- return html `
218
- <span class="scrim" @click=${this._close}></span>
219
- <dialog ?open=${this.open}>
220
- <custom-elevation level=${this.fullscreen ? 0 : 3}></custom-elevation>
221
- <slot name="hero-icon"></slot>
222
- <slot name="supporting-text"></slot>
223
- <slot name="header">
224
- <flex-row class="header" center>
225
- <flex-row center style="width: 100%">
226
- <slot name="header-start">
217
+ return html `
218
+ <span class="scrim" @click=${this._close}></span>
219
+ <dialog ?open=${this.open}>
220
+ <custom-elevation level=${this.fullscreen ? 0 : 3}></custom-elevation>
221
+ <slot name="hero-icon"></slot>
222
+ <slot name="supporting-text"></slot>
223
+ <slot name="header">
224
+ <flex-row class="header" center>
225
+ <flex-row center style="width: 100%">
226
+ <slot name="header-start">
227
227
  ${this.fullscreen
228
- ? html `<custom-button @click=${this._close}
229
- ><custom-icon slot="icon">close</custom-icon></custom-button
228
+ ? html `<custom-button @click=${this._close}
229
+ ><custom-icon slot="icon">close</custom-icon></custom-button
230
230
  >`
231
- : ''}
232
- </slot>
233
- <slot name="title"></slot>
234
- <flex-it></flex-it>
235
- <slot name="header-end">
236
- ${this.fullscreen ? html `<slot name="actions"></slot>` : ''}
231
+ : ''}
232
+ </slot>
233
+ <slot name="title"></slot>
234
+ <flex-it></flex-it>
235
+ <slot name="header-end">
236
+ ${this.fullscreen ? html `<slot name="actions"></slot>` : ''}
237
237
  ${this.fullscreen
238
238
  ? ''
239
- : html `<custom-button @click=${this._close}
240
- ><custom-icon slot="icon">close</custom-icon></custom-button
241
- >`}
242
- </slot>
243
- </flex-row>
244
- </flex-row>
245
- </slot>
246
- <flex-column class="body">
247
- <slot></slot>
248
- </flex-column>
249
-
250
- ${this.fullscreen ? '' : html `<slot name="actions"></slot>`}
251
- </dialog>
239
+ : html `<custom-button @click=${this._close}
240
+ ><custom-icon slot="icon">close</custom-icon></custom-button
241
+ >`}
242
+ </slot>
243
+ </flex-row>
244
+ </flex-row>
245
+ </slot>
246
+ <flex-column class="body">
247
+ <slot></slot>
248
+ </flex-column>
249
+
250
+ ${this.fullscreen ? '' : html `<slot name="actions"></slot>`}
251
+ </dialog>
252
252
  `;
253
253
  }
254
254
  static {
@@ -22,27 +22,27 @@ let CustomDivider = (() => {
22
22
  middleInset: { type: Boolean, reflect: true, attribute: 'middle-inset' }
23
23
  };
24
24
  render() {
25
- return html `
26
- <style>
27
- :host {
28
- display: block;
29
- box-sizing: border-box;
30
- min-height: 1px;
31
- margin: 8px 0 16px 0;
32
- width: 100%;
33
- background: var(--md-sys-color-outline);
34
- }
35
-
36
- :host([inset]) {
37
- margin-left: 16px;
38
- margin-right: 0;
39
- }
40
-
41
- :host([middle-inset]) {
42
- margin-left: 16px;
43
- margin-right: 16px;
44
- }
45
- </style>
25
+ return html `
26
+ <style>
27
+ :host {
28
+ display: block;
29
+ box-sizing: border-box;
30
+ min-height: 1px;
31
+ margin: 8px 0 16px 0;
32
+ width: 100%;
33
+ background: var(--md-sys-color-outline);
34
+ }
35
+
36
+ :host([inset]) {
37
+ margin-left: 16px;
38
+ margin-right: 0;
39
+ }
40
+
41
+ :host([middle-inset]) {
42
+ margin-left: 16px;
43
+ margin-right: 16px;
44
+ }
45
+ </style>
46
46
  `;
47
47
  }
48
48
  static {
@@ -48,19 +48,19 @@ let CustomDrawerButton = (() => {
48
48
  document.dispatchEvent(new CustomEvent('custom-pane-open', { detail: this.id }));
49
49
  }
50
50
  static styles = [
51
- css `
52
- :host {
53
- display: block;
54
- opacity: 1;
55
- pointer-events: auto;
56
- will-change: width, opacity;
57
- }
58
-
59
- :host([drawer-open]) {
60
- opacity: 0;
61
- pointer-events: none;
62
- width: 0;
63
- }
51
+ css `
52
+ :host {
53
+ display: block;
54
+ opacity: 1;
55
+ pointer-events: auto;
56
+ will-change: width, opacity;
57
+ }
58
+
59
+ :host([drawer-open]) {
60
+ opacity: 0;
61
+ pointer-events: none;
62
+ width: 0;
63
+ }
64
64
  `
65
65
  ];
66
66
  render() {
@@ -16,47 +16,47 @@ let CustomDrawerItem = (() => {
16
16
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
17
17
  }
18
18
  static styles = [
19
- css `
20
- :host {
21
- display: flex;
22
- padding-left: 16px;
23
- padding-right: 24px;
24
- height: 100%;
25
- min-height: 54px;
26
- max-height: 54px;
27
- width: 100%;
28
- box-sizing: border-box;
29
- border-radius: var(--md-sys-shape-corner-extra-large);
30
- align-items: center;
31
- pointer-events: auto;
32
- cursor: pointer;
33
- }
34
-
35
- slot {
36
- pointer-events: none;
37
- }
38
-
39
- slot[name='icon']::slotted(*) {
40
- margin-right: 12px;
41
- height: 24px;
42
- width: 24px;
43
- }
44
-
45
- slot[name='end']::slotted(*) {
46
- margin-left: 12px;
47
- box-sizing: border-box;
48
- }
49
-
50
- :host([non-interactive]) {
51
- pointer-events: none;
52
- }
19
+ css `
20
+ :host {
21
+ display: flex;
22
+ padding-left: 16px;
23
+ padding-right: 24px;
24
+ height: 100%;
25
+ min-height: 54px;
26
+ max-height: 54px;
27
+ width: 100%;
28
+ box-sizing: border-box;
29
+ border-radius: var(--md-sys-shape-corner-extra-large);
30
+ align-items: center;
31
+ pointer-events: auto;
32
+ cursor: pointer;
33
+ }
34
+
35
+ slot {
36
+ pointer-events: none;
37
+ }
38
+
39
+ slot[name='icon']::slotted(*) {
40
+ margin-right: 12px;
41
+ height: 24px;
42
+ width: 24px;
43
+ }
44
+
45
+ slot[name='end']::slotted(*) {
46
+ margin-left: 12px;
47
+ box-sizing: border-box;
48
+ }
49
+
50
+ :host([non-interactive]) {
51
+ pointer-events: none;
52
+ }
53
53
  `
54
54
  ];
55
55
  render() {
56
- return html `
57
- <slot name="icon"></slot>
58
- <slot></slot>
59
- <slot name="end"></slot>
56
+ return html `
57
+ <slot name="icon"></slot>
58
+ <slot></slot>
59
+ <slot name="end"></slot>
60
60
  `;
61
61
  }
62
62
  static {
@@ -121,101 +121,101 @@ let CustomDrawerLayout = (() => {
121
121
  this.drawerOpen = !this.drawerOpen;
122
122
  });
123
123
  render() {
124
- return html `<style>
125
- :host {
126
- --custom-drawer-width: 320px;
127
- display: flex;
128
- flex-direction: row;
129
- inset: 0;
130
- background: var(--md-sys-color-surface);
131
- color: var(--md-sys-color-on-surface);
132
- background-blend-mode: hue;
133
- position: absolute;
134
- box-sizing: border-box;
135
- }
136
-
137
- main {
138
- width: 100%;
139
- height: 100%;
140
- overflow-y: auto;
141
- }
142
-
143
- :host([drawer-open][narrow]) .scrim {
144
- z-index: 1000;
145
- position: fixed;
146
- inset: 0;
147
- background-color: var(--md-sys-color-scrim);
148
- opacity: 0.44;
149
- }
150
-
151
- custom-drawer {
152
- --custom-pane-width: var(--custom-drawer-width, 320px);
153
- }
154
-
155
- :host(:not([narrow])) .middle-pane {
156
- will-change: width, transform;
157
- width: calc(100% - var(--custom-drawer-width));
158
- height: 100%;
159
- position: absolute;
160
- transform: translateX(var(--custom-drawer-width));
161
-
162
- transition: var(--md-sys-motion-easing-emphasized-decelerate) 500ms width,
163
- var(--md-sys-motion-easing-emphasized-decelerate) 500ms transform;
164
- }
165
-
166
- :host(:not([drawer-open])) .middle-pane {
167
- transition: var(--md-sys-motion-easing-emphasized-accelerate) 200ms width,
168
- var(--md-sys-motion-easing-emphasized-accelerate) 200ms transform;
169
- transform: translateX(0);
170
- width: 100%;
171
- }
172
-
173
- :host([narrow]) .middle-pane {
174
- width: 100%;
175
- transform: 0;
176
- left: 0;
177
- }
178
- </style>
179
- <span class="scrim" @click=${this._click}></span>
180
-
181
- <slot name="drawer">
182
- <custom-drawer
183
- @click=${this._click}
184
- .mobile=${this.narrow}
185
- .open=${this.drawerOpen}
186
- .type=${this.drawerType}
187
- .id=${this.mainDrawerId}
188
- >
189
- <slot name="drawer-headline" slot="headline"></slot>
190
- <slot name="drawer-menu-button" slot="menu-button"></slot>
191
- <slot name="drawer-content" slot="content"></slot>
192
- <slot name="drawer-footer" slot="footer"></slot>
193
- </custom-drawer>
194
- </slot>
195
-
196
- <flex-column class="middle-pane">
197
- <!-- TODO: do we want a header? -->
198
- <slot name="header"></slot>
199
-
200
- <slot name="top-app-bar">
201
- <custom-top-app-bar .type=${this.appBarType}>
202
- <slot name="top-app-bar-start" slot="start">
203
- <slot name="drawer-menu-button">
204
- <custom-drawer-button .mobile=${this.narrow} ?drawer-open=${this.drawerOpen} .id=${this.mainDrawerId}>
205
- menu
206
- </custom-drawer-button>
207
- </slot>
208
- </slot>
209
- <slot name="top-app-bar-title" slot="title"></slot>
210
- <slot name="top-app-bar-end" slot="end"></slot>
211
- </custom-top-app-bar>
212
- </slot>
213
-
214
- <slot name="content">
215
- <main>
216
- <slot></slot>
217
- </main>
218
- </slot>
124
+ return html `<style>
125
+ :host {
126
+ --custom-drawer-width: 320px;
127
+ display: flex;
128
+ flex-direction: row;
129
+ inset: 0;
130
+ background: var(--md-sys-color-surface);
131
+ color: var(--md-sys-color-on-surface);
132
+ background-blend-mode: hue;
133
+ position: absolute;
134
+ box-sizing: border-box;
135
+ }
136
+
137
+ main {
138
+ width: 100%;
139
+ height: 100%;
140
+ overflow-y: auto;
141
+ }
142
+
143
+ :host([drawer-open][narrow]) .scrim {
144
+ z-index: 1000;
145
+ position: fixed;
146
+ inset: 0;
147
+ background-color: var(--md-sys-color-scrim);
148
+ opacity: 0.44;
149
+ }
150
+
151
+ custom-drawer {
152
+ --custom-pane-width: var(--custom-drawer-width, 320px);
153
+ }
154
+
155
+ :host(:not([narrow])) .middle-pane {
156
+ will-change: width, transform;
157
+ width: calc(100% - var(--custom-drawer-width));
158
+ height: 100%;
159
+ position: absolute;
160
+ transform: translateX(var(--custom-drawer-width));
161
+
162
+ transition: var(--md-sys-motion-easing-emphasized-decelerate) 500ms width,
163
+ var(--md-sys-motion-easing-emphasized-decelerate) 500ms transform;
164
+ }
165
+
166
+ :host(:not([drawer-open])) .middle-pane {
167
+ transition: var(--md-sys-motion-easing-emphasized-accelerate) 200ms width,
168
+ var(--md-sys-motion-easing-emphasized-accelerate) 200ms transform;
169
+ transform: translateX(0);
170
+ width: 100%;
171
+ }
172
+
173
+ :host([narrow]) .middle-pane {
174
+ width: 100%;
175
+ transform: 0;
176
+ left: 0;
177
+ }
178
+ </style>
179
+ <span class="scrim" @click=${this._click}></span>
180
+
181
+ <slot name="drawer">
182
+ <custom-drawer
183
+ @click=${this._click}
184
+ .mobile=${this.narrow}
185
+ .open=${this.drawerOpen}
186
+ .type=${this.drawerType}
187
+ .id=${this.mainDrawerId}
188
+ >
189
+ <slot name="drawer-headline" slot="headline"></slot>
190
+ <slot name="drawer-menu-button" slot="menu-button"></slot>
191
+ <slot name="drawer-content" slot="content"></slot>
192
+ <slot name="drawer-footer" slot="footer"></slot>
193
+ </custom-drawer>
194
+ </slot>
195
+
196
+ <flex-column class="middle-pane">
197
+ <!-- TODO: do we want a header? -->
198
+ <slot name="header"></slot>
199
+
200
+ <slot name="top-app-bar">
201
+ <custom-top-app-bar .type=${this.appBarType}>
202
+ <slot name="top-app-bar-start" slot="start">
203
+ <slot name="drawer-menu-button">
204
+ <custom-drawer-button .mobile=${this.narrow} ?drawer-open=${this.drawerOpen} .id=${this.mainDrawerId}>
205
+ menu
206
+ </custom-drawer-button>
207
+ </slot>
208
+ </slot>
209
+ <slot name="top-app-bar-title" slot="title"></slot>
210
+ <slot name="top-app-bar-end" slot="end"></slot>
211
+ </custom-top-app-bar>
212
+ </slot>
213
+
214
+ <slot name="content">
215
+ <main>
216
+ <slot></slot>
217
+ </main>
218
+ </slot>
219
219
  </flex-column> `;
220
220
  }
221
221
  });