@albi_scando/as-design-system-lib 1.9.4 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- const ze = "as-design-system-lib";
2
- class Me {
1
+ const He = "as-design-system-lib";
2
+ class Te {
3
3
  /**
4
4
  * Creates an instance of WebComponentsRegistry.
5
5
  * Registers all custom elements provided in the map of components.
@@ -89,7 +89,7 @@ const j = {
89
89
  LIGHT: "light",
90
90
  LIGHT_BLUE: "light-blue",
91
91
  WATER: "water"
92
- }, ht = /* @__PURE__ */ new Map([
92
+ }, gt = /* @__PURE__ */ new Map([
93
93
  [
94
94
  u.COSMO,
95
95
  {
@@ -180,16 +180,16 @@ const j = {
180
180
  value: L.WATER
181
181
  }
182
182
  ]
183
- ]), Oe = (O) => {
184
- bt();
185
- const t = ht.get(O)?.value;
183
+ ]), Ne = (O) => {
184
+ pt();
185
+ const t = gt.get(O)?.value;
186
186
  t !== void 0 && document.body.classList.add(t);
187
- }, bt = () => {
187
+ }, pt = () => {
188
188
  document.body.classList.remove(...Object.values(u));
189
- }, vt = "base-button", d = "", T = {
189
+ }, ft = "base-button", d = "", N = {
190
190
  SHOW_MODAL: "show-modal",
191
191
  CLOSE: "close"
192
- }, gt = {
192
+ }, mt = {
193
193
  CUSTOM_CROSSHAIR: `<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
194
194
  <!-- White border (underneath) -->
195
195
  <line x1="16" y1="2" x2="16" y2="30" stroke="white" stroke-width="5"/>
@@ -200,19 +200,19 @@ const j = {
200
200
  <line x1="2" y1="16" x2="30" y2="16" stroke="black" stroke-width="2"/>
201
201
  </svg>`
202
202
  };
203
- `${btoa(gt.CUSTOM_CROSSHAIR)}`;
204
- const F = {
203
+ `${btoa(mt.CUSTOM_CROSSHAIR)}`;
204
+ const q = {
205
205
  ANY: "any",
206
206
  NONE: "none"
207
- }, U = {
207
+ }, C = {
208
208
  KEY_DOWN: "keydown"
209
209
  }, z = {
210
210
  CLICK: "click"
211
- }, pt = `<button part="button">
211
+ }, yt = `<button part="button">
212
212
  <slot></slot>
213
213
  </button>
214
- `, ft = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}:where(button,input[type=button],input[type=submit],input[type=reset]),:where(input[type=file])::file-selector-button{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family-base);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-normal);padding-block:var(--button-padding-block-md);padding-inline:var(--button-padding-inline-md);display:inline-flex;justify-content:center;align-items:center;text-align:center;gap:var(--gap-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);border:var(--border-width-1) solid var(--color-border-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),filter var(--transition-fast)}:where(button,input[type=button],input[type=submit],input[type=reset])>.material-symbols-outlined{font-size:var(--font-size-xl);font-family:Material Symbols Outlined;line-height:1}:where(button,input[type=button],input[type=submit],input[type=reset])[disabled]{opacity:.35;cursor:not-allowed;box-shadow:none}:where(button,input[type=button],input[type=submit],input[type=reset]):where(:not(:disabled):hover){background:var(--color-hover-bg-secondary);border-color:var(--color-hover-border-secondary);box-shadow:var(--shadow-md)}:where(button,input[type=button],input[type=submit],input[type=reset]):where(:not(:disabled):active){background:var(--color-hover-bg-secondary);border-color:var(--color-hover-border-secondary);box-shadow:var(--shadow-sm)}:where(button,input[type=button],input[type=submit],input[type=reset]):focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}:where(input[type=file]){inline-size:100%;max-inline-size:max-content;background-color:var(--color-bg-secondary)}", K = new CSSStyleSheet();
215
- K.replaceSync(ft);
214
+ `, At = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}:where(button,input[type=button],input[type=submit],input[type=reset]),:where(input[type=file])::file-selector-button{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family-base);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-normal);padding-block:var(--button-padding-block-md);padding-inline:var(--button-padding-inline-md);display:inline-flex;justify-content:center;align-items:center;text-align:center;gap:var(--gap-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);border:var(--border-width-1) solid var(--color-border-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),filter var(--transition-fast)}:where(button,input[type=button],input[type=submit],input[type=reset])>.material-symbols-outlined{font-size:var(--font-size-xl);font-family:Material Symbols Outlined;line-height:1}:where(button,input[type=button],input[type=submit],input[type=reset])[disabled]{opacity:.35;cursor:not-allowed;box-shadow:none}:where(button,input[type=button],input[type=submit],input[type=reset]):where(:not(:disabled):hover){background:var(--color-hover-bg-secondary);border-color:var(--color-hover-border-secondary);box-shadow:var(--shadow-md)}:where(button,input[type=button],input[type=submit],input[type=reset]):where(:not(:disabled):active){background:var(--color-hover-bg-secondary);border-color:var(--color-hover-border-secondary);box-shadow:var(--shadow-sm)}:where(button,input[type=button],input[type=submit],input[type=reset]):focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}:where(input[type=file]){inline-size:100%;max-inline-size:max-content;background-color:var(--color-bg-secondary)}", U = new CSSStyleSheet();
215
+ U.replaceSync(At);
216
216
  class s extends HTMLElement {
217
217
  /**
218
218
  * @see HTMLButtonElement.autofocus
@@ -251,7 +251,7 @@ class s extends HTMLElement {
251
251
  * @ignore
252
252
  */
253
253
  constructor() {
254
- super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(K);
254
+ super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(U);
255
255
  }
256
256
  /**
257
257
  * Specifies which attributes should be observed for changes.
@@ -352,7 +352,7 @@ class s extends HTMLElement {
352
352
  * Syncs host attributes to the internal button element.
353
353
  */
354
354
  _render() {
355
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = pt, this._syncAttributes());
355
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = yt, this._syncAttributes());
356
356
  }
357
357
  /**
358
358
  * Adds event listeners to the component.
@@ -403,10 +403,10 @@ class s extends HTMLElement {
403
403
  return;
404
404
  const e = t;
405
405
  switch (this.command) {
406
- case T.SHOW_MODAL:
406
+ case N.SHOW_MODAL:
407
407
  e.showModal?.();
408
408
  break;
409
- case T.CLOSE:
409
+ case N.CLOSE:
410
410
  e.close?.();
411
411
  break;
412
412
  }
@@ -498,23 +498,23 @@ class s extends HTMLElement {
498
498
  });
499
499
  }
500
500
  }
501
- const $e = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
501
+ const je = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
502
502
  __proto__: null,
503
503
  BaseButtonComponent: s,
504
- selector: vt
505
- }, Symbol.toStringTag, { value: "Module" })), mt = `<button title="Undo" part="button">
504
+ selector: ft
505
+ }, Symbol.toStringTag, { value: "Module" })), _t = `<button title="Undo" part="button">
506
506
  <span class="material-symbols-outlined">undo</span>
507
507
  <span>Undo</span>
508
508
  </button>
509
- `, yt = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}button[part=button]{background:var(--color-warning);font-weight:var(--font-weight-medium);padding-block:var(--button-padding-block-md);padding-inline:var(--button-padding-inline-md);border-radius:var(--border-radius-lg);border:none;box-shadow:var(--shadow-md);transition:all var(--transition-base);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--gap-sm)}button[part=button]:hover{filter:brightness(1.2)}", G = new CSSStyleSheet();
510
- G.replaceSync(yt);
511
- class At extends s {
509
+ `, wt = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}button[part=button]{background:var(--color-warning);font-weight:var(--font-weight-medium);padding-block:var(--button-padding-block-md);padding-inline:var(--button-padding-inline-md);border-radius:var(--border-radius-lg);border:none;box-shadow:var(--shadow-md);transition:all var(--transition-base);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--gap-sm)}button[part=button]:hover{filter:brightness(1.2)}", K = new CSSStyleSheet();
510
+ K.replaceSync(wt);
511
+ class St extends s {
512
512
  /**
513
513
  * @constructor
514
514
  * @ignore
515
515
  */
516
516
  constructor() {
517
- super(), this.shadowRoot?.adoptedStyleSheets.push(G);
517
+ super(), this.shadowRoot?.adoptedStyleSheets.push(K);
518
518
  }
519
519
  /**
520
520
  * Specifies which attributes should be observed for changes.
@@ -526,7 +526,7 @@ class At extends s {
526
526
  * Lifecycle hook invoked when the component is inserted into the DOM.
527
527
  */
528
528
  connectedCallback() {
529
- this.hasAttribute("command") || this.setAttribute("command", T.CLOSE), this._render(), this._setCommandForAttribute(), this._addEventListeners();
529
+ this.hasAttribute("command") || this.setAttribute("command", N.CLOSE), this._render(), this._setCommandForAttribute(), this._addEventListeners();
530
530
  }
531
531
  /**
532
532
  * Lifecycle hook invoked when the component is removed from the DOM.
@@ -538,7 +538,7 @@ class At extends s {
538
538
  * Renders the component's HTML structure.
539
539
  */
540
540
  _render() {
541
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = mt, this._syncAttributes());
541
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = _t, this._syncAttributes());
542
542
  }
543
543
  /**
544
544
  * Finds the closest parent dialog and sets the `commandfor` attribute to its
@@ -558,23 +558,23 @@ class At extends s {
558
558
  e !== null && (this.commandfor = e.id);
559
559
  }
560
560
  }
561
- const q = "undo-button", Ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
561
+ const F = "undo-button", qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
562
562
  __proto__: null,
563
- UndoButtonComponent: At,
564
- selector: q
565
- }, Symbol.toStringTag, { value: "Module" })), _t = `<div class="tooltip">Close</div>
563
+ UndoButtonComponent: St,
564
+ selector: F
565
+ }, Symbol.toStringTag, { value: "Module" })), xt = `<div class="tooltip">Close</div>
566
566
  <button part="button" title="Close">
567
567
  <span class="material-symbols-outlined">close</span>
568
568
  </button>
569
- `, wt = "*{box-sizing:border-box}:host{position:relative;display:inline-flex;vertical-align:middle}.tooltip{position:absolute;top:auto;bottom:calc(100% + .5rem);left:50%;right:auto;transform:translate(-50%);width:max-content;height:auto;padding:var(--spacing-1) var(--spacing-2);background-color:var(--color-bg-tertiary, #1e1e2e);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-xs);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast);z-index:10000;margin:0}button[part=button]{background:var(--color-error);border:none;border-radius:var(--border-radius-md);padding:var(--spacing-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;aspect-ratio:1;transition:all var(--transition-base);box-shadow:var(--shadow-md);position:relative}button[part=button]:hover{filter:brightness(1.2)}:host(:hover) .tooltip{opacity:1;visibility:visible}", C = new CSSStyleSheet();
570
- C.replaceSync(wt);
571
- class St extends s {
569
+ `, Et = "*{box-sizing:border-box}:host{position:relative;display:inline-flex;vertical-align:middle}.tooltip{position:absolute;top:auto;bottom:calc(100% + .5rem);left:50%;right:auto;transform:translate(-50%);width:max-content;height:auto;padding:var(--spacing-1) var(--spacing-2);background-color:var(--color-bg-tertiary, #1e1e2e);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-xs);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast);z-index:10000;margin:0}button[part=button]{background:var(--color-error);border:none;border-radius:var(--border-radius-md);padding:var(--spacing-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;aspect-ratio:1;transition:all var(--transition-base);box-shadow:var(--shadow-md);position:relative}button[part=button]:hover{filter:brightness(1.2)}:host(:hover) .tooltip{opacity:1;visibility:visible}", G = new CSSStyleSheet();
570
+ G.replaceSync(Et);
571
+ class kt extends s {
572
572
  /**
573
573
  * @constructor
574
574
  * @ignore
575
575
  */
576
576
  constructor() {
577
- super(), this.shadowRoot?.adoptedStyleSheets.push(C);
577
+ super(), this.shadowRoot?.adoptedStyleSheets.push(G);
578
578
  }
579
579
  /**
580
580
  * Specifies which attributes should be observed for changes.
@@ -586,7 +586,7 @@ class St extends s {
586
586
  * Lifecycle hook invoked when the component is inserted into the DOM.
587
587
  */
588
588
  connectedCallback() {
589
- this.hasAttribute("command") || this.setAttribute("command", T.CLOSE), this._render(), this._setCommandForAttribute(), this._addEventListeners();
589
+ this.hasAttribute("command") || this.setAttribute("command", N.CLOSE), this._render(), this._setCommandForAttribute(), this._addEventListeners();
590
590
  }
591
591
  /**
592
592
  * Lifecycle hook invoked when the component is removed from the DOM.
@@ -598,7 +598,7 @@ class St extends s {
598
598
  * Renders the component's HTML structure.
599
599
  */
600
600
  _render() {
601
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = _t, this._syncAttributes());
601
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = xt, this._syncAttributes());
602
602
  }
603
603
  /**
604
604
  * Finds the closest parent dialog and sets the `commandfor` attribute to its ID
@@ -618,17 +618,17 @@ class St extends s {
618
618
  e !== null && (this.commandfor = e.id);
619
619
  }
620
620
  }
621
- const xt = "close-button", He = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
621
+ const Lt = "close-button", Fe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
622
622
  __proto__: null,
623
- CloseButtonComponent: St,
624
- selector: xt
625
- }, Symbol.toStringTag, { value: "Module" })), Et = `<button title="Confirm" part="button">
623
+ CloseButtonComponent: kt,
624
+ selector: Lt
625
+ }, Symbol.toStringTag, { value: "Module" })), Rt = `<button title="Confirm" part="button">
626
626
  <span class="material-symbols-outlined">check</span>
627
627
  <span>Confirm</span>
628
628
  </button>
629
- `, kt = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}button[part=button]{background:var(--color-success);font-weight:var(--font-weight-medium);padding-block:var(--button-padding-block-md);padding-inline:var(--button-padding-inline-md);border-radius:var(--border-radius-lg);border:none;box-shadow:var(--shadow-md);transition:all var(--transition-base);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--gap-sm)}button[part=button]:hover{filter:brightness(1.2)}", W = new CSSStyleSheet();
630
- W.replaceSync(kt);
631
- class Lt extends s {
629
+ `, zt = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}button[part=button]{background:var(--color-success);font-weight:var(--font-weight-medium);padding-block:var(--button-padding-block-md);padding-inline:var(--button-padding-inline-md);border-radius:var(--border-radius-lg);border:none;box-shadow:var(--shadow-md);transition:all var(--transition-base);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--gap-sm)}button[part=button]:hover{filter:brightness(1.2)}", W = new CSSStyleSheet();
630
+ W.replaceSync(zt);
631
+ class Mt extends s {
632
632
  /**
633
633
  * @constructor
634
634
  * @ignore
@@ -646,7 +646,7 @@ class Lt extends s {
646
646
  * Lifecycle hook invoked when the component is inserted into the DOM.
647
647
  */
648
648
  connectedCallback() {
649
- this.hasAttribute("command") || this.setAttribute("command", T.CLOSE), this._render(), this._setCommandForAttribute(), this._addEventListeners();
649
+ this.hasAttribute("command") || this.setAttribute("command", N.CLOSE), this._render(), this._setCommandForAttribute(), this._addEventListeners();
650
650
  }
651
651
  /**
652
652
  * Lifecycle hook invoked when the component is removed from the DOM.
@@ -658,7 +658,7 @@ class Lt extends s {
658
658
  * Renders the component's HTML structure.
659
659
  */
660
660
  _render() {
661
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = Et, this._syncAttributes());
661
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = Rt, this._syncAttributes());
662
662
  }
663
663
  /**
664
664
  * Finds the closest parent dialog and sets the `commandfor` attribute to its
@@ -678,15 +678,15 @@ class Lt extends s {
678
678
  e !== null && (this.commandfor = e.id);
679
679
  }
680
680
  }
681
- const P = "confirm-button", Ne = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
681
+ const P = "confirm-button", Pe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
682
682
  __proto__: null,
683
- ConfirmButtonComponent: Lt,
683
+ ConfirmButtonComponent: Mt,
684
684
  selector: P
685
- }, Symbol.toStringTag, { value: "Module" })), Rt = `<button part="button">
685
+ }, Symbol.toStringTag, { value: "Module" })), Ot = `<button part="button">
686
686
  <span class="material-symbols-outlined">chevron_left</span>
687
687
  </button>
688
- `, zt = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}", Y = new CSSStyleSheet();
689
- Y.replaceSync(zt);
688
+ `, $t = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}", V = new CSSStyleSheet();
689
+ V.replaceSync($t);
690
690
  class H extends s {
691
691
  static _disabledAttribute = "disabled";
692
692
  static _titleAttribute = "title";
@@ -695,7 +695,7 @@ class H extends s {
695
695
  * @ignore
696
696
  */
697
697
  constructor() {
698
- super(), this.shadowRoot?.adoptedStyleSheets.push(Y);
698
+ super(), this.shadowRoot?.adoptedStyleSheets.push(V);
699
699
  }
700
700
  /**
701
701
  * Specifies which attributes should be observed for changes.
@@ -726,7 +726,7 @@ class H extends s {
726
726
  * Renders the component's HTML structure.
727
727
  */
728
728
  _render() {
729
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = Rt, this._syncAttributes());
729
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = Ot, this._syncAttributes());
730
730
  }
731
731
  /**
732
732
  * Updates the title attribute based on disabled state.
@@ -739,16 +739,16 @@ class H extends s {
739
739
  t !== null && (this.disabled ? t.removeAttribute(H._titleAttribute) : t.setAttribute(H._titleAttribute, "Previous"));
740
740
  }
741
741
  }
742
- const Mt = "previous-button", Te = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
742
+ const It = "previous-button", De = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
743
743
  __proto__: null,
744
744
  PreviousButtonComponent: H,
745
- selector: Mt
746
- }, Symbol.toStringTag, { value: "Module" })), Ot = `<button part="button">
745
+ selector: It
746
+ }, Symbol.toStringTag, { value: "Module" })), Ht = `<button part="button">
747
747
  <span class="material-symbols-outlined">chevron_right</span>
748
748
  </button>
749
- `, $t = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}", V = new CSSStyleSheet();
750
- V.replaceSync($t);
751
- class N extends s {
749
+ `, Tt = "*{box-sizing:border-box}:host{display:inline-flex;vertical-align:middle}button[part=button]{border:none;background:transparent}button[part=button]:not(:disabled):hover{transform:scale(1.2)}", Y = new CSSStyleSheet();
750
+ Y.replaceSync(Tt);
751
+ class T extends s {
752
752
  static _disabledAttribute = "disabled";
753
753
  static _titleAttribute = "title";
754
754
  /**
@@ -756,7 +756,7 @@ class N extends s {
756
756
  * @ignore
757
757
  */
758
758
  constructor() {
759
- super(), this.shadowRoot?.adoptedStyleSheets.push(V);
759
+ super(), this.shadowRoot?.adoptedStyleSheets.push(Y);
760
760
  }
761
761
  /**
762
762
  * Specifies which attributes should be observed for changes.
@@ -781,13 +781,13 @@ class N extends s {
781
781
  * Updates the title visibility based on disabled state.
782
782
  */
783
783
  attributeChangedCallback(t, e, i) {
784
- super.attributeChangedCallback(t, e, i), t === N._disabledAttribute && this._updateTitle();
784
+ super.attributeChangedCallback(t, e, i), t === T._disabledAttribute && this._updateTitle();
785
785
  }
786
786
  /**
787
787
  * Renders the component's HTML structure.
788
788
  */
789
789
  _render() {
790
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = Ot, this._syncAttributes());
790
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = Ht, this._syncAttributes());
791
791
  }
792
792
  /**
793
793
  * Updates the title attribute based on disabled state.
@@ -797,18 +797,18 @@ class N extends s {
797
797
  const t = this.shadowRoot?.querySelector(
798
798
  "button"
799
799
  );
800
- t !== null && (this.disabled ? t.removeAttribute(N._titleAttribute) : t.setAttribute(N._titleAttribute, "Next"));
800
+ t !== null && (this.disabled ? t.removeAttribute(T._titleAttribute) : t.setAttribute(T._titleAttribute, "Next"));
801
801
  }
802
802
  }
803
- const It = "next-button", je = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
803
+ const Nt = "next-button", Ce = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
804
804
  __proto__: null,
805
- NextButtonComponent: N,
806
- selector: It
807
- }, Symbol.toStringTag, { value: "Module" })), Ht = `<dialog part="dialog">
805
+ NextButtonComponent: T,
806
+ selector: Nt
807
+ }, Symbol.toStringTag, { value: "Module" })), jt = `<dialog part="dialog">
808
808
  <slot></slot>
809
809
  </dialog>
810
- `, Nt = "*{box-sizing:border-box}dialog{background-color:var(--color-bg-primary);color:var(--color-text-primary);border:var(--border-width-1) solid var(--color-border-secondary);border-radius:var(--border-radius-xl);padding:var(--spacing-4);font-family:var(--font-family-base);line-height:var(--line-height-normal);font-size:var(--font-size-sm);box-shadow:var(--shadow-2xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideIn var(--transition-base) cubic-bezier(.34,1.56,.64,1) forwards}dialog.closing{animation:slideOut var(--transition-base) cubic-bezier(.34,1.56,.64,1) forwards}dialog::backdrop{background:var(--window-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-base) ease-out forwards}dialog.closing::backdrop{animation:fadeOut var(--transition-base) ease-out forwards}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(-20px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}", X = new CSSStyleSheet();
811
- X.replaceSync(Nt);
810
+ `, qt = "*{box-sizing:border-box}dialog{background-color:var(--color-bg-primary);color:var(--color-text-primary);border:var(--border-width-1) solid var(--color-border-secondary);border-radius:var(--border-radius-xl);padding:var(--spacing-4);font-family:var(--font-family-base);line-height:var(--line-height-normal);font-size:var(--font-size-sm);box-shadow:var(--shadow-2xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideIn var(--transition-base) cubic-bezier(.34,1.56,.64,1) forwards}dialog.closing{animation:slideOut var(--transition-base) cubic-bezier(.34,1.56,.64,1) forwards}dialog::backdrop{background:var(--window-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-base) ease-out forwards}dialog.closing::backdrop{animation:fadeOut var(--transition-base) ease-out forwards}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(-20px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}", X = new CSSStyleSheet();
811
+ X.replaceSync(qt);
812
812
  class M extends HTMLElement {
813
813
  /**
814
814
  * @see HTMLDialogElement.closedBy
@@ -818,7 +818,7 @@ class M extends HTMLElement {
818
818
  * Defines how the dialog can be closed.
819
819
  * @see DialogClosedBy
820
820
  */
821
- _closedBy = F.ANY;
821
+ _closedBy = q.ANY;
822
822
  /**
823
823
  * @constructor
824
824
  * @ignore
@@ -836,7 +836,7 @@ class M extends HTMLElement {
836
836
  return this.shadowRoot?.querySelector("dialog");
837
837
  }
838
838
  get command() {
839
- return this.getAttribute(M.closedByAttribute) ?? F.ANY;
839
+ return this.getAttribute(M.closedByAttribute) ?? q.ANY;
840
840
  }
841
841
  get closedBy() {
842
842
  return this._closedBy;
@@ -894,7 +894,7 @@ class M extends HTMLElement {
894
894
  * @returns {void}
895
895
  */
896
896
  _render() {
897
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = Ht, this._syncAttributes());
897
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = jt, this._syncAttributes());
898
898
  }
899
899
  /**
900
900
  * Syncs a single attribute from host to dialog element.
@@ -939,11 +939,11 @@ class M extends HTMLElement {
939
939
  }, 300);
940
940
  }
941
941
  }
942
- const Tt = "base-dialog", Fe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
942
+ const Ft = "base-dialog", Ue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
943
943
  __proto__: null,
944
944
  BaseDialogComponent: M,
945
- selector: Tt
946
- }, Symbol.toStringTag, { value: "Module" })), jt = `<dialog part="dialog">
945
+ selector: Ft
946
+ }, Symbol.toStringTag, { value: "Module" })), Pt = `<dialog part="dialog">
947
947
  <header part="header">
948
948
  <h2></h2>
949
949
  </header>
@@ -955,7 +955,7 @@ const Tt = "base-dialog", Fe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Obj
955
955
  <undo-button></undo-button>
956
956
  </footer>
957
957
  </dialog>
958
- `, Ft = "*{box-sizing:border-box}dialog header[part=header] h2{margin:0;padding:0}dialog div[part=body] p{margin:0;padding:0}dialog footer[part=footer]{display:flex;gap:var(--gap-md);justify-content:flex-end}", qt = `<dialog part="dialog">
958
+ `, Dt = "*{box-sizing:border-box}dialog header[part=header] h2{margin:0;padding:0}dialog div[part=body] p{margin:0;padding:0}dialog footer[part=footer]{display:flex;gap:var(--gap-md);justify-content:flex-end}", Ct = `<dialog part="dialog">
959
959
  <header part="header">
960
960
  <slot name="header"></slot>
961
961
  </header>
@@ -966,8 +966,8 @@ const Tt = "base-dialog", Fe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Obj
966
966
  <slot name="footer"></slot>
967
967
  </footer>
968
968
  </dialog>
969
- `, Pt = '*{box-sizing:border-box}dialog[open]{max-width:100%;max-height:100%;display:flex;flex-direction:column;gap:var(--spacing-4)}dialog>[part]{position:relative}dialog>[part][hidden]{display:none}dialog>[part][data-divider=true]:after{content:"";position:absolute;left:0;right:0;bottom:0;border-bottom:var(--border-width-1) solid var(--color-neutral-600)}dialog>[part][data-divider=true]{padding-bottom:var(--spacing-4)}dialog div[part=body]{flex:1;min-height:0;overflow-y:auto}', B = new CSSStyleSheet();
970
- B.replaceSync(Pt);
969
+ `, Ut = '*{box-sizing:border-box}dialog[open]{max-width:100%;max-height:100%;display:flex;flex-direction:column;gap:var(--spacing-4)}dialog>[part]{position:relative}dialog>[part][hidden]{display:none}dialog>[part][data-divider=true]:after{content:"";position:absolute;left:0;right:0;bottom:0;border-bottom:var(--border-width-1) solid var(--color-neutral-600)}dialog>[part][data-divider=true]{padding-bottom:var(--spacing-4)}dialog div[part=body]{flex:1;min-height:0;overflow-y:auto}', B = new CSSStyleSheet();
970
+ B.replaceSync(Ut);
971
971
  class D extends M {
972
972
  _sectionNames = ["header", "body", "footer"];
973
973
  _handleSlotChange = () => {
@@ -994,7 +994,7 @@ class D extends M {
994
994
  * @returns {void}
995
995
  */
996
996
  _render() {
997
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = qt, this._syncAttributes());
997
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = Ct, this._syncAttributes());
998
998
  }
999
999
  /**
1000
1000
  * Adds slot listeners so sections can react to projected content changes.
@@ -1041,7 +1041,7 @@ class D extends M {
1041
1041
  }
1042
1042
  }
1043
1043
  const J = new CSSStyleSheet();
1044
- J.replaceSync(Ft);
1044
+ J.replaceSync(Dt);
1045
1045
  class p extends D {
1046
1046
  /**
1047
1047
  * The title of the confirmation dialog.
@@ -1109,7 +1109,7 @@ class p extends D {
1109
1109
  * @returns {void}
1110
1110
  */
1111
1111
  connectedCallback() {
1112
- this._render(), this._addEventListeners(), this.closedBy = F.NONE;
1112
+ this._render(), this._addEventListeners(), this.closedBy = q.NONE;
1113
1113
  }
1114
1114
  /**
1115
1115
  * Renders the component's HTML structure.
@@ -1118,7 +1118,7 @@ class p extends D {
1118
1118
  * @returns {void}
1119
1119
  */
1120
1120
  _render() {
1121
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = jt, this._syncAttributes());
1121
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = Pt, this._syncAttributes());
1122
1122
  }
1123
1123
  /**
1124
1124
  * Syncs a single attribute from host to the DOM elements.
@@ -1168,7 +1168,7 @@ class p extends D {
1168
1168
  * @returns {void}
1169
1169
  */
1170
1170
  _addEventListeners() {
1171
- super._addEventListeners(), this.shadowRoot?.querySelector(P)?.addEventListener(z.CLICK, this._handleConfirm), this.shadowRoot?.querySelector(q)?.addEventListener(z.CLICK, this._handleUndo);
1171
+ super._addEventListeners(), this.shadowRoot?.querySelector(P)?.addEventListener(z.CLICK, this._handleConfirm), this.shadowRoot?.querySelector(F)?.addEventListener(z.CLICK, this._handleUndo);
1172
1172
  }
1173
1173
  /**
1174
1174
  * Removes event listeners.
@@ -1176,7 +1176,7 @@ class p extends D {
1176
1176
  * @returns {void}
1177
1177
  */
1178
1178
  _removeEventListeners() {
1179
- super._removeEventListeners(), this.shadowRoot?.querySelector(P)?.removeEventListener(z.CLICK, this._handleConfirm), this.shadowRoot?.querySelector(q)?.removeEventListener(z.CLICK, this._handleUndo);
1179
+ super._removeEventListeners(), this.shadowRoot?.querySelector(P)?.removeEventListener(z.CLICK, this._handleConfirm), this.shadowRoot?.querySelector(F)?.removeEventListener(z.CLICK, this._handleUndo);
1180
1180
  }
1181
1181
  /**
1182
1182
  * Handles the confirm button click event.
@@ -1211,19 +1211,19 @@ class p extends D {
1211
1211
  this.dispatchEvent(t), this._value = void 0;
1212
1212
  };
1213
1213
  }
1214
- const Dt = "confirmation-dialog", Ut = {
1214
+ const Kt = "confirmation-dialog", Gt = {
1215
1215
  CONFIRMATION_DIALOG_CONFIRM: j.CONFIRMATION_DIALOG_CONFIRM,
1216
1216
  CONFIRMATION_DIALOG_UNDO: j.CONFIRMATION_DIALOG_UNDO
1217
- }, qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1217
+ }, Ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1218
1218
  __proto__: null,
1219
- COMPONENT_CUSTOM_MESSAGES: Ut,
1219
+ COMPONENT_CUSTOM_MESSAGES: Gt,
1220
1220
  ConfirmationDialogComponent: p,
1221
- selector: Dt
1222
- }, Symbol.toStringTag, { value: "Module" })), Kt = "header-body-footer-dialog", Pe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1221
+ selector: Kt
1222
+ }, Symbol.toStringTag, { value: "Module" })), Wt = "header-body-footer-dialog", Ge = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1223
1223
  __proto__: null,
1224
1224
  HeaderBodyFooterDialogComponent: D,
1225
- selector: Kt
1226
- }, Symbol.toStringTag, { value: "Module" })), Gt = `<div class="bar-menu-container">
1225
+ selector: Wt
1226
+ }, Symbol.toStringTag, { value: "Module" })), Vt = `<div class="bar-menu-container">
1227
1227
  <previous-button class="nav-prev" part="nav-prev-button"></previous-button>
1228
1228
 
1229
1229
  <div class="buttons-wrapper" part="buttons-wrapper">
@@ -1232,8 +1232,8 @@ const Dt = "confirmation-dialog", Ut = {
1232
1232
 
1233
1233
  <next-button class="nav-next" part="nav-next-button"></next-button>
1234
1234
  </div>
1235
- `, Ct = "*{box-sizing:border-box}:host{display:block;width:100%}.bar-menu-container{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--gap-sm);padding:var(--spacing-1);background:var(--color-bg-primary);border-radius:var(--border-radius-full);border:var(--border-width-2) solid var(--color-border-secondary);box-shadow:var(--shadow-sm);margin:0 auto}.bar-menu-container .nav-prev,.bar-menu-container .nav-next{flex-shrink:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease-in-out,visibility .2s ease-in-out}.bar-menu-container .nav-prev.visible,.bar-menu-container .nav-next.visible{opacity:1;visibility:visible;pointer-events:auto}.bar-menu-container .nav-prev::part(button),.bar-menu-container .nav-next::part(button){background-color:transparent;box-shadow:none}.bar-menu-container .buttons-wrapper{display:grid;grid-template-columns:repeat(var(--bar-menu-visible-count, 3),1fr);grid-auto-rows:max-content;align-items:center;justify-items:center;gap:var(--gap-sm);overflow:hidden;position:relative;width:auto}::slotted(*){display:none;flex-shrink:0;will-change:opacity,transform;contain:layout style paint;opacity:0;transform:scale(.8)}::slotted(.animating){transition:opacity .4s cubic-bezier(.34,1.56,.64,1),transform .4s cubic-bezier(.34,1.56,.64,1)}::slotted(.visible-button){display:inline-flex!important;pointer-events:auto;opacity:1;transform:scale(1)}", Q = new CSSStyleSheet();
1236
- Q.replaceSync(Ct);
1235
+ `, Yt = "*{box-sizing:border-box}:host{display:block;width:100%}.bar-menu-container{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--gap-sm);padding:var(--spacing-1);background:var(--color-bg-primary);border-radius:var(--border-radius-full);border:var(--border-width-2) solid var(--color-border-secondary);box-shadow:var(--shadow-sm);margin:0 auto}.bar-menu-container .nav-prev,.bar-menu-container .nav-next{flex-shrink:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease-in-out,visibility .2s ease-in-out}.bar-menu-container .nav-prev.visible,.bar-menu-container .nav-next.visible{opacity:1;visibility:visible;pointer-events:auto}.bar-menu-container .nav-prev::part(button),.bar-menu-container .nav-next::part(button){background-color:transparent;box-shadow:none}.bar-menu-container .buttons-wrapper{display:grid;grid-template-columns:repeat(var(--bar-menu-visible-count, 3),1fr);grid-auto-rows:max-content;align-items:center;justify-items:center;gap:var(--gap-sm);overflow:hidden;position:relative;width:auto}::slotted(*){display:none;flex-shrink:0;will-change:opacity,transform;contain:layout style paint;opacity:0;transform:scale(.8)}::slotted(.animating){transition:opacity .4s cubic-bezier(.34,1.56,.64,1),transform .4s cubic-bezier(.34,1.56,.64,1)}::slotted(.visible-button){display:inline-flex!important;pointer-events:auto;opacity:1;transform:scale(1)}", Q = new CSSStyleSheet();
1236
+ Q.replaceSync(Yt);
1237
1237
  class y extends HTMLElement {
1238
1238
  static _visibleCountAttribute = "visible-count";
1239
1239
  static _cyclicalNavigationAttribute = "cyclical-navigation";
@@ -1312,7 +1312,7 @@ class y extends HTMLElement {
1312
1312
  * Render the component's Shadow DOM structure
1313
1313
  */
1314
1314
  _render() {
1315
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = Gt);
1315
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = Vt);
1316
1316
  }
1317
1317
  /**
1318
1318
  * Cache Shadow DOM elements for performance
@@ -1350,13 +1350,13 @@ class y extends HTMLElement {
1350
1350
  _setupKeyboardListener() {
1351
1351
  this._keyDownListener = (t) => {
1352
1352
  t.key === "ArrowLeft" ? (t.preventDefault(), this._scrollPrevious()) : t.key === "ArrowRight" && (t.preventDefault(), this._scrollNext());
1353
- }, this.addEventListener(U.KEY_DOWN, this._keyDownListener);
1353
+ }, this.addEventListener(C.KEY_DOWN, this._keyDownListener);
1354
1354
  }
1355
1355
  /**
1356
1356
  * Remove keyboard listener
1357
1357
  */
1358
1358
  _removeKeyboardListener() {
1359
- this._keyDownListener !== null && this.removeEventListener(U.KEY_DOWN, this._keyDownListener);
1359
+ this._keyDownListener !== null && this.removeEventListener(C.KEY_DOWN, this._keyDownListener);
1360
1360
  }
1361
1361
  /**
1362
1362
  * Get all slotted button elements
@@ -1376,8 +1376,8 @@ class y extends HTMLElement {
1376
1376
  if (g >= a && g < v) {
1377
1377
  const $ = c;
1378
1378
  $.style.display = "inline-flex", c.classList.add("animating");
1379
- const ut = g % this.visibleButtons * 50;
1380
- $.style.transitionDelay = `${ut}ms`;
1379
+ const vt = g % this.visibleButtons * 50;
1380
+ $.style.transitionDelay = `${vt}ms`;
1381
1381
  }
1382
1382
  }), e[0]?.offsetHeight, e.forEach((c, g) => {
1383
1383
  g >= a && g < v && c.classList.add("visible-button");
@@ -1444,15 +1444,15 @@ class y extends HTMLElement {
1444
1444
  return this._currentIndex;
1445
1445
  }
1446
1446
  }
1447
- const Wt = "bar-menu", De = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1447
+ const Xt = "bar-menu", We = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1448
1448
  __proto__: null,
1449
1449
  BarMenuComponent: y,
1450
- selector: Wt
1451
- }, Symbol.toStringTag, { value: "Module" })), Yt = "ds-spinner", Vt = `<div part="spinner" class="spinner" role="status" aria-label="Loading">
1450
+ selector: Xt
1451
+ }, Symbol.toStringTag, { value: "Module" })), Bt = "ds-spinner", Jt = `<div part="spinner" class="spinner" role="status" aria-label="Loading">
1452
1452
  <div class="spinner-ring"></div>
1453
1453
  </div>
1454
- `, Xt = "*{box-sizing:border-box}:host{display:inline-flex;align-items:center;justify-content:center}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner-ring{width:var(--spinner-size, 2rem);height:var(--spinner-size, 2rem);border:3px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:var(--border-radius-full);animation:spin var(--transition-slow) linear infinite}:host([size=sm]) .spinner-ring{width:1rem;height:1rem;border-width:2px}:host([size=md]) .spinner-ring{width:2rem;height:2rem;border-width:3px}:host([size=lg]) .spinner-ring{width:3rem;height:3rem;border-width:4px}:host([variant=primary]) .spinner-ring{border-top-color:var(--color-primary)}:host([variant=success]) .spinner-ring{border-top-color:var(--color-success)}:host([variant=warning]) .spinner-ring{border-top-color:var(--color-warning)}:host([variant=error]) .spinner-ring{border-top-color:var(--color-error)}@keyframes spin{to{transform:rotate(360deg)}}", Z = new CSSStyleSheet();
1455
- Z.replaceSync(Xt);
1454
+ `, Qt = "*{box-sizing:border-box}:host{display:inline-flex;align-items:center;justify-content:center}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner-ring{width:var(--spinner-size, 2rem);height:var(--spinner-size, 2rem);border:3px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:var(--border-radius-full);animation:spin var(--transition-slow) linear infinite}:host([size=sm]) .spinner-ring{width:1rem;height:1rem;border-width:2px}:host([size=md]) .spinner-ring{width:2rem;height:2rem;border-width:3px}:host([size=lg]) .spinner-ring{width:3rem;height:3rem;border-width:4px}:host([variant=primary]) .spinner-ring{border-top-color:var(--color-primary)}:host([variant=success]) .spinner-ring{border-top-color:var(--color-success)}:host([variant=warning]) .spinner-ring{border-top-color:var(--color-warning)}:host([variant=error]) .spinner-ring{border-top-color:var(--color-error)}@keyframes spin{to{transform:rotate(360deg)}}", Z = new CSSStyleSheet();
1455
+ Z.replaceSync(Qt);
1456
1456
  class f extends HTMLElement {
1457
1457
  static _sizeAttribute = "size";
1458
1458
  static _variantAttribute = "variant";
@@ -1496,14 +1496,14 @@ class f extends HTMLElement {
1496
1496
  _render() {
1497
1497
  if (this.shadowRoot === null)
1498
1498
  return;
1499
- this.shadowRoot.innerHTML = Vt, this.shadowRoot.querySelector(".spinner")?.setAttribute("aria-label", this.label);
1499
+ this.shadowRoot.innerHTML = Jt, this.shadowRoot.querySelector(".spinner")?.setAttribute("aria-label", this.label);
1500
1500
  }
1501
1501
  }
1502
- const Ue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1502
+ const Ve = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1503
1503
  __proto__: null,
1504
1504
  SpinnerComponent: f,
1505
- selector: Yt
1506
- }, Symbol.toStringTag, { value: "Module" })), Bt = "ds-progress-bar", Jt = `<div
1505
+ selector: Bt
1506
+ }, Symbol.toStringTag, { value: "Module" })), Zt = "ds-progress-bar", te = `<div
1507
1507
  part="container"
1508
1508
  class="progress-container"
1509
1509
  role="progressbar"
@@ -1515,8 +1515,8 @@ const Ue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1515
1515
  </div>
1516
1516
  <span class="progress-label"></span>
1517
1517
  </div>
1518
- `, Qt = "*{box-sizing:border-box}:host{display:block;width:100%}.progress-container{display:flex;flex-direction:column;gap:var(--gap-xs)}.progress-track{width:100%;height:.5rem;background-color:var(--color-bg-secondary);border-radius:var(--border-radius-full);overflow:hidden;border:1px solid var(--color-border-primary)}:host([size=sm]) .progress-track{height:.25rem}:host([size=md]) .progress-track{height:.5rem}:host([size=lg]) .progress-track{height:1rem}.progress-fill{height:100%;width:0%;background:var(--color-primary);border-radius:var(--border-radius-full);transition:width var(--transition-base) ease}:host([variant=success]) .progress-fill{background:var(--color-success)}:host([variant=warning]) .progress-fill{background:var(--color-warning)}:host([variant=error]) .progress-fill{background:var(--color-error)}:host([variant=info]) .progress-fill{background:var(--color-info)}:host([indeterminate]) .progress-fill{width:40%!important;animation:indeterminate var(--transition-slow) ease-in-out infinite}.progress-label{font-family:var(--font-family-base);font-size:var(--font-size-xs);color:var(--color-text-secondary);align-self:flex-end}:host(:not([show-label])) .progress-label{display:none}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}", tt = new CSSStyleSheet();
1519
- tt.replaceSync(Qt);
1518
+ `, ee = "*{box-sizing:border-box}:host{display:block;width:100%}.progress-container{display:flex;flex-direction:column;gap:var(--gap-xs)}.progress-track{width:100%;height:.5rem;background-color:var(--color-bg-secondary);border-radius:var(--border-radius-full);overflow:hidden;border:1px solid var(--color-border-primary)}:host([size=sm]) .progress-track{height:.25rem}:host([size=md]) .progress-track{height:.5rem}:host([size=lg]) .progress-track{height:1rem}.progress-fill{height:100%;width:0%;background:var(--color-primary);border-radius:var(--border-radius-full);transition:width var(--transition-base) ease}:host([variant=success]) .progress-fill{background:var(--color-success)}:host([variant=warning]) .progress-fill{background:var(--color-warning)}:host([variant=error]) .progress-fill{background:var(--color-error)}:host([variant=info]) .progress-fill{background:var(--color-info)}:host([indeterminate]) .progress-fill{width:40%!important;animation:indeterminate var(--transition-slow) ease-in-out infinite}.progress-label{font-family:var(--font-family-base);font-size:var(--font-size-xs);color:var(--color-text-secondary);align-self:flex-end}:host(:not([show-label])) .progress-label{display:none}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}", tt = new CSSStyleSheet();
1519
+ tt.replaceSync(ee);
1520
1520
  class h extends HTMLElement {
1521
1521
  static _valueAttribute = "value";
1522
1522
  static _variantAttribute = "variant";
@@ -1571,7 +1571,7 @@ class h extends HTMLElement {
1571
1571
  i !== e && this._update();
1572
1572
  }
1573
1573
  _render() {
1574
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = Jt, this._update());
1574
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = te, this._update());
1575
1575
  }
1576
1576
  _update() {
1577
1577
  const t = this.shadowRoot?.querySelector(".progress-fill"), e = this.shadowRoot?.querySelector(
@@ -1583,13 +1583,13 @@ class h extends HTMLElement {
1583
1583
  )), i != null && (i.textContent = this.indeterminate ? "" : `${this.value}%`);
1584
1584
  }
1585
1585
  }
1586
- const Ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1586
+ const Ye = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1587
1587
  __proto__: null,
1588
1588
  ProgressBarComponent: h,
1589
- selector: Bt
1590
- }, Symbol.toStringTag, { value: "Module" })), Zt = "ds-skeleton", te = `<div part="skeleton" class="skeleton" aria-hidden="true"></div>
1591
- `, ee = "*{box-sizing:border-box}:host{display:block;width:100%}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;border-radius:var(--border-radius-md);animation:shimmer 1.5s infinite;min-height:1rem;width:100%}:host([shape=circle]) .skeleton{border-radius:var(--border-radius-full);width:var(--skeleton-size, 3rem);height:var(--skeleton-size, 3rem)}:host([shape=text]) .skeleton{border-radius:var(--border-radius-sm);height:1em}:host([shape=rect]) .skeleton{border-radius:var(--border-radius-md)}:host([width=full]){width:100%}:host([width=half]){width:50%}:host([width=quarter]){width:25%}:host([width=three-quarters]){width:75%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}", et = new CSSStyleSheet();
1592
- et.replaceSync(ee);
1589
+ selector: Zt
1590
+ }, Symbol.toStringTag, { value: "Module" })), ie = "ds-skeleton", re = `<div part="skeleton" class="skeleton" aria-hidden="true"></div>
1591
+ `, se = "*{box-sizing:border-box}:host{display:block;width:100%}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;border-radius:var(--border-radius-md);animation:shimmer 1.5s infinite;min-height:1rem;width:100%}:host([shape=circle]) .skeleton{border-radius:var(--border-radius-full);width:var(--skeleton-size, 3rem);height:var(--skeleton-size, 3rem)}:host([shape=text]) .skeleton{border-radius:var(--border-radius-sm);height:1em}:host([shape=rect]) .skeleton{border-radius:var(--border-radius-md)}:host([width=full]){width:100%}:host([width=half]){width:50%}:host([width=quarter]){width:25%}:host([width=three-quarters]){width:75%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}", et = new CSSStyleSheet();
1592
+ et.replaceSync(se);
1593
1593
  class _ extends HTMLElement {
1594
1594
  static _shapeAttribute = "shape";
1595
1595
  static _heightAttribute = "height";
@@ -1623,18 +1623,18 @@ class _ extends HTMLElement {
1623
1623
  i !== e && t === _._heightAttribute && this._applyHeight(i);
1624
1624
  }
1625
1625
  _render() {
1626
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = te, this._applyHeight(this.height));
1626
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = re, this._applyHeight(this.height));
1627
1627
  }
1628
1628
  _applyHeight(t) {
1629
1629
  const e = this.shadowRoot?.querySelector(".skeleton");
1630
1630
  e != null && t !== null && t !== "" && (e.style.height = t);
1631
1631
  }
1632
1632
  }
1633
- const Ge = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1633
+ const Xe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1634
1634
  __proto__: null,
1635
1635
  SkeletonComponent: _,
1636
- selector: Zt
1637
- }, Symbol.toStringTag, { value: "Module" })), ie = `<div
1636
+ selector: ie
1637
+ }, Symbol.toStringTag, { value: "Module" })), oe = `<div
1638
1638
  class="cv-viewer__loader"
1639
1639
  aria-live="polite"
1640
1640
  aria-label="Loading"
@@ -1664,8 +1664,8 @@ const Ge = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1664
1664
  </div>
1665
1665
  <p class="cv-viewer__loader-label">Loading…</p>
1666
1666
  </div>
1667
- `, re = ":host{display:block}:host(:not([loading])),:host([loading=false]){display:none}.cv-viewer__loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:48px;background:#1a1a1a;transition:opacity .4s ease;z-index:2}.cv-viewer__loader--hidden{opacity:0;pointer-events:none}.cv-viewer__loader-pulse{display:flex;flex-direction:column;gap:14px;width:min(520px,80%)}.cv-viewer__loader-bar{height:12px;border-radius:2px;background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1a,#ffffff0a 75%);background-size:200% 100%;animation:shimmer 1.8s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}", it = new CSSStyleSheet();
1668
- it.replaceSync(re);
1667
+ `, ae = ":host{display:block}:host(:not([loading])),:host([loading=false]){display:none}.cv-viewer__loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:48px;background:#1a1a1a;transition:opacity .4s ease;z-index:2}.cv-viewer__loader--hidden{opacity:0;pointer-events:none}.cv-viewer__loader-pulse{display:flex;flex-direction:column;gap:14px;width:min(520px,80%)}.cv-viewer__loader-bar{height:12px;border-radius:2px;background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1a,#ffffff0a 75%);background-size:200% 100%;animation:shimmer 1.8s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}", it = new CSSStyleSheet();
1668
+ it.replaceSync(ae);
1669
1669
  class w extends HTMLElement {
1670
1670
  static _labelAttribute = "label";
1671
1671
  static _loadingAttribute = "loading";
@@ -1714,7 +1714,7 @@ class w extends HTMLElement {
1714
1714
  * Renders the component's Shadow DOM structure.
1715
1715
  */
1716
1716
  _render() {
1717
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = ie, this._updateLabel());
1717
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = oe, this._updateLabel());
1718
1718
  }
1719
1719
  /**
1720
1720
  * Updates the label text in the shadow DOM.
@@ -1724,19 +1724,19 @@ class w extends HTMLElement {
1724
1724
  t != null && (t.textContent = this.label);
1725
1725
  }
1726
1726
  }
1727
- const se = "loader-bars", Ce = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1727
+ const ne = "loader-bars", Be = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1728
1728
  __proto__: null,
1729
1729
  LoaderBarsComponent: w,
1730
- selector: se
1731
- }, Symbol.toStringTag, { value: "Module" })), oe = "ds-card", ae = `<div part="card" class="card">
1730
+ selector: ne
1731
+ }, Symbol.toStringTag, { value: "Module" })), le = "ds-card", de = `<div part="card" class="card">
1732
1732
  <slot name="header" class="card-header-slot"></slot>
1733
1733
  <div class="card-body">
1734
1734
  <slot></slot>
1735
1735
  </div>
1736
1736
  <slot name="footer" class="card-footer-slot"></slot>
1737
1737
  </div>
1738
- `, ne = '*{box-sizing:border-box}:host{display:block}.card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:box-shadow var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast);font-family:var(--font-family-base);color:var(--color-text-primary);position:relative}.card:before{content:"";display:block;height:2px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 100%);opacity:0;transition:opacity var(--transition-fast)}:host([hoverable]) .card:hover{box-shadow:var(--shadow-xl);transform:translateY(-3px);border-color:var(--color-border-secondary)}:host([hoverable]) .card:hover:before{opacity:1}:host([variant=outlined]) .card{background:transparent;box-shadow:none;border:var(--border-width-2) solid var(--color-border-secondary)}:host([variant=elevated]) .card{background:var(--color-bg-primary);box-shadow:var(--shadow-xl);border:none}:host([variant=filled]) .card{background:var(--color-bg-secondary);border:none;box-shadow:none}.card-body{padding:var(--spacing-4) var(--spacing-5)}::slotted([slot=header]){display:block;padding:var(--spacing-5) var(--spacing-5) var(--spacing-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}::slotted([slot=footer]){display:block;padding:var(--spacing-3) var(--spacing-5) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-top:1px solid var(--color-border-primary)}', rt = new CSSStyleSheet();
1739
- rt.replaceSync(ne);
1738
+ `, ce = '*{box-sizing:border-box}:host{display:block}.card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:box-shadow var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast);font-family:var(--font-family-base);color:var(--color-text-primary);position:relative}.card:before{content:"";display:block;height:2px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 100%);opacity:0;transition:opacity var(--transition-fast)}:host([hoverable]) .card:hover{box-shadow:var(--shadow-xl);transform:translateY(-3px);border-color:var(--color-border-secondary)}:host([hoverable]) .card:hover:before{opacity:1}:host([variant=outlined]) .card{background:transparent;box-shadow:none;border:var(--border-width-2) solid var(--color-border-secondary)}:host([variant=elevated]) .card{background:var(--color-bg-primary);box-shadow:var(--shadow-xl);border:none}:host([variant=filled]) .card{background:var(--color-bg-secondary);border:none;box-shadow:none}.card-body{padding:var(--spacing-4) var(--spacing-5)}::slotted([slot=header]){display:block;padding:var(--spacing-5) var(--spacing-5) var(--spacing-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}::slotted([slot=footer]){display:block;padding:var(--spacing-3) var(--spacing-5) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-top:1px solid var(--color-border-primary)}', rt = new CSSStyleSheet();
1739
+ rt.replaceSync(ce);
1740
1740
  class R extends HTMLElement {
1741
1741
  static _variantAttribute = "variant";
1742
1742
  static _hoverableAttribute = "hoverable";
@@ -1767,24 +1767,102 @@ class R extends HTMLElement {
1767
1767
  attributeChangedCallback(t, e, i) {
1768
1768
  }
1769
1769
  _render() {
1770
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = ae);
1770
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = de);
1771
1771
  }
1772
1772
  }
1773
- const We = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1773
+ const Je = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1774
1774
  __proto__: null,
1775
1775
  BaseCardComponent: R,
1776
- selector: oe
1777
- }, Symbol.toStringTag, { value: "Module" })), le = "ds-badge", de = `<span part="badge" class="badge">
1776
+ selector: le
1777
+ }, Symbol.toStringTag, { value: "Module" })), ue = `<div part="card" class="card">
1778
+ <div class="card-image-container">
1779
+ <slot name="image" class="card-image-slot"></slot>
1780
+ </div>
1781
+ <div class="card-header">
1782
+ <div class="card-badges">
1783
+ <slot name="badges" class="card-badges-slot"></slot>
1784
+ </div>
1785
+ <slot name="title" class="card-title-slot"></slot>
1786
+ </div>
1787
+ <div class="card-body">
1788
+ <slot></slot>
1789
+ </div>
1790
+ <div class="card-footer">
1791
+ <slot name="footer" class="card-footer-slot"></slot>
1792
+ </div>
1793
+ </div>
1794
+ `, he = '*{box-sizing:border-box}:host{display:block}.card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-fast),border-color var(--transition-fast);font-family:var(--font-family-base);color:var(--color-text-primary);display:flex;flex-direction:column;height:100%}.card-image-container{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--color-bg-primary);flex-shrink:0}.card-image-container:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.1) 100%);pointer-events:none;z-index:1}::slotted([slot=image]){width:100%;height:100%;object-fit:cover;display:block}.card-header{position:relative;padding:var(--spacing-4);border-bottom:1px solid var(--color-border-primary);z-index:2}.card-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-2);min-height:var(--spacing-6)}.card-badges:empty{display:none;margin-bottom:0}::slotted([slot=badges]){display:inline-flex;gap:var(--spacing-1)}::slotted([slot=title]){display:block;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);margin:0}.card-body{flex:1;padding:var(--spacing-4);overflow-y:auto}::slotted(:not([slot])){color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-3) 0}::slotted(:not([slot])):last-child{margin-bottom:0}::slotted(p){margin:0 0 var(--spacing-3) 0;color:var(--color-text-secondary)}::slotted(p):last-child{margin-bottom:0}::slotted(h3){font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:var(--spacing-3) 0 var(--spacing-2) 0}::slotted(h3):first-child{margin-top:0}::slotted(ul),::slotted(ol){margin:var(--spacing-2) 0 var(--spacing-3) 0;padding-left:var(--spacing-5);color:var(--color-text-secondary)}::slotted(ul):last-child,::slotted(ol):last-child{margin-bottom:0}::slotted(li){margin:var(--spacing-1) 0;color:var(--color-text-secondary)}.card-footer{padding:var(--spacing-4);border-top:1px solid var(--color-border-primary);display:flex;gap:var(--spacing-2);flex-wrap:wrap;align-items:center}.card-footer:empty{display:none}::slotted([slot=footer]){display:inline-flex;gap:var(--spacing-2)}::slotted(button),::slotted(a[role=button]){cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}::slotted(button):focus-visible,::slotted(a[role=button]):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:768px){.card-image-container{aspect-ratio:16/10}.card-header,.card-body,.card-footer{padding:var(--spacing-3)}::slotted([slot=title]){font-size:var(--font-size-base)}}@media(max-width:480px){.card-image-container{aspect-ratio:4/3}.card-header,.card-body,.card-footer{padding:var(--spacing-2)}.card-badges{gap:var(--spacing-1)}::slotted([slot=title]){font-size:var(--font-size-base)}.card-footer{flex-direction:column;align-items:stretch}::slotted(button),::slotted(a[role=button]){width:100%}}', st = new CSSStyleSheet();
1795
+ st.replaceSync(he);
1796
+ class ot extends HTMLElement {
1797
+ imageSlot = null;
1798
+ badgesSlot = null;
1799
+ footerSlot = null;
1800
+ constructor() {
1801
+ super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(st);
1802
+ }
1803
+ connectedCallback() {
1804
+ this._render(), this._setupSlotObservers();
1805
+ }
1806
+ _render() {
1807
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = ue);
1808
+ }
1809
+ _setupSlotObservers() {
1810
+ this.shadowRoot !== null && (this.imageSlot = this.shadowRoot.querySelector(
1811
+ 'slot[name="image"]'
1812
+ ), this.imageSlot !== null && (this._updateImageContainerVisibility(), this.imageSlot.addEventListener("slotchange", () => {
1813
+ this._updateImageContainerVisibility();
1814
+ })), this.badgesSlot = this.shadowRoot.querySelector(
1815
+ 'slot[name="badges"]'
1816
+ ), this.badgesSlot !== null && (this._updateBadgesContainerVisibility(), this.badgesSlot.addEventListener("slotchange", () => {
1817
+ this._updateBadgesContainerVisibility();
1818
+ })), this.footerSlot = this.shadowRoot.querySelector(
1819
+ 'slot[name="footer"]'
1820
+ ), this.footerSlot !== null && (this._updateFooterContainerVisibility(), this.footerSlot.addEventListener("slotchange", () => {
1821
+ this._updateFooterContainerVisibility();
1822
+ })));
1823
+ }
1824
+ _updateImageContainerVisibility() {
1825
+ if (this.imageSlot === null || this.shadowRoot === null)
1826
+ return;
1827
+ const t = this.imageSlot.assignedElements(), e = this.shadowRoot.querySelector(
1828
+ ".card-image-container"
1829
+ );
1830
+ e !== null && (e.style.display = t.length === 0 ? "none" : "");
1831
+ }
1832
+ _updateBadgesContainerVisibility() {
1833
+ if (this.badgesSlot === null || this.shadowRoot === null)
1834
+ return;
1835
+ const t = this.badgesSlot.assignedElements(), e = this.shadowRoot.querySelector(
1836
+ ".card-badges"
1837
+ );
1838
+ e !== null && (e.style.display = t.length === 0 ? "none" : "");
1839
+ }
1840
+ _updateFooterContainerVisibility() {
1841
+ if (this.footerSlot === null || this.shadowRoot === null)
1842
+ return;
1843
+ const t = this.footerSlot.assignedElements(), e = this.shadowRoot.querySelector(
1844
+ ".card-footer"
1845
+ );
1846
+ e !== null && (e.style.display = t.length === 0 ? "none" : "");
1847
+ }
1848
+ }
1849
+ const at = "ds-feature-card";
1850
+ customElements.define(at, ot);
1851
+ const Qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1852
+ __proto__: null,
1853
+ FeatureCardComponent: ot,
1854
+ selector: at
1855
+ }, Symbol.toStringTag, { value: "Module" })), be = "ds-badge", ve = `<span part="badge" class="badge">
1778
1856
  <slot></slot>
1779
1857
  </span>
1780
- `, ce = "*{box-sizing:border-box}:host{display:inline-flex}.badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-xs);padding-block:.2em;padding-inline:.6em;border-radius:var(--border-radius-full);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.4;white-space:nowrap;background-color:var(--color-primary);color:#fff;border:1px solid transparent}:host([variant=secondary]) .badge{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-primary)}:host([variant=success]) .badge{background-color:var(--color-success);color:#fff}:host([variant=warning]) .badge{background-color:var(--color-warning);color:#1a1a1a}:host([variant=error]) .badge{background-color:var(--color-error);color:#fff}:host([variant=info]) .badge{background-color:var(--color-info);color:#fff}:host([variant=outline]) .badge{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}:host([size=sm]) .badge{font-size:.65rem;padding-block:.1em;padding-inline:.4em}:host([size=lg]) .badge{font-size:var(--font-size-sm);padding-block:.3em;padding-inline:.8em}:host([dot]) .badge{width:.5rem;height:.5rem;padding:0;font-size:0}", st = new CSSStyleSheet();
1781
- st.replaceSync(ce);
1858
+ `, ge = "*{box-sizing:border-box}:host{display:inline-flex}.badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-xs);padding-block:.2em;padding-inline:.6em;border-radius:var(--border-radius-full);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.4;white-space:nowrap;background:var(--color-primary);color:#fff;border:1px solid transparent}:host([variant=secondary]) .badge{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-primary)}:host([variant=success]) .badge{background:var(--color-success);color:#fff}:host([variant=warning]) .badge{background:var(--color-warning);color:var(--color-text-primary)}:host([variant=error]) .badge{background:var(--color-error);color:#fff}:host([variant=info]) .badge{background:var(--color-info);color:#fff}:host([variant=outline]) .badge{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}:host([size=sm]) .badge{font-size:.65rem;padding-block:.1em;padding-inline:.4em}:host([size=lg]) .badge{font-size:var(--font-size-sm);padding-block:.3em;padding-inline:.8em}:host([dot]) .badge{width:.5rem;height:.5rem;padding:0;font-size:0}", nt = new CSSStyleSheet();
1859
+ nt.replaceSync(ge);
1782
1860
  class m extends HTMLElement {
1783
1861
  static _variantAttribute = "variant";
1784
1862
  static _sizeAttribute = "size";
1785
1863
  static _dotAttribute = "dot";
1786
1864
  constructor() {
1787
- super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(st);
1865
+ super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(nt);
1788
1866
  }
1789
1867
  static get observedAttributes() {
1790
1868
  return [
@@ -1817,14 +1895,14 @@ class m extends HTMLElement {
1817
1895
  attributeChangedCallback(t, e, i) {
1818
1896
  }
1819
1897
  _render() {
1820
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = de);
1898
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = ve);
1821
1899
  }
1822
1900
  }
1823
- const Ye = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1901
+ const Ze = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1824
1902
  __proto__: null,
1825
1903
  BadgeComponent: m,
1826
- selector: le
1827
- }, Symbol.toStringTag, { value: "Module" })), ue = "ds-alert", he = `<div part="alert" class="alert" role="alert">
1904
+ selector: be
1905
+ }, Symbol.toStringTag, { value: "Module" })), pe = "ds-alert", fe = `<div part="alert" class="alert" role="alert">
1828
1906
  <span class="alert-icon"></span>
1829
1907
  <div class="alert-content">
1830
1908
  <slot name="title" class="alert-title-slot"></slot>
@@ -1839,13 +1917,13 @@ const Ye = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1839
1917
  <span class="close-icon">✕</span>
1840
1918
  </button>
1841
1919
  </div>
1842
- `, be = '@charset "UTF-8";*{box-sizing:border-box}:host{display:block}:host([hidden]){display:none}.alert{display:flex;align-items:center;gap:var(--gap-sm);padding:var(--spacing-3);border-radius:var(--border-radius-lg);border-left:4px solid var(--color-primary);background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-normal);animation:alertIn var(--transition-fast) ease-out}:host([variant=success]) .alert{border-left-color:#22c55e;background-color:#1a3f1f;color:#d1fae5}:host([variant=warning]) .alert{border-left-color:#facc15;background-color:#3f3011;color:#e0c600}:host([variant=error]) .alert{border-left-color:#dc2626;background-color:color-mix(in srgb,#dc2626 10%,var(--color-bg-primary))}:host([variant=info]) .alert,:host([variant=hint]) .alert{border-left-color:var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 15%,var(--color-bg-primary));color:var(--color-text-primary)}.alert-icon{font-size:var(--font-size-lg);flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:1.25em;height:1.25em;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",var(--font-family-base),sans-serif}:host([variant=success]) .alert-icon:before{content:"✓"}:host([variant=warning]) .alert-icon:before{content:"⚠"}:host([variant=error]) .alert-icon:before{content:"✕"}:host([variant=info]) .alert-icon:before{content:"ℹ"}:host([variant=hint]) .alert-icon:before{content:"💡";color:#facc15}.alert-content{flex:1;min-width:0;padding:0 var(--gap-sm);border-left:1px solid}::slotted([slot=title]){display:block;font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);margin-bottom:var(--spacing-1)}.alert-close{flex-shrink:0;background:transparent;border:none;cursor:pointer;padding:var(--spacing-1);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:1;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}.alert-close:hover{background:var(--color-hover-bg-secondary);color:var(--color-text-primary)}:host(:not([dismissible])) .alert-close{display:none}@keyframes alertIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}', ot = new CSSStyleSheet();
1843
- ot.replaceSync(be);
1920
+ `, me = '@charset "UTF-8";*{box-sizing:border-box}:host{display:block}:host([hidden]){display:none}.alert{display:flex;align-items:center;gap:var(--gap-sm);padding:var(--spacing-3);border-radius:var(--border-radius-lg);border-left:4px solid var(--color-primary);background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-normal);animation:alertIn var(--transition-fast) ease-out}:host([variant=success]) .alert{border-left-color:#22c55e;background-color:#1a3f1f;color:#d1fae5}:host([variant=warning]) .alert{border-left-color:#facc15;background-color:#3f3011;color:#e0c600}:host([variant=error]) .alert{border-left-color:#dc2626;background-color:color-mix(in srgb,#dc2626 10%,var(--color-bg-primary))}:host([variant=info]) .alert{border-left-color:var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 15%,var(--color-bg-primary));color:var(--color-text-primary)}.alert-icon{font-size:var(--font-size-lg);flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:1.25em;height:1.25em;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",var(--font-family-base),sans-serif}:host([variant=success]) .alert-icon:before{content:"✓"}:host([variant=warning]) .alert-icon:before{content:"⚠"}:host([variant=error]) .alert-icon:before{content:"✕"}:host([variant=info]) .alert-icon:before{content:"ℹ"}.alert-content{flex:1;min-width:0;padding:0 var(--gap-sm);border-left:1px solid}::slotted([slot=title]){display:block;font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);margin-bottom:var(--spacing-1)}.alert-close{flex-shrink:0;background:transparent;border:none;cursor:pointer;padding:var(--spacing-1);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:1;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}.alert-close:hover{background:var(--color-hover-bg-secondary);color:var(--color-text-primary)}:host(:not([dismissible])) .alert-close{display:none}@keyframes alertIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}', lt = new CSSStyleSheet();
1921
+ lt.replaceSync(me);
1844
1922
  class A extends HTMLElement {
1845
1923
  static _variantAttribute = "variant";
1846
1924
  static _dismissibleAttribute = "dismissible";
1847
1925
  constructor() {
1848
- super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(ot);
1926
+ super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(lt);
1849
1927
  }
1850
1928
  static get observedAttributes() {
1851
1929
  return [
@@ -1872,9 +1950,9 @@ class A extends HTMLElement {
1872
1950
  this._removeEventListeners();
1873
1951
  }
1874
1952
  attributeChangedCallback(t, e, i) {
1875
- if (i !== e && (t === A._variantAttribute && this.setAttribute("variant", i || "info"), t === A._dismissibleAttribute)) {
1953
+ if (i !== e && (t === A._variantAttribute && this.setAttribute("variant", i ?? "info"), t === A._dismissibleAttribute)) {
1876
1954
  const r = this.shadowRoot?.querySelector(".alert-close");
1877
- r && (r.style.display = this.dismissible ? "" : "none");
1955
+ r !== null && (r.style.display = this.dismissible ? "" : "none");
1878
1956
  }
1879
1957
  }
1880
1958
  _handleClose = () => {
@@ -1889,14 +1967,14 @@ class A extends HTMLElement {
1889
1967
  this.shadowRoot?.querySelector(".alert-close")?.removeEventListener("click", this._handleClose);
1890
1968
  }
1891
1969
  _render() {
1892
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = he, this._addEventListeners());
1970
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = fe, this._addEventListeners());
1893
1971
  }
1894
1972
  }
1895
- const Ve = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1973
+ const ti = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1896
1974
  __proto__: null,
1897
1975
  AlertComponent: A,
1898
- selector: ue
1899
- }, Symbol.toStringTag, { value: "Module" })), ve = "ds-tag", ge = `<span part="tag" class="tag">
1976
+ selector: pe
1977
+ }, Symbol.toStringTag, { value: "Module" })), ye = "ds-tag", Ae = `<span part="tag" class="tag">
1900
1978
  <slot></slot>
1901
1979
  <button
1902
1980
  part="remove-button"
@@ -1907,14 +1985,14 @@ const Ve = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1907
1985
 
1908
1986
  </button>
1909
1987
  </span>
1910
- `, pe = "*{box-sizing:border-box}:host{display:inline-flex}.tag{display:inline-flex;align-items:center;gap:var(--gap-xs);padding-block:.25em;padding-inline:.75em;border-radius:var(--border-radius-full);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);transition:all var(--transition-fast)}:host([variant=primary]) .tag{background-color:var(--color-primary);color:#fff;border-color:transparent}:host([variant=success]) .tag{background-color:var(--color-success);color:#fff;border-color:transparent}:host([variant=warning]) .tag{background-color:var(--color-warning);color:#1a1a1a;border-color:transparent}:host([variant=error]) .tag{background-color:var(--color-error);color:#fff;border-color:transparent}:host([size=sm]) .tag{font-size:var(--font-size-xs);padding-block:.15em;padding-inline:.5em}:host([size=lg]) .tag{font-size:var(--font-size-md);padding-block:.35em;padding-inline:1em}.tag-remove{display:none;background:transparent;border:none;cursor:pointer;padding:0;font-size:.75em;color:inherit;opacity:.7;line-height:1;border-radius:var(--border-radius-full);transition:opacity var(--transition-fast)}:host([removable]) .tag-remove{display:inline-flex;align-items:center;justify-content:center}.tag-remove:hover{opacity:1}", at = new CSSStyleSheet();
1911
- at.replaceSync(pe);
1988
+ `, _e = "*{box-sizing:border-box}:host{display:inline-flex}.tag{display:inline-flex;align-items:center;gap:var(--gap-xs);padding-block:.25em;padding-inline:.75em;border-radius:var(--border-radius-full);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);transition:all var(--transition-fast)}:host([variant=primary]) .tag{background-color:var(--color-primary);color:#fff;border-color:transparent}:host([variant=success]) .tag{background-color:var(--color-success);color:#fff;border-color:transparent}:host([variant=warning]) .tag{background-color:var(--color-warning);color:#1a1a1a;border-color:transparent}:host([variant=error]) .tag{background-color:var(--color-error);color:#fff;border-color:transparent}:host([size=sm]) .tag{font-size:var(--font-size-xs);padding-block:.15em;padding-inline:.5em}:host([size=lg]) .tag{font-size:var(--font-size-md);padding-block:.35em;padding-inline:1em}.tag-remove{display:none;background:transparent;border:none;cursor:pointer;padding:0;font-size:.75em;color:inherit;opacity:.7;line-height:1;border-radius:var(--border-radius-full);transition:opacity var(--transition-fast)}:host([removable]) .tag-remove{display:inline-flex;align-items:center;justify-content:center}.tag-remove:hover{opacity:1}", dt = new CSSStyleSheet();
1989
+ dt.replaceSync(_e);
1912
1990
  class S extends HTMLElement {
1913
1991
  static _variantAttribute = "variant";
1914
1992
  static _sizeAttribute = "size";
1915
1993
  static _removableAttribute = "removable";
1916
1994
  constructor() {
1917
- super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(at);
1995
+ super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(dt);
1918
1996
  }
1919
1997
  static get observedAttributes() {
1920
1998
  return [
@@ -1955,20 +2033,20 @@ class S extends HTMLElement {
1955
2033
  this.shadowRoot?.querySelector(".tag-remove")?.removeEventListener("click", this._handleRemove);
1956
2034
  }
1957
2035
  _render() {
1958
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = ge, this._addEventListeners());
2036
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = Ae, this._addEventListeners());
1959
2037
  }
1960
2038
  }
1961
- const Xe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2039
+ const ei = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1962
2040
  __proto__: null,
1963
2041
  TagComponent: S,
1964
- selector: ve
1965
- }, Symbol.toStringTag, { value: "Module" })), fe = "ds-avatar", me = `<div part="avatar" class="avatar" role="img">
2042
+ selector: ye
2043
+ }, Symbol.toStringTag, { value: "Module" })), we = "ds-avatar", Se = `<div part="avatar" class="avatar" role="img">
1966
2044
  <img class="avatar-image" alt="" />
1967
2045
  <span class="avatar-initials"></span>
1968
2046
  <span class="avatar-icon">👤</span>
1969
2047
  </div>
1970
- `, ye = "*{box-sizing:border-box}:host{display:inline-flex}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--border-radius-full);background-color:var(--color-primary);color:#fff;font-family:var(--font-family-base);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);overflow:hidden;-webkit-user-select:none;user-select:none;flex-shrink:0}:host([size=xs]) .avatar{width:1.5rem;height:1.5rem;font-size:var(--font-size-xs)}:host([size=sm]) .avatar{width:2rem;height:2rem;font-size:var(--font-size-xs)}:host([size=md]) .avatar{width:2.5rem;height:2.5rem;font-size:var(--font-size-sm)}:host([size=lg]) .avatar{width:3.5rem;height:3.5rem;font-size:var(--font-size-lg)}:host([size=xl]) .avatar{width:5rem;height:5rem;font-size:var(--font-size-2xl)}:host([shape=square]) .avatar{border-radius:var(--border-radius-md)}:host([shape=rounded]) .avatar{border-radius:var(--border-radius-lg)}:host([color=secondary]) .avatar{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}:host([color=success]) .avatar{background-color:var(--color-success)}:host([color=warning]) .avatar{background-color:var(--color-warning);color:#1a1a1a}:host([color=error]) .avatar{background-color:var(--color-error)}.avatar-image{width:100%;height:100%;object-fit:cover;display:none;border-radius:inherit}.avatar-initials{display:none;line-height:1}.avatar-icon{display:flex;font-size:1.2em;line-height:1}:host([src]) .avatar-image{display:block}:host([src]) .avatar-initials{display:none}:host([src]) .avatar-icon{display:none}:host([initials]:not([src])) .avatar-initials{display:block}:host([initials]:not([src])) .avatar-icon{display:none}", nt = new CSSStyleSheet();
1971
- nt.replaceSync(ye);
2048
+ `, xe = "*{box-sizing:border-box}:host{display:inline-flex}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--border-radius-full);background-color:var(--color-primary);color:#fff;font-family:var(--font-family-base);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);overflow:hidden;-webkit-user-select:none;user-select:none;flex-shrink:0}:host([size=xs]) .avatar{width:1.5rem;height:1.5rem;font-size:var(--font-size-xs)}:host([size=sm]) .avatar{width:2rem;height:2rem;font-size:var(--font-size-xs)}:host([size=md]) .avatar{width:2.5rem;height:2.5rem;font-size:var(--font-size-sm)}:host([size=lg]) .avatar{width:3.5rem;height:3.5rem;font-size:var(--font-size-lg)}:host([size=xl]) .avatar{width:5rem;height:5rem;font-size:var(--font-size-2xl)}:host([shape=square]) .avatar{border-radius:var(--border-radius-md)}:host([shape=rounded]) .avatar{border-radius:var(--border-radius-lg)}:host([color=secondary]) .avatar{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}:host([color=success]) .avatar{background-color:var(--color-success)}:host([color=warning]) .avatar{background-color:var(--color-warning);color:#1a1a1a}:host([color=error]) .avatar{background-color:var(--color-error)}.avatar-image{width:100%;height:100%;object-fit:cover;display:none;border-radius:inherit}.avatar-initials{display:none;line-height:1}.avatar-icon{display:flex;font-size:1.2em;line-height:1}:host([src]) .avatar-image{display:block}:host([src]) .avatar-initials{display:none}:host([src]) .avatar-icon{display:none}:host([initials]:not([src])) .avatar-initials{display:block}:host([initials]:not([src])) .avatar-icon{display:none}", ct = new CSSStyleSheet();
2049
+ ct.replaceSync(xe);
1972
2050
  class n extends HTMLElement {
1973
2051
  static _srcAttribute = "src";
1974
2052
  static _altAttribute = "alt";
@@ -1977,7 +2055,7 @@ class n extends HTMLElement {
1977
2055
  static _shapeAttribute = "shape";
1978
2056
  static _colorAttribute = "color";
1979
2057
  constructor() {
1980
- super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(nt);
2058
+ super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(ct);
1981
2059
  }
1982
2060
  static get observedAttributes() {
1983
2061
  return [
@@ -2023,7 +2101,7 @@ class n extends HTMLElement {
2023
2101
  i !== e && this._update(t, i);
2024
2102
  }
2025
2103
  _render() {
2026
- this.shadowRoot !== null && (this.shadowRoot.innerHTML = me, this._update(n._srcAttribute, this.src), this._update(n._initialsAttribute, this.initials), this._update(n._altAttribute, this.alt));
2104
+ this.shadowRoot !== null && (this.shadowRoot.innerHTML = Se, this._update(n._srcAttribute, this.src), this._update(n._initialsAttribute, this.initials), this._update(n._altAttribute, this.alt));
2027
2105
  }
2028
2106
  _update(t, e) {
2029
2107
  if (t === n._srcAttribute) {
@@ -2038,16 +2116,16 @@ class n extends HTMLElement {
2038
2116
  }
2039
2117
  }
2040
2118
  }
2041
- const Be = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2119
+ const ii = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2042
2120
  __proto__: null,
2043
2121
  AvatarComponent: n,
2044
- selector: fe
2045
- }, Symbol.toStringTag, { value: "Module" })), Ae = "ds-tooltip", _e = `<slot></slot>
2122
+ selector: we
2123
+ }, Symbol.toStringTag, { value: "Module" })), Ee = "ds-tooltip", ke = `<slot></slot>
2046
2124
  <div part="tooltip" class="tooltip" role="tooltip">
2047
2125
  <slot name="content"></slot>
2048
2126
  </div>
2049
- `, we = "*{box-sizing:border-box}:host{position:relative;display:inline-flex;align-items:center}.tooltip{position:absolute;z-index:var(--z-index-tooltip, 1070);bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);padding:var(--spacing-1) var(--spacing-2);background-color:var(--color-bg-tertiary, #1e1e2e);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-xs);line-height:var(--line-height-normal);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast);max-width:16rem;white-space:normal;text-align:center}:host([placement=bottom]) .tooltip{bottom:auto;top:calc(100% + .5rem)}:host([placement=left]) .tooltip{bottom:auto;left:auto;right:calc(100% + .5rem);top:50%;transform:translateY(-50%)}:host([placement=right]) .tooltip{bottom:auto;left:calc(100% + .5rem);top:50%;transform:translateY(-50%)}:host([open]) .tooltip,:host(:hover) .tooltip,:host(:focus-within) .tooltip{opacity:1;visibility:visible}:host([follow-cursor]) .tooltip{position:fixed;bottom:auto;left:0;top:0;transform:none}:host([follow-cursor]) .tooltip{opacity:1;visibility:visible}", lt = new CSSStyleSheet();
2050
- lt.replaceSync(we);
2127
+ `, Le = "*{box-sizing:border-box}:host{position:relative;display:inline-flex;align-items:center}.tooltip{position:absolute;z-index:var(--z-index-tooltip, 1070);bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);padding:var(--spacing-1) var(--spacing-2);background-color:var(--color-bg-tertiary, #1e1e2e);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-xs);line-height:var(--line-height-normal);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast);max-width:16rem;white-space:normal;text-align:center}:host([placement=bottom]) .tooltip{bottom:auto;top:calc(100% + .5rem)}:host([placement=left]) .tooltip{bottom:auto;left:auto;right:calc(100% + .5rem);top:50%;transform:translateY(-50%)}:host([placement=right]) .tooltip{bottom:auto;left:calc(100% + .5rem);top:50%;transform:translateY(-50%)}:host([open]) .tooltip,:host(:hover) .tooltip,:host(:focus-within) .tooltip{opacity:1;visibility:visible}:host([follow-cursor]) .tooltip{position:fixed;bottom:auto;left:0;top:0;transform:none}:host([follow-cursor]) .tooltip{opacity:1;visibility:visible}", ut = new CSSStyleSheet();
2128
+ ut.replaceSync(Le);
2051
2129
  class b extends HTMLElement {
2052
2130
  static _placementAttribute = "placement";
2053
2131
  static _contentAttribute = "content";
@@ -2056,7 +2134,7 @@ class b extends HTMLElement {
2056
2134
  _lastMouseX = 0;
2057
2135
  _lastMouseY = 0;
2058
2136
  constructor() {
2059
- super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(lt);
2137
+ super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(ut);
2060
2138
  }
2061
2139
  static get observedAttributes() {
2062
2140
  return [
@@ -2104,7 +2182,7 @@ class b extends HTMLElement {
2104
2182
  _render() {
2105
2183
  if (this.shadowRoot === null)
2106
2184
  return;
2107
- this.shadowRoot.innerHTML = _e, this._updateContent(this.content);
2185
+ this.shadowRoot.innerHTML = ke, this._updateContent(this.content);
2108
2186
  const t = this.shadowRoot.querySelector(".tooltip");
2109
2187
  if (t != null) {
2110
2188
  const e = `tooltip-${Math.random().toString(36).slice(2, 7)}`;
@@ -2143,11 +2221,11 @@ class b extends HTMLElement {
2143
2221
  }
2144
2222
  }
2145
2223
  }
2146
- const Je = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2224
+ const ri = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2147
2225
  __proto__: null,
2148
2226
  TooltipComponent: b,
2149
- selector: Ae
2150
- }, Symbol.toStringTag, { value: "Module" })), Se = "ds-text-input", xe = `<div part="wrapper" class="input-wrapper">
2227
+ selector: Ee
2228
+ }, Symbol.toStringTag, { value: "Module" })), Re = "ds-text-input", ze = `<div part="wrapper" class="input-wrapper">
2151
2229
  <label class="input-label" part="label"></label>
2152
2230
  <div class="input-container">
2153
2231
  <slot name="prefix" class="input-prefix"></slot>
@@ -2156,8 +2234,8 @@ const Je = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2156
2234
  </div>
2157
2235
  <span class="input-helper" part="helper"></span>
2158
2236
  </div>
2159
- `, Ee = "*{box-sizing:border-box}:host{display:block;width:100%}.input-wrapper{display:flex;flex-direction:column;gap:var(--gap-xs);font-family:var(--font-family-base)}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.input-label:empty{display:none}.input-container{display:flex;align-items:center;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);overflow:hidden}.input-container:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent);outline:none}:host([state=error]) .input-container{border-color:#dc2626;box-shadow:none}:host([state=error]) .input-container:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,#dc2626 20%,transparent)}:host([state=success]) .input-container{border-color:var(--color-success)}.input{flex:1;min-width:0;padding:var(--spacing-2) var(--spacing-3);background:transparent;border:none;outline:none;font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-normal)}.input::placeholder{color:var(--color-text-secondary);opacity:.7}.input:disabled{opacity:.5;cursor:not-allowed}:host([size=sm]) .input{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs)}:host([size=lg]) .input{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md)}.input-helper{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.input-helper:empty{display:none}:host([state=error]) .input-helper{color:#dc2626}:host([state=success]) .input-helper{color:var(--color-success)}::slotted([slot=prefix]),::slotted([slot=suffix]){display:flex;align-items:center;padding-inline:var(--spacing-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);flex-shrink:0}", dt = new CSSStyleSheet();
2160
- dt.replaceSync(Ee);
2237
+ `, Me = "*{box-sizing:border-box}:host{display:block;width:100%}.input-wrapper{display:flex;flex-direction:column;gap:var(--gap-xs);font-family:var(--font-family-base)}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.input-label:empty{display:none}.input-container{display:flex;align-items:center;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);overflow:hidden}.input-container:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent);outline:none}:host([state=error]) .input-container{border-color:#dc2626;box-shadow:none}:host([state=error]) .input-container:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,#dc2626 20%,transparent)}:host([state=success]) .input-container{border-color:var(--color-success)}.input{flex:1;min-width:0;padding:var(--spacing-2) var(--spacing-3);background:transparent;border:none;outline:none;font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-normal)}.input::placeholder{color:var(--color-text-secondary);opacity:.7}.input:disabled{opacity:.5;cursor:not-allowed}:host([size=sm]) .input{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs)}:host([size=lg]) .input{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md)}.input-helper{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.input-helper:empty{display:none}:host([state=error]) .input-helper{color:#dc2626}:host([state=success]) .input-helper{color:var(--color-success)}::slotted([slot=prefix]),::slotted([slot=suffix]){display:flex;align-items:center;padding-inline:var(--spacing-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);flex-shrink:0}", ht = new CSSStyleSheet();
2238
+ ht.replaceSync(Me);
2161
2239
  class o extends HTMLElement {
2162
2240
  static _labelAttribute = "label";
2163
2241
  static _placeholderAttribute = "placeholder";
@@ -2170,7 +2248,7 @@ class o extends HTMLElement {
2170
2248
  static _sizeAttribute = "size";
2171
2249
  static _nameAttribute = "name";
2172
2250
  constructor() {
2173
- super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(dt);
2251
+ super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(ht);
2174
2252
  }
2175
2253
  static get observedAttributes() {
2176
2254
  return [
@@ -2290,7 +2368,7 @@ class o extends HTMLElement {
2290
2368
  _render() {
2291
2369
  if (this.shadowRoot === null)
2292
2370
  return;
2293
- this.shadowRoot.innerHTML = xe;
2371
+ this.shadowRoot.innerHTML = ze;
2294
2372
  const t = this._inputElement;
2295
2373
  if (t !== null) {
2296
2374
  t.setAttribute(
@@ -2306,19 +2384,19 @@ class o extends HTMLElement {
2306
2384
  i !== null && (i.textContent = this.helper), this._addEventListeners();
2307
2385
  }
2308
2386
  }
2309
- const Qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2387
+ const si = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2310
2388
  __proto__: null,
2311
2389
  TextInputComponent: o,
2312
- selector: Se
2313
- }, Symbol.toStringTag, { value: "Module" })), ke = "ds-toggle", Le = `<label class="toggle-wrapper" part="wrapper">
2390
+ selector: Re
2391
+ }, Symbol.toStringTag, { value: "Module" })), Oe = "ds-toggle", $e = `<label class="toggle-wrapper" part="wrapper">
2314
2392
  <input class="toggle-input" type="checkbox" role="switch" />
2315
2393
  <span class="toggle-track" part="track">
2316
2394
  <span class="toggle-thumb" part="thumb"></span>
2317
2395
  </span>
2318
2396
  <span class="toggle-label" part="label"><slot></slot></span>
2319
2397
  </label>
2320
- `, Re = "*{box-sizing:border-box}:host{display:inline-flex}.toggle-wrapper{display:inline-flex;align-items:center;gap:var(--gap-sm);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-primary)}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-track{position:relative;display:inline-flex;align-items:center;width:2.75rem;height:1.5rem;border-radius:var(--border-radius-full);background-color:var(--color-border-primary);transition:background-color var(--transition-fast);flex-shrink:0}.toggle-input:checked+.toggle-track{background-color:var(--color-primary)}.toggle-thumb{position:absolute;left:3px;width:1.125rem;height:1.125rem;border-radius:var(--border-radius-full);background-color:#fff;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(1.25rem)}.toggle-input:focus-visible+.toggle-track{outline:2px solid var(--color-primary);outline-offset:2px}.toggle-input:disabled+.toggle-track{opacity:.4;cursor:not-allowed}:host([disabled]) .toggle-wrapper{cursor:not-allowed;opacity:.5}:host([size=sm]) .toggle-track{width:2rem;height:1.125rem}:host([size=sm]) .toggle-thumb{width:.875rem;height:.875rem}:host([size=sm]) .toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(.875rem)}:host([size=lg]) .toggle-track{width:3.5rem;height:2rem}:host([size=lg]) .toggle-thumb{width:1.5rem;height:1.5rem}:host([size=lg]) .toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(1.5rem)}:host([variant=success]) .toggle-input:checked+.toggle-track{background-color:var(--color-success)}:host([variant=warning]) .toggle-input:checked+.toggle-track{background-color:var(--color-warning)}:host([variant=error]) .toggle-input:checked+.toggle-track{background-color:var(--color-error)}.toggle-label:empty{display:none}", ct = new CSSStyleSheet();
2321
- ct.replaceSync(Re);
2398
+ `, Ie = "*{box-sizing:border-box}:host{display:inline-flex}.toggle-wrapper{display:inline-flex;align-items:center;gap:var(--gap-sm);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-text-primary)}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-track{position:relative;display:inline-flex;align-items:center;width:2.75rem;height:1.5rem;border-radius:var(--border-radius-full);background-color:var(--color-border-primary);transition:background-color var(--transition-fast);flex-shrink:0}.toggle-input:checked+.toggle-track{background-color:var(--color-primary)}.toggle-thumb{position:absolute;left:3px;width:1.125rem;height:1.125rem;border-radius:var(--border-radius-full);background-color:#fff;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(1.25rem)}.toggle-input:focus-visible+.toggle-track{outline:2px solid var(--color-primary);outline-offset:2px}.toggle-input:disabled+.toggle-track{opacity:.4;cursor:not-allowed}:host([disabled]) .toggle-wrapper{cursor:not-allowed;opacity:.5}:host([size=sm]) .toggle-track{width:2rem;height:1.125rem}:host([size=sm]) .toggle-thumb{width:.875rem;height:.875rem}:host([size=sm]) .toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(.875rem)}:host([size=lg]) .toggle-track{width:3.5rem;height:2rem}:host([size=lg]) .toggle-thumb{width:1.5rem;height:1.5rem}:host([size=lg]) .toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(1.5rem)}:host([variant=success]) .toggle-input:checked+.toggle-track{background-color:var(--color-success)}:host([variant=warning]) .toggle-input:checked+.toggle-track{background-color:var(--color-warning)}:host([variant=error]) .toggle-input:checked+.toggle-track{background-color:var(--color-error)}.toggle-label:empty{display:none}", bt = new CSSStyleSheet();
2399
+ bt.replaceSync(Ie);
2322
2400
  class l extends HTMLElement {
2323
2401
  static _checkedAttribute = "checked";
2324
2402
  static _disabledAttribute = "disabled";
@@ -2327,7 +2405,7 @@ class l extends HTMLElement {
2327
2405
  static _nameAttribute = "name";
2328
2406
  static _valueAttribute = "value";
2329
2407
  constructor() {
2330
- super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(ct);
2408
+ super(), this.attachShadow({ mode: "open" }), this.shadowRoot?.adoptedStyleSheets.push(bt);
2331
2409
  }
2332
2410
  static get observedAttributes() {
2333
2411
  return [
@@ -2387,42 +2465,43 @@ class l extends HTMLElement {
2387
2465
  _render() {
2388
2466
  if (this.shadowRoot === null)
2389
2467
  return;
2390
- this.shadowRoot.innerHTML = Le;
2468
+ this.shadowRoot.innerHTML = $e;
2391
2469
  const t = this._inputElement;
2392
2470
  t != null && (t.checked = this.checked, t.disabled = this.disabled, this.getAttribute(l._nameAttribute) !== null && this.getAttribute(l._nameAttribute) !== "" && (t.name = this.getAttribute(l._nameAttribute) ?? ""), this.getAttribute(l._valueAttribute) !== null && this.getAttribute(l._valueAttribute) !== "" && (t.value = this.getAttribute(l._valueAttribute) ?? "on")), this._addEventListeners();
2393
2471
  }
2394
2472
  }
2395
- const Ze = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2473
+ const oi = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2396
2474
  __proto__: null,
2397
2475
  ToggleComponent: l,
2398
- selector: ke
2476
+ selector: Oe
2399
2477
  }, Symbol.toStringTag, { value: "Module" }));
2400
2478
  export {
2401
- ze as APPLICATION_NAME,
2402
- Ve as Alert,
2403
- Be as Avatar,
2404
- Ye as Badge,
2405
- De as BarMenu,
2406
- $e as BaseButton,
2407
- We as BaseCard,
2408
- Fe as BaseDialog,
2479
+ He as APPLICATION_NAME,
2480
+ ti as Alert,
2481
+ ii as Avatar,
2482
+ Ze as Badge,
2483
+ We as BarMenu,
2484
+ je as BaseButton,
2485
+ Je as BaseCard,
2486
+ Ue as BaseDialog,
2409
2487
  j as CUSTOM_MESSAGES,
2410
- He as CloseButton,
2411
- Ne as ConfirmButton,
2412
- qe as ConfirmationDialog,
2413
- Pe as HeaderBodyFooterDialog,
2414
- Ce as LoaderBars,
2415
- je as NextButton,
2416
- Te as PreviousButton,
2417
- Ke as ProgressBar,
2418
- Ge as Skeleton,
2419
- Ue as Spinner,
2420
- Xe as Tag,
2421
- Qe as TextInput,
2422
- Ze as Toggle,
2423
- Je as Tooltip,
2424
- Ie as UndoButton,
2425
- Me as WebComponentsRegistry,
2426
- bt as clearThemes,
2427
- Oe as switchTheme
2488
+ Fe as CloseButton,
2489
+ Pe as ConfirmButton,
2490
+ Ke as ConfirmationDialog,
2491
+ Qe as FeatureCard,
2492
+ Ge as HeaderBodyFooterDialog,
2493
+ Be as LoaderBars,
2494
+ Ce as NextButton,
2495
+ De as PreviousButton,
2496
+ Ye as ProgressBar,
2497
+ Xe as Skeleton,
2498
+ Ve as Spinner,
2499
+ ei as Tag,
2500
+ si as TextInput,
2501
+ oi as Toggle,
2502
+ ri as Tooltip,
2503
+ qe as UndoButton,
2504
+ Te as WebComponentsRegistry,
2505
+ pt as clearThemes,
2506
+ Ne as switchTheme
2428
2507
  };