@sbb-esta/lyne-elements 0.52.1 → 0.52.2

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 (71) hide show
  1. package/accordion.js +54 -54
  2. package/action-group.js +3 -3
  3. package/alert/alert-group.js +22 -22
  4. package/alert/alert.js +22 -22
  5. package/autocomplete.js +126 -126
  6. package/breadcrumb/breadcrumb-group.js +60 -60
  7. package/breadcrumb/breadcrumb.js +17 -17
  8. package/calendar.js +423 -423
  9. package/card/card-badge.js +17 -17
  10. package/card/card.js +2 -2
  11. package/card/common.js +30 -30
  12. package/checkbox/checkbox-group.js +17 -17
  13. package/checkbox/checkbox.js +34 -34
  14. package/clock.js +83 -83
  15. package/container/sticky-bar.js +16 -16
  16. package/core/a11y.js +91 -91
  17. package/core/base-elements.js +86 -86
  18. package/core/controllers.js +40 -40
  19. package/core/datetime.js +32 -32
  20. package/core/dom.js +26 -26
  21. package/core/eventing.js +33 -33
  22. package/core/mixins.js +122 -122
  23. package/core/testing.js +29 -29
  24. package/datepicker/common.js +55 -55
  25. package/datepicker/datepicker-toggle.js +94 -94
  26. package/datepicker/datepicker.js +144 -144
  27. package/dialog/dialog-title.js +20 -20
  28. package/dialog/dialog.js +66 -66
  29. package/expansion-panel/expansion-panel-header.js +20 -20
  30. package/expansion-panel/expansion-panel.js +60 -60
  31. package/file-selector.js +91 -91
  32. package/form-field/form-field-clear.js +12 -12
  33. package/form-field/form-field.js +111 -111
  34. package/header/header.js +53 -53
  35. package/icon.js +107 -107
  36. package/image.js +87 -87
  37. package/journey-header.js +29 -29
  38. package/map-container.js +23 -23
  39. package/menu/menu.js +91 -91
  40. package/navigation/common.js +16 -16
  41. package/navigation/navigation-marker.js +34 -34
  42. package/navigation/navigation-section.js +83 -83
  43. package/navigation/navigation.js +87 -87
  44. package/notification.js +52 -52
  45. package/option/optgroup.js +45 -45
  46. package/option/option.js +108 -108
  47. package/overlay.js +5 -5
  48. package/package.json +1 -1
  49. package/popover/popover.js +110 -110
  50. package/radio-button/radio-button-group.js +93 -93
  51. package/radio-button/radio-button.js +84 -84
  52. package/select.js +178 -178
  53. package/selection-panel.js +44 -44
  54. package/slider.js +58 -58
  55. package/status.js +6 -6
  56. package/stepper/step-label.js +19 -19
  57. package/stepper/step.js +31 -31
  58. package/stepper/stepper.js +46 -46
  59. package/tabs/tab-group.js +67 -67
  60. package/tag/tag-group.js +8 -8
  61. package/tag/tag.js +27 -27
  62. package/teaser-paid.js +12 -12
  63. package/time-input.js +73 -73
  64. package/timetable-occupancy-icon.js +26 -26
  65. package/timetable-occupancy.js +9 -9
  66. package/toast.js +38 -38
  67. package/toggle/toggle-option.js +33 -33
  68. package/toggle/toggle.js +46 -46
  69. package/train/train-formation.js +36 -36
  70. package/train/train-wagon.js +30 -30
  71. package/train/train.js +13 -13
@@ -1,45 +1,45 @@
1
- import { css as c, LitElement as p, html as h } from "lit";
2
- import { property as d, state as v, customElement as m } from "lit/decorators.js";
3
- import { SbbConnectedAbortController as u, SbbSlotStateController as g } from "./core/controllers.js";
4
- import { EventEmitter as a } from "./core/eventing.js";
1
+ import { css as p, LitElement as c, html as h } from "lit";
2
+ import { property as d, state as u, customElement as v } from "lit/decorators.js";
3
+ import { SbbConnectedAbortController as m, SbbSlotStateController as _ } from "./core/controllers.js";
4
+ import { EventEmitter as o } from "./core/eventing.js";
5
5
  import "./divider.js";
6
- const f = c`*,:before,:after{box-sizing:border-box}:host{--sbb-selection-panel-cursor: pointer;--sbb-selection-panel-background: var(--sbb-color-white);--sbb-selection-panel-border-color: var(--sbb-color-cloud);--sbb-selection-panel-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-4x) );--sbb-selection-panel-border-width: var(--sbb-border-width-1x);--sbb-selection-panel-input-pointer-events: all;--sbb-selection-panel-input-padding: var(--sbb-spacing-responsive-xs) var(--sbb-spacing-responsive-xxs);--sbb-selection-panel-content-visibility: hidden;--sbb-selection-panel-content-padding-inline: var(--sbb-spacing-responsive-xxs);--sbb-selection-panel-border-radius: var(--sbb-border-radius-4x);--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);display:contents}:host([color=milk]){--sbb-selection-panel-background: var(--sbb-color-milk)}:host([data-checked]:not([data-disabled])){--sbb-selection-panel-border-color: var(--sbb-color-charcoal);--sbb-selection-panel-border-width: var(--sbb-border-width-2x)}:host([data-slot-names~=content][data-disabled]){--sbb-selection-panel-input-pointer-events: none;--sbb-selection-panel-border-color: var(--sbb-color-cloud)}:host([data-disabled]){--sbb-selection-panel-cursor: default}:host([borderless]:not([data-checked])){--sbb-selection-panel-border-color: transparent}:host([data-resize-disable-animation]){--sbb-disable-animation-time: .1ms;--sbb-disable-animation-zero-time: 0s}:host([data-slot-names~=content]:where([data-state=opening],[data-state=opened])){--sbb-selection-panel-input-padding: var(--sbb-spacing-responsive-xs) var(--sbb-spacing-responsive-xxs) var(--sbb-spacing-responsive-xxs) var(--sbb-spacing-responsive-xxs);--sbb-selection-panel-content-visibility: visible;--sbb-selection-panel-content-grid-template-rows: 1fr;--sbb-selection-panel-content-opacity: 1;--sbb-selection-panel-content-padding-block-end: var(--sbb-spacing-responsive-xs);--sbb-selection-panel-content-transition: grid-template-rows var(--sbb-selection-panel-animation-duration) var(--sbb-animation-easing), opacity var(--sbb-selection-panel-animation-duration) var(--sbb-selection-panel-animation-duration) var(--sbb-animation-easing)}.sbb-selection-panel{flex:auto;position:relative;width:100%;background-color:var(--sbb-selection-panel-background);border-radius:var(--sbb-selection-panel-border-radius);box-shadow:inset 0 0 0 var(--sbb-selection-panel-border-width) var(--sbb-selection-panel-border-color);transition-duration:var(--sbb-selection-panel-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:box-shadow}@media (forced-colors: active){.sbb-selection-panel:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:var(--sbb-selection-panel-border-width) solid var(--sbb-selection-panel-border-color);border-radius:var(--sbb-selection-panel-border-radius)}}.sbb-selection-panel__badge{-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--sbb-selection-panel-border-radius);overflow:hidden}.sbb-selection-panel__content--wrapper{display:grid;visibility:var(--sbb-selection-panel-content-visibility);grid-template-rows:0fr;opacity:0}:host([data-state=opened]) .sbb-selection-panel__content--wrapper{grid-template-rows:1fr;opacity:1}:host([data-state=opening]) .sbb-selection-panel__content--wrapper{animation-name:open,open-opacity;animation-fill-mode:forwards;animation-duration:var(--sbb-selection-panel-animation-duration);animation-timing-function:var(--sbb-animation-easing);animation-delay:0s,var(--sbb-selection-panel-animation-duration)}:host([data-state=closing]) .sbb-selection-panel__content--wrapper{animation-name:close;animation-duration:var(--sbb-selection-panel-animation-duration);animation-timing-function:var(--sbb-animation-easing)}:host(:not([data-slot-names~=content])) .sbb-selection-panel__content--wrapper{display:none}.sbb-selection-panel__content{overflow:hidden;padding-inline:var(--sbb-selection-panel-content-padding-inline);padding-block-end:var(--sbb-selection-panel-content-padding-block-end);transition:padding var(--sbb-selection-panel-animation-duration) var(--sbb-animation-easing)}sbb-divider{margin-block-end:var(--sbb-spacing-responsive-xxs)}::slotted(sbb-radio-button),::slotted(sbb-checkbox){cursor:var(--sbb-selection-panel-cursor);pointer-events:var(--sbb-selection-panel-input-pointer-events);display:block;padding:var(--sbb-selection-panel-input-padding);transition-duration:var(--sbb-selection-panel-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:padding}@keyframes open{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}@keyframes open-opacity{0%{opacity:0}to{opacity:1}}@keyframes close{0%{grid-template-rows:1fr;opacity:1}to{grid-template-rows:0fr;opacity:0}}`;
7
- var w = Object.defineProperty, y = Object.getOwnPropertyDescriptor, s = (e, n, r, o) => {
8
- for (var i = o > 1 ? void 0 : o ? y(n, r) : n, l = e.length - 1, b; l >= 0; l--)
9
- (b = e[l]) && (i = (o ? b(n, r, i) : b(i)) || i);
10
- return o && i && w(n, r, i), i;
6
+ const g = p`*,:before,:after{box-sizing:border-box}:host{--sbb-selection-panel-cursor: pointer;--sbb-selection-panel-background: var(--sbb-color-white);--sbb-selection-panel-border-color: var(--sbb-color-cloud);--sbb-selection-panel-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-4x) );--sbb-selection-panel-border-width: var(--sbb-border-width-1x);--sbb-selection-panel-input-pointer-events: all;--sbb-selection-panel-input-padding: var(--sbb-spacing-responsive-xs) var(--sbb-spacing-responsive-xxs);--sbb-selection-panel-content-visibility: hidden;--sbb-selection-panel-content-padding-inline: var(--sbb-spacing-responsive-xxs);--sbb-selection-panel-border-radius: var(--sbb-border-radius-4x);--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);display:contents}:host([color=milk]){--sbb-selection-panel-background: var(--sbb-color-milk)}:host([data-checked]:not([data-disabled])){--sbb-selection-panel-border-color: var(--sbb-color-charcoal);--sbb-selection-panel-border-width: var(--sbb-border-width-2x)}:host([data-slot-names~=content][data-disabled]){--sbb-selection-panel-input-pointer-events: none;--sbb-selection-panel-border-color: var(--sbb-color-cloud)}:host([data-disabled]){--sbb-selection-panel-cursor: default}:host([borderless]:not([data-checked])){--sbb-selection-panel-border-color: transparent}:host([data-resize-disable-animation]){--sbb-disable-animation-time: .1ms;--sbb-disable-animation-zero-time: 0s}:host([data-slot-names~=content]:where([data-state=opening],[data-state=opened])){--sbb-selection-panel-input-padding: var(--sbb-spacing-responsive-xs) var(--sbb-spacing-responsive-xxs) var(--sbb-spacing-responsive-xxs) var(--sbb-spacing-responsive-xxs);--sbb-selection-panel-content-visibility: visible;--sbb-selection-panel-content-grid-template-rows: 1fr;--sbb-selection-panel-content-opacity: 1;--sbb-selection-panel-content-padding-block-end: var(--sbb-spacing-responsive-xs);--sbb-selection-panel-content-transition: grid-template-rows var(--sbb-selection-panel-animation-duration) var(--sbb-animation-easing), opacity var(--sbb-selection-panel-animation-duration) var(--sbb-selection-panel-animation-duration) var(--sbb-animation-easing)}.sbb-selection-panel{flex:auto;position:relative;width:100%;background-color:var(--sbb-selection-panel-background);border-radius:var(--sbb-selection-panel-border-radius);box-shadow:inset 0 0 0 var(--sbb-selection-panel-border-width) var(--sbb-selection-panel-border-color);transition-duration:var(--sbb-selection-panel-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:box-shadow}@media (forced-colors: active){.sbb-selection-panel:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:var(--sbb-selection-panel-border-width) solid var(--sbb-selection-panel-border-color);border-radius:var(--sbb-selection-panel-border-radius)}}.sbb-selection-panel__badge{-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--sbb-selection-panel-border-radius);overflow:hidden}.sbb-selection-panel__content--wrapper{display:grid;visibility:var(--sbb-selection-panel-content-visibility);grid-template-rows:0fr;opacity:0}:host([data-state=opened]) .sbb-selection-panel__content--wrapper{grid-template-rows:1fr;opacity:1}:host([data-state=opening]) .sbb-selection-panel__content--wrapper{animation-name:open,open-opacity;animation-fill-mode:forwards;animation-duration:var(--sbb-selection-panel-animation-duration);animation-timing-function:var(--sbb-animation-easing);animation-delay:0s,var(--sbb-selection-panel-animation-duration)}:host([data-state=closing]) .sbb-selection-panel__content--wrapper{animation-name:close;animation-duration:var(--sbb-selection-panel-animation-duration);animation-timing-function:var(--sbb-animation-easing)}:host(:not([data-slot-names~=content])) .sbb-selection-panel__content--wrapper{display:none}.sbb-selection-panel__content{overflow:hidden;padding-inline:var(--sbb-selection-panel-content-padding-inline);padding-block-end:var(--sbb-selection-panel-content-padding-block-end);transition:padding var(--sbb-selection-panel-animation-duration) var(--sbb-animation-easing)}sbb-divider{margin-block-end:var(--sbb-spacing-responsive-xxs)}::slotted(sbb-radio-button),::slotted(sbb-checkbox){cursor:var(--sbb-selection-panel-cursor);pointer-events:var(--sbb-selection-panel-input-pointer-events);display:block;padding:var(--sbb-selection-panel-input-padding);transition-duration:var(--sbb-selection-panel-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:padding}@keyframes open{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}@keyframes open-opacity{0%{opacity:0}to{opacity:1}}@keyframes close{0%{grid-template-rows:1fr;opacity:1}to{grid-template-rows:0fr;opacity:0}}`;
7
+ var f = Object.defineProperty, w = Object.getOwnPropertyDescriptor, s = (e, n, r, a) => {
8
+ for (var i = a > 1 ? void 0 : a ? w(n, r) : n, l = e.length - 1, b; l >= 0; l--)
9
+ (b = e[l]) && (i = (a ? b(n, r, i) : b(i)) || i);
10
+ return a && i && f(n, r, i), i;
11
11
  };
12
- let t = class extends p {
12
+ let t = class extends c {
13
13
  constructor() {
14
- super(), this.color = "white", this.forceOpen = !1, this.borderless = !1, this.h = new a(
14
+ super(), this.color = "white", this.forceOpen = !1, this.borderless = !1, this._willOpen = new o(
15
15
  this,
16
16
  t.events.willOpen
17
- ), this.e = new a(
17
+ ), this._didOpen = new o(
18
18
  this,
19
19
  t.events.didOpen
20
- ), this.i = new a(
20
+ ), this._willClose = new o(
21
21
  this,
22
22
  t.events.willClose
23
- ), this.j = new a(
23
+ ), this._didClose = new o(
24
24
  this,
25
25
  t.events.didClose
26
- ), this.k = new u(this), this.f = !1, new g(this);
26
+ ), this._abort = new m(this), this._initialized = !1, new _(this);
27
27
  }
28
- set a(e) {
28
+ set _state(e) {
29
29
  this.setAttribute("data-state", e);
30
30
  }
31
- get a() {
31
+ get _state() {
32
32
  return this.getAttribute("data-state");
33
33
  }
34
34
  /** Whether the selection panel is checked. */
35
- set b(e) {
35
+ set _checked(e) {
36
36
  this.toggleAttribute("data-checked", e);
37
37
  }
38
- get b() {
38
+ get _checked() {
39
39
  return this.hasAttribute("data-checked");
40
40
  }
41
41
  /** Whether the selection panel is disabled. */
42
- set d(e) {
42
+ set _disabled(e) {
43
43
  this.toggleAttribute("data-disabled", e);
44
44
  }
45
45
  /**
@@ -51,41 +51,41 @@ let t = class extends p {
51
51
  return ((e = this.querySelectorAll) == null ? void 0 : e.call(this, '[slot="content"]').length) > 0;
52
52
  }
53
53
  connectedCallback() {
54
- super.connectedCallback(), this.a || (this.a = "closed");
55
- const e = this.k.signal;
56
- this.addEventListener("stateChange", this.l.bind(this), { signal: e }), this.addEventListener("checkboxLoaded", this.g.bind(this), { signal: e }), this.addEventListener("radioButtonLoaded", this.g.bind(this), { signal: e });
54
+ super.connectedCallback(), this._state || (this._state = "closed");
55
+ const e = this._abort.signal;
56
+ this.addEventListener("stateChange", this._onInputStateChange.bind(this), { signal: e }), this.addEventListener("checkboxLoaded", this._initFromInput.bind(this), { signal: e }), this.addEventListener("radioButtonLoaded", this._initFromInput.bind(this), { signal: e });
57
57
  }
58
58
  willUpdate(e) {
59
- super.willUpdate(e), e.has("forceOpen") && this.c();
59
+ super.willUpdate(e), e.has("forceOpen") && this._updateState();
60
60
  }
61
61
  firstUpdated(e) {
62
- super.firstUpdated(e), this.f = !0;
62
+ super.firstUpdated(e), this._initialized = !0;
63
63
  }
64
- c() {
65
- this.hasContent && (this.forceOpen || this.b ? this.m(!this.f) : this.n());
64
+ _updateState() {
65
+ this.hasContent && (this.forceOpen || this._checked ? this._open(!this._initialized) : this._close());
66
66
  }
67
- m(e = !1) {
68
- this.a !== "closed" && this.a !== "closing" || (this.a = "opening", this.h.emit(), e && (this.a = "opened", this.e.emit()));
67
+ _open(e = !1) {
68
+ this._state !== "closed" && this._state !== "closing" || (this._state = "opening", this._willOpen.emit(), e && (this._state = "opened", this._didOpen.emit()));
69
69
  }
70
- n() {
71
- this.a !== "opened" && this.a !== "opening" || (this.a = "closing", this.i.emit());
70
+ _close() {
71
+ this._state !== "opened" && this._state !== "opening" || (this._state = "closing", this._willClose.emit());
72
72
  }
73
- g(e) {
73
+ _initFromInput(e) {
74
74
  const n = e.target;
75
- n.isSelectionPanelInput && (this.b = n.checked, this.d = n.disabled, this.c());
75
+ n.isSelectionPanelInput && (this._checked = n.checked, this._disabled = n.disabled, this._updateState());
76
76
  }
77
- l(e) {
77
+ _onInputStateChange(e) {
78
78
  if (e.target.isSelectionPanelInput) {
79
79
  if (e.detail.type === "disabled") {
80
- this.d = e.detail.disabled;
80
+ this._disabled = e.detail.disabled;
81
81
  return;
82
82
  } else if (e.detail.type !== "checked")
83
83
  return;
84
- this.b = e.detail.checked, this.c();
84
+ this._checked = e.detail.checked, this._updateState();
85
85
  }
86
86
  }
87
- o(e) {
88
- e.animationName === "open-opacity" && this.a === "opening" ? (this.a = "opened", this.e.emit()) : e.animationName === "close" && this.a === "closing" && (this.a = "closed", this.j.emit());
87
+ _onAnimationEnd(e) {
88
+ e.animationName === "open-opacity" && this._state === "opening" ? (this._state = "opened", this._didOpen.emit()) : e.animationName === "close" && this._state === "closing" && (this._state = "closed", this._didClose.emit());
89
89
  }
90
90
  render() {
91
91
  return h`
@@ -99,8 +99,8 @@ let t = class extends p {
99
99
  </div>
100
100
  <div
101
101
  class="sbb-selection-panel__content--wrapper"
102
- .inert=${this.a !== "opened"}
103
- @animationend=${(e) => this.o(e)}
102
+ .inert=${this._state !== "opened"}
103
+ @animationend=${(e) => this._onAnimationEnd(e)}
104
104
  >
105
105
  <div class="sbb-selection-panel__content">
106
106
  <sbb-divider></sbb-divider>
@@ -111,7 +111,7 @@ let t = class extends p {
111
111
  `;
112
112
  }
113
113
  };
114
- t.styles = f;
114
+ t.styles = g;
115
115
  t.events = {
116
116
  willOpen: "willOpen",
117
117
  didOpen: "didOpen",
@@ -128,10 +128,10 @@ s([
128
128
  d({ reflect: !0, type: Boolean })
129
129
  ], t.prototype, "borderless", 2);
130
130
  s([
131
- v()
132
- ], t.prototype, "a", 1);
131
+ u()
132
+ ], t.prototype, "_state", 1);
133
133
  t = s([
134
- m("sbb-selection-panel")
134
+ v("sbb-selection-panel")
135
135
  ], t);
136
136
  export {
137
137
  t as SbbSelectionPanelElement
package/slider.js CHANGED
@@ -1,35 +1,35 @@
1
- import { css as v, LitElement as u, html as c, nothing as a } from "lit";
2
- import { property as o, state as m, customElement as p } from "lit/decorators.js";
1
+ import { css as u, LitElement as v, html as c, nothing as b } from "lit";
2
+ import { property as t, state as m, customElement as p } from "lit/decorators.js";
3
3
  import { ref as f } from "lit/directives/ref.js";
4
- import { styleMap as y } from "lit/directives/style-map.js";
5
- import { SbbConnectedAbortController as w } from "./core/controllers.js";
6
- import { hostAttributes as g } from "./core/decorators.js";
4
+ import { styleMap as _ } from "lit/directives/style-map.js";
5
+ import { SbbConnectedAbortController as g } from "./core/controllers.js";
6
+ import { hostAttributes as y } from "./core/decorators.js";
7
7
  import { setOrRemoveAttribute as n } from "./core/dom.js";
8
- import { EventEmitter as k, forwardEventToHost as _ } from "./core/eventing.js";
8
+ import { EventEmitter as w, forwardEventToHost as k } from "./core/eventing.js";
9
9
  import { SbbDisabledTabIndexActionMixin as x } from "./core/mixins.js";
10
10
  import "./icon.js";
11
- const A = v`@charset "UTF-8";*,:before,:after{box-sizing:border-box}:host{--sbb-slider-line-height: .25rem;--sbb-slider-value-fraction: 0;--sbb-slider-knob-size: 1.75rem;--sbb-slider-knob-size-active: 1.9375rem;--sbb-slider-knob-border-size: .1875rem;--sbb-slider-knob-border-style: solid;--sbb-slider-knob-color: var(--sbb-color-white);--sbb-slider-knob-border-color: var(--sbb-color-red);--sbb-slider-icon-color: var(--sbb-color-black);--sbb-slider-selected-line-color: var(--sbb-color-red);--sbb-slider-selected-line-disabled-color: var(--sbb-color-smoke);--sbb-slider-line-color: var(--sbb-color-smoke);--sbb-slider-line-disabled-color: var(--sbb-color-graphite);outline:none!important;display:inline-block;min-width:9.375rem;width:min(25rem,100%)}@media (forced-colors: active){:host{--sbb-slider-selected-line-color: Highlight;--sbb-slider-line-color: CanvasText}}:host([disabled]){--sbb-slider-icon-color: var(--sbb-color-graphite);--sbb-slider-knob-border-color: var(--sbb-color-smoke);--sbb-slider-knob-border-size: var(--sbb-border-width-2x);--sbb-slider-knob-border-style: dashed}:host([readonly]){--sbb-slider-icon-color: var(--sbb-color-smoke);--sbb-slider-knob-border-color: var(--sbb-slider-selected-line-disabled-color)}:host([disabled]),:host([readonly]){--sbb-slider-line-color: var(--sbb-slider-line-disabled-color);--sbb-slider-selected-line-color: var(--sbb-slider-selected-line-disabled-color)}@media (forced-colors: active){:host([disabled]),:host([readonly]){--sbb-slider-icon-color: GrayText;--sbb-slider-selected-line-disabled-color: GrayText;--sbb-slider-line-disabled-color: GrayText}}.sbb-slider__height-container{display:flex;flex-direction:column}.sbb-slider__height-container:before{content:"​";-webkit-user-select:none;user-select:none;width:0;height:0}.sbb-slider__wrapper{display:flex;gap:var(--sbb-spacing-fixed-2x);padding-block:calc(var(--sbb-spacing-fixed-1x) / 2);color:var(--sbb-slider-icon-color)}.sbb-slider__container{position:relative;min-height:var(--sbb-size-icon-ui-small);flex-grow:1}.sbb-slider__range-input{position:absolute;width:100%;top:0;right:0;bottom:0;left:0;opacity:0;margin:0}.sbb-slider__line{position:absolute;top:50%;transform:translateY(-50%);height:var(--sbb-slider-line-height);width:100%;background-color:var(--sbb-slider-line-color);border-radius:var(--sbb-slider-line-height);overflow:hidden;pointer-events:none}.sbb-slider__selected-line{position:relative;height:100%;background-color:var(--sbb-slider-selected-line-color);width:calc(var(--sbb-slider-value-fraction) * 100%)}.sbb-slider__knob{position:absolute;top:50%;transform:translateY(-50%);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-elevation-level-5-hard-2-color),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-elevation-level-5-hard-1-color);width:var(--sbb-slider-knob-size);height:var(--sbb-slider-knob-size);inset-inline-start:calc(var(--sbb-slider-value-fraction) * 100% - var(--sbb-slider-knob-size) * var(--sbb-slider-value-fraction));transition-property:width,height;transition-duration:var(--sbb-disable-animation-zero-time, var(--sbb-animation-duration-1x));transition-timing-function:ease-in;background-color:var(--sbb-slider-knob-color);border:var(--sbb-slider-knob-border-size) var(--sbb-slider-knob-border-style) var(--sbb-slider-knob-border-color);border-radius:50%;pointer-events:none}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])) .sbb-slider__knob{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);--sbb-slider-knob-size: var(--sbb-slider-knob-size-active)}:host(:not(:is([disabled],[readonly]))) .sbb-slider__range-input:active~.sbb-slider__knob{--sbb-slider-knob-size: var(--sbb-slider-knob-size-active)}`;
12
- var z = Object.defineProperty, N = Object.getOwnPropertyDescriptor, r = (e, t, l, b) => {
13
- for (var i = b > 1 ? void 0 : b ? N(t, l) : t, d = e.length - 1, h; d >= 0; d--)
14
- (h = e[d]) && (i = (b ? h(t, l, i) : h(i)) || i);
15
- return b && i && z(t, l, i), i;
11
+ const I = u`@charset "UTF-8";*,:before,:after{box-sizing:border-box}:host{--sbb-slider-line-height: .25rem;--sbb-slider-value-fraction: 0;--sbb-slider-knob-size: 1.75rem;--sbb-slider-knob-size-active: 1.9375rem;--sbb-slider-knob-border-size: .1875rem;--sbb-slider-knob-border-style: solid;--sbb-slider-knob-color: var(--sbb-color-white);--sbb-slider-knob-border-color: var(--sbb-color-red);--sbb-slider-icon-color: var(--sbb-color-black);--sbb-slider-selected-line-color: var(--sbb-color-red);--sbb-slider-selected-line-disabled-color: var(--sbb-color-smoke);--sbb-slider-line-color: var(--sbb-color-smoke);--sbb-slider-line-disabled-color: var(--sbb-color-graphite);outline:none!important;display:inline-block;min-width:9.375rem;width:min(25rem,100%)}@media (forced-colors: active){:host{--sbb-slider-selected-line-color: Highlight;--sbb-slider-line-color: CanvasText}}:host([disabled]){--sbb-slider-icon-color: var(--sbb-color-graphite);--sbb-slider-knob-border-color: var(--sbb-color-smoke);--sbb-slider-knob-border-size: var(--sbb-border-width-2x);--sbb-slider-knob-border-style: dashed}:host([readonly]){--sbb-slider-icon-color: var(--sbb-color-smoke);--sbb-slider-knob-border-color: var(--sbb-slider-selected-line-disabled-color)}:host([disabled]),:host([readonly]){--sbb-slider-line-color: var(--sbb-slider-line-disabled-color);--sbb-slider-selected-line-color: var(--sbb-slider-selected-line-disabled-color)}@media (forced-colors: active){:host([disabled]),:host([readonly]){--sbb-slider-icon-color: GrayText;--sbb-slider-selected-line-disabled-color: GrayText;--sbb-slider-line-disabled-color: GrayText}}.sbb-slider__height-container{display:flex;flex-direction:column}.sbb-slider__height-container:before{content:"​";-webkit-user-select:none;user-select:none;width:0;height:0}.sbb-slider__wrapper{display:flex;gap:var(--sbb-spacing-fixed-2x);padding-block:calc(var(--sbb-spacing-fixed-1x) / 2);color:var(--sbb-slider-icon-color)}.sbb-slider__container{position:relative;min-height:var(--sbb-size-icon-ui-small);flex-grow:1}.sbb-slider__range-input{position:absolute;width:100%;top:0;right:0;bottom:0;left:0;opacity:0;margin:0}.sbb-slider__line{position:absolute;top:50%;transform:translateY(-50%);height:var(--sbb-slider-line-height);width:100%;background-color:var(--sbb-slider-line-color);border-radius:var(--sbb-slider-line-height);overflow:hidden;pointer-events:none}.sbb-slider__selected-line{position:relative;height:100%;background-color:var(--sbb-slider-selected-line-color);width:calc(var(--sbb-slider-value-fraction) * 100%)}.sbb-slider__knob{position:absolute;top:50%;transform:translateY(-50%);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-elevation-level-5-hard-2-color),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-elevation-level-5-hard-1-color);width:var(--sbb-slider-knob-size);height:var(--sbb-slider-knob-size);inset-inline-start:calc(var(--sbb-slider-value-fraction) * 100% - var(--sbb-slider-knob-size) * var(--sbb-slider-value-fraction));transition-property:width,height;transition-duration:var(--sbb-disable-animation-zero-time, var(--sbb-animation-duration-1x));transition-timing-function:ease-in;background-color:var(--sbb-slider-knob-color);border:var(--sbb-slider-knob-border-size) var(--sbb-slider-knob-border-style) var(--sbb-slider-knob-border-color);border-radius:50%;pointer-events:none}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])) .sbb-slider__knob{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);--sbb-slider-knob-size: var(--sbb-slider-knob-size-active)}:host(:not(:is([disabled],[readonly]))) .sbb-slider__range-input:active~.sbb-slider__knob{--sbb-slider-knob-size: var(--sbb-slider-knob-size-active)}`;
12
+ var C = Object.defineProperty, A = Object.getOwnPropertyDescriptor, r = (e, o, l, a) => {
13
+ for (var i = a > 1 ? void 0 : a ? A(o, l) : o, d = e.length - 1, h; d >= 0; d--)
14
+ (h = e[d]) && (i = (a ? h(o, l, i) : h(i)) || i);
15
+ return a && i && C(o, l, i), i;
16
16
  };
17
- let s = class extends x(u) {
17
+ let s = class extends x(v) {
18
18
  constructor() {
19
- super(...arguments), this.value = "", this.name = "", this.min = "0", this.max = "100", this.readonly = !1, this.c = 0, this.e = new k(this, s.events.didChange, {
19
+ super(...arguments), this.value = "", this.name = "", this.min = "0", this.max = "100", this.readonly = !1, this._valueFraction = 0, this._didChange = new w(this, s.events.didChange, {
20
20
  bubbles: !0,
21
21
  cancelable: !0
22
- }), this.f = new w(this);
22
+ }), this._abort = new g(this);
23
23
  }
24
24
  connectedCallback() {
25
25
  super.connectedCallback();
26
- const e = this.f.signal;
27
- this.addEventListener("keydown", (t) => this.g(t), { signal: e }), this.b();
26
+ const e = this._abort.signal;
27
+ this.addEventListener("keydown", (o) => this._handleKeydown(o), { signal: e }), this._handleChange();
28
28
  }
29
29
  willUpdate(e) {
30
- super.willUpdate(e), e.has("value") ? this.b(Number(this.value)) : e.has("valueAsNumber") && this.b(Number(this.valueAsNumber)), e.has("min") && n(this, "aria-valuemin", this.min ?? null), e.has("max") && n(this, "aria-valuemax", this.max ?? null), e.has("readonly") && n(this, "aria-readonly", this.readonly ? "true" : null);
30
+ super.willUpdate(e), e.has("value") ? this._handleChange(Number(this.value)) : e.has("valueAsNumber") && this._handleChange(Number(this.valueAsNumber)), e.has("min") && n(this, "aria-valuemin", this.min ?? null), e.has("max") && n(this, "aria-valuemax", this.max ?? null), e.has("readonly") && n(this, "aria-readonly", this.readonly ? "true" : null);
31
31
  }
32
- h(e) {
32
+ _syncValues(e) {
33
33
  e != null && (e && typeof e != "number" && (e = +e), this.value = e.toString(), this.valueAsNumber = e, n(this, "aria-valuenow", this.value || null));
34
34
  }
35
35
  /**
@@ -38,61 +38,61 @@ let s = class extends x(u) {
38
38
  * the `min` and `max` values are used; if `value` is not provided, the default value is halfway between min and max
39
39
  * (see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range#value).
40
40
  */
41
- b(e = ((t) => (t = this.a) == null ? void 0 : t.valueAsNumber)()) {
42
- let l, b;
43
- this.a ? (l = +this.a.min, b = +this.a.max) : (l = +this.min, b = +this.max, e = this.value && this.value !== "" ? +this.value : this.valueAsNumber ? this.valueAsNumber : +this.min + (+this.max - +this.min) / 2);
44
- const i = (e - l) / (b - l);
45
- this.c = isNaN(i) || i < 0 ? 0 : i > 1 ? 1 : i, this.h(e);
41
+ _handleChange(e = ((o) => (o = this._rangeInput) == null ? void 0 : o.valueAsNumber)()) {
42
+ let l, a;
43
+ this._rangeInput ? (l = +this._rangeInput.min, a = +this._rangeInput.max) : (l = +this.min, a = +this.max, e = this.value && this.value !== "" ? +this.value : this.valueAsNumber ? this.valueAsNumber : +this.min + (+this.max - +this.min) / 2);
44
+ const i = (e - l) / (a - l);
45
+ this._valueFraction = isNaN(i) || i < 0 ? 0 : i > 1 ? 1 : i, this._syncValues(e);
46
46
  }
47
- async g(e) {
47
+ async _handleKeydown(e) {
48
48
  if (e.key !== "Tab" && e.preventDefault(), !(this.disabled || this.readonly)) {
49
49
  if (e.key === "Home")
50
- this.a.value = this.a.min;
50
+ this._rangeInput.value = this._rangeInput.min;
51
51
  else if (e.key === "End")
52
- this.a.value = this.a.max;
52
+ this._rangeInput.value = this._rangeInput.max;
53
53
  else if (e.key === "ArrowLeft" || e.key === "ArrowDown")
54
- this.a.stepDown();
54
+ this._rangeInput.stepDown();
55
55
  else if (e.key === "ArrowRight" || e.key === "ArrowUp")
56
- this.a.stepUp();
56
+ this._rangeInput.stepUp();
57
57
  else if (e.key === "PageDown")
58
- this.a.stepDown((+this.a.max - +this.a.min) / 10);
58
+ this._rangeInput.stepDown((+this._rangeInput.max - +this._rangeInput.min) / 10);
59
59
  else if (e.key === "PageUp")
60
- this.a.stepUp((+this.a.max - +this.a.min) / 10);
60
+ this._rangeInput.stepUp((+this._rangeInput.max - +this._rangeInput.min) / 10);
61
61
  else
62
62
  return;
63
- this.b(), this.dispatchEvent(
63
+ this._handleChange(), this.dispatchEvent(
64
64
  new InputEvent("input", { bubbles: !0, cancelable: !0, composed: !0 })
65
- ), this.d(new Event("change", { bubbles: !0, cancelable: !0, composed: !0 }));
65
+ ), this._emitChange(new Event("change", { bubbles: !0, cancelable: !0, composed: !0 }));
66
66
  }
67
67
  }
68
68
  /** Emits the change event. */
69
- d(e) {
70
- _(e, this), this.e.emit();
69
+ _emitChange(e) {
70
+ k(e, this), this._didChange.emit();
71
71
  }
72
72
  render() {
73
73
  return c`
74
74
  <div class="sbb-slider__height-container">
75
75
  <div class="sbb-slider__wrapper">
76
76
  <slot name="prefix">
77
- ${this.startIcon ? c`<sbb-icon name="${this.startIcon}"></sbb-icon>` : a}
77
+ ${this.startIcon ? c`<sbb-icon name="${this.startIcon}"></sbb-icon>` : b}
78
78
  </slot>
79
79
  <div
80
80
  class="sbb-slider__container"
81
- style=${y({ "--sbb-slider-value-fraction": this.c.toString() })}
81
+ style=${_({ "--sbb-slider-value-fraction": this._valueFraction.toString() })}
82
82
  >
83
83
  <input
84
84
  tabindex="-1"
85
- name=${this.name || a}
86
- min=${this.min || a}
87
- max=${this.max || a}
88
- ?disabled=${this.disabled || this.readonly || a}
89
- .valueAsNumber=${this.valueAsNumber || a}
90
- value=${this.value || a}
85
+ name=${this.name || b}
86
+ min=${this.min || b}
87
+ max=${this.max || b}
88
+ ?disabled=${this.disabled || this.readonly || b}
89
+ .valueAsNumber=${this.valueAsNumber || b}
90
+ value=${this.value || b}
91
91
  class="sbb-slider__range-input"
92
92
  type="range"
93
- @change=${(e) => this.d(e)}
94
- @input=${() => this.b()}
95
- ${f((e) => this.a = e)}
93
+ @change=${(e) => this._emitChange(e)}
94
+ @input=${() => this._handleChange()}
95
+ ${f((e) => this._rangeInput = e)}
96
96
  />
97
97
  <div class="sbb-slider__line">
98
98
  <div class="sbb-slider__selected-line"></div>
@@ -100,50 +100,50 @@ let s = class extends x(u) {
100
100
  <div class="sbb-slider__knob"></div>
101
101
  </div>
102
102
  <slot name="suffix">
103
- ${this.endIcon ? c`<sbb-icon name="${this.endIcon}"></sbb-icon>` : a}
103
+ ${this.endIcon ? c`<sbb-icon name="${this.endIcon}"></sbb-icon>` : b}
104
104
  </slot>
105
105
  </div>
106
106
  </div>
107
107
  `;
108
108
  }
109
109
  };
110
- s.styles = A;
110
+ s.styles = I;
111
111
  s.events = {
112
112
  didChange: "didChange"
113
113
  };
114
114
  r([
115
- o()
115
+ t()
116
116
  ], s.prototype, "value", 2);
117
117
  r([
118
- o({ attribute: "value-as-number", type: Number })
118
+ t({ attribute: "value-as-number", type: Number })
119
119
  ], s.prototype, "valueAsNumber", 2);
120
120
  r([
121
- o({ reflect: !0 })
121
+ t({ reflect: !0 })
122
122
  ], s.prototype, "name", 2);
123
123
  r([
124
- o()
124
+ t()
125
125
  ], s.prototype, "form", 2);
126
126
  r([
127
- o()
127
+ t()
128
128
  ], s.prototype, "min", 2);
129
129
  r([
130
- o()
130
+ t()
131
131
  ], s.prototype, "max", 2);
132
132
  r([
133
- o({ type: Boolean })
133
+ t({ type: Boolean })
134
134
  ], s.prototype, "readonly", 2);
135
135
  r([
136
- o({ attribute: "start-icon" })
136
+ t({ attribute: "start-icon" })
137
137
  ], s.prototype, "startIcon", 2);
138
138
  r([
139
- o({ attribute: "end-icon" })
139
+ t({ attribute: "end-icon" })
140
140
  ], s.prototype, "endIcon", 2);
141
141
  r([
142
142
  m()
143
- ], s.prototype, "c", 2);
143
+ ], s.prototype, "_valueFraction", 2);
144
144
  s = r([
145
145
  p("sbb-slider"),
146
- g({
146
+ y({
147
147
  role: "slider"
148
148
  })
149
149
  ], s);
package/status.js CHANGED
@@ -3,15 +3,15 @@ import { property as i, customElement as v } from "lit/decorators.js";
3
3
  import { SbbSlotStateController as m } from "./core/controllers.js";
4
4
  import { SbbIconNameMixin as f } from "./icon.js";
5
5
  import "./title.js";
6
- const h = p`*,:before,:after{box-sizing:border-box}:host{--sbb-status-gap: var(--sbb-spacing-fixed-1x);--sbb-status-icon-color: var(--sbb-color-iron);--sbb-status-text-color: var(--sbb-color-iron);--_sbb-status-icon-font-size: var(--sbb-font-size-text-s);display:block}:host([type=error]){--sbb-status-text-color: var(--sbb-color-red125)}:host(:is([type=error],[type=error]:is([data-slot-names~=title],[title-content]))){--sbb-status-icon-color: var(--sbb-color-red125)}:host([type=success]){--sbb-status-text-color: var(--sbb-color-green)}:host(:is([type=success],[type=success]:is([data-slot-names~=title],[title-content]))){--sbb-status-icon-color: var(--sbb-color-green)}:host([type=warning]){--sbb-status-icon-color: var(--sbb-color-charcoal);--sbb-status-text-color: var(--sbb-color-charcoal)}:host(:is([data-slot-names~=title],[title-content])){--sbb-status-text-color: var(--sbb-color-granite);--sbb-status-icon-color: var(--sbb-color-charcoal);--sbb-status-gap: var(--sbb-spacing-responsive-xxxs);--_sbb-status-icon-font-size: var(--sbb-font-size-title-5)}.sbb-status{--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);display:flex;gap:var(--sbb-status-gap);color:var(--sbb-status-text-color)}.sbb-status__icon{display:flex;flex-shrink:0;color:var(--sbb-status-icon-color);margin-block-start:calc((var(--_sbb-status-icon-font-size) * var(--sbb-typo-line-height-body-text) - var(--sbb-size-icon-ui-small)) / 2)}.sbb-status__title{margin-block:0}:host(:not(:is([data-slot-names~=title],[title-content]))) .sbb-status__title{display:none}.sbb-status__content-slot{display:inline;margin:0;padding:0}`;
7
- var y = Object.defineProperty, x = Object.getOwnPropertyDescriptor, r = (n, e, b, o) => {
6
+ const y = p`*,:before,:after{box-sizing:border-box}:host{--sbb-status-gap: var(--sbb-spacing-fixed-1x);--sbb-status-icon-color: var(--sbb-color-iron);--sbb-status-text-color: var(--sbb-color-iron);--_sbb-status-icon-font-size: var(--sbb-font-size-text-s);display:block}:host([type=error]){--sbb-status-text-color: var(--sbb-color-red125)}:host(:is([type=error],[type=error]:is([data-slot-names~=title],[title-content]))){--sbb-status-icon-color: var(--sbb-color-red125)}:host([type=success]){--sbb-status-text-color: var(--sbb-color-green)}:host(:is([type=success],[type=success]:is([data-slot-names~=title],[title-content]))){--sbb-status-icon-color: var(--sbb-color-green)}:host([type=warning]){--sbb-status-icon-color: var(--sbb-color-charcoal);--sbb-status-text-color: var(--sbb-color-charcoal)}:host(:is([data-slot-names~=title],[title-content])){--sbb-status-text-color: var(--sbb-color-granite);--sbb-status-icon-color: var(--sbb-color-charcoal);--sbb-status-gap: var(--sbb-spacing-responsive-xxxs);--_sbb-status-icon-font-size: var(--sbb-font-size-title-5)}.sbb-status{--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);display:flex;gap:var(--sbb-status-gap);color:var(--sbb-status-text-color)}.sbb-status__icon{display:flex;flex-shrink:0;color:var(--sbb-status-icon-color);margin-block-start:calc((var(--_sbb-status-icon-font-size) * var(--sbb-typo-line-height-body-text) - var(--sbb-size-icon-ui-small)) / 2)}.sbb-status__title{margin-block:0}:host(:not(:is([data-slot-names~=title],[title-content]))) .sbb-status__title{display:none}.sbb-status__content-slot{display:inline;margin:0;padding:0}`;
7
+ var h = Object.defineProperty, x = Object.getOwnPropertyDescriptor, r = (n, e, b, o) => {
8
8
  for (var t = o > 1 ? void 0 : o ? x(e, b) : e, a = n.length - 1, l; a >= 0; a--)
9
9
  (l = n[a]) && (t = (o ? l(e, b, t) : l(t)) || t);
10
- return o && t && y(e, b, t), t;
10
+ return o && t && h(e, b, t), t;
11
11
  };
12
12
  let s = class extends f(u) {
13
13
  constructor() {
14
- super(), this.a = /* @__PURE__ */ new Map([
14
+ super(), this._statusTypes = /* @__PURE__ */ new Map([
15
15
  ["info", "circle-information-small"],
16
16
  ["success", "circle-tick-small"],
17
17
  ["warning", "circle-exclamation-point-small"],
@@ -21,7 +21,7 @@ let s = class extends f(u) {
21
21
  renderIconSlot() {
22
22
  return c`
23
23
  <slot name="icon">
24
- <sbb-icon name=${this.iconName ?? this.a.get(this.type)}></sbb-icon>
24
+ <sbb-icon name=${this.iconName ?? this._statusTypes.get(this.type)}></sbb-icon>
25
25
  </slot>
26
26
  `;
27
27
  }
@@ -41,7 +41,7 @@ let s = class extends f(u) {
41
41
  `;
42
42
  }
43
43
  };
44
- s.styles = h;
44
+ s.styles = y;
45
45
  r([
46
46
  i({ reflect: !0 })
47
47
  ], s.prototype, "type", 2);
@@ -1,46 +1,46 @@
1
1
  import { css as l, html as n } from "lit";
2
- import { customElement as c } from "lit/decorators.js";
3
- import { SbbButtonBaseElement as p } from "../core/base-elements.js";
2
+ import { customElement as p } from "lit/decorators.js";
3
+ import { SbbButtonBaseElement as c } from "../core/base-elements.js";
4
4
  import { SbbConnectedAbortController as d } from "../core/controllers.js";
5
5
  import { hostAttributes as f } from "../core/decorators.js";
6
6
  import { SbbDisabledMixin as h } from "../core/mixins.js";
7
7
  import { SbbIconNameMixin as v } from "../icon.js";
8
8
  const x = l`*,:before,:after{box-sizing:border-box}:host{--sbb-step-label-color: var(--sbb-color-iron);--sbb-step-label-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-2x) );--sbb-step-label-prefix-size: var(--sbb-size-element-xxs);--sbb-step-label-prefix-border-style: solid;--sbb-step-label-prefix-border-color: var(--sbb-color-cloud);--sbb-step-label-prefix-background-color: var(--sbb-color-white);position:relative;min-width:0;max-width:fit-content}:host:before{--sbb-text-font-size: var(--sbb-font-size-text-xxs);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:absolute;top:50%;left:50%;transform:translate(-50%,-50%);cursor:var(--sbb-step-label-cursor);color:var(--sbb-step-label-color);inset-block-start:calc(var(--sbb-font-size-text-l) * var(--sbb-typo-line-height-body-text) / 2 + var(--sbb-border-width-1x) / 2);inset-inline-start:calc(var(--sbb-step-label-prefix-size) / 2);line-height:1;z-index:1;transform:translate(-50%,calc(-50% + var(--sbb-step-label-translate-y-content-hover, 0rem)));transition:transform var(--sbb-step-label-animation-duration) var(--sbb-animation-easing)}@media (forced-colors: active){:host{--sbb-step-label-color: ButtonText;--sbb-step-label-prefix-border-color: ButtonText}}:host([data-selected]){--sbb-text-font-size: var(--sbb-font-size-text-xxs);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;--sbb-step-label-color: var(--sbb-color-charcoal)}@media (forced-colors: active){:host([data-selected]){--sbb-step-label-color: Highlight !important}}:host([disabled]){--sbb-step-label-color: var(--sbb-color-granite);--sbb-step-label-prefix-border-style: dashed}@media (forced-colors: active){:host([disabled]){--sbb-step-label-color: GrayText !important}}@media (any-hover: hover){:host(:hover:not([disabled])){--sbb-step-label-cursor: pointer;--sbb-step-label-prefix-background-color: var(--sbb-color-milk);--sbb-step-label-translate-y-content-hover: -.0625rem;--sbb-step-label-prefix-size-grow-hover: calc(var(--sbb-border-width-2x) * -1)}}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])){outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);border-radius:var(--sbb-border-radius-1x)}:host([data-orientation=vertical]){transition:margin var(--sbb-stepper-animation-duration) var(--sbb-animation-easing)}:host([data-orientation=vertical]:not(:first-of-type)){margin-block-start:var(--sbb-spacing-fixed-6x)}:host([data-selected][data-orientation=vertical]){margin-block-end:var(--sbb-spacing-fixed-8x)}.sbb-step-label{--sbb-text-font-size: var(--sbb-font-size-text-l);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;cursor:var(--sbb-step-label-cursor);position:relative;display:flex;gap:var(--sbb-spacing-fixed-4x);color:var(--sbb-step-label-color)}.sbb-step-label__prefix{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--sbb-step-label-prefix-size);height:var(--sbb-step-label-prefix-size);inset-block-start:calc(1em * var(--sbb-typo-line-height-body-text) / 2 + var(--sbb-border-width-1x) / 2 - var(--sbb-step-label-prefix-size) / 2)}.sbb-step-label__prefix:before{content:"";position:absolute;inset:calc(var(--sbb-step-label-prefix-size-grow-hover, 0rem));border-radius:var(--sbb-border-radius-infinity);border:var(--sbb-border-width-1x) var(--sbb-step-label-prefix-border-style) var(--sbb-step-label-prefix-border-color);background-color:var(--sbb-step-label-prefix-background-color);transition-duration:var(--sbb-step-label-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:background-color,inset}:host([data-orientation=horizontal]) .sbb-step-label__text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}::slotted(sbb-icon),sbb-icon{z-index:1;background-color:var(--sbb-step-label-prefix-background-color);border-radius:var(--sbb-border-radius-infinity);transform:translateY(var(--sbb-step-label-translate-y-content-hover, 0rem));transition-duration:var(--sbb-step-label-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:background-color,transform}`;
9
9
  var u = Object.defineProperty, m = Object.getOwnPropertyDescriptor, g = (t, s, r, i) => {
10
- for (var e = i > 1 ? void 0 : i ? m(s, r) : s, a = t.length - 1, b; a >= 0; a--)
11
- (b = t[a]) && (e = (i ? b(s, r, e) : b(e)) || e);
10
+ for (var e = i > 1 ? void 0 : i ? m(s, r) : s, a = t.length - 1, o; a >= 0; a--)
11
+ (o = t[a]) && (e = (i ? o(s, r, e) : o(e)) || e);
12
12
  return i && e && u(s, r, e), e;
13
13
  };
14
- let y = 0, o = class extends v(h(p)) {
14
+ let y = 0, b = class extends v(h(c)) {
15
15
  constructor() {
16
- super(...arguments), this.a = this.attachInternals(), this.e = new d(this), this.c = null, this.b = null;
16
+ super(...arguments), this._internals = this.attachInternals(), this._abort = new d(this), this._stepper = null, this._step = null;
17
17
  }
18
18
  /** The step controlled by the label. */
19
19
  get step() {
20
- return this.b;
20
+ return this._step;
21
21
  }
22
22
  /**
23
23
  * Selects and configures the step label.
24
24
  * @internal
25
25
  */
26
26
  select() {
27
- this.tabIndex = 0, this.a.ariaSelected = "true", this.toggleAttribute("data-selected", !0);
27
+ this.tabIndex = 0, this._internals.ariaSelected = "true", this.toggleAttribute("data-selected", !0);
28
28
  }
29
29
  /**
30
30
  * Deselects and configures the step label.
31
31
  * @internal
32
32
  */
33
33
  deselect() {
34
- this.tabIndex = -1, this.a.ariaSelected = "false", this.toggleAttribute("data-selected", !1);
34
+ this.tabIndex = -1, this._internals.ariaSelected = "false", this.toggleAttribute("data-selected", !1);
35
35
  }
36
36
  /**
37
37
  * Configures the step label.
38
38
  * @internal
39
39
  */
40
40
  configure(t, s, r) {
41
- r && (this.b = this.d()), this.a.ariaPosInSet = `${t}`, this.a.ariaSetSize = `${s}`;
41
+ r && (this._step = this._getStep()), this._internals.ariaPosInSet = `${t}`, this._internals.ariaSetSize = `${s}`;
42
42
  }
43
- d() {
43
+ _getStep() {
44
44
  let t = this.nextElementSibling;
45
45
  for (; t && t.localName !== "sbb-step"; )
46
46
  t = t.nextElementSibling;
@@ -48,11 +48,11 @@ let y = 0, o = class extends v(h(p)) {
48
48
  }
49
49
  connectedCallback() {
50
50
  super.connectedCallback();
51
- const t = this.e.signal;
52
- this.id = this.id || `sbb-step-label-${y++}`, this.a.ariaSelected = "false", this.c = this.closest("sbb-stepper"), this.b = this.d(), this.toggleAttribute("data-disabled", this.hasAttribute("disabled")), this.addEventListener(
51
+ const t = this._abort.signal;
52
+ this.id = this.id || `sbb-step-label-${y++}`, this._internals.ariaSelected = "false", this._stepper = this.closest("sbb-stepper"), this._step = this._getStep(), this.toggleAttribute("data-disabled", this.hasAttribute("disabled")), this.addEventListener(
53
53
  "click",
54
54
  () => {
55
- this.c && this.b && (this.c.selected = this.b);
55
+ this._stepper && this._step && (this._stepper.selected = this._step);
56
56
  },
57
57
  { signal: t }
58
58
  );
@@ -69,15 +69,15 @@ let y = 0, o = class extends v(h(p)) {
69
69
  `;
70
70
  }
71
71
  };
72
- o.styles = x;
73
- o = g([
74
- c("sbb-step-label"),
72
+ b.styles = x;
73
+ b = g([
74
+ p("sbb-step-label"),
75
75
  f({
76
76
  slot: "step-label",
77
77
  tabindex: "-1",
78
78
  role: "tab"
79
79
  })
80
- ], o);
80
+ ], b);
81
81
  export {
82
- o as SbbStepLabelElement
82
+ b as SbbStepLabelElement
83
83
  };