{"version":3,"file":"skyux-indicators-testing.mjs","sources":["../../../../../libs/components/indicators/testing/src/modules/alert/alert-harness.ts","../../../../../libs/components/indicators/testing/src/modules/chevron/chevron-harness.ts","../../../../../libs/components/indicators/testing/src/modules/help-inline/help-inline-harness.ts","../../../../../libs/components/indicators/testing/src/modules/illustration/illustration-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-label-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-value-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-harness.ts","../../../../../libs/components/indicators/testing/src/modules/label/label-harness.ts","../../../../../libs/components/indicators/testing/src/modules/status-indicator/status-indicator-harness.ts","../../../../../libs/components/indicators/testing/src/modules/text-highlight/text-highlight-harness.ts","../../../../../libs/components/indicators/testing/src/modules/tokens/token-harness.ts","../../../../../libs/components/indicators/testing/src/modules/tokens/tokens-harness.ts","../../../../../libs/components/indicators/testing/src/modules/wait/wait-harness.ts","../../../../../libs/components/indicators/testing/src/legacy/alert-fixture.ts","../../../../../libs/components/indicators/testing/src/legacy/label-fixture.ts","../../../../../libs/components/indicators/testing/src/legacy/wait-fixture.ts","../../../../../libs/components/indicators/testing/src/skyux-indicators-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n  SkyIndicatorDescriptionType,\n  SkyIndicatorIconType,\n} from '@skyux/indicators';\n\nimport { SkyAlertHarnessFilters } from './alert-harness-filters';\n\n/**\n * Harness for interacting with an alert component in tests.\n */\nexport class SkyAlertHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-alert';\n\n  #getAlert = this.locatorFor('.sky-alert');\n  #getContent = this.locatorFor('.sky-alert-content');\n  #getCloseButton = this.locatorFor('.sky-alert-close');\n  #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyAlertHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyAlertHarnessFilters,\n  ): HarnessPredicate<SkyAlertHarness> {\n    return SkyAlertHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Gets the current alert type.\n   */\n  public async getAlertType(): Promise<SkyIndicatorIconType | undefined> {\n    const alert = await this.#getAlert();\n\n    if (await alert.hasClass('sky-alert-danger')) {\n      return 'danger';\n    }\n\n    if (await alert.hasClass('sky-alert-info')) {\n      return 'info';\n    }\n\n    if (await alert.hasClass('sky-alert-success')) {\n      return 'success';\n    }\n\n    return 'warning';\n  }\n\n  /**\n   * Gets the current alert text.\n   */\n  public async getText(): Promise<string> {\n    return await (await this.#getContent()).text();\n  }\n\n  /**\n   * Closes the alert.\n   */\n  public async close(): Promise<void> {\n    if (!(await this.isCloseable())) {\n      throw new Error('The alert is not closeable.');\n    }\n\n    await (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 * @internal\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 * @docsId SkyHelpInlineHarnessLegacy\n * @deprecated Use the `SkyHelpInlineHarness` from `@skyux/help-inline/testing` instead.\n */\nexport class SkyHelpInlineHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-help-inline';\n\n  #getInlineHelpButton = this.locatorFor('.sky-help-inline');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyInlineHelpHarness` that meets certain criteria\n   */\n  public static with(\n    filters: SkyHelpInlineHarnessFilters,\n  ): HarnessPredicate<SkyHelpInlineHarness> {\n    return SkyHelpInlineHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Clicks the help inline icon button\n   */\n  public async click(): Promise<void> {\n    await (await this.#getInlineHelpButton()).click();\n  }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyIllustrationSize } from '@skyux/indicators';\n\nimport { SkyIllustrationHarnessFilters } from './illustration-harness-filters';\n\n/**\n * Harness for interacting with an illustration component in tests.\n */\nexport class SkyIllustrationHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-illustration';\n\n  #getIllustrationWrapper = this.locatorFor('.sky-illustration-wrapper');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyIllustrationHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyIllustrationHarnessFilters,\n  ): HarnessPredicate<SkyIllustrationHarness> {\n    return SkyIllustrationHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Gets the specified name of the illustration.\n   */\n  public async getName(): Promise<string> {\n    const wrapper = await this.#getIllustrationWrapper();\n    const name = await wrapper.getAttribute('data-sky-illustration-name');\n\n    if (name === null) {\n      throw new Error('Name was not set.');\n    }\n\n    return name;\n  }\n\n  /**\n   * Gets the specified size of the illustration.\n   */\n  public async getSize(): Promise<SkyIllustrationSize> {\n    const wrapper = await this.#getIllustrationWrapper();\n\n    let foundSize;\n\n    for (const size of ['sm', 'md', 'lg', 'xl']) {\n      if (await wrapper.hasClass(`sky-illustration-${size}`)) {\n        foundSize = size as SkyIllustrationSize;\n      }\n    }\n\n    if (foundSize) {\n      return foundSize;\n    }\n\n    throw new Error('Size was not set.');\n  }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info label component in tests.\n * @internal\n */\nexport class SkyKeyInfoLabelHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-key-info-label';\n\n  /**\n   * Gets the text value of the component content.\n   */\n  public async getText(): Promise<string> {\n    return await (await this.host()).text();\n  }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info value component in tests.\n * @internal\n */\nexport class SkyKeyInfoValueHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-key-info-value';\n\n  /**\n   * Gets the text value of the component content.\n   */\n  public async getText(): Promise<string> {\n    return await (await this.host()).text();\n  }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/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  /**\n   * Clicks the help inline button.\n   */\n  public async clickHelpInline(): Promise<void> {\n    return await (await this.#getHelpInline()).click();\n  }\n\n  /**\n   * Gets the help popover content.\n   */\n  public async getHelpPopoverContent(): Promise<string | undefined> {\n    return await (await this.#getHelpInline()).getPopoverContent();\n  }\n\n  /**\n   * Gets the help popover title.\n   */\n  public async getHelpPopoverTitle(): Promise<string | undefined> {\n    return await (await this.#getHelpInline()).getPopoverTitle();\n  }\n\n  async #getHelpInline(): Promise<SkyHelpInlineHarness> {\n    const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n\n    if (harness) {\n      return harness;\n    }\n\n    throw Error('No help inline found.');\n  }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n  SkyIndicatorDescriptionType,\n  SkyLabelType,\n} from '@skyux/indicators';\n\nimport { SkyLabelHarnessFilters } from './label-harness-filters';\n\n/**\n * Harness for interacting with a label component in tests.\n */\nexport class SkyLabelHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-label';\n\n  #getWrapper = this.locatorFor('.sky-label');\n  #getTextEl = this.locatorFor('.sky-label-text');\n  #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyLookupHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyLabelHarnessFilters,\n  ): HarnessPredicate<SkyLabelHarness> {\n    return SkyLabelHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Gets the text of the label component.\n   */\n  public async getLabelText(): Promise<string> {\n    return await (await this.#getTextEl()).text();\n  }\n\n  /**\n   * Gets the `labelType` of the label component.\n   */\n  public async getLabelType(): Promise<SkyLabelType> {\n    const labelClasses: DOMTokenList = await (\n      await this.#getWrapper()\n    ).getProperty('classList');\n\n    if (labelClasses.contains('sky-label-success')) {\n      return 'success';\n    }\n\n    if (labelClasses.contains('sky-label-danger')) {\n      return 'danger';\n    }\n\n    if (labelClasses.contains('sky-label-warning')) {\n      return 'warning';\n    }\n\n    return 'info';\n  }\n\n  /**\n   * Gets the `descriptionType` of the label component.\n   */\n  public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n    const srEl = await this.#getScreenReaderTextEl();\n\n    if (!srEl) {\n      return 'none';\n    }\n\n    const srText = await srEl.text();\n\n    switch (srText) {\n      case 'Attention:':\n        return 'attention';\n      case 'Caution:':\n        return 'caution';\n      case 'Completed:':\n        return 'completed';\n      case 'Danger:':\n        return 'danger';\n      case 'Error:':\n        return 'error';\n      case 'Important information:':\n        return 'important-info';\n      case 'Important warning:':\n        return 'important-warning';\n      case 'Success:':\n        return 'success';\n      case 'Warning:':\n        return 'warning';\n      default:\n        return 'custom';\n    }\n  }\n\n  /**\n   * Gets the custom text used for the screen reader description of the label component icon.\n   */\n  public async getCustomDescription(): Promise<string> {\n    const descriptionType = await this.getDescriptionType();\n\n    if (descriptionType === 'custom') {\n      const srEl = await this.#getScreenReaderTextEl();\n\n      if (srEl) {\n        return await srEl.text();\n      }\n    }\n\n    return '';\n  }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport type {\n  SkyIndicatorDescriptionType,\n  SkyIndicatorIconType,\n} from '@skyux/indicators';\n\nimport { SkyStatusIndicatorHarnessFilters } from './status-indicator-harness-filters';\n\n/**\n * Harness for interacting with a status indicator component in tests.\n */\nexport class SkyStatusIndicatorHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-status-indicator';\n\n  #getIconWrapper = this.locatorFor('.sky-status-indicator-icon');\n  #getMessage = this.locatorForOptional('.sky-status-indicator-message');\n  #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyStatusIndicatorHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyStatusIndicatorHarnessFilters,\n  ): HarnessPredicate<SkyStatusIndicatorHarness> {\n    return SkyStatusIndicatorHarness.getDataSkyIdPredicate(filters);\n  }\n\n  async #getHelpInline(): Promise<SkyHelpInlineHarness> {\n    const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n\n    if (harness) {\n      return harness;\n    }\n\n    throw Error('No help inline found.');\n  }\n\n  /**\n   * Gets the current status indicator type.\n   */\n  public async getIndicatorType(): Promise<SkyIndicatorIconType | undefined> {\n    const wrapper = await this.#getIconWrapper();\n\n    if (await wrapper.hasClass('sky-status-indicator-icon-danger')) {\n      return 'danger';\n    }\n\n    if (await wrapper.hasClass('sky-status-indicator-icon-info')) {\n      return 'info';\n    }\n\n    if (await wrapper.hasClass('sky-status-indicator-icon-success')) {\n      return 'success';\n    }\n\n    return 'warning';\n  }\n\n  /**\n   * Gets the current status indicator text.\n   */\n  public async getText(): Promise<string> {\n    const message = await this.#getMessage();\n\n    if (message) {\n      return await message.text();\n    }\n\n    throw new Error(\n      'Status indicator text was not found. Did you set the descriptionType input?',\n    );\n  }\n\n  /**\n   * Gets the `descriptionType` of the status indicator component.\n   */\n  public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n    const srEl = await this.#getScreenReaderTextEl();\n\n    if (!srEl) {\n      return 'none';\n    }\n\n    const srText = await srEl.text();\n\n    switch (srText) {\n      case 'Attention:':\n        return 'attention';\n      case 'Caution:':\n        return 'caution';\n      case 'Completed:':\n        return 'completed';\n      case 'Danger:':\n        return 'danger';\n      case 'Error:':\n        return 'error';\n      case 'Important information:':\n        return 'important-info';\n      case 'Important warning:':\n        return 'important-warning';\n      case 'Success:':\n        return 'success';\n      case 'Warning:':\n        return 'warning';\n      default:\n        return 'custom';\n    }\n  }\n\n  /**\n   * Gets the custom text used for the screen reader description of the status indicator component icon.\n   */\n  public async getCustomDescription(): Promise<string> {\n    const descriptionType = await this.getDescriptionType();\n\n    if (descriptionType === 'custom') {\n      const srEl = await this.#getScreenReaderTextEl();\n\n      if (srEl) {\n        return await srEl.text();\n      }\n    }\n\n    return '';\n  }\n\n  /**\n   * Clicks the help inline button.\n   */\n  public async clickHelpInline(): Promise<void> {\n    return await (await this.#getHelpInline()).click();\n  }\n\n  /**\n   * Gets the help inline popover content.\n   */\n  public async getHelpPopoverContent(): Promise<string | undefined> {\n    return await (await this.#getHelpInline()).getPopoverContent();\n  }\n\n  /**\n   * Gets the help inline popover title.\n   */\n  public async getHelpPopoverTitle(): Promise<string | undefined> {\n    return await (await this.#getHelpInline()).getPopoverTitle();\n  }\n}\n","import { HarnessPredicate, TestElement } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyTextHighlightHarnessFilters } from './text-highlight-harness-filters';\n\n/**\n * Harness to interact with a text highlight directive in tests.\n */\nexport class SkyTextHighlightHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = '[skyHighlight]';\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyTextHighlightHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyTextHighlightHarnessFilters,\n  ): HarnessPredicate<SkyTextHighlightHarness> {\n    return SkyTextHighlightHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Gets an array of all instances of highlighted text.\n   */\n  public async getHighlights(): Promise<TestElement[]> {\n    return await this.locatorForAll('mark.sky-highlight-mark')();\n  }\n}\n","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyTokenHarnessFilters } from './token-harness-filters';\n\n/**\n * Harness for interacting with a token component in tests.\n */\nexport class SkyTokenHarness extends ComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-token';\n\n  #getActionButton = this.locatorFor('button.sky-token-btn-action');\n\n  #getDismissButton = this.locatorFor('button.sky-token-btn-close');\n\n  #getWrapper = this.locatorFor('.sky-token');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyTokenHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyTokenHarnessFilters,\n  ): HarnessPredicate<SkyTokenHarness> {\n    return new HarnessPredicate(this, filters).addOption(\n      'text',\n      filters.text,\n      async (harness, test) =>\n        await HarnessPredicate.stringMatches(\n          await (await harness.host()).text(),\n          test,\n        ),\n    );\n  }\n\n  /**\n   * Selects the token.\n   */\n  public async select(): Promise<void> {\n    if (await this.isDisabled()) {\n      throw new Error('Could not select the token because it is disabled.');\n    }\n\n    await (await this.host()).click();\n  }\n\n  /**\n   * Dismisses the token.\n   */\n  public async dismiss(): Promise<void> {\n    if (!(await this.isDismissible())) {\n      throw new Error(\n        'Could not dismiss the token because it is not dismissible.',\n      );\n    }\n\n    await (await this.#getDismissButton()).click();\n  }\n\n  /**\n   * Returns the text content of the token.\n   */\n  public async getText(): Promise<string> {\n    return await (await this.host()).text();\n  }\n\n  /**\n   * Whether the token is disabled.\n   */\n  public async isDisabled(): Promise<boolean> {\n    return await (await this.#getWrapper()).hasClass('sky-token-disabled');\n  }\n\n  /**\n   * Whether the token is dismissible.\n   */\n  public async isDismissible(): Promise<boolean> {\n    return await (await this.#getWrapper()).hasClass('sky-token-dismissible');\n  }\n\n  /**\n   * Whether the token is focused.\n   */\n  public async isFocused(): Promise<boolean> {\n    return await (await this.#getActionButton()).isFocused();\n  }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { 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(\n    filters: SkyTokensHarnessFilters,\n  ): HarnessPredicate<SkyTokensHarness> {\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   * Gets a specific token based on the filter criteria.\n   * @param filter The filter criteria.\n   */\n  public async getToken(\n    filter: SkyTokenHarnessFilters,\n  ): Promise<SkyTokenHarness> {\n    return await this.locatorFor(SkyTokenHarness.with(filter))();\n  }\n\n  /**\n   * Gets an array of tokens based on the filter criteria.\n   * If no filter is provided, returns all tokens.\n   * @param filters The optional filter criteria.\n   */\n  public async getTokens(\n    filters?: SkyTokenHarnessFilters,\n  ): Promise<SkyTokenHarness[]> {\n    return await this.locatorForAll(SkyTokenHarness.with(filters || {}))();\n  }\n\n  /**\n   * Returns the text content of all tokens.\n   */\n  public async getTokensText(): Promise<string[]> {\n    const tokens = await this.getTokens();\n    const values: string[] = [];\n\n    for (const token of tokens) {\n      values.push(await token.getText());\n    }\n\n    return values;\n  }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyWaitHarnessFilters } from './wait-harness-filters';\n\n/**\n * Harness for interacting with a wait component in tests.\n */\nexport class SkyWaitHarness extends SkyComponentHarness {\n  /**\n   * @internal\n   */\n  public static hostSelector = 'sky-wait';\n\n  #getWaitMask = this.locatorForOptional('.sky-wait-mask');\n  #getWaitContainer = this.locatorFor('.sky-wait-container');\n\n  /**\n   * Gets a `HarnessPredicate` that can be used to search for a\n   * `SkyWaitHarness` that meets certain criteria.\n   */\n  public static with(\n    filters: SkyWaitHarnessFilters,\n  ): HarnessPredicate<SkyWaitHarness> {\n    if (filters.servicePageWaitType === 'blocking') {\n      return SkyWaitHarness.getDataSkyIdPredicate({\n        dataSkyId: 'page-wait-blocking',\n      });\n    } else if (filters.servicePageWaitType === 'non-blocking') {\n      return SkyWaitHarness.getDataSkyIdPredicate({\n        dataSkyId: 'page-wait-non-blocking',\n      });\n    }\n    return SkyWaitHarness.getDataSkyIdPredicate(filters);\n  }\n\n  /**\n   * Gets the ARIA label for the wait component or throws an error if not waiting.\n   */\n  public async getAriaLabel(): Promise<string> {\n    const waitMask = await this.#getWaitMask();\n    if (waitMask) {\n      return (\n        (await waitMask.getAttribute('aria-label')) ||\n        /* istanbul ignore next */\n        ''\n      );\n    }\n    throw new Error(\n      'An ARIA label cannot be determined because the wait component is not visible.',\n    );\n  }\n\n  /**\n   * Gets the waiting state of the wait component.\n   */\n  public async isWaiting(): Promise<boolean> {\n    return !!(await this.#getWaitMask());\n  }\n\n  /**\n   * Gets the full page state of the wait component.\n   */\n  public async isFullPage(): Promise<boolean> {\n    return await (\n      await this.#getWaitContainer()\n    ).hasClass('sky-wait-full-page');\n  }\n\n  /**\n   * Gets the blocking state of the wait component.\n   */\n  public async isNonBlocking(): Promise<boolean> {\n    return await (\n      await this.#getWaitContainer()\n    ).hasClass('sky-wait-non-blocking');\n  }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX alert component.\n * @deprecated Use `SkyAlertHarness` instead.\n * @internal\n */\nexport class SkyAlertFixture {\n  /**\n   * The alert's current text.\n   */\n  public get text(): string | undefined {\n    return SkyAppTestUtility.getText(this.#debugEl);\n  }\n\n  /**\n   * A flag indicating whether the alert can be closed.\n   */\n  public get closeable(): boolean | undefined {\n    const closeBtnEl = this.#getCloseBtnEl();\n\n    return SkyAppTestUtility.isVisible(closeBtnEl);\n  }\n\n  /**\n   * Returns a flag indicating whether the alert is closed.\n   */\n  public get closed(): boolean {\n    return !SkyAppTestUtility.isVisible(this.#getAlertEl());\n  }\n\n  /**\n   * The alert's current type.\n   */\n  public get alertType(): string | undefined {\n    const clsList = this.#getAlertEl().nativeElement.classList;\n\n    if (clsList.contains('sky-alert-danger')) {\n      return 'danger';\n    }\n\n    if (clsList.contains('sky-alert-info')) {\n      return 'info';\n    }\n\n    if (clsList.contains('sky-alert-success')) {\n      return 'success';\n    }\n\n    if (clsList.contains('sky-alert-warning')) {\n      return 'warning';\n    }\n\n    return undefined;\n  }\n\n  #debugEl: DebugElement;\n\n  constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n    this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n      fixture,\n      skyTestId,\n      'sky-alert',\n    );\n  }\n\n  /**\n   * Closes the alert.  If the alert is not closeable, an error is thrown.\n   */\n  public close(): void {\n    if (this.closeable) {\n      const closeBtnEl = this.#getCloseBtnEl();\n\n      closeBtnEl.triggerEventHandler('click', {});\n    } else {\n      throw new Error('The alert is not closeable.');\n    }\n  }\n\n  #getAlertEl(): DebugElement {\n    return this.#debugEl.query(By.css('.sky-alert'));\n  }\n\n  #getCloseBtnEl(): DebugElement {\n    return this.#debugEl.query(By.css('.sky-alert-close'));\n  }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX label component.\n * @deprecated Use `SkyLabelHarness` instead.\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 * @deprecated Use `SkyWaitHarness` instead.\n * @internal\n */\nexport class SkyWaitFixture {\n  public get isWaiting(): boolean {\n    return this.#innerWaitComponentContainsClass('.sky-wait-mask');\n  }\n\n  public get isFullPage(): boolean {\n    return this.#innerWaitComponentContainsClass(\n      '.sky-wait-mask-loading-fixed',\n    );\n  }\n\n  public get ariaLabel(): string {\n    const div = this.#debugEl.nativeElement.querySelector('.sky-wait-mask');\n    return div.getAttribute('aria-label');\n  }\n\n  public get isNonBlocking(): boolean {\n    return this.#innerWaitComponentContainsClass(\n      '.sky-wait-mask-loading-non-blocking',\n    );\n  }\n\n  #debugEl: DebugElement;\n\n  constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n    this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n      fixture,\n      skyTestId,\n      'sky-wait',\n    );\n  }\n\n  #innerWaitComponentContainsClass(className: string): boolean {\n    const element: HTMLDivElement =\n      this.#debugEl.nativeElement.querySelector(className);\n    return element !== null;\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SkyHelpInlineHarness"],"mappings":"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"}