@skyux/indicators 8.7.2 → 9.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/documentation.json +162 -162
  2. package/{esm2020 → esm2022}/lib/modules/alert/alert.component.mjs +56 -55
  3. package/{esm2020 → esm2022}/lib/modules/alert/alert.module.mjs +13 -13
  4. package/{esm2020 → esm2022}/lib/modules/chevron/chevron.component.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/modules/chevron/chevron.module.mjs +13 -13
  6. package/{esm2020 → esm2022}/lib/modules/expansion-indicator/expansion-indicator.component.mjs +4 -4
  7. package/{esm2020 → esm2022}/lib/modules/expansion-indicator/expansion-indicator.module.mjs +5 -5
  8. package/{esm2020 → esm2022}/lib/modules/help-inline/help-inline-aria-expanded.pipe.mjs +4 -4
  9. package/{esm2020 → esm2022}/lib/modules/help-inline/help-inline.component.mjs +4 -4
  10. package/{esm2020 → esm2022}/lib/modules/help-inline/help-inline.module.mjs +13 -13
  11. package/esm2022/lib/modules/icon/icon-class-list.pipe.mjs +35 -0
  12. package/esm2022/lib/modules/icon/icon-resolver.service.mjs +57 -0
  13. package/{esm2020 → esm2022}/lib/modules/icon/icon-stack.component.mjs +4 -4
  14. package/{esm2020 → esm2022}/lib/modules/icon/icon.component.mjs +4 -4
  15. package/{esm2020 → esm2022}/lib/modules/icon/icon.module.mjs +5 -5
  16. package/{esm2020 → esm2022}/lib/modules/key-info/key-info-label.component.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/modules/key-info/key-info-value.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/modules/key-info/key-info.component.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/modules/key-info/key-info.module.mjs +9 -9
  20. package/esm2022/lib/modules/label/label.component.mjs +118 -0
  21. package/{esm2020 → esm2022}/lib/modules/label/label.module.mjs +11 -11
  22. package/{esm2020 → esm2022}/lib/modules/shared/sky-indicators-resources.module.mjs +11 -11
  23. package/esm2022/lib/modules/status-indicator/status-indicator.component.mjs +104 -0
  24. package/{esm2020 → esm2022}/lib/modules/status-indicator/status-indicator.module.mjs +13 -13
  25. package/esm2022/lib/modules/text-highlight/text-highlight.directive.mjs +151 -0
  26. package/{esm2020 → esm2022}/lib/modules/text-highlight/text-highlight.module.mjs +5 -5
  27. package/{esm2020 → esm2022}/lib/modules/tokens/token.component.mjs +15 -15
  28. package/esm2022/lib/modules/tokens/tokens.component.mjs +332 -0
  29. package/{esm2020 → esm2022}/lib/modules/tokens/tokens.module.mjs +11 -11
  30. package/esm2022/lib/modules/wait/wait-adapter.service.mjs +224 -0
  31. package/{esm2020 → esm2022}/lib/modules/wait/wait-page.component.mjs +4 -4
  32. package/esm2022/lib/modules/wait/wait.component.mjs +171 -0
  33. package/{esm2020 → esm2022}/lib/modules/wait/wait.module.mjs +5 -5
  34. package/esm2022/lib/modules/wait/wait.service.mjs +159 -0
  35. package/esm2022/testing/alert/alert-harness.mjs +112 -0
  36. package/esm2022/testing/alert-fixture.mjs +70 -0
  37. package/esm2022/testing/chevron/chevron-harness.mjs +38 -0
  38. package/esm2022/testing/help-inline/help-inline-harness.mjs +25 -0
  39. package/esm2022/testing/icon/icon-harness.mjs +86 -0
  40. package/esm2022/testing/key-info/key-info-harness.mjs +43 -0
  41. package/{esm2020 → esm2022}/testing/key-info/key-info-label-harness.mjs +5 -5
  42. package/{esm2020 → esm2022}/testing/key-info/key-info-value-harness.mjs +5 -5
  43. package/esm2022/testing/label/label-harness.mjs +88 -0
  44. package/esm2022/testing/label-fixture.mjs +42 -0
  45. package/esm2022/testing/tokens/token-harness.mjs +63 -0
  46. package/esm2022/testing/tokens/tokens-harness.mjs +45 -0
  47. package/esm2022/testing/wait/wait-harness.mjs +60 -0
  48. package/esm2022/testing/wait-fixture.mjs +28 -0
  49. package/{fesm2020 → fesm2022}/skyux-indicators-testing.mjs +146 -190
  50. package/{fesm2020 → fesm2022}/skyux-indicators-testing.mjs.map +1 -1
  51. package/{fesm2020 → fesm2022}/skyux-indicators.mjs +755 -736
  52. package/{fesm2020 → fesm2022}/skyux-indicators.mjs.map +1 -1
  53. package/lib/modules/alert/alert.component.d.ts +1 -1
  54. package/lib/modules/chevron/chevron.component.d.ts +1 -1
  55. package/lib/modules/expansion-indicator/expansion-indicator.component.d.ts +1 -1
  56. package/lib/modules/help-inline/help-inline.component.d.ts +1 -1
  57. package/lib/modules/icon/icon-stack.component.d.ts +1 -1
  58. package/lib/modules/icon/icon.component.d.ts +1 -1
  59. package/lib/modules/key-info/key-info.component.d.ts +1 -1
  60. package/lib/modules/label/label.component.d.ts +1 -1
  61. package/lib/modules/status-indicator/status-indicator.component.d.ts +1 -1
  62. package/lib/modules/text-highlight/text-highlight.directive.d.ts +1 -1
  63. package/lib/modules/tokens/token.component.d.ts +1 -1
  64. package/lib/modules/tokens/tokens.component.d.ts +1 -1
  65. package/lib/modules/wait/wait-page.component.d.ts +1 -1
  66. package/lib/modules/wait/wait.component.d.ts +1 -1
  67. package/package.json +17 -25
  68. package/esm2020/lib/modules/icon/icon-class-list.pipe.mjs +0 -40
  69. package/esm2020/lib/modules/icon/icon-resolver.service.mjs +0 -60
  70. package/esm2020/lib/modules/label/label.component.mjs +0 -116
  71. package/esm2020/lib/modules/status-indicator/status-indicator.component.mjs +0 -104
  72. package/esm2020/lib/modules/text-highlight/text-highlight.directive.mjs +0 -154
  73. package/esm2020/lib/modules/tokens/tokens.component.mjs +0 -320
  74. package/esm2020/lib/modules/wait/wait-adapter.service.mjs +0 -221
  75. package/esm2020/lib/modules/wait/wait.component.mjs +0 -167
  76. package/esm2020/lib/modules/wait/wait.service.mjs +0 -161
  77. package/esm2020/testing/alert/alert-harness.mjs +0 -118
  78. package/esm2020/testing/alert-fixture.mjs +0 -72
  79. package/esm2020/testing/chevron/chevron-harness.mjs +0 -44
  80. package/esm2020/testing/help-inline/help-inline-harness.mjs +0 -31
  81. package/esm2020/testing/icon/icon-harness.mjs +0 -90
  82. package/esm2020/testing/key-info/key-info-harness.mjs +0 -49
  83. package/esm2020/testing/label/label-harness.mjs +0 -94
  84. package/esm2020/testing/label-fixture.mjs +0 -45
  85. package/esm2020/testing/tokens/token-harness.mjs +0 -69
  86. package/esm2020/testing/tokens/tokens-harness.mjs +0 -45
  87. package/esm2020/testing/wait/wait-harness.mjs +0 -66
  88. package/esm2020/testing/wait-fixture.mjs +0 -31
  89. package/fesm2015/skyux-indicators-testing.mjs +0 -854
  90. package/fesm2015/skyux-indicators-testing.mjs.map +0 -1
  91. package/fesm2015/skyux-indicators.mjs +0 -2172
  92. package/fesm2015/skyux-indicators.mjs.map +0 -1
  93. /package/{esm2020 → esm2022}/index.mjs +0 -0
  94. /package/{esm2020 → esm2022}/lib/modules/icon/icon-stack-item.mjs +0 -0
  95. /package/{esm2020 → esm2022}/lib/modules/icon/types/icon-resolved.mjs +0 -0
  96. /package/{esm2020 → esm2022}/lib/modules/icon/types/icon-type.mjs +0 -0
  97. /package/{esm2020 → esm2022}/lib/modules/icon/types/icon-variant-type.mjs +0 -0
  98. /package/{esm2020 → esm2022}/lib/modules/key-info/key-info-layout-type.mjs +0 -0
  99. /package/{esm2020 → esm2022}/lib/modules/label/label-type.mjs +0 -0
  100. /package/{esm2020 → esm2022}/lib/modules/shared/indicator-description-type.mjs +0 -0
  101. /package/{esm2020 → esm2022}/lib/modules/shared/indicator-icon-type.mjs +0 -0
  102. /package/{esm2020 → esm2022}/lib/modules/shared/indicator-icon-utility.mjs +0 -0
  103. /package/{esm2020 → esm2022}/lib/modules/shared/indicator-icon.mjs +0 -0
  104. /package/{esm2020 → esm2022}/lib/modules/tokens/types/token-selected-event-args.mjs +0 -0
  105. /package/{esm2020 → esm2022}/lib/modules/tokens/types/token.mjs +0 -0
  106. /package/{esm2020 → esm2022}/lib/modules/tokens/types/tokens-message-type.mjs +0 -0
  107. /package/{esm2020 → esm2022}/lib/modules/tokens/types/tokens-message.mjs +0 -0
  108. /package/{esm2020 → esm2022}/skyux-indicators.mjs +0 -0
  109. /package/{esm2020 → esm2022}/testing/alert/alert-harness-filters.mjs +0 -0
  110. /package/{esm2020 → esm2022}/testing/help-inline/help-inline-harness-filters.mjs +0 -0
  111. /package/{esm2020 → esm2022}/testing/icon/icon-harness-filters.mjs +0 -0
  112. /package/{esm2020 → esm2022}/testing/key-info/key-info-harness-filters.mjs +0 -0
  113. /package/{esm2020 → esm2022}/testing/label/label-harness-filters.mjs +0 -0
  114. /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
  115. /package/{esm2020 → esm2022}/testing/skyux-indicators-testing.mjs +0 -0
  116. /package/{esm2020 → esm2022}/testing/tokens/token-harness-filters.mjs +0 -0
  117. /package/{esm2020 → esm2022}/testing/tokens/tokens-harness-filters.mjs +0 -0
  118. /package/{esm2020 → esm2022}/testing/wait/wait-harness-filters.mjs +0 -0
@@ -4,6 +4,10 @@ import { SkyComponentHarness } from '@skyux/core/testing';
4
4
  * @internal
5
5
  */
6
6
  export class SkyKeyInfoValueHarness extends SkyComponentHarness {
7
+ /**
8
+ * @internal
9
+ */
10
+ static { this.hostSelector = 'sky-key-info-value'; }
7
11
  /**
8
12
  * Gets the text value of the component content.
9
13
  */
@@ -11,8 +15,4 @@ export class SkyKeyInfoValueHarness extends SkyComponentHarness {
11
15
  return (await this.host()).text();
12
16
  }
13
17
  }
14
- /**
15
- * @internal
16
- */
17
- SkyKeyInfoValueHarness.hostSelector = 'sky-key-info-value';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWluZm8tdmFsdWUtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3Rlc3Rpbmcvc3JjL2tleS1pbmZvL2tleS1pbmZvLXZhbHVlLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLG1CQUFtQjtJQU03RDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0FBVkQ7O0dBRUc7QUFDVyxtQ0FBWSxHQUFHLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBrZXkgaW5mbyB2YWx1ZSBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUtleUluZm9WYWx1ZUhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWtleS1pbmZvLXZhbHVlJztcblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCB2YWx1ZSBvZiB0aGUgY29tcG9uZW50IGNvbnRlbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLnRleHQoKTtcbiAgfVxufVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWluZm8tdmFsdWUtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3Rlc3Rpbmcvc3JjL2tleS1pbmZvL2tleS1pbmZvLXZhbHVlLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLG1CQUFtQjtJQUM3RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsb0JBQW9CLENBQUM7SUFFbEQ7O09BRUc7SUFDSSxLQUFLLENBQUMsT0FBTztRQUNsQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBrZXkgaW5mbyB2YWx1ZSBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUtleUluZm9WYWx1ZUhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWtleS1pbmZvLXZhbHVlJztcblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCB2YWx1ZSBvZiB0aGUgY29tcG9uZW50IGNvbnRlbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLnRleHQoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,88 @@
1
+ import { SkyComponentHarness } from '@skyux/core/testing';
2
+ /**
3
+ * Harness for interacting with a label component in tests.
4
+ */
5
+ export class SkyLabelHarness extends SkyComponentHarness {
6
+ /**
7
+ * @internal
8
+ */
9
+ static { this.hostSelector = 'sky-label'; }
10
+ #getWrapper = this.locatorFor('.sky-label');
11
+ #getTextEl = this.locatorFor('.sky-label-text');
12
+ #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');
13
+ /**
14
+ * Gets a `HarnessPredicate` that can be used to search for a
15
+ * `SkyLookupHarness` that meets certain criteria.
16
+ */
17
+ static with(filters) {
18
+ return SkyLabelHarness.getDataSkyIdPredicate(filters);
19
+ }
20
+ /**
21
+ * Gets the text of the label component.
22
+ */
23
+ async getLabelText() {
24
+ return await (await this.#getTextEl()).text();
25
+ }
26
+ /**
27
+ * Gets the `labelType` of the label component.
28
+ */
29
+ async getLabelType() {
30
+ const labelClasses = await (await this.#getWrapper()).getProperty('classList');
31
+ if (labelClasses.contains('sky-label-success')) {
32
+ return 'success';
33
+ }
34
+ if (labelClasses.contains('sky-label-danger')) {
35
+ return 'danger';
36
+ }
37
+ if (labelClasses.contains('sky-label-warning')) {
38
+ return 'warning';
39
+ }
40
+ return 'info';
41
+ }
42
+ /**
43
+ * Gets the `descriptionType` of the label component.
44
+ */
45
+ async getDescriptionType() {
46
+ const srEl = await this.#getScreenReaderTextEl();
47
+ if (!srEl) {
48
+ return 'none';
49
+ }
50
+ const srText = await srEl.text();
51
+ switch (srText) {
52
+ case 'Attention:':
53
+ return 'attention';
54
+ case 'Caution:':
55
+ return 'caution';
56
+ case 'Completed:':
57
+ return 'completed';
58
+ case 'Danger:':
59
+ return 'danger';
60
+ case 'Error:':
61
+ return 'error';
62
+ case 'Important information:':
63
+ return 'important-info';
64
+ case 'Important warning:':
65
+ return 'important-warning';
66
+ case 'Success:':
67
+ return 'success';
68
+ case 'Warning:':
69
+ return 'warning';
70
+ default:
71
+ return 'custom';
72
+ }
73
+ }
74
+ /**
75
+ * Gets the custom text used for the screen reader description of the label component icon.
76
+ */
77
+ async getCustomDescription() {
78
+ const descriptionType = await this.getDescriptionType();
79
+ if (descriptionType === 'custom') {
80
+ const srEl = await this.#getScreenReaderTextEl();
81
+ if (srEl) {
82
+ return await srEl.text();
83
+ }
84
+ }
85
+ return '';
86
+ }
87
+ }
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3Rlc3Rpbmcvc3JjL2xhYmVsL2xhYmVsLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFRMUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFDdEQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLFdBQVcsQ0FBQztJQUV6QyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1QyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hELHNCQUFzQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRTVFOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQStCO1FBRS9CLE9BQU8sZUFBZSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFlBQVk7UUFDdkIsTUFBTSxZQUFZLEdBQWlCLE1BQU0sQ0FDdkMsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQ3pCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTNCLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO1lBQzlDLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDN0MsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFFRCxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsRUFBRTtZQUM5QyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxrQkFBa0I7UUFDN0IsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUVqRCxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWpDLFFBQVEsTUFBTSxFQUFFO1lBQ2QsS0FBSyxZQUFZO2dCQUNmLE9BQU8sV0FBVyxDQUFDO1lBQ3JCLEtBQUssVUFBVTtnQkFDYixPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxXQUFXLENBQUM7WUFDckIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLEtBQUssUUFBUTtnQkFDWCxPQUFPLE9BQU8sQ0FBQztZQUNqQixLQUFLLHdCQUF3QjtnQkFDM0IsT0FBTyxnQkFBZ0IsQ0FBQztZQUMxQixLQUFLLG9CQUFvQjtnQkFDdkIsT0FBTyxtQkFBbUIsQ0FBQztZQUM3QixLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxVQUFVO2dCQUNiLE9BQU8sU0FBUyxDQUFDO1lBQ25CO2dCQUNFLE9BQU8sUUFBUSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG9CQUFvQjtRQUMvQixNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRXhELElBQUksZUFBZSxLQUFLLFFBQVEsRUFBRTtZQUNoQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBRWpELElBQUksSUFBSSxFQUFFO2dCQUNSLE9BQU8sTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDMUI7U0FDRjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgdHlwZSB7XG4gIFNreUluZGljYXRvckRlc2NyaXB0aW9uVHlwZSxcbiAgU2t5TGFiZWxUeXBlLFxufSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5cbmltcG9ydCB7IFNreUxhYmVsSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2xhYmVsLWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGxhYmVsIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUxhYmVsSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktbGFiZWwnO1xuXG4gICNnZXRXcmFwcGVyID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWxhYmVsJyk7XG4gICNnZXRUZXh0RWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktbGFiZWwtdGV4dCcpO1xuICAjZ2V0U2NyZWVuUmVhZGVyVGV4dEVsID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktc2NyZWVuLXJlYWRlci1vbmx5Jyk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUxvb2t1cEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lMYWJlbEhhcm5lc3NGaWx0ZXJzXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5TGFiZWxIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUxhYmVsSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBvZiB0aGUgbGFiZWwgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldExhYmVsVGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0VGV4dEVsKCkpLnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBgbGFiZWxUeXBlYCBvZiB0aGUgbGFiZWwgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldExhYmVsVHlwZSgpOiBQcm9taXNlPFNreUxhYmVsVHlwZT4ge1xuICAgIGNvbnN0IGxhYmVsQ2xhc3NlczogRE9NVG9rZW5MaXN0ID0gYXdhaXQgKFxuICAgICAgYXdhaXQgdGhpcy4jZ2V0V3JhcHBlcigpXG4gICAgKS5nZXRQcm9wZXJ0eSgnY2xhc3NMaXN0Jyk7XG5cbiAgICBpZiAobGFiZWxDbGFzc2VzLmNvbnRhaW5zKCdza3ktbGFiZWwtc3VjY2VzcycpKSB7XG4gICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xuICAgIH1cblxuICAgIGlmIChsYWJlbENsYXNzZXMuY29udGFpbnMoJ3NreS1sYWJlbC1kYW5nZXInKSkge1xuICAgICAgcmV0dXJuICdkYW5nZXInO1xuICAgIH1cblxuICAgIGlmIChsYWJlbENsYXNzZXMuY29udGFpbnMoJ3NreS1sYWJlbC13YXJuaW5nJykpIHtcbiAgICAgIHJldHVybiAnd2FybmluZyc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdpbmZvJztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBgZGVzY3JpcHRpb25UeXBlYCBvZiB0aGUgbGFiZWwgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldERlc2NyaXB0aW9uVHlwZSgpOiBQcm9taXNlPFNreUluZGljYXRvckRlc2NyaXB0aW9uVHlwZT4ge1xuICAgIGNvbnN0IHNyRWwgPSBhd2FpdCB0aGlzLiNnZXRTY3JlZW5SZWFkZXJUZXh0RWwoKTtcblxuICAgIGlmICghc3JFbCkge1xuICAgICAgcmV0dXJuICdub25lJztcbiAgICB9XG5cbiAgICBjb25zdCBzclRleHQgPSBhd2FpdCBzckVsLnRleHQoKTtcblxuICAgIHN3aXRjaCAoc3JUZXh0KSB7XG4gICAgICBjYXNlICdBdHRlbnRpb246JzpcbiAgICAgICAgcmV0dXJuICdhdHRlbnRpb24nO1xuICAgICAgY2FzZSAnQ2F1dGlvbjonOlxuICAgICAgICByZXR1cm4gJ2NhdXRpb24nO1xuICAgICAgY2FzZSAnQ29tcGxldGVkOic6XG4gICAgICAgIHJldHVybiAnY29tcGxldGVkJztcbiAgICAgIGNhc2UgJ0RhbmdlcjonOlxuICAgICAgICByZXR1cm4gJ2Rhbmdlcic7XG4gICAgICBjYXNlICdFcnJvcjonOlxuICAgICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICAgIGNhc2UgJ0ltcG9ydGFudCBpbmZvcm1hdGlvbjonOlxuICAgICAgICByZXR1cm4gJ2ltcG9ydGFudC1pbmZvJztcbiAgICAgIGNhc2UgJ0ltcG9ydGFudCB3YXJuaW5nOic6XG4gICAgICAgIHJldHVybiAnaW1wb3J0YW50LXdhcm5pbmcnO1xuICAgICAgY2FzZSAnU3VjY2VzczonOlxuICAgICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xuICAgICAgY2FzZSAnV2FybmluZzonOlxuICAgICAgICByZXR1cm4gJ3dhcm5pbmcnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdjdXN0b20nO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXN0b20gdGV4dCB1c2VkIGZvciB0aGUgc2NyZWVuIHJlYWRlciBkZXNjcmlwdGlvbiBvZiB0aGUgbGFiZWwgY29tcG9uZW50IGljb24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q3VzdG9tRGVzY3JpcHRpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBkZXNjcmlwdGlvblR5cGUgPSBhd2FpdCB0aGlzLmdldERlc2NyaXB0aW9uVHlwZSgpO1xuXG4gICAgaWYgKGRlc2NyaXB0aW9uVHlwZSA9PT0gJ2N1c3RvbScpIHtcbiAgICAgIGNvbnN0IHNyRWwgPSBhd2FpdCB0aGlzLiNnZXRTY3JlZW5SZWFkZXJUZXh0RWwoKTtcblxuICAgICAgaWYgKHNyRWwpIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHNyRWwudGV4dCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIl19
@@ -0,0 +1,42 @@
1
+ import { By } from '@angular/platform-browser';
2
+ import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
+ /**
4
+ * Allows interaction with a SKY UX label component.
5
+ * @internal
6
+ */
7
+ export class SkyLabelFixture {
8
+ /**
9
+ * The label's current type.
10
+ */
11
+ get labelType() {
12
+ const clsList = this.#getLabelEl().nativeElement.classList;
13
+ if (clsList.contains('sky-label-danger')) {
14
+ return 'danger';
15
+ }
16
+ if (clsList.contains('sky-label-info')) {
17
+ return 'info';
18
+ }
19
+ if (clsList.contains('sky-label-success')) {
20
+ return 'success';
21
+ }
22
+ if (clsList.contains('sky-label-warning')) {
23
+ return 'warning';
24
+ }
25
+ return undefined;
26
+ }
27
+ /**
28
+ * The label's current text.
29
+ */
30
+ get text() {
31
+ const labelEl = this.#getLabelEl();
32
+ return SkyAppTestUtility.getText(labelEl);
33
+ }
34
+ #debugEl;
35
+ constructor(fixture, skyTestId) {
36
+ this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-label');
37
+ }
38
+ #getLabelEl() {
39
+ return this.#debugEl.query(By.css('.sky-label'));
40
+ }
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3Rlc3Rpbmcvc3JjL2xhYmVsLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQzFCOztPQUVHO0lBQ0gsSUFBVyxTQUFTO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBRTNELElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO1FBRUQsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDdEMsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUVELElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO1lBQ3pDLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDekMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLElBQUk7UUFDYixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkMsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFFBQVEsQ0FBZTtJQUV2QixZQUFZLE9BQThCLEVBQUUsU0FBaUI7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FDdkQsT0FBTyxFQUNQLFNBQVMsRUFDVCxXQUFXLENBQ1osQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVidWdFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IEJ5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5cbi8qKlxuICogQWxsb3dzIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggbGFiZWwgY29tcG9uZW50LlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lMYWJlbEZpeHR1cmUge1xuICAvKipcbiAgICogVGhlIGxhYmVsJ3MgY3VycmVudCB0eXBlLlxuICAgKi9cbiAgcHVibGljIGdldCBsYWJlbFR5cGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjbHNMaXN0ID0gdGhpcy4jZ2V0TGFiZWxFbCgpLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0O1xuXG4gICAgaWYgKGNsc0xpc3QuY29udGFpbnMoJ3NreS1sYWJlbC1kYW5nZXInKSkge1xuICAgICAgcmV0dXJuICdkYW5nZXInO1xuICAgIH1cblxuICAgIGlmIChjbHNMaXN0LmNvbnRhaW5zKCdza3ktbGFiZWwtaW5mbycpKSB7XG4gICAgICByZXR1cm4gJ2luZm8nO1xuICAgIH1cblxuICAgIGlmIChjbHNMaXN0LmNvbnRhaW5zKCdza3ktbGFiZWwtc3VjY2VzcycpKSB7XG4gICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xuICAgIH1cblxuICAgIGlmIChjbHNMaXN0LmNvbnRhaW5zKCdza3ktbGFiZWwtd2FybmluZycpKSB7XG4gICAgICByZXR1cm4gJ3dhcm5pbmcnO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxhYmVsJ3MgY3VycmVudCB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGdldCB0ZXh0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbGFiZWxFbCA9IHRoaXMuI2dldExhYmVsRWwoKTtcblxuICAgIHJldHVybiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KGxhYmVsRWwpO1xuICB9XG5cbiAgI2RlYnVnRWw6IERlYnVnRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPGFueT4sIHNreVRlc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy4jZGVidWdFbCA9IFNreUFwcFRlc3RVdGlsaXR5LmdldERlYnVnRWxlbWVudEJ5VGVzdElkKFxuICAgICAgZml4dHVyZSxcbiAgICAgIHNreVRlc3RJZCxcbiAgICAgICdza3ktbGFiZWwnXG4gICAgKTtcbiAgfVxuXG4gICNnZXRMYWJlbEVsKCk6IERlYnVnRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LWxhYmVsJykpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,63 @@
1
+ import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
+ /**
3
+ * Harness for interacting with a token component in tests.
4
+ */
5
+ export class SkyTokenHarness extends ComponentHarness {
6
+ /**
7
+ * @internal
8
+ */
9
+ static { this.hostSelector = 'sky-token'; }
10
+ #getActionButton = this.locatorFor('button.sky-token-btn-action');
11
+ #getDismissButton = this.locatorFor('button.sky-token-btn-close');
12
+ #getWrapper = this.locatorFor('.sky-token');
13
+ /**
14
+ * Gets a `HarnessPredicate` that can be used to search for a
15
+ * `SkyTokenHarness` that meets certain criteria.
16
+ */
17
+ static with(filters) {
18
+ return new HarnessPredicate(this, filters).addOption('text', filters.text, async (harness, test) => HarnessPredicate.stringMatches(await (await harness.host()).text(), test));
19
+ }
20
+ /**
21
+ * Selects the token.
22
+ */
23
+ async select() {
24
+ if (await this.isDisabled()) {
25
+ throw new Error('Could not select the token because it is disabled.');
26
+ }
27
+ await (await this.host()).click();
28
+ }
29
+ /**
30
+ * Dismisses the token.
31
+ */
32
+ async dismiss() {
33
+ if (!(await this.isDismissible())) {
34
+ throw new Error('Could not dismiss the token because it is not dismissible.');
35
+ }
36
+ await (await this.#getDismissButton()).click();
37
+ }
38
+ /**
39
+ * Returns the text content of the token.
40
+ */
41
+ async getText() {
42
+ return (await this.host()).text();
43
+ }
44
+ /**
45
+ * Whether the token is disabled.
46
+ */
47
+ async isDisabled() {
48
+ return (await this.#getWrapper()).hasClass('sky-token-disabled');
49
+ }
50
+ /**
51
+ * Whether the token is dismissible.
52
+ */
53
+ async isDismissible() {
54
+ return (await this.#getWrapper()).hasClass('sky-token-dismissible');
55
+ }
56
+ /**
57
+ * Whether the token is focused.
58
+ */
59
+ async isFocused() {
60
+ return (await this.#getActionButton()).isFocused();
61
+ }
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4taGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3Rlc3Rpbmcvc3JjL3Rva2Vucy90b2tlbi1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSTFFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQWdCO0lBQ25EOztPQUVHO2FBQ1csaUJBQVksR0FBRyxXQUFXLENBQUM7SUFFekMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBRWxFLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUVsRSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUU1Qzs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUErQjtRQUUvQixPQUFPLElBQUksZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FDbEQsTUFBTSxFQUNOLE9BQU8sQ0FBQyxJQUFJLEVBQ1osS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUN0QixnQkFBZ0IsQ0FBQyxhQUFhLENBQzVCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUNuQyxJQUFJLENBQ0wsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE1BQU07UUFDakIsSUFBSSxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7U0FDdkU7UUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsT0FBTztRQUNsQixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQ2IsNERBQTRELENBQzdELENBQUM7U0FDSDtRQUVELE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGFBQWE7UUFDeEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFNBQVM7UUFDcEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcywgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5VG9rZW5IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vdG9rZW4taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgdG9rZW4gY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5VG9rZW5IYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS10b2tlbic7XG5cbiAgI2dldEFjdGlvbkJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignYnV0dG9uLnNreS10b2tlbi1idG4tYWN0aW9uJyk7XG5cbiAgI2dldERpc21pc3NCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJ2J1dHRvbi5za3ktdG9rZW4tYnRuLWNsb3NlJyk7XG5cbiAgI2dldFdyYXBwZXIgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktdG9rZW4nKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5VG9rZW5IYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5VG9rZW5IYXJuZXNzRmlsdGVyc1xuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreVRva2VuSGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZSh0aGlzLCBmaWx0ZXJzKS5hZGRPcHRpb24oXG4gICAgICAndGV4dCcsXG4gICAgICBmaWx0ZXJzLnRleHQsXG4gICAgICBhc3luYyAoaGFybmVzcywgdGVzdCkgPT5cbiAgICAgICAgSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKFxuICAgICAgICAgIGF3YWl0IChhd2FpdCBoYXJuZXNzLmhvc3QoKSkudGV4dCgpLFxuICAgICAgICAgIHRlc3RcbiAgICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyB0aGUgdG9rZW4uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VsZWN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmlzRGlzYWJsZWQoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3Qgc2VsZWN0IHRoZSB0b2tlbiBiZWNhdXNlIGl0IGlzIGRpc2FibGVkLicpO1xuICAgIH1cblxuICAgIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNtaXNzZXMgdGhlIHRva2VuLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGRpc21pc3MoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCEoYXdhaXQgdGhpcy5pc0Rpc21pc3NpYmxlKCkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDb3VsZCBub3QgZGlzbWlzcyB0aGUgdG9rZW4gYmVjYXVzZSBpdCBpcyBub3QgZGlzbWlzc2libGUuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0RGlzbWlzc0J1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHRleHQgY29udGVudCBvZiB0aGUgdG9rZW4uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0b2tlbiBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0V3JhcHBlcigpKS5oYXNDbGFzcygnc2t5LXRva2VuLWRpc2FibGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdG9rZW4gaXMgZGlzbWlzc2libGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNEaXNtaXNzaWJsZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldFdyYXBwZXIoKSkuaGFzQ2xhc3MoJ3NreS10b2tlbi1kaXNtaXNzaWJsZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRva2VuIGlzIGZvY3VzZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNGb2N1c2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0QWN0aW9uQnV0dG9uKCkpLmlzRm9jdXNlZCgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,45 @@
1
+ import { SkyComponentHarness } from '@skyux/core/testing';
2
+ import { SkyTokenHarness } from './token-harness';
3
+ /**
4
+ * Harness for interacting with a tokens component in tests.
5
+ */
6
+ export class SkyTokensHarness extends SkyComponentHarness {
7
+ /**
8
+ * @internal
9
+ */
10
+ static { this.hostSelector = 'sky-tokens'; }
11
+ /**
12
+ * Gets a `HarnessPredicate` that can be used to search for a
13
+ * `SkyTokensHarness` that meets certain criteria.
14
+ */
15
+ static with(filters) {
16
+ return SkyTokensHarness.getDataSkyIdPredicate(filters);
17
+ }
18
+ /**
19
+ * Dismisses all tokens, or tokens that meet certain criteria.
20
+ */
21
+ async dismissTokens(filters) {
22
+ const tokens = await this.getTokens(filters);
23
+ for (const token of tokens) {
24
+ await token.dismiss();
25
+ }
26
+ }
27
+ /**
28
+ * Returns a list of tokens.
29
+ */
30
+ async getTokens(filters) {
31
+ return this.locatorForAll(SkyTokenHarness.with(filters || {}))();
32
+ }
33
+ /**
34
+ * Returns the text content of all tokens.
35
+ */
36
+ async getTokensText() {
37
+ const tokens = await this.getTokens();
38
+ const values = [];
39
+ for (const token of tokens) {
40
+ values.push(await token.getText());
41
+ }
42
+ return values;
43
+ }
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy90ZXN0aW5nL3NyYy90b2tlbnMvdG9rZW5zLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSWxEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG1CQUFtQjtJQUN2RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsWUFBWSxDQUFDO0lBRTFDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBZ0M7UUFDakQsT0FBTyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQWdDO1FBQ3pELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTtZQUMxQixNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQ3BCLE9BQWdDO1FBRWhDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGFBQWE7UUFDeEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEMsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBRTVCLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1lBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUNwQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVRva2VuSGFybmVzcyB9IGZyb20gJy4vdG9rZW4taGFybmVzcyc7XG5pbXBvcnQgeyBTa3lUb2tlbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi90b2tlbi1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5VG9rZW5zSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3Rva2Vucy1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSB0b2tlbnMgY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5VG9rZW5zSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktdG9rZW5zJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5VG9rZW5zSGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKGZpbHRlcnM6IFNreVRva2Vuc0hhcm5lc3NGaWx0ZXJzKSB7XG4gICAgcmV0dXJuIFNreVRva2Vuc0hhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc21pc3NlcyBhbGwgdG9rZW5zLCBvciB0b2tlbnMgdGhhdCBtZWV0IGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGlzbWlzc1Rva2VucyhmaWx0ZXJzPzogU2t5VG9rZW5IYXJuZXNzRmlsdGVycyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHRva2VucyA9IGF3YWl0IHRoaXMuZ2V0VG9rZW5zKGZpbHRlcnMpO1xuICAgIGZvciAoY29uc3QgdG9rZW4gb2YgdG9rZW5zKSB7XG4gICAgICBhd2FpdCB0b2tlbi5kaXNtaXNzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsaXN0IG9mIHRva2Vucy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUb2tlbnMoXG4gICAgZmlsdGVycz86IFNreVRva2VuSGFybmVzc0ZpbHRlcnNcbiAgKTogUHJvbWlzZTxTa3lUb2tlbkhhcm5lc3NbXT4ge1xuICAgIHJldHVybiB0aGlzLmxvY2F0b3JGb3JBbGwoU2t5VG9rZW5IYXJuZXNzLndpdGgoZmlsdGVycyB8fCB7fSkpKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdGV4dCBjb250ZW50IG9mIGFsbCB0b2tlbnMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VG9rZW5zVGV4dCgpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3QgdG9rZW5zID0gYXdhaXQgdGhpcy5nZXRUb2tlbnMoKTtcbiAgICBjb25zdCB2YWx1ZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2Vucykge1xuICAgICAgdmFsdWVzLnB1c2goYXdhaXQgdG9rZW4uZ2V0VGV4dCgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWVzO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,60 @@
1
+ import { SkyComponentHarness } from '@skyux/core/testing';
2
+ /**
3
+ * Harness for interacting with a wait component in tests.
4
+ */
5
+ export class SkyWaitHarness extends SkyComponentHarness {
6
+ /**
7
+ * @internal
8
+ */
9
+ static { this.hostSelector = 'sky-wait'; }
10
+ #getWaitMask = this.locatorForOptional('.sky-wait-mask');
11
+ #getWaitContainer = this.locatorFor('.sky-wait-container');
12
+ /**
13
+ * Gets a `HarnessPredicate` that can be used to search for a
14
+ * `SkyWaitHarness` that meets certain criteria.
15
+ */
16
+ static with(filters) {
17
+ if (filters.servicePageWaitType === 'blocking') {
18
+ return SkyWaitHarness.getDataSkyIdPredicate({
19
+ dataSkyId: 'page-wait-blocking',
20
+ });
21
+ }
22
+ else if (filters.servicePageWaitType === 'non-blocking') {
23
+ return SkyWaitHarness.getDataSkyIdPredicate({
24
+ dataSkyId: 'page-wait-non-blocking',
25
+ });
26
+ }
27
+ return SkyWaitHarness.getDataSkyIdPredicate(filters);
28
+ }
29
+ /**
30
+ * Gets the ARIA label for the wait component or throws an error if not waiting.
31
+ */
32
+ async getAriaLabel() {
33
+ const waitMask = await this.#getWaitMask();
34
+ if (waitMask) {
35
+ return ((await waitMask.getAttribute('aria-label')) ||
36
+ /* istanbul ignore next */
37
+ '');
38
+ }
39
+ throw new Error('An ARIA label cannot be determined because the wait component is not visible.');
40
+ }
41
+ /**
42
+ * Gets the waiting state of the wait component.
43
+ */
44
+ async isWaiting() {
45
+ return !!(await this.#getWaitMask());
46
+ }
47
+ /**
48
+ * Gets the full page state of the wait component.
49
+ */
50
+ async isFullPage() {
51
+ return (await this.#getWaitContainer()).hasClass('sky-wait-full-page');
52
+ }
53
+ /**
54
+ * Gets the blocking state of the wait component.
55
+ */
56
+ async isNonBlocking() {
57
+ return (await this.#getWaitContainer()).hasClass('sky-wait-non-blocking');
58
+ }
59
+ }
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2luZGljYXRvcnMvdGVzdGluZy9zcmMvd2FpdC93YWl0LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJMUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLG1CQUFtQjtJQUNyRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsVUFBVSxDQUFDO0lBRXhDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN6RCxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFM0Q7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBOEI7UUFFOUIsSUFBSSxPQUFPLENBQUMsbUJBQW1CLEtBQUssVUFBVSxFQUFFO1lBQzlDLE9BQU8sY0FBYyxDQUFDLHFCQUFxQixDQUFDO2dCQUMxQyxTQUFTLEVBQUUsb0JBQW9CO2FBQ2hDLENBQUMsQ0FBQztTQUNKO2FBQU0sSUFBSSxPQUFPLENBQUMsbUJBQW1CLEtBQUssY0FBYyxFQUFFO1lBQ3pELE9BQU8sY0FBYyxDQUFDLHFCQUFxQixDQUFDO2dCQUMxQyxTQUFTLEVBQUUsd0JBQXdCO2FBQ3BDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxjQUFjLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFlBQVk7UUFDdkIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsSUFBSSxRQUFRLEVBQUU7WUFDWixPQUFPLENBQ0wsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzNDLDBCQUEwQjtnQkFDMUIsRUFBRSxDQUNILENBQUM7U0FDSDtRQUNELE1BQU0sSUFBSSxLQUFLLENBQ2IsK0VBQStFLENBQ2hGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsU0FBUztRQUNwQixPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsYUFBYTtRQUN4QixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzVFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lXYWl0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3dhaXQtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgd2FpdCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lXYWl0SGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktd2FpdCc7XG5cbiAgI2dldFdhaXRNYXNrID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktd2FpdC1tYXNrJyk7XG4gICNnZXRXYWl0Q29udGFpbmVyID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LXdhaXQtY29udGFpbmVyJyk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreVdhaXRIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5V2FpdEhhcm5lc3NGaWx0ZXJzXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5V2FpdEhhcm5lc3M+IHtcbiAgICBpZiAoZmlsdGVycy5zZXJ2aWNlUGFnZVdhaXRUeXBlID09PSAnYmxvY2tpbmcnKSB7XG4gICAgICByZXR1cm4gU2t5V2FpdEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKHtcbiAgICAgICAgZGF0YVNreUlkOiAncGFnZS13YWl0LWJsb2NraW5nJyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoZmlsdGVycy5zZXJ2aWNlUGFnZVdhaXRUeXBlID09PSAnbm9uLWJsb2NraW5nJykge1xuICAgICAgcmV0dXJuIFNreVdhaXRIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZSh7XG4gICAgICAgIGRhdGFTa3lJZDogJ3BhZ2Utd2FpdC1ub24tYmxvY2tpbmcnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBTa3lXYWl0SGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgQVJJQSBsYWJlbCBmb3IgdGhlIHdhaXQgY29tcG9uZW50IG9yIHRocm93cyBhbiBlcnJvciBpZiBub3Qgd2FpdGluZy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCB3YWl0TWFzayA9IGF3YWl0IHRoaXMuI2dldFdhaXRNYXNrKCk7XG4gICAgaWYgKHdhaXRNYXNrKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAoYXdhaXQgd2FpdE1hc2suZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJykpIHx8XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICcnXG4gICAgICApO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQW4gQVJJQSBsYWJlbCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCBiZWNhdXNlIHRoZSB3YWl0IGNvbXBvbmVudCBpcyBub3QgdmlzaWJsZS4nXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB3YWl0aW5nIHN0YXRlIG9mIHRoZSB3YWl0IGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1dhaXRpbmcoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuICEhKGF3YWl0IHRoaXMuI2dldFdhaXRNYXNrKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZ1bGwgcGFnZSBzdGF0ZSBvZiB0aGUgd2FpdCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNGdWxsUGFnZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldFdhaXRDb250YWluZXIoKSkuaGFzQ2xhc3MoJ3NreS13YWl0LWZ1bGwtcGFnZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGJsb2NraW5nIHN0YXRlIG9mIHRoZSB3YWl0IGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc05vbkJsb2NraW5nKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0V2FpdENvbnRhaW5lcigpKS5oYXNDbGFzcygnc2t5LXdhaXQtbm9uLWJsb2NraW5nJyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { SkyAppTestUtility } from '@skyux-sdk/testing';
2
+ /**
3
+ * @internal
4
+ */
5
+ export class SkyWaitFixture {
6
+ get isWaiting() {
7
+ return this.#innerWaitComponentContainsClass('.sky-wait-mask');
8
+ }
9
+ get isFullPage() {
10
+ return this.#innerWaitComponentContainsClass('.sky-wait-mask-loading-fixed');
11
+ }
12
+ get ariaLabel() {
13
+ const div = this.#debugEl.nativeElement.querySelector('.sky-wait-mask');
14
+ return div.getAttribute('aria-label');
15
+ }
16
+ get isNonBlocking() {
17
+ return this.#innerWaitComponentContainsClass('.sky-wait-mask-loading-non-blocking');
18
+ }
19
+ #debugEl;
20
+ constructor(fixture, skyTestId) {
21
+ this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-wait');
22
+ }
23
+ #innerWaitComponentContainsClass(className) {
24
+ const element = this.#debugEl.nativeElement.querySelector(className);
25
+ return element !== null;
26
+ }
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2luZGljYXRvcnMvdGVzdGluZy9zcmMvd2FpdC1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFDekIsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdDQUFnQyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxnQ0FBZ0MsQ0FDMUMsOEJBQThCLENBQy9CLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sR0FBRyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGdDQUFnQyxDQUMxQyxxQ0FBcUMsQ0FDdEMsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQWU7SUFFdkIsWUFBWSxPQUFrQyxFQUFFLFNBQWlCO1FBQy9ELElBQUksQ0FBQyxRQUFRLEdBQUcsaUJBQWlCLENBQUMsdUJBQXVCLENBQ3ZELE9BQU8sRUFDUCxTQUFTLEVBQ1QsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDO0lBRUQsZ0NBQWdDLENBQUMsU0FBaUI7UUFDaEQsTUFBTSxPQUFPLEdBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sT0FBTyxLQUFLLElBQUksQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5QXBwVGVzdFV0aWxpdHkgfSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5V2FpdEZpeHR1cmUge1xuICBwdWJsaWMgZ2V0IGlzV2FpdGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jaW5uZXJXYWl0Q29tcG9uZW50Q29udGFpbnNDbGFzcygnLnNreS13YWl0LW1hc2snKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNGdWxsUGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jaW5uZXJXYWl0Q29tcG9uZW50Q29udGFpbnNDbGFzcyhcbiAgICAgICcuc2t5LXdhaXQtbWFzay1sb2FkaW5nLWZpeGVkJ1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRpdiA9IHRoaXMuI2RlYnVnRWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LXdhaXQtbWFzaycpO1xuICAgIHJldHVybiBkaXYuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTm9uQmxvY2tpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2lubmVyV2FpdENvbXBvbmVudENvbnRhaW5zQ2xhc3MoXG4gICAgICAnLnNreS13YWl0LW1hc2stbG9hZGluZy1ub24tYmxvY2tpbmcnXG4gICAgKTtcbiAgfVxuXG4gICNkZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTx1bmtub3duPiwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNkZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS13YWl0J1xuICAgICk7XG4gIH1cblxuICAjaW5uZXJXYWl0Q29tcG9uZW50Q29udGFpbnNDbGFzcyhjbGFzc05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50ID1cbiAgICAgIHRoaXMuI2RlYnVnRWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKGNsYXNzTmFtZSk7XG4gICAgcmV0dXJuIGVsZW1lbnQgIT09IG51bGw7XG4gIH1cbn1cbiJdfQ==