@sbb-esta/lyne-elements 2.0.3 → 2.1.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 (195) hide show
  1. package/accordion/accordion.d.ts.map +1 -1
  2. package/accordion.js +6 -6
  3. package/alert/alert.js +8 -8
  4. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  5. package/autocomplete-grid/autocomplete-grid-button.js +4 -4
  6. package/autocomplete-grid/autocomplete-grid-optgroup.js +4 -4
  7. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +1 -1
  8. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
  9. package/autocomplete-grid/autocomplete-grid-option.js +10 -10
  10. package/autocomplete-grid/autocomplete-grid-row.js +4 -4
  11. package/autocomplete.js +92 -89
  12. package/breadcrumb/breadcrumb-group.js +4 -4
  13. package/button/accent-button-link.js +9 -9
  14. package/button/accent-button-static.js +6 -6
  15. package/button/accent-button.js +6 -6
  16. package/button/button-link.js +7 -7
  17. package/button/button-static.js +7 -7
  18. package/button/button.js +8 -8
  19. package/button/common.js +1 -1
  20. package/button/mini-button-group.js +8 -8
  21. package/button/secondary-button-link.js +7 -7
  22. package/button/secondary-button-static.js +7 -7
  23. package/button/secondary-button.js +3 -3
  24. package/button/transparent-button-link.js +6 -6
  25. package/button/transparent-button-static.js +5 -5
  26. package/button/transparent-button.js +6 -6
  27. package/card/card-badge.js +9 -9
  28. package/card/card-button.js +5 -5
  29. package/card/card-link.js +7 -7
  30. package/checkbox/checkbox-panel.js +16 -16
  31. package/checkbox/checkbox.js +15 -15
  32. package/checkbox/common.js +3 -3
  33. package/clock.js +8 -8
  34. package/container/container/container.d.ts +1 -1
  35. package/container/container/container.d.ts.map +1 -1
  36. package/container/container.js +21 -21
  37. package/container/sticky-bar/sticky-bar.d.ts +1 -1
  38. package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  39. package/container/sticky-bar.js +4 -4
  40. package/core/base-elements.js +8 -8
  41. package/core/controllers.js +4 -4
  42. package/core/datetime/date-adapter.d.ts +1 -1
  43. package/core/datetime/date-adapter.d.ts.map +1 -1
  44. package/core/datetime/native-date-adapter.d.ts +1 -1
  45. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  46. package/core/datetime.js +6 -6
  47. package/core/dom/scroll.d.ts +1 -1
  48. package/core/dom/scroll.d.ts.map +1 -1
  49. package/core/dom.js +39 -39
  50. package/core/eventing.js +4 -4
  51. package/core/mixins.js +18 -18
  52. package/core/styles/core.scss +21 -2
  53. package/core/testing.js +14 -14
  54. package/core.css +18 -2
  55. package/custom-elements.json +364 -428
  56. package/datepicker/common/datepicker-association-controllers.d.ts +21 -0
  57. package/datepicker/common/datepicker-association-controllers.d.ts.map +1 -0
  58. package/datepicker/common/datepicker-button.d.ts +17 -9
  59. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  60. package/datepicker/common.d.ts +1 -0
  61. package/datepicker/common.d.ts.map +1 -1
  62. package/datepicker/common.js +130 -92
  63. package/datepicker/datepicker/datepicker.d.ts +19 -4
  64. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  65. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +14 -8
  66. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  67. package/datepicker/datepicker-toggle.js +108 -112
  68. package/datepicker/datepicker.js +95 -80
  69. package/development/accordion/accordion.d.ts.map +1 -1
  70. package/development/accordion.js +1 -1
  71. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  72. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +1 -1
  73. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -1
  74. package/development/autocomplete-grid/autocomplete-grid-option.js +3 -3
  75. package/development/autocomplete.js +24 -8
  76. package/development/button/common.js +4 -2
  77. package/development/calendar.js +1 -1
  78. package/development/container/container/container.d.ts +1 -1
  79. package/development/container/container/container.d.ts.map +1 -1
  80. package/development/container/container.js +17 -1
  81. package/development/container/sticky-bar/sticky-bar.d.ts +1 -1
  82. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  83. package/development/container/sticky-bar.js +9 -1
  84. package/development/core/datetime/date-adapter.d.ts +1 -1
  85. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  86. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  87. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  88. package/development/core/datetime.js +1 -1
  89. package/development/core/dom/scroll.d.ts +1 -1
  90. package/development/core/dom/scroll.d.ts.map +1 -1
  91. package/development/core/dom.js +4 -4
  92. package/development/core/mixins.js +1 -1
  93. package/development/datepicker/common/datepicker-association-controllers.d.ts +21 -0
  94. package/development/datepicker/common/datepicker-association-controllers.d.ts.map +1 -0
  95. package/development/datepicker/common/datepicker-button.d.ts +17 -9
  96. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  97. package/development/datepicker/common.d.ts +1 -0
  98. package/development/datepicker/common.d.ts.map +1 -1
  99. package/development/datepicker/common.js +139 -90
  100. package/development/datepicker/datepicker/datepicker.d.ts +19 -4
  101. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  102. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +14 -8
  103. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  104. package/development/datepicker/datepicker-toggle.js +65 -69
  105. package/development/datepicker/datepicker.js +54 -36
  106. package/development/dialog/dialog/dialog.d.ts +2 -0
  107. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  108. package/development/dialog/dialog.js +37 -11
  109. package/development/menu/menu/menu.d.ts.map +1 -1
  110. package/development/menu/menu.js +35 -12
  111. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  112. package/development/navigation/navigation.js +15 -8
  113. package/development/option/option/option-base-element.d.ts +3 -2
  114. package/development/option/option/option-base-element.d.ts.map +1 -1
  115. package/development/option/option.js +15 -8
  116. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  117. package/development/overlay/overlay.d.ts.map +1 -1
  118. package/development/overlay.js +29 -13
  119. package/development/popover/popover/popover.d.ts.map +1 -1
  120. package/development/popover/popover.js +16 -13
  121. package/development/select/select.d.ts +11 -0
  122. package/development/select/select.d.ts.map +1 -1
  123. package/development/select.js +60 -9
  124. package/development/toast/toast.d.ts.map +1 -1
  125. package/development/toast.js +14 -8
  126. package/development/toggle/toggle.js +1 -1
  127. package/development/train/train-wagon.js +1 -1
  128. package/dialog/dialog/dialog.d.ts +2 -0
  129. package/dialog/dialog/dialog.d.ts.map +1 -1
  130. package/dialog/dialog-content.js +3 -3
  131. package/dialog/dialog-title.js +8 -8
  132. package/dialog/dialog.js +59 -49
  133. package/divider.js +12 -12
  134. package/file-selector/file-selector-dropzone.js +5 -5
  135. package/file-selector/file-selector.js +6 -6
  136. package/flip-card/flip-card-details.js +4 -4
  137. package/flip-card/flip-card-summary.js +9 -9
  138. package/header/header-button.js +5 -5
  139. package/header/header-link.js +5 -5
  140. package/icon.js +36 -36
  141. package/link/block-link-button.js +4 -4
  142. package/link/block-link-static.js +9 -9
  143. package/link/block-link.js +4 -4
  144. package/link/common.js +16 -16
  145. package/link/link-button.js +7 -7
  146. package/link/link-static.js +7 -7
  147. package/link/link.js +4 -4
  148. package/link-list/common.js +12 -12
  149. package/loading-indicator-circle.js +11 -11
  150. package/map-container.js +4 -4
  151. package/menu/common.js +7 -7
  152. package/menu/menu/menu.d.ts.map +1 -1
  153. package/menu/menu-button.js +8 -8
  154. package/menu/menu-link.js +6 -6
  155. package/menu/menu.js +64 -42
  156. package/navigation/navigation/navigation.d.ts.map +1 -1
  157. package/navigation/navigation-button.js +4 -4
  158. package/navigation/navigation-link.js +7 -7
  159. package/navigation/navigation-list.js +4 -4
  160. package/navigation/navigation-marker.js +3 -3
  161. package/navigation/navigation.js +21 -20
  162. package/notification.js +17 -17
  163. package/option/optgroup.js +11 -11
  164. package/option/option/option-base-element.d.ts +3 -2
  165. package/option/option/option-base-element.d.ts.map +1 -1
  166. package/option/option.js +113 -101
  167. package/overlay/overlay-base-element.d.ts.map +1 -1
  168. package/overlay/overlay.d.ts.map +1 -1
  169. package/overlay.js +87 -84
  170. package/package.json +1 -1
  171. package/paginator/common.js +6 -6
  172. package/popover/popover/popover.d.ts.map +1 -1
  173. package/popover/popover.js +73 -73
  174. package/radio-button/radio-button-panel.js +5 -5
  175. package/screen-reader-only.js +5 -5
  176. package/select/select.d.ts +11 -0
  177. package/select/select.d.ts.map +1 -1
  178. package/select.js +111 -83
  179. package/slider.js +8 -8
  180. package/standard-theme.css +18 -2
  181. package/status.js +3 -3
  182. package/stepper/step-label.js +4 -4
  183. package/table/table-wrapper.js +4 -4
  184. package/tabs/tab-group.js +24 -24
  185. package/tabs/tab.js +3 -3
  186. package/tag/tag-group.js +7 -7
  187. package/teaser-product/common.js +5 -5
  188. package/teaser-product/teaser-product-static.js +2 -2
  189. package/timetable-occupancy-icon.js +3 -3
  190. package/timetable-occupancy.js +6 -6
  191. package/toast/toast.d.ts.map +1 -1
  192. package/toast.js +58 -54
  193. package/toggle/toggle-option.js +11 -11
  194. package/toggle-check.js +5 -5
  195. package/train/train.js +28 -28
package/select.js CHANGED
@@ -1,70 +1,77 @@
1
- var R = (a) => {
1
+ var Z = (a) => {
2
2
  throw TypeError(a);
3
3
  };
4
- var q = (a, o, r) => o.has(a) || R("Cannot " + r);
5
- var f = (a, o, r) => (q(a, o, "read from private field"), r ? r.call(a) : o.get(a)), g = (a, o, r) => o.has(a) ? R("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(a) : o.set(a, r), d = (a, o, r, b) => (q(a, o, "write to private field"), b ? b.call(a, r) : o.set(a, r), r);
6
- import { __esDecorate as m, __runInitializers as h } from "tslib";
7
- import { MutationController as Z } from "@lit-labs/observers/mutation-controller.js";
8
- import { css as G, html as w, nothing as k } from "lit";
9
- import { customElement as W, property as E, state as J } from "lit/decorators.js";
10
- import { ref as A } from "lit/directives/ref.js";
11
- import { until as j } 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 { SbbLanguageController as ee } from "./core/controllers.js";
15
- import { hostAttributes as te, forceType as O } from "./core/decorators.js";
16
- import { setOrRemoveAttribute as C, isZeroAnimationDuration as se, isNextjs as H, isSafari as ie } from "./core/dom.js";
17
- import { EventEmitter as S } from "./core/eventing.js";
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 = 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-duration, 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}}`, x = ie;
21
- let ce = 0, Ie = (() => {
22
- var p, c, v, u, n;
23
- let a = [W("sbb-select"), te({
24
- role: x ? "listbox" : null
25
- })], o, r = [], b, D = ae(oe(re(le(ne(be(X)))))), I, V = [], L = [], $, P = [], T = [], z, N = [], U = [], B, K = [], M = [];
26
- var _ = (n = class extends D {
4
+ var G = (a, l, r) => l.has(a) || Z("Cannot " + r);
5
+ var f = (a, l, r) => (G(a, l, "read from private field"), r ? r.call(a) : l.get(a)), g = (a, l, r) => l.has(a) ? Z("Cannot add the same private member more than once") : l instanceof WeakSet ? l.add(a) : l.set(a, r), b = (a, l, r, h) => (G(a, l, "write to private field"), h ? h.call(a, r) : l.set(a, r), r);
6
+ import { __esDecorate as m, __runInitializers as d } from "tslib";
7
+ import { MutationController as X } from "@lit-labs/observers/mutation-controller.js";
8
+ import { css as ee, html as x, nothing as A } from "lit";
9
+ import { customElement as te, property as k, state as se } from "lit/decorators.js";
10
+ import { ref as C } from "lit/directives/ref.js";
11
+ import { until as W } from "lit/directives/until.js";
12
+ import { getNextElementIndex as ie } from "./core/a11y.js";
13
+ import { SbbOpenCloseBaseElement as ae } from "./core/base-elements.js";
14
+ import { SbbLanguageController as oe } from "./core/controllers.js";
15
+ import { hostAttributes as le, forceType as E, handleDistinctChange as S, getOverride as re } from "./core/decorators.js";
16
+ import { setOrRemoveAttribute as D, isZeroAnimationDuration as ne, isNextjs as J, isSafari as be } from "./core/dom.js";
17
+ import { EventEmitter as I } from "./core/eventing.js";
18
+ import { SbbUpdateSchedulerMixin as de, SbbDisabledMixin as he, SbbNegativeMixin as pe, SbbHydrationMixin as ce, SbbRequiredMixin as ue, SbbFormAssociatedMixin as ve } from "./core/mixins.js";
19
+ import { isEventOnElement as Q, setOverlayPosition as _e, overlayGapFixCorners as fe } from "./core/overlay.js";
20
+ const ge = ee`*,: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-duration, 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__container[popover]{margin:0;padding:0;border:none;width:auto;height:auto;background-color:transparent}.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}}`, O = be;
21
+ let me = 0, ze = (() => {
22
+ var p, c, u, v, _, n;
23
+ let a = [te("sbb-select"), le({
24
+ role: O ? "listbox" : null
25
+ })], l, r = [], h, V = de(he(pe(ce(ue(ve(ae)))))), L, P = [], $ = [], T, z = [], U = [], M, N = [], R = [], B, q = [], K = [], F, j = [], H = [];
26
+ var y = (n = class extends V {
27
27
  constructor() {
28
28
  var e, t, s;
29
29
  super();
30
30
  g(this, p);
31
31
  g(this, c);
32
- g(this, v);
33
32
  g(this, u);
34
- d(this, p, h(this, V, "")), d(this, c, (h(this, L), h(this, P, !1))), d(this, v, (h(this, T), h(this, N, !1))), d(this, u, (h(this, U), h(this, K, null))), this._change = (h(this, M), new S(this, _.events.change)), this._input = new S(this, _.events.input), this._stateChange = new S(this, _.events.stateChange, {
33
+ g(this, v);
34
+ g(this, _);
35
+ b(this, p, d(this, P, "")), b(this, c, (d(this, $), d(this, z, !1))), b(this, u, (d(this, U), d(this, N, !1))), b(this, v, (d(this, R), d(this, q, !1))), b(this, _, (d(this, K), d(this, j, null))), this._change = (d(this, H), new I(this, y.events.change)), this._input = new I(this, y.events.input), this._stateChange = new I(this, y.events.stateChange, {
35
36
  composed: !1
36
- }), this._overlayId = `sbb-select-${++ce}`, this._activeItemIndex = -1, this._searchString = "", this._didLoad = !1, this._isPointerDownEventOnMenu = !1, this._pointerDownListener = (i) => {
37
- this._isPointerDownEventOnMenu = Y(this._overlay, i);
37
+ }), this._overlayId = `sbb-select-${++me}`, this._activeItemIndex = -1, this._searchString = "", this._didLoad = !1, this._isPointerDownEventOnMenu = !1, this._pointerDownListener = (i) => {
38
+ this._isPointerDownEventOnMenu = Q(this._overlay, i);
38
39
  }, this._closeOnBackdropClick = (i) => {
39
- !this._isPointerDownEventOnMenu && !Y(this._overlay, i) && this.close();
40
+ !this._isPointerDownEventOnMenu && !Q(this._overlay, i) && this.close();
40
41
  }, (e = this.addEventListener) == null || e.call(this, "optionSelectionChange", (i) => this._onOptionChanged(i)), (t = this.addEventListener) == null || t.call(this, "optionLabelChanged", (i) => this._onOptionLabelChanged(i)), (s = this.addEventListener) == null || s.call(this, "click", (i) => {
41
- const l = i.target;
42
- l.localName === "sbb-option" ? !this.multiple && !l.disabled && (this.close(), this.focus()) : this._toggleOpening();
43
- }), new Z(this, {
42
+ const o = i.target;
43
+ o.localName === "sbb-option" ? !this.multiple && !o.disabled && (this.close(), this.focus()) : this._toggleOpening();
44
+ }), new X(this, {
44
45
  config: { attributeFilter: ["aria-labelledby", "aria-label", "aria-describedby"] },
45
46
  callback: () => this._syncAriaLabels()
46
- }), new ee(this).withHandler(() => setTimeout(() => this._syncAriaLabels()));
47
+ }), new oe(this).withHandler(() => setTimeout(() => this._syncAriaLabels()));
47
48
  }
48
49
  /** The placeholder used if no value has been selected. */
49
50
  get placeholder() {
50
51
  return f(this, p);
51
52
  }
52
53
  set placeholder(e) {
53
- d(this, p, e);
54
+ b(this, p, e);
54
55
  }
55
56
  /** Whether the select allows for multiple selection. */
56
57
  get multiple() {
57
58
  return f(this, c);
58
59
  }
59
60
  set multiple(e) {
60
- d(this, c, e);
61
+ b(this, c, e);
62
+ }
63
+ get disabled() {
64
+ return f(this, u);
65
+ }
66
+ set disabled(e) {
67
+ b(this, u, e);
61
68
  }
62
69
  /** Whether the select is readonly. */
63
70
  get readonly() {
64
71
  return f(this, v);
65
72
  }
66
73
  set readonly(e) {
67
- d(this, v, e);
74
+ b(this, v, e);
68
75
  }
69
76
  /**
70
77
  * Form type of element.
@@ -75,10 +82,10 @@ let ce = 0, Ie = (() => {
75
82
  }
76
83
  /** The value displayed by the component. */
77
84
  get _displayValue() {
78
- return f(this, u);
85
+ return f(this, _);
79
86
  }
80
87
  set _displayValue(e) {
81
- d(this, u, e);
88
+ b(this, _, e);
82
89
  }
83
90
  /**
84
91
  * The 'combobox' input element
@@ -97,18 +104,19 @@ let ce = 0, Ie = (() => {
97
104
  }
98
105
  _syncAriaLabels() {
99
106
  var e;
100
- this._triggerElement && (C(this._triggerElement, "aria-labelledby", this.getAttribute("aria-labelledby")), C(this._triggerElement, "aria-label", this.getAttribute("aria-label")), C(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(", "))));
107
+ this._triggerElement && (D(this._triggerElement, "aria-labelledby", this.getAttribute("aria-labelledby")), D(this._triggerElement, "aria-label", this.getAttribute("aria-label")), D(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(", "))));
101
108
  }
102
109
  /** Opens the selection panel. */
103
110
  open() {
104
- this.state !== "closed" || !this._overlay || this._options.length === 0 || this.disabled || this.formDisabled || this.willOpen.emit() && (this.state = "opening", this._setOverlayPosition(), this._isZeroAnimationDuration() && this._handleOpening());
111
+ var e, t, s;
112
+ this.state !== "closed" || !this._overlay || this._options.length === 0 || this.disabled || this.formDisabled || this.willOpen.emit() && ((s = (t = (e = this.shadowRoot) == null ? void 0 : e.querySelector(".sbb-select__container")) == null ? void 0 : t.showPopover) == null || s.call(t), this.state = "opening", this._setOverlayPosition(), this._isZeroAnimationDuration() && this._handleOpening());
105
113
  }
106
114
  /** Closes the selection panel. */
107
115
  close() {
108
116
  this.state === "opened" && this.willClose.emit() && (this.state = "closing", this._openPanelEventsController.abort(), this._isZeroAnimationDuration() && this._handleClosing());
109
117
  }
110
118
  _isZeroAnimationDuration() {
111
- return se(this, "--sbb-options-panel-animation-duration");
119
+ return ne(this, "--sbb-options-panel-animation-duration");
112
120
  }
113
121
  /** Gets the current displayed value. */
114
122
  getDisplayValue() {
@@ -127,6 +135,20 @@ let ce = 0, Ie = (() => {
127
135
  _updateDisplayValue(e) {
128
136
  Array.isArray(e) ? this._displayValue = e.map((t) => t.textContent).join(", ") || null : e ? this._displayValue = (e == null ? void 0 : e.textContent) || null : this._displayValue = null;
129
137
  }
138
+ /**
139
+ * The `value` property should be adapted when the `multiple` property changes:
140
+ * - if it changes to true, the 'value' is set to an array;
141
+ * - if it changes to false, the first available option is set as 'value' otherwise it's set to null.
142
+ */
143
+ _onMultipleChanged(e) {
144
+ e ? this.value = this.value !== null ? [this.value] : [] : this.value = this.value.length ? this.value[0] : null;
145
+ }
146
+ /**
147
+ * If the `disabled` or the `readonly` properties are set, and the panel is open, close it.
148
+ */
149
+ _closeOnDisabledReadonlyChanged(e) {
150
+ this.isOpen && e && this.close();
151
+ }
130
152
  /** Sets the _displayValue by checking the internal sbb-options and setting the correct `selected` value on them. */
131
153
  _onValueChanged(e) {
132
154
  const t = this._filteredOptions;
@@ -141,7 +163,7 @@ let ce = 0, Ie = (() => {
141
163
  this._stateChange.emit({ type: "value", value: e });
142
164
  }
143
165
  firstUpdated(e) {
144
- super.firstUpdated(e), this.focus = () => this._triggerElement.focus(), this.blur = () => this._triggerElement.blur(), H() || (this.startUpdate(), this._setupSelect());
166
+ super.firstUpdated(e), this.focus = () => this._triggerElement.focus(), this.blur = () => this._triggerElement.blur(), J() || (this.startUpdate(), this._setupSelect());
145
167
  }
146
168
  /**
147
169
  * Removes element's first attribute whose qualified name is qualifiedName.
@@ -150,11 +172,11 @@ let ce = 0, Ie = (() => {
150
172
  * @internal We need to override this due to a hydration issue with Next.js.
151
173
  */
152
174
  removeAttribute(e) {
153
- H() && e === "defer-hydration" && !this._didLoad && this.updateComplete.then(() => this._setupSelect()), super.removeAttribute(e);
175
+ J() && e === "defer-hydration" && !this._didLoad && this.updateComplete.then(() => this._setupSelect()), super.removeAttribute(e);
154
176
  }
155
177
  connectedCallback() {
156
178
  var t, s;
157
- super.connectedCallback(), x && (this.id || (this.id = this._overlayId));
179
+ super.connectedCallback(), O && (this.id || (this.id = this._overlayId));
158
180
  const e = ((t = this.closest) == null ? void 0 : t.call(this, "sbb-form-field")) ?? ((s = this.closest) == null ? void 0 : s.call(this, "[data-form-field]"));
159
181
  e && (this.negative = e.hasAttribute("negative")), this._syncProperties(), this._syncAriaLabels(), this._didLoad && (this._setupOrigin(), this._setupTrigger()), this.value && this._onValueChanged(this.value);
160
182
  }
@@ -190,9 +212,12 @@ let ce = 0, Ie = (() => {
190
212
  this.multiple ? this.value = e.map((s) => s[1]) : this.value = e;
191
213
  }
192
214
  _syncProperties() {
193
- var e, t;
194
- (e = this.querySelectorAll) == null || e.call(this, "sbb-divider").forEach((s) => s.negative = this.negative), (t = this.querySelectorAll) == null || t.call(this, "sbb-option, sbb-optgroup").forEach((s) => {
195
- s.toggleAttribute("data-negative", this.negative), s.toggleAttribute("data-multiple", this.multiple);
215
+ var e, t, s;
216
+ (e = this.querySelectorAll) == null || e.call(this, "sbb-divider").forEach((i) => i.negative = this.negative), (t = this.querySelectorAll) == null || t.call(this, "sbb-option, sbb-optgroup").forEach((i) => {
217
+ i.toggleAttribute("data-negative", this.negative), i.toggleAttribute("data-multiple", this.multiple);
218
+ }), (s = this.querySelectorAll) == null || s.call(this, "sbb-option, sbb-optgroup").forEach((i) => {
219
+ var o;
220
+ return (o = i.requestUpdate) == null ? void 0 : o.call(i);
196
221
  });
197
222
  }
198
223
  _setupSelect() {
@@ -200,9 +225,9 @@ let ce = 0, Ie = (() => {
200
225
  }
201
226
  /** Sets the originElement; if the component is used in a sbb-form-field uses it, otherwise uses the parentElement. */
202
227
  _setupOrigin() {
203
- var t, s, i, l;
228
+ var t, s, i, o;
204
229
  const e = (t = this.closest) == null ? void 0 : t.call(this, "sbb-form-field");
205
- this._originElement = ((i = (s = e == null ? void 0 : e.shadowRoot) == null ? void 0 : s.querySelector) == null ? void 0 : i.call(s, "#overlay-anchor")) ?? this.parentElement, this._originElement && this.toggleAttribute("data-option-panel-origin-borderless", !!((l = e == null ? void 0 : e.hasAttribute) != null && l.call(e, "borderless")));
230
+ this._originElement = ((i = (s = e == null ? void 0 : e.shadowRoot) == null ? void 0 : s.querySelector) == null ? void 0 : i.call(s, "#overlay-anchor")) ?? this.parentElement, this._originElement && this.toggleAttribute("data-option-panel-origin-borderless", !!((o = e == null ? void 0 : e.hasAttribute) != null && o.call(e, "borderless")));
206
231
  }
207
232
  /**
208
233
  * To assess screen-readers problems caused by the interaction between aria patterns and shadow DOM,
@@ -215,7 +240,7 @@ let ce = 0, Ie = (() => {
215
240
  this._triggerElement.style.top = "0px", this._triggerElement.style.height = `${e.offsetHeight}px`, this._triggerElement.style.width = `${e.offsetWidth}px`;
216
241
  }
217
242
  _setOverlayPosition() {
218
- de(this._overlay, this._originElement, this._optionContainer, this.shadowRoot.querySelector(".sbb-select__container"), this);
243
+ _e(this._overlay, this._originElement, this._optionContainer, this.shadowRoot.querySelector(".sbb-select__container"), this);
219
244
  }
220
245
  // In rare cases it can be that the animationEnd event is triggered twice.
221
246
  // To avoid entering a corrupt state, exit when state is not expected.
@@ -226,7 +251,8 @@ let ce = 0, Ie = (() => {
226
251
  this.state = "opened", this._attachOpenPanelEvents(), this._triggerElement.setAttribute("aria-expanded", "true"), this.didOpen.emit();
227
252
  }
228
253
  _handleClosing() {
229
- this.state = "closed", this._triggerElement.setAttribute("aria-expanded", "false"), this._resetActiveElement(), this._optionContainer.scrollTop = 0, this.didClose.emit();
254
+ var e, t, s;
255
+ this.state = "closed", (s = (t = (e = this.shadowRoot) == null ? void 0 : e.querySelector(".sbb-select__container")) == null ? void 0 : t.hidePopover) == null || s.call(t), this._triggerElement.setAttribute("aria-expanded", "false"), this._resetActiveElement(), this._optionContainer.scrollTop = 0, this.didClose.emit();
230
256
  }
231
257
  /** When an option is selected, updates the displayValue; it also closes the select if not `multiple`. */
232
258
  _onOptionSelected(e) {
@@ -303,18 +329,18 @@ let ce = 0, Ie = (() => {
303
329
  const t = this._activeItemIndex + 1, s = [
304
330
  ...this._filteredOptions.slice(t),
305
331
  ...this._filteredOptions.slice(0, t)
306
- ], i = s.find((l) => {
307
- var y;
308
- return ((y = l.textContent) == null ? void 0 : y.toLowerCase().indexOf(this._searchString.toLowerCase())) === 0;
332
+ ], i = s.find((o) => {
333
+ var w;
334
+ return ((w = o.textContent) == null ? void 0 : w.toLowerCase().indexOf(this._searchString.toLowerCase())) === 0;
309
335
  });
310
336
  if (i)
311
337
  this._setNextActiveOption(e, this._filteredOptions.indexOf(i));
312
338
  else if (this._searchString.length > 1 && new RegExp(`^${this._searchString.charAt(0)}*$`).test(this._searchString)) {
313
- const l = s.find((y) => {
314
- var F;
315
- return ((F = y.textContent) == null ? void 0 : F.toLowerCase().indexOf(this._searchString[0].toLowerCase())) === 0;
339
+ const o = s.find((w) => {
340
+ var Y;
341
+ return ((Y = w.textContent) == null ? void 0 : Y.toLowerCase().indexOf(this._searchString[0].toLowerCase())) === 0;
316
342
  });
317
- l && this._setNextActiveOption(e, this._filteredOptions.indexOf(l));
343
+ o && this._setNextActiveOption(e, this._filteredOptions.indexOf(o));
318
344
  } else
319
345
  clearTimeout(this._searchTimeout), this._searchString = "";
320
346
  }
@@ -323,8 +349,8 @@ let ce = 0, Ie = (() => {
323
349
  this.multiple ? e.setSelectedViaUserInteraction(!e.selected) : this.close();
324
350
  }
325
351
  _setNextActiveOption(e, t) {
326
- const s = t ?? Q(e, this._activeItemIndex, this._filteredOptions.length), i = this._filteredOptions[s], l = this._filteredOptions[this._activeItemIndex];
327
- this._setActiveElement(i, l), this.multiple ? e != null && e.shiftKey && i.setSelectedViaUserInteraction(!i.selected) : this._setSelectedElement(i, l), this._activeItemIndex = s;
352
+ const s = t ?? ie(e, this._activeItemIndex, this._filteredOptions.length), i = this._filteredOptions[s], o = this._filteredOptions[this._activeItemIndex];
353
+ this._setActiveElement(i, o), this.multiple ? e != null && e.shiftKey && i.setSelectedViaUserInteraction(!i.selected) : this._setSelectedElement(i, o), this._activeItemIndex = s;
328
354
  }
329
355
  _setActiveElement(e, t = null, s = !0) {
330
356
  e.setActive(!0), e.scrollIntoView({ block: "nearest" }), s && this._triggerElement.setAttribute("aria-activedescendant", e.id), t && t !== e && t.setActive(!1);
@@ -368,15 +394,15 @@ let ce = 0, Ie = (() => {
368
394
  return [this._deferredDisplayValue(e), e];
369
395
  }
370
396
  async _deferredDisplayValue(e) {
371
- return this.hydrationRequired && await this.hydrationComplete, this._displayValue ? w`${this._displayValue}` : e;
397
+ return this.hydrationRequired && await this.hydrationComplete, this._displayValue ? x`${this._displayValue}` : e;
372
398
  }
373
399
  render() {
374
- return w`
400
+ return x`
375
401
  <!-- This element is visually hidden and will be appended to the light DOM to allow screen
376
402
  readers to work properly -->
377
403
  <div
378
404
  class="sbb-screen-reader-only"
379
- tabindex=${this.disabled || this.formDisabled ? k : "0"}
405
+ tabindex=${this.disabled || this.formDisabled ? A : "0"}
380
406
  role="combobox"
381
407
  aria-haspopup="listbox"
382
408
  aria-expanded="false"
@@ -385,31 +411,31 @@ let ce = 0, Ie = (() => {
385
411
  aria-owns=${this._overlayId}
386
412
  @keydown=${this._onKeyDown}
387
413
  @click=${this._toggleOpening}
388
- ${A((e) => this._triggerElement = e)}
414
+ ${C((e) => this._triggerElement = e)}
389
415
  >
390
- ${j(...this._spreadDeferredDisplayValue(w`<span>${this.placeholder}</span>`))}
416
+ ${W(...this._spreadDeferredDisplayValue(x`<span>${this.placeholder}</span>`))}
391
417
  </div>
392
418
 
393
419
  <!-- Visually display the value -->
394
420
  <div class="sbb-select__trigger" aria-hidden="true">
395
- ${j(...this._spreadDeferredDisplayValue(w`<span class="sbb-select__trigger--placeholder">${this.placeholder}</span>`))}
421
+ ${W(...this._spreadDeferredDisplayValue(x`<span class="sbb-select__trigger--placeholder">${this.placeholder}</span>`))}
396
422
  </div>
397
423
 
398
424
  <div class="sbb-select__gap-fix"></div>
399
- <div class="sbb-select__container">
400
- <div class="sbb-select__gap-fix">${he()}</div>
425
+ <div class="sbb-select__container" popover="manual">
426
+ <div class="sbb-select__gap-fix">${fe()}</div>
401
427
  <div
402
428
  @animationend=${this._onAnimationEnd}
403
429
  class="sbb-select__panel"
404
- ${A((e) => this._overlay = e)}
430
+ ${C((e) => this._overlay = e)}
405
431
  >
406
432
  <div class="sbb-select__wrapper">
407
433
  <div
408
- id=${x ? k : this._overlayId}
434
+ id=${O ? A : this._overlayId}
409
435
  class="sbb-select__options"
410
- role=${x ? k : "listbox"}
436
+ role=${O ? A : "listbox"}
411
437
  ?aria-multiselectable=${this.multiple}
412
- ${A((e) => this._optionContainer = e)}
438
+ ${C((e) => this._optionContainer = e)}
413
439
  >
414
440
  <slot @slotchange=${this._setValueFromSelected}></slot>
415
441
  </div>
@@ -418,18 +444,20 @@ let ce = 0, Ie = (() => {
418
444
  </div>
419
445
  `;
420
446
  }
421
- }, p = new WeakMap(), c = new WeakMap(), v = new WeakMap(), u = new WeakMap(), b = n, (() => {
422
- const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(D[Symbol.metadata] ?? null) : void 0;
423
- I = [O(), E()], $ = [O(), E({ reflect: !0, type: Boolean })], z = [O(), E({ type: Boolean })], B = [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) => {
447
+ }, p = new WeakMap(), c = new WeakMap(), u = new WeakMap(), v = new WeakMap(), _ = new WeakMap(), h = n, (() => {
448
+ const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(V[Symbol.metadata] ?? null) : void 0;
449
+ L = [E(), k()], T = [E(), S((t, s) => t._onMultipleChanged(s)), k({ reflect: !0, type: Boolean })], M = [E(), S((t, s) => t._closeOnDisabledReadonlyChanged(s)), k({ reflect: !0, type: Boolean }), re((t, s) => s || t.isDisabledExternally())], B = [E(), S((t, s) => t._closeOnDisabledReadonlyChanged(s)), k({ type: Boolean })], F = [se()], m(n, null, L, { kind: "accessor", name: "placeholder", static: !1, private: !1, access: { has: (t) => "placeholder" in t, get: (t) => t.placeholder, set: (t, s) => {
424
450
  t.placeholder = s;
425
- } }, 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) => {
451
+ } }, metadata: e }, P, $), m(n, null, T, { kind: "accessor", name: "multiple", static: !1, private: !1, access: { has: (t) => "multiple" in t, get: (t) => t.multiple, set: (t, s) => {
426
452
  t.multiple = s;
427
- } }, 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) => {
453
+ } }, metadata: e }, z, U), m(n, null, M, { kind: "accessor", name: "disabled", static: !1, private: !1, access: { has: (t) => "disabled" in t, get: (t) => t.disabled, set: (t, s) => {
454
+ t.disabled = s;
455
+ } }, metadata: e }, N, R), m(n, null, B, { kind: "accessor", name: "readonly", static: !1, private: !1, access: { has: (t) => "readonly" in t, get: (t) => t.readonly, set: (t, s) => {
428
456
  t.readonly = s;
429
- } }, 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) => {
457
+ } }, metadata: e }, q, K), m(n, null, F, { kind: "accessor", name: "_displayValue", static: !1, private: !1, access: { has: (t) => "_displayValue" in t, get: (t) => t._displayValue, set: (t, s) => {
430
458
  t._displayValue = s;
431
- } }, metadata: e }, K, M), m(null, o = { value: b }, a, { kind: "class", name: b.name, metadata: e }, null, r), _ = b = o.value, e && Object.defineProperty(b, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
432
- })(), n.styles = pe, n.events = {
459
+ } }, metadata: e }, j, H), m(null, l = { value: h }, a, { kind: "class", name: h.name, metadata: e }, null, r), y = h = l.value, e && Object.defineProperty(h, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
460
+ })(), n.styles = ge, n.events = {
433
461
  change: "change",
434
462
  input: "input",
435
463
  stateChange: "stateChange",
@@ -437,9 +465,9 @@ let ce = 0, Ie = (() => {
437
465
  didOpen: "didOpen",
438
466
  willClose: "willClose",
439
467
  didClose: "didClose"
440
- }, h(b, r), n);
441
- return _ = b;
468
+ }, d(h, r), n);
469
+ return y = h;
442
470
  })();
443
471
  export {
444
- Ie as SbbSelectElement
472
+ ze as SbbSelectElement
445
473
  };
package/slider.js CHANGED
@@ -2,8 +2,8 @@ var L = (t) => {
2
2
  throw TypeError(t);
3
3
  };
4
4
  var O = (t, r, l) => r.has(t) || L("Cannot " + l);
5
- var f = (t, r, l) => (O(t, r, "read from private field"), l ? l.call(t) : r.get(t)), p = (t, r, l) => r.has(t) ? L("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(t) : r.set(t, l), b = (t, r, l, o) => (O(t, r, "write to private field"), o ? o.call(t, l) : r.set(t, l), l);
6
- import { __esDecorate as d, __runInitializers as n } from "tslib";
5
+ var f = (t, r, l) => (O(t, r, "read from private field"), l ? l.call(t) : r.get(t)), p = (t, r, l) => r.has(t) ? L("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(t) : r.set(t, l), b = (t, r, l, n) => (O(t, r, "write to private field"), n ? n.call(t, l) : r.set(t, l), l);
6
+ import { __esDecorate as d, __runInitializers as o } from "tslib";
7
7
  import { css as j, LitElement as H, 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";
@@ -17,7 +17,7 @@ let he = (() => {
17
17
  var h, u, m, v, a;
18
18
  let t = [K("sbb-slider"), P({
19
19
  tabindex: "0"
20
- })], r, l = [], o, w = X(Z(H)), _ = [], I, z, F, N, M, S = [], E = [], V, A = [], D = [], C, $ = [], T = [], U, B = [], R = [];
20
+ })], r, l = [], n, w = X(Z(H)), _ = [], I, z, F, N, M, S = [], E = [], V, A = [], D = [], C, $ = [], T = [], U, B = [], R = [];
21
21
  var g = (a = class extends w {
22
22
  constructor() {
23
23
  var e;
@@ -26,7 +26,7 @@ let he = (() => {
26
26
  p(this, u);
27
27
  p(this, m);
28
28
  p(this, v);
29
- this._min = (n(this, _), "0"), this._max = "100", b(this, h, n(this, S, !1)), b(this, u, (n(this, E), n(this, A, ""))), b(this, m, (n(this, D), n(this, $, ""))), b(this, v, (n(this, T), n(this, B, 0))), this._didChange = (n(this, R), new Q(this, g.events.didChange, {
29
+ this._min = (o(this, _), "0"), this._max = "100", b(this, h, o(this, S, !1)), b(this, u, (o(this, E), o(this, A, ""))), b(this, m, (o(this, D), o(this, $, ""))), b(this, v, (o(this, T), o(this, B, 0))), this._didChange = (o(this, R), new Q(this, g.events.didChange, {
30
30
  bubbles: !0,
31
31
  cancelable: !0
32
32
  })), this.internals.role = "slider", (e = this.addEventListener) == null || e.call(this, "keydown", (s) => this._handleKeydown(s));
@@ -203,7 +203,7 @@ let he = (() => {
203
203
  </div>
204
204
  `;
205
205
  }
206
- }, h = new WeakMap(), u = new WeakMap(), m = new WeakMap(), v = new WeakMap(), o = a, (() => {
206
+ }, h = new WeakMap(), u = new WeakMap(), m = new WeakMap(), v = new WeakMap(), n = a, (() => {
207
207
  const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(w[Symbol.metadata] ?? null) : void 0;
208
208
  I = [c()], z = [c({ attribute: "value-as-number", type: Number })], F = [c()], N = [c()], M = [k(), c({ type: Boolean })], V = [k(), c({ attribute: "start-icon" })], C = [k(), c({ attribute: "end-icon" })], U = [Y()], d(a, null, I, { kind: "setter", name: "value", static: !1, private: !1, access: { has: (s) => "value" in s, set: (s, i) => {
209
209
  s.value = i;
@@ -221,11 +221,11 @@ let he = (() => {
221
221
  s.endIcon = i;
222
222
  } }, metadata: e }, $, T), d(a, null, U, { kind: "accessor", name: "_valueFraction", static: !1, private: !1, access: { has: (s) => "_valueFraction" in s, get: (s) => s._valueFraction, set: (s, i) => {
223
223
  s._valueFraction = i;
224
- } }, metadata: e }, B, R), d(null, r = { value: o }, t, { kind: "class", name: o.name, metadata: e }, null, l), g = o = r.value, e && Object.defineProperty(o, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
224
+ } }, metadata: e }, B, R), d(null, r = { value: n }, t, { kind: "class", name: n.name, metadata: e }, null, l), g = n = r.value, e && Object.defineProperty(n, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
225
225
  })(), a.styles = ee, a.events = {
226
226
  didChange: "didChange"
227
- }, n(o, l), a);
228
- return g = o;
227
+ }, o(n, l), a);
228
+ return g = n;
229
229
  })();
230
230
  export {
231
231
  he as SbbSliderElement
@@ -1359,13 +1359,29 @@ sbb-menu,
1359
1359
  sbb-navigation,
1360
1360
  sbb-navigation-section,
1361
1361
  sbb-overlay,
1362
+ sbb-popover,
1362
1363
  sbb-select,
1363
1364
  sbb-skiplink-list,
1364
- sbb-toast,
1365
- sbb-popover):not(:defined) {
1365
+ sbb-toast):not(:defined) {
1366
1366
  display: none;
1367
1367
  }
1368
1368
 
1369
+ [popover]:where(sbb-autocomplete,
1370
+ sbb-autocomplete-grid,
1371
+ sbb-dialog,
1372
+ sbb-menu,
1373
+ sbb-navigation,
1374
+ sbb-overlay,
1375
+ sbb-popover,
1376
+ sbb-toast) {
1377
+ margin: 0;
1378
+ padding: 0;
1379
+ border: none;
1380
+ width: auto;
1381
+ background-color: transparent;
1382
+ color: inherit;
1383
+ }
1384
+
1369
1385
  sbb-breadcrumb-group:not(:defined) {
1370
1386
  display: block;
1371
1387
  height: calc(var(--sbb-typo-line-height-body-text) * var(--sbb-font-size-text-xs));
package/status.js CHANGED
@@ -12,7 +12,7 @@ import "./title.js";
12
12
  const P = T`*,:before,:after{box-sizing:border-box}:host{--sbb-status-gap: var(--sbb-spacing-fixed-1x);--sbb-status-icon-color: var(--sbb-color-iron);--sbb-status-text-color: var(--sbb-color-iron);--_sbb-status-icon-font-size: var(--sbb-font-size-text-s);display:block}:host([type=error]){--sbb-status-text-color: var(--sbb-color-red125)}:host(:is([type=error],[type=error]:is([data-slot-names~=title],[title-content]))){--sbb-status-icon-color: var(--sbb-color-red125)}:host([type=success]){--sbb-status-text-color: var(--sbb-color-green)}:host(:is([type=success],[type=success]:is([data-slot-names~=title],[title-content]))){--sbb-status-icon-color: var(--sbb-color-green)}:host([type=warning]){--sbb-status-icon-color: var(--sbb-color-charcoal);--sbb-status-text-color: var(--sbb-color-charcoal)}:host([type=pending]){--sbb-status-text-color: var(--sbb-color-sky)}:host(:is([type=pending],[type=pending]:is([data-slot-names~=title],[title-content]))){--sbb-status-icon-color: var(--sbb-color-sky)}:host([type=incomplete]){--sbb-status-text-color: var(--sbb-color-red125)}:host(:is([type=incomplete],[type=incomplete]:is([data-slot-names~=title],[title-content]))){--sbb-status-icon-color: var(--sbb-color-red125)}:host([type=not-started]){--sbb-status-icon-color: var(--sbb-color-smoke);--sbb-status-text-color: var(--sbb-color-charcoal)}:host(:is([type=not-started],[type=in-progress]:is([data-slot-names~=title],[title-content]))){--sbb-status-icon-color: var(--sbb-color-smoke)}:host([type=in-progress]){--sbb-status-text-color: var(--sbb-color-pink)}:host(:is([type=in-progress],[type=in-progress]:is([data-slot-names~=title],[title-content]))){--sbb-status-icon-color: var(--sbb-color-pink)}:host(:is([data-slot-names~=title],[title-content])){--sbb-status-text-color: var(--sbb-color-granite);--sbb-status-icon-color: var(--sbb-color-charcoal);--sbb-status-gap: var(--sbb-spacing-responsive-xxxs);--_sbb-status-icon-font-size: var(--sbb-font-size-title-5)}.sbb-status{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);display:flex;gap:var(--sbb-status-gap);color:var(--sbb-status-text-color)}.sbb-status__icon{display:flex;flex-shrink:0;color:var(--sbb-status-icon-color);margin-block-start:calc((var(--_sbb-status-icon-font-size) * var(--sbb-typo-line-height-body-text) - var(--sbb-size-icon-ui-small)) / 2)}.sbb-status__title{margin-block:0}:host(:not(:is([data-slot-names~=title],[title-content]))) .sbb-status__title{display:none}.sbb-status__content-slot{display:inline;margin:0;padding:0}`;
13
13
  let Q = (() => {
14
14
  var c, b, p, i;
15
- let t = [D("sbb-status"), j()], e, o = [], l, y = O($), _, g = [], f = [], x, z = [], k = [], C, L = [], S = [];
15
+ let t = [D("sbb-status"), j()], e, o = [], l, y = O($), _, f = [], g = [], x, z = [], k = [], C, L = [], S = [];
16
16
  return i = class extends y {
17
17
  constructor() {
18
18
  super(...arguments);
@@ -28,7 +28,7 @@ let Q = (() => {
28
28
  ["incomplete", "circle-dotted-part-x-small"],
29
29
  ["not-started", "circle-dotted-small"],
30
30
  ["in-progress", "circle-dotted-part-small"]
31
- ]), r(this, c, n(this, g, "info")), r(this, b, (n(this, f), n(this, z, ""))), r(this, p, (n(this, k), n(this, L, "3"))), n(this, S);
31
+ ]), r(this, c, n(this, f, "info")), r(this, b, (n(this, g), n(this, z, ""))), r(this, p, (n(this, k), n(this, L, "3"))), n(this, S);
32
32
  }
33
33
  /** The type of the status. */
34
34
  get type() {
@@ -77,7 +77,7 @@ let Q = (() => {
77
77
  const a = typeof Symbol == "function" && Symbol.metadata ? Object.create(y[Symbol.metadata] ?? null) : void 0;
78
78
  _ = [v({ reflect: !0 })], x = [M(), v({ attribute: "title-content", reflect: !0, converter: N })], C = [v({ attribute: "title-level" })], h(i, null, _, { kind: "accessor", name: "type", static: !1, private: !1, access: { has: (s) => "type" in s, get: (s) => s.type, set: (s, u) => {
79
79
  s.type = u;
80
- } }, metadata: a }, g, f), h(i, null, x, { kind: "accessor", name: "titleContent", static: !1, private: !1, access: { has: (s) => "titleContent" in s, get: (s) => s.titleContent, set: (s, u) => {
80
+ } }, metadata: a }, f, g), h(i, null, x, { kind: "accessor", name: "titleContent", static: !1, private: !1, access: { has: (s) => "titleContent" in s, get: (s) => s.titleContent, set: (s, u) => {
81
81
  s.titleContent = u;
82
82
  } }, metadata: a }, z, k), h(i, null, C, { kind: "accessor", name: "titleLevel", static: !1, private: !1, access: { has: (s) => "titleLevel" in s, get: (s) => s.titleLevel, set: (s, u) => {
83
83
  s.titleLevel = u;
@@ -4,15 +4,15 @@ import { customElement as f } from "lit/decorators.js";
4
4
  import { SbbButtonBaseElement as h } from "../core/base-elements.js";
5
5
  import { hostAttributes as v } from "../core/decorators.js";
6
6
  import { SbbDisabledMixin as x } from "../core/mixins.js";
7
- import { SbbIconNameMixin as m } from "../icon.js";
8
- const u = c`*,:before,:after{box-sizing:border-box}:host{--sbb-step-label-color: var(--sbb-color-iron);--sbb-step-label-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-2x) );--sbb-step-label-prefix-size: var(--sbb-size-element-xxs);--sbb-step-label-prefix-border-style: solid;--sbb-step-label-prefix-border-color: var(--sbb-color-cloud);--sbb-step-label-prefix-background-color: var(--sbb-color-white);--sbb-step-label-gap: var(--sbb-spacing-fixed-4x);position:relative;min-width:0;max-width:fit-content}:host:before{--sbb-text-font-size: var(--sbb-font-size-text-xxs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);cursor:var(--sbb-step-label-cursor);color:var(--sbb-step-label-color);inset-block-start:calc(var(--sbb-font-size-text-l) * var(--sbb-typo-line-height-body-text) / 2 + var(--sbb-border-width-1x) / 2);inset-inline-start:calc(var(--sbb-step-label-prefix-size) / 2);line-height:1;z-index:1;transform:translate(-50%,calc(-50% + var(--sbb-step-label-translate-y-content-hover, 0rem)));transition:transform var(--sbb-step-label-animation-duration) var(--sbb-animation-easing)}@media (forced-colors: active){:host{--sbb-step-label-color: ButtonText;--sbb-step-label-prefix-border-color: ButtonText}}:host([data-selected]){--sbb-text-font-size: var(--sbb-font-size-text-xxs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700;--sbb-step-label-color: var(--sbb-color-charcoal)}@media (forced-colors: active){:host([data-selected]){--sbb-step-label-color: Highlight !important}}:host([data-size=s]){--sbb-step-label-gap: var(--sbb-spacing-fixed-3x);--sbb-step-label-prefix-size: var(--sbb-size-element-xxxs)}:host([data-size=s]):before{inset-block-start:calc(var(--sbb-font-size-text-m) * var(--sbb-typo-line-height-body-text) / 2 + var(--sbb-border-width-1x) / 2)}:host(:disabled){--sbb-step-label-color: var(--sbb-color-granite);--sbb-step-label-prefix-border-style: dashed}@media (forced-colors: active){:host(:disabled){--sbb-step-label-color: GrayText !important}}@media (any-hover: hover){:host(:hover:not(:disabled)){--sbb-step-label-cursor: pointer;--sbb-step-label-prefix-background-color: var(--sbb-color-milk);--sbb-step-label-translate-y-content-hover: -.0625rem;--sbb-step-label-prefix-size-grow-hover: calc(var(--sbb-border-width-2x) * -1)}}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])){outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);border-radius:var(--sbb-border-radius-1x)}:host([data-orientation=vertical]){transition:margin var(--sbb-stepper-animation-duration) var(--sbb-animation-easing)}:host([data-orientation=vertical]:not(:first-of-type)){margin-block-start:var(--sbb-spacing-fixed-6x)}:host([data-selected][data-orientation=vertical]){margin-block-end:var(--sbb-spacing-fixed-8x)}.sbb-step-label{--sbb-text-font-size: var(--sbb-font-size-text-l);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700;cursor:var(--sbb-step-label-cursor);position:relative;display:flex;gap:var(--sbb-step-label-gap);color:var(--sbb-step-label-color)}:host([data-size=s]) .sbb-step-label{--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700}.sbb-step-label__prefix{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--sbb-step-label-prefix-size);height:var(--sbb-step-label-prefix-size);inset-block-start:calc(1em * var(--sbb-typo-line-height-body-text) / 2 + var(--sbb-border-width-1x) / 2 - var(--sbb-step-label-prefix-size) / 2)}.sbb-step-label__prefix:before{content:"";position:absolute;inset:calc(var(--sbb-step-label-prefix-size-grow-hover, 0rem));border-radius:var(--sbb-border-radius-infinity);border:var(--sbb-border-width-1x) var(--sbb-step-label-prefix-border-style) var(--sbb-step-label-prefix-border-color);background-color:var(--sbb-step-label-prefix-background-color);transition-duration:var(--sbb-step-label-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:background-color,inset}:host([data-orientation=horizontal]) .sbb-step-label__text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}::slotted(sbb-icon),sbb-icon{z-index:1;background-color:var(--sbb-step-label-prefix-background-color);border-radius:var(--sbb-border-radius-infinity);transform:translateY(var(--sbb-step-label-translate-y-content-hover, 0rem));transition-duration:var(--sbb-step-label-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:background-color,transform}`;
7
+ import { SbbIconNameMixin as u } from "../icon.js";
8
+ const m = c`*,:before,:after{box-sizing:border-box}:host{--sbb-step-label-color: var(--sbb-color-iron);--sbb-step-label-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-2x) );--sbb-step-label-prefix-size: var(--sbb-size-element-xxs);--sbb-step-label-prefix-border-style: solid;--sbb-step-label-prefix-border-color: var(--sbb-color-cloud);--sbb-step-label-prefix-background-color: var(--sbb-color-white);--sbb-step-label-gap: var(--sbb-spacing-fixed-4x);position:relative;min-width:0;max-width:fit-content}:host:before{--sbb-text-font-size: var(--sbb-font-size-text-xxs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);cursor:var(--sbb-step-label-cursor);color:var(--sbb-step-label-color);inset-block-start:calc(var(--sbb-font-size-text-l) * var(--sbb-typo-line-height-body-text) / 2 + var(--sbb-border-width-1x) / 2);inset-inline-start:calc(var(--sbb-step-label-prefix-size) / 2);line-height:1;z-index:1;transform:translate(-50%,calc(-50% + var(--sbb-step-label-translate-y-content-hover, 0rem)));transition:transform var(--sbb-step-label-animation-duration) var(--sbb-animation-easing)}@media (forced-colors: active){:host{--sbb-step-label-color: ButtonText;--sbb-step-label-prefix-border-color: ButtonText}}:host([data-selected]){--sbb-text-font-size: var(--sbb-font-size-text-xxs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700;--sbb-step-label-color: var(--sbb-color-charcoal)}@media (forced-colors: active){:host([data-selected]){--sbb-step-label-color: Highlight !important}}:host([data-size=s]){--sbb-step-label-gap: var(--sbb-spacing-fixed-3x);--sbb-step-label-prefix-size: var(--sbb-size-element-xxxs)}:host([data-size=s]):before{inset-block-start:calc(var(--sbb-font-size-text-m) * var(--sbb-typo-line-height-body-text) / 2 + var(--sbb-border-width-1x) / 2)}:host(:disabled){--sbb-step-label-color: var(--sbb-color-granite);--sbb-step-label-prefix-border-style: dashed}@media (forced-colors: active){:host(:disabled){--sbb-step-label-color: GrayText !important}}@media (any-hover: hover){:host(:hover:not(:disabled)){--sbb-step-label-cursor: pointer;--sbb-step-label-prefix-background-color: var(--sbb-color-milk);--sbb-step-label-translate-y-content-hover: -.0625rem;--sbb-step-label-prefix-size-grow-hover: calc(var(--sbb-border-width-2x) * -1)}}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])){outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);border-radius:var(--sbb-border-radius-1x)}:host([data-orientation=vertical]){transition:margin var(--sbb-stepper-animation-duration) var(--sbb-animation-easing)}:host([data-orientation=vertical]:not(:first-of-type)){margin-block-start:var(--sbb-spacing-fixed-6x)}:host([data-selected][data-orientation=vertical]){margin-block-end:var(--sbb-spacing-fixed-8x)}.sbb-step-label{--sbb-text-font-size: var(--sbb-font-size-text-l);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700;cursor:var(--sbb-step-label-cursor);position:relative;display:flex;gap:var(--sbb-step-label-gap);color:var(--sbb-step-label-color)}:host([data-size=s]) .sbb-step-label{--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700}.sbb-step-label__prefix{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--sbb-step-label-prefix-size);height:var(--sbb-step-label-prefix-size);inset-block-start:calc(1em * var(--sbb-typo-line-height-body-text) / 2 + var(--sbb-border-width-1x) / 2 - var(--sbb-step-label-prefix-size) / 2)}.sbb-step-label__prefix:before{content:"";position:absolute;inset:calc(var(--sbb-step-label-prefix-size-grow-hover, 0rem));border-radius:var(--sbb-border-radius-infinity);border:var(--sbb-border-width-1x) var(--sbb-step-label-prefix-border-style) var(--sbb-step-label-prefix-border-color);background-color:var(--sbb-step-label-prefix-background-color);transition-duration:var(--sbb-step-label-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:background-color,inset}:host([data-orientation=horizontal]) .sbb-step-label__text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}::slotted(sbb-icon),sbb-icon{z-index:1;background-color:var(--sbb-step-label-prefix-background-color);border-radius:var(--sbb-border-radius-infinity);transform:translateY(var(--sbb-step-label-translate-y-content-hover, 0rem));transition-duration:var(--sbb-step-label-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:background-color,transform}`;
9
9
  let g = 0, E = (() => {
10
10
  var s;
11
11
  let b = [f("sbb-step-label"), v({
12
12
  slot: "step-label",
13
13
  tabindex: "-1",
14
14
  role: "tab"
15
- })], a, i = [], e, r = m(x(h));
15
+ })], a, i = [], e, r = u(x(h));
16
16
  return s = class extends r {
17
17
  /** The step controlled by the label. */
18
18
  get step() {
@@ -68,7 +68,7 @@ let g = 0, E = (() => {
68
68
  }, e = s, (() => {
69
69
  const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(r[Symbol.metadata] ?? null) : void 0;
70
70
  n(null, a = { value: e }, b, { kind: "class", name: e.name, metadata: t }, null, i), e = a.value, t && Object.defineProperty(e, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
71
- })(), s.styles = u, p(e, i), e;
71
+ })(), s.styles = m, p(e, i), e;
72
72
  })();
73
73
  export {
74
74
  E as SbbStepLabelElement