@sbb-esta/lyne-elements 2.1.0 → 2.3.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 (268) hide show
  1. package/accordion.js +6 -6
  2. package/action-group.js +3 -3
  3. package/alert/alert-group.js +4 -4
  4. package/alert/alert.js +9 -9
  5. package/autocomplete/autocomplete-base-element.d.ts +4 -0
  6. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  7. package/autocomplete-grid/autocomplete-grid-button.js +4 -4
  8. package/autocomplete-grid/autocomplete-grid-cell.js +3 -3
  9. package/autocomplete-grid/autocomplete-grid-optgroup.js +4 -4
  10. package/autocomplete-grid/autocomplete-grid-row.js +5 -5
  11. package/autocomplete.js +26 -20
  12. package/badge.css +31 -0
  13. package/breadcrumb/breadcrumb-group.js +5 -5
  14. package/breadcrumb/breadcrumb.js +19 -19
  15. package/button/accent-button-link.js +9 -9
  16. package/button/accent-button-static.js +6 -6
  17. package/button/accent-button.js +6 -6
  18. package/button/button-link.js +7 -7
  19. package/button/button-static.js +7 -7
  20. package/button/button.js +8 -8
  21. package/button/common.js +15 -15
  22. package/button/mini-button-group.js +8 -8
  23. package/button/secondary-button-link.js +7 -7
  24. package/button/secondary-button-static.js +7 -7
  25. package/button/secondary-button.js +3 -3
  26. package/button/transparent-button-link.js +6 -6
  27. package/button/transparent-button-static.js +5 -5
  28. package/button/transparent-button.js +6 -6
  29. package/calendar.js +1 -1
  30. package/card/card-badge.js +11 -11
  31. package/card/card-button.js +5 -5
  32. package/card/card-link.js +7 -7
  33. package/card/card.js +3 -3
  34. package/checkbox/checkbox-panel.js +16 -16
  35. package/checkbox/checkbox.js +15 -15
  36. package/checkbox/common.js +3 -3
  37. package/chip-label.js +3 -3
  38. package/clock.js +10 -10
  39. package/container/container.js +6 -6
  40. package/core/a11y/focus.d.ts.map +1 -1
  41. package/core/a11y.js +8 -8
  42. package/core/base-elements/link-base-element.d.ts +2 -0
  43. package/core/base-elements/link-base-element.d.ts.map +1 -1
  44. package/core/base-elements.js +125 -114
  45. package/core/controllers.js +4 -4
  46. package/core/datetime.js +6 -6
  47. package/core/dom/scroll.d.ts +1 -0
  48. package/core/dom/scroll.d.ts.map +1 -1
  49. package/core/dom.js +31 -31
  50. package/core/eventing.js +4 -4
  51. package/core/i18n/i18n.d.ts +2 -0
  52. package/core/i18n/i18n.d.ts.map +1 -1
  53. package/core/i18n.js +43 -31
  54. package/core/images.d.ts.map +1 -1
  55. package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  56. package/core/mixins/form-associated-mixin.d.ts +3 -0
  57. package/core/mixins/form-associated-mixin.d.ts.map +1 -1
  58. package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
  59. package/core/mixins.js +342 -248
  60. package/core/styles/badge.scss +3 -0
  61. package/core/styles/core.scss +2 -0
  62. package/core/styles/mixins/badge.scss +26 -1
  63. package/core/styles/mixins/font-face.scss +12 -12
  64. package/core/styles/mixins/link.scss +32 -8
  65. package/core/styles/standard-theme.scss +1 -0
  66. package/core/testing.js +14 -14
  67. package/core.css +5 -3
  68. package/custom-elements.json +7788 -173
  69. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  70. package/datepicker/datepicker-toggle.js +23 -26
  71. package/datepicker/datepicker.js +4 -4
  72. package/development/action-group.js +1 -1
  73. package/development/alert/alert-group.js +1 -1
  74. package/development/alert/alert.js +1 -1
  75. package/development/autocomplete/autocomplete-base-element.d.ts +4 -0
  76. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  77. package/development/autocomplete-grid/autocomplete-grid-cell.js +1 -1
  78. package/development/autocomplete-grid/autocomplete-grid-row.js +1 -1
  79. package/development/autocomplete.js +15 -2
  80. package/development/breadcrumb/breadcrumb-group.js +3 -3
  81. package/development/breadcrumb/breadcrumb.js +5 -2
  82. package/development/button/common.js +75 -74
  83. package/development/calendar.js +1 -1
  84. package/development/card/card-badge.js +1 -1
  85. package/development/card/card.js +1 -1
  86. package/development/checkbox/checkbox-panel.js +1 -1
  87. package/development/chip-label.js +1 -1
  88. package/development/clock.js +1 -1
  89. package/development/container/container.js +1 -1
  90. package/development/core/a11y/focus.d.ts.map +1 -1
  91. package/development/core/a11y.js +3 -3
  92. package/development/core/base-elements/link-base-element.d.ts +2 -0
  93. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  94. package/development/core/base-elements.js +22 -5
  95. package/development/core/controllers.js +1 -1
  96. package/development/core/dom/scroll.d.ts +1 -0
  97. package/development/core/dom/scroll.d.ts.map +1 -1
  98. package/development/core/dom.js +5 -2
  99. package/development/core/i18n/i18n.d.ts +2 -0
  100. package/development/core/i18n/i18n.d.ts.map +1 -1
  101. package/development/core/i18n.js +15 -1
  102. package/development/core/images.d.ts.map +1 -1
  103. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  104. package/development/core/mixins/form-associated-mixin.d.ts +3 -0
  105. package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
  106. package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -1
  107. package/development/core/mixins.js +159 -22
  108. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  109. package/development/datepicker/datepicker-toggle.js +13 -6
  110. package/development/datepicker/datepicker.js +1 -1
  111. package/development/dialog/dialog-content.js +1 -1
  112. package/development/dialog/dialog-title.js +1 -1
  113. package/development/dialog/dialog.js +1 -1
  114. package/development/expansion-panel/expansion-panel-content.js +1 -1
  115. package/development/expansion-panel/expansion-panel-header.js +1 -1
  116. package/development/expansion-panel/expansion-panel.js +1 -1
  117. package/development/file-selector/common.js +1 -1
  118. package/development/flip-card/flip-card-details.js +1 -1
  119. package/development/flip-card/flip-card-summary.js +1 -1
  120. package/development/footer.js +1 -1
  121. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  122. package/development/form-field/form-field.js +5 -2
  123. package/development/icon.js +1 -1
  124. package/development/image.js +2 -2
  125. package/development/journey-header.js +1 -1
  126. package/development/lead-container.js +1 -1
  127. package/development/link/common.js +19 -7
  128. package/development/link-list/common.js +1 -1
  129. package/development/link-list/link-list-anchor.js +1 -1
  130. package/development/link-list/link-list.js +1 -1
  131. package/development/loading-indicator-circle.js +1 -1
  132. package/development/loading-indicator.js +1 -1
  133. package/development/map-container.js +1 -1
  134. package/development/menu/common/menu-action-common.d.ts +3 -0
  135. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  136. package/development/menu/common.js +35 -12
  137. package/development/message.js +1 -1
  138. package/development/navigation/navigation-section.js +1 -1
  139. package/development/notification.js +1 -1
  140. package/development/option/optgroup.js +1 -1
  141. package/development/option/option.js +1 -1
  142. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  143. package/development/overlay.js +3 -3
  144. package/development/paginator/paginator.js +1 -1
  145. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  146. package/development/radio-button/radio-button-group.js +2 -2
  147. package/development/radio-button/radio-button-panel.js +1 -1
  148. package/development/{sbb-tokens-BdGhUJjM.js → sbb-tokens-CSAKTXUi.js} +15 -15
  149. package/development/screen-reader-only.js +1 -1
  150. package/development/select/select.d.ts +4 -1
  151. package/development/select/select.d.ts.map +1 -1
  152. package/development/select.js +22 -4
  153. package/development/signet.js +1 -1
  154. package/development/skiplink-list.js +1 -1
  155. package/development/slider.js +1 -1
  156. package/development/stepper/step.js +1 -1
  157. package/development/tabs/tab-label.js +1 -1
  158. package/development/tabs/tab.js +1 -1
  159. package/development/time-input.js +1 -1
  160. package/development/timetable-occupancy.js +1 -1
  161. package/development/title/title-base.d.ts.map +1 -1
  162. package/development/title.js +4 -5
  163. package/development/toast.js +1 -1
  164. package/development/toggle/toggle/toggle.d.ts +25 -6
  165. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  166. package/development/toggle/toggle-option/toggle-option.d.ts +2 -6
  167. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  168. package/development/toggle/toggle-option.js +21 -39
  169. package/development/toggle/toggle.js +58 -40
  170. package/development/train/train-blocked-passage.js +1 -1
  171. package/development/train/train-formation.js +1 -1
  172. package/development/train/train.js +1 -1
  173. package/development/visual-checkbox.js +1 -1
  174. package/dialog/dialog-content.js +4 -4
  175. package/dialog/dialog-title.js +8 -8
  176. package/dialog/dialog.js +1 -1
  177. package/divider.js +12 -12
  178. package/expansion-panel/expansion-panel-content.js +3 -3
  179. package/expansion-panel/expansion-panel-header.js +1 -1
  180. package/expansion-panel/expansion-panel.js +1 -1
  181. package/file-selector/common.js +9 -9
  182. package/file-selector/file-selector-dropzone.js +5 -5
  183. package/file-selector/file-selector.js +6 -6
  184. package/flip-card/flip-card-details.js +7 -7
  185. package/flip-card/flip-card-summary.js +12 -12
  186. package/font-characters-extension.css +3 -3
  187. package/footer.js +4 -4
  188. package/form-field/form-field/form-field.d.ts.map +1 -1
  189. package/form-field/form-field.js +7 -5
  190. package/header/header-button.js +5 -5
  191. package/header/header-link.js +5 -5
  192. package/icon.js +37 -37
  193. package/image.js +16 -16
  194. package/journey-header.js +5 -5
  195. package/lead-container.js +3 -3
  196. package/link/block-link-button.js +4 -4
  197. package/link/block-link-static.js +9 -9
  198. package/link/block-link.js +4 -4
  199. package/link/common.js +28 -28
  200. package/link/link-button.js +7 -7
  201. package/link/link-static.js +7 -7
  202. package/link/link.js +4 -4
  203. package/link-list/common.js +15 -15
  204. package/link-list/link-list-anchor.js +3 -3
  205. package/link-list/link-list.js +3 -3
  206. package/loading-indicator-circle.js +14 -14
  207. package/loading-indicator.js +3 -3
  208. package/map-container.js +6 -6
  209. package/menu/common/menu-action-common.d.ts +3 -0
  210. package/menu/common/menu-action-common.d.ts.map +1 -1
  211. package/menu/common.js +34 -30
  212. package/menu/menu-button.js +8 -8
  213. package/menu/menu-link.js +6 -6
  214. package/menu/menu.js +7 -7
  215. package/message.js +3 -3
  216. package/navigation/navigation-button.js +4 -4
  217. package/navigation/navigation-link.js +7 -7
  218. package/navigation/navigation-list.js +4 -4
  219. package/navigation/navigation-marker.js +3 -3
  220. package/navigation/navigation-section.js +1 -1
  221. package/notification.js +19 -19
  222. package/option/optgroup.js +14 -14
  223. package/option/option.js +3 -3
  224. package/overlay/overlay-base-element.d.ts.map +1 -1
  225. package/overlay.js +14 -14
  226. package/package.json +6 -2
  227. package/paginator/common.js +6 -6
  228. package/paginator/paginator.js +1 -1
  229. package/popover/popover.js +13 -13
  230. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  231. package/radio-button/radio-button-group.js +1 -1
  232. package/radio-button/radio-button-panel.js +6 -6
  233. package/{sbb-tokens-Dx20OtVg.js → sbb-tokens-BgDF8jIh.js} +14 -14
  234. package/screen-reader-only.js +8 -8
  235. package/select/select.d.ts +4 -1
  236. package/select/select.d.ts.map +1 -1
  237. package/select.js +35 -28
  238. package/signet.js +1 -1
  239. package/skiplink-list.js +3 -3
  240. package/slider.js +13 -13
  241. package/standard-theme.css +37 -3
  242. package/status.js +3 -3
  243. package/stepper/step-label.js +4 -4
  244. package/stepper/step.js +3 -3
  245. package/table/table-wrapper.js +4 -4
  246. package/tabs/tab-group.js +24 -24
  247. package/tabs/tab-label.js +1 -1
  248. package/tabs/tab.js +4 -4
  249. package/tag/tag-group.js +7 -7
  250. package/teaser-product/common.js +5 -5
  251. package/teaser-product/teaser-product-static.js +2 -2
  252. package/time-input.js +3 -3
  253. package/timetable-occupancy-icon.js +3 -3
  254. package/timetable-occupancy.js +6 -6
  255. package/title/title-base.d.ts.map +1 -1
  256. package/title.js +41 -42
  257. package/toast.js +5 -5
  258. package/toggle/toggle/toggle.d.ts +25 -6
  259. package/toggle/toggle/toggle.d.ts.map +1 -1
  260. package/toggle/toggle-option/toggle-option.d.ts +2 -6
  261. package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  262. package/toggle/toggle-option.js +44 -52
  263. package/toggle/toggle.js +103 -83
  264. package/toggle-check.js +5 -5
  265. package/train/train-blocked-passage.js +3 -3
  266. package/train/train-formation.js +1 -1
  267. package/train/train.js +29 -29
  268. package/visual-checkbox.js +1 -1
@@ -1,18 +1,18 @@
1
1
  import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
+ import { FormRestoreReason, FormRestoreState } from '../../core/mixins.js';
2
3
  import { SbbToggleOptionElement } from '../toggle-option.js';
4
+ declare const SbbToggleElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbFormAssociatedMixinType<string>> & typeof LitElement;
3
5
  /**
4
6
  * It can be used as a container for two `sbb-toggle-option`, acting as a toggle button.
5
7
  *
6
8
  * @slot - Use the unnamed slot to add `<sbb-toggle-option>` elements to the toggle.
7
9
  * @event {CustomEvent<void>} change - Emits whenever the toggle value changes.
8
10
  */
9
- export declare class SbbToggleElement extends LitElement {
11
+ export declare class SbbToggleElement extends SbbToggleElement_base {
10
12
  static styles: CSSResultGroup;
11
13
  static readonly events: {
12
14
  readonly change: "change";
13
15
  };
14
- /** Whether the toggle is disabled. */
15
- accessor disabled: boolean;
16
16
  /**
17
17
  * If true, set the width of the component fixed; if false,
18
18
  * the width is dynamic based on the label of the sbb-toggle-option.
@@ -27,7 +27,7 @@ export declare class SbbToggleElement extends LitElement {
27
27
  * The value of the toggle. It needs to be mutable since it is updated whenever
28
28
  * a new option is selected (see the `onToggleOptionSelect()` method).
29
29
  */
30
- set value(value: string);
30
+ set value(value: string | null);
31
31
  get value(): string;
32
32
  private _value;
33
33
  /** The child instances of sbb-toggle-option as an array. */
@@ -37,13 +37,31 @@ export declare class SbbToggleElement extends LitElement {
37
37
  /** Emits whenever the toggle value changes. */
38
38
  private _change;
39
39
  constructor();
40
- /** @internal */
41
- updatePillPosition(resizing: boolean): void;
42
40
  connectedCallback(): void;
41
+ protected willUpdate(changedProperties: PropertyValues): void;
43
42
  protected firstUpdated(changedProperties: PropertyValues<this>): Promise<void>;
43
+ /**
44
+ * Called whenever the value changes, both programmatically or by user interaction.
45
+ * @internal
46
+ */
47
+ statusChanged(): void;
48
+ /**
49
+ * Reset to the init value if present. Select the first option, otherwise.
50
+ */
51
+ formResetCallback(): void;
52
+ formStateRestoreCallback(state: FormRestoreState | null, _reason: FormRestoreReason): void;
53
+ /**
54
+ * @deprecated Will be made 'private' in the next major version
55
+ * @internal
56
+ */
57
+ updatePillPosition(resizing?: boolean): void;
58
+ protected updateFormValue(): void;
44
59
  private _updateToggle;
45
60
  private _valueChanged;
46
61
  private _updateDisabled;
62
+ /**
63
+ * Called on user interaction (click or keyboard)
64
+ */
47
65
  private _handleInput;
48
66
  private _handleKeyDown;
49
67
  protected render(): TemplateResult;
@@ -53,4 +71,5 @@ declare global {
53
71
  'sbb-toggle': SbbToggleElement;
54
72
  }
55
73
  }
74
+ export {};
56
75
  //# sourceMappingURL=toggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../src/elements/toggle/toggle/toggle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAOb,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAIlE;;;;;GAKG;AACH,qBAKM,gBAAiB,SAAQ,UAAU;IACvC,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX,sCAAsC;IACtC,SAGgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;;OAGG;IACH,SAEgB,IAAI,EAAE,OAAO,CAAS;IAEtC;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF;;;OAGG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAM7B;IACD,IAAW,KAAK,IAAI,MAAM,CAIzB;IACD,OAAO,CAAC,MAAM,CAAuB;IAErC,4DAA4D;IAC5D,IAAW,OAAO,IAAI,sBAAsB,EAAE,CAE7C;IAED,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,qBAAqB,CAI1B;IAEH,+CAA+C;IAC/C,OAAO,CAAC,OAAO,CAGZ;;IAQH,gBAAgB;IACT,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IA6BlC,iBAAiB,IAAI,IAAI;cAMhB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7F,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;cA6BH,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../src/elements/toggle/toggle/toggle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAOb,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;;AAIlE;;;;;GAKG;AACH,qBAKM,gBAAiB,SAAQ,qBAAoD;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;MAElB;IAEX;;;OAGG;IACH,SAEgB,IAAI,EAAE,OAAO,CAAS;IAEtC;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF;;;OAGG;IACH,IACoB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAM7C;IACD,IAAoB,KAAK,IAAI,MAAM,CAIlC;IACD,OAAO,CAAC,MAAM,CAAuB;IAErC,4DAA4D;IAC5D,IAAW,OAAO,IAAI,sBAAsB,EAAE,CAE7C;IAED,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,qBAAqB,CAI1B;IAEH,+CAA+C;IAC/C,OAAO,CAAC,OAAO,CAGZ;;IAQa,iBAAiB,IAAI,IAAI;cAMtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;cAO7C,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7F;;;OAGG;IACI,aAAa,IAAI,IAAI;IAK5B;;OAEG;IACI,iBAAiB,IAAI,IAAI;IAIzB,wBAAwB,CAC7B,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAIP;;;OAGG;IACI,kBAAkB,CAAC,QAAQ,UAAQ,GAAG,IAAI;IA6BjD,SAAS,CAAC,eAAe,IAAI,IAAI;IAIjC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;cA6BH,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
@@ -1,5 +1,5 @@
1
1
  import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit';
2
- declare const SbbToggleOptionElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & typeof LitElement;
2
+ declare const SbbToggleOptionElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../icon.js').SbbIconNameMixinType> & typeof LitElement;
3
3
  /**
4
4
  * It displays a toggle option within a `sbb-toggle`.
5
5
  *
@@ -10,12 +10,8 @@ export declare class SbbToggleOptionElement extends SbbToggleOptionElement_base
10
10
  static styles: CSSResultGroup;
11
11
  /** Whether the toggle-option is checked. */
12
12
  accessor checked: boolean;
13
- /** Whether the toggle option is disabled. */
14
- accessor disabled: boolean;
15
13
  /** Value of toggle-option. */
16
- set value(value: string);
17
- get value(): string;
18
- private _value;
14
+ accessor value: string;
19
15
  private _toggle?;
20
16
  constructor();
21
17
  connectedCallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-option.d.ts","sourceRoot":"","sources":["../../../../src/elements/toggle/toggle-option/toggle-option.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;;AAUhD;;;;;GAKG;AACH,qBAMM,sBAAuB,SAAQ,2BAA4B;IAC/D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,4CAA4C;IAC5C,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC,6CAA6C;IAC7C,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,8BAA8B;IAC9B,IACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IACD,IAAW,KAAK,IAAI,MAAM,CAEzB;IACD,OAAO,CAAC,MAAM,CAAc;IAE5B,OAAO,CAAC,OAAO,CAAC,CAAmB;;IAUnB,iBAAiB,IAAI,IAAI;cAQtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;cAIJ,MAAM,IAAI,cAAc;CAqB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
1
+ {"version":3,"file":"toggle-option.d.ts","sourceRoot":"","sources":["../../../../src/elements/toggle/toggle-option/toggle-option.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;;AAWhD;;;;;GAKG;AACH,qBAMM,sBAAuB,SAAQ,2BAA8C;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,4CAA4C;IAC5C,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC,8BAA8B;IAC9B,SAEgB,KAAK,EAAE,MAAM,CAAM;IAEnC,OAAO,CAAC,OAAO,CAAC,CAAmB;;IAUnB,iBAAiB,IAAI,IAAI;cAQtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;cAIJ,MAAM,IAAI,cAAc;CAqB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
@@ -1,51 +1,45 @@
1
- var I = (i) => {
2
- throw TypeError(i);
1
+ var x = (t) => {
2
+ throw TypeError(t);
3
3
  };
4
- var O = (i, s, o) => s.has(i) || I("Cannot " + o);
5
- var g = (i, s, o) => (O(i, s, "read from private field"), o ? o.call(i) : s.get(i)), u = (i, s, o) => s.has(i) ? I("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(i) : s.set(i, o), c = (i, s, o, l) => (O(i, s, "write to private field"), l ? l.call(i, o) : s.set(i, o), o);
6
- import { __esDecorate as h, __runInitializers as b } from "tslib";
7
- import { css as $, LitElement as T, html as D, nothing as S } from "lit";
8
- import { customElement as C, property as p } from "lit/decorators.js";
9
- import { hostAttributes as j, slotState as A, forceType as E } from "../core/decorators.js";
10
- import { setOrRemoveAttribute as L } from "../core/dom.js";
11
- import { SbbIconNameMixin as B } from "../icon.js";
12
- const P = $`*,:before,:after{box-sizing:border-box}:host{--sbb-toggle-option-cursor: pointer;--sbb-toggle-option-color: var(--sbb-color-anthracite);--sbb-toggle-option-icon-min-size: var(--sbb-size-icon-ui-small);--sbb-toggle-option-border-radius: var(--sbb-border-radius-infinity);--sbb-toggle-option-line-height: calc(1em * var(--sbb-typo-line-height-body-text));display:inline-block;min-width:var(--sbb-toggle-min-width);overflow:hidden;z-index:1}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])){outline:none!important}:host([checked]){--sbb-toggle-option-color: var(--sbb-color-charcoal)}:host([disabled]){--sbb-toggle-option-cursor: unset;--sbb-toggle-option-color: var(--sbb-color-granite)}input[type=radio]{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-toggle-option{--sbb-text-font-size: var(--sbb-font-size-text-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700;cursor:var(--sbb-toggle-option-cursor);display:flex;justify-content:center;align-items:center;height:var(--sbb-toggle-height);padding-inline:var(--sbb-toggle-padding-inline);border-radius:var(--sbb-toggle-option-border-radius);color:var(--sbb-toggle-option-color)}:host([data-slot-names~=unnamed]:where([data-slot-names~=icon],[icon-name])) .sbb-toggle-option{gap:var(--sbb-spacing-fixed-1x)}.sbb-toggle-option__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])) .sbb-toggle-option__label:before{content:"";position:absolute;pointer-events:none;inset:calc(var(--sbb-focus-outline-offset) * -2);border:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);border-radius:var(--sbb-toggle-option-border-radius)}sbb-icon,::slotted(sbb-icon){min-width:var(--sbb-toggle-option-icon-min-size);min-height:var(--sbb-toggle-option-icon-min-size)}`;
13
- let J = (() => {
14
- var r, d, n;
15
- let i = [C("sbb-toggle-option"), j({
4
+ var w = (t, o, s) => o.has(t) || x("Cannot " + s);
5
+ var h = (t, o, s) => (w(t, o, "read from private field"), s ? s.call(t) : o.get(t)), g = (t, o, s) => o.has(t) ? x("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(t) : o.set(t, s), b = (t, o, s, a) => (w(t, o, "write to private field"), a ? a.call(t, s) : o.set(t, s), s);
6
+ import { __esDecorate as u, __runInitializers as d } from "tslib";
7
+ import { css as I, LitElement as E, nothing as z, html as T } from "lit";
8
+ import { customElement as $, property as S } from "lit/decorators.js";
9
+ import { hostAttributes as D, slotState as C, forceType as O } from "../core/decorators.js";
10
+ import { setOrRemoveAttribute as j } from "../core/dom.js";
11
+ import { SbbDisabledMixin as A } from "../core/mixins.js";
12
+ import { SbbIconNameMixin as L } from "../icon.js";
13
+ const M = I`*,:before,:after{box-sizing:border-box}:host{--sbb-toggle-option-cursor: pointer;--sbb-toggle-option-color: var(--sbb-color-anthracite);--sbb-toggle-option-icon-min-size: var(--sbb-size-icon-ui-small);--sbb-toggle-option-border-radius: var(--sbb-border-radius-infinity);--sbb-toggle-option-line-height: calc(1em * var(--sbb-typo-line-height-body-text));display:inline-block;min-width:var(--sbb-toggle-min-width);overflow:hidden;z-index:1}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])){outline:none!important}:host([checked]){--sbb-toggle-option-color: var(--sbb-color-charcoal)}:host([disabled]){--sbb-toggle-option-cursor: unset;--sbb-toggle-option-color: var(--sbb-color-granite)}input[type=radio]{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-toggle-option{--sbb-text-font-size: var(--sbb-font-size-text-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);font-weight:700;cursor:var(--sbb-toggle-option-cursor);display:flex;justify-content:center;align-items:center;height:var(--sbb-toggle-height);padding-inline:var(--sbb-toggle-padding-inline);border-radius:var(--sbb-toggle-option-border-radius);color:var(--sbb-toggle-option-color)}:host([data-slot-names~=unnamed]:where([data-slot-names~=icon],[icon-name])) .sbb-toggle-option{gap:var(--sbb-spacing-fixed-1x)}.sbb-toggle-option__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])) .sbb-toggle-option__label:before{content:"";position:absolute;pointer-events:none;inset:calc(var(--sbb-focus-outline-offset) * -2);border:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);border-radius:var(--sbb-toggle-option-border-radius)}sbb-icon,::slotted(sbb-icon){min-width:var(--sbb-toggle-option-icon-min-size);min-height:var(--sbb-toggle-option-icon-min-size)}`;
14
+ let K = (() => {
15
+ var r, c, n;
16
+ let t = [$("sbb-toggle-option"), D({
16
17
  role: "radio"
17
- }), A()], s, o = [], l, f = B(T), m = [], _, v = [], k = [], y, x = [], w = [], z;
18
- return n = class extends f {
18
+ }), C()], o, s = [], a, p = A(L(E)), f, m = [], v = [], _, k = [], y = [];
19
+ return n = class extends p {
19
20
  constructor() {
20
- var e, t;
21
+ var e, i;
21
22
  super();
22
- u(this, r);
23
- u(this, d);
24
- c(this, r, (b(this, m), b(this, v, !1))), c(this, d, (b(this, k), b(this, x, !1))), this._value = (b(this, w), ""), (e = this.addEventListener) == null || e.call(this, "input", () => this._handleInput()), (t = this.addEventListener) == null || t.call(this, "click", () => {
25
- var a;
26
- return (a = this.shadowRoot.querySelector("label")) == null ? void 0 : a.click();
23
+ g(this, r);
24
+ g(this, c);
25
+ b(this, r, d(this, m, !1)), b(this, c, (d(this, v), d(this, k, ""))), this._toggle = d(this, y), (e = this.addEventListener) == null || e.call(this, "input", () => this._handleInput()), (i = this.addEventListener) == null || i.call(this, "click", () => {
26
+ var l;
27
+ return (l = this.shadowRoot.querySelector("label")) == null ? void 0 : l.click();
27
28
  });
28
29
  }
29
30
  /** Whether the toggle-option is checked. */
30
31
  get checked() {
31
- return g(this, r);
32
+ return h(this, r);
32
33
  }
33
34
  set checked(e) {
34
- c(this, r, e);
35
- }
36
- /** Whether the toggle option is disabled. */
37
- get disabled() {
38
- return g(this, d);
39
- }
40
- set disabled(e) {
41
- c(this, d, e);
35
+ b(this, r, e);
42
36
  }
43
37
  /** Value of toggle-option. */
44
- set value(e) {
45
- this._value = `${e}`;
46
- }
47
38
  get value() {
48
- return this._value;
39
+ return h(this, c);
40
+ }
41
+ set value(e) {
42
+ b(this, c, e);
49
43
  }
50
44
  connectedCallback() {
51
45
  var e;
@@ -55,11 +49,11 @@ let J = (() => {
55
49
  super.willUpdate(e), e.has("checked") && (this.setAttribute("aria-checked", `${this.checked}`), this._verifyTabindex(), this.checked && this._uncheckOtherOptions()), e.has("disabled") && this._handleDisabledChange();
56
50
  }
57
51
  _uncheckOtherOptions() {
58
- var e, t;
59
- (e = this._toggle) == null || e.options.filter((a) => a !== this).forEach((a) => a.checked = !1), (t = this._toggle) == null || t.updatePillPosition(!1);
52
+ var e, i;
53
+ (e = this._toggle) == null || e.options.filter((l) => l !== this).forEach((l) => l.checked = !1), (i = this._toggle) == null || i.statusChanged();
60
54
  }
61
55
  _handleDisabledChange() {
62
- this._toggle && (this._toggle.disabled && !this.disabled ? this.disabled = !0 : !this._toggle.disabled && this.disabled && (this.disabled = !1)), L(this, "aria-disabled", this.disabled ? "true" : null), this._verifyTabindex();
56
+ j(this, "aria-disabled", this.disabled ? "true" : null), this._verifyTabindex();
63
57
  }
64
58
  _handleInput() {
65
59
  this.disabled || (this.checked = !0, this._uncheckOtherOptions());
@@ -68,7 +62,7 @@ let J = (() => {
68
62
  this.tabIndex = this.checked && !this.disabled ? 0 : -1;
69
63
  }
70
64
  render() {
71
- return D`
65
+ return T`
72
66
  <input
73
67
  type="radio"
74
68
  id="sbb-toggle-option-id"
@@ -76,8 +70,8 @@ let J = (() => {
76
70
  tabindex="-1"
77
71
  ?inert=${this.checked}
78
72
  ?disabled=${this.disabled}
79
- .checked=${this.checked || S}
80
- .value=${this.value || S}
73
+ .checked=${this.checked || z}
74
+ .value=${this.value || z}
81
75
  @click=${(e) => e.stopPropagation()}
82
76
  />
83
77
  <label class="sbb-toggle-option" for="sbb-toggle-option-id">
@@ -88,17 +82,15 @@ let J = (() => {
88
82
  </label>
89
83
  `;
90
84
  }
91
- }, r = new WeakMap(), d = new WeakMap(), l = n, (() => {
92
- const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(f[Symbol.metadata] ?? null) : void 0;
93
- _ = [E(), p({ reflect: !0, type: Boolean })], y = [E(), p({ reflect: !0, type: Boolean })], z = [p()], h(n, null, _, { kind: "accessor", name: "checked", static: !1, private: !1, access: { has: (t) => "checked" in t, get: (t) => t.checked, set: (t, a) => {
94
- t.checked = a;
95
- } }, metadata: e }, v, k), h(n, null, y, { kind: "accessor", name: "disabled", static: !1, private: !1, access: { has: (t) => "disabled" in t, get: (t) => t.disabled, set: (t, a) => {
96
- t.disabled = a;
97
- } }, metadata: e }, x, w), h(n, null, z, { kind: "setter", name: "value", static: !1, private: !1, access: { has: (t) => "value" in t, set: (t, a) => {
98
- t.value = a;
99
- } }, metadata: e }, null, m), h(null, s = { value: l }, i, { kind: "class", name: l.name, metadata: e }, null, o), l = s.value, e && Object.defineProperty(l, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
100
- })(), n.styles = P, b(l, o), l;
85
+ }, r = new WeakMap(), c = new WeakMap(), a = n, (() => {
86
+ const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(p[Symbol.metadata] ?? null) : void 0;
87
+ f = [O(), S({ reflect: !0, type: Boolean })], _ = [O(), S()], u(n, null, f, { kind: "accessor", name: "checked", static: !1, private: !1, access: { has: (i) => "checked" in i, get: (i) => i.checked, set: (i, l) => {
88
+ i.checked = l;
89
+ } }, metadata: e }, m, v), u(n, null, _, { kind: "accessor", name: "value", static: !1, private: !1, access: { has: (i) => "value" in i, get: (i) => i.value, set: (i, l) => {
90
+ i.value = l;
91
+ } }, metadata: e }, k, y), u(null, o = { value: a }, t, { kind: "class", name: a.name, metadata: e }, null, s), a = o.value, e && Object.defineProperty(a, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
92
+ })(), n.styles = M, d(a, s), a;
101
93
  })();
102
94
  export {
103
- J as SbbToggleOptionElement
95
+ K as SbbToggleOptionElement
104
96
  };
package/toggle/toggle.js CHANGED
@@ -1,143 +1,163 @@
1
- var R = (s) => {
1
+ var A = (s) => {
2
2
  throw TypeError(s);
3
3
  };
4
- var W = (s, o, l) => o.has(s) || R("Cannot " + l);
5
- var p = (s, o, l) => (W(s, o, "read from private field"), l ? l.call(s) : o.get(s)), v = (s, o, l) => o.has(s) ? R("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(s) : o.set(s, l), b = (s, o, l, n) => (W(s, o, "write to private field"), n ? n.call(s, l) : o.set(s, l), l);
6
- import { __esDecorate as u, __runInitializers as d } from "tslib";
7
- import { ResizeController as B } from "@lit-labs/observers/resize-controller.js";
8
- import { css as U, isServer as K, html as F, LitElement as G } from "lit";
9
- import { customElement as H, property as m } from "lit/decorators.js";
10
- import { interactivityChecker as N, isArrowKeyPressed as V, getNextElementIndex as J } from "../core/a11y.js";
11
- import { hostAttributes as M, forceType as $, handleDistinctChange as Q } from "../core/decorators.js";
12
- import { isLean as X } from "../core/dom.js";
13
- import { EventEmitter as Y } from "../core/eventing.js";
14
- const Z = U`*,:before,:after{box-sizing:border-box}:host{display:block;--sbb-toggle-width: fit-content;--sbb-toggle-min-width: calc( var(--sbb-toggle-padding-inline) * 2 + var(--sbb-size-icon-ui-small) );--sbb-toggle-selected-option-border-color: var(--sbb-color-smoke);--sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xxxs);--sbb-toggle-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-6x) );--sbb-toggle-height: 1.75rem;--sbb-toggle-border-width: var(--sbb-border-width-1x);--sbb-toggle-border-style: solid;--sbb-toggle-border-radius: var(--sbb-border-radius-infinity)}@media (min-width: 52.5rem){:host{--sbb-toggle-height: 2rem}}@media (forced-colors: active){:host{--sbb-toggle-selected-option-border-color: Highlight;--sbb-toggle-border-width: var(--sbb-border-width-2x)}}:host([even]){--sbb-toggle-width: 100%}:host([even]) ::slotted(sbb-toggle-option){width:50%}:host([disabled]){--sbb-toggle-selected-option-border-color: var(--sbb-color-graphite);--sbb-toggle-border-style: dashed}@media (forced-colors: active){:host([disabled]){--sbb-toggle-border-style: solid;--sbb-toggle-selected-option-border-color: GrayText}}:host([size=m]){--sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xs);--sbb-toggle-height: 2.75rem}@media (min-width: 52.5rem){:host([size=m]){--sbb-toggle-height: 3.25rem}}:host([data-disable-animation-on-resizing]){--sbb-disable-animation-duration: 0s}.sbb-toggle{--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);position:relative;display:flex;align-items:center;width:var(--sbb-toggle-width);max-width:100%;min-width:calc(var(--sbb-toggle-min-width) * 2);height:var(--sbb-toggle-height);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:var(--sbb-color-cloud);border-radius:var(--sbb-toggle-border-radius)}.sbb-toggle:after{content:"";padding-inline:var(--sbb-toggle-padding-inline);display:inline-block;opacity:1;background-color:var(--sbb-color-white);border:var(--sbb-toggle-border-width) var(--sbb-toggle-border-style) var(--sbb-toggle-selected-option-border-color);border-radius:var(--sbb-toggle-border-radius);position:absolute;max-width:100%;min-width:var(--sbb-toggle-min-width);inset-block:calc(-2 * var(--sbb-toggle-border-width));inset-inline:calc(var(--sbb-toggle-option-left) - .125rem) calc(var(--sbb-toggle-option-right) - .125rem);transition-duration:var(--sbb-toggle-animation-duration);transition-timing-function:ease;transition-property:opacity,inset-inline-end,inset-inline-start}@media (forced-colors: active){.sbb-toggle{outline:var(--sbb-toggle-border-width) solid CanvasText}}`;
4
+ var O = (s, o, r) => o.has(s) || A("Cannot " + r);
5
+ var v = (s, o, r) => (O(s, o, "read from private field"), r ? r.call(s) : o.get(s)), f = (s, o, r) => o.has(s) ? A("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(s) : o.set(s, r), h = (s, o, r, n) => (O(s, o, "write to private field"), n ? n.call(s, r) : o.set(s, r), r);
6
+ import { __esDecorate as c, __runInitializers as g } from "tslib";
7
+ import { ResizeController as L } from "@lit-labs/observers/resize-controller.js";
8
+ import { css as U, LitElement as V, isServer as P, html as W } from "lit";
9
+ import { customElement as K, property as _ } from "lit/decorators.js";
10
+ import { interactivityChecker as $, isArrowKeyPressed as j, getNextElementIndex as q } from "../core/a11y.js";
11
+ import { hostAttributes as M, forceType as B } from "../core/decorators.js";
12
+ import { isLean as G } from "../core/dom.js";
13
+ import { EventEmitter as H } from "../core/eventing.js";
14
+ import { SbbDisabledMixin as N, SbbFormAssociatedMixin as J } from "../core/mixins.js";
15
+ import "./toggle-option.js";
16
+ const Q = U`*,:before,:after{box-sizing:border-box}:host{display:block;--sbb-toggle-width: fit-content;--sbb-toggle-min-width: calc( var(--sbb-toggle-padding-inline) * 2 + var(--sbb-size-icon-ui-small) );--sbb-toggle-selected-option-border-color: var(--sbb-color-smoke);--sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xxxs);--sbb-toggle-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-6x) );--sbb-toggle-height: 1.75rem;--sbb-toggle-border-width: var(--sbb-border-width-1x);--sbb-toggle-border-style: solid;--sbb-toggle-border-radius: var(--sbb-border-radius-infinity)}@media (min-width: 52.5rem){:host{--sbb-toggle-height: 2rem}}@media (forced-colors: active){:host{--sbb-toggle-selected-option-border-color: Highlight;--sbb-toggle-border-width: var(--sbb-border-width-2x)}}:host([even]){--sbb-toggle-width: 100%}:host([even]) ::slotted(sbb-toggle-option){width:50%}:host(:disabled){--sbb-toggle-selected-option-border-color: var(--sbb-color-graphite);--sbb-toggle-border-style: dashed}@media (forced-colors: active){:host(:disabled){--sbb-toggle-border-style: solid;--sbb-toggle-selected-option-border-color: GrayText}}:host([size=m]){--sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xs);--sbb-toggle-height: 2.75rem}@media (min-width: 52.5rem){:host([size=m]){--sbb-toggle-height: 3.25rem}}:host([data-disable-animation-on-resizing]){--sbb-disable-animation-duration: 0s}.sbb-toggle{--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);position:relative;display:flex;align-items:center;width:var(--sbb-toggle-width);max-width:100%;min-width:calc(var(--sbb-toggle-min-width) * 2);height:var(--sbb-toggle-height);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:var(--sbb-color-cloud);border-radius:var(--sbb-toggle-border-radius)}.sbb-toggle:after{content:"";padding-inline:var(--sbb-toggle-padding-inline);display:inline-block;opacity:1;background-color:var(--sbb-color-white);border:var(--sbb-toggle-border-width) var(--sbb-toggle-border-style) var(--sbb-toggle-selected-option-border-color);border-radius:var(--sbb-toggle-border-radius);position:absolute;max-width:100%;min-width:var(--sbb-toggle-min-width);inset-block:calc(-2 * var(--sbb-toggle-border-width));inset-inline:calc(var(--sbb-toggle-option-left) - .125rem) calc(var(--sbb-toggle-option-right) - .125rem);transition-duration:var(--sbb-toggle-animation-duration);transition-timing-function:ease;transition-property:opacity,inset-inline-end,inset-inline-start}@media (forced-colors: active){.sbb-toggle{outline:var(--sbb-toggle-border-width) solid CanvasText}}`;
15
17
  let be = (() => {
16
- var c, g, h, r;
17
- let s = [H("sbb-toggle"), M({
18
+ var b, d, l;
19
+ let s = [K("sbb-toggle"), M({
18
20
  role: "radiogroup"
19
- })], o, l = [], n, w = G, x = [], z, k = [], E = [], P, I = [], C = [], D, S = [], T = [], O;
20
- var f = (r = class extends w {
21
+ })], o, r = [], n, y = N(J(V)), w = [], x, k = [], z = [], C, E = [], S = [], D;
22
+ var u = (l = class extends y {
21
23
  constructor() {
22
- var t, e;
24
+ var e, t;
23
25
  super();
24
- v(this, c);
25
- v(this, g);
26
- v(this, h);
27
- b(this, c, (d(this, x), d(this, k, !1))), b(this, g, (d(this, E), d(this, I, !1))), b(this, h, (d(this, C), d(this, S, X() ? "s" : "m"))), this._value = (d(this, T), null), this._loaded = !1, this._toggleResizeObserver = new B(this, {
26
+ f(this, b);
27
+ f(this, d);
28
+ h(this, b, (g(this, w), g(this, k, !1))), h(this, d, (g(this, z), g(this, E, G() ? "s" : "m"))), this._value = (g(this, S), null), this._loaded = !1, this._toggleResizeObserver = new L(this, {
28
29
  target: null,
29
30
  skipInitial: !0,
30
31
  callback: () => this.updatePillPosition(!0)
31
- }), this._change = new Y(this, f.events.change, {
32
+ }), this._change = new H(this, u.events.change, {
32
33
  bubbles: !0,
33
34
  composed: !0
34
- }), (t = this.addEventListener) == null || t.call(this, "input", () => this._handleInput(), { passive: !0 }), (e = this.addEventListener) == null || e.call(this, "keydown", (i) => this._handleKeyDown(i));
35
- }
36
- /** Whether the toggle is disabled. */
37
- get disabled() {
38
- return p(this, c);
39
- }
40
- set disabled(t) {
41
- b(this, c, t);
35
+ }), (e = this.addEventListener) == null || e.call(this, "input", () => this._handleInput(), { passive: !0 }), (t = this.addEventListener) == null || t.call(this, "keydown", (i) => this._handleKeyDown(i));
42
36
  }
43
37
  /**
44
38
  * If true, set the width of the component fixed; if false,
45
39
  * the width is dynamic based on the label of the sbb-toggle-option.
46
40
  */
47
41
  get even() {
48
- return p(this, g);
42
+ return v(this, b);
49
43
  }
50
- set even(t) {
51
- b(this, g, t);
44
+ set even(e) {
45
+ h(this, b, e);
52
46
  }
53
47
  /**
54
48
  * Size variant, either m or s.
55
49
  * @default 'm' / 's' (lean)
56
50
  */
57
51
  get size() {
58
- return p(this, h);
52
+ return v(this, d);
59
53
  }
60
- set size(t) {
61
- b(this, h, t);
54
+ set size(e) {
55
+ h(this, d, e);
62
56
  }
63
57
  /**
64
58
  * The value of the toggle. It needs to be mutable since it is updated whenever
65
59
  * a new option is selected (see the `onToggleOptionSelect()` method).
66
60
  */
67
- set value(t) {
68
- K ? this._value = t : this._valueChanged(t);
61
+ set value(e) {
62
+ P ? this._value = e : this._valueChanged(e);
69
63
  }
70
64
  get value() {
71
- var t, e;
72
- return K ? this._value ?? "" : ((t = this.options.find((i) => i.checked)) == null ? void 0 : t.value) ?? ((e = this.options[0]) == null ? void 0 : e.value) ?? "";
65
+ var e, t;
66
+ return P ? this._value ?? "" : ((e = this.options.find((i) => i.checked)) == null ? void 0 : e.value) ?? ((t = this.options[0]) == null ? void 0 : t.value) ?? "";
73
67
  }
74
68
  /** The child instances of sbb-toggle-option as an array. */
75
69
  get options() {
76
- var t;
77
- return Array.from(((t = this.querySelectorAll) == null ? void 0 : t.call(this, "sbb-toggle-option")) ?? []);
70
+ var e;
71
+ return Array.from(((e = this.querySelectorAll) == null ? void 0 : e.call(this, "sbb-toggle-option")) ?? []);
72
+ }
73
+ connectedCallback() {
74
+ super.connectedCallback(), this.options.forEach((e) => this._toggleResizeObserver.observe(e)), this._updateToggle();
75
+ }
76
+ willUpdate(e) {
77
+ super.willUpdate(e), (e.has("disabled") || e.has("formDisabled")) && this._updateDisabled();
78
78
  }
79
- /** @internal */
80
- updatePillPosition(t) {
81
- var A, L;
79
+ async firstUpdated(e) {
80
+ super.firstUpdated(e), await this.updateComplete, this._loaded = !0, this.statusChanged();
81
+ }
82
+ /**
83
+ * Called whenever the value changes, both programmatically or by user interaction.
84
+ * @internal
85
+ */
86
+ statusChanged() {
87
+ this.updateFormValue(), this.updatePillPosition();
88
+ }
89
+ /**
90
+ * Reset to the init value if present. Select the first option, otherwise.
91
+ */
92
+ formResetCallback() {
93
+ this.value = this.getAttribute("value");
94
+ }
95
+ formStateRestoreCallback(e, t) {
96
+ this.value = e;
97
+ }
98
+ /**
99
+ * @deprecated Will be made 'private' in the next major version
100
+ * @internal
101
+ */
102
+ updatePillPosition(e = !1) {
103
+ var I, T;
82
104
  if (!this._loaded)
83
105
  return;
84
- const e = this.options, i = this.shadowRoot.querySelector(".sbb-toggle");
85
- if (e.every((y) => !y.checked) || e.every((y) => !y.clientWidth) || !i)
106
+ const t = this.options, i = this.shadowRoot.querySelector(".sbb-toggle");
107
+ if (t.every((m) => !m.checked) || t.every((m) => !m.clientWidth) || !i)
86
108
  return;
87
- this.toggleAttribute("data-disable-animation-on-resizing", t);
88
- const a = e[0], _ = a.checked, j = a.checked ? "0px" : `${a.clientWidth}px`, q = _ ? `${i.clientWidth - a.clientWidth}px` : "0px";
89
- (A = this.style) == null || A.setProperty("--sbb-toggle-option-left", j), (L = this.style) == null || L.setProperty("--sbb-toggle-option-right", q);
109
+ this.toggleAttribute("data-disable-animation-on-resizing", e);
110
+ const a = t[0], p = a.checked, R = a.checked ? "0px" : `${a.clientWidth}px`, F = p ? `${i.clientWidth - a.clientWidth}px` : "0px";
111
+ (I = this.style) == null || I.setProperty("--sbb-toggle-option-left", R), (T = this.style) == null || T.setProperty("--sbb-toggle-option-right", F);
90
112
  }
91
- connectedCallback() {
92
- super.connectedCallback(), this.options.forEach((t) => this._toggleResizeObserver.observe(t)), this._updateToggle();
93
- }
94
- async firstUpdated(t) {
95
- super.firstUpdated(t), await this.updateComplete, this._loaded = !0, this.updatePillPosition(!1);
113
+ updateFormValue() {
114
+ this.internals.setFormValue(this.value);
96
115
  }
97
116
  _updateToggle() {
98
117
  this._valueChanged(this.value), this._updateDisabled();
99
118
  }
100
- _valueChanged(t) {
101
- const e = this.options, i = e.find((a) => t === ("value" in a ? a.value : a.getAttribute("value"))) ?? e.find((a) => a.checked) ?? e[0];
102
- i && (i.checked || (i.checked = !0), this.updatePillPosition(!1));
119
+ _valueChanged(e) {
120
+ const t = this.options, i = t.find((a) => e === ("value" in a ? a.value : a.getAttribute("value"))) ?? t.find((a) => a.checked) ?? t[0];
121
+ i && (i.checked || (i.checked = !0), this.statusChanged());
103
122
  }
104
123
  _updateDisabled() {
105
- for (const t of this.options)
106
- t.disabled = this.disabled;
124
+ for (const e of this.options)
125
+ e.disabled = this.disabled || this.formDisabled;
107
126
  }
127
+ /**
128
+ * Called on user interaction (click or keyboard)
129
+ */
108
130
  _handleInput() {
109
- this.updatePillPosition(!1), this._change.emit();
110
- }
111
- _handleKeyDown(t) {
112
- const e = this.options.filter((i) => !i.disabled && N.isVisible(i));
113
- if (!(!e || // don't trap nested handling
114
- t.target !== this && t.target.parentElement !== this) && V(t)) {
115
- const i = e.findIndex((_) => _.checked), a = J(t, i, e.length);
116
- e[a].checked || (e[a].checked = !0, e[a].focus(), e[a].dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 }))), t.preventDefault();
131
+ this.statusChanged(), this._change.emit();
132
+ }
133
+ _handleKeyDown(e) {
134
+ const t = this.options.filter((i) => !i.disabled && $.isVisible(i));
135
+ if (!(!t || // don't trap nested handling
136
+ e.target !== this && e.target.parentElement !== this) && j(e)) {
137
+ const i = t.findIndex((p) => p.checked), a = q(e, i, t.length);
138
+ t[a].checked || (t[a].checked = !0, t[a].focus(), t[a].dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 }))), e.preventDefault();
117
139
  }
118
140
  }
119
141
  render() {
120
- return F`
142
+ return W`
121
143
  <div class="sbb-toggle">
122
144
  <slot @slotchange=${this._updateToggle}></slot>
123
145
  </div>
124
146
  `;
125
147
  }
126
- }, c = new WeakMap(), g = new WeakMap(), h = new WeakMap(), n = r, (() => {
127
- const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(w[Symbol.metadata] ?? null) : void 0;
128
- z = [$(), Q((e) => e._updateDisabled()), m({ reflect: !0, type: Boolean })], P = [$(), m({ reflect: !0, type: Boolean })], D = [m({ reflect: !0 })], O = [m()], u(r, null, z, { kind: "accessor", name: "disabled", static: !1, private: !1, access: { has: (e) => "disabled" in e, get: (e) => e.disabled, set: (e, i) => {
129
- e.disabled = i;
130
- } }, metadata: t }, k, E), u(r, null, P, { kind: "accessor", name: "even", static: !1, private: !1, access: { has: (e) => "even" in e, get: (e) => e.even, set: (e, i) => {
131
- e.even = i;
132
- } }, metadata: t }, I, C), u(r, null, D, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (e) => "size" in e, get: (e) => e.size, set: (e, i) => {
133
- e.size = i;
134
- } }, metadata: t }, S, T), u(r, null, O, { kind: "setter", name: "value", static: !1, private: !1, access: { has: (e) => "value" in e, set: (e, i) => {
135
- e.value = i;
136
- } }, metadata: t }, null, x), u(null, o = { value: n }, s, { kind: "class", name: n.name, metadata: t }, null, l), f = n = o.value, t && Object.defineProperty(n, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
137
- })(), r.styles = Z, r.events = {
148
+ }, b = new WeakMap(), d = new WeakMap(), n = l, (() => {
149
+ const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(y[Symbol.metadata] ?? null) : void 0;
150
+ x = [B(), _({ reflect: !0, type: Boolean })], C = [_({ reflect: !0 })], D = [_()], c(l, null, x, { kind: "accessor", name: "even", static: !1, private: !1, access: { has: (t) => "even" in t, get: (t) => t.even, set: (t, i) => {
151
+ t.even = i;
152
+ } }, metadata: e }, k, z), c(l, null, C, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (t) => "size" in t, get: (t) => t.size, set: (t, i) => {
153
+ t.size = i;
154
+ } }, metadata: e }, E, S), c(l, null, D, { kind: "setter", name: "value", static: !1, private: !1, access: { has: (t) => "value" in t, set: (t, i) => {
155
+ t.value = i;
156
+ } }, metadata: e }, null, w), c(null, o = { value: n }, s, { kind: "class", name: n.name, metadata: e }, null, r), u = n = o.value, e && Object.defineProperty(n, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
157
+ })(), l.styles = Q, l.events = {
138
158
  change: "change"
139
- }, d(n, l), r);
140
- return f = n;
159
+ }, g(n, r), l);
160
+ return u = n;
141
161
  })();
142
162
  export {
143
163
  be as SbbToggleElement
package/toggle-check.js CHANGED
@@ -5,7 +5,7 @@ var I = (e, o, c) => o.has(e) || S("Cannot " + c);
5
5
  var h = (e, o, c) => (I(e, o, "read from private field"), c ? c.call(e) : o.get(e)), d = (e, o, c) => o.has(e) ? S("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(e) : o.set(e, c), k = (e, o, c, a) => (I(e, o, "write to private field"), a ? a.call(e, c) : o.set(e, c), c);
6
6
  import { __esDecorate as v, __runInitializers as r } from "tslib";
7
7
  import { css as T, LitElement as C, html as E } from "lit";
8
- import { customElement as D, property as f } from "lit/decorators.js";
8
+ import { customElement as D, property as m } from "lit/decorators.js";
9
9
  import { slotState as U, forceType as j } from "./core/decorators.js";
10
10
  import { isLean as A } from "./core/dom.js";
11
11
  import { SbbFormAssociatedCheckboxMixin as F } from "./core/mixins.js";
@@ -13,8 +13,8 @@ import { SbbIconNameMixin as G } from "./icon.js";
13
13
  const H = T`@charset "UTF-8";*,:before,:after{box-sizing:border-box}:host{display:inline-block;outline:none!important;--sbb-toggle-check-checked-color: var(--sbb-color-red);--sbb-toggle-check-background-color: var(--sbb-color-cloud);--sbb-toggle-check-icon-color: var(--sbb-toggle-check-checked-color);--sbb-toggle-check-icon-opacity: 0;--sbb-toggle-check-circle-background-color: var(--sbb-color-white);--sbb-toggle-check-circle-border-color: var(--sbb-color-smoke);--sbb-toggle-check-circle-border-style: solid;--sbb-toggle-check-circle-diameter: 1.75rem;--sbb-toggle-check-overall-height: var(--sbb-toggle-check-circle-diameter);--sbb-toggle-check-circle-transform: translate(0, -50%);--sbb-toggle-check-height: 1.5rem;--sbb-toggle-check-width: calc(2 * var(--sbb-toggle-check-height));--sbb-toggle-check-cursor: pointer;--sbb-toggle-check-flex-direction: row-reverse;--sbb-toggle-check-gap: var(--sbb-spacing-fixed-3x);--sbb-toggle-check-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-6x) )}@media (forced-colors: active){:host{--sbb-toggle-check-background-color: CanvasText;--sbb-toggle-check-circle-background-color: Canvas}}:host([size=m]){--sbb-toggle-check-overall-height: calc(1em * var(--sbb-typo-line-height-body-text))}:host([data-checked]){--sbb-toggle-check-background-color: var(--sbb-toggle-check-checked-color);--sbb-toggle-check-circle-border-color: var(--sbb-toggle-check-background-color);--sbb-toggle-check-icon-opacity: 1;--sbb-toggle-check-circle-transform: translate( calc(100% - 2 * (100% - .5 * var(--sbb-toggle-check-width))), -50% )}@media (forced-colors: active){:host([data-checked]){--sbb-toggle-check-icon-color: Highlight;--sbb-toggle-check-background-color: Highlight}}:host(:disabled){--sbb-toggle-check-background-color: var(--sbb-color-cloud);--sbb-toggle-check-circle-border-color: var(--sbb-color-smoke);--sbb-toggle-check-circle-border-style: dashed;--sbb-toggle-check-circle-background-color: var(--sbb-color-milk);--sbb-toggle-check-icon-color: var(--sbb-color-granite);--sbb-toggle-check-cursor: default}@media (forced-colors: active){:host(:disabled){--sbb-toggle-check-icon-color: GrayText;--sbb-toggle-check-background-color: GrayText;--sbb-toggle-check-circle-border-style: solid}}:host([data-checked]:disabled){--sbb-toggle-check-circle-background-color: var(--sbb-color-white)}:host([label-position=before]){--sbb-toggle-check-flex-direction: row}.sbb-toggle-check{position:relative;display:flex;color:var(--sbb-color-charcoal);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:var(--sbb-toggle-check-cursor)}.sbb-toggle-check:before{content:"​";-webkit-user-select:none;user-select:none;width:0;height:0}:host(:focus-visible:not([data-focus-origin=mouse],[data-focus-origin=touch])) .sbb-toggle-check{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);border-radius:calc(var(--sbb-border-radius-4x) - var(--sbb-focus-outline-offset))}.sbb-toggle-check__container{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);display:flex;flex-direction:var(--sbb-toggle-check-flex-direction);gap:var(--sbb-toggle-check-gap);align-items:start;width:100%}:host([size=m]) .sbb-toggle-check__container{--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size)}:host([size=xs]) .sbb-toggle-check__container{--sbb-text-font-size: var(--sbb-font-size-text-xs);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size)}.sbb-toggle-check__label{flex-grow:1;padding-block-start:calc((var(--sbb-toggle-check-circle-diameter) - var(--sbb-typo-line-height-body-text) * 1em) / 2)}:host(:not([data-slot-names~=unnamed])) .sbb-toggle-check__label{display:none}.sbb-toggle-check__track{display:inline-block;position:relative;min-width:var(--sbb-toggle-check-width);height:var(--sbb-toggle-check-height);border-radius:var(--sbb-border-radius-infinity);background-color:var(--sbb-toggle-check-background-color);margin-block:calc((var(--sbb-toggle-check-overall-height) - var(--sbb-toggle-check-height)) / 2)}.sbb-toggle-check__circle{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-elevation-level-5-hard-2-color),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-elevation-level-5-hard-1-color);position:absolute;top:50%;transform:translateY(-50%);width:var(--sbb-toggle-check-circle-diameter);height:var(--sbb-toggle-check-circle-diameter);border:var(--sbb-border-width-1x) var(--sbb-toggle-check-circle-border-style) var(--sbb-toggle-check-circle-border-color);border-radius:50%;background-color:var(--sbb-toggle-check-circle-background-color);color:var(--sbb-toggle-check-icon-color);will-change:transform;transform:var(--sbb-toggle-check-circle-transform);transition:transform ease var(--sbb-toggle-check-animation-duration)}.sbb-toggle-check__icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--sbb-size-icon-ui-small);height:var(--sbb-size-icon-ui-small);opacity:var(--sbb-toggle-check-icon-opacity);transition:opacity ease var(--sbb-toggle-check-animation-duration)}`;
14
14
  let Q = (() => {
15
15
  var i, b, n, l;
16
- let e = [D("sbb-toggle-check"), U()], o, c = [], a, m = F(G(C)), u, p = [], _ = [], y, x = [], w = [], z, N = [], P = [];
17
- return l = class extends m {
16
+ let e = [D("sbb-toggle-check"), U()], o, c = [], a, f = F(G(C)), u, p = [], _ = [], y, x = [], w = [], z, N = [], P = [];
17
+ return l = class extends f {
18
18
  constructor() {
19
19
  super(...arguments);
20
20
  d(this, i, r(this, p, A() ? "xs" : "s"));
@@ -66,8 +66,8 @@ let Q = (() => {
66
66
  `;
67
67
  }
68
68
  }, i = new WeakMap(), b = new WeakMap(), n = new WeakMap(), a = l, (() => {
69
- const s = typeof Symbol == "function" && Symbol.metadata ? Object.create(m[Symbol.metadata] ?? null) : void 0;
70
- u = [f({ reflect: !0 })], y = [j(), f({ attribute: "icon-name" })], z = [f({ attribute: "label-position", reflect: !0 })], v(l, null, u, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (t) => "size" in t, get: (t) => t.size, set: (t, g) => {
69
+ const s = typeof Symbol == "function" && Symbol.metadata ? Object.create(f[Symbol.metadata] ?? null) : void 0;
70
+ u = [m({ reflect: !0 })], y = [j(), m({ attribute: "icon-name" })], z = [m({ attribute: "label-position", reflect: !0 })], v(l, null, u, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (t) => "size" in t, get: (t) => t.size, set: (t, g) => {
71
71
  t.size = g;
72
72
  } }, metadata: s }, p, _), v(l, null, y, { kind: "accessor", name: "iconName", static: !1, private: !1, access: { has: (t) => "iconName" in t, get: (t) => t.iconName, set: (t, g) => {
73
73
  t.iconName = g;
@@ -1,13 +1,13 @@
1
1
  import { __esDecorate as i, __runInitializers as n } from "tslib";
2
- import { css as l, html as c, LitElement as d } from "lit";
2
+ import { css as l, LitElement as c, html as d } from "lit";
3
3
  import { customElement as p } from "lit/decorators.js";
4
4
  const g = l`*,:before,:after{box-sizing:border-box}:host{display:block;--sbb-train-blocked-passage-height: var(--sbb-train-formation-wagon-height);--sbb-train-blocked-passage-background-color: var(--sbb-color-red125);--sbb-train-blocked-passage-bar-color: var(--sbb-color-white);--sbb-train-blocked-passage-icon-dimension: 1rem;--sbb-train-blocked-passage-icon-bar-width: .625rem;--sbb-train-blocked-passage-icon-bar-height: .25rem;--sbb-train-blocked-passage-icon-bar-border-radius: .0625rem}@media (forced-colors: active){:host{--sbb-train-blocked-passage-background-color: CanvasText;--sbb-train-blocked-passage-bar-color: Canvas}}.sbb-train-blocked-passage:before{content:"";display:var(--sbb-train-formation-wagon-label-display, block);height:calc(var(--sbb-font-size-text-xxs) * var(--sbb-typo-line-height-body-text))}.sbb-train-blocked-passage__wrapper{width:var(--sbb-train-blocked-passage-icon-dimension);display:flex;justify-content:center;flex-direction:column;height:var(--sbb-train-blocked-passage-height)}.sbb-train-blocked-passage__icon{width:100%;height:var(--sbb-train-blocked-passage-icon-dimension);border-radius:50%;background-color:var(--sbb-train-blocked-passage-background-color);position:relative;flex-direction:column;display:flex;align-items:center}.sbb-train-blocked-passage__icon:before{content:"";width:var(--sbb-train-blocked-passage-icon-bar-width);height:var(--sbb-train-blocked-passage-icon-bar-height);border-radius:var(--sbb-train-blocked-passage-icon-bar-border-radius);background-color:var(--sbb-train-blocked-passage-bar-color);margin:auto 0}`;
5
5
  let u = (() => {
6
6
  var e;
7
- let o = [p("sbb-train-blocked-passage")], r, t = [], a, b = d;
7
+ let o = [p("sbb-train-blocked-passage")], r, t = [], a, b = c;
8
8
  return e = class extends b {
9
9
  render() {
10
- return c`
10
+ return d`
11
11
  <span class="sbb-train-blocked-passage">
12
12
  <span class="sbb-train-blocked-passage__wrapper">
13
13
  <span class="sbb-train-blocked-passage__icon"></span>
@@ -4,7 +4,7 @@ var S = (t) => {
4
4
  var L = (t, o, s) => o.has(t) || S("Cannot " + s);
5
5
  var p = (t, o, s) => (L(t, o, "read from private field"), s ? s.call(t) : o.get(t)), u = (t, o, s) => o.has(t) ? S("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(t) : o.set(t, s), f = (t, o, s, e) => (L(t, o, "write to private field"), e ? e.call(t, s) : o.set(t, s), s);
6
6
  import { __esDecorate as _, __runInitializers as m } from "tslib";
7
- import { css as $, LitElement as E, html as v, nothing as A } from "lit";
7
+ import { css as $, LitElement as E, nothing as A, html as v } from "lit";
8
8
  import { customElement as P, property as I, state as N } from "lit/decorators.js";
9
9
  import { SbbLanguageController as T } from "../core/controllers.js";
10
10
  import { i18nSectorShort as D, i18nSector as j, i18nTrains as O } from "../core/i18n.js";