@sbb-esta/lyne-elements 3.3.2 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/i18n/i18n.d.ts +5 -0
- package/core/i18n/i18n.d.ts.map +1 -1
- package/core/i18n/i18n.js +108 -84
- package/core/i18n.js +84 -80
- package/core/mixins/element-internals-mixin.js +6 -6
- package/core/mixins/form-associated-input-mixin.d.ts +1 -0
- package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/core/mixins/form-associated-input-mixin.js +2 -2
- package/core/styles/core/mediaqueries.scss +1 -1
- package/core/styles/core.scss +34 -1
- package/core/styles/mixins/typo.scss +88 -41
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +530 -0
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +1123 -0
- package/core.css +30 -0
- package/custom-elements.json +863 -147
- package/date-input/date-input.component.d.ts +5 -4
- package/date-input/date-input.component.d.ts.map +1 -1
- package/date-input/date-input.component.js +19 -21
- package/development/core/i18n/i18n.d.ts +5 -0
- package/development/core/i18n/i18n.d.ts.map +1 -1
- package/development/core/i18n/i18n.js +38 -10
- package/development/core/i18n.js +5 -1
- package/development/core/mixins/element-internals-mixin.js +3 -3
- package/development/core/mixins/form-associated-input-mixin.d.ts +1 -0
- package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
- package/development/core/mixins/form-associated-input-mixin.js +3 -2
- package/development/date-input/date-input.component.d.ts +5 -4
- package/development/date-input/date-input.component.d.ts.map +1 -1
- package/development/date-input/date-input.component.js +5 -8
- package/development/dialog/dialog/dialog.component.d.ts +2 -0
- package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
- package/development/dialog/dialog/dialog.component.js +6 -2
- package/development/dialog/dialog-title/dialog-title.component.js +2 -6
- package/development/file-selector/common/file-selector-common.d.ts +2 -1
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/development/file-selector/common/file-selector-common.js +64 -19
- package/development/file-selector/common.js +1 -1
- package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
- package/development/file-selector/file-selector/file-selector.component.js +12 -17
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +0 -7
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +32 -76
- package/development/{file-selector-common-csww18o8.js → file-selector-common-BxXdRZxt.js} +3 -3
- package/development/file-selector.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 +4 -4
- package/development/navigation/common/navigation-action-common.js +5 -8
- package/development/navigation/navigation/navigation.component.js +21 -4
- package/development/navigation/navigation-marker/navigation-marker.component.js +5 -8
- package/development/navigation/navigation-section/navigation-section.component.js +6 -19
- package/development/paginator/common/paginator-common.d.ts +3 -0
- package/development/paginator/common/paginator-common.d.ts.map +1 -1
- package/development/paginator/common/paginator-common.js +68 -10
- package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
- package/development/paginator/compact-paginator/compact-paginator.component.js +8 -3
- package/development/paginator/paginator/paginator.component.d.ts +5 -0
- package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/development/paginator/paginator/paginator.component.js +28 -6
- package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
- package/development/tabs/tab-group/tab-group.component.js +3 -4
- package/development/time-input/time-input.component.d.ts +5 -4
- package/development/time-input/time-input.component.d.ts.map +1 -1
- package/development/time-input/time-input.component.js +5 -8
- package/development/title/title-base.js +14 -67
- package/development/title/title.component.js +17 -14
- package/development/toast/toast.component.js +6 -9
- package/development/train/train-wagon/train-wagon.component.js +6 -9
- package/dialog/dialog/dialog.component.d.ts +2 -0
- package/dialog/dialog/dialog.component.d.ts.map +1 -1
- package/dialog/dialog/dialog.component.js +14 -10
- package/dialog/dialog-title/dialog-title.component.js +1 -1
- package/file-selector/common/file-selector-common.d.ts +2 -1
- package/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/file-selector/common/file-selector-common.js +88 -63
- package/file-selector/common.js +1 -1
- package/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
- package/file-selector/file-selector/file-selector.component.js +26 -31
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +0 -7
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +50 -74
- package/file-selector-common-Cn6U8goV.js +5 -0
- package/file-selector.js +1 -1
- package/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/form-field/form-field/form-field.component.js +3 -3
- package/navigation/common/navigation-action-common.js +8 -8
- package/navigation/navigation/navigation.component.js +1 -1
- package/navigation/navigation-marker/navigation-marker.component.js +1 -1
- package/navigation/navigation-section/navigation-section.component.js +14 -14
- package/package.json +1 -1
- package/paginator/common/paginator-common.d.ts +3 -0
- package/paginator/common/paginator-common.d.ts.map +1 -1
- package/paginator/common/paginator-common.js +103 -63
- package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
- package/paginator/compact-paginator/compact-paginator.component.js +13 -8
- package/paginator/paginator/paginator.component.d.ts +5 -0
- package/paginator/paginator/paginator.component.d.ts.map +1 -1
- package/paginator/paginator/paginator.component.js +77 -61
- package/sidebar/sidebar-title/sidebar-title.component.js +14 -14
- package/standard-theme.css +30 -0
- package/tabs/tab-group/tab-group.component.js +7 -7
- package/time-input/time-input.component.d.ts +5 -4
- package/time-input/time-input.component.d.ts.map +1 -1
- package/time-input/time-input.component.js +21 -22
- package/title/title-base.js +33 -33
- package/title/title.component.js +9 -9
- package/toast/toast.component.js +1 -1
- package/train/train-wagon/train-wagon.component.js +6 -6
- package/file-selector-common-Dw5d8vA4.js +0 -5
|
@@ -320,6 +320,10 @@ let SbbDialogElement = (() => {
|
|
|
320
320
|
this.id ||= `sbb-dialog-${nextId++}`;
|
|
321
321
|
super.connectedCallback();
|
|
322
322
|
}
|
|
323
|
+
/** Announce the accessibility label or dialog title for screen readers. */
|
|
324
|
+
announceTitle() {
|
|
325
|
+
this.setAriaLiveRefContent(this.accessibilityLabel || this.querySelector("sbb-dialog-title")?.innerText.trim());
|
|
326
|
+
}
|
|
323
327
|
isZeroAnimationDuration() {
|
|
324
328
|
return isZeroAnimationDuration(this, "--sbb-dialog-animation-duration");
|
|
325
329
|
}
|
|
@@ -352,7 +356,7 @@ let SbbDialogElement = (() => {
|
|
|
352
356
|
this.escapableOverlayController.connect();
|
|
353
357
|
this.attachOpenOverlayEvents();
|
|
354
358
|
this.focusTrapController.focusInitialElement();
|
|
355
|
-
setTimeout(() => this.
|
|
359
|
+
setTimeout(() => this.announceTitle());
|
|
356
360
|
this.focusTrapController.enabled = true;
|
|
357
361
|
if (this._dialogContentElement) {
|
|
358
362
|
this._dialogContentResizeObserver.observe(this._dialogContentElement);
|
|
@@ -436,4 +440,4 @@ let SbbDialogElement = (() => {
|
|
|
436
440
|
export {
|
|
437
441
|
SbbDialogElement
|
|
438
442
|
};
|
|
439
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RpYWxvZy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgZXZlbnRPcHRpb25zLCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBvdmVybGF5UmVmcywgU2JiT3ZlcmxheUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vb3ZlcmxheS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RpYWxvZy5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL3NjcmVlbi1yZWFkZXItb25seS5qcyc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGludGVyYWN0aXZlIG92ZXJsYXkgZWxlbWVudC5cbiAqXG4gKiBAc2xvdCBhY3Rpb25zIC0gVGhpcyBzbG90IGlzIHVzZWQgZm9yIHRoZSBhY3Rpb25zLCB0aGUgc2xvdCBpcyBhdXRvbWF0aWNhbGx5IGFzc2lnbmVkIHRvIHRoZSBgc2JiLWRpYWxvZy1hY3Rpb25zYCBlbGVtZW50LlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgYHNiYi1kaWFsb2ctdGl0bGVgLCBgc2JiLWRpYWxvZy1jb250ZW50YCBhbmQgYW4gb3B0aW9uYWwgYHNiYi1kaWFsb2ctYWN0aW9uc2AuXG4gKiBAY3NzcHJvcCBbLS1zYmItZGlhbG9nLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWRpYWxvZycpXG5jbGFzcyBTYmJEaWFsb2dFbGVtZW50IGV4dGVuZHMgU2JiT3ZlcmxheUJhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIEJhY2tkcm9wIGNsaWNrIGFjdGlvbi4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYmFja2Ryb3AtYWN0aW9uJyB9KSBwdWJsaWMgYWNjZXNzb3IgYmFja2Ryb3BBY3Rpb246ICdjbG9zZScgfCAnbm9uZScgPVxuICAgICdjbG9zZSc7XG5cbiAgLyoqIEJhY2tkcm9wIGRlbnNpdHkuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2tkcm9wJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgYmFja2Ryb3A6XG4gICAgfCAnb3BhcXVlJ1xuICAgIHwgJ3RyYW5zbHVjZW50JyA9ICdvcGFxdWUnO1xuXG4gIC8vIFdlIHVzZSBhIHRpbWVvdXQgYXMgYSB3b3JrYXJvdW5kIHRvIHRoZSBcIlJlc2l6ZU9ic2VydmVyIGxvb3AgY29tcGxldGVkIHdpdGggdW5kZWxpdmVyZWQgbm90aWZpY2F0aW9uc1wiIGVycm9yLlxuICAvLyBGb3IgbW9yZSBkZXRhaWxzOlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMzgjaXNzdWVjb21tZW50LTQyMjEyNjAwNlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWdnbGUvcmVzaXplLW9ic2VydmVyL2lzc3Vlcy8xMDMjaXNzdWVjb21tZW50LTE3MTExNDgyODVcbiAgcHJpdmF0ZSBfZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLl91cGRhdGVPdmVyZmxvd1N0YXRlKCkpLFxuICB9KTtcblxuICBwcml2YXRlIF9kaWFsb2dDb250ZW50RWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9kaWFsb2dFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBjbG9zZUF0dHJpYnV0ZTogc3RyaW5nID0gJ3NiYi1kaWFsb2ctY2xvc2UnO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2xvc2VUYWc6IHN0cmluZyA9ICdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbic7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgLy8gQ2xvc2UgZGlhbG9nIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJkb3duJywgdGhpcy5fcG9pbnRlckRvd25MaXN0ZW5lcik7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJ1cCcsIHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLWRpYWxvZy0ke25leHRJZCsrfWA7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLWRpYWxvZy1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50Py5zY3JvbGxUbygwLCAwKTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG5cbiAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5kZWFjdGl2YXRlKCk7XG4gICAgaWYgKCF0aGlzLnNraXBGb2N1c1Jlc3RvcmF0aW9uKSB7XG4gICAgICAvLyBNYW51YWxseSBmb2N1cyBsYXN0IGZvY3VzZWQgZWxlbWVudFxuICAgICAgdGhpcy5sYXN0Rm9jdXNlZEVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50KSB7XG4gICAgICB0aGlzLl9kaWFsb2dDb250ZW50UmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50KTtcbiAgICB9XG4gICAgdGhpcy5yZW1vdmVJbnN0YW5jZUZyb21HbG9iYWxDb2xsZWN0aW9uKCk7XG4gICAgLy8gRW5hYmxlIHNjcm9sbGluZyBmb3IgY29udGVudCBiZWxvdyB0aGUgZGlhbG9nIGlmIG5vIGRpYWxvZyBpcyBvcGVuXG4gICAgaWYgKCFvdmVybGF5UmVmcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgICB9XG4gICAgdGhpcy5lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoe1xuICAgICAgcmV0dXJuVmFsdWU6IHRoaXMucmV0dXJuVmFsdWUsXG4gICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuaW5lcnRDb250cm9sbGVyLmFjdGl2YXRlKCk7XG4gICAgdGhpcy5lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5hdHRhY2hPcGVuT3ZlcmxheUV2ZW50cygpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgLy8gVXNlIHRpbWVvdXQgdG8gcmVhZCBsYWJlbCBhZnRlciBmb2N1c2VkIGVsZW1lbnRcbiAgICBzZXRUaW1lb3V0KCgpID0+XG4gICAgICB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudChcbiAgICAgICAgdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgfHwgdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLXRpdGxlJyk/LmlubmVyVGV4dC50cmltKCksXG4gICAgICApLFxuICAgICk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQpO1xuICAgIH1cbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpKSB7XG4gICAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNUaXRsZU5lZ2F0aXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1RpdGxlID0gdGhpcy5xdWVyeVNlbGVjdG9yPy4oJ3NiYi1kaWFsb2ctdGl0bGUnKTtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbicpO1xuXG4gICAgaWYgKGRpYWxvZ1RpdGxlKSB7XG4gICAgICBkaWFsb2dUaXRsZS5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuXG4gICAgaWYgKGNsb3NlQnV0dG9uKSB7XG4gICAgICBjbG9zZUJ1dHRvbi5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgLyoqIENoZWNrIGlmIHRoZSBwb2ludGVyZG93biBldmVudCB0YXJnZXQgaXMgdHJpZ2dlcmVkIG9uIHRoZSBkaWFsb2cuICovXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wQWN0aW9uICE9PSAnY2xvc2UnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2cgPVxuICAgICAgISF0aGlzLl9kaWFsb2dFbGVtZW50ICYmIGV2ZW50LmNvbXBvc2VkUGF0aCgpLmluY2x1ZGVzKHRoaXMuX2RpYWxvZ0VsZW1lbnQpO1xuICB9O1xuXG4gIC8qKiBDbG9zZSBkaWFsb2cgb24gYmFja2Ryb3AgY2xpY2suICovXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmJhY2tkcm9wQWN0aW9uID09PSAnY2xvc2UnICYmXG4gICAgICAhdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2cgJiZcbiAgICAgIHRoaXMuX2RpYWxvZ0VsZW1lbnQgJiZcbiAgICAgICFldmVudC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyh0aGlzLl9kaWFsb2dFbGVtZW50KVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF91cGRhdGVPdmVyZmxvd1N0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnb3ZlcmZsb3dzJyxcbiAgICAgICh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uc2Nyb2xsVG9wID8/IDApICtcbiAgICAgICAgKHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50Py5vZmZzZXRIZWlnaHQgPz8gMCkgPFxuICAgICAgICAodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQ/LnNjcm9sbEhlaWdodCA/PyAwKSxcbiAgICApO1xuICB9XG5cbiAgQGV2ZW50T3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSlcbiAgcHJpdmF0ZSBfZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdzY3JvbGxlZCcsICh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uc2Nyb2xsVG9wID8/IDApID4gMCk7XG4gICAgdGhpcy5fdXBkYXRlT3ZlcmZsb3dTdGF0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWRpYWxvZ19fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5vbk92ZXJsYXlBbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItZGlhbG9nXCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fZGlhbG9nRWxlbWVudCA9IGVsIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLmNsb3NlT25TYmJPdmVybGF5Q2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dfX3dyYXBwZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZGlhbG9nLXRpdGxlLXNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgPHNsb3QgbmFtZT1cInRpdGxlLXNlY3Rpb25cIiBAc2xvdGNoYW5nZT0keygpID0+IHRoaXMuX3N5bmNUaXRsZU5lZ2F0aXZlKCl9Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2ctY29udGVudC1jb250YWluZXJcIlxuICAgICAgICAgICAgICBAc2Nyb2xsPSR7KCkgPT4gdGhpcy5fZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpfVxuICAgICAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQgPSBlbCBhcyBIVE1MRGl2RWxlbWVudCkpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzbG90IG5hbWU9XCJhY3Rpb25zXCI+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHkgYXJpYS1saXZlPVwicG9saXRlXCI+PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kaWFsb2cnOiBTYmJEaWFsb2dFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWFBLElBQUksU0FBUztJQWFQLG9C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
|
|
443
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RpYWxvZy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgZXZlbnRPcHRpb25zLCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBvdmVybGF5UmVmcywgU2JiT3ZlcmxheUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vb3ZlcmxheS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RpYWxvZy5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL3NjcmVlbi1yZWFkZXItb25seS5qcyc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGludGVyYWN0aXZlIG92ZXJsYXkgZWxlbWVudC5cbiAqXG4gKiBAc2xvdCBhY3Rpb25zIC0gVGhpcyBzbG90IGlzIHVzZWQgZm9yIHRoZSBhY3Rpb25zLCB0aGUgc2xvdCBpcyBhdXRvbWF0aWNhbGx5IGFzc2lnbmVkIHRvIHRoZSBgc2JiLWRpYWxvZy1hY3Rpb25zYCBlbGVtZW50LlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgYHNiYi1kaWFsb2ctdGl0bGVgLCBgc2JiLWRpYWxvZy1jb250ZW50YCBhbmQgYW4gb3B0aW9uYWwgYHNiYi1kaWFsb2ctYWN0aW9uc2AuXG4gKiBAY3NzcHJvcCBbLS1zYmItZGlhbG9nLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWRpYWxvZycpXG5jbGFzcyBTYmJEaWFsb2dFbGVtZW50IGV4dGVuZHMgU2JiT3ZlcmxheUJhc2VFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIEJhY2tkcm9wIGNsaWNrIGFjdGlvbi4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYmFja2Ryb3AtYWN0aW9uJyB9KSBwdWJsaWMgYWNjZXNzb3IgYmFja2Ryb3BBY3Rpb246ICdjbG9zZScgfCAnbm9uZScgPVxuICAgICdjbG9zZSc7XG5cbiAgLyoqIEJhY2tkcm9wIGRlbnNpdHkuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2tkcm9wJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgYmFja2Ryb3A6XG4gICAgfCAnb3BhcXVlJ1xuICAgIHwgJ3RyYW5zbHVjZW50JyA9ICdvcGFxdWUnO1xuXG4gIC8vIFdlIHVzZSBhIHRpbWVvdXQgYXMgYSB3b3JrYXJvdW5kIHRvIHRoZSBcIlJlc2l6ZU9ic2VydmVyIGxvb3AgY29tcGxldGVkIHdpdGggdW5kZWxpdmVyZWQgbm90aWZpY2F0aW9uc1wiIGVycm9yLlxuICAvLyBGb3IgbW9yZSBkZXRhaWxzOlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMzgjaXNzdWVjb21tZW50LTQyMjEyNjAwNlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWdnbGUvcmVzaXplLW9ic2VydmVyL2lzc3Vlcy8xMDMjaXNzdWVjb21tZW50LTE3MTExNDgyODVcbiAgcHJpdmF0ZSBfZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLl91cGRhdGVPdmVyZmxvd1N0YXRlKCkpLFxuICB9KTtcblxuICBwcml2YXRlIF9kaWFsb2dDb250ZW50RWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9kaWFsb2dFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBjbG9zZUF0dHJpYnV0ZTogc3RyaW5nID0gJ3NiYi1kaWFsb2ctY2xvc2UnO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2xvc2VUYWc6IHN0cmluZyA9ICdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbic7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgLy8gQ2xvc2UgZGlhbG9nIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJkb3duJywgdGhpcy5fcG9pbnRlckRvd25MaXN0ZW5lcik7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJ1cCcsIHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLWRpYWxvZy0ke25leHRJZCsrfWA7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgfVxuXG4gIC8qKiBBbm5vdW5jZSB0aGUgYWNjZXNzaWJpbGl0eSBsYWJlbCBvciBkaWFsb2cgdGl0bGUgZm9yIHNjcmVlbiByZWFkZXJzLiAqL1xuICBwdWJsaWMgYW5ub3VuY2VUaXRsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudChcbiAgICAgIHRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsIHx8IHRoaXMucXVlcnlTZWxlY3Rvcignc2JiLWRpYWxvZy10aXRsZScpPy5pbm5lclRleHQudHJpbSgpLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuXG4gICAgdGhpcy5pbmVydENvbnRyb2xsZXIuZGVhY3RpdmF0ZSgpO1xuICAgIGlmICghdGhpcy5za2lwRm9jdXNSZXN0b3JhdGlvbikge1xuICAgICAgLy8gTWFudWFsbHkgZm9jdXMgbGFzdCBmb2N1c2VkIGVsZW1lbnRcbiAgICAgIHRoaXMubGFzdEZvY3VzZWRFbGVtZW50Py5mb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IGZhbHNlO1xuICAgIGlmICh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCk7XG4gICAgfVxuICAgIHRoaXMucmVtb3ZlSW5zdGFuY2VGcm9tR2xvYmFsQ29sbGVjdGlvbigpO1xuICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIGRpYWxvZyBpZiBubyBkaWFsb2cgaXMgb3BlblxuICAgIGlmICghb3ZlcmxheVJlZnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZW5hYmxlU2Nyb2xsKCk7XG4gICAgfVxuICAgIHRoaXMuZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KHtcbiAgICAgIHJldHVyblZhbHVlOiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIHRoaXMuZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuY29ubmVjdCgpO1xuICAgIHRoaXMuYXR0YWNoT3Blbk92ZXJsYXlFdmVudHMoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIC8vIFVzZSB0aW1lb3V0IHRvIHJlYWQgbGFiZWwgYWZ0ZXIgZm9jdXNlZCBlbGVtZW50XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFubm91bmNlVGl0bGUoKSk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQpO1xuICAgIH1cbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCduZWdhdGl2ZScpKSB7XG4gICAgICB0aGlzLl9zeW5jVGl0bGVOZWdhdGl2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N5bmNUaXRsZU5lZ2F0aXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1RpdGxlID0gdGhpcy5xdWVyeVNlbGVjdG9yPy4oJ3NiYi1kaWFsb2ctdGl0bGUnKTtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uKCdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbicpO1xuXG4gICAgaWYgKGRpYWxvZ1RpdGxlKSB7XG4gICAgICBkaWFsb2dUaXRsZS5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuXG4gICAgaWYgKGNsb3NlQnV0dG9uKSB7XG4gICAgICBjbG9zZUJ1dHRvbi5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgLyoqIENoZWNrIGlmIHRoZSBwb2ludGVyZG93biBldmVudCB0YXJnZXQgaXMgdHJpZ2dlcmVkIG9uIHRoZSBkaWFsb2cuICovXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wQWN0aW9uICE9PSAnY2xvc2UnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2cgPVxuICAgICAgISF0aGlzLl9kaWFsb2dFbGVtZW50ICYmIGV2ZW50LmNvbXBvc2VkUGF0aCgpLmluY2x1ZGVzKHRoaXMuX2RpYWxvZ0VsZW1lbnQpO1xuICB9O1xuXG4gIC8qKiBDbG9zZSBkaWFsb2cgb24gYmFja2Ryb3AgY2xpY2suICovXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmJhY2tkcm9wQWN0aW9uID09PSAnY2xvc2UnICYmXG4gICAgICAhdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25EaWFsb2cgJiZcbiAgICAgIHRoaXMuX2RpYWxvZ0VsZW1lbnQgJiZcbiAgICAgICFldmVudC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyh0aGlzLl9kaWFsb2dFbGVtZW50KVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF91cGRhdGVPdmVyZmxvd1N0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnb3ZlcmZsb3dzJyxcbiAgICAgICh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uc2Nyb2xsVG9wID8/IDApICtcbiAgICAgICAgKHRoaXMuX2RpYWxvZ0NvbnRlbnRFbGVtZW50Py5vZmZzZXRIZWlnaHQgPz8gMCkgPFxuICAgICAgICAodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQ/LnNjcm9sbEhlaWdodCA/PyAwKSxcbiAgICApO1xuICB9XG5cbiAgQGV2ZW50T3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSlcbiAgcHJpdmF0ZSBfZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdzY3JvbGxlZCcsICh0aGlzLl9kaWFsb2dDb250ZW50RWxlbWVudD8uc2Nyb2xsVG9wID8/IDApID4gMCk7XG4gICAgdGhpcy5fdXBkYXRlT3ZlcmZsb3dTdGF0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWRpYWxvZ19fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5vbk92ZXJsYXlBbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItZGlhbG9nXCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fZGlhbG9nRWxlbWVudCA9IGVsIGFzIEhUTUxEaXZFbGVtZW50KSl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLmNsb3NlT25TYmJPdmVybGF5Q2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dfX3dyYXBwZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItZGlhbG9nLXRpdGxlLXNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgPHNsb3QgbmFtZT1cInRpdGxlLXNlY3Rpb25cIiBAc2xvdGNoYW5nZT0keygpID0+IHRoaXMuX3N5bmNUaXRsZU5lZ2F0aXZlKCl9Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2ctY29udGVudC1jb250YWluZXJcIlxuICAgICAgICAgICAgICBAc2Nyb2xsPSR7KCkgPT4gdGhpcy5fZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpfVxuICAgICAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fZGlhbG9nQ29udGVudEVsZW1lbnQgPSBlbCBhcyBIVE1MRGl2RWxlbWVudCkpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzbG90IG5hbWU9XCJhY3Rpb25zXCI+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHkgYXJpYS1saXZlPVwicG9saXRlXCI+PC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kaWFsb2cnOiBTYmJEaWFsb2dFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -7,15 +7,11 @@ const style = css`:host {
|
|
|
7
7
|
display: block;
|
|
8
8
|
margin-block: var(--sbb-dialog-padding-block);
|
|
9
9
|
margin-inline: var(--sbb-dialog-padding-inline);
|
|
10
|
+
hyphens: auto;
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
:host([negative]) {
|
|
13
14
|
--sbb-title-text-color-normal: var(--sbb-color-milk);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.sbb-title {
|
|
17
|
-
hyphens: auto;
|
|
18
|
-
margin: 0;
|
|
19
15
|
}`;
|
|
20
16
|
let SbbDialogTitleElement = (() => {
|
|
21
17
|
var _a;
|
|
@@ -45,4 +41,4 @@ let SbbDialogTitleElement = (() => {
|
|
|
45
41
|
export {
|
|
46
42
|
SbbDialogTitleElement
|
|
47
43
|
};
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXRpdGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RpYWxvZy9kaWFsb2ctdGl0bGUvZGlhbG9nLXRpdGxlLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJUaXRsZUJhc2UgfSBmcm9tICcuLi8uLi90aXRsZS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RpYWxvZy10aXRsZS5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdGl0bGUgaW5zaWRlIGEgZGlhbG9nIGhlYWRlci5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IGZvciB0aGUgY29udGVudCBvZiB0aGUgZGlhbG9nLXRpdGxlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItZGlhbG9nLXRpdGxlJylcbmNsYXNzIFNiYkRpYWxvZ1RpdGxlRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiVGl0bGVCYXNlKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtTYmJUaXRsZUJhc2Uuc3R5bGVzLCBzdHlsZV07XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sZXZlbCA9ICcyJyBhcyB0aGlzWydsZXZlbCddO1xuICAgIHRoaXMudmlzdWFsTGV2ZWwgPSAnNCcgYXMgdGhpc1sndmlzdWFsTGV2ZWwnXTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ3RpdGxlLXNlY3Rpb24nO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGlhbG9nLXRpdGxlJzogU2JiRGlhbG9nVGl0bGVFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0lBZU0seUJBQXFCLE1BQUE7OzBCQUQxQixjQUFjLGtCQUFrQixDQUFDOzs7O29CQUNFLGlCQUFpQixZQUFZO0FBQXJDLEVBQUEsbUJBQVEsWUFBOEI7QUFBQSxJQUdoRSxjQUFBO0FBQ0UsWUFBQTtBQUNBLFdBQUssUUFBUTtBQUNiLFdBQUssY0FBYztBQUFBLElBQ3JCO0FBQUEsSUFFZ0Isb0JBQWlCO0FBQy9CLFlBQU0sa0JBQUE7QUFDTixXQUFLLFNBQVM7QUFBQSxJQUNoQjtBQUFBOztBQVpGLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5QixDQUFDLGFBQWEsUUFBUSxLQUFLLEdBRHZFLGtCQUFBLFlBQUEsdUJBQUEsR0FBc0I7OzsifQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LitElement, TemplateResult } from 'lit';
|
|
2
2
|
import { SbbSecondaryButtonStaticElement } from '../../button.js';
|
|
3
3
|
import { SbbLanguageController } from '../../core/controllers.js';
|
|
4
|
-
import { FormRestoreReason, FormRestoreState
|
|
4
|
+
import { Constructor, FormRestoreReason, FormRestoreState } from '../../core/mixins.js';
|
|
5
5
|
declare const SbbFileSelectorCommonElementMixinType_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbFormAssociatedMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbElementInternalsMixinType> & typeof LitElement & import('../../core/mixins.js').SbbElementInternalsConstructor;
|
|
6
6
|
export declare abstract class SbbFileSelectorCommonElementMixinType extends SbbFileSelectorCommonElementMixinType_base {
|
|
7
7
|
accessor size: 's' | 'm';
|
|
@@ -16,6 +16,7 @@ export declare abstract class SbbFileSelectorCommonElementMixinType extends SbbF
|
|
|
16
16
|
protected language: SbbLanguageController;
|
|
17
17
|
protected abstract renderTemplate(input: TemplateResult): TemplateResult;
|
|
18
18
|
protected createFileList(files: FileList): void;
|
|
19
|
+
protected getButtonLabel(): string;
|
|
19
20
|
formResetCallback(): void;
|
|
20
21
|
formStateRestoreCallback(state: FormRestoreState | null, reason: FormRestoreReason): void;
|
|
21
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-selector-common.d.ts","sourceRoot":"","sources":["../../../../../src/elements/file-selector/common/file-selector-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAMtD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"file-selector-common.d.ts","sourceRoot":"","sources":["../../../../../src/elements/file-selector/common/file-selector-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAMtD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAUlE,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAItB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,kCAAkC,CAAC;;AAE1C,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,qCAAsC,SAAQ,0CAE3E;IACC,SAAgB,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAChC,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,YAAY,EAAE,SAAS,GAAG,YAAY,CAAC;IACvD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAC3C,SAAgB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACxC,IAAoB,KAAK,IAAI,MAAM,GAAG,IAAI,CAAC;IAC3C,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE;IAChD,SAAS,CAAC,UAAU,EAAE,+BAA+B,CAAC;IACtD,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;IACxE,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAC/C,SAAS,CAAC,cAAc,IAAI,MAAM;IAC3B,iBAAiB,IAAI,IAAI;IACzB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;CACjG;AAGD,eAAO,MAAM,iCAAiC,GAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,EACjF,YAAY,CAAC,KACZ,WAAW,CAAC,qCAAqC,CAAC,GAAG,CA+UvD,CAAC"}
|
|
@@ -15,11 +15,9 @@ import { SbbLanguageController } from "../../core/controllers.js";
|
|
|
15
15
|
import { forceType } from "../../core/decorators.js";
|
|
16
16
|
import { isLean } from "../../core/dom.js";
|
|
17
17
|
import { forwardEvent } from "../../core/eventing.js";
|
|
18
|
-
import { i18nFileSelectorCurrentlySelected, i18nFileSelectorDeleteFile
|
|
18
|
+
import { i18nFileSelectorButtonLabelMultiple, i18nFileSelectorButtonLabel, i18nFileSelectorCurrentlySelected, i18nFileSelectorDeleteFile } from "../../core/i18n.js";
|
|
19
19
|
import { SbbDisabledMixin, SbbFormAssociatedMixin, SbbElementInternalsMixin } from "../../core/mixins.js";
|
|
20
20
|
import "../../button/secondary-button.js";
|
|
21
|
-
import "../../button/secondary-button-static.js";
|
|
22
|
-
import "../../icon.js";
|
|
23
21
|
const SbbFileSelectorCommonElementMixin = (superclass) => {
|
|
24
22
|
let SbbFileSelectorCommonElement = (() => {
|
|
25
23
|
var _size_accessor_storage, _multiple_accessor_storage, _multipleMode_accessor_storage, _accept_accessor_storage, _accessibilityLabel_accessor_storage, _a;
|
|
@@ -58,6 +56,7 @@ const SbbFileSelectorCommonElementMixin = (superclass) => {
|
|
|
58
56
|
this._files = (__runInitializers(this, _accessibilityLabel_extraInitializers), []);
|
|
59
57
|
this._suffixes = ["B", "kB", "MB", "GB", "TB"];
|
|
60
58
|
this.language = new SbbLanguageController(this);
|
|
59
|
+
this._counter = 0;
|
|
61
60
|
}
|
|
62
61
|
/**
|
|
63
62
|
* Size variant, either s or m.
|
|
@@ -158,10 +157,14 @@ const SbbFileSelectorCommonElementMixin = (superclass) => {
|
|
|
158
157
|
forwardEvent(event, this);
|
|
159
158
|
}
|
|
160
159
|
createFileList(files) {
|
|
160
|
+
const fileArray = Array.from(files);
|
|
161
|
+
if (!this.multiple && files.length > 1 || this.accept && fileArray.some((file) => !this.accept.split(",").some((a) => file.name.endsWith(a.trim())))) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
161
164
|
if (!this.multiple || this.multipleMode !== "persistent" || this.files.length === 0) {
|
|
162
|
-
this.files =
|
|
165
|
+
this.files = fileArray;
|
|
163
166
|
} else {
|
|
164
|
-
this.files =
|
|
167
|
+
this.files = fileArray.filter(
|
|
165
168
|
// Remove duplicates
|
|
166
169
|
(newFile) => this.files.findIndex((oldFile) => this._checkFileEquality(newFile, oldFile)) === -1
|
|
167
170
|
).concat(this.files);
|
|
@@ -169,6 +172,9 @@ const SbbFileSelectorCommonElementMixin = (superclass) => {
|
|
|
169
172
|
this._updateA11yLiveRegion();
|
|
170
173
|
this._dispatchFileChangedEvent();
|
|
171
174
|
}
|
|
175
|
+
getButtonLabel() {
|
|
176
|
+
return this.multiple ? i18nFileSelectorButtonLabelMultiple[this.language.current] : i18nFileSelectorButtonLabel[this.language.current];
|
|
177
|
+
}
|
|
172
178
|
_removeFile(file) {
|
|
173
179
|
this.files = this.files.filter((f) => !this._checkFileEquality(file, f));
|
|
174
180
|
this._updateA11yLiveRegion();
|
|
@@ -214,24 +220,63 @@ const SbbFileSelectorCommonElementMixin = (superclass) => {
|
|
|
214
220
|
</${unsafeStatic(TAG_NAME.WRAPPER)}>
|
|
215
221
|
`;
|
|
216
222
|
}
|
|
223
|
+
_onDragEnter(event) {
|
|
224
|
+
this._counter++;
|
|
225
|
+
if (!this.disabled && !this.formDisabled) {
|
|
226
|
+
this._setDragState(event.target, true);
|
|
227
|
+
this._blockEvent(event);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
_onDragLeave(event) {
|
|
231
|
+
this._counter--;
|
|
232
|
+
if (!this.disabled && !this.formDisabled && event.target === this._dragTarget && this._counter === 0) {
|
|
233
|
+
this._setDragState();
|
|
234
|
+
this._blockEvent(event);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
_onFileDrop(event) {
|
|
238
|
+
this._counter = 0;
|
|
239
|
+
if (!this.disabled && !this.formDisabled) {
|
|
240
|
+
this._setDragState();
|
|
241
|
+
this._blockEvent(event);
|
|
242
|
+
this.createFileList(event.dataTransfer.files);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
_blockEvent(event) {
|
|
246
|
+
event.stopPropagation();
|
|
247
|
+
event.preventDefault();
|
|
248
|
+
}
|
|
249
|
+
_setDragState(dragTarget = void 0, isDragEnter = false) {
|
|
250
|
+
this._dragTarget = dragTarget;
|
|
251
|
+
this.toggleState("active", isDragEnter);
|
|
252
|
+
this.loadButton.toggleAttribute("data-active", isDragEnter);
|
|
253
|
+
}
|
|
217
254
|
render() {
|
|
218
|
-
const ariaLabel = this.accessibilityLabel ? `${
|
|
255
|
+
const ariaLabel = this.accessibilityLabel ? `${this.getButtonLabel()} - ${this.accessibilityLabel}` : void 0;
|
|
219
256
|
return html`
|
|
220
257
|
<div class="sbb-file-selector">
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
258
|
+
<div
|
|
259
|
+
class="sbb-file-selector__input-container"
|
|
260
|
+
@dragenter=${this._onDragEnter}
|
|
261
|
+
@dragover=${this._blockEvent}
|
|
262
|
+
@dragleave=${this._onDragLeave}
|
|
263
|
+
@drop=${this._onFileDrop}
|
|
264
|
+
>
|
|
265
|
+
${this.renderTemplate(html`<input
|
|
266
|
+
class="sbb-file-selector__visually-hidden"
|
|
267
|
+
type="file"
|
|
268
|
+
?disabled="${this.disabled || this.formDisabled}"
|
|
269
|
+
?multiple="${this.multiple}"
|
|
270
|
+
accept="${this.accept || nothing}"
|
|
271
|
+
aria-label="${ariaLabel || nothing}"
|
|
272
|
+
@change="${this._readFiles}"
|
|
273
|
+
@focus="${this._onFocus}"
|
|
274
|
+
@blur="${this._onBlur}"
|
|
275
|
+
${ref((el) => {
|
|
232
276
|
this._hiddenInput = el;
|
|
233
277
|
})}
|
|
234
|
-
|
|
278
|
+
/>`)}
|
|
279
|
+
</div>
|
|
235
280
|
<p
|
|
236
281
|
role="status"
|
|
237
282
|
class="sbb-file-selector__visually-hidden"
|
|
@@ -284,4 +329,4 @@ const SbbFileSelectorCommonElementMixin = (superclass) => {
|
|
|
284
329
|
export {
|
|
285
330
|
SbbFileSelectorCommonElementMixin
|
|
286
331
|
};
|
|
287
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zZWxlY3Rvci1jb21tb24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9maWxlLXNlbGVjdG9yL2NvbW1vbi9maWxlLXNlbGVjdG9yLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IG5vdGhpbmcgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuaW1wb3J0IHsgaHRtbCwgdW5zYWZlU3RhdGljIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJTZWNvbmRhcnlCdXR0b25TdGF0aWNFbGVtZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uLmpzJztcbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBmb3J3YXJkRXZlbnQgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7XG4gIGkxOG5GaWxlU2VsZWN0b3JCdXR0b25MYWJlbCxcbiAgaTE4bkZpbGVTZWxlY3RvckN1cnJlbnRseVNlbGVjdGVkLFxuICBpMThuRmlsZVNlbGVjdG9yRGVsZXRlRmlsZSxcbn0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbiAgU2JiRGlzYWJsZWRNaXhpbixcbiAgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbixcbiAgdHlwZSBDb25zdHJ1Y3RvcixcbiAgU2JiRWxlbWVudEludGVybmFsc01peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5cbmltcG9ydCAnLi4vLi4vYnV0dG9uL3NlY29uZGFyeS1idXR0b24uanMnO1xuaW1wb3J0ICcuLi8uLi9idXR0b24vc2Vjb25kYXJ5LWJ1dHRvbi1zdGF0aWMuanMnO1xuaW1wb3J0ICcuLi8uLi9pY29uLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRmlsZVNlbGVjdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpKSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ20nO1xuICBwdWJsaWMgYWNjZXNzb3IgbXVsdGlwbGU6IGJvb2xlYW47XG4gIHB1YmxpYyBhY2Nlc3NvciBtdWx0aXBsZU1vZGU6ICdkZWZhdWx0JyB8ICdwZXJzaXN0ZW50JztcbiAgcHVibGljIGFjY2Vzc29yIGFjY2VwdDogc3RyaW5nO1xuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBhY2Nlc3NvciBmaWxlczogUmVhZG9ubHk8RmlsZT5bXTtcbiAgcHVibGljIG92ZXJyaWRlIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudWxsO1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKTtcbiAgcHJvdGVjdGVkIGxvYWRCdXR0b246IFNiYlNlY29uZGFyeUJ1dHRvblN0YXRpY0VsZW1lbnQ7XG4gIHByb3RlY3RlZCBsYW5ndWFnZTogU2JiTGFuZ3VhZ2VDb250cm9sbGVyO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVuZGVyVGVtcGxhdGUoaW5wdXQ6IFRlbXBsYXRlUmVzdWx0KTogVGVtcGxhdGVSZXN1bHQ7XG4gIHByb3RlY3RlZCBjcmVhdGVGaWxlTGlzdChmaWxlczogRmlsZUxpc3QpOiB2b2lkO1xuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24pOiB2b2lkO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRmlsZVNlbGVjdG9yQ29tbW9uRWxlbWVudE1peGluID0gPFQgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIHN1cGVyY2xhc3M6IFQsXG4pOiBDb25zdHJ1Y3RvcjxTYmJGaWxlU2VsZWN0b3JDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJGaWxlU2VsZWN0b3JDb21tb25FbGVtZW50XG4gICAgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKHN1cGVyY2xhc3MpKSlcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiRmlsZVNlbGVjdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZT5cbiAge1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgICAgZmlsZWNoYW5nZWQ6ICdmaWxlY2hhbmdlZCcsXG4gICAgfSBhcyBjb25zdDtcblxuICAgIC8qKlxuICAgICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMgb3IgbS5cbiAgICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ20nID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgICAvKiogV2hldGhlciBtb3JlIHRoYW4gb25lIGZpbGUgY2FuIGJlIHNlbGVjdGVkLiAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBuZXdseSBhZGRlZCBmaWxlcyBzaG91bGQgb3ZlcnJpZGUgdGhlIHByZXZpb3VzbHkgYWRkZWQgb25lcy4gKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdtdWx0aXBsZS1tb2RlJyB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBtdWx0aXBsZU1vZGU6ICdkZWZhdWx0JyB8ICdwZXJzaXN0ZW50JyA9ICdkZWZhdWx0JztcblxuICAgIC8qKiBBIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGFsbG93ZWQgdW5pcXVlIGZpbGUgdHlwZSBzcGVjaWZpZXJzLiAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIGFjY2Vzc29yIGFjY2VwdDogc3RyaW5nID0gJyc7XG5cbiAgICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudC4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIFRoZSBwYXRoIG9mIHRoZSBmaXJzdCBzZWxlY3RlZCBmaWxlLiBFbXB0eSBzdHJpbmcgKCcnKSBpZiBubyBmaWxlIGlzIHNlbGVjdGVkICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgIHRoaXMuX2hpZGRlbklucHV0LnZhbHVlID0gdmFsdWUgPz8gJyc7XG5cbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgdGhpcy5maWxlcyA9IFtdO1xuICAgICAgfVxuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgcmV0dXJuIHRoaXMuX2hpZGRlbklucHV0Py52YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogVGhlIGxpc3Qgb2Ygc2VsZWN0ZWQgZmlsZXMuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBzZXQgZmlsZXModmFsdWU6IFJlYWRvbmx5PEZpbGU+W10pIHtcbiAgICAgIHRoaXMuX2ZpbGVzID0gdmFsdWUgPz8gW107XG5cbiAgICAgIC8vIHVwZGF0ZSB0aGUgaW5uZXIgaW5wdXRcbiAgICAgIGNvbnN0IGR0OiBEYXRhVHJhbnNmZXIgPSBuZXcgRGF0YVRyYW5zZmVyKCk7XG4gICAgICB0aGlzLmZpbGVzLmZvckVhY2goKGU6IFJlYWRvbmx5PEZpbGU+KSA9PiBkdC5pdGVtcy5hZGQoZSkpO1xuICAgICAgdGhpcy5faGlkZGVuSW5wdXQuZmlsZXMgPSBkdC5maWxlcztcblxuICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBmaWxlcygpOiBSZWFkb25seTxGaWxlPltdIHtcbiAgICAgIHJldHVybiB0aGlzLl9maWxlcztcbiAgICB9XG4gICAgcHJpdmF0ZSBfZmlsZXM6IFJlYWRvbmx5PEZpbGU+W10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEZvcm0gdHlwZSBvZiBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0ICdmaWxlJ1xuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICdmaWxlJztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9oaWRkZW5JbnB1dCE6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBfc3VmZml4ZXM6IHN0cmluZ1tdID0gWydCJywgJ2tCJywgJ01CJywgJ0dCJywgJ1RCJ107XG4gICAgcHJpdmF0ZSBfbGl2ZVJlZ2lvbiE6IEhUTUxQYXJhZ3JhcGhFbGVtZW50O1xuICAgIHByb3RlY3RlZCBsb2FkQnV0dG9uITogU2JiU2Vjb25kYXJ5QnV0dG9uU3RhdGljRWxlbWVudDtcbiAgICBwcm90ZWN0ZWQgbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbmRlclRlbXBsYXRlKGlucHV0OiBUZW1wbGF0ZVJlc3VsdCk6IFRlbXBsYXRlUmVzdWx0O1xuXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgdGhpcy5maWxlcyA9IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgICBfcmVhc29uPzogRm9ybVJlc3RvcmVSZWFzb24sXG4gICAgKTogdm9pZCB7XG4gICAgICBpZiAoIXN0YXRlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuZmlsZXMgPSAoc3RhdGUgYXMgRm9ybURhdGEpLmdldEFsbCh0aGlzLm5hbWUpIGFzIFJlYWRvbmx5PEZpbGU+W107XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgdGhpcy5maWxlcy5mb3JFYWNoKChmaWxlKSA9PiBmb3JtVmFsdWUuYXBwZW5kKHRoaXMubmFtZSwgZmlsZSkpO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKGZvcm1WYWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2hlY2tGaWxlRXF1YWxpdHkoZmlsZTE6IFJlYWRvbmx5PEZpbGU+LCBmaWxlMjogUmVhZG9ubHk8RmlsZT4pOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGZpbGUxLm5hbWUgPT09IGZpbGUyLm5hbWUgJiZcbiAgICAgICAgZmlsZTEuc2l6ZSA9PT0gZmlsZTIuc2l6ZSAmJlxuICAgICAgICBmaWxlMS5sYXN0TW9kaWZpZWQgPT09IGZpbGUyLmxhc3RNb2RpZmllZFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9vbkZvY3VzKCk6IHZvaWQge1xuICAgICAgaWYgKHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCcpIHtcbiAgICAgICAgdGhpcy5sb2FkQnV0dG9uLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1mb2N1cy12aXNpYmxlJywgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25CbHVyKCk6IHZvaWQge1xuICAgICAgdGhpcy5sb2FkQnV0dG9uLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1mb2N1cy12aXNpYmxlJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVhZEZpbGVzKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgY29uc3QgZmlsZUlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICBpZiAoZmlsZUlucHV0LmZpbGVzKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRmlsZUxpc3QoZmlsZUlucHV0LmZpbGVzKTtcbiAgICAgIH1cbiAgICAgIGZvcndhcmRFdmVudChldmVudCwgdGhpcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUZpbGVMaXN0KGZpbGVzOiBGaWxlTGlzdCk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLm11bHRpcGxlIHx8IHRoaXMubXVsdGlwbGVNb2RlICE9PSAncGVyc2lzdGVudCcgfHwgdGhpcy5maWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5maWxlcyA9IEFycmF5LmZyb20oZmlsZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5maWxlcyA9IEFycmF5LmZyb20oZmlsZXMpXG4gICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgIC8vIFJlbW92ZSBkdXBsaWNhdGVzXG4gICAgICAgICAgICAobmV3RmlsZTogUmVhZG9ubHk8RmlsZT4pOiBib29sZWFuID0+XG4gICAgICAgICAgICAgIHRoaXMuZmlsZXMhLmZpbmRJbmRleCgob2xkRmlsZTogUmVhZG9ubHk8RmlsZT4pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tGaWxlRXF1YWxpdHkobmV3RmlsZSwgb2xkRmlsZSksXG4gICAgICAgICAgICAgICkgPT09IC0xLFxuICAgICAgICAgIClcbiAgICAgICAgICAuY29uY2F0KHRoaXMuZmlsZXMpO1xuICAgICAgfVxuICAgICAgdGhpcy5fdXBkYXRlQTExeUxpdmVSZWdpb24oKTtcbiAgICAgIHRoaXMuX2Rpc3BhdGNoRmlsZUNoYW5nZWRFdmVudCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlbW92ZUZpbGUoZmlsZTogUmVhZG9ubHk8RmlsZT4pOiB2b2lkIHtcbiAgICAgIHRoaXMuZmlsZXMgPSB0aGlzLmZpbGVzLmZpbHRlcigoZjogUmVhZG9ubHk8RmlsZT4pID0+ICF0aGlzLl9jaGVja0ZpbGVFcXVhbGl0eShmaWxlLCBmKSk7XG4gICAgICB0aGlzLl91cGRhdGVBMTF5TGl2ZVJlZ2lvbigpO1xuXG4gICAgICAvLyBEaXNwYXRjaCBuYXRpdmUgZXZlbnRzIGFzIGlmIHRoZSByZXNldCBpcyBkb25lIHZpYSB0aGUgZmlsZSBzZWxlY3Rpb24gd2luZG93LlxuICAgICAgLyoqIFRoZSBpbnB1dCBldmVudCBmaXJlcyB3aGVuIHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkIGFzIGEgZGlyZWN0IHJlc3VsdCBvZiBhIHVzZXIgYWN0aW9uLiAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgSW5wdXRFdmVudCgnaW5wdXQnLCB7XG4gICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgICAvKipcbiAgICAgICAqIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLlxuICAgICAgICogVW5saWtlIHRoZSBpbnB1dCBldmVudCwgdGhlIGNoYW5nZSBldmVudCBpcyBub3QgbmVjZXNzYXJpbHkgZmlyZWRcbiAgICAgICAqIGZvciBlYWNoIGFsdGVyYXRpb24gdG8gYW4gZWxlbWVudCdzIHZhbHVlLlxuICAgICAgICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgdGhpcy5fZGlzcGF0Y2hGaWxlQ2hhbmdlZEV2ZW50KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzcGF0Y2hGaWxlQ2hhbmdlZEV2ZW50KCk6IHZvaWQge1xuICAgICAgLyoqXG4gICAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8UmVhZG9ubHk8RmlsZT5bXT59XG4gICAgICAgKiBBbiBldmVudCB3aGljaCBpcyBlbWl0dGVkIGVhY2ggdGltZSB0aGUgZmlsZSBsaXN0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFJlYWRvbmx5PEZpbGU+W10+KCdmaWxlY2hhbmdlZCcsIHtcbiAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgIGRldGFpbDogdGhpcy5maWxlcyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cblxuICAgIC8qKiBDYWxjdWxhdGVzIHRoZSBjb3JyZWN0IHVuaXQgZm9yIHRoZSBmaWxlJ3Mgc2l6ZS4gKi9cbiAgICBwcml2YXRlIF9mb3JtYXRGaWxlU2l6ZShzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgY29uc3QgaTogbnVtYmVyID0gTWF0aC5mbG9vcihNYXRoLmxvZyhzaXplKSAvIE1hdGgubG9nKDEwMjQpKTtcbiAgICAgIHJldHVybiBgJHsoc2l6ZSAvIE1hdGgucG93KDEwMjQsIGkpKS50b0ZpeGVkKDApfSAke3RoaXMuX3N1ZmZpeGVzW2ldfWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdXBkYXRlQTExeUxpdmVSZWdpb24oKTogdm9pZCB7XG4gICAgICB0aGlzLl9saXZlUmVnaW9uLmlubmVyVGV4dCA9IGkxOG5GaWxlU2VsZWN0b3JDdXJyZW50bHlTZWxlY3RlZCh0aGlzLmZpbGVzLm1hcCgoZSkgPT4gZS5uYW1lKSlbXG4gICAgICAgIHRoaXMubGFuZ3VhZ2UuY3VycmVudFxuICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZW5kZXJGaWxlTGlzdCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICBjb25zdCBUQUdfTkFNRTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9XG4gICAgICAgIHRoaXMuZmlsZXMubGVuZ3RoID4gMVxuICAgICAgICAgID8geyBXUkFQUEVSOiAndWwnLCBFTEVNRU5UOiAnbGknIH1cbiAgICAgICAgICA6IHsgV1JBUFBFUjogJ2RpdicsIEVMRU1FTlQ6ICdzcGFuJyB9O1xuXG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgPCR7dW5zYWZlU3RhdGljKFRBR19OQU1FLldSQVBQRVIpfSBjbGFzcz0nc2JiLWZpbGUtc2VsZWN0b3JfX2ZpbGUtbGlzdCc+XG4gICAgICAgICR7dGhpcy5maWxlcy5tYXAoXG4gICAgICAgICAgKGZpbGU6IFJlYWRvbmx5PEZpbGU+KSA9PiBodG1sYFxuICAgICAgICAgICAgPCR7dW5zYWZlU3RhdGljKFRBR19OQU1FLkVMRU1FTlQpfSBjbGFzcz0nc2JiLWZpbGUtc2VsZWN0b3JfX2ZpbGUnPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSdzYmItZmlsZS1zZWxlY3Rvcl9fZmlsZS1kZXRhaWxzJz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSdzYmItZmlsZS1zZWxlY3Rvcl9fZmlsZS1uYW1lJz4ke2ZpbGUubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0nc2JiLWZpbGUtc2VsZWN0b3JfX2ZpbGUtc2l6ZSc+JHt0aGlzLl9mb3JtYXRGaWxlU2l6ZShmaWxlLnNpemUpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzYmItc2Vjb25kYXJ5LWJ1dHRvblxuICAgICAgICAgICAgICAgIHNpemU9JyR7dGhpcy5zaXplfSdcbiAgICAgICAgICAgICAgICBpY29uLW5hbWU9J3RyYXNoLXNtYWxsJ1xuICAgICAgICAgICAgICAgIEBjbGljaz0nJHsoKSA9PiB0aGlzLl9yZW1vdmVGaWxlKGZpbGUpfSdcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPScke2Ake2kxOG5GaWxlU2VsZWN0b3JEZWxldGVGaWxlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19IC0gJHtmaWxlLm5hbWV9YH0nXG4gICAgICAgICAgICAgID48L3NiYi1zZWNvbmRhcnktYnV0dG9uPlxuICAgICAgICAgICAgPC8ke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRS5FTEVNRU5UKX0+YCxcbiAgICAgICAgKX1cbiAgICAgIDwvJHt1bnNhZmVTdGF0aWMoVEFHX05BTUUuV1JBUFBFUil9PlxuICAgIGA7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIGxpdC9iaW5kaW5nLXBvc2l0aW9ucyAqL1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgY29uc3QgYXJpYUxhYmVsID0gdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWxcbiAgICAgICAgPyBgJHtpMThuRmlsZVNlbGVjdG9yQnV0dG9uTGFiZWxbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gLSAke3RoaXMuYWNjZXNzaWJpbGl0eUxhYmVsfWBcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yXCI+XG4gICAgICAgICAgJHt0aGlzLnJlbmRlclRlbXBsYXRlKFxuICAgICAgICAgICAgaHRtbGA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9fdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgICA/ZGlzYWJsZWQ9XCIke3RoaXMuZGlzYWJsZWQgfHwgdGhpcy5mb3JtRGlzYWJsZWR9XCJcbiAgICAgICAgICAgICAgP211bHRpcGxlPVwiJHt0aGlzLm11bHRpcGxlfVwiXG4gICAgICAgICAgICAgIGFjY2VwdD1cIiR7dGhpcy5hY2NlcHQgfHwgbm90aGluZ31cIlxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiJHthcmlhTGFiZWwgfHwgbm90aGluZ31cIlxuICAgICAgICAgICAgICBAY2hhbmdlPVwiJHt0aGlzLl9yZWFkRmlsZXN9XCJcbiAgICAgICAgICAgICAgQGZvY3VzPVwiJHt0aGlzLl9vbkZvY3VzfVwiXG4gICAgICAgICAgICAgIEBibHVyPVwiJHt0aGlzLl9vbkJsdXJ9XCJcbiAgICAgICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2hpZGRlbklucHV0ID0gZWwgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAvPmAsXG4gICAgICAgICAgKX1cbiAgICAgICAgICA8cFxuICAgICAgICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICAgICAgICBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX192aXN1YWxseS1oaWRkZW5cIlxuICAgICAgICAgICAgJHtyZWYoKHA/OiBFbGVtZW50KSA9PiAodGhpcy5fbGl2ZVJlZ2lvbiA9IHAgYXMgSFRNTFBhcmFncmFwaEVsZW1lbnQpKX1cbiAgICAgICAgICA+PC9wPlxuICAgICAgICAgICR7dGhpcy5maWxlcy5sZW5ndGggPiAwID8gdGhpcy5fcmVuZGVyRmlsZUxpc3QoKSA6IG5vdGhpbmd9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX19lcnJvclwiPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cImVycm9yXCI+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfVxuICB9XG4gIHJldHVybiBTYmJGaWxlU2VsZWN0b3JDb21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQ29uc3RydWN0b3I8U2JiRmlsZVNlbGVjdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrRE8sTUFBTSxvQ0FBb0MsQ0FDL0MsZUFDMEQ7TUFDM0MsZ0NBQTRCLE1BQUE7O3NCQUNqQyxpQkFBaUIsdUJBQXVCLHlCQUF5QixVQUFVLENBQUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUR4RSxXQUFBLG1CQUNMLFlBQThFO0FBQUE7O0FBV3pEO0FBSzdCO0FBSUE7QUFLQTtBQUtBO0FBbkI2QywyQkFBQSx5QkFaaEMsa0JBQUEsTUFBQSww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
|
|
332
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zZWxlY3Rvci1jb21tb24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9maWxlLXNlbGVjdG9yL2NvbW1vbi9maWxlLXNlbGVjdG9yLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IG5vdGhpbmcgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuaW1wb3J0IHsgaHRtbCwgdW5zYWZlU3RhdGljIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJTZWNvbmRhcnlCdXR0b25TdGF0aWNFbGVtZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uLmpzJztcbmltcG9ydCB7IHNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBmb3J3YXJkRXZlbnQgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7XG4gIGkxOG5GaWxlU2VsZWN0b3JCdXR0b25MYWJlbCxcbiAgaTE4bkZpbGVTZWxlY3RvckJ1dHRvbkxhYmVsTXVsdGlwbGUsXG4gIGkxOG5GaWxlU2VsZWN0b3JDdXJyZW50bHlTZWxlY3RlZCxcbiAgaTE4bkZpbGVTZWxlY3RvckRlbGV0ZUZpbGUsXG59IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENvbnN0cnVjdG9yLFxuICB0eXBlIEZvcm1SZXN0b3JlUmVhc29uLFxuICB0eXBlIEZvcm1SZXN0b3JlU3RhdGUsXG4gIFNiYkRpc2FibGVkTWl4aW4sXG4gIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbixcbiAgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbixcbn0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgJy4uLy4uL2J1dHRvbi9zZWNvbmRhcnktYnV0dG9uLmpzJztcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRmlsZVNlbGVjdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKExpdEVsZW1lbnQpKSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ20nO1xuICBwdWJsaWMgYWNjZXNzb3IgbXVsdGlwbGU6IGJvb2xlYW47XG4gIHB1YmxpYyBhY2Nlc3NvciBtdWx0aXBsZU1vZGU6ICdkZWZhdWx0JyB8ICdwZXJzaXN0ZW50JztcbiAgcHVibGljIGFjY2Vzc29yIGFjY2VwdDogc3RyaW5nO1xuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmc7XG4gIHB1YmxpYyBhY2Nlc3NvciBmaWxlczogUmVhZG9ubHk8RmlsZT5bXTtcbiAgcHVibGljIG92ZXJyaWRlIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudWxsO1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKTtcbiAgcHJvdGVjdGVkIGxvYWRCdXR0b246IFNiYlNlY29uZGFyeUJ1dHRvblN0YXRpY0VsZW1lbnQ7XG4gIHByb3RlY3RlZCBsYW5ndWFnZTogU2JiTGFuZ3VhZ2VDb250cm9sbGVyO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVuZGVyVGVtcGxhdGUoaW5wdXQ6IFRlbXBsYXRlUmVzdWx0KTogVGVtcGxhdGVSZXN1bHQ7XG4gIHByb3RlY3RlZCBjcmVhdGVGaWxlTGlzdChmaWxlczogRmlsZUxpc3QpOiB2b2lkO1xuICBwcm90ZWN0ZWQgZ2V0QnV0dG9uTGFiZWwoKTogc3RyaW5nO1xuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24pOiB2b2lkO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRmlsZVNlbGVjdG9yQ29tbW9uRWxlbWVudE1peGluID0gPFQgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIHN1cGVyY2xhc3M6IFQsXG4pOiBDb25zdHJ1Y3RvcjxTYmJGaWxlU2VsZWN0b3JDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJGaWxlU2VsZWN0b3JDb21tb25FbGVtZW50XG4gICAgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oU2JiRWxlbWVudEludGVybmFsc01peGluKHN1cGVyY2xhc3MpKSlcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiRmlsZVNlbGVjdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZT5cbiAge1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgICAgZmlsZWNoYW5nZWQ6ICdmaWxlY2hhbmdlZCcsXG4gICAgfSBhcyBjb25zdDtcblxuICAgIC8qKlxuICAgICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMgb3IgbS5cbiAgICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ20nID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgICAvKiogV2hldGhlciBtb3JlIHRoYW4gb25lIGZpbGUgY2FuIGJlIHNlbGVjdGVkLiAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBuZXdseSBhZGRlZCBmaWxlcyBzaG91bGQgb3ZlcnJpZGUgdGhlIHByZXZpb3VzbHkgYWRkZWQgb25lcy4gKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdtdWx0aXBsZS1tb2RlJyB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBtdWx0aXBsZU1vZGU6ICdkZWZhdWx0JyB8ICdwZXJzaXN0ZW50JyA9ICdkZWZhdWx0JztcblxuICAgIC8qKiBBIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGFsbG93ZWQgdW5pcXVlIGZpbGUgdHlwZSBzcGVjaWZpZXJzLiAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIGFjY2Vzc29yIGFjY2VwdDogc3RyaW5nID0gJyc7XG5cbiAgICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudC4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIFRoZSBwYXRoIG9mIHRoZSBmaXJzdCBzZWxlY3RlZCBmaWxlLiBFbXB0eSBzdHJpbmcgKCcnKSBpZiBubyBmaWxlIGlzIHNlbGVjdGVkICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgIHRoaXMuX2hpZGRlbklucHV0LnZhbHVlID0gdmFsdWUgPz8gJyc7XG5cbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgdGhpcy5maWxlcyA9IFtdO1xuICAgICAgfVxuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgcmV0dXJuIHRoaXMuX2hpZGRlbklucHV0Py52YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogVGhlIGxpc3Qgb2Ygc2VsZWN0ZWQgZmlsZXMuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBzZXQgZmlsZXModmFsdWU6IFJlYWRvbmx5PEZpbGU+W10pIHtcbiAgICAgIHRoaXMuX2ZpbGVzID0gdmFsdWUgPz8gW107XG5cbiAgICAgIC8vIHVwZGF0ZSB0aGUgaW5uZXIgaW5wdXRcbiAgICAgIGNvbnN0IGR0OiBEYXRhVHJhbnNmZXIgPSBuZXcgRGF0YVRyYW5zZmVyKCk7XG4gICAgICB0aGlzLmZpbGVzLmZvckVhY2goKGU6IFJlYWRvbmx5PEZpbGU+KSA9PiBkdC5pdGVtcy5hZGQoZSkpO1xuICAgICAgdGhpcy5faGlkZGVuSW5wdXQuZmlsZXMgPSBkdC5maWxlcztcblxuICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBmaWxlcygpOiBSZWFkb25seTxGaWxlPltdIHtcbiAgICAgIHJldHVybiB0aGlzLl9maWxlcztcbiAgICB9XG4gICAgcHJpdmF0ZSBfZmlsZXM6IFJlYWRvbmx5PEZpbGU+W10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIEZvcm0gdHlwZSBvZiBlbGVtZW50LlxuICAgICAqIEBkZWZhdWx0ICdmaWxlJ1xuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuICdmaWxlJztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9oaWRkZW5JbnB1dCE6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBfc3VmZml4ZXM6IHN0cmluZ1tdID0gWydCJywgJ2tCJywgJ01CJywgJ0dCJywgJ1RCJ107XG4gICAgcHJpdmF0ZSBfbGl2ZVJlZ2lvbiE6IEhUTUxQYXJhZ3JhcGhFbGVtZW50O1xuICAgIHByb3RlY3RlZCBsb2FkQnV0dG9uITogU2JiU2Vjb25kYXJ5QnV0dG9uU3RhdGljRWxlbWVudDtcbiAgICBwcm90ZWN0ZWQgbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gICAgLy8gU2FmYXJpIGhhcyBhIHBlY3VsaWFyIGJlaGF2aW9yIHdoZW4gZHJhZ2dpbmcgZmlsZXMgb24gdGhlIGlubmVyIGJ1dHRvbiBpbiAnZHJvcHpvbmUnIHZhcmlhbnQ7XG4gICAgLy8gdGhpcyB3aWxsIHJlcXVpcmUgYSBjb3VudGVyIHRvIGNvcnJlY3RseSBoYW5kbGUgdGhlIGRyYWdFbnRlci9kcmFnTGVhdmUuXG4gICAgcHJpdmF0ZSBfY291bnRlcjogbnVtYmVyID0gMDtcbiAgICBwcml2YXRlIF9kcmFnVGFyZ2V0PzogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVuZGVyVGVtcGxhdGUoaW5wdXQ6IFRlbXBsYXRlUmVzdWx0KTogVGVtcGxhdGVSZXN1bHQ7XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgICB0aGlzLmZpbGVzID0gW107XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICAgIF9yZWFzb24/OiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgICApOiB2b2lkIHtcbiAgICAgIGlmICghc3RhdGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5maWxlcyA9IChzdGF0ZSBhcyBGb3JtRGF0YSkuZ2V0QWxsKHRoaXMubmFtZSkgYXMgUmVhZG9ubHk8RmlsZT5bXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgICAgY29uc3QgZm9ybVZhbHVlID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICB0aGlzLmZpbGVzLmZvckVhY2goKGZpbGUpID0+IGZvcm1WYWx1ZS5hcHBlbmQodGhpcy5uYW1lLCBmaWxlKSk7XG4gICAgICB0aGlzLmludGVybmFscy5zZXRGb3JtVmFsdWUoZm9ybVZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jaGVja0ZpbGVFcXVhbGl0eShmaWxlMTogUmVhZG9ubHk8RmlsZT4sIGZpbGUyOiBSZWFkb25seTxGaWxlPik6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgZmlsZTEubmFtZSA9PT0gZmlsZTIubmFtZSAmJlxuICAgICAgICBmaWxlMS5zaXplID09PSBmaWxlMi5zaXplICYmXG4gICAgICAgIGZpbGUxLmxhc3RNb2RpZmllZCA9PT0gZmlsZTIubGFzdE1vZGlmaWVkXG4gICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29uRm9jdXMoKTogdm9pZCB7XG4gICAgICBpZiAoc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJykge1xuICAgICAgICB0aGlzLmxvYWRCdXR0b24udG9nZ2xlQXR0cmlidXRlKCdkYXRhLWZvY3VzLXZpc2libGUnLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9vbkJsdXIoKTogdm9pZCB7XG4gICAgICB0aGlzLmxvYWRCdXR0b24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWZvY3VzLXZpc2libGUnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZWFkRmlsZXMoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICBjb25zdCBmaWxlSW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgIGlmIChmaWxlSW5wdXQuZmlsZXMpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVGaWxlTGlzdChmaWxlSW5wdXQuZmlsZXMpO1xuICAgICAgfVxuICAgICAgZm9yd2FyZEV2ZW50KGV2ZW50LCB0aGlzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlRmlsZUxpc3QoZmlsZXM6IEZpbGVMaXN0KTogdm9pZCB7XG4gICAgICBjb25zdCBmaWxlQXJyYXkgPSBBcnJheS5mcm9tKGZpbGVzKTtcbiAgICAgIGlmIChcbiAgICAgICAgKCF0aGlzLm11bHRpcGxlICYmIGZpbGVzLmxlbmd0aCA+IDEpIHx8XG4gICAgICAgICh0aGlzLmFjY2VwdCAmJlxuICAgICAgICAgIGZpbGVBcnJheS5zb21lKFxuICAgICAgICAgICAgKGZpbGUpID0+ICF0aGlzLmFjY2VwdC5zcGxpdCgnLCcpLnNvbWUoKGEpID0+IGZpbGUubmFtZS5lbmRzV2l0aChhLnRyaW0oKSkpLFxuICAgICAgICAgICkpXG4gICAgICApIHtcbiAgICAgICAgLy8gSWYgbXVsdGlwbGUgZmlsZXMgYXJlIHNlbGVjdGVkIGJ1dCB0aGUgc2VsZWN0b3IgaXMgbm90IGluIG11bHRpcGxlIG1vZGUsXG4gICAgICAgIC8vIGlnbm9yZSB0aGUgc2VsZWN0aW9uIChsaWtlIG5hdGl2ZSBiZWhhdmlvcikuXG4gICAgICAgIC8vIElmIHRoZSBhY2NlcHQgYXR0cmlidXRlIGlzIHNldCwgY2hlY2sgaWYgdGhlIHNlbGVjdGVkIGZpbGVzIG1hdGNoIHRoZSBhbGxvd2VkIHR5cGVzLlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSB8fCB0aGlzLm11bHRpcGxlTW9kZSAhPT0gJ3BlcnNpc3RlbnQnIHx8IHRoaXMuZmlsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuZmlsZXMgPSBmaWxlQXJyYXk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZpbGVzID0gZmlsZUFycmF5XG4gICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgIC8vIFJlbW92ZSBkdXBsaWNhdGVzXG4gICAgICAgICAgICAobmV3RmlsZTogUmVhZG9ubHk8RmlsZT4pOiBib29sZWFuID0+XG4gICAgICAgICAgICAgIHRoaXMuZmlsZXMhLmZpbmRJbmRleCgob2xkRmlsZTogUmVhZG9ubHk8RmlsZT4pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tGaWxlRXF1YWxpdHkobmV3RmlsZSwgb2xkRmlsZSksXG4gICAgICAgICAgICAgICkgPT09IC0xLFxuICAgICAgICAgIClcbiAgICAgICAgICAuY29uY2F0KHRoaXMuZmlsZXMpO1xuICAgICAgfVxuICAgICAgdGhpcy5fdXBkYXRlQTExeUxpdmVSZWdpb24oKTtcbiAgICAgIHRoaXMuX2Rpc3BhdGNoRmlsZUNoYW5nZWRFdmVudCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMubXVsdGlwbGVcbiAgICAgICAgPyBpMThuRmlsZVNlbGVjdG9yQnV0dG9uTGFiZWxNdWx0aXBsZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdXG4gICAgICAgIDogaTE4bkZpbGVTZWxlY3RvckJ1dHRvbkxhYmVsW3RoaXMubGFuZ3VhZ2UuY3VycmVudF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVtb3ZlRmlsZShmaWxlOiBSZWFkb25seTxGaWxlPik6IHZvaWQge1xuICAgICAgdGhpcy5maWxlcyA9IHRoaXMuZmlsZXMuZmlsdGVyKChmOiBSZWFkb25seTxGaWxlPikgPT4gIXRoaXMuX2NoZWNrRmlsZUVxdWFsaXR5KGZpbGUsIGYpKTtcbiAgICAgIHRoaXMuX3VwZGF0ZUExMXlMaXZlUmVnaW9uKCk7XG5cbiAgICAgIC8vIERpc3BhdGNoIG5hdGl2ZSBldmVudHMgYXMgaWYgdGhlIHJlc2V0IGlzIGRvbmUgdmlhIHRoZSBmaWxlIHNlbGVjdGlvbiB3aW5kb3cuXG4gICAgICAvKiogVGhlIGlucHV0IGV2ZW50IGZpcmVzIHdoZW4gdGhlIHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQgYXMgYSBkaXJlY3QgcmVzdWx0IG9mIGEgdXNlciBhY3Rpb24uICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHtcbiAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICk7XG5cbiAgICAgIC8qKlxuICAgICAgICogVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuXG4gICAgICAgKiBVbmxpa2UgdGhlIGlucHV0IGV2ZW50LCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCBuZWNlc3NhcmlseSBmaXJlZFxuICAgICAgICogZm9yIGVhY2ggYWx0ZXJhdGlvbiB0byBhbiBlbGVtZW50J3MgdmFsdWUuXG4gICAgICAgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gICAgICB0aGlzLl9kaXNwYXRjaEZpbGVDaGFuZ2VkRXZlbnQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNwYXRjaEZpbGVDaGFuZ2VkRXZlbnQoKTogdm9pZCB7XG4gICAgICAvKipcbiAgICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDxSZWFkb25seTxGaWxlPltdPn1cbiAgICAgICAqIEFuIGV2ZW50IHdoaWNoIGlzIGVtaXR0ZWQgZWFjaCB0aW1lIHRoZSBmaWxlIGxpc3QgY2hhbmdlcy5cbiAgICAgICAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgQ3VzdG9tRXZlbnQ8UmVhZG9ubHk8RmlsZT5bXT4oJ2ZpbGVjaGFuZ2VkJywge1xuICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgZGV0YWlsOiB0aGlzLmZpbGVzLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIENhbGN1bGF0ZXMgdGhlIGNvcnJlY3QgdW5pdCBmb3IgdGhlIGZpbGUncyBzaXplLiAqL1xuICAgIHByaXZhdGUgX2Zvcm1hdEZpbGVTaXplKHNpemU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICBjb25zdCBpOiBudW1iZXIgPSBNYXRoLmZsb29yKE1hdGgubG9nKHNpemUpIC8gTWF0aC5sb2coMTAyNCkpO1xuICAgICAgcmV0dXJuIGAkeyhzaXplIC8gTWF0aC5wb3coMTAyNCwgaSkpLnRvRml4ZWQoMCl9ICR7dGhpcy5fc3VmZml4ZXNbaV19YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF91cGRhdGVBMTF5TGl2ZVJlZ2lvbigpOiB2b2lkIHtcbiAgICAgIHRoaXMuX2xpdmVSZWdpb24uaW5uZXJUZXh0ID0gaTE4bkZpbGVTZWxlY3RvckN1cnJlbnRseVNlbGVjdGVkKHRoaXMuZmlsZXMubWFwKChlKSA9PiBlLm5hbWUpKVtcbiAgICAgICAgdGhpcy5sYW5ndWFnZS5jdXJyZW50XG4gICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlbmRlckZpbGVMaXN0KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIGNvbnN0IFRBR19OQU1FOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID1cbiAgICAgICAgdGhpcy5maWxlcy5sZW5ndGggPiAxXG4gICAgICAgICAgPyB7IFdSQVBQRVI6ICd1bCcsIEVMRU1FTlQ6ICdsaScgfVxuICAgICAgICAgIDogeyBXUkFQUEVSOiAnZGl2JywgRUxFTUVOVDogJ3NwYW4nIH07XG5cbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIGxpdC9iaW5kaW5nLXBvc2l0aW9ucyAqL1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHX05BTUUuV1JBUFBFUil9IGNsYXNzPSdzYmItZmlsZS1zZWxlY3Rvcl9fZmlsZS1saXN0Jz5cbiAgICAgICAgJHt0aGlzLmZpbGVzLm1hcChcbiAgICAgICAgICAoZmlsZTogUmVhZG9ubHk8RmlsZT4pID0+IGh0bWxgXG4gICAgICAgICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHX05BTUUuRUxFTUVOVCl9IGNsYXNzPSdzYmItZmlsZS1zZWxlY3Rvcl9fZmlsZSc+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9J3NiYi1maWxlLXNlbGVjdG9yX19maWxlLWRldGFpbHMnPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9J3NiYi1maWxlLXNlbGVjdG9yX19maWxlLW5hbWUnPiR7ZmlsZS5uYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSdzYmItZmlsZS1zZWxlY3Rvcl9fZmlsZS1zaXplJz4ke3RoaXMuX2Zvcm1hdEZpbGVTaXplKGZpbGUuc2l6ZSl9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNiYi1zZWNvbmRhcnktYnV0dG9uXG4gICAgICAgICAgICAgICAgc2l6ZT0nJHt0aGlzLnNpemV9J1xuICAgICAgICAgICAgICAgIGljb24tbmFtZT0ndHJhc2gtc21hbGwnXG4gICAgICAgICAgICAgICAgQGNsaWNrPSckeygpID0+IHRoaXMuX3JlbW92ZUZpbGUoZmlsZSl9J1xuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JyR7YCR7aTE4bkZpbGVTZWxlY3RvckRlbGV0ZUZpbGVbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gLSAke2ZpbGUubmFtZX1gfSdcbiAgICAgICAgICAgICAgPjwvc2JiLXNlY29uZGFyeS1idXR0b24+XG4gICAgICAgICAgICA8LyR7dW5zYWZlU3RhdGljKFRBR19OQU1FLkVMRU1FTlQpfT5gLFxuICAgICAgICApfVxuICAgICAgPC8ke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRS5XUkFQUEVSKX0+XG4gICAgYDtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25EcmFnRW50ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgdGhpcy5fY291bnRlcisrO1xuICAgICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLmZvcm1EaXNhYmxlZCkge1xuICAgICAgICB0aGlzLl9zZXREcmFnU3RhdGUoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB0cnVlKTtcbiAgICAgICAgdGhpcy5fYmxvY2tFdmVudChldmVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgdGhpcy5fY291bnRlci0tO1xuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5kaXNhYmxlZCAmJlxuICAgICAgICAhdGhpcy5mb3JtRGlzYWJsZWQgJiZcbiAgICAgICAgZXZlbnQudGFyZ2V0ID09PSB0aGlzLl9kcmFnVGFyZ2V0ICYmXG4gICAgICAgIHRoaXMuX2NvdW50ZXIgPT09IDBcbiAgICAgICkge1xuICAgICAgICB0aGlzLl9zZXREcmFnU3RhdGUoKTtcbiAgICAgICAgdGhpcy5fYmxvY2tFdmVudChldmVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25GaWxlRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgICB0aGlzLl9jb3VudGVyID0gMDtcbiAgICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5mb3JtRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5fc2V0RHJhZ1N0YXRlKCk7XG4gICAgICAgIHRoaXMuX2Jsb2NrRXZlbnQoZXZlbnQpO1xuICAgICAgICB0aGlzLmNyZWF0ZUZpbGVMaXN0KGV2ZW50LmRhdGFUcmFuc2ZlciEuZmlsZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Jsb2NrRXZlbnQoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldERyYWdTdGF0ZShcbiAgICAgIGRyYWdUYXJnZXQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgICAgaXNEcmFnRW50ZXI6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICApOiB2b2lkIHtcbiAgICAgIHRoaXMuX2RyYWdUYXJnZXQgPSBkcmFnVGFyZ2V0O1xuICAgICAgdGhpcy50b2dnbGVTdGF0ZSgnYWN0aXZlJywgaXNEcmFnRW50ZXIpO1xuICAgICAgdGhpcy5sb2FkQnV0dG9uLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1hY3RpdmUnLCBpc0RyYWdFbnRlcik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICBjb25zdCBhcmlhTGFiZWwgPSB0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbFxuICAgICAgICA/IGAke3RoaXMuZ2V0QnV0dG9uTGFiZWwoKX0gLSAke3RoaXMuYWNjZXNzaWJpbGl0eUxhYmVsfWBcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9faW5wdXQtY29udGFpbmVyXCJcbiAgICAgICAgICAgIEBkcmFnZW50ZXI9JHt0aGlzLl9vbkRyYWdFbnRlcn1cbiAgICAgICAgICAgIEBkcmFnb3Zlcj0ke3RoaXMuX2Jsb2NrRXZlbnR9XG4gICAgICAgICAgICBAZHJhZ2xlYXZlPSR7dGhpcy5fb25EcmFnTGVhdmV9XG4gICAgICAgICAgICBAZHJvcD0ke3RoaXMuX29uRmlsZURyb3B9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgJHt0aGlzLnJlbmRlclRlbXBsYXRlKFxuICAgICAgICAgICAgICBodG1sYDxpbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX3Zpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgICAgID9kaXNhYmxlZD1cIiR7dGhpcy5kaXNhYmxlZCB8fCB0aGlzLmZvcm1EaXNhYmxlZH1cIlxuICAgICAgICAgICAgICAgID9tdWx0aXBsZT1cIiR7dGhpcy5tdWx0aXBsZX1cIlxuICAgICAgICAgICAgICAgIGFjY2VwdD1cIiR7dGhpcy5hY2NlcHQgfHwgbm90aGluZ31cIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCIke2FyaWFMYWJlbCB8fCBub3RoaW5nfVwiXG4gICAgICAgICAgICAgICAgQGNoYW5nZT1cIiR7dGhpcy5fcmVhZEZpbGVzfVwiXG4gICAgICAgICAgICAgICAgQGZvY3VzPVwiJHt0aGlzLl9vbkZvY3VzfVwiXG4gICAgICAgICAgICAgICAgQGJsdXI9XCIke3RoaXMuX29uQmx1cn1cIlxuICAgICAgICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuX2hpZGRlbklucHV0ID0gZWwgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgLz5gLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8cFxuICAgICAgICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICAgICAgICBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX192aXN1YWxseS1oaWRkZW5cIlxuICAgICAgICAgICAgJHtyZWYoKHA/OiBFbGVtZW50KSA9PiAodGhpcy5fbGl2ZVJlZ2lvbiA9IHAgYXMgSFRNTFBhcmFncmFwaEVsZW1lbnQpKX1cbiAgICAgICAgICA+PC9wPlxuICAgICAgICAgICR7dGhpcy5maWxlcy5sZW5ndGggPiAwID8gdGhpcy5fcmVuZGVyRmlsZUxpc3QoKSA6IG5vdGhpbmd9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX19lcnJvclwiPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cImVycm9yXCI+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfVxuICB9XG4gIHJldHVybiBTYmJGaWxlU2VsZWN0b3JDb21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQ29uc3RydWN0b3I8U2JiRmlsZVNlbGVjdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0RPLE1BQU0sb0NBQW9DLENBQy9DLGVBQzBEO01BQzNDLGdDQUE0QixNQUFBOztzQkFDakMsaUJBQWlCLHVCQUF1Qix5QkFBeUIsVUFBVSxDQUFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFEeEUsV0FBQSxtQkFDTCxZQUE4RTtBQUFBOztBQVd6RDtBQUs3QjtBQUlBO0FBS0E7QUFLQTtBQW5CNkMsMkJBQUEseUJBWmhDLGtCQUFBLE1BQUEsMEJBQUEsR0FBNEIsa0JBQUEsTUFBQSxvQkFZc0IsT0FBQSxJQUFXLE1BQU0sR0FBRztBQUtuRSwyQkFBQSw2QkFBQSxrQkFBQSxNQUFBLHVCQUFBLEdBQUEsa0JBQUEsTUFBQSx3QkFBb0IsS0FBSztBQUl6QiwyQkFBQSxpQ0FBQSxrQkFBQSxNQUFBLDJCQUFBLEdBQUEsa0JBQUEsTUFBQSw0QkFBeUMsU0FBUztB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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SbbFileSelectorCommonElementMixin } from "./common/file-selector-common.js";
|
|
2
|
-
import { f } from "../file-selector-common-
|
|
2
|
+
import { f } from "../file-selector-common-BxXdRZxt.js";
|
|
3
3
|
export {
|
|
4
4
|
SbbFileSelectorCommonElementMixin,
|
|
5
5
|
f as fileSelectorCommonStyle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-selector.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/file-selector/file-selector/file-selector.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"file-selector.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/file-selector/file-selector/file-selector.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAS3E,OAAO,yCAAyC,CAAC;;AAEjD;;;;GAIG;AACH,qBAGM,sBAAuB,SAAQ,2BAA6C;IAChF,OAAuB,MAAM,EAAE,cAAc,CAA2B;IACxE,gBAAuB,MAAM;;MAElB;cAEQ,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;CAiBzE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
|
|
@@ -4,11 +4,8 @@ import { customElement } from "lit/decorators.js";
|
|
|
4
4
|
import { ref } from "lit/directives/ref.js";
|
|
5
5
|
import { html } from "lit/static-html.js";
|
|
6
6
|
import { slotState } from "../../core/decorators.js";
|
|
7
|
-
import { i18nFileSelectorButtonLabel } from "../../core/i18n.js";
|
|
8
7
|
import { SbbFileSelectorCommonElementMixin, fileSelectorCommonStyle } from "../common.js";
|
|
9
|
-
import "../../button/secondary-button.js";
|
|
10
8
|
import "../../button/secondary-button-static.js";
|
|
11
|
-
import "../../icon.js";
|
|
12
9
|
let SbbFileSelectorElement = (() => {
|
|
13
10
|
var _a;
|
|
14
11
|
let _classDecorators = [customElement("sbb-file-selector"), slotState()];
|
|
@@ -19,21 +16,19 @@ let SbbFileSelectorElement = (() => {
|
|
|
19
16
|
_a = class extends _classSuper {
|
|
20
17
|
renderTemplate(input) {
|
|
21
18
|
return html`
|
|
22
|
-
<
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
${ref((el) => {
|
|
19
|
+
<label>
|
|
20
|
+
<sbb-secondary-button-static
|
|
21
|
+
size=${this.size}
|
|
22
|
+
icon-name="folder-open-small"
|
|
23
|
+
?disabled=${this.disabled || this.formDisabled}
|
|
24
|
+
${ref((el) => {
|
|
29
25
|
this.loadButton = el;
|
|
30
26
|
})}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
</div>
|
|
27
|
+
>
|
|
28
|
+
${this.getButtonLabel()}
|
|
29
|
+
</sbb-secondary-button-static>
|
|
30
|
+
${input}
|
|
31
|
+
</label>
|
|
37
32
|
`;
|
|
38
33
|
}
|
|
39
34
|
}, _classThis = _a, (() => {
|
|
@@ -49,4 +44,4 @@ let SbbFileSelectorElement = (() => {
|
|
|
49
44
|
export {
|
|
50
45
|
SbbFileSelectorElement
|
|
51
46
|
};
|
|
52
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9maWxlLXNlbGVjdG9yL2ZpbGUtc2VsZWN0b3IvZmlsZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgTGl0RWxlbWVudCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYlNlY29uZGFyeUJ1dHRvblN0YXRpY0VsZW1lbnQgfSBmcm9tICcuLi8uLi9idXR0b24uanMnO1xuaW1wb3J0IHsgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGZpbGVTZWxlY3RvckNvbW1vblN0eWxlLCBTYmJGaWxlU2VsZWN0b3JDb21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG5pbXBvcnQgJy4uLy4uL2J1dHRvbi9zZWNvbmRhcnktYnV0dG9uLXN0YXRpYy5qcyc7XG5cbi8qKlxuICogSXQgYWxsb3dzIHRvIHNlbGVjdCBvbmUgb3IgbW9yZSBmaWxlIGZyb20gc3RvcmFnZSBkZXZpY2VzIGFuZCBkaXNwbGF5IHRoZW0uXG4gKlxuICogQHNsb3QgZXJyb3IgLSBVc2UgdGhpcyB0byBwcm92aWRlIGEgYHNiYi1mb3JtLWVycm9yYCB0byBzaG93IGFuIGVycm9yIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1maWxlLXNlbGVjdG9yJylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiRmlsZVNlbGVjdG9yRWxlbWVudCBleHRlbmRzIFNiYkZpbGVTZWxlY3RvckNvbW1vbkVsZW1lbnRNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IGZpbGVTZWxlY3RvckNvbW1vblN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBmaWxlY2hhbmdlZDogJ2ZpbGVjaGFuZ2VkJyxcbiAgfSBhcyBjb25zdDtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoaW5wdXQ6IFRlbXBsYXRlUmVzdWx0KTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGxhYmVsPlxuICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b24tc3RhdGljXG4gICAgICAgICAgc2l6ZT0ke3RoaXMuc2l6ZX1cbiAgICAgICAgICBpY29uLW5hbWU9XCJmb2xkZXItb3Blbi1zbWFsbFwiXG4gICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZCB8fCB0aGlzLmZvcm1EaXNhYmxlZH1cbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRCdXR0b24gPSBlbCBhcyBTYmJTZWNvbmRhcnlCdXR0b25TdGF0aWNFbGVtZW50O1xuICAgICAgICAgIH0pfVxuICAgICAgICA+XG4gICAgICAgICAgJHt0aGlzLmdldEJ1dHRvbkxhYmVsKCl9XG4gICAgICAgIDwvc2JiLXNlY29uZGFyeS1idXR0b24tc3RhdGljPlxuICAgICAgICAke2lucHV0fVxuICAgICAgPC9sYWJlbD5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZmlsZS1zZWxlY3Rvcic6IFNiYkZpbGVTZWxlY3RvckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztJQW1CTSwwQkFBc0IsTUFBQTs7QUFGM0IsTUFBQSxtQkFBQSxDQUFBLGNBQWMsbUJBQW1CLEdBQ2pDLFdBQVc7Ozs7b0JBQ3lCLGtDQUFrQyxVQUFVO0FBQXBELEVBQUEsbUJBQVEsWUFBNkM7QUFBQSxJQU03RCxlQUFlLE9BQXFCO0FBQ3JELGFBQU87QUFBQTtBQUFBO0FBQUEsaUJBR00sS0FBSyxJQUFJO0FBQUE7QUFBQSxzQkFFSixLQUFLLFlBQVksS0FBSyxZQUFZO0FBQUEsWUFDNUMsSUFBSSxDQUFDLE9BQXNCO0FBQzNCLGFBQUssYUFBYTtBQUFBLE1BQ3BCLENBQUMsQ0FBQztBQUFBO0FBQUEsWUFFQSxLQUFLLGdCQUFnQjtBQUFBO0FBQUEsVUFFdkIsS0FBSztBQUFBO0FBQUE7QUFBQSxJQUdiO0FBQUE7O0FBdEJGLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5Qix5QkFDekIsR0FBQSxTQUFTO0FBQUEsSUFDOUIsYUFBYTtBQUFBLEVBQUEsR0FIWCxrQkFBQSxZQUFBLHVCQUFBLEdBQXVCOzs7In0=
|
package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts
CHANGED
|
@@ -12,13 +12,6 @@ export declare class SbbFileSelectorDropzoneElement extends SbbFileSelectorDropz
|
|
|
12
12
|
};
|
|
13
13
|
/** The title displayed in `dropzone` variant. */
|
|
14
14
|
accessor titleContent: string;
|
|
15
|
-
private _counter;
|
|
16
|
-
private _dragTarget?;
|
|
17
|
-
private _blockEvent;
|
|
18
|
-
private _onDragEnter;
|
|
19
|
-
private _onDragLeave;
|
|
20
|
-
private _onFileDrop;
|
|
21
|
-
private _setDragState;
|
|
22
15
|
protected renderTemplate(input: TemplateResult): TemplateResult;
|
|
23
16
|
}
|
|
24
17
|
declare global {
|
package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-selector-dropzone.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/file-selector/file-selector-dropzone/file-selector-dropzone.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"file-selector-dropzone.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/file-selector/file-selector-dropzone/file-selector-dropzone.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAa3E,OAAO,yCAAyC,CAAC;AACjD,OAAO,eAAe,CAAC;;AAIvB;;;;GAIG;AACH,qBAGM,8BAA+B,SAAQ,mCAA6C;IACxF,OAAuB,MAAM,EAAE,cAAc,CAAoC;IACjF,gBAAuB,MAAM;;MAElB;IAEX,iDAAiD;IACjD,SAEgB,YAAY,EAAE,MAAM,CAAM;cAEvB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;CA+BzE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,4BAA4B,EAAE,8BAA8B,CAAC;KAC9D;CACF"}
|