@sbb-esta/lyne-elements 4.6.0 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/autocomplete/autocomplete-base-element.js +34 -34
  2. package/chip/chip-group/chip-group.component.js +69 -49
  3. package/core/styles/core.scss +45 -73
  4. package/core/styles/mixins/overlay.scss +25 -15
  5. package/core/styles/mixins/pearl-chain-bullet.scss +12 -6
  6. package/core.css +113 -49
  7. package/custom-elements.json +351 -225
  8. package/datepicker/common/datepicker-button.js +18 -14
  9. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +18 -26
  10. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +20 -28
  11. package/development/autocomplete/autocomplete-base-element.d.ts +2 -0
  12. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  13. package/development/autocomplete/autocomplete-base-element.js +37 -34
  14. package/development/calendar/calendar/calendar.component.d.ts +1 -1
  15. package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
  16. package/development/calendar/calendar/calendar.component.js +1 -1
  17. package/development/calendar/calendar-day/calendar-day.component.d.ts +1 -1
  18. package/development/calendar/calendar-day/calendar-day.component.d.ts.map +1 -1
  19. package/development/calendar/calendar-day/calendar-day.component.js +1 -1
  20. package/development/chip/chip-group/chip-group.component.d.ts +6 -0
  21. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  22. package/development/chip/chip-group/chip-group.component.js +33 -4
  23. package/development/container/container/container.component.d.ts +2 -0
  24. package/development/container/container/container.component.d.ts.map +1 -1
  25. package/development/container/container/container.component.js +1 -1
  26. package/development/datepicker/common/datepicker-button.d.ts +3 -1
  27. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  28. package/development/datepicker/common/datepicker-button.js +8 -4
  29. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +1 -1
  30. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  31. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +3 -12
  32. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +1 -1
  33. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  34. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +3 -12
  35. package/development/dialog/dialog/dialog.component.js +24 -37
  36. package/development/dialog/dialog-actions/dialog-actions.component.js +2 -2
  37. package/development/dialog/dialog-close-button/dialog-close-button.component.js +2 -2
  38. package/development/footer/footer.component.js +4 -19
  39. package/development/form-field/form-field/form-field.component.js +2 -1
  40. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts +1 -1
  41. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -1
  42. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +2 -2
  43. package/development/option/optgroup/optgroup-base-element.js +4 -13
  44. package/development/option/option/option-base-element.d.ts.map +1 -1
  45. package/development/option/option/option-base-element.js +12 -14
  46. package/development/option/option/option.component.js +4 -28
  47. package/development/option/option-hint/option-hint.component.d.ts.map +1 -1
  48. package/development/option/option-hint/option-hint.component.js +11 -26
  49. package/development/select/select.component.js +11 -16
  50. package/development/status/status.component.d.ts.map +1 -1
  51. package/development/status/status.component.js +20 -26
  52. package/dialog/dialog/dialog.component.js +19 -19
  53. package/dialog/dialog-actions/dialog-actions.component.js +6 -6
  54. package/dialog/dialog-close-button/dialog-close-button.component.js +9 -9
  55. package/footer/footer.component.js +22 -22
  56. package/form-field/form-field/form-field.component.js +1 -1
  57. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
  58. package/off-brand-theme.css +113 -49
  59. package/option/optgroup/optgroup-base-element.js +22 -22
  60. package/option/option/option-base-element.js +11 -13
  61. package/option/option/option.component.js +15 -15
  62. package/option/option-hint/option-hint.component.js +16 -18
  63. package/package.json +1 -1
  64. package/safety-theme.css +113 -49
  65. package/select/select.component.js +18 -18
  66. package/standard-theme.css +113 -49
  67. package/status/status.component.js +27 -29
@@ -10,6 +10,7 @@ $theme: 'standard' !default;
10
10
  @use './mixins/font-face';
11
11
  @use './mixins/helpers';
12
12
  @use './mixins/inputs';
13
+ @use './mixins/overlay' as overlay;
13
14
  @use './mixins/popover';
14
15
  @use './mixins/scrollbar';
15
16
  @use './mixins/typo';
@@ -68,6 +69,18 @@ $theme: 'standard' !default;
68
69
  @use '../../container/sticky-bar/sticky-bar.global' as sticky-bar with (
69
70
  $theme: $theme
70
71
  );
72
+ @use '../../dialog/dialog/dialog.global' as dialog with (
73
+ $theme: $theme
74
+ );
75
+ @use '../../dialog/dialog-close-button/dialog-close-button.global' as dialog-close-button with (
76
+ $theme: $theme
77
+ );
78
+ @use '../../dialog/dialog-content/dialog-content.global' as dialog-content with (
79
+ $theme: $theme
80
+ );
81
+ @use '../../dialog/dialog-title/dialog-title.global' as dialog-title with (
82
+ $theme: $theme
83
+ );
71
84
  @use '../../divider/divider.global' as divider with (
72
85
  $theme: $theme
73
86
  );
@@ -82,6 +95,18 @@ $theme: 'standard' !default;
82
95
  expansion-panel-header with (
83
96
  $theme: $theme
84
97
  );
98
+ @use '../../footer/footer.global' as footer with (
99
+ $theme: $theme
100
+ );
101
+ @use '../../option/option/option.global' as option with (
102
+ $theme: $theme
103
+ );
104
+ @use '../../option/option-hint/option-hint.global' as option-hint with (
105
+ $theme: $theme
106
+ );
107
+ @use '../../option/optgroup/optgroup.global' as optgroup with (
108
+ $theme: $theme
109
+ );
85
110
  @use '../../radio-button/common/radio-button-common.global' as radio-button-common with (
86
111
  $theme: $theme
87
112
  );
@@ -95,6 +120,9 @@ $theme: 'standard' !default;
95
120
  with (
96
121
  $theme: $theme
97
122
  );
123
+ @use '../../status/status.global' as status with (
124
+ $theme: $theme
125
+ );
98
126
  @use '../../tabs/common/tab-group-common.global' as tab-group-common with (
99
127
  $theme: $theme
100
128
  );
@@ -133,14 +161,22 @@ $theme: 'standard' !default;
133
161
  @include container.base;
134
162
  @include sticky-bar.base;
135
163
  @include clock.base;
164
+ @include dialog.base;
165
+ @include dialog-close-button.base;
136
166
  @include divider.base;
137
167
  @include expansion-panel.base;
138
168
  @include expansion-panel-content.base;
139
169
  @include expansion-panel-header.base;
170
+ @include footer.base;
171
+ @include option.base;
172
+ @include option-hint.base;
173
+ @include optgroup.base;
174
+ @include overlay.options-panel-overlay-variables--global($theme);
140
175
  @include radio-button-common.base;
141
176
  @include radio-button-group.base;
142
177
  @include selection-action-panel.base;
143
178
  @include selection-expansion-panel.base;
179
+ @include status.base;
144
180
  @include tab-group-common.base;
145
181
  @include tab-label-common.base;
146
182
  @include visual-checkbox.base;
@@ -217,6 +253,9 @@ $theme: 'standard' !default;
217
253
 
218
254
  @include mediaqueries.mq($from: small) {
219
255
  @include sbb-css-tokens.breakpoint-small;
256
+
257
+ @include dialog.base-breakpoint-small;
258
+ @include footer.base-breakpoint-small;
220
259
  }
221
260
 
222
261
  @include mediaqueries.mq($from: large) {
@@ -225,6 +264,7 @@ $theme: 'standard' !default;
225
264
  @include button.base-breakpoint-large;
226
265
 
227
266
  @include chip-group.base-breakpoint-large;
267
+ @include dialog.base-breakpoint-large;
228
268
 
229
269
  // TODO: Remove complete block when new lean theme is complete
230
270
  // Only render the block in standard theme as fallback for CSS class usage
@@ -253,7 +293,12 @@ $theme: 'standard' !default;
253
293
  @include font-face.font-declarations;
254
294
 
255
295
  // Components global styles
296
+ @include breadcrumb-group.rules;
256
297
  @include container.rules;
298
+ @include dialog-close-button.rules;
299
+ @include dialog-content.rules;
300
+ @include dialog-title.rules;
301
+ @include option.rules;
257
302
  @include tab-nav-bar.rules;
258
303
 
259
304
  // TODO: discuss where to add these classes
@@ -432,13 +477,6 @@ html {
432
477
  @include popover.popover-reset;
433
478
  }
434
479
 
435
- // Ensure stable breadcrumb height during hydrating
436
- sbb-breadcrumb-group:not(:defined) {
437
- display: block;
438
- height: calc(var(--sbb-typo-line-height-text) * var(--sbb-text-font-size-xs));
439
- overflow: hidden;
440
- }
441
-
442
480
  // Every element in the Light DOM of a sbb-card which is focusable should receive this attribute.
443
481
  // This style enables accessing focusable elements inside an sbb-card.
444
482
  :is(sbb-card, sbb-flip-card) .sbb-action {
@@ -704,65 +742,6 @@ sbb-toggle:has(:focus-visible) {
704
742
  @include a11y.focus-outline;
705
743
  }
706
744
 
707
- :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size='s'] {
708
- :where(sbb-option, sbb-autocomplete-grid-option) {
709
- --sbb-option-min-height: var(--sbb-size-element-xxs);
710
- --sbb-focus-outline-offset: calc(-1 * var(--sbb-spacing-fixed-1x));
711
- --sbb-option-focus-outline-inset: 0 var(--sbb-spacing-fixed-1x);
712
- }
713
-
714
- sbb-optgroup {
715
- --sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-1x);
716
- }
717
-
718
- sbb-option-hint {
719
- --sbb-option-hint-padding-block-end: var(--sbb-spacing-fixed-1x);
720
- }
721
- }
722
-
723
- sbb-dialog-title {
724
- // Hide margin on the right side. Distance to button is defined by flex gap already.
725
- sbb-dialog:has(> sbb-dialog-close-button) > &,
726
- sbb-dialog:state(has-intermediate-element):has(> * > sbb-dialog-close-button) > * > & {
727
- padding-inline-end: 0;
728
- }
729
- }
730
-
731
- sbb-dialog-content {
732
- // If there is a title, remove top spacing for the content
733
- sbb-dialog:has(> sbb-dialog-title) > &,
734
- sbb-dialog:state(has-intermediate-element):has(> * > sbb-dialog-title) > * > & {
735
- padding-block-start: var(--sbb-spacing-fixed-1x);
736
- }
737
-
738
- // Set the negative scrollbar colors for dialog content when dialog is negative
739
- sbb-dialog[negative] > &,
740
- sbb-dialog[negative]:state(has-intermediate-element) > * > & {
741
- @include scrollbar.scrollbar-variables--color-negative;
742
- }
743
- }
744
-
745
- sbb-dialog-close-button {
746
- // If there is no dialog title, the close button should be positioned absolute
747
- sbb-dialog:not(:has(> sbb-dialog-title)) > &,
748
- sbb-dialog:state(has-intermediate-element):not(:has(> * > sbb-dialog-title)) > * > & {
749
- position: absolute;
750
- z-index: 1;
751
- }
752
-
753
- // The close button positioning needs the current dialog title size
754
- sbb-dialog:has(> sbb-dialog-title[visual-level='3']) > &,
755
- sbb-dialog:state(has-intermediate-element):has(> * > sbb-dialog-title[visual-level='3']) > * > & {
756
- --_sbb-dialog-title-size: var(--sbb-heading-font-size-3);
757
- }
758
-
759
- // The close button positioning needs the current dialog title size
760
- sbb-dialog:has(> sbb-dialog-title[visual-level='5']) > &,
761
- sbb-dialog:state(has-intermediate-element):has(> * > sbb-dialog-title[visual-level='5']) > * > & {
762
- --_sbb-dialog-title-size: var(--sbb-heading-font-size-5);
763
- }
764
- }
765
-
766
745
  sbb-notification:has(sbb-title) {
767
746
  --_sbb-notification-icon-authoritative-font-size: var(--sbb-heading-font-size-5);
768
747
  --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-heading);
@@ -773,13 +752,6 @@ sbb-notification:has(sbb-title) {
773
752
  }
774
753
  }
775
754
 
776
- sbb-status:has(sbb-title) {
777
- --sbb-status-gap: var(--sbb-spacing-responsive-xxxs);
778
- --_sbb-status-text-color-override: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));
779
- --_sbb-status-title-font-size: var(--sbb-heading-font-size-5);
780
- --_sbb-status-title-line-height: var(--sbb-typo-line-height-heading);
781
- }
782
-
783
755
  .sbb-overlay-outlet {
784
756
  position: fixed;
785
757
  inset: 0;
@@ -1,5 +1,20 @@
1
+ @use '../core/functions';
1
2
  @use './scrollbar';
2
3
 
4
+ @mixin options-panel-overlay-variables--global($theme: 'standard') {
5
+ --sbb-options-panel-border-radius: var(--sbb-border-radius-4x);
6
+ --sbb-options-panel-animation-timing-function: ease;
7
+ --sbb-options-panel-background-color: var(--sbb-background-color-1);
8
+ --sbb-options-panel-divider-margin-block: var(--sbb-spacing-fixed-3x);
9
+ --sbb-options-panel-padding-block: #{functions.theme-pattern-select(
10
+ (
11
+ 'standard': var(--sbb-spacing-fixed-2x),
12
+ 'lean': var(--sbb-spacing-fixed-1x),
13
+ ),
14
+ $theme
15
+ )};
16
+ }
17
+
3
18
  @mixin options-panel-overlay-variables {
4
19
  @include scrollbar.scrollbar-variables;
5
20
 
@@ -12,24 +27,15 @@
12
27
  var(--sbb-options-panel-max-height, 100000em)
13
28
  );
14
29
  --sbb-options-panel-min-height: var(--sbb-options-panel-origin-height);
15
- --sbb-options-panel-visibility: visible;
16
- --sbb-options-panel-width: fit-content;
17
- --sbb-options-panel-border-radius: var(--sbb-border-radius-4x);
18
30
  --sbb-options-panel-options-border-radius: 0 0 var(--sbb-options-panel-border-radius)
19
31
  var(--sbb-options-panel-border-radius);
20
32
  --sbb-options-panel-animation-duration: var(
21
33
  --sbb-disable-animation-duration,
22
34
  var(--sbb-animation-duration-4x)
23
35
  );
24
- --sbb-options-panel-animation-timing-function: ease;
25
- --sbb-options-panel-gap-fix-opacity: 0;
26
- --sbb-options-panel-gap-fix-transform: none;
27
36
  --sbb-options-panel-gap-fix-top: calc(
28
37
  var(--sbb-options-panel-position-y) - var(--sbb-options-panel-border-radius)
29
38
  );
30
- --sbb-options-panel-background-color: var(--sbb-background-color-1);
31
- --sbb-options-panel-padding-block: var(--sbb-spacing-fixed-2x);
32
- --sbb-options-panel-divider-margin-block: var(--sbb-spacing-fixed-3x);
33
39
 
34
40
  // As the overlays have always a white background, we have to fix the focus outline color
35
41
  // to default color for cases where the overlays are used in a negative context.
@@ -53,6 +59,10 @@
53
59
  --sbb-options-panel-padding-block: var(--sbb-spacing-fixed-1x);
54
60
  }
55
61
 
62
+ @mixin options-panel-overlay-size-m-variables {
63
+ --sbb-options-panel-padding-block: var(--sbb-spacing-fixed-2x);
64
+ }
65
+
56
66
  @mixin options-panel-overlay-container {
57
67
  position: fixed;
58
68
  pointer-events: none;
@@ -64,14 +74,14 @@
64
74
  display: flex;
65
75
  justify-content: space-between;
66
76
  position: fixed;
67
- visibility: var(--sbb-options-panel-visibility);
68
- opacity: var(--sbb-options-panel-gap-fix-opacity);
77
+ visibility: var(--sbb-options-panel-visibility, visible);
78
+ opacity: var(--sbb-options-panel-gap-fix-opacity, 0);
69
79
  background-color: transparent;
70
- width: var(--sbb-options-panel-width);
80
+ width: var(--sbb-options-panel-width, fit-content);
71
81
  height: var(--sbb-options-panel-border-radius);
72
82
  top: var(--sbb-options-panel-gap-fix-top);
73
83
  left: var(--sbb-options-panel-position-x);
74
- transform: var(--sbb-options-panel-gap-fix-transform);
84
+ transform: var(--sbb-options-panel-gap-fix-transform, none);
75
85
  transition: opacity var(--sbb-options-panel-animation-duration)
76
86
  var(--sbb-options-panel-animation-timing-function);
77
87
  }
@@ -79,14 +89,14 @@
79
89
  @mixin options-panel-overlay {
80
90
  display: block;
81
91
  position: absolute;
82
- visibility: var(--sbb-options-panel-visibility);
92
+ visibility: var(--sbb-options-panel-visibility, 'visible');
83
93
  overflow: hidden;
84
94
  background-color: transparent;
85
95
  border: none;
86
96
  border-radius: var(--sbb-options-panel-border-radius);
87
97
  top: var(--sbb-options-panel-position-y);
88
98
  left: var(--sbb-options-panel-position-x);
89
- width: var(--sbb-options-panel-width);
99
+ width: var(--sbb-options-panel-width, fit-content);
90
100
  transition: box-shadow var(--sbb-options-panel-animation-duration)
91
101
  var(--sbb-options-panel-animation-timing-function);
92
102
 
@@ -6,6 +6,7 @@
6
6
  // ----------------------------------------------------------------------------------------------------
7
7
 
8
8
  @mixin pearl-chain-bullet-variables {
9
+ --sbb-pearl-chain-position-color: var(--sbb-color-primary);
9
10
  --sbb-pearl-chain-bullet-size-start-end: #{functions.px-to-rem-build(10)};
10
11
  --sbb-pearl-chain-bullet-size-stop: #{functions.px-to-rem-build(8)};
11
12
  --sbb-pearl-chain-bullet-color: var(--sbb-background-color-3-inverted);
@@ -14,7 +15,7 @@
14
15
  var(--sbb-color-metal),
15
16
  var(--sbb-color-granite)
16
17
  );
17
- --sbb-pearl-chain-bullet-color-disruption: var(--sbb-color-primary);
18
+ --sbb-pearl-chain-bullet-color-disruption: var(--sbb-color-error);
18
19
  --sbb-pearl-chain-bullet-border-width: var(--sbb-border-width-2x);
19
20
  --sbb-pearl-chain-bullet-animation-duration: 1920ms;
20
21
  --sbb-pearl-chain-bullet-animation-easing: ease-out;
@@ -107,24 +108,29 @@
107
108
  @mixin pearl-chain-bullet-position {
108
109
  @include pearl-chain-bullet-start-end;
109
110
  @include pearl-chain-bullet;
110
- @include pearl-chain-bullet-disruption;
111
+
112
+ --sbb-pearl-chain-bullet-color: var(--sbb-pearl-chain-position-color);
113
+
114
+ @include a11y.if-forced-colors {
115
+ --sbb-pearl-chain-position-color: Highlight;
116
+ }
111
117
 
112
118
  @keyframes pearl-chain-bullet-position-pulse {
113
119
  0% {
114
- box-shadow: 0 0 0 0 var(--sbb-pearl-chain-bullet-color-disruption);
120
+ box-shadow: 0 0 0 0 var(--sbb-pearl-chain-position-color);
115
121
  }
116
122
 
117
123
  25% {
118
- box-shadow: 0 0 0 0 var(--sbb-pearl-chain-bullet-color-disruption);
124
+ box-shadow: 0 0 0 0 var(--sbb-pearl-chain-position-color);
119
125
  }
120
126
 
121
127
  50% {
122
128
  box-shadow: 0 0 0 #{functions.px-to-rem-build(3)}
123
- color-mix(in srgb, var(--sbb-color-primary) 20%, transparent);
129
+ color-mix(in srgb, var(--sbb-pearl-chain-position-color) 20%, transparent);
124
130
  }
125
131
 
126
132
  100% {
127
- box-shadow: 0 0 0 0 var(--sbb-pearl-chain-bullet-color-disruption);
133
+ box-shadow: 0 0 0 0 var(--sbb-pearl-chain-position-color);
128
134
  }
129
135
  }
130
136
 
package/core.css CHANGED
@@ -1412,6 +1412,27 @@
1412
1412
  --sbb-clock-seconds-hand-color: var(--sbb-color-brand);
1413
1413
  --sbb-clock-face-color: var(--sbb-color-1);
1414
1414
  --sbb-clock-background-color: var(--sbb-background-color-1);
1415
+ --sbb-dialog-padding-inline: var(--sbb-spacing-fixed-5x);
1416
+ --sbb-dialog-color: var(--sbb-color-2);
1417
+ --sbb-dialog-background-color: var(--sbb-background-color-1);
1418
+ --sbb-dialog-block-shadow: var(--sbb-box-shadow-level-9-soft);
1419
+ --sbb-dialog-color-negative: var(--sbb-color-2-negative);
1420
+ --sbb-dialog-block-shadow-negative: var(--sbb-box-shadow-level-9-soft-negative);
1421
+ --sbb-dialog-width: 100%;
1422
+ --sbb-dialog-max-width: 100%;
1423
+ --sbb-dialog-max-width-default: 55.75rem;
1424
+ --sbb-dialog-height: 100%;
1425
+ --sbb-dialog-max-height: 100%;
1426
+ --sbb-dialog-inset: 0 auto auto 0;
1427
+ --sbb-dialog-border-radius: var(--sbb-border-radius-8x);
1428
+ --sbb-dialog-animation-easing: ease;
1429
+ --sbb-dialog-pointer-events: none;
1430
+ --sbb-dialog-backdrop-visibility: hidden;
1431
+ --sbb-dialog-backdrop-pointer-events: none;
1432
+ --sbb-dialog-backdrop-color: transparent;
1433
+ --sbb-dialog-actions-border-color: var(--sbb-background-color-4);
1434
+ --sbb-dialog-close-button-inset-inline-end: var(--sbb-spacing-fixed-4x);
1435
+ --sbb-dialog-close-button-margin-inline: var(--sbb-spacing-fixed-2x) var(--sbb-spacing-fixed-4x);
1415
1436
  --sbb-divider-color: var(--sbb-background-color-4);
1416
1437
  --sbb-divider-color-negative: var(--sbb-background-color-4-negative);
1417
1438
  --sbb-divider-border-width: var(--sbb-border-width-1x);
@@ -1439,6 +1460,48 @@
1439
1460
  --sbb-expansion-panel-header-padding-inline-s: var(--sbb-spacing-fixed-5x);
1440
1461
  --sbb-expansion-panel-header-padding-inline-l: var(--sbb-spacing-fixed-6x);
1441
1462
  --sbb-expansion-panel-header-padding-inline-default: var(--sbb-expansion-panel-header-padding-inline-l);
1463
+ --sbb-footer-background-color: var(--sbb-background-color-3);
1464
+ --sbb-footer-clock-width: 4.75rem;
1465
+ --sbb-footer-color: var(--sbb-color-granite);
1466
+ --sbb-footer-color: light-dark(var(--sbb-color-granite), var(--sbb-color-white));
1467
+ --sbb-footer-font-size: var(--sbb-text-font-size-s);
1468
+ --sbb-footer-gap-horizontal: var(--sbb-grid-base-gutter-responsive);
1469
+ --sbb-footer-gap-vertical: var(--sbb-spacing-responsive-l);
1470
+ --sbb-footer-padding-block: var(--sbb-spacing-responsive-l);
1471
+ --sbb-option-color: var(--sbb-color-3);
1472
+ --sbb-option-background-color: inherit;
1473
+ --sbb-option-background-color-hover: var(--sbb-background-color-3);
1474
+ --sbb-option-background-color-active: var(--sbb-background-color-4);
1475
+ --sbb-option-disabled-border-color: var(--sbb-color-graphite);
1476
+ --sbb-option-disabled-border-color: light-dark(var(--sbb-color-graphite), var(--sbb-color-smoke));
1477
+ --sbb-option-disabled-background-color: var(--sbb-background-color-3);
1478
+ --sbb-option-padding-inline: var(--sbb-spacing-responsive-xxxs);
1479
+ --sbb-option-min-height: var(--sbb-size-element-s);
1480
+ --sbb-option-column-gap: var(--sbb-spacing-responsive-xxxs);
1481
+ --sbb-option-justify-content: start;
1482
+ --sbb-option-cursor: var(--sbb-cursor-pointer);
1483
+ --sbb-option-border-radius: var(--sbb-border-radius-4x);
1484
+ --sbb-option-icon-color: var(--sbb-color-metal);
1485
+ --sbb-option-icon-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));
1486
+ --sbb-option-focus-outline-color: transparent;
1487
+ --sbb-option-focus-outline-inset: var(--sbb-spacing-fixed-1x);
1488
+ --sbb-option-font-size: var(--sbb-text-font-size-s);
1489
+ --sbb-option-hint-color: var(--sbb-color-metal);
1490
+ --sbb-option-hint-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));
1491
+ --sbb-option-hint-column-gap: var(--sbb-spacing-responsive-xxxs);
1492
+ --sbb-option-hint-padding-block-end: var(--sbb-spacing-fixed-2x);
1493
+ --sbb-option-hint-padding-inline: var(--sbb-spacing-responsive-xxxs);
1494
+ --sbb-option-hint-font-size: var(--sbb-text-font-size-xxs);
1495
+ --sbb-optgroup-label-color: var(--sbb-color-metal);
1496
+ --sbb-optgroup-label-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));
1497
+ --sbb-optgroup-label-font-size: var(--sbb-text-font-size-xxs);
1498
+ --sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-2x);
1499
+ --sbb-optgroup-label-padding-inline: var(--sbb-spacing-responsive-xxxs);
1500
+ --sbb-options-panel-border-radius: var(--sbb-border-radius-4x);
1501
+ --sbb-options-panel-animation-timing-function: ease;
1502
+ --sbb-options-panel-background-color: var(--sbb-background-color-1);
1503
+ --sbb-options-panel-divider-margin-block: var(--sbb-spacing-fixed-3x);
1504
+ --sbb-options-panel-padding-block: var(--sbb-spacing-fixed-2x);
1442
1505
  --sbb-radio-button-label-gap: var(--sbb-spacing-fixed-2x);
1443
1506
  --sbb-radio-button-label-color: var(--sbb-color-3);
1444
1507
  --sbb-radio-button-background-color: var(--sbb-background-color-1);
@@ -1473,6 +1536,11 @@
1473
1536
  --sbb-selection-panel-input-padding-block-m
1474
1537
  );
1475
1538
  --sbb-selection-expansion-panel-content-padding-inline: var(--sbb-selection-panel-input-padding-inline-m);
1539
+ --sbb-status-color: var(--sbb-color-4);
1540
+ --sbb-status-gap: var(--sbb-spacing-fixed-1x);
1541
+ --sbb-status-font-size: var(--sbb-text-font-size-s);
1542
+ --sbb-status-title-color: var(--sbb-color-granite);
1543
+ --sbb-status-title-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));
1476
1544
  --sbb-tab-group-content-gap-size-s: var(--sbb-spacing-responsive-xs);
1477
1545
  --sbb-tab-group-content-gap-size-l: var(--sbb-spacing-responsive-s);
1478
1546
  --sbb-tab-group-content-gap-size-xl: var(--sbb-spacing-responsive-m);
@@ -1582,6 +1650,8 @@
1582
1650
  --sbb-layout-base-offset-responsive: var(--sbb-layout-base-offset-responsive-small);
1583
1651
  --sbb-grid-base-columns: var(--sbb-layout-base-grid-columns-small);
1584
1652
  --sbb-grid-base-gutter-responsive: var(--sbb-layout-base-grid-gutter-responsive-small);
1653
+ --sbb-dialog-padding-inline: var(--sbb-spacing-fixed-12x);
1654
+ --sbb-footer-clock-width: 7rem;
1585
1655
  }
1586
1656
  }
1587
1657
  @media (min-width: calc(64rem)) {
@@ -1625,6 +1695,8 @@
1625
1695
  --sbb-chip-group-margin-block: var(--_sbb-chip-group-margin-block-start-default-large) 0;
1626
1696
  --sbb-chip-group-margin-block-no-label-not-empty: 0.1875rem 0.875rem;
1627
1697
  --sbb-chip-group-margin-block-with-label-not-empty: var(--_sbb-chip-group-margin-block-start-default-large) var(--_sbb-chip-group-margin-block-start-default-large);
1698
+ --sbb-dialog-padding-inline: var(--sbb-spacing-responsive-s);
1699
+ --sbb-dialog-max-height: calc(100vh - var(--sbb-spacing-fixed-16x));
1628
1700
  }
1629
1701
  :root.sbb-lean {
1630
1702
  --sbb-title-font-size-level-6-lean: var(--sbb-typo-scale-0-875x);
@@ -1671,6 +1743,12 @@
1671
1743
  font-display: swap;
1672
1744
  font-weight: 300;
1673
1745
  }
1746
+ sbb-breadcrumb-group:not(:defined) {
1747
+ display: block;
1748
+ height: calc(var(--sbb-typo-line-height-text) * var(--sbb-text-font-size-xs));
1749
+ overflow: hidden;
1750
+ }
1751
+
1674
1752
  sbb-container > [slot=image]:is(sbb-image, img),
1675
1753
  sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
1676
1754
  --sbb-image-object-fit: cover;
@@ -1679,6 +1757,41 @@ sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image)
1679
1757
  position: absolute;
1680
1758
  }
1681
1759
 
1760
+ sbb-dialog:not(:has(> sbb-dialog-title)) > sbb-dialog-close-button, sbb-dialog:is(:state(has-intermediate-element),[state--has-intermediate-element]):not(:has(> * > sbb-dialog-title)) > * > sbb-dialog-close-button {
1761
+ position: absolute;
1762
+ z-index: 1;
1763
+ }
1764
+ sbb-dialog:has(> sbb-dialog-title[visual-level="3"]) > sbb-dialog-close-button, sbb-dialog:is(:state(has-intermediate-element),[state--has-intermediate-element]):has(> * > sbb-dialog-title[visual-level="3"]) > * > sbb-dialog-close-button {
1765
+ --_sbb-dialog-title-size: var(--sbb-heading-font-size-3);
1766
+ }
1767
+ sbb-dialog:has(> sbb-dialog-title[visual-level="5"]) > sbb-dialog-close-button, sbb-dialog:is(:state(has-intermediate-element),[state--has-intermediate-element]):has(> * > sbb-dialog-title[visual-level="5"]) > * > sbb-dialog-close-button {
1768
+ --_sbb-dialog-title-size: var(--sbb-heading-font-size-5);
1769
+ }
1770
+
1771
+ sbb-dialog:has(> sbb-dialog-title) > sbb-dialog-content, sbb-dialog:is(:state(has-intermediate-element),[state--has-intermediate-element]):has(> * > sbb-dialog-title) > * > sbb-dialog-content {
1772
+ padding-block-start: var(--sbb-spacing-fixed-1x);
1773
+ }
1774
+ sbb-dialog[negative] > sbb-dialog-content, sbb-dialog[negative]:is(:state(has-intermediate-element),[state--has-intermediate-element]) > * > sbb-dialog-content {
1775
+ --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-white) 30%, transparent);
1776
+ --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);
1777
+ }
1778
+
1779
+ sbb-dialog:has(> sbb-dialog-close-button) > sbb-dialog-title, sbb-dialog:is(:state(has-intermediate-element),[state--has-intermediate-element]):has(> * > sbb-dialog-close-button) > * > sbb-dialog-title {
1780
+ padding-inline-end: 0;
1781
+ }
1782
+
1783
+ :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size=s] :where(sbb-option, sbb-autocomplete-grid-option) {
1784
+ --sbb-option-min-height: var(--sbb-size-element-xxs);
1785
+ --sbb-focus-outline-offset: calc(-1 * var(--sbb-spacing-fixed-1x));
1786
+ --sbb-option-focus-outline-inset: 0 var(--sbb-spacing-fixed-1x);
1787
+ }
1788
+ :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size=s] sbb-optgroup {
1789
+ --sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-1x);
1790
+ }
1791
+ :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size=s] sbb-option-hint {
1792
+ --sbb-option-hint-padding-block-end: var(--sbb-spacing-fixed-1x);
1793
+ }
1794
+
1682
1795
  sbb-tab-nav-bar .sbb-tab-amount {
1683
1796
  margin: 0;
1684
1797
  color: var(--sbb-tab-label-amount-color);
@@ -1924,12 +2037,6 @@ sbb-toast) {
1924
2037
  pointer-events: none;
1925
2038
  }
1926
2039
 
1927
- sbb-breadcrumb-group:not(:defined) {
1928
- display: block;
1929
- height: calc(var(--sbb-typo-line-height-text) * var(--sbb-text-font-size-xs));
1930
- overflow: hidden;
1931
- }
1932
-
1933
2040
  :is(sbb-card, sbb-flip-card) .sbb-action {
1934
2041
  pointer-events: all;
1935
2042
  }
@@ -2123,41 +2230,6 @@ sbb-toggle:has(:focus-visible) {
2123
2230
  outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
2124
2231
  }
2125
2232
 
2126
- :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size=s] :where(sbb-option, sbb-autocomplete-grid-option) {
2127
- --sbb-option-min-height: var(--sbb-size-element-xxs);
2128
- --sbb-focus-outline-offset: calc(-1 * var(--sbb-spacing-fixed-1x));
2129
- --sbb-option-focus-outline-inset: 0 var(--sbb-spacing-fixed-1x);
2130
- }
2131
- :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size=s] sbb-optgroup {
2132
- --sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-1x);
2133
- }
2134
- :where(sbb-select, sbb-autocomplete, sbb-autocomplete-grid)[size=s] sbb-option-hint {
2135
- --sbb-option-hint-padding-block-end: var(--sbb-spacing-fixed-1x);
2136
- }
2137
-
2138
- sbb-dialog:has(> sbb-dialog-close-button) > sbb-dialog-title, sbb-dialog:is(:state(has-intermediate-element),[state--has-intermediate-element]):has(> * > sbb-dialog-close-button) > * > sbb-dialog-title {
2139
- padding-inline-end: 0;
2140
- }
2141
-
2142
- sbb-dialog:has(> sbb-dialog-title) > sbb-dialog-content, sbb-dialog:is(:state(has-intermediate-element),[state--has-intermediate-element]):has(> * > sbb-dialog-title) > * > sbb-dialog-content {
2143
- padding-block-start: var(--sbb-spacing-fixed-1x);
2144
- }
2145
- sbb-dialog[negative] > sbb-dialog-content, sbb-dialog[negative]:is(:state(has-intermediate-element),[state--has-intermediate-element]) > * > sbb-dialog-content {
2146
- --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-white) 30%, transparent);
2147
- --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);
2148
- }
2149
-
2150
- sbb-dialog:not(:has(> sbb-dialog-title)) > sbb-dialog-close-button, sbb-dialog:is(:state(has-intermediate-element),[state--has-intermediate-element]):not(:has(> * > sbb-dialog-title)) > * > sbb-dialog-close-button {
2151
- position: absolute;
2152
- z-index: 1;
2153
- }
2154
- sbb-dialog:has(> sbb-dialog-title[visual-level="3"]) > sbb-dialog-close-button, sbb-dialog:is(:state(has-intermediate-element),[state--has-intermediate-element]):has(> * > sbb-dialog-title[visual-level="3"]) > * > sbb-dialog-close-button {
2155
- --_sbb-dialog-title-size: var(--sbb-heading-font-size-3);
2156
- }
2157
- sbb-dialog:has(> sbb-dialog-title[visual-level="5"]) > sbb-dialog-close-button, sbb-dialog:is(:state(has-intermediate-element),[state--has-intermediate-element]):has(> * > sbb-dialog-title[visual-level="5"]) > * > sbb-dialog-close-button {
2158
- --_sbb-dialog-title-size: var(--sbb-heading-font-size-5);
2159
- }
2160
-
2161
2233
  sbb-notification:has(sbb-title) {
2162
2234
  --_sbb-notification-icon-authoritative-font-size: var(--sbb-heading-font-size-5);
2163
2235
  --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-heading);
@@ -2167,14 +2239,6 @@ sbb-notification:has(sbb-title)[size=s] {
2167
2239
  --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-text);
2168
2240
  }
2169
2241
 
2170
- sbb-status:has(sbb-title) {
2171
- --sbb-status-gap: var(--sbb-spacing-responsive-xxxs);
2172
- --_sbb-status-text-color-override: var(--sbb-color-granite);
2173
- --_sbb-status-text-color-override: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));
2174
- --_sbb-status-title-font-size: var(--sbb-heading-font-size-5);
2175
- --_sbb-status-title-line-height: var(--sbb-typo-line-height-heading);
2176
- }
2177
-
2178
2242
  .sbb-overlay-outlet {
2179
2243
  position: fixed;
2180
2244
  inset: 0;