@skyux/indicators 8.0.0-alpha.2 → 8.0.0-alpha.21

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 +3435 -2037
  2. package/esm2020/lib/modules/alert/alert.component.mjs +38 -20
  3. package/esm2020/lib/modules/alert/alert.module.mjs +4 -4
  4. package/esm2020/lib/modules/chevron/chevron.component.mjs +3 -3
  5. package/esm2020/lib/modules/chevron/chevron.module.mjs +4 -4
  6. package/esm2020/lib/modules/expansion-indicator/expansion-indicator.component.mjs +3 -3
  7. package/esm2020/lib/modules/expansion-indicator/expansion-indicator.module.mjs +4 -4
  8. package/esm2020/lib/modules/help-inline/help-inline-aria-expanded.pipe.mjs +16 -0
  9. package/esm2020/lib/modules/help-inline/help-inline.component.mjs +14 -7
  10. package/esm2020/lib/modules/help-inline/help-inline.module.mjs +7 -6
  11. package/esm2020/lib/modules/icon/icon-class-list.pipe.mjs +14 -15
  12. package/esm2020/lib/modules/icon/icon-resolver.service.mjs +41 -25
  13. package/esm2020/lib/modules/icon/icon-stack.component.mjs +10 -6
  14. package/esm2020/lib/modules/icon/icon.component.mjs +10 -6
  15. package/esm2020/lib/modules/icon/icon.module.mjs +6 -7
  16. package/esm2020/lib/modules/icon/types/icon-resolved.mjs +2 -0
  17. package/esm2020/lib/modules/key-info/key-info-label.component.mjs +3 -3
  18. package/esm2020/lib/modules/key-info/key-info-value.component.mjs +3 -3
  19. package/esm2020/lib/modules/key-info/key-info.component.mjs +3 -3
  20. package/esm2020/lib/modules/key-info/key-info.module.mjs +4 -4
  21. package/esm2020/lib/modules/label/label.component.mjs +37 -21
  22. package/esm2020/lib/modules/label/label.module.mjs +4 -4
  23. package/esm2020/lib/modules/shared/sky-indicators-resources.module.mjs +9 -5
  24. package/esm2020/lib/modules/status-indicator/status-indicator.component.mjs +14 -16
  25. package/esm2020/lib/modules/status-indicator/status-indicator.module.mjs +4 -4
  26. package/esm2020/lib/modules/text-highlight/text-highlight.directive.mjs +10 -12
  27. package/esm2020/lib/modules/text-highlight/text-highlight.module.mjs +4 -4
  28. package/esm2020/lib/modules/tokens/token.component.mjs +9 -10
  29. package/esm2020/lib/modules/tokens/tokens.component.mjs +55 -56
  30. package/esm2020/lib/modules/tokens/tokens.module.mjs +4 -4
  31. package/esm2020/lib/modules/wait/wait-adapter.service.mjs +3 -3
  32. package/esm2020/lib/modules/wait/wait-page.component.mjs +3 -3
  33. package/esm2020/lib/modules/wait/wait.component.mjs +64 -33
  34. package/esm2020/lib/modules/wait/wait.module.mjs +4 -4
  35. package/esm2020/lib/modules/wait/wait.service.mjs +16 -44
  36. package/esm2020/testing/alert-fixture.mjs +6 -6
  37. package/esm2020/testing/chevron/chevron-harness.mjs +44 -0
  38. package/esm2020/testing/help-inline/help-inline-harness-filters.mjs +2 -0
  39. package/esm2020/testing/help-inline/help-inline-harness.mjs +31 -0
  40. package/esm2020/testing/icon/icon-harness-filters.mjs +2 -0
  41. package/esm2020/testing/icon/icon-harness.mjs +90 -0
  42. package/esm2020/testing/label-fixture.mjs +6 -6
  43. package/esm2020/testing/public-api.mjs +6 -1
  44. package/esm2020/testing/wait/wait-harness-filters.mjs +1 -1
  45. package/esm2020/testing/wait-fixture.mjs +6 -6
  46. package/fesm2015/skyux-indicators-testing.mjs +199 -16
  47. package/fesm2015/skyux-indicators-testing.mjs.map +1 -1
  48. package/fesm2015/skyux-indicators.mjs +375 -327
  49. package/fesm2015/skyux-indicators.mjs.map +1 -1
  50. package/fesm2020/skyux-indicators-testing.mjs +175 -16
  51. package/fesm2020/skyux-indicators-testing.mjs.map +1 -1
  52. package/fesm2020/skyux-indicators.mjs +374 -323
  53. package/fesm2020/skyux-indicators.mjs.map +1 -1
  54. package/lib/modules/alert/alert.component.d.ts +5 -4
  55. package/lib/modules/help-inline/help-inline-aria-expanded.pipe.d.ts +7 -0
  56. package/lib/modules/help-inline/help-inline.component.d.ts +20 -1
  57. package/lib/modules/help-inline/help-inline.module.d.ts +7 -6
  58. package/lib/modules/icon/icon-class-list.pipe.d.ts +2 -3
  59. package/lib/modules/icon/icon-resolver.service.d.ts +5 -4
  60. package/lib/modules/icon/icon-stack.component.d.ts +3 -1
  61. package/lib/modules/icon/icon.component.d.ts +6 -2
  62. package/lib/modules/icon/icon.module.d.ts +1 -2
  63. package/lib/modules/icon/types/icon-resolved.d.ts +7 -0
  64. package/lib/modules/icon/types/icon-type.d.ts +1 -1
  65. package/lib/modules/icon/types/icon-variant-type.d.ts +1 -1
  66. package/lib/modules/key-info/key-info-layout-type.d.ts +1 -1
  67. package/lib/modules/label/label-type.d.ts +1 -1
  68. package/lib/modules/label/label.component.d.ts +5 -4
  69. package/lib/modules/shared/indicator-description-type.d.ts +1 -1
  70. package/lib/modules/shared/indicator-icon-type.d.ts +1 -1
  71. package/lib/modules/status-indicator/status-indicator.component.d.ts +1 -3
  72. package/lib/modules/text-highlight/text-highlight.directive.d.ts +1 -3
  73. package/lib/modules/tokens/token.component.d.ts +0 -1
  74. package/lib/modules/tokens/tokens.component.d.ts +2 -2
  75. package/lib/modules/wait/wait.component.d.ts +19 -13
  76. package/lib/modules/wait/wait.service.d.ts +1 -5
  77. package/package.json +11 -11
  78. package/testing/chevron/chevron-harness.d.ts +23 -0
  79. package/testing/help-inline/help-inline-harness-filters.d.ts +6 -0
  80. package/testing/help-inline/help-inline-harness.d.ts +22 -0
  81. package/testing/icon/icon-harness-filters.d.ts +6 -0
  82. package/testing/icon/icon-harness.d.ts +38 -0
  83. package/testing/public-api.d.ts +5 -0
  84. package/testing/wait/wait-harness-filters.d.ts +1 -1
  85. package/esm2020/lib/modules/wait/wait-page-adapter.service.mjs +0 -26
  86. package/lib/modules/wait/wait-page-adapter.service.d.ts +0 -10
@@ -120,6 +120,165 @@ _SkyAlertHarness_getAlert = new WeakMap(), _SkyAlertHarness_getContent = new Wea
120
120
  */
121
121
  SkyAlertHarness.hostSelector = 'sky-alert';
122
122
 
123
+ var _SkyChevronHarness_getButton;
124
+ /**
125
+ * Harness for interacting with a chevron component in tests.
126
+ */
127
+ class SkyChevronHarness extends SkyComponentHarness {
128
+ constructor() {
129
+ super(...arguments);
130
+ _SkyChevronHarness_getButton.set(this, this.locatorFor('button.sky-chevron'));
131
+ }
132
+ /**
133
+ * Gets the chevron direction.
134
+ */
135
+ async getDirection() {
136
+ return (await (await __classPrivateFieldGet(this, _SkyChevronHarness_getButton, "f").call(this)).hasClass('sky-chevron-up'))
137
+ ? 'up'
138
+ : 'down';
139
+ }
140
+ /**
141
+ * Whether the chevron is disabled.
142
+ */
143
+ async isDisabled() {
144
+ const disabled = await (await __classPrivateFieldGet(this, _SkyChevronHarness_getButton, "f").call(this)).getAttribute('disabled');
145
+ return disabled !== null;
146
+ }
147
+ /**
148
+ * Toggles the chevron.
149
+ */
150
+ async toggle() {
151
+ if (await this.isDisabled()) {
152
+ throw new Error('Could not toggle the checkbox because it is disabled.');
153
+ }
154
+ else {
155
+ await (await __classPrivateFieldGet(this, _SkyChevronHarness_getButton, "f").call(this)).click();
156
+ }
157
+ }
158
+ }
159
+ _SkyChevronHarness_getButton = new WeakMap();
160
+ /**
161
+ * @internal
162
+ */
163
+ SkyChevronHarness.hostSelector = 'sky-chevron';
164
+
165
+ var _SkyHelpInlineHarness_getInlineHelpButton;
166
+ /**
167
+ * Harness for interacting with a help inline component in tests.
168
+ */
169
+ class SkyHelpInlineHarness extends SkyComponentHarness {
170
+ constructor() {
171
+ super(...arguments);
172
+ _SkyHelpInlineHarness_getInlineHelpButton.set(this, this.locatorFor('.sky-help-inline'));
173
+ }
174
+ /**
175
+ * Gets a `HarnessPredicate` that can be used to search for a
176
+ * `SkyInlineHelpHarness` that meets certain criteria
177
+ */
178
+ static with(filters) {
179
+ return SkyHelpInlineHarness.getDataSkyIdPredicate(filters);
180
+ }
181
+ /**
182
+ * Clicks the help inline icon button
183
+ */
184
+ async click() {
185
+ await (await __classPrivateFieldGet(this, _SkyHelpInlineHarness_getInlineHelpButton, "f").call(this)).click();
186
+ }
187
+ }
188
+ _SkyHelpInlineHarness_getInlineHelpButton = new WeakMap();
189
+ /**
190
+ * @internal
191
+ */
192
+ SkyHelpInlineHarness.hostSelector = 'sky-help-inline';
193
+
194
+ var _SkyIconHarness_instances, _SkyIconHarness_getIcon, _SkyIconHarness_getIconClasses, _SkyIconHarness_getSpecifiedIconInfo;
195
+ /**
196
+ * Harness for interacting with an icon component in tests.
197
+ */
198
+ class SkyIconHarness extends SkyComponentHarness {
199
+ constructor() {
200
+ super(...arguments);
201
+ _SkyIconHarness_instances.add(this);
202
+ }
203
+ /**
204
+ * Gets a `HarnessPredicate` that can be used to search for a
205
+ * `SkyIconHarness` that meets certain criteria.
206
+ */
207
+ static with(filters) {
208
+ return SkyIconHarness.getDataSkyIdPredicate(filters);
209
+ }
210
+ /**
211
+ * Gets the icon name.
212
+ */
213
+ async getIconName() {
214
+ // No need to check for null here since #getIcon() will throw an error when
215
+ // icon name is null.
216
+ return (await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getSpecifiedIconInfo).call(this)).icon;
217
+ }
218
+ /**
219
+ * Gets the icon size.
220
+ */
221
+ async getIconSize() {
222
+ const iconClasses = await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIconClasses).call(this);
223
+ for (const iconClass of iconClasses) {
224
+ // match a class name that starts with `fa-` and follows with `lg`, `2x`, `3x`, `4x`, `5x`
225
+ if (/^fa-(?=2xs|lg|[2-5]+x)/.test(iconClass)) {
226
+ return iconClass.replace('fa-', '');
227
+ }
228
+ }
229
+ return undefined;
230
+ }
231
+ /**
232
+ * Gets the icon type.
233
+ */
234
+ async getIconType() {
235
+ return (await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getSpecifiedIconInfo).call(this)).iconType || 'fa';
236
+ }
237
+ /**
238
+ * Gets if the icon is a variant.
239
+ */
240
+ async getVariant() {
241
+ const iconInfo = await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getSpecifiedIconInfo).call(this);
242
+ if (iconInfo.iconType === 'skyux') {
243
+ return iconInfo.variant || 'line';
244
+ }
245
+ throw new Error('Variant cannot be determined because variants are only assigned to icons with type `skyux`.');
246
+ }
247
+ /**
248
+ * Whether the icon has fixed width.
249
+ */
250
+ async isFixedWidth() {
251
+ const icon = await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIcon).call(this);
252
+ return icon.hasClass(`fa-fw`);
253
+ }
254
+ }
255
+ _SkyIconHarness_instances = new WeakSet(), _SkyIconHarness_getIcon = async function _SkyIconHarness_getIcon() {
256
+ const icon = await this.locatorForOptional('.sky-icon')();
257
+ if (icon) {
258
+ return icon;
259
+ }
260
+ throw new Error('Icon could not be rendered.');
261
+ }, _SkyIconHarness_getIconClasses = async function _SkyIconHarness_getIconClasses() {
262
+ const iconClasses = await (await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIcon).call(this)).getProperty('classList');
263
+ return Array.from(iconClasses);
264
+ }, _SkyIconHarness_getSpecifiedIconInfo = async function _SkyIconHarness_getSpecifiedIconInfo() {
265
+ // Since SKY UX icons have Font Awesome alternatives that may be used
266
+ // in default theme instead of the icon specified by the consumer, we
267
+ // need to get the specified values using data- attributes added by
268
+ // the icon component. This conflicts with the usual pattern of giving
269
+ // the effective state of the component but is necessary in this case.
270
+ const icon = await __classPrivateFieldGet(this, _SkyIconHarness_instances, "m", _SkyIconHarness_getIcon).call(this);
271
+ return {
272
+ icon: await icon.getAttribute('data-sky-icon'),
273
+ iconType: await icon.getAttribute('data-sky-icon-type'),
274
+ variant: await icon.getAttribute('data-sky-icon-variant'),
275
+ };
276
+ };
277
+ /**
278
+ * @internal
279
+ */
280
+ SkyIconHarness.hostSelector = 'sky-icon';
281
+
123
282
  /**
124
283
  * Harness for interacting with a key info label component in tests.
125
284
  * @internal
@@ -472,11 +631,6 @@ var _SkyAlertFixture_instances, _SkyAlertFixture_debugEl, _SkyAlertFixture_getAl
472
631
  * @internal
473
632
  */
474
633
  class SkyAlertFixture {
475
- constructor(fixture, skyTestId) {
476
- _SkyAlertFixture_instances.add(this);
477
- _SkyAlertFixture_debugEl.set(this, void 0);
478
- __classPrivateFieldSet(this, _SkyAlertFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-alert'), "f");
479
- }
480
634
  /**
481
635
  * The alert's current text.
482
636
  */
@@ -515,6 +669,11 @@ class SkyAlertFixture {
515
669
  }
516
670
  return undefined;
517
671
  }
672
+ constructor(fixture, skyTestId) {
673
+ _SkyAlertFixture_instances.add(this);
674
+ _SkyAlertFixture_debugEl.set(this, void 0);
675
+ __classPrivateFieldSet(this, _SkyAlertFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-alert'), "f");
676
+ }
518
677
  /**
519
678
  * Closes the alert. If the alert is not closeable, an error is thrown.
520
679
  */
@@ -540,11 +699,6 @@ var _SkyLabelFixture_instances, _SkyLabelFixture_debugEl, _SkyLabelFixture_getLa
540
699
  * @internal
541
700
  */
542
701
  class SkyLabelFixture {
543
- constructor(fixture, skyTestId) {
544
- _SkyLabelFixture_instances.add(this);
545
- _SkyLabelFixture_debugEl.set(this, void 0);
546
- __classPrivateFieldSet(this, _SkyLabelFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-label'), "f");
547
- }
548
702
  /**
549
703
  * The label's current type.
550
704
  */
@@ -571,6 +725,11 @@ class SkyLabelFixture {
571
725
  const labelEl = __classPrivateFieldGet(this, _SkyLabelFixture_instances, "m", _SkyLabelFixture_getLabelEl).call(this);
572
726
  return SkyAppTestUtility.getText(labelEl);
573
727
  }
728
+ constructor(fixture, skyTestId) {
729
+ _SkyLabelFixture_instances.add(this);
730
+ _SkyLabelFixture_debugEl.set(this, void 0);
731
+ __classPrivateFieldSet(this, _SkyLabelFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-label'), "f");
732
+ }
574
733
  }
575
734
  _SkyLabelFixture_debugEl = new WeakMap(), _SkyLabelFixture_instances = new WeakSet(), _SkyLabelFixture_getLabelEl = function _SkyLabelFixture_getLabelEl() {
576
735
  return __classPrivateFieldGet(this, _SkyLabelFixture_debugEl, "f").query(By.css('.sky-label'));
@@ -581,11 +740,6 @@ var _SkyWaitFixture_instances, _SkyWaitFixture_debugEl, _SkyWaitFixture_innerWai
581
740
  * @internal
582
741
  */
583
742
  class SkyWaitFixture {
584
- constructor(fixture, skyTestId) {
585
- _SkyWaitFixture_instances.add(this);
586
- _SkyWaitFixture_debugEl.set(this, void 0);
587
- __classPrivateFieldSet(this, _SkyWaitFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-wait'), "f");
588
- }
589
743
  get isWaiting() {
590
744
  return __classPrivateFieldGet(this, _SkyWaitFixture_instances, "m", _SkyWaitFixture_innerWaitComponentContainsClass).call(this, '.sky-wait-mask');
591
745
  }
@@ -599,6 +753,11 @@ class SkyWaitFixture {
599
753
  get isNonBlocking() {
600
754
  return __classPrivateFieldGet(this, _SkyWaitFixture_instances, "m", _SkyWaitFixture_innerWaitComponentContainsClass).call(this, '.sky-wait-mask-loading-non-blocking');
601
755
  }
756
+ constructor(fixture, skyTestId) {
757
+ _SkyWaitFixture_instances.add(this);
758
+ _SkyWaitFixture_debugEl.set(this, void 0);
759
+ __classPrivateFieldSet(this, _SkyWaitFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-wait'), "f");
760
+ }
602
761
  }
603
762
  _SkyWaitFixture_debugEl = new WeakMap(), _SkyWaitFixture_instances = new WeakSet(), _SkyWaitFixture_innerWaitComponentContainsClass = function _SkyWaitFixture_innerWaitComponentContainsClass(className) {
604
763
  const element = __classPrivateFieldGet(this, _SkyWaitFixture_debugEl, "f").nativeElement.querySelector(className);
@@ -609,5 +768,5 @@ _SkyWaitFixture_debugEl = new WeakMap(), _SkyWaitFixture_instances = new WeakSet
609
768
  * Generated bundle index. Do not edit.
610
769
  */
611
770
 
612
- export { SkyAlertFixture, SkyAlertHarness, SkyKeyInfoHarness, SkyLabelFixture, SkyLabelHarness, SkyTokenHarness, SkyTokensHarness, SkyWaitFixture, SkyWaitHarness };
771
+ export { SkyAlertFixture, SkyAlertHarness, SkyChevronHarness, SkyHelpInlineHarness, SkyIconHarness, SkyKeyInfoHarness, SkyLabelFixture, SkyLabelHarness, SkyTokenHarness, SkyTokensHarness, SkyWaitFixture, SkyWaitHarness };
613
772
  //# sourceMappingURL=skyux-indicators-testing.mjs.map
@@ -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/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/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 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 { 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":";;;;;;;AASA;;AAEG;AACG,MAAO,eAAgB,SAAQ,mBAAmB,CAAA;AAAxD,IAAA,WAAA,GAAA;;AAME,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;AACtD,QAAA,sCAAA,CAAA,GAAA,CAAA,IAAA,EAAyB,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC,CAAA;KAwH7E;AAtHC;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA+B,EAAA;AAE/B,QAAA,OAAO,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KACvD;AAED;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;QACvB,MAAM,KAAK,GAAG,MAAM,sBAAA,CAAA,IAAI,EAAU,yBAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAAd,IAAI,CAAY,CAAC;AAErC,QAAA,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AAC5C,YAAA,OAAO,QAAQ,CAAC;AACjB,SAAA;AAED,QAAA,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;AAC1C,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;AAED,QAAA,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AAC7C,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AAED,QAAA,OAAO,SAAS,CAAC;KAClB;AAED;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;AAClB,QAAA,OAAO,MAAM,CAAC,MAAM,sBAAA,CAAA,IAAI,EAAA,2BAAA,EAAA,GAAA,CAAY,CAAhB,IAAA,CAAA,IAAI,CAAc,EAAE,IAAI,EAAE,CAAC;KAChD;AAED;;AAEG;AACI,IAAA,MAAM,KAAK,GAAA;QAChB,IAAI,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;AAC/B,YAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAChD,SAAA;QAED,CAAC,MAAM,sBAAA,CAAA,IAAI,EAAgB,+BAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAApB,IAAI,CAAkB,EAAE,KAAK,EAAE,CAAC;KACxC;AAED;;AAEG;AACI,IAAA,MAAM,QAAQ,GAAA;QACnB,MAAM,KAAK,GAAG,MAAM,sBAAA,CAAA,IAAI,EAAU,yBAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAAd,IAAI,CAAY,CAAC;AAErC,QAAA,OAAO,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KAC1C;AAED;;AAEG;AACI,IAAA,MAAM,WAAW,GAAA;QACtB,MAAM,QAAQ,GAAG,MAAM,sBAAA,CAAA,IAAI,EAAgB,+BAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAApB,IAAI,CAAkB,CAAC;QAC9C,OAAO,EAAE,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;KAChD;AAED;;AAEG;AACI,IAAA,MAAM,kBAAkB,GAAA;QAC7B,MAAM,IAAI,GAAG,MAAM,sBAAA,CAAA,IAAI,EAAuB,sCAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAA3B,IAAI,CAAyB,CAAC;QAEjD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;AAED,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;AAEjC,QAAA,QAAQ,MAAM;AACZ,YAAA,KAAK,YAAY;AACf,gBAAA,OAAO,WAAW,CAAC;AACrB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS,CAAC;AACnB,YAAA,KAAK,YAAY;AACf,gBAAA,OAAO,WAAW,CAAC;AACrB,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,QAAQ,CAAC;AAClB,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,OAAO,CAAC;AACjB,YAAA,KAAK,wBAAwB;AAC3B,gBAAA,OAAO,gBAAgB,CAAC;AAC1B,YAAA,KAAK,oBAAoB;AACvB,gBAAA,OAAO,mBAAmB,CAAC;AAC7B,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS,CAAC;AACnB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS,CAAC;AACnB,YAAA;AACE,gBAAA,OAAO,QAAQ,CAAC;AACnB,SAAA;KACF;AAED;;AAEG;AACI,IAAA,MAAM,oBAAoB,GAAA;AAC/B,QAAA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAExD,IAAI,eAAe,KAAK,QAAQ,EAAE;YAChC,MAAM,IAAI,GAAG,MAAM,sBAAA,CAAA,IAAI,EAAuB,sCAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAA3B,IAAI,CAAyB,CAAC;AAEjD,YAAA,IAAI,IAAI,EAAE;AACR,gBAAA,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;AAC1B,aAAA;AACF,SAAA;AAED,QAAA,OAAO,EAAE,CAAC;KACX;;;AA/HD;;AAEG;AACW,eAAY,CAAA,YAAA,GAAG,WAAW;;ACd1C;;;AAGG;AACG,MAAO,sBAAuB,SAAQ,mBAAmB,CAAA;AAM7D;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;KACnC;;AAVD;;AAEG;AACW,sBAAY,CAAA,YAAA,GAAG,oBAAoB;;ACRnD;;;AAGG;AACG,MAAO,sBAAuB,SAAQ,mBAAmB,CAAA;AAM7D;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;KACnC;;AAVD;;AAEG;AACW,sBAAY,CAAA,YAAA,GAAG,oBAAoB;;;ACFnD;;AAEG;AACG,MAAO,iBAAkB,SAAQ,mBAAmB,CAAA;AAA1D,IAAA,WAAA,GAAA;;AAME,QAAA,2BAAA,CAAA,GAAA,CAAA,IAAA,EAAY,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAA;AACpD,QAAA,2BAAA,CAAA,GAAA,CAAA,IAAA,EAAY,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAA;AACpD,QAAA,6BAAA,CAAA,GAAA,CAAA,IAAA,EAAc,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAA;KAoChD;AAlCC;;;AAGG;IACI,OAAO,IAAI,CAChB,OAAiC,EAAA;AAEjC,QAAA,OAAO,iBAAiB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KACzD;AAED;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,OAAO,MAAM,CAAC,MAAM,sBAAA,CAAA,IAAI,EAAA,2BAAA,EAAA,GAAA,CAAU,CAAd,IAAA,CAAA,IAAI,CAAY,EAAE,OAAO,EAAE,CAAC;KACjD;AAED;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,OAAO,MAAM,CAAC,MAAM,sBAAA,CAAA,IAAI,EAAA,2BAAA,EAAA,GAAA,CAAU,CAAd,IAAA,CAAA,IAAI,CAAY,EAAE,OAAO,EAAE,CAAC;KACjD;AAED;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;AACpB,QAAA,OAAO,CAAC,MAAM,CACZ,MAAM,sBAAA,CAAA,IAAI,EAAY,6BAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAAhB,IAAI,CAAc,EACxB,QAAQ,CAAC,yBAAyB,CAAC;AACnC,cAAE,YAAY;cACZ,UAAU,CAAC;KAChB;;;AA1CD;;AAEG;AACW,iBAAY,CAAA,YAAA,GAAG,cAAc;;;ACN7C;;AAEG;AACG,MAAO,eAAgB,SAAQ,mBAAmB,CAAA;AAAxD,IAAA,WAAA,GAAA;;AAME,QAAA,2BAAA,CAAA,GAAA,CAAA,IAAA,EAAc,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;AAC5C,QAAA,0BAAA,CAAA,GAAA,CAAA,IAAA,EAAa,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAChD,QAAA,sCAAA,CAAA,GAAA,CAAA,IAAA,EAAyB,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC,CAAA;KA8F7E;AA5FC;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA+B,EAAA;AAE/B,QAAA,OAAO,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KACvD;AAED;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,OAAO,MAAM,CAAC,MAAM,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAW,CAAf,IAAA,CAAA,IAAI,CAAa,EAAE,IAAI,EAAE,CAAC;KAC/C;AAED;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;AACvB,QAAA,MAAM,YAAY,GAAiB,MAAM,CACvC,MAAM,uBAAA,IAAI,EAAA,2BAAA,EAAA,GAAA,CAAY,CAAhB,IAAA,CAAA,IAAI,CAAc,EACxB,WAAW,CAAC,WAAW,CAAC,CAAC;AAE3B,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AAC9C,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AAED,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AAC7C,YAAA,OAAO,QAAQ,CAAC;AACjB,SAAA;AAED,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;AAC9C,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AAED,QAAA,OAAO,MAAM,CAAC;KACf;AAED;;AAEG;AACI,IAAA,MAAM,kBAAkB,GAAA;QAC7B,MAAM,IAAI,GAAG,MAAM,sBAAA,CAAA,IAAI,EAAuB,sCAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAA3B,IAAI,CAAyB,CAAC;QAEjD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;AAED,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;AAEjC,QAAA,QAAQ,MAAM;AACZ,YAAA,KAAK,YAAY;AACf,gBAAA,OAAO,WAAW,CAAC;AACrB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS,CAAC;AACnB,YAAA,KAAK,YAAY;AACf,gBAAA,OAAO,WAAW,CAAC;AACrB,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,QAAQ,CAAC;AAClB,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,OAAO,CAAC;AACjB,YAAA,KAAK,wBAAwB;AAC3B,gBAAA,OAAO,gBAAgB,CAAC;AAC1B,YAAA,KAAK,oBAAoB;AACvB,gBAAA,OAAO,mBAAmB,CAAC;AAC7B,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS,CAAC;AACnB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS,CAAC;AACnB,YAAA;AACE,gBAAA,OAAO,QAAQ,CAAC;AACnB,SAAA;KACF;AAED;;AAEG;AACI,IAAA,MAAM,oBAAoB,GAAA;AAC/B,QAAA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAExD,IAAI,eAAe,KAAK,QAAQ,EAAE;YAChC,MAAM,IAAI,GAAG,MAAM,sBAAA,CAAA,IAAI,EAAuB,sCAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAA3B,IAAI,CAAyB,CAAC;AAEjD,YAAA,IAAI,IAAI,EAAE;AACR,gBAAA,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;AAC1B,aAAA;AACF,SAAA;AAED,QAAA,OAAO,EAAE,CAAC;KACX;;;AApGD;;AAEG;AACW,eAAY,CAAA,YAAA,GAAG,WAAW;;;ACZ1C;;AAEG;AACG,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;AAArD,IAAA,WAAA,GAAA;;AAME,QAAA,gCAAA,CAAA,GAAA,CAAA,IAAA,EAAmB,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC,CAAA;AAElE,QAAA,iCAAA,CAAA,GAAA,CAAA,IAAA,EAAoB,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,CAAA;AAElE,QAAA,2BAAA,CAAA,GAAA,CAAA,IAAA,EAAc,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;KAuE7C;AArEC;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA+B,EAAA;AAE/B,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAClD,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,OAAO,OAAO,EAAE,IAAI,KAClB,gBAAgB,CAAC,aAAa,CAC5B,MAAM,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EACnC,IAAI,CACL,CACJ,CAAC;KACH;AAED;;AAEG;AACI,IAAA,MAAM,MAAM,GAAA;AACjB,QAAA,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE;AAC3B,YAAA,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;AACvE,SAAA;QAED,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;KACnC;AAED;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClB,IAAI,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE;AACjC,YAAA,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;AACH,SAAA;AAED,QAAA,MAAM,CAAC,MAAM,sBAAA,CAAA,IAAI,EAAkB,iCAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAAtB,IAAI,CAAoB,EAAE,KAAK,EAAE,CAAC;KAChD;AAED;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;KACnC;AAED;;AAEG;AACI,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,OAAO,CAAC,MAAM,sBAAA,CAAA,IAAI,mCAAY,CAAhB,IAAA,CAAA,IAAI,CAAc,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;KAClE;AAED;;AAEG;AACI,IAAA,MAAM,aAAa,GAAA;AACxB,QAAA,OAAO,CAAC,MAAM,sBAAA,CAAA,IAAI,mCAAY,CAAhB,IAAA,CAAA,IAAI,CAAc,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;KACrE;AAED;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;AACpB,QAAA,OAAO,CAAC,MAAM,sBAAA,CAAA,IAAI,EAAiB,gCAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAArB,IAAI,CAAmB,EAAE,SAAS,EAAE,CAAC;KACpD;;;AA/ED;;AAEG;AACW,eAAY,CAAA,YAAA,GAAG,WAAW;;ACL1C;;AAEG;AACG,MAAO,gBAAiB,SAAQ,mBAAmB,CAAA;AAMvD;;;AAGG;IACI,OAAO,IAAI,CAAC,OAAgC,EAAA;AACjD,QAAA,OAAO,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KACxD;AAED;;AAEG;IACI,MAAM,aAAa,CAAC,OAAgC,EAAA;QACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC7C,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAC1B,YAAA,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;AACvB,SAAA;KACF;AAED;;AAEG;IACI,MAAM,SAAS,CACpB,OAAgC,EAAA;AAEhC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KAClE;AAED;;AAEG;AACI,IAAA,MAAM,aAAa,GAAA;AACxB,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,MAAM,GAAa,EAAE,CAAC;AAE5B,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AACpC,SAAA;AAED,QAAA,OAAO,MAAM,CAAC;KACf;;AA5CD;;AAEG;AACW,gBAAY,CAAA,YAAA,GAAG,YAAY;;;ACR3C;;AAEG;AACG,MAAO,cAAe,SAAQ,mBAAmB,CAAA;AAAvD,IAAA,WAAA,GAAA;;AAME,QAAA,2BAAA,CAAA,GAAA,CAAA,IAAA,EAAe,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAA;AACzD,QAAA,gCAAA,CAAA,GAAA,CAAA,IAAA,EAAoB,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAA;KA0D5D;AAxDC;;;AAGG;IACI,OAAO,IAAI,CAChB,OAA8B,EAAA;AAE9B,QAAA,IAAI,OAAO,CAAC,mBAAmB,KAAK,UAAU,EAAE;YAC9C,OAAO,cAAc,CAAC,qBAAqB,CAAC;AAC1C,gBAAA,SAAS,EAAE,oBAAoB;AAChC,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA,IAAI,OAAO,CAAC,mBAAmB,KAAK,cAAc,EAAE;YACzD,OAAO,cAAc,CAAC,qBAAqB,CAAC;AAC1C,gBAAA,SAAS,EAAE,wBAAwB;AACpC,aAAA,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,OAAO,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;KACtD;AAED;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;QACvB,MAAM,QAAQ,GAAG,MAAM,sBAAA,CAAA,IAAI,EAAa,2BAAA,EAAA,GAAA,CAAA,CAAA,IAAA,CAAjB,IAAI,CAAe,CAAC;AAC3C,QAAA,IAAI,QAAQ,EAAE;YACZ,QACE,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC;;AAE1C,gBAAA,EAAE,EACF;AACH,SAAA;AACD,QAAA,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;KACH;AAED;;AAEG;AACI,IAAA,MAAM,SAAS,GAAA;QACpB,OAAO,CAAC,EAAE,MAAM,sBAAA,CAAA,IAAI,EAAA,2BAAA,EAAA,GAAA,CAAa,CAAjB,IAAA,CAAA,IAAI,CAAe,CAAC,CAAC;KACtC;AAED;;AAEG;AACI,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,OAAO,CAAC,MAAM,sBAAA,CAAA,IAAI,wCAAkB,CAAtB,IAAA,CAAA,IAAI,CAAoB,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;KACxE;AAED;;AAEG;AACI,IAAA,MAAM,aAAa,GAAA;AACxB,QAAA,OAAO,CAAC,MAAM,sBAAA,CAAA,IAAI,wCAAkB,CAAtB,IAAA,CAAA,IAAI,CAAoB,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;KAC3E;;;AA/DD;;AAEG;AACW,cAAY,CAAA,YAAA,GAAG,UAAU;;;ACPzC;;;;AAIG;MACU,eAAe,CAAA;IAmD1B,WAAY,CAAA,OAAkC,EAAE,SAAiB,EAAA;;QAFjE,wBAAuB,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGrB,QAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAY,iBAAiB,CAAC,uBAAuB,CACvD,OAAO,EACP,SAAS,EACT,WAAW,CACZ,MAAA,CAAC;KACH;AAxDD;;AAEG;AACH,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,iBAAiB,CAAC,OAAO,CAAC,uBAAA,IAAI,EAAA,wBAAA,EAAA,GAAA,CAAS,CAAC,CAAC;KACjD;AAED;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;QAClB,MAAM,UAAU,GAAG,sBAAA,CAAA,IAAI,kEAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAC;AAEzC,QAAA,OAAO,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;KAChD;AAED;;AAEG;AACH,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,EAAA,2BAAA,CAAY,CAAhB,IAAA,CAAA,IAAI,CAAc,CAAC,CAAC;KACzD;AAED;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,MAAM,OAAO,GAAG,sBAAA,CAAA,IAAI,EAAY,0BAAA,EAAA,GAAA,EAAA,2BAAA,CAAA,CAAA,IAAA,CAAhB,IAAI,CAAc,CAAC,aAAa,CAAC,SAAS,CAAC;AAE3D,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;YAClB,MAAM,UAAU,GAAG,sBAAA,CAAA,IAAI,kEAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAC;AAEzC,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;AASF,CAAA;;AANG,IAAA,OAAO,sBAAA,CAAA,IAAI,EAAS,wBAAA,EAAA,GAAA,CAAA,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;AACnD,CAAC,EAAA,8BAAA,GAAA,SAAA,8BAAA,GAAA;AAGC,IAAA,OAAO,sBAAA,CAAA,IAAI,EAAS,wBAAA,EAAA,GAAA,CAAA,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACzD,CAAC;;;ACnFH;;;AAGG;MACU,eAAe,CAAA;IAqC1B,WAAY,CAAA,OAA8B,EAAE,SAAiB,EAAA;;QAF7D,wBAAuB,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGrB,QAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAY,iBAAiB,CAAC,uBAAuB,CACvD,OAAO,EACP,SAAS,EACT,WAAW,CACZ,MAAA,CAAC;KACH;AA1CD;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,MAAM,OAAO,GAAG,sBAAA,CAAA,IAAI,EAAY,0BAAA,EAAA,GAAA,EAAA,2BAAA,CAAA,CAAA,IAAA,CAAhB,IAAI,CAAc,CAAC,aAAa,CAAC,SAAS,CAAC;AAE3D,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;QACb,MAAM,OAAO,GAAG,sBAAA,CAAA,IAAI,+DAAY,CAAhB,IAAA,CAAA,IAAI,CAAc,CAAC;AAEnC,QAAA,OAAO,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC3C;AAeF,CAAA;;AAFG,IAAA,OAAO,sBAAA,CAAA,IAAI,EAAS,wBAAA,EAAA,GAAA,CAAA,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;AACnD,CAAC;;;ACpDH;;AAEG;MACU,cAAc,CAAA;IAwBzB,WAAY,CAAA,OAAkC,EAAE,SAAiB,EAAA;;QAFjE,uBAAuB,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGrB,QAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAY,iBAAiB,CAAC,uBAAuB,CACvD,OAAO,EACP,SAAS,EACT,UAAU,CACX,MAAA,CAAC;KACH;AA7BD,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,sBAAA,CAAA,IAAI,EAAiC,yBAAA,EAAA,GAAA,EAAA,+CAAA,CAAA,CAAA,IAAA,CAArC,IAAI,EAAkC,gBAAgB,CAAC,CAAC;KAChE;AAED,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,sBAAA,CAAA,IAAI,EAAiC,yBAAA,EAAA,GAAA,EAAA,+CAAA,CAAA,CAAA,IAAA,CAArC,IAAI,EACT,8BAA8B,CAC/B,CAAC;KACH;AAED,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,MAAM,GAAG,GAAG,sBAAA,CAAA,IAAI,EAAS,uBAAA,EAAA,GAAA,CAAA,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;AACxE,QAAA,OAAO,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;KACvC;AAED,IAAA,IAAW,aAAa,GAAA;QACtB,OAAO,sBAAA,CAAA,IAAI,EAAiC,yBAAA,EAAA,GAAA,EAAA,+CAAA,CAAA,CAAA,IAAA,CAArC,IAAI,EACT,qCAAqC,CACtC,CAAC;KACH;AAiBF,CAAA;+LALkC,SAAiB,EAAA;AAChD,IAAA,MAAM,OAAO,GACX,sBAAA,CAAA,IAAI,EAAS,uBAAA,EAAA,GAAA,CAAA,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,OAAO,OAAO,KAAK,IAAI,CAAC;AAC1B,CAAC;;AC3CH;;AAEG;;;;"}
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/icon/icon-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/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, TestElement } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyIconHarnessFilters } from './icon-harness-filters';\n\n/**\n * Harness for interacting with an icon component in tests.\n */\nexport class SkyIconHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-icon';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyIconHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyIconHarnessFilters\n ): HarnessPredicate<SkyIconHarness> {\n return SkyIconHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the icon name.\n */\n public async getIconName(): Promise<string | undefined> {\n // No need to check for null here since #getIcon() will throw an error when\n // icon name is null.\n return (await this.#getSpecifiedIconInfo()).icon as string;\n }\n\n /**\n * Gets the icon size.\n */\n public async getIconSize(): Promise<string | undefined> {\n const iconClasses = await this.#getIconClasses();\n\n for (const iconClass of iconClasses) {\n // match a class name that starts with `fa-` and follows with `lg`, `2x`, `3x`, `4x`, `5x`\n if (/^fa-(?=2xs|lg|[2-5]+x)/.test(iconClass)) {\n return iconClass.replace('fa-', '');\n }\n }\n\n return undefined;\n }\n\n /**\n * Gets the icon type.\n */\n public async getIconType(): Promise<string> {\n return (await this.#getSpecifiedIconInfo()).iconType || 'fa';\n }\n\n /**\n * Gets if the icon is a variant.\n */\n public async getVariant(): Promise<string | undefined> {\n const iconInfo = await this.#getSpecifiedIconInfo();\n\n if (iconInfo.iconType === 'skyux') {\n return iconInfo.variant || 'line';\n }\n\n throw new Error(\n 'Variant cannot be determined because variants are only assigned to icons with type `skyux`.'\n );\n }\n\n /**\n * Whether the icon has fixed width.\n */\n public async isFixedWidth(): Promise<boolean> {\n const icon = await this.#getIcon();\n return icon.hasClass(`fa-fw`);\n }\n\n async #getIcon(): Promise<TestElement> {\n const icon = await this.locatorForOptional('.sky-icon')();\n\n if (icon) {\n return icon;\n }\n\n throw new Error('Icon could not be rendered.');\n }\n\n async #getIconClasses(): Promise<string[]> {\n const iconClasses = await (await this.#getIcon()).getProperty('classList');\n return Array.from(iconClasses);\n }\n\n async #getSpecifiedIconInfo(): Promise<{\n icon: string | null;\n iconType: string | null;\n variant: string | null;\n }> {\n // Since SKY UX icons have Font Awesome alternatives that may be used\n // in default theme instead of the icon specified by the consumer, we\n // need to get the specified values using data- attributes added by\n // the icon component. This conflicts with the usual pattern of giving\n // the effective state of the component but is necessary in this case.\n const icon = await this.#getIcon();\n\n return {\n icon: await icon.getAttribute('data-sky-icon'),\n iconType: await icon.getAttribute('data-sky-icon-type'),\n variant: await icon.getAttribute('data-sky-icon-variant'),\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 { 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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"}