@skyux/indicators 6.18.0 → 6.19.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 (58) hide show
  1. package/documentation.json +768 -468
  2. package/esm2020/index.mjs +2 -1
  3. package/esm2020/lib/modules/icon/icon-stack.component.mjs +1 -1
  4. package/esm2020/lib/modules/icon/icon.component.mjs +1 -10
  5. package/esm2020/lib/modules/key-info/key-info-layout-type.mjs +2 -0
  6. package/esm2020/lib/modules/key-info/key-info.component.mjs +1 -1
  7. package/esm2020/lib/modules/status-indicator/status-indicator.component.mjs +6 -6
  8. package/esm2020/lib/modules/tokens/token.component.mjs +31 -29
  9. package/esm2020/lib/modules/tokens/tokens.component.mjs +100 -86
  10. package/esm2020/lib/modules/wait/wait-adapter.service.mjs +131 -128
  11. package/esm2020/lib/modules/wait/wait-page.component.mjs +1 -1
  12. package/esm2020/lib/modules/wait/wait.component.mjs +83 -36
  13. package/esm2020/lib/modules/wait/wait.service.mjs +80 -73
  14. package/esm2020/testing/alert/alert-harness-filters.mjs +1 -1
  15. package/esm2020/testing/alert/alert-harness.mjs +53 -8
  16. package/esm2020/testing/key-info/key-info-harness-filters.mjs +2 -0
  17. package/esm2020/testing/key-info/key-info-harness.mjs +50 -0
  18. package/esm2020/testing/key-info/key-info-label-harness.mjs +18 -0
  19. package/esm2020/testing/key-info/key-info-value-harness.mjs +18 -0
  20. package/esm2020/testing/label/label-harness-filters.mjs +2 -0
  21. package/esm2020/testing/label/label-harness.mjs +96 -0
  22. package/esm2020/testing/public-api.mjs +7 -3
  23. package/esm2020/testing/tokens/token-harness.mjs +6 -3
  24. package/esm2020/testing/tokens/tokens-harness.mjs +4 -1
  25. package/esm2020/testing/wait-fixture.mjs +1 -1
  26. package/fesm2015/skyux-indicators-testing.mjs +332 -85
  27. package/fesm2015/skyux-indicators-testing.mjs.map +1 -1
  28. package/fesm2015/skyux-indicators.mjs +423 -364
  29. package/fesm2015/skyux-indicators.mjs.map +1 -1
  30. package/fesm2020/skyux-indicators-testing.mjs +300 -75
  31. package/fesm2020/skyux-indicators-testing.mjs.map +1 -1
  32. package/fesm2020/skyux-indicators.mjs +422 -364
  33. package/fesm2020/skyux-indicators.mjs.map +1 -1
  34. package/index.d.ts +1 -0
  35. package/lib/modules/icon/icon-stack.component.d.ts +1 -1
  36. package/lib/modules/icon/icon.component.d.ts +4 -4
  37. package/lib/modules/key-info/key-info-layout-type.d.ts +1 -0
  38. package/lib/modules/key-info/key-info.component.d.ts +2 -1
  39. package/lib/modules/status-indicator/status-indicator.component.d.ts +8 -8
  40. package/lib/modules/tokens/token.component.d.ts +10 -27
  41. package/lib/modules/tokens/tokens.component.d.ts +17 -34
  42. package/lib/modules/wait/wait-adapter.service.d.ts +3 -13
  43. package/lib/modules/wait/wait-page.component.d.ts +2 -2
  44. package/lib/modules/wait/wait.component.d.ts +12 -16
  45. package/lib/modules/wait/wait.service.d.ts +1 -11
  46. package/package.json +5 -5
  47. package/testing/alert/alert-harness-filters.d.ts +0 -1
  48. package/testing/alert/alert-harness.d.ts +12 -2
  49. package/testing/key-info/key-info-harness-filters.d.ts +7 -0
  50. package/testing/key-info/key-info-harness.d.ts +32 -0
  51. package/testing/key-info/key-info-label-harness.d.ts +15 -0
  52. package/testing/key-info/key-info-value-harness.d.ts +15 -0
  53. package/testing/label/label-harness-filters.d.ts +7 -0
  54. package/testing/label/label-harness.d.ts +36 -0
  55. package/testing/public-api.d.ts +6 -2
  56. package/testing/tokens/token-harness.d.ts +3 -0
  57. package/testing/tokens/tokens-harness.d.ts +3 -0
  58. package/testing/wait-fixture.d.ts +1 -1
@@ -1,9 +1,331 @@
1
1
  import { __awaiter, __classPrivateFieldGet } from 'tslib';
2
- import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
3
2
  import { SkyComponentHarness } from '@skyux/core/testing';
3
+ import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
4
4
  import { By } from '@angular/platform-browser';
5
5
  import { SkyAppTestUtility } from '@skyux-sdk/testing';
6
6
 
7
+ var _SkyAlertHarness_getAlert, _SkyAlertHarness_getContent, _SkyAlertHarness_getCloseButton, _SkyAlertHarness_getScreenReaderTextEl;
8
+ /**
9
+ * Harness for interacting with an alert component in tests.
10
+ */
11
+ class SkyAlertHarness extends SkyComponentHarness {
12
+ constructor() {
13
+ super(...arguments);
14
+ _SkyAlertHarness_getAlert.set(this, this.locatorFor('.sky-alert'));
15
+ _SkyAlertHarness_getContent.set(this, this.locatorFor('.sky-alert-content'));
16
+ _SkyAlertHarness_getCloseButton.set(this, this.locatorFor('.sky-alert-close'));
17
+ _SkyAlertHarness_getScreenReaderTextEl.set(this, this.locatorForOptional('.sky-screen-reader-only'));
18
+ }
19
+ /**
20
+ * Gets a `HarnessPredicate` that can be used to search for a
21
+ * `SkyAlertHarness` that meets certain criteria.
22
+ */
23
+ static with(filters) {
24
+ return SkyAlertHarness.getDataSkyIdPredicate(filters);
25
+ }
26
+ /**
27
+ * Gets the current alert type.
28
+ */
29
+ getAlertType() {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const alert = yield __classPrivateFieldGet(this, _SkyAlertHarness_getAlert, "f").call(this);
32
+ if (yield alert.hasClass('sky-alert-danger')) {
33
+ return 'danger';
34
+ }
35
+ if (yield alert.hasClass('sky-alert-info')) {
36
+ return 'info';
37
+ }
38
+ if (yield alert.hasClass('sky-alert-success')) {
39
+ return 'success';
40
+ }
41
+ return 'warning';
42
+ });
43
+ }
44
+ /**
45
+ * Gets the current alert text.
46
+ */
47
+ getText() {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ return yield (yield __classPrivateFieldGet(this, _SkyAlertHarness_getContent, "f").call(this)).text();
50
+ });
51
+ }
52
+ /**
53
+ * Closes the alert.
54
+ */
55
+ close() {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ if (!(yield this.isCloseable())) {
58
+ throw new Error('The alert is not closeable.');
59
+ }
60
+ (yield __classPrivateFieldGet(this, _SkyAlertHarness_getCloseButton, "f").call(this)).click();
61
+ });
62
+ }
63
+ /**
64
+ * Indicates whether the user has closed the alert.
65
+ */
66
+ isClosed() {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ const alert = yield __classPrivateFieldGet(this, _SkyAlertHarness_getAlert, "f").call(this);
69
+ return yield alert.getProperty('hidden');
70
+ });
71
+ }
72
+ /**
73
+ * Indicates whether the user can close the alert.
74
+ */
75
+ isCloseable() {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const closeBtn = yield __classPrivateFieldGet(this, _SkyAlertHarness_getCloseButton, "f").call(this);
78
+ return !(yield closeBtn.getProperty('hidden'));
79
+ });
80
+ }
81
+ /**
82
+ * Gets the `descriptionType` of the label component.
83
+ */
84
+ getDescriptionType() {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ const srEl = yield __classPrivateFieldGet(this, _SkyAlertHarness_getScreenReaderTextEl, "f").call(this);
87
+ if (!srEl) {
88
+ return 'none';
89
+ }
90
+ const srText = yield srEl.text();
91
+ switch (srText) {
92
+ case 'Attention:':
93
+ return 'attention';
94
+ case 'Caution:':
95
+ return 'caution';
96
+ case 'Completed:':
97
+ return 'completed';
98
+ case 'Danger:':
99
+ return 'danger';
100
+ case 'Error:':
101
+ return 'error';
102
+ case 'Important information:':
103
+ return 'important-info';
104
+ case 'Important warning:':
105
+ return 'important-warning';
106
+ case 'Success:':
107
+ return 'success';
108
+ case 'Warning:':
109
+ return 'warning';
110
+ default:
111
+ return 'custom';
112
+ }
113
+ });
114
+ }
115
+ /**
116
+ * Gets the custom text used for the screen reader description of the label component icon.
117
+ */
118
+ getCustomDescription() {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ const descriptionType = yield this.getDescriptionType();
121
+ if (descriptionType === 'custom') {
122
+ const srEl = yield __classPrivateFieldGet(this, _SkyAlertHarness_getScreenReaderTextEl, "f").call(this);
123
+ if (srEl) {
124
+ return yield srEl.text();
125
+ }
126
+ }
127
+ return '';
128
+ });
129
+ }
130
+ }
131
+ _SkyAlertHarness_getAlert = new WeakMap(), _SkyAlertHarness_getContent = new WeakMap(), _SkyAlertHarness_getCloseButton = new WeakMap(), _SkyAlertHarness_getScreenReaderTextEl = new WeakMap();
132
+ /**
133
+ * @internal
134
+ */
135
+ SkyAlertHarness.hostSelector = 'sky-alert';
136
+
137
+ /**
138
+ * Harness for interacting with a key info label component in tests.
139
+ * @internal
140
+ */
141
+ class SkyKeyInfoLabelHarness extends SkyComponentHarness {
142
+ /**
143
+ * Gets the text value of the component content.
144
+ */
145
+ getText() {
146
+ return __awaiter(this, void 0, void 0, function* () {
147
+ return (yield this.host()).text();
148
+ });
149
+ }
150
+ }
151
+ /**
152
+ * @internal
153
+ */
154
+ SkyKeyInfoLabelHarness.hostSelector = 'sky-key-info-label';
155
+
156
+ /**
157
+ * Harness for interacting with a key info value component in tests.
158
+ * @internal
159
+ */
160
+ class SkyKeyInfoValueHarness extends SkyComponentHarness {
161
+ /**
162
+ * Gets the text value of the component content.
163
+ */
164
+ getText() {
165
+ return __awaiter(this, void 0, void 0, function* () {
166
+ return (yield this.host()).text();
167
+ });
168
+ }
169
+ }
170
+ /**
171
+ * @internal
172
+ */
173
+ SkyKeyInfoValueHarness.hostSelector = 'sky-key-info-value';
174
+
175
+ var _SkyKeyInfoHarness_getLabel, _SkyKeyInfoHarness_getValue, _SkyKeyInfoHarness_getWrapper;
176
+ /**
177
+ * Harness for interacting with a key info component in tests.
178
+ * @internal
179
+ */
180
+ class SkyKeyInfoHarness extends SkyComponentHarness {
181
+ constructor() {
182
+ super(...arguments);
183
+ _SkyKeyInfoHarness_getLabel.set(this, this.locatorFor(SkyKeyInfoLabelHarness));
184
+ _SkyKeyInfoHarness_getValue.set(this, this.locatorFor(SkyKeyInfoValueHarness));
185
+ _SkyKeyInfoHarness_getWrapper.set(this, this.locatorFor('.sky-key-info'));
186
+ }
187
+ /**
188
+ * Gets a `HarnessPredicate` that can be used to search for a
189
+ * `SkyKeyInfoHarness` that meets certain criteria.
190
+ */
191
+ static with(filters) {
192
+ return SkyKeyInfoHarness.getDataSkyIdPredicate(filters);
193
+ }
194
+ /**
195
+ * Gets the current value text.
196
+ */
197
+ getValueText() {
198
+ return __awaiter(this, void 0, void 0, function* () {
199
+ return yield (yield __classPrivateFieldGet(this, _SkyKeyInfoHarness_getValue, "f").call(this)).getText();
200
+ });
201
+ }
202
+ /**
203
+ * Gets the current label text.
204
+ */
205
+ getLabelText() {
206
+ return __awaiter(this, void 0, void 0, function* () {
207
+ return yield (yield __classPrivateFieldGet(this, _SkyKeyInfoHarness_getLabel, "f").call(this)).getText();
208
+ });
209
+ }
210
+ /**
211
+ * Gets the current layout type.
212
+ */
213
+ getLayout() {
214
+ return __awaiter(this, void 0, void 0, function* () {
215
+ return (yield (yield __classPrivateFieldGet(this, _SkyKeyInfoHarness_getWrapper, "f").call(this)).hasClass('sky-key-info-horizontal'))
216
+ ? 'horizontal'
217
+ : 'vertical';
218
+ });
219
+ }
220
+ }
221
+ _SkyKeyInfoHarness_getLabel = new WeakMap(), _SkyKeyInfoHarness_getValue = new WeakMap(), _SkyKeyInfoHarness_getWrapper = new WeakMap();
222
+ /**
223
+ * @internal
224
+ */
225
+ SkyKeyInfoHarness.hostSelector = 'sky-key-info';
226
+
227
+ var _SkyLabelHarness_getWrapper, _SkyLabelHarness_getTextEl, _SkyLabelHarness_getScreenReaderTextEl;
228
+ /**
229
+ * Harness for interacting with a label component in tests.
230
+ * @internal
231
+ */
232
+ class SkyLabelHarness extends SkyComponentHarness {
233
+ constructor() {
234
+ super(...arguments);
235
+ _SkyLabelHarness_getWrapper.set(this, this.locatorFor('.sky-label'));
236
+ _SkyLabelHarness_getTextEl.set(this, this.locatorFor('.sky-label-text'));
237
+ _SkyLabelHarness_getScreenReaderTextEl.set(this, this.locatorForOptional('.sky-screen-reader-only'));
238
+ }
239
+ // #getAccessibilityEl = this.locatorForAll
240
+ /**
241
+ * Gets a `HarnessPredicate` that can be used to search for a
242
+ * `SkyLookupHarness` that meets certain criteria.
243
+ */
244
+ static with(filters) {
245
+ return SkyLabelHarness.getDataSkyIdPredicate(filters);
246
+ }
247
+ /**
248
+ * Gets the text of the label component.
249
+ */
250
+ getLabelText() {
251
+ return __awaiter(this, void 0, void 0, function* () {
252
+ return yield (yield __classPrivateFieldGet(this, _SkyLabelHarness_getTextEl, "f").call(this)).text();
253
+ });
254
+ }
255
+ /**
256
+ * Gets the `labelType` of the label component.
257
+ */
258
+ getLabelType() {
259
+ return __awaiter(this, void 0, void 0, function* () {
260
+ const labelClasses = yield (yield __classPrivateFieldGet(this, _SkyLabelHarness_getWrapper, "f").call(this)).getProperty('classList');
261
+ if (labelClasses.contains('sky-label-success')) {
262
+ return 'success';
263
+ }
264
+ if (labelClasses.contains('sky-label-danger')) {
265
+ return 'danger';
266
+ }
267
+ if (labelClasses.contains('sky-label-warning')) {
268
+ return 'warning';
269
+ }
270
+ return 'info';
271
+ });
272
+ }
273
+ /**
274
+ * Gets the `descriptionType` of the label component.
275
+ */
276
+ getDescriptionType() {
277
+ return __awaiter(this, void 0, void 0, function* () {
278
+ const srEl = yield __classPrivateFieldGet(this, _SkyLabelHarness_getScreenReaderTextEl, "f").call(this);
279
+ if (!srEl) {
280
+ return 'none';
281
+ }
282
+ const srText = yield srEl.text();
283
+ switch (srText) {
284
+ case 'Attention:':
285
+ return 'attention';
286
+ case 'Caution:':
287
+ return 'caution';
288
+ case 'Completed:':
289
+ return 'completed';
290
+ case 'Danger:':
291
+ return 'danger';
292
+ case 'Error:':
293
+ return 'error';
294
+ case 'Important information:':
295
+ return 'important-info';
296
+ case 'Important warning:':
297
+ return 'important-warning';
298
+ case 'Success:':
299
+ return 'success';
300
+ case 'Warning:':
301
+ return 'warning';
302
+ default:
303
+ return 'custom';
304
+ }
305
+ });
306
+ }
307
+ /**
308
+ * Gets the custom text used for the screen reader description of the label component icon.
309
+ */
310
+ getCustomDescription() {
311
+ return __awaiter(this, void 0, void 0, function* () {
312
+ const descriptionType = yield this.getDescriptionType();
313
+ if (descriptionType === 'custom') {
314
+ const srEl = yield __classPrivateFieldGet(this, _SkyLabelHarness_getScreenReaderTextEl, "f").call(this);
315
+ if (srEl) {
316
+ return yield srEl.text();
317
+ }
318
+ }
319
+ return '';
320
+ });
321
+ }
322
+ }
323
+ _SkyLabelHarness_getWrapper = new WeakMap(), _SkyLabelHarness_getTextEl = new WeakMap(), _SkyLabelHarness_getScreenReaderTextEl = new WeakMap();
324
+ /**
325
+ * @internal
326
+ */
327
+ SkyLabelHarness.hostSelector = 'sky-label';
328
+
7
329
  var _SkyTokenHarness_getDismissButton, _SkyTokenHarness_getWrapper;
8
330
  /**
9
331
  * Harness for interacting with a token component in tests.
@@ -12,7 +334,7 @@ var _SkyTokenHarness_getDismissButton, _SkyTokenHarness_getWrapper;
12
334
  class SkyTokenHarness extends ComponentHarness {
13
335
  constructor() {
14
336
  super(...arguments);
15
- _SkyTokenHarness_getDismissButton.set(this, this.locatorForOptional('button.sky-token-btn-close'));
337
+ _SkyTokenHarness_getDismissButton.set(this, this.locatorFor('button.sky-token-btn-close'));
16
338
  _SkyTokenHarness_getWrapper.set(this, this.locatorFor('.sky-token'));
17
339
  }
18
340
  /**
@@ -30,7 +352,7 @@ class SkyTokenHarness extends ComponentHarness {
30
352
  if (!(yield this.isDismissible())) {
31
353
  throw new Error('Could not dismiss the token because it is not dismissable.');
32
354
  }
33
- return (yield __classPrivateFieldGet(this, _SkyTokenHarness_getDismissButton, "f").call(this)).click();
355
+ yield (yield __classPrivateFieldGet(this, _SkyTokenHarness_getDismissButton, "f").call(this)).click();
34
356
  });
35
357
  }
36
358
  /**
@@ -51,6 +373,9 @@ class SkyTokenHarness extends ComponentHarness {
51
373
  }
52
374
  }
53
375
  _SkyTokenHarness_getDismissButton = new WeakMap(), _SkyTokenHarness_getWrapper = new WeakMap();
376
+ /**
377
+ * @internal
378
+ */
54
379
  SkyTokenHarness.hostSelector = 'sky-token';
55
380
 
56
381
  /**
@@ -98,6 +423,9 @@ class SkyTokensHarness extends SkyComponentHarness {
98
423
  });
99
424
  }
100
425
  }
426
+ /**
427
+ * @internal
428
+ */
101
429
  SkyTokensHarness.hostSelector = 'sky-tokens';
102
430
 
103
431
  /**
@@ -232,90 +560,9 @@ class SkyWaitFixture {
232
560
  }
233
561
  }
234
562
 
235
- var _SkyAlertHarness_getAlert, _SkyAlertHarness_getContent, _SkyAlertHarness_getCloseButton;
236
- /**
237
- * Harness for interacting with an alert component in tests.
238
- * @internal
239
- */
240
- class SkyAlertHarness extends SkyComponentHarness {
241
- constructor() {
242
- super(...arguments);
243
- _SkyAlertHarness_getAlert.set(this, this.locatorFor('.sky-alert'));
244
- _SkyAlertHarness_getContent.set(this, this.locatorFor('.sky-alert-content'));
245
- _SkyAlertHarness_getCloseButton.set(this, this.locatorFor('.sky-alert-close'));
246
- }
247
- /**
248
- * Gets a `HarnessPredicate` that can be used to search for a
249
- * `SkyAlertHarness` that meets certain criteria.
250
- */
251
- static with(filters) {
252
- return SkyAlertHarness.getDataSkyIdPredicate(filters);
253
- }
254
- /**
255
- * Gets the current alert type.
256
- */
257
- getAlertType() {
258
- return __awaiter(this, void 0, void 0, function* () {
259
- const alert = yield __classPrivateFieldGet(this, _SkyAlertHarness_getAlert, "f").call(this);
260
- if (yield alert.hasClass('sky-alert-danger')) {
261
- return 'danger';
262
- }
263
- if (yield alert.hasClass('sky-alert-info')) {
264
- return 'info';
265
- }
266
- if (yield alert.hasClass('sky-alert-success')) {
267
- return 'success';
268
- }
269
- if (yield alert.hasClass('sky-alert-warning')) {
270
- return 'warning';
271
- }
272
- return undefined;
273
- });
274
- }
275
- /**
276
- * Gets the current alert text.
277
- */
278
- getText() {
279
- return __awaiter(this, void 0, void 0, function* () {
280
- return yield (yield __classPrivateFieldGet(this, _SkyAlertHarness_getContent, "f").call(this)).text();
281
- });
282
- }
283
- /**
284
- * Closes the alert.
285
- */
286
- close() {
287
- return __awaiter(this, void 0, void 0, function* () {
288
- if (!(yield this.isCloseable())) {
289
- throw new Error('The alert is not closeable.');
290
- }
291
- (yield __classPrivateFieldGet(this, _SkyAlertHarness_getCloseButton, "f").call(this)).click();
292
- });
293
- }
294
- /**
295
- * Indicates whether the user has closed the alert.
296
- */
297
- isClosed() {
298
- return __awaiter(this, void 0, void 0, function* () {
299
- const alert = yield __classPrivateFieldGet(this, _SkyAlertHarness_getAlert, "f").call(this);
300
- return yield alert.getProperty('hidden');
301
- });
302
- }
303
- /**
304
- * Indicates whether the user can close the alert.
305
- */
306
- isCloseable() {
307
- return __awaiter(this, void 0, void 0, function* () {
308
- const closeBtn = yield __classPrivateFieldGet(this, _SkyAlertHarness_getCloseButton, "f").call(this);
309
- return !(yield closeBtn.getProperty('hidden'));
310
- });
311
- }
312
- }
313
- _SkyAlertHarness_getAlert = new WeakMap(), _SkyAlertHarness_getContent = new WeakMap(), _SkyAlertHarness_getCloseButton = new WeakMap();
314
- SkyAlertHarness.hostSelector = 'sky-alert';
315
-
316
563
  /**
317
564
  * Generated bundle index. Do not edit.
318
565
  */
319
566
 
320
- export { SkyAlertFixture, SkyAlertHarness, SkyLabelFixture, SkyTokenHarness, SkyTokensHarness, SkyWaitFixture };
567
+ export { SkyAlertFixture, SkyAlertHarness, SkyKeyInfoHarness, SkyLabelFixture, SkyLabelHarness, SkyTokenHarness, SkyTokensHarness, SkyWaitFixture };
321
568
  //# sourceMappingURL=skyux-indicators-testing.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-indicators-testing.mjs","sources":["../../../../../libs/components/indicators/testing/src/tokens/token-harness.ts","../../../../../libs/components/indicators/testing/src/tokens/tokens-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/alert/alert-harness.ts","../../../../../libs/components/indicators/testing/src/skyux-indicators-testing.ts"],"sourcesContent":["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 * @internal\n */\nexport class SkyTokenHarness extends ComponentHarness {\n public static hostSelector = 'sky-token';\n\n #getDismissButton = this.locatorForOptional('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 * 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 dismissable.'\n );\n }\n\n return (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 dismissible.\n */\n public async isDismissible(): Promise<boolean> {\n return await (await this.#getWrapper()).hasClass('sky-token-dismissable');\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 * @internal\n */\nexport class SkyTokensHarness extends SkyComponentHarness {\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 { 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 private 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 private getAlertEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-alert'));\n }\n\n private 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 private 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 private 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('.sky-wait-mask-loading-fixed');\n }\n\n public get ariaLabel(): string {\n const div: HTMLDivElement =\n 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 private debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-wait'\n );\n }\n\n private innerWaitComponentContainsClass(className: string): boolean {\n const element: HTMLDivElement =\n this.debugEl.nativeElement.querySelector(className);\n return element !== null;\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyIndicatorIconType } from '@skyux/indicators';\n\nimport { SkyAlertHarnessFilters } from './alert-harness-filters';\n\n/**\n * Harness for interacting with an alert component in tests.\n * @internal\n */\nexport class SkyAlertHarness extends SkyComponentHarness {\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\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 if (await alert.hasClass('sky-alert-warning')) {\n return 'warning';\n }\n\n return undefined;\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 * Indicates whether the user has 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 * Indicates 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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AAIA;;;AAGG;AACG,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;AAArD,IAAA,WAAA,GAAA;;AAGE,QAAA,iCAAA,CAAA,GAAA,CAAA,IAAA,EAAoB,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,CAAA;AAE1E,QAAA,2BAAA,CAAA,GAAA,CAAA,IAAA,EAAc,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;KA8C7C;AA5CC;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA+B,EAAA;QAE/B,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAClD,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,CAAO,OAAO,EAAE,IAAI,oDAClB,OAAA,gBAAgB,CAAC,aAAa,CAC5B,MAAM,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EACnC,IAAI,CACL,CAAA,EAAA,CAAA,CACJ,CAAC;KACH;AAED;;AAEG;IACU,OAAO,GAAA;;YAClB,IAAI,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE;AACjC,gBAAA,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;AACH,aAAA;AAED,YAAA,OAAO,CAAC,MAAM,sBAAA,CAAA,IAAI,EAAkB,iCAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAAtB,IAAI,CAAoB,EAAE,KAAK,EAAE,CAAC;SACjD,CAAA,CAAA;AAAA,KAAA;AAED;;AAEG;IACU,OAAO,GAAA;;YAClB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;SACnC,CAAA,CAAA;AAAA,KAAA;AAED;;AAEG;IACU,aAAa,GAAA;;YACxB,OAAO,MAAM,CAAC,MAAM,sBAAA,CAAA,IAAI,EAAY,2BAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAAhB,IAAI,CAAc,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;SAC3E,CAAA,CAAA;AAAA,KAAA;;;AAjDa,eAAY,CAAA,YAAA,GAAG,WAAW;;ACH1C;;;AAGG;AACG,MAAO,gBAAiB,SAAQ,mBAAmB,CAAA;AAGvD;;;AAGG;IACI,OAAO,IAAI,CAAC,OAAgC,EAAA;AACjD,QAAA,OAAO,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KACxD;AAED;;AAEG;AACU,IAAA,aAAa,CAAC,OAAgC,EAAA;;YACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC7C,YAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,gBAAA,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;AACvB,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;AAED;;AAEG;AACU,IAAA,SAAS,CACpB,OAAgC,EAAA;;AAEhC,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SAClE,CAAA,CAAA;AAAA,KAAA;AAED;;AAEG;IACU,aAAa,GAAA;;AACxB,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,MAAM,GAAa,EAAE,CAAC;AAE5B,YAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AACpC,aAAA;AAED,YAAA,OAAO,MAAM,CAAC;SACf,CAAA,CAAA;AAAA,KAAA;;AAzCa,gBAAY,CAAA,YAAA,GAAG,YAAY;;ACN3C;;;;AAIG;MACU,eAAe,CAAA;IAmD1B,WAAY,CAAA,OAAkC,EAAE,SAAiB,EAAA;AAC/D,QAAA,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,uBAAuB,CACtD,OAAO,EACP,SAAS,EACT,WAAW,CACZ,CAAC;KACH;AAxDD;;AAEG;AACH,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAChD;AAED;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;AAExC,QAAA,OAAO,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;KAChD;AAED;;AAEG;AACH,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;KACxD;AAED;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC;AAE1D,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AACxC,YAAA,OAAO,QAAQ,CAAC;AACjB,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;AACtC,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AACzC,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AACzC,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AAED,QAAA,OAAO,SAAS,CAAC;KAClB;AAYD;;AAEG;IACI,KAAK,GAAA;QACV,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;AAExC,YAAA,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC7C,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAChD,SAAA;KACF;IAEO,UAAU,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;KACjD;IAEO,aAAa,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;KACvD;AACF;;ACpFD;;;AAGG;MACU,eAAe,CAAA;IAqC1B,WAAY,CAAA,OAA8B,EAAE,SAAiB,EAAA;AAC3D,QAAA,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,uBAAuB,CACtD,OAAO,EACP,SAAS,EACT,WAAW,CACZ,CAAC;KACH;AA1CD;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC;AAE1D,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AACxC,YAAA,OAAO,QAAQ,CAAC;AACjB,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;AACtC,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AACzC,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AACzC,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AAED,QAAA,OAAO,SAAS,CAAC;KAClB;AAED;;AAEG;AACH,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AAElC,QAAA,OAAO,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC3C;IAYO,UAAU,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;KACjD;AACF;;ACrDD;;AAEG;MACU,cAAc,CAAA;IAuBzB,WAAY,CAAA,OAA8B,EAAE,SAAiB,EAAA;AAC3D,QAAA,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,uBAAuB,CACtD,OAAO,EACP,SAAS,EACT,UAAU,CACX,CAAC;KACH;AA5BD,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,CAAC;KAC/D;AAED,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,+BAA+B,CAAC,8BAA8B,CAAC,CAAC;KAC7E;AAED,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,MAAM,GAAG,GACP,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAC7D,QAAA,OAAO,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;KACvC;AAED,IAAA,IAAW,aAAa,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,+BAA+B,CACzC,qCAAqC,CACtC,CAAC;KACH;AAYO,IAAA,+BAA+B,CAAC,SAAiB,EAAA;AACvD,QAAA,MAAM,OAAO,GACX,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACtD,OAAO,OAAO,KAAK,IAAI,CAAC;KACzB;AACF;;;ACrCD;;;AAGG;AACG,MAAO,eAAgB,SAAQ,mBAAmB,CAAA;AAAxD,IAAA,WAAA,GAAA;;AAGE,QAAA,yBAAA,CAAA,GAAA,CAAA,IAAA,EAAY,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;AAC1C,QAAA,2BAAA,CAAA,GAAA,CAAA,IAAA,EAAc,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAA;AACpD,QAAA,+BAAA,CAAA,GAAA,CAAA,IAAA,EAAkB,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAA;KAuEvD;AArEC;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA+B,EAAA;AAE/B,QAAA,OAAO,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KACvD;AAED;;AAEG;IACU,YAAY,GAAA;;AACvB,YAAA,MAAM,KAAK,GAAG,MAAM,sBAAA,CAAA,IAAI,EAAU,yBAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAAd,IAAI,CAAY,CAAC;AAErC,YAAA,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AAC5C,gBAAA,OAAO,QAAQ,CAAC;AACjB,aAAA;AAED,YAAA,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;AAC1C,gBAAA,OAAO,MAAM,CAAC;AACf,aAAA;AAED,YAAA,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AAC7C,gBAAA,OAAO,SAAS,CAAC;AAClB,aAAA;AAED,YAAA,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AAC7C,gBAAA,OAAO,SAAS,CAAC;AAClB,aAAA;AAED,YAAA,OAAO,SAAS,CAAC;SAClB,CAAA,CAAA;AAAA,KAAA;AAED;;AAEG;IACU,OAAO,GAAA;;YAClB,OAAO,MAAM,CAAC,MAAM,sBAAA,CAAA,IAAI,EAAA,2BAAA,EAAA,GAAA,CAAY,CAAhB,IAAA,CAAA,IAAI,CAAc,EAAE,IAAI,EAAE,CAAC;SAChD,CAAA,CAAA;AAAA,KAAA;AAED;;AAEG;IACU,KAAK,GAAA;;YAChB,IAAI,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;AAC/B,gBAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAChD,aAAA;AAED,YAAA,CAAC,MAAM,sBAAA,CAAA,IAAI,EAAgB,+BAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAApB,IAAI,CAAkB,EAAE,KAAK,EAAE,CAAC;SACxC,CAAA,CAAA;AAAA,KAAA;AAED;;AAEG;IACU,QAAQ,GAAA;;AACnB,YAAA,MAAM,KAAK,GAAG,MAAM,sBAAA,CAAA,IAAI,EAAU,yBAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAAd,IAAI,CAAY,CAAC;AAErC,YAAA,OAAO,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC1C,CAAA,CAAA;AAAA,KAAA;AAED;;AAEG;IACU,WAAW,GAAA;;AACtB,YAAA,MAAM,QAAQ,GAAG,MAAM,sBAAA,CAAA,IAAI,EAAgB,+BAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAApB,IAAI,CAAkB,CAAC;YAC9C,OAAO,EAAE,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;SAChD,CAAA,CAAA;AAAA,KAAA;;;AA1Ea,eAAY,CAAA,YAAA,GAAG,WAAW;;ACX1C;;AAEG;;;;"}
1
+ {"version":3,"file":"skyux-indicators-testing.mjs","sources":["../../../../../libs/components/indicators/testing/src/alert/alert-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/tokens/token-harness.ts","../../../../../libs/components/indicators/testing/src/tokens/tokens-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 * Indicates whether the user has 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 * Indicates 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 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 * @internal\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 * @internal\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 // #getAccessibilityEl = this.locatorForAll\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 { 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 * @internal\n */\nexport class SkyTokenHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-token';\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 * 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 dismissable.'\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 dismissible.\n */\n public async isDismissible(): Promise<boolean> {\n return await (await this.#getWrapper()).hasClass('sky-token-dismissable');\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 * @internal\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 { 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 private 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 private getAlertEl(): DebugElement {\n return this.debugEl.query(By.css('.sky-alert'));\n }\n\n private 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 private 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 private 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('.sky-wait-mask-loading-fixed');\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 private 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 private 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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"}