@skyux/indicators 11.22.0 → 11.24.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 (86) hide show
  1. package/documentation.json +1219 -966
  2. package/esm2022/lib/modules/alert/alert.component.mjs +2 -2
  3. package/esm2022/lib/modules/chevron/chevron.component.mjs +2 -2
  4. package/esm2022/lib/modules/expansion-indicator/expansion-indicator.component.mjs +2 -2
  5. package/esm2022/lib/modules/label/label.component.mjs +2 -2
  6. package/esm2022/lib/modules/status-indicator/status-indicator.component.mjs +2 -2
  7. package/esm2022/lib/modules/tokens/token.component.mjs +2 -2
  8. package/esm2022/testing/legacy/alert-fixture.mjs +70 -0
  9. package/esm2022/testing/legacy/label-fixture.mjs +42 -0
  10. package/esm2022/testing/legacy/wait-fixture.mjs +28 -0
  11. package/esm2022/testing/modules/alert/alert-harness-filters.mjs +2 -0
  12. package/esm2022/testing/modules/alert/alert-harness.mjs +112 -0
  13. package/esm2022/testing/modules/chevron/chevron-harness.mjs +38 -0
  14. package/esm2022/testing/modules/help-inline/help-inline-harness-filters.mjs +2 -0
  15. package/esm2022/testing/modules/help-inline/help-inline-harness.mjs +25 -0
  16. package/esm2022/testing/modules/illustration/illustration-harness-filters.mjs +2 -0
  17. package/esm2022/testing/modules/illustration/illustration-harness.mjs +54 -0
  18. package/esm2022/testing/modules/key-info/key-info-harness-filters.mjs +2 -0
  19. package/esm2022/testing/modules/key-info/key-info-harness.mjs +43 -0
  20. package/esm2022/testing/modules/key-info/key-info-label-harness.mjs +18 -0
  21. package/esm2022/testing/modules/key-info/key-info-value-harness.mjs +18 -0
  22. package/esm2022/testing/modules/label/label-harness-filters.mjs +2 -0
  23. package/esm2022/testing/modules/label/label-harness.mjs +88 -0
  24. package/esm2022/testing/modules/status-indicator/status-indicator-harness-filters.mjs +2 -0
  25. package/esm2022/testing/modules/status-indicator/status-indicator-harness.mjs +119 -0
  26. package/esm2022/testing/modules/tokens/token-harness-filters.mjs +2 -0
  27. package/esm2022/testing/modules/tokens/token-harness.mjs +63 -0
  28. package/esm2022/testing/modules/tokens/tokens-harness-filters.mjs +2 -0
  29. package/esm2022/testing/modules/tokens/tokens-harness.mjs +45 -0
  30. package/esm2022/testing/modules/wait/wait-harness-filters.mjs +2 -0
  31. package/esm2022/testing/modules/wait/wait-harness.mjs +60 -0
  32. package/esm2022/testing/public-api.mjs +14 -14
  33. package/fesm2022/skyux-indicators-testing.mjs +37 -10
  34. package/fesm2022/skyux-indicators-testing.mjs.map +1 -1
  35. package/fesm2022/skyux-indicators.mjs +12 -12
  36. package/fesm2022/skyux-indicators.mjs.map +1 -1
  37. package/package.json +7 -7
  38. package/testing/{status-indicator → modules/status-indicator}/status-indicator-harness.d.ts +12 -0
  39. package/testing/public-api.d.ts +22 -22
  40. package/esm2022/testing/alert/alert-harness-filters.mjs +0 -2
  41. package/esm2022/testing/alert/alert-harness.mjs +0 -112
  42. package/esm2022/testing/alert-fixture.mjs +0 -70
  43. package/esm2022/testing/chevron/chevron-harness.mjs +0 -38
  44. package/esm2022/testing/help-inline/help-inline-harness-filters.mjs +0 -2
  45. package/esm2022/testing/help-inline/help-inline-harness.mjs +0 -25
  46. package/esm2022/testing/illustration/illustration-harness-filters.mjs +0 -2
  47. package/esm2022/testing/illustration/illustration-harness.mjs +0 -54
  48. package/esm2022/testing/key-info/key-info-harness-filters.mjs +0 -2
  49. package/esm2022/testing/key-info/key-info-harness.mjs +0 -43
  50. package/esm2022/testing/key-info/key-info-label-harness.mjs +0 -18
  51. package/esm2022/testing/key-info/key-info-value-harness.mjs +0 -18
  52. package/esm2022/testing/label/label-harness-filters.mjs +0 -2
  53. package/esm2022/testing/label/label-harness.mjs +0 -88
  54. package/esm2022/testing/label-fixture.mjs +0 -42
  55. package/esm2022/testing/status-indicator/status-indicator-harness-filters.mjs +0 -2
  56. package/esm2022/testing/status-indicator/status-indicator-harness.mjs +0 -92
  57. package/esm2022/testing/tokens/token-harness-filters.mjs +0 -2
  58. package/esm2022/testing/tokens/token-harness.mjs +0 -63
  59. package/esm2022/testing/tokens/tokens-harness-filters.mjs +0 -2
  60. package/esm2022/testing/tokens/tokens-harness.mjs +0 -45
  61. package/esm2022/testing/wait/wait-harness-filters.mjs +0 -2
  62. package/esm2022/testing/wait/wait-harness.mjs +0 -60
  63. package/esm2022/testing/wait-fixture.mjs +0 -28
  64. /package/testing/{alert-fixture.d.ts → legacy/alert-fixture.d.ts} +0 -0
  65. /package/testing/{label-fixture.d.ts → legacy/label-fixture.d.ts} +0 -0
  66. /package/testing/{wait-fixture.d.ts → legacy/wait-fixture.d.ts} +0 -0
  67. /package/testing/{alert → modules/alert}/alert-harness-filters.d.ts +0 -0
  68. /package/testing/{alert → modules/alert}/alert-harness.d.ts +0 -0
  69. /package/testing/{chevron → modules/chevron}/chevron-harness.d.ts +0 -0
  70. /package/testing/{help-inline → modules/help-inline}/help-inline-harness-filters.d.ts +0 -0
  71. /package/testing/{help-inline → modules/help-inline}/help-inline-harness.d.ts +0 -0
  72. /package/testing/{illustration → modules/illustration}/illustration-harness-filters.d.ts +0 -0
  73. /package/testing/{illustration → modules/illustration}/illustration-harness.d.ts +0 -0
  74. /package/testing/{key-info → modules/key-info}/key-info-harness-filters.d.ts +0 -0
  75. /package/testing/{key-info → modules/key-info}/key-info-harness.d.ts +0 -0
  76. /package/testing/{key-info → modules/key-info}/key-info-label-harness.d.ts +0 -0
  77. /package/testing/{key-info → modules/key-info}/key-info-value-harness.d.ts +0 -0
  78. /package/testing/{label → modules/label}/label-harness-filters.d.ts +0 -0
  79. /package/testing/{label → modules/label}/label-harness.d.ts +0 -0
  80. /package/testing/{status-indicator → modules/status-indicator}/status-indicator-harness-filters.d.ts +0 -0
  81. /package/testing/{tokens → modules/tokens}/token-harness-filters.d.ts +0 -0
  82. /package/testing/{tokens → modules/tokens}/token-harness.d.ts +0 -0
  83. /package/testing/{tokens → modules/tokens}/tokens-harness-filters.d.ts +0 -0
  84. /package/testing/{tokens → modules/tokens}/tokens-harness.d.ts +0 -0
  85. /package/testing/{wait → modules/wait}/wait-harness-filters.d.ts +0 -0
  86. /package/testing/{wait → modules/wait}/wait-harness.d.ts +0 -0
@@ -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) => await 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 (await this.host()).text();
43
+ }
44
+ /**
45
+ * Whether the token is disabled.
46
+ */
47
+ async isDisabled() {
48
+ return await (await this.#getWrapper()).hasClass('sky-token-disabled');
49
+ }
50
+ /**
51
+ * Whether the token is dismissible.
52
+ */
53
+ async isDismissible() {
54
+ return await (await this.#getWrapper()).hasClass('sky-token-dismissible');
55
+ }
56
+ /**
57
+ * Whether the token is focused.
58
+ */
59
+ async isFocused() {
60
+ return await (await this.#getActionButton()).isFocused();
61
+ }
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4taGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvdG9rZW5zL3Rva2VuLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJMUU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxnQkFBZ0I7SUFDbkQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLFdBQVcsQ0FBQztJQUV6QyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFFbEUsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBRWxFLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRTVDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQStCO1FBRS9CLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUNsRCxNQUFNLEVBQ04sT0FBTyxDQUFDLElBQUksRUFDWixLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLENBQ3RCLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxDQUNsQyxNQUFNLENBQUMsTUFBTSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFDbkMsSUFBSSxDQUNMLENBQ0osQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxNQUFNO1FBQ2pCLElBQUksTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksS0FBSyxDQUNiLDREQUE0RCxDQUM3RCxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFNBQVM7UUFDcEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzLCBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lUb2tlbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi90b2tlbi1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSB0b2tlbiBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lUb2tlbkhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LXRva2VuJztcblxuICAjZ2V0QWN0aW9uQnV0dG9uID0gdGhpcy5sb2NhdG9yRm9yKCdidXR0b24uc2t5LXRva2VuLWJ0bi1hY3Rpb24nKTtcblxuICAjZ2V0RGlzbWlzc0J1dHRvbiA9IHRoaXMubG9jYXRvckZvcignYnV0dG9uLnNreS10b2tlbi1idG4tY2xvc2UnKTtcblxuICAjZ2V0V3JhcHBlciA9IHRoaXMubG9jYXRvckZvcignLnNreS10b2tlbicpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lUb2tlbkhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lUb2tlbkhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreVRva2VuSGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZSh0aGlzLCBmaWx0ZXJzKS5hZGRPcHRpb24oXG4gICAgICAndGV4dCcsXG4gICAgICBmaWx0ZXJzLnRleHQsXG4gICAgICBhc3luYyAoaGFybmVzcywgdGVzdCkgPT5cbiAgICAgICAgYXdhaXQgSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKFxuICAgICAgICAgIGF3YWl0IChhd2FpdCBoYXJuZXNzLmhvc3QoKSkudGV4dCgpLFxuICAgICAgICAgIHRlc3QsXG4gICAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIHRoZSB0b2tlbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWxlY3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGF3YWl0IHRoaXMuaXNEaXNhYmxlZCgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBzZWxlY3QgdGhlIHRva2VuIGJlY2F1c2UgaXQgaXMgZGlzYWJsZWQuJyk7XG4gICAgfVxuXG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc21pc3NlcyB0aGUgdG9rZW4uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGlzbWlzcygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIShhd2FpdCB0aGlzLmlzRGlzbWlzc2libGUoKSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0NvdWxkIG5vdCBkaXNtaXNzIHRoZSB0b2tlbiBiZWNhdXNlIGl0IGlzIG5vdCBkaXNtaXNzaWJsZS4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0RGlzbWlzc0J1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHRleHQgY29udGVudCBvZiB0aGUgdG9rZW4uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0b2tlbiBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0V3JhcHBlcigpKS5oYXNDbGFzcygnc2t5LXRva2VuLWRpc2FibGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdG9rZW4gaXMgZGlzbWlzc2libGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNEaXNtaXNzaWJsZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldFdyYXBwZXIoKSkuaGFzQ2xhc3MoJ3NreS10b2tlbi1kaXNtaXNzaWJsZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRva2VuIGlzIGZvY3VzZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNGb2N1c2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0QWN0aW9uQnV0dG9uKCkpLmlzRm9jdXNlZCgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvdG9rZW5zL3Rva2Vucy1oYXJuZXNzLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBTa3lUb2tlbnNIYXJuZXNzYCBpbnN0YW5jZXMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBTa3lUb2tlbnNIYXJuZXNzRmlsdGVycyBleHRlbmRzIFNreUhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
@@ -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 await 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy90ZXN0aW5nL3NyYy9tb2R1bGVzL3Rva2Vucy90b2tlbnMtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJbEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBQ3ZEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxZQUFZLENBQUM7SUFFMUM7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFnQztRQUNqRCxPQUFPLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBZ0M7UUFDekQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7WUFDM0IsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQ3BCLE9BQWdDO1FBRWhDLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsYUFBYTtRQUN4QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFFNUIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVRva2VuSGFybmVzcyB9IGZyb20gJy4vdG9rZW4taGFybmVzcyc7XG5pbXBvcnQgeyBTa3lUb2tlbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi90b2tlbi1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5VG9rZW5zSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3Rva2Vucy1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSB0b2tlbnMgY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5VG9rZW5zSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktdG9rZW5zJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5VG9rZW5zSGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKGZpbHRlcnM6IFNreVRva2Vuc0hhcm5lc3NGaWx0ZXJzKSB7XG4gICAgcmV0dXJuIFNreVRva2Vuc0hhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc21pc3NlcyBhbGwgdG9rZW5zLCBvciB0b2tlbnMgdGhhdCBtZWV0IGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGlzbWlzc1Rva2VucyhmaWx0ZXJzPzogU2t5VG9rZW5IYXJuZXNzRmlsdGVycyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHRva2VucyA9IGF3YWl0IHRoaXMuZ2V0VG9rZW5zKGZpbHRlcnMpO1xuICAgIGZvciAoY29uc3QgdG9rZW4gb2YgdG9rZW5zKSB7XG4gICAgICBhd2FpdCB0b2tlbi5kaXNtaXNzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBsaXN0IG9mIHRva2Vucy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUb2tlbnMoXG4gICAgZmlsdGVycz86IFNreVRva2VuSGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8U2t5VG9rZW5IYXJuZXNzW10+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yQWxsKFNreVRva2VuSGFybmVzcy53aXRoKGZpbHRlcnMgfHwge30pKSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHRleHQgY29udGVudCBvZiBhbGwgdG9rZW5zLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRva2Vuc1RleHQoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGNvbnN0IHRva2VucyA9IGF3YWl0IHRoaXMuZ2V0VG9rZW5zKCk7XG4gICAgY29uc3QgdmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCB0b2tlbiBvZiB0b2tlbnMpIHtcbiAgICAgIHZhbHVlcy5wdXNoKGF3YWl0IHRva2VuLmdldFRleHQoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlcztcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1oYXJuZXNzLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy90ZXN0aW5nL3NyYy9tb2R1bGVzL3dhaXQvd2FpdC1oYXJuZXNzLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIFNreVdhaXRIYXJuZXNzIGluc3RhbmNlcy5cbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFNreVdhaXRIYXJuZXNzRmlsdGVycyBleHRlbmRzIFNreUhhcm5lc3NGaWx0ZXJzIHtcbiAgLyoqXG4gICAqIE9ubHkgZmluZCBibG9ja2luZyBvciBub24tYmxvY2tpbmcgaW5zdGFuY2VzIGNyZWF0ZWQgYnkgdGhlIGBTa3lXYWl0U2VydmljZWAuXG4gICAqL1xuICBzZXJ2aWNlUGFnZVdhaXRUeXBlPzogJ2Jsb2NraW5nJyB8ICdub24tYmxvY2tpbmcnO1xufVxuIl19
@@ -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 (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 (await this.#getWaitContainer()).hasClass('sky-wait-non-blocking');
58
+ }
59
+ }
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2luZGljYXRvcnMvdGVzdGluZy9zcmMvbW9kdWxlcy93YWl0L3dhaXQtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUkxRDs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsbUJBQW1CO0lBQ3JEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxVQUFVLENBQUM7SUFFeEMsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pELGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUzRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUE4QjtRQUU5QixJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUMvQyxPQUFPLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDMUMsU0FBUyxFQUFFLG9CQUFvQjthQUNoQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsbUJBQW1CLEtBQUssY0FBYyxFQUFFLENBQUM7WUFDMUQsT0FBTyxjQUFjLENBQUMscUJBQXFCLENBQUM7Z0JBQzFDLFNBQVMsRUFBRSx3QkFBd0I7YUFDcEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sY0FBYyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixPQUFPLENBQ0wsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzNDLDBCQUEwQjtnQkFDMUIsRUFBRSxDQUNILENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYiwrRUFBK0UsQ0FDaEYsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTO1FBQ3BCLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixPQUFPLE1BQU0sQ0FDWCxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUMvQixDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE9BQU8sTUFBTSxDQUNYLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQy9CLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVdhaXRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vd2FpdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSB3YWl0IGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVdhaXRIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS13YWl0JztcblxuICAjZ2V0V2FpdE1hc2sgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS13YWl0LW1hc2snKTtcbiAgI2dldFdhaXRDb250YWluZXIgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktd2FpdC1jb250YWluZXInKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5V2FpdEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lXYWl0SGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5V2FpdEhhcm5lc3M+IHtcbiAgICBpZiAoZmlsdGVycy5zZXJ2aWNlUGFnZVdhaXRUeXBlID09PSAnYmxvY2tpbmcnKSB7XG4gICAgICByZXR1cm4gU2t5V2FpdEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKHtcbiAgICAgICAgZGF0YVNreUlkOiAncGFnZS13YWl0LWJsb2NraW5nJyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoZmlsdGVycy5zZXJ2aWNlUGFnZVdhaXRUeXBlID09PSAnbm9uLWJsb2NraW5nJykge1xuICAgICAgcmV0dXJuIFNreVdhaXRIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZSh7XG4gICAgICAgIGRhdGFTa3lJZDogJ3BhZ2Utd2FpdC1ub24tYmxvY2tpbmcnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBTa3lXYWl0SGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgQVJJQSBsYWJlbCBmb3IgdGhlIHdhaXQgY29tcG9uZW50IG9yIHRocm93cyBhbiBlcnJvciBpZiBub3Qgd2FpdGluZy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCB3YWl0TWFzayA9IGF3YWl0IHRoaXMuI2dldFdhaXRNYXNrKCk7XG4gICAgaWYgKHdhaXRNYXNrKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAoYXdhaXQgd2FpdE1hc2suZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJykpIHx8XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICcnXG4gICAgICApO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQW4gQVJJQSBsYWJlbCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCBiZWNhdXNlIHRoZSB3YWl0IGNvbXBvbmVudCBpcyBub3QgdmlzaWJsZS4nLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgd2FpdGluZyBzdGF0ZSBvZiB0aGUgd2FpdCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNXYWl0aW5nKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAhIShhd2FpdCB0aGlzLiNnZXRXYWl0TWFzaygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmdWxsIHBhZ2Ugc3RhdGUgb2YgdGhlIHdhaXQgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRnVsbFBhZ2UoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMuI2dldFdhaXRDb250YWluZXIoKVxuICAgICkuaGFzQ2xhc3MoJ3NreS13YWl0LWZ1bGwtcGFnZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGJsb2NraW5nIHN0YXRlIG9mIHRoZSB3YWl0IGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc05vbkJsb2NraW5nKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoXG4gICAgICBhd2FpdCB0aGlzLiNnZXRXYWl0Q29udGFpbmVyKClcbiAgICApLmhhc0NsYXNzKCdza3ktd2FpdC1ub24tYmxvY2tpbmcnKTtcbiAgfVxufVxuIl19
@@ -1,15 +1,15 @@
1
- export { SkyAlertHarness } from './alert/alert-harness';
2
- export { SkyChevronHarness } from './chevron/chevron-harness';
3
- export { SkyHelpInlineHarness } from './help-inline/help-inline-harness';
1
+ export { SkyAlertHarness } from './modules/alert/alert-harness';
2
+ export { SkyChevronHarness } from './modules/chevron/chevron-harness';
3
+ export { SkyHelpInlineHarness } from './modules/help-inline/help-inline-harness';
4
4
  export { SkyIconHarness } from '@skyux/icon/testing';
5
- export { SkyIllustrationHarness } from './illustration/illustration-harness';
6
- export { SkyKeyInfoHarness } from './key-info/key-info-harness';
7
- export { SkyLabelHarness } from './label/label-harness';
8
- export { SkyStatusIndicatorHarness } from './status-indicator/status-indicator-harness';
9
- export { SkyTokenHarness } from './tokens/token-harness';
10
- export { SkyTokensHarness } from './tokens/tokens-harness';
11
- export { SkyWaitHarness } from './wait/wait-harness';
12
- export { SkyAlertFixture } from './alert-fixture';
13
- export { SkyLabelFixture } from './label-fixture';
14
- export { SkyWaitFixture } from './wait-fixture';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3Rlc3Rpbmcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxjQUFjLEVBQXlCLE1BQU0scUJBQXFCLENBQUM7QUFFNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBR3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUczRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTa3lBbGVydEhhcm5lc3MgfSBmcm9tICcuL2FsZXJ0L2FsZXJ0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5QWxlcnRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vYWxlcnQvYWxlcnQtaGFybmVzcy1maWx0ZXJzJztcblxuZXhwb3J0IHsgU2t5Q2hldnJvbkhhcm5lc3MgfSBmcm9tICcuL2NoZXZyb24vY2hldnJvbi1oYXJuZXNzJztcblxuZXhwb3J0IHsgU2t5SGVscElubGluZUhhcm5lc3MgfSBmcm9tICcuL2hlbHAtaW5saW5lL2hlbHAtaW5saW5lLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5SGVscElubGluZUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9oZWxwLWlubGluZS9oZWxwLWlubGluZS1oYXJuZXNzLWZpbHRlcnMnO1xuXG5leHBvcnQgeyBTa3lJY29uSGFybmVzcywgU2t5SWNvbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnQHNreXV4L2ljb24vdGVzdGluZyc7XG5cbmV4cG9ydCB7IFNreUlsbHVzdHJhdGlvbkhhcm5lc3MgfSBmcm9tICcuL2lsbHVzdHJhdGlvbi9pbGx1c3RyYXRpb24taGFybmVzcyc7XG5leHBvcnQgeyBTa3lJbGx1c3RyYXRpb25IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vaWxsdXN0cmF0aW9uL2lsbHVzdHJhdGlvbi1oYXJuZXNzLWZpbHRlcnMnO1xuXG5leHBvcnQgeyBTa3lLZXlJbmZvSGFybmVzcyB9IGZyb20gJy4va2V5LWluZm8va2V5LWluZm8taGFybmVzcyc7XG5leHBvcnQgeyBTa3lLZXlJbmZvSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2tleS1pbmZvL2tleS1pbmZvLWhhcm5lc3MtZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreUxhYmVsSGFybmVzcyB9IGZyb20gJy4vbGFiZWwvbGFiZWwtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lMYWJlbEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9sYWJlbC9sYWJlbC1oYXJuZXNzLWZpbHRlcnMnO1xuXG5leHBvcnQgeyBTa3lTdGF0dXNJbmRpY2F0b3JIYXJuZXNzIH0gZnJvbSAnLi9zdGF0dXMtaW5kaWNhdG9yL3N0YXR1cy1pbmRpY2F0b3ItaGFybmVzcyc7XG5leHBvcnQgeyBTa3lTdGF0dXNJbmRpY2F0b3JIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vc3RhdHVzLWluZGljYXRvci9zdGF0dXMtaW5kaWNhdG9yLWhhcm5lc3MtZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreVRva2VuSGFybmVzcyB9IGZyb20gJy4vdG9rZW5zL3Rva2VuLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5VG9rZW5IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vdG9rZW5zL3Rva2VuLWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lUb2tlbnNIYXJuZXNzIH0gZnJvbSAnLi90b2tlbnMvdG9rZW5zLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5VG9rZW5zSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3Rva2Vucy90b2tlbnMtaGFybmVzcy1maWx0ZXJzJztcblxuZXhwb3J0IHsgU2t5V2FpdEhhcm5lc3MgfSBmcm9tICcuL3dhaXQvd2FpdC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreVdhaXRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vd2FpdC93YWl0LWhhcm5lc3MtZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreUFsZXJ0Rml4dHVyZSB9IGZyb20gJy4vYWxlcnQtZml4dHVyZSc7XG5leHBvcnQgeyBTa3lMYWJlbEZpeHR1cmUgfSBmcm9tICcuL2xhYmVsLWZpeHR1cmUnO1xuZXhwb3J0IHsgU2t5V2FpdEZpeHR1cmUgfSBmcm9tICcuL3dhaXQtZml4dHVyZSc7XG4iXX0=
5
+ export { SkyIllustrationHarness } from './modules/illustration/illustration-harness';
6
+ export { SkyKeyInfoHarness } from './modules/key-info/key-info-harness';
7
+ export { SkyLabelHarness } from './modules/label/label-harness';
8
+ export { SkyStatusIndicatorHarness } from './modules/status-indicator/status-indicator-harness';
9
+ export { SkyTokenHarness } from './modules/tokens/token-harness';
10
+ export { SkyTokensHarness } from './modules/tokens/tokens-harness';
11
+ export { SkyWaitHarness } from './modules/wait/wait-harness';
12
+ export { SkyAlertFixture } from './legacy/alert-fixture';
13
+ export { SkyLabelFixture } from './legacy/label-fixture';
14
+ export { SkyWaitFixture } from './legacy/wait-fixture';
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3Rlc3Rpbmcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBR2pGLE9BQU8sRUFBRSxjQUFjLEVBQXlCLE1BQU0scUJBQXFCLENBQUM7QUFFNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFHckYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBR2hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUduRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTa3lBbGVydEhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvYWxlcnQvYWxlcnQtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lBbGVydEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9tb2R1bGVzL2FsZXJ0L2FsZXJ0LWhhcm5lc3MtZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreUNoZXZyb25IYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL2NoZXZyb24vY2hldnJvbi1oYXJuZXNzJztcblxuZXhwb3J0IHsgU2t5SGVscElubGluZUhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvaGVscC1pbmxpbmUvaGVscC1pbmxpbmUtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lIZWxwSW5saW5lSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvaGVscC1pbmxpbmUvaGVscC1pbmxpbmUtaGFybmVzcy1maWx0ZXJzJztcblxuZXhwb3J0IHsgU2t5SWNvbkhhcm5lc3MsIFNreUljb25IYXJuZXNzRmlsdGVycyB9IGZyb20gJ0Bza3l1eC9pY29uL3Rlc3RpbmcnO1xuXG5leHBvcnQgeyBTa3lJbGx1c3RyYXRpb25IYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL2lsbHVzdHJhdGlvbi9pbGx1c3RyYXRpb24taGFybmVzcyc7XG5leHBvcnQgeyBTa3lJbGx1c3RyYXRpb25IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy9pbGx1c3RyYXRpb24vaWxsdXN0cmF0aW9uLWhhcm5lc3MtZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreUtleUluZm9IYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL2tleS1pbmZvL2tleS1pbmZvLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5S2V5SW5mb0hhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9tb2R1bGVzL2tleS1pbmZvL2tleS1pbmZvLWhhcm5lc3MtZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreUxhYmVsSGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9sYWJlbC9sYWJlbC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUxhYmVsSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvbGFiZWwvbGFiZWwtaGFybmVzcy1maWx0ZXJzJztcblxuZXhwb3J0IHsgU2t5U3RhdHVzSW5kaWNhdG9ySGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9zdGF0dXMtaW5kaWNhdG9yL3N0YXR1cy1pbmRpY2F0b3ItaGFybmVzcyc7XG5leHBvcnQgeyBTa3lTdGF0dXNJbmRpY2F0b3JIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy9zdGF0dXMtaW5kaWNhdG9yL3N0YXR1cy1pbmRpY2F0b3ItaGFybmVzcy1maWx0ZXJzJztcblxuZXhwb3J0IHsgU2t5VG9rZW5IYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL3Rva2Vucy90b2tlbi1oYXJuZXNzJztcbmV4cG9ydCB7IFNreVRva2VuSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvdG9rZW5zL3Rva2VuLWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lUb2tlbnNIYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL3Rva2Vucy90b2tlbnMtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lUb2tlbnNIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy90b2tlbnMvdG9rZW5zLWhhcm5lc3MtZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreVdhaXRIYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL3dhaXQvd2FpdC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreVdhaXRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy93YWl0L3dhaXQtaGFybmVzcy1maWx0ZXJzJztcblxuZXhwb3J0IHsgU2t5QWxlcnRGaXh0dXJlIH0gZnJvbSAnLi9sZWdhY3kvYWxlcnQtZml4dHVyZSc7XG5leHBvcnQgeyBTa3lMYWJlbEZpeHR1cmUgfSBmcm9tICcuL2xlZ2FjeS9sYWJlbC1maXh0dXJlJztcbmV4cG9ydCB7IFNreVdhaXRGaXh0dXJlIH0gZnJvbSAnLi9sZWdhY3kvd2FpdC1maXh0dXJlJztcbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { SkyComponentHarness } from '@skyux/core/testing';
2
2
  export { SkyIconHarness } from '@skyux/icon/testing';
3
+ import { SkyHelpInlineHarness as SkyHelpInlineHarness$1 } from '@skyux/help-inline/testing';
3
4
  import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
4
5
  import { By } from '@angular/platform-browser';
5
6
  import { SkyAppTestUtility } from '@skyux-sdk/testing';
@@ -242,7 +243,7 @@ class SkyKeyInfoLabelHarness extends SkyComponentHarness {
242
243
  * Gets the text value of the component content.
243
244
  */
244
245
  async getText() {
245
- return (await this.host()).text();
246
+ return await (await this.host()).text();
246
247
  }
247
248
  }
248
249
 
@@ -259,7 +260,7 @@ class SkyKeyInfoValueHarness extends SkyComponentHarness {
259
260
  * Gets the text value of the component content.
260
261
  */
261
262
  async getText() {
262
- return (await this.host()).text();
263
+ return await (await this.host()).text();
263
264
  }
264
265
  }
265
266
 
@@ -408,6 +409,13 @@ class SkyStatusIndicatorHarness extends SkyComponentHarness {
408
409
  static with(filters) {
409
410
  return SkyStatusIndicatorHarness.getDataSkyIdPredicate(filters);
410
411
  }
412
+ async #getHelpInline() {
413
+ const harness = await this.locatorForOptional(SkyHelpInlineHarness$1)();
414
+ if (harness) {
415
+ return harness;
416
+ }
417
+ throw Error('No help inline found.');
418
+ }
411
419
  /**
412
420
  * Gets the current status indicator type.
413
421
  */
@@ -479,6 +487,25 @@ class SkyStatusIndicatorHarness extends SkyComponentHarness {
479
487
  }
480
488
  return '';
481
489
  }
490
+ /**
491
+ * Clicks the help inline button.
492
+ */
493
+ async clickHelpInline() {
494
+ return await (await this.#getHelpInline()).click();
495
+ }
496
+ /**
497
+ * Gets the help inline popover content.
498
+ */
499
+ async getHelpPopoverContent() {
500
+ const content = await (await this.#getHelpInline()).getPopoverContent();
501
+ return content;
502
+ }
503
+ /**
504
+ * Gets the help inline popover title.
505
+ */
506
+ async getHelpPopoverTitle() {
507
+ return await (await this.#getHelpInline()).getPopoverTitle();
508
+ }
482
509
  }
483
510
 
484
511
  /**
@@ -497,7 +524,7 @@ class SkyTokenHarness extends ComponentHarness {
497
524
  * `SkyTokenHarness` that meets certain criteria.
498
525
  */
499
526
  static with(filters) {
500
- return new HarnessPredicate(this, filters).addOption('text', filters.text, async (harness, test) => HarnessPredicate.stringMatches(await (await harness.host()).text(), test));
527
+ return new HarnessPredicate(this, filters).addOption('text', filters.text, async (harness, test) => await HarnessPredicate.stringMatches(await (await harness.host()).text(), test));
501
528
  }
502
529
  /**
503
530
  * Selects the token.
@@ -521,25 +548,25 @@ class SkyTokenHarness extends ComponentHarness {
521
548
  * Returns the text content of the token.
522
549
  */
523
550
  async getText() {
524
- return (await this.host()).text();
551
+ return await (await this.host()).text();
525
552
  }
526
553
  /**
527
554
  * Whether the token is disabled.
528
555
  */
529
556
  async isDisabled() {
530
- return (await this.#getWrapper()).hasClass('sky-token-disabled');
557
+ return await (await this.#getWrapper()).hasClass('sky-token-disabled');
531
558
  }
532
559
  /**
533
560
  * Whether the token is dismissible.
534
561
  */
535
562
  async isDismissible() {
536
- return (await this.#getWrapper()).hasClass('sky-token-dismissible');
563
+ return await (await this.#getWrapper()).hasClass('sky-token-dismissible');
537
564
  }
538
565
  /**
539
566
  * Whether the token is focused.
540
567
  */
541
568
  async isFocused() {
542
- return (await this.#getActionButton()).isFocused();
569
+ return await (await this.#getActionButton()).isFocused();
543
570
  }
544
571
  }
545
572
 
@@ -571,7 +598,7 @@ class SkyTokensHarness extends SkyComponentHarness {
571
598
  * Returns a list of tokens.
572
599
  */
573
600
  async getTokens(filters) {
574
- return this.locatorForAll(SkyTokenHarness.with(filters || {}))();
601
+ return await this.locatorForAll(SkyTokenHarness.with(filters || {}))();
575
602
  }
576
603
  /**
577
604
  * Returns the text content of all tokens.
@@ -635,13 +662,13 @@ class SkyWaitHarness extends SkyComponentHarness {
635
662
  * Gets the full page state of the wait component.
636
663
  */
637
664
  async isFullPage() {
638
- return (await this.#getWaitContainer()).hasClass('sky-wait-full-page');
665
+ return await (await this.#getWaitContainer()).hasClass('sky-wait-full-page');
639
666
  }
640
667
  /**
641
668
  * Gets the blocking state of the wait component.
642
669
  */
643
670
  async isNonBlocking() {
644
- return (await this.#getWaitContainer()).hasClass('sky-wait-non-blocking');
671
+ return await (await this.#getWaitContainer()).hasClass('sky-wait-non-blocking');
645
672
  }
646
673
  }
647
674
 
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-indicators-testing.mjs","sources":["../../../../../libs/components/indicators/testing/src/alert/alert-harness.ts","../../../../../libs/components/indicators/testing/src/chevron/chevron-harness.ts","../../../../../libs/components/indicators/testing/src/help-inline/help-inline-harness.ts","../../../../../libs/components/indicators/testing/src/illustration/illustration-harness.ts","../../../../../libs/components/indicators/testing/src/key-info/key-info-label-harness.ts","../../../../../libs/components/indicators/testing/src/key-info/key-info-value-harness.ts","../../../../../libs/components/indicators/testing/src/key-info/key-info-harness.ts","../../../../../libs/components/indicators/testing/src/label/label-harness.ts","../../../../../libs/components/indicators/testing/src/status-indicator/status-indicator-harness.ts","../../../../../libs/components/indicators/testing/src/tokens/token-harness.ts","../../../../../libs/components/indicators/testing/src/tokens/tokens-harness.ts","../../../../../libs/components/indicators/testing/src/wait/wait-harness.ts","../../../../../libs/components/indicators/testing/src/alert-fixture.ts","../../../../../libs/components/indicators/testing/src/label-fixture.ts","../../../../../libs/components/indicators/testing/src/wait-fixture.ts","../../../../../libs/components/indicators/testing/src/skyux-indicators-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyIndicatorIconType,\n} from '@skyux/indicators';\n\nimport { SkyAlertHarnessFilters } from './alert-harness-filters';\n\n/**\n * Harness for interacting with an alert component in tests.\n */\nexport class SkyAlertHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-alert';\n\n #getAlert = this.locatorFor('.sky-alert');\n #getContent = this.locatorFor('.sky-alert-content');\n #getCloseButton = this.locatorFor('.sky-alert-close');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAlertHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAlertHarnessFilters,\n ): HarnessPredicate<SkyAlertHarness> {\n return SkyAlertHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current alert type.\n */\n public async getAlertType(): Promise<SkyIndicatorIconType | undefined> {\n const alert = await this.#getAlert();\n\n if (await alert.hasClass('sky-alert-danger')) {\n return 'danger';\n }\n\n if (await alert.hasClass('sky-alert-info')) {\n return 'info';\n }\n\n if (await alert.hasClass('sky-alert-success')) {\n return 'success';\n }\n\n return 'warning';\n }\n\n /**\n * Gets the current alert text.\n */\n public async getText(): Promise<string> {\n return await (await this.#getContent()).text();\n }\n\n /**\n * Closes the alert.\n */\n public async close(): Promise<void> {\n if (!(await this.isCloseable())) {\n throw new Error('The alert is not closeable.');\n }\n\n (await this.#getCloseButton()).click();\n }\n\n /**\n * Whether the user closed the alert.\n */\n public async isClosed(): Promise<boolean> {\n const alert = await this.#getAlert();\n\n return await alert.getProperty('hidden');\n }\n\n /**\n * Whether the user can close the alert.\n */\n public async isCloseable(): Promise<boolean> {\n const closeBtn = await this.#getCloseButton();\n return !(await closeBtn.getProperty('hidden'));\n }\n\n /**\n * Gets the `descriptionType` of the label component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the label component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a chevron component in tests.\n */\nexport class SkyChevronHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-chevron';\n\n #getButton = this.locatorFor('button.sky-chevron');\n\n /**\n * Gets the chevron direction.\n */\n public async getDirection(): Promise<string> {\n return (await (await this.#getButton()).hasClass('sky-chevron-up'))\n ? 'up'\n : 'down';\n }\n\n /**\n * Whether the chevron is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = await (await this.#getButton()).getAttribute('disabled');\n return disabled !== null;\n }\n\n /**\n * Toggles the chevron.\n */\n public async toggle(): Promise<void> {\n if (await this.isDisabled()) {\n throw new Error('Could not toggle the checkbox because it is disabled.');\n } else {\n await (await this.#getButton()).click();\n }\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyHelpInlineHarnessFilters } from './help-inline-harness-filters';\n\n/**\n * Harness for interacting with a help inline component in tests.\n */\n\nexport class SkyHelpInlineHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-help-inline';\n\n #getInlineHelpButton = this.locatorFor('.sky-help-inline');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyInlineHelpHarness` that meets certain criteria\n */\n public static with(\n filters: SkyHelpInlineHarnessFilters,\n ): HarnessPredicate<SkyHelpInlineHarness> {\n return SkyHelpInlineHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the help inline icon button\n */\n public async click(): Promise<void> {\n await (await this.#getInlineHelpButton()).click();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyIllustrationSize } from '@skyux/indicators';\n\nimport { SkyIllustrationHarnessFilters } from './illustration-harness-filters';\n\n/**\n * Harness for interacting with an illustration component in tests.\n */\nexport class SkyIllustrationHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-illustration';\n\n #getImage = this.locatorFor('.sky-illustration-img');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyIllustrationHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyIllustrationHarnessFilters,\n ): HarnessPredicate<SkyIllustrationHarness> {\n return SkyIllustrationHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the specified name of the illustration.\n */\n public async getName(): Promise<string> {\n const img = await this.#getImage();\n const name = await img.getAttribute('data-sky-illustration-name');\n\n if (name === null) {\n throw new Error('Name was not set.');\n }\n\n return name;\n }\n\n /**\n * Gets the specified size of the illustration.\n */\n public async getSize(): Promise<SkyIllustrationSize> {\n const img = await this.#getImage();\n const height = await img.getAttribute('height');\n const width = await img.getAttribute('width');\n\n if (height !== width) {\n throw new Error('The image height and width do not match.');\n }\n\n switch (height) {\n case '0':\n throw new Error('Size was not set.');\n case '48':\n return 'sm';\n case '64':\n return 'md';\n case '80':\n return 'lg';\n case '96':\n return 'xl';\n }\n\n throw new Error(\n 'The image dimensions do not match the specified illustration size.',\n );\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info label component in tests.\n * @internal\n */\nexport class SkyKeyInfoLabelHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info-label';\n\n /**\n * Gets the text value of the component content.\n */\n public async getText(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info value component in tests.\n * @internal\n */\nexport class SkyKeyInfoValueHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info-value';\n\n /**\n * Gets the text value of the component content.\n */\n public async getText(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyKeyInfoLayoutType } from '@skyux/indicators';\n\nimport { SkyKeyInfoHarnessFilters } from './key-info-harness-filters';\nimport { SkyKeyInfoLabelHarness } from './key-info-label-harness';\nimport { SkyKeyInfoValueHarness } from './key-info-value-harness';\n\n/**\n * Harness for interacting with a key info component in tests.\n */\nexport class SkyKeyInfoHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info';\n\n #getLabel = this.locatorFor(SkyKeyInfoLabelHarness);\n #getValue = this.locatorFor(SkyKeyInfoValueHarness);\n #getWrapper = this.locatorFor('.sky-key-info');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyKeyInfoHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyKeyInfoHarnessFilters,\n ): HarnessPredicate<SkyKeyInfoHarness> {\n return SkyKeyInfoHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current value text.\n */\n public async getValueText(): Promise<string> {\n return await (await this.#getValue()).getText();\n }\n\n /**\n * Gets the current label text.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getLabel()).getText();\n }\n\n /**\n * Gets the current layout type.\n */\n public async getLayout(): Promise<SkyKeyInfoLayoutType> {\n return (await (\n await this.#getWrapper()\n ).hasClass('sky-key-info-horizontal'))\n ? 'horizontal'\n : 'vertical';\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyLabelType,\n} from '@skyux/indicators';\n\nimport { SkyLabelHarnessFilters } from './label-harness-filters';\n\n/**\n * Harness for interacting with a label component in tests.\n */\nexport class SkyLabelHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-label';\n\n #getWrapper = this.locatorFor('.sky-label');\n #getTextEl = this.locatorFor('.sky-label-text');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLabelHarnessFilters,\n ): HarnessPredicate<SkyLabelHarness> {\n return SkyLabelHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the text of the label component.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getTextEl()).text();\n }\n\n /**\n * Gets the `labelType` of the label component.\n */\n public async getLabelType(): Promise<SkyLabelType> {\n const labelClasses: DOMTokenList = await (\n await this.#getWrapper()\n ).getProperty('classList');\n\n if (labelClasses.contains('sky-label-success')) {\n return 'success';\n }\n\n if (labelClasses.contains('sky-label-danger')) {\n return 'danger';\n }\n\n if (labelClasses.contains('sky-label-warning')) {\n return 'warning';\n }\n\n return 'info';\n }\n\n /**\n * Gets the `descriptionType` of the label component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the label component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyIndicatorIconType,\n} from '@skyux/indicators';\n\nimport { SkyStatusIndicatorHarnessFilters } from './status-indicator-harness-filters';\n\n/**\n * Harness for interacting with a status indicator component in tests.\n */\nexport class SkyStatusIndicatorHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-status-indicator';\n\n #getIconWrapper = this.locatorFor('.sky-status-indicator-icon');\n #getMessage = this.locatorForOptional('.sky-status-indicator-message');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyStatusIndicatorHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyStatusIndicatorHarnessFilters,\n ): HarnessPredicate<SkyStatusIndicatorHarness> {\n return SkyStatusIndicatorHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current status indicator type.\n */\n public async getIndicatorType(): Promise<SkyIndicatorIconType | undefined> {\n const wrapper = await this.#getIconWrapper();\n\n if (await wrapper.hasClass('sky-status-indicator-icon-danger')) {\n return 'danger';\n }\n\n if (await wrapper.hasClass('sky-status-indicator-icon-info')) {\n return 'info';\n }\n\n if (await wrapper.hasClass('sky-status-indicator-icon-success')) {\n return 'success';\n }\n\n return 'warning';\n }\n\n /**\n * Gets the current status indicator text.\n */\n public async getText(): Promise<string> {\n const message = await this.#getMessage();\n\n if (message) {\n return await message.text();\n }\n\n throw new Error(\n 'Status indicator text was not found. Did you set the descriptionType input?',\n );\n }\n\n /**\n * Gets the `descriptionType` of the status indicator component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the status indicator component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n}\n","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyTokenHarnessFilters } from './token-harness-filters';\n\n/**\n * Harness for interacting with a token component in tests.\n */\nexport class SkyTokenHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-token';\n\n #getActionButton = this.locatorFor('button.sky-token-btn-action');\n\n #getDismissButton = this.locatorFor('button.sky-token-btn-close');\n\n #getWrapper = this.locatorFor('.sky-token');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyTokenHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyTokenHarnessFilters,\n ): HarnessPredicate<SkyTokenHarness> {\n return new HarnessPredicate(this, filters).addOption(\n 'text',\n filters.text,\n async (harness, test) =>\n HarnessPredicate.stringMatches(\n await (await harness.host()).text(),\n test,\n ),\n );\n }\n\n /**\n * Selects the token.\n */\n public async select(): Promise<void> {\n if (await this.isDisabled()) {\n throw new Error('Could not select the token because it is disabled.');\n }\n\n await (await this.host()).click();\n }\n\n /**\n * Dismisses the token.\n */\n public async dismiss(): Promise<void> {\n if (!(await this.isDismissible())) {\n throw new Error(\n 'Could not dismiss the token because it is not dismissible.',\n );\n }\n\n await (await this.#getDismissButton()).click();\n }\n\n /**\n * Returns the text content of the token.\n */\n public async getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /**\n * Whether the token is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n return (await this.#getWrapper()).hasClass('sky-token-disabled');\n }\n\n /**\n * Whether the token is dismissible.\n */\n public async isDismissible(): Promise<boolean> {\n return (await this.#getWrapper()).hasClass('sky-token-dismissible');\n }\n\n /**\n * Whether the token is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.#getActionButton()).isFocused();\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyTokenHarness } from './token-harness';\nimport { SkyTokenHarnessFilters } from './token-harness-filters';\nimport { SkyTokensHarnessFilters } from './tokens-harness-filters';\n\n/**\n * Harness for interacting with a tokens component in tests.\n */\nexport class SkyTokensHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-tokens';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyTokensHarness` that meets certain criteria.\n */\n public static with(filters: SkyTokensHarnessFilters) {\n return SkyTokensHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Dismisses all tokens, or tokens that meet certain criteria.\n */\n public async dismissTokens(filters?: SkyTokenHarnessFilters): Promise<void> {\n const tokens = await this.getTokens(filters);\n for (const token of tokens) {\n await token.dismiss();\n }\n }\n\n /**\n * Returns a list of tokens.\n */\n public async getTokens(\n filters?: SkyTokenHarnessFilters,\n ): Promise<SkyTokenHarness[]> {\n return this.locatorForAll(SkyTokenHarness.with(filters || {}))();\n }\n\n /**\n * Returns the text content of all tokens.\n */\n public async getTokensText(): Promise<string[]> {\n const tokens = await this.getTokens();\n const values: string[] = [];\n\n for (const token of tokens) {\n values.push(await token.getText());\n }\n\n return values;\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyWaitHarnessFilters } from './wait-harness-filters';\n\n/**\n * Harness for interacting with a wait component in tests.\n */\nexport class SkyWaitHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-wait';\n\n #getWaitMask = this.locatorForOptional('.sky-wait-mask');\n #getWaitContainer = this.locatorFor('.sky-wait-container');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyWaitHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyWaitHarnessFilters,\n ): HarnessPredicate<SkyWaitHarness> {\n if (filters.servicePageWaitType === 'blocking') {\n return SkyWaitHarness.getDataSkyIdPredicate({\n dataSkyId: 'page-wait-blocking',\n });\n } else if (filters.servicePageWaitType === 'non-blocking') {\n return SkyWaitHarness.getDataSkyIdPredicate({\n dataSkyId: 'page-wait-non-blocking',\n });\n }\n return SkyWaitHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the ARIA label for the wait component or throws an error if not waiting.\n */\n public async getAriaLabel(): Promise<string> {\n const waitMask = await this.#getWaitMask();\n if (waitMask) {\n return (\n (await waitMask.getAttribute('aria-label')) ||\n /* istanbul ignore next */\n ''\n );\n }\n throw new Error(\n 'An ARIA label cannot be determined because the wait component is not visible.',\n );\n }\n\n /**\n * Gets the waiting state of the wait component.\n */\n public async isWaiting(): Promise<boolean> {\n return !!(await this.#getWaitMask());\n }\n\n /**\n * Gets the full page state of the wait component.\n */\n public async isFullPage(): Promise<boolean> {\n return (await this.#getWaitContainer()).hasClass('sky-wait-full-page');\n }\n\n /**\n * Gets the blocking state of the wait component.\n */\n public async isNonBlocking(): Promise<boolean> {\n return (await this.#getWaitContainer()).hasClass('sky-wait-non-blocking');\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX alert component.\n * @deprecated Use `SkyAlertHarness` instead.\n * @internal\n */\nexport class SkyAlertFixture {\n /**\n * The alert's current text.\n */\n public get text(): string | undefined {\n return SkyAppTestUtility.getText(this.#debugEl);\n }\n\n /**\n * A flag indicating whether the alert can be closed.\n */\n public get closeable(): boolean | undefined {\n const closeBtnEl = this.#getCloseBtnEl();\n\n return SkyAppTestUtility.isVisible(closeBtnEl);\n }\n\n /**\n * Returns a flag indicating whether the alert is closed.\n */\n public get closed(): boolean {\n return !SkyAppTestUtility.isVisible(this.#getAlertEl());\n }\n\n /**\n * The alert's current type.\n */\n public get alertType(): string | undefined {\n const clsList = this.#getAlertEl().nativeElement.classList;\n\n if (clsList.contains('sky-alert-danger')) {\n return 'danger';\n }\n\n if (clsList.contains('sky-alert-info')) {\n return 'info';\n }\n\n if (clsList.contains('sky-alert-success')) {\n return 'success';\n }\n\n if (clsList.contains('sky-alert-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-alert',\n );\n }\n\n /**\n * Closes the alert. If the alert is not closeable, an error is thrown.\n */\n public close(): void {\n if (this.closeable) {\n const closeBtnEl = this.#getCloseBtnEl();\n\n closeBtnEl.triggerEventHandler('click', {});\n } else {\n throw new Error('The alert is not closeable.');\n }\n }\n\n #getAlertEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-alert'));\n }\n\n #getCloseBtnEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-alert-close'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX label component.\n * @internal\n */\nexport class SkyLabelFixture {\n /**\n * The label's current type.\n */\n public get labelType(): string | undefined {\n const clsList = this.#getLabelEl().nativeElement.classList;\n\n if (clsList.contains('sky-label-danger')) {\n return 'danger';\n }\n\n if (clsList.contains('sky-label-info')) {\n return 'info';\n }\n\n if (clsList.contains('sky-label-success')) {\n return 'success';\n }\n\n if (clsList.contains('sky-label-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n /**\n * The label's current text.\n */\n public get text(): string | undefined {\n const labelEl = this.#getLabelEl();\n\n return SkyAppTestUtility.getText(labelEl);\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-label',\n );\n }\n\n #getLabelEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-label'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * @internal\n */\nexport class SkyWaitFixture {\n public get isWaiting(): boolean {\n return this.#innerWaitComponentContainsClass('.sky-wait-mask');\n }\n\n public get isFullPage(): boolean {\n return this.#innerWaitComponentContainsClass(\n '.sky-wait-mask-loading-fixed',\n );\n }\n\n public get ariaLabel(): string {\n const div = this.#debugEl.nativeElement.querySelector('.sky-wait-mask');\n return div.getAttribute('aria-label');\n }\n\n public get isNonBlocking(): boolean {\n return this.#innerWaitComponentContainsClass(\n '.sky-wait-mask-loading-non-blocking',\n );\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-wait',\n );\n }\n\n #innerWaitComponentContainsClass(className: string): boolean {\n const element: HTMLDivElement =\n this.#debugEl.nativeElement.querySelector(className);\n return element !== null;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skyux-indicators-testing.mjs","sources":["../../../../../libs/components/indicators/testing/src/modules/alert/alert-harness.ts","../../../../../libs/components/indicators/testing/src/modules/chevron/chevron-harness.ts","../../../../../libs/components/indicators/testing/src/modules/help-inline/help-inline-harness.ts","../../../../../libs/components/indicators/testing/src/modules/illustration/illustration-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-label-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-value-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-harness.ts","../../../../../libs/components/indicators/testing/src/modules/label/label-harness.ts","../../../../../libs/components/indicators/testing/src/modules/status-indicator/status-indicator-harness.ts","../../../../../libs/components/indicators/testing/src/modules/tokens/token-harness.ts","../../../../../libs/components/indicators/testing/src/modules/tokens/tokens-harness.ts","../../../../../libs/components/indicators/testing/src/modules/wait/wait-harness.ts","../../../../../libs/components/indicators/testing/src/legacy/alert-fixture.ts","../../../../../libs/components/indicators/testing/src/legacy/label-fixture.ts","../../../../../libs/components/indicators/testing/src/legacy/wait-fixture.ts","../../../../../libs/components/indicators/testing/src/skyux-indicators-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyIndicatorIconType,\n} from '@skyux/indicators';\n\nimport { SkyAlertHarnessFilters } from './alert-harness-filters';\n\n/**\n * Harness for interacting with an alert component in tests.\n */\nexport class SkyAlertHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-alert';\n\n #getAlert = this.locatorFor('.sky-alert');\n #getContent = this.locatorFor('.sky-alert-content');\n #getCloseButton = this.locatorFor('.sky-alert-close');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAlertHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAlertHarnessFilters,\n ): HarnessPredicate<SkyAlertHarness> {\n return SkyAlertHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current alert type.\n */\n public async getAlertType(): Promise<SkyIndicatorIconType | undefined> {\n const alert = await this.#getAlert();\n\n if (await alert.hasClass('sky-alert-danger')) {\n return 'danger';\n }\n\n if (await alert.hasClass('sky-alert-info')) {\n return 'info';\n }\n\n if (await alert.hasClass('sky-alert-success')) {\n return 'success';\n }\n\n return 'warning';\n }\n\n /**\n * Gets the current alert text.\n */\n public async getText(): Promise<string> {\n return await (await this.#getContent()).text();\n }\n\n /**\n * Closes the alert.\n */\n public async close(): Promise<void> {\n if (!(await this.isCloseable())) {\n throw new Error('The alert is not closeable.');\n }\n\n (await this.#getCloseButton()).click();\n }\n\n /**\n * Whether the user closed the alert.\n */\n public async isClosed(): Promise<boolean> {\n const alert = await this.#getAlert();\n\n return await alert.getProperty('hidden');\n }\n\n /**\n * Whether the user can close the alert.\n */\n public async isCloseable(): Promise<boolean> {\n const closeBtn = await this.#getCloseButton();\n return !(await closeBtn.getProperty('hidden'));\n }\n\n /**\n * Gets the `descriptionType` of the label component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the label component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a chevron component in tests.\n */\nexport class SkyChevronHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-chevron';\n\n #getButton = this.locatorFor('button.sky-chevron');\n\n /**\n * Gets the chevron direction.\n */\n public async getDirection(): Promise<string> {\n return (await (await this.#getButton()).hasClass('sky-chevron-up'))\n ? 'up'\n : 'down';\n }\n\n /**\n * Whether the chevron is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = await (await this.#getButton()).getAttribute('disabled');\n return disabled !== null;\n }\n\n /**\n * Toggles the chevron.\n */\n public async toggle(): Promise<void> {\n if (await this.isDisabled()) {\n throw new Error('Could not toggle the checkbox because it is disabled.');\n } else {\n await (await this.#getButton()).click();\n }\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyHelpInlineHarnessFilters } from './help-inline-harness-filters';\n\n/**\n * Harness for interacting with a help inline component in tests.\n */\n\nexport class SkyHelpInlineHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-help-inline';\n\n #getInlineHelpButton = this.locatorFor('.sky-help-inline');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyInlineHelpHarness` that meets certain criteria\n */\n public static with(\n filters: SkyHelpInlineHarnessFilters,\n ): HarnessPredicate<SkyHelpInlineHarness> {\n return SkyHelpInlineHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the help inline icon button\n */\n public async click(): Promise<void> {\n await (await this.#getInlineHelpButton()).click();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyIllustrationSize } from '@skyux/indicators';\n\nimport { SkyIllustrationHarnessFilters } from './illustration-harness-filters';\n\n/**\n * Harness for interacting with an illustration component in tests.\n */\nexport class SkyIllustrationHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-illustration';\n\n #getImage = this.locatorFor('.sky-illustration-img');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyIllustrationHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyIllustrationHarnessFilters,\n ): HarnessPredicate<SkyIllustrationHarness> {\n return SkyIllustrationHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the specified name of the illustration.\n */\n public async getName(): Promise<string> {\n const img = await this.#getImage();\n const name = await img.getAttribute('data-sky-illustration-name');\n\n if (name === null) {\n throw new Error('Name was not set.');\n }\n\n return name;\n }\n\n /**\n * Gets the specified size of the illustration.\n */\n public async getSize(): Promise<SkyIllustrationSize> {\n const img = await this.#getImage();\n const height = await img.getAttribute('height');\n const width = await img.getAttribute('width');\n\n if (height !== width) {\n throw new Error('The image height and width do not match.');\n }\n\n switch (height) {\n case '0':\n throw new Error('Size was not set.');\n case '48':\n return 'sm';\n case '64':\n return 'md';\n case '80':\n return 'lg';\n case '96':\n return 'xl';\n }\n\n throw new Error(\n 'The image dimensions do not match the specified illustration size.',\n );\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info label component in tests.\n * @internal\n */\nexport class SkyKeyInfoLabelHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info-label';\n\n /**\n * Gets the text value of the component content.\n */\n public async getText(): Promise<string> {\n return await (await this.host()).text();\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info value component in tests.\n * @internal\n */\nexport class SkyKeyInfoValueHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info-value';\n\n /**\n * Gets the text value of the component content.\n */\n public async getText(): Promise<string> {\n return await (await this.host()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyKeyInfoLayoutType } from '@skyux/indicators';\n\nimport { SkyKeyInfoHarnessFilters } from './key-info-harness-filters';\nimport { SkyKeyInfoLabelHarness } from './key-info-label-harness';\nimport { SkyKeyInfoValueHarness } from './key-info-value-harness';\n\n/**\n * Harness for interacting with a key info component in tests.\n */\nexport class SkyKeyInfoHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info';\n\n #getLabel = this.locatorFor(SkyKeyInfoLabelHarness);\n #getValue = this.locatorFor(SkyKeyInfoValueHarness);\n #getWrapper = this.locatorFor('.sky-key-info');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyKeyInfoHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyKeyInfoHarnessFilters,\n ): HarnessPredicate<SkyKeyInfoHarness> {\n return SkyKeyInfoHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current value text.\n */\n public async getValueText(): Promise<string> {\n return await (await this.#getValue()).getText();\n }\n\n /**\n * Gets the current label text.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getLabel()).getText();\n }\n\n /**\n * Gets the current layout type.\n */\n public async getLayout(): Promise<SkyKeyInfoLayoutType> {\n return (await (\n await this.#getWrapper()\n ).hasClass('sky-key-info-horizontal'))\n ? 'horizontal'\n : 'vertical';\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyLabelType,\n} from '@skyux/indicators';\n\nimport { SkyLabelHarnessFilters } from './label-harness-filters';\n\n/**\n * Harness for interacting with a label component in tests.\n */\nexport class SkyLabelHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-label';\n\n #getWrapper = this.locatorFor('.sky-label');\n #getTextEl = this.locatorFor('.sky-label-text');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLabelHarnessFilters,\n ): HarnessPredicate<SkyLabelHarness> {\n return SkyLabelHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the text of the label component.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getTextEl()).text();\n }\n\n /**\n * Gets the `labelType` of the label component.\n */\n public async getLabelType(): Promise<SkyLabelType> {\n const labelClasses: DOMTokenList = await (\n await this.#getWrapper()\n ).getProperty('classList');\n\n if (labelClasses.contains('sky-label-success')) {\n return 'success';\n }\n\n if (labelClasses.contains('sky-label-danger')) {\n return 'danger';\n }\n\n if (labelClasses.contains('sky-label-warning')) {\n return 'warning';\n }\n\n return 'info';\n }\n\n /**\n * Gets the `descriptionType` of the label component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the label component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyIndicatorIconType,\n} from '@skyux/indicators';\n\nimport { SkyStatusIndicatorHarnessFilters } from './status-indicator-harness-filters';\n\n/**\n * Harness for interacting with a status indicator component in tests.\n */\nexport class SkyStatusIndicatorHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-status-indicator';\n\n #getIconWrapper = this.locatorFor('.sky-status-indicator-icon');\n #getMessage = this.locatorForOptional('.sky-status-indicator-message');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyStatusIndicatorHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyStatusIndicatorHarnessFilters,\n ): HarnessPredicate<SkyStatusIndicatorHarness> {\n return SkyStatusIndicatorHarness.getDataSkyIdPredicate(filters);\n }\n\n async #getHelpInline(): Promise<SkyHelpInlineHarness> {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n\n if (harness) {\n return harness;\n }\n\n throw Error('No help inline found.');\n }\n\n /**\n * Gets the current status indicator type.\n */\n public async getIndicatorType(): Promise<SkyIndicatorIconType | undefined> {\n const wrapper = await this.#getIconWrapper();\n\n if (await wrapper.hasClass('sky-status-indicator-icon-danger')) {\n return 'danger';\n }\n\n if (await wrapper.hasClass('sky-status-indicator-icon-info')) {\n return 'info';\n }\n\n if (await wrapper.hasClass('sky-status-indicator-icon-success')) {\n return 'success';\n }\n\n return 'warning';\n }\n\n /**\n * Gets the current status indicator text.\n */\n public async getText(): Promise<string> {\n const message = await this.#getMessage();\n\n if (message) {\n return await message.text();\n }\n\n throw new Error(\n 'Status indicator text was not found. Did you set the descriptionType input?',\n );\n }\n\n /**\n * Gets the `descriptionType` of the status indicator component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the status indicator component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n\n /**\n * Clicks the help inline button.\n */\n public async clickHelpInline(): Promise<void> {\n return await (await this.#getHelpInline()).click();\n }\n\n /**\n * Gets the help inline popover content.\n */\n public async getHelpPopoverContent(): Promise<string | undefined> {\n const content = await (await this.#getHelpInline()).getPopoverContent();\n\n return content as string | undefined;\n }\n\n /**\n * Gets the help inline popover title.\n */\n public async getHelpPopoverTitle(): Promise<string | undefined> {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n}\n","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyTokenHarnessFilters } from './token-harness-filters';\n\n/**\n * Harness for interacting with a token component in tests.\n */\nexport class SkyTokenHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-token';\n\n #getActionButton = this.locatorFor('button.sky-token-btn-action');\n\n #getDismissButton = this.locatorFor('button.sky-token-btn-close');\n\n #getWrapper = this.locatorFor('.sky-token');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyTokenHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyTokenHarnessFilters,\n ): HarnessPredicate<SkyTokenHarness> {\n return new HarnessPredicate(this, filters).addOption(\n 'text',\n filters.text,\n async (harness, test) =>\n await HarnessPredicate.stringMatches(\n await (await harness.host()).text(),\n test,\n ),\n );\n }\n\n /**\n * Selects the token.\n */\n public async select(): Promise<void> {\n if (await this.isDisabled()) {\n throw new Error('Could not select the token because it is disabled.');\n }\n\n await (await this.host()).click();\n }\n\n /**\n * Dismisses the token.\n */\n public async dismiss(): Promise<void> {\n if (!(await this.isDismissible())) {\n throw new Error(\n 'Could not dismiss the token because it is not dismissible.',\n );\n }\n\n await (await this.#getDismissButton()).click();\n }\n\n /**\n * Returns the text content of the token.\n */\n public async getText(): Promise<string> {\n return await (await this.host()).text();\n }\n\n /**\n * Whether the token is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n return await (await this.#getWrapper()).hasClass('sky-token-disabled');\n }\n\n /**\n * Whether the token is dismissible.\n */\n public async isDismissible(): Promise<boolean> {\n return await (await this.#getWrapper()).hasClass('sky-token-dismissible');\n }\n\n /**\n * Whether the token is focused.\n */\n public async isFocused(): Promise<boolean> {\n return await (await this.#getActionButton()).isFocused();\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyTokenHarness } from './token-harness';\nimport { SkyTokenHarnessFilters } from './token-harness-filters';\nimport { SkyTokensHarnessFilters } from './tokens-harness-filters';\n\n/**\n * Harness for interacting with a tokens component in tests.\n */\nexport class SkyTokensHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-tokens';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyTokensHarness` that meets certain criteria.\n */\n public static with(filters: SkyTokensHarnessFilters) {\n return SkyTokensHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Dismisses all tokens, or tokens that meet certain criteria.\n */\n public async dismissTokens(filters?: SkyTokenHarnessFilters): Promise<void> {\n const tokens = await this.getTokens(filters);\n for (const token of tokens) {\n await token.dismiss();\n }\n }\n\n /**\n * Returns a list of tokens.\n */\n public async getTokens(\n filters?: SkyTokenHarnessFilters,\n ): Promise<SkyTokenHarness[]> {\n return await this.locatorForAll(SkyTokenHarness.with(filters || {}))();\n }\n\n /**\n * Returns the text content of all tokens.\n */\n public async getTokensText(): Promise<string[]> {\n const tokens = await this.getTokens();\n const values: string[] = [];\n\n for (const token of tokens) {\n values.push(await token.getText());\n }\n\n return values;\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyWaitHarnessFilters } from './wait-harness-filters';\n\n/**\n * Harness for interacting with a wait component in tests.\n */\nexport class SkyWaitHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-wait';\n\n #getWaitMask = this.locatorForOptional('.sky-wait-mask');\n #getWaitContainer = this.locatorFor('.sky-wait-container');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyWaitHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyWaitHarnessFilters,\n ): HarnessPredicate<SkyWaitHarness> {\n if (filters.servicePageWaitType === 'blocking') {\n return SkyWaitHarness.getDataSkyIdPredicate({\n dataSkyId: 'page-wait-blocking',\n });\n } else if (filters.servicePageWaitType === 'non-blocking') {\n return SkyWaitHarness.getDataSkyIdPredicate({\n dataSkyId: 'page-wait-non-blocking',\n });\n }\n return SkyWaitHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the ARIA label for the wait component or throws an error if not waiting.\n */\n public async getAriaLabel(): Promise<string> {\n const waitMask = await this.#getWaitMask();\n if (waitMask) {\n return (\n (await waitMask.getAttribute('aria-label')) ||\n /* istanbul ignore next */\n ''\n );\n }\n throw new Error(\n 'An ARIA label cannot be determined because the wait component is not visible.',\n );\n }\n\n /**\n * Gets the waiting state of the wait component.\n */\n public async isWaiting(): Promise<boolean> {\n return !!(await this.#getWaitMask());\n }\n\n /**\n * Gets the full page state of the wait component.\n */\n public async isFullPage(): Promise<boolean> {\n return await (\n await this.#getWaitContainer()\n ).hasClass('sky-wait-full-page');\n }\n\n /**\n * Gets the blocking state of the wait component.\n */\n public async isNonBlocking(): Promise<boolean> {\n return await (\n await this.#getWaitContainer()\n ).hasClass('sky-wait-non-blocking');\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX alert component.\n * @deprecated Use `SkyAlertHarness` instead.\n * @internal\n */\nexport class SkyAlertFixture {\n /**\n * The alert's current text.\n */\n public get text(): string | undefined {\n return SkyAppTestUtility.getText(this.#debugEl);\n }\n\n /**\n * A flag indicating whether the alert can be closed.\n */\n public get closeable(): boolean | undefined {\n const closeBtnEl = this.#getCloseBtnEl();\n\n return SkyAppTestUtility.isVisible(closeBtnEl);\n }\n\n /**\n * Returns a flag indicating whether the alert is closed.\n */\n public get closed(): boolean {\n return !SkyAppTestUtility.isVisible(this.#getAlertEl());\n }\n\n /**\n * The alert's current type.\n */\n public get alertType(): string | undefined {\n const clsList = this.#getAlertEl().nativeElement.classList;\n\n if (clsList.contains('sky-alert-danger')) {\n return 'danger';\n }\n\n if (clsList.contains('sky-alert-info')) {\n return 'info';\n }\n\n if (clsList.contains('sky-alert-success')) {\n return 'success';\n }\n\n if (clsList.contains('sky-alert-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-alert',\n );\n }\n\n /**\n * Closes the alert. If the alert is not closeable, an error is thrown.\n */\n public close(): void {\n if (this.closeable) {\n const closeBtnEl = this.#getCloseBtnEl();\n\n closeBtnEl.triggerEventHandler('click', {});\n } else {\n throw new Error('The alert is not closeable.');\n }\n }\n\n #getAlertEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-alert'));\n }\n\n #getCloseBtnEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-alert-close'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX label component.\n * @internal\n */\nexport class SkyLabelFixture {\n /**\n * The label's current type.\n */\n public get labelType(): string | undefined {\n const clsList = this.#getLabelEl().nativeElement.classList;\n\n if (clsList.contains('sky-label-danger')) {\n return 'danger';\n }\n\n if (clsList.contains('sky-label-info')) {\n return 'info';\n }\n\n if (clsList.contains('sky-label-success')) {\n return 'success';\n }\n\n if (clsList.contains('sky-label-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n /**\n * The label's current text.\n */\n public get text(): string | undefined {\n const labelEl = this.#getLabelEl();\n\n return SkyAppTestUtility.getText(labelEl);\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-label',\n );\n }\n\n #getLabelEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-label'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * @internal\n */\nexport class SkyWaitFixture {\n public get isWaiting(): boolean {\n return this.#innerWaitComponentContainsClass('.sky-wait-mask');\n }\n\n public get isFullPage(): boolean {\n return this.#innerWaitComponentContainsClass(\n '.sky-wait-mask-loading-fixed',\n );\n }\n\n public get ariaLabel(): string {\n const div = this.#debugEl.nativeElement.querySelector('.sky-wait-mask');\n return div.getAttribute('aria-label');\n }\n\n public get isNonBlocking(): boolean {\n return this.#innerWaitComponentContainsClass(\n '.sky-wait-mask-loading-non-blocking',\n );\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-wait',\n );\n }\n\n #innerWaitComponentContainsClass(className: string): boolean {\n const element: HTMLDivElement =\n this.#debugEl.nativeElement.querySelector(className);\n return element !== null;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SkyHelpInlineHarness"],"mappings":"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"}