@skyux/forms 11.21.0 → 11.23.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.
Files changed (90) hide show
  1. package/documentation.json +2925 -1719
  2. package/esm2022/lib/modules/checkbox/checkbox-group.component.mjs +2 -2
  3. package/esm2022/lib/modules/field-group/field-group.component.mjs +2 -2
  4. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.component.mjs +3 -5
  5. package/esm2022/lib/modules/input-box/input-box.component.mjs +2 -2
  6. package/esm2022/lib/modules/radio/radio-group.component.mjs +2 -2
  7. package/esm2022/lib/modules/radio/radio.component.mjs +2 -2
  8. package/esm2022/lib/modules/shared/sky-forms-resources.module.mjs +3 -21
  9. package/esm2022/lib/modules/toggle-switch/toggle-switch.component.mjs +3 -7
  10. package/esm2022/testing/legacy/checkbox-fixture.mjs +92 -0
  11. package/esm2022/testing/legacy/radio-fixture.mjs +85 -0
  12. package/esm2022/testing/modules/character-counter/character-counter-indicator-harness-filters.mjs +2 -0
  13. package/esm2022/testing/modules/character-counter/character-counter-indicator-harness.mjs +53 -0
  14. package/esm2022/testing/modules/checkbox/checkbox-group-harness-filters.mjs +2 -0
  15. package/esm2022/testing/modules/checkbox/checkbox-group-harness.mjs +158 -0
  16. package/esm2022/testing/modules/checkbox/checkbox-harness-filters.mjs +2 -0
  17. package/esm2022/testing/modules/checkbox/checkbox-harness.mjs +196 -0
  18. package/esm2022/testing/modules/checkbox/checkbox-label-harness.mjs +19 -0
  19. package/esm2022/testing/modules/checkbox/checkbox-label-text-label.harness.mjs +19 -0
  20. package/esm2022/testing/modules/field-group/field-group-harness-filters.mjs +2 -0
  21. package/esm2022/testing/modules/field-group/field-group-harness.mjs +92 -0
  22. package/esm2022/testing/modules/file-attachment/file-drop/file-drop-harness-filters.mjs +2 -0
  23. package/esm2022/testing/modules/file-attachment/file-drop/file-drop-harness.mjs +45 -0
  24. package/esm2022/testing/modules/form-error/form-error-harness.filters.mjs +2 -0
  25. package/esm2022/testing/modules/form-error/form-error-harness.mjs +21 -0
  26. package/esm2022/testing/modules/form-error/form-errors-harness.filters.mjs +2 -0
  27. package/esm2022/testing/modules/form-error/form-errors-harness.mjs +34 -0
  28. package/esm2022/testing/modules/input-box/input-box-harness-filters.mjs +2 -0
  29. package/esm2022/testing/modules/input-box/input-box-harness.mjs +188 -0
  30. package/esm2022/testing/modules/radio/radio-group-harness-filters.mjs +2 -0
  31. package/esm2022/testing/modules/radio/radio-group-harness.mjs +156 -0
  32. package/esm2022/testing/modules/radio/radio-harness-filters.mjs +2 -0
  33. package/esm2022/testing/modules/radio/radio-harness.mjs +147 -0
  34. package/esm2022/testing/modules/radio/radio-label-harness.mjs +19 -0
  35. package/esm2022/testing/public-api.mjs +15 -14
  36. package/fesm2022/skyux-forms-testing.mjs +144 -54
  37. package/fesm2022/skyux-forms-testing.mjs.map +1 -1
  38. package/fesm2022/skyux-forms.mjs +16 -40
  39. package/fesm2022/skyux-forms.mjs.map +1 -1
  40. package/lib/modules/shared/sky-forms-resources.module.d.ts +0 -4
  41. package/package.json +9 -9
  42. package/testing/{radio-fixture.d.ts → legacy/radio-fixture.d.ts} +1 -0
  43. package/testing/modules/field-group/field-group-harness-filters.d.ts +7 -0
  44. package/testing/modules/field-group/field-group-harness.d.ts +57 -0
  45. package/testing/public-api.d.ts +24 -22
  46. package/esm2022/testing/character-counter/character-counter-indicator-harness-filters.mjs +0 -2
  47. package/esm2022/testing/character-counter/character-counter-indicator-harness.mjs +0 -53
  48. package/esm2022/testing/checkbox/checkbox-group-harness-filters.mjs +0 -2
  49. package/esm2022/testing/checkbox/checkbox-group-harness.mjs +0 -158
  50. package/esm2022/testing/checkbox/checkbox-harness-filters.mjs +0 -2
  51. package/esm2022/testing/checkbox/checkbox-harness.mjs +0 -196
  52. package/esm2022/testing/checkbox/checkbox-label-harness.mjs +0 -19
  53. package/esm2022/testing/checkbox/checkbox-label-text-label.harness.mjs +0 -19
  54. package/esm2022/testing/checkbox-fixture.mjs +0 -92
  55. package/esm2022/testing/file-drop/file-drop-harness-filters.mjs +0 -2
  56. package/esm2022/testing/file-drop/file-drop-harness.mjs +0 -45
  57. package/esm2022/testing/form-error/form-error-harness.filters.mjs +0 -2
  58. package/esm2022/testing/form-error/form-error-harness.mjs +0 -21
  59. package/esm2022/testing/form-error/form-errors-harness.filters.mjs +0 -2
  60. package/esm2022/testing/form-error/form-errors-harness.mjs +0 -34
  61. package/esm2022/testing/input-box/input-box-harness-filters.mjs +0 -2
  62. package/esm2022/testing/input-box/input-box-harness.mjs +0 -188
  63. package/esm2022/testing/radio/radio-group-harness-filters.mjs +0 -2
  64. package/esm2022/testing/radio/radio-group-harness.mjs +0 -157
  65. package/esm2022/testing/radio/radio-harness-filters.mjs +0 -2
  66. package/esm2022/testing/radio/radio-harness.mjs +0 -147
  67. package/esm2022/testing/radio/radio-label-harness.mjs +0 -19
  68. package/esm2022/testing/radio-fixture.mjs +0 -84
  69. /package/testing/{checkbox-fixture.d.ts → legacy/checkbox-fixture.d.ts} +0 -0
  70. /package/testing/{character-counter → modules/character-counter}/character-counter-indicator-harness-filters.d.ts +0 -0
  71. /package/testing/{character-counter → modules/character-counter}/character-counter-indicator-harness.d.ts +0 -0
  72. /package/testing/{checkbox → modules/checkbox}/checkbox-group-harness-filters.d.ts +0 -0
  73. /package/testing/{checkbox → modules/checkbox}/checkbox-group-harness.d.ts +0 -0
  74. /package/testing/{checkbox → modules/checkbox}/checkbox-harness-filters.d.ts +0 -0
  75. /package/testing/{checkbox → modules/checkbox}/checkbox-harness.d.ts +0 -0
  76. /package/testing/{checkbox → modules/checkbox}/checkbox-label-harness.d.ts +0 -0
  77. /package/testing/{checkbox → modules/checkbox}/checkbox-label-text-label.harness.d.ts +0 -0
  78. /package/testing/{file-drop → modules/file-attachment/file-drop}/file-drop-harness-filters.d.ts +0 -0
  79. /package/testing/{file-drop → modules/file-attachment/file-drop}/file-drop-harness.d.ts +0 -0
  80. /package/testing/{form-error → modules/form-error}/form-error-harness.d.ts +0 -0
  81. /package/testing/{form-error → modules/form-error}/form-error-harness.filters.d.ts +0 -0
  82. /package/testing/{form-error → modules/form-error}/form-errors-harness.d.ts +0 -0
  83. /package/testing/{form-error → modules/form-error}/form-errors-harness.filters.d.ts +0 -0
  84. /package/testing/{input-box → modules/input-box}/input-box-harness-filters.d.ts +0 -0
  85. /package/testing/{input-box → modules/input-box}/input-box-harness.d.ts +0 -0
  86. /package/testing/{radio → modules/radio}/radio-group-harness-filters.d.ts +0 -0
  87. /package/testing/{radio → modules/radio}/radio-group-harness.d.ts +0 -0
  88. /package/testing/{radio → modules/radio}/radio-harness-filters.d.ts +0 -0
  89. /package/testing/{radio → modules/radio}/radio-harness.d.ts +0 -0
  90. /package/testing/{radio → modules/radio}/radio-label-harness.d.ts +0 -0
@@ -1,19 +0,0 @@
1
- import { ComponentHarness } from '@angular/cdk/testing';
2
- /**
3
- * Harness for interacting with a checkbox label component in tests.
4
- * @internal
5
- */
6
- export class SkyCheckboxLabelHarness extends ComponentHarness {
7
- /**
8
- * @internal
9
- */
10
- static { this.hostSelector = 'sky-checkbox-label'; }
11
- #getLabelContent = this.locatorFor('.sky-switch-label');
12
- /**
13
- * Gets the text content of the checkbox label.
14
- */
15
- async getText() {
16
- return (await this.#getLabelContent()).text();
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGFiZWwtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9jaGVja2JveC9jaGVja2JveC1sYWJlbC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhEOzs7R0FHRztBQUNILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxnQkFBZ0I7SUFDM0Q7O09BRUc7YUFDVyxpQkFBWSxHQUFHLG9CQUFvQixDQUFDO0lBRWxELGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUV4RDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGNoZWNrYm94IGxhYmVsIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5Q2hlY2tib3hMYWJlbEhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWNoZWNrYm94LWxhYmVsJztcblxuICAjZ2V0TGFiZWxDb250ZW50ID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LXN3aXRjaC1sYWJlbCcpO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIGNoZWNrYm94IGxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldExhYmVsQ29udGVudCgpKS50ZXh0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { ComponentHarness } from '@angular/cdk/testing';
2
- /**
3
- * Harness for interacting with a `labelText` checkbox label component in tests.
4
- * @internal
5
- */
6
- export class SkyCheckboxLabelTextLabelHarness extends ComponentHarness {
7
- /**
8
- * @internal
9
- */
10
- static { this.hostSelector = 'sky-checkbox-label-text-label'; }
11
- #getLabelContent = this.locatorForOptional('.sky-switch-label');
12
- /**
13
- * Gets the text content of the `labelText` checkbox label.
14
- */
15
- async getText() {
16
- return (await this.#getLabelContent())?.text();
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGFiZWwtdGV4dC1sYWJlbC5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL2NoZWNrYm94L2NoZWNrYm94LWxhYmVsLXRleHQtbGFiZWwuaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsZ0JBQWdCO0lBQ3BFOztPQUVHO2FBQ1csaUJBQVksR0FBRywrQkFBK0IsQ0FBQztJQUU3RCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUVoRTs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGBsYWJlbFRleHRgIGNoZWNrYm94IGxhYmVsIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5Q2hlY2tib3hMYWJlbFRleHRMYWJlbEhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWNoZWNrYm94LWxhYmVsLXRleHQtbGFiZWwnO1xuXG4gICNnZXRMYWJlbENvbnRlbnQgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1zd2l0Y2gtbGFiZWwnKTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBgbGFiZWxUZXh0YCBjaGVja2JveCBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRMYWJlbENvbnRlbnQoKSk/LnRleHQoKTtcbiAgfVxufVxuIl19
@@ -1,92 +0,0 @@
1
- import { By } from '@angular/platform-browser';
2
- import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
- /**
4
- * Allows interaction with a SKY UX checkbox component.
5
- * @internal
6
- * @deprecated Use `SkyCheckboxHarness` instead.
7
- */
8
- export class SkyCheckboxFixture {
9
- #debugEl;
10
- constructor(fixture, skyTestId) {
11
- this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-checkbox');
12
- }
13
- /**
14
- * A flag indicating whether the checkbox is currently selected.
15
- */
16
- get selected() {
17
- return this.#getCheckboxInputEl().nativeElement.checked;
18
- }
19
- /**
20
- * The checkbox's label
21
- */
22
- get labelText() {
23
- return SkyAppTestUtility.getText(this.#debugEl.query(By.css('label.sky-checkbox-wrapper')));
24
- }
25
- /**
26
- * The checkbox's icon type
27
- */
28
- get iconType() {
29
- const classList = this.#debugEl.query(By.css('.fa.sky-icon'))?.nativeElement
30
- .classList;
31
- for (let i = 0, n = classList?.length; i < n; i++) {
32
- const cls = classList.item(i);
33
- if (cls.indexOf('fa-') === 0) {
34
- return cls.substr(3);
35
- }
36
- }
37
- return;
38
- }
39
- /**
40
- * The checkbox's type.
41
- */
42
- get checkboxType() {
43
- const classList = this.#getCheckboxBoxEl().nativeElement.classList;
44
- if (classList.contains('sky-switch-control-danger')) {
45
- return 'danger';
46
- }
47
- if (classList.contains('sky-switch-control-info')) {
48
- return 'info';
49
- }
50
- if (classList.contains('sky-switch-control-success')) {
51
- return 'success';
52
- }
53
- if (classList.contains('sky-switch-control-warning')) {
54
- return 'warning';
55
- }
56
- return undefined;
57
- }
58
- /**
59
- * A flag indicating whether the checkbox is currently disabled.
60
- */
61
- get disabled() {
62
- return this.#getCheckboxInputEl().nativeElement.disabled;
63
- }
64
- /**
65
- * Selects the checkbox.
66
- */
67
- select() {
68
- if (!this.selected) {
69
- this.#clickCheckboxLabelEl();
70
- }
71
- }
72
- /**
73
- * Deselects the checkbox.
74
- */
75
- deselect() {
76
- if (this.selected) {
77
- this.#clickCheckboxLabelEl();
78
- }
79
- }
80
- #clickCheckboxLabelEl() {
81
- this.#debugEl
82
- .query(By.css('label.sky-checkbox-wrapper'))
83
- .nativeElement.click();
84
- }
85
- #getCheckboxInputEl() {
86
- return this.#debugEl.query(By.css('.sky-checkbox-wrapper input'));
87
- }
88
- #getCheckboxBoxEl() {
89
- return this.#debugEl.query(By.css('label.sky-checkbox-wrapper span'));
90
- }
91
- }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9jaGVja2JveC1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixRQUFRLENBQWU7SUFFdkIsWUFBWSxPQUE4QixFQUFFLFNBQWlCO1FBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsaUJBQWlCLENBQUMsdUJBQXVCLENBQ3ZELE9BQU8sRUFDUCxTQUFTLEVBQ1QsY0FBYyxDQUNmLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsU0FBUztRQUNsQixPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQzFELENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLGFBQWE7YUFDekUsU0FBUyxDQUFDO1FBRWIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xELE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFOUIsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM3QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPO0lBQ1QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxZQUFZO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFFbkUsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQztZQUNsRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FBQztZQUNyRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FBQztZQUNyRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxRQUFRO2FBQ1YsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQzthQUMzQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU2t5QXBwVGVzdFV0aWxpdHkgfSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIGNoZWNrYm94IGNvbXBvbmVudC5cbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWQgVXNlIGBTa3lDaGVja2JveEhhcm5lc3NgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDaGVja2JveEZpeHR1cmUge1xuICAjZGVidWdFbDogRGVidWdFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNkZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1jaGVja2JveCcsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNnZXRDaGVja2JveElucHV0RWwoKS5uYXRpdmVFbGVtZW50LmNoZWNrZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNoZWNrYm94J3MgbGFiZWxcbiAgICovXG4gIHB1YmxpYyBnZXQgbGFiZWxUZXh0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoXG4gICAgICB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnbGFiZWwuc2t5LWNoZWNrYm94LXdyYXBwZXInKSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2hlY2tib3gncyBpY29uIHR5cGVcbiAgICovXG4gIHB1YmxpYyBnZXQgaWNvblR5cGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjbGFzc0xpc3QgPSB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLmZhLnNreS1pY29uJykpPy5uYXRpdmVFbGVtZW50XG4gICAgICAuY2xhc3NMaXN0O1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIG4gPSBjbGFzc0xpc3Q/Lmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgY29uc3QgY2xzID0gY2xhc3NMaXN0Lml0ZW0oaSk7XG5cbiAgICAgIGlmIChjbHMuaW5kZXhPZignZmEtJykgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGNscy5zdWJzdHIoMyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2hlY2tib3gncyB0eXBlLlxuICAgKi9cbiAgcHVibGljIGdldCBjaGVja2JveFR5cGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjbGFzc0xpc3QgPSB0aGlzLiNnZXRDaGVja2JveEJveEVsKCkubmF0aXZlRWxlbWVudC5jbGFzc0xpc3Q7XG5cbiAgICBpZiAoY2xhc3NMaXN0LmNvbnRhaW5zKCdza3ktc3dpdGNoLWNvbnRyb2wtZGFuZ2VyJykpIHtcbiAgICAgIHJldHVybiAnZGFuZ2VyJztcbiAgICB9XG5cbiAgICBpZiAoY2xhc3NMaXN0LmNvbnRhaW5zKCdza3ktc3dpdGNoLWNvbnRyb2wtaW5mbycpKSB7XG4gICAgICByZXR1cm4gJ2luZm8nO1xuICAgIH1cblxuICAgIGlmIChjbGFzc0xpc3QuY29udGFpbnMoJ3NreS1zd2l0Y2gtY29udHJvbC1zdWNjZXNzJykpIHtcbiAgICAgIHJldHVybiAnc3VjY2Vzcyc7XG4gICAgfVxuXG4gICAgaWYgKGNsYXNzTGlzdC5jb250YWlucygnc2t5LXN3aXRjaC1jb250cm9sLXdhcm5pbmcnKSkge1xuICAgICAgcmV0dXJuICd3YXJuaW5nJztcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGN1cnJlbnRseSBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2dldENoZWNrYm94SW5wdXRFbCgpLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyB0aGUgY2hlY2tib3guXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy4jY2xpY2tDaGVja2JveExhYmVsRWwoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVzZWxlY3RzIHRoZSBjaGVja2JveC5cbiAgICovXG4gIHB1YmxpYyBkZXNlbGVjdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy4jY2xpY2tDaGVja2JveExhYmVsRWwoKTtcbiAgICB9XG4gIH1cblxuICAjY2xpY2tDaGVja2JveExhYmVsRWwoKTogdm9pZCB7XG4gICAgdGhpcy4jZGVidWdFbFxuICAgICAgLnF1ZXJ5KEJ5LmNzcygnbGFiZWwuc2t5LWNoZWNrYm94LXdyYXBwZXInKSlcbiAgICAgIC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cblxuICAjZ2V0Q2hlY2tib3hJbnB1dEVsKCk6IERlYnVnRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LWNoZWNrYm94LXdyYXBwZXIgaW5wdXQnKSk7XG4gIH1cblxuICAjZ2V0Q2hlY2tib3hCb3hFbCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnbGFiZWwuc2t5LWNoZWNrYm94LXdyYXBwZXIgc3BhbicpKTtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9maWxlLWRyb3AvZmlsZS1kcm9wLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgYFNreUZpbGVEcm9wSGFybmVzc2AgaW5zdGFuY2VzLlxuICogQGludGVybmFsXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5RmlsZURyb3BIYXJuZXNzRmlsdGVycyBleHRlbmRzIFNreUhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
@@ -1,45 +0,0 @@
1
- import { SkyComponentHarness } from '@skyux/core/testing';
2
- /**
3
- * Harness for interacting with a file drop component in tests.
4
- * @internal
5
- */
6
- export class SkyFileDropHarness extends SkyComponentHarness {
7
- /**
8
- * @internal
9
- */
10
- static { this.hostSelector = 'sky-file-drop'; }
11
- #getDropTarget = this.locatorFor('.sky-file-drop-target');
12
- /**
13
- * Gets a `HarnessPredicate` that can be used to search for a
14
- * `SkyFileDropHarness` that meets certain criteria.
15
- */
16
- static with(filters) {
17
- return SkyFileDropHarness.getDataSkyIdPredicate(filters);
18
- }
19
- /**
20
- * Drops a file onto the component's drop target.
21
- */
22
- async dropFile(file) {
23
- return this.#dropFiles([file]);
24
- }
25
- // Consider making this public when we finalize this harness's public API.
26
- async #dropFiles(files) {
27
- const dropTarget = await this.#getDropTarget();
28
- const fileList = {
29
- item: (index) => files[index],
30
- length: files.length,
31
- };
32
- dropTarget.dispatchEvent('drop', {
33
- dataTransfer: {
34
- files: fileList,
35
- },
36
- });
37
- // The file drop component's `filesChanged` event happens asynchronously as the
38
- // result of an event handler which is outside of the test harness async logic,
39
- // so get in the queue after the event handler, then resolve.
40
- return new Promise((resolve) => {
41
- setTimeout(() => resolve(), 100);
42
- });
43
- }
44
- }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvZmlsZS1kcm9wL2ZpbGUtZHJvcC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSTFEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7SUFDekQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLGVBQWUsQ0FBQztJQUU3QyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRTFEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQWtDO1FBRWxDLE9BQU8sa0JBQWtCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFVO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELDBFQUEwRTtJQUMxRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDNUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFL0MsTUFBTSxRQUFRLEdBQUc7WUFDZixJQUFJLEVBQUUsQ0FBQyxLQUFhLEVBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDM0MsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1NBQ3JCLENBQUM7UUFFRixVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUMvQixZQUFZLEVBQUU7Z0JBQ1osS0FBSyxFQUFFLFFBQWdDO2FBQ3hDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsK0VBQStFO1FBQy9FLCtFQUErRTtRQUMvRSw2REFBNkQ7UUFDN0QsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudERhdGEsIEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUZpbGVEcm9wSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2ZpbGUtZHJvcC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBmaWxlIGRyb3AgY29tcG9uZW50IGluIHRlc3RzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGaWxlRHJvcEhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWZpbGUtZHJvcCc7XG5cbiAgI2dldERyb3BUYXJnZXQgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZmlsZS1kcm9wLXRhcmdldCcpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lGaWxlRHJvcEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lGaWxlRHJvcEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUZpbGVEcm9wSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lGaWxlRHJvcEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERyb3BzIGEgZmlsZSBvbnRvIHRoZSBjb21wb25lbnQncyBkcm9wIHRhcmdldC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBkcm9wRmlsZShmaWxlOiBGaWxlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2Ryb3BGaWxlcyhbZmlsZV0pO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgbWFraW5nIHRoaXMgcHVibGljIHdoZW4gd2UgZmluYWxpemUgdGhpcyBoYXJuZXNzJ3MgcHVibGljIEFQSS5cbiAgYXN5bmMgI2Ryb3BGaWxlcyhmaWxlczogRmlsZVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZHJvcFRhcmdldCA9IGF3YWl0IHRoaXMuI2dldERyb3BUYXJnZXQoKTtcblxuICAgIGNvbnN0IGZpbGVMaXN0ID0ge1xuICAgICAgaXRlbTogKGluZGV4OiBudW1iZXIpOiBGaWxlID0+IGZpbGVzW2luZGV4XSxcbiAgICAgIGxlbmd0aDogZmlsZXMubGVuZ3RoLFxuICAgIH07XG5cbiAgICBkcm9wVGFyZ2V0LmRpc3BhdGNoRXZlbnQoJ2Ryb3AnLCB7XG4gICAgICBkYXRhVHJhbnNmZXI6IHtcbiAgICAgICAgZmlsZXM6IGZpbGVMaXN0IGFzIHVua25vd24gYXMgRXZlbnREYXRhLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIFRoZSBmaWxlIGRyb3AgY29tcG9uZW50J3MgYGZpbGVzQ2hhbmdlZGAgZXZlbnQgaGFwcGVucyBhc3luY2hyb25vdXNseSBhcyB0aGVcbiAgICAvLyByZXN1bHQgb2YgYW4gZXZlbnQgaGFuZGxlciB3aGljaCBpcyBvdXRzaWRlIG9mIHRoZSB0ZXN0IGhhcm5lc3MgYXN5bmMgbG9naWMsXG4gICAgLy8gc28gZ2V0IGluIHRoZSBxdWV1ZSBhZnRlciB0aGUgZXZlbnQgaGFuZGxlciwgdGhlbiByZXNvbHZlLlxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKCksIDEwMCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1oYXJuZXNzLmZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvZm9ybS1lcnJvci9mb3JtLWVycm9yLWhhcm5lc3MuZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgYFNreUZvcm1FcnJvckhhcm5lc3NgIGluc3RhbmNlcy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBTa3lGb3JtRXJyb3JIYXJuZXNzRmlsdGVycyBleHRlbmRzIFNreUhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { SkyComponentHarness } from '@skyux/core/testing';
2
- export class SkyFormErrorHarness extends SkyComponentHarness {
3
- /**
4
- * @internal
5
- */
6
- static { this.hostSelector = 'sky-form-error'; }
7
- /**
8
- * Gets a `HarnessPredicate` that can be used to search for a
9
- * `SkyFormErrorHarness` that meets certain criteria
10
- */
11
- static with(filters) {
12
- return SkyFormErrorHarness.getDataSkyIdPredicate(filters);
13
- }
14
- /**
15
- * Gets the error name.
16
- */
17
- async getErrorName() {
18
- return (await this.host()).getAttribute('errorName');
19
- }
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSTFELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFDMUQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLGdCQUFnQixDQUFDO0lBRTlDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQW1DO1FBRW5DLE9BQU8sbUJBQW1CLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFlBQVk7UUFDdkIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vZm9ybS1lcnJvci1oYXJuZXNzLmZpbHRlcnMnO1xuXG5leHBvcnQgY2xhc3MgU2t5Rm9ybUVycm9ySGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZm9ybS1lcnJvcic7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUZvcm1FcnJvckhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUZvcm1FcnJvckhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUZvcm1FcnJvckhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5Rm9ybUVycm9ySGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZXJyb3IgbmFtZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRFcnJvck5hbWUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCdlcnJvck5hbWUnKTtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvcnMtaGFybmVzcy5maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMtaGFybmVzcy5maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lIYXJuZXNzRmlsdGVycyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBgU2t5Rm9ybUVycm9ySGFybmVzc2AgaW5zdGFuY2VzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5leHBvcnQgaW50ZXJmYWNlIFNreUZvcm1FcnJvcnNIYXJuZXNzRmlsdGVycyBleHRlbmRzIFNreUhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
@@ -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 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvcnMtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHM0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQUMzRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7SUFFL0M7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBb0M7UUFFcEMsT0FBTyxvQkFBb0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsYUFBYTtRQUN4QixNQUFNLGtCQUFrQixHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FDakQsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUM3QixFQUFFLENBQUM7UUFFSixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQ2hCLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQWlCO1FBQ3JDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlDLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9CLE9BQU8sS0FBSyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9ySGFybmVzcyB9IGZyb20gJy4vZm9ybS1lcnJvci1oYXJuZXNzJztcbmltcG9ydCB7IFNreUZvcm1FcnJvcnNIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vZm9ybS1lcnJvcnMtaGFybmVzcy5maWx0ZXJzJztcblxuZXhwb3J0IGNsYXNzIFNreUZvcm1FcnJvcnNIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1mb3JtLWVycm9ycyc7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUZvcm1FcnJvcnNIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWFcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lGb3JtRXJyb3JzSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5Rm9ybUVycm9yc0hhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5Rm9ybUVycm9yc0hhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBsaXN0IG9mIGFsbCBlcnJvcnMgZmlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Rm9ybUVycm9ycygpOiBQcm9taXNlPHsgZXJyb3JOYW1lOiBzdHJpbmcgfCBudWxsIH1bXT4ge1xuICAgIGNvbnN0IGZvcm1FcnJvckhhcm5lc3NlcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvckFsbChcbiAgICAgIFNreUZvcm1FcnJvckhhcm5lc3Mud2l0aCh7fSksXG4gICAgKSgpO1xuXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgICAgZm9ybUVycm9ySGFybmVzc2VzLm1hcChhc3luYyAoZm9ybUVycm9yKSA9PiB7XG4gICAgICAgIHJldHVybiB7IGVycm9yTmFtZTogYXdhaXQgZm9ybUVycm9yLmdldEVycm9yTmFtZSgpIH07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYW4gZXJyb3Igd2l0aCB0aGUgZ2l2ZW4gbmFtZSBoYXMgZmlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzRXJyb3IoZXJyb3JOYW1lOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBmb3JtRXJyb3JzID0gYXdhaXQgdGhpcy5nZXRGb3JtRXJyb3JzKCk7XG4gICAgcmV0dXJuIGZvcm1FcnJvcnMuc29tZSgoZXJyb3IpID0+IHtcbiAgICAgIHJldHVybiBlcnJvci5lcnJvck5hbWUgPT09IGVycm9yTmFtZTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYm94LWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9pbnB1dC1ib3gvaW5wdXQtYm94LWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgU2t5SW5wdXRCb3hIYXJuZXNzIGluc3RhbmNlcy5cbiAqIEBpbnRlcm5hbFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5leHBvcnQgaW50ZXJmYWNlIFNreUlucHV0Qm94SGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBTa3lIYXJuZXNzRmlsdGVycyB7fVxuIl19
@@ -1,188 +0,0 @@
1
- import { HarnessPredicate } from '@angular/cdk/testing';
2
- import { SkyQueryableComponentHarness } from '@skyux/core/testing';
3
- import { SkyHelpInlineHarness } from '@skyux/help-inline/testing';
4
- import { SkyStatusIndicatorHarness } from '@skyux/indicators/testing';
5
- import { SkyPopoverHarness } from '@skyux/popovers/testing';
6
- import { SkyCharacterCounterIndicatorHarness } from '../character-counter/character-counter-indicator-harness';
7
- import { SkyFormErrorsHarness } from '../form-error/form-errors-harness';
8
- /**
9
- * Harness for interacting with an input box component in tests.
10
- */
11
- export class SkyInputBoxHarness extends SkyQueryableComponentHarness {
12
- /**
13
- * @internal
14
- */
15
- static { this.hostSelector = 'sky-input-box'; }
16
- #getHintText = this.locatorForOptional('.sky-input-box-hint-text');
17
- #getLabel = this.locatorForOptional('.sky-control-label');
18
- #getWrapper = this.locatorFor('.sky-input-box');
19
- async #getFormError() {
20
- return this.locatorFor(SkyFormErrorsHarness)();
21
- }
22
- /**
23
- * Gets a `HarnessPredicate` that can be used to search for a
24
- * `SkyInputBoxHarness` that meets certain criteria.
25
- */
26
- static with(filters) {
27
- return SkyInputBoxHarness.getDataSkyIdPredicate(filters);
28
- }
29
- /**
30
- * Clicks the help inline button.
31
- */
32
- async clickHelpInline() {
33
- await (await this.#getHelpInline()).click();
34
- }
35
- /**
36
- * Gets the character counter indicator for the input box or throws an error if
37
- * a character limit is not specified.
38
- */
39
- async getCharacterCounter() {
40
- const characterCounter = await this.locatorForOptional(new HarnessPredicate(SkyCharacterCounterIndicatorHarness, {
41
- ancestor: '.sky-input-box-label-wrapper',
42
- }))();
43
- if (!characterCounter) {
44
- throw new Error('The input box does not have a character limit specified.');
45
- }
46
- return characterCounter;
47
- }
48
- /**
49
- * Gets a list of status indicator harnesses for errors not automatically
50
- * handled by input box.
51
- */
52
- async getCustomErrors() {
53
- const errors = await this.locatorForAll(new HarnessPredicate(SkyStatusIndicatorHarness, {
54
- selector: 'sky-status-indicator:not(sky-form-error sky-status-indicator)',
55
- }))();
56
- return errors;
57
- }
58
- /**
59
- * Whether the custom error is triggered.
60
- */
61
- async hasCustomFormError(errorName) {
62
- return await (await this.#getFormError()).hasError(errorName);
63
- }
64
- /**
65
- * Whether the required field is empty.
66
- */
67
- async hasRequiredError() {
68
- return await (await this.#getFormError()).hasError('required');
69
- }
70
- /**
71
- * Whether the field has more characters than allowed.
72
- */
73
- async hasMaxLengthError() {
74
- return (await this.#getFormError()).hasError('maxlength');
75
- }
76
- /**
77
- * Whether the field has fewer characters than allowed.
78
- */
79
- async hasMinLengthError() {
80
- return (await this.#getFormError()).hasError('minlength');
81
- }
82
- /**
83
- * Whether the field is set to an invalid email address.
84
- */
85
- async hasEmailError() {
86
- return (await this.#getFormError()).hasError('email');
87
- }
88
- /**
89
- * Whether the field is set to an invalid URL.
90
- */
91
- async hasUrlError() {
92
- return (await this.#getFormError()).hasError('url');
93
- }
94
- /**
95
- * Whether the field is set to an invalid date.
96
- */
97
- async hasInvalidDateError() {
98
- return (await this.#getFormError()).hasError('invalidDate');
99
- }
100
- /**
101
- * Whether the field is set to an invalid minimum date.
102
- */
103
- async hasMinDateError() {
104
- return (await this.#getFormError()).hasError('minDate');
105
- }
106
- /**
107
- * Whether the field is set to an invalid maximum date.
108
- */
109
- async hasMaxDateError() {
110
- return (await this.#getFormError()).hasError('maxDate');
111
- }
112
- /**
113
- * Whether the field is set to an invalid phone number.
114
- */
115
- async hasPhoneFieldError() {
116
- return (await this.#getFormError()).hasError('phone');
117
- }
118
- /**
119
- * Whether the field is set to an invalid time.
120
- */
121
- async hasTimeError() {
122
- return (await this.#getFormError()).hasError('time');
123
- }
124
- /**
125
- * Indicates whether the input box has disabled styles applied.
126
- */
127
- async getDisabled() {
128
- const wrapper = await this.#getWrapper();
129
- return wrapper.hasClass('sky-input-box-disabled');
130
- }
131
- /**
132
- * Gets the text for the input box label.
133
- */
134
- async getLabelText() {
135
- const label = await this.#getLabel();
136
- return await this.#getElementTextOrDefault(label);
137
- }
138
- /**
139
- * Gets the help popover for the input box or throws an error if
140
- * the help popover is not configured.
141
- */
142
- async getHelpPopover() {
143
- const helpPopover = await this.locatorForOptional(new HarnessPredicate(SkyPopoverHarness, {
144
- ancestor: '.sky-control-help',
145
- }))();
146
- if (!helpPopover) {
147
- throw new Error('The input box does not have a help popover configured.');
148
- }
149
- return helpPopover;
150
- }
151
- /**2
152
- * Gets the help popover content.
153
- */
154
- async getHelpPopoverContent() {
155
- return await (await this.#getHelpInline()).getPopoverContent();
156
- }
157
- /**
158
- * Gets the help popover title.
159
- */
160
- async getHelpPopoverTitle() {
161
- return await (await this.#getHelpInline()).getPopoverTitle();
162
- }
163
- /**
164
- * Gets the hint text for the input box.
165
- */
166
- async getHintText() {
167
- const hintText = await this.#getHintText();
168
- return this.#getElementTextOrDefault(hintText);
169
- }
170
- /**
171
- * Indicates whether the input box has stacked styles applied.
172
- */
173
- async getStacked() {
174
- const host = await this.host();
175
- return host.hasClass('sky-form-field-stacked');
176
- }
177
- async #getElementTextOrDefault(el) {
178
- return (await el?.text())?.trim() ?? '';
179
- }
180
- async #getHelpInline() {
181
- const harness = await this.locatorForOptional(SkyHelpInlineHarness)();
182
- if (harness) {
183
- return harness;
184
- }
185
- throw Error('No help inline found.');
186
- }
187
- }
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYm94LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvaW5wdXQtYm94L2lucHV0LWJveC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBRXJFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTVELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSXpFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLDRCQUE0QjtJQUNsRTs7T0FFRzthQUNXLGlCQUFZLEdBQUcsZUFBZSxDQUFDO0lBRTdDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNuRSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDMUQsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVoRCxLQUFLLENBQUMsYUFBYTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUFrQztRQUVsQyxPQUFPLGtCQUFrQixDQUFDLHFCQUFx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QUFDLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFM0MsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFL0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxFQUFzQjtRQUNuRCxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztRQUV0RSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUVELE1BQU0sS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUsIFRlc3RFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVF1ZXJ5YWJsZUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2hlbHAtaW5saW5lL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5U3RhdHVzSW5kaWNhdG9ySGFybmVzcyB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5UG9wb3Zlckhhcm5lc3MgfSBmcm9tICdAc2t5dXgvcG9wb3ZlcnMvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzIH0gZnJvbSAnLi4vY2hhcmFjdGVyLWNvdW50ZXIvY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5Rm9ybUVycm9yc0hhcm5lc3MgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lJbnB1dEJveEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9pbnB1dC1ib3gtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGFuIGlucHV0IGJveCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lJbnB1dEJveEhhcm5lc3MgZXh0ZW5kcyBTa3lRdWVyeWFibGVDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWlucHV0LWJveCc7XG5cbiAgI2dldEhpbnRUZXh0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktaW5wdXQtYm94LWhpbnQtdGV4dCcpO1xuICAjZ2V0TGFiZWwgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1jb250cm9sLWxhYmVsJyk7XG4gICNnZXRXcmFwcGVyID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWlucHV0LWJveCcpO1xuXG4gIGFzeW5jICNnZXRGb3JtRXJyb3IoKTogUHJvbWlzZTxTa3lGb3JtRXJyb3JzSGFybmVzcz4ge1xuICAgIHJldHVybiB0aGlzLmxvY2F0b3JGb3IoU2t5Rm9ybUVycm9yc0hhcm5lc3MpKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5SW5wdXRCb3hIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5SW5wdXRCb3hIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lJbnB1dEJveEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5SW5wdXRCb3hIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGhlbHAgaW5saW5lIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0hlbHBJbmxpbmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGFyYWN0ZXIgY291bnRlciBpbmRpY2F0b3IgZm9yIHRoZSBpbnB1dCBib3ggb3IgdGhyb3dzIGFuIGVycm9yIGlmXG4gICAqIGEgY2hhcmFjdGVyIGxpbWl0IGlzIG5vdCBzcGVjaWZpZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q2hhcmFjdGVyQ291bnRlcigpOiBQcm9taXNlPFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzPiB7XG4gICAgY29uc3QgY2hhcmFjdGVyQ291bnRlciA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICAgbmV3IEhhcm5lc3NQcmVkaWNhdGUoU2t5Q2hhcmFjdGVyQ291bnRlckluZGljYXRvckhhcm5lc3MsIHtcbiAgICAgICAgYW5jZXN0b3I6ICcuc2t5LWlucHV0LWJveC1sYWJlbC13cmFwcGVyJyxcbiAgICAgIH0pLFxuICAgICkoKTtcblxuICAgIGlmICghY2hhcmFjdGVyQ291bnRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVGhlIGlucHV0IGJveCBkb2VzIG5vdCBoYXZlIGEgY2hhcmFjdGVyIGxpbWl0IHNwZWNpZmllZC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2hhcmFjdGVyQ291bnRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgbGlzdCBvZiBzdGF0dXMgaW5kaWNhdG9yIGhhcm5lc3NlcyBmb3IgZXJyb3JzIG5vdCBhdXRvbWF0aWNhbGx5XG4gICAqIGhhbmRsZWQgYnkgaW5wdXQgYm94LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEN1c3RvbUVycm9ycygpOiBQcm9taXNlPFNreVN0YXR1c0luZGljYXRvckhhcm5lc3NbXT4ge1xuICAgIGNvbnN0IGVycm9ycyA9IGF3YWl0IHRoaXMubG9jYXRvckZvckFsbChcbiAgICAgIG5ldyBIYXJuZXNzUHJlZGljYXRlKFNreVN0YXR1c0luZGljYXRvckhhcm5lc3MsIHtcbiAgICAgICAgc2VsZWN0b3I6XG4gICAgICAgICAgJ3NreS1zdGF0dXMtaW5kaWNhdG9yOm5vdChza3ktZm9ybS1lcnJvciBza3ktc3RhdHVzLWluZGljYXRvciknLFxuICAgICAgfSksXG4gICAgKSgpO1xuXG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjdXN0b20gZXJyb3IgaXMgdHJpZ2dlcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0N1c3RvbUZvcm1FcnJvcihlcnJvck5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKGVycm9yTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmVxdWlyZWQgZmllbGQgaXMgZW1wdHkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzUmVxdWlyZWRFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcigpKS5oYXNFcnJvcigncmVxdWlyZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBoYXMgbW9yZSBjaGFyYWN0ZXJzIHRoYW4gYWxsb3dlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNYXhMZW5ndGhFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcigpKS5oYXNFcnJvcignbWF4bGVuZ3RoJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgaGFzIGZld2VyIGNoYXJhY3RlcnMgdGhhbiBhbGxvd2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc01pbkxlbmd0aEVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKCdtaW5sZW5ndGgnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBpcyBzZXQgdG8gYW4gaW52YWxpZCBlbWFpbCBhZGRyZXNzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0VtYWlsRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3IoKSkuaGFzRXJyb3IoJ2VtYWlsJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgaXMgc2V0IHRvIGFuIGludmFsaWQgVVJMLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc1VybEVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKCd1cmwnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBpcyBzZXQgdG8gYW4gaW52YWxpZCBkYXRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0ludmFsaWREYXRlRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3IoKSkuaGFzRXJyb3IoJ2ludmFsaWREYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgaXMgc2V0IHRvIGFuIGludmFsaWQgbWluaW11bSBkYXRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc01pbkRhdGVFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcigpKS5oYXNFcnJvcignbWluRGF0ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpZWxkIGlzIHNldCB0byBhbiBpbnZhbGlkIG1heGltdW0gZGF0ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNYXhEYXRlRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3IoKSkuaGFzRXJyb3IoJ21heERhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBpcyBzZXQgdG8gYW4gaW52YWxpZCBwaG9uZSBudW1iZXIuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzUGhvbmVGaWVsZEVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKCdwaG9uZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpZWxkIGlzIHNldCB0byBhbiBpbnZhbGlkIHRpbWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzVGltZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKCd0aW1lJyk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGlucHV0IGJveCBoYXMgZGlzYWJsZWQgc3R5bGVzIGFwcGxpZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RGlzYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgd3JhcHBlciA9IGF3YWl0IHRoaXMuI2dldFdyYXBwZXIoKTtcblxuICAgIHJldHVybiB3cmFwcGVyLmhhc0NsYXNzKCdza3ktaW5wdXQtYm94LWRpc2FibGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBmb3IgdGhlIGlucHV0IGJveCBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMYWJlbFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBsYWJlbCA9IGF3YWl0IHRoaXMuI2dldExhYmVsKCk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jZ2V0RWxlbWVudFRleHRPckRlZmF1bHQobGFiZWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciBmb3IgdGhlIGlucHV0IGJveCBvciB0aHJvd3MgYW4gZXJyb3IgaWZcbiAgICogdGhlIGhlbHAgcG9wb3ZlciBpcyBub3QgY29uZmlndXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlcigpOiBQcm9taXNlPFNreVBvcG92ZXJIYXJuZXNzPiB7XG4gICAgY29uc3QgaGVscFBvcG92ZXIgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAgIG5ldyBIYXJuZXNzUHJlZGljYXRlKFNreVBvcG92ZXJIYXJuZXNzLCB7XG4gICAgICAgIGFuY2VzdG9yOiAnLnNreS1jb250cm9sLWhlbHAnLFxuICAgICAgfSksXG4gICAgKSgpO1xuXG4gICAgaWYgKCFoZWxwUG9wb3Zlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgaW5wdXQgYm94IGRvZXMgbm90IGhhdmUgYSBoZWxwIHBvcG92ZXIgY29uZmlndXJlZC4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGVscFBvcG92ZXI7XG4gIH1cblxuICAvKioyXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyQ29udGVudCgpOiBQcm9taXNlPFxuICAgIFRlbXBsYXRlUmVmPHVua25vd24+IHwgc3RyaW5nIHwgdW5kZWZpbmVkXG4gID4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyQ29udGVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciB0aXRsZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlclRpdGxlKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmdldFBvcG92ZXJUaXRsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhpbnQgdGV4dCBmb3IgdGhlIGlucHV0IGJveC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIaW50VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGhpbnRUZXh0ID0gYXdhaXQgdGhpcy4jZ2V0SGludFRleHQoKTtcblxuICAgIHJldHVybiB0aGlzLiNnZXRFbGVtZW50VGV4dE9yRGVmYXVsdChoaW50VGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGlucHV0IGJveCBoYXMgc3RhY2tlZCBzdHlsZXMgYXBwbGllZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTdGFja2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGhvc3QgPSBhd2FpdCB0aGlzLmhvc3QoKTtcblxuICAgIHJldHVybiBob3N0Lmhhc0NsYXNzKCdza3ktZm9ybS1maWVsZC1zdGFja2VkJyk7XG4gIH1cblxuICBhc3luYyAjZ2V0RWxlbWVudFRleHRPckRlZmF1bHQoZWw6IFRlc3RFbGVtZW50IHwgbnVsbCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCBlbD8udGV4dCgpKT8udHJpbSgpID8/ICcnO1xuICB9XG5cbiAgYXN5bmMgI2dldEhlbHBJbmxpbmUoKTogUHJvbWlzZTxTa3lIZWxwSW5saW5lSGFybmVzcz4ge1xuICAgIGNvbnN0IGhhcm5lc3MgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lIZWxwSW5saW5lSGFybmVzcykoKTtcblxuICAgIGlmIChoYXJuZXNzKSB7XG4gICAgICByZXR1cm4gaGFybmVzcztcbiAgICB9XG5cbiAgICB0aHJvdyBFcnJvcignTm8gaGVscCBpbmxpbmUgZm91bmQuJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAtaGFybmVzcy1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL3JhZGlvL3JhZGlvLWdyb3VwLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgYFNreVJhZGlvR3JvdXBIYXJuZXNzYCBpbnN0YW5jZXMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBTa3lSYWRpb0dyb3VwSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBTa3lIYXJuZXNzRmlsdGVycyB7fVxuIl19