@sbb-esta/lyne-elements 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/accordion/accordion.d.ts +1 -2
  2. package/accordion/accordion.d.ts.map +1 -1
  3. package/accordion.js +39 -44
  4. package/alert/alert-group/alert-group.d.ts +1 -2
  5. package/alert/alert-group/alert-group.d.ts.map +1 -1
  6. package/alert/alert-group.js +29 -34
  7. package/autocomplete/autocomplete-base-element.d.ts +1 -0
  8. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  9. package/autocomplete/autocomplete.d.ts +1 -1
  10. package/autocomplete/autocomplete.d.ts.map +1 -1
  11. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +1 -1
  12. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  13. package/autocomplete-grid/autocomplete-grid.js +18 -22
  14. package/autocomplete.js +17 -18
  15. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +1 -2
  16. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  17. package/breadcrumb/breadcrumb-group.js +26 -30
  18. package/button/common.js +4 -4
  19. package/calendar/calendar.d.ts +3 -3
  20. package/calendar/calendar.d.ts.map +1 -1
  21. package/checkbox/checkbox-group/checkbox-group.d.ts +1 -1
  22. package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  23. package/checkbox/checkbox-group.js +34 -36
  24. package/core/base-elements/button-base-element.d.ts +1 -1
  25. package/core/base-elements/button-base-element.d.ts.map +1 -1
  26. package/core/base-elements.js +1 -1
  27. package/core/controllers/connected-abort-controller.d.ts +4 -0
  28. package/core/controllers/connected-abort-controller.d.ts.map +1 -1
  29. package/core/eventing/forward-event.d.ts +7 -1
  30. package/core/eventing/forward-event.d.ts.map +1 -1
  31. package/core/eventing.js +14 -12
  32. package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  33. package/core/mixins/form-associated-radio-button-mixin.d.ts +1 -0
  34. package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
  35. package/core/mixins.js +28 -34
  36. package/core/styles/core.scss +13 -12
  37. package/core/styles/mixins/buttons.scss +1 -1
  38. package/core/styles/mixins/lists.scss +100 -35
  39. package/core.css +2 -1
  40. package/custom-elements.json +226 -366
  41. package/datepicker/common/datepicker-button.d.ts +1 -1
  42. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  43. package/datepicker/common.js +24 -24
  44. package/datepicker/datepicker/datepicker.d.ts +1 -1
  45. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  46. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +1 -2
  47. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  48. package/datepicker/datepicker-toggle.js +76 -75
  49. package/datepicker/datepicker.js +58 -60
  50. package/development/accordion/accordion.d.ts +1 -2
  51. package/development/accordion/accordion.d.ts.map +1 -1
  52. package/development/accordion.js +16 -23
  53. package/development/alert/alert-group/alert-group.d.ts +1 -2
  54. package/development/alert/alert-group/alert-group.d.ts.map +1 -1
  55. package/development/alert/alert-group.js +12 -17
  56. package/development/autocomplete/autocomplete-base-element.d.ts +1 -0
  57. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  58. package/development/autocomplete/autocomplete.d.ts +1 -1
  59. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  60. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +1 -1
  61. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  62. package/development/autocomplete-grid/autocomplete-grid.js +9 -12
  63. package/development/autocomplete.js +12 -12
  64. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +1 -2
  65. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  66. package/development/breadcrumb/breadcrumb-group.js +13 -17
  67. package/development/button/common.js +20 -6
  68. package/development/calendar/calendar.d.ts +3 -3
  69. package/development/calendar/calendar.d.ts.map +1 -1
  70. package/development/calendar.js +1 -1
  71. package/development/checkbox/checkbox-group/checkbox-group.d.ts +1 -1
  72. package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  73. package/development/checkbox/checkbox-group.js +10 -15
  74. package/development/core/base-elements/button-base-element.d.ts +1 -1
  75. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  76. package/development/core/base-elements.js +2 -2
  77. package/development/core/controllers/connected-abort-controller.d.ts +4 -0
  78. package/development/core/controllers/connected-abort-controller.d.ts.map +1 -1
  79. package/development/core/controllers.js +1 -1
  80. package/development/core/eventing/forward-event.d.ts +7 -1
  81. package/development/core/eventing/forward-event.d.ts.map +1 -1
  82. package/development/core/eventing.js +5 -3
  83. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  84. package/development/core/mixins/form-associated-radio-button-mixin.d.ts +1 -0
  85. package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
  86. package/development/core/mixins.js +9 -18
  87. package/development/datepicker/common/datepicker-button.d.ts +1 -1
  88. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  89. package/development/datepicker/common.js +6 -7
  90. package/development/datepicker/datepicker/datepicker.d.ts +1 -1
  91. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  92. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +1 -2
  93. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  94. package/development/datepicker/datepicker-toggle.js +14 -14
  95. package/development/datepicker/datepicker.js +8 -11
  96. package/development/dialog/dialog/dialog.d.ts +1 -1
  97. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  98. package/development/dialog/dialog-content/dialog-content.d.ts.map +1 -1
  99. package/development/dialog/dialog-content.js +3 -2
  100. package/development/dialog/dialog.js +7 -13
  101. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +1 -1
  102. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  103. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +1 -2
  104. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
  105. package/development/expansion-panel/expansion-panel-header.js +7 -11
  106. package/development/expansion-panel/expansion-panel.js +5 -7
  107. package/development/file-selector/common.js +3 -3
  108. package/development/flip-card/flip-card/flip-card.d.ts +1 -2
  109. package/development/flip-card/flip-card/flip-card.d.ts.map +1 -1
  110. package/development/flip-card/flip-card.js +12 -15
  111. package/development/footer/footer.d.ts +1 -1
  112. package/development/footer.js +2 -2
  113. package/development/form-field/form-field-clear/form-field-clear.d.ts +1 -1
  114. package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
  115. package/development/form-field/form-field-clear.js +5 -6
  116. package/development/image/image.d.ts +2 -2
  117. package/development/image.js +1 -1
  118. package/development/map-container/map-container.d.ts.map +1 -1
  119. package/development/map-container.js +3 -2
  120. package/development/menu/menu/menu.d.ts +2 -1
  121. package/development/menu/menu/menu.d.ts.map +1 -1
  122. package/development/menu/menu.js +20 -13
  123. package/development/message.js +2 -1
  124. package/development/navigation/common/navigation-action-common.d.ts +1 -1
  125. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  126. package/development/navigation/common.js +11 -13
  127. package/development/navigation/navigation/navigation.d.ts +0 -1
  128. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  129. package/development/navigation/navigation-section/navigation-section.d.ts +1 -0
  130. package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  131. package/development/navigation/navigation-section.js +5 -6
  132. package/development/navigation/navigation.js +9 -10
  133. package/development/notification.js +2 -2
  134. package/development/option/option/option-base-element.d.ts +1 -1
  135. package/development/option/option/option-base-element.d.ts.map +1 -1
  136. package/development/option/option.js +17 -21
  137. package/development/overlay/overlay-base-element.d.ts +1 -0
  138. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  139. package/development/overlay.js +4 -4
  140. package/development/popover/popover/popover.d.ts.map +1 -1
  141. package/development/popover/popover.js +6 -3
  142. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  143. package/development/radio-button/common.js +11 -11
  144. package/development/radio-button/radio-button-group/radio-button-group.d.ts +3 -3
  145. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  146. package/development/radio-button/radio-button-group.js +5 -9
  147. package/development/select/select.d.ts +5 -2
  148. package/development/select/select.d.ts.map +1 -1
  149. package/development/select.js +59 -34
  150. package/development/selection-expansion-panel/selection-expansion-panel.d.ts +1 -1
  151. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  152. package/development/selection-expansion-panel.js +6 -8
  153. package/development/slider/slider.d.ts +1 -2
  154. package/development/slider/slider.d.ts.map +1 -1
  155. package/development/slider.js +6 -8
  156. package/development/stepper/step/step.d.ts +5 -5
  157. package/development/stepper/step/step.d.ts.map +1 -1
  158. package/development/stepper/step-label/step-label.d.ts +1 -1
  159. package/development/stepper/step-label/step-label.d.ts.map +1 -1
  160. package/development/stepper/step-label.js +12 -14
  161. package/development/stepper/step.js +8 -10
  162. package/development/stepper/stepper/stepper.d.ts +9 -8
  163. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  164. package/development/stepper/stepper.js +28 -27
  165. package/development/tabs/tab-group/tab-group.d.ts +1 -2
  166. package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
  167. package/development/tabs/tab-group.js +9 -14
  168. package/development/tag/tag/tag.d.ts +1 -1
  169. package/development/tag/tag/tag.d.ts.map +1 -1
  170. package/development/tag/tag-group/tag-group.d.ts +1 -1
  171. package/development/tag/tag-group/tag-group.d.ts.map +1 -1
  172. package/development/tag/tag-group.js +1 -1
  173. package/development/tag/tag.js +5 -6
  174. package/development/teaser-hero.js +6 -2
  175. package/development/time-input/time-input.d.ts +1 -1
  176. package/development/time-input/time-input.d.ts.map +1 -1
  177. package/development/time-input.js +6 -4
  178. package/development/toast/toast.d.ts +1 -1
  179. package/development/toast/toast.d.ts.map +1 -1
  180. package/development/toast.js +6 -7
  181. package/development/toggle/toggle/toggle.d.ts +1 -1
  182. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  183. package/development/toggle/toggle-option/toggle-option.d.ts +1 -1
  184. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  185. package/development/toggle/toggle-option.js +9 -13
  186. package/development/toggle/toggle.js +6 -8
  187. package/development/train/train-formation/train-formation.d.ts +1 -2
  188. package/development/train/train-formation/train-formation.d.ts.map +1 -1
  189. package/development/train/train-formation.js +8 -12
  190. package/dialog/dialog/dialog.d.ts +1 -1
  191. package/dialog/dialog/dialog.d.ts.map +1 -1
  192. package/dialog/dialog-content/dialog-content.d.ts.map +1 -1
  193. package/dialog/dialog-content.js +8 -7
  194. package/dialog/dialog.js +36 -42
  195. package/expansion-panel/expansion-panel/expansion-panel.d.ts +1 -1
  196. package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  197. package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +1 -2
  198. package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -1
  199. package/expansion-panel/expansion-panel-header.js +29 -33
  200. package/expansion-panel/expansion-panel.js +58 -60
  201. package/file-selector/common.js +5 -5
  202. package/flip-card/flip-card/flip-card.d.ts +1 -2
  203. package/flip-card/flip-card/flip-card.d.ts.map +1 -1
  204. package/flip-card/flip-card.js +34 -36
  205. package/footer/footer.d.ts +1 -1
  206. package/footer.js +1 -1
  207. package/form-field/form-field-clear/form-field-clear.d.ts +1 -1
  208. package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
  209. package/form-field/form-field-clear.js +10 -11
  210. package/image/image.d.ts +2 -2
  211. package/lists.css +46 -62
  212. package/map-container/map-container.d.ts.map +1 -1
  213. package/map-container.js +22 -21
  214. package/menu/menu/menu.d.ts +2 -1
  215. package/menu/menu/menu.d.ts.map +1 -1
  216. package/menu/menu.js +84 -77
  217. package/message.js +12 -12
  218. package/navigation/common/navigation-action-common.d.ts +1 -1
  219. package/navigation/common/navigation-action-common.d.ts.map +1 -1
  220. package/navigation/common.js +24 -26
  221. package/navigation/navigation/navigation.d.ts +0 -1
  222. package/navigation/navigation/navigation.d.ts.map +1 -1
  223. package/navigation/navigation-section/navigation-section.d.ts +1 -0
  224. package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  225. package/navigation/navigation-section.js +35 -36
  226. package/navigation/navigation.js +64 -65
  227. package/notification.js +1 -1
  228. package/option/option/option-base-element.d.ts +1 -1
  229. package/option/option/option-base-element.d.ts.map +1 -1
  230. package/option/option.js +125 -125
  231. package/overlay/overlay-base-element.d.ts +1 -0
  232. package/overlay/overlay-base-element.d.ts.map +1 -1
  233. package/overlay.js +35 -35
  234. package/package.json +1 -1
  235. package/popover/popover/popover.d.ts.map +1 -1
  236. package/popover/popover.js +6 -3
  237. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  238. package/radio-button/common.js +13 -14
  239. package/radio-button/radio-button-group/radio-button-group.d.ts +3 -3
  240. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  241. package/radio-button/radio-button-group.js +20 -24
  242. package/select/select.d.ts +5 -2
  243. package/select/select.d.ts.map +1 -1
  244. package/select.js +96 -84
  245. package/selection-expansion-panel/selection-expansion-panel.d.ts +1 -1
  246. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  247. package/selection-expansion-panel.js +17 -18
  248. package/slider/slider.d.ts +1 -2
  249. package/slider/slider.d.ts.map +1 -1
  250. package/slider.js +23 -25
  251. package/standard-theme.css +48 -63
  252. package/stepper/step/step.d.ts +5 -5
  253. package/stepper/step/step.d.ts.map +1 -1
  254. package/stepper/step-label/step-label.d.ts +1 -1
  255. package/stepper/step-label/step-label.d.ts.map +1 -1
  256. package/stepper/step-label.js +16 -18
  257. package/stepper/step.js +22 -24
  258. package/stepper/stepper/stepper.d.ts +9 -8
  259. package/stepper/stepper/stepper.d.ts.map +1 -1
  260. package/stepper/stepper.js +57 -58
  261. package/tabs/tab-group/tab-group.d.ts +1 -2
  262. package/tabs/tab-group/tab-group.d.ts.map +1 -1
  263. package/tabs/tab-group.js +83 -88
  264. package/tag/tag/tag.d.ts +1 -1
  265. package/tag/tag/tag.d.ts.map +1 -1
  266. package/tag/tag-group/tag-group.d.ts +1 -1
  267. package/tag/tag-group/tag-group.d.ts.map +1 -1
  268. package/tag/tag.js +30 -30
  269. package/teaser-hero.js +19 -19
  270. package/time-input/time-input.d.ts +1 -1
  271. package/time-input/time-input.d.ts.map +1 -1
  272. package/time-input.js +7 -5
  273. package/toast/toast.d.ts +1 -1
  274. package/toast/toast.d.ts.map +1 -1
  275. package/toast.js +32 -33
  276. package/toggle/toggle/toggle.d.ts +1 -1
  277. package/toggle/toggle/toggle.d.ts.map +1 -1
  278. package/toggle/toggle-option/toggle-option.d.ts +1 -1
  279. package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  280. package/toggle/toggle-option.js +31 -35
  281. package/toggle/toggle.js +31 -33
  282. package/train/train-formation/train-formation.d.ts +1 -2
  283. package/train/train-formation/train-formation.d.ts.map +1 -1
  284. package/train/train-formation.js +35 -39
package/core/mixins.js CHANGED
@@ -5,9 +5,9 @@ var M = (o, b, d) => b.has(o) || D("Cannot " + d);
5
5
  var x = (o, b, d) => (M(o, b, "read from private field"), d ? d.call(o) : b.get(o)), S = (o, b, d) => b.has(o) ? D("Cannot add the same private member more than once") : b instanceof WeakSet ? b.add(o) : b.set(o, d), _ = (o, b, d, n) => (M(o, b, "write to private field"), n ? n.call(o, d) : b.set(o, d), d);
6
6
  import { __esDecorate as g, __runInitializers as m } from "tslib";
7
7
  import { property as k, state as q } from "lit/decorators.js";
8
- import { forceType as C, getOverride as j, hostAttributes as V } from "./decorators.js";
9
- import { defaultConverter as O, html as R, nothing as E, css as $ } from "lit";
10
- import { preventScrollOnSpacebarPress as A, EventEmitter as G } from "./eventing.js";
8
+ import { forceType as C, getOverride as N, hostAttributes as j } from "./decorators.js";
9
+ import { defaultConverter as O, html as R, nothing as E, css as V } from "lit";
10
+ import { preventScrollOnSpacebarPress as $, EventEmitter as G } from "./eventing.js";
11
11
  import { interactivityChecker as P, isArrowKeyPressed as T, getNextElementIndex as H } from "./a11y.js";
12
12
  import { SbbConnectedAbortController as K } from "./controllers.js";
13
13
  import "../screen-reader-only.js";
@@ -36,7 +36,7 @@ const I = (o) => (() => {
36
36
  }
37
37
  }, r = new WeakMap(), (() => {
38
38
  const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(d[Symbol.metadata] ?? null) : void 0;
39
- n = [C(), k({ reflect: !0, type: Boolean }), j((t, a) => a || t.isDisabledExternally())], g(s, null, n, { kind: "accessor", name: "disabled", static: !1, private: !1, access: { has: (t) => "disabled" in t, get: (t) => t.disabled, set: (t, a) => {
39
+ n = [C(), k({ reflect: !0, type: Boolean }), N((t, a) => a || t.isDisabledExternally())], g(s, null, n, { kind: "accessor", name: "disabled", static: !1, private: !1, access: { has: (t) => "disabled" in t, get: (t) => t.disabled, set: (t, a) => {
40
40
  t.disabled = a;
41
41
  } }, metadata: e }, u, l), e && Object.defineProperty(s, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
42
42
  })(), s;
@@ -69,7 +69,7 @@ const I = (o) => (() => {
69
69
  }
70
70
  }
71
71
  return b;
72
- }, U = (o) => (() => {
72
+ }, L = (o) => (() => {
73
73
  var h, e;
74
74
  let d = o, n = [], u, l, r, s = [], f = [];
75
75
  return e = class extends d {
@@ -183,7 +183,7 @@ const I = (o) => (() => {
183
183
  c.formDisabled = p;
184
184
  } }, metadata: i }, s, f), i && Object.defineProperty(e, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: i });
185
185
  })(), e.formAssociated = !0, e;
186
- })(), N = (o) => (() => {
186
+ })(), U = (o) => (() => {
187
187
  var l;
188
188
  let d = o, n = [], u;
189
189
  return l = class extends d {
@@ -215,9 +215,9 @@ const I = (o) => (() => {
215
215
  })(), l;
216
216
  })(), le = (o) => (() => {
217
217
  var h;
218
- let d = [V({
218
+ let d = [j({
219
219
  tabindex: "0"
220
- })], n, u = [], l, r = I(N(U(o))), s = [], f;
220
+ })], n, u = [], l, r = I(U(L(o))), s = [], f;
221
221
  return h = class extends r {
222
222
  /** Whether the checkbox is checked. */
223
223
  set checked(t) {
@@ -235,18 +235,13 @@ const I = (o) => (() => {
235
235
  return "checkbox";
236
236
  }
237
237
  constructor() {
238
- super(), this._attributeMutationBlocked = (m(this, s), !1), this._checked = !1, this._handleKeyboardInteraction = (t) => {
239
- t.key === " " && this._handleUserInteraction();
238
+ var t, a, i;
239
+ super(), this._attributeMutationBlocked = (m(this, s), !1), this._checked = !1, this._handleKeyboardInteraction = (c) => {
240
+ c.key === " " && this._handleUserInteraction();
240
241
  }, this._handleUserInteraction = () => {
241
- var t;
242
- this.disabled || ((t = this.withUserInteraction) == null || t.call(this), this.checked = !this.checked, this._attributeMutationBlocked = !0, this.dispatchEvent(new InputEvent("input", { composed: !0, bubbles: !0 })), this.dispatchEvent(new Event("change", { bubbles: !0 })));
243
- }, this.internals.role = "checkbox";
244
- }
245
- connectedCallback() {
246
- super.connectedCallback(), this.addEventListener("click", this._handleUserInteraction), this.addEventListener("keydown", A), this.addEventListener("keyup", this._handleKeyboardInteraction);
247
- }
248
- disconnectedCallback() {
249
- super.disconnectedCallback(), this.removeEventListener("click", this._handleUserInteraction), this.removeEventListener("keydown", A), this.removeEventListener("keyup", this._handleKeyboardInteraction);
242
+ var c;
243
+ this.disabled || ((c = this.withUserInteraction) == null || c.call(this), this.checked = !this.checked, this._attributeMutationBlocked = !0, this.dispatchEvent(new InputEvent("input", { composed: !0, bubbles: !0 })), this.dispatchEvent(new Event("change", { bubbles: !0 })));
244
+ }, this.internals.role = "checkbox", (t = this.addEventListener) == null || t.call(this, "click", this._handleUserInteraction), (a = this.addEventListener) == null || a.call(this, "keydown", $), (i = this.addEventListener) == null || i.call(this, "keyup", this._handleKeyboardInteraction);
250
245
  }
251
246
  attributeChangedCallback(t, a, i) {
252
247
  (t !== "checked" || !this._attributeMutationBlocked) && super.attributeChangedCallback(t, a, i);
@@ -290,14 +285,15 @@ const I = (o) => (() => {
290
285
  a.checked = i;
291
286
  } }, metadata: t }, null, s), g(null, n = { value: l }, d, { kind: "class", name: l.name, metadata: t }, null, u), l = n.value, t && Object.defineProperty(l, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t }), m(l, u);
292
287
  })(), l;
293
- })(), z = /* @__PURE__ */ new WeakMap(), oe = (o) => (() => {
288
+ })(), A = /* @__PURE__ */ new WeakMap(), oe = (o) => (() => {
294
289
  var r, s;
295
- let d = I(N(U(o))), n, u = [], l = [];
290
+ let d = I(U(L(o))), n, u = [], l = [];
296
291
  return s = class extends d {
297
292
  constructor() {
293
+ var e;
298
294
  super();
299
295
  S(this, r);
300
- _(this, r, m(this, u, !1)), this.abort = (m(this, l), new K(this)), this._didLoad = !1, this.internals.role = "radio";
296
+ _(this, r, m(this, u, !1)), this.abort = (m(this, l), new K(this)), this._didLoad = !1, this.internals.role = "radio", (e = this.addEventListener) == null || e.call(this, "keydown", (t) => this._handleArrowKeyDown(t));
301
297
  }
302
298
  /**
303
299
  * Whether the radio button is checked.
@@ -316,9 +312,7 @@ const I = (o) => (() => {
316
312
  return "radio";
317
313
  }
318
314
  connectedCallback() {
319
- super.connectedCallback(), this._connectToRegistry(), this.addEventListener("keydown", (e) => this._handleArrowKeyDown(e), {
320
- signal: this.abort.signal
321
- });
315
+ super.connectedCallback(), this._connectToRegistry();
322
316
  }
323
317
  disconnectedCallback() {
324
318
  super.disconnectedCallback(), this._disconnectFromRegistry();
@@ -383,7 +377,7 @@ const I = (o) => (() => {
383
377
  if (!this.name)
384
378
  return;
385
379
  const e = this.form ?? this.getRootNode();
386
- this._radioButtonGroupsMap = z.get(e), this._radioButtonGroupsMap || (this._radioButtonGroupsMap = /* @__PURE__ */ new Map(), z.set(e, this._radioButtonGroupsMap)), this.associatedRadioButtons = this._radioButtonGroupsMap.get(this.name), this.associatedRadioButtons || (this.associatedRadioButtons = /* @__PURE__ */ new Set(), this._radioButtonGroupsMap.set(this.name, this.associatedRadioButtons));
380
+ this._radioButtonGroupsMap = A.get(e), this._radioButtonGroupsMap || (this._radioButtonGroupsMap = /* @__PURE__ */ new Map(), A.set(e, this._radioButtonGroupsMap)), this.associatedRadioButtons = this._radioButtonGroupsMap.get(this.name), this.associatedRadioButtons || (this.associatedRadioButtons = /* @__PURE__ */ new Set(), this._radioButtonGroupsMap.set(this.name, this.associatedRadioButtons));
387
381
  const t = Array.from(this.associatedRadioButtons);
388
382
  this.associatedRadioButtons.clear();
389
383
  const a = t.findIndex((i) => this.compareDocumentPosition(i) & Node.DOCUMENT_POSITION_FOLLOWING);
@@ -456,7 +450,7 @@ const I = (o) => (() => {
456
450
  }
457
451
  }
458
452
  return b;
459
- }, F = "data-ssr-child-count", L = "li", de = (o) => (() => {
453
+ }, z = "data-ssr-child-count", F = "li", de = (o) => (() => {
460
454
  var r, s;
461
455
  let d = X(o), n, u = [], l = [];
462
456
  return s = class extends d {
@@ -465,7 +459,7 @@ const I = (o) => (() => {
465
459
  S(this, r);
466
460
  _(this, r, m(this, u, [])), this._handleSlotchange = (m(this, l), () => {
467
461
  const e = Array.from(this.children ?? []).filter((t) => this.listChildLocalNames.includes(t.localName));
468
- e.length === this.listChildren.length && this.listChildren.every((t, a) => e[a] === t) || (this.listChildren.filter((t) => !e.includes(t)).forEach((t) => t.removeAttribute("slot")), this.listChildren = e, this.listChildren.forEach((t, a) => t.setAttribute("slot", `${L}-${a}`)), this.removeAttribute(F));
462
+ e.length === this.listChildren.length && this.listChildren.every((t, a) => e[a] === t) || (this.listChildren.filter((t) => !e.includes(t)).forEach((t) => t.removeAttribute("slot")), this.listChildren = e, this.listChildren.forEach((t, a) => t.setAttribute("slot", `${F}-${a}`)), this.removeAttribute(z));
469
463
  });
470
464
  }
471
465
  /**
@@ -527,10 +521,10 @@ const I = (o) => (() => {
527
521
  * children to be passed via the `data-ssr-child-count` attribute value.
528
522
  */
529
523
  listSlotEntries(e) {
530
- return (this.listChildren.length ? this.listChildren : Array.from({ length: +(this.getAttribute(F) ?? 0) })).map((a, i) => {
524
+ return (this.listChildren.length ? this.listChildren : Array.from({ length: +(this.getAttribute(z) ?? 0) })).map((a, i) => {
531
525
  var c;
532
526
  return {
533
- name: `${L}-${i}`,
527
+ name: `${F}-${i}`,
534
528
  ariaHidden: ((c = e == null ? void 0 : e.localNameVisualOnly) == null ? void 0 : c.includes(a.localName)) ?? !1
535
529
  };
536
530
  });
@@ -636,20 +630,20 @@ const I = (o) => (() => {
636
630
  }
637
631
  }
638
632
  return b;
639
- }, he = $`:host{--sbb-selection-panel-background: var( --sbb-selection-expansion-panel-inner-background, var(--sbb-color-white) );--sbb-selection-panel-border-color: var(--sbb-color-cloud);--sbb-selection-panel-border-radius: var( --sbb-selection-expansion-panel-border-radius, var(--sbb-border-radius-4x) );--sbb-selection-panel-border-width: var( --sbb-selection-expansion-panel-inner-border-width, var(--sbb-border-width-1x) );--sbb-selection-panel-input-padding: var(--sbb-spacing-responsive-xs) var(--sbb-spacing-responsive-xxs);--sbb-selection-panel-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-selection-panel-cursor: pointer;--sbb-selection-panel-suffix-color: var(--sbb-color-charcoal);--sbb-selection-panel-subtext-color: var(--sbb-color-granite);display:block;outline:none!important}:host([size=s]){--sbb-selection-panel-input-padding: var(--sbb-spacing-responsive-xxs) var(--sbb-spacing-responsive-xxxs)}:host([color=milk]){--sbb-selection-panel-background: var( --sbb-selection-expansion-panel-inner-background, var(--sbb-color-milk) )}:host([borderless]:not([data-checked])){--sbb-selection-panel-border-color: transparent}:host(:is([data-checked]):not(:disabled,[disabled])){--sbb-selection-panel-border-color: var(--sbb-color-charcoal);--sbb-selection-panel-border-width: var( --sbb-selection-expansion-panel-inner-border-width, var(--sbb-border-width-2x) )}:host(:is(:disabled,[disabled])){--sbb-selection-panel-cursor: default}.sbb-selection-panel{display:block;cursor:var(--sbb-selection-panel-cursor);position:relative;border-radius:var(--sbb-selection-panel-border-radius);box-shadow:inset 0 0 0 var(--sbb-selection-panel-border-width) var(--sbb-selection-panel-border-color);padding:var(--sbb-selection-panel-input-padding);background-color:var(--sbb-selection-panel-background);transition-duration:var(--sbb-selection-panel-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:box-shadow}@media (forced-colors: active){.sbb-selection-panel:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:var(--sbb-selection-panel-border-width) solid var(--sbb-selection-panel-border-color);border-radius:var(--sbb-selection-panel-border-radius)}}:host(:focus-visible) .sbb-selection-panel{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width)}.sbb-selection-panel__badge{-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--sbb-selection-panel-border-radius);overflow:hidden}slot[name=suffix]{color:var(--sbb-selection-panel-suffix-color)}slot[name=subtext]{display:block;color:var(--sbb-selection-panel-subtext-color);padding-inline-start:var(--sbb-spacing-fixed-8x)}:host(:not([data-slot-names~=subtext])) slot[name=subtext]{display:none}`;
633
+ }, he = V`:host{--sbb-selection-panel-background: var( --sbb-selection-expansion-panel-inner-background, var(--sbb-color-white) );--sbb-selection-panel-border-color: var(--sbb-color-cloud);--sbb-selection-panel-border-radius: var( --sbb-selection-expansion-panel-border-radius, var(--sbb-border-radius-4x) );--sbb-selection-panel-border-width: var( --sbb-selection-expansion-panel-inner-border-width, var(--sbb-border-width-1x) );--sbb-selection-panel-input-padding: var(--sbb-spacing-responsive-xs) var(--sbb-spacing-responsive-xxs);--sbb-selection-panel-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-selection-panel-cursor: pointer;--sbb-selection-panel-suffix-color: var(--sbb-color-charcoal);--sbb-selection-panel-subtext-color: var(--sbb-color-granite);display:block;outline:none!important}:host([size=s]){--sbb-selection-panel-input-padding: var(--sbb-spacing-responsive-xxs) var(--sbb-spacing-responsive-xxxs)}:host([color=milk]){--sbb-selection-panel-background: var( --sbb-selection-expansion-panel-inner-background, var(--sbb-color-milk) )}:host([borderless]:not([data-checked])){--sbb-selection-panel-border-color: transparent}:host(:is([data-checked]):not(:disabled,[disabled])){--sbb-selection-panel-border-color: var(--sbb-color-charcoal);--sbb-selection-panel-border-width: var( --sbb-selection-expansion-panel-inner-border-width, var(--sbb-border-width-2x) )}:host(:is(:disabled,[disabled])){--sbb-selection-panel-cursor: default}.sbb-selection-panel{display:block;cursor:var(--sbb-selection-panel-cursor);position:relative;border-radius:var(--sbb-selection-panel-border-radius);box-shadow:inset 0 0 0 var(--sbb-selection-panel-border-width) var(--sbb-selection-panel-border-color);padding:var(--sbb-selection-panel-input-padding);background-color:var(--sbb-selection-panel-background);transition-duration:var(--sbb-selection-panel-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:box-shadow}@media (forced-colors: active){.sbb-selection-panel:after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:var(--sbb-selection-panel-border-width) solid var(--sbb-selection-panel-border-color);border-radius:var(--sbb-selection-panel-border-radius)}}:host(:focus-visible) .sbb-selection-panel{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width)}.sbb-selection-panel__badge{-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--sbb-selection-panel-border-radius);overflow:hidden}slot[name=suffix]{color:var(--sbb-selection-panel-suffix-color)}slot[name=subtext]{display:block;color:var(--sbb-selection-panel-subtext-color);padding-inline-start:var(--sbb-spacing-fixed-8x)}:host(:not([data-slot-names~=subtext])) slot[name=subtext]{display:none}`;
640
634
  export {
641
635
  W as SbbDisabledInteractiveMixin,
642
636
  I as SbbDisabledMixin,
643
637
  ne as SbbDisabledTabIndexActionMixin,
644
638
  le as SbbFormAssociatedCheckboxMixin,
645
- U as SbbFormAssociatedMixin,
639
+ L as SbbFormAssociatedMixin,
646
640
  oe as SbbFormAssociatedRadioButtonMixin,
647
641
  X as SbbHydrationMixin,
648
642
  de as SbbNamedSlotListMixin,
649
643
  ce as SbbNegativeMixin,
650
644
  ue as SbbPanelMixin,
651
- N as SbbRequiredMixin,
645
+ U as SbbRequiredMixin,
652
646
  be as SbbUpdateSchedulerMixin,
653
647
  he as panelCommonStyle,
654
- z as radioButtonRegistry
648
+ A as radioButtonRegistry
655
649
  };
@@ -12,7 +12,7 @@
12
12
 
13
13
  // Core variables, are always needed
14
14
  :root {
15
- // Grab css vars defined by `@sbb-esta/lyne-design-tokens` package
15
+ // Grab CSS vars defined by `@sbb-esta/lyne-design-tokens` package
16
16
  @include sbb-css-tokens.lyne-design-tokens-css-variables;
17
17
 
18
18
  & {
@@ -160,7 +160,7 @@ img {
160
160
  object-position: var(--sbb-image-object-position);
161
161
  }
162
162
 
163
- // TODO: Move back to the sbb-container components when the global css refactoring happens
163
+ // TODO: Move back to the sbb-container components when the global CSS refactoring happens
164
164
  sbb-container {
165
165
  > [slot='image']:is(sbb-image, img),
166
166
  > [slot='image'] :is(sbb-image, img) {
@@ -172,7 +172,7 @@ sbb-container {
172
172
  }
173
173
  }
174
174
 
175
- // TODO: Move back to the sbb-flip-card-summary components when the global css refactoring happens
175
+ // TODO: Move back to the sbb-flip-card-summary components when the global CSS refactoring happens
176
176
  sbb-flip-card-summary {
177
177
  > [slot='image']:is(sbb-image, img),
178
178
  > [slot='image'] :is(sbb-image, img) {
@@ -185,7 +185,7 @@ sbb-flip-card-summary {
185
185
  }
186
186
  }
187
187
 
188
- // TODO: Move back to the sbb-lead-container components when the global css refactoring happens
188
+ // TODO: Move back to the sbb-lead-container components when the global CSS refactoring happens
189
189
  sbb-lead-container {
190
190
  > [slot='image']:is(sbb-image, img, picture),
191
191
  > [slot='image'] :is(sbb-image, img, picture) {
@@ -206,7 +206,7 @@ sbb-message {
206
206
 
207
207
  // Target the slotted `sbb-image` which are generally wrapped by a <figure> (therefore are not reachable with the :slotted)
208
208
  // Apply the brightness effect on mouse hover
209
- // TODO: Move back to the teaser components when the global css refactoring happens
209
+ // TODO: Move back to the teaser components when the global CSS refactoring happens
210
210
  :is(sbb-teaser, sbb-teaser-hero, sbb-teaser-product) {
211
211
  --sbb-teaser-image-brightness-hover: var(--sbb-hover-image-brightness);
212
212
  --sbb-teaser-image-animation-duration: var(
@@ -229,7 +229,7 @@ sbb-message {
229
229
  }
230
230
  }
231
231
 
232
- // TODO: Move back to the teaser components when the global css refactoring happens
232
+ // TODO: Move back to the teaser components when the global CSS refactoring happens
233
233
  :is(sbb-teaser-product, sbb-teaser-product-static) {
234
234
  :is(sbb-image, img) {
235
235
  border-radius: 0; // Reset sbb-image border radius in order to control it from teaser product.
@@ -243,7 +243,7 @@ sbb-message {
243
243
  }
244
244
  }
245
245
 
246
- // TODO: Move back to the teaser components when the global css refactoring happens
246
+ // TODO: Move back to the teaser components when the global CSS refactoring happens
247
247
  sbb-teaser :is(sbb-image, img) {
248
248
  --sbb-image-object-fit: cover;
249
249
  --sbb-image-aspect-ratio: 4 / 3;
@@ -253,7 +253,7 @@ sbb-teaser :is(sbb-image, img) {
253
253
  scale: var(--sbb-teaser-scale, 1);
254
254
  }
255
255
 
256
- // TODO: Move back to the teaser-hero components when the global css refactoring happens
256
+ // TODO: Move back to the teaser-hero components when the global CSS refactoring happens
257
257
  :is(sbb-teaser-hero) {
258
258
  :is(sbb-image, img) {
259
259
  --sbb-image-aspect-ratio: 1 / 1;
@@ -266,22 +266,23 @@ sbb-teaser :is(sbb-image, img) {
266
266
  }
267
267
 
268
268
  img {
269
- width: 100%;
270
269
  display: block;
270
+ align-self: stretch;
271
+ width: 100%;
271
272
  }
272
273
  }
273
274
 
274
- // TODO: move to train formation after css refactoring
275
+ // TODO: move to train formation after CSS refactoring
275
276
  sbb-train-formation:has(sbb-train[direction-label]) {
276
277
  --sbb-train-formation-reserve-spacing-display: block;
277
278
  }
278
279
 
279
- // TODO: move to train formation after css refactoring
280
+ // TODO: move to train formation after CSS refactoring
280
281
  sbb-train-formation:has(sbb-train-wagon[sector]) {
281
282
  --sbb-train-formation-show-sectors-gap: 1;
282
283
  }
283
284
 
284
- // TODO: move to train formation after css refactoring
285
+ // TODO: move to train formation after CSS refactoring
285
286
  sbb-train-formation:not(:has(sbb-train-wagon[label])) {
286
287
  --sbb-train-formation-wagon-label-display: none;
287
288
  }
@@ -101,7 +101,7 @@ $active: ':active, [data-active]';
101
101
  height: fit-content;
102
102
 
103
103
  // Use !important here to not interfere with Firefox focus ring definition
104
- // which appears in normalize css of several frameworks.
104
+ // which appears in normalize CSS of several frameworks.
105
105
  outline: none !important;
106
106
 
107
107
  @include icon-button-variables;
@@ -96,6 +96,7 @@
96
96
  }
97
97
  }
98
98
 
99
+ // @deprecated Will be removed with next major version
99
100
  @mixin base-marker-list(
100
101
  $dimensions,
101
102
  $padding-inline,
@@ -159,49 +160,84 @@
159
160
  }
160
161
 
161
162
  @mixin icon-list {
162
- @include base-marker-list(
163
- $dimensions: '--sbb-icon-list-dimensions',
164
- $padding-inline: '--sbb-icon-list-padding-inline',
165
- $to-text-gap: '--sbb-icon-list-to-text-gap',
166
- $vertical-gap: '--sbb-icon-list-vertical-gap',
167
- $text-to-marker-block-offset: '--sbb-icon-list-text-to-marker-block-offset'
163
+ --sbb-icon-list-marker-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="%23000" fill-rule="evenodd" d="M3 12a9 9 0 0 1 9-9 9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9m9-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m-1.104 13.305 5-6.5-.792-.61-4.69 6.096-2.102-1.681-.624.78 2.5 2 .398.319z" clip-rule="evenodd"></path></svg>');
164
+ --sbb-icon-list-marker-icon-color: currentcolor;
165
+ --sbb-icon-list-vertical-gap: var(--sbb-spacing-fixed-2x);
166
+ --sbb-icon-list-dimensions: var(--sbb-size-icon-ui-small);
167
+ --sbb-icon-list-to-text-gap: var(--sbb-spacing-fixed-2x);
168
+
169
+ // Additional space from overall li padding to the text because text
170
+ // has to be centered to marker number.
171
+ --sbb-icon-list-text-to-marker-block-offset: calc(
172
+ 0.5 *
173
+ (
174
+ var(--sbb-icon-list-dimensions) - var(--sbb-typo-line-height-body-text) *
175
+ var(--sbb-text-font-size)
176
+ )
168
177
  );
169
178
 
170
- & {
171
- --sbb-icon-list-marker-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="%23000" fill-rule="evenodd" d="M3 12a9 9 0 0 1 9-9 9 9 0 0 1 9 9 9 9 0 0 1-9 9 9 9 0 0 1-9-9m9-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m-1.104 13.305 5-6.5-.792-.61-4.69 6.096-2.102-1.681-.624.78 2.5 2 .398.319z" clip-rule="evenodd"></path></svg>');
172
- --sbb-icon-list-marker-icon-color: currentcolor;
173
- --sbb-icon-list-vertical-gap: var(--sbb-spacing-fixed-2x);
174
- --sbb-icon-list-dimensions: var(--sbb-size-icon-ui-small);
175
- --sbb-icon-list-to-text-gap: var(--sbb-spacing-fixed-2x);
176
- }
179
+ list-style: none;
180
+ margin: 0;
181
+ padding: 0;
177
182
 
178
- > li::before {
179
- content: '';
180
- background-color: var(--sbb-icon-list-marker-icon-color);
181
- mask-image: var(--sbb-icon-list-marker-icon);
182
- mask-repeat: no-repeat;
183
- mask-position: center;
184
- mask-size: 100%;
183
+ // stylelint-disable-next-line no-descending-specificity
184
+ > li {
185
+ position: relative;
186
+ padding-inline: calc(var(--sbb-icon-list-dimensions) + var(--sbb-icon-list-to-text-gap)) 0;
187
+ min-height: var(--sbb-icon-list-dimensions);
188
+
189
+ + li {
190
+ margin-block-start: var(--sbb-icon-list-vertical-gap);
191
+ }
192
+
193
+ p {
194
+ margin-block: 0;
195
+ }
196
+
197
+ // P has to be redefined to be more specific
198
+ > * + p {
199
+ margin-block-start: var(--sbb-spacing-responsive-xxxs);
200
+ }
201
+
202
+ &::before {
203
+ content: '';
204
+ position: absolute;
205
+ width: var(--sbb-icon-list-dimensions);
206
+ height: var(--sbb-icon-list-dimensions);
207
+ margin-block-start: calc(-1 * var(--sbb-icon-list-text-to-marker-block-offset));
208
+ inset-inline-start: 0;
209
+ background-color: var(--sbb-icon-list-marker-icon-color);
210
+ mask-image: var(--sbb-icon-list-marker-icon);
211
+ mask-repeat: no-repeat;
212
+ mask-position: center;
213
+ mask-size: 100%;
214
+ }
185
215
  }
186
216
  }
187
217
 
188
218
  @mixin step-list {
189
- @include base-marker-list(
190
- $dimensions: '--sbb-step-list-dimensions',
191
- $padding-inline: '--sbb-step-list-padding-inline',
192
- $to-text-gap: '--sbb-step-list-to-text-gap',
193
- $vertical-gap: '--sbb-step-list-vertical-gap',
194
- $text-to-marker-block-offset: '--sbb-step-list-text-to-marker-block-offset'
219
+ --sbb-step-list-dimensions: #{functions.px-to-rem-build(34)};
220
+ --sbb-step-list-padding-inline: var(--sbb-spacing-responsive-xxs);
221
+ --sbb-step-list-to-text-gap: var(--sbb-spacing-responsive-xxxs);
222
+ --sbb-step-list-padding-block: var(--sbb-spacing-fixed-3x);
223
+ --sbb-step-list-vertical-gap: var(--sbb-spacing-fixed-1x);
224
+ --sbb-step-list-border-radius: var(--sbb-border-radius-4x);
225
+
226
+ // Additional space from overall li padding to the text because text
227
+ // has to be centered to marker number.
228
+ --sbb-step-list-text-to-marker-block-offset: calc(
229
+ 0.5 *
230
+ (
231
+ var(--sbb-step-list-dimensions) - var(--sbb-typo-line-height-body-text) *
232
+ var(--sbb-text-font-size)
233
+ )
195
234
  );
196
235
 
197
- & {
198
- --sbb-step-list-padding-block: var(--sbb-spacing-fixed-3x);
199
- --sbb-step-list-vertical-gap: var(--sbb-spacing-fixed-1x);
200
- --sbb-step-list-border-radius: var(--sbb-border-radius-4x);
201
-
202
- counter-reset: steps;
203
- color: var(--sbb-color-iron);
204
- }
236
+ list-style: none;
237
+ margin: 0;
238
+ padding: 0;
239
+ counter-reset: steps;
240
+ color: var(--sbb-color-iron);
205
241
 
206
242
  &:where(.sbb-text-s) {
207
243
  --sbb-step-list-padding-block: var(--sbb-spacing-fixed-4x);
@@ -211,7 +247,15 @@
211
247
  --sbb-step-list-padding-block: var(--sbb-spacing-fixed-5x);
212
248
  }
213
249
 
250
+ &:where(.sbb-text-xl) {
251
+ @include mediaqueries.mq($from: medium) {
252
+ --sbb-step-list-dimensions: #{functions.px-to-rem-build(41)};
253
+ }
254
+ }
255
+
256
+ // stylelint-disable-next-line no-descending-specificity
214
257
  > li {
258
+ position: relative;
215
259
  counter-increment: steps;
216
260
  background-color: var(--sbb-color-milk);
217
261
  padding-block: calc(
@@ -226,12 +270,33 @@
226
270
  min-height: calc(var(--sbb-step-list-dimensions) + 2 * var(--sbb-step-list-padding-block));
227
271
 
228
272
  &::before {
273
+ @include typo.text-xxs--bold;
274
+
229
275
  content: counter(steps);
276
+ position: absolute;
230
277
  display: flex;
231
278
  align-items: center;
232
279
  justify-content: center;
233
- border: var(--sbb-border-width-1x) solid var(--sbb-color-cement);
280
+ height: var(--sbb-step-list-dimensions);
281
+ width: var(--sbb-step-list-dimensions);
282
+ margin-block-start: calc(-1 * var(--sbb-step-list-text-to-marker-block-offset));
283
+ inset-inline-start: var(--sbb-step-list-padding-inline);
234
284
  color: var(--sbb-color-charcoal);
285
+ border: var(--sbb-border-width-1x) solid var(--sbb-color-cement);
286
+ border-radius: 50%;
287
+ }
288
+
289
+ + li {
290
+ margin-block-start: var(--sbb-step-list-vertical-gap);
291
+ }
292
+
293
+ p {
294
+ margin-block: 0;
295
+ }
296
+
297
+ // P has to be redefined to be more specific
298
+ > * + p {
299
+ margin-block-start: var(--sbb-spacing-responsive-xxxs);
235
300
  }
236
301
 
237
302
  &:first-of-type {
package/core.css CHANGED
@@ -1379,8 +1379,9 @@ sbb-teaser :is(sbb-image, img) {
1379
1379
  }
1380
1380
  }
1381
1381
  :is(sbb-teaser-hero) img {
1382
- width: 100%;
1383
1382
  display: block;
1383
+ align-self: stretch;
1384
+ width: 100%;
1384
1385
  }
1385
1386
 
1386
1387
  sbb-train-formation:has(sbb-train[direction-label]) {