@design.estate/dees-catalog 3.74.2 → 3.76.0
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.
- package/dist_bundle/bundle.js +142 -148
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.js +7 -7
- package/dist_ts_web/elements/00group-form/dees-form/dees-form.demo.js +5 -5
- package/dist_ts_web/elements/00group-input/dees-input-base/dees-input-base.d.ts +6 -0
- package/dist_ts_web/elements/00group-input/dees-input-base/dees-input-base.js +26 -3
- package/dist_ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.js +2 -8
- package/dist_ts_web/elements/00group-input/dees-input-code/dees-input-code.js +3 -2
- package/dist_ts_web/elements/00group-input/dees-input-datepicker/template.js +3 -2
- package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.js +2 -1
- package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.js +3 -2
- package/dist_ts_web/elements/00group-input/dees-input-fileupload/component.js +3 -2
- package/dist_ts_web/elements/00group-input/dees-input-fileupload/demo.js +10 -9
- package/dist_ts_web/elements/00group-input/dees-input-iban/dees-input-iban.demo.js +7 -6
- package/dist_ts_web/elements/00group-input/dees-input-iban/dees-input-iban.js +3 -2
- package/dist_ts_web/elements/00group-input/dees-input-list/dees-input-list.js +2 -11
- package/dist_ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.demo.js +7 -6
- package/dist_ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.js +3 -2
- package/dist_ts_web/elements/00group-input/dees-input-phone/dees-input-phone.demo.js +5 -4
- package/dist_ts_web/elements/00group-input/dees-input-phone/dees-input-phone.js +3 -2
- package/dist_ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.demo.js +7 -6
- package/dist_ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.js +3 -2
- package/dist_ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.js +2 -10
- package/dist_ts_web/elements/00group-input/dees-input-richtext/styles.js +1 -8
- package/dist_ts_web/elements/00group-input/dees-input-richtext/template.js +2 -2
- package/dist_ts_web/elements/00group-input/dees-input-tags/dees-input-tags.js +2 -12
- package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.js +5 -4
- package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.js +3 -2
- package/dist_ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.js +2 -8
- package/dist_ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.demo.js +10 -9
- package/dist_ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.js +3 -2
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js +4 -3
- package/dist_ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.js +3 -2
- package/dist_ts_web/elements/00group-layout/dees-label/dees-label.d.ts +1 -1
- package/dist_ts_web/elements/00group-layout/dees-label/dees-label.demo.js +12 -12
- package/dist_ts_web/elements/00group-layout/dees-label/dees-label.js +12 -12
- package/dist_ts_web/elements/00group-layout/dees-tile/dees-tile.d.ts +1 -0
- package/dist_ts_web/elements/00group-layout/dees-tile/dees-tile.js +18 -3
- package/dist_ts_web/elements/00group-overlay/dees-modal/dees-modal.js +2 -10
- package/dist_watch/bundle.js +140 -146
- package/dist_watch/bundle.js.map +3 -3
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-dataview/dees-table/dees-table.ts +6 -6
- package/ts_web/elements/00group-form/dees-form/dees-form.demo.ts +4 -4
- package/ts_web/elements/00group-input/dees-input-base/dees-input-base.ts +20 -0
- package/ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.ts +1 -7
- package/ts_web/elements/00group-input/dees-input-code/dees-input-code.ts +2 -1
- package/ts_web/elements/00group-input/dees-input-datepicker/template.ts +2 -1
- package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.ts +1 -0
- package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.ts +2 -1
- package/ts_web/elements/00group-input/dees-input-fileupload/component.ts +2 -1
- package/ts_web/elements/00group-input/dees-input-fileupload/demo.ts +9 -8
- package/ts_web/elements/00group-input/dees-input-iban/dees-input-iban.demo.ts +6 -5
- package/ts_web/elements/00group-input/dees-input-iban/dees-input-iban.ts +2 -1
- package/ts_web/elements/00group-input/dees-input-list/dees-input-list.ts +1 -10
- package/ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.demo.ts +6 -5
- package/ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.ts +2 -1
- package/ts_web/elements/00group-input/dees-input-phone/dees-input-phone.demo.ts +4 -3
- package/ts_web/elements/00group-input/dees-input-phone/dees-input-phone.ts +2 -1
- package/ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.demo.ts +6 -5
- package/ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.ts +2 -1
- package/ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.ts +1 -9
- package/ts_web/elements/00group-input/dees-input-richtext/styles.ts +0 -7
- package/ts_web/elements/00group-input/dees-input-richtext/template.ts +1 -1
- package/ts_web/elements/00group-input/dees-input-tags/dees-input-tags.ts +1 -11
- package/ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.ts +4 -3
- package/ts_web/elements/00group-input/dees-input-text/dees-input-text.ts +2 -1
- package/ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.ts +1 -7
- package/ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.demo.ts +9 -8
- package/ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.ts +2 -1
- package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.ts +3 -2
- package/ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.ts +2 -1
- package/ts_web/elements/00group-layout/dees-label/dees-label.demo.ts +11 -11
- package/ts_web/elements/00group-layout/dees-label/dees-label.ts +3 -3
- package/ts_web/elements/00group-layout/dees-tile/dees-tile.ts +11 -1
- package/ts_web/elements/00group-overlay/dees-modal/dees-modal.ts +1 -9
|
@@ -94,12 +94,13 @@ export const demoFunc = () => html`
|
|
|
94
94
|
.label=${'Username'}
|
|
95
95
|
.value=${'johndoe'}
|
|
96
96
|
.key=${'username'}
|
|
97
|
+
.description=${'Your username will be visible to other users'}
|
|
97
98
|
></dees-input-text>
|
|
98
99
|
|
|
99
100
|
<dees-input-text
|
|
100
101
|
.label=${'Email Address'}
|
|
101
102
|
.value=${'john@example.com'}
|
|
102
|
-
.
|
|
103
|
+
.infoText=${'We will never share your email with anyone'}
|
|
103
104
|
.key=${'email'}
|
|
104
105
|
></dees-input-text>
|
|
105
106
|
|
|
@@ -270,14 +271,14 @@ export const demoFunc = () => html`
|
|
|
270
271
|
.label=${'Password with Toggle'}
|
|
271
272
|
.isPasswordBool=${true}
|
|
272
273
|
.value=${'mySecurePassword123'}
|
|
273
|
-
.
|
|
274
|
+
.infoText=${'Click the eye icon to show/hide password'}
|
|
274
275
|
></dees-input-text>
|
|
275
276
|
|
|
276
277
|
<dees-input-text
|
|
277
278
|
.label=${'API Key'}
|
|
278
279
|
.isPasswordBool=${true}
|
|
279
280
|
.value=${'sk-1234567890abcdef'}
|
|
280
|
-
.
|
|
281
|
+
.infoText=${'Keep this key secure and never share it'}
|
|
281
282
|
></dees-input-text>
|
|
282
283
|
</div>
|
|
283
284
|
</dees-panel>
|
|
@@ -289,7 +289,7 @@ export class DeesInputText extends DeesInputBase {
|
|
|
289
289
|
`}
|
|
290
290
|
</style>
|
|
291
291
|
<div class="input-wrapper">
|
|
292
|
-
<dees-label .label=${this.label} .
|
|
292
|
+
<dees-label .label=${this.label} .infoText=${this.infoText} .required=${this.required}></dees-label>
|
|
293
293
|
<div class="maincontainer">
|
|
294
294
|
<input
|
|
295
295
|
type="${this.isPasswordBool && !this.showPasswordBool ? 'password' : 'text'}"
|
|
@@ -315,6 +315,7 @@ export class DeesInputText extends DeesInputBase {
|
|
|
315
315
|
</div>
|
|
316
316
|
`
|
|
317
317
|
: html`<div class="validationContainer"></div>`}
|
|
318
|
+
${this.renderDescription()}
|
|
318
319
|
</div>
|
|
319
320
|
</div>
|
|
320
321
|
`;
|
|
@@ -170,12 +170,6 @@ export class DeesInputToggle extends DeesInputBase<DeesInputToggle> {
|
|
|
170
170
|
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 90%)')};
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
/* Description */
|
|
174
|
-
.description-text {
|
|
175
|
-
font-size: 12px;
|
|
176
|
-
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
|
|
177
|
-
line-height: 1.5;
|
|
178
|
-
}
|
|
179
173
|
`,
|
|
180
174
|
];
|
|
181
175
|
|
|
@@ -199,7 +193,7 @@ export class DeesInputToggle extends DeesInputBase<DeesInputToggle> {
|
|
|
199
193
|
</div>
|
|
200
194
|
<div class="label-container">
|
|
201
195
|
${this.label ? html`<div class="toggle-label">${this.label}</div>` : ''}
|
|
202
|
-
${this.
|
|
196
|
+
${this.renderDescription()}
|
|
203
197
|
</div>
|
|
204
198
|
</div>
|
|
205
199
|
</div>
|
|
@@ -48,13 +48,14 @@ export const demoFunc = () => html`
|
|
|
48
48
|
<div class="input-group">
|
|
49
49
|
<dees-input-typelist
|
|
50
50
|
.label=${'Tags'}
|
|
51
|
-
.
|
|
51
|
+
.infoText=${'Add tags by typing and pressing Enter'}
|
|
52
|
+
.description=${'Tags help categorize and filter your content'}
|
|
52
53
|
.value=${['javascript', 'typescript', 'web-components']}
|
|
53
54
|
></dees-input-typelist>
|
|
54
55
|
|
|
55
56
|
<dees-input-typelist
|
|
56
57
|
.label=${'Team Members'}
|
|
57
|
-
.
|
|
58
|
+
.infoText=${'Add email addresses of team members'}
|
|
58
59
|
.value=${['alice@example.com', 'bob@example.com']}
|
|
59
60
|
></dees-input-typelist>
|
|
60
61
|
</div>
|
|
@@ -64,7 +65,7 @@ export const demoFunc = () => html`
|
|
|
64
65
|
<div class="input-group">
|
|
65
66
|
<dees-input-typelist
|
|
66
67
|
.label=${'Your Skills'}
|
|
67
|
-
.
|
|
68
|
+
.infoText=${'List your professional skills'}
|
|
68
69
|
.value=${['HTML', 'CSS', 'JavaScript', 'Node.js', 'React']}
|
|
69
70
|
></dees-input-typelist>
|
|
70
71
|
|
|
@@ -88,14 +89,14 @@ export const demoFunc = () => html`
|
|
|
88
89
|
<div class="input-group">
|
|
89
90
|
<dees-input-typelist
|
|
90
91
|
.label=${'Project Dependencies'}
|
|
91
|
-
.
|
|
92
|
+
.infoText=${'List all required npm packages'}
|
|
92
93
|
.required=${true}
|
|
93
94
|
.value=${['@design.estate/dees-element', '@design.estate/dees-domtools']}
|
|
94
95
|
></dees-input-typelist>
|
|
95
96
|
|
|
96
97
|
<dees-input-typelist
|
|
97
98
|
.label=${'System Tags'}
|
|
98
|
-
.
|
|
99
|
+
.infoText=${'These tags are managed by the system'}
|
|
99
100
|
.disabled=${true}
|
|
100
101
|
.value=${['system', 'protected', 'readonly']}
|
|
101
102
|
></dees-input-typelist>
|
|
@@ -108,16 +109,16 @@ export const demoFunc = () => html`
|
|
|
108
109
|
<dees-input-text
|
|
109
110
|
.label=${'Summary'}
|
|
110
111
|
.inputType=${'textarea'}
|
|
111
|
-
.
|
|
112
|
+
.infoText=${'Brief description of the article'}
|
|
112
113
|
></dees-input-text>
|
|
113
114
|
<dees-input-typelist
|
|
114
115
|
.label=${'Tags'}
|
|
115
|
-
.
|
|
116
|
+
.infoText=${'Add relevant tags for better discoverability'}
|
|
116
117
|
.value=${['tutorial', 'web-development']}
|
|
117
118
|
></dees-input-typelist>
|
|
118
119
|
<dees-input-typelist
|
|
119
120
|
.label=${'Co-Authors'}
|
|
120
|
-
.
|
|
121
|
+
.infoText=${'Add email addresses of co-authors'}
|
|
121
122
|
></dees-input-typelist>
|
|
122
123
|
</dees-form>
|
|
123
124
|
|
|
@@ -153,7 +153,7 @@ export class DeesInputTypelist extends DeesInputBase<DeesInputTypelist> {
|
|
|
153
153
|
public render(): TemplateResult {
|
|
154
154
|
return html`
|
|
155
155
|
<div class="input-wrapper">
|
|
156
|
-
<dees-label .label=${this.label} .
|
|
156
|
+
<dees-label .label=${this.label} .infoText=${this.infoText}></dees-label>
|
|
157
157
|
<div class="mainbox">
|
|
158
158
|
<div class="tags" @click=${() => {
|
|
159
159
|
this.shadowRoot!.querySelector('input')!.focus();
|
|
@@ -188,6 +188,7 @@ export class DeesInputTypelist extends DeesInputBase<DeesInputTypelist> {
|
|
|
188
188
|
.disabled=${this.disabled}
|
|
189
189
|
/>
|
|
190
190
|
</div>
|
|
191
|
+
${this.renderDescription()}
|
|
191
192
|
</div>
|
|
192
193
|
`;
|
|
193
194
|
}
|
|
@@ -292,17 +292,18 @@ export class DeesInputWysiwyg extends DeesInputBase<string> {
|
|
|
292
292
|
return html`
|
|
293
293
|
<dees-label
|
|
294
294
|
.label="${this.label}"
|
|
295
|
-
.
|
|
295
|
+
.infoText="${this.infoText}"
|
|
296
296
|
.required="${this.required}"
|
|
297
297
|
></dees-label>
|
|
298
298
|
<div class="wysiwyg-container">
|
|
299
|
-
<div
|
|
299
|
+
<div
|
|
300
300
|
class="editor-content ${this.draggedBlockId ? 'dragging' : ''}"
|
|
301
301
|
id="editor-content"
|
|
302
302
|
>
|
|
303
303
|
<!-- Blocks will be rendered programmatically -->
|
|
304
304
|
</div>
|
|
305
305
|
</div>
|
|
306
|
+
${this.renderDescription()}
|
|
306
307
|
`;
|
|
307
308
|
}
|
|
308
309
|
|
|
@@ -273,7 +273,7 @@ export class DeesInputProfilePicture extends DeesInputBase<DeesInputProfilePictu
|
|
|
273
273
|
render(): TemplateResult {
|
|
274
274
|
return html`
|
|
275
275
|
<div class="input-wrapper">
|
|
276
|
-
<dees-label .label=${this.label} .
|
|
276
|
+
<dees-label .label=${this.label} .infoText=${this.infoText} .required=${this.required}></dees-label>
|
|
277
277
|
|
|
278
278
|
<div
|
|
279
279
|
class="profile-container"
|
|
@@ -329,6 +329,7 @@ export class DeesInputProfilePicture extends DeesInputBase<DeesInputProfilePictu
|
|
|
329
329
|
accept="${this.acceptedFormats.join(',')}"
|
|
330
330
|
@change=${this.handleFileSelect}
|
|
331
331
|
/>
|
|
332
|
+
${this.renderDescription()}
|
|
332
333
|
</div>
|
|
333
334
|
`;
|
|
334
335
|
}
|
|
@@ -85,31 +85,31 @@ export const demoFunc = () => html`
|
|
|
85
85
|
</div>
|
|
86
86
|
|
|
87
87
|
<div class="demo-section">
|
|
88
|
-
<h3>
|
|
89
|
-
<p>When <code>
|
|
88
|
+
<h3>Info Text (Info Icon)</h3>
|
|
89
|
+
<p>When <code>infoText</code> is set, an info icon appears next to the label. Hover over it to see the tooltip.</p>
|
|
90
90
|
<div class="label-grid">
|
|
91
91
|
<div class="label-row">
|
|
92
|
-
<span class="annotation">
|
|
93
|
-
<dees-label .label=${'API Key'} .
|
|
92
|
+
<span class="annotation">infoText="..."</span>
|
|
93
|
+
<dees-label .label=${'API Key'} .infoText=${'Your API key can be found in the developer settings dashboard.'}></dees-label>
|
|
94
94
|
</div>
|
|
95
95
|
<div class="label-row">
|
|
96
|
-
<span class="annotation">short
|
|
97
|
-
<dees-label .label=${'Region'} .
|
|
96
|
+
<span class="annotation">short infoText</span>
|
|
97
|
+
<dees-label .label=${'Region'} .infoText=${'Select your nearest datacenter.'}></dees-label>
|
|
98
98
|
</div>
|
|
99
99
|
</div>
|
|
100
100
|
</div>
|
|
101
101
|
|
|
102
102
|
<div class="demo-section">
|
|
103
|
-
<h3>Required +
|
|
103
|
+
<h3>Required + Info Text</h3>
|
|
104
104
|
<p>Both indicators can be combined. The asterisk appears first, then the info icon.</p>
|
|
105
105
|
<div class="label-grid">
|
|
106
106
|
<div class="label-row">
|
|
107
|
-
<span class="annotation">required +
|
|
108
|
-
<dees-label .label=${'Password'} .required=${true} .
|
|
107
|
+
<span class="annotation">required + infoText</span>
|
|
108
|
+
<dees-label .label=${'Password'} .required=${true} .infoText=${'Must be at least 8 characters with one uppercase letter and one number.'}></dees-label>
|
|
109
109
|
</div>
|
|
110
110
|
<div class="label-row">
|
|
111
|
-
<span class="annotation">required +
|
|
112
|
-
<dees-label .label=${'Email Address'} .required=${true} .
|
|
111
|
+
<span class="annotation">required + infoText</span>
|
|
112
|
+
<dees-label .label=${'Email Address'} .required=${true} .infoText=${'We will send a verification link to this address.'}></dees-label>
|
|
113
113
|
</div>
|
|
114
114
|
</div>
|
|
115
115
|
</div>
|
|
@@ -32,7 +32,7 @@ export class DeesLabel extends DeesElement {
|
|
|
32
32
|
type: String,
|
|
33
33
|
reflect: true,
|
|
34
34
|
})
|
|
35
|
-
accessor
|
|
35
|
+
accessor infoText!: string;
|
|
36
36
|
|
|
37
37
|
@property({
|
|
38
38
|
type: Boolean,
|
|
@@ -98,12 +98,12 @@ export class DeesLabel extends DeesElement {
|
|
|
98
98
|
<div class="label">
|
|
99
99
|
${this.label}
|
|
100
100
|
${this.required ? html`<span class="required">*</span>` : ''}
|
|
101
|
-
${this.
|
|
101
|
+
${this.infoText
|
|
102
102
|
? html`
|
|
103
103
|
<div class="description-icon">
|
|
104
104
|
<dees-icon .icon=${'lucide:info'}></dees-icon>
|
|
105
105
|
</div>
|
|
106
|
-
<dees-speechbubble .text=${this.
|
|
106
|
+
<dees-speechbubble .text=${this.infoText}></dees-speechbubble>
|
|
107
107
|
`
|
|
108
108
|
: html``}
|
|
109
109
|
</div>
|
|
@@ -45,6 +45,9 @@ export class DeesTile extends DeesElement {
|
|
|
45
45
|
@property({ type: String })
|
|
46
46
|
accessor heading: string = '';
|
|
47
47
|
|
|
48
|
+
@property({ type: String, reflect: true })
|
|
49
|
+
accessor overscroll: 'contain' | 'auto' | 'none' = 'auto';
|
|
50
|
+
|
|
48
51
|
@state()
|
|
49
52
|
accessor hasFooter: boolean = false;
|
|
50
53
|
|
|
@@ -100,7 +103,14 @@ export class DeesTile extends DeesElement {
|
|
|
100
103
|
border-radius: 8px;
|
|
101
104
|
border-top: 1px solid var(--dees-color-border-subtle);
|
|
102
105
|
border-bottom: 1px solid var(--dees-color-border-subtle);
|
|
103
|
-
overflow: hidden;
|
|
106
|
+
overflow-x: hidden;
|
|
107
|
+
overflow-y: auto;
|
|
108
|
+
scrollbar-width: thin;
|
|
109
|
+
scrollbar-color: var(--dees-color-scrollbar-thumb) transparent;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
:host([overscroll="contain"]) .tile-content {
|
|
113
|
+
overscroll-behavior: contain;
|
|
104
114
|
}
|
|
105
115
|
|
|
106
116
|
.tile-content.no-footer {
|
|
@@ -153,14 +153,6 @@ export class DeesModal extends DeesElement {
|
|
|
153
153
|
overscroll-behavior: contain;
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
-
dees-tile::part(content) {
|
|
157
|
-
overflow-x: hidden;
|
|
158
|
-
overflow-y: auto;
|
|
159
|
-
overscroll-behavior: contain;
|
|
160
|
-
scrollbar-width: thin;
|
|
161
|
-
scrollbar-color: var(--dees-color-scrollbar-thumb) transparent;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
156
|
dees-tile::part(outer) {
|
|
165
157
|
box-shadow:
|
|
166
158
|
0 0 0 1px ${cssManager.bdTheme('hsl(0 0% 0% / 0.03)', 'hsl(0 0% 100% / 0.03)')},
|
|
@@ -351,7 +343,7 @@ export class DeesModal extends DeesElement {
|
|
|
351
343
|
${minWidthStyle ? `dees-tile { min-width: ${minWidthStyle}; }` : ''}
|
|
352
344
|
</style>
|
|
353
345
|
<div class="modalContainer" @click=${this.handleOutsideClick} style="z-index: ${this.modalZIndex}">
|
|
354
|
-
<dees-tile class="${widthClass} ${mobileFullscreenClass}">
|
|
346
|
+
<dees-tile class="${widthClass} ${mobileFullscreenClass}" .overscroll=${'contain'}>
|
|
355
347
|
<div slot="header" class="heading">
|
|
356
348
|
<div class="heading-text">${this.heading}</div>
|
|
357
349
|
<div class="header-buttons">
|