@sbb-esta/lyne-elements-dev 4.6.0-dev.1772457568 → 4.6.0-dev.1772463840

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.
@@ -68,6 +68,18 @@ $theme: 'standard' !default;
68
68
  @use '../../container/sticky-bar/sticky-bar.global' as sticky-bar with (
69
69
  $theme: $theme
70
70
  );
71
+ @use '../../dialog/dialog/dialog.global' as dialog with (
72
+ $theme: $theme
73
+ );
74
+ @use '../../dialog/dialog-close-button/dialog-close-button.global' as dialog-close-button with (
75
+ $theme: $theme
76
+ );
77
+ @use '../../dialog/dialog-content/dialog-content.global' as dialog-content with (
78
+ $theme: $theme
79
+ );
80
+ @use '../../dialog/dialog-title/dialog-title.global' as dialog-title with (
81
+ $theme: $theme
82
+ );
71
83
  @use '../../divider/divider.global' as divider with (
72
84
  $theme: $theme
73
85
  );
@@ -136,6 +148,8 @@ $theme: 'standard' !default;
136
148
  @include container.base;
137
149
  @include sticky-bar.base;
138
150
  @include clock.base;
151
+ @include dialog.base;
152
+ @include dialog-close-button.base;
139
153
  @include divider.base;
140
154
  @include expansion-panel.base;
141
155
  @include expansion-panel-content.base;
@@ -222,6 +236,7 @@ $theme: 'standard' !default;
222
236
  @include mediaqueries.mq($from: small) {
223
237
  @include sbb-css-tokens.breakpoint-small;
224
238
 
239
+ @include dialog.base-breakpoint-small;
225
240
  @include footer.base-breakpoint-small;
226
241
  }
227
242
 
@@ -231,6 +246,7 @@ $theme: 'standard' !default;
231
246
  @include button.base-breakpoint-large;
232
247
 
233
248
  @include chip-group.base-breakpoint-large;
249
+ @include dialog.base-breakpoint-large;
234
250
 
235
251
  // TODO: Remove complete block when new lean theme is complete
236
252
  // Only render the block in standard theme as fallback for CSS class usage
@@ -260,6 +276,9 @@ $theme: 'standard' !default;
260
276
 
261
277
  // Components global styles
262
278
  @include container.rules;
279
+ @include dialog-close-button.rules;
280
+ @include dialog-content.rules;
281
+ @include dialog-title.rules;
263
282
  @include tab-nav-bar.rules;
264
283
 
265
284
  // TODO: discuss where to add these classes
@@ -726,49 +745,6 @@ sbb-toggle:has(:focus-visible) {
726
745
  }
727
746
  }
728
747
 
729
- sbb-dialog-title {
730
- // Hide margin on the right side. Distance to button is defined by flex gap already.
731
- sbb-dialog:has(> sbb-dialog-close-button) > &,
732
- sbb-dialog:state(has-intermediate-element):has(> * > sbb-dialog-close-button) > * > & {
733
- padding-inline-end: 0;
734
- }
735
- }
736
-
737
- sbb-dialog-content {
738
- // If there is a title, remove top spacing for the content
739
- sbb-dialog:has(> sbb-dialog-title) > &,
740
- sbb-dialog:state(has-intermediate-element):has(> * > sbb-dialog-title) > * > & {
741
- padding-block-start: var(--sbb-spacing-fixed-1x);
742
- }
743
-
744
- // Set the negative scrollbar colors for dialog content when dialog is negative
745
- sbb-dialog[negative] > &,
746
- sbb-dialog[negative]:state(has-intermediate-element) > * > & {
747
- @include scrollbar.scrollbar-variables--color-negative;
748
- }
749
- }
750
-
751
- sbb-dialog-close-button {
752
- // If there is no dialog title, the close button should be positioned absolute
753
- sbb-dialog:not(:has(> sbb-dialog-title)) > &,
754
- sbb-dialog:state(has-intermediate-element):not(:has(> * > sbb-dialog-title)) > * > & {
755
- position: absolute;
756
- z-index: 1;
757
- }
758
-
759
- // The close button positioning needs the current dialog title size
760
- sbb-dialog:has(> sbb-dialog-title[visual-level='3']) > &,
761
- sbb-dialog:state(has-intermediate-element):has(> * > sbb-dialog-title[visual-level='3']) > * > & {
762
- --_sbb-dialog-title-size: var(--sbb-heading-font-size-3);
763
- }
764
-
765
- // The close button positioning needs the current dialog title size
766
- sbb-dialog:has(> sbb-dialog-title[visual-level='5']) > &,
767
- sbb-dialog:state(has-intermediate-element):has(> * > sbb-dialog-title[visual-level='5']) > * > & {
768
- --_sbb-dialog-title-size: var(--sbb-heading-font-size-5);
769
- }
770
- }
771
-
772
748
  sbb-notification:has(sbb-title) {
773
749
  --_sbb-notification-icon-authoritative-font-size: var(--sbb-heading-font-size-5);
774
750
  --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-heading);
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);
@@ -1590,6 +1611,7 @@
1590
1611
  --sbb-layout-base-offset-responsive: var(--sbb-layout-base-offset-responsive-small);
1591
1612
  --sbb-grid-base-columns: var(--sbb-layout-base-grid-columns-small);
1592
1613
  --sbb-grid-base-gutter-responsive: var(--sbb-layout-base-grid-gutter-responsive-small);
1614
+ --sbb-dialog-padding-inline: var(--sbb-spacing-fixed-12x);
1593
1615
  --sbb-footer-clock-width: 7rem;
1594
1616
  }
1595
1617
  }
@@ -1634,6 +1656,8 @@
1634
1656
  --sbb-chip-group-margin-block: var(--_sbb-chip-group-margin-block-start-default-large) 0;
1635
1657
  --sbb-chip-group-margin-block-no-label-not-empty: 0.1875rem 0.875rem;
1636
1658
  --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);
1659
+ --sbb-dialog-padding-inline: var(--sbb-spacing-responsive-s);
1660
+ --sbb-dialog-max-height: calc(100vh - var(--sbb-spacing-fixed-16x));
1637
1661
  }
1638
1662
  :root.sbb-lean {
1639
1663
  --sbb-title-font-size-level-6-lean: var(--sbb-typo-scale-0-875x);
@@ -1688,6 +1712,29 @@ sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image)
1688
1712
  position: absolute;
1689
1713
  }
1690
1714
 
1715
+ 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 {
1716
+ position: absolute;
1717
+ z-index: 1;
1718
+ }
1719
+ 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 {
1720
+ --_sbb-dialog-title-size: var(--sbb-heading-font-size-3);
1721
+ }
1722
+ 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 {
1723
+ --_sbb-dialog-title-size: var(--sbb-heading-font-size-5);
1724
+ }
1725
+
1726
+ 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 {
1727
+ padding-block-start: var(--sbb-spacing-fixed-1x);
1728
+ }
1729
+ sbb-dialog[negative] > sbb-dialog-content, sbb-dialog[negative]:is(:state(has-intermediate-element),[state--has-intermediate-element]) > * > sbb-dialog-content {
1730
+ --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-white) 30%, transparent);
1731
+ --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);
1732
+ }
1733
+
1734
+ 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 {
1735
+ padding-inline-end: 0;
1736
+ }
1737
+
1691
1738
  sbb-tab-nav-bar .sbb-tab-amount {
1692
1739
  margin: 0;
1693
1740
  color: var(--sbb-tab-label-amount-color);
@@ -2144,29 +2191,6 @@ sbb-toggle:has(:focus-visible) {
2144
2191
  --sbb-option-hint-padding-block-end: var(--sbb-spacing-fixed-1x);
2145
2192
  }
2146
2193
 
2147
- 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 {
2148
- padding-inline-end: 0;
2149
- }
2150
-
2151
- 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 {
2152
- padding-block-start: var(--sbb-spacing-fixed-1x);
2153
- }
2154
- sbb-dialog[negative] > sbb-dialog-content, sbb-dialog[negative]:is(:state(has-intermediate-element),[state--has-intermediate-element]) > * > sbb-dialog-content {
2155
- --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-white) 30%, transparent);
2156
- --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);
2157
- }
2158
-
2159
- 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 {
2160
- position: absolute;
2161
- z-index: 1;
2162
- }
2163
- 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 {
2164
- --_sbb-dialog-title-size: var(--sbb-heading-font-size-3);
2165
- }
2166
- 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 {
2167
- --_sbb-dialog-title-size: var(--sbb-heading-font-size-5);
2168
- }
2169
-
2170
2194
  sbb-notification:has(sbb-title) {
2171
2195
  --_sbb-notification-icon-authoritative-font-size: var(--sbb-heading-font-size-5);
2172
2196
  --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-heading);