@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,9 +1,5 @@
1
- import { SkyAppLocaleInfo, SkyLibResourcesProvider } from '@skyux/i18n';
2
1
  import * as i0 from "@angular/core";
3
2
  import * as i1 from "@skyux/i18n";
4
- export declare class SkyFormsResourcesProvider implements SkyLibResourcesProvider {
5
- getString(localeInfo: SkyAppLocaleInfo, name: string): string | undefined;
6
- }
7
3
  /**
8
4
  * Import into any component library module that needs to use resource strings.
9
5
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/forms",
3
- "version": "11.21.0",
3
+ "version": "11.23.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -41,14 +41,14 @@
41
41
  "@angular/core": "^18.2.8",
42
42
  "@angular/forms": "^18.2.8",
43
43
  "@angular/platform-browser": "^18.2.8",
44
- "@skyux-sdk/testing": "11.21.0",
45
- "@skyux/core": "11.21.0",
46
- "@skyux/help-inline": "11.21.0",
47
- "@skyux/i18n": "11.21.0",
48
- "@skyux/icon": "11.21.0",
49
- "@skyux/indicators": "11.21.0",
50
- "@skyux/popovers": "11.21.0",
51
- "@skyux/theme": "11.21.0"
44
+ "@skyux-sdk/testing": "11.23.0",
45
+ "@skyux/core": "11.23.0",
46
+ "@skyux/help-inline": "11.23.0",
47
+ "@skyux/i18n": "11.23.0",
48
+ "@skyux/icon": "11.23.0",
49
+ "@skyux/indicators": "11.23.0",
50
+ "@skyux/popovers": "11.23.0",
51
+ "@skyux/theme": "11.23.0"
52
52
  },
53
53
  "dependencies": {
54
54
  "tslib": "^2.6.3"
@@ -1,6 +1,7 @@
1
1
  import { ComponentFixture } from '@angular/core/testing';
2
2
  /**
3
3
  * Allows interaction with a SKY UX radio buttons within a radio group.
4
+ * @deprecated Use `SkyRadioHarness` instead.
4
5
  * @internal
5
6
  */
6
7
  export declare class SkyRadioFixture {
@@ -0,0 +1,7 @@
1
+ import { SkyHarnessFilters } from '@skyux/core/testing';
2
+ /**
3
+ * A set of criteria that can be used to filter a list of `SkyFieldGroupHarness` instances.
4
+ * @internal
5
+ */
6
+ export interface SkyFieldGroupHarnessFilters extends SkyHarnessFilters {
7
+ }
@@ -0,0 +1,57 @@
1
+ import { HarnessPredicate } from '@angular/cdk/testing';
2
+ import { TemplateRef } from '@angular/core';
3
+ import { SkyComponentHarness } from '@skyux/core/testing';
4
+ import { SkyFieldGroupHeadingLevel, SkyFieldGroupHeadingStyle } from '@skyux/forms';
5
+ import { SkyFieldGroupHarnessFilters } from './field-group-harness-filters';
6
+ /**
7
+ * Harness for interacting with a field group component in tests.
8
+ */
9
+ export declare class SkyFieldGroupHarness extends SkyComponentHarness {
10
+ #private;
11
+ /**
12
+ * @internal
13
+ */
14
+ static hostSelector: string;
15
+ /**
16
+ * Gets a `HarnessPredicate` that can be used to search for a
17
+ * `SkyFieldGroupHarness` that meets certain criteria.
18
+ */
19
+ static with(filters: SkyFieldGroupHarnessFilters): HarnessPredicate<SkyFieldGroupHarness>;
20
+ /**
21
+ * Gets the field group's heading text. If `headingHidden` is true,
22
+ * the text will still be returned.
23
+ */
24
+ getHeadingText(): Promise<string | undefined>;
25
+ /**
26
+ * Gets the field group's hint text.
27
+ */
28
+ getHintText(): Promise<string>;
29
+ /**
30
+ * Whether the heading is hidden.
31
+ */
32
+ getHeadingHidden(): Promise<boolean>;
33
+ /**
34
+ * Whether the field group is stacked.
35
+ */
36
+ getStacked(): Promise<boolean>;
37
+ /**
38
+ * The semantic heading level used for the field group.
39
+ */
40
+ getHeadingLevel(): Promise<SkyFieldGroupHeadingLevel>;
41
+ /**
42
+ * The heading style used for the field group.
43
+ */
44
+ getHeadingStyle(): Promise<SkyFieldGroupHeadingStyle>;
45
+ /**
46
+ * Clicks the help inline button.
47
+ */
48
+ clickHelpInline(): Promise<void>;
49
+ /**
50
+ * Gets the help popover content.
51
+ */
52
+ getHelpPopoverContent(): Promise<TemplateRef<unknown> | string | undefined>;
53
+ /**
54
+ * Gets the help popover title.
55
+ */
56
+ getHelpPopoverTitle(): Promise<string | undefined>;
57
+ }
@@ -1,22 +1,24 @@
1
- export { SkyInputBoxHarness } from './input-box/input-box-harness';
2
- export { SkyInputBoxHarnessFilters } from './input-box/input-box-harness-filters';
3
- export { SkyCharacterCounterIndicatorHarness } from './character-counter/character-counter-indicator-harness';
4
- export { SkyCharacterCounterIndicatorHarnessFilters } from './character-counter/character-counter-indicator-harness-filters';
5
- export { SkyCheckboxFixture } from './checkbox-fixture';
6
- export { SkyCheckboxGroupHarness } from './checkbox/checkbox-group-harness';
7
- export { SkyCheckboxGroupHarnessFilters } from './checkbox/checkbox-group-harness-filters';
8
- export { SkyCheckboxHarness } from './checkbox/checkbox-harness';
9
- export { SkyCheckboxHarnessFilters } from './checkbox/checkbox-harness-filters';
10
- export { SkyCheckboxLabelHarness } from './checkbox/checkbox-label-harness';
11
- export { SkyFileDropHarness } from './file-drop/file-drop-harness';
12
- export { SkyFileDropHarnessFilters } from './file-drop/file-drop-harness-filters';
13
- export { SkyFormErrorsHarness } from './form-error/form-errors-harness';
14
- export { SkyFormErrorsHarnessFilters } from './form-error/form-errors-harness.filters';
15
- export { SkyFormErrorHarness } from './form-error/form-error-harness';
16
- export { SkyFormErrorHarnessFilters } from './form-error/form-error-harness.filters';
17
- export { SkyRadioFixture } from './radio-fixture';
18
- export { SkyRadioGroupHarness } from './radio/radio-group-harness';
19
- export { SkyRadioGroupHarnessFilters } from './radio/radio-group-harness-filters';
20
- export { SkyRadioHarness } from './radio/radio-harness';
21
- export { SkyRadioHarnessFilters } from './radio/radio-harness-filters';
22
- export { SkyRadioLabelHarness } from './radio/radio-label-harness';
1
+ export { SkyInputBoxHarness } from './modules/input-box/input-box-harness';
2
+ export { SkyInputBoxHarnessFilters } from './modules/input-box/input-box-harness-filters';
3
+ export { SkyCharacterCounterIndicatorHarness } from './modules/character-counter/character-counter-indicator-harness';
4
+ export { SkyCharacterCounterIndicatorHarnessFilters } from './modules/character-counter/character-counter-indicator-harness-filters';
5
+ export { SkyCheckboxFixture } from './legacy/checkbox-fixture';
6
+ export { SkyCheckboxGroupHarness } from './modules/checkbox/checkbox-group-harness';
7
+ export { SkyCheckboxGroupHarnessFilters } from './modules/checkbox/checkbox-group-harness-filters';
8
+ export { SkyCheckboxHarness } from './modules/checkbox/checkbox-harness';
9
+ export { SkyCheckboxHarnessFilters } from './modules/checkbox/checkbox-harness-filters';
10
+ export { SkyCheckboxLabelHarness } from './modules/checkbox/checkbox-label-harness';
11
+ export { SkyFileDropHarness } from './modules/file-attachment/file-drop/file-drop-harness';
12
+ export { SkyFileDropHarnessFilters } from './modules/file-attachment/file-drop/file-drop-harness-filters';
13
+ export { SkyFormErrorsHarness } from './modules/form-error/form-errors-harness';
14
+ export { SkyFormErrorsHarnessFilters } from './modules/form-error/form-errors-harness.filters';
15
+ export { SkyFormErrorHarness } from './modules/form-error/form-error-harness';
16
+ export { SkyFormErrorHarnessFilters } from './modules/form-error/form-error-harness.filters';
17
+ export { SkyFieldGroupHarness } from './modules/field-group/field-group-harness';
18
+ export { SkyFieldGroupHarnessFilters } from './modules/field-group/field-group-harness-filters';
19
+ export { SkyRadioFixture } from './legacy/radio-fixture';
20
+ export { SkyRadioGroupHarness } from './modules/radio/radio-group-harness';
21
+ export { SkyRadioGroupHarnessFilters } from './modules/radio/radio-group-harness-filters';
22
+ export { SkyRadioHarness } from './modules/radio/radio-harness';
23
+ export { SkyRadioHarnessFilters } from './modules/radio/radio-harness-filters';
24
+ export { SkyRadioLabelHarness } from './modules/radio/radio-label-harness';
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci1pbmRpY2F0b3ItaGFybmVzcy1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lIYXJuZXNzRmlsdGVycyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBTa3lDaGFyYWN0ZXJDb3VudGVySW5kaWNhdG9ySGFybmVzcyBpbnN0YW5jZXMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBTa3lDaGFyYWN0ZXJDb3VudGVySW5kaWNhdG9ySGFybmVzc0ZpbHRlcnNcbiAgZXh0ZW5kcyBTa3lIYXJuZXNzRmlsdGVycyB7fVxuIl19
@@ -1,53 +0,0 @@
1
- import { SkyComponentHarness } from '@skyux/core/testing';
2
- /**
3
- * Harness for interacting with a character counter indicator component in tests.
4
- */
5
- export class SkyCharacterCounterIndicatorHarness extends SkyComponentHarness {
6
- /**
7
- * @internal
8
- */
9
- static { this.hostSelector = 'sky-character-counter-indicator'; }
10
- #getLabel = this.locatorFor('.sky-character-count-label');
11
- /**
12
- * Gets a `HarnessPredicate` that can be used to search for a
13
- * `SkyCharacterCounterIndicatorHarness` that meets certain criteria.
14
- */
15
- static with(filters) {
16
- return SkyCharacterCounterIndicatorHarness.getDataSkyIdPredicate(filters);
17
- }
18
- /**
19
- * Gets the current character count.
20
- */
21
- async getCharacterCount() {
22
- return (await this.#getLabelParts()).count;
23
- }
24
- /**
25
- * Gets the character counter limit.
26
- */
27
- async getCharacterCountLimit() {
28
- return (await this.#getLabelParts()).limit;
29
- }
30
- /**
31
- * Indicates whether the character counter is in an error state because the current character
32
- * count is greater than the limit.
33
- */
34
- async isOverLimit() {
35
- return (await this.#getLabel()).hasClass('sky-error-label');
36
- }
37
- async #getLabelParts() {
38
- const label = await this.#getLabel();
39
- const textParts = (await label.text()).split('/');
40
- let labelParts;
41
- if (textParts.length === 2) {
42
- labelParts = {
43
- count: +textParts[0].trim(),
44
- limit: +textParts[1].trim(),
45
- };
46
- }
47
- if (labelParts && !isNaN(labelParts.count) && !isNaN(labelParts.limit)) {
48
- return labelParts;
49
- }
50
- throw new Error('The character counter indicator does not contain text in the expected format.');
51
- }
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvY2hhcmFjdGVyLWNvdW50ZXIvY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFTMUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsbUJBQW1CO0lBQzFFOztPQUVHO2FBQ1csaUJBQVksR0FBRyxpQ0FBaUMsQ0FBQztJQUUvRCxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBRTFEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQW1EO1FBRW5ELE9BQU8sbUNBQW1DLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQjtRQUM1QixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHNCQUFzQjtRQUNqQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWxELElBQUksVUFBa0MsQ0FBQztRQUV2QyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0IsVUFBVSxHQUFHO2dCQUNYLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7Z0JBQzNCLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7YUFDNUIsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLFVBQVUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkUsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQ2IsK0VBQStFLENBQ2hGLENBQUM7SUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5Q2hhcmFjdGVyQ291bnRlckluZGljYXRvckhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jaGFyYWN0ZXItY291bnRlci1pbmRpY2F0b3ItaGFybmVzcy1maWx0ZXJzJztcblxudHlwZSBMYWJlbFBhcnRzID0ge1xuICBjb3VudDogbnVtYmVyO1xuICBsaW1pdDogbnVtYmVyO1xufTtcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgY2hhcmFjdGVyIGNvdW50ZXIgaW5kaWNhdG9yIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1jaGFyYWN0ZXItY291bnRlci1pbmRpY2F0b3InO1xuXG4gICNnZXRMYWJlbCA9IHRoaXMubG9jYXRvckZvcignLnNreS1jaGFyYWN0ZXItY291bnQtbGFiZWwnKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5Q2hhcmFjdGVyQ291bnRlckluZGljYXRvckhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lDaGFyYWN0ZXJDb3VudGVySW5kaWNhdG9ySGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5Q2hhcmFjdGVyQ291bnRlckluZGljYXRvckhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5Q2hhcmFjdGVyQ291bnRlckluZGljYXRvckhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgY2hhcmFjdGVyIGNvdW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldENoYXJhY3RlckNvdW50KCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRMYWJlbFBhcnRzKCkpLmNvdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGNoYXJhY3RlciBjb3VudGVyIGxpbWl0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldENoYXJhY3RlckNvdW50TGltaXQoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldExhYmVsUGFydHMoKSkubGltaXQ7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNoYXJhY3RlciBjb3VudGVyIGlzIGluIGFuIGVycm9yIHN0YXRlIGJlY2F1c2UgdGhlIGN1cnJlbnQgY2hhcmFjdGVyXG4gICAqIGNvdW50IGlzIGdyZWF0ZXIgdGhhbiB0aGUgbGltaXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNPdmVyTGltaXQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRMYWJlbCgpKS5oYXNDbGFzcygnc2t5LWVycm9yLWxhYmVsJyk7XG4gIH1cblxuICBhc3luYyAjZ2V0TGFiZWxQYXJ0cygpOiBQcm9taXNlPExhYmVsUGFydHM+IHtcbiAgICBjb25zdCBsYWJlbCA9IGF3YWl0IHRoaXMuI2dldExhYmVsKCk7XG4gICAgY29uc3QgdGV4dFBhcnRzID0gKGF3YWl0IGxhYmVsLnRleHQoKSkuc3BsaXQoJy8nKTtcblxuICAgIGxldCBsYWJlbFBhcnRzOiBMYWJlbFBhcnRzIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKHRleHRQYXJ0cy5sZW5ndGggPT09IDIpIHtcbiAgICAgIGxhYmVsUGFydHMgPSB7XG4gICAgICAgIGNvdW50OiArdGV4dFBhcnRzWzBdLnRyaW0oKSxcbiAgICAgICAgbGltaXQ6ICt0ZXh0UGFydHNbMV0udHJpbSgpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAobGFiZWxQYXJ0cyAmJiAhaXNOYU4obGFiZWxQYXJ0cy5jb3VudCkgJiYgIWlzTmFOKGxhYmVsUGFydHMubGltaXQpKSB7XG4gICAgICByZXR1cm4gbGFiZWxQYXJ0cztcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnVGhlIGNoYXJhY3RlciBjb3VudGVyIGluZGljYXRvciBkb2VzIG5vdCBjb250YWluIHRleHQgaW4gdGhlIGV4cGVjdGVkIGZvcm1hdC4nLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAtaGFybmVzcy1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL2NoZWNrYm94L2NoZWNrYm94LWdyb3VwLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgYFNreUNoZWNrYm94R3JvdXBIYXJuZXNzYCBpbnN0YW5jZXMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBTa3lDaGVja2JveEdyb3VwSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBTa3lIYXJuZXNzRmlsdGVycyB7fVxuIl19
@@ -1,158 +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 { SkyCheckboxHarness } from './checkbox-harness';
5
- /**
6
- * Harness for interacting with a checkbox group component in tests.
7
- */
8
- export class SkyCheckboxGroupHarness extends SkyComponentHarness {
9
- /**
10
- * @internal
11
- */
12
- static { this.hostSelector = 'sky-checkbox-group'; }
13
- #getCheckboxes = this.locatorForAll(SkyCheckboxHarness);
14
- #getHeading = this.locatorFor('.sky-checkbox-group-heading');
15
- #getHeadingWrapper = this.locatorFor('.sky-checkbox-group-legend');
16
- #getHintText = this.locatorForOptional('.sky-checkbox-group-hint-text');
17
- #getLegendDefault = this.locatorForOptional('legend .sky-checkbox-group-heading-text');
18
- #getLegendH3 = this.locatorForOptional('legend h3');
19
- #getLegendH4 = this.locatorForOptional('legend h4');
20
- #getLegendH5 = this.locatorForOptional('legend h5');
21
- #getLegendHeading = this.locatorFor('legend h3,h4,h5,.sky-checkbox-group-heading-text');
22
- /**
23
- * Gets a `HarnessPredicate` that can be used to search for a
24
- * `SkyCheckboxGroupHarness` that meets certain criteria.
25
- */
26
- static with(filters) {
27
- return SkyCheckboxGroupHarness.getDataSkyIdPredicate(filters);
28
- }
29
- /**
30
- * Clicks the help inline button.
31
- */
32
- async clickHelpInline() {
33
- return (await this.#getHelpInline()).click();
34
- }
35
- /**
36
- * Gets an array of harnesses for the checkboxes in the checkbox group.
37
- */
38
- async getCheckboxes() {
39
- return await this.#getCheckboxes();
40
- }
41
- /**
42
- * Gets the help popover content.
43
- */
44
- async getHelpPopoverContent() {
45
- const content = await (await this.#getHelpInline()).getPopoverContent();
46
- return content;
47
- }
48
- /**
49
- * Gets the help popover title.
50
- */
51
- async getHelpPopoverTitle() {
52
- return await (await this.#getHelpInline()).getPopoverTitle();
53
- }
54
- /**
55
- * Gets the checkbox group's heading text. If `headingHidden` is true,
56
- * the text will still be returned.
57
- */
58
- async getHeadingText() {
59
- return (await this.#getLegendHeading()).text();
60
- }
61
- /**
62
- * Gets the checkbox group's hint text.
63
- */
64
- async getHintText() {
65
- const hintText = await this.#getHintText();
66
- return (await hintText?.text())?.trim() ?? '';
67
- }
68
- /**
69
- * Whether the heading is hidden.
70
- */
71
- async getHeadingHidden() {
72
- return (await this.#getHeadingWrapper()).hasClass('sky-screen-reader-only');
73
- }
74
- /**
75
- * The semantic heading level used for the checkbox group. Returns undefined if heading level is not set.
76
- */
77
- async getHeadingLevel() {
78
- const heading = await this.#getLegendHeading();
79
- const h3 = await heading.matchesSelector('h3');
80
- const h4 = await heading.matchesSelector('h4');
81
- const h5 = await heading.matchesSelector('h5');
82
- if (h3) {
83
- return 3;
84
- }
85
- else if (h4) {
86
- return 4;
87
- }
88
- else if (h5) {
89
- return 5;
90
- }
91
- else {
92
- return undefined;
93
- }
94
- }
95
- /**
96
- * The heading style used for the checkbox group.
97
- */
98
- async getHeadingStyle() {
99
- const heading = await this.#getLegendHeading();
100
- const isHeadingStyle3 = await heading.hasClass('sky-font-heading-3');
101
- const isHeadingStyle4 = await heading.hasClass('sky-font-heading-4');
102
- if (isHeadingStyle3) {
103
- return 3;
104
- }
105
- else if (isHeadingStyle4) {
106
- return 4;
107
- }
108
- else {
109
- return 5;
110
- }
111
- }
112
- /**
113
- * Whether the checkbox group is required.
114
- */
115
- async getRequired() {
116
- const heading = await this.#getHeading();
117
- return await heading.hasClass('sky-control-label-required');
118
- }
119
- /**
120
- * Whether the checkbox group is stacked.
121
- */
122
- async getStacked() {
123
- const host = await this.host();
124
- const heading = (await this.#getLegendH3()) ||
125
- (await this.#getLegendH4()) ||
126
- (await this.#getLegendH5());
127
- const label = await this.#getLegendDefault();
128
- return (((await host.hasClass('sky-form-field-stacked')) && !!label) ||
129
- ((await host.hasClass('sky-field-group-stacked')) && !!heading));
130
- }
131
- /**
132
- * Whether all the checkboxes in a required group are unchecked.
133
- */
134
- async hasRequiredError() {
135
- return (await this.#getFormErrors()).hasError('required');
136
- }
137
- /**
138
- * Whether the checkbox group has errors.
139
- */
140
- async hasError(errorName) {
141
- return (await this.#getFormErrors()).hasError(errorName);
142
- }
143
- async #getFormErrors() {
144
- return await this.locatorFor(SkyFormErrorsHarness.with({
145
- dataSkyId: 'checkbox-group-form-errors',
146
- }))();
147
- }
148
- async #getHelpInline() {
149
- const harness = await this.locatorForOptional(SkyHelpInlineHarness.with({
150
- ancestor: '.sky-checkbox-group > .sky-checkbox-group-legend',
151
- }))();
152
- if (harness) {
153
- return harness;
154
- }
155
- throw Error('No help inline found.');
156
- }
157
- }
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9jaGVja2JveC9jaGVja2JveC1ncm91cC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXhEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG1CQUFtQjtJQUM5RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsb0JBQW9CLENBQUM7SUFFbEQsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN4RCxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzdELGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNuRSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDeEUsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUN6Qyx5Q0FBeUMsQ0FDMUMsQ0FBQztJQUNGLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwRCxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELGlCQUFp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LFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQzFCLG9CQUFvQixDQUFDLElBQUksQ0FBQztZQUN4QixTQUFTLEVBQUUsNEJBQTRCO1NBQ3hDLENBQUMsQ0FDSCxFQUFFLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQzNDLG9CQUFvQixDQUFDLElBQUksQ0FBQztZQUN4QixRQUFRLEVBQUUsa0RBQWtEO1NBQzdELENBQUMsQ0FDSCxFQUFFLENBQUM7UUFFSixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUVELE1BQU0sS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQge1xuICBTa3lDaGVja2JveEdyb3VwSGVhZGluZ0xldmVsLFxuICBTa3lDaGVja2JveEdyb3VwSGVhZGluZ1N0eWxlLFxufSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5SGVscElubGluZUhhcm5lc3MgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUZvcm1FcnJvcnNIYXJuZXNzIH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9ycy1oYXJuZXNzJztcblxuaW1wb3J0IHsgU2t5Q2hlY2tib3hHcm91cEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jaGVja2JveC1ncm91cC1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hIYXJuZXNzIH0gZnJvbSAnLi9jaGVja2JveC1oYXJuZXNzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgY2hlY2tib3ggZ3JvdXAgY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5Q2hlY2tib3hHcm91cEhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWNoZWNrYm94LWdyb3VwJztcblxuICAjZ2V0Q2hlY2tib3hlcyA9IHRoaXMubG9jYXRvckZvckFsbChTa3lDaGVja2JveEhhcm5lc3MpO1xuICAjZ2V0SGVhZGluZyA9IHRoaXMubG9jYXRvckZvcignLnNreS1jaGVja2JveC1ncm91cC1oZWFkaW5nJyk7XG4gICNnZXRIZWFkaW5nV3JhcHBlciA9IHRoaXMubG9jYXRvckZvcignLnNreS1jaGVja2JveC1ncm91cC1sZWdlbmQnKTtcbiAgI2dldEhpbnRUZXh0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktY2hlY2tib3gtZ3JvdXAtaGludC10ZXh0Jyk7XG4gICNnZXRMZWdlbmREZWZhdWx0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgJ2xlZ2VuZCAuc2t5LWNoZWNrYm94LWdyb3VwLWhlYWRpbmctdGV4dCcsXG4gICk7XG4gICNnZXRMZWdlbmRIMyA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCdsZWdlbmQgaDMnKTtcbiAgI2dldExlZ2VuZEg0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJ2xlZ2VuZCBoNCcpO1xuICAjZ2V0TGVnZW5kSDUgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnbGVnZW5kIGg1Jyk7XG4gICNnZXRMZWdlbmRIZWFkaW5nID0gdGhpcy5sb2NhdG9yRm9yKFxuICAgICdsZWdlbmQgaDMsaDQsaDUsLnNreS1jaGVja2JveC1ncm91cC1oZWFkaW5nLXRleHQnLFxuICApO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lDaGVja2JveEdyb3VwSGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUNoZWNrYm94R3JvdXBIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lDaGVja2JveEdyb3VwSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lDaGVja2JveEdyb3VwSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBoZWxwIGlubGluZSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tIZWxwSW5saW5lKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYW4gYXJyYXkgb2YgaGFybmVzc2VzIGZvciB0aGUgY2hlY2tib3hlcyBpbiB0aGUgY2hlY2tib3ggZ3JvdXAuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q2hlY2tib3hlcygpOiBQcm9taXNlPFNreUNoZWNrYm94SGFybmVzc1tdPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuI2dldENoZWNrYm94ZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlckNvbnRlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlckNvbnRlbnQoKTtcblxuICAgIHJldHVybiBjb250ZW50IGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyVGl0bGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGVja2JveCBncm91cCdzIGhlYWRpbmcgdGV4dC4gSWYgYGhlYWRpbmdIaWRkZW5gIGlzIHRydWUsXG4gICAqIHRoZSB0ZXh0IHdpbGwgc3RpbGwgYmUgcmV0dXJuZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVhZGluZ1RleHQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldExlZ2VuZEhlYWRpbmcoKSkudGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGNoZWNrYm94IGdyb3VwJ3MgaGludCB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhpbnRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgaGludFRleHQgPSBhd2FpdCB0aGlzLiNnZXRIaW50VGV4dCgpO1xuXG4gICAgcmV0dXJuIChhd2FpdCBoaW50VGV4dD8udGV4dCgpKT8udHJpbSgpID8/ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGhlYWRpbmcgaXMgaGlkZGVuLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlYWRpbmdIaWRkZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRIZWFkaW5nV3JhcHBlcigpKS5oYXNDbGFzcygnc2t5LXNjcmVlbi1yZWFkZXItb25seScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBzZW1hbnRpYyBoZWFkaW5nIGxldmVsIHVzZWQgZm9yIHRoZSBjaGVja2JveCBncm91cC4gUmV0dXJucyB1bmRlZmluZWQgaWYgaGVhZGluZyBsZXZlbCBpcyBub3Qgc2V0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlYWRpbmdMZXZlbCgpOiBQcm9taXNlPFxuICAgIFNreUNoZWNrYm94R3JvdXBIZWFkaW5nTGV2ZWwgfCB1bmRlZmluZWRcbiAgPiB7XG4gICAgY29uc3QgaGVhZGluZyA9IGF3YWl0IHRoaXMuI2dldExlZ2VuZEhlYWRpbmcoKTtcbiAgICBjb25zdCBoMyA9IGF3YWl0IGhlYWRpbmcubWF0Y2hlc1NlbGVjdG9yKCdoMycpO1xuICAgIGNvbnN0IGg0ID0gYXdhaXQgaGVhZGluZy5tYXRjaGVzU2VsZWN0b3IoJ2g0Jyk7XG4gICAgY29uc3QgaDUgPSBhd2FpdCBoZWFkaW5nLm1hdGNoZXNTZWxlY3RvcignaDUnKTtcblxuICAgIGlmIChoMykge1xuICAgICAgcmV0dXJuIDM7XG4gICAgfSBlbHNlIGlmIChoNCkge1xuICAgICAgcmV0dXJuIDQ7XG4gICAgfSBlbHNlIGlmIChoNSkge1xuICAgICAgcmV0dXJuIDU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBoZWFkaW5nIHN0eWxlIHVzZWQgZm9yIHRoZSBjaGVja2JveCBncm91cC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nU3R5bGUoKTogUHJvbWlzZTxTa3lDaGVja2JveEdyb3VwSGVhZGluZ1N0eWxlPiB7XG4gICAgY29uc3QgaGVhZGluZyA9IGF3YWl0IHRoaXMuI2dldExlZ2VuZEhlYWRpbmcoKTtcblxuICAgIGNvbnN0IGlzSGVhZGluZ1N0eWxlMyA9IGF3YWl0IGhlYWRpbmcuaGFzQ2xhc3MoJ3NreS1mb250LWhlYWRpbmctMycpO1xuICAgIGNvbnN0IGlzSGVhZGluZ1N0eWxlNCA9IGF3YWl0IGhlYWRpbmcuaGFzQ2xhc3MoJ3NreS1mb250LWhlYWRpbmctNCcpO1xuXG4gICAgaWYgKGlzSGVhZGluZ1N0eWxlMykge1xuICAgICAgcmV0dXJuIDM7XG4gICAgfSBlbHNlIGlmIChpc0hlYWRpbmdTdHlsZTQpIHtcbiAgICAgIHJldHVybiA0O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gNTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggZ3JvdXAgaXMgcmVxdWlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UmVxdWlyZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgaGVhZGluZyA9IGF3YWl0IHRoaXMuI2dldEhlYWRpbmcoKTtcblxuICAgIHJldHVybiBhd2FpdCBoZWFkaW5nLmhhc0NsYXNzKCdza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGdyb3VwIGlzIHN0YWNrZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U3RhY2tlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBob3N0ID0gYXdhaXQgdGhpcy5ob3N0KCk7XG4gICAgY29uc3QgaGVhZGluZyA9XG4gICAgICAoYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSDMoKSkgfHxcbiAgICAgIChhd2FpdCB0aGlzLiNnZXRMZWdlbmRINCgpKSB8fFxuICAgICAgKGF3YWl0IHRoaXMuI2dldExlZ2VuZEg1KCkpO1xuICAgIGNvbnN0IGxhYmVsID0gYXdhaXQgdGhpcy4jZ2V0TGVnZW5kRGVmYXVsdCgpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICgoYXdhaXQgaG9zdC5oYXNDbGFzcygnc2t5LWZvcm0tZmllbGQtc3RhY2tlZCcpKSAmJiAhIWxhYmVsKSB8fFxuICAgICAgKChhd2FpdCBob3N0Lmhhc0NsYXNzKCdza3ktZmllbGQtZ3JvdXAtc3RhY2tlZCcpKSAmJiAhIWhlYWRpbmcpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGFsbCB0aGUgY2hlY2tib3hlcyBpbiBhIHJlcXVpcmVkIGdyb3VwIGFyZSB1bmNoZWNrZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzUmVxdWlyZWRFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcnMoKSkuaGFzRXJyb3IoJ3JlcXVpcmVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggZ3JvdXAgaGFzIGVycm9ycy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNFcnJvcihlcnJvck5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcihlcnJvck5hbWUpO1xuICB9XG5cbiAgYXN5bmMgI2dldEZvcm1FcnJvcnMoKTogUHJvbWlzZTxTa3lGb3JtRXJyb3JzSGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoXG4gICAgICBTa3lGb3JtRXJyb3JzSGFybmVzcy53aXRoKHtcbiAgICAgICAgZGF0YVNreUlkOiAnY2hlY2tib3gtZ3JvdXAtZm9ybS1lcnJvcnMnLFxuICAgICAgfSksXG4gICAgKSgpO1xuICB9XG5cbiAgYXN5bmMgI2dldEhlbHBJbmxpbmUoKTogUHJvbWlzZTxTa3lIZWxwSW5saW5lSGFybmVzcz4ge1xuICAgIGNvbnN0IGhhcm5lc3MgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAgIFNreUhlbHBJbmxpbmVIYXJuZXNzLndpdGgoe1xuICAgICAgICBhbmNlc3RvcjogJy5za3ktY2hlY2tib3gtZ3JvdXAgPiAuc2t5LWNoZWNrYm94LWdyb3VwLWxlZ2VuZCcsXG4gICAgICB9KSxcbiAgICApKCk7XG5cbiAgICBpZiAoaGFybmVzcykge1xuICAgICAgcmV0dXJuIGhhcm5lc3M7XG4gICAgfVxuXG4gICAgdGhyb3cgRXJyb3IoJ05vIGhlbHAgaW5saW5lIGZvdW5kLicpO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtaGFybmVzcy1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL2NoZWNrYm94L2NoZWNrYm94LWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgYFNreUNoZWNrYm94SGFybmVzc2AgaW5zdGFuY2VzLlxuICogQGludGVybmFsXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5Q2hlY2tib3hIYXJuZXNzRmlsdGVycyBleHRlbmRzIFNreUhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
@@ -1,196 +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 { SkyCheckboxLabelHarness } from './checkbox-label-harness';
5
- import { SkyCheckboxLabelTextLabelHarness } from './checkbox-label-text-label.harness';
6
- /**
7
- * Harness for interacting with a checkbox component in tests.
8
- */
9
- export class SkyCheckboxHarness extends SkyComponentHarness {
10
- /**
11
- * @internal
12
- */
13
- static { this.hostSelector = 'sky-checkbox'; }
14
- #getHintText = this.locatorForOptional('.sky-checkbox-hint-text');
15
- #getInput = this.locatorFor('input.sky-checkbox-input');
16
- #getLabel = this.locatorForOptional(SkyCheckboxLabelHarness);
17
- #getLabelTextLabel = this.locatorForOptional(SkyCheckboxLabelTextLabelHarness);
18
- /**
19
- * Gets a `HarnessPredicate` that can be used to search for a
20
- * `SkyCheckboxHarness` that meets certain criteria.
21
- */
22
- static with(filters) {
23
- return SkyCheckboxHarness.getDataSkyIdPredicate(filters);
24
- }
25
- /**
26
- * Blurs the checkbox.
27
- */
28
- async blur() {
29
- return (await this.#getInput()).blur();
30
- }
31
- /**
32
- * Clicks the help inline button.
33
- */
34
- async clickHelpInline() {
35
- return (await this.#getHelpInline()).click();
36
- }
37
- /**
38
- * Puts the checkbox in a checked state by toggling it if it is currently unchecked, or doing nothing if it is already checked.
39
- */
40
- async check() {
41
- if (!(await this.isChecked())) {
42
- await this.#toggle();
43
- }
44
- }
45
- /**
46
- * Focuses the checkbox.
47
- */
48
- async focus() {
49
- return (await this.#getInput()).focus();
50
- }
51
- /**
52
- * Gets the checkbox's aria-label.
53
- */
54
- async getAriaLabel() {
55
- return (await this.#getInput()).getAttribute('aria-label');
56
- }
57
- /**
58
- * Gets the checkbox's aria-labelledby.
59
- */
60
- async getAriaLabelledby() {
61
- return (await this.#getInput()).getAttribute('aria-labelledby');
62
- }
63
- /**
64
- * Gets the help popover content.
65
- */
66
- async getHelpPopoverContent() {
67
- const content = await (await this.#getHelpInline()).getPopoverContent();
68
- return content;
69
- }
70
- /**
71
- * Gets the help popover title.
72
- */
73
- async getHelpPopoverTitle() {
74
- return await (await this.#getHelpInline()).getPopoverTitle();
75
- }
76
- /**
77
- * Gets the checkbox's label text. If the label is set via `labelText` and `labelHidden` is true,
78
- * the text will still be returned.
79
- */
80
- async getLabelText() {
81
- const labelTextLabel = await this.#getLabelTextLabel();
82
- const label = await this.#getLabel();
83
- if (labelTextLabel) {
84
- const text = await labelTextLabel.getText();
85
- const ariaLabel = await this.getAriaLabel();
86
- // if labelText is set, ariaLabel will never return null
87
- return text || ariaLabel;
88
- }
89
- else {
90
- return label?.getText();
91
- }
92
- }
93
- /**
94
- * Whether the label is hidden. Only supported when using the `labelText` input to set the label.
95
- */
96
- async getLabelHidden() {
97
- const labelTextLabel = await this.#getLabelTextLabel();
98
- const label = await this.#getLabel();
99
- if (label) {
100
- throw new Error('`labelIsHidden` is only supported when setting the checkbox label via the `labelText` input.');
101
- }
102
- else {
103
- return !(await labelTextLabel?.getText());
104
- }
105
- }
106
- /**
107
- * Gets the checkbox's hint text.
108
- */
109
- async getHintText() {
110
- const hintText = await this.#getHintText();
111
- return (await hintText?.text())?.trim() ?? '';
112
- }
113
- /**
114
- * Gets the checkbox's name.
115
- */
116
- async getName() {
117
- return (await this.#getInput()).getAttribute('name');
118
- }
119
- /**
120
- * Gets the checkbox's value.
121
- */
122
- async getValue() {
123
- return (await this.#getInput()).getProperty('value');
124
- }
125
- /**
126
- * Whether the checkbox displays custom error.
127
- */
128
- async hasCustomError(errorName) {
129
- return (await this.#getFormErrors()).hasError(errorName);
130
- }
131
- /**
132
- * Whether the checkbox displays an error that it is required.
133
- */
134
- async hasRequiredError() {
135
- return (await this.#getFormErrors()).hasError('required');
136
- }
137
- /**
138
- * Whether the checkbox is checked.
139
- */
140
- async isChecked() {
141
- return (await this.#getInput()).getProperty('checked');
142
- }
143
- /**
144
- * Whether the checkbox is disabled.
145
- */
146
- async isDisabled() {
147
- const disabled = await (await this.#getInput()).getAttribute('disabled');
148
- return disabled !== null;
149
- }
150
- /**
151
- * Whether the checkbox is focused.
152
- */
153
- async isFocused() {
154
- return (await this.#getInput()).isFocused();
155
- }
156
- /**
157
- * Whether the checkbox is required.
158
- */
159
- async isRequired() {
160
- const value = await (await this.#getInput()).getAttribute('required');
161
- return value !== null;
162
- }
163
- /**
164
- * Whether the checkbox is stacked.
165
- */
166
- async isStacked() {
167
- return await (await this.host()).hasClass('sky-form-field-stacked');
168
- }
169
- /**
170
- * Puts the checkbox in an unchecked state by toggling it if it is currently checked, or doing nothing if it is already unchecked.
171
- */
172
- async uncheck() {
173
- if (await this.isChecked()) {
174
- await this.#toggle();
175
- }
176
- }
177
- async #getFormErrors() {
178
- return await this.locatorFor(SkyFormErrorsHarness)();
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
- async #toggle() {
188
- if (await this.isDisabled()) {
189
- throw new Error('Could not toggle the checkbox because it is disabled.');
190
- }
191
- else {
192
- await (await this.#getInput()).click();
193
- }
194
- }
195
- }
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9jaGVja2JveC9jaGVja2JveC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXZGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQUN6RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsY0FBYyxDQUFDO0lBRTVDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUVsRSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBRXhELFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUU3RCxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQzFDLGdDQUFnQyxDQUNqQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBa0M7UUFFbEMsT0FBTyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUks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dWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lSGFybmVzcyB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yc0hhcm5lc3MgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lDaGVja2JveEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jaGVja2JveC1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hMYWJlbEhhcm5lc3MgfSBmcm9tICcuL2NoZWNrYm94LWxhYmVsLWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hMYWJlbFRleHRMYWJlbEhhcm5lc3MgfSBmcm9tICcuL2NoZWNrYm94LWxhYmVsLXRleHQtbGFiZWwuaGFybmVzcyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGNoZWNrYm94IGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNoZWNrYm94SGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktY2hlY2tib3gnO1xuXG4gICNnZXRIaW50VGV4dCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCcuc2t5LWNoZWNrYm94LWhpbnQtdGV4dCcpO1xuXG4gICNnZXRJbnB1dCA9IHRoaXMubG9jYXRvckZvcignaW5wdXQuc2t5LWNoZWNrYm94LWlucHV0Jyk7XG5cbiAgI2dldExhYmVsID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoU2t5Q2hlY2tib3hMYWJlbEhhcm5lc3MpO1xuXG4gICNnZXRMYWJlbFRleHRMYWJlbCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgIFNreUNoZWNrYm94TGFiZWxUZXh0TGFiZWxIYXJuZXNzLFxuICApO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lDaGVja2JveEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lDaGVja2JveEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUNoZWNrYm94SGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lDaGVja2JveEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJsdXJzIHRoZSBjaGVja2JveC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBibHVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuYmx1cigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgaGVscCBpbmxpbmUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrSGVscElubGluZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQdXRzIHRoZSBjaGVja2JveCBpbiBhIGNoZWNrZWQgc3RhdGUgYnkgdG9nZ2xpbmcgaXQgaWYgaXQgaXMgY3VycmVudGx5IHVuY2hlY2tlZCwgb3IgZG9pbmcgbm90aGluZyBpZiBpdCBpcyBhbHJlYWR5IGNoZWNrZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2hlY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCEoYXdhaXQgdGhpcy5pc0NoZWNrZWQoKSkpIHtcbiAgICAgIGF3YWl0IHRoaXMuI3RvZ2dsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBjaGVja2JveC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBmb2N1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY2hlY2tib3gncyBhcmlhLWxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFMYWJlbCgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGNoZWNrYm94J3MgYXJpYS1sYWJlbGxlZGJ5LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFMYWJlbGxlZGJ5KCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlckNvbnRlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlckNvbnRlbnQoKTtcblxuICAgIHJldHVybiBjb250ZW50IGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyVGl0bGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGVja2JveCdzIGxhYmVsIHRleHQuIElmIHRoZSBsYWJlbCBpcyBzZXQgdmlhIGBsYWJlbFRleHRgIGFuZCBgbGFiZWxIaWRkZW5gIGlzIHRydWUsXG4gICAqIHRoZSB0ZXh0IHdpbGwgc3RpbGwgYmUgcmV0dXJuZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0TGFiZWxUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgbGFiZWxUZXh0TGFiZWwgPSBhd2FpdCB0aGlzLiNnZXRMYWJlbFRleHRMYWJlbCgpO1xuICAgIGNvbnN0IGxhYmVsID0gYXdhaXQgdGhpcy4jZ2V0TGFiZWwoKTtcblxuICAgIGlmIChsYWJlbFRleHRMYWJlbCkge1xuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IGxhYmVsVGV4dExhYmVsLmdldFRleHQoKTtcbiAgICAgIGNvbnN0IGFyaWFMYWJlbCA9IGF3YWl0IHRoaXMuZ2V0QXJpYUxhYmVsKCk7XG5cbiAgICAgIC8vIGlmIGxhYmVsVGV4dCBpcyBzZXQsIGFyaWFMYWJlbCB3aWxsIG5ldmVyIHJldHVybiBudWxsXG4gICAgICByZXR1cm4gdGV4dCB8fCBhcmlhTGFiZWwhO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbGFiZWw/LmdldFRleHQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbGFiZWwgaXMgaGlkZGVuLiBPbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIHRoZSBgbGFiZWxUZXh0YCBpbnB1dCB0byBzZXQgdGhlIGxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldExhYmVsSGlkZGVuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGxhYmVsVGV4dExhYmVsID0gYXdhaXQgdGhpcy4jZ2V0TGFiZWxUZXh0TGFiZWwoKTtcbiAgICBjb25zdCBsYWJlbCA9IGF3YWl0IHRoaXMuI2dldExhYmVsKCk7XG5cbiAgICBpZiAobGFiZWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ2BsYWJlbElzSGlkZGVuYCBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHNldHRpbmcgdGhlIGNoZWNrYm94IGxhYmVsIHZpYSB0aGUgYGxhYmVsVGV4dGAgaW5wdXQuJyxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAhKGF3YWl0IGxhYmVsVGV4dExhYmVsPy5nZXRUZXh0KCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGVja2JveCdzIGhpbnQgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIaW50VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGhpbnRUZXh0ID0gYXdhaXQgdGhpcy4jZ2V0SGludFRleHQoKTtcblxuICAgIHJldHVybiAoYXdhaXQgaGludFRleHQ/LnRleHQoKSk/LnRyaW0oKSA/PyAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGVja2JveCdzIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0TmFtZSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEF0dHJpYnV0ZSgnbmFtZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGNoZWNrYm94J3MgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRQcm9wZXJ0eTxzdHJpbmcgfCBudWxsPigndmFsdWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBkaXNwbGF5cyBjdXN0b20gZXJyb3IuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzQ3VzdG9tRXJyb3IoZXJyb3JOYW1lOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcnMoKSkuaGFzRXJyb3IoZXJyb3JOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBkaXNwbGF5cyBhbiBlcnJvciB0aGF0IGl0IGlzIHJlcXVpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc1JlcXVpcmVkRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3JzKCkpLmhhc0Vycm9yKCdyZXF1aXJlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGNoZWNrZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNDaGVja2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0UHJvcGVydHk8Ym9vbGVhbj4oJ2NoZWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGRpc2FibGVkID0gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICByZXR1cm4gZGlzYWJsZWQgIT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgZm9jdXNlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0ZvY3VzZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5pc0ZvY3VzZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyByZXF1aXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1JlcXVpcmVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHZhbHVlID0gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEF0dHJpYnV0ZSgncmVxdWlyZWQnKTtcbiAgICByZXR1cm4gdmFsdWUgIT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgc3RhY2tlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1N0YWNrZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuaGFzQ2xhc3MoJ3NreS1mb3JtLWZpZWxkLXN0YWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQdXRzIHRoZSBjaGVja2JveCBpbiBhbiB1bmNoZWNrZWQgc3RhdGUgYnkgdG9nZ2xpbmcgaXQgaWYgaXQgaXMgY3VycmVudGx5IGNoZWNrZWQsIG9yIGRvaW5nIG5vdGhpbmcgaWYgaXQgaXMgYWxyZWFkeSB1bmNoZWNrZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgdW5jaGVjaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoYXdhaXQgdGhpcy5pc0NoZWNrZWQoKSkge1xuICAgICAgYXdhaXQgdGhpcy4jdG9nZ2xlKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgI2dldEZvcm1FcnJvcnMoKTogUHJvbWlzZTxTa3lGb3JtRXJyb3JzSGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoU2t5Rm9ybUVycm9yc0hhcm5lc3MpKCk7XG4gIH1cblxuICBhc3luYyAjZ2V0SGVscElubGluZSgpOiBQcm9taXNlPFNreUhlbHBJbmxpbmVIYXJuZXNzPiB7XG4gICAgY29uc3QgaGFybmVzcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFNreUhlbHBJbmxpbmVIYXJuZXNzKSgpO1xuXG4gICAgaWYgKGhhcm5lc3MpIHtcbiAgICAgIHJldHVybiBoYXJuZXNzO1xuICAgIH1cblxuICAgIHRocm93IEVycm9yKCdObyBoZWxwIGlubGluZSBmb3VuZC4nKTtcbiAgfVxuXG4gIGFzeW5jICN0b2dnbGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGF3YWl0IHRoaXMuaXNEaXNhYmxlZCgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCB0b2dnbGUgdGhlIGNoZWNrYm94IGJlY2F1c2UgaXQgaXMgZGlzYWJsZWQuJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5jbGljaygpO1xuICAgIH1cbiAgfVxufVxuIl19