@sbb-esta/lyne-elements 4.2.0 → 4.3.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 (151) hide show
  1. package/accordion/accordion.component.d.ts.map +1 -1
  2. package/accordion/accordion.component.js +12 -16
  3. package/action-group/action-group.component.d.ts.map +1 -1
  4. package/action-group/action-group.component.js +18 -21
  5. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  6. package/autocomplete/autocomplete-base-element.js +25 -26
  7. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  8. package/autocomplete/autocomplete.component.js +1 -1
  9. package/breadcrumb/breadcrumb/breadcrumb.component.js +11 -11
  10. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +3 -1
  11. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  12. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +45 -52
  13. package/button/common.d.ts.map +1 -1
  14. package/button/common.js +5 -4
  15. package/button/mini-button/mini-button.component.d.ts +2 -2
  16. package/button/mini-button/mini-button.component.d.ts.map +1 -1
  17. package/button/mini-button/mini-button.component.js +22 -20
  18. package/button/mini-button-group/mini-button-group.component.d.ts.map +1 -1
  19. package/button/mini-button-group/mini-button-group.component.js +14 -10
  20. package/button/mini-button-link/mini-button-link.component.d.ts +21 -0
  21. package/button/mini-button-link/mini-button-link.component.d.ts.map +1 -0
  22. package/button/mini-button-link/mini-button-link.component.js +35 -0
  23. package/button/mini-button-link.d.ts +5 -0
  24. package/button/mini-button-link.d.ts.map +1 -0
  25. package/button/mini-button-link.js +4 -0
  26. package/button.d.ts +1 -0
  27. package/button.d.ts.map +1 -1
  28. package/button.js +28 -25
  29. package/checkbox/checkbox/checkbox.component.d.ts.map +1 -1
  30. package/checkbox/checkbox/checkbox.component.js +18 -20
  31. package/chip/chip/chip.component.js +10 -10
  32. package/chip/chip-group/chip-group.component.d.ts +2 -5
  33. package/chip/chip-group/chip-group.component.d.ts.map +1 -1
  34. package/chip/chip-group/chip-group.component.js +70 -68
  35. package/clock/clock.component.d.ts.map +1 -1
  36. package/clock/clock.component.js +36 -38
  37. package/container/sticky-bar/sticky-bar.component.js +1 -1
  38. package/core/controllers/media-matchers-controller.js +2 -2
  39. package/core/styles/core.scss +32 -0
  40. package/core/testing/event-spy.d.ts.map +1 -1
  41. package/core/testing/event-spy.js +4 -4
  42. package/core.css +55 -0
  43. package/custom-elements.json +1648 -893
  44. package/development/accordion/accordion.component.d.ts.map +1 -1
  45. package/development/accordion/accordion.component.js +2 -6
  46. package/development/action-group/action-group.component.d.ts.map +1 -1
  47. package/development/action-group/action-group.component.js +13 -22
  48. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  49. package/development/autocomplete/autocomplete-base-element.js +4 -2
  50. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  51. package/development/autocomplete/autocomplete.component.js +2 -2
  52. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +6 -19
  53. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +3 -1
  54. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  55. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +27 -43
  56. package/development/button/common.d.ts.map +1 -1
  57. package/development/button/common.js +3 -2
  58. package/development/button/mini-button/mini-button.component.d.ts +2 -2
  59. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  60. package/development/button/mini-button/mini-button.component.js +7 -35
  61. package/development/button/mini-button-group/mini-button-group.component.d.ts.map +1 -1
  62. package/development/button/mini-button-group/mini-button-group.component.js +8 -4
  63. package/development/button/mini-button-link/mini-button-link.component.d.ts +21 -0
  64. package/development/button/mini-button-link/mini-button-link.component.d.ts.map +1 -0
  65. package/development/button/mini-button-link/mini-button-link.component.js +47 -0
  66. package/development/button/mini-button-link.d.ts +5 -0
  67. package/development/button/mini-button-link.d.ts.map +1 -0
  68. package/development/button/mini-button-link.js +5 -0
  69. package/development/button.d.ts +1 -0
  70. package/development/button.d.ts.map +1 -1
  71. package/development/button.js +6 -3
  72. package/development/checkbox/checkbox/checkbox.component.d.ts.map +1 -1
  73. package/development/checkbox/checkbox/checkbox.component.js +5 -4
  74. package/development/chip/chip/chip.component.js +2 -1
  75. package/development/chip/chip-group/chip-group.component.d.ts +2 -5
  76. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  77. package/development/chip/chip-group/chip-group.component.js +78 -14
  78. package/development/clock/clock.component.d.ts.map +1 -1
  79. package/development/clock/clock.component.js +25 -40
  80. package/development/container/sticky-bar/sticky-bar.component.js +1 -1
  81. package/development/core/controllers/media-matchers-controller.js +1 -1
  82. package/development/core/testing/event-spy.d.ts.map +1 -1
  83. package/development/core/testing/event-spy.js +3 -3
  84. package/development/dialog/dialog-actions/dialog-actions.component.js +2 -1
  85. package/development/divider/divider.component.d.ts +2 -2
  86. package/development/divider/divider.component.d.ts.map +1 -1
  87. package/development/divider/divider.component.js +4 -6
  88. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  89. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +39 -34
  90. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  91. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +15 -13
  92. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +23 -21
  93. package/development/form-field/form-field/form-field.component.d.ts +2 -0
  94. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  95. package/development/form-field/form-field/form-field.component.js +7 -2
  96. package/development/image/image.component.js +1 -1
  97. package/development/lead-container/lead-container.component.d.ts +3 -1
  98. package/development/lead-container/lead-container.component.d.ts.map +1 -1
  99. package/development/lead-container/lead-container.component.js +7 -2
  100. package/development/{mini-button-common-CWTMR_Lu.js → mini-button-label-common-0DeEC1qs.js} +41 -3
  101. package/development/navigation/navigation-section/navigation-section.component.js +4 -4
  102. package/development/{sbb-tokens-CZCt5L4q.js → sbb-tokens-DQT_xEIZ.js} +7 -7
  103. package/development/selection-action-panel/selection-action-panel.component.d.ts +1 -0
  104. package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  105. package/development/selection-action-panel/selection-action-panel.component.js +27 -3
  106. package/development/stepper/step-label/step-label.component.d.ts +9 -0
  107. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  108. package/development/stepper/step-label/step-label.component.js +25 -3
  109. package/development/stepper/stepper/stepper.component.d.ts +5 -3
  110. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  111. package/development/stepper/stepper/stepper.component.js +48 -22
  112. package/development/toggle/toggle/toggle.component.d.ts +1 -0
  113. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  114. package/development/toggle/toggle/toggle.component.js +19 -10
  115. package/dialog/dialog-actions/dialog-actions.component.js +1 -1
  116. package/divider/divider.component.d.ts +2 -2
  117. package/divider/divider.component.d.ts.map +1 -1
  118. package/divider/divider.component.js +12 -12
  119. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  120. package/expansion-panel/expansion-panel/expansion-panel.component.js +31 -31
  121. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  122. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +10 -14
  123. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +19 -19
  124. package/form-field/form-field/form-field.component.d.ts +2 -0
  125. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  126. package/form-field/form-field/form-field.component.js +6 -2
  127. package/image/image.component.js +1 -1
  128. package/index.d.ts +2 -0
  129. package/index.js +2 -0
  130. package/lead-container/lead-container.component.d.ts +3 -1
  131. package/lead-container/lead-container.component.d.ts.map +1 -1
  132. package/lead-container/lead-container.component.js +9 -8
  133. package/{mini-button-common-Bb4ri3Rn.js → mini-button-label-common-BOB7JQKi.js} +4 -3
  134. package/navigation/navigation-section/navigation-section.component.js +1 -1
  135. package/off-brand-theme.css +55 -0
  136. package/package.json +6 -1
  137. package/safety-theme.css +55 -0
  138. package/{sbb-tokens-DruExozg.js → sbb-tokens-HiNSQasB.js} +6 -6
  139. package/selection-action-panel/selection-action-panel.component.d.ts +1 -0
  140. package/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  141. package/selection-action-panel/selection-action-panel.component.js +25 -16
  142. package/standard-theme.css +55 -0
  143. package/stepper/step-label/step-label.component.d.ts +9 -0
  144. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  145. package/stepper/step-label/step-label.component.js +38 -16
  146. package/stepper/stepper/stepper.component.d.ts +5 -3
  147. package/stepper/stepper/stepper.component.d.ts.map +1 -1
  148. package/stepper/stepper/stepper.component.js +62 -68
  149. package/toggle/toggle/toggle.component.d.ts +1 -0
  150. package/toggle/toggle/toggle.component.d.ts.map +1 -1
  151. package/toggle/toggle/toggle.component.js +46 -44
@@ -1,57 +1,57 @@
1
- var T = (i) => {
1
+ var O = (i) => {
2
2
  throw TypeError(i);
3
3
  };
4
- var O = (i, o, a) => o.has(i) || T("Cannot " + a);
5
- var m = (i, o, a) => (O(i, o, "read from private field"), a ? a.call(i) : o.get(i)), v = (i, o, a) => o.has(i) ? T("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(i) : o.set(i, a), c = (i, o, a, n) => (O(i, o, "write to private field"), n ? n.call(i, a) : o.set(i, a), a);
6
- import { __esDecorate as u, __runInitializers as g } from "tslib";
7
- import { css as F, LitElement as P, isServer as A, html as V } from "lit";
8
- import { customElement as L, property as f } from "lit/decorators.js";
9
- import { interactivityChecker as W, isArrowKeyPressed as R, getNextElementIndex as U } from "../../core/a11y.js";
10
- import { forceType as K } from "../../core/decorators.js";
11
- import { isLean as M } from "../../core/dom.js";
12
- import { SbbDisabledMixin as $, SbbFormAssociatedMixin as j, SbbElementInternalsMixin as q } from "../../core/mixins.js";
13
- import { boxSizingStyles as B } from "../../core/styles.js";
4
+ var I = (i, o, a) => o.has(i) || O("Cannot " + a);
5
+ var f = (i, o, a) => (I(i, o, "read from private field"), a ? a.call(i) : o.get(i)), _ = (i, o, a) => o.has(i) ? O("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(i) : o.set(i, a), p = (i, o, a, l) => (I(i, o, "write to private field"), l ? l.call(i, a) : o.set(i, a), a);
6
+ import { __esDecorate as m, __runInitializers as c } from "tslib";
7
+ import { css as L, LitElement as R, isServer as F, html as V } from "lit";
8
+ import { customElement as P, property as y } from "lit/decorators.js";
9
+ import { interactivityChecker as T } from "../../core/a11y.js";
10
+ import { forceType as W } from "../../core/decorators.js";
11
+ import { isLean as U } from "../../core/dom.js";
12
+ import { SbbDisabledMixin as M, SbbFormAssociatedMixin as $, SbbElementInternalsMixin as j } from "../../core/mixins.js";
13
+ import { boxSizingStyles as q } from "../../core/styles.js";
14
14
  import "../toggle-option.js";
15
- const N = F`:host{display:block;width:fit-content;border-radius:var(--sbb-toggle-border-radius);--sbb-toggle-width: fit-content;--sbb-toggle-min-width: calc( var(--sbb-toggle-padding-inline) * 4 + var(--sbb-size-icon-ui-small) );--sbb-toggle-selected-option-border-width: var(--sbb-border-width-1x);--sbb-toggle-selected-option-border-style: solid;--sbb-toggle-selected-option-border-color: var(--sbb-border-color-5);--sbb-toggle-selected-option-background-color: var(--sbb-background-color-1);--sbb-toggle-background-inset: .125rem;--sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xs);--sbb-toggle-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-6x) );--sbb-toggle-height: var(--sbb-size-element-m);--sbb-toggle-border-radius: var(--sbb-border-radius-infinity);--sbb-toggle-grid-template-columns: auto auto}@media(forced-colors:active){:host{--sbb-toggle-selected-option-border-color: Highlight;--sbb-toggle-selected-option-border-width: var(--sbb-border-width-2x)}}:host([even]){width:100%;--sbb-toggle-width: 100%;--sbb-toggle-grid-template-columns: 50% 50%}:host(:disabled){--sbb-toggle-selected-option-border-color: var(--sbb-color-graphite);--sbb-toggle-selected-option-border-color: light-dark( var(--sbb-color-graphite), var(--sbb-color-smoke) );--sbb-toggle-selected-option-border-style: dashed}@media(forced-colors:active){:host(:disabled){--sbb-toggle-selected-option-border-style: solid;--sbb-toggle-selected-option-border-color: GrayText}}:host([size=s]){--sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xxxs);--sbb-toggle-height: var(--sbb-size-element-xxs)}:host(:is(:not(:is(:state(initialized),[state--initialized])),:is(:state(disable-animation-on-resizing),[state--disable-animation-on-resizing]))){--sbb-disable-animation-duration: 0s}.sbb-toggle{--sbb-text-font-size: var(--sbb-text-font-size-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);display:grid;grid-template-columns:var(--sbb-toggle-grid-template-columns);grid-template-areas:"start end";align-items:center;min-width:var(--sbb-toggle-min-width);width:var(--sbb-toggle-width);height:var(--sbb-toggle-height);max-width:100%;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:var(--sbb-toggle-border-radius)}.sbb-toggle:before{content:"";display:block;grid-area:start/start/end/end;margin-inline:var(--sbb-toggle-option-left, 0) var(--sbb-toggle-option-right, 0);background-color:var(--sbb-toggle-selected-option-background-color);border-radius:var(--sbb-toggle-border-radius);max-width:100%;height:100%;border:var(--sbb-toggle-selected-option-border-width) var(--sbb-toggle-selected-option-border-style) var(--sbb-toggle-selected-option-border-color);transition-duration:var(--sbb-toggle-animation-duration);transition-timing-function:ease;transition-property:margin-inline-start,margin-inline-end}.sbb-toggle:after{content:"";grid-area:start/start/end/end;order:-1;background:var(--sbb-background-color-4);margin-inline:var(--sbb-toggle-background-inset);height:calc(100% - 2 * var(--sbb-toggle-background-inset));border-radius:var(--sbb-toggle-border-radius)}@media(forced-colors:active){.sbb-toggle:after{border:var(--sbb-border-width-1x) solid CanvasText}}::slotted(sbb-toggle-option:first-of-type){grid-area:start}::slotted(sbb-toggle-option:last-of-type){grid-area:end}`;
16
- let oe = (() => {
17
- var b, d, r;
18
- let i = [L("sbb-toggle")], o, a = [], n, _ = $(j(q(P))), y = [], x, k = [], z = [], w, S = [], D = [], E;
19
- return r = class extends _ {
15
+ const B = L`:host{display:block;width:fit-content;border-radius:var(--sbb-toggle-border-radius);--sbb-toggle-width: fit-content;--sbb-toggle-min-width: calc( var(--sbb-toggle-padding-inline) * 4 + var(--sbb-size-icon-ui-small) );--sbb-toggle-selected-option-border-width: var(--sbb-border-width-1x);--sbb-toggle-selected-option-border-style: solid;--sbb-toggle-selected-option-border-color: var(--sbb-border-color-5);--sbb-toggle-selected-option-background-color: var(--sbb-background-color-1);--sbb-toggle-background-inset: .125rem;--sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xs);--sbb-toggle-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-6x) );--sbb-toggle-height: var(--sbb-size-element-m);--sbb-toggle-border-radius: var(--sbb-border-radius-infinity);--sbb-toggle-grid-template-columns: auto auto}@media(forced-colors:active){:host{--sbb-toggle-selected-option-border-color: Highlight;--sbb-toggle-selected-option-border-width: var(--sbb-border-width-2x)}}:host([even]){width:100%;--sbb-toggle-width: 100%;--sbb-toggle-grid-template-columns: 50% 50%}:host(:disabled){--sbb-toggle-selected-option-border-color: var(--sbb-color-graphite);--sbb-toggle-selected-option-border-color: light-dark( var(--sbb-color-graphite), var(--sbb-color-smoke) );--sbb-toggle-selected-option-border-style: dashed}@media(forced-colors:active){:host(:disabled){--sbb-toggle-selected-option-border-style: solid;--sbb-toggle-selected-option-border-color: GrayText}}:host([size=s]){--sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xxxs);--sbb-toggle-height: var(--sbb-size-element-xxs)}:host(:is(:not(:is(:state(initialized),[state--initialized])),:is(:state(disable-animation-on-resizing),[state--disable-animation-on-resizing]))){--sbb-disable-animation-duration: 0s}.sbb-toggle{--sbb-text-font-size: var(--sbb-text-font-size-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-text);letter-spacing:var(--sbb-typo-letter-spacing-text);font-size:var(--sbb-text-font-size);display:grid;grid-template-columns:var(--sbb-toggle-grid-template-columns);grid-template-areas:"start end";align-items:center;min-width:var(--sbb-toggle-min-width);width:var(--sbb-toggle-width);height:var(--sbb-toggle-height);max-width:100%;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:var(--sbb-toggle-border-radius)}.sbb-toggle:before{content:"";display:block;grid-area:start/start/end/end;margin-inline:var(--sbb-toggle-option-left, 0) var(--sbb-toggle-option-right, 0);background-color:var(--sbb-toggle-selected-option-background-color);border-radius:var(--sbb-toggle-border-radius);max-width:100%;height:100%;border:var(--sbb-toggle-selected-option-border-width) var(--sbb-toggle-selected-option-border-style) var(--sbb-toggle-selected-option-border-color);transition-duration:var(--sbb-toggle-animation-duration);transition-timing-function:ease;transition-property:margin-inline-start,margin-inline-end}.sbb-toggle:after{content:"";grid-area:start/start/end/end;order:-1;background:var(--sbb-background-color-4);margin-inline:var(--sbb-toggle-background-inset);height:calc(100% - 2 * var(--sbb-toggle-background-inset));border-radius:var(--sbb-toggle-border-radius)}@media(forced-colors:active){.sbb-toggle:after{border:var(--sbb-border-width-1x) solid CanvasText}}::slotted(sbb-toggle-option:first-of-type){grid-area:start}::slotted(sbb-toggle-option:last-of-type){grid-area:end}`;
16
+ let se = (() => {
17
+ var d, g, r;
18
+ let i = [P("sbb-toggle")], o, a = [], l, k = M($(j(R))), x = [], w, z = [], S = [], D, E = [], A = [], C;
19
+ return r = class extends k {
20
20
  constructor() {
21
21
  super();
22
- v(this, b);
23
- v(this, d);
24
- c(this, b, (g(this, y), g(this, k, !1))), c(this, d, (g(this, z), g(this, S, M() ? "s" : "m"))), this._fallbackValue = (g(this, D), null), this.addEventListener?.("input", () => this._handleInput(), { passive: !0 }), this.addEventListener?.("keydown", (e) => this._handleKeyDown(e));
22
+ _(this, d);
23
+ _(this, g);
24
+ p(this, d, (c(this, x), c(this, z, !1))), p(this, g, (c(this, S), c(this, E, U() ? "s" : "m"))), this._fallbackValue = (c(this, A), null), this.addEventListener?.("input", () => this._handleInput(), { passive: !0 }), this.addEventListener?.("keydown", (e) => this._handleKeyDown(e));
25
25
  }
26
26
  /**
27
27
  * If true, set the width of the component fixed; if false,
28
28
  * the width is dynamic based on the label of the sbb-toggle-option.
29
29
  */
30
30
  get even() {
31
- return m(this, b);
31
+ return f(this, d);
32
32
  }
33
33
  set even(e) {
34
- c(this, b, e);
34
+ p(this, d, e);
35
35
  }
36
36
  /**
37
37
  * Size variant, either m or s.
38
38
  * @default 'm' / 's' (lean)
39
39
  */
40
40
  get size() {
41
- return m(this, d);
41
+ return f(this, g);
42
42
  }
43
43
  set size(e) {
44
- c(this, d, e);
44
+ p(this, g, e);
45
45
  }
46
46
  /**
47
47
  * The value of the toggle. It needs to be mutable since it is updated whenever
48
48
  * a new option is selected (see the `onToggleOptionSelect()` method).
49
49
  */
50
50
  set value(e) {
51
- A || !this.hasUpdated ? this._fallbackValue = e : this._valueChanged(e);
51
+ F || !this.hasUpdated ? this._fallbackValue = e : this._valueChanged(e);
52
52
  }
53
53
  get value() {
54
- return A ? this._fallbackValue ?? null : this.options.find((e) => e.checked)?.value ?? this.options[0]?.value ?? null;
54
+ return F ? this._fallbackValue ?? null : this.options.find((e) => e.checked)?.value ?? this.options[0]?.value ?? null;
55
55
  }
56
56
  /** The child instances of sbb-toggle-option as an array. */
57
57
  get options() {
@@ -89,17 +89,17 @@ let oe = (() => {
89
89
  /** @internal */
90
90
  updatePillPosition(e = !1) {
91
91
  const t = this.options, s = this.shadowRoot?.querySelector(".sbb-toggle");
92
- if (t.length < 2 || !s || t.every((p) => !p.checked) || t.every((p) => !p.clientWidth))
92
+ if (t.length < 2 || !s || t.every((v) => !v.checked) || t.every((v) => !v.clientWidth))
93
93
  return;
94
94
  this.toggleState("disable-animation-on-resizing", e);
95
- const l = t[0], h = l.checked, C = h ? "0px" : `${l.clientWidth}px`, I = h ? `${s.clientWidth - l.clientWidth}px` : "0px";
96
- I === "0px" && C === "0px" || (this.style?.setProperty("--sbb-toggle-option-left", C), this.style?.setProperty("--sbb-toggle-option-right", I), this.offsetWidth, this.internals.states.add("initialized"));
95
+ const n = t[0], h = n.checked, u = h ? "0px" : `${n.clientWidth}px`, b = h ? `${s.clientWidth - n.clientWidth}px` : "0px";
96
+ b === "0px" && u === "0px" || (this.style?.setProperty("--sbb-toggle-option-left", u), this.style?.setProperty("--sbb-toggle-option-right", b), this.offsetWidth, this.internals.states.add("initialized"));
97
97
  }
98
98
  _updateToggle() {
99
99
  this._valueChanged(this.value), this._updateDisabled();
100
100
  }
101
101
  _valueChanged(e) {
102
- const t = this.options, s = t.find((l) => e === l.value) ?? t.find((l) => l.checked) ?? t[0];
102
+ const t = this.options, s = t.find((n) => e === n.value) ?? t.find((n) => n.checked) ?? t[0];
103
103
  s && (s.checked = !0, this.statusChanged());
104
104
  }
105
105
  _updateDisabled() {
@@ -113,12 +113,14 @@ let oe = (() => {
113
113
  this.statusChanged(), this.dispatchEvent(new Event("change", { bubbles: !0 }));
114
114
  }
115
115
  _handleKeyDown(e) {
116
- const t = this.options.filter((s) => !s.disabled && W.isVisible(s));
117
- if (!(!t || // don't trap nested handling
118
- e.target !== this && e.target.parentElement !== this) && R(e)) {
119
- const s = t.findIndex((h) => h.checked), l = U(e, s, t.length);
120
- t[l].checked || (t[l].checked = !0, t[l].focus(), t[l].dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 }))), e.preventDefault();
121
- }
116
+ if (!this.options.filter((b) => !b.disabled && T.isVisible(b)) || // don't trap nested handling
117
+ e.target !== this && e.target.parentElement !== this)
118
+ return;
119
+ const s = this.options, n = this.matches(":dir(rtl)"), h = s.findIndex((b) => b.checked) ?? s[0], u = s.slice(h + 1).concat(s.slice(0, h)).filter((b) => !b.disabled && T.isVisible(b));
120
+ (n ? e.key === "ArrowLeft" : e.key === " " || e.key === "ArrowRight") ? (this._selectAndFocusOption(u[0]), e.preventDefault()) : (n ? e.key === " " || e.key === "ArrowRight" : e.key === "ArrowLeft") && (this._selectAndFocusOption(u.at(-1)), e.preventDefault());
121
+ }
122
+ _selectAndFocusOption(e) {
123
+ !e || e.disabled || e.checked || (e.checked = !0, e.focus(), e.dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 })));
122
124
  }
123
125
  render() {
124
126
  return V`
@@ -127,19 +129,19 @@ let oe = (() => {
127
129
  </div>
128
130
  `;
129
131
  }
130
- }, b = new WeakMap(), d = new WeakMap(), n = r, (() => {
131
- const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(_[Symbol.metadata] ?? null) : void 0;
132
- x = [K(), f({ reflect: !0, type: Boolean })], w = [f({ reflect: !0 })], E = [f()], u(r, null, x, { kind: "accessor", name: "even", static: !1, private: !1, access: { has: (t) => "even" in t, get: (t) => t.even, set: (t, s) => {
132
+ }, d = new WeakMap(), g = new WeakMap(), l = r, (() => {
133
+ const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(k[Symbol.metadata] ?? null) : void 0;
134
+ w = [W(), y({ reflect: !0, type: Boolean })], D = [y({ reflect: !0 })], C = [y()], m(r, null, w, { kind: "accessor", name: "even", static: !1, private: !1, access: { has: (t) => "even" in t, get: (t) => t.even, set: (t, s) => {
133
135
  t.even = s;
134
- } }, metadata: e }, k, z), u(r, null, w, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (t) => "size" in t, get: (t) => t.size, set: (t, s) => {
136
+ } }, metadata: e }, z, S), m(r, null, D, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (t) => "size" in t, get: (t) => t.size, set: (t, s) => {
135
137
  t.size = s;
136
- } }, metadata: e }, S, D), u(r, null, E, { kind: "setter", name: "value", static: !1, private: !1, access: { has: (t) => "value" in t, set: (t, s) => {
138
+ } }, metadata: e }, E, A), m(r, null, C, { kind: "setter", name: "value", static: !1, private: !1, access: { has: (t) => "value" in t, set: (t, s) => {
137
139
  t.value = s;
138
- } }, metadata: e }, null, y), u(null, o = { value: n }, i, { kind: "class", name: n.name, metadata: e }, null, a), n = o.value, e && Object.defineProperty(n, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
139
- })(), r.role = "radiogroup", r.styles = [B, N], r.events = {
140
+ } }, metadata: e }, null, x), m(null, o = { value: l }, i, { kind: "class", name: l.name, metadata: e }, null, a), l = o.value, e && Object.defineProperty(l, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
141
+ })(), r.role = "radiogroup", r.styles = [q, B], r.events = {
140
142
  change: "change"
141
- }, g(n, a), n;
143
+ }, c(l, a), l;
142
144
  })();
143
145
  export {
144
- oe as SbbToggleElement
146
+ se as SbbToggleElement
145
147
  };