@sbb-esta/lyne-elements 3.8.0 → 3.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.
Files changed (81) hide show
  1. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  2. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  3. package/calendar/calendar.component.d.ts.map +1 -1
  4. package/calendar/calendar.component.js +211 -225
  5. package/carousel/carousel/carousel.component.d.ts.map +1 -1
  6. package/carousel/carousel/carousel.component.js +5 -5
  7. package/core/base-elements/open-close-base-element.d.ts +2 -0
  8. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  9. package/core/base-elements/open-close-base-element.js +4 -0
  10. package/core/controllers/escapable-overlay-controller.js +3 -3
  11. package/core/controllers/inert-controller.d.ts +8 -1
  12. package/core/controllers/inert-controller.d.ts.map +1 -1
  13. package/core/controllers/inert-controller.js +25 -13
  14. package/core/overlay/position.d.ts +20 -0
  15. package/core/overlay/position.d.ts.map +1 -1
  16. package/core/overlay/position.js +34 -23
  17. package/core/overlay.js +11 -10
  18. package/core/styles/core.scss +7 -0
  19. package/core.css +6 -0
  20. package/custom-elements.json +1152 -661
  21. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +7 -1
  22. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -1
  23. package/development/calendar/calendar.component.d.ts.map +1 -1
  24. package/development/calendar/calendar.component.js +20 -36
  25. package/development/carousel/carousel/carousel.component.d.ts.map +1 -1
  26. package/development/carousel/carousel/carousel.component.js +2 -2
  27. package/development/core/base-elements/open-close-base-element.d.ts +2 -0
  28. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  29. package/development/core/base-elements/open-close-base-element.js +5 -1
  30. package/development/core/controllers/escapable-overlay-controller.js +2 -2
  31. package/development/core/controllers/inert-controller.d.ts +8 -1
  32. package/development/core/controllers/inert-controller.d.ts.map +1 -1
  33. package/development/core/controllers/inert-controller.js +49 -30
  34. package/development/core/overlay/position.d.ts +20 -0
  35. package/development/core/overlay/position.d.ts.map +1 -1
  36. package/development/core/overlay/position.js +41 -1
  37. package/development/core/overlay.js +2 -1
  38. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  39. package/development/menu/common/menu-action-common.js +20 -3
  40. package/development/menu/menu/menu.component.d.ts +21 -10
  41. package/development/menu/menu/menu.component.d.ts.map +1 -1
  42. package/development/menu/menu/menu.component.js +203 -61
  43. package/development/option/option/option.component.js +4 -2
  44. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  45. package/development/paginator/common/paginator-common.js +14 -3
  46. package/development/tabs/tab/tab.component.d.ts +10 -4
  47. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  48. package/development/tabs/tab/tab.component.js +15 -16
  49. package/development/tabs/tab-group/tab-group.component.d.ts +15 -14
  50. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  51. package/development/tabs/tab-group/tab-group.component.js +46 -175
  52. package/development/tabs/tab-label/tab-label.component.d.ts +21 -2
  53. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  54. package/development/tabs/tab-label/tab-label.component.js +91 -6
  55. package/development/tooltip/tooltip.component.d.ts +6 -6
  56. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  57. package/development/tooltip/tooltip.component.js +14 -7
  58. package/menu/common/menu-action-common.d.ts.map +1 -1
  59. package/menu/common/menu-action-common.js +15 -12
  60. package/menu/menu/menu.component.d.ts +21 -10
  61. package/menu/menu/menu.component.d.ts.map +1 -1
  62. package/menu/menu/menu.component.js +144 -80
  63. package/off-brand-theme.css +6 -0
  64. package/option/option/option.component.js +1 -1
  65. package/package.json +1 -1
  66. package/paginator/common/paginator-common.d.ts.map +1 -1
  67. package/paginator/common/paginator-common.js +30 -25
  68. package/safety-theme.css +6 -0
  69. package/standard-theme.css +6 -0
  70. package/tabs/tab/tab.component.d.ts +10 -4
  71. package/tabs/tab/tab.component.d.ts.map +1 -1
  72. package/tabs/tab/tab.component.js +22 -24
  73. package/tabs/tab-group/tab-group.component.d.ts +15 -14
  74. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  75. package/tabs/tab-group/tab-group.component.js +68 -122
  76. package/tabs/tab-label/tab-label.component.d.ts +21 -2
  77. package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  78. package/tabs/tab-label/tab-label.component.js +88 -46
  79. package/tooltip/tooltip.component.d.ts +6 -6
  80. package/tooltip/tooltip.component.d.ts.map +1 -1
  81. package/tooltip/tooltip.component.js +59 -54
@@ -1,56 +1,98 @@
1
- var I = (t) => {
2
- throw TypeError(t);
1
+ var E = (a) => {
2
+ throw TypeError(a);
3
3
  };
4
- var E = (t, a, s) => a.has(t) || I("Cannot " + s);
5
- var m = (t, a, s) => (E(t, a, "read from private field"), s ? s.call(t) : a.get(t)), d = (t, a, s) => a.has(t) ? I("Cannot add the same private member more than once") : a instanceof WeakSet ? a.add(t) : a.set(t, s), f = (t, a, s, l) => (E(t, a, "write to private field"), l ? l.call(t, s) : a.set(t, s), s);
6
- import { __esDecorate as h, __runInitializers as i } from "tslib";
7
- import { css as D, LitElement as M } from "lit";
8
- import { customElement as G, property as u } from "lit/decorators.js";
9
- import { unsafeStatic as B, html as N } from "lit/static-html.js";
10
- import { slotState as j, forceType as $, omitEmptyConverter as A } from "../../core/decorators.js";
11
- import { SbbDisabledMixin as L, SbbElementInternalsMixin as O } from "../../core/mixins.js";
12
- import { SbbIconNameMixin as C } from "../../icon.js";
13
- const P = D`*,:before,:after{box-sizing:border-box}:host{--sbb-tab-label-height: var(--sbb-size-element-m);--sbb-tab-label-color: var(--sbb-color-granite);--sbb-tab-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));--sbb-tab-label-line-color: var(--sbb-border-color-4-inverted);--sbb-tab-label-cursor: pointer;--sbb-tab-label-pointer-events: unset;--sbb-tab-label-inset: 0;--sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xs);--sbb-tab-label-marker-transform: scale(0);--sbb-tab-label-text-decoration: none;--sbb-tab-label-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-2x) );--sbb-tab-label-animation-easing: var(--sbb-animation-easing);--sbb-tab-label-amount-color: var(--sbb-color-metal);--sbb-tab-label-amount-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));display:inline-block;max-width:100%;pointer-events:var(--sbb-tab-label-pointer-events);-webkit-tap-highlight-color:transparent;outline:none!important}@media (forced-colors: active){:host{--sbb-tab-label-color: ButtonText;--sbb-tab-label-amount-color: ButtonText}}:host([data-size=s]){--sbb-tab-label-height: var(--sbb-size-element-xs);--sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xxxs)}:host([disabled]){--sbb-tab-label-cursor: unset;--sbb-tab-label-pointer-events: none;--sbb-tab-label-text-decoration: line-through}@media (forced-colors: active){:host([disabled]){--sbb-tab-label-color: GrayText;--sbb-tab-label-amount-color: GrayText}}:host([active]:not([disabled])){--sbb-tab-label-color: var(--sbb-color-3);--sbb-tab-label-cursor: unset;--sbb-tab-label-pointer-events: none;--sbb-tab-label-marker-transform: scale(1)}@media (forced-colors: active){:host([active]:not([disabled])){--sbb-tab-label-color: ButtonText;--sbb-tab-label-amount-color: ButtonText}}@media (any-hover: hover){:host(:hover:not([disabled])){--sbb-tab-label-marker-transform: scale(1)}}:host(:is([data-active],:active)){--sbb-tab-label-color: var(--sbb-color-3)}.sbb-tab-label__wrapper{position:relative}:host(:focus-visible) .sbb-tab-label__wrapper:before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);content:"";position:absolute;display:block;inset:0;z-index:1;border-radius:calc(var(--sbb-border-radius-2x) - var(--sbb-focus-outline-offset))}.sbb-tab-label{position:relative;margin:0;min-height:var(--sbb-tab-label-height);display:flex;align-items:center;padding-inline:var(--sbb-tab-label-inline-padding);gap:var(--sbb-spacing-fixed-2x);-webkit-user-select:none;user-select:none;cursor:var(--sbb-tab-label-cursor);transition:color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing)}:host([data-has-divider]) .sbb-tab-label:after{content:"";position:absolute;inset-inline-start:0;inset-block-end:0;width:var(--sbb-tab-group-width);height:var(--sbb-border-width-1x);background-color:var(--sbb-tab-label-line-color)}.sbb-tab-label:before{position:absolute;content:"";inset-inline:0;inset-block-end:0;height:var(--sbb-border-width-3x);background-color:var(--sbb-tab-label-color);transform:var(--sbb-tab-label-marker-transform);transition-duration:var(--sbb-tab-label-animation-duration);transition-timing-function:var(--sbb-tab-label-animation-easing);transition-property:transform,background-color;z-index:1}.sbb-tab-label__icon,.sbb-tab-label__text,.sbb-tab-label__amount{text-decoration:var(--sbb-tab-label-text-decoration)}.sbb-tab-label__icon{display:flex;flex-shrink:0;color:var(--sbb-tab-label-color);transition:color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing)}:host(:not([data-slot-names~=icon],[icon-name])) .sbb-tab-label__icon{display:none}.sbb-tab-label__text{color:var(--sbb-tab-label-color);transition:color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700}:host([data-size=s]) .sbb-tab-label__text{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700}:host([data-size=xl]) .sbb-tab-label__text{--sbb-text-font-size: var(--sbb-font-size-text-xl);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700}:host(:not([data-slot-names~=unnamed])) .sbb-tab-label__text{display:none}.sbb-tab-label__amount{display:flex;color:var(--sbb-tab-label-amount-color);transition:color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size)}:host(:not([data-slot-names~=amount],[amount])) .sbb-tab-label__amount{display:none}:host([data-size=s]) .sbb-tab-label__amount{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size)}:host([data-size=xl]) .sbb-tab-label__amount{--sbb-text-font-size: var(--sbb-font-size-text-xl);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size)}`;
14
- let W = (() => {
15
- var n, r, c, o;
16
- let t = [G("sbb-tab-label"), j()], a, s = [], l, p = L(C(O(M))), g, x = [], _ = [], y, z = [], w = [], k, S = [], T = [];
17
- return o = class extends p {
4
+ var S = (a, b, s) => b.has(a) || E("Cannot " + s);
5
+ var h = (a, b, s) => (S(a, b, "read from private field"), s ? s.call(a) : b.get(a)), m = (a, b, s) => b.has(a) ? E("Cannot add the same private member more than once") : b instanceof WeakSet ? b.add(a) : b.set(a, s), n = (a, b, s, o) => (S(a, b, "write to private field"), o ? o.call(a, s) : b.set(a, s), s);
6
+ import { __esDecorate as u, __runInitializers as r } from "tslib";
7
+ import { css as B, LitElement as C } from "lit";
8
+ import { customElement as A, property as f } from "lit/decorators.js";
9
+ import { unsafeStatic as L, html as D } from "lit/static-html.js";
10
+ import { slotState as M, forceType as $, omitEmptyConverter as N } from "../../core/decorators.js";
11
+ import { SbbDisabledMixin as G, SbbElementInternalsMixin as j } from "../../core/mixins.js";
12
+ import { SbbIconNameMixin as O } from "../../icon.js";
13
+ const U = B`*,:before,:after{box-sizing:border-box}:host{--sbb-tab-label-height: var(--sbb-size-element-m);--sbb-tab-label-color: var(--sbb-color-granite);--sbb-tab-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));--sbb-tab-label-line-color: var(--sbb-border-color-4-inverted);--sbb-tab-label-cursor: pointer;--sbb-tab-label-pointer-events: unset;--sbb-tab-label-inset: 0;--sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xs);--sbb-tab-label-marker-transform: scale(0);--sbb-tab-label-text-decoration: none;--sbb-tab-label-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-2x) );--sbb-tab-label-animation-easing: var(--sbb-animation-easing);--sbb-tab-label-amount-color: var(--sbb-color-metal);--sbb-tab-label-amount-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));display:inline-block;max-width:100%;pointer-events:var(--sbb-tab-label-pointer-events);-webkit-tap-highlight-color:transparent;outline:none!important}@media (forced-colors: active){:host{--sbb-tab-label-color: ButtonText;--sbb-tab-label-amount-color: ButtonText}}:host([data-size=s]){--sbb-tab-label-height: var(--sbb-size-element-xs);--sbb-tab-label-inline-padding: var(--sbb-spacing-responsive-xxxs)}:host([disabled]){--sbb-tab-label-cursor: unset;--sbb-tab-label-pointer-events: none;--sbb-tab-label-text-decoration: line-through}@media (forced-colors: active){:host([disabled]){--sbb-tab-label-color: GrayText;--sbb-tab-label-amount-color: GrayText}}:host([active]:not([disabled])){--sbb-tab-label-color: var(--sbb-color-3);--sbb-tab-label-cursor: unset;--sbb-tab-label-pointer-events: none;--sbb-tab-label-marker-transform: scale(1)}@media (forced-colors: active){:host([active]:not([disabled])){--sbb-tab-label-color: ButtonText;--sbb-tab-label-amount-color: ButtonText}}@media (any-hover: hover){:host(:hover:not([disabled])){--sbb-tab-label-marker-transform: scale(1)}}:host(:is([data-active],:active)){--sbb-tab-label-color: var(--sbb-color-3)}.sbb-tab-label__wrapper{position:relative}:host(:focus-visible) .sbb-tab-label__wrapper:before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);content:"";position:absolute;display:block;inset:0;z-index:1;border-radius:calc(var(--sbb-border-radius-2x) - var(--sbb-focus-outline-offset))}.sbb-tab-label{position:relative;margin:0;min-height:var(--sbb-tab-label-height);display:flex;align-items:center;padding-inline:var(--sbb-tab-label-inline-padding);gap:var(--sbb-spacing-fixed-2x);-webkit-user-select:none;user-select:none;cursor:var(--sbb-tab-label-cursor);transition:color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing)}:host([data-has-divider]) .sbb-tab-label:after{content:"";position:absolute;inset-inline-start:0;inset-block-end:0;width:var(--sbb-tab-group-width);height:var(--sbb-border-width-1x);background-color:var(--sbb-tab-label-line-color)}.sbb-tab-label:before{position:absolute;content:"";inset-inline:0;inset-block-end:0;height:var(--sbb-border-width-3x);background-color:var(--sbb-tab-label-color);transform:var(--sbb-tab-label-marker-transform);transition-duration:var(--sbb-tab-label-animation-duration);transition-timing-function:var(--sbb-tab-label-animation-easing);transition-property:transform,background-color;z-index:1}.sbb-tab-label__icon,.sbb-tab-label__text,.sbb-tab-label__amount{text-decoration:var(--sbb-tab-label-text-decoration)}.sbb-tab-label__icon{display:flex;flex-shrink:0;color:var(--sbb-tab-label-color);transition:color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing)}:host(:not([data-slot-names~=icon],[icon-name])) .sbb-tab-label__icon{display:none}.sbb-tab-label__text{color:var(--sbb-tab-label-color);transition:color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700}:host([data-size=s]) .sbb-tab-label__text{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700}:host([data-size=xl]) .sbb-tab-label__text{--sbb-text-font-size: var(--sbb-font-size-text-xl);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700}:host(:not([data-slot-names~=unnamed])) .sbb-tab-label__text{display:none}.sbb-tab-label__amount{display:flex;color:var(--sbb-tab-label-amount-color);transition:color var(--sbb-tab-label-animation-duration) var(--sbb-tab-label-animation-easing);--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size)}:host(:not([data-slot-names~=amount],[amount])) .sbb-tab-label__amount{display:none}:host([data-size=s]) .sbb-tab-label__amount{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size)}:host([data-size=xl]) .sbb-tab-label__amount{--sbb-text-font-size: var(--sbb-font-size-text-xl);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size)}`;
14
+ let X = (() => {
15
+ var c, v, d, i;
16
+ let a = [A("sbb-tab-label"), M()], b, s = [], o, p = G(O(j(C))), g, x = [], _ = [], y, z = [], w = [], k, T = [], I = [];
17
+ return i = class extends p {
18
18
  constructor() {
19
- super(...arguments);
20
- d(this, n, i(this, x, "1"));
21
- d(this, r, (i(this, _), i(this, z, !1)));
22
- d(this, c, (i(this, w), i(this, S, "")));
23
- i(this, T);
19
+ super();
20
+ m(this, c);
21
+ m(this, v);
22
+ m(this, d);
23
+ this._selected = !1, n(this, c, r(this, x, "1")), n(this, v, (r(this, _), r(this, z, !1))), n(this, d, (r(this, w), r(this, T, ""))), r(this, I), this.addEventListener("click", () => this.activate());
24
24
  }
25
25
  /**
26
26
  * The level will correspond to the heading tag generated in the title.
27
27
  * Use this property to generate the appropriate header tag, taking SEO into consideration.
28
28
  */
29
29
  get level() {
30
- return m(this, n);
30
+ return h(this, c);
31
31
  }
32
- set level(b) {
33
- f(this, n, b);
32
+ set level(t) {
33
+ n(this, c, t);
34
34
  }
35
- /** Active tab state */
35
+ /** Active tab state. */
36
36
  get active() {
37
- return m(this, r);
37
+ return h(this, v);
38
38
  }
39
- set active(b) {
40
- f(this, r, b);
39
+ set active(t) {
40
+ n(this, v, t);
41
41
  }
42
42
  /** Amount displayed inside the tab. */
43
43
  get amount() {
44
- return m(this, c);
44
+ return h(this, d);
45
45
  }
46
- set amount(b) {
47
- f(this, c, b);
46
+ set amount(t) {
47
+ n(this, d, t);
48
+ }
49
+ /** Get the `sbb-tab` related to the `sbb-tab-label`. */
50
+ get tab() {
51
+ return this.nextElementSibling?.localName === "sbb-tab" ? this.nextElementSibling : null;
52
+ }
53
+ /** Get the parent `sbb-tab-group`. */
54
+ get group() {
55
+ return this.closest("sbb-tab-group");
56
+ }
57
+ connectedCallback() {
58
+ super.connectedCallback(), this.slot = "tab-bar", this.tabIndex = this.active ? 0 : -1;
59
+ }
60
+ willUpdate(t) {
61
+ super.willUpdate(t), t.has("active") && (this.internals.ariaSelected = `${this.active}`, this.tab?.toggleAttribute("data-active", this.active), this.active && !this.disabled ? this.activate() : this.deactivate()), t.has("disabled") && this.disabled && (this.tabIndex = -1, this.active && (this.deactivate(), this.group?.activateTab(0)));
62
+ }
63
+ /** Deactivate the tab. */
64
+ deactivate() {
65
+ this.active = !1, this._selected = !1, this.tabIndex = -1;
66
+ }
67
+ /** Select the tab, deactivating the current selected one, and dispatch the tabchange event. */
68
+ activate() {
69
+ if (this.disabled)
70
+ return;
71
+ const t = this.group?.labels || [], e = t.find((l) => l._selected);
72
+ e !== this && (e?.deactivate(), this.active = !0, this._selected = !0, this.tabIndex = 0, this.tab?.dispatchEvent(new Event("active", { bubbles: !0, composed: !0 })), this.group?.dispatchEvent(new CustomEvent("tabchange", {
73
+ bubbles: !0,
74
+ composed: !0,
75
+ detail: {
76
+ activeIndex: t.findIndex((l) => l === this),
77
+ activeTabLabel: this,
78
+ activeTab: this.tab,
79
+ previousIndex: t.findIndex((l) => l === e),
80
+ previousTabLabel: e,
81
+ previousTab: e?.tab
82
+ }
83
+ })));
84
+ }
85
+ /**
86
+ * @internal
87
+ */
88
+ linkToTab() {
89
+ this.tab && (this.internals.ariaControlsElements = [this.tab]);
48
90
  }
49
91
  render() {
50
- const b = `h${Number(this.level) < 7 ? this.level : "1"}`;
51
- return N`
92
+ const t = `h${Number(this.level) < 7 ? this.level : "1"}`;
93
+ return D`
52
94
  <div class="sbb-tab-label__wrapper">
53
- <${B(b)} class="sbb-tab-label">
95
+ <${L(t)} class="sbb-tab-label">
54
96
  <span class="sbb-tab-label__icon">
55
97
  ${this.renderIconSlot()}
56
98
  </span>
@@ -60,21 +102,21 @@ let W = (() => {
60
102
  <span class="sbb-tab-label__amount">
61
103
  <slot name="amount">${this.amount}</slot>
62
104
  </span>
63
- </${B(b)}>
105
+ </${L(t)}>
64
106
  </div>
65
107
  `;
66
108
  }
67
- }, n = new WeakMap(), r = new WeakMap(), c = new WeakMap(), l = o, (() => {
68
- const b = typeof Symbol == "function" && Symbol.metadata ? Object.create(p[Symbol.metadata] ?? null) : void 0;
69
- g = [u()], y = [$(), u({ reflect: !0, type: Boolean })], k = [$(), u({ reflect: !0, converter: A })], h(o, null, g, { kind: "accessor", name: "level", static: !1, private: !1, access: { has: (e) => "level" in e, get: (e) => e.level, set: (e, v) => {
70
- e.level = v;
71
- } }, metadata: b }, x, _), h(o, null, y, { kind: "accessor", name: "active", static: !1, private: !1, access: { has: (e) => "active" in e, get: (e) => e.active, set: (e, v) => {
72
- e.active = v;
73
- } }, metadata: b }, z, w), h(o, null, k, { kind: "accessor", name: "amount", static: !1, private: !1, access: { has: (e) => "amount" in e, get: (e) => e.amount, set: (e, v) => {
74
- e.amount = v;
75
- } }, metadata: b }, S, T), h(null, a = { value: l }, t, { kind: "class", name: l.name, metadata: b }, null, s), l = a.value, b && Object.defineProperty(l, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: b });
76
- })(), o.role = "tab", o.styles = P, i(l, s), l;
109
+ }, c = new WeakMap(), v = new WeakMap(), d = new WeakMap(), o = i, (() => {
110
+ const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(p[Symbol.metadata] ?? null) : void 0;
111
+ g = [f()], y = [$(), f({ reflect: !0, type: Boolean })], k = [$(), f({ reflect: !0, converter: N })], u(i, null, g, { kind: "accessor", name: "level", static: !1, private: !1, access: { has: (e) => "level" in e, get: (e) => e.level, set: (e, l) => {
112
+ e.level = l;
113
+ } }, metadata: t }, x, _), u(i, null, y, { kind: "accessor", name: "active", static: !1, private: !1, access: { has: (e) => "active" in e, get: (e) => e.active, set: (e, l) => {
114
+ e.active = l;
115
+ } }, metadata: t }, z, w), u(i, null, k, { kind: "accessor", name: "amount", static: !1, private: !1, access: { has: (e) => "amount" in e, get: (e) => e.amount, set: (e, l) => {
116
+ e.amount = l;
117
+ } }, metadata: t }, T, I), u(null, b = { value: o }, a, { kind: "class", name: o.name, metadata: t }, null, s), o = b.value, t && Object.defineProperty(o, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
118
+ })(), i.role = "tab", i.styles = U, r(o, s), o;
77
119
  })();
78
120
  export {
79
- W as SbbTabLabelElement
121
+ X as SbbTabLabelElement
80
122
  };
@@ -23,20 +23,20 @@ export declare class SbbTooltipElement extends SbbTooltipElement_base {
23
23
  * Open the tooltip after a given delay in milliseconds.
24
24
  * Global configuration is used as default, if not set.
25
25
  *
26
- * @default 0
26
+ * @default null
27
27
  */
28
- set openDelay(value: number);
28
+ set openDelay(value: number | null);
29
29
  get openDelay(): number;
30
- private _openDelay?;
30
+ private _openDelay;
31
31
  /**
32
32
  * Close the tooltip after a given delay in milliseconds.
33
33
  * Global configuration is used as default, if not set.
34
34
  *
35
- * @default 0
35
+ * @default null
36
36
  */
37
- set closeDelay(value: number);
37
+ set closeDelay(value: number | null);
38
38
  get closeDelay(): number;
39
- private _closeDelay?;
39
+ private _closeDelay;
40
40
  /**
41
41
  * Automatically close the tooltip after it has been open by long press.
42
42
  * Global configuration is used as default, if not set.
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.component.d.ts","sourceRoot":"","sources":["../../../src/elements/tooltip/tooltip.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;;AA6BnE;;;;;;;GAOG;AACH,qBAEM,iBAAkB,SAAQ,sBAAyC;IACvE,gBAAgC,IAAI,aAAa;IACjD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,MAAM,CAAC,cAAc,CAAU;IAUvC;;;;OAIG;IACH,SAEgB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnD;;;;;OAKG;IACH,IACW,SAAS,CAAC,KAAK,EAAE,MAAM,EAEjC;IACD,IAAW,SAAS,IAAI,MAAM,CAE7B;IACD,OAAO,CAAC,UAAU,CAAC,CAAS;IAE5B;;;;;OAKG;IACH,IACW,UAAU,CAAC,KAAK,EAAE,MAAM,EAElC;IACD,IAAW,UAAU,IAAI,MAAM,CAE9B;IACD,OAAO,CAAC,WAAW,CAAC,CAAS;IAE7B;;;;;OAKG;IACH,IACW,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAE3C;IACD,IAAW,mBAAmB,IAAI,MAAM,CAEvC;IACD,OAAO,CAAC,oBAAoB,CAAC,CAAS;IAEtC,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAEnC,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAC,CAAkB;IAClD,OAAO,CAAC,oBAAoB,CAAmB;IAC/C,OAAO,CAAC,2BAA2B,CAA2C;IAC9E,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,qBAAqB,CAAC,CAAgC;IAC9D,OAAO,CAAC,sBAAsB,CAAC,CAAgC;;IAwB/D,OAAO,CAAC,MAAM,CAAC,wBAAwB;IA6BvC,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAM5C,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAoBpB,iBAAiB,IAAI,IAAI;IAYzB,oBAAoB,IAAI,IAAI;IAM5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAWY,YAAY,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAKjE,IAAI,IAAI,IAAI;IAsBZ,KAAK,IAAI,IAAI;IAgBpB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,wBAAwB;IA0DhC,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,sBAAsB;cAKX,MAAM,IAAI,cAAc;CAW5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
1
+ {"version":3,"file":"tooltip.component.d.ts","sourceRoot":"","sources":["../../../src/elements/tooltip/tooltip.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;;AA6BnE;;;;;;;GAOG;AACH,qBAEM,iBAAkB,SAAQ,sBAAyC;IACvE,gBAAgC,IAAI,aAAa;IACjD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,MAAM,CAAC,cAAc,CAAU;IAUvC;;;;OAIG;IACH,SAEgB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IAEnD;;;;;OAKG;IACH,IACW,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAExC;IACD,IAAW,SAAS,IAAI,MAAM,CAE7B;IACD,OAAO,CAAC,UAAU,CAAuB;IAEzC;;;;;OAKG;IACH,IACW,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAEzC;IACD,IAAW,UAAU,IAAI,MAAM,CAE9B;IACD,OAAO,CAAC,WAAW,CAAuB;IAE1C;;;;;OAKG;IACH,IACW,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAE3C;IACD,IAAW,mBAAmB,IAAI,MAAM,CAEvC;IACD,OAAO,CAAC,oBAAoB,CAAC,CAAS;IAEtC,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAEnC,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAC,CAAkB;IAClD,OAAO,CAAC,oBAAoB,CAAmB;IAC/C,OAAO,CAAC,2BAA2B,CAA2C;IAC9E,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,qBAAqB,CAAC,CAAgC;IAC9D,OAAO,CAAC,sBAAsB,CAAC,CAAgC;;IAwB/D,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAmCvC,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAM5C,OAAO,CAAC,MAAM,CAAC,qBAAqB;IA2BpB,iBAAiB,IAAI,IAAI;IAYzB,oBAAoB,IAAI,IAAI;IAM5B,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cAWY,YAAY,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAKjE,IAAI,IAAI,IAAI;IAsBZ,KAAK,IAAI,IAAI;IAgBpB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,wBAAwB;IA0DhC,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,sBAAsB;cAKX,MAAM,IAAI,cAAc;CAW5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,aAAa,EAAE,iBAAiB,CAAC;KAClC;CACF"}
@@ -1,28 +1,28 @@
1
- var x = (i) => {
2
- throw TypeError(i);
1
+ var E = (s) => {
2
+ throw TypeError(s);
3
3
  };
4
- var O = (i, s, a) => s.has(i) || x("Cannot " + a);
5
- var D = (i, s, a) => (O(i, s, "read from private field"), a ? a.call(i) : s.get(i)), w = (i, s, a) => s.has(i) ? x("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(i) : s.set(i, a), u = (i, s, a, l) => (O(i, s, "write to private field"), l ? l.call(i, a) : s.set(i, a), a);
4
+ var O = (s, i, a) => i.has(s) || E("Cannot " + a);
5
+ var w = (s, i, a) => (O(s, i, "read from private field"), a ? a.call(s) : i.get(s)), P = (s, i, a) => i.has(s) ? E("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(s) : i.set(s, a), u = (s, i, a, r) => (O(s, i, "write to private field"), r ? r.call(s, a) : i.set(s, a), a);
6
6
  import { __esDecorate as b, __runInitializers as h } from "tslib";
7
- import { css as L, isServer as P, html as k } from "lit";
8
- import { customElement as S, property as c } from "lit/decorators.js";
9
- import { ref as z } from "lit/directives/ref.js";
10
- import { SbbOpenCloseBaseElement as N } from "../core/base-elements.js";
7
+ import { css as k, isServer as A, html as S } from "lit";
8
+ import { customElement as z, property as c } from "lit/decorators.js";
9
+ import { ref as N } from "lit/directives/ref.js";
10
+ import { SbbOpenCloseBaseElement as I } from "../core/base-elements.js";
11
11
  import { readConfig as g } from "../core/config.js";
12
- import { SbbEscapableOverlayController as I } from "../core/controllers.js";
12
+ import { SbbEscapableOverlayController as M } from "../core/controllers.js";
13
13
  import { idReference as H } from "../core/decorators.js";
14
- import { queueDomContentLoaded as F, addToListAttribute as M, removeFromListAttribute as U, isZeroAnimationDuration as Z, isAndroid as $, isIOS as q } from "../core/dom.js";
15
- import { SbbDisabledMixin as R } from "../core/mixins.js";
16
- import { sbbOverlayOutsidePointerEventListener as A, getElementPosition as B } from "../core/overlay.js";
17
- const W = L`*,:before,:after{box-sizing:border-box}:host{--sbb-tooltip-position: absolute;--sbb-tooltip-position-x: 0;--sbb-tooltip-position-y: 0;--sbb-tooltip-pointer-events: all;--sbb-tooltip-max-width: min( 25rem, calc(100% - var(--sbb-spacing-fixed-2x)) );--sbb-tooltip-border-color: var(--sbb-background-color-1-inverted);--sbb-tooltip-border-radius: var(--sbb-border-radius-8x);--sbb-tooltip-padding: var(--sbb-spacing-fixed-2x) var(--sbb-spacing-fixed-4x);--sbb-tooltip-background-color: var(--sbb-background-color-1-inverted);--sbb-tooltip-color: var(--sbb-color-2-inverted);--sbb-tooltip-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-tooltip-animation-easing: ease-out;--sbb-tooltip-animation-translate: 0 var(--sbb-spacing-fixed-2x);display:none;position:fixed;inset:0;z-index:var(--sbb-tooltip-z-index, var(--sbb-overlay-default-z-index))}:host([data-state]:not([data-state=closed])){display:block;--sbb-tooltip-animation-name: open}:host([data-state][data-state=closing]){--sbb-tooltip-animation-name: close;--sbb-tooltip-pointer-events: none}:host([data-position=below]){--sbb-tooltip-hover-patch-inset: calc(-1 * var(--sbb-spacing-fixed-4x)) 0}:host([data-position=above]){--sbb-tooltip-hover-patch-inset: 0 calc(-1 * var(--sbb-spacing-fixed-4x))}.sbb-tooltip{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-color-soft-2),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-color-soft-1);--sbb-text-font-size: var(--sbb-font-size-text-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);position:var(--sbb-tooltip-position);pointer-events:var(--sbb-tooltip-pointer-events);top:var(--sbb-tooltip-position-y);bottom:unset;left:var(--sbb-tooltip-position-x);right:unset;border:var(--sbb-border-width-1x) solid var(--sbb-tooltip-border-color);border-radius:var(--sbb-tooltip-border-radius);padding:var(--sbb-tooltip-padding);max-width:var(--sbb-tooltip-max-width);width:max-content;color:var(--sbb-tooltip-color);background-color:var(--sbb-tooltip-background-color);outline:none;animation-name:var(--sbb-tooltip-animation-name);animation-duration:var(--sbb-tooltip-animation-duration);animation-timing-function:var(--sbb-tooltip-animation-easing)}.sbb-tooltip:before{content:"";display:block;position:absolute;inset:0;z-index:-1;background-color:transparent;inset-block:var(--sbb-tooltip-hover-patch-inset)}@keyframes open{0%{opacity:0;translate:var(--sbb-tooltip-animation-translate)}to{opacity:1;translate:0}}@keyframes close{0%{opacity:1;translate:0}to{opacity:0;translate:var(--sbb-tooltip-animation-translate)}}`, j = 500, G = 8, V = 16, Y = $ || q, m = /* @__PURE__ */ new WeakMap();
18
- let J = 0, bt = (() => {
19
- var n, r;
20
- let i = [S("sbb-tooltip")], s, a = [], l, v = R(N), p = [], _, f = [], y = [], T, C, E;
21
- return r = class extends v {
14
+ import { queueDomContentLoaded as F, addToListAttribute as U, removeFromListAttribute as Z, isZeroAnimationDuration as $, isAndroid as q, isIOS as R } from "../core/dom.js";
15
+ import { SbbDisabledMixin as B } from "../core/mixins.js";
16
+ import { sbbOverlayOutsidePointerEventListener as L, getElementPosition as W } from "../core/overlay.js";
17
+ const j = k`*,:before,:after{box-sizing:border-box}:host{--sbb-tooltip-position: absolute;--sbb-tooltip-position-x: 0;--sbb-tooltip-position-y: 0;--sbb-tooltip-pointer-events: all;--sbb-tooltip-max-width: min( 25rem, calc(100% - var(--sbb-spacing-fixed-2x)) );--sbb-tooltip-border-color: var(--sbb-background-color-1-inverted);--sbb-tooltip-border-radius: var(--sbb-border-radius-8x);--sbb-tooltip-padding: var(--sbb-spacing-fixed-2x) var(--sbb-spacing-fixed-4x);--sbb-tooltip-background-color: var(--sbb-background-color-1-inverted);--sbb-tooltip-color: var(--sbb-color-2-inverted);--sbb-tooltip-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-tooltip-animation-easing: ease-out;--sbb-tooltip-animation-translate: 0 var(--sbb-spacing-fixed-2x);display:none;position:fixed;inset:0;z-index:var(--sbb-tooltip-z-index, var(--sbb-overlay-default-z-index))}:host([data-state]:not([data-state=closed])){display:block;--sbb-tooltip-animation-name: open}:host([data-state][data-state=closing]){--sbb-tooltip-animation-name: close;--sbb-tooltip-pointer-events: none}:host([data-position=below]){--sbb-tooltip-hover-patch-inset: calc(-1 * var(--sbb-spacing-fixed-4x)) 0}:host([data-position=above]){--sbb-tooltip-hover-patch-inset: 0 calc(-1 * var(--sbb-spacing-fixed-4x))}.sbb-tooltip{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-color-soft-2),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-color-soft-1);--sbb-text-font-size: var(--sbb-font-size-text-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);position:var(--sbb-tooltip-position);pointer-events:var(--sbb-tooltip-pointer-events);top:var(--sbb-tooltip-position-y);bottom:unset;left:var(--sbb-tooltip-position-x);right:unset;border:var(--sbb-border-width-1x) solid var(--sbb-tooltip-border-color);border-radius:var(--sbb-tooltip-border-radius);padding:var(--sbb-tooltip-padding);max-width:var(--sbb-tooltip-max-width);width:max-content;color:var(--sbb-tooltip-color);background-color:var(--sbb-tooltip-background-color);outline:none;animation-name:var(--sbb-tooltip-animation-name);animation-duration:var(--sbb-tooltip-animation-duration);animation-timing-function:var(--sbb-tooltip-animation-easing)}.sbb-tooltip:before{content:"";display:block;position:absolute;inset:0;z-index:-1;background-color:transparent;inset-block:var(--sbb-tooltip-hover-patch-inset)}@keyframes open{0%{opacity:0;translate:var(--sbb-tooltip-animation-translate)}to{opacity:1;translate:0}}@keyframes close{0%{opacity:1;translate:0}to{opacity:0;translate:var(--sbb-tooltip-animation-translate)}}`, G = 500, V = 8, Y = 16, J = q || R, m = /* @__PURE__ */ new WeakMap();
18
+ let K = 0, pt = (() => {
19
+ var n, l;
20
+ let s = [z("sbb-tooltip")], i, a = [], r, v = B(I), p = [], _, y = [], f = [], T, C, x;
21
+ return l = class extends v {
22
22
  constructor() {
23
23
  super();
24
- w(this, n);
25
- u(this, n, (h(this, p), h(this, f, null))), this._openDelay = h(this, y), this._triggerElement = null, this._escapableOverlayController = new I(this), this.addEventListener("mouseleave", (t) => {
24
+ P(this, n);
25
+ u(this, n, (h(this, p), h(this, y, null))), this._openDelay = (h(this, f), null), this._closeDelay = null, this._triggerElement = null, this._escapableOverlayController = new M(this), this.addEventListener("mouseleave", (t) => {
26
26
  (this.state === "opened" || this.state === "opening") && (!t.relatedTarget || !this._triggerElement?.contains(t.relatedTarget)) && this._delayedClose();
27
27
  }, { passive: !0 }), this.addEventListener("overlayOutsidePointer", () => this.close(), { passive: !0 });
28
28
  }
@@ -32,7 +32,7 @@ let J = 0, bt = (() => {
32
32
  * For attribute usage, provide an id reference.
33
33
  */
34
34
  get trigger() {
35
- return D(this, n);
35
+ return w(this, n);
36
36
  }
37
37
  set trigger(t) {
38
38
  u(this, n, t);
@@ -41,10 +41,10 @@ let J = 0, bt = (() => {
41
41
  * Open the tooltip after a given delay in milliseconds.
42
42
  * Global configuration is used as default, if not set.
43
43
  *
44
- * @default 0
44
+ * @default null
45
45
  */
46
46
  set openDelay(t) {
47
- this._openDelay = +t;
47
+ this._openDelay = t;
48
48
  }
49
49
  get openDelay() {
50
50
  return this._openDelay ?? g().tooltip?.openDelay ?? 0;
@@ -53,10 +53,10 @@ let J = 0, bt = (() => {
53
53
  * Close the tooltip after a given delay in milliseconds.
54
54
  * Global configuration is used as default, if not set.
55
55
  *
56
- * @default 0
56
+ * @default null
57
57
  */
58
58
  set closeDelay(t) {
59
- this._closeDelay = +t;
59
+ this._closeDelay = t;
60
60
  }
61
61
  get closeDelay() {
62
62
  return this._closeDelay ?? g().tooltip?.closeDelay ?? 0;
@@ -74,15 +74,20 @@ let J = 0, bt = (() => {
74
74
  return this._longPressCloseDelay ?? g().tooltip?.longPressCloseDelay ?? 1500;
75
75
  }
76
76
  static _initializeTooltipOutlet() {
77
- this._tooltipOutlet = document.createElement("div"), this._tooltipOutlet.classList.add("sbb-overlay-outlet"), document.body.appendChild(this._tooltipOutlet), new MutationObserver((t) => {
78
- for (const e of t)
79
- if (e.type === "attributes")
80
- this._handleTooltipTrigger(e.target);
81
- else if (e.type === "childList")
82
- for (const o of [...e.addedNodes, ...e.removedNodes].filter((d) => d.nodeType === d.ELEMENT_NODE))
83
- this._handleTooltipTrigger(o), this._findAndHandleTooltipTriggers(o);
77
+ this._tooltipOutlet = document.createElement("div"), this._tooltipOutlet.classList.add("sbb-overlay-outlet"), document.body.appendChild(this._tooltipOutlet);
78
+ const t = /* @__PURE__ */ new Map([
79
+ ["sbb-tooltip-open-delay", "open-delay"],
80
+ ["sbb-tooltip-close-delay", "close-delay"]
81
+ ]);
82
+ new MutationObserver((e) => {
83
+ for (const o of e)
84
+ if (o.type === "attributes")
85
+ this._handleTooltipTrigger(o.target);
86
+ else if (o.type === "childList")
87
+ for (const d of [...o.addedNodes, ...o.removedNodes].filter((D) => D.nodeType === D.ELEMENT_NODE))
88
+ this._handleTooltipTrigger(d), this._findAndHandleTooltipTriggers(d);
84
89
  }).observe(document.documentElement, {
85
- attributeFilter: ["sbb-tooltip"],
90
+ attributeFilter: ["sbb-tooltip", ...t.keys()],
86
91
  childList: !0,
87
92
  subtree: !0
88
93
  }), this._findAndHandleTooltipTriggers(document.body);
@@ -93,16 +98,16 @@ let J = 0, bt = (() => {
93
98
  static _handleTooltipTrigger(t) {
94
99
  const e = t.getAttribute("sbb-tooltip");
95
100
  let o = m.get(t);
96
- e && t.isConnected ? (o || (o = document.createElement("sbb-tooltip"), m.set(t, o), this._tooltipOutlet.appendChild(o), o.trigger = t), o.textContent = e) : o && (m.delete(t), o._destroy());
101
+ e && t.isConnected ? (o || (o = document.createElement("sbb-tooltip"), m.set(t, o), this._tooltipOutlet.appendChild(o), o.trigger = t), o.textContent = e, o.openDelay = t.hasAttribute("sbb-tooltip-open-delay") ? +t.getAttribute("sbb-tooltip-open-delay") : null, o.closeDelay = t.hasAttribute("sbb-tooltip-close-delay") ? +t.getAttribute("sbb-tooltip-close-delay") : null) : o && (m.delete(t), o._destroy());
97
102
  }
98
103
  connectedCallback() {
99
- super.connectedCallback(), this.popover = "manual", this.id ||= `sbb-tooltip-${++J}`, this.state = "closed", A.connect(this), this.hasUpdated && this.trigger && this._attach(this.trigger);
104
+ super.connectedCallback(), this.popover = "manual", this.id ||= `sbb-tooltip-${++K}`, this.state = "closed", L.connect(this), this.hasUpdated && this.trigger && this._attach(this.trigger);
100
105
  }
101
106
  disconnectedCallback() {
102
- super.disconnectedCallback(), A.disconnect(this), this._detach();
107
+ super.disconnectedCallback(), L.disconnect(this), this._detach();
103
108
  }
104
109
  requestUpdate(t, e, o) {
105
- super.requestUpdate(t, e, o), !P && (!t || t === "trigger") && this.hasUpdated && this._attach(this.trigger);
110
+ super.requestUpdate(t, e, o), !A && (!t || t === "trigger") && this.hasUpdated && this._attach(this.trigger);
106
111
  }
107
112
  firstUpdated(t) {
108
113
  super.firstUpdated(t), this._attach(this.trigger);
@@ -129,10 +134,10 @@ let J = 0, bt = (() => {
129
134
  t.animationName === "open" && this.state === "opening" ? this._handleOpening() : t.animationName === "close" && this.state === "closing" && this._handleClosing();
130
135
  }
131
136
  _attach(t) {
132
- this._triggerElement && this._detach(), this._triggerElement = t, this._triggerElement && (M(this._triggerElement, "aria-describedby", this.id), this._addTriggerEventHandlers());
137
+ this._triggerElement && this._detach(), this._triggerElement = t, this._triggerElement && (U(this._triggerElement, "aria-describedby", this.id), this._addTriggerEventHandlers());
133
138
  }
134
139
  _detach() {
135
- this._triggerAbortController?.abort(), this._openStateController?.abort(), this._resetOpenCloseTimeout(), clearTimeout(this._longPressOpenTimeout), clearTimeout(this._longPressCloseTimeout), this._triggerElement && (U(this._triggerElement, "aria-describedby", this.id), this._triggerElement = null);
140
+ this._triggerAbortController?.abort(), this._openStateController?.abort(), this._resetOpenCloseTimeout(), clearTimeout(this._longPressOpenTimeout), clearTimeout(this._longPressCloseTimeout), this._triggerElement && (Z(this._triggerElement, "aria-describedby", this.id), this._triggerElement = null);
136
141
  }
137
142
  _destroy() {
138
143
  this._detach(), this.remove();
@@ -140,9 +145,9 @@ let J = 0, bt = (() => {
140
145
  _setTooltipPosition() {
141
146
  if (!this.overlay || !this._triggerElement)
142
147
  return;
143
- const t = B(this.overlay, this._triggerElement, this, {
144
- verticalOffset: G,
145
- horizontalOffset: V,
148
+ const t = W(this.overlay, this._triggerElement, this, {
149
+ verticalOffset: V,
150
+ horizontalOffset: Y,
146
151
  centered: !0,
147
152
  responsiveHeight: !0
148
153
  });
@@ -157,11 +162,11 @@ let J = 0, bt = (() => {
157
162
  signal: this._triggerAbortController.signal,
158
163
  passive: !0
159
164
  };
160
- Y || (t.addEventListener("mouseenter", () => this._delayedOpen(), e), t.addEventListener("mouseleave", (o) => {
165
+ J || (t.addEventListener("mouseenter", () => this._delayedOpen(), e), t.addEventListener("mouseleave", (o) => {
161
166
  const d = o.relatedTarget;
162
167
  (!d || d !== this) && this._delayedClose();
163
168
  }, e), t.addEventListener("blur", () => this.close(), e), t.addEventListener("focus", () => this._delayedOpen(), e)), t.addEventListener("touchstart", () => {
164
- clearTimeout(this._longPressOpenTimeout), clearTimeout(this._longPressCloseTimeout), this._longPressOpenTimeout = setTimeout(() => this.open(), j);
169
+ clearTimeout(this._longPressOpenTimeout), clearTimeout(this._longPressCloseTimeout), this._longPressOpenTimeout = setTimeout(() => this.open(), G);
165
170
  }, e), t.addEventListener("touchend", () => {
166
171
  clearTimeout(this._longPressOpenTimeout), this._longPressCloseTimeout = setTimeout(() => this.close(), this.longPressCloseDelay);
167
172
  }, e), t.addEventListener("touchcancel", () => {
@@ -181,35 +186,35 @@ let J = 0, bt = (() => {
181
186
  });
182
187
  }
183
188
  _isZeroAnimationDuration() {
184
- return Z(this, "--sbb-tooltip-animation-duration");
189
+ return $(this, "--sbb-tooltip-animation-duration");
185
190
  }
186
191
  _resetOpenCloseTimeout() {
187
192
  clearTimeout(this._openTimeout), clearTimeout(this._closeTimeout);
188
193
  }
189
194
  render() {
190
- return k`
195
+ return S`
191
196
  <div
192
197
  @animationend=${this._onTooltipAnimationEnd}
193
198
  class="sbb-tooltip"
194
- ${z((t) => this.overlay = t)}
199
+ ${N((t) => this.overlay = t)}
195
200
  >
196
201
  <slot></slot>
197
202
  </div>
198
203
  `;
199
204
  }
200
- }, n = new WeakMap(), l = r, (() => {
205
+ }, n = new WeakMap(), r = l, (() => {
201
206
  const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(v[Symbol.metadata] ?? null) : void 0;
202
- _ = [H(), c()], T = [c({ attribute: "open-delay", type: Number })], C = [c({ attribute: "close-delay", type: Number })], E = [c({ attribute: "long-press-close-delay", type: Number })], b(r, null, _, { kind: "accessor", name: "trigger", static: !1, private: !1, access: { has: (e) => "trigger" in e, get: (e) => e.trigger, set: (e, o) => {
207
+ _ = [H(), c()], T = [c({ attribute: "open-delay", type: Number })], C = [c({ attribute: "close-delay", type: Number })], x = [c({ attribute: "long-press-close-delay", type: Number })], b(l, null, _, { kind: "accessor", name: "trigger", static: !1, private: !1, access: { has: (e) => "trigger" in e, get: (e) => e.trigger, set: (e, o) => {
203
208
  e.trigger = o;
204
- } }, metadata: t }, f, y), b(r, null, T, { kind: "setter", name: "openDelay", static: !1, private: !1, access: { has: (e) => "openDelay" in e, set: (e, o) => {
209
+ } }, metadata: t }, y, f), b(l, null, T, { kind: "setter", name: "openDelay", static: !1, private: !1, access: { has: (e) => "openDelay" in e, set: (e, o) => {
205
210
  e.openDelay = o;
206
- } }, metadata: t }, null, p), b(r, null, C, { kind: "setter", name: "closeDelay", static: !1, private: !1, access: { has: (e) => "closeDelay" in e, set: (e, o) => {
211
+ } }, metadata: t }, null, p), b(l, null, C, { kind: "setter", name: "closeDelay", static: !1, private: !1, access: { has: (e) => "closeDelay" in e, set: (e, o) => {
207
212
  e.closeDelay = o;
208
- } }, metadata: t }, null, p), b(r, null, E, { kind: "setter", name: "longPressCloseDelay", static: !1, private: !1, access: { has: (e) => "longPressCloseDelay" in e, set: (e, o) => {
213
+ } }, metadata: t }, null, p), b(l, null, x, { kind: "setter", name: "longPressCloseDelay", static: !1, private: !1, access: { has: (e) => "longPressCloseDelay" in e, set: (e, o) => {
209
214
  e.longPressCloseDelay = o;
210
- } }, metadata: t }, null, p), b(null, s = { value: l }, i, { kind: "class", name: l.name, metadata: t }, null, a), l = s.value, t && Object.defineProperty(l, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
211
- })(), r.role = "tooltip", r.styles = W, P || F(() => l._initializeTooltipOutlet()), h(l, a), l;
215
+ } }, metadata: t }, null, p), b(null, i = { value: r }, s, { kind: "class", name: r.name, metadata: t }, null, a), r = i.value, t && Object.defineProperty(r, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
216
+ })(), l.role = "tooltip", l.styles = j, A || F(() => r._initializeTooltipOutlet()), h(r, a), r;
212
217
  })();
213
218
  export {
214
- bt as SbbTooltipElement
219
+ pt as SbbTooltipElement
215
220
  };