@sbb-esta/lyne-elements 1.7.0 → 1.9.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 (119) hide show
  1. package/calendar/calendar.d.ts +5 -2
  2. package/calendar/calendar.d.ts.map +1 -1
  3. package/calendar.js +73 -66
  4. package/clock.js +5 -5
  5. package/container/container.js +18 -18
  6. package/core/base-elements/open-close-base-element.d.ts +10 -0
  7. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  8. package/core/base-elements.js +4 -0
  9. package/core/controllers/inert-controller.d.ts +18 -0
  10. package/core/controllers/inert-controller.d.ts.map +1 -0
  11. package/core/controllers.d.ts +1 -0
  12. package/core/controllers.d.ts.map +1 -1
  13. package/core/controllers.js +67 -23
  14. package/core/dom/platform.d.ts +2 -3
  15. package/core/dom/platform.d.ts.map +1 -1
  16. package/core/dom.js +38 -40
  17. package/core/overlay/overlay.d.ts +0 -13
  18. package/core/overlay/overlay.d.ts.map +1 -1
  19. package/core/overlay.js +36 -86
  20. package/core/styles/core.scss +6 -0
  21. package/core/styles/mixins/lists.scss +11 -1
  22. package/core/testing/wait-for-image-ready.d.ts.map +1 -1
  23. package/core/testing.js +61 -54
  24. package/core.css +5 -0
  25. package/custom-elements.json +492 -66
  26. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +4 -0
  27. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  28. package/datepicker/datepicker-toggle.js +52 -42
  29. package/development/calendar/calendar.d.ts +5 -2
  30. package/development/calendar/calendar.d.ts.map +1 -1
  31. package/development/calendar.js +35 -19
  32. package/development/clock.js +1 -1
  33. package/development/container/container.js +9 -5
  34. package/development/core/base-elements/open-close-base-element.d.ts +10 -0
  35. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  36. package/development/core/base-elements.js +5 -1
  37. package/development/core/controllers/inert-controller.d.ts +18 -0
  38. package/development/core/controllers/inert-controller.d.ts.map +1 -0
  39. package/development/core/controllers.d.ts +1 -0
  40. package/development/core/controllers.d.ts.map +1 -1
  41. package/development/core/controllers.js +90 -1
  42. package/development/core/dom/platform.d.ts +2 -3
  43. package/development/core/dom/platform.d.ts.map +1 -1
  44. package/development/core/dom.js +4 -5
  45. package/development/core/overlay/overlay.d.ts +0 -13
  46. package/development/core/overlay/overlay.d.ts.map +1 -1
  47. package/development/core/overlay.js +1 -87
  48. package/development/core/testing/wait-for-image-ready.d.ts.map +1 -1
  49. package/development/core/testing.js +16 -2
  50. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +4 -0
  51. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  52. package/development/datepicker/datepicker-toggle.js +19 -4
  53. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  54. package/development/dialog/dialog.js +3 -4
  55. package/development/flip-card/flip-card/flip-card.d.ts.map +1 -1
  56. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  57. package/development/flip-card/flip-card-details.js +28 -9
  58. package/development/flip-card/flip-card-summary.js +6 -1
  59. package/development/flip-card/flip-card.js +43 -12
  60. package/development/form-field/form-field.js +4 -2
  61. package/development/lead-container.js +5 -1
  62. package/development/menu/menu/menu.d.ts +1 -0
  63. package/development/menu/menu/menu.d.ts.map +1 -1
  64. package/development/menu/menu.js +6 -9
  65. package/development/navigation/navigation/navigation.d.ts +1 -0
  66. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  67. package/development/navigation/navigation.js +6 -9
  68. package/development/overlay/overlay-base-element.d.ts +2 -1
  69. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  70. package/development/overlay/overlay.d.ts.map +1 -1
  71. package/development/overlay.js +6 -17
  72. package/development/popover/popover.js +2 -2
  73. package/development/select/select.d.ts +3 -1
  74. package/development/select/select.d.ts.map +1 -1
  75. package/development/select.js +20 -6
  76. package/development/stepper/step-label.js +20 -2
  77. package/development/stepper/stepper/stepper.d.ts +3 -0
  78. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  79. package/development/stepper/stepper.js +16 -1
  80. package/development/toggle/toggle/toggle.d.ts +2 -1
  81. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  82. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  83. package/development/toggle/toggle-option.js +4 -2
  84. package/development/toggle/toggle.js +7 -7
  85. package/dialog/dialog/dialog.d.ts.map +1 -1
  86. package/dialog/dialog.js +11 -12
  87. package/flip-card/flip-card/flip-card.d.ts.map +1 -1
  88. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  89. package/flip-card/flip-card-details.js +19 -17
  90. package/flip-card/flip-card-summary.js +13 -13
  91. package/flip-card/flip-card.js +26 -24
  92. package/form-field/form-field.js +1 -1
  93. package/lead-container.js +1 -1
  94. package/lists.css +9 -1
  95. package/menu/menu/menu.d.ts +1 -0
  96. package/menu/menu/menu.d.ts.map +1 -1
  97. package/menu/menu.js +30 -30
  98. package/navigation/navigation/navigation.d.ts +1 -0
  99. package/navigation/navigation/navigation.d.ts.map +1 -1
  100. package/navigation/navigation.js +37 -37
  101. package/overlay/overlay-base-element.d.ts +2 -1
  102. package/overlay/overlay-base-element.d.ts.map +1 -1
  103. package/overlay/overlay.d.ts.map +1 -1
  104. package/overlay.js +44 -45
  105. package/package.json +1 -1
  106. package/popover/popover.js +1 -1
  107. package/select/select.d.ts +3 -1
  108. package/select/select.d.ts.map +1 -1
  109. package/select.js +61 -50
  110. package/standard-theme.css +14 -1
  111. package/stepper/step-label.js +10 -10
  112. package/stepper/stepper/stepper.d.ts +3 -0
  113. package/stepper/stepper/stepper.d.ts.map +1 -1
  114. package/stepper/stepper.js +34 -25
  115. package/toggle/toggle/toggle.d.ts +2 -1
  116. package/toggle/toggle/toggle.d.ts.map +1 -1
  117. package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  118. package/toggle/toggle-option.js +9 -8
  119. package/toggle/toggle.js +20 -21
package/overlay.js CHANGED
@@ -1,51 +1,50 @@
1
- import { css as g, nothing as _ } from "lit";
2
- import { property as b, customElement as w } from "lit/decorators.js";
1
+ import { css as u, nothing as f } from "lit";
2
+ import { property as b, customElement as g } from "lit/decorators.js";
3
3
  import { html as d, unsafeStatic as v } from "lit/static-html.js";
4
- import { SbbFocusHandler as k, setModalityOnNextFocus as h, getFirstFocusableElement as C } from "./core/a11y.js";
4
+ import { SbbFocusHandler as _, setModalityOnNextFocus as h, getFirstFocusableElement as w } from "./core/a11y.js";
5
5
  import { EventEmitter as p } from "./core/eventing.js";
6
- import { i18nDialog as x, i18nCloseDialog as O, i18nGoBack as E } from "./core/i18n.js";
7
- import { applyInertMechanism as m, removeInertMechanism as y } from "./core/overlay.js";
8
- import { SbbOpenCloseBaseElement as L } from "./core/base-elements.js";
9
- import { SbbLanguageController as $ } from "./core/controllers.js";
10
- import { SbbScrollHandler as A, hostContext as S } from "./core/dom.js";
11
- import { SbbNegativeMixin as R } from "./core/mixins.js";
6
+ import { i18nDialog as k, i18nCloseDialog as C, i18nGoBack as x } from "./core/i18n.js";
7
+ import { SbbOpenCloseBaseElement as O } from "./core/base-elements.js";
8
+ import { SbbLanguageController as E, SbbInertController as L } from "./core/controllers.js";
9
+ import { SbbScrollHandler as $, hostContext as A } from "./core/dom.js";
10
+ import { SbbNegativeMixin as S } from "./core/mixins.js";
12
11
  import "./button/secondary-button.js";
13
12
  import "./button/transparent-button.js";
14
13
  import "./container.js";
15
14
  import "./screen-reader-only.js";
16
- var B = Object.defineProperty, F = (t, e, o, r) => {
17
- for (var a = void 0, n = t.length - 1, i; n >= 0; n--)
18
- (i = t[n]) && (a = i(e, o, a) || a);
19
- return a && B(e, o, a), a;
15
+ var R = Object.defineProperty, B = (t, e, o, a) => {
16
+ for (var r = void 0, n = t.length - 1, i; n >= 0; n--)
17
+ (i = t[n]) && (r = i(e, o, r) || r);
18
+ return r && R(e, o, r), r;
20
19
  };
21
- const l = [], u = class f extends R(L) {
20
+ const l = [], m = class y extends S(O) {
22
21
  constructor() {
23
22
  super(...arguments), this.didClose = new p(
24
23
  this,
25
- f.events.didClose
26
- ), this.focusHandler = new k(), this.scrollHandler = new A(), this.ariaLiveRefToggle = !1, this.language = new $(this);
24
+ y.events.didClose
25
+ ), this.focusHandler = new _(), this.scrollHandler = new $(), this.ariaLiveRefToggle = !1, this.language = new E(this), this.inertController = new L(this);
27
26
  }
28
27
  /** Closes the component. */
29
28
  close(e, o) {
30
29
  if (this.state !== "opened")
31
30
  return;
32
31
  this.returnValue = e, this.overlayCloseElement = o;
33
- const r = {
32
+ const a = {
34
33
  returnValue: this.returnValue,
35
34
  closeTarget: this.overlayCloseElement
36
35
  };
37
- this.willClose.emit(r) && (this.state = "closing", this.removeAriaLiveRefContent());
36
+ this.willClose.emit(a) && (this.state = "closing", this.removeAriaLiveRefContent());
38
37
  }
39
38
  connectedCallback() {
40
39
  var e;
41
- super.connectedCallback(), (e = this.overlayController) == null || e.abort(), this.overlayController = new AbortController(), this.state === "opened" && m(this);
40
+ super.connectedCallback(), (e = this.overlayController) == null || e.abort(), this.overlayController = new AbortController();
42
41
  }
43
42
  firstUpdated(e) {
44
43
  this.ariaLiveRef = this.shadowRoot.querySelector("sbb-screen-reader-only"), super.firstUpdated(e);
45
44
  }
46
45
  disconnectedCallback() {
47
46
  var e, o;
48
- super.disconnectedCallback(), (e = this.overlayController) == null || e.abort(), (o = this.openOverlayController) == null || o.abort(), this.focusHandler.disconnect(), this.removeInstanceFromGlobalCollection(), y(), this.scrollHandler.enableScroll();
47
+ super.disconnectedCallback(), (e = this.overlayController) == null || e.abort(), (o = this.openOverlayController) == null || o.abort(), this.focusHandler.disconnect(), this.removeInstanceFromGlobalCollection(), this.scrollHandler.enableScroll();
49
48
  }
50
49
  attachOpenOverlayEvents() {
51
50
  this.openOverlayController = new AbortController(), window.addEventListener(
@@ -71,32 +70,32 @@ const l = [], u = class f extends R(L) {
71
70
  }
72
71
  // Close the component on click of any element that has the `closeAttribute` attribute.
73
72
  closeOnSbbOverlayCloseClick(e) {
74
- const o = e.composedPath().filter((a) => a instanceof window.HTMLElement).find(
75
- (a) => a.hasAttribute(this.closeAttribute) && !a.hasAttribute("disabled")
73
+ const o = e.composedPath().filter((r) => r instanceof window.HTMLElement).find(
74
+ (r) => r.hasAttribute(this.closeAttribute) && !r.hasAttribute("disabled")
76
75
  );
77
76
  if (!o)
78
77
  return;
79
- const r = o.getAttribute("type") === "submit" ? S("form", o) : void 0;
80
- l[l.length - 1].close(r, o);
78
+ const a = o.getAttribute("type") === "submit" ? A("form", o) : void 0;
79
+ l[l.length - 1].close(a, o);
81
80
  }
82
81
  removeAriaLiveRefContent() {
83
82
  this.ariaLiveRef.textContent = "";
84
83
  }
85
84
  setAriaLiveRefContent(e) {
86
- this.ariaLiveRefToggle = !this.ariaLiveRefToggle, this.ariaLiveRef.textContent = `${x[this.language.current]}${e ? `, ${e}` : ""}${this.ariaLiveRefToggle ? " " : ""}`;
85
+ this.ariaLiveRefToggle = !this.ariaLiveRefToggle, this.ariaLiveRef.textContent = `${k[this.language.current]}${e ? `, ${e}` : ""}${this.ariaLiveRefToggle ? " " : ""}`;
87
86
  }
88
87
  };
89
- F([
88
+ B([
90
89
  b({ attribute: "accessibility-label" })
91
- ], u.prototype, "accessibilityLabel");
92
- let H = u;
93
- const T = g`*,:before,:after{box-sizing:border-box}:host{--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-overlay-background-color: var(--sbb-color-milk);--sbb-overlay-height: 100%;--sbb-overlay-inset: 0 auto auto 0;--sbb-overlay-padding-block: calc( var(--sbb-spacing-responsive-xxl) + var(--sbb-spacing-responsive-l) );--sbb-overlay-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-6x) );--sbb-overlay-animation-easing: ease;--sbb-overlay-pointer-events: none;display:block;position:fixed;inset:var(--sbb-overlay-inset);z-index:var(--sbb-overlay-z-index, var(--sbb-overlay-default-z-index))}@media (min-width: 64rem){:host{--sbb-overlay-padding-block: var(--sbb-spacing-responsive-xl)}}:host(:is([data-state=opened],[data-state=opening])){--sbb-overlay-pointer-events: all}:host([negative]){--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);--sbb-overlay-color: var(--sbb-color-white);--sbb-overlay-background-color: var(--sbb-color-midnight)}:host(:not([data-state=closed])){--sbb-overlay-inset: 0}.sbb-overlay__container{background-color:var(--sbb-overlay-background-color);pointer-events:var(--sbb-overlay-pointer-events);display:none;align-items:center;position:fixed;inset:var(--sbb-overlay-inset)}:host([data-state]:not([data-state=closed])) .sbb-overlay__container{display:flex;animation-name:open;animation-duration:var(--sbb-overlay-animation-duration);animation-timing-function:var(--sbb-overlay-animation-easing)}:host([data-state][data-state=closing]) .sbb-overlay__container{pointer-events:none;animation-name:close}.sbb-overlay{position:absolute;inset-inline:0;margin:auto;padding:0;border:none;height:var(--sbb-overlay-height);overflow:auto;color:var(--sbb-overlay-color)}:host([data-state]:not([data-state=closed])) .sbb-overlay{animation-name:open-move-in;animation-duration:var(--sbb-overlay-animation-duration);animation-timing-function:var(--sbb-overlay-animation-easing)}:host([data-state][data-state=closing]) .sbb-overlay{animation-name:close-move-out}.sbb-overlay__wrapper{display:flex;flex-direction:column;width:100%;height:var(--sbb-overlay-height);outline:none;position:fixed}@media (min-width: 52.5rem){.sbb-overlay__wrapper{position:sticky;inset-block-start:0;height:auto}}.sbb-overlay__header{position:absolute;inset-inline-start:0;display:flex;pointer-events:none;align-items:start;justify-content:space-between;width:100%;padding:var(--sbb-spacing-responsive-xs);padding-block-end:0;z-index:1}.sbb-overlay__header *{pointer-events:all}.sbb-overlay__close{margin-inline-start:auto}.sbb-overlay__content{--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-overlay__content::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-overlay__content::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-overlay__content::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-overlay__content::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-overlay__content::-webkit-scrollbar-button,.sbb-overlay__content::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-overlay__content{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-overlay__content{height:100vh;overflow:auto;-webkit-overflow-scrolling:touch}.sbb-overlay__content-container{padding-block:var(--sbb-overlay-padding-block)}@keyframes open{0%{opacity:0}to{opacity:1}}@keyframes open-move-in{0%{transform:translateY(var(--sbb-spacing-fixed-4x))}to{transform:translateY(0)}}@keyframes close{0%{opacity:1}to{opacity:0}}@keyframes close-move-out{0%{transform:translateY(0)}to{transform:translateY(var(--sbb-spacing-fixed-4x))}}`;
94
- var z = Object.defineProperty, M = Object.getOwnPropertyDescriptor, c = (t, e, o, r) => {
95
- for (var a = r > 1 ? void 0 : r ? M(e, o) : e, n = t.length - 1, i; n >= 0; n--)
96
- (i = t[n]) && (a = (r ? i(e, o, a) : i(a)) || a);
97
- return r && a && z(e, o, a), a;
90
+ ], m.prototype, "accessibilityLabel");
91
+ let F = m;
92
+ const H = u`*,:before,:after{box-sizing:border-box}:host{--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-overlay-background-color: var(--sbb-color-milk);--sbb-overlay-height: 100%;--sbb-overlay-inset: 0 auto auto 0;--sbb-overlay-padding-block: calc(var(--sbb-spacing-fixed-14x) + var(--sbb-spacing-responsive-l));--sbb-overlay-animation-duration: var( --sbb-disable-animation-zero-time, var(--sbb-animation-duration-6x) );--sbb-overlay-animation-easing: ease;--sbb-overlay-pointer-events: none;display:block;position:fixed;inset:var(--sbb-overlay-inset);z-index:var(--sbb-overlay-z-index, var(--sbb-overlay-default-z-index))}:host(:is([data-state=opened],[data-state=opening])){--sbb-overlay-pointer-events: all}:host([negative]){--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);--sbb-overlay-color: var(--sbb-color-white);--sbb-overlay-background-color: var(--sbb-color-midnight)}:host(:not([data-state=closed])){--sbb-overlay-inset: 0}.sbb-overlay__container{background-color:var(--sbb-overlay-background-color);pointer-events:var(--sbb-overlay-pointer-events);display:none;align-items:center;position:fixed;inset:var(--sbb-overlay-inset)}:host([data-state]:not([data-state=closed])) .sbb-overlay__container{display:flex;animation-name:open;animation-duration:var(--sbb-overlay-animation-duration);animation-timing-function:var(--sbb-overlay-animation-easing)}:host([data-state][data-state=closing]) .sbb-overlay__container{pointer-events:none;animation-name:close}.sbb-overlay{position:absolute;inset-inline:0;margin:auto;padding:0;border:none;height:var(--sbb-overlay-height);overflow:auto;color:var(--sbb-overlay-color)}:host([data-state]:not([data-state=closed])) .sbb-overlay{animation-name:open-move-in;animation-duration:var(--sbb-overlay-animation-duration);animation-timing-function:var(--sbb-overlay-animation-easing)}:host([data-state][data-state=closing]) .sbb-overlay{animation-name:close-move-out}.sbb-overlay__wrapper{display:flex;flex-direction:column;width:100%;height:var(--sbb-overlay-height);outline:none;position:fixed}@media (min-width: 52.5rem){.sbb-overlay__wrapper{position:sticky;inset-block-start:0;height:auto}}.sbb-overlay__header{position:absolute;inset-inline-start:0;display:flex;pointer-events:none;align-items:start;justify-content:space-between;width:100%;padding:var(--sbb-spacing-responsive-xs);padding-block-end:0;z-index:1}.sbb-overlay__header *{pointer-events:all}.sbb-overlay__close{margin-inline-start:auto}.sbb-overlay__content{--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-overlay__content::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-overlay__content::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-overlay__content::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-overlay__content::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-overlay__content::-webkit-scrollbar-button,.sbb-overlay__content::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-overlay__content{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-overlay__content{height:100vh;overflow:auto;-webkit-overflow-scrolling:touch}.sbb-overlay__content-container{padding-block:var(--sbb-overlay-padding-block)}@keyframes open{0%{opacity:0}to{opacity:1}}@keyframes open-move-in{0%{transform:translateY(var(--sbb-spacing-fixed-4x))}to{transform:translateY(0)}}@keyframes close{0%{opacity:1}to{opacity:0}}@keyframes close-move-out{0%{transform:translateY(0)}to{transform:translateY(var(--sbb-spacing-fixed-4x))}}`;
93
+ var T = Object.defineProperty, z = Object.getOwnPropertyDescriptor, c = (t, e, o, a) => {
94
+ for (var r = a > 1 ? void 0 : a ? z(e, o) : e, n = t.length - 1, i; n >= 0; n--)
95
+ (i = t[n]) && (r = (a ? i(e, o, r) : i(r)) || r);
96
+ return a && r && T(e, o, r), r;
98
97
  };
99
- let s = class extends H {
98
+ let s = class extends F {
100
99
  constructor() {
101
100
  super(...arguments), this.expanded = !1, this.backButton = !1, this.closeAttribute = "sbb-overlay-close", this._backClick = new p(
102
101
  this,
@@ -114,15 +113,15 @@ let s = class extends H {
114
113
  // In rare cases, it can be that the animationEnd event is triggered twice.
115
114
  // To avoid entering a corrupt state, exit when state is not expected.
116
115
  onOverlayAnimationEnd(t) {
117
- var e, o, r;
118
- t.animationName === "open" && this.state === "opening" ? (this.state = "opened", this.didOpen.emit(), m(this), this.attachOpenOverlayEvents(), this.setOverlayFocus(), setTimeout(() => this.setAriaLiveRefContent(this.accessibilityLabel)), this.focusHandler.trap(this)) : t.animationName === "close" && this.state === "closing" && ((e = this._overlayContentElement) == null || e.scrollTo(0, 0), this.state = "closed", y(), h(this.lastFocusedElement), (o = this.lastFocusedElement) == null || o.focus(), (r = this.openOverlayController) == null || r.abort(), this.focusHandler.disconnect(), this.removeInstanceFromGlobalCollection(), l.length || this.scrollHandler.enableScroll(), this.didClose.emit({
116
+ var e, o, a;
117
+ t.animationName === "open" && this.state === "opening" ? (this.state = "opened", this.didOpen.emit(), this.inertController.activate(), this.attachOpenOverlayEvents(), this.setOverlayFocus(), setTimeout(() => this.setAriaLiveRefContent(this.accessibilityLabel)), this.focusHandler.trap(this)) : t.animationName === "close" && this.state === "closing" && ((e = this._overlayContentElement) == null || e.scrollTo(0, 0), this.state = "closed", this.inertController.deactivate(), h(this.lastFocusedElement), (o = this.lastFocusedElement) == null || o.focus(), (a = this.openOverlayController) == null || a.abort(), this.focusHandler.disconnect(), this.removeInstanceFromGlobalCollection(), l.length || this.scrollHandler.enableScroll(), this.didClose.emit({
119
118
  returnValue: this.returnValue,
120
119
  closeTarget: this.overlayCloseElement
121
120
  }));
122
121
  }
123
122
  // Set focus on the first focusable element.
124
123
  setOverlayFocus() {
125
- const t = C(
124
+ const t = w(
126
125
  Array.from(this.shadowRoot.children).filter(
127
126
  (e) => e instanceof window.HTMLElement
128
127
  )
@@ -133,7 +132,7 @@ let s = class extends H {
133
132
  const t = this.negative ? "sbb-transparent-button" : "sbb-secondary-button", e = d`
134
133
  <${v(t)}
135
134
  class="sbb-overlay__close"
136
- aria-label=${this.accessibilityCloseLabel || O[this.language.current]}
135
+ aria-label=${this.accessibilityCloseLabel || C[this.language.current]}
137
136
  ?negative=${this.negative}
138
137
  size="m"
139
138
  type="button"
@@ -143,7 +142,7 @@ let s = class extends H {
143
142
  `, o = d`
144
143
  <${v(t)}
145
144
  class="sbb-overlay__back"
146
- aria-label=${this.accessibilityBackLabel || E[this.language.current]}
145
+ aria-label=${this.accessibilityBackLabel || x[this.language.current]}
147
146
  ?negative=${this.negative}
148
147
  size="m"
149
148
  type="button"
@@ -154,15 +153,15 @@ let s = class extends H {
154
153
  return d`
155
154
  <div
156
155
  class="sbb-overlay__container"
157
- @animationend=${(r) => this.onOverlayAnimationEnd(r)}
156
+ @animationend=${(a) => this.onOverlayAnimationEnd(a)}
158
157
  >
159
158
  <div class="sbb-overlay">
160
159
  <div
161
- @click=${(r) => this.closeOnSbbOverlayCloseClick(r)}
160
+ @click=${(a) => this.closeOnSbbOverlayCloseClick(a)}
162
161
  class="sbb-overlay__wrapper"
163
162
  >
164
163
  <div class="sbb-overlay__header">
165
- ${this.backButton ? o : _} ${e}
164
+ ${this.backButton ? o : f} ${e}
166
165
  </div>
167
166
  <div class="sbb-overlay__content">
168
167
  <sbb-container
@@ -180,7 +179,7 @@ let s = class extends H {
180
179
  `;
181
180
  }
182
181
  };
183
- s.styles = T;
182
+ s.styles = H;
184
183
  s.events = {
185
184
  willOpen: "willOpen",
186
185
  didOpen: "didOpen",
@@ -201,10 +200,10 @@ c([
201
200
  b({ attribute: "accessibility-back-label" })
202
201
  ], s.prototype, "accessibilityBackLabel", 2);
203
202
  s = c([
204
- w("sbb-overlay")
203
+ g("sbb-overlay")
205
204
  ], s);
206
205
  export {
207
- H as SbbOverlayBaseElement,
206
+ F as SbbOverlayBaseElement,
208
207
  s as SbbOverlayElement,
209
208
  l as overlayRefs
210
209
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sbb-esta/lyne-elements",
3
- "version": "1.7.0",
3
+ "version": "1.9.0",
4
4
  "description": "Lyne Design System",
5
5
  "keywords": [
6
6
  "design system",
@@ -87,7 +87,7 @@ let s = class extends L(E) {
87
87
  var e;
88
88
  if (!g) {
89
89
  if (this.hydrationRequired) {
90
- this.hydrationComplete.then(() => this._configure);
90
+ this.hydrationComplete.then(() => this._configure());
91
91
  return;
92
92
  }
93
93
  O(this._triggerElement), this.trigger && (this._triggerElement = T(this.trigger), this._triggerElement && (S(this._triggerElement, "dialog", this.id, this.state), this._hoverTrigger = this.hoverTrigger && !window.matchMedia("(pointer: coarse)").matches, (e = this._popoverController) == null || e.abort(), this._popoverController = new AbortController(), this._hoverTrigger ? (this._triggerElement.addEventListener("mouseenter", this._onTriggerMouseEnter, {
@@ -4,7 +4,7 @@ export interface SelectChange {
4
4
  type: 'value';
5
5
  value: string | string[];
6
6
  }
7
- declare const SbbSelectElement_base: import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbUpdateSchedulerMixinType> & import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbDisabledMixinType> & import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbNegativeMixinType> & typeof SbbOpenCloseBaseElement;
7
+ declare const SbbSelectElement_base: import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbUpdateSchedulerMixinType> & import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbDisabledMixinType> & import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbNegativeMixinType> & import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbHydrationMixinType> & typeof SbbOpenCloseBaseElement;
8
8
  /**
9
9
  * It displays a panel with selectable options.
10
10
  *
@@ -128,6 +128,8 @@ export declare class SbbSelectElement extends SbbSelectElement_base {
128
128
  private _closeOnBackdropClick;
129
129
  private _setValueFromSelectedOption;
130
130
  private _toggleOpening;
131
+ private _spreadDeferredDisplayValue;
132
+ private _deferredDisplayValue;
131
133
  protected render(): TemplateResult;
132
134
  }
133
135
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/elements/select/select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/elements/select/select.ts"],"names":[],"mappings":"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"}
package/select.js CHANGED
@@ -1,23 +1,24 @@
1
- import { css as _, html as b, nothing as c } from "lit";
2
- import { property as d, state as g, customElement as m } from "lit/decorators.js";
1
+ import { css as g, html as d, nothing as c } from "lit";
2
+ import { property as b, state as m, customElement as w } from "lit/decorators.js";
3
3
  import { ref as v } from "lit/directives/ref.js";
4
- import { getNextElementIndex as w } from "./core/a11y.js";
5
- import { SbbOpenCloseBaseElement as y } from "./core/base-elements.js";
6
- import { SbbConnectedAbortController as x } from "./core/controllers.js";
7
- import { hostAttributes as E } from "./core/decorators.js";
8
- import { isNextjs as u, getDocumentWritingMode as O, isSafari as k } from "./core/dom.js";
4
+ import { until as u } from "lit/directives/until.js";
5
+ import { getNextElementIndex as y } from "./core/a11y.js";
6
+ import { SbbOpenCloseBaseElement as x } from "./core/base-elements.js";
7
+ import { SbbConnectedAbortController as E } from "./core/controllers.js";
8
+ import { hostAttributes as O } from "./core/decorators.js";
9
+ import { isNextjs as f, getDocumentWritingMode as k, isSafari as C } from "./core/dom.js";
9
10
  import { EventEmitter as p } from "./core/eventing.js";
10
- import { SbbUpdateSchedulerMixin as C, SbbDisabledMixin as A, SbbNegativeMixin as S } from "./core/mixins.js";
11
- import { isEventOnElement as f, setOverlayPosition as I, overlayGapFixCorners as P } from "./core/overlay.js";
12
- const $ = _`*,:before,:after{box-sizing:border-box}.sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-options-panel-border-radius);height:var(--sbb-options-panel-border-radius);background-color:transparent}.sbb-gap-fix-corner{position:absolute;border-radius:50%;border:calc(var(--sbb-options-panel-border-radius) / 2) solid var(--sbb-options-panel-background-color);width:calc(var(--sbb-options-panel-border-radius) * 3);height:calc(var(--sbb-options-panel-border-radius) * 3);bottom:calc(var(--sbb-options-panel-border-radius) / 2 * -1)}.sbb-gap-fix-corner#left{left:calc(var(--sbb-options-panel-border-radius) / 2 * -1)}:host([dir=rtl]) .sbb-gap-fix-corner#left{right:calc(var(--sbb-options-panel-border-radius) / 2 * -1);left:unset}.sbb-gap-fix-corner#right{right:calc(var(--sbb-options-panel-border-radius) / 2 * -1)}:host([dir=rtl]) .sbb-gap-fix-corner#right{left:calc(var(--sbb-options-panel-border-radius) / 2 * -1);right:unset}:host{--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-options-panel-position-x: 0;--sbb-options-panel-position-y: 0;--sbb-options-panel-active-option-y: 0;--sbb-options-panel-max-height: calc(85vh - var(--sbb-spacing-fixed-8x));--sbb-options-panel-min-height: var(--sbb-options-panel-origin-height);--sbb-options-panel-visibility: visible;--sbb-options-panel-width: fit-content;--sbb-options-panel-border-radius: var(--sbb-border-radius-4x);--sbb-options-panel-options-border-radius: 0 0 var(--sbb-options-panel-border-radius) var(--sbb-options-panel-border-radius);--sbb-options-panel-animation-duration: var( --sbb-disable-animation-time, var(--sbb-animation-duration-4x) );--sbb-options-panel-animation-timing-function: ease;--sbb-options-panel-gap-fix-opacity: 0;--sbb-options-panel-gap-fix-transform: none;--sbb-options-panel-gap-fix-top: calc( var(--sbb-options-panel-position-y) - var(--sbb-options-panel-border-radius) );--sbb-options-panel-background-color: var(--sbb-color-white);--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);--sbb-options-panel-internal-z-index: var( --sbb-select-z-index, var(--sbb-overlay-default-z-index) );display:block}:host([negative]){--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-options-panel-background-color: var(--sbb-color-midnight);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host(:not([data-state])),:host([data-state=closed]){--sbb-options-panel-visibility: hidden}:host([data-state=opening]){--sbb-options-panel-animation-name: open}:host([data-state=closing]){--sbb-options-panel-animation-name: close}:host([data-state=opened]),:host([data-state=opening]){--sbb-options-panel-gap-fix-opacity: 1}:host([data-options-panel-position=below]){--sbb-options-panel-animation-transform: translateY( calc((var(--sbb-options-panel-origin-height) / 2) * -1) )}:host([data-options-panel-position=above]){--sbb-options-panel-options-border-radius: var(--sbb-options-panel-border-radius) var(--sbb-options-panel-border-radius) 0 0;--sbb-options-panel-gap-fix-top: var(--sbb-options-panel-max-height);--sbb-options-panel-gap-fix-transform: rotate(180deg);--sbb-options-panel-animation-transform: translateY( calc(var(--sbb-options-panel-origin-height) / 2) )}::slotted(sbb-divider){margin-block:var(--sbb-spacing-fixed-3x)}:host([preserve-icon-space]){--sbb-option-icon-container-display: block}.sbb-select__trigger{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:calc(1em * var(--sbb-typo-line-height-body-text))}.sbb-select__trigger--placeholder{color:var(--sbb-select-placeholder-color, var(--sbb-color-metal));-webkit-text-fill-color:var(--sbb-select-placeholder-color, var(--sbb-color-metal))}.sbb-select__container{position:fixed;pointer-events:none;top:0;right:0;bottom:0;left:0;z-index:var(--sbb-options-panel-internal-z-index)}.sbb-select__gap-fix{display:flex;justify-content:space-between;position:fixed;visibility:var(--sbb-options-panel-visibility);opacity:var(--sbb-options-panel-gap-fix-opacity);background-color:transparent;width:var(--sbb-options-panel-width);height:var(--sbb-options-panel-border-radius);top:var(--sbb-options-panel-gap-fix-top);left:var(--sbb-options-panel-position-x);transform:var(--sbb-options-panel-gap-fix-transform);transition:opacity var(--sbb-options-panel-animation-duration) var(--sbb-options-panel-animation-timing-function)}.sbb-select__panel{display:block;position:absolute;visibility:var(--sbb-options-panel-visibility);overflow:hidden;background-color:transparent;border:none;border-radius:var(--sbb-options-panel-border-radius);top:var(--sbb-options-panel-position-y);left:var(--sbb-options-panel-position-x);width:var(--sbb-options-panel-width);transition:box-shadow var(--sbb-options-panel-animation-duration) var(--sbb-options-panel-animation-timing-function)}.sbb-select__panel:before,.sbb-select__panel:after{content:"";display:none;position:relative;width:100%;height:var(--sbb-options-panel-origin-height);background-color:transparent;border-radius:var(--sbb-options-panel-border-radius);pointer-events:none;transition:box-shadow var(--sbb-options-panel-animation-duration) var(--sbb-options-panel-animation-timing-function);z-index:1}:host([data-options-panel-position=below]) .sbb-select__panel{inset-block-start:calc(var(--sbb-options-panel-position-y) - var(--sbb-options-panel-origin-height))}:host(:is([data-state=opened],[data-state=opening])) .sbb-select__panel{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)}:host(:is([data-state=opened],[data-state=opening])[negative]) .sbb-select__panel{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-negative-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-negative-1-color)}:host([data-options-panel-position=below]) .sbb-select__panel:before{display:block}:host([data-options-panel-position=above]) .sbb-select__panel:after{display:block}:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless]) .sbb-select__panel:before,:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless]) .sbb-select__panel:after{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)}:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless][negative]) .sbb-select__panel:before,:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless][negative]) .sbb-select__panel:after{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-negative-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-negative-1-color)}.sbb-select__wrapper{overflow:hidden}.sbb-select__options{background-color:var(--sbb-options-panel-background-color);padding-block:var(--sbb-spacing-fixed-3x);padding-inline:0;border-radius:var(--sbb-options-panel-options-border-radius);max-height:var(--sbb-options-panel-max-height);min-height:var(--sbb-options-panel-min-height);pointer-events:all;overflow-y:auto;animation-name:var(--sbb-options-panel-animation-name);animation-duration:var(--sbb-options-panel-animation-duration);animation-timing-function:var(--sbb-options-panel-animation-timing-function);--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-select__options::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-select__options::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-select__options::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-select__options::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-select__options::-webkit-scrollbar-button,.sbb-select__options::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-select__options{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-select__options{padding-block:var(--sbb-spacing-fixed-2x)}@media (forced-colors: active){.sbb-select__options{border:var(--sbb-border-width-1x) solid CanvasText;border-block-start:none}}@keyframes open{0%{transform:var(--sbb-options-panel-animation-transform);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes close{0%{transform:translateY(0);opacity:1}to{transform:var(--sbb-options-panel-animation-transform);opacity:0}}`;
13
- var D = Object.defineProperty, L = Object.getOwnPropertyDescriptor, r = (e, t, i, s) => {
14
- for (var o = s > 1 ? void 0 : s ? L(t, i) : t, n = e.length - 1, l; n >= 0; n--)
15
- (l = e[n]) && (o = (s ? l(t, i, o) : l(o)) || o);
16
- return s && o && D(t, i, o), o;
11
+ import { SbbUpdateSchedulerMixin as A, SbbDisabledMixin as S, SbbNegativeMixin as I, SbbHydrationMixin as D } from "./core/mixins.js";
12
+ import { isEventOnElement as _, setOverlayPosition as P, overlayGapFixCorners as $ } from "./core/overlay.js";
13
+ const L = g`*,:before,:after{box-sizing:border-box}.sbb-gap-fix-wrapper{position:relative;overflow:hidden;width:var(--sbb-options-panel-border-radius);height:var(--sbb-options-panel-border-radius);background-color:transparent}.sbb-gap-fix-corner{position:absolute;border-radius:50%;border:calc(var(--sbb-options-panel-border-radius) / 2) solid var(--sbb-options-panel-background-color);width:calc(var(--sbb-options-panel-border-radius) * 3);height:calc(var(--sbb-options-panel-border-radius) * 3);bottom:calc(var(--sbb-options-panel-border-radius) / 2 * -1)}.sbb-gap-fix-corner#left{left:calc(var(--sbb-options-panel-border-radius) / 2 * -1)}:host([dir=rtl]) .sbb-gap-fix-corner#left{right:calc(var(--sbb-options-panel-border-radius) / 2 * -1);left:unset}.sbb-gap-fix-corner#right{right:calc(var(--sbb-options-panel-border-radius) / 2 * -1)}:host([dir=rtl]) .sbb-gap-fix-corner#right{left:calc(var(--sbb-options-panel-border-radius) / 2 * -1);right:unset}:host{--sbb-scrollbar-thumb-width: .125rem;--sbb-scrollbar-thumb-width-hover: .25rem;--sbb-scrollbar-width-firefox: thin;--sbb-scrollbar-color: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: transparent;--sbb-options-panel-position-x: 0;--sbb-options-panel-position-y: 0;--sbb-options-panel-active-option-y: 0;--sbb-options-panel-max-height: calc(85vh - var(--sbb-spacing-fixed-8x));--sbb-options-panel-min-height: var(--sbb-options-panel-origin-height);--sbb-options-panel-visibility: visible;--sbb-options-panel-width: fit-content;--sbb-options-panel-border-radius: var(--sbb-border-radius-4x);--sbb-options-panel-options-border-radius: 0 0 var(--sbb-options-panel-border-radius) var(--sbb-options-panel-border-radius);--sbb-options-panel-animation-duration: var( --sbb-disable-animation-time, var(--sbb-animation-duration-4x) );--sbb-options-panel-animation-timing-function: ease;--sbb-options-panel-gap-fix-opacity: 0;--sbb-options-panel-gap-fix-transform: none;--sbb-options-panel-gap-fix-top: calc( var(--sbb-options-panel-position-y) - var(--sbb-options-panel-border-radius) );--sbb-options-panel-background-color: var(--sbb-color-white);--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);--sbb-options-panel-internal-z-index: var( --sbb-select-z-index, var(--sbb-overlay-default-z-index) );display:block}:host([negative]){--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-options-panel-background-color: var(--sbb-color-midnight);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host(:not([data-state])),:host([data-state=closed]){--sbb-options-panel-visibility: hidden}:host([data-state=opening]){--sbb-options-panel-animation-name: open}:host([data-state=closing]){--sbb-options-panel-animation-name: close}:host([data-state=opened]),:host([data-state=opening]){--sbb-options-panel-gap-fix-opacity: 1}:host([data-options-panel-position=below]){--sbb-options-panel-animation-transform: translateY( calc((var(--sbb-options-panel-origin-height) / 2) * -1) )}:host([data-options-panel-position=above]){--sbb-options-panel-options-border-radius: var(--sbb-options-panel-border-radius) var(--sbb-options-panel-border-radius) 0 0;--sbb-options-panel-gap-fix-top: var(--sbb-options-panel-max-height);--sbb-options-panel-gap-fix-transform: rotate(180deg);--sbb-options-panel-animation-transform: translateY( calc(var(--sbb-options-panel-origin-height) / 2) )}::slotted(sbb-divider){margin-block:var(--sbb-spacing-fixed-3x)}:host([preserve-icon-space]){--sbb-option-icon-container-display: block}.sbb-select__trigger{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;height:calc(1em * var(--sbb-typo-line-height-body-text))}.sbb-select__trigger--placeholder{color:var(--sbb-select-placeholder-color, var(--sbb-color-metal));-webkit-text-fill-color:var(--sbb-select-placeholder-color, var(--sbb-color-metal))}.sbb-select__container{position:fixed;pointer-events:none;top:0;right:0;bottom:0;left:0;z-index:var(--sbb-options-panel-internal-z-index)}.sbb-select__gap-fix{display:flex;justify-content:space-between;position:fixed;visibility:var(--sbb-options-panel-visibility);opacity:var(--sbb-options-panel-gap-fix-opacity);background-color:transparent;width:var(--sbb-options-panel-width);height:var(--sbb-options-panel-border-radius);top:var(--sbb-options-panel-gap-fix-top);left:var(--sbb-options-panel-position-x);transform:var(--sbb-options-panel-gap-fix-transform);transition:opacity var(--sbb-options-panel-animation-duration) var(--sbb-options-panel-animation-timing-function)}.sbb-select__panel{display:block;position:absolute;visibility:var(--sbb-options-panel-visibility);overflow:hidden;background-color:transparent;border:none;border-radius:var(--sbb-options-panel-border-radius);top:var(--sbb-options-panel-position-y);left:var(--sbb-options-panel-position-x);width:var(--sbb-options-panel-width);transition:box-shadow var(--sbb-options-panel-animation-duration) var(--sbb-options-panel-animation-timing-function)}.sbb-select__panel:before,.sbb-select__panel:after{content:"";display:none;position:relative;width:100%;height:var(--sbb-options-panel-origin-height);background-color:transparent;border-radius:var(--sbb-options-panel-border-radius);pointer-events:none;transition:box-shadow var(--sbb-options-panel-animation-duration) var(--sbb-options-panel-animation-timing-function);z-index:1}:host([data-options-panel-position=below]) .sbb-select__panel{inset-block-start:calc(var(--sbb-options-panel-position-y) - var(--sbb-options-panel-origin-height))}:host(:is([data-state=opened],[data-state=opening])) .sbb-select__panel{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)}:host(:is([data-state=opened],[data-state=opening])[negative]) .sbb-select__panel{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-negative-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-negative-1-color)}:host([data-options-panel-position=below]) .sbb-select__panel:before{display:block}:host([data-options-panel-position=above]) .sbb-select__panel:after{display:block}:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless]) .sbb-select__panel:before,:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless]) .sbb-select__panel:after{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)}:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless][negative]) .sbb-select__panel:before,:host(:is([data-state=opened],[data-state=opening])[data-option-panel-origin-borderless][negative]) .sbb-select__panel:after{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-negative-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-negative-1-color)}.sbb-select__wrapper{overflow:hidden}.sbb-select__options{background-color:var(--sbb-options-panel-background-color);padding-block:var(--sbb-spacing-fixed-3x);padding-inline:0;border-radius:var(--sbb-options-panel-options-border-radius);max-height:var(--sbb-options-panel-max-height);min-height:var(--sbb-options-panel-min-height);pointer-events:all;overflow-y:auto;animation-name:var(--sbb-options-panel-animation-name);animation-duration:var(--sbb-options-panel-animation-duration);animation-timing-function:var(--sbb-options-panel-animation-timing-function);--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-select__options::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-select__options::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-select__options::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-select__options::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-select__options::-webkit-scrollbar-button,.sbb-select__options::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-select__options{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}.sbb-select__options{padding-block:var(--sbb-spacing-fixed-2x)}@media (forced-colors: active){.sbb-select__options{border:var(--sbb-border-width-1x) solid CanvasText;border-block-start:none}}@keyframes open{0%{transform:var(--sbb-options-panel-animation-transform);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes close{0%{transform:translateY(0);opacity:1}to{transform:var(--sbb-options-panel-animation-transform);opacity:0}}`;
14
+ var V = Object.defineProperty, T = Object.getOwnPropertyDescriptor, n = (e, t, i, s) => {
15
+ for (var o = s > 1 ? void 0 : s ? T(t, i) : t, r = e.length - 1, l; r >= 0; r--)
16
+ (l = e[r]) && (o = (s ? l(t, i, o) : l(o)) || o);
17
+ return s && o && V(t, i, o), o;
17
18
  };
18
- const h = k;
19
- let T = 0, a = class extends C(
20
- A(S(y))
19
+ const h = C;
20
+ let N = 0, a = class extends A(
21
+ S(I(D(x)))
21
22
  ) {
22
23
  constructor() {
23
24
  super(...arguments), this.multiple = !1, this.required = !1, this.readonly = !1, this._displayValue = null, this._didChange = new p(this, a.events.didChange), this._change = new p(this, a.events.change), this._input = new p(this, a.events.input), this._stateChange = new p(
@@ -26,10 +27,10 @@ let T = 0, a = class extends C(
26
27
  {
27
28
  composed: !1
28
29
  }
29
- ), this._overlayId = `sbb-select-${++T}`, this._activeItemIndex = -1, this._searchString = "", this._didLoad = !1, this._isPointerDownEventOnMenu = !1, this._abort = new x(this), this._pointerDownListener = (e) => {
30
- this._isPointerDownEventOnMenu = f(this._overlay, e);
30
+ ), this._overlayId = `sbb-select-${++N}`, this._activeItemIndex = -1, this._searchString = "", this._didLoad = !1, this._isPointerDownEventOnMenu = !1, this._abort = new E(this), this._pointerDownListener = (e) => {
31
+ this._isPointerDownEventOnMenu = _(this._overlay, e);
31
32
  }, this._closeOnBackdropClick = async (e) => {
32
- !this._isPointerDownEventOnMenu && !f(this._overlay, e) && await this.close();
33
+ !this._isPointerDownEventOnMenu && !_(this._overlay, e) && await this.close();
33
34
  };
34
35
  }
35
36
  /**
@@ -59,7 +60,7 @@ let T = 0, a = class extends C(
59
60
  }
60
61
  /** Gets the current displayed value. */
61
62
  getDisplayValue() {
62
- return this._displayValue ? this._displayValue : "";
63
+ return this._displayValue ?? "";
63
64
  }
64
65
  /** Listens to option changes. */
65
66
  _onOptionChanged(e) {
@@ -86,7 +87,7 @@ let T = 0, a = class extends C(
86
87
  this._stateChange.emit({ type: "value", value: e });
87
88
  }
88
89
  firstUpdated(e) {
89
- super.firstUpdated(e), this.focus = () => this._triggerElement.focus(), this.blur = () => this._triggerElement.blur(), u() || (this.startUpdate(), this._setupSelect());
90
+ super.firstUpdated(e), this.focus = () => this._triggerElement.focus(), this.blur = () => this._triggerElement.blur(), f() || (this.startUpdate(), this._setupSelect());
90
91
  }
91
92
  /**
92
93
  * Removes element's first attribute whose qualified name is qualifiedName.
@@ -95,7 +96,7 @@ let T = 0, a = class extends C(
95
96
  * @internal We need to override this due to a hydration issue with Next.js.
96
97
  */
97
98
  removeAttribute(e) {
98
- u() && e === "defer-hydration" && !this._didLoad && this.updateComplete.then(() => this._setupSelect()), super.removeAttribute(e);
99
+ f() && e === "defer-hydration" && !this._didLoad && this.updateComplete.then(() => this._setupSelect()), super.removeAttribute(e);
99
100
  }
100
101
  connectedCallback() {
101
102
  var i, s;
@@ -152,7 +153,7 @@ let T = 0, a = class extends C(
152
153
  this._triggerElement.style.top = "0px", this._triggerElement.style.height = `${e.offsetHeight}px`, this._triggerElement.style.width = `${e.offsetWidth}px`;
153
154
  }
154
155
  _setOverlayPosition() {
155
- I(
156
+ P(
156
157
  this._overlay,
157
158
  this._originElement,
158
159
  this._optionContainer,
@@ -247,17 +248,17 @@ let T = 0, a = class extends C(
247
248
  ...this._filteredOptions.slice(0, t)
248
249
  ], s = i.find(
249
250
  (o) => {
250
- var n;
251
- return ((n = o.textContent) == null ? void 0 : n.toLowerCase().indexOf(this._searchString.toLowerCase())) === 0;
251
+ var r;
252
+ return ((r = o.textContent) == null ? void 0 : r.toLowerCase().indexOf(this._searchString.toLowerCase())) === 0;
252
253
  }
253
254
  );
254
255
  if (s)
255
256
  await this._setNextActiveOption(e, this._filteredOptions.indexOf(s));
256
257
  else if (this._searchString.length > 1 && new RegExp(`^${this._searchString.charAt(0)}*$`).test(this._searchString)) {
257
258
  const o = i.find(
258
- (n) => {
259
+ (r) => {
259
260
  var l;
260
- return ((l = n.textContent) == null ? void 0 : l.toLowerCase().indexOf(this._searchString[0].toLowerCase())) === 0;
261
+ return ((l = r.textContent) == null ? void 0 : l.toLowerCase().indexOf(this._searchString[0].toLowerCase())) === 0;
261
262
  }
262
263
  );
263
264
  o && await this._setNextActiveOption(e, this._filteredOptions.indexOf(o));
@@ -269,7 +270,7 @@ let T = 0, a = class extends C(
269
270
  this.multiple ? await e.setSelectedViaUserInteraction(!e.selected) : await this.close();
270
271
  }
271
272
  async _setNextActiveOption(e, t) {
272
- const i = t ?? w(e, this._activeItemIndex, this._filteredOptions.length), s = this._filteredOptions[i], o = this._filteredOptions[this._activeItemIndex];
273
+ const i = t ?? y(e, this._activeItemIndex, this._filteredOptions.length), s = this._filteredOptions[i], o = this._filteredOptions[this._activeItemIndex];
273
274
  this._setActiveElement(s, o), this.multiple ? e != null && e.shiftKey && await s.setSelectedViaUserInteraction(!s.selected) : await this._setSelectedElement(s, o), this._activeItemIndex = i;
274
275
  }
275
276
  _setActiveElement(e, t = null, i = !0) {
@@ -312,8 +313,14 @@ let T = 0, a = class extends C(
312
313
  }
313
314
  }
314
315
  }
316
+ _spreadDeferredDisplayValue(e) {
317
+ return [this._deferredDisplayValue(e), e];
318
+ }
319
+ async _deferredDisplayValue(e) {
320
+ return this.hydrationRequired && await this.hydrationComplete, this._displayValue ? d`${this._displayValue}` : e;
321
+ }
315
322
  render() {
316
- return b`
323
+ return d`
317
324
  <!-- This element is visually hidden and will be appended to the light DOM to allow screen
318
325
  readers to work properly -->
319
326
  <div
@@ -329,17 +336,21 @@ let T = 0, a = class extends C(
329
336
  @click=${this._toggleOpening}
330
337
  ${v((e) => this._triggerElement = e)}
331
338
  >
332
- ${this._displayValue ? b`${this._displayValue}` : b`<span>${this.placeholder}</span>`}
339
+ ${u(...this._spreadDeferredDisplayValue(d`<span>${this.placeholder}</span>`))}
333
340
  </div>
334
341
 
335
342
  <!-- Visually display the value -->
336
343
  <div class="sbb-select__trigger" aria-hidden="true">
337
- ${this._displayValue ? b`${this._displayValue}` : b`<span class="sbb-select__trigger--placeholder">${this.placeholder}</span>`}
344
+ ${u(
345
+ ...this._spreadDeferredDisplayValue(
346
+ d`<span class="sbb-select__trigger--placeholder">${this.placeholder}</span>`
347
+ )
348
+ )}
338
349
  </div>
339
350
 
340
351
  <div class="sbb-select__gap-fix"></div>
341
352
  <div class="sbb-select__container">
342
- <div class="sbb-select__gap-fix">${P()}</div>
353
+ <div class="sbb-select__gap-fix">${$()}</div>
343
354
  <div
344
355
  @animationend=${this._onAnimationEnd}
345
356
  class="sbb-select__panel"
@@ -361,7 +372,7 @@ let T = 0, a = class extends C(
361
372
  `;
362
373
  }
363
374
  };
364
- a.styles = $;
375
+ a.styles = L;
365
376
  a.events = {
366
377
  didChange: "didChange",
367
378
  change: "change",
@@ -372,28 +383,28 @@ a.events = {
372
383
  willClose: "willClose",
373
384
  didClose: "didClose"
374
385
  };
375
- r([
376
- d()
386
+ n([
387
+ b()
377
388
  ], a.prototype, "value", 2);
378
- r([
379
- d()
389
+ n([
390
+ b()
380
391
  ], a.prototype, "placeholder", 2);
381
- r([
382
- d({ type: Boolean, reflect: !0 })
392
+ n([
393
+ b({ type: Boolean, reflect: !0 })
383
394
  ], a.prototype, "multiple", 2);
384
- r([
385
- d({ reflect: !0, type: Boolean })
395
+ n([
396
+ b({ reflect: !0, type: Boolean })
386
397
  ], a.prototype, "required", 2);
387
- r([
388
- d({ type: Boolean })
398
+ n([
399
+ b({ type: Boolean })
389
400
  ], a.prototype, "readonly", 2);
390
- r([
391
- g()
401
+ n([
402
+ m()
392
403
  ], a.prototype, "_displayValue", 2);
393
- a = r([
394
- m("sbb-select"),
395
- E({
396
- dir: O(),
404
+ a = n([
405
+ w("sbb-select"),
406
+ O({
407
+ dir: k(),
397
408
  role: h ? "listbox" : null
398
409
  })
399
410
  ], a);
@@ -1321,6 +1321,7 @@ summary {
1321
1321
  --sbb-train-formation-wagon-gap: var(--sbb-spacing-fixed-1x);
1322
1322
  --sbb-header-height: var(--sbb-spacing-fixed-14x);
1323
1323
  --sbb-time-input-max-width: 3.625rem;
1324
+ --sbb-time-input-s-max-width: 3.1875rem;
1324
1325
  --sbb-overlay-default-z-index: 1000;
1325
1326
  --sbb-border-radius-infinity: 10000000em;
1326
1327
  }
@@ -1328,6 +1329,7 @@ summary {
1328
1329
  :root {
1329
1330
  --sbb-header-height: var(--sbb-spacing-fixed-24x);
1330
1331
  --sbb-time-input-max-width: 4.0625rem;
1332
+ --sbb-time-input-s-max-width: 3.625rem;
1331
1333
  }
1332
1334
  }
1333
1335
 
@@ -1486,6 +1488,9 @@ sbb-title + p {
1486
1488
  input[data-sbb-time-input] {
1487
1489
  max-width: var(--sbb-time-input-max-width);
1488
1490
  }
1491
+ sbb-form-field[size=s] input[data-sbb-time-input] {
1492
+ max-width: var(--sbb-time-input-s-max-width);
1493
+ }
1489
1494
 
1490
1495
  sub {
1491
1496
  bottom: -0.36em;
@@ -1685,6 +1690,7 @@ sup {
1685
1690
  --sbb-step-list-padding-block: var(--sbb-spacing-fixed-3x);
1686
1691
  --sbb-step-list-padding-inline: var(--sbb-spacing-responsive-xxs);
1687
1692
  --sbb-step-list-marker-to-text-gap: var(--sbb-spacing-responsive-xxxs);
1693
+ --sbb-step-list-border-radius: var(--sbb-border-radius-4x);
1688
1694
  --sbb-step-list-text-to-marker-block-offset: calc(
1689
1695
  0.5 *
1690
1696
  (
@@ -1714,11 +1720,18 @@ sup {
1714
1720
  position: relative;
1715
1721
  counter-increment: steps;
1716
1722
  background-color: var(--sbb-color-milk);
1717
- border-radius: var(--sbb-border-radius-4x);
1718
1723
  padding-block: calc(var(--sbb-step-list-padding-block) + var(--sbb-step-list-text-to-marker-block-offset)) var(--sbb-step-list-padding-block);
1719
1724
  padding-inline: calc(var(--sbb-step-list-padding-inline) + var(--sbb-step-list-marker-dimensions) + var(--sbb-step-list-marker-to-text-gap)) var(--sbb-step-list-padding-inline);
1720
1725
  min-height: calc(var(--sbb-step-list-marker-dimensions) + 2 * var(--sbb-step-list-padding-block));
1721
1726
  }
1727
+ .sbb-step-list > li:first-of-type {
1728
+ border-start-start-radius: var(--sbb-step-list-border-radius);
1729
+ border-start-end-radius: var(--sbb-step-list-border-radius);
1730
+ }
1731
+ .sbb-step-list > li:last-of-type {
1732
+ border-end-start-radius: var(--sbb-step-list-border-radius);
1733
+ border-end-end-radius: var(--sbb-step-list-border-radius);
1734
+ }
1722
1735
  .sbb-step-list > li::before {
1723
1736
  --sbb-text-font-size: var(--sbb-font-size-text-xxs);
1724
1737
  font-family: var(--sbb-typo-font-family);