@sbb-esta/lyne-elements 4.5.0 → 4.5.1

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 (36) hide show
  1. package/autocomplete/autocomplete-base-element.js +5 -5
  2. package/chip-label/chip-label.component.js +13 -13
  3. package/container/container/container.component.js +9 -9
  4. package/container/sticky-bar/sticky-bar.component.js +12 -12
  5. package/core/datetime/temporal-date-adapter.js +12 -6
  6. package/core/datetime.js +12 -13
  7. package/core/styles/core.scss +13 -12
  8. package/core/styles/mixins/chip.scss +6 -6
  9. package/core.css +21 -8
  10. package/custom-elements.json +18 -13
  11. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  12. package/development/autocomplete/autocomplete-base-element.js +8 -6
  13. package/development/chip-label/chip-label.component.js +6 -15
  14. package/development/container/container/container.component.js +1 -3
  15. package/development/container/sticky-bar/sticky-bar.component.js +9 -14
  16. package/development/core/datetime/native-date-adapter.js +1 -1
  17. package/development/core/datetime/temporal-date-adapter.d.ts +7 -1
  18. package/development/core/datetime/temporal-date-adapter.d.ts.map +1 -1
  19. package/development/core/datetime/temporal-date-adapter.js +14 -7
  20. package/development/core/datetime.js +2 -3
  21. package/development/dialog/dialog-title/dialog-title.component.js +2 -1
  22. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +6 -5
  23. package/development/radio-button/radio-button-group/radio-button-group.component.js +2 -2
  24. package/development/tabs/tab/tab.component.js +5 -4
  25. package/development/tabs/tab-group/tab-group.component.d.ts +1 -0
  26. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  27. package/development/tabs/tab-group/tab-group.component.js +7 -1
  28. package/dialog/dialog-title/dialog-title.component.js +7 -7
  29. package/expansion-panel/expansion-panel/expansion-panel.component.js +9 -9
  30. package/off-brand-theme.css +21 -8
  31. package/package.json +1 -1
  32. package/radio-button/radio-button-group/radio-button-group.component.js +1 -1
  33. package/safety-theme.css +21 -8
  34. package/standard-theme.css +21 -8
  35. package/tabs/tab/tab.component.js +1 -1
  36. package/tabs/tab-group/tab-group.component.js +21 -18
@@ -11,34 +11,34 @@ import { forceType as P } from "../../core/decorators.js";
11
11
  import { isLean as U, isZeroAnimationDuration as q } from "../../core/dom.js";
12
12
  import { SbbHydrationMixin as F, SbbElementInternalsMixin as J, ɵstateController as Z } from "../../core/mixins.js";
13
13
  import { boxSizingStyles as K } from "../../core/styles.js";
14
- const Q = B`:host{--sbb-expansion-panel-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-expansion-panel-border-color: var(--sbb-border-color-4-inverted);--sbb-expansion-panel-border-width: var(--sbb-border-width-1x);--sbb-expansion-panel-border-block-start-color: var(--sbb-expansion-panel-border-color);--sbb-expansion-panel-border-block-start-width: var(--sbb-expansion-panel-border-width);--sbb-expansion-panel-content-visibility: hidden;--sbb-expansion-panel-start-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-start-start-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-end-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-end-start-radius: var(--sbb-expansion-panel-border-radius);display:block;background-color:var(--sbb-expansion-panel-background-color);border:var(--sbb-expansion-panel-border-width) solid var(--sbb-expansion-panel-border-color);border-block-start-color:var(--sbb-expansion-panel-border-block-start-color);border-block-start-width:var(--sbb-expansion-panel-border-block-start-width);border-radius:var(--sbb-expansion-panel-start-start-radius) var(--sbb-expansion-panel-start-end-radius) var(--sbb-expansion-panel-end-end-radius) var(--sbb-expansion-panel-end-start-radius);background-clip:padding-box}:host([size=s]){--sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-s)}:host([size=l]){--sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-l)}:host(:not([size])){--sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-default)}@media(forced-colors:active){:host([disabled]){--sbb-expansion-panel-border-color: GrayText;--sbb-expansion-panel-border-block-start-color: GrayText}}:host([expanded]){--sbb-expansion-panel-content-visibility: visible}:host(:is(:state(accordion),[state--accordion]):is(:state(accordion-first),[state--accordion-first])){--sbb-expansion-panel-start-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-start-start-radius: var(--sbb-expansion-panel-border-radius)}:host(:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))){--sbb-expansion-panel-border-block-start-width: 0;--sbb-expansion-panel-border-block-start-color: transparent;--sbb-expansion-panel-start-end-radius: 0;--sbb-expansion-panel-start-start-radius: 0}:host(:is(:state(accordion),[state--accordion]):is(:state(accordion-last),[state--accordion-last])){--sbb-expansion-panel-end-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-end-start-radius: var(--sbb-expansion-panel-border-radius)}:host(:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-last),[state--accordion-last]))){--sbb-expansion-panel-end-end-radius: 0;--sbb-expansion-panel-end-start-radius: 0}:host([color=white]){--sbb-expansion-panel-background-color: var(--sbb-background-color-1);--sbb-expansion-panel-background-color-hover: var(--sbb-background-color-3)}:host([color=milk]){--sbb-expansion-panel-background-color: var(--sbb-background-color-3);--sbb-expansion-panel-background-color-hover: var(--sbb-background-color-1)}:host([borderless]){--sbb-expansion-panel-border-width: 0;--sbb-expansion-panel-border-color: transparent;--sbb-expansion-panel-border-block-start-width: 0;--sbb-expansion-panel-border-block-start-color: transparent}@media(forced-colors:active){:host([borderless]){--sbb-expansion-panel-border-width: var(--sbb-border-width-1x);--sbb-expansion-panel-border-block-start-width: var(--sbb-expansion-panel-border-width)}}:host([borderless]:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))){--sbb-expansion-panel-border-block-start-width: var(--sbb-spacing-fixed-1x)}@media(forced-colors:active){:host([borderless]:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))){--sbb-expansion-panel-border-block-start-width: 0}}:host(:not([disabled]):is(:state(toggle-hover),[state--toggle-hover])){background-color:var(--sbb-expansion-panel-background-color-hover)}@media(forced-colors:active){:host(:not([disabled]):is(:state(toggle-hover),[state--toggle-hover])){--sbb-expansion-panel-border-color: Highlight;--sbb-expansion-panel-border-block-start-color: Highlight}}.sbb-expansion-panel__header{margin:0}.sbb-expansion-panel__content-wrapper{display:grid;visibility:var(--sbb-expansion-panel-content-visibility);grid-template-rows:0fr;opacity:0}:host(:is(:state(state-opened),[state--state-opened])) .sbb-expansion-panel__content-wrapper{grid-template-rows:1fr;opacity:1}:host(:is(:state(state-opening),[state--state-opening])) .sbb-expansion-panel__content-wrapper{animation-name:open,open-opacity;animation-fill-mode:forwards;animation-duration:var(--sbb-expansion-panel-animation-duration);animation-timing-function:var(--sbb-animation-easing);animation-delay:0s,var(--sbb-expansion-panel-animation-duration)}:host(:is(:state(state-closing),[state--state-closing])) .sbb-expansion-panel__content-wrapper{animation-name:close;animation-duration:var(--sbb-expansion-panel-animation-duration);animation-timing-function:var(--sbb-animation-easing)}.sbb-expansion-panel__content{min-height:0}@keyframes open{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}@keyframes open-opacity{0%{opacity:0}to{opacity:1}}@keyframes close{0%{grid-template-rows:1fr;opacity:1}to{grid-template-rows:0fr;opacity:0}}`;
14
+ const Q = B`:host{--sbb-expansion-panel-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-expansion-panel-border-color: var(--sbb-border-color-4-inverted);--sbb-expansion-panel-border-width: var(--sbb-border-width-1x);--sbb-expansion-panel-border-block-start-color: var(--sbb-expansion-panel-border-color);--sbb-expansion-panel-border-block-start-width: var(--sbb-expansion-panel-border-width);--sbb-expansion-panel-start-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-start-start-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-end-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-end-start-radius: var(--sbb-expansion-panel-border-radius);--_sbb-expansion-panel-display: grid;display:block;background-color:var(--sbb-expansion-panel-background-color);border:var(--sbb-expansion-panel-border-width) solid var(--sbb-expansion-panel-border-color);border-block-start-color:var(--sbb-expansion-panel-border-block-start-color);border-block-start-width:var(--sbb-expansion-panel-border-block-start-width);border-radius:var(--sbb-expansion-panel-start-start-radius) var(--sbb-expansion-panel-start-end-radius) var(--sbb-expansion-panel-end-end-radius) var(--sbb-expansion-panel-end-start-radius);background-clip:padding-box}:host([size=s]){--sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-s)}:host([size=l]){--sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-l)}:host(:not([size])){--sbb-expansion-panel-title-gap: var(--sbb-expansion-panel-title-gap-default)}@media(forced-colors:active){:host([disabled]){--sbb-expansion-panel-border-color: GrayText;--sbb-expansion-panel-border-block-start-color: GrayText}}:host([expanded]){--_sbb-expansion-panel-display-expanded: var(--_sbb-expansion-panel-display)}:host(:is(:state(accordion),[state--accordion]):is(:state(accordion-first),[state--accordion-first])){--sbb-expansion-panel-start-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-start-start-radius: var(--sbb-expansion-panel-border-radius)}:host(:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))){--sbb-expansion-panel-border-block-start-width: 0;--sbb-expansion-panel-border-block-start-color: transparent;--sbb-expansion-panel-start-end-radius: 0;--sbb-expansion-panel-start-start-radius: 0}:host(:is(:state(accordion),[state--accordion]):is(:state(accordion-last),[state--accordion-last])){--sbb-expansion-panel-end-end-radius: var(--sbb-expansion-panel-border-radius);--sbb-expansion-panel-end-start-radius: var(--sbb-expansion-panel-border-radius)}:host(:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-last),[state--accordion-last]))){--sbb-expansion-panel-end-end-radius: 0;--sbb-expansion-panel-end-start-radius: 0}:host([color=white]){--sbb-expansion-panel-background-color: var(--sbb-background-color-1);--sbb-expansion-panel-background-color-hover: var(--sbb-background-color-3)}:host([color=milk]){--sbb-expansion-panel-background-color: var(--sbb-background-color-3);--sbb-expansion-panel-background-color-hover: var(--sbb-background-color-1)}:host([borderless]){--sbb-expansion-panel-border-width: 0;--sbb-expansion-panel-border-color: transparent;--sbb-expansion-panel-border-block-start-width: 0;--sbb-expansion-panel-border-block-start-color: transparent}@media(forced-colors:active){:host([borderless]){--sbb-expansion-panel-border-width: var(--sbb-border-width-1x);--sbb-expansion-panel-border-block-start-width: var(--sbb-expansion-panel-border-width)}}:host([borderless]:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))){--sbb-expansion-panel-border-block-start-width: var(--sbb-spacing-fixed-1x)}@media(forced-colors:active){:host([borderless]:is(:state(accordion),[state--accordion]):not(:is(:state(accordion-first),[state--accordion-first]))){--sbb-expansion-panel-border-block-start-width: 0}}:host(:not([disabled]):is(:state(toggle-hover),[state--toggle-hover])){background-color:var(--sbb-expansion-panel-background-color-hover)}@media(forced-colors:active){:host(:not([disabled]):is(:state(toggle-hover),[state--toggle-hover])){--sbb-expansion-panel-border-color: Highlight;--sbb-expansion-panel-border-block-start-color: Highlight}}.sbb-expansion-panel__header{margin:0}.sbb-expansion-panel__content-wrapper{display:var(--_sbb-expansion-panel-display-expanded, none);grid-template-rows:0fr;opacity:0}:host(:is(:state(state-opened),[state--state-opened])) .sbb-expansion-panel__content-wrapper{grid-template-rows:1fr;opacity:1}:host(:is(:state(state-opening),[state--state-opening])) .sbb-expansion-panel__content-wrapper{animation-name:open,open-opacity;animation-fill-mode:forwards;animation-duration:var(--sbb-expansion-panel-animation-duration);animation-timing-function:var(--sbb-animation-easing);animation-delay:0s,var(--sbb-expansion-panel-animation-duration)}:host(:is(:state(state-closing),[state--state-closing])) .sbb-expansion-panel__content-wrapper{display:var(--_sbb-expansion-panel-display);visibility:hidden;animation-name:close;animation-duration:var(--sbb-expansion-panel-animation-duration);animation-timing-function:var(--sbb-animation-easing)}.sbb-expansion-panel__content{min-height:0}@keyframes open{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}@keyframes open-opacity{0%{opacity:0}to{opacity:1}}@keyframes close{0%{grid-template-rows:1fr;opacity:1}to{grid-template-rows:0fr;opacity:0}}`;
15
15
  let V = 0, re = (() => {
16
- var c, p, h, _, i;
16
+ var p, c, h, _, i;
17
17
  let s = [M("sbb-expansion-panel")], n, o = [], r, v = F(J(G)), g = [], k, y = [], w = [], z, E = [], I = [], R, S, A, L = [], C = [], $, D = [], O = [];
18
18
  return i = class extends v {
19
19
  constructor() {
20
20
  super();
21
- f(this, c);
22
21
  f(this, p);
22
+ f(this, c);
23
23
  f(this, h);
24
24
  f(this, _);
25
- d(this, c, (l(this, g), l(this, y, null))), d(this, p, (l(this, w), l(this, E, "white"))), this._expanded = (l(this, I), !1), this._disabled = !1, d(this, h, l(this, L, !1)), d(this, _, (l(this, C), l(this, D, U() ? "s" : "l"))), this._stateInternal = l(this, O), this._progressiveId = `-${++V}`, this._state = "closed", this.addEventListener?.("toggleexpanded", (t) => {
25
+ d(this, p, (l(this, g), l(this, y, null))), d(this, c, (l(this, w), l(this, E, "white"))), this._expanded = (l(this, I), !1), this._disabled = !1, d(this, h, l(this, L, !1)), d(this, _, (l(this, C), l(this, D, U() ? "s" : "l"))), this._stateInternal = l(this, O), this._progressiveId = `-${++V}`, this._state = "closed", this.addEventListener?.("toggleexpanded", (t) => {
26
26
  t.target === this._headerRef && this._toggleExpanded();
27
27
  });
28
28
  }
29
29
  /** Heading level; if unset, a `div` will be rendered. */
30
30
  get titleLevel() {
31
- return u(this, c);
31
+ return u(this, p);
32
32
  }
33
33
  set titleLevel(t) {
34
- d(this, c, t);
34
+ d(this, p, t);
35
35
  }
36
36
  /** The background color of the panel. */
37
37
  get color() {
38
- return u(this, p);
38
+ return u(this, c);
39
39
  }
40
40
  set color(t) {
41
- d(this, p, t);
41
+ d(this, c, t);
42
42
  }
43
43
  /** Whether the panel is expanded. */
44
44
  set expanded(t) {
@@ -128,7 +128,7 @@ let V = 0, re = (() => {
128
128
  </div>
129
129
  `;
130
130
  }
131
- }, c = new WeakMap(), p = new WeakMap(), h = new WeakMap(), _ = new WeakMap(), r = i, (() => {
131
+ }, p = new WeakMap(), c = new WeakMap(), h = new WeakMap(), _ = new WeakMap(), r = i, (() => {
132
132
  const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(v[Symbol.metadata] ?? null) : void 0;
133
133
  k = [x({ attribute: "title-level" })], z = [x({ reflect: !0 })], R = [x({ reflect: !0, type: Boolean })], S = [x({ reflect: !0, type: Boolean })], A = [P(), x({ reflect: !0, type: Boolean })], $ = [x({ reflect: !0 })], b(i, null, k, { kind: "accessor", name: "titleLevel", static: !1, private: !1, access: { has: (e) => "titleLevel" in e, get: (e) => e.titleLevel, set: (e, a) => {
134
134
  e.titleLevel = a;
@@ -1445,6 +1445,12 @@ summary {
1445
1445
  --sbb-carousel-border-radius: var(--sbb-border-radius-4x);
1446
1446
  --sbb-carousel-box-shadow: var(--sbb-box-shadow-level-9-hard);
1447
1447
  --sbb-carousel-paginator-padding: var(--sbb-spacing-responsive-xs);
1448
+ --sbb-chip-label-color: var(--sbb-color-granite);
1449
+ --sbb-chip-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-cloud));
1450
+ --sbb-chip-label-background-color: var(--sbb-background-color-3);
1451
+ --sbb-chip-label-padding-block: 0em;
1452
+ --sbb-chip-label-padding-inline: var(--sbb-spacing-fixed-2x);
1453
+ --sbb-chip-label-font-size: var(--sbb-text-font-size-xxs);
1448
1454
  --sbb-chip-background-color: var(--sbb-background-color-3);
1449
1455
  --sbb-chip-background-color-active: var(--sbb-background-color-1);
1450
1456
  --sbb-chip-background-color-hover: var(--sbb-background-color-1);
@@ -1500,6 +1506,13 @@ summary {
1500
1506
  --sbb-checkbox-font-size: var(--sbb-text-font-size-m);
1501
1507
  --sbb-checkbox-label-color: var(--sbb-color-color-3);
1502
1508
  --sbb-checkbox-cursor: var(--sbb-cursor-pointer);
1509
+ --sbb-container-background-border-radius: 0;
1510
+ --sbb-container-color: inherit;
1511
+ --sbb-sticky-bar-animation-easing: var(--sbb-animation-easing);
1512
+ --sbb-sticky-bar-border-radius: var(--sbb-border-radius-8x);
1513
+ --sbb-sticky-bar-padding-block: var(--sbb-spacing-responsive-xs);
1514
+ --sbb-sticky-bar-position: sticky;
1515
+ --sbb-sticky-bar-slide-vertically-animation-easing: ease-out;
1503
1516
  --sbb-clock-seconds-hand-color: var(--sbb-color-brand);
1504
1517
  --sbb-clock-face-color: var(--sbb-color-1);
1505
1518
  --sbb-clock-background-color: var(--sbb-background-color-1);
@@ -1762,6 +1775,14 @@ summary {
1762
1775
  font-display: swap;
1763
1776
  font-weight: 300;
1764
1777
  }
1778
+ sbb-container > [slot=image]:is(sbb-image, img),
1779
+ sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
1780
+ --sbb-image-object-fit: cover;
1781
+ border-radius: var(--sbb-container-background-border-radius);
1782
+ height: 100%;
1783
+ position: absolute;
1784
+ }
1785
+
1765
1786
  sbb-tab-nav-bar .sbb-tab-amount {
1766
1787
  margin: 0;
1767
1788
  color: var(--sbb-tab-label-amount-color);
@@ -2045,14 +2066,6 @@ img {
2045
2066
  object-position: var(--sbb-image-object-position);
2046
2067
  }
2047
2068
 
2048
- sbb-container > [slot=image]:is(sbb-image, img),
2049
- sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
2050
- --sbb-image-object-fit: cover;
2051
- border-radius: var(--sbb-container-background-border-radius);
2052
- height: 100%;
2053
- position: absolute;
2054
- }
2055
-
2056
2069
  sbb-flip-card-summary > [slot=image]:is(sbb-image, img),
2057
2070
  sbb-flip-card-summary > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
2058
2071
  --sbb-image-aspect-ratio: auto;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sbb-esta/lyne-elements",
3
- "version": "4.5.0",
3
+ "version": "4.5.1",
4
4
  "description": "Lyne Design System",
5
5
  "keywords": [
6
6
  "design system",
@@ -124,7 +124,7 @@ let tt = 0, ht = (() => {
124
124
  * Mainly used to cover cases where the setter is called before the radios are loaded
125
125
  */
126
126
  _updateRadioState() {
127
- this._fallbackValue && (this.value = this.value);
127
+ this._fallbackValue != null && (this.value = this.value);
128
128
  }
129
129
  render() {
130
130
  return K`
package/safety-theme.css CHANGED
@@ -1445,6 +1445,12 @@ summary {
1445
1445
  --sbb-carousel-border-radius: var(--sbb-border-radius-4x);
1446
1446
  --sbb-carousel-box-shadow: var(--sbb-box-shadow-level-9-hard);
1447
1447
  --sbb-carousel-paginator-padding: var(--sbb-spacing-responsive-xs);
1448
+ --sbb-chip-label-color: var(--sbb-color-granite);
1449
+ --sbb-chip-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-cloud));
1450
+ --sbb-chip-label-background-color: var(--sbb-background-color-3);
1451
+ --sbb-chip-label-padding-block: 0em;
1452
+ --sbb-chip-label-padding-inline: var(--sbb-spacing-fixed-2x);
1453
+ --sbb-chip-label-font-size: var(--sbb-text-font-size-xxs);
1448
1454
  --sbb-chip-background-color: var(--sbb-background-color-3);
1449
1455
  --sbb-chip-background-color-active: var(--sbb-background-color-1);
1450
1456
  --sbb-chip-background-color-hover: var(--sbb-background-color-1);
@@ -1500,6 +1506,13 @@ summary {
1500
1506
  --sbb-checkbox-font-size: var(--sbb-text-font-size-m);
1501
1507
  --sbb-checkbox-label-color: var(--sbb-color-color-3);
1502
1508
  --sbb-checkbox-cursor: var(--sbb-cursor-pointer);
1509
+ --sbb-container-background-border-radius: 0;
1510
+ --sbb-container-color: inherit;
1511
+ --sbb-sticky-bar-animation-easing: var(--sbb-animation-easing);
1512
+ --sbb-sticky-bar-border-radius: var(--sbb-border-radius-8x);
1513
+ --sbb-sticky-bar-padding-block: var(--sbb-spacing-responsive-xs);
1514
+ --sbb-sticky-bar-position: sticky;
1515
+ --sbb-sticky-bar-slide-vertically-animation-easing: ease-out;
1503
1516
  --sbb-clock-seconds-hand-color: var(--sbb-color-brand);
1504
1517
  --sbb-clock-face-color: var(--sbb-color-1);
1505
1518
  --sbb-clock-background-color: var(--sbb-background-color-1);
@@ -1762,6 +1775,14 @@ summary {
1762
1775
  font-display: swap;
1763
1776
  font-weight: 300;
1764
1777
  }
1778
+ sbb-container > [slot=image]:is(sbb-image, img),
1779
+ sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
1780
+ --sbb-image-object-fit: cover;
1781
+ border-radius: var(--sbb-container-background-border-radius);
1782
+ height: 100%;
1783
+ position: absolute;
1784
+ }
1785
+
1765
1786
  sbb-tab-nav-bar .sbb-tab-amount {
1766
1787
  margin: 0;
1767
1788
  color: var(--sbb-tab-label-amount-color);
@@ -2045,14 +2066,6 @@ img {
2045
2066
  object-position: var(--sbb-image-object-position);
2046
2067
  }
2047
2068
 
2048
- sbb-container > [slot=image]:is(sbb-image, img),
2049
- sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
2050
- --sbb-image-object-fit: cover;
2051
- border-radius: var(--sbb-container-background-border-radius);
2052
- height: 100%;
2053
- position: absolute;
2054
- }
2055
-
2056
2069
  sbb-flip-card-summary > [slot=image]:is(sbb-image, img),
2057
2070
  sbb-flip-card-summary > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
2058
2071
  --sbb-image-aspect-ratio: auto;
@@ -1445,6 +1445,12 @@ summary {
1445
1445
  --sbb-carousel-border-radius: var(--sbb-border-radius-4x);
1446
1446
  --sbb-carousel-box-shadow: var(--sbb-box-shadow-level-9-hard);
1447
1447
  --sbb-carousel-paginator-padding: var(--sbb-spacing-responsive-xs);
1448
+ --sbb-chip-label-color: var(--sbb-color-granite);
1449
+ --sbb-chip-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-cloud));
1450
+ --sbb-chip-label-background-color: var(--sbb-background-color-3);
1451
+ --sbb-chip-label-padding-block: 0em;
1452
+ --sbb-chip-label-padding-inline: var(--sbb-spacing-fixed-2x);
1453
+ --sbb-chip-label-font-size: var(--sbb-text-font-size-xxs);
1448
1454
  --sbb-chip-background-color: var(--sbb-background-color-3);
1449
1455
  --sbb-chip-background-color-active: var(--sbb-background-color-1);
1450
1456
  --sbb-chip-background-color-hover: var(--sbb-background-color-1);
@@ -1500,6 +1506,13 @@ summary {
1500
1506
  --sbb-checkbox-font-size: var(--sbb-text-font-size-m);
1501
1507
  --sbb-checkbox-label-color: var(--sbb-color-color-3);
1502
1508
  --sbb-checkbox-cursor: var(--sbb-cursor-pointer);
1509
+ --sbb-container-background-border-radius: 0;
1510
+ --sbb-container-color: inherit;
1511
+ --sbb-sticky-bar-animation-easing: var(--sbb-animation-easing);
1512
+ --sbb-sticky-bar-border-radius: var(--sbb-border-radius-8x);
1513
+ --sbb-sticky-bar-padding-block: var(--sbb-spacing-responsive-xs);
1514
+ --sbb-sticky-bar-position: sticky;
1515
+ --sbb-sticky-bar-slide-vertically-animation-easing: ease-out;
1503
1516
  --sbb-clock-seconds-hand-color: var(--sbb-color-brand);
1504
1517
  --sbb-clock-face-color: var(--sbb-color-1);
1505
1518
  --sbb-clock-background-color: var(--sbb-background-color-1);
@@ -1762,6 +1775,14 @@ summary {
1762
1775
  font-display: swap;
1763
1776
  font-weight: 300;
1764
1777
  }
1778
+ sbb-container > [slot=image]:is(sbb-image, img),
1779
+ sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
1780
+ --sbb-image-object-fit: cover;
1781
+ border-radius: var(--sbb-container-background-border-radius);
1782
+ height: 100%;
1783
+ position: absolute;
1784
+ }
1785
+
1765
1786
  sbb-tab-nav-bar .sbb-tab-amount {
1766
1787
  margin: 0;
1767
1788
  color: var(--sbb-tab-label-amount-color);
@@ -2045,14 +2066,6 @@ img {
2045
2066
  object-position: var(--sbb-image-object-position);
2046
2067
  }
2047
2068
 
2048
- sbb-container > [slot=image]:is(sbb-image, img),
2049
- sbb-container > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
2050
- --sbb-image-object-fit: cover;
2051
- border-radius: var(--sbb-container-background-border-radius);
2052
- height: 100%;
2053
- position: absolute;
2054
- }
2055
-
2056
2069
  sbb-flip-card-summary > [slot=image]:is(sbb-image, img),
2057
2070
  sbb-flip-card-summary > [slot=image] :is(sbb-image, img):not(.sbb-figure-overlap-image) {
2058
2071
  --sbb-image-aspect-ratio: auto;
@@ -3,7 +3,7 @@ import { ResizeController as b } from "@lit-labs/observers/resize-controller.js"
3
3
  import { css as c, LitElement as u, html as h } from "lit";
4
4
  import { customElement as m } from "lit/decorators.js";
5
5
  import { SbbElementInternalsMixin as d } from "../../core/mixins.js";
6
- const v = c`@charset "UTF-8";:host{display:none}:host:after,:host:before{content:" ";display:block;visibility:hidden;height:0;overflow:hidden}:host(:focus-visible){outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width)}:host(:is(:state(active),[state--active])){display:block;opacity:1;transition-duration:var(--sbb-tab-group-animation-duration);transition-delay:var(--sbb-tab-group-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:opacity,height;transition-behavior:allow-discrete}@starting-style{:host(:is(:state(active),[state--active])){opacity:0}}`;
6
+ const v = c`@charset "UTF-8";:host:after,:host:before{content:" ";display:block;visibility:hidden;height:0;overflow:hidden}:host(:focus-visible){outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width)}:host(:not(:is(:state(active),[state--active]))){display:none!important}:host(:is(:state(active),[state--active])){display:block;opacity:1;transition-duration:var(--sbb-tab-group-animation-duration);transition-delay:var(--sbb-tab-group-animation-duration);transition-timing-function:var(--sbb-animation-easing);transition-property:opacity,height;transition-behavior:allow-discrete}@starting-style{:host(:is(:state(active),[state--active])){opacity:0}}`;
7
7
  let p = 0, E = (() => {
8
8
  var t;
9
9
  let o = [m("sbb-tab")], i, a = [], e, n = d(u);
@@ -5,34 +5,34 @@ var G = (i, s, a) => s.has(i) || k("Cannot " + a);
5
5
  var m = (i, s, a) => (G(i, s, "read from private field"), a ? a.call(i) : s.get(i)), u = (i, s, a) => s.has(i) ? k("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(i) : s.set(i, a), o = (i, s, a, n) => (G(i, s, "write to private field"), n ? n.call(i, a) : s.set(i, a), a);
6
6
  import { __esDecorate as f, __runInitializers as b } from "tslib";
7
7
  import { ResizeController as D } from "@lit-labs/observers/resize-controller.js";
8
- import { css as P, LitElement as R, html as g } from "lit";
9
- import { customElement as N, property as p } from "lit/decorators.js";
10
- import { ref as O } from "lit/directives/ref.js";
11
- import { isArrowKeyPressed as A, getNextElementIndex as K } from "../../core/a11y.js";
8
+ import { css as A, LitElement as P, html as g } from "lit";
9
+ import { customElement as R, property as p } from "lit/decorators.js";
10
+ import { ref as N } from "lit/directives/ref.js";
11
+ import { isArrowKeyPressed as O, getNextElementIndex as K } from "../../core/a11y.js";
12
12
  import { forceType as $ } from "../../core/decorators.js";
13
13
  import { isLean as j } from "../../core/dom.js";
14
14
  import { throttle as w } from "../../core/eventing.js";
15
15
  import { SbbElementInternalsMixin as M, SbbHydrationMixin as U, ɵstateController as B } from "../../core/mixins.js";
16
16
  import { boxSizingStyles as W } from "../../core/styles.js";
17
17
  import { tabGroupCommonStyles as q } from "../common.js";
18
- const F = P`:host{--sbb-tab-group-animation-duration: 0s;gap:var(--sbb-tab-group-content-gap)}:host(:is(:state(initialized),[state--initialized])){--sbb-tab-group-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) )}.sbb-tab-group-content{height:var(--sbb-tab-content-height);transition:height var(--sbb-tab-group-animation-duration) var(--sbb-animation-easing)}:host([fixed-height]) ::slotted(sbb-tab){height:100%;overflow:auto}`;
18
+ const F = A`:host{--sbb-tab-group-animation-duration: 0s;gap:var(--sbb-tab-group-content-gap)}:host(:is(:state(initialized),[state--initialized])){--sbb-tab-group-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) )}.sbb-tab-group-content{height:var(--sbb-tab-content-height);transition:height var(--sbb-tab-group-animation-duration) var(--sbb-animation-easing)}:host([fixed-height]) ::slotted(sbb-tab){height:100%;overflow:auto}`;
19
19
  let ot = (() => {
20
- var h, d, c, l;
21
- let i = [N("sbb-tab-group")], s, a = [], n, _ = M(U(R)), x, S = [], v = [], z, y = [], I = [], T, E = [], C = [];
20
+ var h, c, d, l;
21
+ let i = [R("sbb-tab-group")], s, a = [], n, _ = M(U(P)), x, v = [], S = [], z, y = [], I = [], T, E = [], C = [];
22
22
  return l = class extends _ {
23
23
  constructor() {
24
24
  super();
25
25
  u(this, h);
26
- u(this, d);
27
26
  u(this, c);
27
+ u(this, d);
28
28
  this._tabGroupResizeObserver = new D(this, {
29
29
  target: null,
30
30
  skipInitial: !0,
31
31
  callback: () => this._onTabGroupElementResize()
32
- }), o(this, h, b(this, S, j() ? "s" : "l")), o(this, d, (b(this, v), b(this, y, 0))), o(this, c, (b(this, I), b(this, E, !1))), this._onContentSlotChange = (b(this, C), () => {
32
+ }), o(this, h, b(this, v, j() ? "s" : "l")), o(this, c, (b(this, S), b(this, y, 0))), o(this, d, (b(this, I), b(this, E, !1))), this._onContentSlotChange = (b(this, C), () => {
33
33
  this.labels.forEach((t) => t.linkToTab()), this.labels.find((t) => t.active)?.activate();
34
34
  }), this._onLabelSlotChange = () => {
35
- this.labels.forEach((t) => t.linkToTab());
35
+ this.labels.forEach((t) => t.linkToTab()), this._ensureActiveTab();
36
36
  }, this.addEventListener?.("keydown", (t) => this._handleKeyDown(t));
37
37
  }
38
38
  /**
@@ -50,10 +50,10 @@ let ot = (() => {
50
50
  * the tab group, the first enabled tab will be selected.
51
51
  */
52
52
  get initialSelectedIndex() {
53
- return m(this, d);
53
+ return m(this, c);
54
54
  }
55
55
  set initialSelectedIndex(t) {
56
- o(this, d, t);
56
+ o(this, c, t);
57
57
  }
58
58
  /**
59
59
  * If set to true, the `sbb-tab` elements take 100% height of the `sbb-tab-group`.
@@ -61,10 +61,10 @@ let ot = (() => {
61
61
  * The content becomes scrollable on overflow.
62
62
  */
63
63
  get fixedHeight() {
64
- return m(this, c);
64
+ return m(this, d);
65
65
  }
66
66
  set fixedHeight(t) {
67
- o(this, c, t);
67
+ o(this, d, t);
68
68
  }
69
69
  /** Gets the slotted `sbb-tab-label`s. */
70
70
  get labels() {
@@ -101,6 +101,9 @@ let ot = (() => {
101
101
  _enabledTabs() {
102
102
  return this.labels.filter((t) => (customElements.upgrade(t), !t.disabled));
103
103
  }
104
+ _ensureActiveTab() {
105
+ this.internals.states.has("initialized") && !this.labels.some((t) => t.active) && this._initSelection();
106
+ }
104
107
  _initSelection() {
105
108
  const t = this.labels[this.initialSelectedIndex];
106
109
  if (t && (customElements.upgrade(t), this.initialSelectedIndex >= 0 && this.initialSelectedIndex < this.labels.length && !t.disabled)) {
@@ -118,7 +121,7 @@ let ot = (() => {
118
121
  _handleKeyDown(t) {
119
122
  const e = this._enabledTabs();
120
123
  if (!(!e || // don't trap nested handling
121
- t.target !== this && t.target.parentElement !== this) && A(t)) {
124
+ t.target !== this && t.target.parentElement !== this) && O(t)) {
122
125
  const r = e.findIndex((L) => L.active), H = K(t, r, e.length);
123
126
  e[H]?.activate(), e[H]?.focus(), t.preventDefault();
124
127
  }
@@ -134,7 +137,7 @@ let ot = (() => {
134
137
  <div
135
138
  class="sbb-tab-group"
136
139
  role="tablist"
137
- ${O((t) => this._tabGroupElement = t)}
140
+ ${N((t) => this._tabGroupElement = t)}
138
141
  >
139
142
  <slot name="tab-bar" @slotchange=${this._onLabelSlotChange}></slot>
140
143
  </div>
@@ -145,11 +148,11 @@ let ot = (() => {
145
148
  `}
146
149
  `;
147
150
  }
148
- }, h = new WeakMap(), d = new WeakMap(), c = new WeakMap(), n = l, (() => {
151
+ }, h = new WeakMap(), c = new WeakMap(), d = new WeakMap(), n = l, (() => {
149
152
  const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(_[Symbol.metadata] ?? null) : void 0;
150
153
  x = [p()], z = [$(), p({ attribute: "initial-selected-index", type: Number })], T = [$(), p({ attribute: "fixed-height", type: Boolean, reflect: !0 })], f(l, null, x, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (e) => "size" in e, get: (e) => e.size, set: (e, r) => {
151
154
  e.size = r;
152
- } }, metadata: t }, S, v), f(l, null, z, { kind: "accessor", name: "initialSelectedIndex", static: !1, private: !1, access: { has: (e) => "initialSelectedIndex" in e, get: (e) => e.initialSelectedIndex, set: (e, r) => {
155
+ } }, metadata: t }, v, S), f(l, null, z, { kind: "accessor", name: "initialSelectedIndex", static: !1, private: !1, access: { has: (e) => "initialSelectedIndex" in e, get: (e) => e.initialSelectedIndex, set: (e, r) => {
153
156
  e.initialSelectedIndex = r;
154
157
  } }, metadata: t }, y, I), f(l, null, T, { kind: "accessor", name: "fixedHeight", static: !1, private: !1, access: { has: (e) => "fixedHeight" in e, get: (e) => e.fixedHeight, set: (e, r) => {
155
158
  e.fixedHeight = r;