@sbb-esta/lyne-elements-dev 5.0.0-next-dev.1777019159 → 5.0.0-next-dev.1777034079
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/styles/core.scss +4 -0
- package/core.css +8 -0
- package/custom-elements.json +957 -957
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/development/file-selector/common/file-selector-common.js +1 -1
- 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 +1 -1
- package/development/file-selector-common-BX5f18cJ.js +409 -0
- package/development/file-selector-dropzone.component-DMNom2OW.js +110 -0
- package/development/file-selector.js +2 -2
- package/development/file-selector.pure.js +2 -2
- package/file-selector/common/file-selector-common.js +1 -1
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/{file-selector-common-DpccuOQ4.js → file-selector-common-CMLaHuDP.js} +38 -40
- package/{file-selector-dropzone.component-BSF-kegh.js → file-selector-dropzone.component-CWwpvAVD.js} +3 -4
- package/file-selector.js +2 -2
- package/file-selector.pure.js +2 -2
- package/off-brand-theme.css +8 -0
- package/package.json +2 -2
- package/safety-theme.css +8 -0
- package/standard-theme.css +8 -0
- package/development/file-selector-common-DE_jT1fa.js +0 -411
- package/development/file-selector-dropzone.component-B1Y5qOjb.js +0 -111
|
@@ -1,411 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { nothing, unsafeCSS } from "lit";
|
|
3
|
-
import { property } from "lit/decorators.js";
|
|
4
|
-
import { SbbDisabledMixin, SbbFormAssociatedMixin, SbbLanguageController, forceType, forwardEvent, i18nFileSelectorButtonLabel, i18nFileSelectorButtonLabelMultiple, i18nFileSelectorCurrentlySelected, i18nFileSelectorDeleteFile, isLean, sbbInputModalityDetector, ɵstateController } from "./core.js";
|
|
5
|
-
import { html as html$1, unsafeStatic } from "lit/static-html.js";
|
|
6
|
-
import { SbbSecondaryButtonElement } from "./button.pure.js";
|
|
7
|
-
import { ref } from "lit/directives/ref.js";
|
|
8
|
-
//#endregion
|
|
9
|
-
//#region src/elements/file-selector/common/file-selector-common.ts
|
|
10
|
-
var fileSelectorCommonStyle = unsafeCSS(":host {\n --sbb-file-selector-color: var(--sbb-color-2);\n --sbb-file-selector-subtitle-color: var(--sbb-color-granite);\n --sbb-file-selector-subtitle-color: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));\n --sbb-file-selector-background-color: var(--sbb-background-color-1);\n --sbb-file-selector-border-color: var(--sbb-border-color-4-inverted);\n --sbb-file-selector-transition-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-2x)\n );\n --sbb-file-selector-transition-easing-function: var(--sbb-animation-easing);\n display: block;\n width: 20rem;\n}\n\n@media (forced-colors: active) {\n :host(:disabled) {\n --sbb-file-selector-color: GrayText;\n --sbb-file-selector-subtitle-color: GrayText;\n --sbb-file-selector-border-color: GrayText;\n }\n}\n\n:host(:is(:state(active),[state--active])) {\n --sbb-file-selector-background-color: var(--sbb-background-color-3);\n --sbb-file-selector-border-color: var(--sbb-color-storm);\n --sbb-file-selector-border-color: light-dark(var(--sbb-color-storm), var(--sbb-color-anthracite));\n}\n@media (forced-colors: active) {\n :host(:is(:state(active),[state--active])) {\n --sbb-file-selector-border-color: Highlight;\n }\n}\n\n.sbb-file-selector__input-container {\n -webkit-tap-highlight-color: transparent;\n display: flex;\n flex-direction: column;\n}\n\n.sbb-file-selector__visually-hidden {\n border: 0;\n clip-path: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.sbb-file-selector__file-list {\n display: flex;\n flex-direction: column;\n row-gap: var(--sbb-spacing-fixed-3x);\n margin-block: 0;\n padding-inline: 0;\n padding-block: var(--sbb-spacing-fixed-6x) var(--sbb-spacing-fixed-1x);\n}\n\n.sbb-file-selector__file {\n --sbb-text-font-size: var(--sbb-text-font-size-s);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n display: flex;\n gap: var(--sbb-spacing-fixed-4x);\n align-items: center;\n justify-content: space-between;\n}\n\n.sbb-file-selector__file-details {\n display: flex;\n flex: 1;\n justify-content: space-between;\n gap: var(--sbb-spacing-fixed-4x);\n overflow: auto;\n}\n\n.sbb-file-selector__file-name {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.sbb-file-selector__file-size {\n white-space: nowrap;\n color: var(--sbb-color-metal);\n color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));\n}\n\n:host(:not(:is(:state(slotted-error),[state--slotted-error]))) .sbb-file-selector__error {\n display: none;\n}");
|
|
11
|
-
var SbbFileSelectorCommonElementMixin = (superclass) => {
|
|
12
|
-
return (() => {
|
|
13
|
-
let _classSuper = SbbDisabledMixin(SbbFormAssociatedMixin(superclass));
|
|
14
|
-
let _instanceExtraInitializers = [];
|
|
15
|
-
let _size_decorators;
|
|
16
|
-
let _size_initializers = [];
|
|
17
|
-
let _size_extraInitializers = [];
|
|
18
|
-
let _multiple_decorators;
|
|
19
|
-
let _multiple_initializers = [];
|
|
20
|
-
let _multiple_extraInitializers = [];
|
|
21
|
-
let _multipleMode_decorators;
|
|
22
|
-
let _multipleMode_initializers = [];
|
|
23
|
-
let _multipleMode_extraInitializers = [];
|
|
24
|
-
let _accept_decorators;
|
|
25
|
-
let _accept_initializers = [];
|
|
26
|
-
let _accept_extraInitializers = [];
|
|
27
|
-
let _accessibilityLabel_decorators;
|
|
28
|
-
let _accessibilityLabel_initializers = [];
|
|
29
|
-
let _accessibilityLabel_extraInitializers = [];
|
|
30
|
-
let _set_value_decorators;
|
|
31
|
-
let _set_files_decorators;
|
|
32
|
-
return class SbbFileSelectorCommonElement extends _classSuper {
|
|
33
|
-
constructor() {
|
|
34
|
-
super(...arguments);
|
|
35
|
-
this.#size_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m"));
|
|
36
|
-
this.#multiple_accessor_storage = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _multiple_initializers, false));
|
|
37
|
-
this.#multipleMode_accessor_storage = (__runInitializers(this, _multiple_extraInitializers), __runInitializers(this, _multipleMode_initializers, "default"));
|
|
38
|
-
this.#accept_accessor_storage = (__runInitializers(this, _multipleMode_extraInitializers), __runInitializers(this, _accept_initializers, ""));
|
|
39
|
-
this.#accessibilityLabel_accessor_storage = (__runInitializers(this, _accept_extraInitializers), __runInitializers(this, _accessibilityLabel_initializers, ""));
|
|
40
|
-
this._files = (__runInitializers(this, _accessibilityLabel_extraInitializers), []);
|
|
41
|
-
this._suffixes = [
|
|
42
|
-
"B",
|
|
43
|
-
"kB",
|
|
44
|
-
"MB",
|
|
45
|
-
"GB",
|
|
46
|
-
"TB"
|
|
47
|
-
];
|
|
48
|
-
this.language = new SbbLanguageController(this);
|
|
49
|
-
this._counter = 0;
|
|
50
|
-
}
|
|
51
|
-
static {
|
|
52
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
53
|
-
_size_decorators = [property({ reflect: true })];
|
|
54
|
-
_multiple_decorators = [forceType(), property({ type: Boolean })];
|
|
55
|
-
_multipleMode_decorators = [property({ attribute: "multiple-mode" })];
|
|
56
|
-
_accept_decorators = [forceType(), property()];
|
|
57
|
-
_accessibilityLabel_decorators = [forceType(), property({ attribute: "accessibility-label" })];
|
|
58
|
-
_set_value_decorators = [property({ attribute: false })];
|
|
59
|
-
_set_files_decorators = [property({ attribute: false })];
|
|
60
|
-
__esDecorate(this, null, _size_decorators, {
|
|
61
|
-
kind: "accessor",
|
|
62
|
-
name: "size",
|
|
63
|
-
static: false,
|
|
64
|
-
private: false,
|
|
65
|
-
access: {
|
|
66
|
-
has: (obj) => "size" in obj,
|
|
67
|
-
get: (obj) => obj.size,
|
|
68
|
-
set: (obj, value) => {
|
|
69
|
-
obj.size = value;
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
metadata: _metadata
|
|
73
|
-
}, _size_initializers, _size_extraInitializers);
|
|
74
|
-
__esDecorate(this, null, _multiple_decorators, {
|
|
75
|
-
kind: "accessor",
|
|
76
|
-
name: "multiple",
|
|
77
|
-
static: false,
|
|
78
|
-
private: false,
|
|
79
|
-
access: {
|
|
80
|
-
has: (obj) => "multiple" in obj,
|
|
81
|
-
get: (obj) => obj.multiple,
|
|
82
|
-
set: (obj, value) => {
|
|
83
|
-
obj.multiple = value;
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
metadata: _metadata
|
|
87
|
-
}, _multiple_initializers, _multiple_extraInitializers);
|
|
88
|
-
__esDecorate(this, null, _multipleMode_decorators, {
|
|
89
|
-
kind: "accessor",
|
|
90
|
-
name: "multipleMode",
|
|
91
|
-
static: false,
|
|
92
|
-
private: false,
|
|
93
|
-
access: {
|
|
94
|
-
has: (obj) => "multipleMode" in obj,
|
|
95
|
-
get: (obj) => obj.multipleMode,
|
|
96
|
-
set: (obj, value) => {
|
|
97
|
-
obj.multipleMode = value;
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
metadata: _metadata
|
|
101
|
-
}, _multipleMode_initializers, _multipleMode_extraInitializers);
|
|
102
|
-
__esDecorate(this, null, _accept_decorators, {
|
|
103
|
-
kind: "accessor",
|
|
104
|
-
name: "accept",
|
|
105
|
-
static: false,
|
|
106
|
-
private: false,
|
|
107
|
-
access: {
|
|
108
|
-
has: (obj) => "accept" in obj,
|
|
109
|
-
get: (obj) => obj.accept,
|
|
110
|
-
set: (obj, value) => {
|
|
111
|
-
obj.accept = value;
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
metadata: _metadata
|
|
115
|
-
}, _accept_initializers, _accept_extraInitializers);
|
|
116
|
-
__esDecorate(this, null, _accessibilityLabel_decorators, {
|
|
117
|
-
kind: "accessor",
|
|
118
|
-
name: "accessibilityLabel",
|
|
119
|
-
static: false,
|
|
120
|
-
private: false,
|
|
121
|
-
access: {
|
|
122
|
-
has: (obj) => "accessibilityLabel" in obj,
|
|
123
|
-
get: (obj) => obj.accessibilityLabel,
|
|
124
|
-
set: (obj, value) => {
|
|
125
|
-
obj.accessibilityLabel = value;
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
metadata: _metadata
|
|
129
|
-
}, _accessibilityLabel_initializers, _accessibilityLabel_extraInitializers);
|
|
130
|
-
__esDecorate(this, null, _set_value_decorators, {
|
|
131
|
-
kind: "setter",
|
|
132
|
-
name: "value",
|
|
133
|
-
static: false,
|
|
134
|
-
private: false,
|
|
135
|
-
access: {
|
|
136
|
-
has: (obj) => "value" in obj,
|
|
137
|
-
set: (obj, value) => {
|
|
138
|
-
obj.value = value;
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
metadata: _metadata
|
|
142
|
-
}, null, _instanceExtraInitializers);
|
|
143
|
-
__esDecorate(this, null, _set_files_decorators, {
|
|
144
|
-
kind: "setter",
|
|
145
|
-
name: "files",
|
|
146
|
-
static: false,
|
|
147
|
-
private: false,
|
|
148
|
-
access: {
|
|
149
|
-
has: (obj) => "files" in obj,
|
|
150
|
-
set: (obj, value) => {
|
|
151
|
-
obj.files = value;
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
metadata: _metadata
|
|
155
|
-
}, null, _instanceExtraInitializers);
|
|
156
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
157
|
-
enumerable: true,
|
|
158
|
-
configurable: true,
|
|
159
|
-
writable: true,
|
|
160
|
-
value: _metadata
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
static {
|
|
164
|
-
this.elementDependencies = [SbbSecondaryButtonElement];
|
|
165
|
-
}
|
|
166
|
-
static {
|
|
167
|
-
this.events = { filechanged: "filechanged" };
|
|
168
|
-
}
|
|
169
|
-
#size_accessor_storage;
|
|
170
|
-
/**
|
|
171
|
-
* Size variant, either s or m.
|
|
172
|
-
* @default 'm' / 's' (lean)
|
|
173
|
-
*/
|
|
174
|
-
get size() {
|
|
175
|
-
return this.#size_accessor_storage;
|
|
176
|
-
}
|
|
177
|
-
set size(value) {
|
|
178
|
-
this.#size_accessor_storage = value;
|
|
179
|
-
}
|
|
180
|
-
#multiple_accessor_storage;
|
|
181
|
-
/** Whether more than one file can be selected. */
|
|
182
|
-
get multiple() {
|
|
183
|
-
return this.#multiple_accessor_storage;
|
|
184
|
-
}
|
|
185
|
-
set multiple(value) {
|
|
186
|
-
this.#multiple_accessor_storage = value;
|
|
187
|
-
}
|
|
188
|
-
#multipleMode_accessor_storage;
|
|
189
|
-
/** Whether the newly added files should override the previously added ones. */
|
|
190
|
-
get multipleMode() {
|
|
191
|
-
return this.#multipleMode_accessor_storage;
|
|
192
|
-
}
|
|
193
|
-
set multipleMode(value) {
|
|
194
|
-
this.#multipleMode_accessor_storage = value;
|
|
195
|
-
}
|
|
196
|
-
#accept_accessor_storage;
|
|
197
|
-
/** A comma-separated list of allowed unique file type specifiers. */
|
|
198
|
-
get accept() {
|
|
199
|
-
return this.#accept_accessor_storage;
|
|
200
|
-
}
|
|
201
|
-
set accept(value) {
|
|
202
|
-
this.#accept_accessor_storage = value;
|
|
203
|
-
}
|
|
204
|
-
#accessibilityLabel_accessor_storage;
|
|
205
|
-
/** This will be forwarded as aria-label to the native input element. */
|
|
206
|
-
get accessibilityLabel() {
|
|
207
|
-
return this.#accessibilityLabel_accessor_storage;
|
|
208
|
-
}
|
|
209
|
-
set accessibilityLabel(value) {
|
|
210
|
-
this.#accessibilityLabel_accessor_storage = value;
|
|
211
|
-
}
|
|
212
|
-
/** The path of the first selected file. Empty string ('') if no file is selected */
|
|
213
|
-
set value(value) {
|
|
214
|
-
this._hiddenInput.value = value ?? "";
|
|
215
|
-
if (!value) this.files = [];
|
|
216
|
-
}
|
|
217
|
-
get value() {
|
|
218
|
-
return this._hiddenInput?.value;
|
|
219
|
-
}
|
|
220
|
-
/** The list of selected files. */
|
|
221
|
-
set files(value) {
|
|
222
|
-
this._files = value ?? [];
|
|
223
|
-
const dt = new DataTransfer();
|
|
224
|
-
this.files.forEach((e) => dt.items.add(e));
|
|
225
|
-
this._hiddenInput.files = dt.files;
|
|
226
|
-
this.updateFormValue();
|
|
227
|
-
}
|
|
228
|
-
get files() {
|
|
229
|
-
return this._files;
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Form type of element.
|
|
233
|
-
* @default 'file'
|
|
234
|
-
*/
|
|
235
|
-
get type() {
|
|
236
|
-
return "file";
|
|
237
|
-
}
|
|
238
|
-
formResetCallback() {
|
|
239
|
-
this.files = [];
|
|
240
|
-
}
|
|
241
|
-
formStateRestoreCallback(state, _reason) {
|
|
242
|
-
if (!state) return;
|
|
243
|
-
this.files = state.getAll(this.name);
|
|
244
|
-
}
|
|
245
|
-
updateFormValue() {
|
|
246
|
-
const formValue = new FormData();
|
|
247
|
-
this.files.forEach((file) => formValue.append(this.name, file));
|
|
248
|
-
this.internals.setFormValue(formValue);
|
|
249
|
-
}
|
|
250
|
-
_checkFileEquality(file1, file2) {
|
|
251
|
-
return file1.name === file2.name && file1.size === file2.size && file1.lastModified === file2.lastModified;
|
|
252
|
-
}
|
|
253
|
-
_onFocus() {
|
|
254
|
-
if (sbbInputModalityDetector.mostRecentModality === "keyboard") ɵstateController(this.loadButton).add("focus-visible");
|
|
255
|
-
}
|
|
256
|
-
_onBlur() {
|
|
257
|
-
ɵstateController(this.loadButton).delete("focus-visible");
|
|
258
|
-
}
|
|
259
|
-
_readFiles(event) {
|
|
260
|
-
const fileInput = event.target;
|
|
261
|
-
if (fileInput.files) this.createFileList(fileInput.files);
|
|
262
|
-
forwardEvent(event, this);
|
|
263
|
-
}
|
|
264
|
-
createFileList(files) {
|
|
265
|
-
const fileArray = Array.from(files);
|
|
266
|
-
if (!this.multiple && files.length > 1 || this.accept && fileArray.some((file) => !this.accept.split(",").some((a) => file.name.endsWith(a.trim())))) return;
|
|
267
|
-
if (!this.multiple || this.multipleMode !== "persistent" || this.files.length === 0) this.files = fileArray;
|
|
268
|
-
else this.files = fileArray.filter((newFile) => this.files.findIndex((oldFile) => this._checkFileEquality(newFile, oldFile)) === -1).concat(this.files);
|
|
269
|
-
this._updateA11yLiveRegion();
|
|
270
|
-
this._dispatchFileChangedEvent();
|
|
271
|
-
}
|
|
272
|
-
getButtonLabel() {
|
|
273
|
-
return this.multiple ? i18nFileSelectorButtonLabelMultiple[this.language.current] : i18nFileSelectorButtonLabel[this.language.current];
|
|
274
|
-
}
|
|
275
|
-
_removeFile(file) {
|
|
276
|
-
this.files = this.files.filter((f) => !this._checkFileEquality(file, f));
|
|
277
|
-
this._updateA11yLiveRegion();
|
|
278
|
-
/** The input event fires when the value has been changed as a direct result of a user action. */
|
|
279
|
-
this.dispatchEvent(new InputEvent("input", {
|
|
280
|
-
bubbles: true,
|
|
281
|
-
composed: true
|
|
282
|
-
}));
|
|
283
|
-
/**
|
|
284
|
-
* The change event is fired when the user modifies the element's value.
|
|
285
|
-
* Unlike the input event, the change event is not necessarily fired
|
|
286
|
-
* for each alteration to an element's value.
|
|
287
|
-
*/
|
|
288
|
-
this.dispatchEvent(new Event("change", { bubbles: true }));
|
|
289
|
-
this._dispatchFileChangedEvent();
|
|
290
|
-
}
|
|
291
|
-
_dispatchFileChangedEvent() {
|
|
292
|
-
/**
|
|
293
|
-
* @type {CustomEvent<Readonly<File>[]>}
|
|
294
|
-
* An event which is emitted each time the file list changes.
|
|
295
|
-
*/
|
|
296
|
-
this.dispatchEvent(new CustomEvent("filechanged", {
|
|
297
|
-
bubbles: true,
|
|
298
|
-
composed: true,
|
|
299
|
-
detail: this.files
|
|
300
|
-
}));
|
|
301
|
-
}
|
|
302
|
-
/** Calculates the correct unit for the file's size. */
|
|
303
|
-
_formatFileSize(size) {
|
|
304
|
-
const i = Math.floor(Math.log(size) / Math.log(1024));
|
|
305
|
-
return `${(size / Math.pow(1024, i)).toFixed(0)} ${this._suffixes[i]}`;
|
|
306
|
-
}
|
|
307
|
-
_updateA11yLiveRegion() {
|
|
308
|
-
this._liveRegion.innerText = i18nFileSelectorCurrentlySelected(this.files.map((e) => e.name))[this.language.current];
|
|
309
|
-
}
|
|
310
|
-
_renderFileList() {
|
|
311
|
-
const TAG_NAME = this.files.length > 1 ? {
|
|
312
|
-
WRAPPER: "ul",
|
|
313
|
-
ELEMENT: "li"
|
|
314
|
-
} : {
|
|
315
|
-
WRAPPER: "div",
|
|
316
|
-
ELEMENT: "span"
|
|
317
|
-
};
|
|
318
|
-
return html$1`
|
|
319
|
-
<${unsafeStatic(TAG_NAME.WRAPPER)} class='sbb-file-selector__file-list'>
|
|
320
|
-
${this.files.map((file) => html$1`
|
|
321
|
-
<${unsafeStatic(TAG_NAME.ELEMENT)} class='sbb-file-selector__file'>
|
|
322
|
-
<span class='sbb-file-selector__file-details'>
|
|
323
|
-
<span class='sbb-file-selector__file-name'>${file.name}</span>
|
|
324
|
-
<span class='sbb-file-selector__file-size'>${this._formatFileSize(file.size)}</span>
|
|
325
|
-
</span>
|
|
326
|
-
<sbb-secondary-button
|
|
327
|
-
size='${this.size}'
|
|
328
|
-
icon-name='trash-small'
|
|
329
|
-
@click='${() => this._removeFile(file)}'
|
|
330
|
-
aria-label='${`${i18nFileSelectorDeleteFile[this.language.current]} - ${file.name}`}'
|
|
331
|
-
></sbb-secondary-button>
|
|
332
|
-
</${unsafeStatic(TAG_NAME.ELEMENT)}>`)}
|
|
333
|
-
</${unsafeStatic(TAG_NAME.WRAPPER)}>
|
|
334
|
-
`;
|
|
335
|
-
}
|
|
336
|
-
_onDragEnter(event) {
|
|
337
|
-
this._counter++;
|
|
338
|
-
if (!this.disabled && !this.formDisabled) {
|
|
339
|
-
this._setDragState(event.target, true);
|
|
340
|
-
this._blockEvent(event);
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
_onDragLeave(event) {
|
|
344
|
-
this._counter--;
|
|
345
|
-
if (!this.disabled && !this.formDisabled && event.target === this._dragTarget && this._counter === 0) {
|
|
346
|
-
this._setDragState();
|
|
347
|
-
this._blockEvent(event);
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
_onFileDrop(event) {
|
|
351
|
-
this._counter = 0;
|
|
352
|
-
if (!this.disabled && !this.formDisabled) {
|
|
353
|
-
this._setDragState();
|
|
354
|
-
this._blockEvent(event);
|
|
355
|
-
this.createFileList(event.dataTransfer.files);
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
_blockEvent(event) {
|
|
359
|
-
event.stopPropagation();
|
|
360
|
-
event.preventDefault();
|
|
361
|
-
}
|
|
362
|
-
_setDragState(dragTarget = void 0, isDragEnter = false) {
|
|
363
|
-
this._dragTarget = dragTarget;
|
|
364
|
-
this.toggleState("active", isDragEnter);
|
|
365
|
-
ɵstateController(this.loadButton).toggle("active", isDragEnter);
|
|
366
|
-
}
|
|
367
|
-
render() {
|
|
368
|
-
const ariaLabel = this.accessibilityLabel ? `${this.getButtonLabel()} - ${this.accessibilityLabel}` : void 0;
|
|
369
|
-
return html$1`
|
|
370
|
-
<div class="sbb-file-selector">
|
|
371
|
-
<div
|
|
372
|
-
class="sbb-file-selector__input-container"
|
|
373
|
-
@dragenter=${this._onDragEnter}
|
|
374
|
-
@dragover=${this._blockEvent}
|
|
375
|
-
@dragleave=${this._onDragLeave}
|
|
376
|
-
@drop=${this._onFileDrop}
|
|
377
|
-
>
|
|
378
|
-
${this.renderTemplate(html$1`<input
|
|
379
|
-
class="sbb-file-selector__visually-hidden"
|
|
380
|
-
type="file"
|
|
381
|
-
?disabled="${this.disabled || this.formDisabled}"
|
|
382
|
-
?multiple="${this.multiple}"
|
|
383
|
-
accept="${this.accept || nothing}"
|
|
384
|
-
aria-label="${ariaLabel || nothing}"
|
|
385
|
-
@change="${this._readFiles}"
|
|
386
|
-
@focus="${this._onFocus}"
|
|
387
|
-
@blur="${this._onBlur}"
|
|
388
|
-
${ref((el) => {
|
|
389
|
-
this._hiddenInput = el;
|
|
390
|
-
})}
|
|
391
|
-
/>`)}
|
|
392
|
-
</div>
|
|
393
|
-
<p
|
|
394
|
-
role="status"
|
|
395
|
-
class="sbb-file-selector__visually-hidden"
|
|
396
|
-
${ref((p) => this._liveRegion = p)}
|
|
397
|
-
></p>
|
|
398
|
-
${this.files.length > 0 ? this._renderFileList() : nothing}
|
|
399
|
-
<div class="sbb-file-selector__error">
|
|
400
|
-
<slot name="error"></slot>
|
|
401
|
-
</div>
|
|
402
|
-
</div>
|
|
403
|
-
`;
|
|
404
|
-
}
|
|
405
|
-
};
|
|
406
|
-
})();
|
|
407
|
-
};
|
|
408
|
-
//#endregion
|
|
409
|
-
export { fileSelectorCommonStyle as n, SbbFileSelectorCommonElementMixin as t };
|
|
410
|
-
|
|
411
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zZWxlY3Rvci1jb21tb24tREVfalQxZmEuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2ZpbGUtc2VsZWN0b3IvY29tbW9uL2ZpbGUtc2VsZWN0b3ItY29tbW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2ZpbGUtc2VsZWN0b3IvY29tbW9uL2ZpbGUtc2VsZWN0b3ItY29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItZmlsZS1zZWxlY3Rvci1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTIpO1xuICAtLXNiYi1maWxlLXNlbGVjdG9yLXN1YnRpdGxlLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1ncmFuaXRlKSwgdmFyKC0tc2JiLWNvbG9yLXNtb2tlKSk7XG4gIC0tc2JiLWZpbGUtc2VsZWN0b3ItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMSk7XG4gIC0tc2JiLWZpbGUtc2VsZWN0b3ItYm9yZGVyLWNvbG9yOiB2YXIoLS1zYmItYm9yZGVyLWNvbG9yLTQtaW52ZXJ0ZWQpO1xuICAtLXNiYi1maWxlLXNlbGVjdG9yLXRyYW5zaXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTJ4KVxuICApO1xuICAtLXNiYi1maWxlLXNlbGVjdG9yLXRyYW5zaXRpb24tZWFzaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAje3NiYi5weC10by1yZW0tYnVpbGQoMzIwKX07XG59XG5cbjpob3N0KDpkaXNhYmxlZCkge1xuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItZmlsZS1zZWxlY3Rvci1jb2xvcjogR3JheVRleHQ7XG4gICAgLS1zYmItZmlsZS1zZWxlY3Rvci1zdWJ0aXRsZS1jb2xvcjogR3JheVRleHQ7XG4gICAgLS1zYmItZmlsZS1zZWxlY3Rvci1ib3JkZXItY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShhY3RpdmUpKSB7XG4gIC0tc2JiLWZpbGUtc2VsZWN0b3ItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG4gIC0tc2JiLWZpbGUtc2VsZWN0b3ItYm9yZGVyLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1zdG9ybSksIHZhcigtLXNiYi1jb2xvci1hbnRocmFjaXRlKSk7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLWZpbGUtc2VsZWN0b3ItYm9yZGVyLWNvbG9yOiBIaWdobGlnaHQ7XG4gIH1cbn1cblxuLnNiYi1maWxlLXNlbGVjdG9yX19pbnB1dC1jb250YWluZXIge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uc2JiLWZpbGUtc2VsZWN0b3JfX3Zpc3VhbGx5LWhpZGRlbiB7XG4gIEBpbmNsdWRlIHNiYi5zY3JlZW4tcmVhZGVyLW9ubHk7XG59XG5cbi5zYmItZmlsZS1zZWxlY3Rvcl9fZmlsZS1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcm93LWdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtM3gpO1xuICBtYXJnaW4tYmxvY2s6IDA7XG4gIHBhZGRpbmctaW5saW5lOiAwO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC02eCkgdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xufVxuXG4uc2JiLWZpbGUtc2VsZWN0b3JfX2ZpbGUge1xuICBAaW5jbHVkZSBzYmIudGV4dC1zLS1yZWd1bGFyO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNHgpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5zYmItZmlsZS1zZWxlY3Rvcl9fZmlsZS1kZXRhaWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5zYmItZmlsZS1zZWxlY3Rvcl9fZmlsZS1uYW1lIHtcbiAgQGluY2x1ZGUgc2JiLmVsbGlwc2lzO1xufVxuXG4uc2JiLWZpbGUtc2VsZWN0b3JfX2ZpbGUtc2l6ZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1tZXRhbCksIHZhcigtLXNiYi1jb2xvci1zbW9rZSkpO1xufVxuXG4uc2JiLWZpbGUtc2VsZWN0b3JfX2Vycm9yIHtcbiAgOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZC1lcnJvcikpKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJpbXBvcnQgeyBub3RoaW5nLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuaW1wb3J0IHsgaHRtbCwgdW5zYWZlU3RhdGljIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHtcbiAgU2JiU2Vjb25kYXJ5QnV0dG9uRWxlbWVudCxcbiAgdHlwZSBTYmJTZWNvbmRhcnlCdXR0b25TdGF0aWNFbGVtZW50LFxufSBmcm9tICcuLi8uLi9idXR0b24ucHVyZS50cyc7XG5pbXBvcnQge1xuICB0eXBlIEFic3RyYWN0Q29uc3RydWN0b3IsXG4gIGZvcmNlVHlwZSxcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBmb3J3YXJkRXZlbnQsXG4gIGkxOG5GaWxlU2VsZWN0b3JCdXR0b25MYWJlbCxcbiAgaTE4bkZpbGVTZWxlY3RvckJ1dHRvbkxhYmVsTXVsdGlwbGUsXG4gIGkxOG5GaWxlU2VsZWN0b3JDdXJyZW50bHlTZWxlY3RlZCxcbiAgaTE4bkZpbGVTZWxlY3RvckRlbGV0ZUZpbGUsXG4gIGlzTGVhbixcbiAgU2JiRGlzYWJsZWRNaXhpbixcbiAgU2JiRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50Q29uc3RydWN0b3IsXG4gIHR5cGUgU2JiRWxlbWVudFR5cGUsXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG4gIHNiYklucHV0TW9kYWxpdHlEZXRlY3RvcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICDJtXN0YXRlQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5cbmltcG9ydCBmaWxlU2VsZWN0b3JDb21tb25TdHlsZVN0cmluZyBmcm9tICcuL2ZpbGUtc2VsZWN0b3ItY29tbW9uLnNjc3M/aW5saW5lJztcblxuZXhwb3J0IGNvbnN0IGZpbGVTZWxlY3RvckNvbW1vblN0eWxlID0gdW5zYWZlQ1NTKGZpbGVTZWxlY3RvckNvbW1vblN0eWxlU3RyaW5nKTtcblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgU2JiRmlsZVNlbGVjdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oU2JiRWxlbWVudCksXG4pIHtcbiAgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJztcbiAgcHVibGljIGFjY2Vzc29yIG11bHRpcGxlOiBib29sZWFuO1xuICBwdWJsaWMgYWNjZXNzb3IgbXVsdGlwbGVNb2RlOiAnZGVmYXVsdCcgfCAncGVyc2lzdGVudCc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2NlcHQ6IHN0cmluZztcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlMYWJlbDogc3RyaW5nO1xuICBwdWJsaWMgYWNjZXNzb3IgZmlsZXM6IFJlYWRvbmx5PEZpbGU+W107XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdmFsdWUoKTogc3RyaW5nIHwgbnVsbDtcbiAgcHVibGljIG92ZXJyaWRlIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCk7XG4gIHByb3RlY3RlZCBsb2FkQnV0dG9uOiBTYmJTZWNvbmRhcnlCdXR0b25TdGF0aWNFbGVtZW50O1xuICBwcm90ZWN0ZWQgbGFuZ3VhZ2U6IFNiYkxhbmd1YWdlQ29udHJvbGxlcjtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbmRlclRlbXBsYXRlKGlucHV0OiBUZW1wbGF0ZVJlc3VsdCk6IFRlbXBsYXRlUmVzdWx0O1xuICBwcm90ZWN0ZWQgY3JlYXRlRmlsZUxpc3QoZmlsZXM6IEZpbGVMaXN0KTogdm9pZDtcbiAgcHJvdGVjdGVkIGdldEJ1dHRvbkxhYmVsKCk6IHN0cmluZztcbiAgcHVibGljIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQ7XG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLCByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uKTogdm9pZDtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkZpbGVTZWxlY3RvckNvbW1vbkVsZW1lbnRNaXhpbiA9IDxcbiAgVCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRWxlbWVudD4gJiBTYmJFbGVtZW50Q29uc3RydWN0b3IsXG4+KFxuICBzdXBlcmNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJGaWxlU2VsZWN0b3JDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJGaWxlU2VsZWN0b3JDb21tb25FbGVtZW50XG4gICAgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oc3VwZXJjbGFzcykpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZpbGVTZWxlY3RvckNvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbU2JiU2Vjb25kYXJ5QnV0dG9uRWxlbWVudF07XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgICBmaWxlY2hhbmdlZDogJ2ZpbGVjaGFuZ2VkJyxcbiAgICB9IGFzIGNvbnN0O1xuXG4gICAgLyoqXG4gICAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgcyBvciBtLlxuICAgICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbScgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAgIC8qKiBXaGV0aGVyIG1vcmUgdGhhbiBvbmUgZmlsZSBjYW4gYmUgc2VsZWN0ZWQuICovXG4gICAgQGZvcmNlVHlwZSgpXG4gICAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIG5ld2x5IGFkZGVkIGZpbGVzIHNob3VsZCBvdmVycmlkZSB0aGUgcHJldmlvdXNseSBhZGRlZCBvbmVzLiAqL1xuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ211bHRpcGxlLW1vZGUnIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIG11bHRpcGxlTW9kZTogJ2RlZmF1bHQnIHwgJ3BlcnNpc3RlbnQnID0gJ2RlZmF1bHQnO1xuXG4gICAgLyoqIEEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgYWxsb3dlZCB1bmlxdWUgZmlsZSB0eXBlIHNwZWNpZmllcnMuICovXG4gICAgQGZvcmNlVHlwZSgpXG4gICAgQHByb3BlcnR5KClcbiAgICBwdWJsaWMgYWNjZXNzb3IgYWNjZXB0OiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50LiAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbGFiZWwnIH0pXG4gICAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICAvKiogVGhlIHBhdGggb2YgdGhlIGZpcnN0IHNlbGVjdGVkIGZpbGUuIEVtcHR5IHN0cmluZyAoJycpIGlmIG5vIGZpbGUgaXMgc2VsZWN0ZWQgKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gICAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgdGhpcy5faGlkZGVuSW5wdXQudmFsdWUgPSB2YWx1ZSA/PyAnJztcblxuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICB0aGlzLmZpbGVzID0gW107XG4gICAgICB9XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICByZXR1cm4gdGhpcy5faGlkZGVuSW5wdXQ/LnZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBUaGUgbGlzdCBvZiBzZWxlY3RlZCBmaWxlcy4gKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gICAgcHVibGljIHNldCBmaWxlcyh2YWx1ZTogUmVhZG9ubHk8RmlsZT5bXSkge1xuICAgICAgdGhpcy5fZmlsZXMgPSB2YWx1ZSA/PyBbXTtcblxuICAgICAgLy8gdXBkYXRlIHRoZSBpbm5lciBpbnB1dFxuICAgICAgY29uc3QgZHQ6IERhdGFUcmFuc2ZlciA9IG5ldyBEYXRhVHJhbnNmZXIoKTtcbiAgICAgIHRoaXMuZmlsZXMuZm9yRWFjaCgoZTogUmVhZG9ubHk8RmlsZT4pID0+IGR0Lml0ZW1zLmFkZChlKSk7XG4gICAgICB0aGlzLl9oaWRkZW5JbnB1dC5maWxlcyA9IGR0LmZpbGVzO1xuXG4gICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGZpbGVzKCk6IFJlYWRvbmx5PEZpbGU+W10ge1xuICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVzO1xuICAgIH1cbiAgICBwcml2YXRlIF9maWxlczogUmVhZG9ubHk8RmlsZT5bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogRm9ybSB0eXBlIG9mIGVsZW1lbnQuXG4gICAgICogQGRlZmF1bHQgJ2ZpbGUnXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gJ2ZpbGUnO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2hpZGRlbklucHV0ITogSFRNTElucHV0RWxlbWVudDtcbiAgICBwcml2YXRlIF9zdWZmaXhlczogc3RyaW5nW10gPSBbJ0InLCAna0InLCAnTUInLCAnR0InLCAnVEInXTtcbiAgICBwcml2YXRlIF9saXZlUmVnaW9uITogSFRNTFBhcmFncmFwaEVsZW1lbnQ7XG4gICAgcHJvdGVjdGVkIGxvYWRCdXR0b24hOiBTYmJTZWNvbmRhcnlCdXR0b25TdGF0aWNFbGVtZW50O1xuICAgIHByb3RlY3RlZCBsYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgICAvLyBTYWZhcmkgaGFzIGEgcGVjdWxpYXIgYmVoYXZpb3Igd2hlbiBkcmFnZ2luZyBmaWxlcyBvbiB0aGUgaW5uZXIgYnV0dG9uIGluICdkcm9wem9uZScgdmFyaWFudDtcbiAgICAvLyB0aGlzIHdpbGwgcmVxdWlyZSBhIGNvdW50ZXIgdG8gY29ycmVjdGx5IGhhbmRsZSB0aGUgZHJhZ0VudGVyL2RyYWdMZWF2ZS5cbiAgICBwcml2YXRlIF9jb3VudGVyOiBudW1iZXIgPSAwO1xuICAgIHByaXZhdGUgX2RyYWdUYXJnZXQ/OiBIVE1MRWxlbWVudDtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZW5kZXJUZW1wbGF0ZShpbnB1dDogVGVtcGxhdGVSZXN1bHQpOiBUZW1wbGF0ZVJlc3VsdDtcblxuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHRoaXMuZmlsZXMgPSBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgICAgX3JlYXNvbj86IEZvcm1SZXN0b3JlUmVhc29uLFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKCFzdGF0ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmZpbGVzID0gKHN0YXRlIGFzIEZvcm1EYXRhKS5nZXRBbGwodGhpcy5uYW1lKSBhcyBSZWFkb25seTxGaWxlPltdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZCB7XG4gICAgICBjb25zdCBmb3JtVmFsdWUgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgIHRoaXMuZmlsZXMuZm9yRWFjaCgoZmlsZSkgPT4gZm9ybVZhbHVlLmFwcGVuZCh0aGlzLm5hbWUsIGZpbGUpKTtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnNldEZvcm1WYWx1ZShmb3JtVmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NoZWNrRmlsZUVxdWFsaXR5KGZpbGUxOiBSZWFkb25seTxGaWxlPiwgZmlsZTI6IFJlYWRvbmx5PEZpbGU+KTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBmaWxlMS5uYW1lID09PSBmaWxlMi5uYW1lICYmXG4gICAgICAgIGZpbGUxLnNpemUgPT09IGZpbGUyLnNpemUgJiZcbiAgICAgICAgZmlsZTEubGFzdE1vZGlmaWVkID09PSBmaWxlMi5sYXN0TW9kaWZpZWRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgIGlmIChzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgIMm1c3RhdGVDb250cm9sbGVyKHRoaXMubG9hZEJ1dHRvbikuYWRkKCdmb2N1cy12aXNpYmxlJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25CbHVyKCk6IHZvaWQge1xuICAgICAgybVzdGF0ZUNvbnRyb2xsZXIodGhpcy5sb2FkQnV0dG9uKS5kZWxldGUoJ2ZvY3VzLXZpc2libGUnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZWFkRmlsZXMoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICBjb25zdCBmaWxlSW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgIGlmIChmaWxlSW5wdXQuZmlsZXMpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVGaWxlTGlzdChmaWxlSW5wdXQuZmlsZXMpO1xuICAgICAgfVxuICAgICAgZm9yd2FyZEV2ZW50KGV2ZW50LCB0aGlzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlRmlsZUxpc3QoZmlsZXM6IEZpbGVMaXN0KTogdm9pZCB7XG4gICAgICBjb25zdCBmaWxlQXJyYXkgPSBBcnJheS5mcm9tKGZpbGVzKTtcbiAgICAgIGlmIChcbiAgICAgICAgKCF0aGlzLm11bHRpcGxlICYmIGZpbGVzLmxlbmd0aCA+IDEpIHx8XG4gICAgICAgICh0aGlzLmFjY2VwdCAmJlxuICAgICAgICAgIGZpbGVBcnJheS5zb21lKFxuICAgICAgICAgICAgKGZpbGUpID0+ICF0aGlzLmFjY2VwdC5zcGxpdCgnLCcpLnNvbWUoKGEpID0+IGZpbGUubmFtZS5lbmRzV2l0aChhLnRyaW0oKSkpLFxuICAgICAgICAgICkpXG4gICAgICApIHtcbiAgICAgICAgLy8gSWYgbXVsdGlwbGUgZmlsZXMgYXJlIHNlbGVjdGVkIGJ1dCB0aGUgc2VsZWN0b3IgaXMgbm90IGluIG11bHRpcGxlIG1vZGUsXG4gICAgICAgIC8vIGlnbm9yZSB0aGUgc2VsZWN0aW9uIChsaWtlIG5hdGl2ZSBiZWhhdmlvcikuXG4gICAgICAgIC8vIElmIHRoZSBhY2NlcHQgYXR0cmlidXRlIGlzIHNldCwgY2hlY2sgaWYgdGhlIHNlbGVjdGVkIGZpbGVzIG1hdGNoIHRoZSBhbGxvd2VkIHR5cGVzLlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSB8fCB0aGlzLm11bHRpcGxlTW9kZSAhPT0gJ3BlcnNpc3RlbnQnIHx8IHRoaXMuZmlsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuZmlsZXMgPSBmaWxlQXJyYXk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZpbGVzID0gZmlsZUFycmF5XG4gICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgIC8vIFJlbW92ZSBkdXBsaWNhdGVzXG4gICAgICAgICAgICAobmV3RmlsZTogUmVhZG9ubHk8RmlsZT4pOiBib29sZWFuID0+XG4gICAgICAgICAgICAgIHRoaXMuZmlsZXMhLmZpbmRJbmRleCgob2xkRmlsZTogUmVhZG9ubHk8RmlsZT4pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tGaWxlRXF1YWxpdHkobmV3RmlsZSwgb2xkRmlsZSksXG4gICAgICAgICAgICAgICkgPT09IC0xLFxuICAgICAgICAgIClcbiAgICAgICAgICAuY29uY2F0KHRoaXMuZmlsZXMpO1xuICAgICAgfVxuICAgICAgdGhpcy5fdXBkYXRlQTExeUxpdmVSZWdpb24oKTtcbiAgICAgIHRoaXMuX2Rpc3BhdGNoRmlsZUNoYW5nZWRFdmVudCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMubXVsdGlwbGVcbiAgICAgICAgPyBpMThuRmlsZVNlbGVjdG9yQnV0dG9uTGFiZWxNdWx0aXBsZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdXG4gICAgICAgIDogaTE4bkZpbGVTZWxlY3RvckJ1dHRvbkxhYmVsW3RoaXMubGFuZ3VhZ2UuY3VycmVudF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVtb3ZlRmlsZShmaWxlOiBSZWFkb25seTxGaWxlPik6IHZvaWQge1xuICAgICAgdGhpcy5maWxlcyA9IHRoaXMuZmlsZXMuZmlsdGVyKChmOiBSZWFkb25seTxGaWxlPikgPT4gIXRoaXMuX2NoZWNrRmlsZUVxdWFsaXR5KGZpbGUsIGYpKTtcbiAgICAgIHRoaXMuX3VwZGF0ZUExMXlMaXZlUmVnaW9uKCk7XG5cbiAgICAgIC8vIERpc3BhdGNoIG5hdGl2ZSBldmVudHMgYXMgaWYgdGhlIHJlc2V0IGlzIGRvbmUgdmlhIHRoZSBmaWxlIHNlbGVjdGlvbiB3aW5kb3cuXG4gICAgICAvKiogVGhlIGlucHV0IGV2ZW50IGZpcmVzIHdoZW4gdGhlIHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQgYXMgYSBkaXJlY3QgcmVzdWx0IG9mIGEgdXNlciBhY3Rpb24uICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHtcbiAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICk7XG5cbiAgICAgIC8qKlxuICAgICAgICogVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuXG4gICAgICAgKiBVbmxpa2UgdGhlIGlucHV0IGV2ZW50LCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCBuZWNlc3NhcmlseSBmaXJlZFxuICAgICAgICogZm9yIGVhY2ggYWx0ZXJhdGlvbiB0byBhbiBlbGVtZW50J3MgdmFsdWUuXG4gICAgICAgKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gICAgICB0aGlzLl9kaXNwYXRjaEZpbGVDaGFuZ2VkRXZlbnQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNwYXRjaEZpbGVDaGFuZ2VkRXZlbnQoKTogdm9pZCB7XG4gICAgICAvKipcbiAgICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDxSZWFkb25seTxGaWxlPltdPn1cbiAgICAgICAqIEFuIGV2ZW50IHdoaWNoIGlzIGVtaXR0ZWQgZWFjaCB0aW1lIHRoZSBmaWxlIGxpc3QgY2hhbmdlcy5cbiAgICAgICAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgQ3VzdG9tRXZlbnQ8UmVhZG9ubHk8RmlsZT5bXT4oJ2ZpbGVjaGFuZ2VkJywge1xuICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgZGV0YWlsOiB0aGlzLmZpbGVzLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIENhbGN1bGF0ZXMgdGhlIGNvcnJlY3QgdW5pdCBmb3IgdGhlIGZpbGUncyBzaXplLiAqL1xuICAgIHByaXZhdGUgX2Zvcm1hdEZpbGVTaXplKHNpemU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICBjb25zdCBpOiBudW1iZXIgPSBNYXRoLmZsb29yKE1hdGgubG9nKHNpemUpIC8gTWF0aC5sb2coMTAyNCkpO1xuICAgICAgcmV0dXJuIGAkeyhzaXplIC8gTWF0aC5wb3coMTAyNCwgaSkpLnRvRml4ZWQoMCl9ICR7dGhpcy5fc3VmZml4ZXNbaV19YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF91cGRhdGVBMTF5TGl2ZVJlZ2lvbigpOiB2b2lkIHtcbiAgICAgIHRoaXMuX2xpdmVSZWdpb24uaW5uZXJUZXh0ID0gaTE4bkZpbGVTZWxlY3RvckN1cnJlbnRseVNlbGVjdGVkKHRoaXMuZmlsZXMubWFwKChlKSA9PiBlLm5hbWUpKVtcbiAgICAgICAgdGhpcy5sYW5ndWFnZS5jdXJyZW50XG4gICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlbmRlckZpbGVMaXN0KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIGNvbnN0IFRBR19OQU1FOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID1cbiAgICAgICAgdGhpcy5maWxlcy5sZW5ndGggPiAxXG4gICAgICAgICAgPyB7IFdSQVBQRVI6ICd1bCcsIEVMRU1FTlQ6ICdsaScgfVxuICAgICAgICAgIDogeyBXUkFQUEVSOiAnZGl2JywgRUxFTUVOVDogJ3NwYW4nIH07XG5cbiAgICAgIC8qIGVzbGludC1kaXNhYmxlIGxpdC9iaW5kaW5nLXBvc2l0aW9ucyAqL1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHX05BTUUuV1JBUFBFUil9IGNsYXNzPSdzYmItZmlsZS1zZWxlY3Rvcl9fZmlsZS1saXN0Jz5cbiAgICAgICAgJHt0aGlzLmZpbGVzLm1hcChcbiAgICAgICAgICAoZmlsZTogUmVhZG9ubHk8RmlsZT4pID0+IGh0bWxgXG4gICAgICAgICAgICA8JHt1bnNhZmVTdGF0aWMoVEFHX05BTUUuRUxFTUVOVCl9IGNsYXNzPSdzYmItZmlsZS1zZWxlY3Rvcl9fZmlsZSc+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9J3NiYi1maWxlLXNlbGVjdG9yX19maWxlLWRldGFpbHMnPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9J3NiYi1maWxlLXNlbGVjdG9yX19maWxlLW5hbWUnPiR7ZmlsZS5uYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSdzYmItZmlsZS1zZWxlY3Rvcl9fZmlsZS1zaXplJz4ke3RoaXMuX2Zvcm1hdEZpbGVTaXplKGZpbGUuc2l6ZSl9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNiYi1zZWNvbmRhcnktYnV0dG9uXG4gICAgICAgICAgICAgICAgc2l6ZT0nJHt0aGlzLnNpemV9J1xuICAgICAgICAgICAgICAgIGljb24tbmFtZT0ndHJhc2gtc21hbGwnXG4gICAgICAgICAgICAgICAgQGNsaWNrPSckeygpID0+IHRoaXMuX3JlbW92ZUZpbGUoZmlsZSl9J1xuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JyR7YCR7aTE4bkZpbGVTZWxlY3RvckRlbGV0ZUZpbGVbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gLSAke2ZpbGUubmFtZX1gfSdcbiAgICAgICAgICAgICAgPjwvc2JiLXNlY29uZGFyeS1idXR0b24+XG4gICAgICAgICAgICA8LyR7dW5zYWZlU3RhdGljKFRBR19OQU1FLkVMRU1FTlQpfT5gLFxuICAgICAgICApfVxuICAgICAgPC8ke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRS5XUkFQUEVSKX0+XG4gICAgYDtcbiAgICAgIC8qIGVzbGludC1lbmFibGUgbGl0L2JpbmRpbmctcG9zaXRpb25zICovXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25EcmFnRW50ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgdGhpcy5fY291bnRlcisrO1xuICAgICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLmZvcm1EaXNhYmxlZCkge1xuICAgICAgICB0aGlzLl9zZXREcmFnU3RhdGUoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB0cnVlKTtcbiAgICAgICAgdGhpcy5fYmxvY2tFdmVudChldmVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgdGhpcy5fY291bnRlci0tO1xuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5kaXNhYmxlZCAmJlxuICAgICAgICAhdGhpcy5mb3JtRGlzYWJsZWQgJiZcbiAgICAgICAgZXZlbnQudGFyZ2V0ID09PSB0aGlzLl9kcmFnVGFyZ2V0ICYmXG4gICAgICAgIHRoaXMuX2NvdW50ZXIgPT09IDBcbiAgICAgICkge1xuICAgICAgICB0aGlzLl9zZXREcmFnU3RhdGUoKTtcbiAgICAgICAgdGhpcy5fYmxvY2tFdmVudChldmVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25GaWxlRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgICB0aGlzLl9jb3VudGVyID0gMDtcbiAgICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5mb3JtRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5fc2V0RHJhZ1N0YXRlKCk7XG4gICAgICAgIHRoaXMuX2Jsb2NrRXZlbnQoZXZlbnQpO1xuICAgICAgICB0aGlzLmNyZWF0ZUZpbGVMaXN0KGV2ZW50LmRhdGFUcmFuc2ZlciEuZmlsZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Jsb2NrRXZlbnQoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldERyYWdTdGF0ZShcbiAgICAgIGRyYWdUYXJnZXQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgICAgaXNEcmFnRW50ZXI6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICApOiB2b2lkIHtcbiAgICAgIHRoaXMuX2RyYWdUYXJnZXQgPSBkcmFnVGFyZ2V0O1xuICAgICAgdGhpcy50b2dnbGVTdGF0ZSgnYWN0aXZlJywgaXNEcmFnRW50ZXIpO1xuICAgICAgybVzdGF0ZUNvbnRyb2xsZXIodGhpcy5sb2FkQnV0dG9uKS50b2dnbGUoJ2FjdGl2ZScsIGlzRHJhZ0VudGVyKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIGNvbnN0IGFyaWFMYWJlbCA9IHRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsXG4gICAgICAgID8gYCR7dGhpcy5nZXRCdXR0b25MYWJlbCgpfSAtICR7dGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWx9YFxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX19pbnB1dC1jb250YWluZXJcIlxuICAgICAgICAgICAgQGRyYWdlbnRlcj0ke3RoaXMuX29uRHJhZ0VudGVyfVxuICAgICAgICAgICAgQGRyYWdvdmVyPSR7dGhpcy5fYmxvY2tFdmVudH1cbiAgICAgICAgICAgIEBkcmFnbGVhdmU9JHt0aGlzLl9vbkRyYWdMZWF2ZX1cbiAgICAgICAgICAgIEBkcm9wPSR7dGhpcy5fb25GaWxlRHJvcH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVyVGVtcGxhdGUoXG4gICAgICAgICAgICAgIGh0bWxgPGlucHV0XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9fdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgP2Rpc2FibGVkPVwiJHt0aGlzLmRpc2FibGVkIHx8IHRoaXMuZm9ybURpc2FibGVkfVwiXG4gICAgICAgICAgICAgICAgP211bHRpcGxlPVwiJHt0aGlzLm11bHRpcGxlfVwiXG4gICAgICAgICAgICAgICAgYWNjZXB0PVwiJHt0aGlzLmFjY2VwdCB8fCBub3RoaW5nfVwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIiR7YXJpYUxhYmVsIHx8IG5vdGhpbmd9XCJcbiAgICAgICAgICAgICAgICBAY2hhbmdlPVwiJHt0aGlzLl9yZWFkRmlsZXN9XCJcbiAgICAgICAgICAgICAgICBAZm9jdXM9XCIke3RoaXMuX29uRm9jdXN9XCJcbiAgICAgICAgICAgICAgICBAYmx1cj1cIiR7dGhpcy5fb25CbHVyfVwiXG4gICAgICAgICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5faGlkZGVuSW5wdXQgPSBlbCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAvPmAsXG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwXG4gICAgICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX3Zpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgICAgICAke3JlZigocD86IEVsZW1lbnQpID0+ICh0aGlzLl9saXZlUmVnaW9uID0gcCBhcyBIVE1MUGFyYWdyYXBoRWxlbWVudCkpfVxuICAgICAgICAgID48L3A+XG4gICAgICAgICAgJHt0aGlzLmZpbGVzLmxlbmd0aCA+IDAgPyB0aGlzLl9yZW5kZXJGaWxlTGlzdCgpIDogbm90aGluZ31cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX2Vycm9yXCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwiZXJyb3JcIj48L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkZpbGVTZWxlY3RvckNvbW1vbkVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkZpbGVTZWxlY3RvckNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FDZ0NBLElBQWEsMEJBQTBCLFVBQVUsb3dGQUE4QjtBQXVCL0UsSUFBYSxxQ0FHWCxlQUNrRTtBQThVbEUsZUE3VTJDO29CQUNqQyxpQkFBaUIsdUJBQXVCLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQUQvQyxxQ0FDTCxZQUFvRDs7O0FBWWYsVUFBQSx5QkFiaEMsa0JBQUEsTUFBQSwyQkFBNEIsRUFBQSxrQkFBQSxNQUFBLG9CQWFzQixRQUFRLEdBQUcsTUFBTSxJQUFHO0FBS25FLFVBQUEsNkJBQUEsa0JBQUEsTUFBQSx3QkFBQSxFQUFBLGtCQUFBLE1BQUEsd0JBQW9CLE1BQUs7QUFJekIsVUFBQSxpQ0FBQSxrQkFBQSxNQUFBLDRCQUFBLEVBQUEsa0JBQUEsTUFBQSw0QkFBeUMsVUFBUztBQUtsRCxVQUFBLDJCQUFBLGtCQUFBLE1BQUEsZ0NBQUEsRUFBQSxrQkFBQSxNQUFBLHNCQUFpQixHQUFFO0FBS25CLFVBQUEsdUNBQUEsa0JBQUEsTUFBQSwwQkFBQSxFQUFBLGtCQUFBLE1BQUEsa0NBQTZCLEdBQUU7QUE4QnZDLFNBQUEsVUFBTSxrQkFBQSxNQUFBLHNDQUFBLEVBQXFCLEVBQUU7QUFXN0IsU0FBQSxZQUFzQjtLQUFDO0tBQUs7S0FBTTtLQUFNO0tBQU07S0FBSztBQUdqRCxTQUFBLFdBQVcsSUFBSSxzQkFBc0IsS0FBSztBQUk1QyxTQUFBLFdBQW1COzs7O3dCQW5FMUIsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7NEJBRzNCLFdBQVcsRUFDWCxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUMsQ0FBQTtnQ0FJM0IsU0FBUyxFQUFF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
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
import { unsafeCSS } from "lit";
|
|
3
|
-
import { property } from "lit/decorators.js";
|
|
4
|
-
import { SbbElement, boxSizingStyles, forceType, i18nFileSelectorSubtitleLabel, i18nFileSelectorSubtitleLabelMultiple } from "./core.js";
|
|
5
|
-
import { html as html$1 } from "lit/static-html.js";
|
|
6
|
-
import { SbbSecondaryButtonStaticElement } from "./button.pure.js";
|
|
7
|
-
import { SbbIconElement } from "./icon.pure.js";
|
|
8
|
-
import { ref } from "lit/directives/ref.js";
|
|
9
|
-
import { SbbFileSelectorCommonElementMixin, fileSelectorCommonStyle } from "./file-selector/common/file-selector-common.js";
|
|
10
|
-
//#region src/elements/file-selector/file-selector-dropzone/file-selector-dropzone.scss?inline
|
|
11
|
-
var file_selector_dropzone_default = ".sbb-file-selector__dropzone-area {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: var(--sbb-spacing-responsive-s);\n background-color: var(--sbb-file-selector-background-color);\n border: var(--sbb-border-width-1x) dashed var(--sbb-file-selector-border-color);\n border-radius: var(--sbb-border-radius-4x);\n transition-duration: var(--sbb-file-selector-transition-duration);\n transition-timing-function: var(--sbb-file-selector-transition-easing-function);\n transition-property: background-color, border-color;\n}\n\n.sbb-file-selector__dropzone-area--icon {\n color: var(--sbb-file-selector-color);\n line-height: 0;\n}\n\n.sbb-file-selector__dropzone-area--title {\n font-weight: bold;\n --sbb-title-font-size: var(--sbb-title-font-size-level-6-lean, var(--sbb-heading-font-size-6));\n --sbb-title-line-height: var(--sbb-typo-line-height-text);\n margin-block: var(--sbb-title-margin-block, 0);\n margin-inline: 0;\n font-family: var(--sbb-typo-font-family);\n font-weight: bold;\n font-size: var(--sbb-title-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-heading);\n line-height: var(--sbb-title-line-height, var(--sbb-typo-line-height-heading));\n text-align: center;\n color: var(--sbb-file-selector-color);\n}\n\n.sbb-file-selector__dropzone-area--subtitle {\n --sbb-text-font-size: var(--sbb-text-font-size-xs);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n text-align: center;\n color: var(--sbb-file-selector-subtitle-color);\n margin-block-end: var(--sbb-spacing-fixed-4x);\n}";
|
|
12
|
-
//#endregion
|
|
13
|
-
//#region src/elements/file-selector/file-selector-dropzone/file-selector-dropzone.component.ts
|
|
14
|
-
/**
|
|
15
|
-
* It allows to select one or more file from storage devices via button click or drag and drop, and display them.
|
|
16
|
-
*
|
|
17
|
-
* @slot error - Use this to provide a `sbb-error` to show an error message.
|
|
18
|
-
*/
|
|
19
|
-
var SbbFileSelectorDropzoneElement = (() => {
|
|
20
|
-
let _classSuper = SbbFileSelectorCommonElementMixin(SbbElement);
|
|
21
|
-
let _titleContent_decorators;
|
|
22
|
-
let _titleContent_initializers = [];
|
|
23
|
-
let _titleContent_extraInitializers = [];
|
|
24
|
-
return class SbbFileSelectorDropzoneElement extends _classSuper {
|
|
25
|
-
static {
|
|
26
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
27
|
-
_titleContent_decorators = [forceType(), property({ attribute: "title-content" })];
|
|
28
|
-
__esDecorate(this, null, _titleContent_decorators, {
|
|
29
|
-
kind: "accessor",
|
|
30
|
-
name: "titleContent",
|
|
31
|
-
static: false,
|
|
32
|
-
private: false,
|
|
33
|
-
access: {
|
|
34
|
-
has: (obj) => "titleContent" in obj,
|
|
35
|
-
get: (obj) => obj.titleContent,
|
|
36
|
-
set: (obj, value) => {
|
|
37
|
-
obj.titleContent = value;
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
metadata: _metadata
|
|
41
|
-
}, _titleContent_initializers, _titleContent_extraInitializers);
|
|
42
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
configurable: true,
|
|
45
|
-
writable: true,
|
|
46
|
-
value: _metadata
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
static {
|
|
50
|
-
this.elementName = "sbb-file-selector-dropzone";
|
|
51
|
-
}
|
|
52
|
-
static {
|
|
53
|
-
this.elementDependencies = [SbbIconElement, SbbSecondaryButtonStaticElement];
|
|
54
|
-
}
|
|
55
|
-
static {
|
|
56
|
-
this.styles = [
|
|
57
|
-
boxSizingStyles,
|
|
58
|
-
fileSelectorCommonStyle,
|
|
59
|
-
unsafeCSS(file_selector_dropzone_default)
|
|
60
|
-
];
|
|
61
|
-
}
|
|
62
|
-
static {
|
|
63
|
-
this.events = { filechanged: "filechanged" };
|
|
64
|
-
}
|
|
65
|
-
#titleContent_accessor_storage = __runInitializers(this, _titleContent_initializers, "");
|
|
66
|
-
/** The title displayed in `dropzone` variant. */
|
|
67
|
-
get titleContent() {
|
|
68
|
-
return this.#titleContent_accessor_storage;
|
|
69
|
-
}
|
|
70
|
-
set titleContent(value) {
|
|
71
|
-
this.#titleContent_accessor_storage = value;
|
|
72
|
-
}
|
|
73
|
-
renderTemplate(input) {
|
|
74
|
-
return html$1`
|
|
75
|
-
<label>
|
|
76
|
-
<span class="sbb-file-selector__dropzone-area">
|
|
77
|
-
<span class="sbb-file-selector__dropzone-area--icon">
|
|
78
|
-
<sbb-icon
|
|
79
|
-
name=${this.size === "m" ? "folder-open-medium" : "folder-open-small"}
|
|
80
|
-
></sbb-icon>
|
|
81
|
-
</span>
|
|
82
|
-
<span class="sbb-file-selector__dropzone-area--title">${this.titleContent}</span>
|
|
83
|
-
<span class="sbb-file-selector__dropzone-area--subtitle">
|
|
84
|
-
${this.multiple ? i18nFileSelectorSubtitleLabelMultiple[this.language.current] : i18nFileSelectorSubtitleLabel[this.language.current]}
|
|
85
|
-
</span>
|
|
86
|
-
<span class="sbb-file-selector__dropzone-area--button">
|
|
87
|
-
<sbb-secondary-button-static
|
|
88
|
-
size=${this.size}
|
|
89
|
-
?disabled=${this.disabled || this.formDisabled}
|
|
90
|
-
${ref((el) => {
|
|
91
|
-
this.loadButton = el;
|
|
92
|
-
})}
|
|
93
|
-
>
|
|
94
|
-
${this.getButtonLabel()}
|
|
95
|
-
</sbb-secondary-button-static>
|
|
96
|
-
</span>
|
|
97
|
-
</span>
|
|
98
|
-
${input}
|
|
99
|
-
</label>
|
|
100
|
-
`;
|
|
101
|
-
}
|
|
102
|
-
constructor() {
|
|
103
|
-
super(...arguments);
|
|
104
|
-
__runInitializers(this, _titleContent_extraInitializers);
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
})();
|
|
108
|
-
//#endregion
|
|
109
|
-
export { SbbFileSelectorDropzoneElement as t };
|
|
110
|
-
|
|
111
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zZWxlY3Rvci1kcm9wem9uZS5jb21wb25lbnQtQjFZNXFPamIuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2ZpbGUtc2VsZWN0b3IvZmlsZS1zZWxlY3Rvci1kcm9wem9uZS9maWxlLXNlbGVjdG9yLWRyb3B6b25lLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2ZpbGUtc2VsZWN0b3IvZmlsZS1zZWxlY3Rvci1kcm9wem9uZS9maWxlLXNlbGVjdG9yLWRyb3B6b25lLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG4uc2JiLWZpbGUtc2VsZWN0b3JfX2Ryb3B6b25lLWFyZWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItZmlsZS1zZWxlY3Rvci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSBkYXNoZWQgdmFyKC0tc2JiLWZpbGUtc2VsZWN0b3ItYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtNHgpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1zYmItZmlsZS1zZWxlY3Rvci10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1maWxlLXNlbGVjdG9yLXRyYW5zaXRpb24tZWFzaW5nLWZ1bmN0aW9uKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuXG4uc2JiLWZpbGUtc2VsZWN0b3JfX2Ryb3B6b25lLWFyZWEtLWljb24ge1xuICBjb2xvcjogdmFyKC0tc2JiLWZpbGUtc2VsZWN0b3ItY29sb3IpO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLnNiYi1maWxlLXNlbGVjdG9yX19kcm9wem9uZS1hcmVhLS10aXRsZSB7XG4gIEBpbmNsdWRlIHNiYi50ZXh0LS1ib2xkO1xuICBAaW5jbHVkZSBzYmIudGl0bGUtNigkZXhjbHVkZS1zcGFjaW5nOiB0cnVlKTtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1zYmItZmlsZS1zZWxlY3Rvci1jb2xvcik7XG59XG5cbi5zYmItZmlsZS1zZWxlY3Rvcl9fZHJvcHpvbmUtYXJlYS0tc3VidGl0bGUge1xuICBAaW5jbHVkZSBzYmIudGV4dC14cy0tcmVndWxhcjtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1zYmItZmlsZS1zZWxlY3Rvci1zdWJ0aXRsZS1jb2xvcik7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHsgU2JiU2Vjb25kYXJ5QnV0dG9uU3RhdGljRWxlbWVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi5wdXJlLnRzJztcbmltcG9ydCB7XG4gIGJveFNpemluZ1N0eWxlcyxcbiAgZm9yY2VUeXBlLFxuICBpMThuRmlsZVNlbGVjdG9yU3VidGl0bGVMYWJlbCxcbiAgaTE4bkZpbGVTZWxlY3RvclN1YnRpdGxlTGFiZWxNdWx0aXBsZSxcbiAgU2JiRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uRWxlbWVudCB9IGZyb20gJy4uLy4uL2ljb24ucHVyZS50cyc7XG5pbXBvcnQge1xuICBmaWxlU2VsZWN0b3JDb21tb25TdHlsZSxcbiAgU2JiRmlsZVNlbGVjdG9yQ29tbW9uRWxlbWVudE1peGluLFxufSBmcm9tICcuLi9jb21tb24vZmlsZS1zZWxlY3Rvci1jb21tb24udHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9maWxlLXNlbGVjdG9yLWRyb3B6b25lLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBhbGxvd3MgdG8gc2VsZWN0IG9uZSBvciBtb3JlIGZpbGUgZnJvbSBzdG9yYWdlIGRldmljZXMgdmlhIGJ1dHRvbiBjbGljayBvciBkcmFnIGFuZCBkcm9wLCBhbmQgZGlzcGxheSB0aGVtLlxuICpcbiAqIEBzbG90IGVycm9yIC0gVXNlIHRoaXMgdG8gcHJvdmlkZSBhIGBzYmItZXJyb3JgIHRvIHNob3cgYW4gZXJyb3IgbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkZpbGVTZWxlY3RvckRyb3B6b25lRWxlbWVudCBleHRlbmRzIFNiYkZpbGVTZWxlY3RvckNvbW1vbkVsZW1lbnRNaXhpbihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZmlsZS1zZWxlY3Rvci1kcm9wem9uZSc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgZWxlbWVudERlcGVuZGVuY2llczogU2JiRWxlbWVudFR5cGVbXSA9IFtcbiAgICBTYmJJY29uRWxlbWVudCxcbiAgICBTYmJTZWNvbmRhcnlCdXR0b25TdGF0aWNFbGVtZW50LFxuICBdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbXG4gICAgYm94U2l6aW5nU3R5bGVzLFxuICAgIGZpbGVTZWxlY3RvckNvbW1vblN0eWxlLFxuICAgIHVuc2FmZUNTUyhzdHlsZSksXG4gIF07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGZpbGVjaGFuZ2VkOiAnZmlsZWNoYW5nZWQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgdGl0bGUgZGlzcGxheWVkIGluIGBkcm9wem9uZWAgdmFyaWFudC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWNvbnRlbnQnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0aXRsZUNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZShpbnB1dDogVGVtcGxhdGVSZXN1bHQpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8bGFiZWw+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX2Ryb3B6b25lLWFyZWFcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX19kcm9wem9uZS1hcmVhLS1pY29uXCI+XG4gICAgICAgICAgICA8c2JiLWljb25cbiAgICAgICAgICAgICAgbmFtZT0ke3RoaXMuc2l6ZSA9PT0gJ20nID8gJ2ZvbGRlci1vcGVuLW1lZGl1bScgOiAnZm9sZGVyLW9wZW4tc21hbGwnfVxuICAgICAgICAgICAgPjwvc2JiLWljb24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX2Ryb3B6b25lLWFyZWEtLXRpdGxlXCI+JHt0aGlzLnRpdGxlQ29udGVudH08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9fZHJvcHpvbmUtYXJlYS0tc3VidGl0bGVcIj5cbiAgICAgICAgICAgICR7dGhpcy5tdWx0aXBsZVxuICAgICAgICAgICAgICA/IGkxOG5GaWxlU2VsZWN0b3JTdWJ0aXRsZUxhYmVsTXVsdGlwbGVbdGhpcy5sYW5ndWFnZS5jdXJyZW50XVxuICAgICAgICAgICAgICA6IGkxOG5GaWxlU2VsZWN0b3JTdWJ0aXRsZUxhYmVsW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWZpbGUtc2VsZWN0b3JfX2Ryb3B6b25lLWFyZWEtLWJ1dHRvblwiPlxuICAgICAgICAgICAgPHNiYi1zZWNvbmRhcnktYnV0dG9uLXN0YXRpY1xuICAgICAgICAgICAgICBzaXplPSR7dGhpcy5zaXplfVxuICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkIHx8IHRoaXMuZm9ybURpc2FibGVkfVxuICAgICAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkQnV0dG9uID0gZWwgYXMgU2JiU2Vjb25kYXJ5QnV0dG9uU3RhdGljRWxlbWVudDtcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICR7dGhpcy5nZXRCdXR0b25MYWJlbCgpfVxuICAgICAgICAgICAgPC9zYmItc2Vjb25kYXJ5LWJ1dHRvbi1zdGF0aWM+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgICR7aW5wdXR9XG4gICAgICA8L2xhYmVsPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1maWxlLXNlbGVjdG9yLWRyb3B6b25lJzogU2JiRmlsZVNlbGVjdG9yRHJvcHpvbmVFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQzJCYSx3Q0FBOEI7bUJBQVMsa0NBQWtDLFdBQVc7Ozs7Y0FBcEYsdUNBQXVDLFlBQTZDOzs7K0JBZ0I5RixXQUFXLEVBQ1gsU0FBUyxFQUFFLFdBQVcsaUJBQWlCLENBQUMsQ0FBQTtBQUN6QyxnQkFBQSxNQUFBLE1BQUEsMEJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxrQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFZLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBWixlQUFZOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsNEJBQUEsZ0NBQUE7Ozs7Ozs7OztBQWpCSSxRQUFBLGNBQXNCOzs7QUFDL0IsUUFBQSxzQkFBd0MsQ0FDN0QsZ0JBQ0EsZ0NBQ0Q7OztBQUNzQixRQUFBLFNBQXlCO0lBQzlDO0lBQ0E7SUFDQSxVQUFVLCtCQUFBO0lBQ1g7OztBQUNzQixRQUFBLFNBQVMsRUFDOUIsYUFBYSxlQUNMOztFQUtWLGlDQUFBLGtCQUFBLE1BQUEsNEJBQXVDLEdBQUU7O0VBQXpDLElBQWdCLGVBQVk7QUFBQSxVQUFBLE1BQUE7O0VBQTVCLElBQWdCLGFBQVksT0FBQTtBQUFBLFNBQUEsZ0NBQUE7O0VBRVQsZUFBZSxPQUFxQjtBQUNyRCxVQUFPLE1BQUk7Ozs7O3FCQUtNLEtBQUssU0FBUyxNQUFNLHVCQUF1QixvQkFBQTs7O2tFQUdFLEtBQUssYUFBWTs7Y0FFckUsS0FBSyxXQUNILHNDQUFzQyxLQUFLLFNBQVMsV0FDcEQsOEJBQThCLEtBQUssU0FBUyxTQUFBOzs7O3FCQUl2QyxLQUFLLEtBQUE7MEJBQ0EsS0FBSyxZQUFZLEtBQUssYUFBQTtnQkFDaEMsS0FBSyxPQUFzQjtBQUMzQixTQUFLLGFBQWE7S0FDbEIsQ0FBQTs7Z0JBRUEsS0FBSyxnQkFBZ0IsQ0FBQTs7OztVQUkzQixNQUFBIn0=
|