@vandeurenglenn/lite-elements 0.3.49 → 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 (142) hide show
  1. package/exports/banner.js +37 -37
  2. package/exports/bar/top-app-bar.d.ts +1 -1
  3. package/exports/bundle/banner.js +2 -2
  4. package/exports/bundle/button.js +6 -1
  5. package/exports/bundle/card.js +1 -1
  6. package/exports/bundle/code.js +1 -1
  7. package/exports/bundle/{column-B0bUzxkF.js → column-dsIMZ5XT.js} +1 -1
  8. package/exports/bundle/demo-elements.js +1 -1
  9. package/exports/bundle/demo-icons.js +1 -1
  10. package/exports/bundle/demo-shell.js +1 -1
  11. package/exports/bundle/demo.js +1 -1
  12. package/exports/bundle/dialog.js +1 -1
  13. package/exports/bundle/divider.js +1 -1
  14. package/exports/bundle/drawer-button.js +1 -1
  15. package/exports/bundle/drawer-item.js +1 -1
  16. package/exports/bundle/drawer-layout.js +1 -1
  17. package/exports/bundle/drawer.js +2 -2
  18. package/exports/bundle/dropdown-menu.js +1 -1
  19. package/exports/bundle/dropdown.js +1 -1
  20. package/exports/bundle/elements.js +1 -1
  21. package/exports/bundle/elevation.js +1 -1
  22. package/exports/bundle/fab.js +2 -2
  23. package/exports/bundle/icon-button.js +1 -1
  24. package/exports/bundle/icon-set.js +1 -1
  25. package/exports/bundle/icon.js +1 -1
  26. package/exports/bundle/index.html +590 -590
  27. package/exports/bundle/input.js +2 -2
  28. package/exports/bundle/list-item.js +1 -1
  29. package/exports/bundle/menu.js +1 -1
  30. package/exports/bundle/minute-field.js +1 -1
  31. package/exports/bundle/notification.js +1 -1
  32. package/exports/bundle/notifications.js +1 -1
  33. package/exports/bundle/pages.js +1 -1
  34. package/exports/bundle/pane.js +3 -3
  35. package/exports/bundle/property-C1gA9hig.js +23 -0
  36. package/exports/bundle/property-DL093_VN.js +11 -0
  37. package/exports/bundle/rail.js +1 -1
  38. package/exports/bundle/root.js +2 -2
  39. package/exports/bundle/row-CW5FbTZ_.js +28 -0
  40. package/exports/bundle/section.js +1 -1
  41. package/exports/bundle/section2.js +1 -1
  42. package/exports/bundle/select-mixin.js +1 -1
  43. package/exports/bundle/selector-mixin.js +1 -1
  44. package/exports/bundle/selector.js +1 -1
  45. package/exports/bundle/summary-mirror.js +1 -1
  46. package/exports/bundle/summary.js +2 -2
  47. package/exports/bundle/supporting-pane.js +1 -1
  48. package/exports/bundle/tab.js +2 -2
  49. package/exports/bundle/tabs.js +1 -1
  50. package/exports/bundle/text-field.js +1 -1
  51. package/exports/bundle/theme.js +1 -1
  52. package/exports/bundle/themes/default/colors.module.css +180 -180
  53. package/exports/bundle/themes/default/missing/motion.css +3 -3
  54. package/exports/bundle/themes/default/missing/shape.css +12 -12
  55. package/exports/bundle/themes/default/missing/theme.dark.css +4 -4
  56. package/exports/bundle/themes/default/missing/theme.light.css +4 -4
  57. package/exports/bundle/themes/default/missing/tokens.css +8 -8
  58. package/exports/bundle/themes/default/theme.css +10 -10
  59. package/exports/bundle/themes/default/theme.dark.css +33 -33
  60. package/exports/bundle/themes/default/theme.light.css +33 -33
  61. package/exports/bundle/themes/default/tokens.css +256 -256
  62. package/exports/bundle/themes/default/typography.module.css +150 -150
  63. package/exports/bundle/time-picker.js +1 -1
  64. package/exports/bundle/toggle-button.js +1 -1
  65. package/exports/bundle/toggle.js +1 -1
  66. package/exports/bundle/top-app-bar.js +63 -2
  67. package/exports/bundle/typography.js +1 -1
  68. package/exports/bundle/upload-file.js +1 -1
  69. package/exports/bundle/upload-image.js +62 -55
  70. package/exports/button.js +149 -144
  71. package/exports/card.js +140 -140
  72. package/exports/code.js +35 -35
  73. package/exports/demo-elements.js +1 -1
  74. package/exports/demo-icons.js +16 -16
  75. package/exports/demo-shell.js +540 -540
  76. package/exports/demo.js +457 -457
  77. package/exports/dialog.js +149 -149
  78. package/exports/divider.js +22 -22
  79. package/exports/drawer-button.js +14 -14
  80. package/exports/drawer-item.js +39 -39
  81. package/exports/drawer-layout.js +96 -96
  82. package/exports/drawer.js +8 -8
  83. package/exports/dropdown-menu.js +59 -59
  84. package/exports/dropdown.js +26 -26
  85. package/exports/elements.js +1 -1
  86. package/exports/elevation.js +51 -51
  87. package/exports/fab.js +146 -146
  88. package/exports/icon-button.js +13 -13
  89. package/exports/icon-set.js +5 -5
  90. package/exports/icon.js +16 -16
  91. package/exports/input.js +6 -6
  92. package/exports/list-item.js +43 -43
  93. package/exports/menu.js +13 -13
  94. package/exports/minute-field.js +5 -5
  95. package/exports/mixins/scroll-mixin.d.ts +1 -1
  96. package/exports/notification.js +35 -35
  97. package/exports/notifications.js +66 -66
  98. package/exports/pages.js +42 -42
  99. package/exports/pane.js +19 -19
  100. package/exports/rail.js +58 -58
  101. package/exports/root.js +8 -8
  102. package/exports/section/section.d.ts +2 -2
  103. package/exports/section.js +11 -11
  104. package/exports/section2.js +25 -25
  105. package/exports/selector.js +31 -31
  106. package/exports/summary-mirror.js +20 -20
  107. package/exports/summary.js +25 -25
  108. package/exports/supporting-pane.js +47 -47
  109. package/exports/tab.js +22 -22
  110. package/exports/tabs.js +51 -51
  111. package/exports/text-field.js +10 -10
  112. package/exports/theme.js +9 -9
  113. package/exports/themes/default/colors.module.css +180 -180
  114. package/exports/themes/default/missing/motion.css +3 -3
  115. package/exports/themes/default/missing/shape.css +12 -12
  116. package/exports/themes/default/missing/theme.dark.css +4 -4
  117. package/exports/themes/default/missing/theme.light.css +4 -4
  118. package/exports/themes/default/missing/tokens.css +8 -8
  119. package/exports/themes/default/theme.css +10 -10
  120. package/exports/themes/default/theme.dark.css +33 -33
  121. package/exports/themes/default/theme.light.css +33 -33
  122. package/exports/themes/default/tokens.css +256 -256
  123. package/exports/themes/default/typography.module.css +150 -150
  124. package/exports/time-picker.js +21 -21
  125. package/exports/toggle-button.js +4 -4
  126. package/exports/toggle.js +5 -5
  127. package/exports/top-app-bar.js +21 -21
  128. package/exports/{tslib.es6-CFl_-KPR.js → tslib.es6-Cg9lAhfj.js} +1 -1
  129. package/exports/typography.js +156 -156
  130. package/exports/upload-file.js +9 -9
  131. package/exports/upload-image.js +201 -201
  132. package/package.json +20 -36
  133. package/exports/bundle/property-BYA8Sw2t.js +0 -11
  134. package/exports/bundle/property-C4lhirVQ.js +0 -23
  135. package/exports/bundle/row-DYDgQVDj.js +0 -28
  136. package/exports/bundle/simple-hash-router.js +0 -1
  137. package/exports/bundle/types2.js +0 -1
  138. package/exports/mixins/file-reader-mixin.d.ts +0 -341
  139. package/exports/router/types.d.ts +0 -45
  140. package/exports/simple-hash-router.js +0 -111
  141. package/exports/types2.js +0 -1
  142. package/exports/upload/upload-image.d.ts +0 -381
package/exports/button.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as __esDecorate, a as __runInitializers } from './tslib.es6-CFl_-KPR.js';
1
+ import { _ as __esDecorate, a as __runInitializers } from './tslib.es6-Cg9lAhfj.js';
2
2
  import { customElement, property, css, html, LiteElement } from '@vandeurenglenn/lite';
3
3
  import './elevation.js';
4
4
 
@@ -49,143 +49,148 @@ let CustomButton = (() => {
49
49
  get label() { return this.#label_accessor_storage; }
50
50
  set label(value) { this.#label_accessor_storage = value; }
51
51
  static styles = [
52
- css `
53
- :host {
54
- color: var(--custom-button-color, --md-sys-color-on-background);
55
- display: flex;
56
-
57
- height: 40px;
58
- border-radius: 20px;
59
- position: relative;
60
- pointer-events: auto;
61
- cursor: pointer;
62
-
63
- --elevation-level: 0;
64
- }
65
-
66
- button {
67
- box-sizing: border-box;
68
- border: none;
69
- background: transparent;
70
- color: inherit;
71
- align-items: center;
72
- justify-content: center;
73
- user-select: none;
74
- outline: none;
75
- cursor: pointer;
76
- border-radius: inherit;
77
- padding: none;
78
- width: inherit;
79
- height: inherit;
80
- display: flex;
81
- pointer-events: none;
82
- }
83
-
84
- .label,
85
- ::slotted(*) {
86
- font-family: var(--md-sys-typescale-label-large-font-family-name);
87
- font-style: var(--md-sys-typescale-label-large-font-family-style);
88
- font-weight: var(--md-sys-typescale-label-large-font-weight);
89
- font-size: var(--md-sys-typescale-label-large-font-size);
90
- letter-spacing: var(--md-sys-typescale-label-large-tracking);
91
- line-height: var(--md-sys-typescale-label-large-height);
92
- text-transform: var(--md-sys-typescale-label-large-text-transform);
93
- text-decoration: var(--md-sys-typescale-label-large-text-decoration);
94
- }
95
-
96
- :host([type='filled']),
97
- :host([type='filled']) ::slotted(*) {
98
- color: var(--md-sys-color-on-primary);
99
- fill: var(--md-sys-color-on-primary);
100
- background: var(--md-sys-color-primary);
101
- }
102
-
103
- :host([type='outlined']),
104
- :host([type='outlined']) ::slotted(*) {
105
- color: var(--md-sys-color-on-surface);
106
- fill: var(--md-sys-color-on-surface);
107
- background: var(--md-sys-color-surface);
108
- border: solid 1px;
109
- border-color: var(--md-sys-color-outline);
110
- }
111
-
112
- :host([type='elevated']),
113
- :host([type='elevated']) ::slotted(*) {
114
- color: var(--md-sys-color-primary);
115
- fill: var(--md-sys-color-primary);
116
- background: var(--md-sys-color-surface-container-low);
117
- }
118
-
119
- :host([type='tertiary']),
120
- :host([type='tertiary']) ::slotted(*) {
121
- background: var(--md-sys-color-tertiary);
122
- color: var(--md-sys-color-on-tertiary);
123
- fill: var(--md-sys-color-on-tertiary);
124
- }
125
-
126
- :host([type='tonal']),
127
- :host([type='tonal']) ::slotted(*) {
128
- background: var(--md-sys-color-secondary-container);
129
- color: var(--md-sys-color-on-seconday-container);
130
- fill: var(--md-sys-color-on-seconday-container);
131
- }
132
-
133
- custom-elevation {
134
- --md-elevation-level: var(--elevation-level);
135
- }
136
-
137
- :host([type='elevated']) custom-elevation {
138
- --elevation-level: 1;
139
- }
140
-
141
- :host([type='filled']),
142
- :host([type='outlined']),
143
- :host([type='text']),
144
- :host([type='tonal']) {
145
- --elevation-level: 0;
146
- }
147
-
148
- :host([has-label]) .label {
149
- padding-left: 24px;
150
- padding-right: 24px;
151
- }
152
-
153
- :host([has-icon]:not([has-label])) {
154
- border-radius: 50%;
155
- width: 40px;
156
- align-items: center;
157
- justify-content: center;
158
- }
159
-
160
- :host([has-icon][has-label]) .label {
161
- padding-left: 8px;
162
- padding-right: 24px;
163
- }
164
- :host([has-icon][has-label]) slot[name='icon']::slotted(*) {
165
- padding-left: 16px;
166
- }
167
-
168
- :host([disabled]) .label,
169
- :host([disabled]) slot[name='icon']::slotted(*) {
170
- opacity: 0.38;
171
- }
172
-
173
- ::slotted(*) {
174
- pointer-events: none;
175
- }
176
-
177
- :host(:focus),
178
- :host(:hover) {
179
- --elevation-level: 2;
180
- }
181
-
182
- :host(:active) {
183
- --elevation-level: 0;
184
- }
185
-
186
- button * {
187
- pointer-events: none;
188
- }
52
+ css `
53
+ :host {
54
+ color: var(--custom-button-color, --md-sys-color-on-background);
55
+ display: flex;
56
+
57
+ height: 40px;
58
+ border-radius: 20px;
59
+ position: relative;
60
+ pointer-events: auto;
61
+ cursor: pointer;
62
+
63
+ --elevation-level: 0;
64
+ }
65
+
66
+ button {
67
+ box-sizing: border-box;
68
+ border: none;
69
+ background: transparent;
70
+ color: inherit;
71
+ align-items: center;
72
+ justify-content: center;
73
+ user-select: none;
74
+ outline: none;
75
+ cursor: pointer;
76
+ border-radius: inherit;
77
+ padding: none;
78
+ width: inherit;
79
+ height: inherit;
80
+ display: flex;
81
+ pointer-events: none;
82
+ }
83
+
84
+ .label {
85
+ flex: 1;
86
+ text-align: end;
87
+ }
88
+
89
+ .label,
90
+ ::slotted(*) {
91
+ font-family: var(--md-sys-typescale-label-large-font-family-name);
92
+ font-style: var(--md-sys-typescale-label-large-font-family-style);
93
+ font-weight: var(--md-sys-typescale-label-large-font-weight);
94
+ font-size: var(--md-sys-typescale-label-large-font-size);
95
+ letter-spacing: var(--md-sys-typescale-label-large-tracking);
96
+ line-height: var(--md-sys-typescale-label-large-height);
97
+ text-transform: var(--md-sys-typescale-label-large-text-transform);
98
+ text-decoration: var(--md-sys-typescale-label-large-text-decoration);
99
+ }
100
+
101
+ :host([type='filled']),
102
+ :host([type='filled']) ::slotted(*) {
103
+ color: var(--md-sys-color-on-primary);
104
+ fill: var(--md-sys-color-on-primary);
105
+ background: var(--md-sys-color-primary);
106
+ }
107
+
108
+ :host([type='outlined']),
109
+ :host([type='outlined']) ::slotted(*) {
110
+ color: var(--md-sys-color-on-surface);
111
+ fill: var(--md-sys-color-on-surface);
112
+ background: var(--md-sys-color-surface);
113
+ border: solid 1px;
114
+ border-color: var(--md-sys-color-outline);
115
+ }
116
+
117
+ :host([type='elevated']),
118
+ :host([type='elevated']) ::slotted(*) {
119
+ color: var(--md-sys-color-primary);
120
+ fill: var(--md-sys-color-primary);
121
+ background: var(--md-sys-color-surface-container-low);
122
+ }
123
+
124
+ :host([type='tertiary']),
125
+ :host([type='tertiary']) ::slotted(*) {
126
+ background: var(--md-sys-color-tertiary);
127
+ color: var(--md-sys-color-on-tertiary);
128
+ fill: var(--md-sys-color-on-tertiary);
129
+ }
130
+
131
+ :host([type='tonal']),
132
+ :host([type='tonal']) ::slotted(*) {
133
+ background: var(--md-sys-color-secondary-container);
134
+ color: var(--md-sys-color-on-seconday-container);
135
+ fill: var(--md-sys-color-on-seconday-container);
136
+ }
137
+
138
+ custom-elevation {
139
+ --md-elevation-level: var(--elevation-level);
140
+ }
141
+
142
+ :host([type='elevated']) custom-elevation {
143
+ --elevation-level: 1;
144
+ }
145
+
146
+ :host([type='filled']),
147
+ :host([type='outlined']),
148
+ :host([type='text']),
149
+ :host([type='tonal']) {
150
+ --elevation-level: 0;
151
+ }
152
+
153
+ :host([has-label]) .label {
154
+ padding-left: 24px;
155
+ padding-right: 24px;
156
+ }
157
+
158
+ :host([has-icon]:not([has-label])) {
159
+ border-radius: 50%;
160
+ width: 40px;
161
+ align-items: center;
162
+ justify-content: center;
163
+ }
164
+
165
+ :host([has-icon][has-label]) .label {
166
+ padding-left: 8px;
167
+ padding-right: 24px;
168
+ }
169
+ :host([has-icon][has-label]) slot[name='icon']::slotted(*) {
170
+ padding-left: 16px;
171
+ }
172
+
173
+ :host([disabled]) .label,
174
+ :host([disabled]) slot[name='icon']::slotted(*) {
175
+ opacity: 0.38;
176
+ }
177
+
178
+ ::slotted(*) {
179
+ pointer-events: none;
180
+ }
181
+
182
+ :host(:focus),
183
+ :host(:hover) {
184
+ --elevation-level: 2;
185
+ }
186
+
187
+ :host(:active) {
188
+ --elevation-level: 0;
189
+ }
190
+
191
+ button * {
192
+ pointer-events: none;
193
+ }
189
194
  `
190
195
  ];
191
196
  connectedCallback() {
@@ -209,12 +214,12 @@ let CustomButton = (() => {
209
214
  }
210
215
  });
211
216
  render() {
212
- return html `
213
- <button label=${this.label}>
214
- <custom-elevation></custom-elevation>
215
- <slot name="icon"></slot>
216
- <span class="label">${this.label}</span>
217
- </button>
217
+ return html `
218
+ <button label=${this.label}>
219
+ <custom-elevation></custom-elevation>
220
+ <slot name="icon"></slot>
221
+ <span class="label">${this.label}</span>
222
+ </button>
218
223
  `;
219
224
  }
220
225
  static {
package/exports/card.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as __esDecorate, a as __runInitializers } from './tslib.es6-CFl_-KPR.js';
1
+ import { _ as __esDecorate, a as __runInitializers } from './tslib.es6-Cg9lAhfj.js';
2
2
  import { customElement, html, LiteElement } from '@vandeurenglenn/lite';
3
3
  import './button.js';
4
4
  import './divider.js';
@@ -32,149 +32,149 @@ let CustomCard = (() => {
32
32
  // @ts-ignore
33
33
  const children = Array.from(actionsSlot?.assignedNodes() || []);
34
34
  return children.length !== 0
35
- ? html `<custom-divider
36
- ?inset=${this.dividerType === 'inset'}
37
- ?middle-inset=${this.dividerType === 'inset'}
35
+ ? html `<custom-divider
36
+ ?inset=${this.dividerType === 'inset'}
37
+ ?middle-inset=${this.dividerType === 'inset'}
38
38
  ></custom-divider>`
39
39
  : '';
40
40
  }
41
41
  render() {
42
- return html `
43
- <style>
44
- :host {
45
- box-sizing: border-box;
46
- display: flex;
47
- margin: 8px;
48
- position: relative;
49
- height: fit-content;
50
- max-height: 320px;
51
- width: 100%;
52
- max-width: 320px;
53
- border-radius: 12px;
54
- border: 1px solid;
55
- overflow: hidden;
56
- }
57
-
58
- .container {
59
- display: flex;
60
- flex-direction: column;
61
- max-width: 320px;
62
- height: max-content;
63
- max-height: 320px;
64
- border-color: transparent;
65
- color: var(--md-sys-color-on-surface-variant);
66
- background: var(--md-sys-color-surface-variant);
67
- /* position: absolute; */
68
- }
69
-
70
- .content-container {
71
- display: flex;
72
- flex-direction: column;
73
- box-sizing: border-box;
74
- padding: 16px;
75
- height: 100%;
76
- }
77
-
78
- custom-elevation {
79
- --md-elevation-level: 1;
80
- }
81
-
82
- :host() ::slotted(*) {
83
- font-family: var(--md-sys-typescale-display-small-font-family-name);
84
- font-weight: var(--md-sys-typescale-display-small-font-family-style);
85
- }
86
-
87
- slot[name='headline']::slotted(*) {
88
- font-weight: var(--md-sys-typescale-headline-large-font-weight);
89
- font-size: var(--md-sys-typescale-headline-large-font-size);
90
- line-height: var(--md-sys-typescale-headline-large-line-height);
91
- letter-spacing: var(--md-sys-typescale-headline-large-letter-spacing);
92
- }
93
-
94
- slot[name='subline']::slotted(*) {
95
- font-weight: var(--md-sys-typescale-title-large-font-weight);
96
- font-size: var(--md-sys-typescale-title-large-font-size);
97
-
98
- line-height: var(--md-sys-typescale-title-large-line-height);
99
- letter-spacing: var(--md-sys-typescale-title-large-letter-spacing);
100
- }
101
-
102
- slot[name='supportingText']::slotted(*) {
103
- margin: 8px 0 0 0;
104
- font-weight: var(--md-sys-typescale-body-medium-font-weight);
105
- font-size: var(--md-sys-typescale-body-medium-font-size);
106
-
107
- line-height: var(--md-sys-typescale-body-medium-line-height);
108
- letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
109
-
110
- max-height: 144px;
111
- overflow-y: auto;
112
- }
113
-
114
- .supporting-text {
115
- max-height: 196px;
116
- overflow-y: scroll;
117
- }
118
-
119
- :host([type='filled']) .container {
120
- color: var(--md-sys-color-on-secondary-container);
121
- background: var(--md-sys-color-secondary-container);
122
- }
123
-
124
- :host([type='outlined']) .container {
125
- color: var(--md-sys-color-on-surface);
126
- background: var(--md-sys-color-surface);
127
- }
128
-
129
- :host([type='outlined']) {
130
- border-color: var(--md-sys-color-outline);
131
- }
132
-
133
- :host([type='tertiary']) .container {
134
- color: var(--md-sys-color-on-tertiary-container);
135
- background: var(--md-sys-color-tertiary-container);
136
- }
137
-
138
- :host([type='tertiary']) {
139
- border-color: var(--md-sys-color-outline);
140
- }
141
-
142
- :host([type='filled']) custom-elevation,
143
- :host([type='outlined']) custom-elevation,
144
- :host([type='tertiary']) custom-elevation {
145
- --md-elevation-level: 0;
146
- }
147
-
148
- .actions {
149
- height: 44px;
150
- width: 100%;
151
- display: flex;
152
- }
153
-
154
- ::slotted(*:not([slot='actions'])) {
155
- overflow: hidden;
156
- border-radius: 12px;
157
- height: 100%;
158
- width: 100%;
159
- }
160
- </style>
161
- <custom-elevation></custom-elevation>
162
- <span class="container">
163
- <slot name="image"></slot>
164
-
165
- <span class="content-container">
166
- <slot name="headline"></slot>
167
- <slot name="subline"></slot>
168
- <span class="supporting-text">
169
- <slot name="supportingText"></slot>
170
- </span>
171
- ${this.renderDivider()}
172
- <span class="actions">
173
- <flex-it flex="1"></flex-it>
174
- <slot name="actions"></slot>
175
- </span>
176
- </span>
177
- </span>
42
+ return html `
43
+ <style>
44
+ :host {
45
+ box-sizing: border-box;
46
+ display: flex;
47
+ margin: 8px;
48
+ position: relative;
49
+ height: fit-content;
50
+ max-height: 320px;
51
+ width: 100%;
52
+ max-width: 320px;
53
+ border-radius: 12px;
54
+ border: 1px solid;
55
+ overflow: hidden;
56
+ }
57
+
58
+ .container {
59
+ display: flex;
60
+ flex-direction: column;
61
+ max-width: 320px;
62
+ height: max-content;
63
+ max-height: 320px;
64
+ border-color: transparent;
65
+ color: var(--md-sys-color-on-surface-variant);
66
+ background: var(--md-sys-color-surface-variant);
67
+ /* position: absolute; */
68
+ }
69
+
70
+ .content-container {
71
+ display: flex;
72
+ flex-direction: column;
73
+ box-sizing: border-box;
74
+ padding: 16px;
75
+ height: 100%;
76
+ }
77
+
78
+ custom-elevation {
79
+ --md-elevation-level: 1;
80
+ }
81
+
82
+ :host() ::slotted(*) {
83
+ font-family: var(--md-sys-typescale-display-small-font-family-name);
84
+ font-weight: var(--md-sys-typescale-display-small-font-family-style);
85
+ }
86
+
87
+ slot[name='headline']::slotted(*) {
88
+ font-weight: var(--md-sys-typescale-headline-large-font-weight);
89
+ font-size: var(--md-sys-typescale-headline-large-font-size);
90
+ line-height: var(--md-sys-typescale-headline-large-line-height);
91
+ letter-spacing: var(--md-sys-typescale-headline-large-letter-spacing);
92
+ }
93
+
94
+ slot[name='subline']::slotted(*) {
95
+ font-weight: var(--md-sys-typescale-title-large-font-weight);
96
+ font-size: var(--md-sys-typescale-title-large-font-size);
97
+
98
+ line-height: var(--md-sys-typescale-title-large-line-height);
99
+ letter-spacing: var(--md-sys-typescale-title-large-letter-spacing);
100
+ }
101
+
102
+ slot[name='supportingText']::slotted(*) {
103
+ margin: 8px 0 0 0;
104
+ font-weight: var(--md-sys-typescale-body-medium-font-weight);
105
+ font-size: var(--md-sys-typescale-body-medium-font-size);
106
+
107
+ line-height: var(--md-sys-typescale-body-medium-line-height);
108
+ letter-spacing: var(--md-sys-typescale-body-medium-letter-spacing);
109
+
110
+ max-height: 144px;
111
+ overflow-y: auto;
112
+ }
113
+
114
+ .supporting-text {
115
+ max-height: 196px;
116
+ overflow-y: scroll;
117
+ }
118
+
119
+ :host([type='filled']) .container {
120
+ color: var(--md-sys-color-on-secondary-container);
121
+ background: var(--md-sys-color-secondary-container);
122
+ }
123
+
124
+ :host([type='outlined']) .container {
125
+ color: var(--md-sys-color-on-surface);
126
+ background: var(--md-sys-color-surface);
127
+ }
128
+
129
+ :host([type='outlined']) {
130
+ border-color: var(--md-sys-color-outline);
131
+ }
132
+
133
+ :host([type='tertiary']) .container {
134
+ color: var(--md-sys-color-on-tertiary-container);
135
+ background: var(--md-sys-color-tertiary-container);
136
+ }
137
+
138
+ :host([type='tertiary']) {
139
+ border-color: var(--md-sys-color-outline);
140
+ }
141
+
142
+ :host([type='filled']) custom-elevation,
143
+ :host([type='outlined']) custom-elevation,
144
+ :host([type='tertiary']) custom-elevation {
145
+ --md-elevation-level: 0;
146
+ }
147
+
148
+ .actions {
149
+ height: 44px;
150
+ width: 100%;
151
+ display: flex;
152
+ }
153
+
154
+ ::slotted(*:not([slot='actions'])) {
155
+ overflow: hidden;
156
+ border-radius: 12px;
157
+ height: 100%;
158
+ width: 100%;
159
+ }
160
+ </style>
161
+ <custom-elevation></custom-elevation>
162
+ <span class="container">
163
+ <slot name="image"></slot>
164
+
165
+ <span class="content-container">
166
+ <slot name="headline"></slot>
167
+ <slot name="subline"></slot>
168
+ <span class="supporting-text">
169
+ <slot name="supportingText"></slot>
170
+ </span>
171
+ ${this.renderDivider()}
172
+ <span class="actions">
173
+ <flex-it flex="1"></flex-it>
174
+ <slot name="actions"></slot>
175
+ </span>
176
+ </span>
177
+ </span>
178
178
  `;
179
179
  }
180
180
  static {