@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779268556 → 5.0.0-next.3-dev.1779279790
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/mixins/form-associated-checkbox-mixin.js +17 -26
- package/core.js +40 -42
- package/custom-elements.json +98 -362
- 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/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 +2 -4
- 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.map +1 -1
- package/development/form-field/form-field/form-field.component.js +1 -1
- package/development/form-field.component-Cb58q-Ty.js +702 -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-BoLly8qP.js} +4 -4
- 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
|
@@ -318,9 +318,9 @@ var SbbStepperElement = (() => {
|
|
|
318
318
|
nextIndex: this.selectedIndex !== null ? this.selectedIndex + 1 : null,
|
|
319
319
|
nextStep: this.selectedIndex !== null ? this.steps[this.selectedIndex + 1] : null
|
|
320
320
|
};
|
|
321
|
-
if (this.selected && !this.selected
|
|
322
|
-
this.selected?.deselect();
|
|
323
|
-
step
|
|
321
|
+
if (this.selected && !this.selected["validate"](validatePayload)) return;
|
|
322
|
+
this.selected?.["deselect"]();
|
|
323
|
+
step["select"]();
|
|
324
324
|
/** @internal only to provide double entry in docs. It is a public event! */
|
|
325
325
|
this.dispatchEvent(new SbbStepChangeEvent({
|
|
326
326
|
selectedIndex: this.selectedIndex,
|
|
@@ -361,7 +361,7 @@ var SbbStepperElement = (() => {
|
|
|
361
361
|
}
|
|
362
362
|
_configure() {
|
|
363
363
|
this.steps.forEach((step, i, array) => {
|
|
364
|
-
step
|
|
364
|
+
step["configure"](this._loaded);
|
|
365
365
|
step.label?.configure(i + 1, array.length, this._loaded);
|
|
366
366
|
});
|
|
367
367
|
this._select(this.selected || this._enabledSteps[0]);
|
|
@@ -440,4 +440,4 @@ var SbbStepperElement = (() => {
|
|
|
440
440
|
//#endregion
|
|
441
441
|
export { SbbStepperElement as n, SbbStepChangeEvent as t };
|
|
442
442
|
|
|
443
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQtQnY2TENGVTAuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi02eClcbiAgKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb3VudGVyLXJlc2V0OiBzdGVwLWxhYmVsO1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItc3RlcHBlci1tYXJrZXItY29sb3I6IEJ1dHRvblRleHQ7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKGRpc2FibGUtYW5pbWF0aW9uKSkge1xuICBAaW5jbHVkZSBzYmIuZGlzYWJsZS1hbmltYXRpb247XG59XG5cbjpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXSkge1xuICAtLXNiYi1zdGVwcGVyLW9yaWVudGF0aW9uOiBjb2x1bW47XG59XG5cbi5zYmItc3RlcHBlcl9fbGFiZWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHZhcigtLXNiYi1zdGVwcGVyLW9yaWVudGF0aW9uKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLW0pO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1zYmItc3RlcHBlci1ib3JkZXItd2lkdGgpICogLTEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1zdGVwcGVyLW1hcmtlci1jb2xvcik7XG4gIH1cblxuICA6aG9zdChbb3JpZW50YXRpb249J2hvcml6b250YWwnXSkgJiB7XG4gICAgZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLW0pO1xuICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gICAgYm9yZGVyLWJsb2NrLWVuZDogdmFyKC0tc2JiLXN0ZXBwZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1zYmItYm9yZGVyLWNvbG9yLTQtaW52ZXJ0ZWQpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGluc2V0LWJsb2NrLWVuZDogY2FsYyh2YXIoLS1zYmItc3RlcHBlci1ib3JkZXItd2lkdGgpICogLTEpO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1zYmItc3RlcHBlci1tYXJrZXItd2lkdGgpO1xuICAgICAgd2lkdGg6IHZhcigtLXNiYi1zdGVwcGVyLW1hcmtlci1zaXplLCAwKTtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIHZhcigtLXNiYi1zdGVwcGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXSkgJiB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItc3RlcHBlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1ib3JkZXItY29sb3ItNC1pbnZlcnRlZCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gICAgICB3aWR0aDogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLXdpZHRoKTtcbiAgICAgIGhlaWdodDogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLXNpemUsIDApO1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IHZhcigtLXNiYi1zdGVwcGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLXN0ZXBwZXJfX3N0ZXBzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIDpob3N0KFtvcmllbnRhdGlvbj0naG9yaXpvbnRhbCddKSAmIHtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1zdGVwcGVyLWNvbnRlbnQtaGVpZ2h0KTtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gIH1cbn1cblxuOjpzbG90dGVkKHNiYi1zdGVwLWxhYmVsKTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihzdGVwLWxhYmVsKTtcbiAgY291bnRlci1pbmNyZW1lbnQ6IHN0ZXAtbGFiZWw7XG59XG4iLCJpbXBvcnQgeyBJbnRlcnNlY3Rpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9pbnRlcnNlY3Rpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJIb3Jpem9udGFsRnJvbSB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHtcbiAgZm9yY2VUeXBlLFxuICBnZXROZXh0RWxlbWVudEluZGV4LFxuICBpc0Fycm93S2V5UHJlc3NlZCxcbiAgU2JiRWxlbWVudCxcbiAgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcixcbiAgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRMYXJnZUFuZEFib3ZlLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQWJvdmUsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50VWx0cmFBbmRBYm92ZSxcbiAgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRaZXJvQW5kQWJvdmUsXG59IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwRWxlbWVudCwgU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vc3RlcC9zdGVwLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3N0ZXBwZXIuc2Nzcz9pbmxpbmUnO1xuXG5jb25zdCBERUJPVU5DRV9USU1FID0gMTUwO1xuXG5jb25zdCBicmVha3BvaW50TWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICB6ZXJvOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFplcm9BbmRBYm92ZSxcbiAgc21hbGw6IFNiYk1lZGlhUXVlcnlCcmVha3BvaW50U21hbGxBbmRBYm92ZSxcbiAgbGFyZ2U6IFNiYk1lZGlhUXVlcnlCcmVha3BvaW50TGFyZ2VBbmRBYm92ZSxcbiAgdWx0cmE6IFNiYk1lZGlhUXVlcnlCcmVha3BvaW50VWx0cmFBbmRBYm92ZSxcbn07XG5cbmV4cG9ydCBjbGFzcyBTYmJTdGVwQ2hhbmdlRXZlbnQgZXh0ZW5kcyBFdmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkSW5kZXg6IG51bWJlciB8IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ByZXZpb3VzSW5kZXg6IG51bWJlciB8IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkU3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wcmV2aW91c1N0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbDtcblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBuZXdseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSW5kZXg7XG4gIH1cblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHN0ZXAuICovXG4gIHB1YmxpYyBnZXQgcHJldmlvdXNJbmRleCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fcHJldmlvdXNJbmRleDtcbiAgfVxuXG4gIC8qKiBUaGUgbmV3bHkgc2VsZWN0ZWQgc3RlcCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkU3RlcCgpOiBTYmJTdGVwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFN0ZXA7XG4gIH1cblxuICAvKiogVGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQgc3RlcCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IHByZXZpb3VzU3RlcCgpOiBTYmJTdGVwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9wcmV2aW91c1N0ZXA7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3Ioe1xuICAgIHNlbGVjdGVkSW5kZXgsXG4gICAgcHJldmlvdXNJbmRleCxcbiAgICBzZWxlY3RlZFN0ZXAsXG4gICAgcHJldmlvdXNTdGVwLFxuICB9OiBPbWl0PFNiYlN0ZXBDaGFuZ2VFdmVudCwga2V5b2YgRXZlbnQ+KSB7XG4gICAgc3VwZXIoJ3N0ZXBjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pO1xuICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSBzZWxlY3RlZEluZGV4O1xuICAgIHRoaXMuX3ByZXZpb3VzSW5kZXggPSBwcmV2aW91c0luZGV4O1xuICAgIHRoaXMuX3NlbGVjdGVkU3RlcCA9IHNlbGVjdGVkU3RlcDtcbiAgICB0aGlzLl9wcmV2aW91c1N0ZXAgPSBwcmV2aW91c1N0ZXA7XG4gIH1cbn1cbi8qKlxuICogUHJvdmlkZXMgYSBzdHJ1Y3R1cmVkLCBzdGVwLWJ5LXN0ZXAgd29ya2Zsb3cgZm9yIHVzZXIgaW50ZXJhY3Rpb25zLlxuICogQHNsb3QgLSBQcm92aWRlIGEgYHNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyYCBhbmQgYSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50YCB0byB0aGUgc3RlcHBlci5cbiAqIEBzbG90IHN0ZXAtbGFiZWwgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1zdGVwLWxhYmVsYC5cbiAqIEBzbG90IHN0ZXAgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1zdGVwYC5cbiAqIEBldmVudCB7U2JiU3RlcENoYW5nZUV2ZW50fSBzdGVwY2hhbmdlIC0gRW1pdHMgd2hlbmV2ZXIgYSBzdGVwIHdhcyBjaGFuZ2VkLlxuICovXG5leHBvcnQgY2xhc3MgU2JiU3RlcHBlckVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zdGVwcGVyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBzdGVwY2hhbmdlOiAnc3RlcGNoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqXG4gICAqIElmIHRoZSBzYmItc3RlcHBlciBpcyB1c2VkIGluIGEgc2JiLWRpYWxvZywgdGhlIG1hcmtlciBvbiB0aGUgc2VsZWN0ZWQgZWxlbWVudCB3aWxsIG5vdCBhcHBlYXIsXG4gICAqIGJlY2F1c2UgdGhlIGNhbGN1bGF0aW9ucyBhcmUgZG9uZSB3aGVuIHRoZSBkaWFsb2cgaXMgY2xvc2VkLCBzbyB0aGUgbWFya2VyIGhhcyBhIHdpZHRoIG9mIDA7XG4gICAqIHRoZSBzYW1lIGhhcHBlbnMgZm9yIHRoZSBzdGVwcGVyIGhlaWdodC5cbiAgICogV2UgbmVlZCB0byByZWNhbGN1bGF0ZSBpdCB3aGVuIHRoZSBlbGVtZW50IGJlY29tZXMgdmlzaWJsZS5cbiAgICovXG4gIHByaXZhdGUgX29ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHtcbiAgICAgIGVudHJpZXMuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgICBpZiAoZS5pbnRlcnNlY3Rpb25SYXRpbyA+IDApIHtcbiAgICAgICAgICB0aGlzLl9zZXRTdGVwcGVySGVpZ2h0KHRoaXMuc2VsZWN0ZWQpO1xuICAgICAgICAgIHRoaXMuX3NldE1hcmtlclNpemUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgfSk7XG5cbiAgLyoqIElmIHNldCB0byB0cnVlLCBvbmx5IHRoZSBjdXJyZW50IGFuZCBwcmV2aW91cyBsYWJlbHMgY2FuIGJlIGNsaWNrZWQgYW5kIHNlbGVjdGVkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbGluZWFyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIE92ZXJyaWRlcyB0aGUgYmVoYXZpb3Igb2YgYG9yaWVudGF0aW9uYCBwcm9wZXJ0eS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaG9yaXpvbnRhbC1mcm9tJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgc2V0IGhvcml6b250YWxGcm9tKHZhbHVlOiBTYmJIb3Jpem9udGFsRnJvbSB8IG51bGwpIHtcbiAgICB0aGlzLl9ob3Jpem9udGFsRnJvbSA9IHZhbHVlICYmIGJyZWFrcG9pbnRNYXBbdmFsdWVdID8gdmFsdWUgOiBudWxsO1xuICAgIGlmICh0aGlzLl9ob3Jpem9udGFsRnJvbSAmJiB0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHRoaXMuX2NoZWNrT3JpZW50YXRpb24oKTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCBob3Jpem9udGFsRnJvbSgpOiBTYmJIb3Jpem9udGFsRnJvbSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9ob3Jpem9udGFsRnJvbTtcbiAgfVxuICBwcml2YXRlIF9ob3Jpem9udGFsRnJvbTogU2JiSG9yaXpvbnRhbEZyb20gfCBudWxsID0gbnVsbDtcblxuICAvKiogU3RlcHMgb3JpZW50YXRpb24sIGVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyAobGVhbiB0aGVtZSBkZWZhdWx0KSBvciBtIChzdGFuZGFyZCB0aGVtZSBkZWZhdWx0KS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHN0ZXAuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgcHVibGljIHNldCBzZWxlY3RlZChzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICB0aGlzLl9zZWxlY3Qoc3RlcCk7XG4gICAgfVxuICAgIHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkID0gc3RlcDtcbiAgfVxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcj8uPFNiYlN0ZXBFbGVtZW50Pignc2JiLXN0ZXA6c3RhdGUoc2VsZWN0ZWQpJykgPz8gbnVsbDtcbiAgfVxuICBwcml2YXRlIF9yZXF1ZXN0ZWRTZWxlY3RlZDogU2JiU3RlcEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBzdGVwIGluZGV4LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdzZWxlY3RlZC1pbmRleCcsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkSW5kZXgoaW5kZXg6IG51bWJlciB8IG51bGwpIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkICYmIGluZGV4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZWxlY3QodGhpcy5zdGVwc1tpbmRleF0pO1xuICAgIH1cbiAgICB0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZEluZGV4ID0gaW5kZXg7XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZEluZGV4KCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkID8gdGhpcy5zdGVwcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWQpIDogbnVsbDtcbiAgfVxuICBwcml2YXRlIF9yZXF1ZXN0ZWRTZWxlY3RlZEluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIHN0ZXBzIG9mIHRoZSBzdGVwcGVyLiAqL1xuICBwdWJsaWMgZ2V0IHN0ZXBzKCk6IFNiYlN0ZXBFbGVtZW50W10ge1xuICAgIGNvbnN0IHN0ZXBzOiBTYmJTdGVwRWxlbWVudFtdID0gW107XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1zdGVwJykuZm9yRWFjaCgoc3RlcCkgPT4ge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwKTtcbiAgICAgIHN0ZXBzLnB1c2goc3RlcCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHN0ZXBzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2VuYWJsZWRTdGVwcygpOiBTYmJTdGVwRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwcy5maWx0ZXIoKHMpID0+IHtcbiAgICAgIGlmIChzLmxhYmVsKSB7XG4gICAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUocy5sYWJlbCk7XG4gICAgICAgIHJldHVybiAhcy5sYWJlbC5kaXNhYmxlZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlclRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX21lZGlhTWF0Y2hlciA9IG5ldyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyKHRoaXMsIHt9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncmVzaXplY2hhbmdlJywgKGU6IEV2ZW50KSA9PiB0aGlzLl9vblNlbGVjdGVkU3RlcFJlc2l6ZShlKSk7XG4gIH1cblxuICAvKiogU2VsZWN0cyB0aGUgbmV4dCBzdGVwLiAqL1xuICBwdWJsaWMgbmV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZWxlY3QodGhpcy5zdGVwc1t0aGlzLnNlbGVjdGVkSW5kZXggKyAxXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNlbGVjdHMgdGhlIHByZXZpb3VzIHN0ZXAuICovXG4gIHB1YmxpYyBwcmV2aW91cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZWxlY3QodGhpcy5zdGVwc1t0aGlzLnNlbGVjdGVkSW5kZXggLSAxXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJlc2V0cyB0aGUgZm9ybSBpbiB3aGljaCB0aGUgc3RlcHBlciBpcyBuZXN0ZWQgb3IgZXZlcnkgZm9ybSBvZiBlYWNoIHN0ZXAsIGlmIGFueS4gKi9cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNsb3Nlc3RGb3JtID0gdGhpcy5jbG9zZXN0KCdmb3JtJyk7XG4gICAgaWYgKGNsb3Nlc3RGb3JtKSB7XG4gICAgICBjbG9zZXN0Rm9ybS5yZXNldCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ2Zvcm0nKS5mb3JFYWNoKChmb3JtKSA9PiBmb3JtLnJlc2V0KCkpO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAwO1xuICAgIC8vIEluIGNhc2UgdGhlIGZvY3VzIGlzIGN1cnJlbnRseSBpbnNpZGUgdGhlIHN0ZXBwZXIsIHdlIHJlc2V0IHRoZSBmb2N1cyB0byB0aGUgZmlyc3Qvc2VsZWN0ZWQgc3RlcCBsYWJlbC5cbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uY2xvc2VzdCgnc2JiLXN0ZXBwZXInKSA9PT0gdGhpcykge1xuICAgICAgdGhpcy5zZWxlY3RlZD8ubGFiZWw/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNTZWxlY3RhYmxlKHN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCk6IHN0ZXAgaXMgU2JiU3RlcEVsZW1lbnQge1xuICAgIGlmIChzdGVwKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHN0ZXApO1xuICAgICAgaWYgKHN0ZXAubGFiZWwpIHtcbiAgICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwLmxhYmVsKTtcbiAgICAgICAgaWYgKCF0aGlzLmxpbmVhciAmJiBzdGVwLmxhYmVsLmRpc2FibGVkKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdChzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzU2VsZWN0YWJsZShzdGVwKSB8fCBzdGVwID09PSB0aGlzLnNlbGVjdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuc2VsZWN0ZWRJbmRleDtcbiAgICBjb25zdCBjdXJyZW50U3RlcCA9IHRoaXMuc2VsZWN0ZWQ7XG4gICAgY29uc3QgdmFsaWRhdGVQYXlsb2FkOiBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMgPSB7XG4gICAgICBjdXJyZW50SW5kZXgsXG4gICAgICBjdXJyZW50U3RlcCxcbiAgICAgIG5leHRJbmRleDogdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsID8gdGhpcy5zZWxlY3RlZEluZGV4ICsgMSA6IG51bGwsXG4gICAgICBuZXh0U3RlcDogdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsID8gdGhpcy5zdGVwc1t0aGlzLnNlbGVjdGVkSW5kZXggKyAxXSA6IG51bGwsXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkICYmICF0aGlzLnNlbGVjdGVkLnZhbGlkYXRlKHZhbGlkYXRlUGF5bG9hZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zZWxlY3RlZDtcbiAgICBjdXJyZW50Py5kZXNlbGVjdCgpO1xuICAgIHN0ZXAuc2VsZWN0KCk7XG5cbiAgICAvKiogQGludGVybmFsIG9ubHkgdG8gcHJvdmlkZSBkb3VibGUgZW50cnkgaW4gZG9jcy4gSXQgaXMgYSBwdWJsaWMgZXZlbnQhICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IFNiYlN0ZXBDaGFuZ2VFdmVudCh7XG4gICAgICAgIHNlbGVjdGVkSW5kZXg6IHRoaXMuc2VsZWN0ZWRJbmRleCxcbiAgICAgICAgcHJldmlvdXNJbmRleDogY3VycmVudEluZGV4LFxuICAgICAgICBzZWxlY3RlZFN0ZXA6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICAgIHByZXZpb3VzU3RlcDogY3VycmVudFN0ZXAsXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQoc3RlcCk7XG4gICAgdGhpcy5fY29uZmlndXJlTGluZWFyTW9kZSgpO1xuICAgIC8vIEluIGNhc2UgdGhlIGZvY3VzIGlzIGN1cnJlbnRseSBpbnNpZGUgdGhlIHN0ZXBwZXIsIHdlIGZvY3VzIHRoZSBzZWxlY3RlZCBzdGVwIGxhYmVsLlxuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5jbG9zZXN0KCdzYmItc3RlcHBlcicpID09PSB0aGlzKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkPy5sYWJlbD8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRNYXJrZXJTaXplKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9sb2FkZWQgfHxcbiAgICAgICF0aGlzLnNlbGVjdGVkIHx8XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPT09IHVuZGVmaW5lZCB8fFxuICAgICAgIXRoaXMuc2VsZWN0ZWQubGFiZWxcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgb2Zmc2V0ID1cbiAgICAgIHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJ1xuICAgICAgICA/IHRoaXMuc2VsZWN0ZWQubGFiZWwub2Zmc2V0TGVmdCArIHRoaXMuc2VsZWN0ZWQubGFiZWwub2Zmc2V0V2lkdGhcbiAgICAgICAgOiB0aGlzLl9jYWxjdWxhdGVMYWJlbE9mZnNldFRvcCgpO1xuXG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItc3RlcHBlci1tYXJrZXItc2l6ZScsIGAke29mZnNldH1weGApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0ZXBwZXIgaGVpZ2h0IGJhc2VkIG9uIHRoZSBoZWlnaHQgb2YgdGhlIHByb3ZpZGVkIHN0ZXAuXG4gICAqL1xuICBwcml2YXRlIF9zZXRTdGVwcGVySGVpZ2h0KHN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChzdGVwICYmIHN0ZXAuc2hhZG93Um9vdCkge1xuICAgICAgY29uc3QgaW5uZXJFbGVtZW50OiBTYmJTdGVwRWxlbWVudCB8IG51bGwgPSBzdGVwLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnNiYi1zdGVwJyk7XG4gICAgICBpZiAoaW5uZXJFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1zdGVwcGVyLWNvbnRlbnQtaGVpZ2h0JywgYCR7aW5uZXJFbGVtZW50Lm9mZnNldEhlaWdodH1weGApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUxhYmVsT2Zmc2V0VG9wKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICBmb3IgKGNvbnN0IHN0ZXAgb2YgdGhpcy5zdGVwcykge1xuICAgICAgaWYgKHN0ZXAgPT09IHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBvZmZzZXQgPSBzdGVwLmxhYmVsIS5vZmZzZXRIZWlnaHQgKyBvZmZzZXQ7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICBvZmZzZXQgK1xuICAgICAgdGhpcy5zZWxlY3RlZCEubGFiZWwhLm9mZnNldEhlaWdodCEgK1xuICAgICAgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRoaXMpLmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLXNwYWNpbmctZml4ZWQtNngnKSkgKlxuICAgICAgICAxNiAqXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9vblNlbGVjdGVkU3RlcFJlc2l6ZShlOiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3NldFN0ZXBwZXJIZWlnaHQoZS50YXJnZXQgYXMgU2JiU3RlcEVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCwgaSwgYXJyYXkpID0+IHtcbiAgICAgIHN0ZXAuY29uZmlndXJlKHRoaXMuX2xvYWRlZCk7XG4gICAgICBzdGVwLmxhYmVsPy5jb25maWd1cmUoaSArIDEsIGFycmF5Lmxlbmd0aCwgdGhpcy5fbG9hZGVkKTtcbiAgICB9KTtcbiAgICB0aGlzLl9zZWxlY3QodGhpcy5zZWxlY3RlZCB8fCB0aGlzLl9lbmFibGVkU3RlcHNbMF0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTGFiZWxzKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCkgPT4ge1xuICAgICAgc3RlcC5zbG90ID0gdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnID8gJ3N0ZXAnIDogJ3N0ZXAtbGFiZWwnO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tPcmllbnRhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsRnJvbSkge1xuICAgICAgdGhpcy5vcmllbnRhdGlvbiA9IHRoaXMuX21lZGlhTWF0Y2hlci5tYXRjaGVzKGJyZWFrcG9pbnRNYXBbdGhpcy5ob3Jpem9udGFsRnJvbV0pXG4gICAgICAgID8gJ2hvcml6b250YWwnXG4gICAgICAgIDogJ3ZlcnRpY2FsJztcbiAgICAgIHRoaXMuX3VwZGF0ZUxhYmVscygpO1xuICAgIH1cbiAgICAvLyBUaGUgdGltZW91dCBpcyBuZWVkZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG1hcmtlciB0YWtlcyB0aGUgY29ycmVjdCBzdGVwLWxhYmVsIHNpemUuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXRNYXJrZXJTaXplKCksIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TdGVwcGVyUmVzaXplID0gKCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2NoZWNrT3JpZW50YXRpb24oKTtcbiAgICB0aGlzLl9zZXRTdGVwcGVySGVpZ2h0KHRoaXMuc2VsZWN0ZWQpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQhKTtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdkaXNhYmxlLWFuaW1hdGlvbicpO1xuXG4gICAgLy8gRGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdoZW4gcmVzaXppbmcgdG8gYXZvaWQgc3RyYW5nZSB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ2Rpc2FibGUtYW5pbWF0aW9uJyksXG4gICAgICBERUJPVU5DRV9USU1FLFxuICAgICk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlTGluZWFyTW9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoIXN0ZXAubGFiZWwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwLmxhYmVsKTtcblxuICAgICAgc3RlcC5sYWJlbC5kaXNhYmxlKFxuICAgICAgICAodGhpcy5saW5lYXIgJiYgaW5kZXggPiB0aGlzLnNlbGVjdGVkSW5kZXghKSB8fFxuICAgICAgICAgICghdGhpcy5saW5lYXIgJiYgc3RlcC5sYWJlbC5tYXRjaGVzKCc6c3RhdGUodXNlci1kaXNhYmxlZCknKSksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdkaXNhYmxlLWFuaW1hdGlvbicsICF0aGlzLl9sb2FkZWQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuX29uU3RlcHBlclJlc2l6ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgICB0aGlzLl9jb25maWd1cmUoKTtcblxuICAgICAgaWYgKHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkICYmIHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCkgIT09IC0xKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuc3RlcHMuaW5kZXhPZih0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkSW5kZXgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gdGhpcy5fcmVxdWVzdGVkU2VsZWN0ZWRJbmRleDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gICAgICB0aGlzLl9jaGVja09yaWVudGF0aW9uKCk7XG4gICAgICAvLyBSZW1vdmUgZGlzYWJsZS1hbmltYXRpb24gc3RhdGUgYWZ0ZXIgY29tcG9uZW50IGluaXRcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnZGlzYWJsZS1hbmltYXRpb24nKSwgREVCT1VOQ0VfVElNRSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdvcmllbnRhdGlvbicpICYmICF0aGlzLmhvcml6b250YWxGcm9tKSB7XG4gICAgICB0aGlzLl91cGRhdGVMYWJlbHMoKTtcbiAgICAgIHRoaXMuX3NldE1hcmtlclNpemUoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGluZWFyJykgJiYgdGhpcy5fbG9hZGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVMaW5lYXJNb2RlKCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpKSB7XG4gICAgICB0aGlzLl9zZXRNYXJrZXJTaXplKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkU3RlcHM6IFNiYlN0ZXBFbGVtZW50W10gPSB0aGlzLl9lbmFibGVkU3RlcHM7XG5cbiAgICBpZiAoXG4gICAgICAhZW5hYmxlZFN0ZXBzIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY3VycmVudDogbnVtYmVyID0gZW5hYmxlZFN0ZXBzLmluZGV4T2YodGhpcy5zZWxlY3RlZCEpO1xuICAgICAgY29uc3QgbmV4dEluZGV4OiBudW1iZXIgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZFN0ZXBzLmxlbmd0aCk7XG4gICAgICB0aGlzLl9zZWxlY3QoZW5hYmxlZFN0ZXBzW25leHRJbmRleF0pO1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXN0ZXBwZXJfX2xhYmVsc1wiIHJvbGU9XCJ0YWJsaXN0XCI+XG4gICAgICAgIDxzbG90IG5hbWU9XCJzdGVwLWxhYmVsXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jb25maWd1cmV9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwcGVyX19zdGVwc1wiPlxuICAgICAgICA8c2xvdCBuYW1lPVwic3RlcFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fY29uZmlndXJlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RlcHBlcic6IFNiYlN0ZXBwZXJFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQzBCQSxJQUFNLGdCQUFnQjtBQUV0QixJQUFNLGdCQUF3QztDQUM1QyxNQUFNO0NBQ04sT0FBTztDQUNQLE9BQU87Q0FDUCxPQUFPOztBQUdULElBQWEscUJBQWIsY0FBd0MsTUFBSzs7Q0FPM0MsSUFBVyxnQkFBYTtFQUN0QixPQUFPLEtBQUs7Q0FDZDs7Q0FHQSxJQUFXLGdCQUFhO0VBQ3RCLE9BQU8sS0FBSztDQUNkOztDQUdBLElBQVcsZUFBWTtFQUNyQixPQUFPLEtBQUs7Q0FDZDs7Q0FHQSxJQUFXLGVBQVk7RUFDckIsT0FBTyxLQUFLO0NBQ2Q7Q0FFQSxZQUFtQixFQUNqQixlQUNBLGVBQ0EsY0FDQSxnQkFDc0M7RUFDdEMsTUFBTSxjQUFjO0dBQUUsU0FBUztHQUFNLFVBQVU7RUFBSSxDQUFFO0VBQ3JELEtBQUssaUJBQWlCO0VBQ3RCLEtBQUssaUJBQWlCO0VBQ3RCLEtBQUssZ0JBQWdCO0VBQ3JCLEtBQUssZ0JBQWdCO0NBQ3ZCOzs7Ozs7Ozs7SUFTVywyQkFBaUI7bUJBQVM7Ozs7Ozs7Ozs7Ozs7O2NBQTFCLDBCQUEwQixZQUFVOzs7eUJBMEI5QyxVQUFTLEdBQ1QsU0FBUyxFQUFFLE1BQU0sUUFBTyxDQUFFLENBQUM7cUNBSTNCLFNBQVM7SUFBRSxXQUFXO0lBQW1CLFNBQVM7R0FBSSxDQUFFLENBQUM7OEJBYXpELFNBQVMsRUFBRSxTQUFTLEtBQUksQ0FBRSxDQUFD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
|
|
443
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQtMnlSRm5uanUuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi02eClcbiAgKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb3VudGVyLXJlc2V0OiBzdGVwLWxhYmVsO1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItc3RlcHBlci1tYXJrZXItY29sb3I6IEJ1dHRvblRleHQ7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKGRpc2FibGUtYW5pbWF0aW9uKSkge1xuICBAaW5jbHVkZSBzYmIuZGlzYWJsZS1hbmltYXRpb247XG59XG5cbjpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXSkge1xuICAtLXNiYi1zdGVwcGVyLW9yaWVudGF0aW9uOiBjb2x1bW47XG59XG5cbi5zYmItc3RlcHBlcl9fbGFiZWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHZhcigtLXNiYi1zdGVwcGVyLW9yaWVudGF0aW9uKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLW0pO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1zYmItc3RlcHBlci1ib3JkZXItd2lkdGgpICogLTEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1zdGVwcGVyLW1hcmtlci1jb2xvcik7XG4gIH1cblxuICA6aG9zdChbb3JpZW50YXRpb249J2hvcml6b250YWwnXSkgJiB7XG4gICAgZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLW0pO1xuICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gICAgYm9yZGVyLWJsb2NrLWVuZDogdmFyKC0tc2JiLXN0ZXBwZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1zYmItYm9yZGVyLWNvbG9yLTQtaW52ZXJ0ZWQpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGluc2V0LWJsb2NrLWVuZDogY2FsYyh2YXIoLS1zYmItc3RlcHBlci1ib3JkZXItd2lkdGgpICogLTEpO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1zYmItc3RlcHBlci1tYXJrZXItd2lkdGgpO1xuICAgICAgd2lkdGg6IHZhcigtLXNiYi1zdGVwcGVyLW1hcmtlci1zaXplLCAwKTtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIHZhcigtLXNiYi1zdGVwcGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXSkgJiB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItc3RlcHBlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXNiYi1ib3JkZXItY29sb3ItNC1pbnZlcnRlZCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gICAgICB3aWR0aDogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLXdpZHRoKTtcbiAgICAgIGhlaWdodDogdmFyKC0tc2JiLXN0ZXBwZXItbWFya2VyLXNpemUsIDApO1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IHZhcigtLXNiYi1zdGVwcGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLXN0ZXBwZXJfX3N0ZXBzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIDpob3N0KFtvcmllbnRhdGlvbj0naG9yaXpvbnRhbCddKSAmIHtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1zdGVwcGVyLWNvbnRlbnQtaGVpZ2h0KTtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gIH1cbn1cblxuOjpzbG90dGVkKHNiYi1zdGVwLWxhYmVsKTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihzdGVwLWxhYmVsKTtcbiAgY291bnRlci1pbmNyZW1lbnQ6IHN0ZXAtbGFiZWw7XG59XG4iLCJpbXBvcnQgeyBJbnRlcnNlY3Rpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9pbnRlcnNlY3Rpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJIb3Jpem9udGFsRnJvbSB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHtcbiAgZm9yY2VUeXBlLFxuICBnZXROZXh0RWxlbWVudEluZGV4LFxuICBpc0Fycm93S2V5UHJlc3NlZCxcbiAgU2JiRWxlbWVudCxcbiAgU2JiTWVkaWFNYXRjaGVyQ29udHJvbGxlcixcbiAgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRMYXJnZUFuZEFib3ZlLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQWJvdmUsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50VWx0cmFBbmRBYm92ZSxcbiAgU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRaZXJvQW5kQWJvdmUsXG59IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwRWxlbWVudCwgU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vc3RlcC9zdGVwLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3N0ZXBwZXIuc2Nzcz9pbmxpbmUnO1xuXG5jb25zdCBERUJPVU5DRV9USU1FID0gMTUwO1xuXG5jb25zdCBicmVha3BvaW50TWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICB6ZXJvOiBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFplcm9BbmRBYm92ZSxcbiAgc21hbGw6IFNiYk1lZGlhUXVlcnlCcmVha3BvaW50U21hbGxBbmRBYm92ZSxcbiAgbGFyZ2U6IFNiYk1lZGlhUXVlcnlCcmVha3BvaW50TGFyZ2VBbmRBYm92ZSxcbiAgdWx0cmE6IFNiYk1lZGlhUXVlcnlCcmVha3BvaW50VWx0cmFBbmRBYm92ZSxcbn07XG5cbmV4cG9ydCBjbGFzcyBTYmJTdGVwQ2hhbmdlRXZlbnQgZXh0ZW5kcyBFdmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkSW5kZXg6IG51bWJlciB8IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ByZXZpb3VzSW5kZXg6IG51bWJlciB8IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkU3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wcmV2aW91c1N0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbDtcblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBuZXdseSBzZWxlY3RlZCBzdGVwLiAqL1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkSW5kZXgoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSW5kZXg7XG4gIH1cblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHN0ZXAuICovXG4gIHB1YmxpYyBnZXQgcHJldmlvdXNJbmRleCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fcHJldmlvdXNJbmRleDtcbiAgfVxuXG4gIC8qKiBUaGUgbmV3bHkgc2VsZWN0ZWQgc3RlcCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkU3RlcCgpOiBTYmJTdGVwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFN0ZXA7XG4gIH1cblxuICAvKiogVGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQgc3RlcCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IHByZXZpb3VzU3RlcCgpOiBTYmJTdGVwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9wcmV2aW91c1N0ZXA7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3Ioe1xuICAgIHNlbGVjdGVkSW5kZXgsXG4gICAgcHJldmlvdXNJbmRleCxcbiAgICBzZWxlY3RlZFN0ZXAsXG4gICAgcHJldmlvdXNTdGVwLFxuICB9OiBPbWl0PFNiYlN0ZXBDaGFuZ2VFdmVudCwga2V5b2YgRXZlbnQ+KSB7XG4gICAgc3VwZXIoJ3N0ZXBjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pO1xuICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSBzZWxlY3RlZEluZGV4O1xuICAgIHRoaXMuX3ByZXZpb3VzSW5kZXggPSBwcmV2aW91c0luZGV4O1xuICAgIHRoaXMuX3NlbGVjdGVkU3RlcCA9IHNlbGVjdGVkU3RlcDtcbiAgICB0aGlzLl9wcmV2aW91c1N0ZXAgPSBwcmV2aW91c1N0ZXA7XG4gIH1cbn1cbi8qKlxuICogUHJvdmlkZXMgYSBzdHJ1Y3R1cmVkLCBzdGVwLWJ5LXN0ZXAgd29ya2Zsb3cgZm9yIHVzZXIgaW50ZXJhY3Rpb25zLlxuICogQHNsb3QgLSBQcm92aWRlIGEgYHNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyYCBhbmQgYSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50YCB0byB0aGUgc3RlcHBlci5cbiAqIEBzbG90IHN0ZXAtbGFiZWwgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1zdGVwLWxhYmVsYC5cbiAqIEBzbG90IHN0ZXAgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1zdGVwYC5cbiAqIEBldmVudCB7U2JiU3RlcENoYW5nZUV2ZW50fSBzdGVwY2hhbmdlIC0gRW1pdHMgd2hlbmV2ZXIgYSBzdGVwIHdhcyBjaGFuZ2VkLlxuICovXG5leHBvcnQgY2xhc3MgU2JiU3RlcHBlckVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zdGVwcGVyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBzdGVwY2hhbmdlOiAnc3RlcGNoYW5nZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqXG4gICAqIElmIHRoZSBzYmItc3RlcHBlciBpcyB1c2VkIGluIGEgc2JiLWRpYWxvZywgdGhlIG1hcmtlciBvbiB0aGUgc2VsZWN0ZWQgZWxlbWVudCB3aWxsIG5vdCBhcHBlYXIsXG4gICAqIGJlY2F1c2UgdGhlIGNhbGN1bGF0aW9ucyBhcmUgZG9uZSB3aGVuIHRoZSBkaWFsb2cgaXMgY2xvc2VkLCBzbyB0aGUgbWFya2VyIGhhcyBhIHdpZHRoIG9mIDA7XG4gICAqIHRoZSBzYW1lIGhhcHBlbnMgZm9yIHRoZSBzdGVwcGVyIGhlaWdodC5cbiAgICogV2UgbmVlZCB0byByZWNhbGN1bGF0ZSBpdCB3aGVuIHRoZSBlbGVtZW50IGJlY29tZXMgdmlzaWJsZS5cbiAgICovXG4gIHByaXZhdGUgX29ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHtcbiAgICAgIGVudHJpZXMuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgICBpZiAoZS5pbnRlcnNlY3Rpb25SYXRpbyA+IDApIHtcbiAgICAgICAgICB0aGlzLl9zZXRTdGVwcGVySGVpZ2h0KHRoaXMuc2VsZWN0ZWQpO1xuICAgICAgICAgIHRoaXMuX3NldE1hcmtlclNpemUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgfSk7XG5cbiAgLyoqIElmIHNldCB0byB0cnVlLCBvbmx5IHRoZSBjdXJyZW50IGFuZCBwcmV2aW91cyBsYWJlbHMgY2FuIGJlIGNsaWNrZWQgYW5kIHNlbGVjdGVkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbGluZWFyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIE92ZXJyaWRlcyB0aGUgYmVoYXZpb3Igb2YgYG9yaWVudGF0aW9uYCBwcm9wZXJ0eS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaG9yaXpvbnRhbC1mcm9tJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgc2V0IGhvcml6b250YWxGcm9tKHZhbHVlOiBTYmJIb3Jpem9udGFsRnJvbSB8IG51bGwpIHtcbiAgICB0aGlzLl9ob3Jpem9udGFsRnJvbSA9IHZhbHVlICYmIGJyZWFrcG9pbnRNYXBbdmFsdWVdID8gdmFsdWUgOiBudWxsO1xuICAgIGlmICh0aGlzLl9ob3Jpem9udGFsRnJvbSAmJiB0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHRoaXMuX2NoZWNrT3JpZW50YXRpb24oKTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCBob3Jpem9udGFsRnJvbSgpOiBTYmJIb3Jpem9udGFsRnJvbSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9ob3Jpem9udGFsRnJvbTtcbiAgfVxuICBwcml2YXRlIF9ob3Jpem9udGFsRnJvbTogU2JiSG9yaXpvbnRhbEZyb20gfCBudWxsID0gbnVsbDtcblxuICAvKiogU3RlcHMgb3JpZW50YXRpb24sIGVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyAobGVhbiB0aGVtZSBkZWZhdWx0KSBvciBtIChzdGFuZGFyZCB0aGVtZSBkZWZhdWx0KS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHN0ZXAuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgcHVibGljIHNldCBzZWxlY3RlZChzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICB0aGlzLl9zZWxlY3Qoc3RlcCk7XG4gICAgfVxuICAgIHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkID0gc3RlcDtcbiAgfVxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcj8uPFNiYlN0ZXBFbGVtZW50Pignc2JiLXN0ZXA6c3RhdGUoc2VsZWN0ZWQpJykgPz8gbnVsbDtcbiAgfVxuICBwcml2YXRlIF9yZXF1ZXN0ZWRTZWxlY3RlZDogU2JiU3RlcEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBzdGVwIGluZGV4LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdzZWxlY3RlZC1pbmRleCcsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkSW5kZXgoaW5kZXg6IG51bWJlciB8IG51bGwpIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkICYmIGluZGV4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZWxlY3QodGhpcy5zdGVwc1tpbmRleF0pO1xuICAgIH1cbiAgICB0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZEluZGV4ID0gaW5kZXg7XG4gIH1cbiAgcHVibGljIGdldCBzZWxlY3RlZEluZGV4KCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkID8gdGhpcy5zdGVwcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWQpIDogbnVsbDtcbiAgfVxuICBwcml2YXRlIF9yZXF1ZXN0ZWRTZWxlY3RlZEluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIHN0ZXBzIG9mIHRoZSBzdGVwcGVyLiAqL1xuICBwdWJsaWMgZ2V0IHN0ZXBzKCk6IFNiYlN0ZXBFbGVtZW50W10ge1xuICAgIGNvbnN0IHN0ZXBzOiBTYmJTdGVwRWxlbWVudFtdID0gW107XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1zdGVwJykuZm9yRWFjaCgoc3RlcCkgPT4ge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwKTtcbiAgICAgIHN0ZXBzLnB1c2goc3RlcCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHN0ZXBzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2VuYWJsZWRTdGVwcygpOiBTYmJTdGVwRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwcy5maWx0ZXIoKHMpID0+IHtcbiAgICAgIGlmIChzLmxhYmVsKSB7XG4gICAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUocy5sYWJlbCk7XG4gICAgICAgIHJldHVybiAhcy5sYWJlbC5kaXNhYmxlZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlclRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX21lZGlhTWF0Y2hlciA9IG5ldyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyKHRoaXMsIHt9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncmVzaXplY2hhbmdlJywgKGU6IEV2ZW50KSA9PiB0aGlzLl9vblNlbGVjdGVkU3RlcFJlc2l6ZShlKSk7XG4gIH1cblxuICAvKiogU2VsZWN0cyB0aGUgbmV4dCBzdGVwLiAqL1xuICBwdWJsaWMgbmV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZWxlY3QodGhpcy5zdGVwc1t0aGlzLnNlbGVjdGVkSW5kZXggKyAxXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNlbGVjdHMgdGhlIHByZXZpb3VzIHN0ZXAuICovXG4gIHB1YmxpYyBwcmV2aW91cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZWxlY3QodGhpcy5zdGVwc1t0aGlzLnNlbGVjdGVkSW5kZXggLSAxXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJlc2V0cyB0aGUgZm9ybSBpbiB3aGljaCB0aGUgc3RlcHBlciBpcyBuZXN0ZWQgb3IgZXZlcnkgZm9ybSBvZiBlYWNoIHN0ZXAsIGlmIGFueS4gKi9cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIGNvbnN0IGNsb3Nlc3RGb3JtID0gdGhpcy5jbG9zZXN0KCdmb3JtJyk7XG4gICAgaWYgKGNsb3Nlc3RGb3JtKSB7XG4gICAgICBjbG9zZXN0Rm9ybS5yZXNldCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ2Zvcm0nKS5mb3JFYWNoKChmb3JtKSA9PiBmb3JtLnJlc2V0KCkpO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAwO1xuICAgIC8vIEluIGNhc2UgdGhlIGZvY3VzIGlzIGN1cnJlbnRseSBpbnNpZGUgdGhlIHN0ZXBwZXIsIHdlIHJlc2V0IHRoZSBmb2N1cyB0byB0aGUgZmlyc3Qvc2VsZWN0ZWQgc3RlcCBsYWJlbC5cbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uY2xvc2VzdCgnc2JiLXN0ZXBwZXInKSA9PT0gdGhpcykge1xuICAgICAgdGhpcy5zZWxlY3RlZD8ubGFiZWw/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNTZWxlY3RhYmxlKHN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCk6IHN0ZXAgaXMgU2JiU3RlcEVsZW1lbnQge1xuICAgIGlmIChzdGVwKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHN0ZXApO1xuICAgICAgaWYgKHN0ZXAubGFiZWwpIHtcbiAgICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShzdGVwLmxhYmVsKTtcbiAgICAgICAgaWYgKCF0aGlzLmxpbmVhciAmJiBzdGVwLmxhYmVsLmRpc2FibGVkKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdChzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzU2VsZWN0YWJsZShzdGVwKSB8fCBzdGVwID09PSB0aGlzLnNlbGVjdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuc2VsZWN0ZWRJbmRleDtcbiAgICBjb25zdCBjdXJyZW50U3RlcCA9IHRoaXMuc2VsZWN0ZWQ7XG4gICAgY29uc3QgdmFsaWRhdGVQYXlsb2FkOiBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMgPSB7XG4gICAgICBjdXJyZW50SW5kZXgsXG4gICAgICBjdXJyZW50U3RlcCxcbiAgICAgIG5leHRJbmRleDogdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsID8gdGhpcy5zZWxlY3RlZEluZGV4ICsgMSA6IG51bGwsXG4gICAgICBuZXh0U3RlcDogdGhpcy5zZWxlY3RlZEluZGV4ICE9PSBudWxsID8gdGhpcy5zdGVwc1t0aGlzLnNlbGVjdGVkSW5kZXggKyAxXSA6IG51bGwsXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkICYmICF0aGlzLnNlbGVjdGVkWyd2YWxpZGF0ZSddKHZhbGlkYXRlUGF5bG9hZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zZWxlY3RlZDtcbiAgICBjdXJyZW50Py5bJ2Rlc2VsZWN0J10oKTtcbiAgICBzdGVwWydzZWxlY3QnXSgpO1xuXG4gICAgLyoqIEBpbnRlcm5hbCBvbmx5IHRvIHByb3ZpZGUgZG91YmxlIGVudHJ5IGluIGRvY3MuIEl0IGlzIGEgcHVibGljIGV2ZW50ISAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBTYmJTdGVwQ2hhbmdlRXZlbnQoe1xuICAgICAgICBzZWxlY3RlZEluZGV4OiB0aGlzLnNlbGVjdGVkSW5kZXgsXG4gICAgICAgIHByZXZpb3VzSW5kZXg6IGN1cnJlbnRJbmRleCxcbiAgICAgICAgc2VsZWN0ZWRTdGVwOiB0aGlzLnNlbGVjdGVkLFxuICAgICAgICBwcmV2aW91c1N0ZXA6IGN1cnJlbnRTdGVwLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIHRoaXMuX3NldE1hcmtlclNpemUoKTtcbiAgICB0aGlzLl9zZXRTdGVwcGVySGVpZ2h0KHN0ZXApO1xuICAgIHRoaXMuX2NvbmZpZ3VyZUxpbmVhck1vZGUoKTtcbiAgICAvLyBJbiBjYXNlIHRoZSBmb2N1cyBpcyBjdXJyZW50bHkgaW5zaWRlIHRoZSBzdGVwcGVyLCB3ZSBmb2N1cyB0aGUgc2VsZWN0ZWQgc3RlcCBsYWJlbC5cbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uY2xvc2VzdCgnc2JiLXN0ZXBwZXInKSA9PT0gdGhpcykge1xuICAgICAgdGhpcy5zZWxlY3RlZD8ubGFiZWw/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TWFya2VyU2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fbG9hZGVkIHx8XG4gICAgICAhdGhpcy5zZWxlY3RlZCB8fFxuICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID09PSB1bmRlZmluZWQgfHxcbiAgICAgICF0aGlzLnNlbGVjdGVkLmxhYmVsXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG9mZnNldCA9XG4gICAgICB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCdcbiAgICAgICAgPyB0aGlzLnNlbGVjdGVkLmxhYmVsLm9mZnNldExlZnQgKyB0aGlzLnNlbGVjdGVkLmxhYmVsLm9mZnNldFdpZHRoXG4gICAgICAgIDogdGhpcy5fY2FsY3VsYXRlTGFiZWxPZmZzZXRUb3AoKTtcblxuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXN0ZXBwZXItbWFya2VyLXNpemUnLCBgJHtvZmZzZXR9cHhgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzdGVwcGVyIGhlaWdodCBiYXNlZCBvbiB0aGUgaGVpZ2h0IG9mIHRoZSBwcm92aWRlZCBzdGVwLlxuICAgKi9cbiAgcHJpdmF0ZSBfc2V0U3RlcHBlckhlaWdodChzdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoc3RlcCAmJiBzdGVwLnNoYWRvd1Jvb3QpIHtcbiAgICAgIGNvbnN0IGlubmVyRWxlbWVudDogU2JiU3RlcEVsZW1lbnQgfCBudWxsID0gc3RlcC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5zYmItc3RlcCcpO1xuICAgICAgaWYgKGlubmVyRWxlbWVudCkge1xuICAgICAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItc3RlcHBlci1jb250ZW50LWhlaWdodCcsIGAke2lubmVyRWxlbWVudC5vZmZzZXRIZWlnaHR9cHhgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVMYWJlbE9mZnNldFRvcCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IG9mZnNldCA9IDA7XG4gICAgZm9yIChjb25zdCBzdGVwIG9mIHRoaXMuc3RlcHMpIHtcbiAgICAgIGlmIChzdGVwID09PSB0aGlzLnNlbGVjdGVkKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgb2Zmc2V0ID0gc3RlcC5sYWJlbCEub2Zmc2V0SGVpZ2h0ICsgb2Zmc2V0O1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgb2Zmc2V0ICtcbiAgICAgIHRoaXMuc2VsZWN0ZWQhLmxhYmVsIS5vZmZzZXRIZWlnaHQhICtcbiAgICAgIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKS5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1zcGFjaW5nLWZpeGVkLTZ4JykpICpcbiAgICAgICAgMTYgKlxuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXhcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TZWxlY3RlZFN0ZXBSZXNpemUoZTogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXRTdGVwcGVySGVpZ2h0KGUudGFyZ2V0IGFzIFNiYlN0ZXBFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXAsIGksIGFycmF5KSA9PiB7XG4gICAgICBzdGVwWydjb25maWd1cmUnXSh0aGlzLl9sb2FkZWQpO1xuICAgICAgc3RlcC5sYWJlbD8uY29uZmlndXJlKGkgKyAxLCBhcnJheS5sZW5ndGgsIHRoaXMuX2xvYWRlZCk7XG4gICAgfSk7XG4gICAgdGhpcy5fc2VsZWN0KHRoaXMuc2VsZWN0ZWQgfHwgdGhpcy5fZW5hYmxlZFN0ZXBzWzBdKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUxhYmVscygpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXApID0+IHtcbiAgICAgIHN0ZXAuc2xvdCA9IHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyA/ICdzdGVwJyA6ICdzdGVwLWxhYmVsJztcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrT3JpZW50YXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbEZyb20pIHtcbiAgICAgIHRoaXMub3JpZW50YXRpb24gPSB0aGlzLl9tZWRpYU1hdGNoZXIubWF0Y2hlcyhicmVha3BvaW50TWFwW3RoaXMuaG9yaXpvbnRhbEZyb21dKVxuICAgICAgICA/ICdob3Jpem9udGFsJ1xuICAgICAgICA6ICd2ZXJ0aWNhbCc7XG4gICAgICB0aGlzLl91cGRhdGVMYWJlbHMoKTtcbiAgICB9XG4gICAgLy8gVGhlIHRpbWVvdXQgaXMgbmVlZGVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBtYXJrZXIgdGFrZXMgdGhlIGNvcnJlY3Qgc3RlcC1sYWJlbCBzaXplLlxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0TWFya2VyU2l6ZSgpLCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uU3RlcHBlclJlc2l6ZSA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLl9jaGVja09yaWVudGF0aW9uKCk7XG4gICAgdGhpcy5fc2V0U3RlcHBlckhlaWdodCh0aGlzLnNlbGVjdGVkKTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ISk7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnZGlzYWJsZS1hbmltYXRpb24nKTtcblxuICAgIC8vIERpc2FibGUgdGhlIGFuaW1hdGlvbiB3aGVuIHJlc2l6aW5nIHRvIGF2b2lkIHN0cmFuZ2UgdHJhbnNpdGlvbiBlZmZlY3RzLlxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdkaXNhYmxlLWFuaW1hdGlvbicpLFxuICAgICAgREVCT1VOQ0VfVElNRSxcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZUxpbmVhck1vZGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGVwcy5mb3JFYWNoKChzdGVwLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKCFzdGVwLmxhYmVsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUoc3RlcC5sYWJlbCk7XG5cbiAgICAgIHN0ZXAubGFiZWwuZGlzYWJsZShcbiAgICAgICAgKHRoaXMubGluZWFyICYmIGluZGV4ID4gdGhpcy5zZWxlY3RlZEluZGV4ISkgfHxcbiAgICAgICAgICAoIXRoaXMubGluZWFyICYmIHN0ZXAubGFiZWwubWF0Y2hlcygnOnN0YXRlKHVzZXItZGlzYWJsZWQpJykpLFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLl9vblN0ZXBwZXJSZXNpemUsIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgfSk7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnZGlzYWJsZS1hbmltYXRpb24nLCAhdGhpcy5fbG9hZGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLl9vblN0ZXBwZXJSZXNpemUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICAgICAgdGhpcy5fY29uZmlndXJlKCk7XG5cbiAgICAgIGlmICh0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZCAmJiB0aGlzLnN0ZXBzLmluZGV4T2YodGhpcy5fcmVxdWVzdGVkU2VsZWN0ZWQpICE9PSAtMSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSB0aGlzLnN0ZXBzLmluZGV4T2YodGhpcy5fcmVxdWVzdGVkU2VsZWN0ZWQpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLl9yZXF1ZXN0ZWRTZWxlY3RlZEluZGV4KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IHRoaXMuX3JlcXVlc3RlZFNlbGVjdGVkSW5kZXg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSAwO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMpO1xuICAgICAgdGhpcy5fY2hlY2tPcmllbnRhdGlvbigpO1xuICAgICAgLy8gUmVtb3ZlIGRpc2FibGUtYW5pbWF0aW9uIHN0YXRlIGFmdGVyIGNvbXBvbmVudCBpbml0XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ2Rpc2FibGUtYW5pbWF0aW9uJyksIERFQk9VTkNFX1RJTUUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnb3JpZW50YXRpb24nKSAmJiAhdGhpcy5ob3Jpem9udGFsRnJvbSkge1xuICAgICAgdGhpcy5fdXBkYXRlTGFiZWxzKCk7XG4gICAgICB0aGlzLl9zZXRNYXJrZXJTaXplKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2xpbmVhcicpICYmIHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlTGluZWFyTW9kZSgpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3NpemUnKSkge1xuICAgICAgdGhpcy5fc2V0TWFya2VyU2l6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFN0ZXBzOiBTYmJTdGVwRWxlbWVudFtdID0gdGhpcy5fZW5hYmxlZFN0ZXBzO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRTdGVwcyB8fFxuICAgICAgLy8gZG9uJ3QgdHJhcCBuZXN0ZWQgaGFuZGxpbmdcbiAgICAgICgoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgIT09IHRoaXMgJiYgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQgIT09IHRoaXMpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGVuYWJsZWRTdGVwcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWQhKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGVuYWJsZWRTdGVwcy5sZW5ndGgpO1xuICAgICAgdGhpcy5fc2VsZWN0KGVuYWJsZWRTdGVwc1tuZXh0SW5kZXhdKTtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwcGVyX19sYWJlbHNcIiByb2xlPVwidGFibGlzdFwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwic3RlcC1sYWJlbFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fY29uZmlndXJlfT48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RlcHBlcl9fc3RlcHNcIj5cbiAgICAgICAgPHNsb3QgbmFtZT1cInN0ZXBcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2NvbmZpZ3VyZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXN0ZXBwZXInOiBTYmJTdGVwcGVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUMwQkEsSUFBTSxnQkFBZ0I7QUFFdEIsSUFBTSxnQkFBd0M7Q0FDNUMsTUFBTTtDQUNOLE9BQU87Q0FDUCxPQUFPO0NBQ1AsT0FBTzs7QUFHVCxJQUFhLHFCQUFiLGNBQXdDLE1BQUs7O0NBTzNDLElBQVcsZ0JBQWE7RUFDdEIsT0FBTyxLQUFLO0NBQ2Q7O0NBR0EsSUFBVyxnQkFBYTtFQUN0QixPQUFPLEtBQUs7Q0FDZDs7Q0FHQSxJQUFXLGVBQVk7RUFDckIsT0FBTyxLQUFLO0NBQ2Q7O0NBR0EsSUFBVyxlQUFZO0VBQ3JCLE9BQU8sS0FBSztDQUNkO0NBRUEsWUFBbUIsRUFDakIsZUFDQSxlQUNBLGNBQ0EsZ0JBQ3NDO0VBQ3RDLE1BQU0sY0FBYztHQUFFLFNBQVM7R0FBTSxVQUFVO0VBQUksQ0FBRTtFQUNyRCxLQUFLLGlCQUFpQjtFQUN0QixLQUFLLGlCQUFpQjtFQUN0QixLQUFLLGdCQUFnQjtFQUNyQixLQUFLLGdCQUFnQjtDQUN2Qjs7Ozs7Ozs7O0lBU1csMkJBQWlCO21CQUFTOzs7Ozs7Ozs7Ozs7OztjQUExQiwwQkFBMEIsWUFBVTs7O3lCQTBCOUMsVUFBUyxHQUNULFNBQVMsRUFBRSxNQUFNLFFBQU8sQ0FBRSxDQUFDO3FDQUkzQixTQUFTO0lBQUUsV0FBVztJQUFtQixTQUFTO0dBQUksQ0FBRSxDQUFDOzhCQWF6RCxTQUFTLEVBQUUsU0FBUyxL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
|
package/development/stepper.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as SbbStepLabelElement } from "./step-label.component-CpdXVv32.js";
|
|
2
|
-
import { n as SbbStepValidateEvent, t as SbbStepElement } from "./step.component-
|
|
3
|
-
import { n as SbbStepperElement, t as SbbStepChangeEvent } from "./stepper.component-
|
|
2
|
+
import { n as SbbStepValidateEvent, t as SbbStepElement } from "./step.component-CfA-kmt1.js";
|
|
3
|
+
import { n as SbbStepperElement, t as SbbStepChangeEvent } from "./stepper.component-2yRFnnju.js";
|
|
4
4
|
import "./stepper.pure.js";
|
|
5
5
|
//#region src/elements/stepper.ts
|
|
6
6
|
/** @entrypoint */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { t as SbbStepLabelElement } from "./step-label.component-CpdXVv32.js";
|
|
2
|
-
import { n as SbbStepValidateEvent, t as SbbStepElement } from "./step.component-
|
|
3
|
-
import { n as SbbStepperElement, t as SbbStepChangeEvent } from "./stepper.component-
|
|
2
|
+
import { n as SbbStepValidateEvent, t as SbbStepElement } from "./step.component-CfA-kmt1.js";
|
|
3
|
+
import { n as SbbStepperElement, t as SbbStepChangeEvent } from "./stepper.component-2yRFnnju.js";
|
|
4
4
|
export { SbbStepChangeEvent, SbbStepElement, SbbStepLabelElement, SbbStepValidateEvent, SbbStepperElement };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "../../dialog.component-
|
|
1
|
+
import { n as e, r as t, t as n } from "../../dialog.component-D3G0AX4Y.js";
|
|
2
2
|
export { n as SbbDialogCloseEvent, e as SbbDialogElement, t as assignDialogResult };
|
|
@@ -126,15 +126,15 @@ var m = ":host{--sbb-dialog-animation-duration: var( --sbb-disable-animation-dur
|
|
|
126
126
|
return this.dispatchEvent(new u("beforeclose", {
|
|
127
127
|
cancelable: !0,
|
|
128
128
|
closeAttribute: this.closeAttribute,
|
|
129
|
-
closeTarget: this.
|
|
130
|
-
result: this.
|
|
129
|
+
closeTarget: this.lastClosedTarget,
|
|
130
|
+
result: this.lastResult
|
|
131
131
|
}));
|
|
132
132
|
}
|
|
133
133
|
dispatchCloseEvent() {
|
|
134
134
|
return this.dispatchEvent(new u("close", {
|
|
135
135
|
closeAttribute: this.closeAttribute,
|
|
136
|
-
closeTarget: this.
|
|
137
|
-
result: this.
|
|
136
|
+
closeTarget: this.lastClosedTarget,
|
|
137
|
+
result: this.lastResult
|
|
138
138
|
}));
|
|
139
139
|
}
|
|
140
140
|
render() {
|
package/dialog.js
CHANGED
|
@@ -2,7 +2,7 @@ import { t as e } from "./dialog-actions.component-DxmjSvd-.js";
|
|
|
2
2
|
import { t } from "./dialog-close-button.component-B8troaaQ.js";
|
|
3
3
|
import { t as n } from "./dialog-content.component-Chfg-IY1.js";
|
|
4
4
|
import { t as r } from "./dialog-title.component-BbcbQXjp.js";
|
|
5
|
-
import { n as i, r as a, t as o } from "./dialog.component-
|
|
5
|
+
import { n as i, r as a, t as o } from "./dialog.component-D3G0AX4Y.js";
|
|
6
6
|
import "./dialog.pure.js";
|
|
7
7
|
i.define(), e.define(), t.define(), n.define(), r.define();
|
|
8
8
|
//#endregion
|
package/dialog.pure.js
CHANGED
|
@@ -2,5 +2,5 @@ import { t as e } from "./dialog-actions.component-DxmjSvd-.js";
|
|
|
2
2
|
import { t } from "./dialog-close-button.component-B8troaaQ.js";
|
|
3
3
|
import { t as n } from "./dialog-content.component-Chfg-IY1.js";
|
|
4
4
|
import { t as r } from "./dialog-title.component-BbcbQXjp.js";
|
|
5
|
-
import { n as i, r as a, t as o } from "./dialog.component-
|
|
5
|
+
import { n as i, r as a, t as o } from "./dialog.component-D3G0AX4Y.js";
|
|
6
6
|
export { e as SbbDialogActionsElement, t as SbbDialogCloseButtonElement, o as SbbDialogCloseEvent, n as SbbDialogContentElement, i as SbbDialogElement, r as SbbDialogTitleElement, a as assignDialogResult };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "../../form-field.component-
|
|
1
|
+
import { n as e, t } from "../../form-field.component-BoLly8qP.js";
|
|
2
2
|
export { t as SbbFormFieldControlEvent, e as SbbFormFieldElement };
|
|
@@ -4,7 +4,7 @@ import { property as o, state as s } from "lit/decorators.js";
|
|
|
4
4
|
import { SbbElement as c, SbbLanguageController as l, SbbNegativeMixin as u, appendAriaElements as d, forceType as f, i18nOptional as ee, removeAriaElements as p, sbbInputModalityDetector as m } from "./core.js";
|
|
5
5
|
import { SbbIconElement as h } from "./icon.pure.js";
|
|
6
6
|
//#region src/elements/form-field/form-field/form-field.scss?inline
|
|
7
|
-
var g = "@charset \"UTF-8\";:host{--sbb-form-field-hint-divider-width: var(--sbb-spacing-fixed-1x);--sbb-form-field-hint-padding-block-start: var(--sbb-form-field-hint-divider-width);--sbb-form-field-select-inline-padding-end: calc( var(--sbb-icon-svg-width) + var(--sbb-form-field-gap) );--sbb-form-field-label-size: calc( var(--sbb-form-field-label-text-size) * var(--sbb-typo-line-height-text) );--sbb-form-field-text-line-height: calc( var(--sbb-form-field-input-text-size) * var(--sbb-typo-line-height-text) );--sbb-form-field-margin-block-start: calc( ( var(--sbb-form-field-min-height) - var(--sbb-form-field-label-size) - var( --sbb-form-field-text-line-height ) + var(--_sbb-form-field-label-to-input-overlapping) ) / 2 );--sbb-icon-svg-width: var(--sbb-form-field-icon-size);--sbb-icon-svg-height: var(--sbb-form-field-icon-size);--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);--sbb-focus-outline-color: light-dark( var(--sbb-focus-outline-color-default), var(--sbb-focus-outline-color-dark) );display:inline-block;color:var(--sbb-form-field-color);font-weight:400;line-height:var(--sbb-typo-line-height-text)}:host(:where(:not([width=collapse]))){min-width:9.375rem;width:min(18.75rem,100%)}:host([negative]){color:var(--sbb-color-3-negative);--sbb-form-field-background-color: var(--sbb-background-color-1-negative);--sbb-form-field-border-color: var(--sbb-border-color-5);--sbb-form-field-label-color: var(--sbb-color-5);--sbb-form-field-prefix-color: var(--sbb-color-5);--sbb-form-field-text-color: var(--sbb-color-3-negative);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);--sbb-form-field-arrow-color: var(--sbb-color-3-negative)}@media(forced-colors:active){:host([negative]){--sbb-form-field-border-color: ButtonBorder}}:host([size=s]){--sbb-form-field-min-height: var(--sbb-size-element-xs);--sbb-form-field-padding-inline: var(--sbb-spacing-fixed-2x);--sbb-form-field-input-text-size: var(--sbb-text-font-size-s);--sbb-form-field-label-text-size: var(--sbb-text-font-size-xxs);--_sbb-form-field-input-margin-block-end: -.125rem;--_sbb-form-field-label-to-input-overlapping: .625rem;--_sbb-form-field-floating-label-transform: .34375rem;--_sbb-form-field-spacer-margin-block-end: -.53125rem}@media(min-width:64rem){:host([size=s]){--_sbb-form-field-label-to-input-overlapping: .6875rem;--_sbb-form-field-floating-label-transform: .3125rem;--_sbb-form-field-spacer-margin-block-end: -.5rem}}:host([size=m]){--sbb-form-field-min-height: var(--sbb-size-element-m);--sbb-form-field-padding-inline: var(--sbb-spacing-fixed-3x)}:host([size=l]){--sbb-form-field-min-height: var(--sbb-size-element-l);--sbb-form-field-padding-inline: var(--sbb-spacing-responsive-xxxs)}:host(:is([size=m],[size=l])){--sbb-form-field-input-text-size: var(--sbb-text-font-size-m);--sbb-form-field-label-text-size: var(--sbb-text-font-size-xs);--_sbb-form-field-input-margin-block-end: 0;--_sbb-form-field-label-to-input-overlapping: var(--sbb-spacing-fixed-1x);--_sbb-form-field-floating-label-transform: .53125rem;--_sbb-form-field-spacer-margin-block-end: calc( -1 * var(--_sbb-form-field-label-to-input-overlapping) )}@media(min-width:64rem){:host(:is([size=m],[size=l])){--_sbb-form-field-floating-label-transform: .65625rem}}:host([error-space=reserve]){--sbb-form-field-hint-min-height: calc( var(--sbb-typo-line-height-text) * var(--sbb-text-font-size-xs) );--sbb-form-field-hint-padding-block-start-override: var(--sbb-form-field-hint-divider-width)}:host(:where(:is(:state(readonly),[state--readonly]),:is(:state(disabled),[state--disabled]))){--sbb-form-field-background-color: var(--sbb-background-color-3);--sbb-form-field-border-color: var(--sbb-color-graphite);--sbb-form-field-border-color: light-dark(var(--sbb-color-graphite), var(--sbb-color-smoke));--sbb-form-field-arrow-color: var(--sbb-color-granite);--sbb-form-field-arrow-color: light-dark(var(--sbb-color-granite), var(--sbb-color-storm))}@media(forced-colors:active){:host(:where(:is(:state(readonly),[state--readonly]),:is(:state(disabled),[state--disabled]))){--sbb-form-field-border-color: ButtonBorder}}:host(:where(:is(:state(readonly),[state--readonly]),:is(:state(disabled),[state--disabled]))[negative]){--sbb-form-field-background-color: var(--sbb-background-color-3-negative);--sbb-form-field-border-color: var(--sbb-border-color-5);--sbb-form-field-arrow-color: var(--sbb-border-color-5)}:host(:where(:is(:state(disabled),[state--disabled]))){--sbb-form-field-label-color: var(--sbb-color-granite);--sbb-form-field-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));--sbb-form-field-prefix-color: var(--sbb-color-granite);--sbb-form-field-prefix-color: light-dark(var(--sbb-color-granite), var(--sbb-color-storm));--sbb-form-field-border-style: dashed}@media(forced-colors:active){:host(:where(:is(:state(disabled),[state--disabled]))){--sbb-form-field-label-color: GrayText !important;--sbb-form-field-prefix-color: GrayText !important;--sbb-form-field-text-color: GrayText !important;--sbb-form-field-border-color: GrayText !important}}:host(:where(:is(:state(disabled),[state--disabled]))[negative]){--sbb-form-field-text-color: var(--sbb-color-5);--sbb-form-field-label-color: var(--sbb-color-5);--sbb-form-field-prefix-color: var(--sbb-color-5)}:host(:where(:is(:state(readonly),[state--readonly])):not([negative])){--sbb-form-field-label-color: var(--sbb-color-granite);--sbb-form-field-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));--sbb-form-field-prefix-color: var(--sbb-color-granite);--sbb-form-field-prefix-color: light-dark(var(--sbb-color-granite), var(--sbb-color-storm))}:host(:where(:is(:state(focus),[state--focus]))){--sbb-form-field-border-color: var(--sbb-border-color-3);--sbb-form-field-prefix-color: var(--sbb-color-3);--sbb-form-field-border-width: var(--sbb-border-width-2x)}:host(:where(:is(:state(focus),[state--focus]))[negative]){--sbb-form-field-border-color: var(--sbb-border-color-3-negative);--sbb-form-field-prefix-color: var(--sbb-color-3-negative)}@media(forced-colors:active){:host(:is(:state(focus),[state--focus])){--sbb-form-field-border-color: Highlight;--sbb-form-field-prefix-color: Highlight}}:host(:not(:where(:is(:state(has-error),[state--has-error]),:is(:state(has-hint),[state--has-hint])))){--sbb-form-field-hint-padding-block-start: 0}:host([floating-label]){--sbb-select-placeholder-color: transparent}@media(forced-colors:active){:host([floating-label]){--sbb-select-placeholder-color: Canvas}}:host(:is(:not(:is(:state(slotted-label),[state--slotted-label])),[hidden-label])){--sbb-form-field-label-size: 0rem;--_sbb-form-field-label-to-input-overlapping: 0rem}:host(:where(:is(:state(input-type-sbb-slider),[state--input-type-sbb-slider]))){--sbb-form-field-overflow: visible}.sbb-form-field__space-wrapper{display:flex;flex-direction:column;height:100%}.sbb-form-field__space-wrapper:before{content:\"\";-webkit-user-select:none;user-select:none;width:0;height:0}.sbb-form-field__wrapper{display:flex;flex:1;gap:var(--sbb-form-field-gap);padding-inline:var(--sbb-form-field-padding-inline);border-radius:var(--sbb-form-field-border-radius);min-height:var(--sbb-form-field-min-height);max-height:var(--sbb-form-field-max-height);background-color:var(--sbb-form-field-background-color);position:relative}.sbb-form-field__wrapper:before{content:\"\";display:block;position:absolute;inset:0;border:var(--sbb-form-field-border-width) var(--sbb-form-field-border-style) var(--sbb-form-field-border-color);border-radius:var(--sbb-form-field-border-radius);pointer-events:none}:host(:where(:is(:state(focus),[state--focus]):is(:state(focus-origin-keyboard),[state--focus-origin-keyboard]))) .sbb-form-field__wrapper{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);outline-offset:var(--sbb-form-field-outline-offset, var(--sbb-focus-outline-offset))}@media(forced-colors:none){:host(:is([borderless],:is(:state(input-type-sbb-slider),[state--input-type-sbb-slider]))) .sbb-form-field__wrapper:before{border-color:transparent}:host(:where(:is(:state(focus),[state--focus]),:is(:state(disabled),[state--disabled]))[borderless]) .sbb-form-field__wrapper:after{content:\"\";position:absolute;border-block-end:var(--sbb-border-width-1x) var(--sbb-form-field-border-style) var(--sbb-form-field-border-color);inset-inline:var(--sbb-form-field-padding-inline);inset-block-end:0;z-index:var(--sbb-form-field-focus-underline-z-index, initial)}}::slotted(*[slot=prefix]){color:var(--sbb-form-field-prefix-color)}::slotted(*[slot=prefix]),::slotted(*[slot=suffix]){display:flex;min-width:var(--sbb-icon-svg-width);margin-block-start:calc((var(--sbb-form-field-min-height) - var(--sbb-size-icon-ui-small)) / 2)}:host(:where(:is(:state(empty),[state--empty]),:is(:state(disabled),[state--disabled]),:is(:state(readonly),[state--readonly]))) ::slotted(sbb-form-field-clear){display:none}:host(:is(:state(has-error),[state--has-error])) slot[name=hint]{display:none}:host(:where(:is(:state(disabled),[state--disabled]),:is(:state(readonly),[state--readonly]))) ::slotted(sbb-form-field-text-counter){display:none}::slotted(sbb-datepicker-toggle){padding-block-end:calc((var(--sbb-form-field-min-height) - var(--sbb-size-icon-ui-small)) / 2)}@media(forced-colors:active){::slotted(*[slot=suffix]){color:var(--sbb-form-field-prefix-color)}}.sbb-form-field__select-input-icon{top:50%;translate:0 -50%;display:none;position:absolute;inset-inline-end:0;margin-block-start:calc(-1 * var(--sbb-form-field-margin-block-start) / 2);pointer-events:none;color:var(--sbb-form-field-arrow-color)}:host(:is(:is(:state(input-type-select),[state--input-type-select]),:is(:state(input-type-sbb-select),[state--input-type-sbb-select]),:is(:state(explicit-input-type-select),[state--explicit-input-type-select]))) .sbb-form-field__select-input-icon{display:inline-block}.sbb-form-field__input-container{display:flex;flex-direction:column;flex:1 1 auto;position:relative;margin-block-start:var(--sbb-form-field-margin-block-start);min-width:0}.sbb-form-field__label-spacer{display:flex;height:calc(var(--sbb-form-field-label-text-size) * var(--sbb-typo-line-height-text));margin-block-end:var(--_sbb-form-field-spacer-margin-block-end)}:host(:not(:is(:state(slotted-label),[state--slotted-label]))) :is(.sbb-form-field__label,.sbb-form-field__label-spacer){display:none}:host([hidden-label]) :is(.sbb-form-field__label,.sbb-form-field__label-spacer){border:0;clip-path:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-form-field__label{display:flex;max-width:100%;cursor:var(--sbb-cursor-default);position:absolute;inset-block-start:0;color:var(--sbb-form-field-label-color);font-size:var(--sbb-form-field-label-text-size);letter-spacing:var(--sbb-typo-letter-spacing-text)}:host(:where(:is(:state(input-type-select),[state--input-type-select]),:is(:state(input-type-sbb-select),[state--input-type-sbb-select]))) .sbb-form-field__label{padding-inline-end:var(--sbb-form-field-select-inline-padding-end)}:host([floating-label]) .sbb-form-field__label{transform-origin:0 0;pointer-events:none;backface-visibility:hidden;will-change:transform,font-size;transition-duration:var(--sbb-disable-animation-duration, var(--sbb-animation-duration-2x));transition-timing-function:var(--sbb-animation-easing);transition-property:transform,font-size}:host([floating-label]:is(:not(:where(:is(:state(focus),[state--focus])):not(:where(:is(:state(input-type-sbb-select),[state--input-type-sbb-select]))),:where(:is(:state(has-popup-open),[state--has-popup-open]))),:where(:is(:state(readonly),[state--readonly]))):where(:is(:state(empty),[state--empty]))) .sbb-form-field__label{font-size:var(--sbb-form-field-input-text-size);transform:translateY(var(--_sbb-form-field-floating-label-transform))}@media(forced-colors:active){:host(:where(:is(:state(input-type-textarea),[state--input-type-textarea]))) .sbb-form-field__label{z-index:1}}.sbb-form-field__label-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sbb-form-field__input{display:flex;flex:1;align-items:start}:host(:is(:is(:state(input-type-input),[state--input-type-input]),:is(:state(input-type-select),[state--input-type-select]),:is(:state(input-type-sbb-select),[state--input-type-sbb-select]),:is(:state(input-type-sbb-date-input),[state--input-type-sbb-date-input]),:is(:state(input-type-sbb-time-input),[state--input-type-sbb-time-input]))) .sbb-form-field__input{margin-block-end:var(--_sbb-form-field-input-margin-block-end)}.sbb-form-field__hint{display:flex;min-height:var(--sbb-form-field-hint-min-height);flex-direction:column;margin-block-start:var(--sbb-form-field-hint-padding-block-start-override, var(--sbb-form-field-hint-padding-block-start))}", _ = 0, v = /* @__PURE__ */ new WeakMap(), y = [
|
|
7
|
+
var g = "@charset \"UTF-8\";:host{--sbb-form-field-hint-divider-width: var(--sbb-spacing-fixed-1x);--sbb-form-field-hint-padding-block-start: var(--sbb-form-field-hint-divider-width);--sbb-form-field-select-inline-padding-end: calc( var(--sbb-icon-svg-width) + var(--sbb-form-field-gap) );--sbb-form-field-label-size: calc( var(--sbb-form-field-label-text-size) * var(--sbb-typo-line-height-text) );--sbb-form-field-text-line-height: calc( var(--sbb-form-field-input-text-size) * var(--sbb-typo-line-height-text) );--sbb-form-field-margin-block-start: calc( ( var(--sbb-form-field-min-height) - var(--sbb-form-field-label-size) - var( --sbb-form-field-text-line-height ) + var(--_sbb-form-field-label-to-input-overlapping) ) / 2 );--sbb-icon-svg-width: var(--sbb-form-field-icon-size);--sbb-icon-svg-height: var(--sbb-form-field-icon-size);--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);--sbb-focus-outline-color: light-dark( var(--sbb-focus-outline-color-default), var(--sbb-focus-outline-color-dark) );display:inline-block;color:var(--sbb-form-field-color);font-weight:400;line-height:var(--sbb-typo-line-height-text)}:host(:where(:not([width=collapse]))){min-width:9.375rem;width:min(18.75rem,100%)}:host([negative]){color:var(--sbb-color-3-negative);--sbb-form-field-background-color: var(--sbb-background-color-1-negative);--sbb-form-field-border-color: var(--sbb-border-color-5);--sbb-form-field-label-color: var(--sbb-color-5);--sbb-form-field-prefix-color: var(--sbb-color-5);--sbb-form-field-text-color: var(--sbb-color-3-negative);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);--sbb-form-field-arrow-color: var(--sbb-color-3-negative)}@media(forced-colors:active){:host([negative]){--sbb-form-field-border-color: ButtonBorder}}:host([size=s]){--sbb-form-field-min-height: var(--sbb-size-element-xs);--sbb-form-field-padding-inline: var(--sbb-spacing-fixed-2x);--sbb-form-field-input-text-size: var(--sbb-text-font-size-s);--sbb-form-field-label-text-size: var(--sbb-text-font-size-xxs);--_sbb-form-field-input-margin-block-end: -.125rem;--_sbb-form-field-label-to-input-overlapping: .625rem;--_sbb-form-field-floating-label-transform: .34375rem;--_sbb-form-field-spacer-margin-block-end: -.53125rem}@media(min-width:64rem){:host([size=s]){--_sbb-form-field-label-to-input-overlapping: .6875rem;--_sbb-form-field-floating-label-transform: .3125rem;--_sbb-form-field-spacer-margin-block-end: -.5rem}}:host([size=m]){--sbb-form-field-min-height: var(--sbb-size-element-m);--sbb-form-field-padding-inline: var(--sbb-spacing-fixed-3x)}:host([size=l]){--sbb-form-field-min-height: var(--sbb-size-element-l);--sbb-form-field-padding-inline: var(--sbb-spacing-responsive-xxxs)}:host(:is([size=m],[size=l])){--sbb-form-field-input-text-size: var(--sbb-text-font-size-m);--sbb-form-field-label-text-size: var(--sbb-text-font-size-xs);--_sbb-form-field-input-margin-block-end: 0;--_sbb-form-field-label-to-input-overlapping: var(--sbb-spacing-fixed-1x);--_sbb-form-field-floating-label-transform: .53125rem;--_sbb-form-field-spacer-margin-block-end: calc( -1 * var(--_sbb-form-field-label-to-input-overlapping) )}@media(min-width:64rem){:host(:is([size=m],[size=l])){--_sbb-form-field-floating-label-transform: .65625rem}}:host([error-space=reserve]){--sbb-form-field-hint-min-height: calc( var(--sbb-typo-line-height-text) * var(--sbb-text-font-size-xs) );--sbb-form-field-hint-padding-block-start-override: var(--sbb-form-field-hint-divider-width)}:host(:where(:is(:state(readonly),[state--readonly]),:is(:state(disabled),[state--disabled]))){--sbb-form-field-background-color: var(--sbb-background-color-3);--sbb-form-field-border-color: var(--sbb-color-graphite);--sbb-form-field-border-color: light-dark(var(--sbb-color-graphite), var(--sbb-color-smoke));--sbb-form-field-arrow-color: var(--sbb-color-granite);--sbb-form-field-arrow-color: light-dark(var(--sbb-color-granite), var(--sbb-color-storm))}@media(forced-colors:active){:host(:where(:is(:state(readonly),[state--readonly]),:is(:state(disabled),[state--disabled]))){--sbb-form-field-border-color: ButtonBorder}}:host(:where(:is(:state(readonly),[state--readonly]),:is(:state(disabled),[state--disabled]))[negative]){--sbb-form-field-background-color: var(--sbb-background-color-3-negative);--sbb-form-field-border-color: var(--sbb-border-color-5);--sbb-form-field-arrow-color: var(--sbb-border-color-5)}:host(:where(:is(:state(disabled),[state--disabled]))){--sbb-form-field-label-color: var(--sbb-color-granite);--sbb-form-field-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));--sbb-form-field-prefix-color: var(--sbb-color-granite);--sbb-form-field-prefix-color: light-dark(var(--sbb-color-granite), var(--sbb-color-storm));--sbb-form-field-border-style: dashed}@media(forced-colors:active){:host(:where(:is(:state(disabled),[state--disabled]))){--sbb-form-field-label-color: GrayText !important;--sbb-form-field-prefix-color: GrayText !important;--sbb-form-field-text-color: GrayText !important;--sbb-form-field-border-color: GrayText !important}}:host(:where(:is(:state(disabled),[state--disabled]))[negative]){--sbb-form-field-text-color: var(--sbb-color-5);--sbb-form-field-label-color: var(--sbb-color-5);--sbb-form-field-prefix-color: var(--sbb-color-5)}:host(:where(:is(:state(readonly),[state--readonly])):not([negative])){--sbb-form-field-label-color: var(--sbb-color-granite);--sbb-form-field-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));--sbb-form-field-prefix-color: var(--sbb-color-granite);--sbb-form-field-prefix-color: light-dark(var(--sbb-color-granite), var(--sbb-color-storm))}:host(:where(:is(:state(focus),[state--focus]))){--sbb-form-field-border-color: var(--sbb-border-color-3);--sbb-form-field-prefix-color: var(--sbb-color-3);--sbb-form-field-border-width: var(--sbb-border-width-2x)}:host(:where(:is(:state(focus),[state--focus]))[negative]){--sbb-form-field-border-color: var(--sbb-border-color-3-negative);--sbb-form-field-prefix-color: var(--sbb-color-3-negative)}@media(forced-colors:active){:host(:is(:state(focus),[state--focus])){--sbb-form-field-border-color: Highlight;--sbb-form-field-prefix-color: Highlight}}:host(:not(:where(:is(:state(has-error),[state--has-error]),:is(:state(has-hint),[state--has-hint])))){--sbb-form-field-hint-padding-block-start: 0}:host([floating-label]){--sbb-select-placeholder-color: transparent}@media(forced-colors:active){:host([floating-label]){--sbb-select-placeholder-color: Canvas}}:host(:is(:not(:is(:state(slotted-label),[state--slotted-label])),[hidden-label])){--sbb-form-field-label-size: 0rem;--_sbb-form-field-label-to-input-overlapping: 0rem}:host(:where(:is(:state(input-element-sbb-slider),[state--input-element-sbb-slider]))){--sbb-form-field-overflow: visible}.sbb-form-field__space-wrapper{display:flex;flex-direction:column;height:100%}.sbb-form-field__space-wrapper:before{content:\"\";-webkit-user-select:none;user-select:none;width:0;height:0}.sbb-form-field__wrapper{display:flex;flex:1;gap:var(--sbb-form-field-gap);padding-inline:var(--sbb-form-field-padding-inline);border-radius:var(--sbb-form-field-border-radius);min-height:var(--sbb-form-field-min-height);max-height:var(--sbb-form-field-max-height);background-color:var(--sbb-form-field-background-color);position:relative}.sbb-form-field__wrapper:before{content:\"\";display:block;position:absolute;inset:0;border:var(--sbb-form-field-border-width) var(--sbb-form-field-border-style) var(--sbb-form-field-border-color);border-radius:var(--sbb-form-field-border-radius);pointer-events:none}:host(:where(:is(:state(focus),[state--focus]):is(:state(focus-origin-keyboard),[state--focus-origin-keyboard]))) .sbb-form-field__wrapper{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);outline-offset:var(--sbb-form-field-outline-offset, var(--sbb-focus-outline-offset))}@media(forced-colors:none){:host(:is([borderless],:is(:state(input-element-sbb-slider),[state--input-element-sbb-slider]))) .sbb-form-field__wrapper:before{border-color:transparent}:host(:where(:is(:state(focus),[state--focus]),:is(:state(disabled),[state--disabled]))[borderless]) .sbb-form-field__wrapper:after{content:\"\";position:absolute;border-block-end:var(--sbb-border-width-1x) var(--sbb-form-field-border-style) var(--sbb-form-field-border-color);inset-inline:var(--sbb-form-field-padding-inline);inset-block-end:0;z-index:var(--sbb-form-field-focus-underline-z-index, initial)}}::slotted(*[slot=prefix]){color:var(--sbb-form-field-prefix-color)}::slotted(*[slot=prefix]),::slotted(*[slot=suffix]){display:flex;min-width:var(--sbb-icon-svg-width);margin-block-start:calc((var(--sbb-form-field-min-height) - var(--sbb-size-icon-ui-small)) / 2)}:host(:where(:is(:state(empty),[state--empty]),:is(:state(disabled),[state--disabled]),:is(:state(readonly),[state--readonly]))) ::slotted(sbb-form-field-clear){display:none}:host(:is(:state(has-error),[state--has-error])) slot[name=hint]{display:none}:host(:where(:is(:state(disabled),[state--disabled]),:is(:state(readonly),[state--readonly]))) ::slotted(sbb-form-field-text-counter){display:none}::slotted(sbb-datepicker-toggle){padding-block-end:calc((var(--sbb-form-field-min-height) - var(--sbb-size-icon-ui-small)) / 2)}@media(forced-colors:active){::slotted(*[slot=suffix]){color:var(--sbb-form-field-prefix-color)}}.sbb-form-field__select-input-icon{top:50%;translate:0 -50%;display:none;position:absolute;inset-inline-end:0;margin-block-start:calc(-1 * var(--sbb-form-field-margin-block-start) / 2);pointer-events:none;color:var(--sbb-form-field-arrow-color)}:host(:is(:is(:state(input-element-select),[state--input-element-select]),:is(:state(input-element-sbb-select),[state--input-element-sbb-select]),:is(:state(explicit-input-element-select),[state--explicit-input-element-select]))) .sbb-form-field__select-input-icon{display:inline-block}.sbb-form-field__input-container{display:flex;flex-direction:column;flex:1 1 auto;position:relative;margin-block-start:var(--sbb-form-field-margin-block-start);min-width:0}.sbb-form-field__label-spacer{display:flex;height:calc(var(--sbb-form-field-label-text-size) * var(--sbb-typo-line-height-text));margin-block-end:var(--_sbb-form-field-spacer-margin-block-end)}:host(:not(:is(:state(slotted-label),[state--slotted-label]))) :is(.sbb-form-field__label,.sbb-form-field__label-spacer){display:none}:host([hidden-label]) :is(.sbb-form-field__label,.sbb-form-field__label-spacer){border:0;clip-path:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sbb-form-field__label{display:flex;max-width:100%;cursor:var(--sbb-cursor-default);position:absolute;inset-block-start:0;color:var(--sbb-form-field-label-color);font-size:var(--sbb-form-field-label-text-size);letter-spacing:var(--sbb-typo-letter-spacing-text)}:host(:where(:is(:state(input-element-select),[state--input-element-select]),:is(:state(input-element-sbb-select),[state--input-element-sbb-select]))) .sbb-form-field__label{padding-inline-end:var(--sbb-form-field-select-inline-padding-end)}:host([floating-label]) .sbb-form-field__label{transform-origin:0 0;pointer-events:none;backface-visibility:hidden;will-change:transform,font-size;transition-duration:var(--sbb-disable-animation-duration, var(--sbb-animation-duration-2x));transition-timing-function:var(--sbb-animation-easing);transition-property:transform,font-size}:host([floating-label]:is(:not(:where(:is(:state(focus),[state--focus])):not(:where(:is(:state(input-element-sbb-select),[state--input-element-sbb-select]))),:where(:is(:state(has-popup-open),[state--has-popup-open]))),:where(:is(:state(readonly),[state--readonly]))):where(:is(:state(empty),[state--empty]))) .sbb-form-field__label{font-size:var(--sbb-form-field-input-text-size);transform:translateY(var(--_sbb-form-field-floating-label-transform))}@media(forced-colors:active){:host(:where(:is(:state(input-element-textarea),[state--input-element-textarea]))) .sbb-form-field__label{z-index:1}}.sbb-form-field__label-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sbb-form-field__input{display:flex;flex:1;align-items:start}:host(:is(:is(:state(input-element-input),[state--input-element-input]),:is(:state(input-element-select),[state--input-element-select]),:is(:state(input-element-sbb-select),[state--input-element-sbb-select]),:is(:state(input-element-sbb-date-input),[state--input-element-sbb-date-input]),:is(:state(input-element-sbb-time-input),[state--input-element-sbb-time-input]))) .sbb-form-field__input{margin-block-end:var(--_sbb-form-field-input-margin-block-end)}.sbb-form-field__hint{display:flex;min-height:var(--sbb-form-field-hint-min-height);flex-direction:column;margin-block-start:var(--sbb-form-field-hint-padding-block-start-override, var(--sbb-form-field-hint-padding-block-start))}", _ = 0, v = /* @__PURE__ */ new WeakMap(), y = [
|
|
8
8
|
"input",
|
|
9
9
|
"textarea",
|
|
10
10
|
"select"
|
|
@@ -340,7 +340,7 @@ var g = "@charset \"UTF-8\";:host{--sbb-form-field-hint-divider-width: var(--sbb
|
|
|
340
340
|
let t = Array.from(this.querySelectorAll("*:not([slot],sbb-chip-group)"));
|
|
341
341
|
e = (t.find((e) => this._isInputElement(e)) || t[0]) ?? null;
|
|
342
342
|
}
|
|
343
|
-
return e === this._input ? "unchanged" : (this._input && (this.internals.states.delete(`input-
|
|
343
|
+
return e === this._input ? "unchanged" : (this._input && (this.internals.states.delete(`input-element-${this._input.localName}`), (this._input.localName === "input" || this._input.localName === "textarea") && this._unpatchInputValue()), e ? (this._input = e, this._registerInputFormListener(), this._assignAriaDescribedByElements(), this._readInputState(), this._checkAndUpdateInputEmpty(), this._input.localName === "textarea" ? (this._input.setAttribute("rows", this._input.getAttribute("rows") || "3"), this._patchInputValue()) : this._input.localName === "input" ? this._patchInputValue() : (this._input.localName === "select" || this._input.localName === "sbb-select") && !this.hasUpdated && this.hydrationComplete.then(() => this.requestUpdate()), this._formFieldAttributeObserver?.disconnect(), this._formFieldAttributeObserver?.observe(this._input, {
|
|
344
344
|
attributes: !0,
|
|
345
345
|
attributeFilter: [
|
|
346
346
|
"readonly",
|
|
@@ -350,7 +350,7 @@ var g = "@charset \"UTF-8\";:host{--sbb-form-field-hint-divider-width: var(--sbb
|
|
|
350
350
|
"data-expanded",
|
|
351
351
|
"maxlength"
|
|
352
352
|
]
|
|
353
|
-
}), this.internals.states.add(`input-
|
|
353
|
+
}), this.internals.states.add(`input-element-${this._input.localName}`), this._syncLabelInputReferences(), "changed") : (this._input = null, "no-input"));
|
|
354
354
|
}
|
|
355
355
|
_syncLabelInputReferences() {
|
|
356
356
|
if (!(!this._input || !this._label)) if (y.includes(this._input.localName) || customElements.get(this._input.localName)?.formAssociated) this._input.id ||= `sbb-form-field-input-${_++}`, this._label.htmlFor = this._input.id;
|
|
@@ -364,7 +364,7 @@ var g = "@charset \"UTF-8\";:host{--sbb-form-field-hint-divider-width: var(--sbb
|
|
|
364
364
|
return y.includes(e.localName) || !!customElements.get(e.localName)?.formAssociated;
|
|
365
365
|
}
|
|
366
366
|
_readInputState() {
|
|
367
|
-
this.toggleState("readonly", this._control?.readOnly ?? this._input.hasAttribute("readonly")), this.toggleState("disabled", this._control?.disabled ?? this._input.hasAttribute("disabled")), this.toggleState("has-popup-open", this._input.hasAttribute("data-expanded")), this._previousType && this.internals.states.delete(`
|
|
367
|
+
this.toggleState("readonly", this._control?.readOnly ?? this._input.hasAttribute("readonly")), this.toggleState("disabled", this._control?.disabled ?? this._input.hasAttribute("disabled")), this.toggleState("has-popup-open", this._input.hasAttribute("data-expanded")), this._previousType && this.internals.states.delete(`input-type-${this._previousType}`), this._previousType = this._control?.type ?? this._input.type ?? "text", this.internals.states.add(`input-type-${this._previousType}`);
|
|
368
368
|
}
|
|
369
369
|
_registerInputFormListener() {
|
|
370
370
|
this._inputFormAbortController.abort();
|
package/form-field.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./error.component-D9Tu2YIl.js";
|
|
2
|
-
import { n as t, t as n } from "./form-field.component-
|
|
2
|
+
import { n as t, t as n } from "./form-field.component-BoLly8qP.js";
|
|
3
3
|
import { SbbFormFieldClearElement as r } from "./form-field/form-field-clear/form-field-clear.component.js";
|
|
4
4
|
import { SbbFormFieldTextCounterElement as i } from "./form-field/form-field-text-counter/form-field-text-counter.component.js";
|
|
5
5
|
import { t as a } from "./hint.component-DTKfI9tq.js";
|
package/form-field.pure.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./error.component-D9Tu2YIl.js";
|
|
2
|
-
import { n as t, t as n } from "./form-field.component-
|
|
2
|
+
import { n as t, t as n } from "./form-field.component-BoLly8qP.js";
|
|
3
3
|
import { SbbFormFieldClearElement as r } from "./form-field/form-field-clear/form-field-clear.component.js";
|
|
4
4
|
import { SbbFormFieldTextCounterElement as i } from "./form-field/form-field-text-counter/form-field-text-counter.component.js";
|
|
5
5
|
import { t as a } from "./hint.component-DTKfI9tq.js";
|
package/icon/icon.component.js
CHANGED
|
@@ -65,8 +65,8 @@ var c = (() => {
|
|
|
65
65
|
set _sbbAngularCompatibility(e) {
|
|
66
66
|
this.#t = e;
|
|
67
67
|
}
|
|
68
|
-
|
|
69
|
-
super
|
|
68
|
+
constructor() {
|
|
69
|
+
super(), n(this, m), this.internals.ariaHidden = "true";
|
|
70
70
|
}
|
|
71
71
|
async fetchSvgIcon(e, t) {
|
|
72
72
|
return this.internals.ariaLabel = `Icon ${t.replace(/-/g, " ")}`, super.fetchSvgIcon(e, t);
|
|
@@ -80,9 +80,6 @@ var c = (() => {
|
|
|
80
80
|
render() {
|
|
81
81
|
return this._sbbAngularCompatibility ? r`<slot></slot>` : super.render();
|
|
82
82
|
}
|
|
83
|
-
constructor() {
|
|
84
|
-
super(...arguments), n(this, m);
|
|
85
|
-
}
|
|
86
83
|
};
|
|
87
84
|
})();
|
|
88
85
|
//#endregion
|
package/lean-off-brand-theme.css
CHANGED
|
@@ -1798,6 +1798,7 @@ slot[name=error]::slotted(*) {
|
|
|
1798
1798
|
--sbb-optgroup-label-font-size: var(--sbb-text-font-size-xxs);
|
|
1799
1799
|
--sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-1x);
|
|
1800
1800
|
--sbb-optgroup-label-padding-inline: var(--sbb-spacing-responsive-xxxs);
|
|
1801
|
+
--sbb-optgroup-divider-color: var(--sbb-divider-color);
|
|
1801
1802
|
--sbb-overlay-background-color: var(--sbb-background-color-3);
|
|
1802
1803
|
--sbb-overlay-display: none;
|
|
1803
1804
|
--sbb-overlay-height: 100%;
|
package/lean-safety-theme.css
CHANGED
|
@@ -1798,6 +1798,7 @@ slot[name=error]::slotted(*) {
|
|
|
1798
1798
|
--sbb-optgroup-label-font-size: var(--sbb-text-font-size-xxs);
|
|
1799
1799
|
--sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-1x);
|
|
1800
1800
|
--sbb-optgroup-label-padding-inline: var(--sbb-spacing-responsive-xxxs);
|
|
1801
|
+
--sbb-optgroup-divider-color: var(--sbb-divider-color);
|
|
1801
1802
|
--sbb-overlay-background-color: var(--sbb-background-color-3);
|
|
1802
1803
|
--sbb-overlay-display: none;
|
|
1803
1804
|
--sbb-overlay-height: 100%;
|
package/lean-theme.css
CHANGED
|
@@ -1798,6 +1798,7 @@ slot[name=error]::slotted(*) {
|
|
|
1798
1798
|
--sbb-optgroup-label-font-size: var(--sbb-text-font-size-xxs);
|
|
1799
1799
|
--sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-1x);
|
|
1800
1800
|
--sbb-optgroup-label-padding-inline: var(--sbb-spacing-responsive-xxxs);
|
|
1801
|
+
--sbb-optgroup-divider-color: var(--sbb-divider-color);
|
|
1801
1802
|
--sbb-overlay-background-color: var(--sbb-background-color-3);
|
|
1802
1803
|
--sbb-overlay-display: none;
|
|
1803
1804
|
--sbb-overlay-height: 100%;
|
package/off-brand-theme.css
CHANGED
|
@@ -1798,6 +1798,7 @@ slot[name=error]::slotted(*) {
|
|
|
1798
1798
|
--sbb-optgroup-label-font-size: var(--sbb-text-font-size-xxs);
|
|
1799
1799
|
--sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-2x);
|
|
1800
1800
|
--sbb-optgroup-label-padding-inline: var(--sbb-spacing-responsive-xxxs);
|
|
1801
|
+
--sbb-optgroup-divider-color: var(--sbb-divider-color);
|
|
1801
1802
|
--sbb-overlay-background-color: var(--sbb-background-color-3);
|
|
1802
1803
|
--sbb-overlay-display: none;
|
|
1803
1804
|
--sbb-overlay-height: 100%;
|
|
@@ -2,14 +2,13 @@ import { __esDecorate as e, __runInitializers as t } from "tslib";
|
|
|
2
2
|
import { html as n, nothing as r, unsafeCSS as i } from "lit";
|
|
3
3
|
import { property as a, state as o } from "lit/decorators.js";
|
|
4
4
|
import { SbbDisabledMixin as s, SbbElement as c, SbbPropertyWatcherController as l, forceType as u, isSafari as d } from "./core.js";
|
|
5
|
-
import { SbbDividerElement as f } from "./divider.pure.js";
|
|
6
5
|
//#region src/elements/option/optgroup/optgroup-base-element.scss?inline
|
|
7
|
-
var
|
|
8
|
-
let d = s(c),
|
|
6
|
+
var f = ":host{display:block}:host(:first-child){--sbb-optgroup-divider-display: none}:host(:is(:state(size-s),[state--size-s])){--sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-1x)}:host(:is(:state(size-m),[state--size-m])){--sbb-optgroup-label-padding-end: var(--sbb-spacing-fixed-2x)}:host(:is(:state(negative),[state--negative])){--sbb-optgroup-label-color: var(--sbb-color-5);--sbb-optgroup-divider-color: var(--sbb-divider-color-negative)}:host:before{content:\"\";display:var(--sbb-optgroup-divider-display, block);margin-block:var(--sbb-options-panel-divider-margin-block);border-block-start:var(--sbb-divider-border-width) solid var(--sbb-optgroup-divider-color)}.sbb-optgroup{margin-block:var(--sbb-spacing-fixed-4x);margin-inline:var(--sbb-spacing-fixed-4x)}.sbb-optgroup__label{display:flex;column-gap:var(--sbb-spacing-responsive-xxxs);font-size:var(--sbb-optgroup-label-font-size);letter-spacing:var(--sbb-typo-letter-spacing-text);color:var(--sbb-optgroup-label-color);-webkit-text-fill-color:var(--sbb-optgroup-label-color);padding-inline:var(--sbb-optgroup-label-padding-inline);padding-block-end:var(--sbb-optgroup-label-padding-end)}.sbb-optgroup__icon-space{display:var(--sbb-option-icon-container-display, none);min-width:var(--sbb-size-icon-ui-small)}::slotted(sbb-divider){margin-block:var(--sbb-options-panel-divider-margin-block)}", p = d, m = (() => {
|
|
7
|
+
let d = s(c), m, h = [], g = [], _, v = [], y = [];
|
|
9
8
|
return class extends d {
|
|
10
9
|
static {
|
|
11
10
|
let t = typeof Symbol == "function" && Symbol.metadata ? Object.create(d[Symbol.metadata] ?? null) : void 0;
|
|
12
|
-
|
|
11
|
+
m = [u(), a()], _ = [o()], e(this, null, m, {
|
|
13
12
|
kind: "accessor",
|
|
14
13
|
name: "label",
|
|
15
14
|
static: !1,
|
|
@@ -22,7 +21,7 @@ var p = ":host{display:block}:host(:first-child){--sbb-optgroup-divider-display:
|
|
|
22
21
|
}
|
|
23
22
|
},
|
|
24
23
|
metadata: t
|
|
25
|
-
},
|
|
24
|
+
}, h, g), e(this, null, _, {
|
|
26
25
|
kind: "accessor",
|
|
27
26
|
name: "_inertAriaGroups",
|
|
28
27
|
static: !1,
|
|
@@ -35,7 +34,7 @@ var p = ":host{display:block}:host(:first-child){--sbb-optgroup-divider-display:
|
|
|
35
34
|
}
|
|
36
35
|
},
|
|
37
36
|
metadata: t
|
|
38
|
-
},
|
|
37
|
+
}, v, y), t && Object.defineProperty(this, Symbol.metadata, {
|
|
39
38
|
enumerable: !0,
|
|
40
39
|
configurable: !0,
|
|
41
40
|
writable: !0,
|
|
@@ -43,13 +42,10 @@ var p = ":host{display:block}:host(:first-child){--sbb-optgroup-divider-display:
|
|
|
43
42
|
});
|
|
44
43
|
}
|
|
45
44
|
static {
|
|
46
|
-
this.role =
|
|
45
|
+
this.role = p ? null : "group";
|
|
47
46
|
}
|
|
48
47
|
static {
|
|
49
|
-
this.
|
|
50
|
-
}
|
|
51
|
-
static {
|
|
52
|
-
this.styles = [i(p)];
|
|
48
|
+
this.styles = [i(f)];
|
|
53
49
|
}
|
|
54
50
|
#e;
|
|
55
51
|
get label() {
|
|
@@ -66,9 +62,9 @@ var p = ":host{display:block}:host(:first-child){--sbb-optgroup-divider-display:
|
|
|
66
62
|
this.#t = e;
|
|
67
63
|
}
|
|
68
64
|
constructor() {
|
|
69
|
-
super(), this.#e = t(this,
|
|
65
|
+
super(), this.#e = t(this, h, ""), this.#t = (t(this, g), t(this, v, !1)), this._previousSize = (t(this, y), null), this.addController(new l(this, () => this.closest("sbb-autocomplete, sbb-autocomplete-grid, sbb-select"), { size: (e) => {
|
|
70
66
|
this._previousSize && this.internals.states.delete(`size-${this._previousSize}`), this._previousSize = e.size, this._previousSize && this.internals.states.add(`size-${this._previousSize}`);
|
|
71
|
-
} })),
|
|
67
|
+
} })), p && (this.hydrationRequired ? this.hydrationComplete.then(() => this._inertAriaGroups = p) : this._inertAriaGroups = p);
|
|
72
68
|
}
|
|
73
69
|
connectedCallback() {
|
|
74
70
|
super.connectedCallback(), this._updateAriaLabel();
|
|
@@ -90,9 +86,6 @@ var p = ":host{display:block}:host(:first-child){--sbb-optgroup-divider-display:
|
|
|
90
86
|
}
|
|
91
87
|
render() {
|
|
92
88
|
return n`
|
|
93
|
-
<div class="sbb-optgroup__divider">
|
|
94
|
-
<sbb-divider ?negative=${this.matches?.(":is(:state(negative),[state--negative])")}></sbb-divider>
|
|
95
|
-
</div>
|
|
96
89
|
${this.label ? n`
|
|
97
90
|
<div class="sbb-optgroup__label" aria-hidden="true">
|
|
98
91
|
<div class="sbb-optgroup__icon-space"></div>
|
|
@@ -105,4 +98,4 @@ var p = ":host{display:block}:host(:first-child){--sbb-optgroup-divider-display:
|
|
|
105
98
|
};
|
|
106
99
|
})();
|
|
107
100
|
//#endregion
|
|
108
|
-
export {
|
|
101
|
+
export { m as t };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../optgroup-base-element-
|
|
1
|
+
import { t as e } from "../../optgroup-base-element-CBxsRPUF.js";
|
|
2
2
|
export { e as SbbOptgroupBaseElement };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "../../optgroup-base-element-
|
|
1
|
+
import { t as e } from "../../optgroup-base-element-CBxsRPUF.js";
|
|
2
2
|
import { SbbPropertyWatcherController as t } from "../../core.js";
|
|
3
3
|
//#region src/elements/option/optgroup/optgroup.component.ts
|
|
4
4
|
var n = class extends e {
|
package/option.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./optgroup-base-element-
|
|
1
|
+
import { t as e } from "./optgroup-base-element-CBxsRPUF.js";
|
|
2
2
|
import { SbbOptGroupElement as t } from "./option/optgroup/optgroup.component.js";
|
|
3
3
|
import { t as n } from "./option-hint.component-NSxCKXEy.js";
|
|
4
4
|
import { t as r } from "./option-styles-DcD5grSB.js";
|
package/option.pure.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./optgroup-base-element-
|
|
1
|
+
import { t as e } from "./optgroup-base-element-CBxsRPUF.js";
|
|
2
2
|
import { SbbOptGroupElement as t } from "./option/optgroup/optgroup.component.js";
|
|
3
3
|
import { t as n } from "./option-hint.component-NSxCKXEy.js";
|
|
4
4
|
import { t as r } from "./option-styles-DcD5grSB.js";
|
|
@@ -92,11 +92,11 @@ var x = [], S = (() => {
|
|
|
92
92
|
open() {
|
|
93
93
|
this.state === "opening" || this.state === "opened" || this._hasClosedParent() || !this.dispatchBeforeOpenEvent() || (this.lastFocusedElement = document.activeElement, this.showPopover?.(), this.state = "opening", this._triggerElement && (this._triggerElement.ariaExpanded = "true"), x.push(this), this.scrollHandler.disableScroll(), this.escapableOverlayController.connect(), this.attachOpenOverlayEvents(), this.isZeroAnimationDuration() && this.handleOpening());
|
|
94
94
|
}
|
|
95
|
-
close(e
|
|
96
|
-
this._close(e,
|
|
95
|
+
close(e) {
|
|
96
|
+
this._close(e, void 0);
|
|
97
97
|
}
|
|
98
98
|
_close(e, t) {
|
|
99
|
-
this.state === "closing" || this.state === "closed" || (this.
|
|
99
|
+
this.state === "closing" || this.state === "closed" || (this.lastResult = e ?? null, this.lastClosedTarget = t, this.dispatchBeforeCloseEvent() && (this.state = "closing", this._triggerElement && (this._triggerElement.ariaExpanded = "false"), this.removeAriaLiveRefContent(), this.isZeroAnimationDuration() && this.handleClosing()));
|
|
100
100
|
}
|
|
101
101
|
_hasClosedParent() {
|
|
102
102
|
let e = this.parentElement?.closest("sbb-dialog, sbb-overlay");
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../overlay.component-
|
|
1
|
+
import { t as e } from "../overlay.component-OSLtja0_.js";
|
|
2
2
|
export { e as SbbOverlayElement };
|
|
@@ -99,15 +99,15 @@ var g = ":host{--_sbb-overlay-padding-block: calc( var(--sbb-spacing-fixed-14x)
|
|
|
99
99
|
return this.dispatchEvent(new t("beforeclose", {
|
|
100
100
|
cancelable: !0,
|
|
101
101
|
closeAttribute: this.closeAttribute,
|
|
102
|
-
closeTarget: this.
|
|
103
|
-
result: this.
|
|
102
|
+
closeTarget: this.lastClosedTarget,
|
|
103
|
+
result: this.lastResult
|
|
104
104
|
}));
|
|
105
105
|
}
|
|
106
106
|
dispatchCloseEvent() {
|
|
107
107
|
return this.dispatchEvent(new t("close", {
|
|
108
108
|
closeAttribute: this.closeAttribute,
|
|
109
|
-
closeTarget: this.
|
|
110
|
-
result: this.
|
|
109
|
+
closeTarget: this.lastClosedTarget,
|
|
110
|
+
result: this.lastResult
|
|
111
111
|
}));
|
|
112
112
|
}
|
|
113
113
|
render() {
|
package/overlay.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SbbOverlayBaseElement as e, SbbOverlayCloseEvent as t, assignOverlayResult as n, overlayRefs as r } from "./overlay/overlay-base-element.js";
|
|
2
|
-
import { t as i } from "./overlay.component-
|
|
2
|
+
import { t as i } from "./overlay.component-OSLtja0_.js";
|
|
3
3
|
import "./overlay.pure.js";
|
|
4
4
|
//#region src/elements/overlay.ts
|
|
5
5
|
i.define();
|
package/overlay.pure.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { SbbOverlayBaseElement as e, SbbOverlayCloseEvent as t, assignOverlayResult as n, overlayRefs as r } from "./overlay/overlay-base-element.js";
|
|
2
|
-
import { t as i } from "./overlay.component-
|
|
2
|
+
import { t as i } from "./overlay.component-OSLtja0_.js";
|
|
3
3
|
export { e as SbbOverlayBaseElement, t as SbbOverlayCloseEvent, i as SbbOverlayElement, n as assignOverlayResult, r as overlayRefs };
|
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.
|
|
3
|
+
"version": "5.0.0-next.3-dev.1779279790",
|
|
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/
|
|
9
|
+
"https://github.com/sbb-design-systems/lyne-components/commit/e7c793a0127b649a1ba192ca8d65c3c1213c3d6d"
|
|
10
10
|
],
|
|
11
11
|
"type": "module",
|
|
12
12
|
"exports": {
|