@sbb-esta/lyne-elements 3.2.0 → 3.3.2

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 (83) hide show
  1. package/autocomplete/autocomplete-base-element.d.ts +3 -4
  2. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  3. package/autocomplete/autocomplete-base-element.js +88 -83
  4. package/autocomplete/autocomplete.component.d.ts +0 -1
  5. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  6. package/autocomplete/autocomplete.component.js +26 -26
  7. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -2
  8. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  9. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +34 -44
  10. package/calendar/calendar.component.d.ts +54 -8
  11. package/calendar/calendar.component.d.ts.map +1 -1
  12. package/calendar/calendar.component.js +543 -256
  13. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -2
  14. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  15. package/checkbox/checkbox-panel/checkbox-panel.component.js +36 -33
  16. package/core/i18n/i18n.d.ts +1 -0
  17. package/core/i18n/i18n.d.ts.map +1 -1
  18. package/core/i18n/i18n.js +22 -16
  19. package/core/i18n.js +79 -78
  20. package/core/mixins/element-internals-mixin.js +6 -6
  21. package/core/mixins/form-associated-mixin.d.ts.map +1 -1
  22. package/core/mixins/form-associated-mixin.js +22 -16
  23. package/core.css +7 -7
  24. package/custom-elements.json +1065 -56
  25. package/date-input/date-input.component.d.ts +5 -1
  26. package/date-input/date-input.component.d.ts.map +1 -1
  27. package/date-input/date-input.component.js +24 -15
  28. package/development/autocomplete/autocomplete-base-element.d.ts +3 -4
  29. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  30. package/development/autocomplete/autocomplete-base-element.js +30 -15
  31. package/development/autocomplete/autocomplete.component.d.ts +0 -1
  32. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  33. package/development/autocomplete/autocomplete.component.js +16 -21
  34. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -2
  35. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  36. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +26 -35
  37. package/development/calendar/calendar.component.d.ts +54 -8
  38. package/development/calendar/calendar.component.d.ts.map +1 -1
  39. package/development/calendar/calendar.component.js +496 -81
  40. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -2
  41. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  42. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +10 -4
  43. package/development/core/i18n/i18n.d.ts +1 -0
  44. package/development/core/i18n/i18n.d.ts.map +1 -1
  45. package/development/core/i18n/i18n.js +8 -1
  46. package/development/core/i18n.js +2 -1
  47. package/development/core/mixins/element-internals-mixin.js +2 -2
  48. package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
  49. package/development/core/mixins/form-associated-mixin.js +14 -7
  50. package/development/date-input/date-input.component.d.ts +5 -1
  51. package/development/date-input/date-input.component.d.ts.map +1 -1
  52. package/development/date-input/date-input.component.js +11 -1
  53. package/development/form-field/form-field/form-field.component.d.ts +6 -3
  54. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  55. package/development/form-field/form-field/form-field.component.js +1 -3
  56. package/development/header/common/header-action-common.js +4 -1
  57. package/development/icon/icon-request.js +2 -2
  58. package/development/notification/notification.component.js +1 -1
  59. package/development/option/option/option-base-element.d.ts.map +1 -1
  60. package/development/option/option/option-base-element.js +2 -1
  61. package/development/sbb-tokens-CVLcOi-S.js +1 -1
  62. package/development/time-input/time-input.component.d.ts +5 -1
  63. package/development/time-input/time-input.component.d.ts.map +1 -1
  64. package/development/time-input/time-input.component.js +11 -1
  65. package/development/toggle-check/toggle-check.component.d.ts +2 -2
  66. package/development/toggle-check/toggle-check.component.d.ts.map +1 -1
  67. package/development/toggle-check/toggle-check.component.js +4 -4
  68. package/form-field/form-field/form-field.component.d.ts +6 -3
  69. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  70. package/form-field/form-field/form-field.component.js +0 -2
  71. package/header/common/header-action-common.js +1 -1
  72. package/icon/icon-request.js +3 -3
  73. package/notification/notification.component.js +1 -1
  74. package/option/option/option-base-element.d.ts.map +1 -1
  75. package/option/option/option-base-element.js +18 -18
  76. package/package.json +1 -1
  77. package/standard-theme.css +7 -7
  78. package/time-input/time-input.component.d.ts +5 -1
  79. package/time-input/time-input.component.d.ts.map +1 -1
  80. package/time-input/time-input.component.js +24 -16
  81. package/toggle-check/toggle-check.component.d.ts +2 -2
  82. package/toggle-check/toggle-check.component.d.ts.map +1 -1
  83. package/toggle-check/toggle-check.component.js +28 -28
@@ -1,21 +1,22 @@
1
- import { __esDecorate as c, __runInitializers as h } from "tslib";
1
+ import { __esDecorate as h, __runInitializers as c } from "tslib";
2
2
  import { css as f, LitElement as p, isServer as v } from "lit";
3
3
  import { customElement as g, property as b } from "lit/decorators.js";
4
4
  import { sbbLiveAnnouncer as m } from "../core/a11y.js";
5
5
  import { SbbLanguageController as A } from "../core/controllers.js";
6
- import { i18nTimeInputChange as T, i18nTimeInvalid as y, i18nTimeMax as D, i18nTimeMaxLength as E } from "../core/i18n.js";
7
- import { SbbFormAssociatedInputMixin as V } from "../core/mixins.js";
8
- const w = f`*,:before,:after{box-sizing:border-box}:host{display:inline-flex;min-width:var(--sbb-time-input-max-width);max-width:var(--sbb-time-input-max-width);cursor:text;align-items:center}@media (forced-colors: active){:host{color:FieldText}}:host(:disabled){cursor:default}:host(:focus){text-overflow:initial!important}:host(:empty):after{content:attr(placeholder);color:var(--sbb-color-metal);-webkit-text-fill-color:var(--sbb-color-metal);opacity:1}@media (forced-colors: active){:host(:empty):after{color:GrayText}}`, x = /[0-9.:,\-;_hH]/, d = /[^0-9.:,\-;_hH]/g, S = /^([0-9]{1,2})([0-9]{2})$/, C = /^([0-9]{1,2})?[.:,\-;_hH]?([0-9]{1,2})?$/;
9
- let M = (() => {
6
+ import { i18nTimeInputChange as T, i18nTimeInvalid as y, i18nTimeMax as E, i18nTimeMaxLength as D } from "../core/i18n.js";
7
+ import { SbbFormAssociatedInputMixin as w } from "../core/mixins.js";
8
+ import { SbbFormFieldControlEvent as V } from "../form-field.js";
9
+ const S = f`*,:before,:after{box-sizing:border-box}:host{display:inline-flex;min-width:var(--sbb-time-input-max-width);max-width:var(--sbb-time-input-max-width);cursor:text;align-items:center}@media (forced-colors: active){:host{color:FieldText}}:host(:disabled){cursor:default}:host(:focus){text-overflow:initial!important}:host(:empty):after{content:attr(placeholder);color:var(--sbb-color-metal);-webkit-text-fill-color:var(--sbb-color-metal);opacity:1}@media (forced-colors: active){:host(:empty):after{color:GrayText}}`, x = /[0-9.:,\-;_hH]/, d = /[^0-9.:,\-;_hH]/g, C = /^([0-9]{1,2})([0-9]{2})$/, F = /^([0-9]{1,2})?[.:,\-;_hH]?([0-9]{1,2})?$/;
10
+ let G = (() => {
10
11
  var a;
11
- let _ = [g("sbb-time-input")], r, l = [], s, n = V(p), u = [], o;
12
+ let _ = [g("sbb-time-input")], r, l = [], s, n = w(p), o = [], u;
12
13
  return a = class extends n {
13
14
  /**
14
15
  * The value of the time input. Reflects the current text value
15
16
  * of this input.
16
17
  */
17
18
  set value(e) {
18
- e = typeof e == "string" ? e.replace(d, "").substring(0, 5) : "", this._tryParseValue(e), !v && !this.matches(":focus") && this.valueAsDate !== null && (e = this._formatTime()), super.value = e;
19
+ e = typeof e == "string" ? e.replace(d, "").substring(0, 5) : "", this._tryParseValue(e), !v && !this.matches(":focus") && this.valueAsDate !== null && (e = this._formatTime()), super.value = e, this._dispatchFormFieldChange();
19
20
  }
20
21
  get value() {
21
22
  return super.value ?? "";
@@ -39,11 +40,15 @@ let M = (() => {
39
40
  } else
40
41
  return null;
41
42
  }
43
+ /** Whether the input is empty. */
44
+ get empty() {
45
+ return !this.value || this.value.trim() === "";
46
+ }
42
47
  constructor() {
43
- super(), this._valueAsTime = h(this, u), this._language = new A(this), this.addEventListener?.("change", () => this._updateValueDateFormat(), { capture: !0 }), this.addEventListener?.("change", () => m.announce(T(this.value)[this._language.current])), this.addEventListener?.("keydown", (e) => this._preventCharInsert(e));
48
+ super(), this._valueAsTime = c(this, o), this._language = new A(this), this.addEventListener?.("change", () => this._updateValueDateFormat(), { capture: !0 }), this.addEventListener?.("change", () => m.announce(T(this.value)[this._language.current])), this.addEventListener?.("keydown", (e) => this._preventCharInsert(e));
44
49
  }
45
50
  connectedCallback() {
46
- super.connectedCallback(), this.inputMode ||= "numeric", this.placeholder ||= "HH:MM";
51
+ super.connectedCallback(), this.inputMode ||= "numeric", this.placeholder ||= "HH:MM", this._dispatchFormFieldChange();
47
52
  }
48
53
  disconnectedCallback() {
49
54
  super.disconnectedCallback();
@@ -61,7 +66,7 @@ let M = (() => {
61
66
  const t = e?.trim();
62
67
  if (!t)
63
68
  return null;
64
- const i = t.match(S) ?? t.match(C);
69
+ const i = t.match(C) ?? t.match(F);
65
70
  return i ? { hours: +i[1] || 0, minutes: +i[2] || 0 } : null;
66
71
  }
67
72
  _updateValueDateFormat() {
@@ -84,7 +89,7 @@ let M = (() => {
84
89
  return super.shouldValidate(e) || ["valueAsDate", "min", "max", "dateFilter"].includes(e);
85
90
  }
86
91
  validate() {
87
- super.validate(), this.value ? this._valueAsTime ? this._isTimeValid(this._valueAsTime) ? this._removeValidityErrors() : this.setValidityFlag("rangeOverflow", D[this.language.current]) : this.setValidityFlag("badInput", y[this.language.current]) : this._removeValidityErrors();
92
+ super.validate(), this.value ? this._valueAsTime ? this._isTimeValid(this._valueAsTime) ? this._removeValidityErrors() : this.setValidityFlag("rangeOverflow", E[this.language.current]) : this.setValidityFlag("badInput", y[this.language.current]) : this._removeValidityErrors();
88
93
  }
89
94
  _removeValidityErrors() {
90
95
  ["badInput", "rangeOverflow"].forEach((e) => this.removeValidityFlag(e));
@@ -109,19 +114,22 @@ let M = (() => {
109
114
  "PageDown",
110
115
  "Delete"
111
116
  ];
112
- e.ctrlKey || e.altKey || e.metaKey || t.includes(e.key) || x.test(e.key) && (this.value.length < 5 || this._hasSelection()) || (e.preventDefault(), this.value.length >= 5 && m.announce(E[this._language.current]));
117
+ e.ctrlKey || e.altKey || e.metaKey || t.includes(e.key) || x.test(e.key) && (this.value.length < 5 || this._hasSelection()) || (e.preventDefault(), this.value.length >= 5 && m.announce(D[this._language.current]));
113
118
  }
114
119
  _hasSelection() {
115
120
  const e = window.getSelection()?.getRangeAt(0);
116
121
  return !!e && e.startOffset !== e.endOffset;
117
122
  }
123
+ _dispatchFormFieldChange() {
124
+ this.closest?.("sbb-form-field")?.dispatchEvent(new V(this));
125
+ }
118
126
  }, s = a, (() => {
119
127
  const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(n[Symbol.metadata] ?? null) : void 0;
120
- o = [b({ attribute: !1 })], c(a, null, o, { kind: "setter", name: "valueAsDate", static: !1, private: !1, access: { has: (t) => "valueAsDate" in t, set: (t, i) => {
128
+ u = [b({ attribute: !1 })], h(a, null, u, { kind: "setter", name: "valueAsDate", static: !1, private: !1, access: { has: (t) => "valueAsDate" in t, set: (t, i) => {
121
129
  t.valueAsDate = i;
122
- } }, metadata: e }, null, u), c(null, r = { value: s }, _, { kind: "class", name: s.name, metadata: e }, null, l), s = r.value, e && Object.defineProperty(s, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
123
- })(), a.styles = w, h(s, l), s;
130
+ } }, metadata: e }, null, o), h(null, r = { value: s }, _, { kind: "class", name: s.name, metadata: e }, null, l), s = r.value, e && Object.defineProperty(s, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
131
+ })(), a.styles = S, c(s, l), s;
124
132
  })();
125
133
  export {
126
- M as SbbTimeInputElement
134
+ G as SbbTimeInputElement
127
135
  };
@@ -1,4 +1,4 @@
1
- import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit';
1
+ import { CSSResultGroup, PropertyDeclaration, TemplateResult, LitElement } from 'lit';
2
2
  declare const SbbToggleCheckElement_base: import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbFormAssociatedCheckboxMixinType> & import('../core/mixins.js').AbstractConstructor<import('../icon.js').SbbIconNameMixinType> & typeof LitElement;
3
3
  /**
4
4
  * It displays a toggle checkbox.
@@ -22,7 +22,7 @@ export declare class SbbToggleCheckElement<T = string> extends SbbToggleCheckEle
22
22
  accessor iconName: string;
23
23
  /** The label position relative to the toggle. Defaults to 'after' */
24
24
  accessor labelPosition: 'before' | 'after';
25
- protected willUpdate(changedProperties: PropertyValues<this>): void;
25
+ requestUpdate(name?: PropertyKey, oldValue?: unknown, options?: PropertyDeclaration): void;
26
26
  protected render(): TemplateResult;
27
27
  }
28
28
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-check.component.d.ts","sourceRoot":"","sources":["../../../src/elements/toggle-check/toggle-check.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;;AAUvC;;;;;;;;GAQG;AACH,qBAGM,qBAAqB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,0BAE/C;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,iCAAiC;IACjC,SACgB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAQ;IAEvC;;;OAGG;IACH,SAA6C,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAyB;IAE5F,gEAAgE;IAChE,SAEyB,QAAQ,EAAE,MAAM,CAAgB;IAEzD,qEAAqE;IACrE,SACgB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAW;cAEzC,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cASzD,MAAM,IAAI,cAAc;CAgB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
1
+ {"version":3,"file":"toggle-check.component.d.ts","sourceRoot":"","sources":["../../../src/elements/toggle-check/toggle-check.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC/E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;;AAUvC;;;;;;;;GAQG;AACH,qBAGM,qBAAqB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,0BAE/C;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,iCAAiC;IACjC,SACgB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAQ;IAEvC;;;OAGG;IACH,SAA6C,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAyB;IAE5F,gEAAgE;IAChE,SAEyB,QAAQ,EAAE,MAAM,CAAgB;IAEzD,qEAAqE;IACrE,SACgB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAW;IAE5C,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI;cASY,MAAM,IAAI,cAAc;CAgB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
@@ -3,25 +3,25 @@ var E = (o) => {
3
3
  };
4
4
  var D = (o, s, c) => s.has(o) || E("Cannot " + c);
5
5
  var d = (o, s, c) => (D(o, s, "read from private field"), c ? c.call(o) : s.get(o)), k = (o, s, c) => s.has(o) ? E("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(o) : s.set(o, c), v = (o, s, c, l) => (D(o, s, "write to private field"), l ? l.call(o, c) : s.set(o, c), c);
6
- import { __esDecorate as u, __runInitializers as r } from "tslib";
7
- import { css as U, LitElement as j, html as A } from "lit";
8
- import { customElement as F, property as m } from "lit/decorators.js";
9
- import { slotState as G, forceType as H } from "../core/decorators.js";
10
- import { isLean as L } from "../core/dom.js";
11
- import { SbbFormAssociatedCheckboxMixin as M } from "../core/mixins.js";
12
- import { SbbIconNameMixin as O } from "../icon.js";
13
- const $ = U`@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) .sbb-toggle-check{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, 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)}`;
6
+ import { __esDecorate as u, __runInitializers as i } from "tslib";
7
+ import { css as U, LitElement as j, html as q } from "lit";
8
+ import { customElement as A, property as f } from "lit/decorators.js";
9
+ import { slotState as F, forceType as G } from "../core/decorators.js";
10
+ import { isLean as H } from "../core/dom.js";
11
+ import { SbbFormAssociatedCheckboxMixin as L } from "../core/mixins.js";
12
+ import { SbbIconNameMixin as M } from "../icon.js";
13
+ const O = U`@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) .sbb-toggle-check{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, 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 X = (() => {
15
15
  var b, n, g, h, a;
16
- let o = [F("sbb-toggle-check"), G()], s, c = [], l, f = M(O(j)), p, _ = [], y = [], x, w = [], z = [], N, P = [], S = [], I, T = [], C = [];
17
- return a = class extends f {
16
+ let o = [A("sbb-toggle-check"), F()], s, c = [], l, m = L(M(j)), p, _ = [], y = [], x, w = [], z = [], N, P = [], S = [], I, T = [], C = [];
17
+ return a = class extends m {
18
18
  constructor() {
19
19
  super(...arguments);
20
- k(this, b, r(this, _, null));
21
- k(this, n, (r(this, y), r(this, w, L() ? "xs" : "s")));
22
- k(this, g, (r(this, z), r(this, P, "tick-small")));
23
- k(this, h, (r(this, S), r(this, T, "after")));
24
- r(this, C);
20
+ k(this, b, i(this, _, null));
21
+ k(this, n, (i(this, y), i(this, w, H() ? "xs" : "s")));
22
+ k(this, g, (i(this, z), i(this, P, "tick-small")));
23
+ k(this, h, (i(this, S), i(this, T, "after")));
24
+ i(this, C);
25
25
  }
26
26
  /** Value of the form element. */
27
27
  get value() {
@@ -54,11 +54,11 @@ let X = (() => {
54
54
  set labelPosition(t) {
55
55
  v(this, h, t);
56
56
  }
57
- willUpdate(t) {
58
- super.willUpdate(t), t.has("checked") && (this.internals.ariaChecked = `${this.checked}`, this.toggleAttribute("data-checked", this.checked));
57
+ requestUpdate(t, e, r) {
58
+ super.requestUpdate(t, e, r), t === "checked" && (this.internals.ariaChecked = `${this.checked}`, this.toggleAttribute("data-checked", this.checked));
59
59
  }
60
60
  render() {
61
- return A`
61
+ return q`
62
62
  <span class="sbb-toggle-check">
63
63
  <span class="sbb-toggle-check__container">
64
64
  <span class="sbb-toggle-check__label">
@@ -74,17 +74,17 @@ let X = (() => {
74
74
  `;
75
75
  }
76
76
  }, b = new WeakMap(), n = new WeakMap(), g = new WeakMap(), h = new WeakMap(), l = a, (() => {
77
- const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(f[Symbol.metadata] ?? null) : void 0;
78
- p = [m()], x = [m({ reflect: !0 })], N = [H(), m({ attribute: "icon-name" })], I = [m({ attribute: "label-position", reflect: !0 })], u(a, null, p, { kind: "accessor", name: "value", static: !1, private: !1, access: { has: (e) => "value" in e, get: (e) => e.value, set: (e, i) => {
79
- e.value = i;
80
- } }, metadata: t }, _, y), u(a, null, x, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (e) => "size" in e, get: (e) => e.size, set: (e, i) => {
81
- e.size = i;
82
- } }, metadata: t }, w, z), u(a, null, N, { kind: "accessor", name: "iconName", static: !1, private: !1, access: { has: (e) => "iconName" in e, get: (e) => e.iconName, set: (e, i) => {
83
- e.iconName = i;
84
- } }, metadata: t }, P, S), u(a, null, I, { kind: "accessor", name: "labelPosition", static: !1, private: !1, access: { has: (e) => "labelPosition" in e, get: (e) => e.labelPosition, set: (e, i) => {
85
- e.labelPosition = i;
77
+ const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(m[Symbol.metadata] ?? null) : void 0;
78
+ p = [f()], x = [f({ reflect: !0 })], N = [G(), f({ attribute: "icon-name" })], I = [f({ attribute: "label-position", reflect: !0 })], u(a, null, p, { kind: "accessor", name: "value", static: !1, private: !1, access: { has: (e) => "value" in e, get: (e) => e.value, set: (e, r) => {
79
+ e.value = r;
80
+ } }, metadata: t }, _, y), u(a, null, x, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (e) => "size" in e, get: (e) => e.size, set: (e, r) => {
81
+ e.size = r;
82
+ } }, metadata: t }, w, z), u(a, null, N, { kind: "accessor", name: "iconName", static: !1, private: !1, access: { has: (e) => "iconName" in e, get: (e) => e.iconName, set: (e, r) => {
83
+ e.iconName = r;
84
+ } }, metadata: t }, P, S), u(a, null, I, { kind: "accessor", name: "labelPosition", static: !1, private: !1, access: { has: (e) => "labelPosition" in e, get: (e) => e.labelPosition, set: (e, r) => {
85
+ e.labelPosition = r;
86
86
  } }, metadata: t }, T, C), u(null, s = { value: l }, o, { kind: "class", name: l.name, metadata: t }, null, c), l = s.value, t && Object.defineProperty(l, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
87
- })(), a.styles = $, r(l, c), l;
87
+ })(), a.styles = O, i(l, c), l;
88
88
  })();
89
89
  export {
90
90
  X as SbbToggleCheckElement