@albi_scando/as-design-system-lib 1.8.2 → 1.9.1
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/as-design-system-lib.es.js +581 -386
- package/dist/as-design-system-lib.umd.js +56 -22
- package/dist/types/main.d.ts +2 -0
- package/dist/types/web-components/buttons/base-button/component.d.ts +6 -0
- package/dist/types/web-components/buttons/close-button/component.d.ts +55 -0
- package/dist/types/web-components/buttons/close-button/main.d.ts +2 -0
- package/dist/types/web-components/buttons/close-button/selector.d.ts +4 -0
- package/dist/types/web-components/buttons/confirm-button/component.d.ts +23 -2
- package/dist/types/web-components/buttons/next-button/component.d.ts +21 -3
- package/dist/types/web-components/buttons/previous-button/component.d.ts +21 -3
- package/dist/types/web-components/buttons/undo-button/component.d.ts +28 -2
- package/dist/types/web-components/loaders/loader-bars/component.d.ts +34 -6
- package/dist/types/web-components/loaders/loader-bars/main.d.ts +2 -0
- package/dist/types/web-components/loaders/loader-bars/selector.d.ts +2 -2
- package/package.json +5 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const
|
|
2
|
-
class
|
|
1
|
+
const ze = "as-design-system-lib";
|
|
2
|
+
class Me {
|
|
3
3
|
/**
|
|
4
4
|
* Creates an instance of WebComponentsRegistry.
|
|
5
5
|
* Registers all custom elements provided in the map of components.
|
|
@@ -19,8 +19,8 @@ class Ae {
|
|
|
19
19
|
* @returns {void}
|
|
20
20
|
*/
|
|
21
21
|
registerAllComponents(t) {
|
|
22
|
-
Array.from(t.entries()).forEach(([e,
|
|
23
|
-
this.registerComponent(e,
|
|
22
|
+
Array.from(t.entries()).forEach(([e, i]) => {
|
|
23
|
+
this.registerComponent(e, i);
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
@@ -36,10 +36,10 @@ class Ae {
|
|
|
36
36
|
customElements.get(t) === void 0 ? (customElements.define(t, e), console.log(`Registered Web Component: ${t}`)) : console.warn(`Web Component "${t}" is already registered.`);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
const
|
|
39
|
+
const j = {
|
|
40
40
|
CONFIRMATION_DIALOG_CONFIRM: "confirmation-dialog-confirm",
|
|
41
41
|
CONFIRMATION_DIALOG_UNDO: "confirmation-dialog-undo"
|
|
42
|
-
},
|
|
42
|
+
}, S = {
|
|
43
43
|
COSMO: "Cosmo theme with a futuristic and space-inspired design.",
|
|
44
44
|
DARK: "Dark theme with a sleek and modern look.",
|
|
45
45
|
DARK_PURPLE: "Dark Purple theme with a luxurious and elegant feel.",
|
|
@@ -49,7 +49,7 @@ const T = {
|
|
|
49
49
|
LIGHT: "Light theme with a clean and minimalistic design.",
|
|
50
50
|
LIGHT_BLUE: "Light Blue theme with a refreshing and calm appearance.",
|
|
51
51
|
WATER: "Water theme with a serene and tranquil feel."
|
|
52
|
-
},
|
|
52
|
+
}, x = {
|
|
53
53
|
COSMO: "🚀",
|
|
54
54
|
DARK: "🌙",
|
|
55
55
|
DARK_PURPLE: "🟣",
|
|
@@ -69,7 +69,7 @@ const T = {
|
|
|
69
69
|
LIGHT: "Light",
|
|
70
70
|
LIGHT_BLUE: "Light Blue",
|
|
71
71
|
WATER: "Water"
|
|
72
|
-
},
|
|
72
|
+
}, k = {
|
|
73
73
|
COSMO: "cosmo",
|
|
74
74
|
DARK: "dark",
|
|
75
75
|
DARK_PURPLE: "dark-purple",
|
|
@@ -89,107 +89,107 @@ const T = {
|
|
|
89
89
|
LIGHT: "light",
|
|
90
90
|
LIGHT_BLUE: "light-blue",
|
|
91
91
|
WATER: "water"
|
|
92
|
-
},
|
|
92
|
+
}, ht = /* @__PURE__ */ new Map([
|
|
93
93
|
[
|
|
94
94
|
u.COSMO,
|
|
95
95
|
{
|
|
96
|
-
description:
|
|
97
|
-
icon:
|
|
96
|
+
description: S.COSMO,
|
|
97
|
+
icon: x.COSMO,
|
|
98
98
|
id: u.COSMO,
|
|
99
99
|
name: E.COSMO,
|
|
100
|
-
value:
|
|
100
|
+
value: k.COSMO
|
|
101
101
|
}
|
|
102
102
|
],
|
|
103
103
|
[
|
|
104
104
|
u.DARK,
|
|
105
105
|
{
|
|
106
|
-
description:
|
|
107
|
-
icon:
|
|
106
|
+
description: S.DARK,
|
|
107
|
+
icon: x.DARK,
|
|
108
108
|
id: u.DARK,
|
|
109
109
|
name: E.DARK,
|
|
110
|
-
value:
|
|
110
|
+
value: k.DARK
|
|
111
111
|
}
|
|
112
112
|
],
|
|
113
113
|
[
|
|
114
114
|
u.DARK_PURPLE,
|
|
115
115
|
{
|
|
116
|
-
description:
|
|
117
|
-
icon:
|
|
116
|
+
description: S.DARK_PURPLE,
|
|
117
|
+
icon: x.DARK_PURPLE,
|
|
118
118
|
id: u.DARK_PURPLE,
|
|
119
119
|
name: E.DARK_PURPLE,
|
|
120
|
-
value:
|
|
120
|
+
value: k.DARK_PURPLE
|
|
121
121
|
}
|
|
122
122
|
],
|
|
123
123
|
[
|
|
124
124
|
u.FERRARI,
|
|
125
125
|
{
|
|
126
|
-
description:
|
|
127
|
-
icon:
|
|
126
|
+
description: S.FERRARI,
|
|
127
|
+
icon: x.FERRARI,
|
|
128
128
|
id: u.FERRARI,
|
|
129
129
|
name: E.FERRARI,
|
|
130
|
-
value:
|
|
130
|
+
value: k.FERRARI
|
|
131
131
|
}
|
|
132
132
|
],
|
|
133
133
|
[
|
|
134
134
|
u.FIRE,
|
|
135
135
|
{
|
|
136
|
-
description:
|
|
137
|
-
icon:
|
|
136
|
+
description: S.FIRE,
|
|
137
|
+
icon: x.FIRE,
|
|
138
138
|
id: u.FIRE,
|
|
139
139
|
name: E.FIRE,
|
|
140
|
-
value:
|
|
140
|
+
value: k.FIRE
|
|
141
141
|
}
|
|
142
142
|
],
|
|
143
143
|
[
|
|
144
144
|
u.FOREST,
|
|
145
145
|
{
|
|
146
|
-
description:
|
|
147
|
-
icon:
|
|
146
|
+
description: S.FOREST,
|
|
147
|
+
icon: x.FOREST,
|
|
148
148
|
id: u.FOREST,
|
|
149
149
|
name: E.FOREST,
|
|
150
|
-
value:
|
|
150
|
+
value: k.FOREST
|
|
151
151
|
}
|
|
152
152
|
],
|
|
153
153
|
[
|
|
154
154
|
u.LIGHT,
|
|
155
155
|
{
|
|
156
|
-
description:
|
|
157
|
-
icon:
|
|
156
|
+
description: S.LIGHT,
|
|
157
|
+
icon: x.LIGHT,
|
|
158
158
|
id: u.LIGHT,
|
|
159
159
|
name: E.LIGHT,
|
|
160
|
-
value:
|
|
160
|
+
value: k.LIGHT
|
|
161
161
|
}
|
|
162
162
|
],
|
|
163
163
|
[
|
|
164
164
|
u.LIGHT_BLUE,
|
|
165
165
|
{
|
|
166
|
-
description:
|
|
167
|
-
icon:
|
|
166
|
+
description: S.LIGHT_BLUE,
|
|
167
|
+
icon: x.LIGHT_BLUE,
|
|
168
168
|
id: u.LIGHT_BLUE,
|
|
169
169
|
name: E.LIGHT_BLUE,
|
|
170
|
-
value:
|
|
170
|
+
value: k.LIGHT_BLUE
|
|
171
171
|
}
|
|
172
172
|
],
|
|
173
173
|
[
|
|
174
174
|
u.WATER,
|
|
175
175
|
{
|
|
176
|
-
description:
|
|
177
|
-
icon:
|
|
176
|
+
description: S.WATER,
|
|
177
|
+
icon: x.WATER,
|
|
178
178
|
id: u.WATER,
|
|
179
179
|
name: E.WATER,
|
|
180
|
-
value:
|
|
180
|
+
value: k.WATER
|
|
181
181
|
}
|
|
182
182
|
]
|
|
183
|
-
]),
|
|
184
|
-
|
|
185
|
-
const t =
|
|
183
|
+
]), Oe = (O) => {
|
|
184
|
+
bt();
|
|
185
|
+
const t = ht.get(O)?.value;
|
|
186
186
|
t !== void 0 && document.body.classList.add(t);
|
|
187
|
-
},
|
|
187
|
+
}, bt = () => {
|
|
188
188
|
document.body.classList.remove(...Object.values(u));
|
|
189
|
-
},
|
|
189
|
+
}, vt = "base-button", d = "", N = {
|
|
190
190
|
SHOW_MODAL: "show-modal",
|
|
191
191
|
CLOSE: "close"
|
|
192
|
-
},
|
|
192
|
+
}, gt = {
|
|
193
193
|
CUSTOM_CROSSHAIR: `<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
|
|
194
194
|
<!-- White border (underneath) -->
|
|
195
195
|
<line x1="16" y1="2" x2="16" y2="30" stroke="white" stroke-width="5"/>
|
|
@@ -200,20 +200,20 @@ const T = {
|
|
|
200
200
|
<line x1="2" y1="16" x2="30" y2="16" stroke="black" stroke-width="2"/>
|
|
201
201
|
</svg>`
|
|
202
202
|
};
|
|
203
|
-
`${btoa(
|
|
203
|
+
`${btoa(gt.CUSTOM_CROSSHAIR)}`;
|
|
204
204
|
const F = {
|
|
205
205
|
ANY: "any",
|
|
206
206
|
NONE: "none"
|
|
207
|
-
},
|
|
207
|
+
}, U = {
|
|
208
208
|
KEY_DOWN: "keydown"
|
|
209
|
-
},
|
|
209
|
+
}, z = {
|
|
210
210
|
CLICK: "click"
|
|
211
|
-
},
|
|
211
|
+
}, pt = `<button part="button">
|
|
212
212
|
<slot></slot>
|
|
213
213
|
</button>
|
|
214
|
-
`,
|
|
215
|
-
|
|
216
|
-
class
|
|
214
|
+
`, ft = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}:where(button,input[type=button],input[type=submit],input[type=reset]),:where(input[type=file])::file-selector-button{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family-base);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-normal);padding-block:var(--button-padding-block-md);padding-inline:var(--button-padding-inline-md);display:inline-flex;justify-content:center;align-items:center;text-align:center;gap:var(--gap-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);border:var(--border-width-1) solid var(--color-border-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),filter var(--transition-fast)}:where(button,input[type=button],input[type=submit],input[type=reset])>.material-symbols-outlined{font-size:var(--font-size-xl);font-family:Material Symbols Outlined;line-height:1}:where(button,input[type=button],input[type=submit],input[type=reset])[disabled]{opacity:.35;cursor:not-allowed;box-shadow:none}:where(button,input[type=button],input[type=submit],input[type=reset]):where(:not(:disabled):hover){background:var(--color-hover-bg-secondary);border-color:var(--color-hover-border-secondary);box-shadow:var(--shadow-md)}:where(button,input[type=button],input[type=submit],input[type=reset]):where(:not(:disabled):active){background:var(--color-hover-bg-secondary);border-color:var(--color-hover-border-secondary);box-shadow:var(--shadow-sm)}:where(button,input[type=button],input[type=submit],input[type=reset]):focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}:where(input[type=file]){inline-size:100%;max-inline-size:max-content;background-color:var(--color-bg-secondary)}", K = new CSSStyleSheet();
|
|
215
|
+
K.replaceSync(ft);
|
|
216
|
+
class r extends HTMLElement {
|
|
217
217
|
/**
|
|
218
218
|
* @see HTMLButtonElement.autofocus
|
|
219
219
|
*/
|
|
@@ -251,73 +251,73 @@ class s extends HTMLElement {
|
|
|
251
251
|
* @ignore
|
|
252
252
|
*/
|
|
253
253
|
constructor() {
|
|
254
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
254
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(K);
|
|
255
255
|
}
|
|
256
256
|
/**
|
|
257
257
|
* Specifies which attributes should be observed for changes.
|
|
258
258
|
*/
|
|
259
259
|
static get observedAttributes() {
|
|
260
260
|
return [
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
261
|
+
r.autofocusAttribute,
|
|
262
|
+
r.commandAttribute,
|
|
263
|
+
r.commandforAttribute,
|
|
264
|
+
r.disabledAttribute,
|
|
265
|
+
r.nameAttribute,
|
|
266
|
+
r.titleAttribute,
|
|
267
|
+
r.typeAttribute,
|
|
268
|
+
r.valueAttribute
|
|
269
269
|
];
|
|
270
270
|
}
|
|
271
271
|
get buttonElement() {
|
|
272
272
|
return this.shadowRoot?.querySelector("button");
|
|
273
273
|
}
|
|
274
274
|
get autofocus() {
|
|
275
|
-
return this.hasAttribute(
|
|
275
|
+
return this.hasAttribute(r.autofocusAttribute);
|
|
276
276
|
}
|
|
277
277
|
set autofocus(t) {
|
|
278
|
-
t ? this.setAttribute(
|
|
278
|
+
t ? this.setAttribute(r.autofocusAttribute, d) : this.removeAttribute(r.autofocusAttribute);
|
|
279
279
|
}
|
|
280
280
|
get command() {
|
|
281
|
-
return this.getAttribute(
|
|
281
|
+
return this.getAttribute(r.commandAttribute) ?? d;
|
|
282
282
|
}
|
|
283
283
|
set command(t) {
|
|
284
|
-
this.setAttribute(
|
|
284
|
+
this.setAttribute(r.commandAttribute, t);
|
|
285
285
|
}
|
|
286
286
|
get commandfor() {
|
|
287
|
-
return this.getAttribute(
|
|
287
|
+
return this.getAttribute(r.commandforAttribute) ?? d;
|
|
288
288
|
}
|
|
289
289
|
set commandfor(t) {
|
|
290
|
-
t !== d ? this.setAttribute(
|
|
290
|
+
t !== d ? this.setAttribute(r.commandforAttribute, t) : this.removeAttribute(r.commandforAttribute);
|
|
291
291
|
}
|
|
292
292
|
get disabled() {
|
|
293
|
-
return this.hasAttribute(
|
|
293
|
+
return this.hasAttribute(r.disabledAttribute);
|
|
294
294
|
}
|
|
295
295
|
set disabled(t) {
|
|
296
|
-
t ? this.setAttribute(
|
|
296
|
+
t ? this.setAttribute(r.disabledAttribute, d) : this.removeAttribute(r.disabledAttribute);
|
|
297
297
|
}
|
|
298
298
|
get name() {
|
|
299
|
-
return this.getAttribute(
|
|
299
|
+
return this.getAttribute(r.nameAttribute) ?? d;
|
|
300
300
|
}
|
|
301
301
|
set name(t) {
|
|
302
|
-
t !== d ? this.setAttribute(
|
|
302
|
+
t !== d ? this.setAttribute(r.nameAttribute, t) : this.removeAttribute(r.nameAttribute);
|
|
303
303
|
}
|
|
304
304
|
get headline() {
|
|
305
|
-
return this.getAttribute(
|
|
305
|
+
return this.getAttribute(r.titleAttribute) ?? d;
|
|
306
306
|
}
|
|
307
307
|
set headline(t) {
|
|
308
|
-
t !== d ? this.setAttribute(
|
|
308
|
+
t !== d ? this.setAttribute(r.titleAttribute, t) : this.removeAttribute(r.titleAttribute);
|
|
309
309
|
}
|
|
310
310
|
get type() {
|
|
311
|
-
return this.getAttribute(
|
|
311
|
+
return this.getAttribute(r.typeAttribute) ?? "button";
|
|
312
312
|
}
|
|
313
313
|
set type(t) {
|
|
314
|
-
t !== d ? this.setAttribute(
|
|
314
|
+
t !== d ? this.setAttribute(r.typeAttribute, t) : this.removeAttribute(r.typeAttribute);
|
|
315
315
|
}
|
|
316
316
|
get value() {
|
|
317
|
-
return this.getAttribute(
|
|
317
|
+
return this.getAttribute(r.valueAttribute) ?? "button";
|
|
318
318
|
}
|
|
319
319
|
set value(t) {
|
|
320
|
-
t !== d ? this.setAttribute(
|
|
320
|
+
t !== d ? this.setAttribute(r.valueAttribute, t) : this.removeAttribute(r.valueAttribute);
|
|
321
321
|
}
|
|
322
322
|
/**
|
|
323
323
|
* Lifecycle hook invoked when the component is inserted into the DOM.
|
|
@@ -344,15 +344,15 @@ class s extends HTMLElement {
|
|
|
344
344
|
* @param newValue - The new value (or null if removed)
|
|
345
345
|
* @returns {void}
|
|
346
346
|
*/
|
|
347
|
-
attributeChangedCallback(t, e,
|
|
348
|
-
|
|
347
|
+
attributeChangedCallback(t, e, i) {
|
|
348
|
+
i !== e && this._syncAttribute(t);
|
|
349
349
|
}
|
|
350
350
|
/**
|
|
351
351
|
* Renders the component's HTML structure.
|
|
352
352
|
* Syncs host attributes to the internal button element.
|
|
353
353
|
*/
|
|
354
354
|
_render() {
|
|
355
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
355
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = pt, this._syncAttributes());
|
|
356
356
|
}
|
|
357
357
|
/**
|
|
358
358
|
* Adds event listeners to the component.
|
|
@@ -360,7 +360,7 @@ class s extends HTMLElement {
|
|
|
360
360
|
* @returns {void}
|
|
361
361
|
*/
|
|
362
362
|
_addEventListeners() {
|
|
363
|
-
this.buttonElement
|
|
363
|
+
this.buttonElement?.addEventListener(z.CLICK, this._handleClick);
|
|
364
364
|
}
|
|
365
365
|
/**
|
|
366
366
|
* Removes event listeners from the component.
|
|
@@ -368,7 +368,10 @@ class s extends HTMLElement {
|
|
|
368
368
|
* @returns {void}
|
|
369
369
|
*/
|
|
370
370
|
_removeEventListeners() {
|
|
371
|
-
this.buttonElement
|
|
371
|
+
this.buttonElement?.removeEventListener(
|
|
372
|
+
z.CLICK,
|
|
373
|
+
this._handleClick
|
|
374
|
+
);
|
|
372
375
|
}
|
|
373
376
|
/**
|
|
374
377
|
* Handles the internal button click event and executes the configured command.
|
|
@@ -400,10 +403,10 @@ class s extends HTMLElement {
|
|
|
400
403
|
return;
|
|
401
404
|
const e = t;
|
|
402
405
|
switch (this.command) {
|
|
403
|
-
case
|
|
406
|
+
case N.SHOW_MODAL:
|
|
404
407
|
e.showModal?.();
|
|
405
408
|
break;
|
|
406
|
-
case
|
|
409
|
+
case N.CLOSE:
|
|
407
410
|
e.close?.();
|
|
408
411
|
break;
|
|
409
412
|
}
|
|
@@ -416,14 +419,14 @@ class s extends HTMLElement {
|
|
|
416
419
|
* @returns The element if found, null otherwise
|
|
417
420
|
*/
|
|
418
421
|
_findElementInShadowDOM(t) {
|
|
419
|
-
const
|
|
420
|
-
let
|
|
421
|
-
if (
|
|
422
|
-
return
|
|
422
|
+
const i = `#${CSS.escape(t)}`;
|
|
423
|
+
let s = this.querySelector(i);
|
|
424
|
+
if (s !== null || (s = this._searchInShadowRootsOfChildren(this, i), s !== null))
|
|
425
|
+
return s;
|
|
423
426
|
let a = this.parentElement;
|
|
424
427
|
for (; a !== null; ) {
|
|
425
|
-
if (
|
|
426
|
-
return
|
|
428
|
+
if (s = a.querySelector(i), s !== null || (s = this._searchInShadowRootsOfChildren(a, i), s !== null))
|
|
429
|
+
return s;
|
|
427
430
|
const v = a.parentElement;
|
|
428
431
|
if (v !== null)
|
|
429
432
|
a = v;
|
|
@@ -445,21 +448,21 @@ class s extends HTMLElement {
|
|
|
445
448
|
* @returns The element if found, null otherwise
|
|
446
449
|
*/
|
|
447
450
|
_searchInShadowRootsOfChildren(t, e) {
|
|
448
|
-
const
|
|
449
|
-
for (const
|
|
450
|
-
if (
|
|
451
|
-
const v =
|
|
451
|
+
const i = t.children;
|
|
452
|
+
for (const s of i) {
|
|
453
|
+
if (s.shadowRoot !== null) {
|
|
454
|
+
const v = s.shadowRoot.querySelector(e);
|
|
452
455
|
if (v !== null)
|
|
453
456
|
return v;
|
|
454
457
|
const c = this._searchInShadowRootsOfChildren(
|
|
455
|
-
|
|
458
|
+
s.shadowRoot,
|
|
456
459
|
e
|
|
457
460
|
);
|
|
458
461
|
if (c !== null)
|
|
459
462
|
return c;
|
|
460
463
|
}
|
|
461
464
|
const a = this._searchInShadowRootsOfChildren(
|
|
462
|
-
|
|
465
|
+
s,
|
|
463
466
|
e
|
|
464
467
|
);
|
|
465
468
|
if (a !== null)
|
|
@@ -470,12 +473,18 @@ class s extends HTMLElement {
|
|
|
470
473
|
/**
|
|
471
474
|
* Syncs a single attribute from host to button element.
|
|
472
475
|
*
|
|
476
|
+
* The `command` and `commandfor` attributes are intentionally excluded from
|
|
477
|
+
* this sync: they live on the host element and are read there by the custom
|
|
478
|
+
* `_handleClick` handler. Putting them on the inner `<button>` would trigger
|
|
479
|
+
* the browser's native Invoker Commands API, which can conflict with our own
|
|
480
|
+
* click handling logic.
|
|
481
|
+
*
|
|
473
482
|
* @param name - The attribute name to sync
|
|
474
483
|
* @returns {void}
|
|
475
484
|
*/
|
|
476
485
|
_syncAttribute(t) {
|
|
477
486
|
const e = this.buttonElement;
|
|
478
|
-
e !== null && (this.hasAttribute(t) ? e.setAttribute(t, this.getAttribute(t) ?? d) : e.removeAttribute(t));
|
|
487
|
+
e !== null && (t === r.commandAttribute || t === r.commandforAttribute || (this.hasAttribute(t) ? e.setAttribute(t, this.getAttribute(t) ?? d) : e.removeAttribute(t)));
|
|
479
488
|
}
|
|
480
489
|
/**
|
|
481
490
|
* Syncs all observed attributes from host to button element.
|
|
@@ -484,119 +493,201 @@ class s extends HTMLElement {
|
|
|
484
493
|
* @returns {void}
|
|
485
494
|
*/
|
|
486
495
|
_syncAttributes() {
|
|
487
|
-
|
|
496
|
+
r.observedAttributes.forEach((t) => {
|
|
488
497
|
this._syncAttribute(t);
|
|
489
498
|
});
|
|
490
499
|
}
|
|
491
500
|
}
|
|
492
|
-
const
|
|
501
|
+
const $e = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
493
502
|
__proto__: null,
|
|
494
|
-
BaseButtonComponent:
|
|
495
|
-
selector:
|
|
496
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
503
|
+
BaseButtonComponent: r,
|
|
504
|
+
selector: vt
|
|
505
|
+
}, Symbol.toStringTag, { value: "Module" })), mt = `<button title="Undo" part="button">
|
|
497
506
|
<span class="material-symbols-outlined">undo</span>
|
|
498
507
|
<span>Undo</span>
|
|
499
508
|
</button>
|
|
500
|
-
`,
|
|
501
|
-
|
|
502
|
-
class
|
|
509
|
+
`, yt = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}button[part=button]{background:var(--color-warning);font-weight:var(--font-weight-medium);padding-block:var(--button-padding-block-md);padding-inline:var(--button-padding-inline-md);border-radius:var(--border-radius-lg);border:none;box-shadow:var(--shadow-md);transition:all var(--transition-base);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--gap-sm)}button[part=button]:hover{filter:brightness(1.2)}", G = new CSSStyleSheet();
|
|
510
|
+
G.replaceSync(yt);
|
|
511
|
+
class At extends r {
|
|
512
|
+
/**
|
|
513
|
+
* @constructor
|
|
514
|
+
* @ignore
|
|
515
|
+
*/
|
|
516
|
+
constructor() {
|
|
517
|
+
super(), this.shadowRoot?.adoptedStyleSheets.push(G);
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Specifies which attributes should be observed for changes.
|
|
521
|
+
*/
|
|
522
|
+
static get observedAttributes() {
|
|
523
|
+
return r.observedAttributes;
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* Lifecycle hook invoked when the component is inserted into the DOM.
|
|
527
|
+
*/
|
|
528
|
+
connectedCallback() {
|
|
529
|
+
this.hasAttribute("command") || this.setAttribute("command", N.CLOSE), this._render(), this._setCommandForAttribute(), this._addEventListeners();
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* Lifecycle hook invoked when the component is removed from the DOM.
|
|
533
|
+
*/
|
|
534
|
+
disconnectedCallback() {
|
|
535
|
+
this._removeEventListeners();
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* Renders the component's HTML structure.
|
|
539
|
+
*/
|
|
540
|
+
_render() {
|
|
541
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = mt, this._syncAttributes());
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* Finds the closest parent dialog and sets the `commandfor` attribute to its
|
|
545
|
+
* ID so that clicking the button closes the dialog automatically.
|
|
546
|
+
*
|
|
547
|
+
* Only sets `commandfor` when the button is nested inside a recognised dialog
|
|
548
|
+
* element. When used standalone the caller is responsible for setting it.
|
|
549
|
+
*
|
|
550
|
+
* @returns {void}
|
|
551
|
+
*/
|
|
552
|
+
_setCommandForAttribute() {
|
|
553
|
+
if (this.hasAttribute("commandfor"))
|
|
554
|
+
return;
|
|
555
|
+
let t = this.getRootNode();
|
|
556
|
+
"host" in t && t.host !== null && t.host !== void 0 && (t = t.host);
|
|
557
|
+
const e = t instanceof Element ? t.closest("base-dialog") ?? t.closest("confirmation-dialog") : null;
|
|
558
|
+
e !== null && (this.commandfor = e.id);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
const q = "undo-button", Ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
562
|
+
__proto__: null,
|
|
563
|
+
UndoButtonComponent: At,
|
|
564
|
+
selector: q
|
|
565
|
+
}, Symbol.toStringTag, { value: "Module" })), _t = `<div class="tooltip">Close</div>
|
|
566
|
+
<button part="button" title="Close">
|
|
567
|
+
<span class="material-symbols-outlined">close</span>
|
|
568
|
+
</button>
|
|
569
|
+
`, wt = "*{box-sizing:border-box}:host{position:relative;display:inline-flex;vertical-align:middle}.tooltip{position:absolute;top:auto;bottom:calc(100% + .5rem);left:50%;right:auto;transform:translate(-50%);width:max-content;height:auto;padding:var(--spacing-1) var(--spacing-2);background-color:var(--color-bg-tertiary, #1e1e2e);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-xs);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast);z-index:10000;margin:0}button[part=button]{background:var(--color-error);border:none;border-radius:var(--border-radius-md);padding:var(--spacing-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;aspect-ratio:1;transition:all var(--transition-base);box-shadow:var(--shadow-md);position:relative}button[part=button]:hover{filter:brightness(1.2)}:host(:hover) .tooltip{opacity:1;visibility:visible}", C = new CSSStyleSheet();
|
|
570
|
+
C.replaceSync(wt);
|
|
571
|
+
class St extends r {
|
|
503
572
|
/**
|
|
504
573
|
* @constructor
|
|
505
574
|
* @ignore
|
|
506
575
|
*/
|
|
507
576
|
constructor() {
|
|
508
|
-
super(), this.shadowRoot?.adoptedStyleSheets.push(
|
|
577
|
+
super(), this.shadowRoot?.adoptedStyleSheets.push(C);
|
|
509
578
|
}
|
|
510
579
|
/**
|
|
511
580
|
* Specifies which attributes should be observed for changes.
|
|
512
581
|
*/
|
|
513
582
|
static get observedAttributes() {
|
|
514
|
-
return
|
|
583
|
+
return r.observedAttributes;
|
|
515
584
|
}
|
|
516
585
|
/**
|
|
517
586
|
* Lifecycle hook invoked when the component is inserted into the DOM.
|
|
518
587
|
*/
|
|
519
588
|
connectedCallback() {
|
|
520
|
-
this._render(), this._setCommandForAttribute(), this._addEventListeners();
|
|
589
|
+
this.hasAttribute("command") || this.setAttribute("command", N.CLOSE), this._render(), this._setCommandForAttribute(), this._addEventListeners();
|
|
590
|
+
}
|
|
591
|
+
/**
|
|
592
|
+
* Lifecycle hook invoked when the component is removed from the DOM.
|
|
593
|
+
*/
|
|
594
|
+
disconnectedCallback() {
|
|
595
|
+
this._removeEventListeners();
|
|
521
596
|
}
|
|
522
597
|
/**
|
|
523
598
|
* Renders the component's HTML structure.
|
|
524
599
|
*/
|
|
525
600
|
_render() {
|
|
526
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
601
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = _t, this._syncAttributes());
|
|
527
602
|
}
|
|
528
603
|
/**
|
|
529
|
-
*
|
|
530
|
-
*
|
|
604
|
+
* Finds the closest parent dialog and sets the `commandfor` attribute to its ID
|
|
605
|
+
* so that clicking the button closes the dialog automatically.
|
|
606
|
+
*
|
|
607
|
+
* Only sets `commandfor` when the button is nested inside a recognized dialog
|
|
608
|
+
* element. When used standalone the caller is responsible for setting it.
|
|
531
609
|
*
|
|
532
610
|
* @returns {void}
|
|
533
611
|
*/
|
|
534
612
|
_setCommandForAttribute() {
|
|
613
|
+
if (this.hasAttribute("commandfor"))
|
|
614
|
+
return;
|
|
535
615
|
let t = this.getRootNode();
|
|
536
616
|
"host" in t && t.host !== null && t.host !== void 0 && (t = t.host);
|
|
537
617
|
const e = t instanceof Element ? t.closest("base-dialog") ?? t.closest("confirmation-dialog") : null;
|
|
538
618
|
e !== null && (this.commandfor = e.id);
|
|
539
619
|
}
|
|
540
620
|
}
|
|
541
|
-
const
|
|
621
|
+
const xt = "close-button", He = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
542
622
|
__proto__: null,
|
|
543
|
-
|
|
544
|
-
selector:
|
|
545
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
623
|
+
CloseButtonComponent: St,
|
|
624
|
+
selector: xt
|
|
625
|
+
}, Symbol.toStringTag, { value: "Module" })), Et = `<button title="Confirm" part="button">
|
|
546
626
|
<span class="material-symbols-outlined">check</span>
|
|
547
627
|
<span>Confirm</span>
|
|
548
628
|
</button>
|
|
549
|
-
`,
|
|
550
|
-
|
|
551
|
-
class
|
|
629
|
+
`, kt = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}button[part=button]{background:var(--color-success);font-weight:var(--font-weight-medium);padding-block:var(--button-padding-block-md);padding-inline:var(--button-padding-inline-md);border-radius:var(--border-radius-lg);border:none;box-shadow:var(--shadow-md);transition:all var(--transition-base);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--gap-sm)}button[part=button]:hover{filter:brightness(1.2)}", W = new CSSStyleSheet();
|
|
630
|
+
W.replaceSync(kt);
|
|
631
|
+
class Lt extends r {
|
|
552
632
|
/**
|
|
553
633
|
* @constructor
|
|
554
634
|
* @ignore
|
|
555
635
|
*/
|
|
556
636
|
constructor() {
|
|
557
|
-
super(), this.shadowRoot?.adoptedStyleSheets.push(
|
|
637
|
+
super(), this.shadowRoot?.adoptedStyleSheets.push(W);
|
|
558
638
|
}
|
|
559
639
|
/**
|
|
560
640
|
* Specifies which attributes should be observed for changes.
|
|
561
641
|
*/
|
|
562
642
|
static get observedAttributes() {
|
|
563
|
-
return
|
|
643
|
+
return r.observedAttributes;
|
|
564
644
|
}
|
|
565
645
|
/**
|
|
566
646
|
* Lifecycle hook invoked when the component is inserted into the DOM.
|
|
567
647
|
*/
|
|
568
648
|
connectedCallback() {
|
|
569
|
-
this._render(), this._setCommandForAttribute(), this._addEventListeners();
|
|
649
|
+
this.hasAttribute("command") || this.setAttribute("command", N.CLOSE), this._render(), this._setCommandForAttribute(), this._addEventListeners();
|
|
650
|
+
}
|
|
651
|
+
/**
|
|
652
|
+
* Lifecycle hook invoked when the component is removed from the DOM.
|
|
653
|
+
*/
|
|
654
|
+
disconnectedCallback() {
|
|
655
|
+
this._removeEventListeners();
|
|
570
656
|
}
|
|
571
657
|
/**
|
|
572
658
|
* Renders the component's HTML structure.
|
|
573
659
|
*/
|
|
574
660
|
_render() {
|
|
575
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
661
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = Et, this._syncAttributes());
|
|
576
662
|
}
|
|
577
663
|
/**
|
|
578
|
-
*
|
|
579
|
-
*
|
|
664
|
+
* Finds the closest parent dialog and sets the `commandfor` attribute to its
|
|
665
|
+
* ID so that clicking the button closes the dialog automatically.
|
|
666
|
+
*
|
|
667
|
+
* Only sets `commandfor` when the button is nested inside a recognised dialog
|
|
668
|
+
* element. When used standalone the caller is responsible for setting it.
|
|
580
669
|
*
|
|
581
670
|
* @returns {void}
|
|
582
671
|
*/
|
|
583
672
|
_setCommandForAttribute() {
|
|
673
|
+
if (this.hasAttribute("commandfor"))
|
|
674
|
+
return;
|
|
584
675
|
let t = this.getRootNode();
|
|
585
676
|
"host" in t && t.host !== null && t.host !== void 0 && (t = t.host);
|
|
586
677
|
const e = t instanceof Element ? t.closest("base-dialog") ?? t.closest("confirmation-dialog") : null;
|
|
587
678
|
e !== null && (this.commandfor = e.id);
|
|
588
679
|
}
|
|
589
680
|
}
|
|
590
|
-
const
|
|
681
|
+
const P = "confirm-button", Te = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
591
682
|
__proto__: null,
|
|
592
|
-
ConfirmButtonComponent:
|
|
593
|
-
selector:
|
|
594
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
683
|
+
ConfirmButtonComponent: Lt,
|
|
684
|
+
selector: P
|
|
685
|
+
}, Symbol.toStringTag, { value: "Module" })), Rt = `<button part="button">
|
|
595
686
|
<span class="material-symbols-outlined">chevron_left</span>
|
|
596
687
|
</button>
|
|
597
|
-
`,
|
|
598
|
-
|
|
599
|
-
class H extends
|
|
688
|
+
`, zt = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}", Y = new CSSStyleSheet();
|
|
689
|
+
Y.replaceSync(zt);
|
|
690
|
+
class H extends r {
|
|
600
691
|
static _disabledAttribute = "disabled";
|
|
601
692
|
static _titleAttribute = "title";
|
|
602
693
|
/**
|
|
@@ -604,13 +695,13 @@ class H extends s {
|
|
|
604
695
|
* @ignore
|
|
605
696
|
*/
|
|
606
697
|
constructor() {
|
|
607
|
-
super(), this.shadowRoot?.adoptedStyleSheets.push(
|
|
698
|
+
super(), this.shadowRoot?.adoptedStyleSheets.push(Y);
|
|
608
699
|
}
|
|
609
700
|
/**
|
|
610
701
|
* Specifies which attributes should be observed for changes.
|
|
611
702
|
*/
|
|
612
703
|
static get observedAttributes() {
|
|
613
|
-
return
|
|
704
|
+
return r.observedAttributes;
|
|
614
705
|
}
|
|
615
706
|
/**
|
|
616
707
|
* Lifecycle hook invoked when the component is inserted into the DOM.
|
|
@@ -618,18 +709,24 @@ class H extends s {
|
|
|
618
709
|
connectedCallback() {
|
|
619
710
|
this._render(), this._addEventListeners(), this._updateTitle();
|
|
620
711
|
}
|
|
712
|
+
/**
|
|
713
|
+
* Lifecycle hook invoked when the component is removed from the DOM.
|
|
714
|
+
*/
|
|
715
|
+
disconnectedCallback() {
|
|
716
|
+
this._removeEventListeners();
|
|
717
|
+
}
|
|
621
718
|
/**
|
|
622
719
|
* Lifecycle hook invoked whenever an observed attribute changes.
|
|
623
720
|
* Updates the title visibility based on disabled state.
|
|
624
721
|
*/
|
|
625
|
-
attributeChangedCallback(t, e,
|
|
626
|
-
super.attributeChangedCallback(t, e,
|
|
722
|
+
attributeChangedCallback(t, e, i) {
|
|
723
|
+
super.attributeChangedCallback(t, e, i), t === H._disabledAttribute && this._updateTitle();
|
|
627
724
|
}
|
|
628
725
|
/**
|
|
629
726
|
* Renders the component's HTML structure.
|
|
630
727
|
*/
|
|
631
728
|
_render() {
|
|
632
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
729
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = Rt, this._syncAttributes());
|
|
633
730
|
}
|
|
634
731
|
/**
|
|
635
732
|
* Updates the title attribute based on disabled state.
|
|
@@ -642,16 +739,16 @@ class H extends s {
|
|
|
642
739
|
t !== null && (this.disabled ? t.removeAttribute(H._titleAttribute) : t.setAttribute(H._titleAttribute, "Previous"));
|
|
643
740
|
}
|
|
644
741
|
}
|
|
645
|
-
const
|
|
742
|
+
const Mt = "previous-button", Ne = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
646
743
|
__proto__: null,
|
|
647
744
|
PreviousButtonComponent: H,
|
|
648
|
-
selector:
|
|
649
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
745
|
+
selector: Mt
|
|
746
|
+
}, Symbol.toStringTag, { value: "Module" })), Ot = `<button part="button">
|
|
650
747
|
<span class="material-symbols-outlined">chevron_right</span>
|
|
651
748
|
</button>
|
|
652
|
-
`,
|
|
653
|
-
|
|
654
|
-
class
|
|
749
|
+
`, $t = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}", V = new CSSStyleSheet();
|
|
750
|
+
V.replaceSync($t);
|
|
751
|
+
class T extends r {
|
|
655
752
|
static _disabledAttribute = "disabled";
|
|
656
753
|
static _titleAttribute = "title";
|
|
657
754
|
/**
|
|
@@ -659,13 +756,13 @@ class N extends s {
|
|
|
659
756
|
* @ignore
|
|
660
757
|
*/
|
|
661
758
|
constructor() {
|
|
662
|
-
super(), this.shadowRoot?.adoptedStyleSheets.push(
|
|
759
|
+
super(), this.shadowRoot?.adoptedStyleSheets.push(V);
|
|
663
760
|
}
|
|
664
761
|
/**
|
|
665
762
|
* Specifies which attributes should be observed for changes.
|
|
666
763
|
*/
|
|
667
764
|
static get observedAttributes() {
|
|
668
|
-
return
|
|
765
|
+
return r.observedAttributes;
|
|
669
766
|
}
|
|
670
767
|
/**
|
|
671
768
|
* Lifecycle hook invoked when the component is inserted into the DOM.
|
|
@@ -673,18 +770,24 @@ class N extends s {
|
|
|
673
770
|
connectedCallback() {
|
|
674
771
|
this._render(), this._addEventListeners(), this._updateTitle();
|
|
675
772
|
}
|
|
773
|
+
/**
|
|
774
|
+
* Lifecycle hook invoked when the component is removed from the DOM.
|
|
775
|
+
*/
|
|
776
|
+
disconnectedCallback() {
|
|
777
|
+
this._removeEventListeners();
|
|
778
|
+
}
|
|
676
779
|
/**
|
|
677
780
|
* Lifecycle hook invoked whenever an observed attribute changes.
|
|
678
781
|
* Updates the title visibility based on disabled state.
|
|
679
782
|
*/
|
|
680
|
-
attributeChangedCallback(t, e,
|
|
681
|
-
super.attributeChangedCallback(t, e,
|
|
783
|
+
attributeChangedCallback(t, e, i) {
|
|
784
|
+
super.attributeChangedCallback(t, e, i), t === T._disabledAttribute && this._updateTitle();
|
|
682
785
|
}
|
|
683
786
|
/**
|
|
684
787
|
* Renders the component's HTML structure.
|
|
685
788
|
*/
|
|
686
789
|
_render() {
|
|
687
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
790
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = Ot, this._syncAttributes());
|
|
688
791
|
}
|
|
689
792
|
/**
|
|
690
793
|
* Updates the title attribute based on disabled state.
|
|
@@ -694,19 +797,19 @@ class N extends s {
|
|
|
694
797
|
const t = this.shadowRoot?.querySelector(
|
|
695
798
|
"button"
|
|
696
799
|
);
|
|
697
|
-
t !== null && (this.disabled ? t.removeAttribute(
|
|
800
|
+
t !== null && (this.disabled ? t.removeAttribute(T._titleAttribute) : t.setAttribute(T._titleAttribute, "Next"));
|
|
698
801
|
}
|
|
699
802
|
}
|
|
700
|
-
const
|
|
803
|
+
const It = "next-button", je = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
701
804
|
__proto__: null,
|
|
702
|
-
NextButtonComponent:
|
|
703
|
-
selector:
|
|
704
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
805
|
+
NextButtonComponent: T,
|
|
806
|
+
selector: It
|
|
807
|
+
}, Symbol.toStringTag, { value: "Module" })), Ht = `<dialog part="dialog">
|
|
705
808
|
<slot></slot>
|
|
706
809
|
</dialog>
|
|
707
|
-
`,
|
|
708
|
-
|
|
709
|
-
class
|
|
810
|
+
`, Tt = "*{box-sizing:border-box}dialog{background-color:var(--color-bg-primary);color:var(--color-text-primary);border:var(--border-width-1) solid var(--color-border-secondary);border-radius:var(--border-radius-xl);padding:var(--spacing-4);font-family:var(--font-family-base);line-height:var(--line-height-normal);font-size:var(--font-size-sm);box-shadow:var(--shadow-2xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideIn var(--transition-base) cubic-bezier(.34,1.56,.64,1) forwards}dialog.closing{animation:slideOut var(--transition-base) cubic-bezier(.34,1.56,.64,1) forwards}dialog::backdrop{background:var(--window-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-base) ease-out forwards}dialog.closing::backdrop{animation:fadeOut var(--transition-base) ease-out forwards}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(-20px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}", X = new CSSStyleSheet();
|
|
811
|
+
X.replaceSync(Tt);
|
|
812
|
+
class M extends HTMLElement {
|
|
710
813
|
/**
|
|
711
814
|
* @see HTMLDialogElement.closedBy
|
|
712
815
|
*/
|
|
@@ -721,25 +824,25 @@ class z extends HTMLElement {
|
|
|
721
824
|
* @ignore
|
|
722
825
|
*/
|
|
723
826
|
constructor() {
|
|
724
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
827
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(X);
|
|
725
828
|
}
|
|
726
829
|
/**
|
|
727
830
|
* Specifies which attributes should be observed for changes.
|
|
728
831
|
*/
|
|
729
832
|
static get observedAttributes() {
|
|
730
|
-
return [
|
|
833
|
+
return [M.closedByAttribute];
|
|
731
834
|
}
|
|
732
835
|
get dialogElement() {
|
|
733
836
|
return this.shadowRoot?.querySelector("dialog");
|
|
734
837
|
}
|
|
735
838
|
get command() {
|
|
736
|
-
return this.getAttribute(
|
|
839
|
+
return this.getAttribute(M.closedByAttribute) ?? F.ANY;
|
|
737
840
|
}
|
|
738
841
|
get closedBy() {
|
|
739
842
|
return this._closedBy;
|
|
740
843
|
}
|
|
741
844
|
set closedBy(t) {
|
|
742
|
-
this._closedBy = t, this.setAttribute(
|
|
845
|
+
this._closedBy = t, this.setAttribute(M.closedByAttribute, t);
|
|
743
846
|
}
|
|
744
847
|
/**
|
|
745
848
|
* Lifecycle
|
|
@@ -767,9 +870,9 @@ class z extends HTMLElement {
|
|
|
767
870
|
* @param newValue - The new value (or null if removed)
|
|
768
871
|
* @returns {void}
|
|
769
872
|
*/
|
|
770
|
-
attributeChangedCallback(t, e,
|
|
771
|
-
const
|
|
772
|
-
|
|
873
|
+
attributeChangedCallback(t, e, i) {
|
|
874
|
+
const s = this.dialogElement;
|
|
875
|
+
s != null && i !== e && this._syncAttribute(t);
|
|
773
876
|
}
|
|
774
877
|
/**
|
|
775
878
|
* Adds event listeners to the component.
|
|
@@ -791,7 +894,7 @@ class z extends HTMLElement {
|
|
|
791
894
|
* @returns {void}
|
|
792
895
|
*/
|
|
793
896
|
_render() {
|
|
794
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
897
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = Ht, this._syncAttributes());
|
|
795
898
|
}
|
|
796
899
|
/**
|
|
797
900
|
* Syncs a single attribute from host to dialog element.
|
|
@@ -810,7 +913,7 @@ class z extends HTMLElement {
|
|
|
810
913
|
* @returns {void}
|
|
811
914
|
*/
|
|
812
915
|
_syncAttributes() {
|
|
813
|
-
|
|
916
|
+
M.observedAttributes.forEach((t) => {
|
|
814
917
|
this._syncAttribute(t);
|
|
815
918
|
});
|
|
816
919
|
}
|
|
@@ -836,11 +939,11 @@ class z extends HTMLElement {
|
|
|
836
939
|
}, 300);
|
|
837
940
|
}
|
|
838
941
|
}
|
|
839
|
-
const
|
|
942
|
+
const Nt = "base-dialog", Fe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
840
943
|
__proto__: null,
|
|
841
|
-
BaseDialogComponent:
|
|
842
|
-
selector:
|
|
843
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
944
|
+
BaseDialogComponent: M,
|
|
945
|
+
selector: Nt
|
|
946
|
+
}, Symbol.toStringTag, { value: "Module" })), jt = `<dialog part="dialog">
|
|
844
947
|
<header part="header">
|
|
845
948
|
<h2></h2>
|
|
846
949
|
</header>
|
|
@@ -852,7 +955,7 @@ const zt = "base-dialog", ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Obj
|
|
|
852
955
|
<undo-button></undo-button>
|
|
853
956
|
</footer>
|
|
854
957
|
</dialog>
|
|
855
|
-
`,
|
|
958
|
+
`, Ft = "*{box-sizing:border-box}dialog header[part=header] h2{margin:0;padding:0}dialog div[part=body] p{margin:0;padding:0}dialog footer[part=footer]{display:flex;gap:var(--gap-md);justify-content:flex-end}", qt = `<dialog part="dialog">
|
|
856
959
|
<header part="header">
|
|
857
960
|
<slot name="header"></slot>
|
|
858
961
|
</header>
|
|
@@ -863,9 +966,9 @@ const zt = "base-dialog", ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Obj
|
|
|
863
966
|
<slot name="footer"></slot>
|
|
864
967
|
</footer>
|
|
865
968
|
</dialog>
|
|
866
|
-
`,
|
|
867
|
-
|
|
868
|
-
class D extends
|
|
969
|
+
`, Pt = '*{box-sizing:border-box}dialog[open]{max-width:100%;max-height:100%;display:flex;flex-direction:column;gap:var(--spacing-4)}dialog>[part]{position:relative}dialog>[part][hidden]{display:none}dialog>[part][data-divider=true]:after{content:"";position:absolute;left:0;right:0;bottom:0;border-bottom:var(--border-width-1) solid var(--color-neutral-600)}dialog>[part][data-divider=true]{padding-bottom:var(--spacing-4)}dialog div[part=body]{flex:1;min-height:0;overflow-y:auto}', B = new CSSStyleSheet();
|
|
970
|
+
B.replaceSync(Pt);
|
|
971
|
+
class D extends M {
|
|
869
972
|
_sectionNames = ["header", "body", "footer"];
|
|
870
973
|
_handleSlotChange = () => {
|
|
871
974
|
this._updateSectionState();
|
|
@@ -875,14 +978,14 @@ class D extends z {
|
|
|
875
978
|
* @ignore
|
|
876
979
|
*/
|
|
877
980
|
constructor() {
|
|
878
|
-
super(), this.shadowRoot?.adoptedStyleSheets.push(
|
|
981
|
+
super(), this.shadowRoot?.adoptedStyleSheets.push(B);
|
|
879
982
|
}
|
|
880
983
|
/**
|
|
881
984
|
* Specifies which attributes should be observed for changes.
|
|
882
985
|
* Uses parent's attributes since we're extending the base dialog.
|
|
883
986
|
*/
|
|
884
987
|
static get observedAttributes() {
|
|
885
|
-
return
|
|
988
|
+
return M.observedAttributes;
|
|
886
989
|
}
|
|
887
990
|
/**
|
|
888
991
|
* Renders the component's HTML structure.
|
|
@@ -891,7 +994,7 @@ class D extends z {
|
|
|
891
994
|
* @returns {void}
|
|
892
995
|
*/
|
|
893
996
|
_render() {
|
|
894
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
997
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = qt, this._syncAttributes());
|
|
895
998
|
}
|
|
896
999
|
/**
|
|
897
1000
|
* Adds slot listeners so sections can react to projected content changes.
|
|
@@ -923,22 +1026,22 @@ class D extends z {
|
|
|
923
1026
|
return;
|
|
924
1027
|
const t = [];
|
|
925
1028
|
this._sectionNames.forEach((e) => {
|
|
926
|
-
const
|
|
1029
|
+
const i = this.shadowRoot?.querySelector(
|
|
927
1030
|
`[part='${e}']`
|
|
928
|
-
),
|
|
1031
|
+
), s = this.shadowRoot?.querySelector(
|
|
929
1032
|
`slot[name='${e}']`
|
|
930
1033
|
);
|
|
931
|
-
if (
|
|
1034
|
+
if (i === null || s === null)
|
|
932
1035
|
return;
|
|
933
|
-
const a =
|
|
934
|
-
|
|
1036
|
+
const a = s.assignedNodes({ flatten: !0 }).some((v) => v.nodeType === Node.TEXT_NODE ? v.textContent?.trim().length !== 0 : v.nodeType === Node.ELEMENT_NODE);
|
|
1037
|
+
i.toggleAttribute("hidden", a === !1), i.dataset.filled = String(a), i.removeAttribute("data-divider"), a === !0 && t.push(i);
|
|
935
1038
|
}), t.slice(0, -1).forEach((e) => {
|
|
936
1039
|
e.dataset.divider = "true";
|
|
937
1040
|
});
|
|
938
1041
|
}
|
|
939
1042
|
}
|
|
940
|
-
const
|
|
941
|
-
|
|
1043
|
+
const J = new CSSStyleSheet();
|
|
1044
|
+
J.replaceSync(Ft);
|
|
942
1045
|
class p extends D {
|
|
943
1046
|
/**
|
|
944
1047
|
* The title of the confirmation dialog.
|
|
@@ -968,7 +1071,7 @@ class p extends D {
|
|
|
968
1071
|
* @constructor
|
|
969
1072
|
*/
|
|
970
1073
|
constructor() {
|
|
971
|
-
super(), this.shadowRoot?.adoptedStyleSheets.push(
|
|
1074
|
+
super(), this.shadowRoot?.adoptedStyleSheets.push(J);
|
|
972
1075
|
}
|
|
973
1076
|
/**
|
|
974
1077
|
* Specifies which attributes should be observed for changes.
|
|
@@ -1015,7 +1118,7 @@ class p extends D {
|
|
|
1015
1118
|
* @returns {void}
|
|
1016
1119
|
*/
|
|
1017
1120
|
_render() {
|
|
1018
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
1121
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = jt, this._syncAttributes());
|
|
1019
1122
|
}
|
|
1020
1123
|
/**
|
|
1021
1124
|
* Syncs a single attribute from host to the DOM elements.
|
|
@@ -1065,9 +1168,7 @@ class p extends D {
|
|
|
1065
1168
|
* @returns {void}
|
|
1066
1169
|
*/
|
|
1067
1170
|
_addEventListeners() {
|
|
1068
|
-
super._addEventListeners(), this.shadowRoot?.querySelector(
|
|
1069
|
-
q
|
|
1070
|
-
)?.addEventListener(R.CLICK, this._handleConfirm), this.shadowRoot?.querySelector(j)?.addEventListener(R.CLICK, this._handleUndo);
|
|
1171
|
+
super._addEventListeners(), this.shadowRoot?.querySelector(P)?.addEventListener(z.CLICK, this._handleConfirm), this.shadowRoot?.querySelector(q)?.addEventListener(z.CLICK, this._handleUndo);
|
|
1071
1172
|
}
|
|
1072
1173
|
/**
|
|
1073
1174
|
* Removes event listeners.
|
|
@@ -1075,9 +1176,7 @@ class p extends D {
|
|
|
1075
1176
|
* @returns {void}
|
|
1076
1177
|
*/
|
|
1077
1178
|
_removeEventListeners() {
|
|
1078
|
-
super._removeEventListeners(), this.shadowRoot?.querySelector(
|
|
1079
|
-
q
|
|
1080
|
-
)?.removeEventListener(R.CLICK, this._handleConfirm), this.shadowRoot?.querySelector(j)?.removeEventListener(R.CLICK, this._handleUndo);
|
|
1179
|
+
super._removeEventListeners(), this.shadowRoot?.querySelector(P)?.removeEventListener(z.CLICK, this._handleConfirm), this.shadowRoot?.querySelector(q)?.removeEventListener(z.CLICK, this._handleUndo);
|
|
1081
1180
|
}
|
|
1082
1181
|
/**
|
|
1083
1182
|
* Handles the confirm button click event.
|
|
@@ -1087,7 +1186,7 @@ class p extends D {
|
|
|
1087
1186
|
*/
|
|
1088
1187
|
_handleConfirm = () => {
|
|
1089
1188
|
const t = new CustomEvent(
|
|
1090
|
-
|
|
1189
|
+
j.CONFIRMATION_DIALOG_CONFIRM,
|
|
1091
1190
|
{
|
|
1092
1191
|
bubbles: !0,
|
|
1093
1192
|
composed: !0,
|
|
@@ -1100,7 +1199,7 @@ class p extends D {
|
|
|
1100
1199
|
};
|
|
1101
1200
|
_handleUndo = () => {
|
|
1102
1201
|
const t = new CustomEvent(
|
|
1103
|
-
|
|
1202
|
+
j.CONFIRMATION_DIALOG_UNDO,
|
|
1104
1203
|
{
|
|
1105
1204
|
bubbles: !0,
|
|
1106
1205
|
composed: !0,
|
|
@@ -1112,19 +1211,19 @@ class p extends D {
|
|
|
1112
1211
|
this.dispatchEvent(t), this._value = void 0;
|
|
1113
1212
|
};
|
|
1114
1213
|
}
|
|
1115
|
-
const
|
|
1116
|
-
CONFIRMATION_DIALOG_CONFIRM:
|
|
1117
|
-
CONFIRMATION_DIALOG_UNDO:
|
|
1118
|
-
},
|
|
1214
|
+
const Dt = "confirmation-dialog", Ut = {
|
|
1215
|
+
CONFIRMATION_DIALOG_CONFIRM: j.CONFIRMATION_DIALOG_CONFIRM,
|
|
1216
|
+
CONFIRMATION_DIALOG_UNDO: j.CONFIRMATION_DIALOG_UNDO
|
|
1217
|
+
}, qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1119
1218
|
__proto__: null,
|
|
1120
|
-
COMPONENT_CUSTOM_MESSAGES:
|
|
1219
|
+
COMPONENT_CUSTOM_MESSAGES: Ut,
|
|
1121
1220
|
ConfirmationDialogComponent: p,
|
|
1122
|
-
selector:
|
|
1123
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1221
|
+
selector: Dt
|
|
1222
|
+
}, Symbol.toStringTag, { value: "Module" })), Kt = "header-body-footer-dialog", Pe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1124
1223
|
__proto__: null,
|
|
1125
1224
|
HeaderBodyFooterDialogComponent: D,
|
|
1126
|
-
selector:
|
|
1127
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1225
|
+
selector: Kt
|
|
1226
|
+
}, Symbol.toStringTag, { value: "Module" })), Gt = `<div class="bar-menu-container">
|
|
1128
1227
|
<previous-button class="nav-prev" part="nav-prev-button"></previous-button>
|
|
1129
1228
|
|
|
1130
1229
|
<div class="buttons-wrapper" part="buttons-wrapper">
|
|
@@ -1133,8 +1232,8 @@ const Ht = "confirmation-dialog", Nt = {
|
|
|
1133
1232
|
|
|
1134
1233
|
<next-button class="nav-next" part="nav-next-button"></next-button>
|
|
1135
1234
|
</div>
|
|
1136
|
-
`,
|
|
1137
|
-
|
|
1235
|
+
`, Ct = "*{box-sizing:border-box}:host{display:block;width:100%}.bar-menu-container{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--gap-sm);padding:var(--spacing-1);background:var(--color-bg-primary);border-radius:var(--border-radius-full);border:var(--border-width-2) solid var(--color-border-secondary);box-shadow:var(--shadow-sm);margin:0 auto}.bar-menu-container .nav-prev,.bar-menu-container .nav-next{flex-shrink:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease-in-out,visibility .2s ease-in-out}.bar-menu-container .nav-prev.visible,.bar-menu-container .nav-next.visible{opacity:1;visibility:visible;pointer-events:auto}.bar-menu-container .nav-prev::part(button),.bar-menu-container .nav-next::part(button){background-color:transparent;box-shadow:none}.bar-menu-container .buttons-wrapper{display:grid;grid-template-columns:repeat(var(--bar-menu-visible-count, 3),1fr);grid-auto-rows:max-content;align-items:center;justify-items:center;gap:var(--gap-sm);overflow:hidden;position:relative;width:auto}::slotted(*){display:none;flex-shrink:0;will-change:opacity,transform;contain:layout style paint;opacity:0;transform:scale(.8)}::slotted(.animating){transition:opacity .4s cubic-bezier(.34,1.56,.64,1),transform .4s cubic-bezier(.34,1.56,.64,1)}::slotted(.visible-button){display:inline-flex!important;pointer-events:auto;opacity:1;transform:scale(1)}", Q = new CSSStyleSheet();
|
|
1236
|
+
Q.replaceSync(Ct);
|
|
1138
1237
|
class y extends HTMLElement {
|
|
1139
1238
|
static _visibleCountAttribute = "visible-count";
|
|
1140
1239
|
static _cyclicalNavigationAttribute = "cyclical-navigation";
|
|
@@ -1153,7 +1252,7 @@ class y extends HTMLElement {
|
|
|
1153
1252
|
* @constructor
|
|
1154
1253
|
*/
|
|
1155
1254
|
constructor() {
|
|
1156
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
1255
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(Q);
|
|
1157
1256
|
}
|
|
1158
1257
|
/**
|
|
1159
1258
|
* Specifies which attributes should be observed for changes.
|
|
@@ -1203,7 +1302,7 @@ class y extends HTMLElement {
|
|
|
1203
1302
|
/**
|
|
1204
1303
|
* Lifecycle hook: observed attribute changed
|
|
1205
1304
|
*/
|
|
1206
|
-
attributeChangedCallback(t, e,
|
|
1305
|
+
attributeChangedCallback(t, e, i) {
|
|
1207
1306
|
t === y._visibleCountAttribute ? (this._visibleCount = this.visibleButtons, this._buttonsWrapper !== null && this._buttonsWrapper.style.setProperty(
|
|
1208
1307
|
"--bar-menu-visible-count",
|
|
1209
1308
|
String(this.visibleButtons)
|
|
@@ -1213,7 +1312,7 @@ class y extends HTMLElement {
|
|
|
1213
1312
|
* Render the component's Shadow DOM structure
|
|
1214
1313
|
*/
|
|
1215
1314
|
_render() {
|
|
1216
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
1315
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = Gt);
|
|
1217
1316
|
}
|
|
1218
1317
|
/**
|
|
1219
1318
|
* Cache Shadow DOM elements for performance
|
|
@@ -1222,9 +1321,9 @@ class y extends HTMLElement {
|
|
|
1222
1321
|
this._slotElement = this.shadowRoot?.querySelector("slot") ?? null, this._navPrevButton = this.shadowRoot?.querySelector(".nav-prev") ?? null, this._navNextButton = this.shadowRoot?.querySelector(".nav-next") ?? null, this._buttonsWrapper = this.shadowRoot?.querySelector(".buttons-wrapper") ?? null, this._buttonsWrapper !== null && this._buttonsWrapper.style.setProperty(
|
|
1223
1322
|
"--bar-menu-visible-count",
|
|
1224
1323
|
String(this.visibleButtons)
|
|
1225
|
-
), this._navPrevButton !== null && (this._navPrevButton.setAttribute("aria-label", "Previous"), this._navPrevButton.addEventListener(
|
|
1324
|
+
), this._navPrevButton !== null && (this._navPrevButton.setAttribute("aria-label", "Previous"), this._navPrevButton.addEventListener(z.CLICK, () => {
|
|
1226
1325
|
this._scrollPrevious();
|
|
1227
|
-
})), this._navNextButton !== null && (this._navNextButton.setAttribute("aria-label", "Next"), this._navNextButton.addEventListener(
|
|
1326
|
+
})), this._navNextButton !== null && (this._navNextButton.setAttribute("aria-label", "Next"), this._navNextButton.addEventListener(z.CLICK, () => {
|
|
1228
1327
|
this._scrollNext();
|
|
1229
1328
|
}));
|
|
1230
1329
|
}
|
|
@@ -1251,13 +1350,13 @@ class y extends HTMLElement {
|
|
|
1251
1350
|
_setupKeyboardListener() {
|
|
1252
1351
|
this._keyDownListener = (t) => {
|
|
1253
1352
|
t.key === "ArrowLeft" ? (t.preventDefault(), this._scrollPrevious()) : t.key === "ArrowRight" && (t.preventDefault(), this._scrollNext());
|
|
1254
|
-
}, this.addEventListener(
|
|
1353
|
+
}, this.addEventListener(U.KEY_DOWN, this._keyDownListener);
|
|
1255
1354
|
}
|
|
1256
1355
|
/**
|
|
1257
1356
|
* Remove keyboard listener
|
|
1258
1357
|
*/
|
|
1259
1358
|
_removeKeyboardListener() {
|
|
1260
|
-
this._keyDownListener !== null && this.removeEventListener(
|
|
1359
|
+
this._keyDownListener !== null && this.removeEventListener(U.KEY_DOWN, this._keyDownListener);
|
|
1261
1360
|
}
|
|
1262
1361
|
/**
|
|
1263
1362
|
* Get all slotted button elements
|
|
@@ -1269,16 +1368,16 @@ class y extends HTMLElement {
|
|
|
1269
1368
|
* Update button visibility by showing/hiding rows with fade
|
|
1270
1369
|
*/
|
|
1271
1370
|
_updateButtonVisibility(t) {
|
|
1272
|
-
const e = this._getSlottedButtons(),
|
|
1371
|
+
const e = this._getSlottedButtons(), i = e.length, s = this.visibleButtons, a = this._currentIndex, v = Math.min(a + s, i);
|
|
1273
1372
|
e.forEach((c, g) => {
|
|
1274
|
-
const I = g >= a && g < v,
|
|
1275
|
-
I || (c.classList.remove("visible-button"), c.classList.remove("animating"),
|
|
1373
|
+
const I = g >= a && g < v, $ = c;
|
|
1374
|
+
I || (c.classList.remove("visible-button"), c.classList.remove("animating"), $.style.display = "none");
|
|
1276
1375
|
}), t !== void 0 ? (e[0]?.offsetHeight, e.forEach((c, g) => {
|
|
1277
1376
|
if (g >= a && g < v) {
|
|
1278
|
-
const
|
|
1279
|
-
|
|
1280
|
-
const
|
|
1281
|
-
|
|
1377
|
+
const $ = c;
|
|
1378
|
+
$.style.display = "inline-flex", c.classList.add("animating");
|
|
1379
|
+
const ut = g % this.visibleButtons * 50;
|
|
1380
|
+
$.style.transitionDelay = `${ut}ms`;
|
|
1282
1381
|
}
|
|
1283
1382
|
}), e[0]?.offsetHeight, e.forEach((c, g) => {
|
|
1284
1383
|
g >= a && g < v && c.classList.add("visible-button");
|
|
@@ -1287,16 +1386,16 @@ class y extends HTMLElement {
|
|
|
1287
1386
|
c.classList.remove("animating"), c.style.transitionDelay = d;
|
|
1288
1387
|
});
|
|
1289
1388
|
}, 400)) : e.forEach((c, g) => {
|
|
1290
|
-
const I = g >= a && g < v,
|
|
1291
|
-
I && (
|
|
1292
|
-
}), this._updateNavigationButtons(
|
|
1389
|
+
const I = g >= a && g < v, $ = c;
|
|
1390
|
+
I && ($.style.display = "inline-flex", c.classList.add("visible-button"));
|
|
1391
|
+
}), this._updateNavigationButtons(i, s);
|
|
1293
1392
|
}
|
|
1294
1393
|
/**
|
|
1295
1394
|
* Update navigation buttons visibility and disabled state
|
|
1296
1395
|
*/
|
|
1297
1396
|
_updateNavigationButtons(t, e) {
|
|
1298
|
-
const
|
|
1299
|
-
this._navPrevButton !== null && (
|
|
1397
|
+
const i = t > e, s = this._currentIndex + e < t, a = this._currentIndex === 0, v = !s;
|
|
1398
|
+
this._navPrevButton !== null && (i ? (this._navPrevButton.classList.add("visible"), this._navPrevButton.disabled = !this._cyclicalNavigation && a) : this._navPrevButton.classList.remove("visible")), this._navNextButton !== null && (i ? (this._navNextButton.classList.add("visible"), this._navNextButton.disabled = !this._cyclicalNavigation && v) : this._navNextButton.classList.remove("visible"));
|
|
1300
1399
|
}
|
|
1301
1400
|
/**
|
|
1302
1401
|
* Navigate to previous page (scrolls by visibleCount buttons)
|
|
@@ -1311,17 +1410,17 @@ class y extends HTMLElement {
|
|
|
1311
1410
|
* In cyclical mode, wraps to the beginning when at the end.
|
|
1312
1411
|
*/
|
|
1313
1412
|
_scrollNext() {
|
|
1314
|
-
const t = this._getSlottedButtons().length, e = this.visibleButtons,
|
|
1315
|
-
|
|
1413
|
+
const t = this._getSlottedButtons().length, e = this.visibleButtons, i = this._currentIndex + e;
|
|
1414
|
+
i < t ? (this._currentIndex = i, this._updateButtonVisibility("next")) : this._cyclicalNavigation && t > e && (this._currentIndex = 0, this._updateButtonVisibility("next"));
|
|
1316
1415
|
}
|
|
1317
1416
|
/**
|
|
1318
1417
|
* Public API: scroll to specific button by index
|
|
1319
1418
|
*/
|
|
1320
1419
|
scrollToButton(t) {
|
|
1321
|
-
const e = this._getSlottedButtons().length,
|
|
1420
|
+
const e = this._getSlottedButtons().length, i = this.visibleButtons;
|
|
1322
1421
|
t >= 0 && t < e && (this._currentIndex = Math.max(
|
|
1323
1422
|
0,
|
|
1324
|
-
Math.min(t, e -
|
|
1423
|
+
Math.min(t, e - i)
|
|
1325
1424
|
), this._updateButtonVisibility());
|
|
1326
1425
|
}
|
|
1327
1426
|
/**
|
|
@@ -1345,21 +1444,21 @@ class y extends HTMLElement {
|
|
|
1345
1444
|
return this._currentIndex;
|
|
1346
1445
|
}
|
|
1347
1446
|
}
|
|
1348
|
-
const
|
|
1447
|
+
const Wt = "bar-menu", De = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1349
1448
|
__proto__: null,
|
|
1350
1449
|
BarMenuComponent: y,
|
|
1351
|
-
selector:
|
|
1352
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1450
|
+
selector: Wt
|
|
1451
|
+
}, Symbol.toStringTag, { value: "Module" })), Yt = "ds-spinner", Vt = `<div part="spinner" class="spinner" role="status" aria-label="Loading">
|
|
1353
1452
|
<div class="spinner-ring"></div>
|
|
1354
1453
|
</div>
|
|
1355
|
-
`,
|
|
1356
|
-
|
|
1454
|
+
`, Xt = "*{box-sizing:border-box}:host{display:inline-flex;align-items:center;justify-content:center}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner-ring{width:var(--spinner-size, 2rem);height:var(--spinner-size, 2rem);border:3px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:var(--border-radius-full);animation:spin var(--transition-slow) linear infinite}:host([size=sm]) .spinner-ring{width:1rem;height:1rem;border-width:2px}:host([size=md]) .spinner-ring{width:2rem;height:2rem;border-width:3px}:host([size=lg]) .spinner-ring{width:3rem;height:3rem;border-width:4px}:host([variant=primary]) .spinner-ring{border-top-color:var(--color-primary)}:host([variant=success]) .spinner-ring{border-top-color:var(--color-success)}:host([variant=warning]) .spinner-ring{border-top-color:var(--color-warning)}:host([variant=error]) .spinner-ring{border-top-color:var(--color-error)}@keyframes spin{to{transform:rotate(360deg)}}", Z = new CSSStyleSheet();
|
|
1455
|
+
Z.replaceSync(Xt);
|
|
1357
1456
|
class f extends HTMLElement {
|
|
1358
1457
|
static _sizeAttribute = "size";
|
|
1359
1458
|
static _variantAttribute = "variant";
|
|
1360
1459
|
static _labelAttribute = "label";
|
|
1361
1460
|
constructor() {
|
|
1362
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
1461
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(Z);
|
|
1363
1462
|
}
|
|
1364
1463
|
static get observedAttributes() {
|
|
1365
1464
|
return [
|
|
@@ -1391,20 +1490,20 @@ class f extends HTMLElement {
|
|
|
1391
1490
|
connectedCallback() {
|
|
1392
1491
|
this._render();
|
|
1393
1492
|
}
|
|
1394
|
-
attributeChangedCallback(t, e,
|
|
1395
|
-
|
|
1493
|
+
attributeChangedCallback(t, e, i) {
|
|
1494
|
+
i !== e && t === f._labelAttribute && this.shadowRoot?.querySelector(".spinner")?.setAttribute("aria-label", i ?? "Loading");
|
|
1396
1495
|
}
|
|
1397
1496
|
_render() {
|
|
1398
1497
|
if (this.shadowRoot === null)
|
|
1399
1498
|
return;
|
|
1400
|
-
this.shadowRoot.innerHTML =
|
|
1499
|
+
this.shadowRoot.innerHTML = Vt, this.shadowRoot.querySelector(".spinner")?.setAttribute("aria-label", this.label);
|
|
1401
1500
|
}
|
|
1402
1501
|
}
|
|
1403
|
-
const
|
|
1502
|
+
const Ue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1404
1503
|
__proto__: null,
|
|
1405
1504
|
SpinnerComponent: f,
|
|
1406
|
-
selector:
|
|
1407
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1505
|
+
selector: Yt
|
|
1506
|
+
}, Symbol.toStringTag, { value: "Module" })), Bt = "ds-progress-bar", Jt = `<div
|
|
1408
1507
|
part="container"
|
|
1409
1508
|
class="progress-container"
|
|
1410
1509
|
role="progressbar"
|
|
@@ -1416,8 +1515,8 @@ const Oe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
1416
1515
|
</div>
|
|
1417
1516
|
<span class="progress-label"></span>
|
|
1418
1517
|
</div>
|
|
1419
|
-
`,
|
|
1420
|
-
|
|
1518
|
+
`, Qt = "*{box-sizing:border-box}:host{display:block;width:100%}.progress-container{display:flex;flex-direction:column;gap:var(--gap-xs)}.progress-track{width:100%;height:.5rem;background-color:var(--color-bg-secondary);border-radius:var(--border-radius-full);overflow:hidden;border:1px solid var(--color-border-primary)}:host([size=sm]) .progress-track{height:.25rem}:host([size=md]) .progress-track{height:.5rem}:host([size=lg]) .progress-track{height:1rem}.progress-fill{height:100%;width:0%;background:var(--color-primary);border-radius:var(--border-radius-full);transition:width var(--transition-base) ease}:host([variant=success]) .progress-fill{background:var(--color-success)}:host([variant=warning]) .progress-fill{background:var(--color-warning)}:host([variant=error]) .progress-fill{background:var(--color-error)}:host([variant=info]) .progress-fill{background:var(--color-info)}:host([indeterminate]) .progress-fill{width:40%!important;animation:indeterminate var(--transition-slow) ease-in-out infinite}.progress-label{font-family:var(--font-family-base);font-size:var(--font-size-xs);color:var(--color-text-secondary);align-self:flex-end}:host(:not([show-label])) .progress-label{display:none}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}", tt = new CSSStyleSheet();
|
|
1519
|
+
tt.replaceSync(Qt);
|
|
1421
1520
|
class h extends HTMLElement {
|
|
1422
1521
|
static _valueAttribute = "value";
|
|
1423
1522
|
static _variantAttribute = "variant";
|
|
@@ -1426,7 +1525,7 @@ class h extends HTMLElement {
|
|
|
1426
1525
|
static _showLabelAttribute = "show-label";
|
|
1427
1526
|
static _labelAttribute = "label";
|
|
1428
1527
|
constructor() {
|
|
1429
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
1528
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(tt);
|
|
1430
1529
|
}
|
|
1431
1530
|
static get observedAttributes() {
|
|
1432
1531
|
return [
|
|
@@ -1468,35 +1567,35 @@ class h extends HTMLElement {
|
|
|
1468
1567
|
connectedCallback() {
|
|
1469
1568
|
this._render();
|
|
1470
1569
|
}
|
|
1471
|
-
attributeChangedCallback(t, e,
|
|
1472
|
-
|
|
1570
|
+
attributeChangedCallback(t, e, i) {
|
|
1571
|
+
i !== e && this._update();
|
|
1473
1572
|
}
|
|
1474
1573
|
_render() {
|
|
1475
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
1574
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = Jt, this._update());
|
|
1476
1575
|
}
|
|
1477
1576
|
_update() {
|
|
1478
1577
|
const t = this.shadowRoot?.querySelector(".progress-fill"), e = this.shadowRoot?.querySelector(
|
|
1479
1578
|
".progress-container"
|
|
1480
|
-
),
|
|
1579
|
+
), i = this.shadowRoot?.querySelector(".progress-label");
|
|
1481
1580
|
t != null && (t.style.width = this.indeterminate ? "40%" : `${this.value}%`), e != null && (e.setAttribute("aria-valuenow", String(this.value)), this.getAttribute(h._labelAttribute) !== null && this.getAttribute(h._labelAttribute) !== "" && e.setAttribute(
|
|
1482
1581
|
"aria-label",
|
|
1483
1582
|
this.getAttribute(h._labelAttribute) ?? ""
|
|
1484
|
-
)),
|
|
1583
|
+
)), i != null && (i.textContent = this.indeterminate ? "" : `${this.value}%`);
|
|
1485
1584
|
}
|
|
1486
1585
|
}
|
|
1487
|
-
const
|
|
1586
|
+
const Ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1488
1587
|
__proto__: null,
|
|
1489
1588
|
ProgressBarComponent: h,
|
|
1490
|
-
selector:
|
|
1491
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1492
|
-
`,
|
|
1493
|
-
|
|
1589
|
+
selector: Bt
|
|
1590
|
+
}, Symbol.toStringTag, { value: "Module" })), Zt = "ds-skeleton", te = `<div part="skeleton" class="skeleton" aria-hidden="true"></div>
|
|
1591
|
+
`, ee = "*{box-sizing:border-box}:host{display:block;width:100%}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;border-radius:var(--border-radius-md);animation:shimmer 1.5s infinite;min-height:1rem;width:100%}:host([shape=circle]) .skeleton{border-radius:var(--border-radius-full);width:var(--skeleton-size, 3rem);height:var(--skeleton-size, 3rem)}:host([shape=text]) .skeleton{border-radius:var(--border-radius-sm);height:1em}:host([shape=rect]) .skeleton{border-radius:var(--border-radius-md)}:host([width=full]){width:100%}:host([width=half]){width:50%}:host([width=quarter]){width:25%}:host([width=three-quarters]){width:75%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}", et = new CSSStyleSheet();
|
|
1592
|
+
et.replaceSync(ee);
|
|
1494
1593
|
class A extends HTMLElement {
|
|
1495
1594
|
static _shapeAttribute = "shape";
|
|
1496
1595
|
static _heightAttribute = "height";
|
|
1497
1596
|
static _widthAttribute = "width";
|
|
1498
1597
|
constructor() {
|
|
1499
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
1598
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(et);
|
|
1500
1599
|
}
|
|
1501
1600
|
static get observedAttributes() {
|
|
1502
1601
|
return [
|
|
@@ -1520,35 +1619,129 @@ class A extends HTMLElement {
|
|
|
1520
1619
|
connectedCallback() {
|
|
1521
1620
|
this._render();
|
|
1522
1621
|
}
|
|
1523
|
-
attributeChangedCallback(t, e,
|
|
1524
|
-
|
|
1622
|
+
attributeChangedCallback(t, e, i) {
|
|
1623
|
+
i !== e && t === A._heightAttribute && this._applyHeight(i);
|
|
1525
1624
|
}
|
|
1526
1625
|
_render() {
|
|
1527
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
1626
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = te, this._applyHeight(this.height));
|
|
1528
1627
|
}
|
|
1529
1628
|
_applyHeight(t) {
|
|
1530
1629
|
const e = this.shadowRoot?.querySelector(".skeleton");
|
|
1531
1630
|
e != null && t !== null && t !== "" && (e.style.height = t);
|
|
1532
1631
|
}
|
|
1533
1632
|
}
|
|
1534
|
-
const
|
|
1633
|
+
const Ge = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1535
1634
|
__proto__: null,
|
|
1536
1635
|
SkeletonComponent: A,
|
|
1537
|
-
selector:
|
|
1538
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1636
|
+
selector: Zt
|
|
1637
|
+
}, Symbol.toStringTag, { value: "Module" })), ie = `<div
|
|
1638
|
+
class="cv-viewer__loader"
|
|
1639
|
+
aria-live="polite"
|
|
1640
|
+
aria-label="Loading"
|
|
1641
|
+
role="status"
|
|
1642
|
+
>
|
|
1643
|
+
<div class="cv-viewer__loader-pulse">
|
|
1644
|
+
<div
|
|
1645
|
+
class="cv-viewer__loader-bar"
|
|
1646
|
+
style="width: 60%; animation-delay: 0s"
|
|
1647
|
+
></div>
|
|
1648
|
+
<div
|
|
1649
|
+
class="cv-viewer__loader-bar"
|
|
1650
|
+
style="width: 90%; animation-delay: 0.15s"
|
|
1651
|
+
></div>
|
|
1652
|
+
<div
|
|
1653
|
+
class="cv-viewer__loader-bar"
|
|
1654
|
+
style="width: 75%; animation-delay: 0.3s"
|
|
1655
|
+
></div>
|
|
1656
|
+
<div
|
|
1657
|
+
class="cv-viewer__loader-bar"
|
|
1658
|
+
style="width: 85%; animation-delay: 0.45s"
|
|
1659
|
+
></div>
|
|
1660
|
+
<div
|
|
1661
|
+
class="cv-viewer__loader-bar"
|
|
1662
|
+
style="width: 50%; animation-delay: 0.6s"
|
|
1663
|
+
></div>
|
|
1664
|
+
</div>
|
|
1665
|
+
<p class="cv-viewer__loader-label">Loading…</p>
|
|
1666
|
+
</div>
|
|
1667
|
+
`, re = ":host{display:block}:host(:not([loading])),:host([loading=false]){display:none}.cv-viewer__loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:48px;background:#1a1a1a;transition:opacity .4s ease;z-index:2}.cv-viewer__loader--hidden{opacity:0;pointer-events:none}.cv-viewer__loader-pulse{display:flex;flex-direction:column;gap:14px;width:min(520px,80%)}.cv-viewer__loader-bar{height:12px;border-radius:2px;background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1a,#ffffff0a 75%);background-size:200% 100%;animation:shimmer 1.8s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}", it = new CSSStyleSheet();
|
|
1668
|
+
it.replaceSync(re);
|
|
1669
|
+
class _ extends HTMLElement {
|
|
1670
|
+
static _labelAttribute = "label";
|
|
1671
|
+
static _loadingAttribute = "loading";
|
|
1672
|
+
/**
|
|
1673
|
+
* @constructor
|
|
1674
|
+
* @ignore
|
|
1675
|
+
*/
|
|
1676
|
+
constructor() {
|
|
1677
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(it);
|
|
1678
|
+
}
|
|
1679
|
+
/**
|
|
1680
|
+
* Specifies which attributes should be observed for changes.
|
|
1681
|
+
*/
|
|
1682
|
+
static get observedAttributes() {
|
|
1683
|
+
return [
|
|
1684
|
+
_._labelAttribute,
|
|
1685
|
+
_._loadingAttribute
|
|
1686
|
+
];
|
|
1687
|
+
}
|
|
1688
|
+
get loading() {
|
|
1689
|
+
const t = this.getAttribute(_._loadingAttribute);
|
|
1690
|
+
return t !== null && t !== "false";
|
|
1691
|
+
}
|
|
1692
|
+
set loading(t) {
|
|
1693
|
+
t ? this.setAttribute(_._loadingAttribute, "true") : this.setAttribute(_._loadingAttribute, "false");
|
|
1694
|
+
}
|
|
1695
|
+
get label() {
|
|
1696
|
+
return this.getAttribute(_._labelAttribute) ?? "Loading…";
|
|
1697
|
+
}
|
|
1698
|
+
set label(t) {
|
|
1699
|
+
this.setAttribute(_._labelAttribute, t);
|
|
1700
|
+
}
|
|
1701
|
+
/**
|
|
1702
|
+
* Lifecycle hook: component inserted into DOM.
|
|
1703
|
+
*/
|
|
1704
|
+
connectedCallback() {
|
|
1705
|
+
this._render();
|
|
1706
|
+
}
|
|
1707
|
+
/**
|
|
1708
|
+
* Lifecycle hook: observed attribute changed.
|
|
1709
|
+
*/
|
|
1710
|
+
attributeChangedCallback(t, e, i) {
|
|
1711
|
+
i !== e && t === _._labelAttribute && this._updateLabel();
|
|
1712
|
+
}
|
|
1713
|
+
/**
|
|
1714
|
+
* Renders the component's Shadow DOM structure.
|
|
1715
|
+
*/
|
|
1716
|
+
_render() {
|
|
1717
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = ie, this._updateLabel());
|
|
1718
|
+
}
|
|
1719
|
+
/**
|
|
1720
|
+
* Updates the label text in the shadow DOM.
|
|
1721
|
+
*/
|
|
1722
|
+
_updateLabel() {
|
|
1723
|
+
const t = this.shadowRoot?.querySelector(".cv-viewer__loader-label");
|
|
1724
|
+
t != null && (t.textContent = this.label);
|
|
1725
|
+
}
|
|
1726
|
+
}
|
|
1727
|
+
const se = "loader-bars", Ce = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1728
|
+
__proto__: null,
|
|
1729
|
+
LoaderBarsComponent: _,
|
|
1730
|
+
selector: se
|
|
1731
|
+
}, Symbol.toStringTag, { value: "Module" })), oe = "ds-card", ae = `<div part="card" class="card">
|
|
1539
1732
|
<slot name="header" class="card-header-slot"></slot>
|
|
1540
1733
|
<div class="card-body">
|
|
1541
1734
|
<slot></slot>
|
|
1542
1735
|
</div>
|
|
1543
1736
|
<slot name="footer" class="card-footer-slot"></slot>
|
|
1544
1737
|
</div>
|
|
1545
|
-
`,
|
|
1546
|
-
|
|
1738
|
+
`, ne = '*{box-sizing:border-box}:host{display:block}.card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:box-shadow var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast);font-family:var(--font-family-base);color:var(--color-text-primary);position:relative}.card:before{content:"";display:block;height:2px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 100%);opacity:0;transition:opacity var(--transition-fast)}:host([hoverable]) .card:hover{box-shadow:var(--shadow-xl);transform:translateY(-3px);border-color:var(--color-border-secondary)}:host([hoverable]) .card:hover:before{opacity:1}:host([variant=outlined]) .card{background:transparent;box-shadow:none;border:var(--border-width-2) solid var(--color-border-secondary)}:host([variant=elevated]) .card{background:var(--color-bg-primary);box-shadow:var(--shadow-xl);border:none}:host([variant=filled]) .card{background:var(--color-bg-secondary);border:none;box-shadow:none}.card-body{padding:var(--spacing-4) var(--spacing-5)}::slotted([slot=header]){display:block;padding:var(--spacing-5) var(--spacing-5) var(--spacing-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}::slotted([slot=footer]){display:block;padding:var(--spacing-3) var(--spacing-5) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-top:1px solid var(--color-border-primary)}', rt = new CSSStyleSheet();
|
|
1739
|
+
rt.replaceSync(ne);
|
|
1547
1740
|
class L extends HTMLElement {
|
|
1548
1741
|
static _variantAttribute = "variant";
|
|
1549
1742
|
static _hoverableAttribute = "hoverable";
|
|
1550
1743
|
constructor() {
|
|
1551
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
1744
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(rt);
|
|
1552
1745
|
}
|
|
1553
1746
|
static get observedAttributes() {
|
|
1554
1747
|
return [
|
|
@@ -1571,27 +1764,27 @@ class L extends HTMLElement {
|
|
|
1571
1764
|
connectedCallback() {
|
|
1572
1765
|
this._render();
|
|
1573
1766
|
}
|
|
1574
|
-
attributeChangedCallback(t, e,
|
|
1767
|
+
attributeChangedCallback(t, e, i) {
|
|
1575
1768
|
}
|
|
1576
1769
|
_render() {
|
|
1577
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
1770
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = ae);
|
|
1578
1771
|
}
|
|
1579
1772
|
}
|
|
1580
|
-
const
|
|
1773
|
+
const We = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1581
1774
|
__proto__: null,
|
|
1582
1775
|
BaseCardComponent: L,
|
|
1583
|
-
selector:
|
|
1584
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1776
|
+
selector: oe
|
|
1777
|
+
}, Symbol.toStringTag, { value: "Module" })), le = "ds-badge", de = `<span part="badge" class="badge">
|
|
1585
1778
|
<slot></slot>
|
|
1586
1779
|
</span>
|
|
1587
|
-
`,
|
|
1588
|
-
|
|
1780
|
+
`, ce = "*{box-sizing:border-box}:host{display:inline-flex}.badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-xs);padding-block:.2em;padding-inline:.6em;border-radius:var(--border-radius-full);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.4;white-space:nowrap;background-color:var(--color-primary);color:#fff;border:1px solid transparent}:host([variant=secondary]) .badge{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-primary)}:host([variant=success]) .badge{background-color:var(--color-success);color:#fff}:host([variant=warning]) .badge{background-color:var(--color-warning);color:#1a1a1a}:host([variant=error]) .badge{background-color:var(--color-error);color:#fff}:host([variant=info]) .badge{background-color:var(--color-info);color:#fff}:host([variant=outline]) .badge{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}:host([size=sm]) .badge{font-size:.65rem;padding-block:.1em;padding-inline:.4em}:host([size=lg]) .badge{font-size:var(--font-size-sm);padding-block:.3em;padding-inline:.8em}:host([dot]) .badge{width:.5rem;height:.5rem;padding:0;font-size:0}", st = new CSSStyleSheet();
|
|
1781
|
+
st.replaceSync(ce);
|
|
1589
1782
|
class m extends HTMLElement {
|
|
1590
1783
|
static _variantAttribute = "variant";
|
|
1591
1784
|
static _sizeAttribute = "size";
|
|
1592
1785
|
static _dotAttribute = "dot";
|
|
1593
1786
|
constructor() {
|
|
1594
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
1787
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(st);
|
|
1595
1788
|
}
|
|
1596
1789
|
static get observedAttributes() {
|
|
1597
1790
|
return [
|
|
@@ -1621,17 +1814,17 @@ class m extends HTMLElement {
|
|
|
1621
1814
|
connectedCallback() {
|
|
1622
1815
|
this._render();
|
|
1623
1816
|
}
|
|
1624
|
-
attributeChangedCallback(t, e,
|
|
1817
|
+
attributeChangedCallback(t, e, i) {
|
|
1625
1818
|
}
|
|
1626
1819
|
_render() {
|
|
1627
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
1820
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = de);
|
|
1628
1821
|
}
|
|
1629
1822
|
}
|
|
1630
|
-
const
|
|
1823
|
+
const Ye = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1631
1824
|
__proto__: null,
|
|
1632
1825
|
BadgeComponent: m,
|
|
1633
|
-
selector:
|
|
1634
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1826
|
+
selector: le
|
|
1827
|
+
}, Symbol.toStringTag, { value: "Module" })), ue = "ds-alert", he = `<div part="alert" class="alert" role="alert">
|
|
1635
1828
|
<span class="alert-icon"></span>
|
|
1636
1829
|
<div class="alert-content">
|
|
1637
1830
|
<slot name="title" class="alert-title-slot"></slot>
|
|
@@ -1646,31 +1839,31 @@ const Ne = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
1646
1839
|
<span class="close-icon">✕</span>
|
|
1647
1840
|
</button>
|
|
1648
1841
|
</div>
|
|
1649
|
-
`,
|
|
1650
|
-
|
|
1651
|
-
class
|
|
1842
|
+
`, be = '@charset "UTF-8";*{box-sizing:border-box}:host{display:block}:host([hidden]){display:none}.alert{display:flex;align-items:center;gap:var(--gap-sm);padding:var(--spacing-3);border-radius:var(--border-radius-lg);border-left:4px solid var(--color-primary);background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-normal);animation:alertIn var(--transition-fast) ease-out}:host([variant=success]) .alert{border-left-color:#22c55e;background-color:#1a3f1f;color:#d1fae5}:host([variant=warning]) .alert{border-left-color:#facc15;background-color:#3f3011;color:#e0c600}:host([variant=error]) .alert{border-left-color:#dc2626;background-color:color-mix(in srgb,#dc2626 10%,var(--color-bg-primary))}:host([variant=info]) .alert{border-left-color:var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 15%,var(--color-bg-primary));color:var(--color-text-primary)}.alert-icon{font-size:var(--font-size-lg);flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:1.25em;height:1.25em}:host([variant=success]) .alert-icon:before{content:"✓"}:host([variant=warning]) .alert-icon:before{content:"⚠"}:host([variant=error]) .alert-icon:before{content:"✕"}:host([variant=info]) .alert-icon:before{content:"ℹ"}.alert-content{flex:1;min-width:0;padding:0 var(--gap-sm);border-left:1px solid}::slotted([slot=title]){display:block;font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);margin-bottom:var(--spacing-1)}.alert-close{flex-shrink:0;background:transparent;border:none;cursor:pointer;padding:var(--spacing-1);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:1;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}.alert-close:hover{background:var(--color-hover-bg-secondary);color:var(--color-text-primary)}:host(:not([dismissible])) .alert-close{display:none}@keyframes alertIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}', ot = new CSSStyleSheet();
|
|
1843
|
+
ot.replaceSync(be);
|
|
1844
|
+
class R extends HTMLElement {
|
|
1652
1845
|
static _variantAttribute = "variant";
|
|
1653
1846
|
static _dismissibleAttribute = "dismissible";
|
|
1654
1847
|
constructor() {
|
|
1655
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
1848
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(ot);
|
|
1656
1849
|
}
|
|
1657
1850
|
static get observedAttributes() {
|
|
1658
1851
|
return [
|
|
1659
|
-
|
|
1660
|
-
|
|
1852
|
+
R._variantAttribute,
|
|
1853
|
+
R._dismissibleAttribute
|
|
1661
1854
|
];
|
|
1662
1855
|
}
|
|
1663
1856
|
get variant() {
|
|
1664
|
-
return this.getAttribute(
|
|
1857
|
+
return this.getAttribute(R._variantAttribute) ?? "info";
|
|
1665
1858
|
}
|
|
1666
1859
|
set variant(t) {
|
|
1667
|
-
this.setAttribute(
|
|
1860
|
+
this.setAttribute(R._variantAttribute, t);
|
|
1668
1861
|
}
|
|
1669
1862
|
get dismissible() {
|
|
1670
|
-
return this.hasAttribute(
|
|
1863
|
+
return this.hasAttribute(R._dismissibleAttribute);
|
|
1671
1864
|
}
|
|
1672
1865
|
set dismissible(t) {
|
|
1673
|
-
t ? this.setAttribute(
|
|
1866
|
+
t ? this.setAttribute(R._dismissibleAttribute, "") : this.removeAttribute(R._dismissibleAttribute);
|
|
1674
1867
|
}
|
|
1675
1868
|
connectedCallback() {
|
|
1676
1869
|
this._render(), this._addEventListeners();
|
|
@@ -1678,7 +1871,7 @@ class k extends HTMLElement {
|
|
|
1678
1871
|
disconnectedCallback() {
|
|
1679
1872
|
this._removeEventListeners();
|
|
1680
1873
|
}
|
|
1681
|
-
attributeChangedCallback(t, e,
|
|
1874
|
+
attributeChangedCallback(t, e, i) {
|
|
1682
1875
|
}
|
|
1683
1876
|
_handleClose = () => {
|
|
1684
1877
|
this.dispatchEvent(
|
|
@@ -1692,14 +1885,14 @@ class k extends HTMLElement {
|
|
|
1692
1885
|
this.shadowRoot?.querySelector(".alert-close")?.removeEventListener("click", this._handleClose);
|
|
1693
1886
|
}
|
|
1694
1887
|
_render() {
|
|
1695
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
1888
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = he, this._addEventListeners());
|
|
1696
1889
|
}
|
|
1697
1890
|
}
|
|
1698
|
-
const
|
|
1891
|
+
const Ve = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1699
1892
|
__proto__: null,
|
|
1700
|
-
AlertComponent:
|
|
1701
|
-
selector:
|
|
1702
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1893
|
+
AlertComponent: R,
|
|
1894
|
+
selector: ue
|
|
1895
|
+
}, Symbol.toStringTag, { value: "Module" })), ve = "ds-tag", ge = `<span part="tag" class="tag">
|
|
1703
1896
|
<slot></slot>
|
|
1704
1897
|
<button
|
|
1705
1898
|
part="remove-button"
|
|
@@ -1710,33 +1903,33 @@ const Te = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
1710
1903
|
✕
|
|
1711
1904
|
</button>
|
|
1712
1905
|
</span>
|
|
1713
|
-
`,
|
|
1714
|
-
|
|
1715
|
-
class
|
|
1906
|
+
`, pe = "*{box-sizing:border-box}:host{display:inline-flex}.tag{display:inline-flex;align-items:center;gap:var(--gap-xs);padding-block:.25em;padding-inline:.75em;border-radius:var(--border-radius-full);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);transition:all var(--transition-fast)}:host([variant=primary]) .tag{background-color:var(--color-primary);color:#fff;border-color:transparent}:host([variant=success]) .tag{background-color:var(--color-success);color:#fff;border-color:transparent}:host([variant=warning]) .tag{background-color:var(--color-warning);color:#1a1a1a;border-color:transparent}:host([variant=error]) .tag{background-color:var(--color-error);color:#fff;border-color:transparent}:host([size=sm]) .tag{font-size:var(--font-size-xs);padding-block:.15em;padding-inline:.5em}:host([size=lg]) .tag{font-size:var(--font-size-md);padding-block:.35em;padding-inline:1em}.tag-remove{display:none;background:transparent;border:none;cursor:pointer;padding:0;font-size:.75em;color:inherit;opacity:.7;line-height:1;border-radius:var(--border-radius-full);transition:opacity var(--transition-fast)}:host([removable]) .tag-remove{display:inline-flex;align-items:center;justify-content:center}.tag-remove:hover{opacity:1}", at = new CSSStyleSheet();
|
|
1907
|
+
at.replaceSync(pe);
|
|
1908
|
+
class w extends HTMLElement {
|
|
1716
1909
|
static _variantAttribute = "variant";
|
|
1717
1910
|
static _sizeAttribute = "size";
|
|
1718
1911
|
static _removableAttribute = "removable";
|
|
1719
1912
|
constructor() {
|
|
1720
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
1913
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(at);
|
|
1721
1914
|
}
|
|
1722
1915
|
static get observedAttributes() {
|
|
1723
1916
|
return [
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1917
|
+
w._variantAttribute,
|
|
1918
|
+
w._sizeAttribute,
|
|
1919
|
+
w._removableAttribute
|
|
1727
1920
|
];
|
|
1728
1921
|
}
|
|
1729
1922
|
get variant() {
|
|
1730
|
-
return this.getAttribute(
|
|
1923
|
+
return this.getAttribute(w._variantAttribute) ?? "default";
|
|
1731
1924
|
}
|
|
1732
1925
|
set variant(t) {
|
|
1733
|
-
this.setAttribute(
|
|
1926
|
+
this.setAttribute(w._variantAttribute, t);
|
|
1734
1927
|
}
|
|
1735
1928
|
get removable() {
|
|
1736
|
-
return this.hasAttribute(
|
|
1929
|
+
return this.hasAttribute(w._removableAttribute);
|
|
1737
1930
|
}
|
|
1738
1931
|
set removable(t) {
|
|
1739
|
-
t ? this.setAttribute(
|
|
1932
|
+
t ? this.setAttribute(w._removableAttribute, "") : this.removeAttribute(w._removableAttribute);
|
|
1740
1933
|
}
|
|
1741
1934
|
connectedCallback() {
|
|
1742
1935
|
this._render(), this._addEventListeners();
|
|
@@ -1744,7 +1937,7 @@ class _ extends HTMLElement {
|
|
|
1744
1937
|
disconnectedCallback() {
|
|
1745
1938
|
this._removeEventListeners();
|
|
1746
1939
|
}
|
|
1747
|
-
attributeChangedCallback(t, e,
|
|
1940
|
+
attributeChangedCallback(t, e, i) {
|
|
1748
1941
|
}
|
|
1749
1942
|
_handleRemove = () => {
|
|
1750
1943
|
this.dispatchEvent(
|
|
@@ -1758,20 +1951,20 @@ class _ extends HTMLElement {
|
|
|
1758
1951
|
this.shadowRoot?.querySelector(".tag-remove")?.removeEventListener("click", this._handleRemove);
|
|
1759
1952
|
}
|
|
1760
1953
|
_render() {
|
|
1761
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
1954
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = ge, this._addEventListeners());
|
|
1762
1955
|
}
|
|
1763
1956
|
}
|
|
1764
|
-
const
|
|
1957
|
+
const Xe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1765
1958
|
__proto__: null,
|
|
1766
|
-
TagComponent:
|
|
1767
|
-
selector:
|
|
1768
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1959
|
+
TagComponent: w,
|
|
1960
|
+
selector: ve
|
|
1961
|
+
}, Symbol.toStringTag, { value: "Module" })), fe = "ds-avatar", me = `<div part="avatar" class="avatar" role="img">
|
|
1769
1962
|
<img class="avatar-image" alt="" />
|
|
1770
1963
|
<span class="avatar-initials"></span>
|
|
1771
1964
|
<span class="avatar-icon">👤</span>
|
|
1772
1965
|
</div>
|
|
1773
|
-
`,
|
|
1774
|
-
|
|
1966
|
+
`, ye = "*{box-sizing:border-box}:host{display:inline-flex}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--border-radius-full);background-color:var(--color-primary);color:#fff;font-family:var(--font-family-base);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);overflow:hidden;-webkit-user-select:none;user-select:none;flex-shrink:0}:host([size=xs]) .avatar{width:1.5rem;height:1.5rem;font-size:var(--font-size-xs)}:host([size=sm]) .avatar{width:2rem;height:2rem;font-size:var(--font-size-xs)}:host([size=md]) .avatar{width:2.5rem;height:2.5rem;font-size:var(--font-size-sm)}:host([size=lg]) .avatar{width:3.5rem;height:3.5rem;font-size:var(--font-size-lg)}:host([size=xl]) .avatar{width:5rem;height:5rem;font-size:var(--font-size-2xl)}:host([shape=square]) .avatar{border-radius:var(--border-radius-md)}:host([shape=rounded]) .avatar{border-radius:var(--border-radius-lg)}:host([color=secondary]) .avatar{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}:host([color=success]) .avatar{background-color:var(--color-success)}:host([color=warning]) .avatar{background-color:var(--color-warning);color:#1a1a1a}:host([color=error]) .avatar{background-color:var(--color-error)}.avatar-image{width:100%;height:100%;object-fit:cover;display:none;border-radius:inherit}.avatar-initials{display:none;line-height:1}.avatar-icon{display:flex;font-size:1.2em;line-height:1}:host([src]) .avatar-image{display:block}:host([src]) .avatar-initials{display:none}:host([src]) .avatar-icon{display:none}:host([initials]:not([src])) .avatar-initials{display:block}:host([initials]:not([src])) .avatar-icon{display:none}", nt = new CSSStyleSheet();
|
|
1967
|
+
nt.replaceSync(ye);
|
|
1775
1968
|
class n extends HTMLElement {
|
|
1776
1969
|
static _srcAttribute = "src";
|
|
1777
1970
|
static _altAttribute = "alt";
|
|
@@ -1780,7 +1973,7 @@ class n extends HTMLElement {
|
|
|
1780
1973
|
static _shapeAttribute = "shape";
|
|
1781
1974
|
static _colorAttribute = "color";
|
|
1782
1975
|
constructor() {
|
|
1783
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
1976
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(nt);
|
|
1784
1977
|
}
|
|
1785
1978
|
static get observedAttributes() {
|
|
1786
1979
|
return [
|
|
@@ -1822,35 +2015,35 @@ class n extends HTMLElement {
|
|
|
1822
2015
|
connectedCallback() {
|
|
1823
2016
|
this._render();
|
|
1824
2017
|
}
|
|
1825
|
-
attributeChangedCallback(t, e,
|
|
1826
|
-
|
|
2018
|
+
attributeChangedCallback(t, e, i) {
|
|
2019
|
+
i !== e && this._update(t, i);
|
|
1827
2020
|
}
|
|
1828
2021
|
_render() {
|
|
1829
|
-
this.shadowRoot !== null && (this.shadowRoot.innerHTML =
|
|
2022
|
+
this.shadowRoot !== null && (this.shadowRoot.innerHTML = me, this._update(n._srcAttribute, this.src), this._update(n._initialsAttribute, this.initials), this._update(n._altAttribute, this.alt));
|
|
1830
2023
|
}
|
|
1831
2024
|
_update(t, e) {
|
|
1832
2025
|
if (t === n._srcAttribute) {
|
|
1833
|
-
const
|
|
1834
|
-
|
|
2026
|
+
const i = this.shadowRoot?.querySelector(".avatar-image");
|
|
2027
|
+
i != null && (i.src = e ?? "");
|
|
1835
2028
|
} else if (t === n._initialsAttribute) {
|
|
1836
|
-
const
|
|
1837
|
-
|
|
2029
|
+
const i = this.shadowRoot?.querySelector(".avatar-initials");
|
|
2030
|
+
i != null && (i.textContent = e ?? "");
|
|
1838
2031
|
} else if (t === n._altAttribute) {
|
|
1839
|
-
const
|
|
1840
|
-
|
|
2032
|
+
const i = this.shadowRoot?.querySelector(".avatar-image"), s = this.shadowRoot?.querySelector(".avatar");
|
|
2033
|
+
i != null && (i.alt = e ?? ""), s?.setAttribute("aria-label", e ?? "");
|
|
1841
2034
|
}
|
|
1842
2035
|
}
|
|
1843
2036
|
}
|
|
1844
|
-
const
|
|
2037
|
+
const Be = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1845
2038
|
__proto__: null,
|
|
1846
2039
|
AvatarComponent: n,
|
|
1847
|
-
selector:
|
|
1848
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
2040
|
+
selector: fe
|
|
2041
|
+
}, Symbol.toStringTag, { value: "Module" })), Ae = "ds-tooltip", _e = `<slot></slot>
|
|
1849
2042
|
<div part="tooltip" class="tooltip" role="tooltip">
|
|
1850
2043
|
<slot name="content"></slot>
|
|
1851
2044
|
</div>
|
|
1852
|
-
`,
|
|
1853
|
-
|
|
2045
|
+
`, we = "*{box-sizing:border-box}:host{position:relative;display:inline-flex;align-items:center}.tooltip{position:absolute;z-index:var(--z-index-tooltip, 1070);bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);padding:var(--spacing-1) var(--spacing-2);background-color:var(--color-bg-tertiary, #1e1e2e);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-xs);line-height:var(--line-height-normal);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast);max-width:16rem;white-space:normal;text-align:center}:host([placement=bottom]) .tooltip{bottom:auto;top:calc(100% + .5rem)}:host([placement=left]) .tooltip{bottom:auto;left:auto;right:calc(100% + .5rem);top:50%;transform:translateY(-50%)}:host([placement=right]) .tooltip{bottom:auto;left:calc(100% + .5rem);top:50%;transform:translateY(-50%)}:host([open]) .tooltip,:host(:hover) .tooltip,:host(:focus-within) .tooltip{opacity:1;visibility:visible}:host([follow-cursor]) .tooltip{position:fixed;bottom:auto;left:0;top:0;transform:none}:host([follow-cursor]) .tooltip{opacity:1;visibility:visible}", lt = new CSSStyleSheet();
|
|
2046
|
+
lt.replaceSync(we);
|
|
1854
2047
|
class b extends HTMLElement {
|
|
1855
2048
|
static _placementAttribute = "placement";
|
|
1856
2049
|
static _contentAttribute = "content";
|
|
@@ -1859,7 +2052,7 @@ class b extends HTMLElement {
|
|
|
1859
2052
|
_lastMouseX = 0;
|
|
1860
2053
|
_lastMouseY = 0;
|
|
1861
2054
|
constructor() {
|
|
1862
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
2055
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(lt);
|
|
1863
2056
|
}
|
|
1864
2057
|
static get observedAttributes() {
|
|
1865
2058
|
return [
|
|
@@ -1901,13 +2094,13 @@ class b extends HTMLElement {
|
|
|
1901
2094
|
disconnectedCallback() {
|
|
1902
2095
|
this._removeEventListeners();
|
|
1903
2096
|
}
|
|
1904
|
-
attributeChangedCallback(t, e,
|
|
1905
|
-
|
|
2097
|
+
attributeChangedCallback(t, e, i) {
|
|
2098
|
+
i !== e && (t === b._contentAttribute && this._updateContent(i), t === b._followCursorAttribute && (i !== null ? this._attachEventListeners() : this._removeEventListeners()));
|
|
1906
2099
|
}
|
|
1907
2100
|
_render() {
|
|
1908
2101
|
if (this.shadowRoot === null)
|
|
1909
2102
|
return;
|
|
1910
|
-
this.shadowRoot.innerHTML =
|
|
2103
|
+
this.shadowRoot.innerHTML = _e, this._updateContent(this.content);
|
|
1911
2104
|
const t = this.shadowRoot.querySelector(".tooltip");
|
|
1912
2105
|
if (t != null) {
|
|
1913
2106
|
const e = `tooltip-${Math.random().toString(36).slice(2, 7)}`;
|
|
@@ -1941,16 +2134,16 @@ class b extends HTMLElement {
|
|
|
1941
2134
|
_updateContent(t) {
|
|
1942
2135
|
const e = this.shadowRoot?.querySelector(".tooltip");
|
|
1943
2136
|
if (e != null && t !== null && t !== "") {
|
|
1944
|
-
const
|
|
1945
|
-
(
|
|
2137
|
+
const i = e.querySelector("slot");
|
|
2138
|
+
(i === null || i.assignedNodes().length === 0) && (e.textContent = t);
|
|
1946
2139
|
}
|
|
1947
2140
|
}
|
|
1948
2141
|
}
|
|
1949
|
-
const
|
|
2142
|
+
const Je = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1950
2143
|
__proto__: null,
|
|
1951
2144
|
TooltipComponent: b,
|
|
1952
|
-
selector:
|
|
1953
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
2145
|
+
selector: Ae
|
|
2146
|
+
}, Symbol.toStringTag, { value: "Module" })), Se = "ds-text-input", xe = `<div part="wrapper" class="input-wrapper">
|
|
1954
2147
|
<label class="input-label" part="label"></label>
|
|
1955
2148
|
<div class="input-container">
|
|
1956
2149
|
<slot name="prefix" class="input-prefix"></slot>
|
|
@@ -1959,8 +2152,8 @@ const qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
1959
2152
|
</div>
|
|
1960
2153
|
<span class="input-helper" part="helper"></span>
|
|
1961
2154
|
</div>
|
|
1962
|
-
`,
|
|
1963
|
-
|
|
2155
|
+
`, Ee = "*{box-sizing:border-box}:host{display:block;width:100%}.input-wrapper{display:flex;flex-direction:column;gap:var(--gap-xs);font-family:var(--font-family-base)}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.input-label:empty{display:none}.input-container{display:flex;align-items:center;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);overflow:hidden}.input-container:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent);outline:none}:host([state=error]) .input-container{border-color:#dc2626;box-shadow:none}:host([state=error]) .input-container:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,#dc2626 20%,transparent)}:host([state=success]) .input-container{border-color:var(--color-success)}.input{flex:1;min-width:0;padding:var(--spacing-2) var(--spacing-3);background:transparent;border:none;outline:none;font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-normal)}.input::placeholder{color:var(--color-text-secondary);opacity:.7}.input:disabled{opacity:.5;cursor:not-allowed}:host([size=sm]) .input{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs)}:host([size=lg]) .input{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md)}.input-helper{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.input-helper:empty{display:none}:host([state=error]) .input-helper{color:#dc2626}:host([state=success]) .input-helper{color:var(--color-success)}::slotted([slot=prefix]),::slotted([slot=suffix]){display:flex;align-items:center;padding-inline:var(--spacing-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);flex-shrink:0}", dt = new CSSStyleSheet();
|
|
2156
|
+
dt.replaceSync(Ee);
|
|
1964
2157
|
class o extends HTMLElement {
|
|
1965
2158
|
static _labelAttribute = "label";
|
|
1966
2159
|
static _placeholderAttribute = "placeholder";
|
|
@@ -1973,7 +2166,7 @@ class o extends HTMLElement {
|
|
|
1973
2166
|
static _sizeAttribute = "size";
|
|
1974
2167
|
static _nameAttribute = "name";
|
|
1975
2168
|
constructor() {
|
|
1976
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
2169
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(dt);
|
|
1977
2170
|
}
|
|
1978
2171
|
static get observedAttributes() {
|
|
1979
2172
|
return [
|
|
@@ -2034,8 +2227,8 @@ class o extends HTMLElement {
|
|
|
2034
2227
|
disconnectedCallback() {
|
|
2035
2228
|
this._removeEventListeners();
|
|
2036
2229
|
}
|
|
2037
|
-
attributeChangedCallback(t, e,
|
|
2038
|
-
|
|
2230
|
+
attributeChangedCallback(t, e, i) {
|
|
2231
|
+
i !== e && this._syncAttribute(t, i);
|
|
2039
2232
|
}
|
|
2040
2233
|
_handleInput = () => {
|
|
2041
2234
|
this.dispatchEvent(
|
|
@@ -2062,66 +2255,66 @@ class o extends HTMLElement {
|
|
|
2062
2255
|
this._inputElement?.removeEventListener("input", this._handleInput), this._inputElement?.removeEventListener("change", this._handleChange);
|
|
2063
2256
|
}
|
|
2064
2257
|
_syncAttribute(t, e) {
|
|
2065
|
-
const
|
|
2258
|
+
const i = this._inputElement, s = this.shadowRoot?.querySelector(".input-label"), a = this.shadowRoot?.querySelector(".input-helper");
|
|
2066
2259
|
switch (t) {
|
|
2067
2260
|
case o._labelAttribute:
|
|
2068
|
-
|
|
2261
|
+
s != null && (s.textContent = e ?? "");
|
|
2069
2262
|
break;
|
|
2070
2263
|
case o._placeholderAttribute:
|
|
2071
|
-
|
|
2264
|
+
i?.setAttribute("placeholder", e ?? "");
|
|
2072
2265
|
break;
|
|
2073
2266
|
case o._valueAttribute:
|
|
2074
|
-
|
|
2267
|
+
i != null && (i.value = e ?? "");
|
|
2075
2268
|
break;
|
|
2076
2269
|
case o._typeAttribute:
|
|
2077
|
-
|
|
2270
|
+
i?.setAttribute("type", e ?? "text");
|
|
2078
2271
|
break;
|
|
2079
2272
|
case o._disabledAttribute:
|
|
2080
|
-
e !== null ?
|
|
2273
|
+
e !== null ? i?.setAttribute("disabled", "") : i?.removeAttribute("disabled");
|
|
2081
2274
|
break;
|
|
2082
2275
|
case o._requiredAttribute:
|
|
2083
|
-
e !== null ?
|
|
2276
|
+
e !== null ? i?.setAttribute("required", "") : i?.removeAttribute("required");
|
|
2084
2277
|
break;
|
|
2085
2278
|
case o._helperAttribute:
|
|
2086
2279
|
a != null && (a.textContent = e ?? "");
|
|
2087
2280
|
break;
|
|
2088
2281
|
case o._nameAttribute:
|
|
2089
|
-
e !== null && e !== "" ?
|
|
2282
|
+
e !== null && e !== "" ? i?.setAttribute("name", e) : i?.removeAttribute("name");
|
|
2090
2283
|
break;
|
|
2091
2284
|
}
|
|
2092
2285
|
}
|
|
2093
2286
|
_render() {
|
|
2094
2287
|
if (this.shadowRoot === null)
|
|
2095
2288
|
return;
|
|
2096
|
-
this.shadowRoot.innerHTML =
|
|
2289
|
+
this.shadowRoot.innerHTML = xe;
|
|
2097
2290
|
const t = this._inputElement;
|
|
2098
2291
|
if (t !== null) {
|
|
2099
2292
|
t.setAttribute(
|
|
2100
2293
|
"type",
|
|
2101
2294
|
this.getAttribute(o._typeAttribute) ?? "text"
|
|
2102
2295
|
), t.setAttribute("placeholder", this.placeholder), t.value = this.getAttribute(o._valueAttribute) ?? "", this.disabled && t.setAttribute("disabled", ""), this.hasAttribute(o._requiredAttribute) && t.setAttribute("required", "");
|
|
2103
|
-
const
|
|
2104
|
-
|
|
2296
|
+
const s = this.getAttribute(o._nameAttribute);
|
|
2297
|
+
s !== null && s !== "" && t.setAttribute("name", s);
|
|
2105
2298
|
}
|
|
2106
2299
|
const e = this.shadowRoot.querySelector(".input-label");
|
|
2107
2300
|
e !== null && (e.textContent = this.label);
|
|
2108
|
-
const
|
|
2109
|
-
|
|
2301
|
+
const i = this.shadowRoot.querySelector(".input-helper");
|
|
2302
|
+
i !== null && (i.textContent = this.helper), this._addEventListeners();
|
|
2110
2303
|
}
|
|
2111
2304
|
}
|
|
2112
|
-
const
|
|
2305
|
+
const Qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2113
2306
|
__proto__: null,
|
|
2114
2307
|
TextInputComponent: o,
|
|
2115
|
-
selector:
|
|
2116
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
2308
|
+
selector: Se
|
|
2309
|
+
}, Symbol.toStringTag, { value: "Module" })), ke = "ds-toggle", Le = `<label class="toggle-wrapper" part="wrapper">
|
|
2117
2310
|
<input class="toggle-input" type="checkbox" role="switch" />
|
|
2118
2311
|
<span class="toggle-track" part="track">
|
|
2119
2312
|
<span class="toggle-thumb" part="thumb"></span>
|
|
2120
2313
|
</span>
|
|
2121
2314
|
<span class="toggle-label" part="label"><slot></slot></span>
|
|
2122
2315
|
</label>
|
|
2123
|
-
`,
|
|
2124
|
-
|
|
2316
|
+
`, Re = "*{box-sizing:border-box}:host{display:inline-flex}.toggle-wrapper{display:inline-flex;align-items:center;gap:var(--gap-sm);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-primary)}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-track{position:relative;display:inline-flex;align-items:center;width:2.75rem;height:1.5rem;border-radius:var(--border-radius-full);background-color:var(--color-border-primary);transition:background-color var(--transition-fast);flex-shrink:0}.toggle-input:checked+.toggle-track{background-color:var(--color-primary)}.toggle-thumb{position:absolute;left:3px;width:1.125rem;height:1.125rem;border-radius:var(--border-radius-full);background-color:#fff;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(1.25rem)}.toggle-input:focus-visible+.toggle-track{outline:2px solid var(--color-primary);outline-offset:2px}.toggle-input:disabled+.toggle-track{opacity:.4;cursor:not-allowed}:host([disabled]) .toggle-wrapper{cursor:not-allowed;opacity:.5}:host([size=sm]) .toggle-track{width:2rem;height:1.125rem}:host([size=sm]) .toggle-thumb{width:.875rem;height:.875rem}:host([size=sm]) .toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(.875rem)}:host([size=lg]) .toggle-track{width:3.5rem;height:2rem}:host([size=lg]) .toggle-thumb{width:1.5rem;height:1.5rem}:host([size=lg]) .toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(1.5rem)}:host([variant=success]) .toggle-input:checked+.toggle-track{background-color:var(--color-success)}:host([variant=warning]) .toggle-input:checked+.toggle-track{background-color:var(--color-warning)}:host([variant=error]) .toggle-input:checked+.toggle-track{background-color:var(--color-error)}.toggle-label:empty{display:none}", ct = new CSSStyleSheet();
|
|
2317
|
+
ct.replaceSync(Re);
|
|
2125
2318
|
class l extends HTMLElement {
|
|
2126
2319
|
static _checkedAttribute = "checked";
|
|
2127
2320
|
static _disabledAttribute = "disabled";
|
|
@@ -2130,7 +2323,7 @@ class l extends HTMLElement {
|
|
|
2130
2323
|
static _nameAttribute = "name";
|
|
2131
2324
|
static _valueAttribute = "value";
|
|
2132
2325
|
constructor() {
|
|
2133
|
-
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(
|
|
2326
|
+
super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(ct);
|
|
2134
2327
|
}
|
|
2135
2328
|
static get observedAttributes() {
|
|
2136
2329
|
return [
|
|
@@ -2165,11 +2358,11 @@ class l extends HTMLElement {
|
|
|
2165
2358
|
disconnectedCallback() {
|
|
2166
2359
|
this._removeEventListeners();
|
|
2167
2360
|
}
|
|
2168
|
-
attributeChangedCallback(t, e,
|
|
2169
|
-
if (
|
|
2361
|
+
attributeChangedCallback(t, e, i) {
|
|
2362
|
+
if (i === e)
|
|
2170
2363
|
return;
|
|
2171
|
-
const
|
|
2172
|
-
|
|
2364
|
+
const s = this._inputElement;
|
|
2365
|
+
s !== null && (t === l._checkedAttribute ? s.checked = i !== null : t === l._disabledAttribute && (s.disabled = i !== null));
|
|
2173
2366
|
}
|
|
2174
2367
|
_handleChange = () => {
|
|
2175
2368
|
const t = this._inputElement?.checked ?? !1;
|
|
@@ -2190,40 +2383,42 @@ class l extends HTMLElement {
|
|
|
2190
2383
|
_render() {
|
|
2191
2384
|
if (this.shadowRoot === null)
|
|
2192
2385
|
return;
|
|
2193
|
-
this.shadowRoot.innerHTML =
|
|
2386
|
+
this.shadowRoot.innerHTML = Le;
|
|
2194
2387
|
const t = this._inputElement;
|
|
2195
2388
|
t != null && (t.checked = this.checked, t.disabled = this.disabled, this.getAttribute(l._nameAttribute) !== null && this.getAttribute(l._nameAttribute) !== "" && (t.name = this.getAttribute(l._nameAttribute) ?? ""), this.getAttribute(l._valueAttribute) !== null && this.getAttribute(l._valueAttribute) !== "" && (t.value = this.getAttribute(l._valueAttribute) ?? "on")), this._addEventListeners();
|
|
2196
2389
|
}
|
|
2197
2390
|
}
|
|
2198
|
-
const
|
|
2391
|
+
const Ze = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
2199
2392
|
__proto__: null,
|
|
2200
2393
|
ToggleComponent: l,
|
|
2201
|
-
selector:
|
|
2394
|
+
selector: ke
|
|
2202
2395
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
2203
2396
|
export {
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2397
|
+
ze as APPLICATION_NAME,
|
|
2398
|
+
Ve as Alert,
|
|
2399
|
+
Be as Avatar,
|
|
2400
|
+
Ye as Badge,
|
|
2401
|
+
De as BarMenu,
|
|
2402
|
+
$e as BaseButton,
|
|
2403
|
+
We as BaseCard,
|
|
2404
|
+
Fe as BaseDialog,
|
|
2405
|
+
j as CUSTOM_MESSAGES,
|
|
2406
|
+
He as CloseButton,
|
|
2407
|
+
Te as ConfirmButton,
|
|
2408
|
+
qe as ConfirmationDialog,
|
|
2409
|
+
Pe as HeaderBodyFooterDialog,
|
|
2410
|
+
Ce as LoaderBars,
|
|
2411
|
+
je as NextButton,
|
|
2412
|
+
Ne as PreviousButton,
|
|
2413
|
+
Ke as ProgressBar,
|
|
2414
|
+
Ge as Skeleton,
|
|
2415
|
+
Ue as Spinner,
|
|
2416
|
+
Xe as Tag,
|
|
2417
|
+
Qe as TextInput,
|
|
2418
|
+
Ze as Toggle,
|
|
2419
|
+
Je as Tooltip,
|
|
2420
|
+
Ie as UndoButton,
|
|
2421
|
+
Me as WebComponentsRegistry,
|
|
2422
|
+
bt as clearThemes,
|
|
2423
|
+
Oe as switchTheme
|
|
2229
2424
|
};
|