@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779280803 → 5.0.0-next.3-dev.1779281392

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 (116) hide show
  1. package/alert/alert/alert.global.scss +45 -0
  2. package/alert/alert-group/alert-group.global.scss +8 -0
  3. package/badge/badge.global.scss +44 -0
  4. package/breadcrumb/breadcrumb/breadcrumb.global.scss +16 -0
  5. package/breadcrumb/breadcrumb-group/breadcrumb-group.global.scss +26 -0
  6. package/button/common/button-common.global.scss +58 -0
  7. package/button/common/mini-button-common.global.scss +18 -0
  8. package/button/mini-button-group/mini-button-group.global.scss +35 -0
  9. package/calendar/calendar/calendar.global.scss +31 -0
  10. package/calendar/common/calendar-cell-base-element.global.scss +23 -0
  11. package/card/card/card.global.scss +22 -0
  12. package/card/card-badge/card-badge.global.scss +19 -0
  13. package/card/card.library.global.scss +203 -0
  14. package/carousel/carousel/carousel.global.scss +10 -0
  15. package/checkbox/checkbox.global.scss +10 -0
  16. package/checkbox/common/checkbox-common.global.scss +25 -0
  17. package/chip/chip/chip.global.scss +16 -0
  18. package/chip/chip-group/chip-group.global.scss +62 -0
  19. package/chip-label/chip-label.global.scss +11 -0
  20. package/clock/clock.global.scss +9 -0
  21. package/container/container/container.global.scss +21 -0
  22. package/container/sticky-bar/sticky-bar.global.scss +17 -0
  23. package/core/base-elements/selection-group-base-element.global.scss +12 -0
  24. package/core/mixins/panel-common.global.scss +41 -0
  25. package/development/form-field/form-field/form-field.component.js +1 -1
  26. package/development/{form-field.component-w4nlNsj2.js → form-field.component-BzjbIwnz.js} +2 -2
  27. package/development/form-field.js +1 -1
  28. package/development/form-field.pure.js +1 -1
  29. package/dialog/dialog/dialog.global.scss +32 -0
  30. package/dialog/dialog-close-button/dialog-close-button.global.scss +35 -0
  31. package/dialog/dialog-content/dialog-content.global.scss +13 -0
  32. package/dialog/dialog-title/dialog-title.global.scss +13 -0
  33. package/divider/divider.global.scss +9 -0
  34. package/expansion-panel/expansion-panel/expansion-panel.global.scss +21 -0
  35. package/expansion-panel/expansion-panel-content/expansion-panel-content.global.scss +16 -0
  36. package/expansion-panel/expansion-panel-header/expansion-panel-header.global.scss +41 -0
  37. package/file-selector/common/file-selector.global.scss +25 -0
  38. package/flip-card/flip-card/flip-card.global.scss +25 -0
  39. package/flip-card/flip-card-details/flip-card-details.global.scss +7 -0
  40. package/flip-card/flip-card-summary/flip-card-summary.global.scss +17 -0
  41. package/footer/footer.global.scss +17 -0
  42. package/form-field/error/error.global.scss +9 -0
  43. package/form-field/form-field/form-field.component.js +1 -1
  44. package/form-field/form-field/form-field.global.scss +271 -0
  45. package/{form-field.component-DkqZz7aZ.js → form-field.component-BKWzdNHT.js} +1 -1
  46. package/form-field.js +1 -1
  47. package/form-field.pure.js +1 -1
  48. package/header/common/header-action.global.scss +41 -0
  49. package/header/header/header.global.scss +62 -0
  50. package/header/header-environment/header-environment.global.scss +10 -0
  51. package/icon-sidebar/icon-sidebar/icon-sidebar.global.scss +21 -0
  52. package/lead-container/lead-container.global.scss +31 -0
  53. package/link/common/block-link.global.scss +15 -0
  54. package/link/link.library.global.scss +121 -0
  55. package/loading-indicator/loading-indicator.global.scss +10 -0
  56. package/loading-indicator-circle/loading-indicator-circle.global.scss +19 -0
  57. package/logo/logo.global.scss +15 -0
  58. package/map-container/map-container.global.scss +15 -0
  59. package/menu/common/menu-action.global.scss +14 -0
  60. package/menu/menu/menu.global.scss +23 -0
  61. package/message/message.global.scss +20 -0
  62. package/mini-calendar/mini-calendar-day/mini-calendar-day.global.scss +9 -0
  63. package/mini-calendar/mini-calendar-month/mini-calendar-month.global.scss +12 -0
  64. package/navigation/common/navigation-action.global.scss +11 -0
  65. package/navigation/navigation/navigation.global.scss +36 -0
  66. package/navigation/navigation-list/navigation-list.global.scss +10 -0
  67. package/navigation/navigation-marker/navigation-marker.global.scss +17 -0
  68. package/navigation/navigation-section/navigation-section.global.scss +34 -0
  69. package/notification/notification.global.scss +53 -0
  70. package/option/optgroup/optgroup.global.scss +17 -0
  71. package/option/option/option.global.scss +51 -0
  72. package/option/option-hint/option-hint.global.scss +17 -0
  73. package/option/option-panel-common.global.scss +11 -0
  74. package/overlay/overlay.global.scss +13 -0
  75. package/package.json +2 -2
  76. package/paginator/common/paginator-common.global.scss +14 -0
  77. package/paginator/compact-paginator/compact-paginator.global.scss +9 -0
  78. package/paginator/paginator/paginator.global.scss +10 -0
  79. package/popover/popover.global.scss +12 -0
  80. package/radio-button/common/radio-button-common.global.scss +37 -0
  81. package/select/select.global.scss +24 -0
  82. package/selection-action-panel/selection-action-panel.global.scss +19 -0
  83. package/selection-expansion-panel/selection-expansion-panel.global.scss +21 -0
  84. package/sidebar/sidebar/sidebar.global.scss +19 -0
  85. package/sidebar/sidebar-close-button/sidebar-close-button.global.scss +10 -0
  86. package/sidebar/sidebar-container/sidebar-container.global.scss +62 -0
  87. package/signet/signet.global.scss +16 -0
  88. package/slider/slider.global.scss +30 -0
  89. package/status/status.global.scss +10 -0
  90. package/stepper/step-label/step-label.global.scss +43 -0
  91. package/stepper/stepper/stepper.global.scss +10 -0
  92. package/table/table.global.scss +295 -0
  93. package/tabs/common/tab-group-common.global.scss +17 -0
  94. package/tabs/common/tab-label-common.global.scss +38 -0
  95. package/tabs/tab-nav-bar/tab-nav-bar.global.scss +10 -0
  96. package/tag/tag/tag.global.scss +41 -0
  97. package/teaser/teaser.global.scss +24 -0
  98. package/teaser-hero/teaser-hero.global.scss +27 -0
  99. package/teaser-panel/teaser-panel.global.scss +33 -0
  100. package/teaser-product/common/teaser-product-common.global.scss +50 -0
  101. package/time-input/time-input.global.scss +11 -0
  102. package/timetable-form/timetable-form/timetable-form.global.scss +97 -0
  103. package/timetable-form/timetable-form-details/timetable-form-details.global.scss +12 -0
  104. package/timetable-form/timetable-form-field/timetable-form-field.global.scss +10 -0
  105. package/timetable-occupancy/timetable-occupancy.global.scss +10 -0
  106. package/title/title-common.global.scss +7 -0
  107. package/title/title.global.scss +12 -0
  108. package/toast/toast.global.scss +18 -0
  109. package/toggle/toggle/toggle.global.scss +44 -0
  110. package/toggle/toggle-option/toggle-option.global.scss +10 -0
  111. package/toggle-check/toggle-check.global.scss +32 -0
  112. package/tooltip/tooltip.global.scss +20 -0
  113. package/train/train-blocked-passage/train-blocked-passage.global.scss +16 -0
  114. package/train/train-formation/train-formation.global.scss +26 -0
  115. package/train/train-wagon-common.global.scss +42 -0
  116. package/visual-checkbox/visual-checkbox.global.scss +38 -0
@@ -0,0 +1,41 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-header-action-color: var(--sbb-color-1);
7
+ --sbb-header-action-background-color: transparent;
8
+ --sbb-header-action-min-height-s: var(--sbb-size-element-xs);
9
+ --sbb-header-action-min-height-m: var(--sbb-size-element-s);
10
+ --sbb-header-action-min-height: #{sbb.theme-pattern-select(
11
+ (
12
+ 'standard': var(--sbb-header-action-min-height-m),
13
+ 'lean': var(--sbb-header-action-min-height-s),
14
+ ),
15
+ $theme
16
+ )};
17
+ --sbb-header-action-padding-inline-s: var(--sbb-spacing-fixed-4x);
18
+ --sbb-header-action-padding-inline-m: var(--sbb-spacing-fixed-5x);
19
+ --sbb-header-action-padding-inline: #{sbb.theme-pattern-select(
20
+ (
21
+ 'standard': var(--sbb-header-action-padding-inline-m),
22
+ 'lean': var(--sbb-header-action-padding-inline-s),
23
+ ),
24
+ $theme
25
+ )};
26
+ --sbb-header-action-transition-easing: var(--sbb-animation-easing);
27
+ --sbb-header-action-border-color: transparent;
28
+ --sbb-header-action-gap: var(--sbb-spacing-fixed-2x);
29
+ --sbb-header-action-icon-dimension: var(--sbb-size-icon-ui-small);
30
+ --sbb-header-action-active-border-width: var(--sbb-border-width-2x);
31
+ --sbb-header-action-active-border-color: var(--sbb-header-action-color);
32
+ --sbb-header-first-item-icon-shift: #{sbb.px-to-rem-build(2)};
33
+ }
34
+
35
+ @mixin base-forced-colors {
36
+ --sbb-header-action-border-color: CanvasText;
37
+ --sbb-header-action-color: LinkText;
38
+
39
+ // Hide border with forced colors, as state is displayed on border
40
+ --sbb-header-action-active-border-width: 0;
41
+ }
@@ -0,0 +1,62 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-header-background: var(--sbb-background-color-1);
7
+ --sbb-header-box-shadow: var(--sbb-box-shadow-level-9-soft);
8
+ --sbb-header-inset-inline-end: 0;
9
+ --sbb-header-position: fixed;
10
+ --sbb-header-height-s: #{sbb.px-to-rem-build(52)};
11
+ --sbb-header-height-m: var(--sbb-spacing-fixed-14x);
12
+ --sbb-header-height: #{sbb.theme-pattern-select(
13
+ (
14
+ 'standard': var(--sbb-header-height-m),
15
+ 'lean': var(--sbb-header-height-s),
16
+ ),
17
+ $theme
18
+ )};
19
+ }
20
+
21
+ @mixin base-breakpoint-large {
22
+ --sbb-header-height-s: var(--sbb-spacing-fixed-14x);
23
+ --sbb-header-height-m: var(--sbb-spacing-fixed-24x);
24
+ }
25
+
26
+ @mixin rules {
27
+ // We would like to provide the height variable globally in order that global styles can be adapted to the header size.
28
+ // For example, the container margin can be adapted to the header height.
29
+ // In standard theme, size='s' overrides the default (size='m').
30
+ // In lean theme, size='m' overrides the default (size='s').
31
+ #{sbb.theme-pattern-select(('standard': ":root:has(sbb-header[size='s'])", 'lean': ":root:has(sbb-header[size='m'])"), $theme)} {
32
+ --sbb-header-height: #{sbb.theme-pattern-select(
33
+ (
34
+ 'standard': var(--sbb-header-height-s),
35
+ 'lean': var(--sbb-header-height-m),
36
+ ),
37
+ $theme
38
+ )};
39
+ }
40
+
41
+ // Move container below header
42
+ sbb-header + :where(sbb-sidebar-container, sbb-icon-sidebar-container) {
43
+ margin-block-start: var(--sbb-header-height);
44
+ }
45
+
46
+ // Helper class for the application name and version in sbb-header.
47
+ .sbb-header-info {
48
+ display: flex;
49
+ padding-inline: var(--sbb-spacing-fixed-4x);
50
+ gap: var(--sbb-spacing-fixed-1x);
51
+ align-items: baseline;
52
+ color: var(--sbb-color-1);
53
+ font-size: var(--sbb-text-font-size-xs);
54
+ letter-spacing: var(--sbb-typo-letter-spacing-text);
55
+
56
+ strong + * {
57
+ font-size: var(--sbb-text-font-size-xxs);
58
+ letter-spacing: var(--sbb-typo-letter-spacing-text);
59
+ color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));
60
+ }
61
+ }
62
+ }
@@ -0,0 +1,10 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-header-environment-background-color: var(--sbb-color-granite);
7
+ --sbb-header-environment-color: var(--sbb-color-1-negative);
8
+ --sbb-header-environment-size: #{sbb.px-to-rem-build(38)};
9
+ --sbb-header-environment-rotate: 45deg;
10
+ }
@@ -0,0 +1,21 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-icon-sidebar-background-color: var(--sbb-background-color-1);
7
+ --sbb-icon-sidebar-border-radius: var(--sbb-border-radius-8x);
8
+ }
9
+
10
+ @mixin rules {
11
+ // Move the current-page-border to the right side if the sidebar is right positioned
12
+ sbb-icon-sidebar-content + sbb-icon-sidebar :is(sbb-icon-sidebar-link, sbb-icon-sidebar-button) {
13
+ --sbb-icon-sidebar-button__current-border-inset-inline-start: auto;
14
+ }
15
+
16
+ // Set the border radius at the left top side if the sidebar is right positioned
17
+ sbb-icon-sidebar-content + sbb-icon-sidebar {
18
+ border-start-end-radius: 0;
19
+ border-start-start-radius: var(--sbb-icon-sidebar-border-radius);
20
+ }
21
+ }
@@ -0,0 +1,31 @@
1
+ @use '../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-lead-container-background-color: var(--sbb-background-color-1);
7
+ --sbb-lead-container-image-ratio: 2 / 1;
8
+ --sbb-lead-container-image-overlap: var(--sbb-spacing-fixed-24x);
9
+ --sbb-lead-container-content-padding-block: var(--sbb-spacing-responsive-l);
10
+ --sbb-lead-container-padding-block: 0 var(--sbb-spacing-responsive-l);
11
+ --sbb-lead-container-padding-inline: var(--sbb-layout-base-offset-responsive);
12
+ --sbb-lead-container-border-radius: var(--sbb-border-radius-6x);
13
+ --sbb-lead-container-image-border-radius: 0;
14
+ }
15
+
16
+ @mixin base-breakpoint-ultra {
17
+ --sbb-lead-container-image-ratio: 21 / 9;
18
+ --sbb-lead-container-image-border-radius: var(--sbb-lead-container-border-radius);
19
+ }
20
+
21
+ @mixin rules {
22
+ sbb-lead-container {
23
+ > [slot='image']:is(sbb-image, img, picture),
24
+ > [slot='image'] :is(sbb-image, img, picture):not(.sbb-figure-overlap-image) {
25
+ --sbb-image-aspect-ratio: var(--sbb-lead-container-image-ratio);
26
+ --sbb-image-object-fit: cover;
27
+
28
+ border-radius: var(--sbb-lead-container-image-border-radius);
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,15 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-block-link-gap: var(--sbb-spacing-fixed-1x);
7
+ --sbb-block-link-icon-size: var(--sbb-size-icon-ui-small);
8
+ --sbb-block-link-font-size: #{sbb.theme-pattern-select(
9
+ (
10
+ 'standard': var(--sbb-text-font-size-s),
11
+ 'lean': var(--sbb-text-font-size-xs),
12
+ ),
13
+ $theme
14
+ )};
15
+ }
@@ -0,0 +1,121 @@
1
+ @use '../core/styles' as sbb;
2
+
3
+ @mixin common-variables {
4
+ --sbb-link-color-hover: light-dark(var(--sbb-color-primary125), var(--sbb-color-graphite));
5
+ --sbb-link-color-active: light-dark(var(--sbb-color-primary150), var(--sbb-color-metal));
6
+ }
7
+
8
+ @mixin common-variables--negative {
9
+ --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);
10
+ }
11
+
12
+ @mixin block-variables {
13
+ @include common-variables;
14
+
15
+ --sbb-link-color-normal: light-dark(var(--sbb-color-granite), var(--sbb-color-white));
16
+ --sbb-link-color-hover: light-dark(var(--sbb-color-primary125), var(--sbb-color-cloud));
17
+ --sbb-link-color-active: light-dark(var(--sbb-color-primary150), var(--sbb-color-silver));
18
+ }
19
+
20
+ @mixin block-variables--negative {
21
+ @include common-variables--negative;
22
+
23
+ --sbb-link-color-normal: var(--sbb-color-1-negative);
24
+ --sbb-link-color-hover: var(--sbb-color-4-negative);
25
+ --sbb-link-color-active: var(--sbb-color-silver);
26
+ }
27
+
28
+ // To display a current active page, e.g. if the CSS class sbb-active is set
29
+ @mixin block-variables--active {
30
+ --sbb-link-color-normal: light-dark(var(--sbb-color-black), var(--sbb-color-cement));
31
+ --sbb-link-text-decoration-line: underline;
32
+ }
33
+
34
+ // To display a current active page, e.g. if the CSS class sbb-active is set
35
+ @mixin block-variables--active-negative {
36
+ --sbb-link-color-normal: var(--sbb-color-cement);
37
+ --sbb-link-text-decoration-line: underline;
38
+ }
39
+
40
+ @mixin variables {
41
+ @include common-variables;
42
+
43
+ --sbb-link-color-normal: inherit;
44
+ }
45
+
46
+ @mixin variables--negative {
47
+ @include common-variables--negative;
48
+
49
+ --sbb-link-color-hover: var(--sbb-color-graphite);
50
+ --sbb-link-color-active: var(--sbb-color-metal);
51
+ }
52
+
53
+ @mixin variables--button {
54
+ @media (forced-colors: active) {
55
+ --sbb-link-color-normal: ButtonText;
56
+ --sbb-link-color-hover: ButtonText;
57
+ --sbb-link-color-active: ButtonText;
58
+ }
59
+ }
60
+
61
+ @mixin base {
62
+ color: var(--sbb-link-color-normal);
63
+ text-decoration-line: var(--sbb-link-text-decoration-line, underline);
64
+ text-decoration-thickness: #{sbb.px-to-rem-build(1)};
65
+ text-underline-offset: 0.3125em; // 5px
66
+
67
+ @media (forced-colors: active) {
68
+ text-decoration: underline;
69
+ }
70
+ }
71
+
72
+ @mixin focus-visible {
73
+ &:focus-visible {
74
+ @include sbb.focus-outline;
75
+
76
+ border-radius: calc(var(--sbb-border-radius-4x) - var(--sbb-focus-outline-offset));
77
+ }
78
+ }
79
+
80
+ @mixin hover-rules {
81
+ @include sbb.hover-mq($hover: true) {
82
+ color: var(--sbb-link-color-hover);
83
+ text-decoration-line: var(--sbb-link-hover-text-decoration, underline);
84
+ }
85
+ }
86
+
87
+ @mixin hover {
88
+ &:hover {
89
+ @include hover-rules;
90
+ }
91
+ }
92
+
93
+ @mixin active-rules {
94
+ color: var(--sbb-link-color-active);
95
+ }
96
+
97
+ @mixin active {
98
+ &:active {
99
+ @include active-rules;
100
+ }
101
+ }
102
+
103
+ @mixin consolidation {
104
+ @include base;
105
+ @include focus-visible;
106
+ @include hover;
107
+
108
+ // Active definitions have to be after :hover definitions
109
+ @include active;
110
+ }
111
+
112
+ @mixin rules {
113
+ @include variables;
114
+ @include consolidation;
115
+ }
116
+
117
+ @mixin rules-negative {
118
+ @include variables;
119
+ @include variables--negative;
120
+ @include consolidation;
121
+ }
@@ -0,0 +1,10 @@
1
+ @use '../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-loading-indicator-color: var(--sbb-color-primary);
7
+ --sbb-loading-indicator-window-element-rotation: 55.24deg;
8
+ --sbb-loading-indicator-window-height: #{sbb.px-to-rem-build(18)};
9
+ --sbb-loading-indicator-window-element-width: #{sbb.px-to-rem-build(55)};
10
+ }
@@ -0,0 +1,19 @@
1
+ @use '../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-loading-indicator-circle-color: var(--sbb-color-primary);
7
+ --sbb-loading-indicator-circle-padding: #{sbb.px-to-rem-build(2)};
8
+ --sbb-loading-indicator-circle-background-color: var(--sbb-color-white);
9
+ --sbb-loading-indicator-circle-animated-width: 0.1875em;
10
+ --sbb-loading-indicator-circle-animated-height: 0.1875em;
11
+ --sbb-loading-indicator-circle-animated-border-radius: 50%;
12
+ }
13
+
14
+ @mixin base-forced-colors {
15
+ --sbb-loading-indicator-circle-animated-width: 50%;
16
+ --sbb-loading-indicator-circle-animated-height: 100%;
17
+ --sbb-loading-indicator-circle-animated-border-radius: 0;
18
+ --sbb-loading-indicator-circle-background: transparent;
19
+ }
@@ -0,0 +1,15 @@
1
+ @use '../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-logo-panel-color: var(--sbb-color-brand);
7
+ --sbb-logo-signet-color: var(--sbb-color-white);
8
+ --sbb-logo-word-mark-color: light-dark(var(--sbb-color-black), var(--sbb-color-white));
9
+ --sbb-logo-aspect-ratio: 454 / 48;
10
+ }
11
+
12
+ @mixin base-forced-colors {
13
+ --sbb-logo-panel-color: ButtonText !important;
14
+ --sbb-logo-signet-color: Canvas !important;
15
+ }
@@ -0,0 +1,15 @@
1
+ @use '../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-map-container-map-height-zero: #{sbb.px-to-rem-build(295)};
7
+ --sbb-map-container-map-height-small: #{sbb.px-to-rem-build(320)};
8
+ --sbb-map-container-sidebar-width: #{sbb.px-to-rem-build(400)};
9
+ --sbb-map-container-sidebar-background-color: var(--sbb-background-color-1);
10
+ --sbb-map-container-border-radius: var(--sbb-border-radius-4x);
11
+ }
12
+
13
+ @mixin base-breakpoint-ultra {
14
+ --sbb-map-container-sidebar-width: #{sbb.px-to-rem-build(480)};
15
+ }
@@ -0,0 +1,14 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-menu-action-border-radius: var(--sbb-border-radius-infinity);
7
+ --sbb-menu-action-outer-horizontal-padding: var(--sbb-spacing-fixed-3x);
8
+ --sbb-menu-action-outer-vertical-padding: var(--sbb-spacing-fixed-1x);
9
+ --sbb-menu-action-gap: var(--sbb-spacing-fixed-2x);
10
+ --sbb-menu-action-color: var(--sbb-color-2-inverted);
11
+ --sbb-menu-action-content-padding-inline: var(--sbb-spacing-fixed-2x);
12
+ --sbb-menu-action-content-padding-block: var(--sbb-spacing-fixed-1x);
13
+ --sbb-menu-action-forced-color-border-color: CanvasText;
14
+ }
@@ -0,0 +1,23 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-menu-animation-easing: ease;
7
+ --sbb-menu-max-width: 100%;
8
+ --sbb-menu-min-width: 100%;
9
+ --sbb-menu-container-height: 100dvh;
10
+
11
+ // 85vh is not an exact value but looks optimized for mobile view.
12
+ --sbb-menu-max-height: calc(85vh - var(--sbb-spacing-fixed-8x));
13
+ --sbb-menu-min-height: #{sbb.px-to-rem-build(48.5)};
14
+ --sbb-menu-border-radius: var(--sbb-border-radius-4x);
15
+ --sbb-menu-color: var(--sbb-color-2-inverted);
16
+ --sbb-menu-background-color: var(--sbb-background-color-1-inverted);
17
+ }
18
+
19
+ @mixin base-breakpoint-large {
20
+ --sbb-menu-max-width: #{sbb.px-to-rem-build(320)};
21
+ --sbb-menu-min-width: #{sbb.px-to-rem-build(180)};
22
+ --sbb-menu-transform-y: var(--sbb-spacing-fixed-2x);
23
+ }
@@ -0,0 +1,20 @@
1
+ @use '../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-message-action-margin-block: var(--sbb-spacing-responsive-xxxs) 0;
7
+ --sbb-message-image-margin-block: 0 var(--sbb-spacing-responsive-s);
8
+ --sbb-message-image-border-radius: var(--sbb-border-radius-4x);
9
+ --sbb-message-subtitle-color: light-dark(var(--sbb-color-granite), var(--sbb-color-platinum));
10
+ --sbb-message-legend-margin-block: var(--sbb-spacing-responsive-xxxs) 0;
11
+ }
12
+
13
+ @mixin rules {
14
+ sbb-message {
15
+ > [slot='image']:is(sbb-image, img),
16
+ > [slot='image'] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
17
+ border-radius: var(--sbb-message-image-border-radius);
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,9 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-mini-calendar-day-animation-easing: var(--sbb-animation-easing);
7
+ --sbb-mini-calendar-day-dimensions: #{sbb.px-to-rem-build(6)};
8
+ --sbb-mini-calendar-day-scale: 1.333;
9
+ }
@@ -0,0 +1,12 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-mini-calendar-month-offset: 0;
7
+ --sbb-mini-calendar-month-visibilty-year: hidden;
8
+ --sbb-mini-calendar-month-label-color: light-dark(
9
+ var(--sbb-color-granite),
10
+ var(--sbb-color-silver)
11
+ );
12
+ }
@@ -0,0 +1,11 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-navigation-action-color: var(--sbb-color-4-negative);
7
+ --sbb-navigation-action-icon-display: none;
8
+ --sbb-navigation-action-font-size: var(--sbb-text-font-size-xl);
9
+ --sbb-navigation-action-letter-spacing: var(--sbb-typo-letter-spacing-heading);
10
+ --sbb-navigation-action-line-height: var(--sbb-typo-line-height-heading);
11
+ }
@@ -0,0 +1,36 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-navigation-grid-column: 1 / -1;
7
+ --sbb-navigation-animation-easing: ease-in;
8
+ --sbb-navigation-padding-inline: var(--sbb-layout-base-offset-responsive);
9
+ --sbb-navigation-padding-block-start: var(--sbb-spacing-responsive-l);
10
+ --sbb-navigation-padding-block-end: var(--sbb-spacing-responsive-xl);
11
+ --sbb-navigation-backdrop-color: color-mix(in srgb, var(--sbb-color-black) 70%, transparent);
12
+ --sbb-navigation-backdrop-animation-name: backdrop-open;
13
+ --sbb-navigation-background-color: var(--sbb-background-color-1-negative);
14
+ --sbb-navigation-color: var(--sbb-color-1-negative);
15
+ --sbb-navigation-list-margin-block-start: var(--sbb-spacing-responsive-xxl);
16
+ --sbb-navigation-expanded-width: 100%;
17
+ --sbb-navigation-inset: 0 auto auto 0;
18
+ --sbb-navigation-translate: -100% 0;
19
+ --sbb-navigation-content-gap: var(--sbb-spacing-responsive-xxl);
20
+ --sbb-navigation-content-translate: 0;
21
+ --sbb-navigation-width: 100%;
22
+ --sbb-navigation-height: 100dvh;
23
+ }
24
+
25
+ @mixin base-breakpoint-large {
26
+ --sbb-navigation-grid-column: 1 / 5;
27
+ --sbb-navigation-padding-block-start: var(--sbb-spacing-responsive-xl);
28
+ --sbb-navigation-padding-inline: var(--sbb-layout-base-offset-responsive) 0;
29
+ --sbb-navigation-list-margin-block-start: var(--sbb-spacing-fixed-1x);
30
+ --sbb-navigation-inline-start: calc(var(--sbb-layout-base-offset-responsive) * -1);
31
+ }
32
+
33
+ @mixin base-breakpoint-ultra {
34
+ --sbb-navigation-grid-column: 1 / 6;
35
+ --sbb-navigation-padding-block-start: var(--sbb-spacing-responsive-xxl);
36
+ }
@@ -0,0 +1,10 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-navigation-list-font-size: var(--sbb-text-font-size-xxs);
7
+ --sbb-navigation-list-gap: var(--sbb-spacing-fixed-2x);
8
+ --sbb-navigation-list-margin-block: var(--sbb-spacing-fixed-1x);
9
+ --sbb-navigation-list-padding-block-end: var(--sbb-spacing-fixed-2x);
10
+ }
@@ -0,0 +1,17 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-navigation-action-gap: var(--sbb-spacing-responsive-xs);
7
+ --sbb-navigation-marker-position-x: var(--sbb-spacing-fixed-1x);
8
+ --sbb-navigation-marker-position-y: unset;
9
+ --sbb-navigation-marker-width: #{sbb.px-to-rem-build(17)};
10
+ --sbb-navigation-marker-border: var(--sbb-border-width-1x);
11
+ --sbb-navigation-marker-padding-inline-start: var(--sbb-spacing-fixed-6x);
12
+ --sbb-navigation-marker-typo-line-height: var(--sbb-typo-line-height-heading);
13
+ --sbb-navigation-margin-inline-start: var(--sbb-spacing-fixed-3x);
14
+ --sbb-navigation-marker-font-size: var(--sbb-text-font-size-xl);
15
+ --sbb-navigation-marker-letter-spacing: var(--sbb-typo-letter-spacing-heading);
16
+ --sbb-navigation-marker-line-height: var(--sbb-typo-line-height-heading);
17
+ }
@@ -0,0 +1,34 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-navigation-section-column: 1 / -1;
7
+ --sbb-navigation-section-position: fixed;
8
+ --sbb-navigation-section-pointer-events: none;
9
+ --sbb-navigation-section-animation-easing: ease-out;
10
+ --sbb-navigation-section-padding-inline: var(--sbb-layout-base-offset-responsive);
11
+ --sbb-navigation-section-padding-block: var(--sbb-spacing-responsive-l);
12
+ --sbb-navigation-section-translate: 100%;
13
+ --sbb-navigation-section-content-padding-inline-start: var(--sbb-spacing-fixed-12x);
14
+ --sbb-navigation-section-width: 100dvw;
15
+ --sbb-navigation-section-height: 100dvh;
16
+ --sbb-navigation-section-font-size: var(--sbb-heading-font-size-4);
17
+ }
18
+
19
+ @mixin base-breakpoint-large {
20
+ --sbb-navigation-section-column: 5 / 13;
21
+ --sbb-navigation-section-padding-block: var(--sbb-spacing-responsive-xl);
22
+ --sbb-navigation-section-padding-inline: var(--sbb-spacing-fixed-8x)
23
+ var(--sbb-layout-base-offset-responsive);
24
+ --sbb-navigation-section-position: relative;
25
+ --sbb-navigation-section-translate: 0;
26
+ --sbb-navigation-section-content-padding-inline-start: 0;
27
+ --sbb-navigation-section-font-size: var(--sbb-heading-font-size-2);
28
+ }
29
+
30
+ @mixin base-breakpoint-ultra {
31
+ --sbb-navigation-section-column: 6 / 17;
32
+ --sbb-navigation-section-padding-block: var(--sbb-spacing-responsive-xxl)
33
+ var(--sbb-spacing-responsive-l);
34
+ }
@@ -0,0 +1,53 @@
1
+ @use '../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-notification-base-border-radius: var(--sbb-border-radius-4x);
7
+ --sbb-notification-border-width: var(--sbb-border-width-1x);
8
+ --sbb-notification-color: var(--sbb-color-2-negative-inverted);
9
+ --sbb-notification-icon-align-self: center;
10
+ --sbb-notification-margin: 0;
11
+ --sbb-notification-timing-function: ease-in;
12
+ --sbb-notification-font-size: #{sbb.theme-pattern-select(
13
+ (
14
+ 'standard': var(--sbb-text-font-size-s),
15
+ 'lean': var(--sbb-text-font-size-xs),
16
+ ),
17
+ $theme
18
+ )};
19
+ --sbb-notification-padding-block: #{sbb.theme-pattern-select(
20
+ (
21
+ 'standard': var(--sbb-spacing-responsive-xxs),
22
+ 'lean': var(--sbb-spacing-responsive-xxxs),
23
+ ),
24
+ $theme
25
+ )};
26
+ --sbb-notification-padding-inline: #{sbb.theme-pattern-select(
27
+ (
28
+ 'standard': var(--sbb-spacing-responsive-xs),
29
+ 'lean': var(--sbb-spacing-responsive-xxs) var(--sbb-spacing-responsive-xxxs),
30
+ ),
31
+ $theme
32
+ )};
33
+ --sbb-notification-content-margin-block-start: var(--sbb-spacing-fixed-2x);
34
+ --sbb-notification-content-padding-inline: #{sbb.theme-pattern-select(
35
+ (
36
+ 'standard': var(--sbb-spacing-responsive-xxxs) var(--sbb-spacing-responsive-xs),
37
+ 'lean': var(--sbb-spacing-responsive-xxxs) var(--sbb-spacing-responsive-xxs),
38
+ ),
39
+ $theme
40
+ )};
41
+ --sbb-notification-close-wrapper-gap: var(--sbb-spacing-responsive-xxs);
42
+ }
43
+
44
+ @mixin base-breakpoint-small {
45
+ --sbb-notification-icon-align-self: flex-start;
46
+ --sbb-notification-padding-inline: #{sbb.theme-pattern-select(
47
+ (
48
+ 'standard': var(--sbb-spacing-responsive-xs),
49
+ 'lean': var(--sbb-spacing-responsive-xxs),
50
+ ),
51
+ $theme
52
+ )};
53
+ }
@@ -0,0 +1,17 @@
1
+ @use '../../core/styles' as sbb;
2
+
3
+ $theme: 'standard' !default;
4
+
5
+ @mixin base {
6
+ --sbb-optgroup-label-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));
7
+ --sbb-optgroup-label-font-size: var(--sbb-text-font-size-xxs);
8
+ --sbb-optgroup-label-padding-end: #{sbb.theme-pattern-select(
9
+ (
10
+ 'standard': var(--sbb-spacing-fixed-2x),
11
+ 'lean': var(--sbb-spacing-fixed-1x),
12
+ ),
13
+ $theme
14
+ )};
15
+ --sbb-optgroup-label-padding-inline: var(--sbb-spacing-responsive-xxxs);
16
+ --sbb-optgroup-divider-color: var(--sbb-divider-color);
17
+ }