@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779268556 → 5.0.0-next.3-dev.1779280398
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.
- package/autocomplete/autocomplete-base-element.js +1 -1
- package/autocomplete/autocomplete.component.js +1 -1
- package/{autocomplete-base-element-jaXVQcA7.js → autocomplete-base-element-DjfmUS0W.js} +0 -1
- package/autocomplete.js +1 -1
- package/autocomplete.pure.js +1 -1
- package/calendar/calendar/calendar.component.js +1 -1
- package/{calendar.component-DKgkIocz.js → calendar.component-BhUyyFtR.js} +66 -66
- package/calendar.js +1 -1
- package/calendar.pure.js +1 -1
- package/core/base-elements/button-base-element.js +47 -68
- package/core/datetime/date-adapter.js +2 -2
- package/core/i18n/i18n.js +69 -74
- package/core/mixins/form-associated-checkbox-mixin.js +17 -26
- package/core.js +40 -42
- package/custom-elements.json +98 -446
- package/datepicker/common/datepicker-button.js +1 -1
- package/{datepicker-button-aYDFZ_3v.js → datepicker-button-CuoZoC6e.js} +0 -3
- package/datepicker.js +1 -1
- package/datepicker.pure.js +1 -1
- package/development/autocomplete/autocomplete-base-element.d.ts +0 -2
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete/autocomplete-base-element.js +1 -1
- package/development/autocomplete/autocomplete.component.js +1 -1
- package/development/{autocomplete-base-element-JxM7QbC4.js → autocomplete-base-element-CTZEg--s.js} +1 -3
- package/development/autocomplete.js +1 -1
- package/development/autocomplete.pure.js +1 -1
- package/development/calendar/calendar/calendar.component.d.ts +0 -6
- package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
- package/development/calendar/calendar/calendar.component.js +1 -1
- package/development/calendar.component-DnC8Zkdk.js +1478 -0
- package/development/calendar.js +1 -1
- package/development/calendar.pure.js +1 -1
- package/development/core/base-elements/button-base-element.d.ts +1 -0
- package/development/core/base-elements/button-base-element.d.ts.map +1 -1
- package/development/core/base-elements/button-base-element.js +66 -92
- package/development/core/base-elements/element.d.ts.map +1 -1
- package/development/core/datetime/date-adapter.d.ts +0 -5
- package/development/core/datetime/date-adapter.d.ts.map +1 -1
- package/development/core/datetime/date-adapter.js +2 -7
- package/development/core/i18n/i18n.d.ts +0 -1
- package/development/core/i18n/i18n.d.ts.map +1 -1
- package/development/core/i18n/i18n.js +2 -8
- package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-checkbox-mixin.js +7 -21
- package/development/core/mixins/form-associated-mixin.d.ts +1 -1
- package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-mixin.js +1 -1
- package/development/core.d.ts +0 -2
- package/development/core.d.ts.map +1 -1
- package/development/core.js +3 -5
- package/development/datepicker/common/datepicker-button.d.ts +0 -2
- package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
- package/development/datepicker/common/datepicker-button.js +1 -1
- package/development/{datepicker-button-BAT1ebzJ.js → datepicker-button-Bb76EBYH.js} +1 -5
- package/development/datepicker.js +1 -1
- package/development/datepicker.pure.js +1 -1
- package/development/dialog/dialog/dialog.component.js +1 -1
- package/development/{dialog.component-D8B2dVck.js → dialog.component-cZ3SAujq.js} +5 -5
- package/development/dialog.js +1 -1
- package/development/dialog.pure.js +1 -1
- package/development/element-BAsBayf5.js +1 -1
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
- package/development/expansion-panel-header.component-gg5A_7Pz.js +1 -1
- package/development/form-field/form-field/form-field.component.d.ts +0 -6
- package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/development/form-field/form-field/form-field.component.js +1 -1
- package/development/form-field.component-w4nlNsj2.js +670 -0
- package/development/form-field.js +1 -1
- package/development/form-field.pure.js +1 -1
- package/development/icon/icon.component.d.ts +1 -1
- package/development/icon/icon.component.d.ts.map +1 -1
- package/development/icon/icon.component.js +5 -7
- package/development/optgroup-base-element-BzfcJgxG.js +140 -0
- package/development/option/optgroup/optgroup-base-element.d.ts +1 -2
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup/optgroup-base-element.js +1 -1
- package/development/option/optgroup/optgroup.component.js +1 -1
- package/development/option.js +1 -1
- package/development/option.pure.js +1 -1
- package/development/overlay/overlay-base-element.d.ts +2 -4
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay-base-element.js +6 -5
- package/development/overlay/overlay.component.js +1 -1
- package/development/{overlay.component-BH-aue7w.js → overlay.component-DywhKxO1.js} +5 -5
- package/development/overlay.js +1 -1
- package/development/overlay.pure.js +1 -1
- package/development/panel-mixin-DPybe45K.js +1 -1
- package/development/slider/slider.component.d.ts +1 -0
- package/development/slider/slider.component.d.ts.map +1 -1
- package/development/slider/slider.component.js +1 -1
- package/development/{slider.component-BLptxiZ4.js → slider.component-Dz4Nl2ZL.js} +8 -21
- package/development/slider.js +1 -1
- package/development/slider.pure.js +1 -1
- package/development/{step.component-DpSJEkrK.js → step.component-CfA-kmt1.js} +1 -11
- package/development/stepper/step/step.component.d.ts +4 -14
- package/development/stepper/step/step.component.d.ts.map +1 -1
- package/development/stepper/step/step.component.js +1 -1
- package/development/stepper/stepper/stepper.component.js +1 -1
- package/development/{stepper.component-Bv6LCFU0.js → stepper.component-2yRFnnju.js} +5 -5
- package/development/stepper.js +2 -2
- package/development/stepper.pure.js +2 -2
- package/dialog/dialog/dialog.component.js +1 -1
- package/{dialog.component-CsBryhM-.js → dialog.component-D3G0AX4Y.js} +4 -4
- package/dialog.js +1 -1
- package/dialog.pure.js +1 -1
- package/form-field/form-field/form-field.component.js +1 -1
- package/{form-field.component-BdfK6r2v.js → form-field.component-DkqZz7aZ.js} +62 -83
- package/form-field.js +1 -1
- package/form-field.pure.js +1 -1
- package/icon/icon.component.js +2 -5
- package/lean-off-brand-theme.css +1 -0
- package/lean-safety-theme.css +1 -0
- package/lean-theme.css +1 -0
- package/off-brand-theme.css +1 -0
- package/{optgroup-base-element-Cxe8SIQh.js → optgroup-base-element-CBxsRPUF.js} +10 -17
- package/option/optgroup/optgroup-base-element.js +1 -1
- package/option/optgroup/optgroup.component.js +1 -1
- package/option.js +1 -1
- package/option.pure.js +1 -1
- package/overlay/overlay-base-element.js +3 -3
- package/overlay/overlay.component.js +1 -1
- package/{overlay.component-D7Z_vx1A.js → overlay.component-OSLtja0_.js} +4 -4
- package/overlay.js +1 -1
- package/overlay.pure.js +1 -1
- package/package.json +2 -2
- package/safety-theme.css +1 -0
- package/slider/slider.component.js +1 -1
- package/{slider.component-C8LKcM11.js → slider.component-BMkoF1l1.js} +23 -31
- package/slider.js +1 -1
- package/slider.pure.js +1 -1
- package/standard-theme.css +1 -0
- package/core/decorators/host-attributes.js +0 -17
- package/core/eventing/throttle.js +0 -11
- package/development/calendar.component-CgEXjBeQ.js +0 -1473
- package/development/core/decorators/host-attributes.d.ts +0 -22
- package/development/core/decorators/host-attributes.d.ts.map +0 -1
- package/development/core/decorators/host-attributes.js +0 -41
- package/development/core/eventing/throttle.d.ts +0 -3
- package/development/core/eventing/throttle.d.ts.map +0 -1
- package/development/core/eventing/throttle.js +0 -18
- package/development/form-field.component-CPWBCHer.js +0 -702
- package/development/optgroup-base-element-CLfE6pmz.js +0 -147
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { html, nothing, unsafeCSS } from "lit";
|
|
3
|
-
import { property, state } from "lit/decorators.js";
|
|
4
|
-
import { SbbDisabledMixin, SbbElement, SbbPropertyWatcherController, forceType, isSafari } from "./core.js";
|
|
5
|
-
import { SbbDividerElement } from "./divider.pure.js";
|
|
6
|
-
//#region src/elements/option/optgroup/optgroup-base-element.scss?inline
|
|
7
|
-
var optgroup_base_element_default = ":host {\n display: block;\n}\n\n:host(:first-child) {\n --sbb-optgroup-divider-display: none;\n}\n\n:host(:is(:state(size-s),[state--size-s])) {\n --sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-1x);\n}\n\n:host(:is(:state(size-m),[state--size-m])) {\n --sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-2x);\n}\n\n:host(:is(:state(negative),[state--negative])) {\n --sbb-optgroup-label-color: var(--sbb-color-5);\n}\n\n.sbb-optgroup {\n margin-block: var(--sbb-spacing-fixed-4x);\n margin-inline: var(--sbb-spacing-fixed-4x);\n}\n\n.sbb-optgroup__label {\n display: flex;\n column-gap: var(--sbb-spacing-responsive-xxxs);\n font-size: var(--sbb-optgroup-label-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n color: var(--sbb-optgroup-label-color);\n -webkit-text-fill-color: var(--sbb-optgroup-label-color);\n padding-inline: var(--sbb-optgroup-label-padding-inline);\n padding-block-end: var(--sbb-optgroup-label-padding-end);\n}\n\n.sbb-optgroup__divider {\n display: var(--sbb-optgroup-divider-display, block);\n padding-block: var(--sbb-options-panel-divider-margin-block);\n}\n\n.sbb-optgroup__icon-space {\n display: var(--sbb-option-icon-container-display, none);\n min-width: var(--sbb-size-icon-ui-small);\n}\n\n::slotted(sbb-divider) {\n margin-block: var(--sbb-options-panel-divider-margin-block);\n}";
|
|
8
|
-
//#endregion
|
|
9
|
-
//#region src/elements/option/optgroup/optgroup-base-element.ts
|
|
10
|
-
/**
|
|
11
|
-
* On Safari, the groups labels are not read by VoiceOver.
|
|
12
|
-
* To solve the problem, we remove the role="group" and add a hidden span containing the group name
|
|
13
|
-
* TODO: We should periodically check if it has been solved and, if so, remove the property.
|
|
14
|
-
*/
|
|
15
|
-
var inertAriaGroups = isSafari;
|
|
16
|
-
var SbbOptgroupBaseElement = (() => {
|
|
17
|
-
let _classSuper = SbbDisabledMixin(SbbElement);
|
|
18
|
-
let _label_decorators;
|
|
19
|
-
let _label_initializers = [];
|
|
20
|
-
let _label_extraInitializers = [];
|
|
21
|
-
let __inertAriaGroups_decorators;
|
|
22
|
-
let __inertAriaGroups_initializers = [];
|
|
23
|
-
let __inertAriaGroups_extraInitializers = [];
|
|
24
|
-
return class SbbOptgroupBaseElement extends _classSuper {
|
|
25
|
-
static {
|
|
26
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
27
|
-
_label_decorators = [forceType(), property()];
|
|
28
|
-
__inertAriaGroups_decorators = [state()];
|
|
29
|
-
__esDecorate(this, null, _label_decorators, {
|
|
30
|
-
kind: "accessor",
|
|
31
|
-
name: "label",
|
|
32
|
-
static: false,
|
|
33
|
-
private: false,
|
|
34
|
-
access: {
|
|
35
|
-
has: (obj) => "label" in obj,
|
|
36
|
-
get: (obj) => obj.label,
|
|
37
|
-
set: (obj, value) => {
|
|
38
|
-
obj.label = value;
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
metadata: _metadata
|
|
42
|
-
}, _label_initializers, _label_extraInitializers);
|
|
43
|
-
__esDecorate(this, null, __inertAriaGroups_decorators, {
|
|
44
|
-
kind: "accessor",
|
|
45
|
-
name: "_inertAriaGroups",
|
|
46
|
-
static: false,
|
|
47
|
-
private: false,
|
|
48
|
-
access: {
|
|
49
|
-
has: (obj) => "_inertAriaGroups" in obj,
|
|
50
|
-
get: (obj) => obj._inertAriaGroups,
|
|
51
|
-
set: (obj, value) => {
|
|
52
|
-
obj._inertAriaGroups = value;
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
metadata: _metadata
|
|
56
|
-
}, __inertAriaGroups_initializers, __inertAriaGroups_extraInitializers);
|
|
57
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
58
|
-
enumerable: true,
|
|
59
|
-
configurable: true,
|
|
60
|
-
writable: true,
|
|
61
|
-
value: _metadata
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
static {
|
|
65
|
-
this.role = !inertAriaGroups ? "group" : null;
|
|
66
|
-
}
|
|
67
|
-
static {
|
|
68
|
-
this.elementDependencies = [SbbDividerElement];
|
|
69
|
-
}
|
|
70
|
-
static {
|
|
71
|
-
this.styles = [unsafeCSS(optgroup_base_element_default)];
|
|
72
|
-
}
|
|
73
|
-
#label_accessor_storage;
|
|
74
|
-
/** Option group label. */
|
|
75
|
-
get label() {
|
|
76
|
-
return this.#label_accessor_storage;
|
|
77
|
-
}
|
|
78
|
-
set label(value) {
|
|
79
|
-
this.#label_accessor_storage = value;
|
|
80
|
-
}
|
|
81
|
-
#_inertAriaGroups_accessor_storage;
|
|
82
|
-
get _inertAriaGroups() {
|
|
83
|
-
return this.#_inertAriaGroups_accessor_storage;
|
|
84
|
-
}
|
|
85
|
-
set _inertAriaGroups(value) {
|
|
86
|
-
this.#_inertAriaGroups_accessor_storage = value;
|
|
87
|
-
}
|
|
88
|
-
constructor() {
|
|
89
|
-
super();
|
|
90
|
-
this.#label_accessor_storage = __runInitializers(this, _label_initializers, "");
|
|
91
|
-
this.#_inertAriaGroups_accessor_storage = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, __inertAriaGroups_initializers, false));
|
|
92
|
-
this._previousSize = (__runInitializers(this, __inertAriaGroups_extraInitializers), null);
|
|
93
|
-
this.addController(new SbbPropertyWatcherController(this, () => this.closest("sbb-autocomplete, sbb-autocomplete-grid, sbb-select"), { size: (e) => {
|
|
94
|
-
if (this._previousSize) this.internals.states.delete(`size-${this._previousSize}`);
|
|
95
|
-
this._previousSize = e.size;
|
|
96
|
-
if (this._previousSize) this.internals.states.add(`size-${this._previousSize}`);
|
|
97
|
-
} }));
|
|
98
|
-
if (inertAriaGroups) if (this.hydrationRequired) this.hydrationComplete.then(() => this._inertAriaGroups = inertAriaGroups);
|
|
99
|
-
else this._inertAriaGroups = inertAriaGroups;
|
|
100
|
-
}
|
|
101
|
-
connectedCallback() {
|
|
102
|
-
super.connectedCallback();
|
|
103
|
-
this._updateAriaLabel();
|
|
104
|
-
}
|
|
105
|
-
willUpdate(changedProperties) {
|
|
106
|
-
super.willUpdate(changedProperties);
|
|
107
|
-
if (changedProperties.has("disabled")) {
|
|
108
|
-
if (!this._inertAriaGroups) this.internals.ariaDisabled = this.disabled ? "true" : null;
|
|
109
|
-
}
|
|
110
|
-
if (changedProperties.has("label")) this._updateAriaLabel();
|
|
111
|
-
}
|
|
112
|
-
_handleSlotchange() {
|
|
113
|
-
this._updateAriaLabel();
|
|
114
|
-
this._highlightOptions();
|
|
115
|
-
/** @internal */
|
|
116
|
-
this.dispatchEvent(new Event("ɵoptgroupslotchange"));
|
|
117
|
-
}
|
|
118
|
-
_updateAriaLabel() {
|
|
119
|
-
this.internals.ariaLabel = !this._inertAriaGroups ? this.label : null;
|
|
120
|
-
}
|
|
121
|
-
_highlightOptions() {
|
|
122
|
-
const autocomplete = this.getAutocompleteParent();
|
|
123
|
-
if (!autocomplete) return;
|
|
124
|
-
const value = autocomplete.triggerElement?.value;
|
|
125
|
-
if (!value) return;
|
|
126
|
-
this.options.forEach((opt) => opt.highlight(value));
|
|
127
|
-
}
|
|
128
|
-
render() {
|
|
129
|
-
return html`
|
|
130
|
-
<div class="sbb-optgroup__divider">
|
|
131
|
-
<sbb-divider ?negative=${this.matches?.(":is(:state(negative),[state--negative])")}></sbb-divider>
|
|
132
|
-
</div>
|
|
133
|
-
${this.label ? html`
|
|
134
|
-
<div class="sbb-optgroup__label" aria-hidden="true">
|
|
135
|
-
<div class="sbb-optgroup__icon-space"></div>
|
|
136
|
-
<span>${this.label}</span>
|
|
137
|
-
</div>
|
|
138
|
-
` : nothing}
|
|
139
|
-
<slot @slotchange=${this._handleSlotchange}></slot>
|
|
140
|
-
`;
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
})();
|
|
144
|
-
//#endregion
|
|
145
|
-
export { SbbOptgroupBaseElement as t };
|
|
146
|
-
|
|
147
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAtYmFzZS1lbGVtZW50LUNMZkU2cG16LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9vcHRpb24vb3B0Z3JvdXAvb3B0Z3JvdXAtYmFzZS1lbGVtZW50LnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRncm91cC9vcHRncm91cC1iYXNlLWVsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOmZpcnN0LWNoaWxkKSB7XG4gIC0tc2JiLW9wdGdyb3VwLWRpdmlkZXItZGlzcGxheTogbm9uZTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcykpIHtcbiAgLS1zYmItb3B0Z3JvdXAtbGFiZWwtcGFkZGluZy1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtbSkpIHtcbiAgLS1zYmItb3B0Z3JvdXAtbGFiZWwtcGFkZGluZy1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbn1cblxuOmhvc3QoOnN0YXRlKG5lZ2F0aXZlKSkge1xuICAtLXNiYi1vcHRncm91cC1sYWJlbC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xufVxuXG4uc2JiLW9wdGdyb3VwIHtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbn1cblxuLnNiYi1vcHRncm91cF9fbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi1vcHRncm91cC1sYWJlbC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItb3B0Z3JvdXAtbGFiZWwtY29sb3IpO1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tc2JiLW9wdGdyb3VwLWxhYmVsLWNvbG9yKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1vcHRncm91cC1sYWJlbC1wYWRkaW5nLWlubGluZSk7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItb3B0Z3JvdXAtbGFiZWwtcGFkZGluZy1lbmQpO1xufVxuXG4uc2JiLW9wdGdyb3VwX19kaXZpZGVyIHtcbiAgZGlzcGxheTogdmFyKC0tc2JiLW9wdGdyb3VwLWRpdmlkZXItZGlzcGxheSwgYmxvY2spO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItb3B0aW9ucy1wYW5lbC1kaXZpZGVyLW1hcmdpbi1ibG9jayk7XG59XG5cbi8vIEFsaWduIHRoZSBncm91cCBsYWJlbCB0byB0aGUgb3B0aW9uIGxhYmVsXG4uc2JiLW9wdGdyb3VwX19pY29uLXNwYWNlIHtcbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICdwcmVzZXJ2ZS1pY29uLXNwYWNlJyBvbiB0aGUgYXV0b2NvbXBsZXRlXG4gIGRpc3BsYXk6IHZhcigtLXNiYi1vcHRpb24taWNvbi1jb250YWluZXItZGlzcGxheSwgbm9uZSk7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbCk7XG59XG5cbjo6c2xvdHRlZChzYmItZGl2aWRlcikge1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1vcHRpb25zLXBhbmVsLWRpdmlkZXItbWFyZ2luLWJsb2NrKTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS5wdXJlLnRzJztcbmltcG9ydCB7XG4gIGZvcmNlVHlwZSxcbiAgaXNTYWZhcmksXG4gIFNiYkRpc2FibGVkTWl4aW4sXG4gIFNiYkVsZW1lbnQsXG4gIHR5cGUgU2JiRWxlbWVudFR5cGUsXG4gIFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIsXG59IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHsgU2JiRGl2aWRlckVsZW1lbnQgfSBmcm9tICcuLi8uLi9kaXZpZGVyLnB1cmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0LnB1cmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi9vcHRpb24tYmFzZS1lbGVtZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vb3B0Z3JvdXAtYmFzZS1lbGVtZW50LnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBPbiBTYWZhcmksIHRoZSBncm91cHMgbGFiZWxzIGFyZSBub3QgcmVhZCBieSBWb2ljZU92ZXIuXG4gKiBUbyBzb2x2ZSB0aGUgcHJvYmxlbSwgd2UgcmVtb3ZlIHRoZSByb2xlPVwiZ3JvdXBcIiBhbmQgYWRkIGEgaGlkZGVuIHNwYW4gY29udGFpbmluZyB0aGUgZ3JvdXAgbmFtZVxuICogVE9ETzogV2Ugc2hvdWxkIHBlcmlvZGljYWxseSBjaGVjayBpZiBpdCBoYXMgYmVlbiBzb2x2ZWQgYW5kLCBpZiBzbywgcmVtb3ZlIHRoZSBwcm9wZXJ0eS5cbiAqL1xuY29uc3QgaW5lcnRBcmlhR3JvdXBzID0gaXNTYWZhcmk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJPcHRncm91cEJhc2VFbGVtZW50IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICFpbmVydEFyaWFHcm91cHMgPyAnZ3JvdXAnIDogbnVsbDtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBlbGVtZW50RGVwZW5kZW5jaWVzOiBTYmJFbGVtZW50VHlwZVtdID0gW1NiYkRpdmlkZXJFbGVtZW50XTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBPcHRpb24gZ3JvdXAgbGFiZWwuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgbGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2luZXJ0QXJpYUdyb3VwcyA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgb3B0aW9ucygpOiBTYmJPcHRpb25CYXNlRWxlbWVudFtdO1xuXG4gIHByaXZhdGUgX3ByZXZpb3VzU2l6ZTogJ3MnIHwgJ20nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcjxTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB8IFNiYlNlbGVjdEVsZW1lbnQ+KFxuICAgICAgICB0aGlzLFxuICAgICAgICAoKSA9PiB0aGlzLmNsb3Nlc3QoJ3NiYi1hdXRvY29tcGxldGUsIHNiYi1hdXRvY29tcGxldGUtZ3JpZCwgc2JiLXNlbGVjdCcpLFxuICAgICAgICB7XG4gICAgICAgICAgc2l6ZTogKGUpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX3ByZXZpb3VzU2l6ZSA9IGUuc2l6ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgKSxcbiAgICApO1xuXG4gICAgaWYgKGluZXJ0QXJpYUdyb3Vwcykge1xuICAgICAgaWYgKHRoaXMuaHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+ICh0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHMpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2luZXJ0QXJpYUdyb3VwcyA9IGluZXJ0QXJpYUdyb3VwcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl91cGRhdGVBcmlhTGFiZWwoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZGlzYWJsZWQnKSkge1xuICAgICAgaWYgKCF0aGlzLl9pbmVydEFyaWFHcm91cHMpIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYURpc2FibGVkID0gdGhpcy5kaXNhYmxlZCA/ICd0cnVlJyA6IG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2xhYmVsJykpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUFyaWFMYWJlbCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRBdXRvY29tcGxldGVQYXJlbnQoKTogU2JiQXV0b2NvbXBsZXRlQmFzZUVsZW1lbnQgfCBudWxsO1xuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlQXJpYUxhYmVsKCk7XG4gICAgdGhpcy5faGlnaGxpZ2h0T3B0aW9ucygpO1xuICAgIC8vIFVzZWQgdG8gbm90aWZ5IGFzc29jaWF0ZWQgY29tcG9uZW50cyBsaWtlIHRoZSBzYmItc2VsZWN0IHRvIHVwZGF0ZSBzdGF0ZVxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtW9wdGdyb3Vwc2xvdGNoYW5nZScpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUFyaWFMYWJlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWwgPSAhdGhpcy5faW5lcnRBcmlhR3JvdXBzID8gdGhpcy5sYWJlbCA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9oaWdobGlnaHRPcHRpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGF1dG9jb21wbGV0ZSA9IHRoaXMuZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk7XG4gICAgaWYgKCFhdXRvY29tcGxldGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBhdXRvY29tcGxldGUudHJpZ2dlckVsZW1lbnQ/LnZhbHVlO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2goKG9wdCkgPT4gb3B0LmhpZ2hsaWdodCh2YWx1ZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgLy8gVE9ETzogcmVwbGFjZSBkaXZpZGVyIHdpdGggQ1NTXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW9wdGdyb3VwX19kaXZpZGVyXCI+XG4gICAgICAgIDxzYmItZGl2aWRlciA/bmVnYXRpdmU9JHt0aGlzLm1hdGNoZXM/LignOnN0YXRlKG5lZ2F0aXZlKScpfT48L3NiYi1kaXZpZGVyPlxuICAgICAgPC9kaXY+XG4gICAgICAke3RoaXMubGFiZWxcbiAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9fbGFiZWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9faWNvbi1zcGFjZVwiPjwvZGl2PlxuICAgICAgICAgICAgICA8c3Bhbj4ke3RoaXMubGFiZWx9PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgYFxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX2hhbmRsZVNsb3RjaGFuZ2V9Pjwvc2xvdD5cbiAgICBgO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FDOEJBLElBQU0sa0JBQWtCO0lBRUYsZ0NBQXNCO21CQUFTLGlCQUFpQixVQUFVOzs7Ozs7O2NBQTFELCtCQUErQixZQUE0Qjs7O3dCQU05RSxVQUFTLEdBQ1QsU0FBUSxDQUFFO21DQUdWLE1BQUssQ0FBRTtHQUZSLGFBQUEsTUFBQSxNQUFBLG1CQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsV0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtL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
|