@sbb-esta/lyne-elements 2.7.0 → 2.8.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 (75) hide show
  1. package/breadcrumb/breadcrumb/breadcrumb.d.ts +0 -2
  2. package/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
  3. package/breadcrumb/breadcrumb/breadcrumb.js +21 -44
  4. package/core/controllers/{id-observer-controller.d.ts → id-reference-controller.d.ts} +1 -1
  5. package/core/controllers/id-reference-controller.d.ts.map +1 -0
  6. package/core/controllers/slot-state-controller.d.ts +2 -0
  7. package/core/controllers/slot-state-controller.d.ts.map +1 -1
  8. package/core/controllers/slot-state-controller.js +30 -19
  9. package/core/controllers.d.ts +1 -1
  10. package/core/controllers.d.ts.map +1 -1
  11. package/core/controllers.js +1 -1
  12. package/core/styles/core.scss +21 -1
  13. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +2 -0
  14. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +5 -1
  15. package/core.css +17 -2
  16. package/custom-elements.json +465 -64
  17. package/date-input/date-input.js +5 -5
  18. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts +0 -2
  19. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
  20. package/development/breadcrumb/breadcrumb/breadcrumb.js +11 -38
  21. package/development/core/controllers/{id-observer-controller.d.ts → id-reference-controller.d.ts} +1 -1
  22. package/development/core/controllers/id-reference-controller.d.ts.map +1 -0
  23. package/development/core/controllers/id-reference-controller.js +84 -0
  24. package/development/core/controllers/slot-state-controller.d.ts +2 -0
  25. package/development/core/controllers/slot-state-controller.d.ts.map +1 -1
  26. package/development/core/controllers/slot-state-controller.js +24 -4
  27. package/development/core/controllers.d.ts +1 -1
  28. package/development/core/controllers.d.ts.map +1 -1
  29. package/development/core/controllers.js +1 -1
  30. package/development/date-input/date-input.js +3 -2
  31. package/development/form-field/form-field/form-field.js +3 -2
  32. package/development/icon/icon-base.js +5 -1
  33. package/development/option/option/option-base-element.d.ts.map +1 -1
  34. package/development/option/option/option-base-element.js +8 -4
  35. package/development/paginator/common/paginator-common.d.ts +11 -1
  36. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  37. package/development/paginator/common/paginator-common.js +37 -9
  38. package/development/paginator/paginator/paginator.js +2 -2
  39. package/development/sbb-tokens-CVLcOi-S.js +1 -1
  40. package/development/table/table-wrapper/table-wrapper.d.ts +7 -4
  41. package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  42. package/development/table/table-wrapper/table-wrapper.js +80 -69
  43. package/development/teaser-hero/teaser-hero.d.ts.map +1 -1
  44. package/development/teaser-hero/teaser-hero.js +15 -11
  45. package/development/toggle/toggle/toggle.d.ts +0 -1
  46. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  47. package/development/toggle/toggle/toggle.js +51 -47
  48. package/development/toggle/toggle-option/toggle-option.d.ts +2 -1
  49. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  50. package/development/toggle/toggle-option/toggle-option.js +15 -29
  51. package/form-field/form-field/form-field.js +1 -1
  52. package/icon/icon-base.js +21 -21
  53. package/option/option/option-base-element.d.ts.map +1 -1
  54. package/option/option/option-base-element.js +9 -14
  55. package/package.json +1 -1
  56. package/paginator/common/paginator-common.d.ts +11 -1
  57. package/paginator/common/paginator-common.d.ts.map +1 -1
  58. package/paginator/common/paginator-common.js +61 -31
  59. package/paginator/paginator/paginator.js +3 -3
  60. package/standard-theme.css +17 -2
  61. package/table/table-wrapper/table-wrapper.d.ts +7 -4
  62. package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  63. package/table/table-wrapper/table-wrapper.js +53 -31
  64. package/teaser-hero/teaser-hero.d.ts.map +1 -1
  65. package/teaser-hero/teaser-hero.js +25 -25
  66. package/toggle/toggle/toggle.d.ts +0 -1
  67. package/toggle/toggle/toggle.d.ts.map +1 -1
  68. package/toggle/toggle/toggle.js +43 -48
  69. package/toggle/toggle-option/toggle-option.d.ts +2 -1
  70. package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  71. package/toggle/toggle-option/toggle-option.js +40 -30
  72. package/core/controllers/id-observer-controller.d.ts.map +0 -1
  73. package/development/core/controllers/id-observer-controller.d.ts.map +0 -1
  74. package/development/core/controllers/id-observer-controller.js +0 -84
  75. /package/core/controllers/{id-observer-controller.js → id-reference-controller.js} +0 -0
@@ -1,19 +1,19 @@
1
1
  var m = (e) => {
2
2
  throw TypeError(e);
3
3
  };
4
- var g = (e, t, a) => t.has(e) || m("Cannot " + a);
5
- var d = (e, t, a) => (g(e, t, "read from private field"), a ? a.call(e) : t.get(e)), v = (e, t, a) => t.has(e) ? m("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, a), u = (e, t, a, n) => (g(e, t, "write to private field"), n ? n.call(e, a) : t.set(e, a), a);
4
+ var d = (e, t, a) => t.has(e) || m("Cannot " + a);
5
+ var g = (e, t, a) => (d(e, t, "read from private field"), a ? a.call(e) : t.get(e)), v = (e, t, a) => t.has(e) ? m("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, a), u = (e, t, a, n) => (d(e, t, "write to private field"), n ? n.call(e, a) : t.set(e, a), a);
6
6
  import { __esDecorate as f, __runInitializers as r } from "tslib";
7
- import { css as y, nothing as x } from "lit";
8
- import { customElement as C, property as w } from "lit/decorators.js";
9
- import { html as _ } from "lit/static-html.js";
10
- import { SbbLinkBaseElement as z } from "../core/base-elements.js";
11
- import { slotState as S, forceType as E, omitEmptyConverter as T } from "../core/decorators.js";
7
+ import { css as k } from "lit";
8
+ import { customElement as y, property as x } from "lit/decorators.js";
9
+ import { html as C } from "lit/static-html.js";
10
+ import { SbbLinkBaseElement as w } from "../core/base-elements.js";
11
+ import { slotState as z, forceType as S, omitEmptyConverter as E } from "../core/decorators.js";
12
12
  import "../link/block-link-static.js";
13
- const j = y`*,:before,:after{box-sizing:border-box}:host{display:block;outline:none!important;--sbb-panel-width: 13.9375rem;--sbb-panel-inner-height: 10.4375rem;--sbb-panel-triangle-height: 2.0625rem;--sbb-panel-height: calc(var(--sbb-panel-inner-height) + 2 * var(--sbb-panel-triangle-height));--sbb-panel-line-height: var(--sbb-typo-line-height-titles);--sbb-panel-font-size: var(--sbb-typo-scale-1-5x);--sbb-panel-color: var(--sbb-color-white);--sbb-panel-background-color: var(--sbb-color-red-alpha-90);--sbb-panel-background-color-hover: var(--sbb-color-red);--sbb-panel-padding-inline: var(--sbb-spacing-responsive-m);--sbb-panel-gap: var(--sbb-spacing-responsive-xs);--sbb-panel-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-panel-animation-easing: var(--sbb-animation-easing)}@media (min-width: 52.5rem){:host{--sbb-panel-width: 20.0625rem;--sbb-panel-inner-height: 15.006875rem;--sbb-panel-triangle-height: 2.965625rem;--sbb-panel-font-size: var(--sbb-typo-scale-2x)}}@media (min-width: 64rem){:host{--sbb-panel-width: 26.75rem;--sbb-panel-inner-height: 20.02375rem;--sbb-panel-triangle-height: 3.956875rem;--sbb-panel-font-size: var(--sbb-typo-scale-2-5x);--sbb-panel-line-height: 1.2}}@media (any-hover: hover){:host(:hover){--sbb-panel-background-color: var(--sbb-panel-background-color-hover)}}::slotted([slot=image]){width:100%}.sbb-teaser-hero{position:relative;display:flex;min-height:var(--sbb-panel-height);text-decoration:none}.sbb-teaser-hero:focus-visible{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width)}.sbb-teaser-hero__panel{z-index:1;position:relative;display:flex;flex-direction:column;justify-content:center;gap:var(--sbb-panel-gap);width:var(--sbb-panel-width);height:var(--sbb-panel-height);padding-block:var(--sbb-panel-triangle-height);padding-inline:var(--sbb-panel-padding-inline);clip-path:polygon(0 0,100% var(--sbb-panel-triangle-height),100% calc(100% - var(--sbb-panel-triangle-height)),0% 100%);background-color:var(--sbb-panel-background-color);transition:background var(--sbb-panel-animation-duration) var(--sbb-panel-animation-easing)}@media (any-hover: hover){.sbb-teaser-hero__panel:hover{--sbb-panel-background-color: var(--sbb-panel-background-color-hover)}}.sbb-teaser-hero__panel{position:absolute;top:50%;transform:translateY(-50%)}:host(:not([data-slot-names~=unnamed],[data-slot-names~=link-content],[link-content])) .sbb-teaser-hero__panel{display:none}.sbb-teaser-hero__panel-text{font-family:var(--sbb-typo-font-family);font-size:var(--sbb-panel-font-size);font-weight:300;line-height:var(--sbb-panel-line-height);letter-spacing:var(--sbb-typo-letter-spacing-titles);color:var(--sbb-panel-color);-webkit-hyphens:auto;hyphens:auto;display:inline;margin:0;padding:0}`;
14
- let P = (() => {
13
+ const T = k`*,:before,:after{box-sizing:border-box}:host{display:block;outline:none!important;--sbb-panel-width: 13.9375rem;--sbb-panel-inner-height: 10.4375rem;--sbb-panel-triangle-height: 2.0625rem;--sbb-panel-height: calc(var(--sbb-panel-inner-height) + 2 * var(--sbb-panel-triangle-height));--sbb-panel-line-height: var(--sbb-typo-line-height-titles);--sbb-panel-font-size: var(--sbb-typo-scale-1-5x);--sbb-panel-color: var(--sbb-color-white);--sbb-panel-background-color: var(--sbb-color-red-alpha-90);--sbb-panel-background-color-hover: var(--sbb-color-red);--sbb-panel-padding-inline: var(--sbb-spacing-responsive-m);--sbb-panel-gap: var(--sbb-spacing-responsive-xs);--sbb-panel-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-panel-animation-easing: var(--sbb-animation-easing)}@media (min-width: 52.5rem){:host{--sbb-panel-width: 20.0625rem;--sbb-panel-inner-height: 15.006875rem;--sbb-panel-triangle-height: 2.965625rem;--sbb-panel-font-size: var(--sbb-typo-scale-2x)}}@media (min-width: 64rem){:host{--sbb-panel-width: 26.75rem;--sbb-panel-inner-height: 20.02375rem;--sbb-panel-triangle-height: 3.956875rem;--sbb-panel-font-size: var(--sbb-typo-scale-2-5x);--sbb-panel-line-height: 1.2}}@media (any-hover: hover){:host(:hover){--sbb-panel-background-color: var(--sbb-panel-background-color-hover)}}::slotted([slot=image]){width:100%}.sbb-teaser-hero{position:relative;display:flex;min-height:var(--sbb-panel-height);text-decoration:none}.sbb-teaser-hero:focus-visible{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width)}.sbb-teaser-hero__panel{z-index:1;position:relative;display:flex;flex-direction:column;justify-content:center;gap:var(--sbb-panel-gap);width:var(--sbb-panel-width);height:var(--sbb-panel-height);padding-block:var(--sbb-panel-triangle-height);padding-inline:var(--sbb-panel-padding-inline);clip-path:polygon(0 0,100% var(--sbb-panel-triangle-height),100% calc(100% - var(--sbb-panel-triangle-height)),0% 100%);background-color:var(--sbb-panel-background-color);transition:background var(--sbb-panel-animation-duration) var(--sbb-panel-animation-easing)}@media (any-hover: hover){.sbb-teaser-hero__panel:hover{--sbb-panel-background-color: var(--sbb-panel-background-color-hover)}}.sbb-teaser-hero__panel{position:absolute;top:50%;transform:translateY(-50%)}:host(:not([data-slot-names~=unnamed],[data-slot-names~=link-content],[link-content])) .sbb-teaser-hero__panel{display:none}.sbb-teaser-hero__panel-text{font-family:var(--sbb-typo-font-family);font-size:var(--sbb-panel-font-size);font-weight:300;line-height:var(--sbb-panel-line-height);letter-spacing:var(--sbb-typo-letter-spacing-titles);color:var(--sbb-panel-color);-webkit-hyphens:auto;hyphens:auto;display:inline;margin:0;padding:0}:host(:not([href])) .sbb-teaser-hero__panel-link{display:none}`;
14
+ let L = (() => {
15
15
  var o, s;
16
- let e = [C("sbb-teaser-hero"), S()], t, a = [], n, b = z, p, h = [], c = [];
16
+ let e = [y("sbb-teaser-hero"), z()], t, a = [], n, b = w, p, h = [], c = [];
17
17
  return s = class extends b {
18
18
  constructor() {
19
19
  super(...arguments);
@@ -22,7 +22,7 @@ let P = (() => {
22
22
  }
23
23
  /** Panel link text. */
24
24
  get linkContent() {
25
- return d(this, o);
25
+ return g(this, o);
26
26
  }
27
27
  set linkContent(i) {
28
28
  u(this, o, i);
@@ -31,31 +31,31 @@ let P = (() => {
31
31
  Array.from(this.querySelectorAll("sbb-chip-label")).forEach((i) => i.color = "charcoal");
32
32
  }
33
33
  renderTemplate() {
34
- return _`
34
+ return C`
35
35
  <span class="sbb-teaser-hero__panel">
36
36
  <p class="sbb-teaser-hero__panel-text">
37
37
  <slot></slot>
38
38
  </p>
39
- ${this.href ? _`<sbb-block-link-static
40
- class="sbb-teaser-hero__panel-link"
41
- icon-name="chevron-small-right-small"
42
- icon-placement="end"
43
- size="m"
44
- negative
45
- >
46
- <slot name="link-content">${this.linkContent}</slot>
47
- </sbb-block-link-static>` : x}
39
+ <sbb-block-link-static
40
+ class="sbb-teaser-hero__panel-link"
41
+ icon-name="chevron-small-right-small"
42
+ icon-placement="end"
43
+ size="m"
44
+ negative
45
+ >
46
+ <slot name="link-content">${this.linkContent}</slot>
47
+ </sbb-block-link-static>
48
48
  </span>
49
49
  <slot name="image" @slotchange=${this._imageSlotChanged}></slot>
50
50
  `;
51
51
  }
52
52
  }, o = new WeakMap(), n = s, (() => {
53
53
  const i = typeof Symbol == "function" && Symbol.metadata ? Object.create(b[Symbol.metadata] ?? null) : void 0;
54
- p = [E(), w({ attribute: "link-content", reflect: !0, converter: T })], f(s, null, p, { kind: "accessor", name: "linkContent", static: !1, private: !1, access: { has: (l) => "linkContent" in l, get: (l) => l.linkContent, set: (l, k) => {
55
- l.linkContent = k;
54
+ p = [S(), x({ attribute: "link-content", reflect: !0, converter: E })], f(s, null, p, { kind: "accessor", name: "linkContent", static: !1, private: !1, access: { has: (l) => "linkContent" in l, get: (l) => l.linkContent, set: (l, _) => {
55
+ l.linkContent = _;
56
56
  } }, metadata: i }, h, c), f(null, t = { value: n }, e, { kind: "class", name: n.name, metadata: i }, null, a), n = t.value, i && Object.defineProperty(n, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: i });
57
- })(), s.styles = j, r(n, a), n;
57
+ })(), s.styles = T, r(n, a), n;
58
58
  })();
59
59
  export {
60
- P as SbbTeaserHeroElement
60
+ L as SbbTeaserHeroElement
61
61
  };
@@ -33,7 +33,6 @@ export declare class SbbToggleElement extends SbbToggleElement_base {
33
33
  /** The child instances of sbb-toggle-option as an array. */
34
34
  get options(): SbbToggleOptionElement[];
35
35
  private _loaded;
36
- private _toggleResizeObserver;
37
36
  /** Emits whenever the toggle value changes. */
38
37
  private _change;
39
38
  constructor();
@@ -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,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;;AAIlE;;;;;GAKG;AACH,qBAEM,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;;IAWa,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
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../src/elements/toggle/toggle/toggle.ts"],"names":[],"mappings":"AAAA,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,qBAEM,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;IAEjC,+CAA+C;IAC/C,OAAO,CAAC,OAAO,CAGZ;;IAWa,iBAAiB,IAAI,IAAI;cAKtB,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;IAmCjD,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,36 +1,31 @@
1
- var O = (s) => {
2
- throw TypeError(s);
1
+ var A = (i) => {
2
+ throw TypeError(i);
3
3
  };
4
- var P = (s, o, r) => o.has(s) || O("Cannot " + r);
5
- var v = (s, o, r) => (P(s, o, "read from private field"), r ? r.call(s) : o.get(s)), f = (s, o, r) => o.has(s) ? O("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(s) : o.set(s, r), h = (s, o, r, n) => (P(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 A, 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 { forceType as M } from "../../core/decorators.js";
12
- import { isLean as B } from "../../core/dom.js";
13
- import { EventEmitter as G } from "../../core/eventing.js";
14
- import { SbbDisabledMixin as H, SbbFormAssociatedMixin as N } from "../../core/mixins.js";
4
+ var O = (i, o, r) => o.has(i) || A("Cannot " + r);
5
+ var v = (i, o, r) => (O(i, o, "read from private field"), r ? r.call(i) : o.get(i)), f = (i, o, r) => o.has(i) ? A("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(i) : o.set(i, r), c = (i, o, r, n) => (O(i, o, "write to private field"), n ? n.call(i, r) : o.set(i, r), r);
6
+ import { __esDecorate as u, __runInitializers as g } from "tslib";
7
+ import { css as R, LitElement as U, isServer as P, html as V } from "lit";
8
+ import { customElement as W, property as _ } from "lit/decorators.js";
9
+ import { interactivityChecker as K, isArrowKeyPressed as $, getNextElementIndex as j } from "../../core/a11y.js";
10
+ import { forceType as q } from "../../core/decorators.js";
11
+ import { isLean as M } from "../../core/dom.js";
12
+ import { EventEmitter as B } from "../../core/eventing.js";
13
+ import { SbbDisabledMixin as G, SbbFormAssociatedMixin as H } from "../../core/mixins.js";
15
14
  import "../toggle-option.js";
16
- const J = 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}}`;
17
- let ne = (() => {
15
+ const N = R`*,:before,:after{box-sizing:border-box}:host{display:block;width:fit-content;border-radius:var(--sbb-toggle-border-radius);--sbb-toggle-width: fit-content;--sbb-toggle-min-width: calc( var(--sbb-toggle-padding-inline) * 4 + var(--sbb-size-icon-ui-small) );--sbb-toggle-selected-option-border-width: var(--sbb-border-width-1x);--sbb-toggle-selected-option-border-style: solid;--sbb-toggle-selected-option-border-color: var(--sbb-color-smoke);--sbb-toggle-selected-option-background-color: var(--sbb-color-white);--sbb-toggle-selected-option-border-offset: .125rem;--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: var(--sbb-size-element-xxs);--sbb-toggle-border-radius: var(--sbb-border-radius-infinity);--sbb-toggle-grid-template-columns: auto auto;--_sbb-toggle-height: calc( var(--sbb-toggle-height) - 2 * var(--sbb-toggle-selected-option-border-offset) )}@media (forced-colors: active){:host{--sbb-toggle-selected-option-border-color: Highlight;--sbb-toggle-selected-option-border-width: var(--sbb-border-width-2x)}}:host([even]){width:100%;--sbb-toggle-width: 100%;--sbb-toggle-grid-template-columns: 50% 50%}:host(:disabled){--sbb-toggle-selected-option-border-color: var(--sbb-color-graphite);--sbb-toggle-selected-option-border-style: dashed}@media (forced-colors: active){:host(:disabled){--sbb-toggle-selected-option-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: var(--sbb-size-element-m)}:host(:is(:not([data-initialized]),[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);display:grid;grid-template-columns:var(--sbb-toggle-grid-template-columns);grid-template-areas:"start end";align-items:center;min-width:var(--sbb-toggle-min-width);width:var(--sbb-toggle-width);max-width:100%;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:before{grid-area:start/start/end/end;padding-inline:var(--sbb-toggle-padding-inline);margin-inline:var(--sbb-toggle-option-left, 0) var(--sbb-toggle-option-right, 0);display:block;background-color:var(--sbb-toggle-selected-option-background-color);border-radius:var(--sbb-toggle-border-radius);max-width:100%;height:100%;box-shadow:0 0 0 var(--sbb-toggle-selected-option-border-offset) var(--sbb-toggle-selected-option-background-color);outline:var(--sbb-toggle-selected-option-border-width) var(--sbb-toggle-selected-option-border-style) var(--sbb-toggle-selected-option-border-color);outline-offset:calc(var(--sbb-toggle-selected-option-border-offset) - var(--sbb-toggle-selected-option-border-width));transition-duration:var(--sbb-toggle-animation-duration);transition-timing-function:ease;transition-property:margin-inline-start,margin-inline-end}:host([data-initialized]) .sbb-toggle:before{content:""}@media (forced-colors: active){.sbb-toggle{outline:var(--sbb-border-width-1x) solid CanvasText}}::slotted(sbb-toggle-option:first-of-type){grid-area:start}::slotted(sbb-toggle-option:last-of-type){grid-area:end}`;
16
+ let re = (() => {
18
17
  var b, d, l;
19
- let s = [K("sbb-toggle")], o, r = [], n, y = H(N(V)), w = [], x, k = [], z = [], C, E = [], S = [], D;
20
- var u = (l = class extends y {
18
+ let i = [W("sbb-toggle")], o, r = [], n, y = G(H(U)), x = [], w, z = [], k = [], C, E = [], S = [], D;
19
+ var p = (l = class extends y {
21
20
  constructor() {
22
21
  var e, t;
23
22
  super();
24
23
  f(this, b);
25
24
  f(this, d);
26
- h(this, b, (g(this, w), g(this, k, !1))), h(this, d, (g(this, z), g(this, E, B() ? "s" : "m"))), this._value = (g(this, S), null), this._loaded = !1, this._toggleResizeObserver = new L(this, {
27
- target: null,
28
- skipInitial: !0,
29
- callback: () => this.updatePillPosition(!0)
30
- }), this._change = new G(this, u.events.change, {
25
+ c(this, b, (g(this, x), g(this, z, !1))), c(this, d, (g(this, k), g(this, E, M() ? "s" : "m"))), this._value = (g(this, S), null), this._loaded = !1, this._change = new B(this, p.events.change, {
31
26
  bubbles: !0,
32
27
  composed: !0
33
- }), this.internals.role = "radiogroup", (e = this.addEventListener) == null || e.call(this, "input", () => this._handleInput(), { passive: !0 }), (t = this.addEventListener) == null || t.call(this, "keydown", (i) => this._handleKeyDown(i));
28
+ }), this.internals.role = "radiogroup", (e = this.addEventListener) == null || e.call(this, "input", () => this._handleInput(), { passive: !0 }), (t = this.addEventListener) == null || t.call(this, "keydown", (s) => this._handleKeyDown(s));
34
29
  }
35
30
  /**
36
31
  * If true, set the width of the component fixed; if false,
@@ -40,7 +35,7 @@ let ne = (() => {
40
35
  return v(this, b);
41
36
  }
42
37
  set even(e) {
43
- h(this, b, e);
38
+ c(this, b, e);
44
39
  }
45
40
  /**
46
41
  * Size variant, either m or s.
@@ -50,18 +45,18 @@ let ne = (() => {
50
45
  return v(this, d);
51
46
  }
52
47
  set size(e) {
53
- h(this, d, e);
48
+ c(this, d, e);
54
49
  }
55
50
  /**
56
51
  * The value of the toggle. It needs to be mutable since it is updated whenever
57
52
  * a new option is selected (see the `onToggleOptionSelect()` method).
58
53
  */
59
54
  set value(e) {
60
- A ? this._value = e : this._valueChanged(e);
55
+ P ? this._value = e : this._valueChanged(e);
61
56
  }
62
57
  get value() {
63
58
  var e, t;
64
- return A ? this._value ?? "" : ((e = this.options.find((i) => i.checked)) == null ? void 0 : e.value) ?? ((t = this.options[0]) == null ? void 0 : t.value) ?? "";
59
+ return P ? this._value ?? "" : ((e = this.options.find((s) => s.checked)) == null ? void 0 : e.value) ?? ((t = this.options[0]) == null ? void 0 : t.value) ?? "";
65
60
  }
66
61
  /** The child instances of sbb-toggle-option as an array. */
67
62
  get options() {
@@ -69,7 +64,7 @@ let ne = (() => {
69
64
  return Array.from(((e = this.querySelectorAll) == null ? void 0 : e.call(this, "sbb-toggle-option")) ?? []);
70
65
  }
71
66
  connectedCallback() {
72
- super.connectedCallback(), this.options.forEach((e) => this._toggleResizeObserver.observe(e)), this._updateToggle();
67
+ super.connectedCallback(), this._updateToggle();
73
68
  }
74
69
  willUpdate(e) {
75
70
  super.willUpdate(e), (e.has("disabled") || e.has("formDisabled")) && this._updateDisabled();
@@ -101,12 +96,12 @@ let ne = (() => {
101
96
  var I, T;
102
97
  if (!this._loaded)
103
98
  return;
104
- const t = this.options, i = this.shadowRoot.querySelector(".sbb-toggle");
105
- if (t.every((m) => !m.checked) || t.every((m) => !m.clientWidth) || !i)
99
+ const t = this.options, s = this.shadowRoot.querySelector(".sbb-toggle");
100
+ if (t.every((m) => !m.checked) || t.every((m) => !m.clientWidth) || !s)
106
101
  return;
107
102
  this.toggleAttribute("data-disable-animation-on-resizing", e);
108
- const a = t[0], p = a.checked, R = a.checked ? "0px" : `${a.clientWidth}px`, F = p ? `${i.clientWidth - a.clientWidth}px` : "0px";
109
- (I = this.style) == null || I.setProperty("--sbb-toggle-option-left", R), (T = this.style) == null || T.setProperty("--sbb-toggle-option-right", F);
103
+ const a = t[0], h = a.checked, F = h ? "0px" : `${a.clientWidth}px`, L = h ? `${s.clientWidth - a.clientWidth}px` : "0px";
104
+ (I = this.style) == null || I.setProperty("--sbb-toggle-option-left", F), (T = this.style) == null || T.setProperty("--sbb-toggle-option-right", L), this.hasAttribute("data-initialized") || setTimeout(() => this.toggleAttribute("data-initialized", !0), 0);
110
105
  }
111
106
  updateFormValue() {
112
107
  this.internals.setFormValue(this.value);
@@ -115,8 +110,8 @@ let ne = (() => {
115
110
  this._valueChanged(this.value), this._updateDisabled();
116
111
  }
117
112
  _valueChanged(e) {
118
- const t = this.options, i = t.find((a) => e === ("value" in a ? a.value : a.getAttribute("value"))) ?? t.find((a) => a.checked) ?? t[0];
119
- i && (i.checked || (i.checked = !0), this.statusChanged());
113
+ const t = this.options, s = t.find((a) => e === ("value" in a ? a.value : a.getAttribute("value"))) ?? t.find((a) => a.checked) ?? t[0];
114
+ s && (s.checked || (s.checked = !0), this.statusChanged());
120
115
  }
121
116
  _updateDisabled() {
122
117
  for (const e of this.options)
@@ -129,15 +124,15 @@ let ne = (() => {
129
124
  this.statusChanged(), this._change.emit();
130
125
  }
131
126
  _handleKeyDown(e) {
132
- const t = this.options.filter((i) => !i.disabled && $.isVisible(i));
127
+ const t = this.options.filter((s) => !s.disabled && K.isVisible(s));
133
128
  if (!(!t || // don't trap nested handling
134
- e.target !== this && e.target.parentElement !== this) && j(e)) {
135
- const i = t.findIndex((p) => p.checked), a = q(e, i, t.length);
129
+ e.target !== this && e.target.parentElement !== this) && $(e)) {
130
+ const s = t.findIndex((h) => h.checked), a = j(e, s, t.length);
136
131
  t[a].checked || (t[a].checked = !0, t[a].focus(), t[a].dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 }))), e.preventDefault();
137
132
  }
138
133
  }
139
134
  render() {
140
- return W`
135
+ return V`
141
136
  <div class="sbb-toggle">
142
137
  <slot @slotchange=${this._updateToggle}></slot>
143
138
  </div>
@@ -145,18 +140,18 @@ let ne = (() => {
145
140
  }
146
141
  }, b = new WeakMap(), d = new WeakMap(), n = l, (() => {
147
142
  const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(y[Symbol.metadata] ?? null) : void 0;
148
- x = [M(), _({ 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) => {
149
- t.even = i;
150
- } }, 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) => {
151
- t.size = i;
152
- } }, 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) => {
153
- t.value = i;
154
- } }, 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 });
155
- })(), l.styles = J, l.events = {
143
+ w = [q(), _({ reflect: !0, type: Boolean })], C = [_({ reflect: !0 })], D = [_()], u(l, null, w, { kind: "accessor", name: "even", static: !1, private: !1, access: { has: (t) => "even" in t, get: (t) => t.even, set: (t, s) => {
144
+ t.even = s;
145
+ } }, metadata: e }, z, k), u(l, null, C, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (t) => "size" in t, get: (t) => t.size, set: (t, s) => {
146
+ t.size = s;
147
+ } }, metadata: e }, E, S), u(l, null, D, { kind: "setter", name: "value", static: !1, private: !1, access: { has: (t) => "value" in t, set: (t, s) => {
148
+ t.value = s;
149
+ } }, metadata: e }, null, x), u(null, o = { value: n }, i, { kind: "class", name: n.name, metadata: e }, null, r), p = n = o.value, e && Object.defineProperty(n, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
150
+ })(), l.styles = N, l.events = {
156
151
  change: "change"
157
152
  }, g(n, r), l);
158
- return u = n;
153
+ return p = n;
159
154
  })();
160
155
  export {
161
- ne as SbbToggleElement
156
+ re as SbbToggleElement
162
157
  };
@@ -12,9 +12,10 @@ export declare class SbbToggleOptionElement extends SbbToggleOptionElement_base
12
12
  accessor checked: boolean;
13
13
  /** Value of toggle-option. */
14
14
  accessor value: string;
15
- private _toggle?;
15
+ private _toggle;
16
16
  constructor();
17
17
  connectedCallback(): void;
18
+ disconnectedCallback(): void;
18
19
  protected willUpdate(changedProperties: PropertyValues<this>): void;
19
20
  private _uncheckOtherOptions;
20
21
  private _handleDisabledChange;
@@ -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,EAAE,MAAM,KAAK,CAAC;;AAWvC;;;;;GAKG;AACH,qBAGM,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;;IAkBnB,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;CAU5C;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":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;;AAWvC;;;;;GAKG;AACH,qBAGM,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,CAAiC;;IAyBhC,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;cAKzB,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;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
@@ -1,48 +1,58 @@
1
- var x = (t) => {
1
+ var z = (t) => {
2
2
  throw TypeError(t);
3
3
  };
4
- var w = (t, s, o) => s.has(t) || x("Cannot " + o);
5
- var h = (t, s, o) => (w(t, s, "read from private field"), o ? o.call(t) : s.get(t)), g = (t, s, o) => s.has(t) ? x("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(t) : s.set(t, o), c = (t, s, o, a) => (w(t, s, "write to private field"), a ? a.call(t, o) : s.set(t, o), o);
6
- import { __esDecorate as p, __runInitializers as d } from "tslib";
7
- import { css as O, LitElement as S, html as E } from "lit";
8
- import { customElement as T, property as z } from "lit/decorators.js";
9
- import { slotState as D, forceType as I } from "../../core/decorators.js";
10
- import { setOrRemoveAttribute as C } from "../../core/dom.js";
11
- import { SbbDisabledMixin as j } from "../../core/mixins.js";
12
- import { SbbIconNameMixin as L } from "../../icon.js";
13
- const A = O`*,: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;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) .sbb-toggle-option__label:before{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);content:"";position:absolute;pointer-events:none;inset:calc(-2 * var(--sbb-toggle-border-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 H = (() => {
15
- var r, b, n;
16
- let t = [T("sbb-toggle-option"), D()], s, o = [], a, u = j(L(S)), f, v = [], m = [], _, y = [], k = [];
4
+ var w = (t, s, o) => s.has(t) || z("Cannot " + o);
5
+ var d = (t, s, o) => (w(t, s, "read from private field"), o ? o.call(t) : s.get(t)), g = (t, s, o) => s.has(t) ? z("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(t) : s.set(t, o), b = (t, s, o, a) => (w(t, s, "write to private field"), a ? a.call(t, o) : s.set(t, o), o);
6
+ import { __esDecorate as p, __runInitializers as h } from "tslib";
7
+ import { ResizeController as S } from "@lit-labs/observers/resize-controller.js";
8
+ import { css as C, LitElement as E, html as T } from "lit";
9
+ import { customElement as D, property as I } from "lit/decorators.js";
10
+ import { slotState as j, forceType as O } from "../../core/decorators.js";
11
+ import { setOrRemoveAttribute as L } from "../../core/dom.js";
12
+ import { SbbDisabledMixin as A } from "../../core/mixins.js";
13
+ import { SbbIconNameMixin as M } from "../../icon.js";
14
+ const R = C`*,: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);display:inline-block;overflow:hidden;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)}.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);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}sbb-icon,::slotted(sbb-icon){min-width:var(--sbb-toggle-option-icon-min-size);min-height:var(--sbb-toggle-option-icon-min-size)}`;
15
+ let K = (() => {
16
+ var r, c, n;
17
+ let t = [D("sbb-toggle-option"), j()], s, o = [], a, u = A(M(E)), m, f = [], _ = [], v, k = [], y = [];
17
18
  return n = class extends u {
18
19
  constructor() {
19
20
  var i, l;
20
21
  super();
21
22
  g(this, r);
22
- g(this, b);
23
- c(this, r, d(this, v, !1)), c(this, b, (d(this, m), d(this, y, ""))), this._toggle = d(this, k);
23
+ g(this, c);
24
+ b(this, r, h(this, f, !1)), b(this, c, (h(this, _), h(this, k, ""))), this._toggle = (h(this, y), null);
24
25
  const e = this.attachInternals();
25
26
  e.role = "radio", (i = this.addEventListener) == null || i.call(this, "input", () => this._handleInput()), (l = this.addEventListener) == null || l.call(this, "click", () => {
26
27
  !this.disabled && !this.checked && this.dispatchEvent(new InputEvent("input", { bubbles: !0, composed: !0 }));
27
- });
28
+ }), this.addController(new S(this, {
29
+ skipInitial: !0,
30
+ callback: () => {
31
+ var x;
32
+ return (x = this._toggle) == null ? void 0 : x.updatePillPosition(!0);
33
+ }
34
+ }));
28
35
  }
29
36
  /** Whether the toggle-option is checked. */
30
37
  get checked() {
31
- return h(this, r);
38
+ return d(this, r);
32
39
  }
33
40
  set checked(e) {
34
- c(this, r, e);
41
+ b(this, r, e);
35
42
  }
36
43
  /** Value of toggle-option. */
37
44
  get value() {
38
- return h(this, b);
45
+ return d(this, c);
39
46
  }
40
47
  set value(e) {
41
- c(this, b, e);
48
+ b(this, c, e);
42
49
  }
43
50
  connectedCallback() {
44
51
  var e;
45
- super.connectedCallback(), this._toggle = ((e = this.closest) == null ? void 0 : e.call(this, "sbb-toggle")) ?? void 0, this._verifyTabindex();
52
+ super.connectedCallback(), this._toggle = ((e = this.closest) == null ? void 0 : e.call(this, "sbb-toggle")) ?? null, this._verifyTabindex();
53
+ }
54
+ disconnectedCallback() {
55
+ super.disconnectedCallback(), this._toggle = null;
46
56
  }
47
57
  willUpdate(e) {
48
58
  super.willUpdate(e), e.has("checked") && (this.setAttribute("aria-checked", `${this.checked}`), this._verifyTabindex(), this.checked && this._uncheckOtherOptions()), e.has("disabled") && this._handleDisabledChange();
@@ -52,7 +62,7 @@ let H = (() => {
52
62
  (e = this._toggle) == null || e.options.filter((l) => l !== this).forEach((l) => l.checked = !1), (i = this._toggle) == null || i.statusChanged();
53
63
  }
54
64
  _handleDisabledChange() {
55
- C(this, "aria-disabled", this.disabled ? "true" : null), this._verifyTabindex();
65
+ L(this, "aria-disabled", this.disabled ? "true" : null), this._verifyTabindex();
56
66
  }
57
67
  _handleInput() {
58
68
  this.disabled || (this.checked = !0, this._uncheckOtherOptions());
@@ -61,7 +71,7 @@ let H = (() => {
61
71
  this.tabIndex = this.checked && !this.disabled ? 0 : -1;
62
72
  }
63
73
  render() {
64
- return E`
74
+ return T`
65
75
  <div class="sbb-toggle-option">
66
76
  ${this.renderIconSlot()}
67
77
  <span class="sbb-toggle-option__label">
@@ -70,15 +80,15 @@ let H = (() => {
70
80
  </div>
71
81
  `;
72
82
  }
73
- }, r = new WeakMap(), b = new WeakMap(), a = n, (() => {
83
+ }, r = new WeakMap(), c = new WeakMap(), a = n, (() => {
74
84
  const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(u[Symbol.metadata] ?? null) : void 0;
75
- f = [I(), z({ reflect: !0, type: Boolean })], _ = [I(), z()], p(n, null, f, { kind: "accessor", name: "checked", static: !1, private: !1, access: { has: (i) => "checked" in i, get: (i) => i.checked, set: (i, l) => {
85
+ m = [O(), I({ reflect: !0, type: Boolean })], v = [O(), I()], p(n, null, m, { kind: "accessor", name: "checked", static: !1, private: !1, access: { has: (i) => "checked" in i, get: (i) => i.checked, set: (i, l) => {
76
86
  i.checked = l;
77
- } }, metadata: e }, v, m), p(n, null, _, { kind: "accessor", name: "value", static: !1, private: !1, access: { has: (i) => "value" in i, get: (i) => i.value, set: (i, l) => {
87
+ } }, metadata: e }, f, _), p(n, null, v, { kind: "accessor", name: "value", static: !1, private: !1, access: { has: (i) => "value" in i, get: (i) => i.value, set: (i, l) => {
78
88
  i.value = l;
79
- } }, metadata: e }, y, k), p(null, s = { value: a }, t, { kind: "class", name: a.name, metadata: e }, null, o), a = s.value, e && Object.defineProperty(a, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
80
- })(), n.styles = A, d(a, o), a;
89
+ } }, metadata: e }, k, y), p(null, s = { value: a }, t, { kind: "class", name: a.name, metadata: e }, null, o), a = s.value, e && Object.defineProperty(a, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
90
+ })(), n.styles = R, h(a, o), a;
81
91
  })();
82
92
  export {
83
- H as SbbToggleOptionElement
93
+ K as SbbToggleOptionElement
84
94
  };
@@ -1 +0,0 @@
1
- {"version":3,"file":"id-observer-controller.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/controllers/id-observer-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAOzE;;GAEG;AACH,qBAAa,wBAAwB,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,kBAAkB;IAIrF,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IALpB,OAAO,CAAC,SAAS,CAAsC;gBAG7C,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,MAAM,CAAC,EACf,UAAU;kBAZR,gBAAgB;qBAAe,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;MAY7C;IAKzB,aAAa,IAAI,IAAI;IAgDrB,gBAAgB,IAAI,IAAI;IAoB/B;;OAEG;IACI,IAAI,IAAI,WAAW,GAAG,IAAI;CAQlC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"id-observer-controller.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/controllers/id-observer-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAOzE;;GAEG;AACH,qBAAa,wBAAwB,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,kBAAkB;IAIrF,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IALpB,OAAO,CAAC,SAAS,CAAsC;gBAG7C,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,MAAM,CAAC,EACf,UAAU;kBAZR,gBAAgB;qBAAe,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;MAY7C;IAKzB,aAAa,IAAI,IAAI;IAgDrB,gBAAgB,IAAI,IAAI;IAoB/B;;OAEG;IACI,IAAI,IAAI,WAAW,GAAG,IAAI;CAQlC"}
@@ -1,84 +0,0 @@
1
- import { isServer } from "lit";
2
- const observers = /* @__PURE__ */ new WeakMap();
3
- class SbbIdReferenceController {
4
- constructor(_host, _idRef, _observers = observers) {
5
- this._host = _host;
6
- this._idRef = _idRef;
7
- this._observers = _observers;
8
- this._rootNode = null;
9
- this._host.addController(this);
10
- }
11
- hostConnected() {
12
- if (isServer) {
13
- return;
14
- }
15
- this._rootNode = this._host.getRootNode();
16
- const observerContext = this._observers.get(this._rootNode);
17
- if (observerContext) {
18
- observerContext.controllers.add(this);
19
- } else {
20
- const controllers = /* @__PURE__ */ new Set([this]);
21
- const observer = new MutationObserver((mutations) => {
22
- const mutatedIds = /* @__PURE__ */ new Set();
23
- for (const mutation of mutations) {
24
- if (mutation.type === "attributes") {
25
- mutatedIds.add(mutation.oldValue);
26
- mutatedIds.add(mutation.target.id);
27
- } else if (mutation.type === "childList") {
28
- for (const node of [...mutation.addedNodes, ...mutation.removedNodes]) {
29
- if (node instanceof HTMLElement) {
30
- mutatedIds.add(node.id);
31
- node.querySelectorAll("[id]").forEach((e) => mutatedIds.add(e.id));
32
- }
33
- }
34
- }
35
- }
36
- for (const controller of controllers) {
37
- const id = controller._host[controller._idRef];
38
- if (id && typeof id === "string" && mutatedIds.has(id)) {
39
- controller._host.requestUpdate();
40
- }
41
- }
42
- });
43
- observer.observe(this._rootNode, {
44
- attributeFilter: ["id"],
45
- childList: true,
46
- subtree: true,
47
- attributeOldValue: true
48
- });
49
- this._observers.set(this._rootNode, { observer, controllers });
50
- }
51
- }
52
- hostDisconnected() {
53
- if (isServer || !this._rootNode) {
54
- return;
55
- }
56
- const observerContext = this._observers.get(this._rootNode);
57
- if (!observerContext) {
58
- this._rootNode = null;
59
- return;
60
- }
61
- observerContext.controllers.delete(this);
62
- if (observerContext.controllers.size === 0) {
63
- observerContext.observer.disconnect();
64
- this._observers.delete(this._rootNode);
65
- }
66
- this._rootNode = null;
67
- }
68
- /**
69
- * Find the element by id in the current document fragment
70
- */
71
- find() {
72
- var _a;
73
- if (isServer || !this._rootNode) {
74
- return null;
75
- } else {
76
- const id = this._host[this._idRef];
77
- return typeof id == "string" ? (_a = this._rootNode) == null ? void 0 : _a.querySelector(`#${id}`) : null;
78
- }
79
- }
80
- }
81
- export {
82
- SbbIdReferenceController
83
- };
84
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtb2JzZXJ2ZXItY29udHJvbGxlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvY29udHJvbGxlcnMvaWQtb2JzZXJ2ZXItY29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1NlcnZlciwgdHlwZSBMaXRFbGVtZW50LCB0eXBlIFJlYWN0aXZlQ29udHJvbGxlciB9IGZyb20gJ2xpdCc7XG5cbmNvbnN0IG9ic2VydmVycyA9IG5ldyBXZWFrTWFwPFxuICBOb2RlLFxuICB7IG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyOyBjb250cm9sbGVyczogU2V0PFNiYklkUmVmZXJlbmNlQ29udHJvbGxlcjxhbnk+PiB9XG4+KCk7XG5cbi8qKlxuICogVHJhY2tzIGlkIGNoYW5nZXMgaW4gdGhlIERPTSBhbmQgY2FsbHMgY29tcG9uZW50IHdoZW4gbWF0Y2hpbmcgd2l0aCByZXF1ZXN0VXBkYXRlKCkuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJJZFJlZmVyZW5jZUNvbnRyb2xsZXI8VCBleHRlbmRzIExpdEVsZW1lbnQ+IGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgcHJpdmF0ZSBfcm9vdE5vZGU6IERvY3VtZW50IHwgU2hhZG93Um9vdCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9ob3N0OiBULFxuICAgIHByaXZhdGUgX2lkUmVmOiBrZXlvZiBULFxuICAgIHByaXZhdGUgX29ic2VydmVycyA9IG9ic2VydmVycyxcbiAgKSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fcm9vdE5vZGUgPSB0aGlzLl9ob3N0LmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290O1xuICAgIGNvbnN0IG9ic2VydmVyQ29udGV4dCA9IHRoaXMuX29ic2VydmVycy5nZXQodGhpcy5fcm9vdE5vZGUpO1xuXG4gICAgaWYgKG9ic2VydmVyQ29udGV4dCkge1xuICAgICAgb2JzZXJ2ZXJDb250ZXh0LmNvbnRyb2xsZXJzLmFkZCh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29udHJvbGxlcnMgPSBuZXcgU2V0KFt0aGlzXSk7XG4gICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3QgbXV0YXRlZElkcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zKSB7XG4gICAgICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdhdHRyaWJ1dGVzJykge1xuICAgICAgICAgICAgbXV0YXRlZElkcy5hZGQobXV0YXRpb24ub2xkVmFsdWUhKTtcbiAgICAgICAgICAgIG11dGF0ZWRJZHMuYWRkKChtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmlkKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdjaGlsZExpc3QnKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG5vZGUgb2YgWy4uLm11dGF0aW9uLmFkZGVkTm9kZXMsIC4uLm11dGF0aW9uLnJlbW92ZWROb2Rlc10pIHtcbiAgICAgICAgICAgICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIG11dGF0ZWRJZHMuYWRkKG5vZGUuaWQpO1xuICAgICAgICAgICAgICAgIG5vZGUucXVlcnlTZWxlY3RvckFsbCgnW2lkXScpLmZvckVhY2goKGUpID0+IG11dGF0ZWRJZHMuYWRkKGUuaWQpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgY29udHJvbGxlciBvZiBjb250cm9sbGVycykge1xuICAgICAgICAgIGNvbnN0IGlkID0gY29udHJvbGxlci5faG9zdFtjb250cm9sbGVyLl9pZFJlZl07XG4gICAgICAgICAgaWYgKGlkICYmIHR5cGVvZiBpZCA9PT0gJ3N0cmluZycgJiYgbXV0YXRlZElkcy5oYXMoaWQpKSB7XG4gICAgICAgICAgICBjb250cm9sbGVyLl9ob3N0LnJlcXVlc3RVcGRhdGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHRoaXMuX3Jvb3ROb2RlLCB7XG4gICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydpZCddLFxuICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIGF0dHJpYnV0ZU9sZFZhbHVlOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX29ic2VydmVycy5zZXQodGhpcy5fcm9vdE5vZGUsIHsgb2JzZXJ2ZXIsIGNvbnRyb2xsZXJzIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBob3N0RGlzY29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlciB8fCAhdGhpcy5fcm9vdE5vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvYnNlcnZlckNvbnRleHQgPSB0aGlzLl9vYnNlcnZlcnMuZ2V0KHRoaXMuX3Jvb3ROb2RlKTtcbiAgICBpZiAoIW9ic2VydmVyQ29udGV4dCkge1xuICAgICAgdGhpcy5fcm9vdE5vZGUgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG9ic2VydmVyQ29udGV4dC5jb250cm9sbGVycy5kZWxldGUodGhpcyk7XG4gICAgaWYgKG9ic2VydmVyQ29udGV4dC5jb250cm9sbGVycy5zaXplID09PSAwKSB7XG4gICAgICBvYnNlcnZlckNvbnRleHQub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy5fb2JzZXJ2ZXJzLmRlbGV0ZSh0aGlzLl9yb290Tm9kZSk7XG4gICAgfVxuXG4gICAgdGhpcy5fcm9vdE5vZGUgPSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgdGhlIGVsZW1lbnQgYnkgaWQgaW4gdGhlIGN1cnJlbnQgZG9jdW1lbnQgZnJhZ21lbnRcbiAgICovXG4gIHB1YmxpYyBmaW5kKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgaWYgKGlzU2VydmVyIHx8ICF0aGlzLl9yb290Tm9kZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5faG9zdFt0aGlzLl9pZFJlZl07XG4gICAgICByZXR1cm4gdHlwZW9mIGlkID09ICdzdHJpbmcnID8gdGhpcy5fcm9vdE5vZGU/LnF1ZXJ5U2VsZWN0b3IoYCMke2lkfWApIDogbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsTUFBTSxnQ0FBZ0I7TUFRVCx5QkFBd0I7QUFBQSxFQUduQyxZQUNVLE9BQ0EsUUFDQSxhQUFhLFdBQVM7QUFGdEIsU0FBSyxRQUFMO0FBQ0EsU0FBTSxTQUFOO0FBQ0EsU0FBVSxhQUFWO0FBTEYsU0FBUyxZQUFpQztBQU8zQyxTQUFBLE1BQU0sY0FBYyxJQUFJO0FBQUEsRUFBQTtBQUFBLEVBR3hCLGdCQUFhO0FBQ2xCLFFBQUksVUFBVTtBQUNaO0FBQUEsSUFBQTtBQUdHLFNBQUEsWUFBWSxLQUFLLE1BQU0sWUFBVztBQUN2QyxVQUFNLGtCQUFrQixLQUFLLFdBQVcsSUFBSSxLQUFLLFNBQVM7QUFFMUQsUUFBSSxpQkFBaUI7QUFDSCxzQkFBQSxZQUFZLElBQUksSUFBSTtBQUFBLElBQUEsT0FDL0I7QUFDTCxZQUFNLGNBQWMsb0JBQUksSUFBSSxDQUFDLElBQUksQ0FBQztBQUNsQyxZQUFNLFdBQVcsSUFBSSxpQkFBaUIsQ0FBQyxjQUFhO0FBQzVDLGNBQUEsaUNBQWlCO0FBRXZCLG1CQUFXLFlBQVksV0FBVztBQUM1QixjQUFBLFNBQVMsU0FBUyxjQUFjO0FBQ3ZCLHVCQUFBLElBQUksU0FBUyxRQUFTO0FBQ3RCLHVCQUFBLElBQUssU0FBUyxPQUF1QixFQUFFO0FBQUEsVUFBQSxXQUN6QyxTQUFTLFNBQVMsYUFBYTtBQUM3Qix1QkFBQSxRQUFRLENBQUMsR0FBRyxTQUFTLFlBQVksR0FBRyxTQUFTLFlBQVksR0FBRztBQUNyRSxrQkFBSSxnQkFBZ0IsYUFBYTtBQUNwQiwyQkFBQSxJQUFJLEtBQUssRUFBRTtBQUNqQixxQkFBQSxpQkFBaUIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUFBLGNBQUE7QUFBQSxZQUNuRTtBQUFBLFVBQ0Y7QUFBQSxRQUNGO0FBR0YsbUJBQVcsY0FBYyxhQUFhO0FBQ3BDLGdCQUFNLEtBQUssV0FBVyxNQUFNLFdBQVcsTUFBTTtBQUM3QyxjQUFJLE1BQU0sT0FBTyxPQUFPLFlBQVksV0FBVyxJQUFJLEVBQUUsR0FBRztBQUN0RCx1QkFBVyxNQUFNOztRQUNuQjtBQUFBLE1BQ0YsQ0FDRDtBQUVRLGVBQUEsUUFBUSxLQUFLLFdBQVc7QUFBQSxRQUMvQixpQkFBaUIsQ0FBQyxJQUFJO0FBQUEsUUFDdEIsV0FBVztBQUFBLFFBQ1gsU0FBUztBQUFBLFFBQ1QsbUJBQW1CO0FBQUEsTUFBQSxDQUNwQjtBQUVELFdBQUssV0FBVyxJQUFJLEtBQUssV0FBVyxFQUFFLFVBQVUsYUFBYTtBQUFBLElBQUE7QUFBQSxFQUMvRDtBQUFBLEVBR0ssbUJBQWdCO0FBQ2pCLFFBQUEsWUFBWSxDQUFDLEtBQUssV0FBVztBQUMvQjtBQUFBLElBQUE7QUFHRixVQUFNLGtCQUFrQixLQUFLLFdBQVcsSUFBSSxLQUFLLFNBQVM7QUFDMUQsUUFBSSxDQUFDLGlCQUFpQjtBQUNwQixXQUFLLFlBQVk7QUFDakI7QUFBQSxJQUFBO0FBR2Msb0JBQUEsWUFBWSxPQUFPLElBQUk7QUFDbkMsUUFBQSxnQkFBZ0IsWUFBWSxTQUFTLEdBQUc7QUFDMUMsc0JBQWdCLFNBQVM7QUFDcEIsV0FBQSxXQUFXLE9BQU8sS0FBSyxTQUFTO0FBQUEsSUFBQTtBQUd2QyxTQUFLLFlBQVk7QUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNWixPQUFJOztBQUNMLFFBQUEsWUFBWSxDQUFDLEtBQUssV0FBVztBQUN4QixhQUFBO0FBQUEsSUFBQSxPQUNGO0FBQ0wsWUFBTSxLQUFLLEtBQUssTUFBTSxLQUFLLE1BQU07QUFDMUIsYUFBQSxPQUFPLE1BQU0sWUFBVyxVQUFLLGNBQUwsbUJBQWdCLGNBQWMsSUFBSSxFQUFFLE1BQU07QUFBQSxJQUFBO0FBQUEsRUFDM0U7QUFFSDsifQ==