@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779813787 → 5.0.0-next.3-dev.1779890843

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.
@@ -150276,6 +150276,16 @@
150276
150276
  }
150277
150277
  }
150278
150278
  },
150279
+ {
150280
+ "kind": "method",
150281
+ "name": "_updateAriaRole",
150282
+ "privacy": "private",
150283
+ "return": {
150284
+ "type": {
150285
+ "text": "void"
150286
+ }
150287
+ }
150288
+ },
150279
150289
  {
150280
150290
  "kind": "method",
150281
150291
  "name": "isDisabledExternally",
@@ -151125,8 +151135,7 @@
151125
151135
  "name": "input",
151126
151136
  "type": {
151127
151137
  "text": "InputEvent"
151128
- },
151129
- "description": "The input event fires when the value has been changed as a direct result of a user action."
151138
+ }
151130
151139
  },
151131
151140
  {
151132
151141
  "name": "change",
@@ -151310,14 +151319,14 @@
151310
151319
  },
151311
151320
  {
151312
151321
  "kind": "field",
151313
- "name": "listAccessibilityLabel",
151322
+ "name": "accessibilityLabel",
151314
151323
  "type": {
151315
151324
  "text": "string"
151316
151325
  },
151317
151326
  "privacy": "public",
151318
151327
  "default": "''",
151319
151328
  "description": "This will be forwarded as aria-label to the inner list.",
151320
- "attribute": "list-accessibility-label"
151329
+ "attribute": "accessibility-label"
151321
151330
  },
151322
151331
  {
151323
151332
  "kind": "field",
@@ -151373,6 +151382,45 @@
151373
151382
  "description": "The child instances of sbb-tag as an array.",
151374
151383
  "readonly": true
151375
151384
  },
151385
+ {
151386
+ "kind": "method",
151387
+ "name": "_enabledTags",
151388
+ "privacy": "private",
151389
+ "return": {
151390
+ "type": {
151391
+ "text": "SbbTagElement<T>[]"
151392
+ }
151393
+ }
151394
+ },
151395
+ {
151396
+ "kind": "method",
151397
+ "name": "updateExclusiveTabIndex",
151398
+ "privacy": "protected",
151399
+ "return": {
151400
+ "type": {
151401
+ "text": "void"
151402
+ }
151403
+ },
151404
+ "description": "In exclusive mode, only the checked tag (or the first non-disabled tag) should be focusable."
151405
+ },
151406
+ {
151407
+ "kind": "method",
151408
+ "name": "_handleArrowKeyDown",
151409
+ "privacy": "private",
151410
+ "return": {
151411
+ "type": {
151412
+ "text": "void"
151413
+ }
151414
+ },
151415
+ "parameters": [
151416
+ {
151417
+ "name": "evt",
151418
+ "type": {
151419
+ "text": "KeyboardEvent"
151420
+ }
151421
+ }
151422
+ ]
151423
+ },
151376
151424
  {
151377
151425
  "kind": "method",
151378
151426
  "name": "_applyValueToTags",
@@ -151828,13 +151876,13 @@
151828
151876
  ],
151829
151877
  "attributes": [
151830
151878
  {
151831
- "name": "list-accessibility-label",
151879
+ "name": "accessibility-label",
151832
151880
  "type": {
151833
151881
  "text": "string"
151834
151882
  },
151835
151883
  "default": "''",
151836
151884
  "description": "This will be forwarded as aria-label to the inner list.",
151837
- "fieldName": "listAccessibilityLabel"
151885
+ "fieldName": "accessibilityLabel"
151838
151886
  },
151839
151887
  {
151840
151888
  "name": "multiple",
@@ -30,6 +30,7 @@ export declare class SbbTagElement<T = string> extends SbbTagElement_base {
30
30
  accessor size: 's' | 'm' | null;
31
31
  constructor();
32
32
  private _tagGroup;
33
+ private _updateAriaRole;
33
34
  protected isDisabledExternally(): boolean;
34
35
  /** Method triggered on button click. Inverts the checked value and emits events. */
35
36
  private _handleClick;
@@ -1 +1 @@
1
- {"version":3,"file":"tag.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag/tag.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAGb,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAErB,wBAAwB,EAGzB,MAAM,eAAe,CAAC;;AAMvB;;;;;;;GAOG;AACH,qBAAa,aAAa,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,kBAE9C;IACC,gBAAgC,WAAW,EAAE,MAAM,CAAa;IAChE,OAAuB,MAAM,EAAE,cAAc,CAAsB;IACnE,gBAAuB,MAAM;;;;MAIlB;IAEX,iCAAiC;IACjC,SACgB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAQ;IAEvC,uCAAuC;IACvC,SAEgB,MAAM,EAAE,MAAM,CAAM;IAEpC,kCAAkC;IAClC,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC;;;OAGG;IACH,SACgB,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAQ;;IAc9C,OAAO,CAAC,SAAS;cAIE,oBAAoB,IAAI,OAAO;IAIlD,oFAAoF;IACpF,OAAO,CAAC,YAAY;cAkCD,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E;;OAEG;IACa,iBAAiB,IAAI,IAAI;IAIzC;;OAEG;IACa,wBAAwB,CACtC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,OAAO,EAAE,iBAAiB,GACzB,IAAI;cAMY,eAAe,IAAI,IAAI;cAQvB,SAAS,IAAI,gBAAgB;cAI7B,cAAc,IAAI,cAAc;CAWpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,SAAS,EAAE,aAAa,CAAC;KAC1B;CACF"}
1
+ {"version":3,"file":"tag.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag/tag.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAGb,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAErB,wBAAwB,EAGzB,MAAM,eAAe,CAAC;;AAMvB;;;;;;;GAOG;AACH,qBAAa,aAAa,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,kBAE9C;IACC,gBAAgC,WAAW,EAAE,MAAM,CAAa;IAChE,OAAuB,MAAM,EAAE,cAAc,CAAsB;IACnE,gBAAuB,MAAM;;;;MAIlB;IAEX,iCAAiC;IACjC,SACgB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAQ;IAEvC,uCAAuC;IACvC,SAEgB,MAAM,EAAE,MAAM,CAAM;IAEpC,kCAAkC;IAClC,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC;;;OAGG;IACH,SACgB,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAQ;;IAe9C,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,eAAe;cAaJ,oBAAoB,IAAI,OAAO;IAIlD,oFAAoF;IACpF,OAAO,CAAC,YAAY;cAgCD,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAsB5E;;OAEG;IACa,iBAAiB,IAAI,IAAI;IAIzC;;OAEG;IACa,wBAAwB,CACtC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,OAAO,EAAE,iBAAiB,GACzB,IAAI;cAMY,eAAe,IAAI,IAAI;cAQvB,SAAS,IAAI,gBAAgB;cAI7B,cAAc,IAAI,cAAc;CAWpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,SAAS,EAAE,aAAa,CAAC;KAC1B;CACF"}
@@ -1,2 +1,2 @@
1
- import { t as SbbTagElement } from "../../tag.component-D6YowucW.js";
1
+ import { t as SbbTagElement } from "../../tag.component-CDDb2fnV.js";
2
2
  export { SbbTagElement };
@@ -15,7 +15,7 @@ export declare class SbbTagGroupElement<T = string> extends SbbTagGroupElement_b
15
15
  /**
16
16
  * This will be forwarded as aria-label to the inner list.
17
17
  */
18
- accessor listAccessibilityLabel: string;
18
+ accessor accessibilityLabel: string;
19
19
  /**
20
20
  * If set multiple to false, the selection is exclusive and the value is a string (or null).
21
21
  * If set multiple to true, the selection can have multiple values and therefore value is an array.
@@ -37,7 +37,12 @@ export declare class SbbTagGroupElement<T = string> extends SbbTagGroupElement_b
37
37
  private _value;
38
38
  /** The child instances of sbb-tag as an array. */
39
39
  get tags(): SbbTagElement<T>[];
40
+ constructor();
40
41
  protected willUpdate(changedProperties: PropertyValues<WithListChildren<this>>): void;
42
+ private _enabledTags;
43
+ /** In exclusive mode, only the checked tag (or the first non-disabled tag) should be focusable. */
44
+ protected updateExclusiveTabIndex(): void;
45
+ private _handleArrowKeyDown;
41
46
  private _applyValueToTags;
42
47
  protected render(): TemplateResult;
43
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tag-group.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag-group/tag-group.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAGb,OAAO,EAGL,UAAU,EAEV,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;;AAI7D;;;;;GAKG;AACH,qBAAa,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,uBAEnD;IACC,gBAAgC,WAAW,EAAE,MAAM,CAAmB;IACtE,OAAuB,MAAM,EAAE,cAAc,CAAsB;IAEnE,mBAA4B,mBAAmB,WAAsB;IAErE;;OAEG;IACH,SAEgB,sBAAsB,EAAE,MAAM,CAAM;IAEpD;;;;;OAKG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;OAEG;IACH,SAA6C,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAQ;IAEhF;;;;OAIG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,EAM9C;IACD,IAAW,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAM1C;IACD,OAAO,CAAC,MAAM,CAAiC;IAE/C,kDAAkD;IAClD,IAAW,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAEpC;cAEkB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;IA2B9F,OAAO,CAAC,iBAAiB;cA0BN,MAAM,IAAI,cAAc;CAQ5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
1
+ {"version":3,"file":"tag-group.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/tag/tag-group/tag-group.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAGb,OAAO,EAKL,UAAU,EAEV,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;;AAI7D;;;;;GAKG;AACH,qBAAa,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,uBAEnD;IACC,gBAAgC,WAAW,EAAE,MAAM,CAAmB;IACtE,OAAuB,MAAM,EAAE,cAAc,CAAsB;IAEnE,mBAA4B,mBAAmB,WAAsB;IAErE;;OAEG;IACH,SAEgB,kBAAkB,EAAE,MAAM,CAAM;IAEhD;;;;;OAKG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;OAEG;IACH,SAA6C,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAQ;IAEhF;;;;OAIG;IACH,IACW,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,EAM9C;IACD,IAAW,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAM1C;IACD,OAAO,CAAC,MAAM,CAAiC;IAE/C,kDAAkD;IAClD,IAAW,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAEpC;;cAOkB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;IAqC9F,OAAO,CAAC,YAAY;IAIpB,mGAAmG;IACnG,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAMzC,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,iBAAiB;cA0BN,MAAM,IAAI,cAAc;CAQ5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
@@ -1,2 +1,2 @@
1
- import { t as SbbTagGroupElement } from "../../tag-group.component-jSgluqL-.js";
1
+ import { t as SbbTagGroupElement } from "../../tag-group.component-DTff1eBB.js";
2
2
  export { SbbTagGroupElement };
@@ -0,0 +1,225 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { html, isServer, unsafeCSS } from "lit";
3
+ import { property } from "lit/decorators.js";
4
+ import { SbbDisabledMixin, SbbElement, SbbNamedSlotListMixin, forceType, getNextElementIndex, isArrowKeyPressed } from "./core.js";
5
+ //#region src/elements/tag/tag-group/tag-group.scss?inline
6
+ var tag_group_default = ":host {\n display: block;\n}\n\n.sbb-tag-group__list {\n display: flex;\n flex-wrap: wrap;\n gap: var(--sbb-spacing-fixed-3x);\n}\n\n.sbb-tag-group__list > :is(li, span) {\n display: flex;\n max-width: 100%;\n}";
7
+ //#endregion
8
+ //#region src/elements/tag/tag-group/tag-group.component.ts
9
+ /**
10
+ * It can be used as a container for one or more `sbb-tag`.
11
+ *
12
+ * @slot - Use the unnamed slot to add one or more 'sbb-tag' elements to the `sbb-tag-group`.
13
+ * @overrideType value - (T = string | (string | null)[]) | null
14
+ */
15
+ var SbbTagGroupElement = (() => {
16
+ let _classSuper = SbbDisabledMixin(SbbNamedSlotListMixin(SbbElement));
17
+ let _instanceExtraInitializers = [];
18
+ let _accessibilityLabel_decorators;
19
+ let _accessibilityLabel_initializers = [];
20
+ let _accessibilityLabel_extraInitializers = [];
21
+ let _multiple_decorators;
22
+ let _multiple_initializers = [];
23
+ let _multiple_extraInitializers = [];
24
+ let _size_decorators;
25
+ let _size_initializers = [];
26
+ let _size_extraInitializers = [];
27
+ let _set_value_decorators;
28
+ return class SbbTagGroupElement extends _classSuper {
29
+ static {
30
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
31
+ _accessibilityLabel_decorators = [forceType(), property({ attribute: "accessibility-label" })];
32
+ _multiple_decorators = [forceType(), property({ type: Boolean })];
33
+ _size_decorators = [property({ reflect: true })];
34
+ _set_value_decorators = [property()];
35
+ __esDecorate(this, null, _accessibilityLabel_decorators, {
36
+ kind: "accessor",
37
+ name: "accessibilityLabel",
38
+ static: false,
39
+ private: false,
40
+ access: {
41
+ has: (obj) => "accessibilityLabel" in obj,
42
+ get: (obj) => obj.accessibilityLabel,
43
+ set: (obj, value) => {
44
+ obj.accessibilityLabel = value;
45
+ }
46
+ },
47
+ metadata: _metadata
48
+ }, _accessibilityLabel_initializers, _accessibilityLabel_extraInitializers);
49
+ __esDecorate(this, null, _multiple_decorators, {
50
+ kind: "accessor",
51
+ name: "multiple",
52
+ static: false,
53
+ private: false,
54
+ access: {
55
+ has: (obj) => "multiple" in obj,
56
+ get: (obj) => obj.multiple,
57
+ set: (obj, value) => {
58
+ obj.multiple = value;
59
+ }
60
+ },
61
+ metadata: _metadata
62
+ }, _multiple_initializers, _multiple_extraInitializers);
63
+ __esDecorate(this, null, _size_decorators, {
64
+ kind: "accessor",
65
+ name: "size",
66
+ static: false,
67
+ private: false,
68
+ access: {
69
+ has: (obj) => "size" in obj,
70
+ get: (obj) => obj.size,
71
+ set: (obj, value) => {
72
+ obj.size = value;
73
+ }
74
+ },
75
+ metadata: _metadata
76
+ }, _size_initializers, _size_extraInitializers);
77
+ __esDecorate(this, null, _set_value_decorators, {
78
+ kind: "setter",
79
+ name: "value",
80
+ static: false,
81
+ private: false,
82
+ access: {
83
+ has: (obj) => "value" in obj,
84
+ set: (obj, value) => {
85
+ obj.value = value;
86
+ }
87
+ },
88
+ metadata: _metadata
89
+ }, null, _instanceExtraInitializers);
90
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
91
+ enumerable: true,
92
+ configurable: true,
93
+ writable: true,
94
+ value: _metadata
95
+ });
96
+ }
97
+ static {
98
+ this.elementName = "sbb-tag-group";
99
+ }
100
+ static {
101
+ this.styles = [unsafeCSS(tag_group_default)];
102
+ }
103
+ #accessibilityLabel_accessor_storage;
104
+ /**
105
+ * This will be forwarded as aria-label to the inner list.
106
+ */
107
+ get accessibilityLabel() {
108
+ return this.#accessibilityLabel_accessor_storage;
109
+ }
110
+ set accessibilityLabel(value) {
111
+ this.#accessibilityLabel_accessor_storage = value;
112
+ }
113
+ #multiple_accessor_storage;
114
+ /**
115
+ * If set multiple to false, the selection is exclusive and the value is a string (or null).
116
+ * If set multiple to true, the selection can have multiple values and therefore value is an array.
117
+ *
118
+ * Changing multiple during run time is not supported.
119
+ */
120
+ get multiple() {
121
+ return this.#multiple_accessor_storage;
122
+ }
123
+ set multiple(value) {
124
+ this.#multiple_accessor_storage = value;
125
+ }
126
+ #size_accessor_storage;
127
+ /**
128
+ * Tag group size, either s (lean theme default) or m (standard theme default).
129
+ */
130
+ get size() {
131
+ return this.#size_accessor_storage;
132
+ }
133
+ set size(value) {
134
+ this.#size_accessor_storage = value;
135
+ }
136
+ /**
137
+ * Value of the sbb-tag-group.
138
+ * If set multiple to false, the value is a string (or null).
139
+ * If set multiple to true, the value is an array.
140
+ */
141
+ set value(value) {
142
+ if (isServer || !this.hasUpdated) {
143
+ this._value = value;
144
+ return;
145
+ }
146
+ this._applyValueToTags(value);
147
+ }
148
+ get value() {
149
+ return isServer || !this.hasUpdated ? this._value : this.multiple ? this.tags.filter((t) => t.checked).map((t) => t.value) : this.tags.find((t) => t.checked)?.value ?? null;
150
+ }
151
+ /** The child instances of sbb-tag as an array. */
152
+ get tags() {
153
+ return Array.from(this.querySelectorAll?.("sbb-tag") ?? []);
154
+ }
155
+ constructor() {
156
+ super();
157
+ this.listChildLocalNames = (__runInitializers(this, _instanceExtraInitializers), ["sbb-tag", "div"]);
158
+ this.#accessibilityLabel_accessor_storage = __runInitializers(this, _accessibilityLabel_initializers, "");
159
+ this.#multiple_accessor_storage = (__runInitializers(this, _accessibilityLabel_extraInitializers), __runInitializers(this, _multiple_initializers, false));
160
+ this.#size_accessor_storage = (__runInitializers(this, _multiple_extraInitializers), __runInitializers(this, _size_initializers, null));
161
+ this._value = (__runInitializers(this, _size_extraInitializers), null);
162
+ this.addEventListener?.("keydown", (e) => this._handleArrowKeyDown(e));
163
+ }
164
+ willUpdate(changedProperties) {
165
+ super.willUpdate(changedProperties);
166
+ if (changedProperties.has("value") && !this.hasUpdated && this._value) this._applyValueToTags(this.value);
167
+ if (changedProperties.has("disabled")) this.tags.forEach((r) => r.requestUpdate?.("disabled"));
168
+ if (changedProperties.has("listChildren") || changedProperties.has("multiple")) {
169
+ if (!this.multiple) {
170
+ this.tags.filter((tag) => tag.checked).slice(1).forEach((tag) => tag.checked = false);
171
+ this.updateExclusiveTabIndex();
172
+ } else if (changedProperties.has("multiple")) this._enabledTags().forEach((t) => t.tabIndex = 0);
173
+ }
174
+ if (changedProperties.has("accessibilityLabel") || changedProperties.has("multiple")) if (this.multiple) {
175
+ this.internals.role = this.accessibilityLabel ? null : "group";
176
+ this.internals.ariaLabel = null;
177
+ } else {
178
+ this.internals.role = "radiogroup";
179
+ this.internals.ariaLabel = this.accessibilityLabel;
180
+ }
181
+ }
182
+ _enabledTags() {
183
+ return this.tags.filter((t) => !t.disabled);
184
+ }
185
+ /** In exclusive mode, only the checked tag (or the first non-disabled tag) should be focusable. */
186
+ updateExclusiveTabIndex() {
187
+ const enabledTags = this._enabledTags();
188
+ const focusTarget = enabledTags.find((t) => t.checked) ?? enabledTags[0];
189
+ enabledTags.forEach((t) => t.tabIndex = t === focusTarget ? 0 : -1);
190
+ }
191
+ _handleArrowKeyDown(evt) {
192
+ if (this.multiple || !isArrowKeyPressed(evt)) return;
193
+ evt.preventDefault();
194
+ const enabledTags = this._enabledTags();
195
+ const current = enabledTags.indexOf(evt.target);
196
+ if (current === -1) return;
197
+ const nextTag = enabledTags[getNextElementIndex(evt, current, enabledTags.length)];
198
+ enabledTags.forEach((t) => t.tabIndex = t === nextTag ? 0 : -1);
199
+ nextTag.focus();
200
+ }
201
+ _applyValueToTags(value) {
202
+ const tags = this.tags;
203
+ if (value === null) tags.forEach((t) => t.checked = false);
204
+ else if (this.multiple) {
205
+ if (!Array.isArray(value) && tags.every((t) => t.value !== value)) try {
206
+ value = JSON.parse(value);
207
+ } catch {}
208
+ const valueAsArray = Array.isArray(value) ? value : [value];
209
+ tags.forEach((t) => t.checked = valueAsArray.includes(t.value));
210
+ } else if (!Array.isArray(value)) tags.forEach((t) => t.checked = t.value === value);
211
+ }
212
+ render() {
213
+ return html`
214
+ ${this.renderList({
215
+ class: "sbb-tag-group__list",
216
+ ariaLabel: this.multiple ? this.accessibilityLabel : void 0
217
+ })}
218
+ `;
219
+ }
220
+ };
221
+ })();
222
+ //#endregion
223
+ export { SbbTagGroupElement as t };
224
+
225
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLWdyb3VwLmNvbXBvbmVudC1EVGZmMWVCQi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy1ncm91cC90YWctZ3JvdXAuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy1ncm91cC90YWctZ3JvdXAuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zYmItdGFnLWdyb3VwX19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcbn1cblxuLy8gVXNpbmcgLi4uIGxpIHNlbGVjdG9yLCBiZWNhdXNlIHRoZSBsaSBnZW5lcmF0aW9uXG4vLyBpcyBoYW5kbGVkIGluIHRoZSBjb21wb25lbnQgYmFzZSBjbGFzcy5cbi5zYmItdGFnLWdyb3VwX19saXN0ID4gOmlzKGxpLCBzcGFuKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHtcbiAgZm9yY2VUeXBlLFxuICBnZXROZXh0RWxlbWVudEluZGV4LFxuICBpc0Fycm93S2V5UHJlc3NlZCxcbiAgU2JiRGlzYWJsZWRNaXhpbixcbiAgU2JiRWxlbWVudCxcbiAgU2JiTmFtZWRTbG90TGlzdE1peGluLFxuICB0eXBlIFdpdGhMaXN0Q2hpbGRyZW4sXG59IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUYWdFbGVtZW50IH0gZnJvbSAnLi4vdGFnL3RhZy5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWctZ3JvdXAuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLXRhZ2AuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgb25lIG9yIG1vcmUgJ3NiYi10YWcnIGVsZW1lbnRzIHRvIHRoZSBgc2JiLXRhZy1ncm91cGAuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmcgfCAoc3RyaW5nIHwgbnVsbClbXSkgfCBudWxsXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUYWdHcm91cEVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFxuICBTYmJOYW1lZFNsb3RMaXN0TWl4aW48U2JiVGFnRWxlbWVudCwgdHlwZW9mIFNiYkVsZW1lbnQ+KFNiYkVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdGFnLWdyb3VwJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuICAvLyBESVYgaXMgYWRkZWQgaGVyZSBkdWUgdG8gc3BlY2lhbCByZXF1aXJlbWVudHMgZnJvbSBzYmIuY2guXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gWydzYmItdGFnJywgJ2RpdiddO1xuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGlubmVyIGxpc3QuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIElmIHNldCBtdWx0aXBsZSB0byBmYWxzZSwgdGhlIHNlbGVjdGlvbiBpcyBleGNsdXNpdmUgYW5kIHRoZSB2YWx1ZSBpcyBhIHN0cmluZyAob3IgbnVsbCkuXG4gICAqIElmIHNldCBtdWx0aXBsZSB0byB0cnVlLCB0aGUgc2VsZWN0aW9uIGNhbiBoYXZlIG11bHRpcGxlIHZhbHVlcyBhbmQgdGhlcmVmb3JlIHZhbHVlIGlzIGFuIGFycmF5LlxuICAgKlxuICAgKiBDaGFuZ2luZyBtdWx0aXBsZSBkdXJpbmcgcnVuIHRpbWUgaXMgbm90IHN1cHBvcnRlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUYWcgZ3JvdXAgc2l6ZSwgZWl0aGVyIHMgKGxlYW4gdGhlbWUgZGVmYXVsdCkgb3IgbSAoc3RhbmRhcmQgdGhlbWUgZGVmYXVsdCkuXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiBTYmJUYWdFbGVtZW50WydzaXplJ10gPSBudWxsO1xuXG4gIC8qKlxuICAgKiBWYWx1ZSBvZiB0aGUgc2JiLXRhZy1ncm91cC5cbiAgICogSWYgc2V0IG11bHRpcGxlIHRvIGZhbHNlLCB0aGUgdmFsdWUgaXMgYSBzdHJpbmcgKG9yIG51bGwpLlxuICAgKiBJZiBzZXQgbXVsdGlwbGUgdG8gdHJ1ZSwgdGhlIHZhbHVlIGlzIGFuIGFycmF5LlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogVCB8IChUIHwgbnVsbClbXSB8IG51bGwpIHtcbiAgICBpZiAoaXNTZXJ2ZXIgfHwgIXRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fYXBwbHlWYWx1ZVRvVGFncyh2YWx1ZSk7XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBUIHwgKFQgfCBudWxsKVtdIHwgbnVsbCB7XG4gICAgcmV0dXJuIGlzU2VydmVyIHx8ICF0aGlzLmhhc1VwZGF0ZWRcbiAgICAgID8gdGhpcy5fdmFsdWVcbiAgICAgIDogdGhpcy5tdWx0aXBsZVxuICAgICAgICA/IHRoaXMudGFncy5maWx0ZXIoKHQpID0+IHQuY2hlY2tlZCkubWFwKCh0KSA9PiB0LnZhbHVlKVxuICAgICAgICA6ICh0aGlzLnRhZ3MuZmluZCgodCkgPT4gdC5jaGVja2VkKT8udmFsdWUgPz8gbnVsbCk7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IFQgfCAoVCB8IG51bGwpW10gfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGNoaWxkIGluc3RhbmNlcyBvZiBzYmItdGFnIGFzIGFuIGFycmF5LiAqL1xuICBwdWJsaWMgZ2V0IHRhZ3MoKTogU2JiVGFnRWxlbWVudDxUPltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJUYWdFbGVtZW50PFQ+Pignc2JiLXRhZycpID8/IFtdKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX2hhbmRsZUFycm93S2V5RG93bihlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8V2l0aExpc3RDaGlsZHJlbjx0aGlzPj4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3ZhbHVlJykgJiYgIXRoaXMuaGFzVXBkYXRlZCAmJiB0aGlzLl92YWx1ZSkge1xuICAgICAgdGhpcy5fYXBwbHlWYWx1ZVRvVGFncyh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLnRhZ3MuZm9yRWFjaCgocikgPT4gci5yZXF1ZXN0VXBkYXRlPy4oJ2Rpc2FibGVkJykpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2xpc3RDaGlsZHJlbicpIHx8IGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbXVsdGlwbGUnKSkge1xuICAgICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgIC8vIEVuc3VyZSBvbmx5IG9uZSB0YWcgY2hlY2tlZFxuICAgICAgICB0aGlzLnRhZ3NcbiAgICAgICAgICAuZmlsdGVyKCh0YWcpID0+IHRhZy5jaGVja2VkKVxuICAgICAgICAgIC5zbGljZSgxKVxuICAgICAgICAgIC5mb3JFYWNoKCh0YWcpID0+ICh0YWcuY2hlY2tlZCA9IGZhbHNlKSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVFeGNsdXNpdmVUYWJJbmRleCgpO1xuICAgICAgfSBlbHNlIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ211bHRpcGxlJykpIHtcbiAgICAgICAgLy8gSW4gbXVsdGlwbGUgbW9kZSBhbGwgZW5hYmxlZCB0YWdzIHNob3VsZCBiZSBmb2N1c2FibGVcbiAgICAgICAgdGhpcy5fZW5hYmxlZFRhZ3MoKS5mb3JFYWNoKCh0KSA9PiAodC50YWJJbmRleCA9IDApKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdhY2Nlc3NpYmlsaXR5TGFiZWwnKSB8fCBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ211bHRpcGxlJykpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnJvbGUgPSB0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCA/IG51bGwgOiAnZ3JvdXAnO1xuICAgICAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWwgPSBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMucm9sZSA9ICdyYWRpb2dyb3VwJztcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZW5hYmxlZFRhZ3MoKTogU2JiVGFnRWxlbWVudDxUPltdIHtcbiAgICByZXR1cm4gdGhpcy50YWdzLmZpbHRlcigodCkgPT4gIXQuZGlzYWJsZWQpO1xuICB9XG5cbiAgLyoqIEluIGV4Y2x1c2l2ZSBtb2RlLCBvbmx5IHRoZSBjaGVja2VkIHRhZyAob3IgdGhlIGZpcnN0IG5vbi1kaXNhYmxlZCB0YWcpIHNob3VsZCBiZSBmb2N1c2FibGUuICovXG4gIHByb3RlY3RlZCB1cGRhdGVFeGNsdXNpdmVUYWJJbmRleCgpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkVGFncyA9IHRoaXMuX2VuYWJsZWRUYWdzKCk7XG4gICAgY29uc3QgZm9jdXNUYXJnZXQgPSBlbmFibGVkVGFncy5maW5kKCh0KSA9PiB0LmNoZWNrZWQpID8/IGVuYWJsZWRUYWdzWzBdO1xuICAgIGVuYWJsZWRUYWdzLmZvckVhY2goKHQpID0+ICh0LnRhYkluZGV4ID0gdCA9PT0gZm9jdXNUYXJnZXQgPyAwIDogLTEpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUFycm93S2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSB8fCAhaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IGVuYWJsZWRUYWdzID0gdGhpcy5fZW5hYmxlZFRhZ3MoKTtcbiAgICBjb25zdCBjdXJyZW50ID0gZW5hYmxlZFRhZ3MuaW5kZXhPZihldnQudGFyZ2V0IGFzIFNiYlRhZ0VsZW1lbnQ8VD4pO1xuICAgIGlmIChjdXJyZW50ID09PSAtMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5leHRJbmRleCA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBlbmFibGVkVGFncy5sZW5ndGgpO1xuICAgIGNvbnN0IG5leHRUYWcgPSBlbmFibGVkVGFnc1tuZXh0SW5kZXhdO1xuXG4gICAgLy8gT25seSBtb3ZlIGZvY3VzLCBkbyBub3Qgc2VsZWN0LiBTZWxlY3Rpb24gaGFwcGVucyB2aWEgY2xpY2sgb3IgU3BhY2UvRW50ZXIuXG4gICAgZW5hYmxlZFRhZ3MuZm9yRWFjaCgodCkgPT4gKHQudGFiSW5kZXggPSB0ID09PSBuZXh0VGFnID8gMCA6IC0xKSk7XG4gICAgbmV4dFRhZy5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlWYWx1ZVRvVGFncyh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgY29uc3QgdGFncyA9IHRoaXMudGFncztcblxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgdGFncy5mb3JFYWNoKCh0KSA9PiAodC5jaGVja2VkID0gZmFsc2UpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdGFncy5ldmVyeSgodCkgPT4gdC52YWx1ZSAhPT0gdmFsdWUpKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gSWYgaXQgaXMgbXVsdGlwbGUgbW9kZSBhbmQgbm8gdGFnIG1hdGNoZXMgdGhlIHZhbHVlLCB3ZSB0cnkgdG8gcGFyc2UgdGhlIHZhbHVlIGFzIEpTT04uXG4gICAgICAgICAgLy8gVGhpcyBhbGxvd3Mgc2VydmVyIHNpZGUgcmVuZGVyaW5nIHRvIHVzZSBhcnJheSB2YWx1ZXMgdG8gYmUgcGFzc2VkIHRvIHRoZSBjbGllbnQgc2lkZS5cbiAgICAgICAgICB2YWx1ZSA9IEpTT04ucGFyc2UodmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLyogZW1wdHkgKi9cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgdmFsdWVBc0FycmF5ID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgICB0YWdzLmZvckVhY2goKHQpID0+ICh0LmNoZWNrZWQgPSB2YWx1ZUFzQXJyYXkuaW5jbHVkZXModC52YWx1ZSkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICB0YWdzLmZvckVhY2goKHQpID0+ICh0LmNoZWNrZWQgPSB0LnZhbHVlID09PSB2YWx1ZSkpO1xuICAgICAgfSBlbHNlIGlmIChpbXBvcnQubWV0YS5lbnYuREVWKSB7XG4gICAgICAgIGNvbnNvbGUud2FybigndmFsdWUgbXVzdCBub3QgYmUgc2V0IGFzIGFuIGFycmF5IGluIHNpbmd1bGFyIG1vZGUuJywgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgJHt0aGlzLnJlbmRlckxpc3Qoe1xuICAgICAgICBjbGFzczogJ3NiYi10YWctZ3JvdXBfX2xpc3QnLFxuICAgICAgICBhcmlhTGFiZWw6IHRoaXMubXVsdGlwbGUgPyB0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCA6IHVuZGVmaW5lZCxcbiAgICAgIH0pfVxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWctZ3JvdXAnOiBTYmJUYWdHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7SUM2QmEsNEJBQWtCO21CQUFxQixpQkFDbEQsc0JBQXdELFVBQVUsQ0FBQzs7Ozs7Ozs7Ozs7O2NBRHhELDJCQUF1QyxZQUVuRDs7O3FDQVNFLFVBQVMsR0FDVCxTQUFTLEVBQUUsV0FBVyxzQkFBcUIsQ0FBRSxDQUFDOzJCQVM5QyxVQUFTLEdBQ1QsU0FBUyxFQUFFLE1BQU0sUUFBTyxDQUFFLENBQUM7dUJBTTNCLFNBQVMsRUFBRSxTQUFTLEtBQUksQ0FBRSxDQUFDOzRCQU8zQixTQUFRLENBQUU7R0F0QlgsYUFBQSxNQUFBLE1BQUEsZ0NBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSx3QkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFrQixNQUFBLEtBQUEsVUFBQTtNQUFBLElBQWxCLHFCQUFrQjtLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSxrQ0FBQSxxQ0FBQTtHQVVsQyxhQUFBLE1BQUEsTUFBQSxzQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGNBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBUSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVIsV0FBUTtLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSx3QkFBQSwyQkFBQTtHQUtLLGFBQUEsTUFBQSxNQUFBLGtCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsVUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFJLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBSixPQUFJO0tBQUE7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
@@ -157,13 +157,28 @@ var SbbTagElement = (() => {
157
157
  super();
158
158
  __runInitializers(this, _size_extraInitializers);
159
159
  this.addEventListener?.("click", () => this._handleClick());
160
- this.addController(new SbbPropertyWatcherController(this, () => this._tagGroup(), { size: (g) => {
161
- this.size = g.size;
162
- } }));
160
+ this.addController(new SbbPropertyWatcherController(this, () => this._tagGroup(), {
161
+ multiple: () => this._updateAriaRole(),
162
+ size: (g) => {
163
+ this.size = g.size;
164
+ }
165
+ }));
163
166
  }
164
167
  _tagGroup() {
165
168
  return this.closest?.("sbb-tag-group") ?? null;
166
169
  }
170
+ _updateAriaRole() {
171
+ const tagGroup = this._tagGroup();
172
+ if (tagGroup && !tagGroup.multiple) {
173
+ this.internals.role = "radio";
174
+ this.internals.ariaChecked = `${this.checked}`;
175
+ this.internals.ariaPressed = null;
176
+ } else {
177
+ this.internals.role = "button";
178
+ this.internals.ariaChecked = null;
179
+ this.internals.ariaPressed = `${this.checked}`;
180
+ }
181
+ }
167
182
  isDisabledExternally() {
168
183
  return this._tagGroup()?.disabled ?? false;
169
184
  }
@@ -173,7 +188,6 @@ var SbbTagElement = (() => {
173
188
  const tagGroup = this._tagGroup();
174
189
  if (tagGroup && !tagGroup.multiple && this.checked) return;
175
190
  this.checked = !this.checked;
176
- /** The input event fires when the value has been changed as a direct result of a user action. */
177
191
  this.dispatchEvent(new InputEvent("input", {
178
192
  bubbles: true,
179
193
  composed: true
@@ -192,13 +206,19 @@ var SbbTagElement = (() => {
192
206
  }
193
207
  willUpdate(changedProperties) {
194
208
  super.willUpdate(changedProperties);
209
+ const tagGroup = this._tagGroup();
195
210
  if (changedProperties.has("checked")) {
196
- this.internals.ariaPressed = `${this.checked}`;
211
+ this._updateAriaRole();
197
212
  this.toggleState("checked", this.checked);
198
213
  this.updateFormValue();
199
214
  }
200
- const tagGroup = this._tagGroup();
201
- if (tagGroup && !tagGroup.multiple && changedProperties.has("checked") && this.checked) tagGroup?.tags.filter((t) => t !== this).forEach((t) => t.checked = false);
215
+ if (tagGroup && !tagGroup.multiple && changedProperties.has("checked")) {
216
+ if (this.checked) tagGroup.tags.forEach((t) => {
217
+ t.tabIndex = t === this ? 0 : -1;
218
+ t.checked = t === this;
219
+ });
220
+ else if (!tagGroup.tags.some((t) => t.checked)) tagGroup["updateExclusiveTabIndex"]();
221
+ }
202
222
  }
203
223
  /**
204
224
  * @internal
@@ -235,4 +255,4 @@ var SbbTagElement = (() => {
235
255
  //#endregion
236
256
  export { SbbTagElement as t };
237
257
 
238
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC1ENllvd3VjVy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy90YWcuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy90YWcuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbiRkaXNhYmxlZDogJzpkaXNhYmxlZCwgW2Rpc2FibGVkLWludGVyYWN0aXZlXSc7XG4kYWN0aXZlOiAnOmFjdGl2ZSwgOnN0YXRlKGFjdGl2ZSknO1xuXG46aG9zdCB7XG4gIC0tc2JiLXRhZy1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTJ4KVxuICApO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gIC8vIFVzZSAhaW1wb3J0YW50IGhlcmUgdG8gbm90IGludGVyZmVyZSB3aXRoIEZpcmVmb3ggZm9jdXMgcmluZyBkZWZpbml0aW9uXG4gIC8vIHdoaWNoIGFwcGVhcnMgaW4gbm9ybWFsaXplIENTUyBvZiBzZXZlcmFsIGZyYW1ld29ya3MuXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuOmhvc3QoW3NpemU9J3MnXSkge1xuICAtLXNiYi10YWctaGVpZ2h0OiB2YXIoLS1zYmItdGFnLWhlaWdodC1zKTtcbiAgLS1zYmItdGFnLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItdGFnLXBhZGRpbmctaW5saW5lLXMpO1xufVxuXG46aG9zdChbc2l6ZT0nbSddKSB7XG4gIC0tc2JiLXRhZy1oZWlnaHQ6IHZhcigtLXNiYi10YWctaGVpZ2h0LW0pO1xuICAtLXNiYi10YWctcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi10YWctcGFkZGluZy1pbmxpbmUtbSk7XG59XG5cbi8vIEFjdGl2ZSBzdGF0ZVxuOmhvc3QoOnN0YXRlKGNoZWNrZWQpKSB7XG4gIC0tc2JiLXRhZy1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItMyk7XG4gIC0tc2JiLXRhZy1ib3JkZXItd2lkdGg6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpO1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItdGFnLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgLS1zYmItdGFnLWJvcmRlci13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC00eCk7XG4gIH1cbn1cblxuOmhvc3QoOmlzKCN7JGRpc2FibGVkfSkpIHtcbiAgLS1zYmItdGFnLXRleHQtY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3ItYWx1bWluaXVtKSk7XG4gIC0tc2JiLXRhZy1hbW91bnQtY29sb3I6IHZhcigtLXNiYi10YWctdGV4dC1jb2xvcik7XG4gIC0tc2JiLXRhZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgLS1zYmItdGFnLWJvcmRlci1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItY2VtZW50KSwgdmFyKC0tc2JiLWNvbG9yLXNtb2tlKSk7XG4gIC0tc2JiLXRhZy1ib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgLS1zYmItdGFnLWN1cnNvcjogdW5zZXQ7XG4gIC0tc2JiLXRhZy1wb2ludGVyLWV2ZW50czogbm9uZTtcblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIC0tc2JiLXRhZy10ZXh0LWNvbG9yOiBHcmF5VGV4dDtcbiAgICAtLXNiYi10YWctYW1vdW50LWNvbG9yOiBHcmF5VGV4dDtcbiAgICAtLXNiYi10YWctYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoY2hlY2tlZCk6aXMoI3skZGlzYWJsZWR9KSkge1xuICAtLXNiYi10YWctYm9yZGVyLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1tZXRhbCksIHZhcigtLXNiYi1jb2xvci1jZW1lbnQpKTtcbiAgLS1zYmItdGFnLWJvcmRlci1zdHlsZTogZGFzaGVkO1xufVxuXG46aG9zdCg6aG92ZXI6bm90KCN7JGRpc2FibGVkfSwgI3skYWN0aXZlfSkpIHtcbiAgQGluY2x1ZGUgc2JiLmhvdmVyLW1xKCRob3ZlcjogdHJ1ZSkge1xuICAgIC0tc2JiLXRhZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgICAtLXNiYi10YWctaW5zZXQ6IGNhbGModmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCkgKiAtMSk7XG4gICAgLS1zYmItdGFnLWNvbnRlbnQtc2hpZnQ6IHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSAqIC0xKSk7XG5cbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgLS1zYmItdGFnLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcmVzc2VkIHN0YXRlXG46aG9zdCg6aXMoI3skYWN0aXZlfSk6bm90KCN7JGRpc2FibGVkfSkpIHtcbiAgLS1zYmItdGFnLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICAtLXNiYi10YWctYm9yZGVyLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1pcm9uKSwgdmFyKC0tc2JiLWNvbG9yLXN0b3JtKSk7XG4gIC0tc2JiLXRhZy1ib3JkZXItd2lkdGg6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpO1xuICAtLXNiYi10YWctdGV4dC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTQpO1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItdGFnLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0O1xuICAgIC0tc2JiLXRhZy10ZXh0LWNvbG9yOiBCdXR0b25UZXh0O1xuICB9XG59XG5cbi5zYmItdGFnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLXNiYi10YWctaGVpZ2h0KTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IHZhcigtLXNiYi10ZXh0LWZvbnQtc2l6ZS14cyk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICBnYXA6IHZhcigtLXNiYi10YWctZ2FwKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi10YWctcGFkZGluZy1pbmxpbmUpO1xuICBjdXJzb3I6IHZhcigtLXNiYi10YWctY3Vyc29yLCB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXRhZy1ib3JkZXItcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLXNiYi10YWctdGV4dC1jb2xvcik7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXNiYi10YWctYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItdGFnLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi10YWctcG9pbnRlci1ldmVudHMsIHVuc2V0KTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogdmFyKC0tc2JiLXRhZy1pbnNldCwgMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXRhZy1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi10YWctYm9yZGVyLXdpZHRoKSB2YXIoLS1zYmItdGFnLWJvcmRlci1zdHlsZSkgdmFyKC0tc2JiLXRhZy1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi10YWctYm9yZGVyLXJhZGl1cyk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tc2JiLXRhZy1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItdGFnLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGluc2V0LCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7XG5cbiAgICA6aG9zdCg6Zm9jdXMtdmlzaWJsZSkgJiB7XG4gICAgICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi10YWdfX2ljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkgKiAxZW0pO1xuICBmbGV4LXNocmluazogMDtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkLWljb24pLCA6c3RhdGUoaGFzLWljb24tbmFtZSkpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zYmItdGFnX190ZXh0IHtcbiAgQGluY2x1ZGUgc2JiLmVsbGlwc2lzO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uc2JiLXRhZ19fYW1vdW50IHtcbiAgY29sb3I6IHZhcigtLXNiYi10YWctYW1vdW50LWNvbG9yKTtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkLWFtb3VudCksIFthbW91bnRdKSkgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2JiLXRhZy0tc2hpZnQge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tc2JiLXRhZy1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi10YWctYW5pbWF0aW9uLWVhc2luZyk7XG4gIHRyYW5zZm9ybTogdmFyKC0tc2JiLXRhZy1jb250ZW50LXNoaWZ0LCAwKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQge1xuICBmb3JjZVR5cGUsXG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbiAgb21pdEVtcHR5Q29udmVydGVyLFxuICBTYmJCdXR0b25MaWtlQmFzZUVsZW1lbnQsXG4gIFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbixcbiAgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5wdXJlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFnR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vdGFnLWdyb3VwL3RhZy1ncm91cC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWcuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgc2VsZWN0YWJsZSBlbGVtZW50IHdoaWNoIGNhbiBiZSB1c2VkIGFzIGEgZmlsdGVyLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHRhZyBsYWJlbC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgYW4gaWNvbiBhdCB0aGUgY29tcG9uZW50IHN0YXJ0LCBieSBwcm92aWRpbmcgYSBgc2JiLWljb25gIGNvbXBvbmVudC5cbiAqIEBzbG90IGFtb3VudCAtIFByb3ZpZGUgYW4gYW1vdW50IHRvIHNob3cgaXQgYXQgdGhlIGNvbXBvbmVudCBlbmQuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmcpIHwgbnVsbFxuICovXG5leHBvcnQgY2xhc3MgU2JiVGFnRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oXG4gIFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbihTYmJCdXR0b25MaWtlQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdGFnJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBpbnB1dDogJ2lucHV0JyxcbiAgICBkaWRDaGFuZ2U6ICdkaWRDaGFuZ2UnLFxuICAgIGNoYW5nZTogJ2NoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBBbW91bnQgZGlzcGxheWVkIGluc2lkZSB0aGUgdGFnLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFtb3VudDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRhZyBpcyBjaGVja2VkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogZmFsc2UsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGNoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGFnIHNpemUsIGVpdGhlciBzIChsZWFuIHRoZW1lIGRlZmF1bHQpIG9yIG0gKHN0YW5kYXJkIHRoZW1lIGRlZmF1bHQpLlxuICAgKiBUaGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIGNsb3Nlc3QgYDxzYmItdGFnLWdyb3VwPmAuXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbScgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoKSA9PiB0aGlzLl9oYW5kbGVDbGljaygpKTtcbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLl90YWdHcm91cCgpLCB7XG4gICAgICAgIHNpemU6IChnKSA9PiB7XG4gICAgICAgICAgdGhpcy5zaXplID0gZy5zaXplO1xuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3RhZ0dyb3VwKCk6IFNiYlRhZ0dyb3VwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNsb3Nlc3Q/Lignc2JiLXRhZy1ncm91cCcpID8/IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNEaXNhYmxlZEV4dGVybmFsbHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RhZ0dyb3VwKCk/LmRpc2FibGVkID8/IGZhbHNlO1xuICB9XG5cbiAgLyoqIE1ldGhvZCB0cmlnZ2VyZWQgb24gYnV0dG9uIGNsaWNrLiBJbnZlcnRzIHRoZSBjaGVja2VkIHZhbHVlIGFuZCBlbWl0cyBldmVudHMuICovXG4gIHByaXZhdGUgX2hhbmRsZUNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gUHJldmVudCBkZWFjdGl2YXRpbmcgb24gZXhjbHVzaXZlIC8gcmFkaW8gbW9kZVxuICAgIGNvbnN0IHRhZ0dyb3VwID0gdGhpcy5fdGFnR3JvdXAoKTtcbiAgICBpZiAodGFnR3JvdXAgJiYgIXRhZ0dyb3VwLm11bHRpcGxlICYmIHRoaXMuY2hlY2tlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuXG4gICAgLyoqIFRoZSBpbnB1dCBldmVudCBmaXJlcyB3aGVuIHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkIGFzIGEgZGlyZWN0IHJlc3VsdCBvZiBhIHVzZXIgYWN0aW9uLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuXG4gICAgICogVW5saWtlIHRoZSBpbnB1dCBldmVudCwgdGhlIGNoYW5nZSBldmVudCBpcyBub3QgbmVjZXNzYXJpbHkgZmlyZWRcbiAgICAgKiBmb3IgZWFjaCBhbHRlcmF0aW9uIHRvIGFuIGVsZW1lbnQncyB2YWx1ZS5cbiAgICAgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuXG4gICAgLyoqXG4gICAgICogRGVwcmVjYXRlZC4gTWlycm9ycyBjaGFuZ2UgZXZlbnQgZm9yIFJlYWN0LiBXaWxsIGJlIHJlbW92ZWQgb25jZSBSZWFjdCBwcm9wZXJseSBzdXBwb3J0cyBjaGFuZ2UgZXZlbnRzLlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnZGlkQ2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnY2hlY2tlZCcpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhUHJlc3NlZCA9IGAke3RoaXMuY2hlY2tlZH1gO1xuICAgICAgdGhpcy50b2dnbGVTdGF0ZSgnY2hlY2tlZCcsIHRoaXMuY2hlY2tlZCk7XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IHRhZ0dyb3VwID0gdGhpcy5fdGFnR3JvdXAoKTtcbiAgICBpZiAodGFnR3JvdXAgJiYgIXRhZ0dyb3VwLm11bHRpcGxlICYmIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnY2hlY2tlZCcpICYmIHRoaXMuY2hlY2tlZCkge1xuICAgICAgdGFnR3JvdXA/LnRhZ3MuZmlsdGVyKCh0KSA9PiB0ICE9PSB0aGlzKS5mb3JFYWNoKCh0KSA9PiAodC5jaGVja2VkID0gZmFsc2UpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkID0gdGhpcy5oYXNBdHRyaWJ1dGUoJ2NoZWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkIHtcbiAgICBpZiAoc3RhdGUpIHtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IHN0YXRlID09PSAndHJ1ZSc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICBzdXBlci51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmb3JtU3RhdGUoKTogRm9ybVJlc3RvcmVTdGF0ZSB7XG4gICAgcmV0dXJuIGAke3RoaXMuY2hlY2tlZH1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhZ19faWNvbiBzYmItdGFnLS1zaGlmdFwiPiAke3RoaXMucmVuZGVySWNvblNsb3QoKX0gPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdGFnX190ZXh0IHNiYi10YWctLXNoaWZ0XCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhZ19fYW1vdW50IHNiYi10YWctLXNoaWZ0XCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJhbW91bnRcIj4ke3RoaXMuYW1vdW50fTwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdGFnJzogU2JiVGFnRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztJQytCYSx1QkFBYTttQkFBcUIsaUJBQzdDLCtCQUErQix3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7OztjQUQ3QyxzQkFBa0MsWUFFOUM7Ozt3QkFVRSxTQUFRLENBQUU7eUJBSVYsVUFBUyxHQUNULFNBQVM7SUFBRSxTQUFTO0lBQU0sV0FBVztHQUFrQixDQUFFLENBQUM7MEJBSTFELFVBQVMsR0FDVCxTQUFTO0lBQUUsU0FBUztJQUFPLE1BQU07R0FBTyxDQUFFLENBQUM7dUJBTzNDLFNBQVMsRUFBRSxTQUFTLEtBQUksQ0FBRSxDQUFDO0dBaEI1QixhQUFBLE1BQUEsTUFBQSxtQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSyxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQUwsUUFBSztLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSxxQkFBQSx3QkFBQTtHQUtyQixhQUFBLE1BQUEsTUFBQSxvQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFlBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQU4sU0FBTTtLQUFBO0lBQUE7SUFBQSxVQUFBO0dB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
258
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC1DRERiMmZuVi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy90YWcuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy90YWcuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbiRkaXNhYmxlZDogJzpkaXNhYmxlZCwgW2Rpc2FibGVkLWludGVyYWN0aXZlXSc7XG4kYWN0aXZlOiAnOmFjdGl2ZSwgOnN0YXRlKGFjdGl2ZSknO1xuXG46aG9zdCB7XG4gIC0tc2JiLXRhZy1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTJ4KVxuICApO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gIC8vIFVzZSAhaW1wb3J0YW50IGhlcmUgdG8gbm90IGludGVyZmVyZSB3aXRoIEZpcmVmb3ggZm9jdXMgcmluZyBkZWZpbml0aW9uXG4gIC8vIHdoaWNoIGFwcGVhcnMgaW4gbm9ybWFsaXplIENTUyBvZiBzZXZlcmFsIGZyYW1ld29ya3MuXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuOmhvc3QoW3NpemU9J3MnXSkge1xuICAtLXNiYi10YWctaGVpZ2h0OiB2YXIoLS1zYmItdGFnLWhlaWdodC1zKTtcbiAgLS1zYmItdGFnLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItdGFnLXBhZGRpbmctaW5saW5lLXMpO1xufVxuXG46aG9zdChbc2l6ZT0nbSddKSB7XG4gIC0tc2JiLXRhZy1oZWlnaHQ6IHZhcigtLXNiYi10YWctaGVpZ2h0LW0pO1xuICAtLXNiYi10YWctcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi10YWctcGFkZGluZy1pbmxpbmUtbSk7XG59XG5cbi8vIEFjdGl2ZSBzdGF0ZVxuOmhvc3QoOnN0YXRlKGNoZWNrZWQpKSB7XG4gIC0tc2JiLXRhZy1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItMyk7XG4gIC0tc2JiLXRhZy1ib3JkZXItd2lkdGg6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpO1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItdGFnLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgLS1zYmItdGFnLWJvcmRlci13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC00eCk7XG4gIH1cbn1cblxuOmhvc3QoOmlzKCN7JGRpc2FibGVkfSkpIHtcbiAgLS1zYmItdGFnLXRleHQtY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3ItYWx1bWluaXVtKSk7XG4gIC0tc2JiLXRhZy1hbW91bnQtY29sb3I6IHZhcigtLXNiYi10YWctdGV4dC1jb2xvcik7XG4gIC0tc2JiLXRhZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgLS1zYmItdGFnLWJvcmRlci1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItY2VtZW50KSwgdmFyKC0tc2JiLWNvbG9yLXNtb2tlKSk7XG4gIC0tc2JiLXRhZy1ib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgLS1zYmItdGFnLWN1cnNvcjogdW5zZXQ7XG4gIC0tc2JiLXRhZy1wb2ludGVyLWV2ZW50czogbm9uZTtcblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIC0tc2JiLXRhZy10ZXh0LWNvbG9yOiBHcmF5VGV4dDtcbiAgICAtLXNiYi10YWctYW1vdW50LWNvbG9yOiBHcmF5VGV4dDtcbiAgICAtLXNiYi10YWctYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoY2hlY2tlZCk6aXMoI3skZGlzYWJsZWR9KSkge1xuICAtLXNiYi10YWctYm9yZGVyLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1tZXRhbCksIHZhcigtLXNiYi1jb2xvci1jZW1lbnQpKTtcbiAgLS1zYmItdGFnLWJvcmRlci1zdHlsZTogZGFzaGVkO1xufVxuXG46aG9zdCg6aG92ZXI6bm90KCN7JGRpc2FibGVkfSwgI3skYWN0aXZlfSkpIHtcbiAgQGluY2x1ZGUgc2JiLmhvdmVyLW1xKCRob3ZlcjogdHJ1ZSkge1xuICAgIC0tc2JiLXRhZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgICAtLXNiYi10YWctaW5zZXQ6IGNhbGModmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCkgKiAtMSk7XG4gICAgLS1zYmItdGFnLWNvbnRlbnQtc2hpZnQ6IHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSAqIC0xKSk7XG5cbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgLS1zYmItdGFnLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcmVzc2VkIHN0YXRlXG46aG9zdCg6aXMoI3skYWN0aXZlfSk6bm90KCN7JGRpc2FibGVkfSkpIHtcbiAgLS1zYmItdGFnLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICAtLXNiYi10YWctYm9yZGVyLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1pcm9uKSwgdmFyKC0tc2JiLWNvbG9yLXN0b3JtKSk7XG4gIC0tc2JiLXRhZy1ib3JkZXItd2lkdGg6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpO1xuICAtLXNiYi10YWctdGV4dC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTQpO1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItdGFnLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0O1xuICAgIC0tc2JiLXRhZy10ZXh0LWNvbG9yOiBCdXR0b25UZXh0O1xuICB9XG59XG5cbi5zYmItdGFnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLXNiYi10YWctaGVpZ2h0KTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IHZhcigtLXNiYi10ZXh0LWZvbnQtc2l6ZS14cyk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICBnYXA6IHZhcigtLXNiYi10YWctZ2FwKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi10YWctcGFkZGluZy1pbmxpbmUpO1xuICBjdXJzb3I6IHZhcigtLXNiYi10YWctY3Vyc29yLCB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXRhZy1ib3JkZXItcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLXNiYi10YWctdGV4dC1jb2xvcik7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXNiYi10YWctYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItdGFnLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi10YWctcG9pbnRlci1ldmVudHMsIHVuc2V0KTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogdmFyKC0tc2JiLXRhZy1pbnNldCwgMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXRhZy1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi10YWctYm9yZGVyLXdpZHRoKSB2YXIoLS1zYmItdGFnLWJvcmRlci1zdHlsZSkgdmFyKC0tc2JiLXRhZy1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi10YWctYm9yZGVyLXJhZGl1cyk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tc2JiLXRhZy1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItdGFnLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGluc2V0LCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGJveC1zaGFkb3c7XG5cbiAgICA6aG9zdCg6Zm9jdXMtdmlzaWJsZSkgJiB7XG4gICAgICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi10YWdfX2ljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkgKiAxZW0pO1xuICBmbGV4LXNocmluazogMDtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkLWljb24pLCA6c3RhdGUoaGFzLWljb24tbmFtZSkpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zYmItdGFnX190ZXh0IHtcbiAgQGluY2x1ZGUgc2JiLmVsbGlwc2lzO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uc2JiLXRhZ19fYW1vdW50IHtcbiAgY29sb3I6IHZhcigtLXNiYi10YWctYW1vdW50LWNvbG9yKTtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkLWFtb3VudCksIFthbW91bnRdKSkgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2JiLXRhZy0tc2hpZnQge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tc2JiLXRhZy1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi10YWctYW5pbWF0aW9uLWVhc2luZyk7XG4gIHRyYW5zZm9ybTogdmFyKC0tc2JiLXRhZy1jb250ZW50LXNoaWZ0LCAwKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQge1xuICBmb3JjZVR5cGUsXG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbiAgb21pdEVtcHR5Q29udmVydGVyLFxuICBTYmJCdXR0b25MaWtlQmFzZUVsZW1lbnQsXG4gIFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbixcbiAgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5wdXJlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFnR3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vdGFnLWdyb3VwL3RhZy1ncm91cC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWcuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgc2VsZWN0YWJsZSBlbGVtZW50IHdoaWNoIGNhbiBiZSB1c2VkIGFzIGEgZmlsdGVyLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHRhZyBsYWJlbC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgYW4gaWNvbiBhdCB0aGUgY29tcG9uZW50IHN0YXJ0LCBieSBwcm92aWRpbmcgYSBgc2JiLWljb25gIGNvbXBvbmVudC5cbiAqIEBzbG90IGFtb3VudCAtIFByb3ZpZGUgYW4gYW1vdW50IHRvIHNob3cgaXQgYXQgdGhlIGNvbXBvbmVudCBlbmQuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmcpIHwgbnVsbFxuICovXG5leHBvcnQgY2xhc3MgU2JiVGFnRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oXG4gIFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbihTYmJCdXR0b25MaWtlQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdGFnJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBpbnB1dDogJ2lucHV0JyxcbiAgICBkaWRDaGFuZ2U6ICdkaWRDaGFuZ2UnLFxuICAgIGNoYW5nZTogJ2NoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBBbW91bnQgZGlzcGxheWVkIGluc2lkZSB0aGUgdGFnLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFtb3VudDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRhZyBpcyBjaGVja2VkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogZmFsc2UsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGNoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogVGFnIHNpemUsIGVpdGhlciBzIChsZWFuIHRoZW1lIGRlZmF1bHQpIG9yIG0gKHN0YW5kYXJkIHRoZW1lIGRlZmF1bHQpLlxuICAgKiBUaGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIGNsb3Nlc3QgYDxzYmItdGFnLWdyb3VwPmAuXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbScgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoKSA9PiB0aGlzLl9oYW5kbGVDbGljaygpKTtcbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLl90YWdHcm91cCgpLCB7XG4gICAgICAgIG11bHRpcGxlOiAoKSA9PiB0aGlzLl91cGRhdGVBcmlhUm9sZSgpLFxuICAgICAgICBzaXplOiAoZykgPT4ge1xuICAgICAgICAgIHRoaXMuc2l6ZSA9IGcuc2l6ZTtcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF90YWdHcm91cCgpOiBTYmJUYWdHcm91cEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0Py4oJ3NiYi10YWctZ3JvdXAnKSA/PyBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQXJpYVJvbGUoKTogdm9pZCB7XG4gICAgY29uc3QgdGFnR3JvdXAgPSB0aGlzLl90YWdHcm91cCgpO1xuICAgIGlmICh0YWdHcm91cCAmJiAhdGFnR3JvdXAubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnJvbGUgPSAncmFkaW8nO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNoZWNrZWQgPSBgJHt0aGlzLmNoZWNrZWR9YDtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFQcmVzc2VkID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnRlcm5hbHMucm9sZSA9ICdidXR0b24nO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNoZWNrZWQgPSBudWxsO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYVByZXNzZWQgPSBgJHt0aGlzLmNoZWNrZWR9YDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaXNEaXNhYmxlZEV4dGVybmFsbHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RhZ0dyb3VwKCk/LmRpc2FibGVkID8/IGZhbHNlO1xuICB9XG5cbiAgLyoqIE1ldGhvZCB0cmlnZ2VyZWQgb24gYnV0dG9uIGNsaWNrLiBJbnZlcnRzIHRoZSBjaGVja2VkIHZhbHVlIGFuZCBlbWl0cyBldmVudHMuICovXG4gIHByaXZhdGUgX2hhbmRsZUNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gUHJldmVudCBkZWFjdGl2YXRpbmcgb24gZXhjbHVzaXZlIC8gcmFkaW8gbW9kZVxuICAgIGNvbnN0IHRhZ0dyb3VwID0gdGhpcy5fdGFnR3JvdXAoKTtcbiAgICBpZiAodGFnR3JvdXAgJiYgIXRhZ0dyb3VwLm11bHRpcGxlICYmIHRoaXMuY2hlY2tlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuXG4gICAgICogVW5saWtlIHRoZSBpbnB1dCBldmVudCwgdGhlIGNoYW5nZSBldmVudCBpcyBub3QgbmVjZXNzYXJpbHkgZmlyZWRcbiAgICAgKiBmb3IgZWFjaCBhbHRlcmF0aW9uIHRvIGFuIGVsZW1lbnQncyB2YWx1ZS5cbiAgICAgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuXG4gICAgLyoqXG4gICAgICogRGVwcmVjYXRlZC4gTWlycm9ycyBjaGFuZ2UgZXZlbnQgZm9yIFJlYWN0LiBXaWxsIGJlIHJlbW92ZWQgb25jZSBSZWFjdCBwcm9wZXJseSBzdXBwb3J0cyBjaGFuZ2UgZXZlbnRzLlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnZGlkQ2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIGNvbnN0IHRhZ0dyb3VwID0gdGhpcy5fdGFnR3JvdXAoKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2NoZWNrZWQnKSkge1xuICAgICAgdGhpcy5fdXBkYXRlQXJpYVJvbGUoKTtcbiAgICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2NoZWNrZWQnLCB0aGlzLmNoZWNrZWQpO1xuICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICB9XG5cbiAgICBpZiAodGFnR3JvdXAgJiYgIXRhZ0dyb3VwLm11bHRpcGxlICYmIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnY2hlY2tlZCcpKSB7XG4gICAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICAgIHRhZ0dyb3VwLnRhZ3MuZm9yRWFjaCgodCkgPT4ge1xuICAgICAgICAgIHQudGFiSW5kZXggPSB0ID09PSB0aGlzID8gMCA6IC0xO1xuICAgICAgICAgIHQuY2hlY2tlZCA9IHQgPT09IHRoaXM7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmICghdGFnR3JvdXAudGFncy5zb21lKCh0KSA9PiB0LmNoZWNrZWQpKSB7XG4gICAgICAgIHRhZ0dyb3VwWyd1cGRhdGVFeGNsdXNpdmVUYWJJbmRleCddKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMuaGFzQXR0cmlidXRlKCdjaGVja2VkJyk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgKTogdm9pZCB7XG4gICAgaWYgKHN0YXRlKSB7XG4gICAgICB0aGlzLmNoZWNrZWQgPSBzdGF0ZSA9PT0gJ3RydWUnO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2hlY2tlZCkge1xuICAgICAgc3VwZXIudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnNldEZvcm1WYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZm9ybVN0YXRlKCk6IEZvcm1SZXN0b3JlU3RhdGUge1xuICAgIHJldHVybiBgJHt0aGlzLmNoZWNrZWR9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi10YWdfX2ljb24gc2JiLXRhZy0tc2hpZnRcIj4gJHt0aGlzLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRhZ19fdGV4dCBzYmItdGFnLS1zaGlmdFwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi10YWdfX2Ftb3VudCBzYmItdGFnLS1zaGlmdFwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiYW1vdW50XCI+JHt0aGlzLmFtb3VudH08L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRhZyc6IFNiYlRhZ0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7SUMrQmEsdUJBQWE7bUJBQXFCLGlCQUM3QywrQkFBK0Isd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Y0FEN0Msc0JBQWtDLFlBRTlDOzs7d0JBVUUsU0FBUSxDQUFFO3lCQUlWLFVB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
@@ -1,5 +1,5 @@
1
- import { t as SbbTagGroupElement } from "./tag-group.component-jSgluqL-.js";
2
- import { t as SbbTagElement } from "./tag.component-D6YowucW.js";
1
+ import { t as SbbTagGroupElement } from "./tag-group.component-DTff1eBB.js";
2
+ import { t as SbbTagElement } from "./tag.component-CDDb2fnV.js";
3
3
  import "./tag.pure.js";
4
4
  //#region src/elements/tag.ts
5
5
  /** @entrypoint */
@@ -1,3 +1,3 @@
1
- import { t as SbbTagGroupElement } from "./tag-group.component-jSgluqL-.js";
2
- import { t as SbbTagElement } from "./tag.component-D6YowucW.js";
1
+ import { t as SbbTagGroupElement } from "./tag-group.component-DTff1eBB.js";
2
+ import { t as SbbTagElement } from "./tag.component-CDDb2fnV.js";
3
3
  export { SbbTagElement, SbbTagGroupElement };
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@sbb-esta/lyne-elements-dev",
3
- "version": "5.0.0-next.3-dev.1779813787",
3
+ "version": "5.0.0-next.3-dev.1779890843",
4
4
  "description": "Lyne Design System",
5
5
  "keywords": [
6
6
  "design system",
7
7
  "web components",
8
8
  "lit",
9
- "https://github.com/sbb-design-systems/lyne-components/commit/0c01c99a312b167452ae11d730c2f170cf5a0544"
9
+ "https://github.com/sbb-design-systems/lyne-components/commit/30782dcc6ecd31bd4d3d226cf14994a7e9573862"
10
10
  ],
11
11
  "type": "module",
12
12
  "exports": {
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../tag.component-BrKoQeIW.js";
1
+ import { t as e } from "../../tag.component-r8diGGP-.js";
2
2
  export { e as SbbTagElement };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../tag-group.component-ByRxy8UG.js";
1
+ import { t as e } from "../../tag-group.component-CJwbkP70.js";
2
2
  export { e as SbbTagGroupElement };
@@ -1,30 +1,27 @@
1
1
  import { __esDecorate as e, __runInitializers as t } from "tslib";
2
2
  import { html as n, isServer as r, unsafeCSS as i } from "lit";
3
3
  import { property as a } from "lit/decorators.js";
4
- import { SbbDisabledMixin as o, SbbElement as s, SbbNamedSlotListMixin as c, forceType as l } from "./core.js";
4
+ import { SbbDisabledMixin as o, SbbElement as s, SbbNamedSlotListMixin as c, forceType as l, getNextElementIndex as u, isArrowKeyPressed as d } from "./core.js";
5
5
  //#region src/elements/tag/tag-group/tag-group.scss?inline
6
- var u = ":host{display:block}.sbb-tag-group__list{display:flex;flex-wrap:wrap;gap:var(--sbb-spacing-fixed-3x)}.sbb-tag-group__list>:is(li,span){display:flex;max-width:100%}", d = (() => {
7
- let d = o(c(s)), f = [], p, m = [], h = [], g, _ = [], v = [], y, b = [], x = [], S;
8
- return class extends d {
9
- constructor() {
10
- super(...arguments), this.listChildLocalNames = (t(this, f), ["sbb-tag", "div"]), this.#e = t(this, m, ""), this.#t = (t(this, h), t(this, _, !1)), this.#n = (t(this, v), t(this, b, null)), this._value = (t(this, x), null);
11
- }
6
+ var f = ":host{display:block}.sbb-tag-group__list{display:flex;flex-wrap:wrap;gap:var(--sbb-spacing-fixed-3x)}.sbb-tag-group__list>:is(li,span){display:flex;max-width:100%}", p = (() => {
7
+ let p = o(c(s)), m = [], h, g = [], _ = [], v, y = [], b = [], x, S = [], C = [], w;
8
+ return class extends p {
12
9
  static {
13
- let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(d[Symbol.metadata] ?? null) : void 0;
14
- p = [l(), a({ attribute: "list-accessibility-label" })], g = [l(), a({ type: Boolean })], y = [a({ reflect: !0 })], S = [a()], e(this, null, p, {
10
+ let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(p[Symbol.metadata] ?? null) : void 0;
11
+ h = [l(), a({ attribute: "accessibility-label" })], v = [l(), a({ type: Boolean })], x = [a({ reflect: !0 })], w = [a()], e(this, null, h, {
15
12
  kind: "accessor",
16
- name: "listAccessibilityLabel",
13
+ name: "accessibilityLabel",
17
14
  static: !1,
18
15
  private: !1,
19
16
  access: {
20
- has: (e) => "listAccessibilityLabel" in e,
21
- get: (e) => e.listAccessibilityLabel,
17
+ has: (e) => "accessibilityLabel" in e,
18
+ get: (e) => e.accessibilityLabel,
22
19
  set: (e, t) => {
23
- e.listAccessibilityLabel = t;
20
+ e.accessibilityLabel = t;
24
21
  }
25
22
  },
26
23
  metadata: t
27
- }, m, h), e(this, null, g, {
24
+ }, g, _), e(this, null, v, {
28
25
  kind: "accessor",
29
26
  name: "multiple",
30
27
  static: !1,
@@ -37,7 +34,7 @@ var u = ":host{display:block}.sbb-tag-group__list{display:flex;flex-wrap:wrap;ga
37
34
  }
38
35
  },
39
36
  metadata: t
40
- }, _, v), e(this, null, y, {
37
+ }, y, b), e(this, null, x, {
41
38
  kind: "accessor",
42
39
  name: "size",
43
40
  static: !1,
@@ -50,7 +47,7 @@ var u = ":host{display:block}.sbb-tag-group__list{display:flex;flex-wrap:wrap;ga
50
47
  }
51
48
  },
52
49
  metadata: t
53
- }, b, x), e(this, null, S, {
50
+ }, S, C), e(this, null, w, {
54
51
  kind: "setter",
55
52
  name: "value",
56
53
  static: !1,
@@ -62,7 +59,7 @@ var u = ":host{display:block}.sbb-tag-group__list{display:flex;flex-wrap:wrap;ga
62
59
  }
63
60
  },
64
61
  metadata: t
65
- }, null, f), t && Object.defineProperty(this, Symbol.metadata, {
62
+ }, null, m), t && Object.defineProperty(this, Symbol.metadata, {
66
63
  enumerable: !0,
67
64
  configurable: !0,
68
65
  writable: !0,
@@ -73,13 +70,13 @@ var u = ":host{display:block}.sbb-tag-group__list{display:flex;flex-wrap:wrap;ga
73
70
  this.elementName = "sbb-tag-group";
74
71
  }
75
72
  static {
76
- this.styles = [i(u)];
73
+ this.styles = [i(f)];
77
74
  }
78
75
  #e;
79
- get listAccessibilityLabel() {
76
+ get accessibilityLabel() {
80
77
  return this.#e;
81
78
  }
82
- set listAccessibilityLabel(e) {
79
+ set accessibilityLabel(e) {
83
80
  this.#e = e;
84
81
  }
85
82
  #t;
@@ -109,8 +106,26 @@ var u = ":host{display:block}.sbb-tag-group__list{display:flex;flex-wrap:wrap;ga
109
106
  get tags() {
110
107
  return Array.from(this.querySelectorAll?.("sbb-tag") ?? []);
111
108
  }
109
+ constructor() {
110
+ super(), this.listChildLocalNames = (t(this, m), ["sbb-tag", "div"]), this.#e = t(this, g, ""), this.#t = (t(this, _), t(this, y, !1)), this.#n = (t(this, b), t(this, S, null)), this._value = (t(this, C), null), this.addEventListener?.("keydown", (e) => this._handleArrowKeyDown(e));
111
+ }
112
112
  willUpdate(e) {
113
- super.willUpdate(e), e.has("value") && !this.hasUpdated && this._value && this._applyValueToTags(this.value), e.has("disabled") && this.tags.forEach((e) => e.requestUpdate?.("disabled")), (e.has("listChildren") || e.has("multiple")) && !this.multiple && this.tags.filter((e) => e.checked).slice(1).forEach((e) => e.checked = !1), e.has("listAccessibilityLabel") && (this.internals.role = this.listAccessibilityLabel ? null : "group");
113
+ super.willUpdate(e), e.has("value") && !this.hasUpdated && this._value && this._applyValueToTags(this.value), e.has("disabled") && this.tags.forEach((e) => e.requestUpdate?.("disabled")), (e.has("listChildren") || e.has("multiple")) && (this.multiple ? e.has("multiple") && this._enabledTags().forEach((e) => e.tabIndex = 0) : (this.tags.filter((e) => e.checked).slice(1).forEach((e) => e.checked = !1), this.updateExclusiveTabIndex())), (e.has("accessibilityLabel") || e.has("multiple")) && (this.multiple ? (this.internals.role = this.accessibilityLabel ? null : "group", this.internals.ariaLabel = null) : (this.internals.role = "radiogroup", this.internals.ariaLabel = this.accessibilityLabel));
114
+ }
115
+ _enabledTags() {
116
+ return this.tags.filter((e) => !e.disabled);
117
+ }
118
+ updateExclusiveTabIndex() {
119
+ let e = this._enabledTags(), t = e.find((e) => e.checked) ?? e[0];
120
+ e.forEach((e) => e.tabIndex = e === t ? 0 : -1);
121
+ }
122
+ _handleArrowKeyDown(e) {
123
+ if (this.multiple || !d(e)) return;
124
+ e.preventDefault();
125
+ let t = this._enabledTags(), n = t.indexOf(e.target);
126
+ if (n === -1) return;
127
+ let r = t[u(e, n, t.length)];
128
+ t.forEach((e) => e.tabIndex = e === r ? 0 : -1), r.focus();
114
129
  }
115
130
  _applyValueToTags(e) {
116
131
  let t = this.tags;
@@ -127,11 +142,11 @@ var u = ":host{display:block}.sbb-tag-group__list{display:flex;flex-wrap:wrap;ga
127
142
  return n`
128
143
  ${this.renderList({
129
144
  class: "sbb-tag-group__list",
130
- ariaLabel: this.listAccessibilityLabel
145
+ ariaLabel: this.multiple ? this.accessibilityLabel : void 0
131
146
  })}
132
147
  `;
133
148
  }
134
149
  };
135
150
  })();
136
151
  //#endregion
137
- export { d as t };
152
+ export { p as t };
@@ -116,13 +116,20 @@ var d = ":host{--sbb-tag-animation-duration: var( --sbb-disable-animation-durati
116
116
  this.#r = e;
117
117
  }
118
118
  constructor() {
119
- super(), t(this, w), this.addEventListener?.("click", () => this._handleClick()), this.addController(new s(this, () => this._tagGroup(), { size: (e) => {
120
- this.size = e.size;
121
- } }));
119
+ super(), t(this, w), this.addEventListener?.("click", () => this._handleClick()), this.addController(new s(this, () => this._tagGroup(), {
120
+ multiple: () => this._updateAriaRole(),
121
+ size: (e) => {
122
+ this.size = e.size;
123
+ }
124
+ }));
122
125
  }
123
126
  _tagGroup() {
124
127
  return this.closest?.("sbb-tag-group") ?? null;
125
128
  }
129
+ _updateAriaRole() {
130
+ let e = this._tagGroup();
131
+ e && !e.multiple ? (this.internals.role = "radio", this.internals.ariaChecked = `${this.checked}`, this.internals.ariaPressed = null) : (this.internals.role = "button", this.internals.ariaChecked = null, this.internals.ariaPressed = `${this.checked}`);
132
+ }
126
133
  isDisabledExternally() {
127
134
  return this._tagGroup()?.disabled ?? !1;
128
135
  }
@@ -135,9 +142,11 @@ var d = ":host{--sbb-tag-animation-duration: var( --sbb-disable-animation-durati
135
142
  })), this.dispatchEvent(new Event("change", { bubbles: !0 })), this.dispatchEvent(new Event("didChange", { bubbles: !0 })));
136
143
  }
137
144
  willUpdate(e) {
138
- super.willUpdate(e), e.has("checked") && (this.internals.ariaPressed = `${this.checked}`, this.toggleState("checked", this.checked), this.updateFormValue());
145
+ super.willUpdate(e);
139
146
  let t = this._tagGroup();
140
- t && !t.multiple && e.has("checked") && this.checked && t?.tags.filter((e) => e !== this).forEach((e) => e.checked = !1);
147
+ e.has("checked") && (this._updateAriaRole(), this.toggleState("checked", this.checked), this.updateFormValue()), t && !t.multiple && e.has("checked") && (this.checked ? t.tags.forEach((e) => {
148
+ e.tabIndex = e === this ? 0 : -1, e.checked = e === this;
149
+ }) : t.tags.some((e) => e.checked) || t.updateExclusiveTabIndex());
141
150
  }
142
151
  formResetCallback() {
143
152
  this.checked = this.hasAttribute("checked");
package/tag.js CHANGED
@@ -1,5 +1,5 @@
1
- import { t as e } from "./tag-group.component-ByRxy8UG.js";
2
- import { t } from "./tag.component-BrKoQeIW.js";
1
+ import { t as e } from "./tag-group.component-CJwbkP70.js";
2
+ import { t } from "./tag.component-r8diGGP-.js";
3
3
  import "./tag.pure.js";
4
4
  t.define(), e.define();
5
5
  //#endregion
package/tag.pure.js CHANGED
@@ -1,3 +1,3 @@
1
- import { t as e } from "./tag-group.component-ByRxy8UG.js";
2
- import { t } from "./tag.component-BrKoQeIW.js";
1
+ import { t as e } from "./tag-group.component-CJwbkP70.js";
2
+ import { t } from "./tag.component-r8diGGP-.js";
3
3
  export { t as SbbTagElement, e as SbbTagGroupElement };
@@ -1,194 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { html, isServer, unsafeCSS } from "lit";
3
- import { property } from "lit/decorators.js";
4
- import { SbbDisabledMixin, SbbElement, SbbNamedSlotListMixin, forceType } from "./core.js";
5
- //#region src/elements/tag/tag-group/tag-group.scss?inline
6
- var tag_group_default = ":host {\n display: block;\n}\n\n.sbb-tag-group__list {\n display: flex;\n flex-wrap: wrap;\n gap: var(--sbb-spacing-fixed-3x);\n}\n\n.sbb-tag-group__list > :is(li, span) {\n display: flex;\n max-width: 100%;\n}";
7
- //#endregion
8
- //#region src/elements/tag/tag-group/tag-group.component.ts
9
- /**
10
- * It can be used as a container for one or more `sbb-tag`.
11
- *
12
- * @slot - Use the unnamed slot to add one or more 'sbb-tag' elements to the `sbb-tag-group`.
13
- * @overrideType value - (T = string | (string | null)[]) | null
14
- */
15
- var SbbTagGroupElement = (() => {
16
- let _classSuper = SbbDisabledMixin(SbbNamedSlotListMixin(SbbElement));
17
- let _instanceExtraInitializers = [];
18
- let _listAccessibilityLabel_decorators;
19
- let _listAccessibilityLabel_initializers = [];
20
- let _listAccessibilityLabel_extraInitializers = [];
21
- let _multiple_decorators;
22
- let _multiple_initializers = [];
23
- let _multiple_extraInitializers = [];
24
- let _size_decorators;
25
- let _size_initializers = [];
26
- let _size_extraInitializers = [];
27
- let _set_value_decorators;
28
- return class SbbTagGroupElement extends _classSuper {
29
- constructor() {
30
- super(...arguments);
31
- this.listChildLocalNames = (__runInitializers(this, _instanceExtraInitializers), ["sbb-tag", "div"]);
32
- this.#listAccessibilityLabel_accessor_storage = __runInitializers(this, _listAccessibilityLabel_initializers, "");
33
- this.#multiple_accessor_storage = (__runInitializers(this, _listAccessibilityLabel_extraInitializers), __runInitializers(this, _multiple_initializers, false));
34
- this.#size_accessor_storage = (__runInitializers(this, _multiple_extraInitializers), __runInitializers(this, _size_initializers, null));
35
- this._value = (__runInitializers(this, _size_extraInitializers), null);
36
- }
37
- static {
38
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
39
- _listAccessibilityLabel_decorators = [forceType(), property({ attribute: "list-accessibility-label" })];
40
- _multiple_decorators = [forceType(), property({ type: Boolean })];
41
- _size_decorators = [property({ reflect: true })];
42
- _set_value_decorators = [property()];
43
- __esDecorate(this, null, _listAccessibilityLabel_decorators, {
44
- kind: "accessor",
45
- name: "listAccessibilityLabel",
46
- static: false,
47
- private: false,
48
- access: {
49
- has: (obj) => "listAccessibilityLabel" in obj,
50
- get: (obj) => obj.listAccessibilityLabel,
51
- set: (obj, value) => {
52
- obj.listAccessibilityLabel = value;
53
- }
54
- },
55
- metadata: _metadata
56
- }, _listAccessibilityLabel_initializers, _listAccessibilityLabel_extraInitializers);
57
- __esDecorate(this, null, _multiple_decorators, {
58
- kind: "accessor",
59
- name: "multiple",
60
- static: false,
61
- private: false,
62
- access: {
63
- has: (obj) => "multiple" in obj,
64
- get: (obj) => obj.multiple,
65
- set: (obj, value) => {
66
- obj.multiple = value;
67
- }
68
- },
69
- metadata: _metadata
70
- }, _multiple_initializers, _multiple_extraInitializers);
71
- __esDecorate(this, null, _size_decorators, {
72
- kind: "accessor",
73
- name: "size",
74
- static: false,
75
- private: false,
76
- access: {
77
- has: (obj) => "size" in obj,
78
- get: (obj) => obj.size,
79
- set: (obj, value) => {
80
- obj.size = value;
81
- }
82
- },
83
- metadata: _metadata
84
- }, _size_initializers, _size_extraInitializers);
85
- __esDecorate(this, null, _set_value_decorators, {
86
- kind: "setter",
87
- name: "value",
88
- static: false,
89
- private: false,
90
- access: {
91
- has: (obj) => "value" in obj,
92
- set: (obj, value) => {
93
- obj.value = value;
94
- }
95
- },
96
- metadata: _metadata
97
- }, null, _instanceExtraInitializers);
98
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
99
- enumerable: true,
100
- configurable: true,
101
- writable: true,
102
- value: _metadata
103
- });
104
- }
105
- static {
106
- this.elementName = "sbb-tag-group";
107
- }
108
- static {
109
- this.styles = [unsafeCSS(tag_group_default)];
110
- }
111
- #listAccessibilityLabel_accessor_storage;
112
- /**
113
- * This will be forwarded as aria-label to the inner list.
114
- */
115
- get listAccessibilityLabel() {
116
- return this.#listAccessibilityLabel_accessor_storage;
117
- }
118
- set listAccessibilityLabel(value) {
119
- this.#listAccessibilityLabel_accessor_storage = value;
120
- }
121
- #multiple_accessor_storage;
122
- /**
123
- * If set multiple to false, the selection is exclusive and the value is a string (or null).
124
- * If set multiple to true, the selection can have multiple values and therefore value is an array.
125
- *
126
- * Changing multiple during run time is not supported.
127
- */
128
- get multiple() {
129
- return this.#multiple_accessor_storage;
130
- }
131
- set multiple(value) {
132
- this.#multiple_accessor_storage = value;
133
- }
134
- #size_accessor_storage;
135
- /**
136
- * Tag group size, either s (lean theme default) or m (standard theme default).
137
- */
138
- get size() {
139
- return this.#size_accessor_storage;
140
- }
141
- set size(value) {
142
- this.#size_accessor_storage = value;
143
- }
144
- /**
145
- * Value of the sbb-tag-group.
146
- * If set multiple to false, the value is a string (or null).
147
- * If set multiple to true, the value is an array.
148
- */
149
- set value(value) {
150
- if (isServer || !this.hasUpdated) {
151
- this._value = value;
152
- return;
153
- }
154
- this._applyValueToTags(value);
155
- }
156
- get value() {
157
- return isServer || !this.hasUpdated ? this._value : this.multiple ? this.tags.filter((t) => t.checked).map((t) => t.value) : this.tags.find((t) => t.checked)?.value ?? null;
158
- }
159
- /** The child instances of sbb-tag as an array. */
160
- get tags() {
161
- return Array.from(this.querySelectorAll?.("sbb-tag") ?? []);
162
- }
163
- willUpdate(changedProperties) {
164
- super.willUpdate(changedProperties);
165
- if (changedProperties.has("value") && !this.hasUpdated && this._value) this._applyValueToTags(this.value);
166
- if (changedProperties.has("disabled")) this.tags.forEach((r) => r.requestUpdate?.("disabled"));
167
- if ((changedProperties.has("listChildren") || changedProperties.has("multiple")) && !this.multiple) this.tags.filter((tag) => tag.checked).slice(1).forEach((tag) => tag.checked = false);
168
- if (changedProperties.has("listAccessibilityLabel")) this.internals.role = this.listAccessibilityLabel ? null : "group";
169
- }
170
- _applyValueToTags(value) {
171
- const tags = this.tags;
172
- if (value === null) tags.forEach((t) => t.checked = false);
173
- else if (this.multiple) {
174
- if (!Array.isArray(value) && tags.every((t) => t.value !== value)) try {
175
- value = JSON.parse(value);
176
- } catch {}
177
- const valueAsArray = Array.isArray(value) ? value : [value];
178
- tags.forEach((t) => t.checked = valueAsArray.includes(t.value));
179
- } else if (!Array.isArray(value)) tags.forEach((t) => t.checked = t.value === value);
180
- }
181
- render() {
182
- return html`
183
- ${this.renderList({
184
- class: "sbb-tag-group__list",
185
- ariaLabel: this.listAccessibilityLabel
186
- })}
187
- `;
188
- }
189
- };
190
- })();
191
- //#endregion
192
- export { SbbTagGroupElement as t };
193
-
194
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLWdyb3VwLmNvbXBvbmVudC1qU2dsdXFMLS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy1ncm91cC90YWctZ3JvdXAuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFnL3RhZy1ncm91cC90YWctZ3JvdXAuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zYmItdGFnLWdyb3VwX19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTN4KTtcbn1cblxuLy8gVXNpbmcgLi4uIGxpIHNlbGVjdG9yLCBiZWNhdXNlIHRoZSBsaSBnZW5lcmF0aW9uXG4vLyBpcyBoYW5kbGVkIGluIHRoZSBjb21wb25lbnQgYmFzZSBjbGFzcy5cbi5zYmItdGFnLWdyb3VwX19saXN0ID4gOmlzKGxpLCBzcGFuKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHtcbiAgZm9yY2VUeXBlLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50LFxuICBTYmJOYW1lZFNsb3RMaXN0TWl4aW4sXG4gIHR5cGUgV2l0aExpc3RDaGlsZHJlbixcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhZ0VsZW1lbnQgfSBmcm9tICcuLi90YWcvdGFnLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RhZy1ncm91cC5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtb3JlIGBzYmItdGFnYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBvbmUgb3IgbW9yZSAnc2JiLXRhZycgZWxlbWVudHMgdG8gdGhlIGBzYmItdGFnLWdyb3VwYC5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZyB8IChzdHJpbmcgfCBudWxsKVtdKSB8IG51bGxcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRhZ0dyb3VwRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxTYmJUYWdFbGVtZW50LCB0eXBlb2YgU2JiRWxlbWVudD4oU2JiRWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10YWctZ3JvdXAnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG4gIC8vIERJViBpcyBhZGRlZCBoZXJlIGR1ZSB0byBzcGVjaWFsIHJlcXVpcmVtZW50cyBmcm9tIHNiYi5jaC5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IGxpc3RDaGlsZExvY2FsTmFtZXMgPSBbJ3NiYi10YWcnLCAnZGl2J107XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgaW5uZXIgbGlzdC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdsaXN0LWFjY2Vzc2liaWxpdHktbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBsaXN0QWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogSWYgc2V0IG11bHRpcGxlIHRvIGZhbHNlLCB0aGUgc2VsZWN0aW9uIGlzIGV4Y2x1c2l2ZSBhbmQgdGhlIHZhbHVlIGlzIGEgc3RyaW5nIChvciBudWxsKS5cbiAgICogSWYgc2V0IG11bHRpcGxlIHRvIHRydWUsIHRoZSBzZWxlY3Rpb24gY2FuIGhhdmUgbXVsdGlwbGUgdmFsdWVzIGFuZCB0aGVyZWZvcmUgdmFsdWUgaXMgYW4gYXJyYXkuXG4gICAqXG4gICAqIENoYW5naW5nIG11bHRpcGxlIGR1cmluZyBydW4gdGltZSBpcyBub3Qgc3VwcG9ydGVkLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRhZyBncm91cCBzaXplLCBlaXRoZXIgcyAobGVhbiB0aGVtZSBkZWZhdWx0KSBvciBtIChzdGFuZGFyZCB0aGVtZSBkZWZhdWx0KS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6IFNiYlRhZ0VsZW1lbnRbJ3NpemUnXSA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFZhbHVlIG9mIHRoZSBzYmItdGFnLWdyb3VwLlxuICAgKiBJZiBzZXQgbXVsdGlwbGUgdG8gZmFsc2UsIHRoZSB2YWx1ZSBpcyBhIHN0cmluZyAob3IgbnVsbCkuXG4gICAqIElmIHNldCBtdWx0aXBsZSB0byB0cnVlLCB0aGUgdmFsdWUgaXMgYW4gYXJyYXkuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBUIHwgKFQgfCBudWxsKVtdIHwgbnVsbCkge1xuICAgIGlmIChpc1NlcnZlciB8fCAhdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9hcHBseVZhbHVlVG9UYWdzKHZhbHVlKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFQgfCAoVCB8IG51bGwpW10gfCBudWxsIHtcbiAgICByZXR1cm4gaXNTZXJ2ZXIgfHwgIXRoaXMuaGFzVXBkYXRlZFxuICAgICAgPyB0aGlzLl92YWx1ZVxuICAgICAgOiB0aGlzLm11bHRpcGxlXG4gICAgICAgID8gdGhpcy50YWdzLmZpbHRlcigodCkgPT4gdC5jaGVja2VkKS5tYXAoKHQpID0+IHQudmFsdWUpXG4gICAgICAgIDogKHRoaXMudGFncy5maW5kKCh0KSA9PiB0LmNoZWNrZWQpPy52YWx1ZSA/PyBudWxsKTtcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogVCB8IChUIHwgbnVsbClbXSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgY2hpbGQgaW5zdGFuY2VzIG9mIHNiYi10YWcgYXMgYW4gYXJyYXkuICovXG4gIHB1YmxpYyBnZXQgdGFncygpOiBTYmJUYWdFbGVtZW50PFQ+W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYlRhZ0VsZW1lbnQ8VD4+KCdzYmItdGFnJykgPz8gW10pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCd2YWx1ZScpICYmICF0aGlzLmhhc1VwZGF0ZWQgJiYgdGhpcy5fdmFsdWUpIHtcbiAgICAgIHRoaXMuX2FwcGx5VmFsdWVUb1RhZ3ModGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgdGhpcy50YWdzLmZvckVhY2goKHIpID0+IHIucmVxdWVzdFVwZGF0ZT8uKCdkaXNhYmxlZCcpKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSB8fCBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ211bHRpcGxlJykpICYmXG4gICAgICAhdGhpcy5tdWx0aXBsZVxuICAgICkge1xuICAgICAgLy8gRW5zdXJlIG9ubHkgb25lIHRhZyBjaGVja2VkXG4gICAgICB0aGlzLnRhZ3NcbiAgICAgICAgLmZpbHRlcigodGFnKSA9PiB0YWcuY2hlY2tlZClcbiAgICAgICAgLnNsaWNlKDEpXG4gICAgICAgIC5mb3JFYWNoKCh0YWcpID0+ICh0YWcuY2hlY2tlZCA9IGZhbHNlKSk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdEFjY2Vzc2liaWxpdHlMYWJlbCcpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5yb2xlID0gdGhpcy5saXN0QWNjZXNzaWJpbGl0eUxhYmVsID8gbnVsbCA6ICdncm91cCc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlWYWx1ZVRvVGFncyh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgY29uc3QgdGFncyA9IHRoaXMudGFncztcblxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgdGFncy5mb3JFYWNoKCh0KSA9PiAodC5jaGVja2VkID0gZmFsc2UpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdGFncy5ldmVyeSgodCkgPT4gdC52YWx1ZSAhPT0gdmFsdWUpKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gSWYgaXQgaXMgbXVsdGlwbGUgbW9kZSBhbmQgbm8gdGFnIG1hdGNoZXMgdGhlIHZhbHVlLCB3ZSB0cnkgdG8gcGFyc2UgdGhlIHZhbHVlIGFzIEpTT04uXG4gICAgICAgICAgLy8gVGhpcyBhbGxvd3Mgc2VydmVyIHNpZGUgcmVuZGVyaW5nIHRvIHVzZSBhcnJheSB2YWx1ZXMgdG8gYmUgcGFzc2VkIHRvIHRoZSBjbGllbnQgc2lkZS5cbiAgICAgICAgICB2YWx1ZSA9IEpTT04ucGFyc2UodmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLyogZW1wdHkgKi9cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgdmFsdWVBc0FycmF5ID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgICB0YWdzLmZvckVhY2goKHQpID0+ICh0LmNoZWNrZWQgPSB2YWx1ZUFzQXJyYXkuaW5jbHVkZXModC52YWx1ZSkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICB0YWdzLmZvckVhY2goKHQpID0+ICh0LmNoZWNrZWQgPSB0LnZhbHVlID09PSB2YWx1ZSkpO1xuICAgICAgfSBlbHNlIGlmIChpbXBvcnQubWV0YS5lbnYuREVWKSB7XG4gICAgICAgIGNvbnNvbGUud2FybigndmFsdWUgbXVzdCBub3QgYmUgc2V0IGFzIGFuIGFycmF5IGluIHNpbmd1bGFyIG1vZGUuJywgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgJHt0aGlzLnJlbmRlckxpc3Qoe1xuICAgICAgICBjbGFzczogJ3NiYi10YWctZ3JvdXBfX2xpc3QnLFxuICAgICAgICBhcmlhTGFiZWw6IHRoaXMubGlzdEFjY2Vzc2liaWxpdHlMYWJlbCxcbiAgICAgIH0pfVxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWctZ3JvdXAnOiBTYmJUYWdHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7SUMyQmEsNEJBQWtCO21CQUFxQixpQkFDbEQsc0JBQXdELFVBQVUsQ0FBQzs7Ozs7Ozs7Ozs7O2NBRHhELDJCQUF1QyxZQUVuRDs7O0dBSTZCLEtBQUEsdUJBTmpCLGtCQUFBLE1BQUEsMEJBQUEsR0FNdUMsQ0FBQyxXQUFXLEtBQUs7R0FPbkQsS0FBQSwyQ0FBQSxrQkFBQSxNQUFBLHNDQUFpQyxFQUFFO0dBVW5DLEtBQUEsOEJBQUEsa0JBQUEsTUFBQSx5Q0FBQSxHQUFBLGtCQUFBLE1BQUEsd0JBQW9CLEtBQUs7R0FLSSxLQUFBLDBCQUFBLGtCQUFBLE1BQUEsMkJBQUEsR0FBQSxrQkFBQSxNQUFBLG9CQUE4QixJQUFJO0dBc0J2RSxLQUFBLFVBQU0sa0JBQUEsTUFBQSx1QkFBQSxHQUE0QjtFQW9FNUM7Ozt5Q0EzR0csVUFBUyxHQUNULFNBQVMsRUFBRSxXQUFXLDJCQUEwQixDQUFFLENBQUM7MkJBU25ELFVBQVMsR0FDVCxTQUFTLEVBQUUsTUFBTSxRQUFPLENBQUUsQ0FBQzt1QkFNM0IsU0FBUyxFQUFFLFNBQVMsS0FBSSxDQUFFLENBQUM7NEJBTzNCLFNBQVEsQ0FBRTtHQXRCWCxhQUFBLE1BQUEsTUFBQSxvQ0FBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLDRCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQXNCLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBdEIseUJBQXNCO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLHNDQUFBLHlDQUFBO0dBVXRDLGFBQUEsTUFBQSxNQUFBLHNCQUFBO0lBQUEsTUFBQTtJQUFB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