@skyux/forms 11.34.0 → 11.36.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/documentation.json +6390 -3345
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.component.mjs +13 -5
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.service.mjs +3 -6
- package/esm2022/lib/modules/file-attachment/file-drop/file-drop.component.mjs +124 -50
- package/esm2022/testing/modules/file-attachment/file-drop/file-drop-harness.mjs +165 -12
- package/esm2022/testing/modules/file-attachment/file-drop/file-drop-link-upload-harness.mjs +47 -0
- package/esm2022/testing/modules/file-attachment/file-drop/file-drop-link-upload-input-harness.mjs +17 -0
- package/esm2022/testing/modules/file-attachment/file-drop/file-item-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/file-attachment/file-drop/file-item-harness.mjs +40 -0
- package/esm2022/testing/public-api.mjs +2 -1
- package/fesm2022/skyux-forms-testing.mjs +262 -13
- package/fesm2022/skyux-forms-testing.mjs.map +1 -1
- package/fesm2022/skyux-forms.mjs +135 -56
- package/fesm2022/skyux-forms.mjs.map +1 -1
- package/lib/modules/file-attachment/file-attachment/file-attachment.service.d.ts +1 -1
- package/lib/modules/file-attachment/file-drop/file-drop.component.d.ts +10 -2
- package/package.json +9 -9
- package/testing/modules/file-attachment/file-drop/file-drop-harness.d.ts +90 -3
- package/testing/modules/file-attachment/file-drop/file-drop-link-upload-harness.d.ts +28 -0
- package/testing/modules/file-attachment/file-drop/file-drop-link-upload-input-harness.d.ts +14 -0
- package/testing/modules/file-attachment/file-drop/file-item-harness-filters.d.ts +10 -0
- package/testing/modules/file-attachment/file-drop/file-item-harness.d.ts +28 -0
- package/testing/public-api.d.ts +2 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
2
|
+
import { SkyHelpInlineHarness } from '@skyux/help-inline/testing';
|
|
3
|
+
import { SkyFormErrorsHarness } from '../../form-error/form-errors-harness';
|
|
4
|
+
import { SkyFileDropLinkUploadHarness } from './file-drop-link-upload-harness';
|
|
2
5
|
/**
|
|
3
6
|
* Harness for interacting with a file drop component in tests.
|
|
4
|
-
* @internal
|
|
5
7
|
*/
|
|
6
8
|
export class SkyFileDropHarness extends SkyComponentHarness {
|
|
7
9
|
/**
|
|
@@ -9,6 +11,10 @@ export class SkyFileDropHarness extends SkyComponentHarness {
|
|
|
9
11
|
*/
|
|
10
12
|
static { this.hostSelector = 'sky-file-drop'; }
|
|
11
13
|
#getDropTarget = this.locatorFor('.sky-file-drop-target');
|
|
14
|
+
#input = this.locatorFor('input[type="file"]');
|
|
15
|
+
#fileUploadButton = this.locatorFor('button.sky-file-drop-target');
|
|
16
|
+
#label = this.locatorFor('.sky-file-drop-label-text');
|
|
17
|
+
#formErrors = this.locatorForAll(SkyFormErrorsHarness);
|
|
12
18
|
/**
|
|
13
19
|
* Gets a `HarnessPredicate` that can be used to search for a
|
|
14
20
|
* `SkyFileDropHarness` that meets certain criteria.
|
|
@@ -17,23 +23,170 @@ export class SkyFileDropHarness extends SkyComponentHarness {
|
|
|
17
23
|
return SkyFileDropHarness.getDataSkyIdPredicate(filters);
|
|
18
24
|
}
|
|
19
25
|
/**
|
|
20
|
-
*
|
|
26
|
+
* Clicks the file drop target.
|
|
21
27
|
*/
|
|
22
|
-
async
|
|
28
|
+
async clickFileDropTarget() {
|
|
29
|
+
return await (await this.#fileUploadButton()).click();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Clicks the help inline button.
|
|
33
|
+
*/
|
|
34
|
+
async clickHelpInline() {
|
|
35
|
+
return await (await this.#getHelpInline()).click();
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Clicks the link upload `Done` button'.
|
|
39
|
+
*/
|
|
40
|
+
async clickLinkUploadDoneButton() {
|
|
41
|
+
return await (await this.#getLinkUpload()).clickDoneButton();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Enters text into the link upload input.
|
|
45
|
+
*/
|
|
46
|
+
async enterLinkUploadText(link) {
|
|
47
|
+
return await (await this.#getLinkUpload()).enterText(link);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Gets the accepted file types.
|
|
51
|
+
*/
|
|
52
|
+
async getAcceptedTypes() {
|
|
53
|
+
return await (await this.#input()).getAttribute('accept');
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Gets the aria-label for the file upload button.
|
|
57
|
+
*/
|
|
58
|
+
async getFileUploadAriaLabel() {
|
|
59
|
+
return await (await this.#fileUploadButton()).getAttribute('aria-label');
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Gets the help inline popover content.
|
|
63
|
+
*/
|
|
64
|
+
async getHelpPopoverContent() {
|
|
65
|
+
const content = await (await this.#getHelpInline()).getPopoverContent();
|
|
66
|
+
return content;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Gets the help inline popover title.
|
|
70
|
+
*/
|
|
71
|
+
async getHelpPopoverTitle() {
|
|
72
|
+
return await (await this.#getHelpInline()).getPopoverTitle();
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Gets the hint text.
|
|
76
|
+
*/
|
|
77
|
+
async getHintText() {
|
|
78
|
+
return (await (await this.locatorFor('.sky-file-drop-hint-text')()).text()).trim();
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Gets the label text.
|
|
82
|
+
*/
|
|
83
|
+
async getLabelText() {
|
|
84
|
+
return (await (await this.#label()).text()).trim();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Gets the link upload aria-label.
|
|
88
|
+
*/
|
|
89
|
+
async getLinkUploadAriaLabel() {
|
|
90
|
+
return await (await this.#getLinkUpload()).getAriaLabel();
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Gets the link upload hint text.
|
|
94
|
+
*/
|
|
95
|
+
async getLinkUploadHintText() {
|
|
96
|
+
return await (await this.#getLinkUpload()).getHintText();
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Whether a custom form error has fired.
|
|
100
|
+
*/
|
|
101
|
+
async hasCustomError(errorName) {
|
|
102
|
+
return await (await this.#getFormErrors()).hasError(errorName);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Whether the file type error has fired.
|
|
106
|
+
*/
|
|
107
|
+
async hasFileTypeError() {
|
|
108
|
+
return await (await this.#getFormErrors()).hasError('fileType');
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Whether the max file size error has fired.
|
|
112
|
+
*/
|
|
113
|
+
async hasMaxFileSizeError() {
|
|
114
|
+
return await (await this.#getFormErrors()).hasError('maxFileSize');
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Whether the min file size error has fired.
|
|
118
|
+
*/
|
|
119
|
+
async hasMinFileSizeError() {
|
|
120
|
+
return await (await this.#getFormErrors()).hasError('minFileSize');
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Whether the required error has fired.
|
|
124
|
+
*/
|
|
125
|
+
async hasRequiredError() {
|
|
126
|
+
return await (await this.#getFormErrors()).hasError('required');
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Whether the validate error from the customer validation has fired.
|
|
130
|
+
*/
|
|
131
|
+
async hasValidateFnError() {
|
|
132
|
+
return await (await this.#getFormErrors()).hasError('validate');
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Whether label text is hidden.
|
|
136
|
+
*/
|
|
137
|
+
async isLabelHidden() {
|
|
138
|
+
return await (await this.locatorFor('legend.sky-control-label')()).hasClass('sky-screen-reader-only');
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Whether file drop is required.
|
|
142
|
+
*/
|
|
143
|
+
async isRequired() {
|
|
144
|
+
return await (await this.#label()).hasClass('sky-control-label-required');
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Whether file drop has stacked enabled.
|
|
148
|
+
*/
|
|
149
|
+
async isStacked() {
|
|
150
|
+
return await (await this.host()).hasClass('sky-form-field-stacked');
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Loads a single file.
|
|
154
|
+
*/
|
|
155
|
+
async loadFile(file) {
|
|
23
156
|
await this.#dropFiles([file]);
|
|
24
157
|
}
|
|
25
|
-
|
|
158
|
+
/**
|
|
159
|
+
* Loads multiple files.
|
|
160
|
+
*/
|
|
161
|
+
async loadFiles(files) {
|
|
162
|
+
return await this.#dropFiles(files);
|
|
163
|
+
}
|
|
26
164
|
async #dropFiles(files) {
|
|
27
165
|
const dropTarget = await this.#getDropTarget();
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
};
|
|
166
|
+
const dataTransfer = new DataTransfer();
|
|
167
|
+
files?.forEach((file) => {
|
|
168
|
+
dataTransfer.items.add(file);
|
|
169
|
+
});
|
|
32
170
|
await dropTarget.dispatchEvent('drop', {
|
|
33
|
-
dataTransfer
|
|
34
|
-
files: fileList,
|
|
35
|
-
},
|
|
171
|
+
dataTransfer,
|
|
36
172
|
});
|
|
37
173
|
}
|
|
174
|
+
async #getFormErrors() {
|
|
175
|
+
return (await this.#formErrors())[1];
|
|
176
|
+
}
|
|
177
|
+
async #getHelpInline() {
|
|
178
|
+
const harness = await this.locatorForOptional(SkyHelpInlineHarness)();
|
|
179
|
+
if (harness) {
|
|
180
|
+
return harness;
|
|
181
|
+
}
|
|
182
|
+
throw Error('No help inline found.');
|
|
183
|
+
}
|
|
184
|
+
async #getLinkUpload() {
|
|
185
|
+
const linkUpload = await this.locatorForOptional(SkyFileDropLinkUploadHarness)();
|
|
186
|
+
if (linkUpload) {
|
|
187
|
+
return linkUpload;
|
|
188
|
+
}
|
|
189
|
+
throw new Error('Link upload cannot be found. Set `allowLinks` property to `true`.');
|
|
190
|
+
}
|
|
38
191
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSTFEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7SUFDekQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLGVBQWUsQ0FBQztJQUU3QyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRTFEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQWtDO1FBRWxDLE9BQU8sa0JBQWtCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFVO1FBQzlCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELDBFQUEwRTtJQUMxRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDNUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFL0MsTUFBTSxRQUFRLEdBQUc7WUFDZixJQUFJLEVBQUUsQ0FBQyxLQUFhLEVBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDM0MsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1NBQ3JCLENBQUM7UUFFRixNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQ3JDLFlBQVksRUFBRTtnQkFDWixLQUFLLEVBQUUsUUFBZ0M7YUFDeEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnREYXRhLCBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lGaWxlRHJvcEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9maWxlLWRyb3AtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgZmlsZSBkcm9wIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5RmlsZURyb3BIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1maWxlLWRyb3AnO1xuXG4gICNnZXREcm9wVGFyZ2V0ID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWZpbGUtZHJvcC10YXJnZXQnKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5RmlsZURyb3BIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5RmlsZURyb3BIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lGaWxlRHJvcEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5RmlsZURyb3BIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEcm9wcyBhIGZpbGUgb250byB0aGUgY29tcG9uZW50J3MgZHJvcCB0YXJnZXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZHJvcEZpbGUoZmlsZTogRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuI2Ryb3BGaWxlcyhbZmlsZV0pO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgbWFraW5nIHRoaXMgcHVibGljIHdoZW4gd2UgZmluYWxpemUgdGhpcyBoYXJuZXNzJ3MgcHVibGljIEFQSS5cbiAgYXN5bmMgI2Ryb3BGaWxlcyhmaWxlczogRmlsZVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZHJvcFRhcmdldCA9IGF3YWl0IHRoaXMuI2dldERyb3BUYXJnZXQoKTtcblxuICAgIGNvbnN0IGZpbGVMaXN0ID0ge1xuICAgICAgaXRlbTogKGluZGV4OiBudW1iZXIpOiBGaWxlID0+IGZpbGVzW2luZGV4XSxcbiAgICAgIGxlbmd0aDogZmlsZXMubGVuZ3RoLFxuICAgIH07XG5cbiAgICBhd2FpdCBkcm9wVGFyZ2V0LmRpc3BhdGNoRXZlbnQoJ2Ryb3AnLCB7XG4gICAgICBkYXRhVHJhbnNmZXI6IHtcbiAgICAgICAgZmlsZXM6IGZpbGVMaXN0IGFzIHVua25vd24gYXMgRXZlbnREYXRhLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzVFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRS9FOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQUN6RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsZUFBZSxDQUFDO0lBRTdDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUQsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUMvQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDbkUsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUN0RCxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXZEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQWtDO1FBRWxDLE9BQU8sa0JBQWtCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQjtRQUM5QixPQUFPLE1BQU0sQ0FB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QUFJLEtBQUssQ0FDYixtRUFBbUUsQ0FDcEUsQ0FBQztJQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudERhdGEsIEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lSGFybmVzcyB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yc0hhcm5lc3MgfSBmcm9tICcuLi8uLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lGaWxlRHJvcEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9maWxlLWRyb3AtaGFybmVzcy1maWx0ZXJzJztcbmltcG9ydCB7IFNreUZpbGVEcm9wTGlua1VwbG9hZEhhcm5lc3MgfSBmcm9tICcuL2ZpbGUtZHJvcC1saW5rLXVwbG9hZC1oYXJuZXNzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgZmlsZSBkcm9wIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUZpbGVEcm9wSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZmlsZS1kcm9wJztcblxuICAjZ2V0RHJvcFRhcmdldCA9IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWRyb3AtdGFyZ2V0Jyk7XG4gICNpbnB1dCA9IHRoaXMubG9jYXRvckZvcignaW5wdXRbdHlwZT1cImZpbGVcIl0nKTtcbiAgI2ZpbGVVcGxvYWRCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJ2J1dHRvbi5za3ktZmlsZS1kcm9wLXRhcmdldCcpO1xuICAjbGFiZWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZmlsZS1kcm9wLWxhYmVsLXRleHQnKTtcbiAgI2Zvcm1FcnJvcnMgPSB0aGlzLmxvY2F0b3JGb3JBbGwoU2t5Rm9ybUVycm9yc0hhcm5lc3MpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lGaWxlRHJvcEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lGaWxlRHJvcEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUZpbGVEcm9wSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lGaWxlRHJvcEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgZmlsZSBkcm9wIHRhcmdldC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0ZpbGVEcm9wVGFyZ2V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZmlsZVVwbG9hZEJ1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgaGVscCBpbmxpbmUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrSGVscElubGluZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGxpbmsgdXBsb2FkIGBEb25lYCBidXR0b24nLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrTGlua1VwbG9hZERvbmVCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMaW5rVXBsb2FkKCkpLmNsaWNrRG9uZUJ1dHRvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycyB0ZXh0IGludG8gdGhlIGxpbmsgdXBsb2FkIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGVudGVyTGlua1VwbG9hZFRleHQobGluazogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMaW5rVXBsb2FkKCkpLmVudGVyVGV4dChsaW5rKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhY2NlcHRlZCBmaWxlIHR5cGVzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFjY2VwdGVkVHlwZXMoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNpbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2FjY2VwdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFyaWEtbGFiZWwgZm9yIHRoZSBmaWxlIHVwbG9hZCBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmlsZVVwbG9hZEFyaWFMYWJlbCgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2ZpbGVVcGxvYWRCdXR0b24oKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGVscCBpbmxpbmUgcG9wb3ZlciBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyQ29udGVudCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyQ29udGVudCgpO1xuXG4gICAgcmV0dXJuIGNvbnRlbnQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgaW5saW5lIHBvcG92ZXIgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyVGl0bGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoaW50IHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGludFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKFxuICAgICAgYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWRyb3AtaGludC10ZXh0JykoKSkudGV4dCgpXG4gICAgKS50cmltKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbGFiZWwgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMYWJlbFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLiNsYWJlbCgpKS50ZXh0KCkpLnRyaW0oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBsaW5rIHVwbG9hZCBhcmlhLWxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldExpbmtVcGxvYWRBcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMaW5rVXBsb2FkKCkpLmdldEFyaWFMYWJlbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGxpbmsgdXBsb2FkIGhpbnQgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMaW5rVXBsb2FkSGludFRleHQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldExpbmtVcGxvYWQoKSkuZ2V0SGludFRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgY3VzdG9tIGZvcm0gZXJyb3IgaGFzIGZpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0N1c3RvbUVycm9yKGVycm9yTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3JzKCkpLmhhc0Vycm9yKGVycm9yTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmlsZSB0eXBlIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNGaWxlVHlwZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcignZmlsZVR5cGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtYXggZmlsZSBzaXplIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNYXhGaWxlU2l6ZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcignbWF4RmlsZVNpemUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtaW4gZmlsZSBzaXplIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNaW5GaWxlU2l6ZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcignbWluRmlsZVNpemUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByZXF1aXJlZCBlcnJvciBoYXMgZmlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzUmVxdWlyZWRFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcnMoKSkuaGFzRXJyb3IoJ3JlcXVpcmVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdmFsaWRhdGUgZXJyb3IgZnJvbSB0aGUgY3VzdG9tZXIgdmFsaWRhdGlvbiBoYXMgZmlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzVmFsaWRhdGVGbkVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcigndmFsaWRhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGxhYmVsIHRleHQgaXMgaGlkZGVuLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzTGFiZWxIaWRkZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMubG9jYXRvckZvcignbGVnZW5kLnNreS1jb250cm9sLWxhYmVsJykoKVxuICAgICkuaGFzQ2xhc3MoJ3NreS1zY3JlZW4tcmVhZGVyLW9ubHknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGZpbGUgZHJvcCBpcyByZXF1aXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1JlcXVpcmVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jbGFiZWwoKSkuaGFzQ2xhc3MoJ3NreS1jb250cm9sLWxhYmVsLXJlcXVpcmVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBmaWxlIGRyb3AgaGFzIHN0YWNrZWQgZW5hYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1N0YWNrZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuaGFzQ2xhc3MoJ3NreS1mb3JtLWZpZWxkLXN0YWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBhIHNpbmdsZSBmaWxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGxvYWRGaWxlKGZpbGU6IEZpbGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLiNkcm9wRmlsZXMoW2ZpbGVdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBtdWx0aXBsZSBmaWxlcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsb2FkRmlsZXMoZmlsZXM6IEZpbGVbXSB8IG51bGwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jZHJvcEZpbGVzKGZpbGVzKTtcbiAgfVxuXG4gIGFzeW5jICNkcm9wRmlsZXMoZmlsZXM6IEZpbGVbXSB8IG51bGwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBkcm9wVGFyZ2V0ID0gYXdhaXQgdGhpcy4jZ2V0RHJvcFRhcmdldCgpO1xuXG4gICAgdHlwZSBUZXN0RGF0YVRyYW5zZmVyID0gRGF0YVRyYW5zZmVyICYgeyBba2V5OiBzdHJpbmddOiBFdmVudERhdGEgfTtcblxuICAgIGNvbnN0IGRhdGFUcmFuc2ZlciA9IG5ldyBEYXRhVHJhbnNmZXIoKSBhcyBUZXN0RGF0YVRyYW5zZmVyO1xuXG4gICAgZmlsZXM/LmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgIGRhdGFUcmFuc2Zlci5pdGVtcy5hZGQoZmlsZSk7XG4gICAgfSk7XG5cbiAgICBhd2FpdCBkcm9wVGFyZ2V0LmRpc3BhdGNoRXZlbnQoJ2Ryb3AnLCB7XG4gICAgICBkYXRhVHJhbnNmZXIsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyAjZ2V0Rm9ybUVycm9ycygpOiBQcm9taXNlPFNreUZvcm1FcnJvcnNIYXJuZXNzPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNmb3JtRXJyb3JzKCkpWzFdO1xuICB9XG5cbiAgYXN5bmMgI2dldEhlbHBJbmxpbmUoKTogUHJvbWlzZTxTa3lIZWxwSW5saW5lSGFybmVzcz4ge1xuICAgIGNvbnN0IGhhcm5lc3MgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lIZWxwSW5saW5lSGFybmVzcykoKTtcblxuICAgIGlmIChoYXJuZXNzKSB7XG4gICAgICByZXR1cm4gaGFybmVzcztcbiAgICB9XG5cbiAgICB0aHJvdyBFcnJvcignTm8gaGVscCBpbmxpbmUgZm91bmQuJyk7XG4gIH1cblxuICBhc3luYyAjZ2V0TGlua1VwbG9hZCgpOiBQcm9taXNlPFNreUZpbGVEcm9wTGlua1VwbG9hZEhhcm5lc3M+IHtcbiAgICBjb25zdCBsaW5rVXBsb2FkID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICBTa3lGaWxlRHJvcExpbmtVcGxvYWRIYXJuZXNzLFxuICAgICkoKTtcblxuICAgIGlmIChsaW5rVXBsb2FkKSB7XG4gICAgICByZXR1cm4gbGlua1VwbG9hZDtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnTGluayB1cGxvYWQgY2Fubm90IGJlIGZvdW5kLiBTZXQgYGFsbG93TGlua3NgIHByb3BlcnR5IHRvIGB0cnVlYC4nLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
2
|
+
import { SkyInputBoxHarness } from '../../input-box/input-box-harness';
|
|
3
|
+
import { SkyFileDropLinkUploadInputHarness } from './file-drop-link-upload-input-harness';
|
|
4
|
+
/**
|
|
5
|
+
* Harness for interacting with file drop component's link upload feature in tests.
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export class SkyFileDropLinkUploadHarness extends SkyComponentHarness {
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
static { this.hostSelector = '.sky-file-drop-link'; }
|
|
13
|
+
#input = this.locatorFor(SkyFileDropLinkUploadInputHarness);
|
|
14
|
+
#inputBoxHarness = this.locatorFor(SkyInputBoxHarness);
|
|
15
|
+
#button = this.locatorFor('button.sky-btn-primary');
|
|
16
|
+
/**
|
|
17
|
+
* Clicks the `Done` button
|
|
18
|
+
*/
|
|
19
|
+
async clickDoneButton() {
|
|
20
|
+
if (await this.#isDoneDisabled()) {
|
|
21
|
+
throw new Error('Done button is disabled and cannot be clicked. Enter text to enable link upload.');
|
|
22
|
+
}
|
|
23
|
+
return await (await this.#button()).click();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Enters text into the link upload input.
|
|
27
|
+
*/
|
|
28
|
+
async enterText(link) {
|
|
29
|
+
return await (await this.#input()).setValue(link);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Gets the link upload aria-label.
|
|
33
|
+
*/
|
|
34
|
+
async getAriaLabel() {
|
|
35
|
+
return await (await this.#input()).getAriaLabel();
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Gets the hint text.
|
|
39
|
+
*/
|
|
40
|
+
async getHintText() {
|
|
41
|
+
return await (await this.#inputBoxHarness()).getHintText();
|
|
42
|
+
}
|
|
43
|
+
async #isDoneDisabled() {
|
|
44
|
+
return (await (await this.#button()).getAttribute('disabled')) !== null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWxpbmstdXBsb2FkLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC1saW5rLXVwbG9hZC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTFGOzs7R0FHRztBQUNILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFBbUI7SUFDbkU7O09BRUc7YUFDVyxpQkFBWSxHQUFHLHFCQUFxQixDQUFDO0lBRW5ELE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDNUQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFcEQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixJQUFJLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FDYixrRkFBa0YsQ0FDbkYsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBWTtRQUNqQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUN2QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWU7UUFDbkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQztJQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lJbnB1dEJveEhhcm5lc3MgfSBmcm9tICcuLi8uLi9pbnB1dC1ib3gvaW5wdXQtYm94LWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lGaWxlRHJvcExpbmtVcGxvYWRJbnB1dEhhcm5lc3MgfSBmcm9tICcuL2ZpbGUtZHJvcC1saW5rLXVwbG9hZC1pbnB1dC1oYXJuZXNzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGZpbGUgZHJvcCBjb21wb25lbnQncyBsaW5rIHVwbG9hZCBmZWF0dXJlIGluIHRlc3RzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGaWxlRHJvcExpbmtVcGxvYWRIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJy5za3ktZmlsZS1kcm9wLWxpbmsnO1xuXG4gICNpbnB1dCA9IHRoaXMubG9jYXRvckZvcihTa3lGaWxlRHJvcExpbmtVcGxvYWRJbnB1dEhhcm5lc3MpO1xuICAjaW5wdXRCb3hIYXJuZXNzID0gdGhpcy5sb2NhdG9yRm9yKFNreUlucHV0Qm94SGFybmVzcyk7XG4gICNidXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJ2J1dHRvbi5za3ktYnRuLXByaW1hcnknKTtcblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBgRG9uZWAgYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tEb25lQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLiNpc0RvbmVEaXNhYmxlZCgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdEb25lIGJ1dHRvbiBpcyBkaXNhYmxlZCBhbmQgY2Fubm90IGJlIGNsaWNrZWQuIEVudGVyIHRleHQgdG8gZW5hYmxlIGxpbmsgdXBsb2FkLicsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2J1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycyB0ZXh0IGludG8gdGhlIGxpbmsgdXBsb2FkIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGVudGVyVGV4dChsaW5rOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2lucHV0KCkpLnNldFZhbHVlKGxpbmspO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGxpbmsgdXBsb2FkIGFyaWEtbGFiZWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXJpYUxhYmVsKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jaW5wdXQoKSkuZ2V0QXJpYUxhYmVsKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGludCB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhpbnRUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNpbnB1dEJveEhhcm5lc3MoKSkuZ2V0SGludFRleHQoKTtcbiAgfVxuXG4gIGFzeW5jICNpc0RvbmVEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLiNidXR0b24oKSkuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpKSAhPT0gbnVsbDtcbiAgfVxufVxuIl19
|
package/esm2022/testing/modules/file-attachment/file-drop/file-drop-link-upload-input-harness.mjs
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SkyInputHarness } from '@skyux/core/testing';
|
|
2
|
+
/**
|
|
3
|
+
* Harness to interact with the file drop link upload input harness.
|
|
4
|
+
*/
|
|
5
|
+
export class SkyFileDropLinkUploadInputHarness extends SkyInputHarness {
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
static { this.hostSelector = 'input.sky-form-control'; }
|
|
10
|
+
/**
|
|
11
|
+
* Gets the input aria-label
|
|
12
|
+
*/
|
|
13
|
+
async getAriaLabel() {
|
|
14
|
+
return await (await this.host()).getAttribute('aria-label');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWxpbmstdXBsb2FkLWlucHV0LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC1saW5rLXVwbG9hZC1pbnB1dC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RDs7R0FFRztBQUNILE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxlQUFlO0lBQ3BFOztPQUVHO2FBQ1csaUJBQVksR0FBRyx3QkFBd0IsQ0FBQztJQUV0RDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lJbnB1dEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBIYXJuZXNzIHRvIGludGVyYWN0IHdpdGggdGhlIGZpbGUgZHJvcCBsaW5rIHVwbG9hZCBpbnB1dCBoYXJuZXNzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5RmlsZURyb3BMaW5rVXBsb2FkSW5wdXRIYXJuZXNzIGV4dGVuZHMgU2t5SW5wdXRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnaW5wdXQuc2t5LWZvcm0tY29udHJvbCc7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGlucHV0IGFyaWEtbGFiZWxcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWRyb3AvZmlsZS1pdGVtLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgYFNreUZpbGVJdGVtSGFybmVzc2AgaW5zdGFuY2VzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5leHBvcnQgaW50ZXJmYWNlIFNreUZpbGVJdGVtSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBTa3lIYXJuZXNzRmlsdGVycyB7XG4gIC8qKlxuICAgKiBGaW5kcyBmaWxlcyB3aG9zZSBmaWxlIG5hbWUgbWF0Y2hlcyB0aGlzIHZhbHVlLlxuICAgKi9cbiAgZmlsZU5hbWU6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
|
|
2
|
+
/**
|
|
3
|
+
* Harness for interacting with a file item component in tests.
|
|
4
|
+
*/
|
|
5
|
+
export class SkyFileItemHarness extends ComponentHarness {
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
static { this.hostSelector = 'sky-file-item'; }
|
|
10
|
+
/**
|
|
11
|
+
* Gets a `HarnessPredicate` that can be used to search for a
|
|
12
|
+
* `SkyFileItemHarness` that meets certain criteria.
|
|
13
|
+
*/
|
|
14
|
+
static with(filters) {
|
|
15
|
+
return new HarnessPredicate(SkyFileItemHarness, filters).addOption('fileName', filters.fileName, async (harness, fileName) => {
|
|
16
|
+
const harnessFileName = await harness.getFileName();
|
|
17
|
+
return await HarnessPredicate.stringMatches(harnessFileName, fileName);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Clicks the delete button.
|
|
22
|
+
*/
|
|
23
|
+
async clickDeleteButton() {
|
|
24
|
+
return await (await this.locatorFor('.sky-file-item-btn-delete')()).click();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Gets the file name.
|
|
28
|
+
*/
|
|
29
|
+
async getFileName() {
|
|
30
|
+
return await (await this.locatorFor('.sky-file-item-name')()).text();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Gets the file size.
|
|
34
|
+
*/
|
|
35
|
+
async getFileSize() {
|
|
36
|
+
const size = await (await this.locatorFor('.sky-file-item-size')()).text();
|
|
37
|
+
return size.substring(1, size.length - 1);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtaXRlbS1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSTFFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQUN0RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsZUFBZSxDQUFDO0lBRTdDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQWtDO1FBRWxDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQ2hFLFVBQVUsRUFDVixPQUFPLENBQUMsUUFBUSxFQUNoQixLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQzFCLE1BQU0sZUFBZSxHQUFHLE1BQU0sT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BELE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pFLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQjtRQUM1QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzLCBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lGaWxlSXRlbUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9maWxlLWl0ZW0taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgZmlsZSBpdGVtIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUZpbGVJdGVtSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZmlsZS1pdGVtJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5RmlsZUl0ZW1IYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5RmlsZUl0ZW1IYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lGaWxlSXRlbUhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoU2t5RmlsZUl0ZW1IYXJuZXNzLCBmaWx0ZXJzKS5hZGRPcHRpb24oXG4gICAgICAnZmlsZU5hbWUnLFxuICAgICAgZmlsdGVycy5maWxlTmFtZSxcbiAgICAgIGFzeW5jIChoYXJuZXNzLCBmaWxlTmFtZSkgPT4ge1xuICAgICAgICBjb25zdCBoYXJuZXNzRmlsZU5hbWUgPSBhd2FpdCBoYXJuZXNzLmdldEZpbGVOYW1lKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzc0ZpbGVOYW1lLCBmaWxlTmFtZSk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBkZWxldGUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrRGVsZXRlQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWZpbGUtaXRlbS1idG4tZGVsZXRlJykoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmaWxlIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmlsZU5hbWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWl0ZW0tbmFtZScpKCkpLnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmaWxlIHNpemUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmlsZVNpemUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBzaXplID0gYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWl0ZW0tc2l6ZScpKCkpLnRleHQoKTtcbiAgICByZXR1cm4gc2l6ZS5zdWJzdHJpbmcoMSwgc2l6ZS5sZW5ndGggLSAxKTtcbiAgfVxufVxuIl19
|
|
@@ -7,6 +7,7 @@ export { SkyCheckboxLabelHarness } from './modules/checkbox/checkbox-label-harne
|
|
|
7
7
|
export { SkyFileAttachmentHarness } from './modules/file-attachment/file-attachment/file-attachment-harness';
|
|
8
8
|
export { SkyFileDropHarness } from './modules/file-attachment/file-drop/file-drop-harness';
|
|
9
9
|
export { provideSkyFileAttachmentTesting } from './modules/file-attachment/shared/provide-file-attachment-testing';
|
|
10
|
+
export { SkyFileItemHarness } from './modules/file-attachment/file-drop/file-item-harness';
|
|
10
11
|
export { SkyFormErrorsHarness } from './modules/form-error/form-errors-harness';
|
|
11
12
|
export { SkyFormErrorHarness } from './modules/form-error/form-error-harness';
|
|
12
13
|
export { SkyFieldGroupHarness } from './modules/field-group/field-group-harness';
|
|
@@ -14,4 +15,4 @@ export { SkyRadioFixture } from './legacy/radio-fixture';
|
|
|
14
15
|
export { SkyRadioGroupHarness } from './modules/radio/radio-group-harness';
|
|
15
16
|
export { SkyRadioHarness } from './modules/radio/radio-harness';
|
|
16
17
|
export { SkyRadioLabelHarness } from './modules/radio/radio-label-harness';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBR3RILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBRzdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRTNGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRzNGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBR2hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBR2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTa3lJbnB1dEJveEhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUlucHV0Qm94SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC1oYXJuZXNzLWZpbHRlcnMnO1xuXG5leHBvcnQgeyBTa3lDaGFyYWN0ZXJDb3VudGVySW5kaWNhdG9ySGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci1pbmRpY2F0b3ItaGFybmVzcyc7XG5leHBvcnQgeyBTa3lDaGFyYWN0ZXJDb3VudGVySW5kaWNhdG9ySGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvY2hhcmFjdGVyLWNvdW50ZXIvY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLWhhcm5lc3MtZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreUNoZWNrYm94Rml4dHVyZSB9IGZyb20gJy4vbGVnYWN5L2NoZWNrYm94LWZpeHR1cmUnO1xuZXhwb3J0IHsgU2t5Q2hlY2tib3hHcm91cEhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtZ3JvdXAtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lDaGVja2JveEdyb3VwSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtZ3JvdXAtaGFybmVzcy1maWx0ZXJzJztcbmV4cG9ydCB7IFNreUNoZWNrYm94SGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUNoZWNrYm94SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtaGFybmVzcy1maWx0ZXJzJztcbmV4cG9ydCB7IFNreUNoZWNrYm94TGFiZWxIYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWxhYmVsLWhhcm5lc3MnO1xuXG5leHBvcnQgeyBTa3lGaWxlQXR0YWNobWVudEhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lGaWxlQXR0YWNobWVudEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50LWhhcm5lc3MtZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreUZpbGVEcm9wSGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUZpbGVEcm9wSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtZHJvcC9maWxlLWRyb3AtaGFybmVzcy1maWx0ZXJzJztcbmV4cG9ydCB7IHByb3ZpZGVTa3lGaWxlQXR0YWNobWVudFRlc3RpbmcgfSBmcm9tICcuL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L3NoYXJlZC9wcm92aWRlLWZpbGUtYXR0YWNobWVudC10ZXN0aW5nJztcbmV4cG9ydCB7IFNreUZpbGVJdGVtSGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtaXRlbS1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUZpbGVJdGVtSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtZHJvcC9maWxlLWl0ZW0taGFybmVzcy1maWx0ZXJzJztcblxuZXhwb3J0IHsgU2t5Rm9ybUVycm9yc0hhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9ycy1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUZvcm1FcnJvcnNIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWhhcm5lc3MuZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreUZvcm1FcnJvckhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9yLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5Rm9ybUVycm9ySGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9yLWhhcm5lc3MuZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreUZpZWxkR3JvdXBIYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL2ZpZWxkLWdyb3VwL2ZpZWxkLWdyb3VwLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5RmllbGRHcm91cEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9tb2R1bGVzL2ZpZWxkLWdyb3VwL2ZpZWxkLWdyb3VwLWhhcm5lc3MtZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreVJhZGlvRml4dHVyZSB9IGZyb20gJy4vbGVnYWN5L3JhZGlvLWZpeHR1cmUnO1xuZXhwb3J0IHsgU2t5UmFkaW9Hcm91cEhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvcmFkaW8vcmFkaW8tZ3JvdXAtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lSYWRpb0dyb3VwSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvcmFkaW8vcmFkaW8tZ3JvdXAtaGFybmVzcy1maWx0ZXJzJztcbmV4cG9ydCB7IFNreVJhZGlvSGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9yYWRpby9yYWRpby1oYXJuZXNzJztcbmV4cG9ydCB7IFNreVJhZGlvSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvcmFkaW8vcmFkaW8taGFybmVzcy1maWx0ZXJzJztcbmV4cG9ydCB7IFNreVJhZGlvTGFiZWxIYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL3JhZGlvL3JhZGlvLWxhYmVsLWhhcm5lc3MnO1xuIl19
|