@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779781429 → 5.0.0-next.3-dev.1779813787

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 (162) hide show
  1. package/_index.scss +65 -3
  2. package/alert/{alert/alert.global.scss → _alert.global.scss} +9 -7
  3. package/badge/{badge.global.scss → _badge.global.scss} +4 -2
  4. package/breadcrumb/{breadcrumb-group/breadcrumb-group.global.scss → _breadcrumb.global.scss} +11 -1
  5. package/button/{common/button-common.global.scss → _button.global.scss} +43 -2
  6. package/calendar/{calendar/calendar.global.scss → _calendar.global.scss} +20 -4
  7. package/card/{card.library.global.scss → _card.global.scss} +29 -5
  8. package/carousel/{carousel/carousel.global.scss → _carousel.global.scss} +2 -1
  9. package/carousel/carousel-list/carousel-list.component.js +1 -1
  10. package/{carousel-list.component-7mbfkw4K.js → carousel-list.component-DAPO_Oce.js} +1 -1
  11. package/carousel.js +1 -1
  12. package/carousel.pure.js +1 -1
  13. package/checkbox/{common/checkbox-common.global.scss → _checkbox.global.scss} +5 -1
  14. package/chip/{chip-group/chip-group.global.scss → _chip.global.scss} +12 -2
  15. package/container/{sticky-bar/sticky-bar.global.scss → _container.global.scss} +16 -1
  16. package/core/base-elements/{selection-group-base-element.global.scss → _selection-group-base-element.global.scss} +6 -2
  17. package/core/styles/_index.scss +3 -3
  18. package/core/styles/_theme.scss +359 -10
  19. package/core/styles/features/font-face.scss +3 -0
  20. package/core/styles/features/layout.private.scss +1 -1
  21. package/core/styles/features/typography.private.scss +3 -3
  22. package/core/styles/features/typography.scss +10 -2
  23. package/core/styles/mixins/_core.scss +69 -0
  24. package/core/styles/mixins/_layout.scss +1 -1
  25. package/core/styles/mixins/_lists.scss +2 -2
  26. package/core/styles/mixins/_pearl-chain-bullet.scss +1 -1
  27. package/core/styles/mixins/_scrollbar.scss +1 -1
  28. package/core/styles/mixins/_typo.scss +0 -19
  29. package/development/block-link-common-C0XzZIvS.js +1 -1
  30. package/development/breadcrumb.component-B3XsV_Aq.js +1 -1
  31. package/development/card.component-CVAgqDNK.js +1 -1
  32. package/development/carousel/carousel-list/carousel-list.component.js +1 -1
  33. package/development/carousel-list.component-pJBqbfi9.js +126 -0
  34. package/development/carousel.js +1 -1
  35. package/development/carousel.pure.js +1 -1
  36. package/development/inline-link-common-CXYyREBi.js +1 -1
  37. package/development/link-common-DWTP-lFX.js +1 -1
  38. package/development/selection-group-base-element-govDKjsE.js +1 -1
  39. package/development/styles-BTV2MyrZ.js +1 -1
  40. package/development/tab-label.component-BbQu5sA-.js +233 -0
  41. package/development/tabs/tab-label/tab-label.component.js +1 -1
  42. package/development/tabs.js +1 -1
  43. package/development/tabs.pure.js +1 -1
  44. package/dialog/_dialog.global.scss +77 -0
  45. package/expansion-panel/{expansion-panel-header/expansion-panel-header.global.scss → _expansion-panel.global.scss} +27 -2
  46. package/file-selector/{common/file-selector.global.scss → _file-selector.global.scss} +1 -1
  47. package/flip-card/{flip-card/flip-card.global.scss → _flip-card.global.scss} +15 -2
  48. package/footer/{footer.global.scss → _footer.global.scss} +1 -1
  49. package/form-field/{form-field/form-field.global.scss → _form-field.global.scss} +6 -3
  50. package/header/{header/header.global.scss → _header.global.scss} +41 -2
  51. package/icon-sidebar/{icon-sidebar/icon-sidebar.global.scss → _icon-sidebar.global.scss} +1 -1
  52. package/lead-container/{lead-container.global.scss → _lead-container.global.scss} +1 -1
  53. package/lean-off-brand-theme.css +351 -526
  54. package/lean-safety-theme.css +351 -526
  55. package/lean-theme.css +351 -526
  56. package/link/{link.library.global.scss → _link.global.scss} +18 -4
  57. package/loading-indicator-circle/{loading-indicator-circle.global.scss → _loading-indicator-circle.global.scss} +1 -1
  58. package/logo/{logo.global.scss → _logo.global.scss} +1 -1
  59. package/map-container/{map-container.global.scss → _map-container.global.scss} +1 -1
  60. package/menu/{menu/menu.global.scss → _menu.global.scss} +14 -6
  61. package/mini-calendar/{mini-calendar-month/mini-calendar-month.global.scss → _mini-calendar.global.scss} +4 -1
  62. package/navigation/_navigation.global.scss +78 -0
  63. package/notification/{notification.global.scss → _notification.global.scss} +1 -1
  64. package/off-brand-theme.css +349 -524
  65. package/option/{option/option.global.scss → _option.global.scss} +30 -1
  66. package/package.json +2 -2
  67. package/paginator/_paginator.global.scss +21 -0
  68. package/radio-button/{common/radio-button-common.global.scss → _radio-button.global.scss} +2 -2
  69. package/safety-theme.css +349 -524
  70. package/sidebar/{sidebar-container/sidebar-container.global.scss → _sidebar.global.scss} +20 -1
  71. package/signet/{signet.global.scss → _signet.global.scss} +1 -1
  72. package/slider/{slider.global.scss → _slider.global.scss} +1 -1
  73. package/standard-theme.css +349 -524
  74. package/stepper/{step-label/step-label.global.scss → _stepper.global.scss} +6 -2
  75. package/tab-label.component-C5HCrNFB.js +158 -0
  76. package/tabs/{common/tab-label-common.global.scss → _tabs.global.scss} +24 -1
  77. package/tabs/tab-label/tab-label.component.js +1 -1
  78. package/tabs.js +1 -1
  79. package/tabs.pure.js +1 -1
  80. package/tag/{tag/tag.global.scss → _tag.global.scss} +2 -2
  81. package/teaser/_teaser.global.scss +51 -0
  82. package/teaser-hero/{teaser-hero.global.scss → _teaser-hero.global.scss} +2 -0
  83. package/teaser-panel/{teaser-panel.global.scss → _teaser-panel.global.scss} +2 -2
  84. package/teaser-product/{common/teaser-product-common.global.scss → _teaser-product.global.scss} +4 -2
  85. package/time-input/{time-input.global.scss → _time-input.global.scss} +1 -1
  86. package/timetable-form/{timetable-form/timetable-form.global.scss → _timetable-form.global.scss} +11 -1
  87. package/title/{title.global.scss → _title.global.scss} +4 -0
  88. package/toggle/{toggle/toggle.global.scss → _toggle.global.scss} +6 -2
  89. package/toggle-check/{toggle-check.global.scss → _toggle-check.global.scss} +1 -1
  90. package/train/{train-wagon-common.global.scss → _train.global.scss} +24 -0
  91. package/visual-checkbox/{visual-checkbox.global.scss → _visual-checkbox.global.scss} +1 -1
  92. package/alert/alert-group/alert-group.global.scss +0 -8
  93. package/breadcrumb/breadcrumb/breadcrumb.global.scss +0 -16
  94. package/button/common/mini-button-common.global.scss +0 -18
  95. package/button/mini-button-group/mini-button-group.global.scss +0 -35
  96. package/calendar/common/calendar-cell-base-element.global.scss +0 -23
  97. package/card/card/card.global.scss +0 -22
  98. package/card/card-badge/card-badge.global.scss +0 -19
  99. package/checkbox/checkbox.global.scss +0 -10
  100. package/chip/chip/chip.global.scss +0 -16
  101. package/container/container/container.global.scss +0 -21
  102. package/core/styles/features/core.scss +0 -618
  103. package/development/carousel-list.component-BLY3JfDq.js +0 -126
  104. package/development/tab-label.component-QHzOZ28y.js +0 -233
  105. package/dialog/dialog/dialog.global.scss +0 -32
  106. package/dialog/dialog-close-button/dialog-close-button.global.scss +0 -35
  107. package/dialog/dialog-content/dialog-content.global.scss +0 -13
  108. package/dialog/dialog-title/dialog-title.global.scss +0 -13
  109. package/expansion-panel/expansion-panel/expansion-panel.global.scss +0 -21
  110. package/expansion-panel/expansion-panel-content/expansion-panel-content.global.scss +0 -16
  111. package/flip-card/flip-card-details/flip-card-details.global.scss +0 -7
  112. package/flip-card/flip-card-summary/flip-card-summary.global.scss +0 -17
  113. package/form-field/error/error.global.scss +0 -9
  114. package/header/common/header-action.global.scss +0 -41
  115. package/header/header-environment/header-environment.global.scss +0 -10
  116. package/link/common/block-link.global.scss +0 -15
  117. package/menu/common/menu-action.global.scss +0 -14
  118. package/mini-calendar/mini-calendar-day/mini-calendar-day.global.scss +0 -9
  119. package/navigation/common/navigation-action.global.scss +0 -11
  120. package/navigation/navigation/navigation.global.scss +0 -36
  121. package/navigation/navigation-list/navigation-list.global.scss +0 -10
  122. package/navigation/navigation-marker/navigation-marker.global.scss +0 -17
  123. package/navigation/navigation-section/navigation-section.global.scss +0 -34
  124. package/option/optgroup/optgroup.global.scss +0 -17
  125. package/option/option-hint/option-hint.global.scss +0 -17
  126. package/option/option-panel-common.global.scss +0 -11
  127. package/paginator/common/paginator-common.global.scss +0 -14
  128. package/paginator/compact-paginator/compact-paginator.global.scss +0 -9
  129. package/paginator/paginator/paginator.global.scss +0 -10
  130. package/sidebar/sidebar/sidebar.global.scss +0 -19
  131. package/sidebar/sidebar-close-button/sidebar-close-button.global.scss +0 -10
  132. package/stepper/stepper/stepper.global.scss +0 -10
  133. package/tab-label.component-BYssa8XI.js +0 -158
  134. package/tabs/common/tab-group-common.global.scss +0 -17
  135. package/tabs/tab-nav-bar/tab-nav-bar.global.scss +0 -10
  136. package/teaser/teaser.global.scss +0 -24
  137. package/timetable-form/timetable-form-details/timetable-form-details.global.scss +0 -12
  138. package/timetable-form/timetable-form-field/timetable-form-field.global.scss +0 -10
  139. package/title/title-common.global.scss +0 -7
  140. package/toggle/toggle-option/toggle-option.global.scss +0 -10
  141. package/train/train-blocked-passage/train-blocked-passage.global.scss +0 -16
  142. package/train/train-formation/train-formation.global.scss +0 -26
  143. /package/chip-label/{chip-label.global.scss → _chip-label.global.scss} +0 -0
  144. /package/clock/{clock.global.scss → _clock.global.scss} +0 -0
  145. /package/core/mixins/{panel-common.global.scss → _panel-common.global.scss} +0 -0
  146. /package/core/styles/{core/functions.scss → mixins/_functions.scss} +0 -0
  147. /package/core/styles/{core/mediaqueries.scss → mixins/_mediaqueries.scss} +0 -0
  148. /package/core/styles/{core → mixins}/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +0 -0
  149. /package/core/styles/{features/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss → node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss} +0 -0
  150. /package/divider/{divider.global.scss → _divider.global.scss} +0 -0
  151. /package/loading-indicator/{loading-indicator.global.scss → _loading-indicator.global.scss} +0 -0
  152. /package/message/{message.global.scss → _message.global.scss} +0 -0
  153. /package/overlay/{overlay.global.scss → _overlay.global.scss} +0 -0
  154. /package/popover/{popover.global.scss → _popover.global.scss} +0 -0
  155. /package/select/{select.global.scss → _select.global.scss} +0 -0
  156. /package/selection-action-panel/{selection-action-panel.global.scss → _selection-action-panel.global.scss} +0 -0
  157. /package/selection-expansion-panel/{selection-expansion-panel.global.scss → _selection-expansion-panel.global.scss} +0 -0
  158. /package/status/{status.global.scss → _status.global.scss} +0 -0
  159. /package/table/{table.global.scss → _table.global.scss} +0 -0
  160. /package/timetable-occupancy/{timetable-occupancy.global.scss → _timetable-occupancy.global.scss} +0 -0
  161. /package/toast/{toast.global.scss → _toast.global.scss} +0 -0
  162. /package/tooltip/{tooltip.global.scss → _tooltip.global.scss} +0 -0
@@ -1,4 +1,4 @@
1
- @use '../../core/styles' as sbb;
1
+ @use '../core/styles' as sbb;
2
2
 
3
3
  $theme: 'standard' !default;
4
4
 
@@ -35,9 +35,13 @@ $theme: 'standard' !default;
35
35
  ),
36
36
  $theme
37
37
  )};
38
+ --sbb-stepper-orientation: row;
39
+ --sbb-stepper-border-width: var(--sbb-border-width-1x);
40
+ --sbb-stepper-marker-width: var(--sbb-border-width-3x);
41
+ --sbb-stepper-marker-color: var(--sbb-color-3);
38
42
  }
39
43
 
40
- @mixin base-forced-colors {
44
+ @mixin forced-colors {
41
45
  --sbb-step-label-color: ButtonText;
42
46
  --sbb-step-label-prefix-border-color: ButtonText;
43
47
  }
@@ -0,0 +1,158 @@
1
+ import { __esDecorate as e, __runInitializers as t } from "tslib";
2
+ import { unsafeCSS as n } from "lit";
3
+ import { property as r } from "lit/decorators.js";
4
+ import { SbbDisabledMixin as i, SbbElement as a, SbbPropertyWatcherController as o, forceType as s, omitEmptyConverter as c } from "./core.js";
5
+ import { html as l, unsafeStatic as u } from "lit/static-html.js";
6
+ import { SbbIconNameMixin as d } from "./icon.pure.js";
7
+ import { tabLabelCommonStyles as f } from "./tabs/common/styles.js";
8
+ import { SbbTabChangeEvent as p } from "./tabs/tab-group/tab-group.component.js";
9
+ //#region src/elements/tabs/tab-label/tab-label.scss?inline
10
+ var m = ":host{display:inline-block;max-width:100%;outline:none!important}.sbb-tab-label{cursor:var(--sbb-tab-label-cursor);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.sbb-tab-label__icon{display:flex;flex-shrink:0}:host(:not(:is(:state(slotted-icon),[state--slotted-icon]),:is(:state(has-icon-name),[state--has-icon-name]))) .sbb-tab-label__icon{display:none}.sbb-tab-label__text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host(:not(:is(:state(slotted),[state--slotted]))) .sbb-tab-label__text{display:none}.sbb-tab-label__amount{margin:0;color:var(--sbb-tab-label-amount-color);font-weight:400;text-decoration:var(--sbb-tab-label-text-decoration)}:host(:not(:is(:state(slotted-amount),[state--slotted-amount]),[amount])) .sbb-tab-label__amount{display:none}", h = (() => {
11
+ let h = i(d(a)), g, _ = [], v = [], y, b = [], x = [], S, C = [], w = [];
12
+ return class extends h {
13
+ static {
14
+ let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(h[Symbol.metadata] ?? null) : void 0;
15
+ g = [r()], y = [s(), r({
16
+ reflect: !0,
17
+ type: Boolean
18
+ })], S = [s(), r({
19
+ reflect: !0,
20
+ converter: c
21
+ })], e(this, null, g, {
22
+ kind: "accessor",
23
+ name: "level",
24
+ static: !1,
25
+ private: !1,
26
+ access: {
27
+ has: (e) => "level" in e,
28
+ get: (e) => e.level,
29
+ set: (e, t) => {
30
+ e.level = t;
31
+ }
32
+ },
33
+ metadata: t
34
+ }, _, v), e(this, null, y, {
35
+ kind: "accessor",
36
+ name: "active",
37
+ static: !1,
38
+ private: !1,
39
+ access: {
40
+ has: (e) => "active" in e,
41
+ get: (e) => e.active,
42
+ set: (e, t) => {
43
+ e.active = t;
44
+ }
45
+ },
46
+ metadata: t
47
+ }, b, x), e(this, null, S, {
48
+ kind: "accessor",
49
+ name: "amount",
50
+ static: !1,
51
+ private: !1,
52
+ access: {
53
+ has: (e) => "amount" in e,
54
+ get: (e) => e.amount,
55
+ set: (e, t) => {
56
+ e.amount = t;
57
+ }
58
+ },
59
+ metadata: t
60
+ }, C, w), t && Object.defineProperty(this, Symbol.metadata, {
61
+ enumerable: !0,
62
+ configurable: !0,
63
+ writable: !0,
64
+ value: t
65
+ });
66
+ }
67
+ static {
68
+ this.elementName = "sbb-tab-label";
69
+ }
70
+ static {
71
+ this.role = "tab";
72
+ }
73
+ static {
74
+ this.styles = [f, n(m)];
75
+ }
76
+ #e;
77
+ get level() {
78
+ return this.#e;
79
+ }
80
+ set level(e) {
81
+ this.#e = e;
82
+ }
83
+ #t;
84
+ get active() {
85
+ return this.#t;
86
+ }
87
+ set active(e) {
88
+ this.#t = e;
89
+ }
90
+ #n;
91
+ get amount() {
92
+ return this.#n;
93
+ }
94
+ set amount(e) {
95
+ this.#n = e;
96
+ }
97
+ get tab() {
98
+ return this.nextElementSibling?.localName === "sbb-tab" ? this.nextElementSibling : null;
99
+ }
100
+ get group() {
101
+ return this.closest("sbb-tab-group");
102
+ }
103
+ constructor() {
104
+ super(), this._selected = !1, this._previousSize = null, this.#e = t(this, _, "1"), this.#t = (t(this, v), t(this, b, !1)), this.#n = (t(this, x), t(this, C, "")), t(this, w), this.addEventListener("click", () => this.activate()), this.addController(new o(this, () => this.group, { size: (e) => {
105
+ this._previousSize && this.internals.states.delete(`size-${this._previousSize}`), this._previousSize = e.size ?? null, this._previousSize && this.internals.states.add(`size-${this._previousSize}`);
106
+ } }));
107
+ }
108
+ connectedCallback() {
109
+ super.connectedCallback(), this.slot = "tab-bar", this.tabIndex = this.active ? 0 : -1;
110
+ }
111
+ willUpdate(e) {
112
+ super.willUpdate(e), e.has("active") && (this.internals.ariaSelected = `${this.active}`, this.active && !this.disabled ? this.activate() : this.deactivate()), e.has("disabled") && this.disabled && (this.tabIndex = -1, this.active && (this.deactivate(), this.group?.activateTab(0)));
113
+ }
114
+ deactivate() {
115
+ this.active = !1, this.tab?.deactivate(), this._selected = !1, this.tabIndex = -1;
116
+ }
117
+ activate() {
118
+ if (this.disabled) return;
119
+ let e = this.group?.labels || [], t = e.find((e) => e._selected);
120
+ if (t !== this) {
121
+ t?.deactivate(), this.active = !0, this.tab?.activate(), this._selected = !0, this.tabIndex = 0, this.tab?.dispatchEvent(new Event("active", {
122
+ bubbles: !0,
123
+ composed: !0
124
+ }));
125
+ let n = {
126
+ activeIndex: e.findIndex((e) => e === this),
127
+ activeTabLabel: this,
128
+ activeTab: this.tab,
129
+ previousIndex: e.findIndex((e) => e === t),
130
+ previousTabLabel: t,
131
+ previousTab: t?.tab
132
+ };
133
+ this.group?.dispatchEvent(new p(n));
134
+ }
135
+ }
136
+ linkToTab() {
137
+ this.tab && (this.internals.ariaControlsElements = [this.tab]);
138
+ }
139
+ render() {
140
+ let e = `h${Number(this.level) < 7 ? this.level : "1"}`;
141
+ return l`
142
+ <${u(e)} class="sbb-tab-label">
143
+ <span class="sbb-tab-label__icon">
144
+ ${this.renderIconSlot()}
145
+ </span>
146
+ <span class="sbb-tab-label__text">
147
+ <slot></slot>
148
+ </span>
149
+ <p class="sbb-tab-label__amount">
150
+ <slot name="amount">${this.amount}</slot>
151
+ </p>
152
+ </${u(e)}>
153
+ `;
154
+ }
155
+ };
156
+ })();
157
+ //#endregion
158
+ export { h as t };
@@ -1,9 +1,26 @@
1
- @use '../../core/styles' as sbb;
1
+ @use '../core/styles' as sbb;
2
2
 
3
3
  $theme: 'standard' !default;
4
4
 
5
+ @mixin tab-label-amount {
6
+ margin: 0;
7
+ color: var(--sbb-tab-label-amount-color);
8
+ font-weight: normal;
9
+ text-decoration: var(--sbb-tab-label-text-decoration);
10
+ }
11
+
5
12
  // These variables are shared within the `sbb-tab-label` and the `sbb-tab-nav-bar`.
6
13
  @mixin base {
14
+ --sbb-tab-group-content-gap-size-s: var(--sbb-spacing-responsive-xs);
15
+ --sbb-tab-group-content-gap-size-l: var(--sbb-spacing-responsive-s);
16
+ --sbb-tab-group-content-gap-size-xl: var(--sbb-spacing-responsive-m);
17
+ --sbb-tab-group-content-gap-default: #{sbb.theme-pattern-select(
18
+ (
19
+ 'standard': var(--sbb-tab-group-content-gap-size-l),
20
+ 'lean': var(--sbb-tab-group-content-gap-size-s),
21
+ ),
22
+ $theme
23
+ )};
7
24
  --sbb-tab-label-height: #{sbb.theme-pattern-select(
8
25
  (
9
26
  'standard': var(--sbb-size-element-m),
@@ -36,3 +53,9 @@ $theme: 'standard' !default;
36
53
  --sbb-tab-label-line-color: var(--sbb-border-color-4-inverted);
37
54
  --sbb-tab-label-cursor: var(--sbb-cursor-pointer);
38
55
  }
56
+
57
+ @mixin rules {
58
+ sbb-tab-nav-bar .sbb-tab-amount {
59
+ @include tab-label-amount;
60
+ }
61
+ }
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../tab-label.component-BYssa8XI.js";
1
+ import { t as e } from "../../tab-label.component-C5HCrNFB.js";
2
2
  export { e as SbbTabLabelElement };
package/tabs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { n as e, t } from "./tab-group.component-Dx0xldWI.js";
2
- import { t as n } from "./tab-label.component-BYssa8XI.js";
2
+ import { t as n } from "./tab-label.component-C5HCrNFB.js";
3
3
  import { t as r } from "./tab-nav-bar.component-7j-RCq7p.js";
4
4
  import { t as i } from "./tab.component-C5xxMwwX.js";
5
5
  import { n as a, t as o } from "./styles-DGAxTLMz.js";
package/tabs.pure.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { n as e, t } from "./tab-group.component-Dx0xldWI.js";
2
- import { t as n } from "./tab-label.component-BYssa8XI.js";
2
+ import { t as n } from "./tab-label.component-C5HCrNFB.js";
3
3
  import { t as r } from "./tab-nav-bar.component-7j-RCq7p.js";
4
4
  import { t as i } from "./tab.component-C5xxMwwX.js";
5
5
  import { n as a, t as o } from "./styles-DGAxTLMz.js";
@@ -1,4 +1,4 @@
1
- @use '../../core/styles' as sbb;
1
+ @use '../core/styles' as sbb;
2
2
 
3
3
  $theme: 'standard' !default;
4
4
 
@@ -32,7 +32,7 @@ $theme: 'standard' !default;
32
32
  )};
33
33
  }
34
34
 
35
- @mixin base-forced-colors {
35
+ @mixin forced-colors {
36
36
  --sbb-tag-amount-color: ButtonText;
37
37
  --sbb-tag-background-color: Canvas !important;
38
38
  --sbb-tag-text-color: ButtonText;
@@ -0,0 +1,51 @@
1
+ @use '../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-teaser-scale-hover: 1.02;
7
+ --sbb-teaser-description-color: light-dark(var(--sbb-color-granite), var(--sbb-color-silver));
8
+ --sbb-teaser-flex-direction: row;
9
+ --sbb-teaser-align-items: center;
10
+ --sbb-teaser-font-size: var(--sbb-text-font-size-s);
11
+ --sbb-teaser-gap: var(--sbb-spacing-fixed-4x);
12
+ --sbb-teaser-border-radius: var(--sbb-border-radius-4x);
13
+ --sbb-teaser-image-width: #{sbb.px-to-rem-build(300)};
14
+ }
15
+
16
+ @mixin rules {
17
+ // Target the slotted `sbb-image` which are generally wrapped by a <figure> (therefore are not reachable with the :slotted)
18
+ // Apply the brightness effect on mouse hover
19
+ :is(sbb-teaser, sbb-teaser-hero, sbb-teaser-product) {
20
+ --sbb-teaser-image-brightness-hover: var(--sbb-hover-image-brightness);
21
+ --sbb-teaser-image-animation-duration: var(
22
+ --sbb-disable-animation-duration,
23
+ var(--sbb-animation-duration-4x)
24
+ );
25
+ --sbb-teaser-image-animation-easing: var(--sbb-animation-easing);
26
+
27
+ &:hover {
28
+ @include sbb.hover-mq($hover: true) {
29
+ --sbb-teaser-image-brightness: var(--sbb-teaser-image-brightness-hover);
30
+ }
31
+ }
32
+
33
+ :is(sbb-image, img):not(.sbb-figure-overlap-image) {
34
+ // Although only the teaser has a scale property, we do it here, because this rule is
35
+ // more specific and overrides would not be respected.
36
+ will-change: filter, scale;
37
+ filter: brightness(var(--sbb-teaser-image-brightness, 1));
38
+ transition:
39
+ filter,
40
+ scale var(--sbb-teaser-image-animation-duration) var(--sbb-teaser-image-animation-easing);
41
+ }
42
+ }
43
+
44
+ sbb-teaser :is(sbb-image, img):not(.sbb-figure-overlap-image) {
45
+ --sbb-image-object-fit: cover;
46
+ --sbb-image-aspect-ratio: 4 / 3;
47
+
48
+ // The transition of the scale is done by the global rules in core.scss
49
+ scale: var(--sbb-teaser-scale, 1);
50
+ }
51
+ }
@@ -24,4 +24,6 @@ $theme: 'standard' !default;
24
24
  width: 100%;
25
25
  }
26
26
  }
27
+
28
+ // Some rules are shared with sbb-teaser and published there.
27
29
  }
@@ -17,14 +17,14 @@ $theme: 'standard' !default;
17
17
  --sbb-panel-animation-easing: var(--sbb-animation-easing);
18
18
  }
19
19
 
20
- @mixin base-breakpoint-large {
20
+ @mixin breakpoint-large {
21
21
  --sbb-panel-width: #{sbb.px-to-rem-build(321)};
22
22
  --sbb-panel-inner-height: #{sbb.px-to-rem-build(240.11)};
23
23
  --sbb-panel-triangle-height: #{sbb.px-to-rem-build(47.45)};
24
24
  --sbb-panel-font-size: var(--sbb-typo-scale-2x);
25
25
  }
26
26
 
27
- @mixin base-breakpoint-ultra {
27
+ @mixin breakpoint-ultra {
28
28
  --sbb-panel-width: #{sbb.px-to-rem-build(428)};
29
29
  --sbb-panel-inner-height: #{sbb.px-to-rem-build(320.38)};
30
30
  --sbb-panel-triangle-height: #{sbb.px-to-rem-build(63.31)};
@@ -1,4 +1,4 @@
1
- @use '../../core/styles' as sbb;
1
+ @use '../core/styles' as sbb;
2
2
 
3
3
  $theme: 'standard' !default;
4
4
 
@@ -25,7 +25,7 @@ $theme: 'standard' !default;
25
25
  --sbb-teaser-product-footer-padding-block-end: 0;
26
26
  }
27
27
 
28
- @mixin base-breakpoint-large {
28
+ @mixin breakpoint-large {
29
29
  --sbb-teaser-product-container-padding-block: var(--sbb-spacing-responsive-l) 0;
30
30
  --sbb-teaser-product-container-padding-inline: var(--sbb-spacing-responsive-xl);
31
31
  --sbb-teaser-product-content-align-content: center;
@@ -47,4 +47,6 @@ $theme: 'standard' !default;
47
47
  place-self: stretch;
48
48
  }
49
49
  }
50
+
51
+ // Some rules are shared with sbb-teaser and published there.
50
52
  }
@@ -6,6 +6,6 @@ $theme: 'standard' !default;
6
6
  --sbb-time-input-max-width: #{sbb.px-to-rem-build(58)};
7
7
  }
8
8
 
9
- @mixin base-breakpoint-large {
9
+ @mixin breakpoint-large {
10
10
  --sbb-time-input-max-width: #{sbb.px-to-rem-build(65)};
11
11
  }
@@ -1,10 +1,20 @@
1
- @use '../../core/styles' as sbb;
1
+ @use '../core/styles' as sbb;
2
2
 
3
3
  $theme: 'standard' !default;
4
4
 
5
5
  @mixin base {
6
6
  --sbb-timetable-form-background-color: var(--sbb-background-color-1);
7
7
  --sbb-timetable-form-border-radius: var(--sbb-border-radius-4x);
8
+ --sbb-timetable-form-details-border-block-start: var(--sbb-border-width-1x) solid
9
+ var(--sbb-border-color-4-inverted);
10
+ --sbb-timetable-form-details-gap: var(--sbb-spacing-fixed-1x);
11
+ --sbb-timetable-form-details-padding-block: var(--sbb-spacing-fixed-1x);
12
+ --sbb-timetable-form-details-padding-inline: var(--sbb-spacing-responsive-xxs);
13
+ --sbb-timetable-form-details-horizontal-divider-height: 1.5rem;
14
+ --sbb-timetable-form-field-route-icon-color: var(--sbb-color-2);
15
+ --sbb-timetable-form-field-route-icon-background-color: var(--sbb-background-color-1);
16
+ --sbb-timetable-form-field-route-via-icon-width: var(--sbb-size-icon-ui-small);
17
+ --sbb-timetable-form-field-route-via-after-dimension: #{sbb.px-to-rem-build(7)};
8
18
  }
9
19
 
10
20
  @mixin rules {
@@ -2,6 +2,10 @@
2
2
 
3
3
  $theme: 'standard' !default;
4
4
 
5
+ @mixin base {
6
+ --sbb-title-color: var(--sbb-color-3);
7
+ }
8
+
5
9
  @mixin rules {
6
10
  // In smaller title font-sizes, the space after the title is smaller than the default paragraph space before.
7
11
  // Due to margin collapsing, the wrong paragraph space wins.
@@ -1,4 +1,4 @@
1
- @use '../../core/styles' as sbb;
1
+ @use '../core/styles' as sbb;
2
2
 
3
3
  $theme: 'standard' !default;
4
4
 
@@ -30,9 +30,13 @@ $theme: 'standard' !default;
30
30
  --sbb-toggle-selected-option-border-style: solid;
31
31
  --sbb-toggle-selected-option-border-color: var(--sbb-border-color-5);
32
32
  --sbb-toggle-selected-option-background-color: var(--sbb-background-color-1);
33
+ --sbb-toggle-option-color: light-dark(var(--sbb-color-anthracite), var(--sbb-color-cloud));
34
+ --sbb-toggle-option-gap: var(--sbb-spacing-fixed-1x);
35
+ --sbb-toggle-option-font-size: var(--sbb-text-font-size-xs);
36
+ --sbb-toggle-option-icon-min-size: var(--sbb-size-icon-ui-small);
33
37
  }
34
38
 
35
- @mixin base-forced-colors {
39
+ @mixin forced-colors {
36
40
  --sbb-toggle-selected-option-border-width: var(--sbb-border-width-2x);
37
41
  --sbb-toggle-selected-option-border-color: Highlight;
38
42
  }
@@ -26,7 +26,7 @@ $theme: 'standard' !default;
26
26
  --sbb-toggle-check-shadow: var(--sbb-box-shadow-level-5-hard);
27
27
  }
28
28
 
29
- @mixin base-forced-colors {
29
+ @mixin forced-colors {
30
30
  --sbb-toggle-check-background-color: CanvasText;
31
31
  --sbb-toggle-check-circle-background-color: Canvas;
32
32
  }
@@ -3,6 +3,27 @@
3
3
  $theme: 'standard' !default;
4
4
 
5
5
  @mixin base {
6
+ --sbb-train-blocked-passage-background-color: var(--sbb-color-error);
7
+ --sbb-train-blocked-passage-bar-color: var(--sbb-color-white);
8
+ --sbb-train-blocked-passage-icon-bar-width: #{sbb.px-to-rem-build(10)};
9
+ --sbb-train-blocked-passage-icon-bar-height: #{sbb.px-to-rem-build(4)};
10
+ --sbb-train-blocked-passage-icon-bar-border-radius: var(--sbb-border-radius-1x);
11
+ --sbb-train-formation-wagon-dimension-short: #{sbb.px-to-rem-build(36)};
12
+ --sbb-train-formation-wagon-dimension-long: #{sbb.px-to-rem-build(84)};
13
+ --sbb-train-formation-wagon-gap: var(--sbb-spacing-fixed-1x);
14
+ --sbb-train-formation-sector-line-color: light-dark(
15
+ var(--sbb-color-cement),
16
+ var(--sbb-color-smoke)
17
+ );
18
+ --sbb-train-formation-sector-line-width: var(--sbb-border-width-1x);
19
+ --sbb-train-formation-blocked-passage-dimension: #{sbb.px-to-rem-build(16)};
20
+ --sbb-train-formation-text-color: var(--sbb-color-3);
21
+ --sbb-train-formation-gap: var(--sbb-spacing-fixed-2x);
22
+ --sbb-train-formation-sector-padding: var(--sbb-spacing-fixed-1x);
23
+ --sbb-train-formation-sector-margin: var(--sbb-spacing-fixed-2x);
24
+ --sbb-train-formation-padding: var(--sbb-spacing-fixed-1x);
25
+ --_sbb-train-formation-flex-direction: row;
26
+ --_sbb-train-formation-flex-direction-inverted: column;
6
27
  --sbb-train-wagon-font-size: var(--sbb-text-font-size-xxs);
7
28
  --sbb-train-wagon-shape-color: var(--sbb-color-3);
8
29
  --sbb-train-wagon-vertical-gap: #{sbb.px-to-rem-build(2)};
@@ -38,5 +59,8 @@ $theme: 'standard' !default;
38
59
  }
39
60
 
40
61
  @mixin forced-colors {
62
+ --sbb-train-blocked-passage-background-color: CanvasText;
63
+ --sbb-train-blocked-passage-bar-color: Canvas;
64
+ --sbb-train-formation-sector-line-color: CanvasText;
41
65
  --sbb-train-wagon-shape-color: CanvasText;
42
66
  }
@@ -26,7 +26,7 @@ $theme: 'standard' !default;
26
26
  --sbb-visual-checkbox-cursor: var(--sbb-cursor-pointer);
27
27
  }
28
28
 
29
- @mixin base-forced-colors {
29
+ @mixin forced-colors {
30
30
  --sbb-visual-checkbox-selection-color: Canvas;
31
31
  --sbb-visual-checkbox-selection-color-negative: Canvas;
32
32
  --sbb-visual-checkbox-selection-color-disabled: Canvas;
@@ -1,8 +0,0 @@
1
- @use '../../core/styles/index' as sbb;
2
-
3
- $theme: 'standard' !default;
4
-
5
- @mixin base {
6
- --sbb-alert-group-gap: var(--sbb-spacing-fixed-3x);
7
- --sbb-alert-group-border-radius: var(--sbb-border-radius-4x);
8
- }
@@ -1,16 +0,0 @@
1
- @use '../../core/styles' as sbb;
2
-
3
- $theme: 'standard' !default;
4
-
5
- @mixin base {
6
- --sbb-breadcrumb-color: light-dark(var(--sbb-color-granite), var(--sbb-color-aluminium));
7
- --sbb-breadcrumb-color-hover: light-dark(var(--sbb-color-charcoal), var(--sbb-color-smoke));
8
- --sbb-breadcrumb-color-active: light-dark(var(--sbb-color-anthracite), var(--sbb-color-cloud));
9
- --sbb-breadcrumb-font-size: var(--sbb-text-font-size-xs);
10
- --sbb-breadcrumb-gap: var(--sbb-spacing-fixed-2x);
11
- }
12
-
13
- @mixin base-forced-colors {
14
- --sbb-breadcrumb-color: ButtonText;
15
- --sbb-breadcrumb-color-active: Highlight;
16
- }
@@ -1,18 +0,0 @@
1
- @use '../../core/styles' as sbb;
2
-
3
- $theme: 'standard' !default;
4
-
5
- @mixin base {
6
- --sbb-mini-button-color-text: var(--sbb-color-3);
7
- --sbb-mini-button-color-default-background: transparent;
8
- --sbb-mini-button-color-hover-background: var(--sbb-background-color-3);
9
- --sbb-mini-button-color-active-background: var(--sbb-background-color-4);
10
- --sbb-mini-button-color-disabled-background: var(--sbb-background-color-3);
11
- --sbb-mini-button-color-disabled-border: var(--sbb-border-color-5);
12
- --sbb-mini-button-color-disabled-text: light-dark(
13
- var(--sbb-color-granite),
14
- var(--sbb-color-smoke)
15
- );
16
- --sbb-mini-button-border-radius: var(--sbb-border-radius-infinity);
17
- --sbb-mini-button-transition-easing-function: var(--sbb-animation-easing);
18
- }
@@ -1,35 +0,0 @@
1
- @use '../../core/styles' as sbb;
2
-
3
- $theme: 'standard' !default;
4
-
5
- @mixin base {
6
- --sbb-mini-button-group-background: var(--sbb-background-color-1);
7
- --sbb-mini-button-group-border-color: var(--sbb-border-color-4-inverted);
8
- --sbb-mini-button-group-border-width: var(--sbb-border-width-2x);
9
- --sbb-mini-button-group-border-radius: var(--sbb-border-radius-infinity);
10
- --sbb-mini-button-group-gap: var(--sbb-spacing-fixed-2x);
11
- --sbb-mini-button-group-divider-height: var(--sbb-size-icon-ui-small);
12
- --sbb-mini-button-group-divider-padding: var(--sbb-spacing-fixed-1x);
13
- --sbb-mini-button-group-min-height-s: var(--sbb-size-element-xs);
14
- --sbb-mini-button-group-min-height-m: var(--sbb-size-element-s);
15
- --sbb-mini-button-group-min-height-l: var(--sbb-size-element-m);
16
- --sbb-mini-button-group-min-height-xl: var(--sbb-size-element-l);
17
- --sbb-mini-button-group-min-height: #{sbb.theme-pattern-select(
18
- (
19
- 'standard': var(--sbb-mini-button-group-min-height-m),
20
- 'lean': var(--sbb-mini-button-group-min-height-s),
21
- ),
22
- $theme
23
- )};
24
- --sbb-mini-button-group-padding-inline-s: var(--sbb-spacing-fixed-2x);
25
- --sbb-mini-button-group-padding-inline-m: var(--sbb-spacing-fixed-3x);
26
- --sbb-mini-button-group-padding-inline-l: var(--sbb-spacing-fixed-3x);
27
- --sbb-mini-button-group-padding-inline-xl: var(--sbb-spacing-fixed-4x);
28
- --sbb-mini-button-group-padding-inline: #{sbb.theme-pattern-select(
29
- (
30
- 'standard': var(--sbb-mini-button-group-padding-inline-m),
31
- 'lean': var(--sbb-mini-button-group-padding-inline-s),
32
- ),
33
- $theme
34
- )};
35
- }
@@ -1,23 +0,0 @@
1
- @use '../../core/styles' as sbb;
2
-
3
- $theme: 'standard' !default;
4
-
5
- @mixin base {
6
- --sbb-calendar-cell-border: var(--sbb-calendar-cell-border-width) solid
7
- var(--sbb-border-color-1-inverted);
8
- --sbb-calendar-cell-color: var(--sbb-color-2);
9
- --sbb-calendar-cell-cursor: var(--sbb-cursor-pointer);
10
- --sbb-calendar-cell-justify-content: normal;
11
- --sbb-calendar-cell-inset: #{sbb.px-to-rem-build(1)};
12
- --sbb-calendar-cell-font-size: var(--sbb-text-font-size-s);
13
- --sbb-calendar-cell-font-weight: unset;
14
- --sbb-calendar-cell-transition-easing-function: var(--sbb-animation-easing);
15
- --sbb-calendar-cell-year-month-width: #{sbb.px-to-rem-build(77)};
16
- --sbb-calendar-cell-year-month-height: #{sbb.px-to-rem-build(44)};
17
- --sbb-calendar-day-width: #{sbb.px-to-rem-build(44)};
18
- --sbb-calendar-day-height: #{sbb.px-to-rem-build(48)};
19
- --sbb-calendar-day-extra-display: block;
20
- --sbb-calendar-day-extra-height: var(--sbb-spacing-fixed-4x);
21
- --sbb-calendar-day-crossed-out-top: 33%;
22
- --sbb-calendar-day-crossed-out-translate: translate(-50%, -33%) rotate(-45deg);
23
- }
@@ -1,22 +0,0 @@
1
- $theme: 'standard' !default;
2
-
3
- @use '../../core/styles' as sbb;
4
- @use '../card.library.global' as card with (
5
- $theme: $theme
6
- );
7
-
8
- @mixin base {
9
- @include card.variables--global;
10
- }
11
-
12
- @mixin base-forced-colors {
13
- @include card.variables--global-forced-colors;
14
- }
15
-
16
- @mixin rules {
17
- // Every element in the Light DOM of a sbb-card which is focusable should receive this attribute.
18
- // This style enables accessing focusable elements inside an sbb-card.
19
- sbb-card .sbb-action {
20
- pointer-events: all;
21
- }
22
- }
@@ -1,19 +0,0 @@
1
- @use '../../core/styles' as sbb;
2
-
3
- $theme: 'standard' !default;
4
-
5
- @mixin base {
6
- --sbb-card-badge-gap: var(--sbb-spacing-fixed-2x);
7
- --sbb-card-badge-color: var(--sbb-color-2-inverted);
8
- --sbb-card-badge-background-color: var(--sbb-background-color-3-inverted);
9
- --sbb-card-badge-border-color: transparent;
10
- --sbb-card-badge-padding-inline: var(--sbb-spacing-fixed-2x) var(--sbb-spacing-fixed-3x);
11
- --sbb-card-badge-border-width: var(--sbb-border-width-1x);
12
- --sbb-card-badge-border-radius: var(--sbb-border-radius-4x);
13
- --sbb-card-badge-skew: skew(16deg, 0deg);
14
- }
15
-
16
- @mixin base-forced-colors {
17
- --sbb-card-badge-border-display: block;
18
- --sbb-card-badge-inline-border-display: none;
19
- }
@@ -1,10 +0,0 @@
1
- @use '../core/styles' as sbb;
2
-
3
- $theme: 'standard' !default;
4
-
5
- @mixin base {
6
- --sbb-checkbox-label-icon-flex-direction: row;
7
- --sbb-checkbox-label-icon-justify-content: space-between;
8
- --sbb-checkbox-label-icon-flex-grow: 1;
9
- --sbb-checkbox-label-gap: var(--sbb-spacing-fixed-2x);
10
- }
@@ -1,16 +0,0 @@
1
- @use '../../core/styles' as sbb;
2
-
3
- $theme: 'standard' !default;
4
-
5
- @mixin base {
6
- --sbb-chip-background-color: var(--sbb-background-color-3);
7
- --sbb-chip-background-color-active: var(--sbb-background-color-1);
8
- --sbb-chip-background-color-hover: var(--sbb-background-color-1);
9
- --sbb-chip-border-color: var(--sbb-border-color-4-inverted);
10
- --sbb-chip-border-radius: var(--sbb-border-radius-2x);
11
- --sbb-chip-color: light-dark(var(--sbb-color-granite), var(--sbb-color-cloud));
12
- --sbb-chip-color-hover: var(--sbb-color-2);
13
- --sbb-chip-font-size: var(--sbb-text-font-size-xxs);
14
- --sbb-chip-height: #{sbb.px-to-rem-build(24)};
15
- --sbb-chip-label-padding-inline: var(--sbb-spacing-fixed-2x);
16
- }