@skyux/indicators 7.0.0-beta.4 → 7.0.0-beta.6

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.
@@ -1,4 +1,4 @@
1
- import { __classPrivateFieldGet } from 'tslib';
1
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';
2
2
  import { SkyComponentHarness } from '@skyux/core/testing';
3
3
  import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
4
4
  import { By } from '@angular/platform-browser';
@@ -400,6 +400,7 @@ class SkyTokensHarness extends SkyComponentHarness {
400
400
  */
401
401
  SkyTokensHarness.hostSelector = 'sky-tokens';
402
402
 
403
+ var _SkyAlertFixture_instances, _SkyAlertFixture_debugEl, _SkyAlertFixture_getAlertEl, _SkyAlertFixture_getCloseBtnEl;
403
404
  /**
404
405
  * Allows interaction with a SKY UX alert component.
405
406
  * @deprecated Use `SkyAlertHarness` instead.
@@ -407,32 +408,34 @@ SkyTokensHarness.hostSelector = 'sky-tokens';
407
408
  */
408
409
  class SkyAlertFixture {
409
410
  constructor(fixture, skyTestId) {
410
- this.debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-alert');
411
+ _SkyAlertFixture_instances.add(this);
412
+ _SkyAlertFixture_debugEl.set(this, void 0);
413
+ __classPrivateFieldSet(this, _SkyAlertFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-alert'), "f");
411
414
  }
412
415
  /**
413
416
  * The alert's current text.
414
417
  */
415
418
  get text() {
416
- return SkyAppTestUtility.getText(this.debugEl);
419
+ return SkyAppTestUtility.getText(__classPrivateFieldGet(this, _SkyAlertFixture_debugEl, "f"));
417
420
  }
418
421
  /**
419
422
  * A flag indicating whether the alert can be closed.
420
423
  */
421
424
  get closeable() {
422
- const closeBtnEl = this.getCloseBtnEl();
425
+ const closeBtnEl = __classPrivateFieldGet(this, _SkyAlertFixture_instances, "m", _SkyAlertFixture_getCloseBtnEl).call(this);
423
426
  return SkyAppTestUtility.isVisible(closeBtnEl);
424
427
  }
425
428
  /**
426
429
  * Returns a flag indicating whether the alert is closed.
427
430
  */
428
431
  get closed() {
429
- return !SkyAppTestUtility.isVisible(this.getAlertEl());
432
+ return !SkyAppTestUtility.isVisible(__classPrivateFieldGet(this, _SkyAlertFixture_instances, "m", _SkyAlertFixture_getAlertEl).call(this));
430
433
  }
431
434
  /**
432
435
  * The alert's current type.
433
436
  */
434
437
  get alertType() {
435
- const clsList = this.getAlertEl().nativeElement.classList;
438
+ const clsList = __classPrivateFieldGet(this, _SkyAlertFixture_instances, "m", _SkyAlertFixture_getAlertEl).call(this).nativeElement.classList;
436
439
  if (clsList.contains('sky-alert-danger')) {
437
440
  return 'danger';
438
441
  }
@@ -452,20 +455,19 @@ class SkyAlertFixture {
452
455
  */
453
456
  close() {
454
457
  if (this.closeable) {
455
- const closeBtnEl = this.getCloseBtnEl();
458
+ const closeBtnEl = __classPrivateFieldGet(this, _SkyAlertFixture_instances, "m", _SkyAlertFixture_getCloseBtnEl).call(this);
456
459
  closeBtnEl.triggerEventHandler('click', {});
457
460
  }
458
461
  else {
459
462
  throw new Error('The alert is not closeable.');
460
463
  }
461
464
  }
462
- getAlertEl() {
463
- return this.debugEl.query(By.css('.sky-alert'));
464
- }
465
- getCloseBtnEl() {
466
- return this.debugEl.query(By.css('.sky-alert-close'));
467
- }
468
465
  }
466
+ _SkyAlertFixture_debugEl = new WeakMap(), _SkyAlertFixture_instances = new WeakSet(), _SkyAlertFixture_getAlertEl = function _SkyAlertFixture_getAlertEl() {
467
+ return __classPrivateFieldGet(this, _SkyAlertFixture_debugEl, "f").query(By.css('.sky-alert'));
468
+ }, _SkyAlertFixture_getCloseBtnEl = function _SkyAlertFixture_getCloseBtnEl() {
469
+ return __classPrivateFieldGet(this, _SkyAlertFixture_debugEl, "f").query(By.css('.sky-alert-close'));
470
+ };
469
471
 
470
472
  /**
471
473
  * Allows interaction with a SKY UX label component.
@@ -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/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 */\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 #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 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 disabled.\n */\n public async isDisabled(): Promise<boolean> {\n return (await this.#getWrapper()).hasClass('sky-btn-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-dismissable');\n }\n\n /**\n * Whether the token is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.#getWrapper()).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 { 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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"}
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 */\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 #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 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 disabled.\n */\n public async isDisabled(): Promise<boolean> {\n return (await this.#getWrapper()).hasClass('sky-btn-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-dismissable');\n }\n\n /**\n * Whether the token is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.#getWrapper()).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 { 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 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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"}
@@ -1831,10 +1831,10 @@ _SkyWaitComponent_elRef = new WeakMap(), _SkyWaitComponent_adapterService = new
1831
1831
  }
1832
1832
  };
1833
1833
  SkyWaitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyWaitComponent, deps: [{ token: i0.ElementRef }, { token: SkyWaitAdapterService }, { token: i1$2.SkyLibResourcesService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1834
- SkyWaitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyWaitComponent, selector: "sky-wait", inputs: { ariaLabel: "ariaLabel", isWaiting: "isWaiting", isFullPage: "isFullPage", isNonBlocking: "isNonBlocking" }, providers: [SkyWaitAdapterService], ngImport: i0, template: "<div class=\"sky-wait-container\">\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;inset:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{inset:auto auto 0 0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
1834
+ SkyWaitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyWaitComponent, selector: "sky-wait", inputs: { ariaLabel: "ariaLabel", isWaiting: "isWaiting", isFullPage: "isFullPage", isNonBlocking: "isNonBlocking" }, providers: [SkyWaitAdapterService], ngImport: i0, template: "<div class=\"sky-wait-container\">\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n role=\"progressbar\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;inset:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{inset:auto auto 0 0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
1835
1835
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyWaitComponent, decorators: [{
1836
1836
  type: Component,
1837
- args: [{ selector: 'sky-wait', providers: [SkyWaitAdapterService], template: "<div class=\"sky-wait-container\">\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;inset:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{inset:auto auto 0 0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"] }]
1837
+ args: [{ selector: 'sky-wait', providers: [SkyWaitAdapterService], template: "<div class=\"sky-wait-container\">\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n role=\"progressbar\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;inset:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{inset:auto auto 0 0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"] }]
1838
1838
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: SkyWaitAdapterService }, { type: i1$2.SkyLibResourcesService, decorators: [{
1839
1839
  type: Optional
1840
1840
  }] }]; }, propDecorators: { ariaLabel: [{