@sbb-esta/lyne-elements 1.14.0 → 1.15.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 (167) hide show
  1. package/autocomplete/autocomplete.d.ts +1 -1
  2. package/autocomplete/autocomplete.d.ts.map +1 -1
  3. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +1 -1
  4. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  5. package/autocomplete-grid/autocomplete-grid.js +6 -6
  6. package/autocomplete.js +20 -19
  7. package/calendar/calendar.d.ts +1 -1
  8. package/calendar/calendar.d.ts.map +1 -1
  9. package/calendar.js +175 -178
  10. package/checkbox/checkbox-panel/checkbox-panel.d.ts +1 -1
  11. package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  12. package/checkbox/checkbox-panel.js +5 -5
  13. package/checkbox/common.js +1 -1
  14. package/clock/clock.d.ts +1 -1
  15. package/clock/clock.d.ts.map +1 -1
  16. package/clock.js +2 -2
  17. package/container/sticky-bar/sticky-bar.d.ts +29 -2
  18. package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  19. package/container/sticky-bar.js +69 -31
  20. package/core/controllers/media-matchers-controller.d.ts +32 -0
  21. package/core/controllers/media-matchers-controller.d.ts.map +1 -0
  22. package/core/controllers.d.ts +1 -0
  23. package/core/controllers.d.ts.map +1 -1
  24. package/core/controllers.js +75 -33
  25. package/core/dom/breakpoint.d.ts +2 -1
  26. package/core/dom/breakpoint.d.ts.map +1 -1
  27. package/core/dom.js +7 -7
  28. package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  29. package/core/mixins.js +8 -1
  30. package/core/styles/core/mediaqueries.scss +1 -2
  31. package/core/styles/mixins/buttons.scss +5 -5
  32. package/core/testing/event-spy.d.ts +6 -4
  33. package/core/testing/event-spy.d.ts.map +1 -1
  34. package/core/testing.js +82 -55
  35. package/custom-elements.json +650 -74
  36. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  37. package/development/autocomplete/autocomplete.d.ts +1 -1
  38. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  39. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +1 -1
  40. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  41. package/development/autocomplete-grid/autocomplete-grid.js +4 -3
  42. package/development/autocomplete.js +4 -3
  43. package/development/calendar/calendar.d.ts +1 -1
  44. package/development/calendar/calendar.d.ts.map +1 -1
  45. package/development/calendar.js +40 -44
  46. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +1 -1
  47. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  48. package/development/checkbox/checkbox-panel.js +2 -2
  49. package/development/checkbox/common.js +2 -2
  50. package/development/clock/clock.d.ts +1 -1
  51. package/development/clock/clock.d.ts.map +1 -1
  52. package/development/clock.js +3 -3
  53. package/development/container/sticky-bar/sticky-bar.d.ts +29 -2
  54. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  55. package/development/container/sticky-bar.js +149 -36
  56. package/development/core/controllers/media-matchers-controller.d.ts +32 -0
  57. package/development/core/controllers/media-matchers-controller.d.ts.map +1 -0
  58. package/development/core/controllers.d.ts +1 -0
  59. package/development/core/controllers.d.ts.map +1 -1
  60. package/development/core/controllers.js +65 -1
  61. package/development/core/dom/breakpoint.d.ts +2 -1
  62. package/development/core/dom/breakpoint.d.ts.map +1 -1
  63. package/development/core/dom.js +2 -2
  64. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  65. package/development/core/mixins.js +9 -2
  66. package/development/core/testing/event-spy.d.ts +6 -4
  67. package/development/core/testing/event-spy.d.ts.map +1 -1
  68. package/development/core/testing.js +35 -1
  69. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  70. package/development/datepicker/datepicker.js +1 -1
  71. package/development/dialog/dialog.js +2 -2
  72. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +3 -1
  73. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
  74. package/development/expansion-panel/expansion-panel-header.js +8 -4
  75. package/development/file-selector/file-selector.d.ts +5 -0
  76. package/development/file-selector/file-selector.d.ts.map +1 -1
  77. package/development/file-selector.js +8 -1
  78. package/development/flip-card/flip-card/flip-card.d.ts +4 -0
  79. package/development/flip-card/flip-card/flip-card.d.ts.map +1 -1
  80. package/development/flip-card/flip-card-details.js +4 -6
  81. package/development/flip-card/flip-card-summary/flip-card-summary.d.ts +1 -1
  82. package/development/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -1
  83. package/development/flip-card/flip-card-summary.js +9 -10
  84. package/development/flip-card/flip-card.js +26 -2
  85. package/development/form-field/form-field.js +5 -3
  86. package/development/icon/icon.d.ts +1 -1
  87. package/development/icon.js +1 -1
  88. package/development/image/image.d.ts.map +1 -1
  89. package/development/image.js +3 -19
  90. package/development/map-container.js +3 -2
  91. package/development/menu/menu/menu.d.ts +1 -0
  92. package/development/menu/menu/menu.d.ts.map +1 -1
  93. package/development/menu/menu.js +15 -11
  94. package/development/navigation/navigation-section.js +4 -14
  95. package/development/navigation/navigation.js +2 -7
  96. package/development/notification.js +3 -2
  97. package/development/paginator/paginator/paginator.d.ts +1 -5
  98. package/development/paginator/paginator/paginator.d.ts.map +1 -1
  99. package/development/paginator/paginator.js +19 -27
  100. package/development/popover/popover/popover.d.ts.map +1 -1
  101. package/development/popover/popover.js +9 -16
  102. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +1 -1
  103. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  104. package/development/radio-button/radio-button-panel.js +2 -2
  105. package/development/sbb-tokens-BdGhUJjM.js +33 -0
  106. package/development/select/select.d.ts +6 -5
  107. package/development/select/select.d.ts.map +1 -1
  108. package/development/select.js +23 -14
  109. package/development/slider/slider.d.ts +5 -0
  110. package/development/slider/slider.d.ts.map +1 -1
  111. package/development/slider.js +8 -1
  112. package/development/table/table-wrapper/table-wrapper.d.ts +1 -1
  113. package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  114. package/development/table/table-wrapper.js +1 -1
  115. package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +2 -1
  116. package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
  117. package/development/timetable-occupancy-icon.js +11 -9
  118. package/development/toggle-check/toggle-check.d.ts +1 -1
  119. package/development/toggle-check/toggle-check.d.ts.map +1 -1
  120. package/development/toggle-check.js +2 -2
  121. package/dialog/dialog.js +1 -1
  122. package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +3 -1
  123. package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
  124. package/expansion-panel/expansion-panel-header.js +26 -24
  125. package/file-selector/file-selector.d.ts +5 -0
  126. package/file-selector/file-selector.d.ts.map +1 -1
  127. package/file-selector.js +7 -0
  128. package/flip-card/flip-card/flip-card.d.ts +4 -0
  129. package/flip-card/flip-card/flip-card.d.ts.map +1 -1
  130. package/flip-card/flip-card-details.js +6 -6
  131. package/flip-card/flip-card-summary/flip-card-summary.d.ts +1 -1
  132. package/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -1
  133. package/flip-card/flip-card-summary.js +8 -8
  134. package/flip-card/flip-card.js +56 -42
  135. package/icon/icon.d.ts +1 -1
  136. package/image/image.d.ts.map +1 -1
  137. package/image.js +46 -45
  138. package/map-container.js +7 -7
  139. package/menu/menu/menu.d.ts +1 -0
  140. package/menu/menu/menu.d.ts.map +1 -1
  141. package/menu/menu.js +45 -41
  142. package/navigation/navigation-section.js +7 -7
  143. package/navigation/navigation.js +8 -8
  144. package/package.json +2 -2
  145. package/paginator/paginator/paginator.d.ts +1 -5
  146. package/paginator/paginator/paginator.d.ts.map +1 -1
  147. package/paginator/paginator.js +50 -52
  148. package/popover/popover/popover.d.ts.map +1 -1
  149. package/popover/popover.js +42 -46
  150. package/radio-button/radio-button-panel/radio-button-panel.d.ts +1 -1
  151. package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  152. package/radio-button/radio-button-panel.js +7 -7
  153. package/sbb-tokens-Dx20OtVg.js +18 -0
  154. package/select/select.d.ts +6 -5
  155. package/select/select.d.ts.map +1 -1
  156. package/select.js +55 -53
  157. package/slider/slider.d.ts +5 -0
  158. package/slider/slider.d.ts.map +1 -1
  159. package/slider.js +12 -5
  160. package/table/table-wrapper/table-wrapper.d.ts +1 -1
  161. package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  162. package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +2 -1
  163. package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
  164. package/timetable-occupancy-icon.js +45 -44
  165. package/toggle-check/toggle-check.d.ts +1 -1
  166. package/toggle-check/toggle-check.d.ts.map +1 -1
  167. package/toggle-check.js +1 -1
package/select.js CHANGED
@@ -1,45 +1,45 @@
1
- var F = (a) => {
1
+ var R = (a) => {
2
2
  throw TypeError(a);
3
3
  };
4
- var q = (a, o, l) => o.has(a) || F("Cannot " + l);
5
- var f = (a, o, l) => (q(a, o, "read from private field"), l ? l.call(a) : o.get(a)), g = (a, o, l) => o.has(a) ? F("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(a) : o.set(a, l), d = (a, o, l, b) => (q(a, o, "write to private field"), b ? b.call(a, l) : o.set(a, l), l);
4
+ var q = (a, o, l) => o.has(a) || R("Cannot " + l);
5
+ var f = (a, o, l) => (q(a, o, "read from private field"), l ? l.call(a) : o.get(a)), g = (a, o, l) => o.has(a) ? R("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(a) : o.set(a, l), d = (a, o, l, b) => (q(a, o, "write to private field"), b ? b.call(a, l) : o.set(a, l), l);
6
6
  import { __esDecorate as m, __runInitializers as h } from "tslib";
7
- import { MutationController as Y } from "@lit-labs/observers/mutation-controller.js";
8
- import { css as G, html as y, nothing as E } from "lit";
9
- import { customElement as W, property as O, state as J } from "lit/decorators.js";
7
+ import { MutationController as G } from "@lit-labs/observers/mutation-controller.js";
8
+ import { css as W, html as y, nothing as E } from "lit";
9
+ import { customElement as J, property as O, state as Q } from "lit/decorators.js";
10
10
  import { ref as C } from "lit/directives/ref.js";
11
- import { until as R } from "lit/directives/until.js";
12
- import { getNextElementIndex as Q } from "./core/a11y.js";
13
- import { SbbOpenCloseBaseElement as X } from "./core/base-elements.js";
14
- import { SbbConnectedAbortController as Z } from "./core/controllers.js";
15
- import { hostAttributes as ee, forceType as A } from "./core/decorators.js";
16
- import { isNextjs as j, isSafari as te } from "./core/dom.js";
11
+ import { until as j } from "lit/directives/until.js";
12
+ import { getNextElementIndex as X } from "./core/a11y.js";
13
+ import { SbbOpenCloseBaseElement as Z } from "./core/base-elements.js";
14
+ import { SbbConnectedAbortController as ee, SbbLanguageController as te } from "./core/controllers.js";
15
+ import { hostAttributes as se, forceType as A } from "./core/decorators.js";
16
+ import { setOrRemoveAttribute as S, isNextjs as H, isSafari as ie } from "./core/dom.js";
17
17
  import { EventEmitter as x } from "./core/eventing.js";
18
- import { SbbUpdateSchedulerMixin as se, SbbDisabledMixin as ie, SbbNegativeMixin as ae, SbbHydrationMixin as oe, SbbRequiredMixin as re, SbbFormAssociatedMixin as le } from "./core/mixins.js";
19
- import { isEventOnElement as H, setOverlayPosition as ne, overlayGapFixCorners as be } from "./core/overlay.js";
20
- const de = 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}}`, k = te;
21
- let he = 0, Se = (() => {
18
+ import { SbbUpdateSchedulerMixin as ae, SbbDisabledMixin as oe, SbbNegativeMixin as re, SbbHydrationMixin as le, SbbRequiredMixin as ne, SbbFormAssociatedMixin as be } from "./core/mixins.js";
19
+ import { isEventOnElement as Y, setOverlayPosition as de, overlayGapFixCorners as he } from "./core/overlay.js";
20
+ const pe = W`*,: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}}`, k = ie;
21
+ let ce = 0, De = (() => {
22
22
  var c, v, u, _, n;
23
- let a = [W("sbb-select"), ee({
23
+ let a = [J("sbb-select"), se({
24
24
  role: k ? "listbox" : null
25
- })], o, l = [], b, S = se(ie(ae(oe(re(le(X)))))), I, D = [], V = [], $, P = [], L = [], T, z = [], N = [], U, B = [], K = [];
26
- var p = (n = class extends S {
25
+ })], o, l = [], b, I = ae(oe(re(le(ne(be(Z)))))), D, V = [], L = [], $, P = [], T = [], z, N = [], U = [], B, K = [], M = [];
26
+ var p = (n = class extends I {
27
27
  constructor() {
28
28
  super();
29
29
  g(this, c);
30
30
  g(this, v);
31
31
  g(this, u);
32
32
  g(this, _);
33
- d(this, c, h(this, D, "")), d(this, v, (h(this, V), h(this, P, !1))), d(this, u, (h(this, L), h(this, z, !1))), d(this, _, (h(this, N), h(this, B, null))), this._didChange = (h(this, K), new x(this, p.events.didChange)), this._change = new x(this, p.events.change), this._input = new x(this, p.events.input), this._stateChange = new x(this, p.events.stateChange, {
33
+ d(this, c, h(this, V, "")), d(this, v, (h(this, L), h(this, P, !1))), d(this, u, (h(this, T), h(this, N, !1))), d(this, _, (h(this, U), h(this, K, null))), this._didChange = (h(this, M), new x(this, p.events.didChange)), this._change = new x(this, p.events.change), this._input = new x(this, p.events.input), this._stateChange = new x(this, p.events.stateChange, {
34
34
  composed: !1
35
- }), this._overlayId = `sbb-select-${++he}`, this._activeItemIndex = -1, this._searchString = "", this._didLoad = !1, this._isPointerDownEventOnMenu = !1, this._abort = new Z(this), this._pointerDownListener = (e) => {
36
- this._isPointerDownEventOnMenu = H(this._overlay, e);
35
+ }), this._overlayId = `sbb-select-${++ce}`, this._activeItemIndex = -1, this._searchString = "", this._didLoad = !1, this._isPointerDownEventOnMenu = !1, this._abort = new ee(this), this._pointerDownListener = (e) => {
36
+ this._isPointerDownEventOnMenu = Y(this._overlay, e);
37
37
  }, this._closeOnBackdropClick = (e) => {
38
- !this._isPointerDownEventOnMenu && !H(this._overlay, e) && this.close();
39
- }, new Y(this, {
40
- config: { attributeFilter: ["aria-labelledby"] },
41
- callback: (e) => this._onSelectAttributesChange(e)
42
- });
38
+ !this._isPointerDownEventOnMenu && !Y(this._overlay, e) && this.close();
39
+ }, new G(this, {
40
+ config: { attributeFilter: ["aria-labelledby", "aria-label", "aria-describedby"] },
41
+ callback: () => this._syncAriaLabels()
42
+ }), new te(this).withHandler(() => setTimeout(() => this._syncAriaLabels()));
43
43
  }
44
44
  /** The placeholder used if no value has been selected. */
45
45
  get placeholder() {
@@ -62,6 +62,13 @@ let he = 0, Se = (() => {
62
62
  set readonly(e) {
63
63
  d(this, u, e);
64
64
  }
65
+ /**
66
+ * Form type of element.
67
+ * @default 'select-one / select-multiple'
68
+ */
69
+ get type() {
70
+ return this.multiple ? "select-multiple" : "select-one";
71
+ }
65
72
  /** The value displayed by the component. */
66
73
  get _displayValue() {
67
74
  return f(this, _);
@@ -84,14 +91,9 @@ let he = 0, Se = (() => {
84
91
  get _filteredOptions() {
85
92
  return this._options.filter((e) => !e.disabled && !e.hasAttribute("data-group-disabled"));
86
93
  }
87
- /**
88
- * TODO: Accessibility fix required to correctly read the label;
89
- * can be possibly removed after the merge of https://github.com/sbb-design-systems/lyne-components/issues/3062
90
- */
91
- _onSelectAttributesChange(e) {
92
- var t;
93
- for (const s of e)
94
- s.attributeName === "aria-labelledby" && ((t = this._triggerElement) == null || t.setAttribute("aria-labelledby", this.getAttribute("aria-labelledby")));
94
+ _syncAriaLabels() {
95
+ var e;
96
+ this._triggerElement && (S(this._triggerElement, "aria-labelledby", this.getAttribute("aria-labelledby")), S(this._triggerElement, "aria-label", this.getAttribute("aria-label")), S(this._triggerElement, "aria-describedby", this.getAttribute("aria-describedby")), !this.getAttribute("aria-label") && !this.getAttribute("aria-labelledby") && this.internals.labels.length && ((e = this._triggerElement) == null || e.setAttribute("aria-label", Array.from(this.internals.labels).map((t) => t.textContent).join(", "))));
95
97
  }
96
98
  /** Opens the selection panel. */
97
99
  open() {
@@ -128,7 +130,7 @@ let he = 0, Se = (() => {
128
130
  this._stateChange.emit({ type: "value", value: e });
129
131
  }
130
132
  firstUpdated(e) {
131
- super.firstUpdated(e), this.focus = () => this._triggerElement.focus(), this.blur = () => this._triggerElement.blur(), j() || (this.startUpdate(), this._setupSelect());
133
+ super.firstUpdated(e), this.focus = () => this._triggerElement.focus(), this.blur = () => this._triggerElement.blur(), H() || (this.startUpdate(), this._setupSelect());
132
134
  }
133
135
  /**
134
136
  * Removes element's first attribute whose qualified name is qualifiedName.
@@ -137,13 +139,13 @@ let he = 0, Se = (() => {
137
139
  * @internal We need to override this due to a hydration issue with Next.js.
138
140
  */
139
141
  removeAttribute(e) {
140
- j() && e === "defer-hydration" && !this._didLoad && this.updateComplete.then(() => this._setupSelect()), super.removeAttribute(e);
142
+ H() && e === "defer-hydration" && !this._didLoad && this.updateComplete.then(() => this._setupSelect()), super.removeAttribute(e);
141
143
  }
142
144
  connectedCallback() {
143
145
  var s, i;
144
146
  super.connectedCallback(), k && (this.id || (this.id = this._overlayId));
145
147
  const e = this._abort.signal, t = ((s = this.closest) == null ? void 0 : s.call(this, "sbb-form-field")) ?? ((i = this.closest) == null ? void 0 : i.call(this, "[data-form-field]"));
146
- t && (this.negative = t.hasAttribute("negative")), this._syncProperties(), this._didLoad && (this._setupOrigin(), this._setupTrigger()), this.value && this._onValueChanged(this.value), this.addEventListener("optionSelectionChange", (r) => this._onOptionChanged(r), { signal: e }), this.addEventListener("click", (r) => {
148
+ t && (this.negative = t.hasAttribute("negative")), this._syncProperties(), this._syncAriaLabels(), this._didLoad && (this._setupOrigin(), this._setupTrigger()), this.value && this._onValueChanged(this.value), this.addEventListener("optionSelectionChange", (r) => this._onOptionChanged(r), { signal: e }), this.addEventListener("click", (r) => {
147
149
  this._onOptionClick(r), this._toggleOpening();
148
150
  }, { signal: e });
149
151
  }
@@ -204,7 +206,7 @@ let he = 0, Se = (() => {
204
206
  this._triggerElement.style.top = "0px", this._triggerElement.style.height = `${e.offsetHeight}px`, this._triggerElement.style.width = `${e.offsetWidth}px`;
205
207
  }
206
208
  _setOverlayPosition() {
207
- ne(this._overlay, this._originElement, this._optionContainer, this.shadowRoot.querySelector(".sbb-select__container"), this);
209
+ de(this._overlay, this._originElement, this._optionContainer, this.shadowRoot.querySelector(".sbb-select__container"), this);
208
210
  }
209
211
  // In rare cases it can be that the animationEnd event is triggered twice.
210
212
  // To avoid entering a corrupt state, exit when state is not expected.
@@ -297,8 +299,8 @@ let he = 0, Se = (() => {
297
299
  this._setNextActiveOption(e, this._filteredOptions.indexOf(i));
298
300
  else if (this._searchString.length > 1 && new RegExp(`^${this._searchString.charAt(0)}*$`).test(this._searchString)) {
299
301
  const r = s.find((w) => {
300
- var M;
301
- return ((M = w.textContent) == null ? void 0 : M.toLowerCase().indexOf(this._searchString[0].toLowerCase())) === 0;
302
+ var F;
303
+ return ((F = w.textContent) == null ? void 0 : F.toLowerCase().indexOf(this._searchString[0].toLowerCase())) === 0;
302
304
  });
303
305
  r && this._setNextActiveOption(e, this._filteredOptions.indexOf(r));
304
306
  } else
@@ -309,7 +311,7 @@ let he = 0, Se = (() => {
309
311
  this.multiple ? e.setSelectedViaUserInteraction(!e.selected) : this.close();
310
312
  }
311
313
  _setNextActiveOption(e, t) {
312
- const s = t ?? Q(e, this._activeItemIndex, this._filteredOptions.length), i = this._filteredOptions[s], r = this._filteredOptions[this._activeItemIndex];
314
+ const s = t ?? X(e, this._activeItemIndex, this._filteredOptions.length), i = this._filteredOptions[s], r = this._filteredOptions[this._activeItemIndex];
313
315
  this._setActiveElement(i, r), this.multiple ? e != null && e.shiftKey && i.setSelectedViaUserInteraction(!i.selected) : this._setSelectedElement(i, r), this._activeItemIndex = s;
314
316
  }
315
317
  _setActiveElement(e, t = null, s = !0) {
@@ -373,17 +375,17 @@ let he = 0, Se = (() => {
373
375
  @click=${this._toggleOpening}
374
376
  ${C((e) => this._triggerElement = e)}
375
377
  >
376
- ${R(...this._spreadDeferredDisplayValue(y`<span>${this.placeholder}</span>`))}
378
+ ${j(...this._spreadDeferredDisplayValue(y`<span>${this.placeholder}</span>`))}
377
379
  </div>
378
380
 
379
381
  <!-- Visually display the value -->
380
382
  <div class="sbb-select__trigger" aria-hidden="true">
381
- ${R(...this._spreadDeferredDisplayValue(y`<span class="sbb-select__trigger--placeholder">${this.placeholder}</span>`))}
383
+ ${j(...this._spreadDeferredDisplayValue(y`<span class="sbb-select__trigger--placeholder">${this.placeholder}</span>`))}
382
384
  </div>
383
385
 
384
386
  <div class="sbb-select__gap-fix"></div>
385
387
  <div class="sbb-select__container">
386
- <div class="sbb-select__gap-fix">${be()}</div>
388
+ <div class="sbb-select__gap-fix">${he()}</div>
387
389
  <div
388
390
  @animationend=${this._onAnimationEnd}
389
391
  class="sbb-select__panel"
@@ -405,17 +407,17 @@ let he = 0, Se = (() => {
405
407
  `;
406
408
  }
407
409
  }, c = new WeakMap(), v = new WeakMap(), u = new WeakMap(), _ = new WeakMap(), b = n, (() => {
408
- const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(S[Symbol.metadata] ?? null) : void 0;
409
- I = [A(), O()], $ = [A(), O({ reflect: !0, type: Boolean })], T = [A(), O({ type: Boolean })], U = [J()], m(n, null, I, { kind: "accessor", name: "placeholder", static: !1, private: !1, access: { has: (t) => "placeholder" in t, get: (t) => t.placeholder, set: (t, s) => {
410
+ const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(I[Symbol.metadata] ?? null) : void 0;
411
+ D = [A(), O()], $ = [A(), O({ reflect: !0, type: Boolean })], z = [A(), O({ type: Boolean })], B = [Q()], m(n, null, D, { kind: "accessor", name: "placeholder", static: !1, private: !1, access: { has: (t) => "placeholder" in t, get: (t) => t.placeholder, set: (t, s) => {
410
412
  t.placeholder = s;
411
- } }, metadata: e }, D, V), m(n, null, $, { kind: "accessor", name: "multiple", static: !1, private: !1, access: { has: (t) => "multiple" in t, get: (t) => t.multiple, set: (t, s) => {
413
+ } }, metadata: e }, V, L), m(n, null, $, { kind: "accessor", name: "multiple", static: !1, private: !1, access: { has: (t) => "multiple" in t, get: (t) => t.multiple, set: (t, s) => {
412
414
  t.multiple = s;
413
- } }, metadata: e }, P, L), m(n, null, T, { kind: "accessor", name: "readonly", static: !1, private: !1, access: { has: (t) => "readonly" in t, get: (t) => t.readonly, set: (t, s) => {
415
+ } }, metadata: e }, P, T), m(n, null, z, { kind: "accessor", name: "readonly", static: !1, private: !1, access: { has: (t) => "readonly" in t, get: (t) => t.readonly, set: (t, s) => {
414
416
  t.readonly = s;
415
- } }, metadata: e }, z, N), m(n, null, U, { kind: "accessor", name: "_displayValue", static: !1, private: !1, access: { has: (t) => "_displayValue" in t, get: (t) => t._displayValue, set: (t, s) => {
417
+ } }, metadata: e }, N, U), m(n, null, B, { kind: "accessor", name: "_displayValue", static: !1, private: !1, access: { has: (t) => "_displayValue" in t, get: (t) => t._displayValue, set: (t, s) => {
416
418
  t._displayValue = s;
417
- } }, metadata: e }, B, K), m(null, o = { value: b }, a, { kind: "class", name: b.name, metadata: e }, null, l), p = b = o.value, e && Object.defineProperty(b, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
418
- })(), n.styles = de, n.events = {
419
+ } }, metadata: e }, K, M), m(null, o = { value: b }, a, { kind: "class", name: b.name, metadata: e }, null, l), p = b = o.value, e && Object.defineProperty(b, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
420
+ })(), n.styles = pe, n.events = {
419
421
  didChange: "didChange",
420
422
  change: "change",
421
423
  input: "input",
@@ -428,5 +430,5 @@ let he = 0, Se = (() => {
428
430
  return p = b;
429
431
  })();
430
432
  export {
431
- Se as SbbSelectElement
433
+ De as SbbSelectElement
432
434
  };
@@ -40,6 +40,11 @@ export declare class SbbSliderElement extends SbbSliderElement_base {
40
40
  accessor startIcon: string;
41
41
  /** Name of the icon at component's end, which will be forward to the nested `sbb-icon`. */
42
42
  accessor endIcon: string;
43
+ /**
44
+ * Form type of element.
45
+ * @default 'range'
46
+ */
47
+ get type(): string;
43
48
  /**
44
49
  * The ratio between the absolute value and the validity interval.
45
50
  * E.g. given `min=0`, `max=100` and `value=50`, then `_valueFraction=0.5`
@@ -1 +1 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/elements/slider/slider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAQhD,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGtB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,YAAY,CAAC;;AAEpB;;;;;;;GAOG;AACH,qBAKM,gBAAiB,SAAQ,qBAAoD;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX;;;OAGG;IACH,IACoB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAQ7C;IACD,IAAoB,KAAK,IAAI,MAAM,CAElC;IAED,oDAAoD;IACpD,IACW,aAAa,CAAC,KAAK,EAAE,MAAM,EAErC;IACD,IAAW,aAAa,IAAI,MAAM,GAAG,IAAI,CAExC;IAED,+DAA+D;IAC/D,IACW,GAAG,CAAC,KAAK,EAAE,MAAM,EAO3B;IACD,IAAW,GAAG,IAAI,MAAM,CAEvB;IACD,OAAO,CAAC,IAAI,CAAe;IAE3B,+DAA+D;IAC/D,IACW,GAAG,CAAC,KAAK,EAAE,MAAM,EAO3B;IACD,IAAW,GAAG,IAAI,MAAM,CAEvB;IACD,OAAO,CAAC,IAAI,CAAiB;IAE7B;;;OAGG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,6FAA6F;IAC7F,SAEgB,SAAS,EAAE,MAAM,CAAM;IAEvC,2FAA2F;IAC3F,SAEgB,OAAO,EAAE,MAAM,CAAM;IAErC;;;OAGG;IACM,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAK;IAE7C;;OAEG;IACH,OAAO,CAAC,UAAU,CAGf;IAEH,iEAAiE;IACjE,OAAO,CAAC,WAAW,CAAoB;IAEvC,OAAO,CAAC,MAAM,CAAyC;;IAQvC,iBAAiB,IAAI,IAAI;cAUtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAc5E;;;OAGG;IACI,iBAAiB,IAAI,IAAI;IAIhC;;OAEG;IACI,wBAAwB,CAC7B,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,OAAO,EAAE,iBAAiB,GACzB,IAAI;cAIY,eAAe,IAAI,IAAI;IAI1C;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,uBAAuB;YASjB,cAAc;IAgC5B,8BAA8B;IAC9B,OAAO,CAAC,WAAW;cAKA,MAAM,IAAI,cAAc;CAmC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/elements/slider/slider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAQhD,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGtB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,YAAY,CAAC;;AAEpB;;;;;;;GAOG;AACH,qBAKM,gBAAiB,SAAQ,qBAAoD;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX;;;OAGG;IACH,IACoB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAQ7C;IACD,IAAoB,KAAK,IAAI,MAAM,CAElC;IAED,oDAAoD;IACpD,IACW,aAAa,CAAC,KAAK,EAAE,MAAM,EAErC;IACD,IAAW,aAAa,IAAI,MAAM,GAAG,IAAI,CAExC;IAED,+DAA+D;IAC/D,IACW,GAAG,CAAC,KAAK,EAAE,MAAM,EAO3B;IACD,IAAW,GAAG,IAAI,MAAM,CAEvB;IACD,OAAO,CAAC,IAAI,CAAe;IAE3B,+DAA+D;IAC/D,IACW,GAAG,CAAC,KAAK,EAAE,MAAM,EAO3B;IACD,IAAW,GAAG,IAAI,MAAM,CAEvB;IACD,OAAO,CAAC,IAAI,CAAiB;IAE7B;;;OAGG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,6FAA6F;IAC7F,SAEgB,SAAS,EAAE,MAAM,CAAM;IAEvC,2FAA2F;IAC3F,SAEgB,OAAO,EAAE,MAAM,CAAM;IAErC;;;OAGG;IACH,IAAoB,IAAI,IAAI,MAAM,CAEjC;IAED;;;OAGG;IACM,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAK;IAE7C;;OAEG;IACH,OAAO,CAAC,UAAU,CAGf;IAEH,iEAAiE;IACjE,OAAO,CAAC,WAAW,CAAoB;IAEvC,OAAO,CAAC,MAAM,CAAyC;;IAQvC,iBAAiB,IAAI,IAAI;cAUtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAc5E;;;OAGG;IACI,iBAAiB,IAAI,IAAI;IAIhC;;OAEG;IACI,wBAAwB,CAC7B,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,OAAO,EAAE,iBAAiB,GACzB,IAAI;cAIY,eAAe,IAAI,IAAI;IAI1C;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,uBAAuB;YASjB,cAAc;IAgC5B,8BAA8B;IAC9B,OAAO,CAAC,WAAW;cAKA,MAAM,IAAI,cAAc;CAmC5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
package/slider.js CHANGED
@@ -4,7 +4,7 @@ var H = (t) => {
4
4
  var L = (t, r, l) => r.has(t) || H("Cannot " + l);
5
5
  var f = (t, r, l) => (L(t, r, "read from private field"), l ? l.call(t) : r.get(t)), p = (t, r, l) => r.has(t) ? H("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(t) : r.set(t, l), b = (t, r, l, o) => (L(t, r, "write to private field"), o ? o.call(t, l) : r.set(t, l), l);
6
6
  import { __esDecorate as d, __runInitializers as n } from "tslib";
7
- import { css as O, LitElement as j, html as x, nothing as y } from "lit";
7
+ import { css as O, LitElement as j, html as y, nothing as x } from "lit";
8
8
  import { customElement as K, property as c, state as Y } from "lit/decorators.js";
9
9
  import { ref as q } from "lit/directives/ref.js";
10
10
  import { styleMap as J } from "lit/directives/style-map.js";
@@ -86,6 +86,13 @@ let me = (() => {
86
86
  set endIcon(e) {
87
87
  b(this, m, e);
88
88
  }
89
+ /**
90
+ * Form type of element.
91
+ * @default 'range'
92
+ */
93
+ get type() {
94
+ return "range";
95
+ }
89
96
  /**
90
97
  * The ratio between the absolute value and the validity interval.
91
98
  * E.g. given `min=0`, `max=100` and `value=50`, then `_valueFraction=0.5`
@@ -164,11 +171,11 @@ let me = (() => {
164
171
  X(e, this), this._didChange.emit();
165
172
  }
166
173
  render() {
167
- return x`
174
+ return y`
168
175
  <div class="sbb-slider__height-container">
169
176
  <div class="sbb-slider__wrapper">
170
177
  <slot name="prefix">
171
- ${this.startIcon ? x`<sbb-icon name="${this.startIcon}"></sbb-icon>` : y}
178
+ ${this.startIcon ? y`<sbb-icon name="${this.startIcon}"></sbb-icon>` : x}
172
179
  </slot>
173
180
  <div
174
181
  class="sbb-slider__container"
@@ -179,7 +186,7 @@ let me = (() => {
179
186
  min=${this.min}
180
187
  max=${this.max}
181
188
  ?disabled=${this.disabled || this.formDisabled || this.readonly}
182
- value=${this.value || y}
189
+ value=${this.value || x}
183
190
  class="sbb-slider__range-input"
184
191
  type="range"
185
192
  @change=${(e) => this._emitChange(e)}
@@ -192,7 +199,7 @@ let me = (() => {
192
199
  <div class="sbb-slider__knob"></div>
193
200
  </div>
194
201
  <slot name="suffix">
195
- ${this.endIcon ? x`<sbb-icon name="${this.endIcon}"></sbb-icon>` : y}
202
+ ${this.endIcon ? y`<sbb-icon name="${this.endIcon}"></sbb-icon>` : x}
196
203
  </slot>
197
204
  </div>
198
205
  </div>
@@ -9,7 +9,7 @@ export declare class SbbTableWrapperElement extends SbbTableWrapperElement_base
9
9
  static styles: CSSResultGroup;
10
10
  private _resizeObserver;
11
11
  private _tableWrapper;
12
- protected firstUpdated(changedProperties: PropertyValues): void;
12
+ protected firstUpdated(changedProperties: PropertyValues<this>): void;
13
13
  private _checkHorizontalScrollbar;
14
14
  protected render(): TemplateResult;
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table-wrapper.d.ts","sourceRoot":"","sources":["../../../../src/elements/table/table-wrapper/table-wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;;AAOb;;;;GAIG;AACH,qBAEM,sBAAuB,SAAQ,2BAA4B;IAC/D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,eAAe,CAIpB;IACH,OAAO,CAAC,aAAa,CAAe;cAEjB,YAAY,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAMxE,OAAO,CAAC,yBAAyB;cAOd,MAAM,IAAI,cAAc;CAK5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
1
+ {"version":3,"file":"table-wrapper.d.ts","sourceRoot":"","sources":["../../../../src/elements/table/table-wrapper/table-wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;;AAOb;;;;GAIG;AACH,qBAEM,sBAAuB,SAAQ,2BAA4B;IAC/D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,eAAe,CAIpB;IACH,OAAO,CAAC,aAAa,CAAe;cAEjB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAM9E,OAAO,CAAC,yBAAyB;cAOd,MAAM,IAAI,cAAc;CAK5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
@@ -9,8 +9,9 @@ export declare class SbbTimetableOccupancyIconElement extends SbbTimetableOccupa
9
9
  static styles: CSSResultGroup;
10
10
  /** Wagon occupancy. */
11
11
  accessor occupancy: SbbOccupancy;
12
- private _abort;
13
12
  private _language;
13
+ private _mediaMatcher;
14
+ private _forcedColors;
14
15
  private _setNameAndAriaLabel;
15
16
  protected fetchSvgIcon(namespace: string, name: string): Promise<string>;
16
17
  private _setAriaLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"timetable-occupancy-icon.d.ts","sourceRoot":"","sources":["../../../src/elements/timetable-occupancy-icon/timetable-occupancy-icon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;;AAIzC;;GAEG;AACH,qBAEM,gCAAiC,SAAQ,qCAA6B;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAA+B;IAE5E,uBAAuB;IACvB,SAA4B,SAAS,EAAE,YAAY,CAAU;IAE7D,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAA2E;YAE9E,oBAAoB;cAeT,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvF,OAAO,CAAC,aAAa;IAOL,iBAAiB,IAAI,IAAI;cAUtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;CAO7E;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,8BAA8B,EAAE,gCAAgC,CAAC;KAClE;CACF"}
1
+ {"version":3,"file":"timetable-occupancy-icon.d.ts","sourceRoot":"","sources":["../../../src/elements/timetable-occupancy-icon/timetable-occupancy-icon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAU1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;;AAIzC;;GAEG;AACH,qBAEM,gCAAiC,SAAQ,qCAA6B;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAA+B;IAE5E,uBAAuB;IACvB,SAA4B,SAAS,EAAE,YAAY,CAAU;IAE7D,OAAO,CAAC,SAAS,CAA2E;IAC5F,OAAO,CAAC,aAAa,CAKlB;IAEH,OAAO,CAAC,aAAa,CAA2E;YAElF,oBAAoB;cAeT,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvF,OAAO,CAAC,aAAa;IAOL,iBAAiB,IAAI,IAAI;cAKtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;CAO7E;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,8BAA8B,EAAE,gCAAgC,CAAC;KAClE;CACF"}
@@ -1,63 +1,64 @@
1
- var p = (e) => {
2
- throw TypeError(e);
1
+ var b = (t) => {
2
+ throw TypeError(t);
3
3
  };
4
- var d = (e, a, c) => a.has(e) || p("Cannot " + c);
5
- var y = (e, a, c) => (d(e, a, "read from private field"), c ? c.call(e) : a.get(e)), _ = (e, a, c) => a.has(e) ? p("Cannot add the same private member more than once") : a instanceof WeakSet ? a.add(e) : a.set(e, c), r = (e, a, c, i) => (d(e, a, "write to private field"), i ? i.call(e, c) : a.set(e, c), c);
6
- import { __runInitializers as l, __esDecorate as f } from "tslib";
7
- import { customElement as A, property as S } from "lit/decorators.js";
8
- import { SbbConnectedAbortController as w, SbbLanguageController as L } from "./core/controllers.js";
9
- import { setOrRemoveAttribute as I } from "./core/dom.js";
10
- import { i18nOccupancy as x } from "./core/i18n.js";
11
- import { SbbNegativeMixin as z } from "./core/mixins.js";
12
- import { SbbIconBase as g } from "./icon.js";
13
- import { css as C } from "lit";
14
- const N = C`@media (forced-colors: active) and (prefers-color-scheme: light){:host svg{filter:invert(1)}}`;
15
- let R = (() => {
16
- var o, n;
17
- let e = [A("sbb-timetable-occupancy-icon")], a, c = [], i, u = z(g), m, h = [], b = [];
18
- return n = class extends u {
4
+ var _ = (t, a, c) => a.has(t) || b("Cannot " + c);
5
+ var d = (t, a, c) => (_(t, a, "read from private field"), c ? c.call(t) : a.get(t)), y = (t, a, c) => a.has(t) ? b("Cannot add the same private member more than once") : a instanceof WeakSet ? a.add(t) : a.set(t, c), l = (t, a, c, s) => (_(t, a, "write to private field"), s ? s.call(t, c) : a.set(t, c), c);
6
+ import { __runInitializers as n, __esDecorate as f } from "tslib";
7
+ import { customElement as A, property as C } from "lit/decorators.js";
8
+ import { SbbLanguageController as I, SbbMediaMatcherController as L, SbbMediaQueryForcedColors as g } from "./core/controllers.js";
9
+ import { setOrRemoveAttribute as w } from "./core/dom.js";
10
+ import { i18nOccupancy as M } from "./core/i18n.js";
11
+ import { SbbNegativeMixin as x } from "./core/mixins.js";
12
+ import { SbbIconBase as v } from "./icon.js";
13
+ import { css as z } from "lit";
14
+ const N = z`@media (forced-colors: active) and (prefers-color-scheme: light){:host svg{filter:invert(1)}}`;
15
+ let Q = (() => {
16
+ var o, r;
17
+ let t = [A("sbb-timetable-occupancy-icon")], a, c = [], s, u = x(v), m, h = [], p = [];
18
+ return r = class extends u {
19
19
  constructor() {
20
20
  super(...arguments);
21
- _(this, o);
22
- r(this, o, l(this, h, "none")), this._abort = (l(this, b), new w(this)), this._language = new L(this).withHandler(() => this._setAriaLabel());
21
+ y(this, o);
22
+ l(this, o, n(this, h, "none")), this._language = (n(this, p), new I(this).withHandler(() => this._setAriaLabel())), this._mediaMatcher = new L(this, {
23
+ [g]: (e) => {
24
+ this._forcedColors = e, this._setNameAndAriaLabel();
25
+ }
26
+ }), this._forcedColors = this._mediaMatcher.matches(g) ?? !1;
23
27
  }
24
28
  /** Wagon occupancy. */
25
29
  get occupancy() {
26
- return y(this, o);
30
+ return d(this, o);
27
31
  }
28
- set occupancy(t) {
29
- r(this, o, t);
32
+ set occupancy(e) {
33
+ l(this, o, e);
30
34
  }
31
35
  async _setNameAndAriaLabel() {
32
- var s;
33
36
  if (!this.occupancy)
34
37
  return;
35
- let t = `utilization-${this.occupancy}`;
36
- (s = globalThis.window) != null && s.matchMedia("(forced-colors: active)").matches ? t += "-high-contrast" : this.negative && (t += "-negative"), await this.loadSvgIcon(t);
38
+ let e = `utilization-${this.occupancy}`;
39
+ this._forcedColors ? e += "-high-contrast" : this.negative && (e += "-negative"), await this.loadSvgIcon(e);
37
40
  }
38
- async fetchSvgIcon(t, s) {
39
- return this._setAriaLabel(), super.fetchSvgIcon(t, s);
41
+ async fetchSvgIcon(e, i) {
42
+ return this._setAriaLabel(), super.fetchSvgIcon(e, i);
40
43
  }
41
44
  _setAriaLabel() {
42
- var s;
43
- const t = (s = x[this.occupancy]) == null ? void 0 : s[this._language.current];
44
- I(this, "aria-label", t);
45
+ var i;
46
+ const e = (i = M[this.occupancy]) == null ? void 0 : i[this._language.current];
47
+ w(this, "aria-label", e);
45
48
  }
46
49
  connectedCallback() {
47
- super.connectedCallback(), window.matchMedia("(forced-colors: active)").addEventListener("change", () => this._setNameAndAriaLabel(), {
48
- signal: this._abort.signal
49
- }), this._setNameAndAriaLabel();
50
- }
51
- willUpdate(t) {
52
- super.willUpdate(t), (t.has("occupancy") || t.has("negative")) && this._setNameAndAriaLabel();
53
- }
54
- }, o = new WeakMap(), i = n, (() => {
55
- const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(u[Symbol.metadata] ?? null) : void 0;
56
- m = [S()], f(n, null, m, { kind: "accessor", name: "occupancy", static: !1, private: !1, access: { has: (s) => "occupancy" in s, get: (s) => s.occupancy, set: (s, v) => {
57
- s.occupancy = v;
58
- } }, metadata: t }, h, b), f(null, a = { value: i }, e, { kind: "class", name: i.name, metadata: t }, null, c), i = a.value, t && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
59
- })(), n.styles = [g.styles, N], l(i, c), i;
50
+ super.connectedCallback(), this._setNameAndAriaLabel();
51
+ }
52
+ willUpdate(e) {
53
+ super.willUpdate(e), (e.has("occupancy") || e.has("negative")) && this._setNameAndAriaLabel();
54
+ }
55
+ }, o = new WeakMap(), s = r, (() => {
56
+ const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(u[Symbol.metadata] ?? null) : void 0;
57
+ m = [C()], f(r, null, m, { kind: "accessor", name: "occupancy", static: !1, private: !1, access: { has: (i) => "occupancy" in i, get: (i) => i.occupancy, set: (i, S) => {
58
+ i.occupancy = S;
59
+ } }, metadata: e }, h, p), f(null, a = { value: s }, t, { kind: "class", name: s.name, metadata: e }, null, c), s = a.value, e && Object.defineProperty(s, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
60
+ })(), r.styles = [v.styles, N], n(s, c), s;
60
61
  })();
61
62
  export {
62
- R as SbbTimetableOccupancyIconElement
63
+ Q as SbbTimetableOccupancyIconElement
63
64
  };
@@ -21,7 +21,7 @@ export declare class SbbToggleCheckElement extends SbbToggleCheckElement_base {
21
21
  accessor iconName: string;
22
22
  /** The label position relative to the toggle. Defaults to 'after' */
23
23
  accessor labelPosition: 'before' | 'after';
24
- protected willUpdate(changedProperties: PropertyValues<this>): Promise<void>;
24
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
25
25
  protected render(): TemplateResult;
26
26
  }
27
27
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-check.d.ts","sourceRoot":"","sources":["../../../src/elements/toggle-check/toggle-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;;AASvC;;;;;;;;;GASG;AACH,qBAGM,qBAAsB,SAAQ,0BAA4D;IAC9F,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX,uCAAuC;IACvC,SAA6C,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAO;IAE1E,gEAAgE;IAChE,SAEyB,QAAQ,EAAE,MAAM,CAAgB;IAEzD,qEAAqE;IACrE,SACgB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAW;cAEnC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cASxE,MAAM,IAAI,cAAc;CAgB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
1
+ {"version":3,"file":"toggle-check.d.ts","sourceRoot":"","sources":["../../../src/elements/toggle-check/toggle-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;;AASvC;;;;;;;;;GASG;AACH,qBAGM,qBAAsB,SAAQ,0BAA4D;IAC9F,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX,uCAAuC;IACvC,SAA6C,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAO;IAE1E,gEAAgE;IAChE,SAEyB,QAAQ,EAAE,MAAM,CAAgB;IAEzD,qEAAqE;IACrE,SACgB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAW;cAEzC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cASzD,MAAM,IAAI,cAAc;CAgB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
package/toggle-check.js CHANGED
@@ -42,7 +42,7 @@ let J = (() => {
42
42
  set labelPosition(s) {
43
43
  k(this, n, s);
44
44
  }
45
- async willUpdate(s) {
45
+ willUpdate(s) {
46
46
  super.willUpdate(s), s.has("checked") && (this.internals.ariaChecked = `${this.checked}`, this.toggleAttribute("data-checked", this.checked));
47
47
  }
48
48
  render() {