@albi_scando/as-design-system-lib 1.7.1 → 1.7.3

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.
@@ -1,5 +1,5 @@
1
- const ht = "as-design-system-lib";
2
- class bt {
1
+ const yt = "as-design-system-lib";
2
+ class ft {
3
3
  /**
4
4
  * Creates an instance of WebComponentsRegistry.
5
5
  * Registers all custom elements provided in the map of components.
@@ -36,13 +36,100 @@ class bt {
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 E = {
40
40
  CONFIRMATION_DIALOG_CONFIRM: "confirmation-dialog-confirm",
41
41
  CONFIRMATION_DIALOG_UNDO: "confirmation-dialog-undo"
42
- }, o = "", p = {
42
+ }, f = {
43
+ FERRARI: "Ferrari theme inspired by the iconic red color of Ferrari cars.",
44
+ LIGHT: "Light theme with a clean and minimalistic design.",
45
+ LIGHT_BLUE: "Light Blue theme with a refreshing and calm appearance.",
46
+ DARK: "Dark theme with a sleek and modern look.",
47
+ DARK_PURPLE: "Dark Purple theme with a luxurious and elegant feel."
48
+ }, _ = {
49
+ FERRARI: "🏎️",
50
+ LIGHT: "☀️",
51
+ LIGHT_BLUE: "🫧",
52
+ DARK: "🌙",
53
+ DARK_PURPLE: "🟣"
54
+ }, A = {
55
+ FERRARI: "Ferrari",
56
+ LIGHT: "Light",
57
+ LIGHT_BLUE: "Light Blue",
58
+ DARK: "Dark",
59
+ DARK_PURPLE: "Dark Purple"
60
+ }, S = {
61
+ FERRARI: "ferrari",
62
+ LIGHT: "light",
63
+ LIGHT_BLUE: "light-blue",
64
+ DARK: "dark",
65
+ DARK_PURPLE: "dark-purple"
66
+ }, c = {
67
+ FERRARI: "ferrari",
68
+ LIGHT: "light",
69
+ LIGHT_BLUE: "light-blue",
70
+ DARK: "dark",
71
+ DARK_PURPLE: "dark-purple"
72
+ }, G = /* @__PURE__ */ new Map([
73
+ [
74
+ c.DARK,
75
+ {
76
+ description: f.DARK,
77
+ icon: _.DARK,
78
+ id: c.DARK,
79
+ name: A.DARK,
80
+ value: S.DARK
81
+ }
82
+ ],
83
+ [
84
+ c.DARK_PURPLE,
85
+ {
86
+ description: f.DARK_PURPLE,
87
+ icon: _.DARK_PURPLE,
88
+ id: c.DARK_PURPLE,
89
+ name: A.DARK_PURPLE,
90
+ value: S.DARK_PURPLE
91
+ }
92
+ ],
93
+ [
94
+ c.FERRARI,
95
+ {
96
+ description: f.FERRARI,
97
+ icon: _.FERRARI,
98
+ id: c.FERRARI,
99
+ name: A.FERRARI,
100
+ value: S.FERRARI
101
+ }
102
+ ],
103
+ [
104
+ c.LIGHT,
105
+ {
106
+ description: f.LIGHT,
107
+ icon: _.LIGHT,
108
+ id: c.LIGHT,
109
+ name: A.LIGHT,
110
+ value: S.LIGHT
111
+ }
112
+ ],
113
+ [
114
+ c.LIGHT_BLUE,
115
+ {
116
+ description: f.LIGHT_BLUE,
117
+ icon: _.LIGHT_BLUE,
118
+ id: c.LIGHT_BLUE,
119
+ name: A.LIGHT_BLUE,
120
+ value: S.LIGHT_BLUE
121
+ }
122
+ ]
123
+ ]), _t = (m) => {
124
+ F();
125
+ const t = G.get(m)?.value;
126
+ t !== void 0 && document.body.classList.add(t);
127
+ }, F = () => {
128
+ document.body.classList.remove(...Object.values(c));
129
+ }, B = "base-button", o = "", g = {
43
130
  SHOW_MODAL: "show-modal",
44
131
  CLOSE: "close"
45
- }, H = {
132
+ }, j = {
46
133
  CUSTOM_CROSSHAIR: `<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
47
134
  <!-- White border (underneath) -->
48
135
  <line x1="16" y1="2" x2="16" y2="30" stroke="white" stroke-width="5"/>
@@ -53,28 +140,19 @@ const _ = {
53
140
  <line x1="2" y1="16" x2="30" y2="16" stroke="black" stroke-width="2"/>
54
141
  </svg>`
55
142
  };
56
- `${btoa(H.CUSTOM_CROSSHAIR)}`;
57
- const A = {
143
+ `${btoa(j.CUSTOM_CROSSHAIR)}`;
144
+ const R = {
58
145
  ANY: "any",
59
146
  NONE: "none"
60
- }, E = {
147
+ }, O = {
61
148
  KEY_DOWN: "keydown"
62
- }, h = {
149
+ }, b = {
63
150
  CLICK: "click"
64
- }, P = {
65
- FERRARI: "ferrari",
66
- LIGHT: "light",
67
- LIGHT_BLUE: "light-blue",
68
- DARK: "dark",
69
- DARK_PURPLE: "dark-purple"
70
- }, vt = (y) => {
71
- const t = document.body;
72
- t.classList.remove(...Object.values(P)), t.classList.add(y);
73
- }, j = "base-button", D = `<button part="button">
151
+ }, V = `<button part="button">
74
152
  <slot></slot>
75
153
  </button>
76
- `, V = ":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-medium);font-family:var(--font-family-base);letter-spacing:var(--letter-spacing-normal);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-primary);border-radius:var(--border-radius-lg);transition:all var(--transition-base)}: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:.3;cursor:not-allowed}:where(button,input[type=button],input[type=submit],input[type=reset]):where(:not(:disabled):hover),: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)}:where(input[type=file]){inline-size:100%;max-inline-size:max-content;background-color:var(--color-bg-secondary)}", x = new CSSStyleSheet();
77
- x.replaceSync(V);
154
+ `, q = ":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-medium);font-family:var(--font-family-base);letter-spacing:var(--letter-spacing-normal);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-primary);border-radius:var(--border-radius-lg);transition:all var(--transition-base)}: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:.3;cursor:not-allowed}:where(button,input[type=button],input[type=submit],input[type=reset]):where(:not(:disabled):hover),: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)}:where(input[type=file]){inline-size:100%;max-inline-size:max-content;background-color:var(--color-bg-secondary)}", N = new CSSStyleSheet();
155
+ N.replaceSync(q);
78
156
  class i extends HTMLElement {
79
157
  /**
80
158
  * @see HTMLButtonElement.autofocus
@@ -113,7 +191,7 @@ class i extends HTMLElement {
113
191
  * @ignore
114
192
  */
115
193
  constructor() {
116
- super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(x);
194
+ super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(N);
117
195
  }
118
196
  /**
119
197
  * Specifies which attributes should be observed for changes.
@@ -214,7 +292,7 @@ class i extends HTMLElement {
214
292
  * Syncs host attributes to the internal button element.
215
293
  */
216
294
  _render() {
217
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = D, this._syncAttributes());
295
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = V, this._syncAttributes());
218
296
  }
219
297
  /**
220
298
  * Adds event listeners to the component.
@@ -222,7 +300,7 @@ class i extends HTMLElement {
222
300
  * @returns {void}
223
301
  */
224
302
  _addEventListeners() {
225
- this.buttonElement.addEventListener(h.CLICK, this._handleClick);
303
+ this.buttonElement.addEventListener(b.CLICK, this._handleClick);
226
304
  }
227
305
  /**
228
306
  * Removes event listeners from the component.
@@ -230,7 +308,7 @@ class i extends HTMLElement {
230
308
  * @returns {void}
231
309
  */
232
310
  _removeEventListeners() {
233
- this.buttonElement.addEventListener(h.CLICK, this._handleClick);
311
+ this.buttonElement.addEventListener(b.CLICK, this._handleClick);
234
312
  }
235
313
  /**
236
314
  * Handles the internal button click event and executes the configured command.
@@ -262,10 +340,10 @@ class i extends HTMLElement {
262
340
  return;
263
341
  const e = t;
264
342
  switch (this.command) {
265
- case p.SHOW_MODAL:
343
+ case g.SHOW_MODAL:
266
344
  e.showModal?.();
267
345
  break;
268
- case p.CLOSE:
346
+ case g.CLOSE:
269
347
  e.close?.();
270
348
  break;
271
349
  }
@@ -351,23 +429,23 @@ class i extends HTMLElement {
351
429
  });
352
430
  }
353
431
  }
354
- const pt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
432
+ const At = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
355
433
  __proto__: null,
356
434
  BaseButtonComponent: i,
357
- selector: j
358
- }, Symbol.toStringTag, { value: "Module" })), q = `<button title="Undo" part="button">
435
+ selector: B
436
+ }, Symbol.toStringTag, { value: "Module" })), z = `<button title="Undo" part="button">
359
437
  <span class="material-symbols-outlined">undo</span>
360
438
  <span>Undo</span>
361
439
  </button>
362
- `, z = "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)}", I = new CSSStyleSheet();
363
- I.replaceSync(z);
364
- class F extends i {
440
+ `, W = "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)}", T = new CSSStyleSheet();
441
+ T.replaceSync(W);
442
+ class Y extends i {
365
443
  /**
366
444
  * @constructor
367
445
  * @ignore
368
446
  */
369
447
  constructor() {
370
- super(), this.shadowRoot?.adoptedStyleSheets.push(I), this.command = p.CLOSE, this.title = "Undo";
448
+ super(), this.shadowRoot?.adoptedStyleSheets.push(T), this.command = g.CLOSE, this.title = "Undo";
371
449
  }
372
450
  /**
373
451
  * Specifies which attributes should be observed for changes.
@@ -385,7 +463,7 @@ class F extends i {
385
463
  * Renders the component's HTML structure.
386
464
  */
387
465
  _render() {
388
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = q, this._syncAttributes());
466
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = z, this._syncAttributes());
389
467
  }
390
468
  /**
391
469
  * It finds the closest parent dialog and
@@ -400,23 +478,23 @@ class F extends i {
400
478
  e !== null && (this.commandfor = e.id);
401
479
  }
402
480
  }
403
- const S = "undo-button", yt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
481
+ const I = "undo-button", St = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
404
482
  __proto__: null,
405
- UndoButtonComponent: F,
406
- selector: S
407
- }, Symbol.toStringTag, { value: "Module" })), U = `<button title="Confirm" part="button">
483
+ UndoButtonComponent: Y,
484
+ selector: I
485
+ }, Symbol.toStringTag, { value: "Module" })), X = `<button title="Confirm" part="button">
408
486
  <span class="material-symbols-outlined">check</span>
409
487
  <span>Confirm</span>
410
488
  </button>
411
- `, K = "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)}", O = new CSSStyleSheet();
412
- O.replaceSync(K);
413
- class B extends i {
489
+ `, J = "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)}", C = new CSSStyleSheet();
490
+ C.replaceSync(J);
491
+ class Q extends i {
414
492
  /**
415
493
  * @constructor
416
494
  * @ignore
417
495
  */
418
496
  constructor() {
419
- super(), this.shadowRoot?.adoptedStyleSheets.push(O), this.command = p.CLOSE, this.title = "Confirm";
497
+ super(), this.shadowRoot?.adoptedStyleSheets.push(C), this.command = g.CLOSE, this.title = "Confirm";
420
498
  }
421
499
  /**
422
500
  * Specifies which attributes should be observed for changes.
@@ -434,7 +512,7 @@ class B extends i {
434
512
  * Renders the component's HTML structure.
435
513
  */
436
514
  _render() {
437
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = U, this._syncAttributes());
515
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = X, this._syncAttributes());
438
516
  }
439
517
  /**
440
518
  * It finds the closest parent dialog and
@@ -449,16 +527,16 @@ class B extends i {
449
527
  e !== null && (this.commandfor = e.id);
450
528
  }
451
529
  }
452
- const w = "confirm-button", gt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
530
+ const x = "confirm-button", Lt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
453
531
  __proto__: null,
454
- ConfirmButtonComponent: B,
455
- selector: w
456
- }, Symbol.toStringTag, { value: "Module" })), W = `<button part="button">
532
+ ConfirmButtonComponent: Q,
533
+ selector: x
534
+ }, Symbol.toStringTag, { value: "Module" })), Z = `<button part="button">
457
535
  <span class="material-symbols-outlined">chevron_left</span>
458
536
  </button>
459
- `, G = "button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}", R = new CSSStyleSheet();
460
- R.replaceSync(G);
461
- class f extends i {
537
+ `, tt = "button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}", M = new CSSStyleSheet();
538
+ M.replaceSync(tt);
539
+ class L extends i {
462
540
  static _disabledAttribute = "disabled";
463
541
  static _titleAttribute = "title";
464
542
  /**
@@ -466,7 +544,7 @@ class f extends i {
466
544
  * @ignore
467
545
  */
468
546
  constructor() {
469
- super(), this.shadowRoot?.adoptedStyleSheets.push(R), this.command = p.CLOSE;
547
+ super(), this.shadowRoot?.adoptedStyleSheets.push(M), this.command = g.CLOSE;
470
548
  }
471
549
  /**
472
550
  * Specifies which attributes should be observed for changes.
@@ -485,13 +563,13 @@ class f extends i {
485
563
  * Updates the title visibility based on disabled state.
486
564
  */
487
565
  attributeChangedCallback(t, e, s) {
488
- super.attributeChangedCallback(t, e, s), t === f._disabledAttribute && this._updateTitle();
566
+ super.attributeChangedCallback(t, e, s), t === L._disabledAttribute && this._updateTitle();
489
567
  }
490
568
  /**
491
569
  * Renders the component's HTML structure.
492
570
  */
493
571
  _render() {
494
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = W, this._syncAttributes());
572
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = Z, this._syncAttributes());
495
573
  }
496
574
  /**
497
575
  * Updates the title attribute based on disabled state.
@@ -501,19 +579,19 @@ class f extends i {
501
579
  const t = this.shadowRoot?.querySelector(
502
580
  "button"
503
581
  );
504
- t !== null && (this.disabled ? t.removeAttribute(f._titleAttribute) : t.setAttribute(f._titleAttribute, "Previous"));
582
+ t !== null && (this.disabled ? t.removeAttribute(L._titleAttribute) : t.setAttribute(L._titleAttribute, "Previous"));
505
583
  }
506
584
  }
507
- const Y = "previous-button", ft = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
585
+ const et = "previous-button", wt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
508
586
  __proto__: null,
509
- PreviousButtonComponent: f,
510
- selector: Y
511
- }, Symbol.toStringTag, { value: "Module" })), X = `<button part="button">
587
+ PreviousButtonComponent: L,
588
+ selector: et
589
+ }, Symbol.toStringTag, { value: "Module" })), it = `<button part="button">
512
590
  <span class="material-symbols-outlined">chevron_right</span>
513
591
  </button>
514
- `, J = "button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}", k = new CSSStyleSheet();
515
- k.replaceSync(J);
516
- class m extends i {
592
+ `, st = "button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}", H = new CSSStyleSheet();
593
+ H.replaceSync(st);
594
+ class w extends i {
517
595
  static _disabledAttribute = "disabled";
518
596
  static _titleAttribute = "title";
519
597
  /**
@@ -521,7 +599,7 @@ class m extends i {
521
599
  * @ignore
522
600
  */
523
601
  constructor() {
524
- super(), this.shadowRoot?.adoptedStyleSheets.push(k), this.command = p.CLOSE;
602
+ super(), this.shadowRoot?.adoptedStyleSheets.push(H), this.command = g.CLOSE;
525
603
  }
526
604
  /**
527
605
  * Specifies which attributes should be observed for changes.
@@ -540,13 +618,13 @@ class m extends i {
540
618
  * Updates the title visibility based on disabled state.
541
619
  */
542
620
  attributeChangedCallback(t, e, s) {
543
- super.attributeChangedCallback(t, e, s), t === m._disabledAttribute && this._updateTitle();
621
+ super.attributeChangedCallback(t, e, s), t === w._disabledAttribute && this._updateTitle();
544
622
  }
545
623
  /**
546
624
  * Renders the component's HTML structure.
547
625
  */
548
626
  _render() {
549
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = X, this._syncAttributes());
627
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = it, this._syncAttributes());
550
628
  }
551
629
  /**
552
630
  * Updates the title attribute based on disabled state.
@@ -556,19 +634,19 @@ class m extends i {
556
634
  const t = this.shadowRoot?.querySelector(
557
635
  "button"
558
636
  );
559
- t !== null && (this.disabled ? t.removeAttribute(m._titleAttribute) : t.setAttribute(m._titleAttribute, "Next"));
637
+ t !== null && (this.disabled ? t.removeAttribute(w._titleAttribute) : t.setAttribute(w._titleAttribute, "Next"));
560
638
  }
561
639
  }
562
- const Q = "next-button", mt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
640
+ const rt = "next-button", Et = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
563
641
  __proto__: null,
564
- NextButtonComponent: m,
565
- selector: Q
566
- }, Symbol.toStringTag, { value: "Module" })), Z = `<dialog part="dialog">
642
+ NextButtonComponent: w,
643
+ selector: rt
644
+ }, Symbol.toStringTag, { value: "Module" })), nt = `<dialog part="dialog">
567
645
  <slot></slot>
568
646
  </dialog>
569
- `, tt = "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);max-width:90vw;max-height:90vh;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}}", N = new CSSStyleSheet();
570
- N.replaceSync(tt);
571
- class b extends HTMLElement {
647
+ `, ot = "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);max-width:90vw;max-height:90vh;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}}", P = new CSSStyleSheet();
648
+ P.replaceSync(ot);
649
+ class v extends HTMLElement {
572
650
  /**
573
651
  * @see HTMLDialogElement.closedBy
574
652
  */
@@ -577,31 +655,31 @@ class b extends HTMLElement {
577
655
  * Defines how the dialog can be closed.
578
656
  * @see DialogClosedBy
579
657
  */
580
- _closedBy = A.ANY;
658
+ _closedBy = R.ANY;
581
659
  /**
582
660
  * @constructor
583
661
  * @ignore
584
662
  */
585
663
  constructor() {
586
- super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(N);
664
+ super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(P);
587
665
  }
588
666
  /**
589
667
  * Specifies which attributes should be observed for changes.
590
668
  */
591
669
  static get observedAttributes() {
592
- return [b.closedByAttribute];
670
+ return [v.closedByAttribute];
593
671
  }
594
672
  get dialogElement() {
595
673
  return this.shadowRoot?.querySelector("dialog");
596
674
  }
597
675
  get command() {
598
- return this.getAttribute(b.closedByAttribute) ?? A.ANY;
676
+ return this.getAttribute(v.closedByAttribute) ?? R.ANY;
599
677
  }
600
678
  get closedBy() {
601
679
  return this._closedBy;
602
680
  }
603
681
  set closedBy(t) {
604
- this._closedBy = t, this.setAttribute(b.closedByAttribute, t);
682
+ this._closedBy = t, this.setAttribute(v.closedByAttribute, t);
605
683
  }
606
684
  /**
607
685
  * Lifecycle
@@ -653,7 +731,7 @@ class b extends HTMLElement {
653
731
  * @returns {void}
654
732
  */
655
733
  _render() {
656
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = Z, this._syncAttributes());
734
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = nt, this._syncAttributes());
657
735
  }
658
736
  /**
659
737
  * Syncs a single attribute from host to dialog element.
@@ -672,7 +750,7 @@ class b extends HTMLElement {
672
750
  * @returns {void}
673
751
  */
674
752
  _syncAttributes() {
675
- b.observedAttributes.forEach((t) => {
753
+ v.observedAttributes.forEach((t) => {
676
754
  this._syncAttribute(t);
677
755
  });
678
756
  }
@@ -698,11 +776,11 @@ class b extends HTMLElement {
698
776
  }, 300);
699
777
  }
700
778
  }
701
- const et = "base-dialog", _t = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
779
+ const at = "base-dialog", Rt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
702
780
  __proto__: null,
703
- BaseDialogComponent: b,
704
- selector: et
705
- }, Symbol.toStringTag, { value: "Module" })), it = `<dialog part="dialog">
781
+ BaseDialogComponent: v,
782
+ selector: at
783
+ }, Symbol.toStringTag, { value: "Module" })), lt = `<dialog part="dialog">
706
784
  <header part="header">
707
785
  <h2></h2>
708
786
  </header>
@@ -714,7 +792,7 @@ const et = "base-dialog", _t = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Obj
714
792
  <undo-button></undo-button>
715
793
  </footer>
716
794
  </dialog>
717
- `, st = "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}", rt = `<dialog part="dialog">
795
+ `, dt = "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}", ut = `<dialog part="dialog">
718
796
  <header part="header">
719
797
  <slot name="header"></slot>
720
798
  </header>
@@ -725,9 +803,9 @@ const et = "base-dialog", _t = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Obj
725
803
  <slot name="footer"></slot>
726
804
  </footer>
727
805
  </dialog>
728
- `, nt = 'dialog[open]{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}', C = new CSSStyleSheet();
729
- C.replaceSync(nt);
730
- class L extends b {
806
+ `, ct = 'dialog[open]{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}', D = new CSSStyleSheet();
807
+ D.replaceSync(ct);
808
+ class k extends v {
731
809
  _sectionNames = ["header", "body", "footer"];
732
810
  _handleSlotChange = () => {
733
811
  this._updateSectionState();
@@ -737,14 +815,14 @@ class L extends b {
737
815
  * @ignore
738
816
  */
739
817
  constructor() {
740
- super(), this.shadowRoot?.adoptedStyleSheets.push(C);
818
+ super(), this.shadowRoot?.adoptedStyleSheets.push(D);
741
819
  }
742
820
  /**
743
821
  * Specifies which attributes should be observed for changes.
744
822
  * Uses parent's attributes since we're extending the base dialog.
745
823
  */
746
824
  static get observedAttributes() {
747
- return b.observedAttributes;
825
+ return v.observedAttributes;
748
826
  }
749
827
  /**
750
828
  * Renders the component's HTML structure.
@@ -753,7 +831,7 @@ class L extends b {
753
831
  * @returns {void}
754
832
  */
755
833
  _render() {
756
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = rt, this._syncAttributes());
834
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = ut, this._syncAttributes());
757
835
  }
758
836
  /**
759
837
  * Adds slot listeners so sections can react to projected content changes.
@@ -799,9 +877,9 @@ class L extends b {
799
877
  });
800
878
  }
801
879
  }
802
- const M = new CSSStyleSheet();
803
- M.replaceSync(st);
804
- class d extends L {
880
+ const $ = new CSSStyleSheet();
881
+ $.replaceSync(dt);
882
+ class u extends k {
805
883
  /**
806
884
  * The title of the confirmation dialog.
807
885
  */
@@ -830,7 +908,7 @@ class d extends L {
830
908
  * @constructor
831
909
  */
832
910
  constructor() {
833
- super(), this.shadowRoot?.adoptedStyleSheets.push(M);
911
+ super(), this.shadowRoot?.adoptedStyleSheets.push($);
834
912
  }
835
913
  /**
836
914
  * Specifies which attributes should be observed for changes.
@@ -838,23 +916,23 @@ class d extends L {
838
916
  */
839
917
  static get observedAttributes() {
840
918
  return [
841
- ...L.observedAttributes,
842
- d.textAttribute,
843
- d.headlineAttribute,
844
- d.valueAttribute
919
+ ...k.observedAttributes,
920
+ u.textAttribute,
921
+ u.headlineAttribute,
922
+ u.valueAttribute
845
923
  ];
846
924
  }
847
925
  get headline() {
848
926
  return this._headline;
849
927
  }
850
928
  set headline(t) {
851
- this._headline = t, this.setAttribute(d.headlineAttribute, t);
929
+ this._headline = t, this.setAttribute(u.headlineAttribute, t);
852
930
  }
853
931
  get text() {
854
932
  return this._text;
855
933
  }
856
934
  set text(t) {
857
- this._text = t, this.setAttribute(d.textAttribute, t);
935
+ this._text = t, this.setAttribute(u.textAttribute, t);
858
936
  }
859
937
  get value() {
860
938
  return this._value;
@@ -868,7 +946,7 @@ class d extends L {
868
946
  * @returns {void}
869
947
  */
870
948
  connectedCallback() {
871
- this._render(), this._addEventListeners(), this.closedBy = A.NONE;
949
+ this._render(), this._addEventListeners(), this.closedBy = R.NONE;
872
950
  }
873
951
  /**
874
952
  * Renders the component's HTML structure.
@@ -877,7 +955,7 @@ class d extends L {
877
955
  * @returns {void}
878
956
  */
879
957
  _render() {
880
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = it, this._syncAttributes());
958
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = lt, this._syncAttributes());
881
959
  }
882
960
  /**
883
961
  * Syncs a single attribute from host to the DOM elements.
@@ -886,21 +964,21 @@ class d extends L {
886
964
  * @returns {void}
887
965
  */
888
966
  _syncAttribute(t) {
889
- if (d.observedAttributes.includes(t))
967
+ if (u.observedAttributes.includes(t))
890
968
  switch (t) {
891
- case d.headlineAttribute: {
969
+ case u.headlineAttribute: {
892
970
  this._headline = this.getAttribute(t) ?? o;
893
971
  const e = this.shadowRoot?.querySelector("h2");
894
972
  e != null && (e.textContent = this._headline);
895
973
  break;
896
974
  }
897
- case d.textAttribute: {
975
+ case u.textAttribute: {
898
976
  this._text = this.getAttribute(t) ?? o;
899
977
  const e = this.shadowRoot?.querySelector("p");
900
978
  e != null && (e.textContent = this._text);
901
979
  break;
902
980
  }
903
- case d.valueAttribute: {
981
+ case u.valueAttribute: {
904
982
  this._value = this.getAttribute(t);
905
983
  break;
906
984
  }
@@ -917,7 +995,7 @@ class d extends L {
917
995
  * @returns {void}
918
996
  */
919
997
  _syncAttributes() {
920
- super._syncAttributes(), d.observedAttributes.forEach((t) => {
998
+ super._syncAttributes(), u.observedAttributes.forEach((t) => {
921
999
  this._syncAttribute(t);
922
1000
  });
923
1001
  }
@@ -928,8 +1006,8 @@ class d extends L {
928
1006
  */
929
1007
  _addEventListeners() {
930
1008
  super._addEventListeners(), this.shadowRoot?.querySelector(
931
- w
932
- )?.addEventListener(h.CLICK, this._handleConfirm), this.shadowRoot?.querySelector(S)?.addEventListener(h.CLICK, this._handleUndo);
1009
+ x
1010
+ )?.addEventListener(b.CLICK, this._handleConfirm), this.shadowRoot?.querySelector(I)?.addEventListener(b.CLICK, this._handleUndo);
933
1011
  }
934
1012
  /**
935
1013
  * Removes event listeners.
@@ -938,8 +1016,8 @@ class d extends L {
938
1016
  */
939
1017
  _removeEventListeners() {
940
1018
  super._removeEventListeners(), this.shadowRoot?.querySelector(
941
- w
942
- )?.removeEventListener(h.CLICK, this._handleConfirm), this.shadowRoot?.querySelector(S)?.removeEventListener(h.CLICK, this._handleUndo);
1019
+ x
1020
+ )?.removeEventListener(b.CLICK, this._handleConfirm), this.shadowRoot?.querySelector(I)?.removeEventListener(b.CLICK, this._handleUndo);
943
1021
  }
944
1022
  /**
945
1023
  * Handles the confirm button click event.
@@ -949,7 +1027,7 @@ class d extends L {
949
1027
  */
950
1028
  _handleConfirm = () => {
951
1029
  const t = new CustomEvent(
952
- _.CONFIRMATION_DIALOG_CONFIRM,
1030
+ E.CONFIRMATION_DIALOG_CONFIRM,
953
1031
  {
954
1032
  bubbles: !0,
955
1033
  composed: !0,
@@ -962,7 +1040,7 @@ class d extends L {
962
1040
  };
963
1041
  _handleUndo = () => {
964
1042
  const t = new CustomEvent(
965
- _.CONFIRMATION_DIALOG_UNDO,
1043
+ E.CONFIRMATION_DIALOG_UNDO,
966
1044
  {
967
1045
  bubbles: !0,
968
1046
  composed: !0,
@@ -974,19 +1052,19 @@ class d extends L {
974
1052
  this.dispatchEvent(t), this._value = void 0;
975
1053
  };
976
1054
  }
977
- const ot = "confirmation-dialog", at = {
978
- CONFIRMATION_DIALOG_CONFIRM: _.CONFIRMATION_DIALOG_CONFIRM,
979
- CONFIRMATION_DIALOG_UNDO: _.CONFIRMATION_DIALOG_UNDO
980
- }, At = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1055
+ const ht = "confirmation-dialog", bt = {
1056
+ CONFIRMATION_DIALOG_CONFIRM: E.CONFIRMATION_DIALOG_CONFIRM,
1057
+ CONFIRMATION_DIALOG_UNDO: E.CONFIRMATION_DIALOG_UNDO
1058
+ }, It = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
981
1059
  __proto__: null,
982
- COMPONENT_CUSTOM_MESSAGES: at,
983
- ConfirmationDialogComponent: d,
984
- selector: ot
985
- }, Symbol.toStringTag, { value: "Module" })), lt = "header-body-footer-dialog", St = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1060
+ COMPONENT_CUSTOM_MESSAGES: bt,
1061
+ ConfirmationDialogComponent: u,
1062
+ selector: ht
1063
+ }, Symbol.toStringTag, { value: "Module" })), vt = "header-body-footer-dialog", xt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
986
1064
  __proto__: null,
987
- HeaderBodyFooterDialogComponent: L,
988
- selector: lt
989
- }, Symbol.toStringTag, { value: "Module" })), ut = `<div class="bar-menu-container">
1065
+ HeaderBodyFooterDialogComponent: k,
1066
+ selector: vt
1067
+ }, Symbol.toStringTag, { value: "Module" })), pt = `<div class="bar-menu-container">
990
1068
  <previous-button class="nav-prev" part="nav-prev-button"></previous-button>
991
1069
 
992
1070
  <div class="buttons-wrapper" part="buttons-wrapper">
@@ -995,9 +1073,9 @@ const ot = "confirmation-dialog", at = {
995
1073
 
996
1074
  <next-button class="nav-next" part="nav-next-button"></next-button>
997
1075
  </div>
998
- `, dt = ":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)}", T = new CSSStyleSheet();
999
- T.replaceSync(dt);
1000
- class c extends HTMLElement {
1076
+ `, gt = ":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)}", U = new CSSStyleSheet();
1077
+ U.replaceSync(gt);
1078
+ class h extends HTMLElement {
1001
1079
  static _visibleCountAttribute = "visible-count";
1002
1080
  static _cyclicalNavigationAttribute = "cyclical-navigation";
1003
1081
  _currentIndex = 0;
@@ -1015,19 +1093,19 @@ class c extends HTMLElement {
1015
1093
  * @constructor
1016
1094
  */
1017
1095
  constructor() {
1018
- super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(T);
1096
+ super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(U);
1019
1097
  }
1020
1098
  /**
1021
1099
  * Specifies which attributes should be observed for changes.
1022
1100
  */
1023
1101
  static get observedAttributes() {
1024
1102
  return [
1025
- c._visibleCountAttribute,
1026
- c._cyclicalNavigationAttribute
1103
+ h._visibleCountAttribute,
1104
+ h._cyclicalNavigationAttribute
1027
1105
  ];
1028
1106
  }
1029
1107
  get visibleButtons() {
1030
- const t = this.getAttribute(c._visibleCountAttribute);
1108
+ const t = this.getAttribute(h._visibleCountAttribute);
1031
1109
  if (t !== null && t !== o) {
1032
1110
  const e = parseInt(t, 10);
1033
1111
  return Math.max(this._MIN_VISIBLE, Math.min(this._MAX_VISIBLE, e));
@@ -1039,16 +1117,16 @@ class c extends HTMLElement {
1039
1117
  this._MIN_VISIBLE,
1040
1118
  Math.min(this._MAX_VISIBLE, t)
1041
1119
  );
1042
- this.setAttribute(c._visibleCountAttribute, String(e));
1120
+ this.setAttribute(h._visibleCountAttribute, String(e));
1043
1121
  }
1044
1122
  get cyclicalNavigation() {
1045
- return this.hasAttribute(c._cyclicalNavigationAttribute);
1123
+ return this.hasAttribute(h._cyclicalNavigationAttribute);
1046
1124
  }
1047
1125
  set cyclicalNavigation(t) {
1048
1126
  t ? this.setAttribute(
1049
- c._cyclicalNavigationAttribute,
1127
+ h._cyclicalNavigationAttribute,
1050
1128
  o
1051
- ) : this.removeAttribute(c._cyclicalNavigationAttribute);
1129
+ ) : this.removeAttribute(h._cyclicalNavigationAttribute);
1052
1130
  }
1053
1131
  /**
1054
1132
  * Lifecycle hook: component inserted into DOM
@@ -1066,16 +1144,16 @@ class c extends HTMLElement {
1066
1144
  * Lifecycle hook: observed attribute changed
1067
1145
  */
1068
1146
  attributeChangedCallback(t, e, s) {
1069
- t === c._visibleCountAttribute ? (this._visibleCount = this.visibleButtons, this._buttonsWrapper !== null && this._buttonsWrapper.style.setProperty(
1147
+ t === h._visibleCountAttribute ? (this._visibleCount = this.visibleButtons, this._buttonsWrapper !== null && this._buttonsWrapper.style.setProperty(
1070
1148
  "--bar-menu-visible-count",
1071
1149
  String(this.visibleButtons)
1072
- ), this._updateButtonVisibility()) : t === c._cyclicalNavigationAttribute && (this._cyclicalNavigation = this.cyclicalNavigation, this._updateButtonVisibility());
1150
+ ), this._updateButtonVisibility()) : t === h._cyclicalNavigationAttribute && (this._cyclicalNavigation = this.cyclicalNavigation, this._updateButtonVisibility());
1073
1151
  }
1074
1152
  /**
1075
1153
  * Render the component's Shadow DOM structure
1076
1154
  */
1077
1155
  _render() {
1078
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = ut);
1156
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = pt);
1079
1157
  }
1080
1158
  /**
1081
1159
  * Cache Shadow DOM elements for performance
@@ -1084,9 +1162,9 @@ class c extends HTMLElement {
1084
1162
  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(
1085
1163
  "--bar-menu-visible-count",
1086
1164
  String(this.visibleButtons)
1087
- ), this._navPrevButton !== null && (this._navPrevButton.setAttribute("aria-label", "Previous"), this._navPrevButton.addEventListener(h.CLICK, () => {
1165
+ ), this._navPrevButton !== null && (this._navPrevButton.setAttribute("aria-label", "Previous"), this._navPrevButton.addEventListener(b.CLICK, () => {
1088
1166
  this._scrollPrevious();
1089
- })), this._navNextButton !== null && (this._navNextButton.setAttribute("aria-label", "Next"), this._navNextButton.addEventListener(h.CLICK, () => {
1167
+ })), this._navNextButton !== null && (this._navNextButton.setAttribute("aria-label", "Next"), this._navNextButton.addEventListener(b.CLICK, () => {
1090
1168
  this._scrollNext();
1091
1169
  }));
1092
1170
  }
@@ -1113,13 +1191,13 @@ class c extends HTMLElement {
1113
1191
  _setupKeyboardListener() {
1114
1192
  this._keyDownListener = (t) => {
1115
1193
  t.key === "ArrowLeft" ? (t.preventDefault(), this._scrollPrevious()) : t.key === "ArrowRight" && (t.preventDefault(), this._scrollNext());
1116
- }, this.addEventListener(E.KEY_DOWN, this._keyDownListener);
1194
+ }, this.addEventListener(O.KEY_DOWN, this._keyDownListener);
1117
1195
  }
1118
1196
  /**
1119
1197
  * Remove keyboard listener
1120
1198
  */
1121
1199
  _removeKeyboardListener() {
1122
- this._keyDownListener !== null && this.removeEventListener(E.KEY_DOWN, this._keyDownListener);
1200
+ this._keyDownListener !== null && this.removeEventListener(O.KEY_DOWN, this._keyDownListener);
1123
1201
  }
1124
1202
  /**
1125
1203
  * Get all slotted button elements
@@ -1132,25 +1210,25 @@ class c extends HTMLElement {
1132
1210
  */
1133
1211
  _updateButtonVisibility(t) {
1134
1212
  const e = this._getSlottedButtons(), s = e.length, r = this.visibleButtons, n = this._currentIndex, l = Math.min(n + r, s);
1135
- e.forEach((a, u) => {
1136
- const g = u >= n && u < l, v = a;
1137
- g || (a.classList.remove("visible-button"), a.classList.remove("animating"), v.style.display = "none");
1138
- }), t !== void 0 ? (e[0]?.offsetHeight, e.forEach((a, u) => {
1139
- if (u >= n && u < l) {
1140
- const v = a;
1141
- v.style.display = "inline-flex", a.classList.add("animating");
1142
- const $ = u % this.visibleButtons * 50;
1143
- v.style.transitionDelay = `${$}ms`;
1213
+ e.forEach((a, d) => {
1214
+ const y = d >= n && d < l, p = a;
1215
+ y || (a.classList.remove("visible-button"), a.classList.remove("animating"), p.style.display = "none");
1216
+ }), t !== void 0 ? (e[0]?.offsetHeight, e.forEach((a, d) => {
1217
+ if (d >= n && d < l) {
1218
+ const p = a;
1219
+ p.style.display = "inline-flex", a.classList.add("animating");
1220
+ const K = d % this.visibleButtons * 50;
1221
+ p.style.transitionDelay = `${K}ms`;
1144
1222
  }
1145
- }), e[0]?.offsetHeight, e.forEach((a, u) => {
1146
- u >= n && u < l && a.classList.add("visible-button");
1223
+ }), e[0]?.offsetHeight, e.forEach((a, d) => {
1224
+ d >= n && d < l && a.classList.add("visible-button");
1147
1225
  }), setTimeout(() => {
1148
1226
  e.forEach((a) => {
1149
1227
  a.classList.remove("animating"), a.style.transitionDelay = o;
1150
1228
  });
1151
- }, 400)) : e.forEach((a, u) => {
1152
- const g = u >= n && u < l, v = a;
1153
- g && (v.style.display = "inline-flex", a.classList.add("visible-button"));
1229
+ }, 400)) : e.forEach((a, d) => {
1230
+ const y = d >= n && d < l, p = a;
1231
+ y && (p.style.display = "inline-flex", a.classList.add("visible-button"));
1154
1232
  }), this._updateNavigationButtons(s, r);
1155
1233
  }
1156
1234
  /**
@@ -1207,23 +1285,24 @@ class c extends HTMLElement {
1207
1285
  return this._currentIndex;
1208
1286
  }
1209
1287
  }
1210
- const ct = "bar-menu", wt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1288
+ const mt = "bar-menu", kt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1211
1289
  __proto__: null,
1212
- BarMenuComponent: c,
1213
- selector: ct
1290
+ BarMenuComponent: h,
1291
+ selector: mt
1214
1292
  }, Symbol.toStringTag, { value: "Module" }));
1215
1293
  export {
1216
- ht as APPLICATION_NAME,
1217
- wt as BarMenu,
1218
- pt as BaseButton,
1219
- _t as BaseDialog,
1220
- _ as CUSTOM_MESSAGES,
1221
- gt as ConfirmButton,
1222
- At as ConfirmationDialog,
1223
- St as HeaderBodyFooterDialog,
1224
- mt as NextButton,
1225
- ft as PreviousButton,
1226
- yt as UndoButton,
1227
- bt as WebComponentsRegistry,
1228
- vt as switchTheme
1294
+ yt as APPLICATION_NAME,
1295
+ kt as BarMenu,
1296
+ At as BaseButton,
1297
+ Rt as BaseDialog,
1298
+ E as CUSTOM_MESSAGES,
1299
+ Lt as ConfirmButton,
1300
+ It as ConfirmationDialog,
1301
+ xt as HeaderBodyFooterDialog,
1302
+ Et as NextButton,
1303
+ wt as PreviousButton,
1304
+ St as UndoButton,
1305
+ ft as WebComponentsRegistry,
1306
+ F as clearThemes,
1307
+ _t as switchTheme
1229
1308
  };
@@ -1,4 +1,4 @@
1
- (function(l,f){typeof exports=="object"&&typeof module<"u"?f(exports):typeof define=="function"&&define.amd?define(["exports"],f):(l=typeof globalThis<"u"?globalThis:l||self,f(l["as-design-system-lib"]={}))})(this,(function(l){"use strict";const f="as-design-system-lib";class H{constructor(t=new Map){this.registerAllComponents(t)}registerAllComponents(t){Array.from(t.entries()).forEach(([e,s])=>{this.registerComponent(e,s)})}registerComponent(t,e){customElements.get(t)===void 0?(customElements.define(t,e),console.log(`Registered Web Component: ${t}`)):console.warn(`Web Component "${t}" is already registered.`)}}const g={CONFIRMATION_DIALOG_CONFIRM:"confirmation-dialog-confirm",CONFIRMATION_DIALOG_UNDO:"confirmation-dialog-undo"},n="",p={SHOW_MODAL:"show-modal",CLOSE:"close"};`${btoa({CUSTOM_CROSSHAIR:`<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
1
+ (function(l,y){typeof exports=="object"&&typeof module<"u"?y(exports):typeof define=="function"&&define.amd?define(["exports"],y):(l=typeof globalThis<"u"?globalThis:l||self,y(l["as-design-system-lib"]={}))})(this,(function(l){"use strict";const y="as-design-system-lib";class B{constructor(t=new Map){this.registerAllComponents(t)}registerAllComponents(t){Array.from(t.entries()).forEach(([e,s])=>{this.registerComponent(e,s)})}registerComponent(t,e){customElements.get(t)===void 0?(customElements.define(t,e),console.log(`Registered Web Component: ${t}`)):console.warn(`Web Component "${t}" is already registered.`)}}const f={CONFIRMATION_DIALOG_CONFIRM:"confirmation-dialog-confirm",CONFIRMATION_DIALOG_UNDO:"confirmation-dialog-undo"},_={FERRARI:"Ferrari theme inspired by the iconic red color of Ferrari cars.",LIGHT:"Light theme with a clean and minimalistic design.",LIGHT_BLUE:"Light Blue theme with a refreshing and calm appearance.",DARK:"Dark theme with a sleek and modern look.",DARK_PURPLE:"Dark Purple theme with a luxurious and elegant feel."},A={FERRARI:"🏎️",LIGHT:"☀️",LIGHT_BLUE:"🫧",DARK:"🌙",DARK_PURPLE:"🟣"},S={FERRARI:"Ferrari",LIGHT:"Light",LIGHT_BLUE:"Light Blue",DARK:"Dark",DARK_PURPLE:"Dark Purple"},L={FERRARI:"ferrari",LIGHT:"light",LIGHT_BLUE:"light-blue",DARK:"dark",DARK_PURPLE:"dark-purple"},h={FERRARI:"ferrari",LIGHT:"light",LIGHT_BLUE:"light-blue",DARK:"dark",DARK_PURPLE:"dark-purple"},j=new Map([[h.DARK,{description:_.DARK,icon:A.DARK,id:h.DARK,name:S.DARK,value:L.DARK}],[h.DARK_PURPLE,{description:_.DARK_PURPLE,icon:A.DARK_PURPLE,id:h.DARK_PURPLE,name:S.DARK_PURPLE,value:L.DARK_PURPLE}],[h.FERRARI,{description:_.FERRARI,icon:A.FERRARI,id:h.FERRARI,name:S.FERRARI,value:L.FERRARI}],[h.LIGHT,{description:_.LIGHT,icon:A.LIGHT,id:h.LIGHT,name:S.LIGHT,value:L.LIGHT}],[h.LIGHT_BLUE,{description:_.LIGHT_BLUE,icon:A.LIGHT_BLUE,id:h.LIGHT_BLUE,name:S.LIGHT_BLUE,value:L.LIGHT_BLUE}]]),V=R=>{N();const t=j.get(R)?.value;t!==void 0&&document.body.classList.add(t)},N=()=>{document.body.classList.remove(...Object.values(h))},q="base-button",n="",m={SHOW_MODAL:"show-modal",CLOSE:"close"};`${btoa({CUSTOM_CROSSHAIR:`<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
2
2
  <!-- White border (underneath) -->
3
3
  <line x1="16" y1="2" x2="16" y2="30" stroke="white" stroke-width="5"/>
4
4
  <line x1="2" y1="16" x2="30" y2="16" stroke="white" stroke-width="5"/>
@@ -6,27 +6,27 @@
6
6
  <!-- Black crosshair lines (on top) -->
7
7
  <line x1="16" y1="2" x2="16" y2="30" stroke="black" stroke-width="2"/>
8
8
  <line x1="2" y1="16" x2="30" y2="16" stroke="black" stroke-width="2"/>
9
- </svg>`}.CUSTOM_CROSSHAIR)}`;const w={ANY:"any",NONE:"none"},I={KEY_DOWN:"keydown"},b={CLICK:"click"},j={FERRARI:"ferrari",LIGHT:"light",LIGHT_BLUE:"light-blue",DARK:"dark",DARK_PURPLE:"dark-purple"},D=A=>{const t=document.body;t.classList.remove(...Object.values(j)),t.classList.add(A)},V="base-button",q=`<button part="button">
9
+ </svg>`}.CUSTOM_CROSSHAIR)}`;const x={ANY:"any",NONE:"none"},C={KEY_DOWN:"keydown"},v={CLICK:"click"},z=`<button part="button">
10
10
  <slot></slot>
11
11
  </button>
12
- `,z=":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-medium);font-family:var(--font-family-base);letter-spacing:var(--letter-spacing-normal);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-primary);border-radius:var(--border-radius-lg);transition:all var(--transition-base)}: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:.3;cursor:not-allowed}:where(button,input[type=button],input[type=submit],input[type=reset]):where(:not(:disabled):hover),: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)}:where(input[type=file]){inline-size:100%;max-inline-size:max-content;background-color:var(--color-bg-secondary)}",O=new CSSStyleSheet;O.replaceSync(z);class i extends HTMLElement{static autofocusAttribute="autofocus";static commandAttribute="command";static commandforAttribute="commandfor";static disabledAttribute="disabled";static nameAttribute="name";static titleAttribute="title";static typeAttribute="type";static valueAttribute="value";constructor(){super(),this.attachShadow({mode:"open"}),this.shadowRoot?.adoptedStyleSheets.push(O)}static get observedAttributes(){return[i.autofocusAttribute,i.commandAttribute,i.commandforAttribute,i.disabledAttribute,i.nameAttribute,i.titleAttribute,i.typeAttribute,i.valueAttribute]}get buttonElement(){return this.shadowRoot?.querySelector("button")}get autofocus(){return this.hasAttribute(i.autofocusAttribute)}set autofocus(t){t?this.setAttribute(i.autofocusAttribute,n):this.removeAttribute(i.autofocusAttribute)}get command(){return this.getAttribute(i.commandAttribute)??n}set command(t){this.setAttribute(i.commandAttribute,t)}get commandfor(){return this.getAttribute(i.commandforAttribute)??n}set commandfor(t){t!==n?this.setAttribute(i.commandforAttribute,t):this.removeAttribute(i.commandforAttribute)}get disabled(){return this.hasAttribute(i.disabledAttribute)}set disabled(t){t?this.setAttribute(i.disabledAttribute,n):this.removeAttribute(i.disabledAttribute)}get name(){return this.getAttribute(i.nameAttribute)??n}set name(t){t!==n?this.setAttribute(i.nameAttribute,t):this.removeAttribute(i.nameAttribute)}get headline(){return this.getAttribute(i.titleAttribute)??n}set headline(t){t!==n?this.setAttribute(i.titleAttribute,t):this.removeAttribute(i.titleAttribute)}get type(){return this.getAttribute(i.typeAttribute)??"button"}set type(t){t!==n?this.setAttribute(i.typeAttribute,t):this.removeAttribute(i.typeAttribute)}get value(){return this.getAttribute(i.valueAttribute)??"button"}set value(t){t!==n?this.setAttribute(i.valueAttribute,t):this.removeAttribute(i.valueAttribute)}connectedCallback(){this._render(),this._addEventListeners()}disconnectedCallback(){this._removeEventListeners()}attributeChangedCallback(t,e,s){s!==e&&this._syncAttribute(t)}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=q,this._syncAttributes())}_addEventListeners(){this.buttonElement.addEventListener(b.CLICK,this._handleClick)}_removeEventListeners(){this.buttonElement.addEventListener(b.CLICK,this._handleClick)}_handleClick=()=>{if(this.command===n||this.commandfor===n)return;let t=document.getElementById(this.commandfor);if(t??=this._findElementInShadowDOM(this.commandfor),t===null)return;const e=t;switch(this.command){case p.SHOW_MODAL:e.showModal?.();break;case p.CLOSE:e.close?.();break}};_findElementInShadowDOM(t){const s=`#${CSS.escape(t)}`;let r=this.querySelector(s);if(r!==null||(r=this._searchInShadowRootsOfChildren(this,s),r!==null))return r;let o=this.parentElement;for(;o!==null;){if(r=o.querySelector(s),r!==null||(r=this._searchInShadowRootsOfChildren(o,s),r!==null))return r;const d=o.parentElement;if(d!==null)o=d;else{const a=o.getRootNode();if(a instanceof ShadowRoot&&a.host!==null)o=a.host;else break}}return null}_searchInShadowRootsOfChildren(t,e){const s=t.children;for(const r of s){if(r.shadowRoot!==null){const d=r.shadowRoot.querySelector(e);if(d!==null)return d;const a=this._searchInShadowRootsOfChildren(r.shadowRoot,e);if(a!==null)return a}const o=this._searchInShadowRootsOfChildren(r,e);if(o!==null)return o}return null}_syncAttribute(t){const e=this.buttonElement;e!==null&&(this.hasAttribute(t)?e.setAttribute(t,this.getAttribute(t)??n):e.removeAttribute(t))}_syncAttributes(){i.observedAttributes.forEach(t=>{this._syncAttribute(t)})}}const U=Object.freeze(Object.defineProperty({__proto__:null,BaseButtonComponent:i,selector:V},Symbol.toStringTag,{value:"Module"})),F=`<button title="Undo" part="button">
12
+ `,W=":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-medium);font-family:var(--font-family-base);letter-spacing:var(--letter-spacing-normal);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-primary);border-radius:var(--border-radius-lg);transition:all var(--transition-base)}: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:.3;cursor:not-allowed}:where(button,input[type=button],input[type=submit],input[type=reset]):where(:not(:disabled):hover),: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)}:where(input[type=file]){inline-size:100%;max-inline-size:max-content;background-color:var(--color-bg-secondary)}",M=new CSSStyleSheet;M.replaceSync(W);class i extends HTMLElement{static autofocusAttribute="autofocus";static commandAttribute="command";static commandforAttribute="commandfor";static disabledAttribute="disabled";static nameAttribute="name";static titleAttribute="title";static typeAttribute="type";static valueAttribute="value";constructor(){super(),this.attachShadow({mode:"open"}),this.shadowRoot?.adoptedStyleSheets.push(M)}static get observedAttributes(){return[i.autofocusAttribute,i.commandAttribute,i.commandforAttribute,i.disabledAttribute,i.nameAttribute,i.titleAttribute,i.typeAttribute,i.valueAttribute]}get buttonElement(){return this.shadowRoot?.querySelector("button")}get autofocus(){return this.hasAttribute(i.autofocusAttribute)}set autofocus(t){t?this.setAttribute(i.autofocusAttribute,n):this.removeAttribute(i.autofocusAttribute)}get command(){return this.getAttribute(i.commandAttribute)??n}set command(t){this.setAttribute(i.commandAttribute,t)}get commandfor(){return this.getAttribute(i.commandforAttribute)??n}set commandfor(t){t!==n?this.setAttribute(i.commandforAttribute,t):this.removeAttribute(i.commandforAttribute)}get disabled(){return this.hasAttribute(i.disabledAttribute)}set disabled(t){t?this.setAttribute(i.disabledAttribute,n):this.removeAttribute(i.disabledAttribute)}get name(){return this.getAttribute(i.nameAttribute)??n}set name(t){t!==n?this.setAttribute(i.nameAttribute,t):this.removeAttribute(i.nameAttribute)}get headline(){return this.getAttribute(i.titleAttribute)??n}set headline(t){t!==n?this.setAttribute(i.titleAttribute,t):this.removeAttribute(i.titleAttribute)}get type(){return this.getAttribute(i.typeAttribute)??"button"}set type(t){t!==n?this.setAttribute(i.typeAttribute,t):this.removeAttribute(i.typeAttribute)}get value(){return this.getAttribute(i.valueAttribute)??"button"}set value(t){t!==n?this.setAttribute(i.valueAttribute,t):this.removeAttribute(i.valueAttribute)}connectedCallback(){this._render(),this._addEventListeners()}disconnectedCallback(){this._removeEventListeners()}attributeChangedCallback(t,e,s){s!==e&&this._syncAttribute(t)}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=z,this._syncAttributes())}_addEventListeners(){this.buttonElement.addEventListener(v.CLICK,this._handleClick)}_removeEventListeners(){this.buttonElement.addEventListener(v.CLICK,this._handleClick)}_handleClick=()=>{if(this.command===n||this.commandfor===n)return;let t=document.getElementById(this.commandfor);if(t??=this._findElementInShadowDOM(this.commandfor),t===null)return;const e=t;switch(this.command){case m.SHOW_MODAL:e.showModal?.();break;case m.CLOSE:e.close?.();break}};_findElementInShadowDOM(t){const s=`#${CSS.escape(t)}`;let r=this.querySelector(s);if(r!==null||(r=this._searchInShadowRootsOfChildren(this,s),r!==null))return r;let o=this.parentElement;for(;o!==null;){if(r=o.querySelector(s),r!==null||(r=this._searchInShadowRootsOfChildren(o,s),r!==null))return r;const d=o.parentElement;if(d!==null)o=d;else{const a=o.getRootNode();if(a instanceof ShadowRoot&&a.host!==null)o=a.host;else break}}return null}_searchInShadowRootsOfChildren(t,e){const s=t.children;for(const r of s){if(r.shadowRoot!==null){const d=r.shadowRoot.querySelector(e);if(d!==null)return d;const a=this._searchInShadowRootsOfChildren(r.shadowRoot,e);if(a!==null)return a}const o=this._searchInShadowRootsOfChildren(r,e);if(o!==null)return o}return null}_syncAttribute(t){const e=this.buttonElement;e!==null&&(this.hasAttribute(t)?e.setAttribute(t,this.getAttribute(t)??n):e.removeAttribute(t))}_syncAttributes(){i.observedAttributes.forEach(t=>{this._syncAttribute(t)})}}const Y=Object.freeze(Object.defineProperty({__proto__:null,BaseButtonComponent:i,selector:q},Symbol.toStringTag,{value:"Module"})),X=`<button title="Undo" part="button">
13
13
  <span class="material-symbols-outlined">undo</span>
14
14
  <span>Undo</span>
15
15
  </button>
16
- `,K="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)}",R=new CSSStyleSheet;R.replaceSync(K);class B extends i{constructor(){super(),this.shadowRoot?.adoptedStyleSheets.push(R),this.command=p.CLOSE,this.title="Undo"}static get observedAttributes(){return i.observedAttributes}connectedCallback(){this._render(),this._setCommandForAttribute(),this._addEventListeners()}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=F,this._syncAttributes())}_setCommandForAttribute(){let t=this.getRootNode();"host"in t&&t.host!==null&&t.host!==void 0&&(t=t.host);const e=t instanceof Element?t.closest("base-dialog")??t.closest("confirmation-dialog"):null;e!==null&&(this.commandfor=e.id)}}const E="undo-button",W=Object.freeze(Object.defineProperty({__proto__:null,UndoButtonComponent:B,selector:E},Symbol.toStringTag,{value:"Module"})),G=`<button title="Confirm" part="button">
16
+ `,J="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)}",P=new CSSStyleSheet;P.replaceSync(J);class Q extends i{constructor(){super(),this.shadowRoot?.adoptedStyleSheets.push(P),this.command=m.CLOSE,this.title="Undo"}static get observedAttributes(){return i.observedAttributes}connectedCallback(){this._render(),this._setCommandForAttribute(),this._addEventListeners()}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=X,this._syncAttributes())}_setCommandForAttribute(){let t=this.getRootNode();"host"in t&&t.host!==null&&t.host!==void 0&&(t=t.host);const e=t instanceof Element?t.closest("base-dialog")??t.closest("confirmation-dialog"):null;e!==null&&(this.commandfor=e.id)}}const O="undo-button",Z=Object.freeze(Object.defineProperty({__proto__:null,UndoButtonComponent:Q,selector:O},Symbol.toStringTag,{value:"Module"})),tt=`<button title="Confirm" part="button">
17
17
  <span class="material-symbols-outlined">check</span>
18
18
  <span>Confirm</span>
19
19
  </button>
20
- `,Y="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)}",N=new CSSStyleSheet;N.replaceSync(Y);class X extends i{constructor(){super(),this.shadowRoot?.adoptedStyleSheets.push(N),this.command=p.CLOSE,this.title="Confirm"}static get observedAttributes(){return i.observedAttributes}connectedCallback(){this._render(),this._setCommandForAttribute(),this._addEventListeners()}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=G,this._syncAttributes())}_setCommandForAttribute(){let t=this.getRootNode();"host"in t&&t.host!==null&&t.host!==void 0&&(t=t.host);const e=t instanceof Element?t.closest("base-dialog")??t.closest("confirmation-dialog"):null;e!==null&&(this.commandfor=e.id)}}const L="confirm-button",J=Object.freeze(Object.defineProperty({__proto__:null,ConfirmButtonComponent:X,selector:L},Symbol.toStringTag,{value:"Module"})),Q=`<button part="button">
20
+ `,et="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)}",$=new CSSStyleSheet;$.replaceSync(et);class it extends i{constructor(){super(),this.shadowRoot?.adoptedStyleSheets.push($),this.command=m.CLOSE,this.title="Confirm"}static get observedAttributes(){return i.observedAttributes}connectedCallback(){this._render(),this._setCommandForAttribute(),this._addEventListeners()}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=tt,this._syncAttributes())}_setCommandForAttribute(){let t=this.getRootNode();"host"in t&&t.host!==null&&t.host!==void 0&&(t=t.host);const e=t instanceof Element?t.closest("base-dialog")??t.closest("confirmation-dialog"):null;e!==null&&(this.commandfor=e.id)}}const k="confirm-button",st=Object.freeze(Object.defineProperty({__proto__:null,ConfirmButtonComponent:it,selector:k},Symbol.toStringTag,{value:"Module"})),rt=`<button part="button">
21
21
  <span class="material-symbols-outlined">chevron_left</span>
22
22
  </button>
23
- `,Z="button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}",k=new CSSStyleSheet;k.replaceSync(Z);class m extends i{static _disabledAttribute="disabled";static _titleAttribute="title";constructor(){super(),this.shadowRoot?.adoptedStyleSheets.push(k),this.command=p.CLOSE}static get observedAttributes(){return i.observedAttributes}connectedCallback(){this._render(),this._addEventListeners(),this._updateTitle()}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),t===m._disabledAttribute&&this._updateTitle()}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=Q,this._syncAttributes())}_updateTitle(){const t=this.shadowRoot?.querySelector("button");t!==null&&(this.disabled?t.removeAttribute(m._titleAttribute):t.setAttribute(m._titleAttribute,"Previous"))}}const tt=Object.freeze(Object.defineProperty({__proto__:null,PreviousButtonComponent:m,selector:"previous-button"},Symbol.toStringTag,{value:"Module"})),et=`<button part="button">
23
+ `,nt="button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}",H=new CSSStyleSheet;H.replaceSync(nt);class w extends i{static _disabledAttribute="disabled";static _titleAttribute="title";constructor(){super(),this.shadowRoot?.adoptedStyleSheets.push(H),this.command=m.CLOSE}static get observedAttributes(){return i.observedAttributes}connectedCallback(){this._render(),this._addEventListeners(),this._updateTitle()}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),t===w._disabledAttribute&&this._updateTitle()}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=rt,this._syncAttributes())}_updateTitle(){const t=this.shadowRoot?.querySelector("button");t!==null&&(this.disabled?t.removeAttribute(w._titleAttribute):t.setAttribute(w._titleAttribute,"Previous"))}}const ot=Object.freeze(Object.defineProperty({__proto__:null,PreviousButtonComponent:w,selector:"previous-button"},Symbol.toStringTag,{value:"Module"})),at=`<button part="button">
24
24
  <span class="material-symbols-outlined">chevron_right</span>
25
25
  </button>
26
- `,it="button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}",C=new CSSStyleSheet;C.replaceSync(it);class _ extends i{static _disabledAttribute="disabled";static _titleAttribute="title";constructor(){super(),this.shadowRoot?.adoptedStyleSheets.push(C),this.command=p.CLOSE}static get observedAttributes(){return i.observedAttributes}connectedCallback(){this._render(),this._addEventListeners(),this._updateTitle()}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),t===_._disabledAttribute&&this._updateTitle()}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=et,this._syncAttributes())}_updateTitle(){const t=this.shadowRoot?.querySelector("button");t!==null&&(this.disabled?t.removeAttribute(_._titleAttribute):t.setAttribute(_._titleAttribute,"Next"))}}const st=Object.freeze(Object.defineProperty({__proto__:null,NextButtonComponent:_,selector:"next-button"},Symbol.toStringTag,{value:"Module"})),rt=`<dialog part="dialog">
26
+ `,lt="button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}",D=new CSSStyleSheet;D.replaceSync(lt);class E extends i{static _disabledAttribute="disabled";static _titleAttribute="title";constructor(){super(),this.shadowRoot?.adoptedStyleSheets.push(D),this.command=m.CLOSE}static get observedAttributes(){return i.observedAttributes}connectedCallback(){this._render(),this._addEventListeners(),this._updateTitle()}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),t===E._disabledAttribute&&this._updateTitle()}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=at,this._syncAttributes())}_updateTitle(){const t=this.shadowRoot?.querySelector("button");t!==null&&(this.disabled?t.removeAttribute(E._titleAttribute):t.setAttribute(E._titleAttribute,"Next"))}}const dt=Object.freeze(Object.defineProperty({__proto__:null,NextButtonComponent:E,selector:"next-button"},Symbol.toStringTag,{value:"Module"})),ut=`<dialog part="dialog">
27
27
  <slot></slot>
28
28
  </dialog>
29
- `,nt="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);max-width:90vw;max-height:90vh;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}}",M=new CSSStyleSheet;M.replaceSync(nt);class v extends HTMLElement{static closedByAttribute="closedby";_closedBy=w.ANY;constructor(){super(),this.attachShadow({mode:"open"}),this.shadowRoot?.adoptedStyleSheets.push(M)}static get observedAttributes(){return[v.closedByAttribute]}get dialogElement(){return this.shadowRoot?.querySelector("dialog")}get command(){return this.getAttribute(v.closedByAttribute)??w.ANY}get closedBy(){return this._closedBy}set closedBy(t){this._closedBy=t,this.setAttribute(v.closedByAttribute,t)}connectedCallback(){this._render(),this._addEventListeners()}disconnectedCallback(){this._removeEventListeners()}attributeChangedCallback(t,e,s){const r=this.dialogElement;r!=null&&s!==e&&this._syncAttribute(t)}_addEventListeners(){}_removeEventListeners(){}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=rt,this._syncAttributes())}_syncAttribute(t){const e=this.dialogElement;e!=null&&(this.hasAttribute(t)===!0?e.setAttribute(t,this.getAttribute(t)??n):e.removeAttribute(t))}_syncAttributes(){v.observedAttributes.forEach(t=>{this._syncAttribute(t)})}show(){this.dialogElement.show()}showModal(){this.dialogElement.showModal()}close(t){const e=this.dialogElement;e.classList.add("closing"),setTimeout(()=>{e.close(t),e.classList.remove("closing")},300)}}const ot=Object.freeze(Object.defineProperty({__proto__:null,BaseDialogComponent:v,selector:"base-dialog"},Symbol.toStringTag,{value:"Module"})),at=`<dialog part="dialog">
29
+ `,ct="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);max-width:90vw;max-height:90vh;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}}",U=new CSSStyleSheet;U.replaceSync(ct);class p extends HTMLElement{static closedByAttribute="closedby";_closedBy=x.ANY;constructor(){super(),this.attachShadow({mode:"open"}),this.shadowRoot?.adoptedStyleSheets.push(U)}static get observedAttributes(){return[p.closedByAttribute]}get dialogElement(){return this.shadowRoot?.querySelector("dialog")}get command(){return this.getAttribute(p.closedByAttribute)??x.ANY}get closedBy(){return this._closedBy}set closedBy(t){this._closedBy=t,this.setAttribute(p.closedByAttribute,t)}connectedCallback(){this._render(),this._addEventListeners()}disconnectedCallback(){this._removeEventListeners()}attributeChangedCallback(t,e,s){const r=this.dialogElement;r!=null&&s!==e&&this._syncAttribute(t)}_addEventListeners(){}_removeEventListeners(){}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=ut,this._syncAttributes())}_syncAttribute(t){const e=this.dialogElement;e!=null&&(this.hasAttribute(t)===!0?e.setAttribute(t,this.getAttribute(t)??n):e.removeAttribute(t))}_syncAttributes(){p.observedAttributes.forEach(t=>{this._syncAttribute(t)})}show(){this.dialogElement.show()}showModal(){this.dialogElement.showModal()}close(t){const e=this.dialogElement;e.classList.add("closing"),setTimeout(()=>{e.close(t),e.classList.remove("closing")},300)}}const ht=Object.freeze(Object.defineProperty({__proto__:null,BaseDialogComponent:p,selector:"base-dialog"},Symbol.toStringTag,{value:"Module"})),bt=`<dialog part="dialog">
30
30
  <header part="header">
31
31
  <h2></h2>
32
32
  </header>
@@ -38,7 +38,7 @@
38
38
  <undo-button></undo-button>
39
39
  </footer>
40
40
  </dialog>
41
- `,lt="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}",dt=`<dialog part="dialog">
41
+ `,vt="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}",pt=`<dialog part="dialog">
42
42
  <header part="header">
43
43
  <slot name="header"></slot>
44
44
  </header>
@@ -49,7 +49,7 @@
49
49
  <slot name="footer"></slot>
50
50
  </footer>
51
51
  </dialog>
52
- `,ut='dialog[open]{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}',T=new CSSStyleSheet;T.replaceSync(ut);class x extends v{_sectionNames=["header","body","footer"];_handleSlotChange=()=>{this._updateSectionState()};constructor(){super(),this.shadowRoot?.adoptedStyleSheets.push(T)}static get observedAttributes(){return v.observedAttributes}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=dt,this._syncAttributes())}_addEventListeners(){super._addEventListeners(),this.shadowRoot!==null&&(this.shadowRoot.querySelectorAll("slot").forEach(t=>{t.addEventListener("slotchange",this._handleSlotChange)}),this._updateSectionState())}_removeEventListeners(){super._removeEventListeners(),this.shadowRoot!==null&&this.shadowRoot.querySelectorAll("slot").forEach(t=>{t.removeEventListener("slotchange",this._handleSlotChange)})}_updateSectionState(){if(this.shadowRoot===null)return;const t=[];this._sectionNames.forEach(e=>{const s=this.shadowRoot?.querySelector(`[part='${e}']`),r=this.shadowRoot?.querySelector(`slot[name='${e}']`);if(s===null||r===null)return;const o=r.assignedNodes({flatten:!0}).some(d=>d.nodeType===Node.TEXT_NODE?d.textContent?.trim().length!==0:d.nodeType===Node.ELEMENT_NODE);s.toggleAttribute("hidden",o===!1),s.dataset.filled=String(o),s.removeAttribute("data-divider"),o===!0&&t.push(s)}),t.slice(0,-1).forEach(e=>{e.dataset.divider="true"})}}const $=new CSSStyleSheet;$.replaceSync(lt);class u extends x{_headline=n;_text=n;_value=void 0;static textAttribute="text";static headlineAttribute="headline";static valueAttribute="value";constructor(){super(),this.shadowRoot?.adoptedStyleSheets.push($)}static get observedAttributes(){return[...x.observedAttributes,u.textAttribute,u.headlineAttribute,u.valueAttribute]}get headline(){return this._headline}set headline(t){this._headline=t,this.setAttribute(u.headlineAttribute,t)}get text(){return this._text}set text(t){this._text=t,this.setAttribute(u.textAttribute,t)}get value(){return this._value}set value(t){this._value=t}connectedCallback(){this._render(),this._addEventListeners(),this.closedBy=w.NONE}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=at,this._syncAttributes())}_syncAttribute(t){if(u.observedAttributes.includes(t))switch(t){case u.headlineAttribute:{this._headline=this.getAttribute(t)??n;const e=this.shadowRoot?.querySelector("h2");e!=null&&(e.textContent=this._headline);break}case u.textAttribute:{this._text=this.getAttribute(t)??n;const e=this.shadowRoot?.querySelector("p");e!=null&&(e.textContent=this._text);break}case u.valueAttribute:{this._value=this.getAttribute(t);break}default:super._syncAttribute(t)}else super._syncAttribute(t)}_syncAttributes(){super._syncAttributes(),u.observedAttributes.forEach(t=>{this._syncAttribute(t)})}_addEventListeners(){super._addEventListeners(),this.shadowRoot?.querySelector(L)?.addEventListener(b.CLICK,this._handleConfirm),this.shadowRoot?.querySelector(E)?.addEventListener(b.CLICK,this._handleUndo)}_removeEventListeners(){super._removeEventListeners(),this.shadowRoot?.querySelector(L)?.removeEventListener(b.CLICK,this._handleConfirm),this.shadowRoot?.querySelector(E)?.removeEventListener(b.CLICK,this._handleUndo)}_handleConfirm=()=>{const t=new CustomEvent(g.CONFIRMATION_DIALOG_CONFIRM,{bubbles:!0,composed:!0,detail:{value:this._value}});this.dispatchEvent(t)};_handleUndo=()=>{const t=new CustomEvent(g.CONFIRMATION_DIALOG_UNDO,{bubbles:!0,composed:!0,detail:{value:this._value}});this.dispatchEvent(t),this._value=void 0}}const ct="confirmation-dialog",ht={CONFIRMATION_DIALOG_CONFIRM:g.CONFIRMATION_DIALOG_CONFIRM,CONFIRMATION_DIALOG_UNDO:g.CONFIRMATION_DIALOG_UNDO},bt=Object.freeze(Object.defineProperty({__proto__:null,COMPONENT_CUSTOM_MESSAGES:ht,ConfirmationDialogComponent:u,selector:ct},Symbol.toStringTag,{value:"Module"})),vt=Object.freeze(Object.defineProperty({__proto__:null,HeaderBodyFooterDialogComponent:x,selector:"header-body-footer-dialog"},Symbol.toStringTag,{value:"Module"})),pt=`<div class="bar-menu-container">
52
+ `,mt='dialog[open]{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}',K=new CSSStyleSheet;K.replaceSync(mt);class T extends p{_sectionNames=["header","body","footer"];_handleSlotChange=()=>{this._updateSectionState()};constructor(){super(),this.shadowRoot?.adoptedStyleSheets.push(K)}static get observedAttributes(){return p.observedAttributes}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=pt,this._syncAttributes())}_addEventListeners(){super._addEventListeners(),this.shadowRoot!==null&&(this.shadowRoot.querySelectorAll("slot").forEach(t=>{t.addEventListener("slotchange",this._handleSlotChange)}),this._updateSectionState())}_removeEventListeners(){super._removeEventListeners(),this.shadowRoot!==null&&this.shadowRoot.querySelectorAll("slot").forEach(t=>{t.removeEventListener("slotchange",this._handleSlotChange)})}_updateSectionState(){if(this.shadowRoot===null)return;const t=[];this._sectionNames.forEach(e=>{const s=this.shadowRoot?.querySelector(`[part='${e}']`),r=this.shadowRoot?.querySelector(`slot[name='${e}']`);if(s===null||r===null)return;const o=r.assignedNodes({flatten:!0}).some(d=>d.nodeType===Node.TEXT_NODE?d.textContent?.trim().length!==0:d.nodeType===Node.ELEMENT_NODE);s.toggleAttribute("hidden",o===!1),s.dataset.filled=String(o),s.removeAttribute("data-divider"),o===!0&&t.push(s)}),t.slice(0,-1).forEach(e=>{e.dataset.divider="true"})}}const G=new CSSStyleSheet;G.replaceSync(vt);class u extends T{_headline=n;_text=n;_value=void 0;static textAttribute="text";static headlineAttribute="headline";static valueAttribute="value";constructor(){super(),this.shadowRoot?.adoptedStyleSheets.push(G)}static get observedAttributes(){return[...T.observedAttributes,u.textAttribute,u.headlineAttribute,u.valueAttribute]}get headline(){return this._headline}set headline(t){this._headline=t,this.setAttribute(u.headlineAttribute,t)}get text(){return this._text}set text(t){this._text=t,this.setAttribute(u.textAttribute,t)}get value(){return this._value}set value(t){this._value=t}connectedCallback(){this._render(),this._addEventListeners(),this.closedBy=x.NONE}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=bt,this._syncAttributes())}_syncAttribute(t){if(u.observedAttributes.includes(t))switch(t){case u.headlineAttribute:{this._headline=this.getAttribute(t)??n;const e=this.shadowRoot?.querySelector("h2");e!=null&&(e.textContent=this._headline);break}case u.textAttribute:{this._text=this.getAttribute(t)??n;const e=this.shadowRoot?.querySelector("p");e!=null&&(e.textContent=this._text);break}case u.valueAttribute:{this._value=this.getAttribute(t);break}default:super._syncAttribute(t)}else super._syncAttribute(t)}_syncAttributes(){super._syncAttributes(),u.observedAttributes.forEach(t=>{this._syncAttribute(t)})}_addEventListeners(){super._addEventListeners(),this.shadowRoot?.querySelector(k)?.addEventListener(v.CLICK,this._handleConfirm),this.shadowRoot?.querySelector(O)?.addEventListener(v.CLICK,this._handleUndo)}_removeEventListeners(){super._removeEventListeners(),this.shadowRoot?.querySelector(k)?.removeEventListener(v.CLICK,this._handleConfirm),this.shadowRoot?.querySelector(O)?.removeEventListener(v.CLICK,this._handleUndo)}_handleConfirm=()=>{const t=new CustomEvent(f.CONFIRMATION_DIALOG_CONFIRM,{bubbles:!0,composed:!0,detail:{value:this._value}});this.dispatchEvent(t)};_handleUndo=()=>{const t=new CustomEvent(f.CONFIRMATION_DIALOG_UNDO,{bubbles:!0,composed:!0,detail:{value:this._value}});this.dispatchEvent(t),this._value=void 0}}const gt="confirmation-dialog",yt={CONFIRMATION_DIALOG_CONFIRM:f.CONFIRMATION_DIALOG_CONFIRM,CONFIRMATION_DIALOG_UNDO:f.CONFIRMATION_DIALOG_UNDO},ft=Object.freeze(Object.defineProperty({__proto__:null,COMPONENT_CUSTOM_MESSAGES:yt,ConfirmationDialogComponent:u,selector:gt},Symbol.toStringTag,{value:"Module"})),_t=Object.freeze(Object.defineProperty({__proto__:null,HeaderBodyFooterDialogComponent:T,selector:"header-body-footer-dialog"},Symbol.toStringTag,{value:"Module"})),At=`<div class="bar-menu-container">
53
53
  <previous-button class="nav-prev" part="nav-prev-button"></previous-button>
54
54
 
55
55
  <div class="buttons-wrapper" part="buttons-wrapper">
@@ -58,4 +58,4 @@
58
58
 
59
59
  <next-button class="nav-next" part="nav-next-button"></next-button>
60
60
  </div>
61
- `,yt=":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)}",P=new CSSStyleSheet;P.replaceSync(yt);class h extends HTMLElement{static _visibleCountAttribute="visible-count";static _cyclicalNavigationAttribute="cyclical-navigation";_currentIndex=0;_visibleCount=3;_cyclicalNavigation=!1;_MIN_VISIBLE=1;_MAX_VISIBLE=5;_slotElement=null;_navPrevButton=null;_navNextButton=null;_buttonsWrapper=null;_slotChangeListener=null;_keyDownListener=null;constructor(){super(),this.attachShadow({mode:"open"}),this.shadowRoot?.adoptedStyleSheets.push(P)}static get observedAttributes(){return[h._visibleCountAttribute,h._cyclicalNavigationAttribute]}get visibleButtons(){const t=this.getAttribute(h._visibleCountAttribute);if(t!==null&&t!==n){const e=parseInt(t,10);return Math.max(this._MIN_VISIBLE,Math.min(this._MAX_VISIBLE,e))}return this._visibleCount}set visibleButtons(t){const e=Math.max(this._MIN_VISIBLE,Math.min(this._MAX_VISIBLE,t));this.setAttribute(h._visibleCountAttribute,String(e))}get cyclicalNavigation(){return this.hasAttribute(h._cyclicalNavigationAttribute)}set cyclicalNavigation(t){t?this.setAttribute(h._cyclicalNavigationAttribute,n):this.removeAttribute(h._cyclicalNavigationAttribute)}connectedCallback(){this._render(),this._cacheElements(),this._setupSlotListener(),this._setupKeyboardListener(),this._updateButtonVisibility()}disconnectedCallback(){this._removeSlotListener(),this._removeKeyboardListener()}attributeChangedCallback(t,e,s){t===h._visibleCountAttribute?(this._visibleCount=this.visibleButtons,this._buttonsWrapper!==null&&this._buttonsWrapper.style.setProperty("--bar-menu-visible-count",String(this.visibleButtons)),this._updateButtonVisibility()):t===h._cyclicalNavigationAttribute&&(this._cyclicalNavigation=this.cyclicalNavigation,this._updateButtonVisibility())}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=pt)}_cacheElements(){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("--bar-menu-visible-count",String(this.visibleButtons)),this._navPrevButton!==null&&(this._navPrevButton.setAttribute("aria-label","Previous"),this._navPrevButton.addEventListener(b.CLICK,()=>{this._scrollPrevious()})),this._navNextButton!==null&&(this._navNextButton.setAttribute("aria-label","Next"),this._navNextButton.addEventListener(b.CLICK,()=>{this._scrollNext()}))}_setupSlotListener(){this._slotElement!==null&&(this._slotChangeListener=()=>{this._currentIndex=0,this._updateButtonVisibility()},this._slotElement.addEventListener("slotchange",this._slotChangeListener))}_removeSlotListener(){this._slotElement!==null&&this._slotChangeListener!==null&&this._slotElement.removeEventListener("slotchange",this._slotChangeListener)}_setupKeyboardListener(){this._keyDownListener=t=>{t.key==="ArrowLeft"?(t.preventDefault(),this._scrollPrevious()):t.key==="ArrowRight"&&(t.preventDefault(),this._scrollNext())},this.addEventListener(I.KEY_DOWN,this._keyDownListener)}_removeKeyboardListener(){this._keyDownListener!==null&&this.removeEventListener(I.KEY_DOWN,this._keyDownListener)}_getSlottedButtons(){return this._slotElement===null?[]:this._slotElement.assignedElements()}_updateButtonVisibility(t){const e=this._getSlottedButtons(),s=e.length,r=this.visibleButtons,o=this._currentIndex,d=Math.min(o+r,s);e.forEach((a,c)=>{const S=c>=o&&c<d,y=a;S||(a.classList.remove("visible-button"),a.classList.remove("animating"),y.style.display="none")}),t!==void 0?(e[0]?.offsetHeight,e.forEach((a,c)=>{if(c>=o&&c<d){const y=a;y.style.display="inline-flex",a.classList.add("animating");const gt=c%this.visibleButtons*50;y.style.transitionDelay=`${gt}ms`}}),e[0]?.offsetHeight,e.forEach((a,c)=>{c>=o&&c<d&&a.classList.add("visible-button")}),setTimeout(()=>{e.forEach(a=>{a.classList.remove("animating"),a.style.transitionDelay=n})},400)):e.forEach((a,c)=>{const S=c>=o&&c<d,y=a;S&&(y.style.display="inline-flex",a.classList.add("visible-button"))}),this._updateNavigationButtons(s,r)}_updateNavigationButtons(t,e){const s=t>e,r=this._currentIndex+e<t,o=this._currentIndex===0,d=!r;this._navPrevButton!==null&&(s?(this._navPrevButton.classList.add("visible"),this._navPrevButton.disabled=!this._cyclicalNavigation&&o):this._navPrevButton.classList.remove("visible")),this._navNextButton!==null&&(s?(this._navNextButton.classList.add("visible"),this._navNextButton.disabled=!this._cyclicalNavigation&&d):this._navNextButton.classList.remove("visible"))}_scrollPrevious(){const t=this._getSlottedButtons().length,e=this.visibleButtons;this._currentIndex>0?(this._currentIndex=Math.max(0,this._currentIndex-e),this._updateButtonVisibility("previous")):this._cyclicalNavigation&&t>e&&(this._currentIndex=Math.max(0,t-e),this._updateButtonVisibility("previous"))}_scrollNext(){const t=this._getSlottedButtons().length,e=this.visibleButtons,s=this._currentIndex+e;s<t?(this._currentIndex=s,this._updateButtonVisibility("next")):this._cyclicalNavigation&&t>e&&(this._currentIndex=0,this._updateButtonVisibility("next"))}scrollToButton(t){const e=this._getSlottedButtons().length,s=this.visibleButtons;t>=0&&t<e&&(this._currentIndex=Math.max(0,Math.min(t,e-s)),this._updateButtonVisibility())}getVisibleButtons(){return this._getSlottedButtons().filter(t=>t.classList.contains("visible-button"))}getAllButtons(){return this._getSlottedButtons()}getCurrentIndex(){return this._currentIndex}}const ft=Object.freeze(Object.defineProperty({__proto__:null,BarMenuComponent:h,selector:"bar-menu"},Symbol.toStringTag,{value:"Module"}));l.APPLICATION_NAME=f,l.BarMenu=ft,l.BaseButton=U,l.BaseDialog=ot,l.CUSTOM_MESSAGES=g,l.ConfirmButton=J,l.ConfirmationDialog=bt,l.HeaderBodyFooterDialog=vt,l.NextButton=st,l.PreviousButton=tt,l.UndoButton=W,l.WebComponentsRegistry=H,l.switchTheme=D,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})}));
61
+ `,St=":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)}",F=new CSSStyleSheet;F.replaceSync(St);class b extends HTMLElement{static _visibleCountAttribute="visible-count";static _cyclicalNavigationAttribute="cyclical-navigation";_currentIndex=0;_visibleCount=3;_cyclicalNavigation=!1;_MIN_VISIBLE=1;_MAX_VISIBLE=5;_slotElement=null;_navPrevButton=null;_navNextButton=null;_buttonsWrapper=null;_slotChangeListener=null;_keyDownListener=null;constructor(){super(),this.attachShadow({mode:"open"}),this.shadowRoot?.adoptedStyleSheets.push(F)}static get observedAttributes(){return[b._visibleCountAttribute,b._cyclicalNavigationAttribute]}get visibleButtons(){const t=this.getAttribute(b._visibleCountAttribute);if(t!==null&&t!==n){const e=parseInt(t,10);return Math.max(this._MIN_VISIBLE,Math.min(this._MAX_VISIBLE,e))}return this._visibleCount}set visibleButtons(t){const e=Math.max(this._MIN_VISIBLE,Math.min(this._MAX_VISIBLE,t));this.setAttribute(b._visibleCountAttribute,String(e))}get cyclicalNavigation(){return this.hasAttribute(b._cyclicalNavigationAttribute)}set cyclicalNavigation(t){t?this.setAttribute(b._cyclicalNavigationAttribute,n):this.removeAttribute(b._cyclicalNavigationAttribute)}connectedCallback(){this._render(),this._cacheElements(),this._setupSlotListener(),this._setupKeyboardListener(),this._updateButtonVisibility()}disconnectedCallback(){this._removeSlotListener(),this._removeKeyboardListener()}attributeChangedCallback(t,e,s){t===b._visibleCountAttribute?(this._visibleCount=this.visibleButtons,this._buttonsWrapper!==null&&this._buttonsWrapper.style.setProperty("--bar-menu-visible-count",String(this.visibleButtons)),this._updateButtonVisibility()):t===b._cyclicalNavigationAttribute&&(this._cyclicalNavigation=this.cyclicalNavigation,this._updateButtonVisibility())}_render(){this.shadowRoot!==null&&(this.shadowRoot.innerHTML=At)}_cacheElements(){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("--bar-menu-visible-count",String(this.visibleButtons)),this._navPrevButton!==null&&(this._navPrevButton.setAttribute("aria-label","Previous"),this._navPrevButton.addEventListener(v.CLICK,()=>{this._scrollPrevious()})),this._navNextButton!==null&&(this._navNextButton.setAttribute("aria-label","Next"),this._navNextButton.addEventListener(v.CLICK,()=>{this._scrollNext()}))}_setupSlotListener(){this._slotElement!==null&&(this._slotChangeListener=()=>{this._currentIndex=0,this._updateButtonVisibility()},this._slotElement.addEventListener("slotchange",this._slotChangeListener))}_removeSlotListener(){this._slotElement!==null&&this._slotChangeListener!==null&&this._slotElement.removeEventListener("slotchange",this._slotChangeListener)}_setupKeyboardListener(){this._keyDownListener=t=>{t.key==="ArrowLeft"?(t.preventDefault(),this._scrollPrevious()):t.key==="ArrowRight"&&(t.preventDefault(),this._scrollNext())},this.addEventListener(C.KEY_DOWN,this._keyDownListener)}_removeKeyboardListener(){this._keyDownListener!==null&&this.removeEventListener(C.KEY_DOWN,this._keyDownListener)}_getSlottedButtons(){return this._slotElement===null?[]:this._slotElement.assignedElements()}_updateButtonVisibility(t){const e=this._getSlottedButtons(),s=e.length,r=this.visibleButtons,o=this._currentIndex,d=Math.min(o+r,s);e.forEach((a,c)=>{const I=c>=o&&c<d,g=a;I||(a.classList.remove("visible-button"),a.classList.remove("animating"),g.style.display="none")}),t!==void 0?(e[0]?.offsetHeight,e.forEach((a,c)=>{if(c>=o&&c<d){const g=a;g.style.display="inline-flex",a.classList.add("animating");const wt=c%this.visibleButtons*50;g.style.transitionDelay=`${wt}ms`}}),e[0]?.offsetHeight,e.forEach((a,c)=>{c>=o&&c<d&&a.classList.add("visible-button")}),setTimeout(()=>{e.forEach(a=>{a.classList.remove("animating"),a.style.transitionDelay=n})},400)):e.forEach((a,c)=>{const I=c>=o&&c<d,g=a;I&&(g.style.display="inline-flex",a.classList.add("visible-button"))}),this._updateNavigationButtons(s,r)}_updateNavigationButtons(t,e){const s=t>e,r=this._currentIndex+e<t,o=this._currentIndex===0,d=!r;this._navPrevButton!==null&&(s?(this._navPrevButton.classList.add("visible"),this._navPrevButton.disabled=!this._cyclicalNavigation&&o):this._navPrevButton.classList.remove("visible")),this._navNextButton!==null&&(s?(this._navNextButton.classList.add("visible"),this._navNextButton.disabled=!this._cyclicalNavigation&&d):this._navNextButton.classList.remove("visible"))}_scrollPrevious(){const t=this._getSlottedButtons().length,e=this.visibleButtons;this._currentIndex>0?(this._currentIndex=Math.max(0,this._currentIndex-e),this._updateButtonVisibility("previous")):this._cyclicalNavigation&&t>e&&(this._currentIndex=Math.max(0,t-e),this._updateButtonVisibility("previous"))}_scrollNext(){const t=this._getSlottedButtons().length,e=this.visibleButtons,s=this._currentIndex+e;s<t?(this._currentIndex=s,this._updateButtonVisibility("next")):this._cyclicalNavigation&&t>e&&(this._currentIndex=0,this._updateButtonVisibility("next"))}scrollToButton(t){const e=this._getSlottedButtons().length,s=this.visibleButtons;t>=0&&t<e&&(this._currentIndex=Math.max(0,Math.min(t,e-s)),this._updateButtonVisibility())}getVisibleButtons(){return this._getSlottedButtons().filter(t=>t.classList.contains("visible-button"))}getAllButtons(){return this._getSlottedButtons()}getCurrentIndex(){return this._currentIndex}}const Lt=Object.freeze(Object.defineProperty({__proto__:null,BarMenuComponent:b,selector:"bar-menu"},Symbol.toStringTag,{value:"Module"}));l.APPLICATION_NAME=y,l.BarMenu=Lt,l.BaseButton=Y,l.BaseDialog=ht,l.CUSTOM_MESSAGES=f,l.ConfirmButton=st,l.ConfirmationDialog=ft,l.HeaderBodyFooterDialog=_t,l.NextButton=dt,l.PreviousButton=ot,l.UndoButton=Z,l.WebComponentsRegistry=B,l.clearThemes=N,l.switchTheme=V,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})}));
@@ -253,5 +253,8 @@
253
253
  Note: Component styles are included in components-styles.scss separately.
254
254
  They automatically inherit the CSS custom properties defined above.
255
255
  */
256
+ * {
257
+ box-sizing: border-box;
258
+ }
256
259
 
257
260
  /*# sourceMappingURL=index.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/library/themes/index.scss","../../src/library/themes/themes.scss","../../src/library/themes/tokens/typography.scss","../../src/library/themes/tokens/colors/dark.scss","../../src/library/themes/tokens/colors/dark-purple.scss","../../src/library/themes/tokens/colors/ferrari.scss","../../src/library/themes/tokens/colors/light.scss","../../src/library/themes/tokens/colors/light-blue.scss","../../src/library/themes/tokens/colors.scss","../../src/library/themes/tokens/spacing.scss"],"names":[],"mappings":"AAAA;AACA;ACDA;AAEA;ACFA;AAEA;AACE;EACA;AAAA;AAAA;EAGA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;;;AC1CF;EACE;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;;;AC9BF;EACE;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;;;AC9BF;EACE;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;;;AC9BF;EACE;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;;;AC9BF;EACE;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;;;ACxBF;AACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACjBF;AAEA;AACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EAEA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;AAAA;EAEA;AAAA;EAEA;AAAA;EAEA;AAEA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;;;AR/DF;AAAA;AAAA;AAAA","file":"index.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../src/library/themes/index.scss","../../src/library/themes/themes.scss","../../src/library/themes/tokens/typography.scss","../../src/library/themes/tokens/colors/dark.scss","../../src/library/themes/tokens/colors/dark-purple.scss","../../src/library/themes/tokens/colors/ferrari.scss","../../src/library/themes/tokens/colors/light.scss","../../src/library/themes/tokens/colors/light-blue.scss","../../src/library/themes/tokens/colors.scss","../../src/library/themes/tokens/spacing.scss","../../src/library/themes/common.scss"],"names":[],"mappings":"AAAA;AACA;ACDA;AAEA;ACFA;AAEA;AACE;EACA;AAAA;AAAA;EAGA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;;;AC1CF;EACE;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;;;AC9BF;EACE;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;;;AC9BF;EACE;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;;;AC9BF;EACE;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;;;AC9BF;EACE;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;;;ACxBF;AACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACjBF;AAEA;AACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EAEA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;AAAA;EAEA;AAAA;EAEA;AAAA;EAEA;AAEA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;;;AR/DF;AAAA;AAAA;AAAA;ASPA;EACE","file":"index.css"}
@@ -2,7 +2,7 @@ import { APPLICATION_NAME } from './constants/application.constant.ts';
2
2
  export { APPLICATION_NAME };
3
3
  export { WebComponentsRegistry } from './web-components/registry.ts';
4
4
  export { CUSTOM_MESSAGES } from './constants/custom-messages.const.ts';
5
- export { switchTheme } from './utils/switch-theme.utils.ts';
5
+ export { switchTheme, clearThemes } from './utils/themes.utils.ts';
6
6
  export * as BaseButton from './web-components/buttons/base-button/main.ts';
7
7
  export * as UndoButton from './web-components/buttons/undo-button/main.ts';
8
8
  export * as ConfirmButton from './web-components/buttons/confirm-button/main.ts';
@@ -0,0 +1,10 @@
1
+ import { Themes } from '@albi_scando/as-const-themes-lib';
2
+ /**
3
+ * Utility function to switch the theme of the application by manipulating the body class.
4
+ * @param theme The theme to apply.
5
+ */
6
+ export declare const switchTheme: (theme: Themes) => void;
7
+ /**
8
+ * Utility function to clear all theme classes from the body element.
9
+ */
10
+ export declare const clearThemes: () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@albi_scando/as-design-system-lib",
3
- "version": "1.7.1",
3
+ "version": "1.7.3",
4
4
  "description": "A library of reusable, strongly typed Web Components built with TypeScript, designed for creating consistent and maintainable user interfaces.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -55,8 +55,8 @@
55
55
  "@semantic-release/git": "^10.0.1",
56
56
  "@semantic-release/github": "^12.0.3",
57
57
  "@semantic-release/npm": "^13.1.3",
58
- "@storybook/addon-docs": "10.3.0",
59
- "@storybook/html-vite": "10.3.0",
58
+ "@storybook/addon-docs": "10.3.3",
59
+ "@storybook/html-vite": "10.3.3",
60
60
  "@types/node": "^25.2.1",
61
61
  "@types/numeric": "^1.2.6",
62
62
  "@vitest/coverage-v8": "^4.0.18",
@@ -69,7 +69,7 @@
69
69
  "eslint-plugin-prettier": "^5.5.5",
70
70
  "eslint-plugin-regexp": "^3.0.0",
71
71
  "eslint-plugin-security": "^3.0.1",
72
- "eslint-plugin-storybook": "10.3.0",
72
+ "eslint-plugin-storybook": "10.3.3",
73
73
  "globals": "^17.3.0",
74
74
  "http-server": "^14.1.1",
75
75
  "husky": "^9.1.7",
@@ -77,7 +77,7 @@
77
77
  "prettier": "3.8.1",
78
78
  "sass": "^1.97.3",
79
79
  "semantic-release": "^25.0.3",
80
- "storybook": "10.3.0",
80
+ "storybook": "10.3.3",
81
81
  "typedoc": "^0.28.16",
82
82
  "typescript": "^5.9.3",
83
83
  "typescript-eslint": "^8.54.0",
@@ -88,7 +88,8 @@
88
88
  "vitest": "^4.0.18"
89
89
  },
90
90
  "peerDependencies": {
91
- "@albi_scando/as-const-lib": "^1.6.0",
91
+ "@albi_scando/as-const-lib": "^1.12.0",
92
+ "@albi_scando/as-const-themes-lib": "^1.0.0",
92
93
  "@albi_scando/as-mixins-lib": "^1.1.0",
93
94
  "@fontsource/material-symbols-outlined": "^5.2.36"
94
95
  },
@@ -1,6 +0,0 @@
1
- import { THEMES } from '@albi_scando/as-const-lib';
2
- /**
3
- * Utility function to switch the theme of the application by manipulating the body class.
4
- * @param theme The theme to apply.
5
- */
6
- export declare const switchTheme: (theme: (typeof THEMES)[keyof typeof THEMES]) => void;