@skyux/forms 11.39.0 → 12.0.0-alpha.1
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 +3994 -4130
- package/fesm2022/skyux-forms-testing.mjs +0 -9
- package/fesm2022/skyux-forms-testing.mjs.map +1 -1
- package/fesm2022/skyux-forms.mjs +181 -186
- package/fesm2022/skyux-forms.mjs.map +1 -1
- package/lib/modules/form-error/form-error.component.d.ts +0 -1
- package/package.json +15 -19
- package/testing/modules/form-error/form-error-harness.d.ts +0 -5
- package/esm2022/index.mjs +0 -44
- package/esm2022/lib/modules/character-counter/character-counter-indicator.component.mjs +0 -38
- package/esm2022/lib/modules/character-counter/character-counter-screen-reader.pipe.mjs +0 -46
- package/esm2022/lib/modules/character-counter/character-counter.directive.mjs +0 -96
- package/esm2022/lib/modules/character-counter/character-counter.module.mjs +0 -43
- package/esm2022/lib/modules/checkbox/checkbox-change.mjs +0 -2
- package/esm2022/lib/modules/checkbox/checkbox-group-heading-level.mjs +0 -2
- package/esm2022/lib/modules/checkbox/checkbox-group-heading-style.mjs +0 -2
- package/esm2022/lib/modules/checkbox/checkbox-group.component.mjs +0 -156
- package/esm2022/lib/modules/checkbox/checkbox-label-text-label.component.mjs +0 -29
- package/esm2022/lib/modules/checkbox/checkbox-label.component.mjs +0 -18
- package/esm2022/lib/modules/checkbox/checkbox.component.mjs +0 -397
- package/esm2022/lib/modules/checkbox/checkbox.module.mjs +0 -75
- package/esm2022/lib/modules/field-group/field-group-heading-level.mjs +0 -2
- package/esm2022/lib/modules/field-group/field-group-heading-style.mjs +0 -2
- package/esm2022/lib/modules/field-group/field-group.component.mjs +0 -75
- package/esm2022/lib/modules/field-group/field-group.module.mjs +0 -16
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-change.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-click.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-join-ids.pipe.mjs +0 -22
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-label.component.mjs +0 -31
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.component.mjs +0 -494
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.module.mjs +0 -24
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.service.mjs +0 -100
- package/esm2022/lib/modules/file-attachment/file-attachments.module.mjs +0 -20
- package/esm2022/lib/modules/file-attachment/file-drop/file-drop-change.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/file-drop/file-drop.component.mjs +0 -412
- package/esm2022/lib/modules/file-attachment/file-drop/file-drop.module.mjs +0 -18
- package/esm2022/lib/modules/file-attachment/file-drop/file-item.component.mjs +0 -156
- package/esm2022/lib/modules/file-attachment/file-drop/file-link.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/shared/file-item-error-type.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/shared/file-item.mjs +0 -2
- package/esm2022/lib/modules/file-attachment/shared/file-item.service.mjs +0 -71
- package/esm2022/lib/modules/file-attachment/shared/file-size.pipe.mjs +0 -61
- package/esm2022/lib/modules/file-attachment/shared/file-validate-function.mjs +0 -2
- package/esm2022/lib/modules/form-error/form-error.component.mjs +0 -62
- package/esm2022/lib/modules/form-error/form-error.module.mjs +0 -16
- package/esm2022/lib/modules/form-error/form-errors-enabled-token.mjs +0 -6
- package/esm2022/lib/modules/form-error/form-errors.component.mjs +0 -50
- package/esm2022/lib/modules/form-error/form-errors.module.mjs +0 -20
- package/esm2022/lib/modules/input-box/input-box-adapter.service.mjs +0 -63
- package/esm2022/lib/modules/input-box/input-box-control.directive.mjs +0 -33
- package/esm2022/lib/modules/input-box/input-box-hint-text.pipe.mjs +0 -23
- package/esm2022/lib/modules/input-box/input-box-host.service.mjs +0 -72
- package/esm2022/lib/modules/input-box/input-box-populate-args.mjs +0 -2
- package/esm2022/lib/modules/input-box/input-box.component.mjs +0 -276
- package/esm2022/lib/modules/input-box/input-box.module.mjs +0 -58
- package/esm2022/lib/modules/radio/radio-group-id.service.mjs +0 -50
- package/esm2022/lib/modules/radio/radio-group.component.mjs +0 -390
- package/esm2022/lib/modules/radio/radio-label.component.mjs +0 -34
- package/esm2022/lib/modules/radio/radio.component.mjs +0 -357
- package/esm2022/lib/modules/radio/radio.module.mjs +0 -71
- package/esm2022/lib/modules/radio/types/radio-change.mjs +0 -2
- package/esm2022/lib/modules/radio/types/radio-group-heading-level.mjs +0 -2
- package/esm2022/lib/modules/radio/types/radio-group-heading-style.mjs +0 -2
- package/esm2022/lib/modules/radio/types/radio-type.mjs +0 -2
- package/esm2022/lib/modules/required-state/required-state.directive.mjs +0 -34
- package/esm2022/lib/modules/selection-box/selection-box-adapter.service.mjs +0 -128
- package/esm2022/lib/modules/selection-box/selection-box-description.component.mjs +0 -14
- package/esm2022/lib/modules/selection-box/selection-box-grid.component.mjs +0 -141
- package/esm2022/lib/modules/selection-box/selection-box-header.component.mjs +0 -14
- package/esm2022/lib/modules/selection-box/selection-box.component.mjs +0 -132
- package/esm2022/lib/modules/selection-box/selection-box.module.mjs +0 -40
- package/esm2022/lib/modules/selection-box/types/selection-box-grid-align-items-type.mjs +0 -2
- package/esm2022/lib/modules/selection-box/types/selection-box-grid-align-items.mjs +0 -2
- package/esm2022/lib/modules/shared/sky-forms-resources.module.mjs +0 -142
- package/esm2022/lib/modules/toggle-switch/toggle-switch-label.component.mjs +0 -25
- package/esm2022/lib/modules/toggle-switch/toggle-switch.component.mjs +0 -202
- package/esm2022/lib/modules/toggle-switch/toggle-switch.module.mjs +0 -36
- package/esm2022/lib/modules/toggle-switch/types/toggle-switch-change.mjs +0 -2
- package/esm2022/skyux-forms.mjs +0 -5
- package/esm2022/testing/legacy/checkbox-fixture.mjs +0 -92
- package/esm2022/testing/legacy/radio-fixture.mjs +0 -85
- package/esm2022/testing/modules/character-counter/character-counter-indicator-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/character-counter/character-counter-indicator-harness.mjs +0 -53
- package/esm2022/testing/modules/checkbox/checkbox-group-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/checkbox/checkbox-group-harness.mjs +0 -158
- package/esm2022/testing/modules/checkbox/checkbox-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/checkbox/checkbox-harness.mjs +0 -196
- package/esm2022/testing/modules/checkbox/checkbox-label-harness.mjs +0 -19
- package/esm2022/testing/modules/checkbox/checkbox-label-text-label.harness.mjs +0 -19
- package/esm2022/testing/modules/field-group/field-group-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/field-group/field-group-harness.mjs +0 -92
- package/esm2022/testing/modules/file-attachment/file-attachment/file-attachment-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/file-attachment/file-attachment/file-attachment-harness.mjs +0 -193
- package/esm2022/testing/modules/file-attachment/file-drop/file-drop-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/file-attachment/file-drop/file-drop-harness.mjs +0 -192
- package/esm2022/testing/modules/file-attachment/file-drop/file-drop-link-upload-harness.mjs +0 -47
- package/esm2022/testing/modules/file-attachment/file-drop/file-drop-link-upload-input-harness.mjs +0 -17
- package/esm2022/testing/modules/file-attachment/file-drop/file-item-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/file-attachment/file-drop/file-item-harness.mjs +0 -40
- package/esm2022/testing/modules/file-attachment/shared/provide-file-attachment-testing.mjs +0 -14
- package/esm2022/testing/modules/form-error/form-error-harness.filters.mjs +0 -2
- package/esm2022/testing/modules/form-error/form-error-harness.mjs +0 -31
- package/esm2022/testing/modules/form-error/form-errors-harness.filters.mjs +0 -2
- package/esm2022/testing/modules/form-error/form-errors-harness.mjs +0 -34
- package/esm2022/testing/modules/input-box/input-box-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/input-box/input-box-harness.mjs +0 -188
- package/esm2022/testing/modules/radio/radio-group-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/radio/radio-group-harness.mjs +0 -156
- package/esm2022/testing/modules/radio/radio-harness-filters.mjs +0 -2
- package/esm2022/testing/modules/radio/radio-harness.mjs +0 -147
- package/esm2022/testing/modules/radio/radio-label-harness.mjs +0 -19
- package/esm2022/testing/public-api.mjs +0 -18
- package/esm2022/testing/skyux-forms-testing.mjs +0 -5
|
@@ -1,192 +0,0 @@
|
|
|
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';
|
|
5
|
-
/**
|
|
6
|
-
* Harness for interacting with a file drop component in tests.
|
|
7
|
-
*/
|
|
8
|
-
export class SkyFileDropHarness extends SkyComponentHarness {
|
|
9
|
-
/**
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
static { this.hostSelector = 'sky-file-drop'; }
|
|
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);
|
|
18
|
-
/**
|
|
19
|
-
* Gets a `HarnessPredicate` that can be used to search for a
|
|
20
|
-
* `SkyFileDropHarness` that meets certain criteria.
|
|
21
|
-
*/
|
|
22
|
-
static with(filters) {
|
|
23
|
-
return SkyFileDropHarness.getDataSkyIdPredicate(filters);
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Clicks the file drop target.
|
|
27
|
-
*/
|
|
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) {
|
|
156
|
-
await this.#dropFiles([file]);
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Loads multiple files.
|
|
160
|
-
*/
|
|
161
|
-
async loadFiles(files) {
|
|
162
|
-
return await this.#dropFiles(files);
|
|
163
|
-
}
|
|
164
|
-
async #dropFiles(files) {
|
|
165
|
-
const dropTarget = await this.#getDropTarget();
|
|
166
|
-
const dataTransfer = new DataTransfer();
|
|
167
|
-
files?.forEach((file) => {
|
|
168
|
-
dataTransfer.items.add(file);
|
|
169
|
-
});
|
|
170
|
-
await dropTarget.dispatchEvent('drop', {
|
|
171
|
-
dataTransfer,
|
|
172
|
-
});
|
|
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
|
-
}
|
|
191
|
-
}
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzVFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRS9FOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQUN6RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsZUFBZSxDQUFDO0lBRTdDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUQsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUMvQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDbkUsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUN0RCxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXZEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQWtDO1FBRWxDLE9BQU8sa0JBQWtCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQjtRQUM5QixPQUFPLE1BQU0sQ0FB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QUFJLEtBQUssQ0FDYixtRUFBbUUsQ0FDcEUsQ0FBQztJQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudERhdGEsIEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lSGFybmVzcyB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yc0hhcm5lc3MgfSBmcm9tICcuLi8uLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lGaWxlRHJvcEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9maWxlLWRyb3AtaGFybmVzcy1maWx0ZXJzJztcbmltcG9ydCB7IFNreUZpbGVEcm9wTGlua1VwbG9hZEhhcm5lc3MgfSBmcm9tICcuL2ZpbGUtZHJvcC1saW5rLXVwbG9hZC1oYXJuZXNzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgZmlsZSBkcm9wIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUZpbGVEcm9wSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZmlsZS1kcm9wJztcblxuICAjZ2V0RHJvcFRhcmdldCA9IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWRyb3AtdGFyZ2V0Jyk7XG4gICNpbnB1dCA9IHRoaXMubG9jYXRvckZvcignaW5wdXRbdHlwZT1cImZpbGVcIl0nKTtcbiAgI2ZpbGVVcGxvYWRCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJ2J1dHRvbi5za3ktZmlsZS1kcm9wLXRhcmdldCcpO1xuICAjbGFiZWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZmlsZS1kcm9wLWxhYmVsLXRleHQnKTtcbiAgI2Zvcm1FcnJvcnMgPSB0aGlzLmxvY2F0b3JGb3JBbGwoU2t5Rm9ybUVycm9yc0hhcm5lc3MpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lGaWxlRHJvcEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lGaWxlRHJvcEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUZpbGVEcm9wSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lGaWxlRHJvcEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgZmlsZSBkcm9wIHRhcmdldC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0ZpbGVEcm9wVGFyZ2V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZmlsZVVwbG9hZEJ1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgaGVscCBpbmxpbmUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrSGVscElubGluZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGxpbmsgdXBsb2FkIGBEb25lYCBidXR0b24nLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrTGlua1VwbG9hZERvbmVCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMaW5rVXBsb2FkKCkpLmNsaWNrRG9uZUJ1dHRvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycyB0ZXh0IGludG8gdGhlIGxpbmsgdXBsb2FkIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGVudGVyTGlua1VwbG9hZFRleHQobGluazogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMaW5rVXBsb2FkKCkpLmVudGVyVGV4dChsaW5rKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhY2NlcHRlZCBmaWxlIHR5cGVzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFjY2VwdGVkVHlwZXMoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNpbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2FjY2VwdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFyaWEtbGFiZWwgZm9yIHRoZSBmaWxlIHVwbG9hZCBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmlsZVVwbG9hZEFyaWFMYWJlbCgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2ZpbGVVcGxvYWRCdXR0b24oKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGVscCBpbmxpbmUgcG9wb3ZlciBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyQ29udGVudCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyQ29udGVudCgpO1xuXG4gICAgcmV0dXJuIGNvbnRlbnQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgaW5saW5lIHBvcG92ZXIgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyVGl0bGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoaW50IHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGludFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKFxuICAgICAgYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWRyb3AtaGludC10ZXh0JykoKSkudGV4dCgpXG4gICAgKS50cmltKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbGFiZWwgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMYWJlbFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLiNsYWJlbCgpKS50ZXh0KCkpLnRyaW0oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBsaW5rIHVwbG9hZCBhcmlhLWxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldExpbmtVcGxvYWRBcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMaW5rVXBsb2FkKCkpLmdldEFyaWFMYWJlbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGxpbmsgdXBsb2FkIGhpbnQgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMaW5rVXBsb2FkSGludFRleHQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldExpbmtVcGxvYWQoKSkuZ2V0SGludFRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgY3VzdG9tIGZvcm0gZXJyb3IgaGFzIGZpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0N1c3RvbUVycm9yKGVycm9yTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3JzKCkpLmhhc0Vycm9yKGVycm9yTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmlsZSB0eXBlIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNGaWxlVHlwZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcignZmlsZVR5cGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtYXggZmlsZSBzaXplIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNYXhGaWxlU2l6ZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcignbWF4RmlsZVNpemUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtaW4gZmlsZSBzaXplIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNaW5GaWxlU2l6ZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcignbWluRmlsZVNpemUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByZXF1aXJlZCBlcnJvciBoYXMgZmlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzUmVxdWlyZWRFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcnMoKSkuaGFzRXJyb3IoJ3JlcXVpcmVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdmFsaWRhdGUgZXJyb3IgZnJvbSB0aGUgY3VzdG9tZXIgdmFsaWRhdGlvbiBoYXMgZmlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzVmFsaWRhdGVGbkVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcigndmFsaWRhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGxhYmVsIHRleHQgaXMgaGlkZGVuLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzTGFiZWxIaWRkZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMubG9jYXRvckZvcignbGVnZW5kLnNreS1jb250cm9sLWxhYmVsJykoKVxuICAgICkuaGFzQ2xhc3MoJ3NreS1zY3JlZW4tcmVhZGVyLW9ubHknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGZpbGUgZHJvcCBpcyByZXF1aXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1JlcXVpcmVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jbGFiZWwoKSkuaGFzQ2xhc3MoJ3NreS1jb250cm9sLWxhYmVsLXJlcXVpcmVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBmaWxlIGRyb3AgaGFzIHN0YWNrZWQgZW5hYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1N0YWNrZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuaGFzQ2xhc3MoJ3NreS1mb3JtLWZpZWxkLXN0YWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBhIHNpbmdsZSBmaWxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGxvYWRGaWxlKGZpbGU6IEZpbGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLiNkcm9wRmlsZXMoW2ZpbGVdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBtdWx0aXBsZSBmaWxlcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsb2FkRmlsZXMoZmlsZXM6IEZpbGVbXSB8IG51bGwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jZHJvcEZpbGVzKGZpbGVzKTtcbiAgfVxuXG4gIGFzeW5jICNkcm9wRmlsZXMoZmlsZXM6IEZpbGVbXSB8IG51bGwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBkcm9wVGFyZ2V0ID0gYXdhaXQgdGhpcy4jZ2V0RHJvcFRhcmdldCgpO1xuXG4gICAgdHlwZSBUZXN0RGF0YVRyYW5zZmVyID0gRGF0YVRyYW5zZmVyICYgeyBba2V5OiBzdHJpbmddOiBFdmVudERhdGEgfTtcblxuICAgIGNvbnN0IGRhdGFUcmFuc2ZlciA9IG5ldyBEYXRhVHJhbnNmZXIoKSBhcyBUZXN0RGF0YVRyYW5zZmVyO1xuXG4gICAgZmlsZXM/LmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgIGRhdGFUcmFuc2Zlci5pdGVtcy5hZGQoZmlsZSk7XG4gICAgfSk7XG5cbiAgICBhd2FpdCBkcm9wVGFyZ2V0LmRpc3BhdGNoRXZlbnQoJ2Ryb3AnLCB7XG4gICAgICBkYXRhVHJhbnNmZXIsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyAjZ2V0Rm9ybUVycm9ycygpOiBQcm9taXNlPFNreUZvcm1FcnJvcnNIYXJuZXNzPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNmb3JtRXJyb3JzKCkpWzFdO1xuICB9XG5cbiAgYXN5bmMgI2dldEhlbHBJbmxpbmUoKTogUHJvbWlzZTxTa3lIZWxwSW5saW5lSGFybmVzcz4ge1xuICAgIGNvbnN0IGhhcm5lc3MgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lIZWxwSW5saW5lSGFybmVzcykoKTtcblxuICAgIGlmIChoYXJuZXNzKSB7XG4gICAgICByZXR1cm4gaGFybmVzcztcbiAgICB9XG5cbiAgICB0aHJvdyBFcnJvcignTm8gaGVscCBpbmxpbmUgZm91bmQuJyk7XG4gIH1cblxuICBhc3luYyAjZ2V0TGlua1VwbG9hZCgpOiBQcm9taXNlPFNreUZpbGVEcm9wTGlua1VwbG9hZEhhcm5lc3M+IHtcbiAgICBjb25zdCBsaW5rVXBsb2FkID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICBTa3lGaWxlRHJvcExpbmtVcGxvYWRIYXJuZXNzLFxuICAgICkoKTtcblxuICAgIGlmIChsaW5rVXBsb2FkKSB7XG4gICAgICByZXR1cm4gbGlua1VwbG9hZDtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnTGluayB1cGxvYWQgY2Fubm90IGJlIGZvdW5kLiBTZXQgYGFsbG93TGlua3NgIHByb3BlcnR5IHRvIGB0cnVlYC4nLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,47 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
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==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWRyb3AvZmlsZS1pdGVtLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgYFNreUZpbGVJdGVtSGFybmVzc2AgaW5zdGFuY2VzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5leHBvcnQgaW50ZXJmYWNlIFNreUZpbGVJdGVtSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBTa3lIYXJuZXNzRmlsdGVycyB7XG4gIC8qKlxuICAgKiBGaW5kcyBmaWxlcyB3aG9zZSBmaWxlIG5hbWUgbWF0Y2hlcyB0aGlzIHZhbHVlLlxuICAgKi9cbiAgZmlsZU5hbWU6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,40 +0,0 @@
|
|
|
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
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { provideSkyFileReaderTesting } from '@skyux/core/testing';
|
|
2
|
-
/**
|
|
3
|
-
* Provides mocks for file attachment testing.
|
|
4
|
-
* @example
|
|
5
|
-
* ```typescript
|
|
6
|
-
* TestBed.configureTestingModule({
|
|
7
|
-
* providers: [provideSkyFileAttachmentTesting()]
|
|
8
|
-
* });
|
|
9
|
-
* ```
|
|
10
|
-
*/
|
|
11
|
-
export function provideSkyFileAttachmentTesting() {
|
|
12
|
-
return [provideSkyFileReaderTesting()];
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1maWxlLWF0dGFjaG1lbnQtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9zaGFyZWQvcHJvdmlkZS1maWxlLWF0dGFjaG1lbnQtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSwrQkFBK0I7SUFDN0MsT0FBTyxDQUFDLDJCQUEyQixFQUFFLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVTa3lGaWxlUmVhZGVyVGVzdGluZyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIFByb3ZpZGVzIG1vY2tzIGZvciBmaWxlIGF0dGFjaG1lbnQgdGVzdGluZy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBUZXN0QmVkLmNvbmZpZ3VyZVRlc3RpbmdNb2R1bGUoe1xuICogICBwcm92aWRlcnM6IFtwcm92aWRlU2t5RmlsZUF0dGFjaG1lbnRUZXN0aW5nKCldXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVNreUZpbGVBdHRhY2htZW50VGVzdGluZygpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtwcm92aWRlU2t5RmlsZVJlYWRlclRlc3RpbmcoKV07XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1oYXJuZXNzLmZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3ItaGFybmVzcy5maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lIYXJuZXNzRmlsdGVycyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBgU2t5Rm9ybUVycm9ySGFybmVzc2AgaW5zdGFuY2VzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5leHBvcnQgaW50ZXJmYWNlIFNreUZvcm1FcnJvckhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgU2t5SGFybmVzc0ZpbHRlcnMge31cbiJdfQ==
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
2
|
-
import { SkyStatusIndicatorHarness } from '@skyux/indicators/testing';
|
|
3
|
-
export class SkyFormErrorHarness extends SkyComponentHarness {
|
|
4
|
-
/**
|
|
5
|
-
* @internal
|
|
6
|
-
*/
|
|
7
|
-
static { this.hostSelector = 'sky-form-error'; }
|
|
8
|
-
async #getStatusIndicator() {
|
|
9
|
-
return await this.locatorFor(SkyStatusIndicatorHarness)();
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Gets a `HarnessPredicate` that can be used to search for a
|
|
13
|
-
* `SkyFormErrorHarness` that meets certain criteria
|
|
14
|
-
*/
|
|
15
|
-
static with(filters) {
|
|
16
|
-
return SkyFormErrorHarness.getDataSkyIdPredicate(filters);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Gets the error name.
|
|
20
|
-
*/
|
|
21
|
-
async getErrorName() {
|
|
22
|
-
return await (await this.host()).getAttribute('errorName');
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Gets the error text.
|
|
26
|
-
*/
|
|
27
|
-
async getErrorText() {
|
|
28
|
-
return await (await this.#getStatusIndicator()).getText();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9yLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJdEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG1CQUFtQjtJQUMxRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsZ0JBQWdCLENBQUM7SUFFOUMsS0FBSyxDQUFDLG1CQUFtQjtRQUN2QixPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQW1DO1FBRW5DLE9BQU8sbUJBQW1CLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFlBQVk7UUFDdkIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFlBQVk7UUFDdkIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5U3RhdHVzSW5kaWNhdG9ySGFybmVzcyB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vZm9ybS1lcnJvci1oYXJuZXNzLmZpbHRlcnMnO1xuXG5leHBvcnQgY2xhc3MgU2t5Rm9ybUVycm9ySGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZm9ybS1lcnJvcic7XG5cbiAgYXN5bmMgI2dldFN0YXR1c0luZGljYXRvcigpOiBQcm9taXNlPFNreVN0YXR1c0luZGljYXRvckhhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFNreVN0YXR1c0luZGljYXRvckhhcm5lc3MpKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5Rm9ybUVycm9ySGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5Rm9ybUVycm9ySGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5Rm9ybUVycm9ySGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lGb3JtRXJyb3JIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBlcnJvciBuYW1lLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEVycm9yTmFtZSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5nZXRBdHRyaWJ1dGUoJ2Vycm9yTmFtZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGVycm9yIHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RXJyb3JUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0U3RhdHVzSW5kaWNhdG9yKCkpLmdldFRleHQoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvcnMtaGFybmVzcy5maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9ycy1oYXJuZXNzLmZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBTa3lGb3JtRXJyb3JIYXJuZXNzYCBpbnN0YW5jZXMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5Rm9ybUVycm9yc0hhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgU2t5SGFybmVzc0ZpbHRlcnMge31cbiJdfQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
2
|
-
import { SkyFormErrorHarness } from './form-error-harness';
|
|
3
|
-
export class SkyFormErrorsHarness extends SkyComponentHarness {
|
|
4
|
-
/**
|
|
5
|
-
* @internal
|
|
6
|
-
*/
|
|
7
|
-
static { this.hostSelector = 'sky-form-errors'; }
|
|
8
|
-
/**
|
|
9
|
-
* Gets a `HarnessPredicate` that can be used to search for a
|
|
10
|
-
* `SkyFormErrorsHarness` that meets certain criteria
|
|
11
|
-
*/
|
|
12
|
-
static with(filters) {
|
|
13
|
-
return SkyFormErrorsHarness.getDataSkyIdPredicate(filters);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Gets a list of all errors fired.
|
|
17
|
-
*/
|
|
18
|
-
async getFormErrors() {
|
|
19
|
-
const formErrorHarnesses = await this.locatorForAll(SkyFormErrorHarness.with({}))();
|
|
20
|
-
return await Promise.all(formErrorHarnesses.map(async (formError) => {
|
|
21
|
-
return { errorName: await formError.getErrorName() };
|
|
22
|
-
}));
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Whether an error with the given name has fired.
|
|
26
|
-
*/
|
|
27
|
-
async hasError(errorName) {
|
|
28
|
-
const formErrors = await this.getFormErrors();
|
|
29
|
-
return formErrors.some((error) => {
|
|
30
|
-
return error.errorName === errorName;
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvcnMtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUczRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBQzNEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxpQkFBaUIsQ0FBQztJQUUvQzs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUFvQztRQUVwQyxPQUFPLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUNqRCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQzdCLEVBQUUsQ0FBQztRQUVKLE9BQU8sTUFBTSxPQUFPLENBQUMsR0FBRyxDQUN0QixrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFpQjtRQUNyQyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMvQixPQUFPLEtBQUssQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUZvcm1FcnJvckhhcm5lc3MgfSBmcm9tICcuL2Zvcm0tZXJyb3ItaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JzSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2Zvcm0tZXJyb3JzLWhhcm5lc3MuZmlsdGVycyc7XG5cbmV4cG9ydCBjbGFzcyBTa3lGb3JtRXJyb3JzSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZm9ybS1lcnJvcnMnO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lGb3JtRXJyb3JzSGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5Rm9ybUVycm9yc0hhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUZvcm1FcnJvcnNIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUZvcm1FcnJvcnNIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgbGlzdCBvZiBhbGwgZXJyb3JzIGZpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEZvcm1FcnJvcnMoKTogUHJvbWlzZTx7IGVycm9yTmFtZTogc3RyaW5nIHwgbnVsbCB9W10+IHtcbiAgICBjb25zdCBmb3JtRXJyb3JIYXJuZXNzZXMgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoXG4gICAgICBTa3lGb3JtRXJyb3JIYXJuZXNzLndpdGgoe30pLFxuICAgICkoKTtcblxuICAgIHJldHVybiBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGZvcm1FcnJvckhhcm5lc3Nlcy5tYXAoYXN5bmMgKGZvcm1FcnJvcikgPT4ge1xuICAgICAgICByZXR1cm4geyBlcnJvck5hbWU6IGF3YWl0IGZvcm1FcnJvci5nZXRFcnJvck5hbWUoKSB9O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGFuIGVycm9yIHdpdGggdGhlIGdpdmVuIG5hbWUgaGFzIGZpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0Vycm9yKGVycm9yTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZm9ybUVycm9ycyA9IGF3YWl0IHRoaXMuZ2V0Rm9ybUVycm9ycygpO1xuICAgIHJldHVybiBmb3JtRXJyb3JzLnNvbWUoKGVycm9yKSA9PiB7XG4gICAgICByZXR1cm4gZXJyb3IuZXJyb3JOYW1lID09PSBlcnJvck5hbWU7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYm94LWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2lucHV0LWJveC9pbnB1dC1ib3gtaGFybmVzcy1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lIYXJuZXNzRmlsdGVycyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBTa3lJbnB1dEJveEhhcm5lc3MgaW5zdGFuY2VzLlxuICogQGludGVybmFsXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5SW5wdXRCb3hIYXJuZXNzRmlsdGVycyBleHRlbmRzIFNreUhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
|