@skyux/indicators 12.9.0 → 12.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -211,24 +211,16 @@ class SkyIllustrationHarness extends SkyComponentHarness {
211
211
  */
212
212
  async getSize() {
213
213
  const img = await this.#getImage();
214
- const height = await img.getAttribute('height');
215
- const width = await img.getAttribute('width');
216
- if (height !== width) {
217
- throw new Error('The image height and width do not match.');
218
- }
219
- switch (height) {
220
- case '0':
221
- throw new Error('Size was not set.');
222
- case '48':
223
- return 'sm';
224
- case '64':
225
- return 'md';
226
- case '80':
227
- return 'lg';
228
- case '96':
229
- return 'xl';
230
- }
231
- throw new Error('The image dimensions do not match the specified illustration size.');
214
+ let foundSize;
215
+ for (const size of ['sm', 'md', 'lg', 'xl']) {
216
+ if (await img.hasClass(`sky-illustration-img-${size}`)) {
217
+ foundSize = size;
218
+ }
219
+ }
220
+ if (foundSize) {
221
+ return foundSize;
222
+ }
223
+ throw new Error('Size was not set.');
232
224
  }
233
225
  }
234
226
 
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-indicators-testing.mjs","sources":["../../../../../libs/components/indicators/testing/src/modules/alert/alert-harness.ts","../../../../../libs/components/indicators/testing/src/modules/chevron/chevron-harness.ts","../../../../../libs/components/indicators/testing/src/modules/help-inline/help-inline-harness.ts","../../../../../libs/components/indicators/testing/src/modules/illustration/illustration-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-label-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-value-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-harness.ts","../../../../../libs/components/indicators/testing/src/modules/label/label-harness.ts","../../../../../libs/components/indicators/testing/src/modules/status-indicator/status-indicator-harness.ts","../../../../../libs/components/indicators/testing/src/modules/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 #getImage = this.locatorFor('.sky-illustration-img');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyIllustrationHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyIllustrationHarnessFilters,\n ): HarnessPredicate<SkyIllustrationHarness> {\n return SkyIllustrationHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the specified name of the illustration.\n */\n public async getName(): Promise<string> {\n const img = await this.#getImage();\n const name = await img.getAttribute('data-sky-illustration-name');\n\n if (name === null) {\n throw new Error('Name was not set.');\n }\n\n return name;\n }\n\n /**\n * Gets the specified size of the illustration.\n */\n public async getSize(): Promise<SkyIllustrationSize> {\n const img = await this.#getImage();\n const height = await img.getAttribute('height');\n const width = await img.getAttribute('width');\n\n if (height !== width) {\n throw new Error('The image height and width do not match.');\n }\n\n switch (height) {\n case '0':\n throw new Error('Size was not set.');\n case '48':\n return 'sm';\n case '64':\n return 'md';\n case '80':\n return 'lg';\n case '96':\n return 'xl';\n }\n\n throw new Error(\n 'The image dimensions do not match the specified illustration size.',\n );\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info label component in tests.\n * @internal\n */\nexport class SkyKeyInfoLabelHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info-label';\n\n /**\n * Gets the text value of the component content.\n */\n public async getText(): Promise<string> {\n return await (await this.host()).text();\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info value component in tests.\n * @internal\n */\nexport class SkyKeyInfoValueHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info-value';\n\n /**\n * Gets the text value of the component content.\n */\n public async getText(): Promise<string> {\n return await (await this.host()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyKeyInfoLayoutType } from '@skyux/indicators';\n\nimport { SkyKeyInfoHarnessFilters } from './key-info-harness-filters';\nimport { SkyKeyInfoLabelHarness } from './key-info-label-harness';\nimport { SkyKeyInfoValueHarness } from './key-info-value-harness';\n\n/**\n * Harness for interacting with a key info component in tests.\n */\nexport class SkyKeyInfoHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info';\n\n #getLabel = this.locatorFor(SkyKeyInfoLabelHarness);\n #getValue = this.locatorFor(SkyKeyInfoValueHarness);\n #getWrapper = this.locatorFor('.sky-key-info');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyKeyInfoHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyKeyInfoHarnessFilters,\n ): HarnessPredicate<SkyKeyInfoHarness> {\n return SkyKeyInfoHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current value text.\n */\n public async getValueText(): Promise<string> {\n return await (await this.#getValue()).getText();\n }\n\n /**\n * Gets the current label text.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getLabel()).getText();\n }\n\n /**\n * Gets the current layout type.\n */\n public async getLayout(): Promise<SkyKeyInfoLayoutType> {\n return (await (\n await this.#getWrapper()\n ).hasClass('sky-key-info-horizontal'))\n ? 'horizontal'\n : 'vertical';\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyLabelType,\n} from '@skyux/indicators';\n\nimport { SkyLabelHarnessFilters } from './label-harness-filters';\n\n/**\n * Harness for interacting with a label component in tests.\n */\nexport class SkyLabelHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-label';\n\n #getWrapper = this.locatorFor('.sky-label');\n #getTextEl = this.locatorFor('.sky-label-text');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLabelHarnessFilters,\n ): HarnessPredicate<SkyLabelHarness> {\n return SkyLabelHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the text of the label component.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getTextEl()).text();\n }\n\n /**\n * Gets the `labelType` of the label component.\n */\n public async getLabelType(): Promise<SkyLabelType> {\n const labelClasses: DOMTokenList = await (\n await this.#getWrapper()\n ).getProperty('classList');\n\n if (labelClasses.contains('sky-label-success')) {\n return 'success';\n }\n\n if (labelClasses.contains('sky-label-danger')) {\n return 'danger';\n }\n\n if (labelClasses.contains('sky-label-warning')) {\n return 'warning';\n }\n\n return 'info';\n }\n\n /**\n * Gets the `descriptionType` of the label component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the label component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyIndicatorIconType,\n} from '@skyux/indicators';\n\nimport { SkyStatusIndicatorHarnessFilters } from './status-indicator-harness-filters';\n\n/**\n * Harness for interacting with a status indicator component in tests.\n */\nexport class SkyStatusIndicatorHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-status-indicator';\n\n #getIconWrapper = this.locatorFor('.sky-status-indicator-icon');\n #getMessage = this.locatorForOptional('.sky-status-indicator-message');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyStatusIndicatorHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyStatusIndicatorHarnessFilters,\n ): HarnessPredicate<SkyStatusIndicatorHarness> {\n return SkyStatusIndicatorHarness.getDataSkyIdPredicate(filters);\n }\n\n async #getHelpInline(): Promise<SkyHelpInlineHarness> {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n\n if (harness) {\n return harness;\n }\n\n throw Error('No help inline found.');\n }\n\n /**\n * Gets the current status indicator type.\n */\n public async getIndicatorType(): Promise<SkyIndicatorIconType | undefined> {\n const wrapper = await this.#getIconWrapper();\n\n if (await wrapper.hasClass('sky-status-indicator-icon-danger')) {\n return 'danger';\n }\n\n if (await wrapper.hasClass('sky-status-indicator-icon-info')) {\n return 'info';\n }\n\n if (await wrapper.hasClass('sky-status-indicator-icon-success')) {\n return 'success';\n }\n\n return 'warning';\n }\n\n /**\n * Gets the current status indicator text.\n */\n public async getText(): Promise<string> {\n const message = await this.#getMessage();\n\n if (message) {\n return await message.text();\n }\n\n throw new Error(\n 'Status indicator text was not found. Did you set the descriptionType input?',\n );\n }\n\n /**\n * Gets the `descriptionType` of the status indicator component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the status indicator component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n\n /**\n * Clicks the help inline button.\n */\n public async clickHelpInline(): Promise<void> {\n return await (await this.#getHelpInline()).click();\n }\n\n /**\n * Gets the help inline popover content.\n */\n public async getHelpPopoverContent(): Promise<string | undefined> {\n 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 { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyTokenHarness } from './token-harness';\nimport { SkyTokenHarnessFilters } from './token-harness-filters';\nimport { SkyTokensHarnessFilters } from './tokens-harness-filters';\n\n/**\n * Harness for interacting with a tokens component in tests.\n */\nexport class SkyTokensHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-tokens';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyTokensHarness` that meets certain criteria.\n */\n public static with(filters: SkyTokensHarnessFilters) {\n return SkyTokensHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Dismisses all tokens, or tokens that meet certain criteria.\n */\n public async dismissTokens(filters?: SkyTokenHarnessFilters): Promise<void> {\n const tokens = await this.getTokens(filters);\n for (const token of tokens) {\n await token.dismiss();\n }\n }\n\n /**\n * Returns a list of tokens.\n */\n public async getTokens(\n filters?: SkyTokenHarnessFilters,\n ): Promise<SkyTokenHarness[]> {\n return await this.locatorForAll(SkyTokenHarness.with(filters || {}))();\n }\n\n /**\n * Returns the text content of all tokens.\n */\n public async getTokensText(): Promise<string[]> {\n const tokens = await this.getTokens();\n const values: string[] = [];\n\n for (const token of tokens) {\n values.push(await token.getText());\n }\n\n return values;\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyWaitHarnessFilters } from './wait-harness-filters';\n\n/**\n * Harness for interacting with a wait component in tests.\n */\nexport class SkyWaitHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-wait';\n\n #getWaitMask = this.locatorForOptional('.sky-wait-mask');\n #getWaitContainer = this.locatorFor('.sky-wait-container');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyWaitHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyWaitHarnessFilters,\n ): HarnessPredicate<SkyWaitHarness> {\n if (filters.servicePageWaitType === 'blocking') {\n return SkyWaitHarness.getDataSkyIdPredicate({\n dataSkyId: 'page-wait-blocking',\n });\n } else if (filters.servicePageWaitType === 'non-blocking') {\n return SkyWaitHarness.getDataSkyIdPredicate({\n dataSkyId: 'page-wait-non-blocking',\n });\n }\n return SkyWaitHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the ARIA label for the wait component or throws an error if not waiting.\n */\n public async getAriaLabel(): Promise<string> {\n const waitMask = await this.#getWaitMask();\n if (waitMask) {\n return (\n (await waitMask.getAttribute('aria-label')) ||\n /* istanbul ignore next */\n ''\n );\n }\n throw new Error(\n 'An ARIA label cannot be determined because the wait component is not visible.',\n );\n }\n\n /**\n * Gets the waiting state of the wait component.\n */\n public async isWaiting(): Promise<boolean> {\n return !!(await this.#getWaitMask());\n }\n\n /**\n * Gets the full page state of the wait component.\n */\n public async isFullPage(): Promise<boolean> {\n return await (\n await this.#getWaitContainer()\n ).hasClass('sky-wait-full-page');\n }\n\n /**\n * Gets the blocking state of the wait component.\n */\n public async isNonBlocking(): Promise<boolean> {\n return await (\n await this.#getWaitContainer()\n ).hasClass('sky-wait-non-blocking');\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX alert component.\n * @deprecated Use `SkyAlertHarness` instead.\n * @internal\n */\nexport class SkyAlertFixture {\n /**\n * The alert's current text.\n */\n public get text(): string | undefined {\n return SkyAppTestUtility.getText(this.#debugEl);\n }\n\n /**\n * A flag indicating whether the alert can be closed.\n */\n public get closeable(): boolean | undefined {\n const closeBtnEl = this.#getCloseBtnEl();\n\n return SkyAppTestUtility.isVisible(closeBtnEl);\n }\n\n /**\n * Returns a flag indicating whether the alert is closed.\n */\n public get closed(): boolean {\n return !SkyAppTestUtility.isVisible(this.#getAlertEl());\n }\n\n /**\n * The alert's current type.\n */\n public get alertType(): string | undefined {\n const clsList = this.#getAlertEl().nativeElement.classList;\n\n if (clsList.contains('sky-alert-danger')) {\n return 'danger';\n }\n\n if (clsList.contains('sky-alert-info')) {\n return 'info';\n }\n\n if (clsList.contains('sky-alert-success')) {\n return 'success';\n }\n\n if (clsList.contains('sky-alert-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-alert',\n );\n }\n\n /**\n * Closes the alert. If the alert is not closeable, an error is thrown.\n */\n public close(): void {\n if (this.closeable) {\n const closeBtnEl = this.#getCloseBtnEl();\n\n closeBtnEl.triggerEventHandler('click', {});\n } else {\n throw new Error('The alert is not closeable.');\n }\n }\n\n #getAlertEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-alert'));\n }\n\n #getCloseBtnEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-alert-close'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX label component.\n * @internal\n */\nexport class SkyLabelFixture {\n /**\n * The label's current type.\n */\n public get labelType(): string | undefined {\n const clsList = this.#getLabelEl().nativeElement.classList;\n\n if (clsList.contains('sky-label-danger')) {\n return 'danger';\n }\n\n if (clsList.contains('sky-label-info')) {\n return 'info';\n }\n\n if (clsList.contains('sky-label-success')) {\n return 'success';\n }\n\n if (clsList.contains('sky-label-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n /**\n * The label's current text.\n */\n public get text(): string | undefined {\n const labelEl = this.#getLabelEl();\n\n return SkyAppTestUtility.getText(labelEl);\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-label',\n );\n }\n\n #getLabelEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-label'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * @internal\n */\nexport class SkyWaitFixture {\n public get isWaiting(): boolean {\n return this.#innerWaitComponentContainsClass('.sky-wait-mask');\n }\n\n public get isFullPage(): boolean {\n return this.#innerWaitComponentContainsClass(\n '.sky-wait-mask-loading-fixed',\n );\n }\n\n public get ariaLabel(): string {\n const div = this.#debugEl.nativeElement.querySelector('.sky-wait-mask');\n return div.getAttribute('aria-label');\n }\n\n public get isNonBlocking(): boolean {\n return this.#innerWaitComponentContainsClass(\n '.sky-wait-mask-loading-non-blocking',\n );\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-wait',\n );\n }\n\n #innerWaitComponentContainsClass(className: string): boolean {\n const element: HTMLDivElement =\n this.#debugEl.nativeElement.querySelector(className);\n return element !== null;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SkyHelpInlineHarness"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-indicators-testing.mjs","sources":["../../../../../libs/components/indicators/testing/src/modules/alert/alert-harness.ts","../../../../../libs/components/indicators/testing/src/modules/chevron/chevron-harness.ts","../../../../../libs/components/indicators/testing/src/modules/help-inline/help-inline-harness.ts","../../../../../libs/components/indicators/testing/src/modules/illustration/illustration-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-label-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-value-harness.ts","../../../../../libs/components/indicators/testing/src/modules/key-info/key-info-harness.ts","../../../../../libs/components/indicators/testing/src/modules/label/label-harness.ts","../../../../../libs/components/indicators/testing/src/modules/status-indicator/status-indicator-harness.ts","../../../../../libs/components/indicators/testing/src/modules/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 #getImage = this.locatorFor('.sky-illustration-img');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyIllustrationHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyIllustrationHarnessFilters,\n ): HarnessPredicate<SkyIllustrationHarness> {\n return SkyIllustrationHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the specified name of the illustration.\n */\n public async getName(): Promise<string> {\n const img = await this.#getImage();\n const name = await img.getAttribute('data-sky-illustration-name');\n\n if (name === null) {\n throw new Error('Name was not set.');\n }\n\n return name;\n }\n\n /**\n * Gets the specified size of the illustration.\n */\n public async getSize(): Promise<SkyIllustrationSize> {\n const img = await this.#getImage();\n\n let foundSize;\n\n for (const size of ['sm', 'md', 'lg', 'xl']) {\n if (await img.hasClass(`sky-illustration-img-${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 { SkyKeyInfoLayoutType } from '@skyux/indicators';\n\nimport { SkyKeyInfoHarnessFilters } from './key-info-harness-filters';\nimport { SkyKeyInfoLabelHarness } from './key-info-label-harness';\nimport { SkyKeyInfoValueHarness } from './key-info-value-harness';\n\n/**\n * Harness for interacting with a key info component in tests.\n */\nexport class SkyKeyInfoHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info';\n\n #getLabel = this.locatorFor(SkyKeyInfoLabelHarness);\n #getValue = this.locatorFor(SkyKeyInfoValueHarness);\n #getWrapper = this.locatorFor('.sky-key-info');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyKeyInfoHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyKeyInfoHarnessFilters,\n ): HarnessPredicate<SkyKeyInfoHarness> {\n return SkyKeyInfoHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current value text.\n */\n public async getValueText(): Promise<string> {\n return await (await this.#getValue()).getText();\n }\n\n /**\n * Gets the current label text.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getLabel()).getText();\n }\n\n /**\n * Gets the current layout type.\n */\n public async getLayout(): Promise<SkyKeyInfoLayoutType> {\n return (await (\n await this.#getWrapper()\n ).hasClass('sky-key-info-horizontal'))\n ? 'horizontal'\n : 'vertical';\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyLabelType,\n} from '@skyux/indicators';\n\nimport { SkyLabelHarnessFilters } from './label-harness-filters';\n\n/**\n * Harness for interacting with a label component in tests.\n */\nexport class SkyLabelHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-label';\n\n #getWrapper = this.locatorFor('.sky-label');\n #getTextEl = this.locatorFor('.sky-label-text');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLabelHarnessFilters,\n ): HarnessPredicate<SkyLabelHarness> {\n return SkyLabelHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the text of the label component.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getTextEl()).text();\n }\n\n /**\n * Gets the `labelType` of the label component.\n */\n public async getLabelType(): Promise<SkyLabelType> {\n const labelClasses: DOMTokenList = await (\n await this.#getWrapper()\n ).getProperty('classList');\n\n if (labelClasses.contains('sky-label-success')) {\n return 'success';\n }\n\n if (labelClasses.contains('sky-label-danger')) {\n return 'danger';\n }\n\n if (labelClasses.contains('sky-label-warning')) {\n return 'warning';\n }\n\n return 'info';\n }\n\n /**\n * Gets the `descriptionType` of the label component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the label component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyIndicatorIconType,\n} from '@skyux/indicators';\n\nimport { SkyStatusIndicatorHarnessFilters } from './status-indicator-harness-filters';\n\n/**\n * Harness for interacting with a status indicator component in tests.\n */\nexport class SkyStatusIndicatorHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-status-indicator';\n\n #getIconWrapper = this.locatorFor('.sky-status-indicator-icon');\n #getMessage = this.locatorForOptional('.sky-status-indicator-message');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyStatusIndicatorHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyStatusIndicatorHarnessFilters,\n ): HarnessPredicate<SkyStatusIndicatorHarness> {\n return SkyStatusIndicatorHarness.getDataSkyIdPredicate(filters);\n }\n\n async #getHelpInline(): Promise<SkyHelpInlineHarness> {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n\n if (harness) {\n return harness;\n }\n\n throw Error('No help inline found.');\n }\n\n /**\n * Gets the current status indicator type.\n */\n public async getIndicatorType(): Promise<SkyIndicatorIconType | undefined> {\n const wrapper = await this.#getIconWrapper();\n\n if (await wrapper.hasClass('sky-status-indicator-icon-danger')) {\n return 'danger';\n }\n\n if (await wrapper.hasClass('sky-status-indicator-icon-info')) {\n return 'info';\n }\n\n if (await wrapper.hasClass('sky-status-indicator-icon-success')) {\n return 'success';\n }\n\n return 'warning';\n }\n\n /**\n * Gets the current status indicator text.\n */\n public async getText(): Promise<string> {\n const message = await this.#getMessage();\n\n if (message) {\n return await message.text();\n }\n\n throw new Error(\n 'Status indicator text was not found. Did you set the descriptionType input?',\n );\n }\n\n /**\n * Gets the `descriptionType` of the status indicator component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the status indicator component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n\n /**\n * Clicks the help inline button.\n */\n public async clickHelpInline(): Promise<void> {\n return await (await this.#getHelpInline()).click();\n }\n\n /**\n * Gets the help inline popover content.\n */\n public async getHelpPopoverContent(): Promise<string | undefined> {\n 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 { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyTokenHarness } from './token-harness';\nimport { SkyTokenHarnessFilters } from './token-harness-filters';\nimport { SkyTokensHarnessFilters } from './tokens-harness-filters';\n\n/**\n * Harness for interacting with a tokens component in tests.\n */\nexport class SkyTokensHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-tokens';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyTokensHarness` that meets certain criteria.\n */\n public static with(filters: SkyTokensHarnessFilters) {\n return SkyTokensHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Dismisses all tokens, or tokens that meet certain criteria.\n */\n public async dismissTokens(filters?: SkyTokenHarnessFilters): Promise<void> {\n const tokens = await this.getTokens(filters);\n for (const token of tokens) {\n await token.dismiss();\n }\n }\n\n /**\n * Returns a list of tokens.\n */\n public async getTokens(\n filters?: SkyTokenHarnessFilters,\n ): Promise<SkyTokenHarness[]> {\n return await this.locatorForAll(SkyTokenHarness.with(filters || {}))();\n }\n\n /**\n * Returns the text content of all tokens.\n */\n public async getTokensText(): Promise<string[]> {\n const tokens = await this.getTokens();\n const values: string[] = [];\n\n for (const token of tokens) {\n values.push(await token.getText());\n }\n\n return values;\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyWaitHarnessFilters } from './wait-harness-filters';\n\n/**\n * Harness for interacting with a wait component in tests.\n */\nexport class SkyWaitHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-wait';\n\n #getWaitMask = this.locatorForOptional('.sky-wait-mask');\n #getWaitContainer = this.locatorFor('.sky-wait-container');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyWaitHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyWaitHarnessFilters,\n ): HarnessPredicate<SkyWaitHarness> {\n if (filters.servicePageWaitType === 'blocking') {\n return SkyWaitHarness.getDataSkyIdPredicate({\n dataSkyId: 'page-wait-blocking',\n });\n } else if (filters.servicePageWaitType === 'non-blocking') {\n return SkyWaitHarness.getDataSkyIdPredicate({\n dataSkyId: 'page-wait-non-blocking',\n });\n }\n return SkyWaitHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the ARIA label for the wait component or throws an error if not waiting.\n */\n public async getAriaLabel(): Promise<string> {\n const waitMask = await this.#getWaitMask();\n if (waitMask) {\n return (\n (await waitMask.getAttribute('aria-label')) ||\n /* istanbul ignore next */\n ''\n );\n }\n throw new Error(\n 'An ARIA label cannot be determined because the wait component is not visible.',\n );\n }\n\n /**\n * Gets the waiting state of the wait component.\n */\n public async isWaiting(): Promise<boolean> {\n return !!(await this.#getWaitMask());\n }\n\n /**\n * Gets the full page state of the wait component.\n */\n public async isFullPage(): Promise<boolean> {\n return await (\n await this.#getWaitContainer()\n ).hasClass('sky-wait-full-page');\n }\n\n /**\n * Gets the blocking state of the wait component.\n */\n public async isNonBlocking(): Promise<boolean> {\n return await (\n await this.#getWaitContainer()\n ).hasClass('sky-wait-non-blocking');\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX alert component.\n * @deprecated Use `SkyAlertHarness` instead.\n * @internal\n */\nexport class SkyAlertFixture {\n /**\n * The alert's current text.\n */\n public get text(): string | undefined {\n return SkyAppTestUtility.getText(this.#debugEl);\n }\n\n /**\n * A flag indicating whether the alert can be closed.\n */\n public get closeable(): boolean | undefined {\n const closeBtnEl = this.#getCloseBtnEl();\n\n return SkyAppTestUtility.isVisible(closeBtnEl);\n }\n\n /**\n * Returns a flag indicating whether the alert is closed.\n */\n public get closed(): boolean {\n return !SkyAppTestUtility.isVisible(this.#getAlertEl());\n }\n\n /**\n * The alert's current type.\n */\n public get alertType(): string | undefined {\n const clsList = this.#getAlertEl().nativeElement.classList;\n\n if (clsList.contains('sky-alert-danger')) {\n return 'danger';\n }\n\n if (clsList.contains('sky-alert-info')) {\n return 'info';\n }\n\n if (clsList.contains('sky-alert-success')) {\n return 'success';\n }\n\n if (clsList.contains('sky-alert-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-alert',\n );\n }\n\n /**\n * Closes the alert. If the alert is not closeable, an error is thrown.\n */\n public close(): void {\n if (this.closeable) {\n const closeBtnEl = this.#getCloseBtnEl();\n\n closeBtnEl.triggerEventHandler('click', {});\n } else {\n throw new Error('The alert is not closeable.');\n }\n }\n\n #getAlertEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-alert'));\n }\n\n #getCloseBtnEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-alert-close'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX label component.\n * @internal\n */\nexport class SkyLabelFixture {\n /**\n * The label's current type.\n */\n public get labelType(): string | undefined {\n const clsList = this.#getLabelEl().nativeElement.classList;\n\n if (clsList.contains('sky-label-danger')) {\n return 'danger';\n }\n\n if (clsList.contains('sky-label-info')) {\n return 'info';\n }\n\n if (clsList.contains('sky-label-success')) {\n return 'success';\n }\n\n if (clsList.contains('sky-label-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n /**\n * The label's current text.\n */\n public get text(): string | undefined {\n const labelEl = this.#getLabelEl();\n\n return SkyAppTestUtility.getText(labelEl);\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-label',\n );\n }\n\n #getLabelEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-label'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * @internal\n */\nexport class SkyWaitFixture {\n public get isWaiting(): boolean {\n return this.#innerWaitComponentContainsClass('.sky-wait-mask');\n }\n\n public get isFullPage(): boolean {\n return this.#innerWaitComponentContainsClass(\n '.sky-wait-mask-loading-fixed',\n );\n }\n\n public get ariaLabel(): string {\n const div = this.#debugEl.nativeElement.querySelector('.sky-wait-mask');\n return div.getAttribute('aria-label');\n }\n\n public get isNonBlocking(): boolean {\n return this.#innerWaitComponentContainsClass(\n '.sky-wait-mask-loading-non-blocking',\n );\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-wait',\n );\n }\n\n #innerWaitComponentContainsClass(className: string): boolean {\n const element: HTMLDivElement =\n this.#debugEl.nativeElement.querySelector(className);\n return element !== null;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SkyHelpInlineHarness"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { NgModule, EventEmitter, inject, Output, Input, Component, Injectable, input, computed, ChangeDetectionStrategy, ChangeDetectorRef, ElementRef, HostBinding, Directive, ViewChild, ViewChildren, EnvironmentInjector } from '@angular/core';
4
+ import { NgModule, EventEmitter, inject, Output, Input, Component, Injectable, input, ChangeDetectionStrategy, ChangeDetectorRef, ElementRef, HostBinding, Directive, ViewChild, ViewChildren, EnvironmentInjector } from '@angular/core';
5
5
  import * as i3 from '@skyux/icon';
6
6
  import { SkyIconModule } from '@skyux/icon';
7
7
  import * as i1$1 from '@skyux/theme';
@@ -464,12 +464,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImpor
464
464
  type: Injectable
465
465
  }] });
466
466
 
467
- const pixelSizes = {
468
- sm: 48,
469
- md: 64,
470
- lg: 80,
471
- xl: 96,
472
- };
473
467
  /**
474
468
  * Displays a spot illustration at the specified size.
475
469
  */
@@ -489,15 +483,14 @@ class SkyIllustrationComponent {
489
483
  */
490
484
  this.size = input.required();
491
485
  this.url = toSignal(toObservable(this.name).pipe(switchMap((name) => this.#resolverSvc ? from(this.#resolverSvc.resolveUrl(name)) : of('')), catchError(() => of(''))));
492
- this.pixelSize = computed(() => pixelSizes[this.size()]);
493
486
  }
494
487
  #resolverSvc;
495
488
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyIllustrationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
496
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.7", type: SkyIllustrationComponent, isStandalone: true, selector: "sky-illustration", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1$1.SkyThemeComponentClassDirective }], ngImport: i0, template: "<img\n alt=\"\"\n class=\"sky-illustration-img\"\n loading=\"lazy\"\n [attr.data-sky-illustration-name]=\"name()\"\n [height]=\"pixelSize()\"\n [ngClass]=\"{\n 'sky-illustration-img-loaded': !!url()\n }\"\n [src]=\"url()\"\n [width]=\"pixelSize()\"\n/>\n", styles: [":host.sky-cmp-theme-default{display:block}.sky-illustration-img:not(.sky-theme-modern *){display:block}.sky-illustration-img:not(.sky-theme-modern *)[src=\"\"]{visibility:hidden}\n", ":host-context(.sky-theme-modern) :host.sky-cmp-theme-modern{display:block}:host-context(.sky-theme-modern) .sky-illustration-img{display:block}:host-context(.sky-theme-modern) .sky-illustration-img[src=\"\"]{visibility:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
489
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.7", type: SkyIllustrationComponent, isStandalone: true, selector: "sky-illustration", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1$1.SkyThemeComponentClassDirective }], ngImport: i0, template: "<img\n alt=\"\"\n loading=\"lazy\"\n [attr.data-sky-illustration-name]=\"name()\"\n [class]=\"'sky-illustration-img sky-illustration-img-' + size()\"\n [ngClass]=\"{\n 'sky-illustration-img-loaded': !!url()\n }\"\n [src]=\"url()\"\n/>\n", styles: [":host.sky-cmp-theme-default{display:block}.sky-illustration-img:not(.sky-theme-modern *){display:block;--sky-illustration-img-size: 48px;aspect-ratio:auto 1/1;height:var(--sky-illustration-img-size);width:var(--sky-illustration-img-size)}.sky-illustration-img:not(.sky-theme-modern *).sky-illustration-img-md{--sky-illustration-img-size: 64px}.sky-illustration-img:not(.sky-theme-modern *).sky-illustration-img-lg{--sky-illustration-img-size: 80px}.sky-illustration-img:not(.sky-theme-modern *).sky-illustration-img-xl{--sky-illustration-img-size: 96px}.sky-illustration-img:not(.sky-theme-modern *)[src=\"\"]{visibility:hidden}\n", ":host-context(.sky-theme-modern) :host.sky-cmp-theme-modern{display:block}:host-context(.sky-theme-modern) .sky-illustration-img{display:block;--sky-illustration-img-size: var(--sky-size-illustration-s);aspect-ratio:auto 1/1;height:var(--sky-illustration-img-size);width:var(--sky-illustration-img-size)}:host-context(.sky-theme-modern) .sky-illustration-img.sky-illustration-img-md{--sky-illustration-img-size: var(--sky-size-illustration-m)}:host-context(.sky-theme-modern) .sky-illustration-img.sky-illustration-img-lg{--sky-illustration-img-size: var(--sky-size-illustration-l)}:host-context(.sky-theme-modern) .sky-illustration-img.sky-illustration-img-xl{--sky-illustration-img-size: var(--sky-size-illustration-xl)}:host-context(.sky-theme-modern) .sky-illustration-img[src=\"\"]{visibility:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
497
490
  }
498
491
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SkyIllustrationComponent, decorators: [{
499
492
  type: Component,
500
- args: [{ selector: 'sky-illustration', imports: [CommonModule], hostDirectives: [SkyThemeComponentClassDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<img\n alt=\"\"\n class=\"sky-illustration-img\"\n loading=\"lazy\"\n [attr.data-sky-illustration-name]=\"name()\"\n [height]=\"pixelSize()\"\n [ngClass]=\"{\n 'sky-illustration-img-loaded': !!url()\n }\"\n [src]=\"url()\"\n [width]=\"pixelSize()\"\n/>\n", styles: [":host.sky-cmp-theme-default{display:block}.sky-illustration-img:not(.sky-theme-modern *){display:block}.sky-illustration-img:not(.sky-theme-modern *)[src=\"\"]{visibility:hidden}\n", ":host-context(.sky-theme-modern) :host.sky-cmp-theme-modern{display:block}:host-context(.sky-theme-modern) .sky-illustration-img{display:block}:host-context(.sky-theme-modern) .sky-illustration-img[src=\"\"]{visibility:hidden}\n"] }]
493
+ args: [{ selector: 'sky-illustration', imports: [CommonModule], hostDirectives: [SkyThemeComponentClassDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<img\n alt=\"\"\n loading=\"lazy\"\n [attr.data-sky-illustration-name]=\"name()\"\n [class]=\"'sky-illustration-img sky-illustration-img-' + size()\"\n [ngClass]=\"{\n 'sky-illustration-img-loaded': !!url()\n }\"\n [src]=\"url()\"\n/>\n", styles: [":host.sky-cmp-theme-default{display:block}.sky-illustration-img:not(.sky-theme-modern *){display:block;--sky-illustration-img-size: 48px;aspect-ratio:auto 1/1;height:var(--sky-illustration-img-size);width:var(--sky-illustration-img-size)}.sky-illustration-img:not(.sky-theme-modern *).sky-illustration-img-md{--sky-illustration-img-size: 64px}.sky-illustration-img:not(.sky-theme-modern *).sky-illustration-img-lg{--sky-illustration-img-size: 80px}.sky-illustration-img:not(.sky-theme-modern *).sky-illustration-img-xl{--sky-illustration-img-size: 96px}.sky-illustration-img:not(.sky-theme-modern *)[src=\"\"]{visibility:hidden}\n", ":host-context(.sky-theme-modern) :host.sky-cmp-theme-modern{display:block}:host-context(.sky-theme-modern) .sky-illustration-img{display:block;--sky-illustration-img-size: var(--sky-size-illustration-s);aspect-ratio:auto 1/1;height:var(--sky-illustration-img-size);width:var(--sky-illustration-img-size)}:host-context(.sky-theme-modern) .sky-illustration-img.sky-illustration-img-md{--sky-illustration-img-size: var(--sky-size-illustration-m)}:host-context(.sky-theme-modern) .sky-illustration-img.sky-illustration-img-lg{--sky-illustration-img-size: var(--sky-size-illustration-l)}:host-context(.sky-theme-modern) .sky-illustration-img.sky-illustration-img-xl{--sky-illustration-img-size: var(--sky-size-illustration-xl)}:host-context(.sky-theme-modern) .sky-illustration-img[src=\"\"]{visibility:hidden}\n"] }]
501
494
  }] });
502
495
 
503
496
  class SkyIllustrationModule {
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-indicators.mjs","sources":["../../../../../libs/components/indicators/src/lib/modules/shared/sky-indicators-resources.module.ts","../../../../../libs/components/indicators/src/lib/modules/shared/indicator-icon-utility.ts","../../../../../libs/components/indicators/src/lib/modules/alert/alert.component.ts","../../../../../libs/components/indicators/src/lib/modules/alert/alert.component.html","../../../../../libs/components/indicators/src/lib/modules/alert/alert.module.ts","../../../../../libs/components/indicators/src/lib/modules/expansion-indicator/expansion-indicator.component.ts","../../../../../libs/components/indicators/src/lib/modules/expansion-indicator/expansion-indicator.component.html","../../../../../libs/components/indicators/src/lib/modules/expansion-indicator/expansion-indicator.module.ts","../../../../../libs/components/indicators/src/lib/modules/chevron/chevron.component.ts","../../../../../libs/components/indicators/src/lib/modules/chevron/chevron.component.html","../../../../../libs/components/indicators/src/lib/modules/chevron/chevron.module.ts","../../../../../libs/components/indicators/src/lib/modules/illustration/illustration-resolver.service.ts","../../../../../libs/components/indicators/src/lib/modules/illustration/illustration.component.ts","../../../../../libs/components/indicators/src/lib/modules/illustration/illustration.component.html","../../../../../libs/components/indicators/src/lib/modules/illustration/illustration.module.ts","../../../../../libs/components/indicators/src/lib/modules/key-info/key-info-label.component.ts","../../../../../libs/components/indicators/src/lib/modules/key-info/key-info-value.component.ts","../../../../../libs/components/indicators/src/lib/modules/key-info/key-info.component.ts","../../../../../libs/components/indicators/src/lib/modules/key-info/key-info.component.html","../../../../../libs/components/indicators/src/lib/modules/key-info/key-info.module.ts","../../../../../libs/components/indicators/src/lib/modules/label/label.component.ts","../../../../../libs/components/indicators/src/lib/modules/label/label.component.html","../../../../../libs/components/indicators/src/lib/modules/label/label.module.ts","../../../../../libs/components/indicators/src/lib/modules/status-indicator/status-indicator.component.ts","../../../../../libs/components/indicators/src/lib/modules/status-indicator/status-indicator.component.html","../../../../../libs/components/indicators/src/lib/modules/status-indicator/status-indicator.module.ts","../../../../../libs/components/indicators/src/lib/modules/text-highlight/text-highlight.directive.ts","../../../../../libs/components/indicators/src/lib/modules/text-highlight/text-highlight.module.ts","../../../../../libs/components/indicators/src/lib/modules/tokens/token.component.ts","../../../../../libs/components/indicators/src/lib/modules/tokens/token.component.html","../../../../../libs/components/indicators/src/lib/modules/tokens/types/tokens-message-type.ts","../../../../../libs/components/indicators/src/lib/modules/tokens/tokens.component.ts","../../../../../libs/components/indicators/src/lib/modules/tokens/tokens.component.html","../../../../../libs/components/indicators/src/lib/modules/tokens/tokens.module.ts","../../../../../libs/components/indicators/src/lib/modules/wait/wait-adapter.service.ts","../../../../../libs/components/indicators/src/lib/modules/wait/wait.component.ts","../../../../../libs/components/indicators/src/lib/modules/wait/wait.component.html","../../../../../libs/components/indicators/src/lib/modules/wait/wait.module.ts","../../../../../libs/components/indicators/src/lib/modules/wait/wait-page.component.ts","../../../../../libs/components/indicators/src/lib/modules/wait/wait-page.component.html","../../../../../libs/components/indicators/src/lib/modules/wait/wait.service.ts","../../../../../libs/components/indicators/src/skyux-indicators.ts"],"sourcesContent":["/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-indicators' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_alert_close: { message: 'Close the alert' },\n skyux_alert_sr_attention: { message: 'Attention:' },\n skyux_alert_sr_caution: { message: 'Caution:' },\n skyux_alert_sr_completed: { message: 'Completed:' },\n skyux_alert_sr_danger: { message: 'Danger:' },\n skyux_alert_sr_error: { message: 'Error:' },\n skyux_alert_sr_important_info: { message: 'Important information:' },\n skyux_alert_sr_important_warning: { message: 'Important warning:' },\n skyux_alert_sr_success: { message: 'Success:' },\n skyux_alert_sr_warning: { message: 'Warning:' },\n skyux_help_inline_button_title: { message: 'Show help content' },\n skyux_label_sr_attention: { message: 'Attention:' },\n skyux_label_sr_caution: { message: 'Caution:' },\n skyux_label_sr_completed: { message: 'Completed:' },\n skyux_label_sr_danger: { message: 'Danger:' },\n skyux_label_sr_error: { message: 'Error:' },\n skyux_label_sr_important_info: { message: 'Important information:' },\n skyux_label_sr_important_warning: { message: 'Important warning:' },\n skyux_label_sr_success: { message: 'Success:' },\n skyux_label_sr_warning: { message: 'Warning:' },\n skyux_status_indicator_sr_attention: { message: 'Attention:' },\n skyux_status_indicator_sr_caution: { message: 'Caution:' },\n skyux_status_indicator_sr_completed: { message: 'Completed:' },\n skyux_status_indicator_sr_danger: { message: 'Danger:' },\n skyux_status_indicator_sr_error: { message: 'Error:' },\n skyux_status_indicator_sr_important_info: {\n message: 'Important information:',\n },\n skyux_status_indicator_sr_important_warning: {\n message: 'Important warning:',\n },\n skyux_status_indicator_sr_success: { message: 'Success:' },\n skyux_status_indicator_sr_warning: { message: 'Warning:' },\n skyux_tokens_dismiss_button_default_label: { message: 'Remove ' },\n skyux_tokens_dismiss_button_title: { message: 'Remove item' },\n skyux_tokens_token_dismissed: { message: '{0} removed' },\n skyux_wait_aria_alt_text: { message: 'Loading.' },\n skyux_wait_blocking_aria_alt_text: { message: 'Loading. Please wait.' },\n skyux_wait_page_aria_alt_text: { message: 'Page loading.' },\n skyux_wait_page_blocking_aria_alt_text: {\n message: 'Page loading. Please wait.',\n },\n skyux_wait_screen_reader_completed_text: { message: 'Loading complete.' },\n skyux_wait_page_screen_reader_completed_text: {\n message: 'Page loading complete.',\n },\n },\n 'FR-CA': {\n skyux_alert_close: { message: 'Fermer l’alerte' },\n skyux_alert_sr_attention: { message: 'Attention :' },\n skyux_alert_sr_caution: { message: 'Mise en garde :' },\n skyux_alert_sr_completed: { message: 'Terminé :' },\n skyux_alert_sr_danger: { message: 'Danger :' },\n skyux_alert_sr_error: { message: 'Erreur :' },\n skyux_alert_sr_important_info: { message: 'Information importante :' },\n skyux_alert_sr_important_warning: { message: 'Avertissement important :' },\n skyux_alert_sr_success: { message: 'Réussi :' },\n skyux_alert_sr_warning: { message: 'Avertissement :' },\n skyux_help_inline_button_title: {\n message: 'Afficher le contenu de l’aide',\n },\n skyux_label_sr_attention: { message: 'Attention :' },\n skyux_label_sr_caution: { message: 'Mise en garde :' },\n skyux_label_sr_completed: { message: 'Terminé :' },\n skyux_label_sr_danger: { message: 'Danger :' },\n skyux_label_sr_error: { message: 'Erreur :' },\n skyux_label_sr_important_info: { message: 'Information importante :' },\n skyux_label_sr_important_warning: { message: 'Avertissement important :' },\n skyux_label_sr_success: { message: 'Réussi :' },\n skyux_label_sr_warning: { message: 'Avertissement :' },\n skyux_status_indicator_sr_attention: { message: 'Attention :' },\n skyux_status_indicator_sr_caution: { message: 'Mise en garde :' },\n skyux_status_indicator_sr_completed: { message: 'Terminé :' },\n skyux_status_indicator_sr_danger: { message: 'Danger :' },\n skyux_status_indicator_sr_error: { message: 'Erreur :' },\n skyux_status_indicator_sr_important_info: {\n message: 'Information importante :',\n },\n skyux_status_indicator_sr_important_warning: {\n message: 'Avertissement important :',\n },\n skyux_status_indicator_sr_success: { message: 'Réussi :' },\n skyux_status_indicator_sr_warning: { message: 'Avertissement :' },\n skyux_tokens_dismiss_button_default_label: { message: 'Retirer ' },\n skyux_tokens_dismiss_button_title: { message: 'Retirer l’article' },\n skyux_tokens_token_dismissed: { message: '{0} retiré' },\n skyux_wait_aria_alt_text: { message: 'Chargement en cours.' },\n skyux_wait_blocking_aria_alt_text: {\n message: 'Chargement en cours. Veuillez patienter.',\n },\n skyux_wait_page_aria_alt_text: {\n message: 'Chargement de la page en cours.',\n },\n skyux_wait_page_blocking_aria_alt_text: {\n message: 'Chargement de la page en cours. Veuillez patienter.',\n },\n skyux_wait_screen_reader_completed_text: { message: 'Chargement terminé.' },\n skyux_wait_page_screen_reader_completed_text: {\n message: 'Chargement de la page terminé.',\n },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyIndicatorsResourcesModule {}\n","import { SkyIndicatorIconType } from './indicator-icon-type';\n\n/**\n * @internal\n */\nexport class SkyIndicatorIconUtility {\n public static getIconNameForType(\n indicatorType: SkyIndicatorIconType,\n ): string {\n let icon: string;\n\n switch (indicatorType) {\n case 'danger':\n case 'warning':\n icon = 'warning';\n break;\n case 'info':\n icon = 'info';\n break;\n case 'success':\n icon = 'success';\n break;\n }\n\n return icon;\n }\n}\n","import {\n AfterViewChecked,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n inject,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\nimport { Subscription } from 'rxjs';\n\nimport { SkyIndicatorDescriptionType } from '../shared/indicator-description-type';\nimport { SkyIndicatorIconType } from '../shared/indicator-icon-type';\nimport { SkyIndicatorIconUtility } from '../shared/indicator-icon-utility';\n\nconst ALERT_TYPE_DEFAULT = 'warning';\n\n@Component({\n selector: 'sky-alert',\n styleUrls: [\n './alert.default.component.scss',\n './alert.modern.component.scss',\n ],\n templateUrl: './alert.component.html',\n hostDirectives: [SkyThemeComponentClassDirective],\n standalone: false,\n})\nexport class SkyAlertComponent implements AfterViewChecked, OnInit, OnDestroy {\n /**\n * The style for the alert, which determines the icon and background color.\n * The valid options are `danger`, `info`, `success`, and `warning`.\n * @default \"warning\"\n */\n @Input()\n public set alertType(value: SkyIndicatorIconType | undefined) {\n if (value !== this.alertTypeOrDefault) {\n this.alertTypeOrDefault = value || ALERT_TYPE_DEFAULT;\n this.#updateAlertIcon();\n }\n }\n\n /**\n * Whether to include a close button for users to dismiss the alert.\n * @default false\n */\n @Input()\n public closeable: boolean | undefined;\n\n /**\n * Whether the alert is closed.\n * @default false\n */\n @Input()\n public closed: boolean | undefined;\n\n /**\n * The predefined text to be read by screen readers for users who cannot see the alert icon.\n * This property is optional but will be required in future versions of SKY UX.\n */\n @Input()\n public set descriptionType(value: SkyIndicatorDescriptionType | undefined) {\n this.#_descriptionType = value;\n this.#updateDescriptionComputed();\n }\n\n public get descriptionType(): SkyIndicatorDescriptionType | undefined {\n return this.#_descriptionType;\n }\n\n /**\n * The text to be read by screen readers for users who cannot see\n * the indicator icon when `descriptionType` is `custom`.\n */\n @Input()\n public set customDescription(value: string | undefined) {\n this.#_customDescription = value;\n this.#updateDescriptionComputed();\n }\n\n public get customDescription(): string | undefined {\n return this.#_customDescription;\n }\n\n /**\n * Fires when users close the alert.\n */\n @Output()\n public closedChange = new EventEmitter<boolean>();\n\n public iconName: string | undefined;\n\n public alertTypeOrDefault: SkyIndicatorIconType = ALERT_TYPE_DEFAULT;\n\n public descriptionComputed: string | undefined;\n\n #_descriptionType: SkyIndicatorDescriptionType | undefined;\n\n #_customDescription: string | undefined;\n\n #descriptionTypeResourceSubscription: Subscription | undefined;\n #descriptionTypeWarned: boolean | undefined;\n\n #resources = inject(SkyLibResourcesService);\n #logSvc = inject(SkyLogService);\n\n public ngOnInit(): void {\n this.#updateAlertIcon();\n }\n\n public ngAfterViewChecked(): void {\n if (!this.descriptionType && !this.#descriptionTypeWarned) {\n this.#logSvc.deprecated('SkyAlertComponent without `descriptionType`', {\n deprecationMajorVersion: 8,\n replacementRecommendation:\n 'Always specify a `descriptionType` property.',\n });\n\n this.#descriptionTypeWarned = true;\n }\n }\n\n public ngOnDestroy(): void {\n this.#unsubscribe();\n }\n\n public close(): void {\n this.closed = true;\n this.closedChange.emit(true);\n }\n\n #updateAlertIcon(): void {\n this.iconName = SkyIndicatorIconUtility.getIconNameForType(\n this.alertTypeOrDefault,\n );\n }\n\n #updateDescriptionComputed(): void {\n this.#unsubscribe();\n\n if (this.descriptionType) {\n switch (this.descriptionType) {\n case 'none':\n this.descriptionComputed = undefined;\n break;\n case 'custom':\n this.descriptionComputed = this.customDescription;\n break;\n default:\n this.#descriptionTypeResourceSubscription = this.#resources\n .getString(\n 'skyux_alert_sr_' + this.descriptionType.replace(/-/g, '_'),\n )\n .subscribe((value) => {\n this.descriptionComputed = value;\n });\n\n break;\n }\n } else {\n this.descriptionComputed = undefined;\n }\n }\n\n #unsubscribe(): void {\n if (this.#descriptionTypeResourceSubscription) {\n this.#descriptionTypeResourceSubscription.unsubscribe();\n this.#descriptionTypeResourceSubscription = undefined;\n }\n }\n}\n","<div\n class=\"sky-alert\"\n role=\"alert\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners': 'default',\n 'sky-box sky-elevation-1': 'modern'\n }\"\n [hidden]=\"closed\"\n [ngClass]=\"{\n 'sky-alert-info': alertTypeOrDefault === 'info',\n 'sky-alert-success': alertTypeOrDefault === 'success',\n 'sky-alert-warning': alertTypeOrDefault === 'warning',\n 'sky-alert-danger': alertTypeOrDefault === 'danger',\n 'sky-alert-closeable': closeable\n }\"\n>\n <div *skyThemeIf=\"'modern'\" aria-hidden=\"true\" class=\"sky-alert-icon\">\n <sky-icon iconSize=\"xxl\" variant=\"solid\" [iconName]=\"iconName\" />\n </div>\n <div *skyThemeIf=\"'default'\" aria-hidden=\"true\" class=\"sky-alert-icon\">\n <sky-icon variant=\"solid\" [iconName]=\"iconName\" />\n </div>\n @if (descriptionComputed) {\n <span class=\"sky-screen-reader-only\">\n {{ descriptionComputed }}\n </span>\n }\n <div class=\"sky-alert-content\">\n <ng-content />\n </div>\n <button\n class=\"sky-alert-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_alert_close' | skyLibResources\"\n [hidden]=\"!closeable\"\n (click)=\"close()\"\n >\n <span aria-hidden=\"true\">\n <sky-icon iconName=\"close\" />\n </span>\n </button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';\n\nimport { SkyAlertComponent } from './alert.component';\n\n@NgModule({\n declarations: [SkyAlertComponent],\n imports: [\n CommonModule,\n SkyIconModule,\n SkyIndicatorsResourcesModule,\n SkyThemeModule,\n ],\n exports: [SkyAlertComponent],\n})\nexport class SkyAlertModule {}\n","import { Component, Input } from '@angular/core';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\n/**\n * Displays a chevron icon.\n * @internal\n */\n@Component({\n selector: 'sky-expansion-indicator',\n styleUrls: ['./expansion-indicator.component.scss'],\n templateUrl: './expansion-indicator.component.html',\n hostDirectives: [SkyThemeComponentClassDirective],\n standalone: false,\n})\nexport class SkyExpansionIndicatorComponent {\n /**\n * The direction that the chevron points, which can be up or down.\n */\n @Input()\n public set direction(value: string | undefined) {\n /* istanbul ignore else */\n if (value !== this.directionOrDefault) {\n this.directionOrDefault = value ? value : 'up';\n }\n }\n\n public directionOrDefault = 'up';\n}\n","<div\n aria-hidden=\"true\"\n class=\"sky-expansion-indicator\"\n [ngClass]=\"['sky-expansion-indicator-' + directionOrDefault]\"\n>\n <span class=\"sky-expansion-indicator-glyph-container\">\n <i class=\"sky-expansion-indicator-part sky-expansion-indicator-left\"> </i>\n <i class=\"sky-expansion-indicator-part sky-expansion-indicator-right\"> </i>\n </span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyExpansionIndicatorComponent } from './expansion-indicator.component';\n\n@NgModule({\n declarations: [SkyExpansionIndicatorComponent],\n imports: [CommonModule, SkyThemeModule],\n exports: [SkyExpansionIndicatorComponent],\n})\nexport class SkyExpansionIndicatorModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\n/**\n * Creates an accessible button that wraps the chevron icon.\n * @internal\n */\n@Component({\n selector: 'sky-chevron',\n styleUrls: [\n './chevron.default.component.scss',\n './chevron.modern.component.scss',\n ],\n templateUrl: './chevron.component.html',\n hostDirectives: [SkyThemeComponentClassDirective],\n standalone: false,\n})\nexport class SkyChevronComponent {\n /**\n * The element whose contents are controlled by the chevron.\n * This sets the chevron's `aria-controls` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-controls` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-controls).\n */\n @Input()\n public ariaControls: string | undefined;\n\n /**\n * The ARIA label for the chevron. This sets the chevron's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * The direction that the chevron points, which can be up or down.\n */\n @Input()\n public set direction(value: string | undefined) {\n /* istanbul ignore else */\n if (value !== this.directionOrDefault) {\n this.directionOrDefault = value ? value : 'up';\n /* istanbul ignore else */\n if (this.directionOrDefault === 'up') {\n this.ariaExpanded = true;\n } else if (this.directionOrDefault === 'down') {\n this.ariaExpanded = false;\n }\n }\n }\n\n /**\n * Whether to disable the chevron button.\n */\n @Input()\n public disabled = false;\n\n /**\n * Fires when the direction of the chevron changes.\n */\n @Output()\n public directionChange = new EventEmitter<string>();\n\n public ariaExpanded = true;\n\n public directionOrDefault = 'up';\n\n public chevronClick(event: Event): void {\n event.stopPropagation();\n this.direction = this.directionOrDefault === 'up' ? 'down' : 'up';\n this.directionChange.emit(this.directionOrDefault);\n }\n\n public chevronKeyDown(event: KeyboardEvent): void {\n /* istanbul ignore else */\n if (event.key) {\n switch (event.key.toLowerCase()) {\n case ' ':\n case 'enter':\n this.direction = this.directionOrDefault === 'up' ? 'down' : 'up';\n this.directionChange.emit(this.directionOrDefault);\n event.preventDefault();\n event.stopPropagation();\n break;\n default:\n break;\n }\n }\n }\n}\n","<button\n class=\"sky-chevron\"\n type=\"button\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-label]=\"ariaLabel\"\n [disabled]=\"disabled\"\n [ngClass]=\"['sky-chevron-' + directionOrDefault]\"\n [skyThemeClass]=\"{\n 'sky-btn sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"chevronClick($event)\"\n (keydown)=\"chevronKeyDown($event)\"\n>\n <sky-expansion-indicator [direction]=\"directionOrDefault\" />\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyExpansionIndicatorModule } from '../expansion-indicator/expansion-indicator.module';\nimport { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';\n\nimport { SkyChevronComponent } from './chevron.component';\n\n/**\n * @internal\n */\n@NgModule({\n declarations: [SkyChevronComponent],\n imports: [\n CommonModule,\n SkyIndicatorsResourcesModule,\n SkyThemeModule,\n SkyExpansionIndicatorModule,\n ],\n exports: [SkyChevronComponent],\n})\nexport class SkyChevronModule {}\n","import { Injectable } from '@angular/core';\n\n/**\n * Resolves information about spot illustrations.\n */\n@Injectable()\nexport abstract class SkyIllustrationResolverService {\n /**\n * Resolves a URL for the specified illustration name.\n */\n public abstract resolveUrl(name: string): Promise<string>;\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n} from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\nimport { catchError, from, of, switchMap } from 'rxjs';\n\nimport { SkyIllustrationResolverService } from './illustration-resolver.service';\nimport { SkyIllustrationSize } from './illustration-size';\n\nconst pixelSizes: Record<SkyIllustrationSize, number> = {\n sm: 48,\n md: 64,\n lg: 80,\n xl: 96,\n};\n\n/**\n * Displays a spot illustration at the specified size.\n */\n@Component({\n selector: 'sky-illustration',\n imports: [CommonModule],\n templateUrl: './illustration.component.html',\n styleUrls: [\n './illustration.default.component.scss',\n './illustration.modern.component.scss',\n ],\n hostDirectives: [SkyThemeComponentClassDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyIllustrationComponent {\n readonly #resolverSvc = inject(SkyIllustrationResolverService, {\n optional: true,\n });\n\n /**\n * The name of the illustration to display.\n * @required\n */\n public readonly name = input.required<string>();\n\n /**\n * The size of the illustration.\n * @required\n */\n public readonly size = input.required<SkyIllustrationSize>();\n\n protected readonly url = toSignal(\n toObservable(this.name).pipe(\n switchMap((name) =>\n this.#resolverSvc ? from(this.#resolverSvc.resolveUrl(name)) : of(''),\n ),\n catchError(() => of('')),\n ),\n );\n\n protected readonly pixelSize = computed(() => pixelSizes[this.size()]);\n}\n","<img\n alt=\"\"\n class=\"sky-illustration-img\"\n loading=\"lazy\"\n [attr.data-sky-illustration-name]=\"name()\"\n [height]=\"pixelSize()\"\n [ngClass]=\"{\n 'sky-illustration-img-loaded': !!url()\n }\"\n [src]=\"url()\"\n [width]=\"pixelSize()\"\n/>\n","import { NgModule } from '@angular/core';\n\nimport { SkyIllustrationComponent } from './illustration.component';\n\n@NgModule({\n imports: [SkyIllustrationComponent],\n exports: [SkyIllustrationComponent],\n})\nexport class SkyIllustrationModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a label to display in smaller text under or beside the value.\n * To display a help button beside the label, include a help button element, such as `sky-help-inline`,\n * in the `sky-key-info` element and a `sky-control-help` CSS class on that help button element.\n * @required\n */\n@Component({\n selector: 'sky-key-info-label',\n template: '<span skyTrim><ng-content /></span>',\n standalone: false,\n})\nexport class SkyKeyInfoLabelComponent {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a value to display in larger, bold text.\n * @required\n */\n@Component({\n selector: 'sky-key-info-value',\n template: '<ng-content />',\n standalone: false,\n})\nexport class SkyKeyInfoValueComponent {}\n","import { Component, Input, TemplateRef } from '@angular/core';\n\nimport { SkyKeyInfoLayoutType } from './key-info-layout-type';\n\n@Component({\n selector: 'sky-key-info',\n templateUrl: './key-info.component.html',\n styleUrls: ['./key-info.component.scss'],\n standalone: false,\n})\nexport class SkyKeyInfoComponent {\n /**\n * A help key that identifies the global help content to display. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) button is\n * placed beside the key info. Clicking the button invokes global help as configured by the application.\n */\n @Input()\n public helpKey: string | undefined;\n\n /**\n * The content of the help popover. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the key info. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title.\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n\n /**\n * The layout for the key info. The vertical layout places the label under the\n * value, while the horizontal layout places the label beside the value.\n * @default \"vertical\"\n */\n @Input()\n public layout: SkyKeyInfoLayoutType | undefined = 'vertical';\n}\n","<div\n class=\"sky-key-info\"\n [ngClass]=\"{\n 'sky-key-info-horizontal': layout === 'horizontal'\n }\"\n>\n <div class=\"sky-key-info-value sky-font-display-3\">\n <ng-content select=\"sky-key-info-value\" />\n </div>\n <div class=\"sky-key-info-label sky-field-label sky-font-data-label\">\n <span #label=\"skyId\" skyId><ng-content select=\"sky-key-info-label\" /></span\n ><span class=\"sky-control-help-container\">\n @if (helpPopoverContent || helpKey) {\n <sky-help-inline\n [labelledBy]=\"label.id\"\n [helpKey]=\"helpKey\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n } @else {\n <ng-content select=\".sky-control-help\" />\n }\n </span>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule, SkyTrimModule } from '@skyux/core';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\n\nimport { SkyKeyInfoLabelComponent } from './key-info-label.component';\nimport { SkyKeyInfoValueComponent } from './key-info-value.component';\nimport { SkyKeyInfoComponent } from './key-info.component';\n\n@NgModule({\n declarations: [\n SkyKeyInfoComponent,\n SkyKeyInfoLabelComponent,\n SkyKeyInfoValueComponent,\n ],\n imports: [CommonModule, SkyTrimModule, SkyHelpInlineModule, SkyIdModule],\n exports: [\n SkyKeyInfoComponent,\n SkyKeyInfoLabelComponent,\n SkyKeyInfoValueComponent,\n ],\n})\nexport class SkyKeyInfoModule {}\n","import {\n AfterViewChecked,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit,\n inject,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Subscription } from 'rxjs/internal/Subscription';\n\nimport { SkyIndicatorDescriptionType } from '../shared/indicator-description-type';\nimport { SkyIndicatorIconUtility } from '../shared/indicator-icon-utility';\n\nimport { SkyLabelType } from './label-type';\n\nconst LABEL_TYPE_DEFAULT: SkyLabelType = 'info';\n\n@Component({\n selector: 'sky-label',\n templateUrl: './label.component.html',\n styleUrls: ['./label.component.scss'],\n standalone: false,\n})\nexport class SkyLabelComponent implements AfterViewChecked, OnDestroy, OnInit {\n /**\n * The type of label to display.\n * @default 'info'\n */\n @Input()\n public set labelType(value: SkyLabelType | undefined) {\n this.labelTypeOrDefault = value === undefined ? LABEL_TYPE_DEFAULT : value;\n\n this.#updateIcon();\n }\n\n /**\n * The predefined text to be read by screen readers for users who cannot see the indicator icon.\n * This property is optional but will be required in future versions of SKY UX.\n */\n @Input()\n public set descriptionType(value: SkyIndicatorDescriptionType | undefined) {\n this.#_descriptionType = value;\n this.#updateDescriptionComputed();\n }\n\n public get descriptionType(): SkyIndicatorDescriptionType | undefined {\n return this.#_descriptionType;\n }\n\n /**\n * The text to be read by screen readers for users who cannot see\n * the indicator icon when `descriptionType` is `custom`.\n */\n @Input()\n public set customDescription(value: string | undefined) {\n this.#_customDescription = value;\n this.#updateDescriptionComputed();\n }\n\n public get customDescription(): string | undefined {\n return this.#_customDescription;\n }\n\n public descriptionComputed: string | undefined;\n\n public iconName: string | undefined;\n\n public labelTypeOrDefault = LABEL_TYPE_DEFAULT;\n\n #_descriptionType: SkyIndicatorDescriptionType | undefined;\n #_customDescription: string | undefined;\n\n #descriptionTypeResourceSubscription: Subscription | undefined;\n #descriptionTypeWarned: boolean | undefined;\n\n #changeDetector = inject(ChangeDetectorRef);\n #resources = inject(SkyLibResourcesService);\n #logSvc = inject(SkyLogService);\n\n public ngOnInit(): void {\n this.#updateIcon();\n }\n\n public ngAfterViewChecked(): void {\n if (!this.descriptionType && !this.#descriptionTypeWarned) {\n this.#logSvc.deprecated('SkyLabelComponent without `descriptionType`', {\n deprecationMajorVersion: 8,\n replacementRecommendation:\n 'Always specify a `descriptionType` property.',\n });\n\n this.#descriptionTypeWarned = true;\n }\n }\n\n public ngOnDestroy(): void {\n this.#unsubscribe();\n }\n\n #updateIcon(): void {\n this.iconName = SkyIndicatorIconUtility.getIconNameForType(\n this.labelTypeOrDefault,\n );\n }\n\n #updateDescriptionComputed(): void {\n this.#unsubscribe();\n\n if (this.descriptionType) {\n switch (this.descriptionType) {\n case 'none':\n this.descriptionComputed = undefined;\n break;\n case 'custom':\n this.descriptionComputed = this.customDescription;\n break;\n default:\n this.#descriptionTypeResourceSubscription = this.#resources\n .getString(\n 'skyux_label_sr_' + this.descriptionType.replace(/-/g, '_'),\n )\n .subscribe((value) => {\n this.descriptionComputed = value;\n this.#changeDetector.markForCheck();\n });\n\n break;\n }\n } else {\n this.descriptionComputed = undefined;\n }\n }\n\n #unsubscribe(): void {\n if (this.#descriptionTypeResourceSubscription) {\n this.#descriptionTypeResourceSubscription.unsubscribe();\n this.#descriptionTypeResourceSubscription = undefined;\n }\n }\n}\n","<span class=\"sky-label\" [ngClass]=\"'sky-label-' + labelTypeOrDefault\">\n <span class=\"sky-label-icon\">\n <sky-icon variant=\"solid\" [iconName]=\"iconName\" />\n </span>\n @if (descriptionComputed) {\n <span class=\"sky-screen-reader-only\">\n {{ descriptionComputed }}\n </span>\n }\n <span class=\"sky-label-text\">\n <ng-content />\n </span>\n</span>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';\n\nimport { SkyLabelComponent } from './label.component';\n\n@NgModule({\n declarations: [SkyLabelComponent],\n imports: [\n CommonModule,\n SkyIconModule,\n SkyIndicatorsResourcesModule,\n SkyThemeModule,\n ],\n exports: [SkyLabelComponent],\n})\nexport class SkyLabelModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n TemplateRef,\n inject,\n} from '@angular/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { SkyIndicatorDescriptionType } from '../shared/indicator-description-type';\nimport { SkyIndicatorIconType } from '../shared/indicator-icon-type';\nimport { SkyIndicatorIconUtility } from '../shared/indicator-icon-utility';\n\nconst INDICATOR_TYPE_DEFAULT: SkyIndicatorIconType = 'warning';\n/**\n * Displays status text with an icon matching the specified indicator type.\n * To display a help button beside the label, include a help button element, such as\n * `sky-help-inline`, in the `sky-status-indicator` element and a `sky-control-help`\n * CSS class on that help button element.\n */\n@Component({\n selector: 'sky-status-indicator',\n templateUrl: './status-indicator.component.html',\n styleUrls: ['./status-indicator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyStatusIndicatorComponent implements OnInit {\n /**\n * The style for the status indicator, which determines the icon.\n * @default \"warning\"\n */\n @Input()\n public set indicatorType(value: SkyIndicatorIconType) {\n this.indicatorTypeOrDefault =\n value === undefined ? INDICATOR_TYPE_DEFAULT : value;\n\n this.#updateIcon();\n }\n\n /**\n * The predefined text to be read by screen readers for users who\n * cannot see the indicator icon.\n * @required\n */\n @Input()\n public set descriptionType(value: SkyIndicatorDescriptionType | undefined) {\n this.#_descriptionType = value;\n this.#updateDescriptionComputed();\n }\n\n public get descriptionType(): SkyIndicatorDescriptionType | undefined {\n return this.#_descriptionType;\n }\n\n /**\n * The text to be read by screen readers for users who cannot see\n * the indicator icon when `descriptionType` is `custom`.\n */\n @Input()\n public set customDescription(value: string | undefined) {\n this.#_customDescription = value;\n this.#updateDescriptionComputed();\n }\n\n public get customDescription(): string | undefined {\n return this.#_customDescription;\n }\n\n /**\n * The content of the help popover. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the status indicator. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title.\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n\n /**\n * A help key that identifies the global help content to display. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) button is\n * placed beside the status indicator label. Clicking the button invokes global help as configured by the application.\n */\n @Input()\n public helpKey: string | undefined;\n\n public descriptionComputed: string | undefined;\n\n public iconName: string | undefined;\n\n public indicatorTypeOrDefault: SkyIndicatorIconType = INDICATOR_TYPE_DEFAULT;\n\n #changeDetector = inject(ChangeDetectorRef);\n #resourcesSvc = inject(SkyLibResourcesService);\n\n #_descriptionType: SkyIndicatorDescriptionType | undefined;\n #_customDescription: string | undefined;\n\n public ngOnInit(): void {\n this.#updateIcon();\n }\n\n #updateIcon(): void {\n this.iconName = SkyIndicatorIconUtility.getIconNameForType(\n this.indicatorTypeOrDefault,\n );\n }\n\n #updateDescriptionComputed(): void {\n if (this.descriptionType) {\n switch (this.descriptionType) {\n case 'none':\n this.descriptionComputed = '';\n break;\n case 'custom':\n this.descriptionComputed = this.customDescription;\n break;\n default:\n this.#resourcesSvc\n .getString(\n 'skyux_status_indicator_sr_' +\n this.descriptionType.replace(/-/g, '_'),\n )\n .subscribe((value) => {\n this.descriptionComputed = value;\n this.#changeDetector.markForCheck();\n });\n\n break;\n }\n } else {\n this.descriptionComputed = undefined;\n }\n }\n}\n","@if (descriptionType) {\n <div class=\"sky-status-indicator\">\n <div\n aria-hidden=\"true\"\n class=\"sky-status-indicator-icon\"\n [ngClass]=\"'sky-status-indicator-icon-' + indicatorTypeOrDefault\"\n >\n <sky-icon variant=\"solid\" [iconName]=\"iconName\" />\n </div>\n <div class=\"sky-status-indicator-message-wrapper\">\n @if (descriptionComputed) {\n <span class=\"sky-screen-reader-only\">\n {{ descriptionComputed }}\n </span>\n }\n <span #message=\"skyId\" skyId class=\"sky-status-indicator-message\" skyTrim\n ><ng-content /></span\n ><span class=\"sky-control-help-container\">\n @if (helpPopoverContent || helpKey) {\n <sky-help-inline\n [labelledBy]=\"message.id\"\n [helpKey]=\"helpKey\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n } @else {\n <ng-content select=\".sky-control-help\" />\n }\n </span>\n </div>\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule, SkyTrimModule } from '@skyux/core';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';\n\nimport { SkyStatusIndicatorComponent } from './status-indicator.component';\n\n@NgModule({\n declarations: [SkyStatusIndicatorComponent],\n imports: [\n CommonModule,\n SkyHelpInlineModule,\n SkyIconModule,\n SkyIdModule,\n SkyIndicatorsResourcesModule,\n SkyThemeModule,\n SkyTrimModule,\n ],\n exports: [SkyStatusIndicatorComponent],\n})\nexport class SkyStatusIndicatorModule {}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n inject,\n} from '@angular/core';\nimport { SkyMutationObserverService } from '@skyux/core';\n\nconst CLASS_NAME = 'sky-highlight-mark';\nconst SPECIAL_CHAR_REGEX = /[-/\\\\^$*+?.()|[\\]{}]/g;\n\nfunction markNode(node: Text, searchRegex: RegExp): number {\n // The search regular expression is reused across calls to markNode(), so reset\n // it so it searches from the start of the string each time.\n searchRegex.lastIndex = 0;\n\n const text = node.nodeValue;\n\n if (text) {\n const match = searchRegex.exec(text);\n\n if (match) {\n // Split apart text node with mark tags in the middle on the search term.\n const matchIndex = match.index;\n\n const middle = node.splitText(matchIndex);\n middle.splitText(searchRegex.lastIndex - matchIndex);\n const middleClone = middle.cloneNode(true);\n\n const markNode = document.createElement('mark');\n markNode.className = CLASS_NAME;\n markNode.appendChild(middleClone);\n\n /* istanbul ignore else */\n if (middle.parentNode) {\n middle.parentNode.replaceChild(markNode, middle);\n }\n\n return 1;\n }\n }\n\n return 0;\n}\n\nfunction markTextNodes(node: Node, searchRegex: RegExp): number {\n if (node.nodeType === 3) {\n return markNode(node as Text, searchRegex);\n } else if (node.nodeType === 1 && node.childNodes) {\n for (let i = 0; i < node.childNodes.length; i++) {\n const childNode = node.childNodes[i];\n i += markTextNodes(childNode, searchRegex);\n }\n }\n\n return 0;\n}\n\nfunction removeHighlight(el: ElementRef): void {\n const matchedElements = Array.from(\n (el.nativeElement as Element).querySelectorAll(`mark.${CLASS_NAME}`),\n );\n\n if (matchedElements) {\n for (const node of matchedElements) {\n const parentNode = node.parentNode;\n\n if (parentNode && node.firstChild) {\n parentNode.replaceChild(node.firstChild, node);\n parentNode.normalize();\n }\n }\n }\n}\n\nfunction createSearchRegex(searchTerms: string[]): RegExp | undefined {\n let searchRegex: RegExp | undefined;\n\n if (searchTerms.length > 0) {\n // Escape all the special regular expression characters by adding a\n // preceding '\\' to each match.\n searchTerms = searchTerms.map((searchTerm) =>\n searchTerm.replace(SPECIAL_CHAR_REGEX, '\\\\$&'),\n );\n\n searchRegex = new RegExp(searchTerms.join('|'), 'gi');\n }\n\n return searchRegex;\n}\n\n/**\n * Highlights all matching text within the current DOM element.\n */\n@Directive({\n selector: '[skyHighlight]',\n standalone: true,\n})\nexport class SkyTextHighlightDirective\n implements OnChanges, AfterViewInit, OnDestroy\n{\n /**\n * The text to highlight.\n */\n @Input()\n public set skyHighlight(value: string | string[] | undefined) {\n value = value || [];\n\n if (Array.isArray(value)) {\n this.#searchTerms = value.filter((item) => !!item);\n // Reorder strings by their length in descending order to avoid missing matches\n // that contain substrings of other matches.\n this.#searchTerms.sort(function (a, b) {\n return b.length - a.length;\n });\n } else {\n this.#searchTerms = [value as string];\n }\n }\n\n @HostBinding('attr.skyHighlight') public readonly highlight = true;\n\n #existingHighlight = false;\n\n #observer: MutationObserver | undefined;\n\n #searchTerms: string[] = [];\n\n #el = inject(ElementRef);\n #observerSvc = inject(SkyMutationObserverService);\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes['skyHighlight'] && !changes['skyHighlight'].firstChange) {\n this.#highlight();\n }\n }\n\n public ngAfterViewInit(): void {\n this.#observer = this.#observerSvc.create(() => {\n this.#highlight();\n });\n\n this.#highlight();\n }\n\n public ngOnDestroy(): void {\n this.#disconnectObserver();\n }\n\n #disconnectObserver(): void {\n if (this.#observer) {\n this.#observer.disconnect();\n }\n }\n\n #highlight(): void {\n this.#disconnectObserver();\n\n if (this.#existingHighlight) {\n removeHighlight(this.#el);\n }\n\n const node = this.#el.nativeElement;\n\n if (node) {\n const searchRegex = createSearchRegex(this.#searchTerms);\n\n // mark all matched text in the DOM\n if (searchRegex) {\n markTextNodes(node, searchRegex);\n this.#existingHighlight = true;\n }\n }\n\n this.#observeDom();\n }\n\n #observeDom(): void {\n if (this.#observer) {\n const config = {\n attributes: false,\n childList: true,\n characterData: true,\n subtree: true,\n };\n\n this.#observer.observe(this.#el.nativeElement, config);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyMutationObserverService } from '@skyux/core';\n\nimport { SkyTextHighlightDirective } from './text-highlight.directive';\n\n@NgModule({\n imports: [SkyTextHighlightDirective],\n exports: [SkyTextHighlightDirective],\n providers: [SkyMutationObserverService],\n})\nexport class SkyTextHighlightModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { SkyLiveAnnouncerService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { take } from 'rxjs';\n\n@Component({\n selector: 'sky-token',\n templateUrl: './token.component.html',\n styleUrls: ['./token.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyTokenComponent {\n /**\n * Whether to disable the token to prevent users from selecting it, dismissing it,\n * or navigating to it with the arrow keys. When the token is disabled,\n * users can still place focus on it using the `Tab` key.\n * @default false\n */\n @Input()\n public set disabled(value: boolean | undefined) {\n this.#_disabled = !!value;\n }\n\n public get disabled(): boolean {\n return this.#_disabled;\n }\n\n /**\n * The ARIA label for the token's close button. This sets the button's `aria-label` to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n * @default \"Remove item\"\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Whether users can remove the token from the list by selecting the close button.\n * @default true\n */\n @Input()\n public set dismissible(value: boolean | undefined) {\n this.#_dismissible = value !== false;\n }\n\n public get dismissible(): boolean {\n return this.#_dismissible;\n }\n\n /**\n * Whether users can place focus on the token using the `Tab`. This does not\n * affect the ability to select the token, dismiss it, or navigate to it with the arrow keys.\n * @default true\n */\n @Input()\n public set focusable(value: boolean | undefined) {\n this.tabIndex = value !== false ? 0 : -1;\n }\n\n /**\n * Used by the tokens component to set the appropriate role for each token.\n * @internal\n */\n @Input()\n public role: string | undefined;\n\n /**\n * Fires when users click the close button.\n */\n @Output()\n public dismiss = new EventEmitter<void>();\n\n /**\n * Fires when users place focus on the token by navigating to it with the `Tab` key.\n */\n @Output()\n public tokenFocus = new EventEmitter<void>();\n\n @ViewChild('actionButton', { read: ElementRef, static: true })\n public actionButtonRef: ElementRef | undefined;\n\n public isFocused = false;\n public tokenActive = false;\n public closeActive = false;\n public tabIndex = 0;\n\n #elementRef = inject(ElementRef);\n\n readonly #liveAnnouncerSvc = inject(SkyLiveAnnouncerService);\n readonly #resourcesSvc = inject(SkyLibResourcesService);\n\n #_disabled = false;\n #_dismissible = true;\n\n protected onFocusIn(): void {\n if (!this.isFocused) {\n this.tokenFocus.emit();\n this.isFocused = true;\n }\n }\n\n protected onFocusOut(event: FocusEvent): void {\n this.isFocused = this.#elementRef.nativeElement.contains(\n event.relatedTarget,\n );\n }\n\n public dismissToken(event: Event): void {\n event.stopPropagation();\n this.#announceState(\n 'skyux_tokens_token_dismissed',\n this.actionButtonRef?.nativeElement.textContent.trim(),\n );\n this.dismiss.emit();\n }\n\n public focusElement(): void {\n this.actionButtonRef?.nativeElement.focus();\n }\n\n public setTokenActive(tokenActive: boolean): void {\n this.tokenActive = tokenActive;\n }\n\n public setCloseActive(closeActive: boolean): void {\n this.closeActive = closeActive;\n }\n\n #announceState(resourceString: string, ...args: any[]): void {\n this.#resourcesSvc\n .getString(resourceString, ...args)\n .pipe(take(1))\n .subscribe((internationalizedString) => {\n this.#liveAnnouncerSvc.announce(internationalizedString);\n });\n }\n}\n","<div\n class=\"sky-token sky-btn sky-btn-default\"\n [attr.role]=\"role\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-disabled': disabled,\n 'sky-token-dismissible': dismissible,\n 'sky-token-active': tokenActive && !closeActive,\n 'sky-token-focused': isFocused\n }\"\n (document:mouseup)=\"setTokenActive(false)\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n (mousedown)=\"setTokenActive(true)\"\n>\n <span\n class=\"sky-token-cell\"\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n >\n <button\n #actionButton=\"skyId\"\n class=\"sky-btn sky-btn-default sky-token-btn sky-token-btn-action\"\n type=\"button\"\n skyId\n [attr.tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled\n }\"\n >\n <ng-content />\n </button>\n </span>\n @if (dismissible) {\n <span\n class=\"sky-token-cell\"\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n >\n <button\n class=\"sky-btn sky-token-btn sky-token-btn-close\"\n type=\"button\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"\n !ariaLabel\n ? screenReaderLabelDismiss.id + ' ' + actionButton.id\n : undefined\n \"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-btn-close-active': closeActive\n }\"\n (click)=\"dismissToken($event)\"\n (document:mouseup)=\"setCloseActive(false)\"\n (mousedown)=\"setCloseActive(true)\"\n >\n <sky-icon\n class=\"sky-token-btn-close-icon\"\n iconName=\"close\"\n iconSize=\"s\"\n />\n </button>\n </span>\n }\n</div>\n<span\n #screenReaderLabelDismiss=\"skyId\"\n skyScreenReaderLabel\n skyId\n [createLabel]=\"dismissible && !ariaLabel\"\n>\n {{ 'skyux_tokens_dismiss_button_default_label' | skyLibResources }}\n</span>\n","export enum SkyTokensMessageType {\n /**\n * Places focus on the last token in the list.\n */\n FocusLastToken = 0,\n\n /**\n * Places focus on the token that is currently selected.\n */\n FocusActiveToken = 1,\n\n /**\n * Places focus on the token before the currently selected token.\n */\n FocusPreviousToken = 2,\n\n /**\n * Places focus on the token after the currently selected token.\n */\n FocusNextToken = 3,\n\n /**\n * Removes the token that is currently selected from the list of tokens.\n */\n RemoveActiveToken = 4,\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n TrackByFunction,\n ViewChildren,\n inject,\n} from '@angular/core';\n\nimport { Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyTokenComponent } from './token.component';\nimport { SkyToken } from './types/token';\nimport { SkyTokenSelectedEventArgs } from './types/token-selected-event-args';\nimport { SkyTokensMessage } from './types/tokens-message';\nimport { SkyTokensMessageType } from './types/tokens-message-type';\n\nconst DISPLAY_WITH_DEFAULT = 'name';\n\n/**\n * Creates a container that enables navigation between tokens using keyboard arrow keys.\n * This is useful when combined with other components where the <kbd>Tab</kbd> key is\n * reserved for other functions, such as the SKY UX Lookup component.\n */\n@Component({\n selector: 'sky-tokens',\n templateUrl: './tokens.component.html',\n styleUrls: ['./tokens.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('blockAnimationOnLoad', [transition(':enter', [])]),\n trigger('dismiss', [\n transition(':enter', [\n style({\n opacity: 0,\n width: 0,\n }),\n animate(\n '150ms ease-in',\n style({\n opacity: 1,\n width: '*',\n }),\n ),\n ]),\n transition(':leave', [\n animate(\n '150ms ease-in',\n style({\n opacity: 0,\n width: 0,\n }),\n ),\n ]),\n ]),\n ],\n standalone: false,\n})\nexport class SkyTokensComponent implements OnDestroy {\n /**\n * Whether to disable the tokens list to prevent users from selecting tokens,\n * dismissing tokens, or navigating through the list with the arrow keys. When the tokens list\n * is disabled, users can still place focus on items in the list using the `Tab` key.\n * @default false\n */\n @Input()\n public set disabled(value: boolean | undefined) {\n this.#_disabled = !!value;\n }\n\n public get disabled(): boolean {\n return this.#_disabled;\n }\n\n /**\n * Whether users can remove a token from the list by selecting a token's close button.\n * @default true\n */\n @Input()\n public set dismissible(value: boolean | undefined) {\n this.#_dismissible = value !== false;\n }\n\n public get dismissible(): boolean {\n return this.#_dismissible;\n }\n\n /**\n * The token property to display for each item in the tokens list.\n * @default \"name\"\n */\n @Input()\n public set displayWith(value: string | undefined) {\n this.#_displayWith = value || DISPLAY_WITH_DEFAULT;\n }\n\n public get displayWith(): string {\n return this.#_displayWith;\n }\n\n /**\n * The token property that represents the token's unique identifier. When this property\n * is set, animations are enabled when dismissing tokens.\n */\n @Input()\n public trackWith: string | undefined;\n\n /**\n * Whether users can place focus on tokens in the list using the `Tab` key.\n * This does not affect the ability of users to select tokens, dismiss tokens,\n * or navigate through the list with the arrow keys.\n * @default true\n */\n @Input()\n public set focusable(value: boolean | undefined) {\n this.#_focusable = value !== false;\n }\n\n public get focusable(): boolean {\n return this.#_focusable;\n }\n\n /**\n * The array of tokens to include in the list.\n */\n @Input()\n public set tokens(value: SkyToken[] | undefined) {\n this.#_tokens = value || [];\n // The previous behavior was to set `this._tokens = value`, then emit `this._tokens`,\n // which would emit `undefined` instead of a default value of `[]` returned by the\n // get accessor when set to `undefined`. Emitting `value` instead of `this.#_tokensOrDefault`\n // preserves that behavior.\n this.tokensChange.emit(value);\n }\n\n public get tokens(): SkyToken[] {\n return this.#_tokens;\n }\n\n /**\n * The observable of `SkyTokensMessage` that can place focus on a\n * particular token or remove the active token from the list.\n */\n @Input()\n public set messageStream(value: Subject<SkyTokensMessage> | undefined) {\n this.#_messageStream = value || new Subject<SkyTokensMessage>();\n this.#initMessageStream();\n }\n\n public get messageStream(): Subject<SkyTokensMessage> {\n return this.#_messageStream;\n }\n\n /**\n * Fires when users navigate through the tokens list with the `Tab` key\n * and attempt to move past the final token in the list.\n */\n @Output()\n public focusIndexOverRange = new EventEmitter<void>();\n\n /**\n * Fires when users navigate through the tokens list with the `Tab` key\n * and attempt to move before the first token in the list.\n */\n @Output()\n public focusIndexUnderRange = new EventEmitter<void>();\n\n /**\n * Fires when users select a token in the list. This event emits the selected token.\n */\n @Output()\n public tokenSelected = new EventEmitter<SkyTokenSelectedEventArgs>();\n\n /**\n * Fires when the tokens in the list change.\n * This event emits an array of the tokens in the updated list.\n */\n @Output()\n public tokensChange = new EventEmitter<SkyToken[]>();\n\n /**\n * Fires when all animations on the tokens are complete.\n * @internal\n */\n @Output()\n public tokensRendered = new EventEmitter<void>();\n\n public get activeIndex(): number {\n return this.#_activeIndex;\n }\n\n public set activeIndex(value: number) {\n if (value >= this.#_tokens.length) {\n value = this.#_tokens.length - 1;\n this.focusIndexOverRange.emit();\n }\n\n if (value < 0) {\n value = 0;\n this.focusIndexUnderRange.emit();\n }\n\n this.#_activeIndex = value || 0;\n }\n\n public trackTokenFn: TrackByFunction<SkyToken>;\n\n #_disabled = false;\n #_dismissible = true;\n #_focusable = true;\n #_tokens: SkyToken[] = [];\n #_displayWith = DISPLAY_WITH_DEFAULT;\n\n @ViewChildren(SkyTokenComponent)\n public tokenComponents: QueryList<SkyTokenComponent> | undefined;\n\n #messageStreamSub: Subscription | undefined;\n #ngUnsubscribe = new Subject<void>();\n\n #changeDetector = inject(ChangeDetectorRef);\n\n #_activeIndex = 0;\n #_messageStream = new Subject<SkyTokensMessage>();\n\n constructor() {\n this.#initMessageStream();\n\n // Angular calls the trackBy function without applying the component instance's scope.\n // Use a fat-arrow function so the current component instance's trackWith property can\n // be referenced.\n this.trackTokenFn = (_index, item): unknown => {\n if (this.trackWith) {\n return item.value[this.trackWith];\n }\n\n return item;\n };\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onTokenClick(token: SkyToken): void {\n if (this.disabled) {\n return;\n }\n\n this.#notifyTokenSelected(token);\n }\n\n public animationDone(): void {\n this.tokensRendered.emit();\n }\n\n public onTokenKeyDown(event: KeyboardEvent): void {\n if (!this.disabled) {\n switch (event.key) {\n case 'Left':\n case 'ArrowLeft':\n this.#_messageStream.next({\n type: SkyTokensMessageType.FocusPreviousToken,\n });\n event.preventDefault();\n break;\n\n case 'Right':\n case 'ArrowRight':\n this.#_messageStream.next({\n type: SkyTokensMessageType.FocusNextToken,\n });\n event.preventDefault();\n break;\n }\n }\n }\n\n public selectToken(token: SkyToken): void {\n if (!this.disabled) {\n this.#notifyTokenSelected(token);\n }\n }\n\n public removeToken(token: SkyToken): void {\n this.tokens = this.tokens.filter((t) => t !== token);\n this.#changeDetector.detectChanges();\n }\n\n #focusPreviousToken(): void {\n this.activeIndex--;\n this.#focusActiveToken();\n }\n\n #focusNextToken(): void {\n this.activeIndex++;\n this.#focusActiveToken();\n }\n\n #focusLastToken(): void {\n if (this.tokenComponents) {\n this.activeIndex = this.tokenComponents.length - 1;\n this.#focusActiveToken();\n }\n }\n\n #focusActiveToken(): void {\n if (this.tokenComponents) {\n const tokenComponent = this.tokenComponents.find(\n (_comp: SkyTokenComponent, i: number) => {\n return this.activeIndex === i;\n },\n );\n\n if (tokenComponent) {\n tokenComponent.focusElement();\n }\n }\n }\n\n #removeActiveToken(): void {\n const token = this.tokens[this.activeIndex];\n if (token) {\n this.removeToken(token);\n }\n }\n\n #initMessageStream(): void {\n if (this.#messageStreamSub) {\n this.#messageStreamSub.unsubscribe();\n }\n\n this.#messageStreamSub = this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyTokensMessage) => {\n switch (message.type) {\n case SkyTokensMessageType.FocusLastToken:\n this.#focusLastToken();\n break;\n\n case SkyTokensMessageType.FocusActiveToken:\n this.#focusActiveToken();\n break;\n\n case SkyTokensMessageType.FocusPreviousToken:\n this.#focusPreviousToken();\n break;\n\n case SkyTokensMessageType.FocusNextToken:\n this.#focusNextToken();\n break;\n\n case SkyTokensMessageType.RemoveActiveToken:\n this.#removeActiveToken();\n break;\n }\n });\n }\n\n #notifyTokenSelected(token: SkyToken): void {\n this.tokenSelected.emit({\n token,\n });\n }\n}\n","<div\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens.length ? 'grid' : null\"\n>\n <!--\n The role must use square brackets otherwise Angular sets the native 'role'\n attribute as well as the input attribute of the token, which fails accessibility rules.\n -->\n @for (token of tokens; track trackTokenFn(i, token); let i = $index) {\n <sky-token\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n [role]=\"'row'\"\n (@dismiss.done)=\"animationDone()\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n }\n <div class=\"sky-tokens-content\" [attr.role]=\"tokens.length ? 'row' : null\">\n <div [attr.role]=\"tokens.length ? 'gridcell' : null\">\n <ng-content />\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule, SkyScreenReaderLabelDirective } from '@skyux/core';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';\n\nimport { SkyTokenComponent } from './token.component';\nimport { SkyTokensComponent } from './tokens.component';\n\n@NgModule({\n declarations: [SkyTokenComponent, SkyTokensComponent],\n imports: [\n CommonModule,\n SkyIconModule,\n SkyIndicatorsResourcesModule,\n SkyIdModule,\n SkyScreenReaderLabelDirective,\n ],\n exports: [SkyTokenComponent, SkyTokensComponent],\n})\nexport class SkyTokensModule {}\n","import {\n ElementRef,\n Injectable,\n OnDestroy,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\n\nconst busyElements: Record<\n string,\n {\n busyEl: HTMLElement | undefined;\n listener: () => void;\n restoreFocusElement?: HTMLElement | undefined;\n restoreFocusCheckElement?: HTMLElement | undefined;\n }\n> = {};\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyWaitAdapterService implements OnDestroy {\n public static isPageWaitActive = false;\n\n #focusableElements: HTMLElement[] | undefined;\n #renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public ngOnDestroy(): void {\n this.#clearListeners();\n }\n\n public setWaitBounds(waitEl: ElementRef): void {\n this.#renderer.addClass(\n waitEl.nativeElement.parentElement,\n 'sky-wait-element-active',\n );\n }\n\n public removeWaitBounds(waitEl: ElementRef): void {\n this.#renderer.removeClass(\n waitEl.nativeElement.parentElement,\n 'sky-wait-element-active',\n );\n }\n\n public setBusyState(\n waitEl: ElementRef,\n isFullPage: boolean,\n isWaiting: boolean,\n isNonBlocking: boolean,\n waitComponentId?: string,\n ): void {\n const busyEl = isFullPage\n ? document.body\n : waitEl.nativeElement.parentElement;\n\n if (!isNonBlocking) {\n if (isWaiting) {\n let restoreFocusElement: HTMLElement | undefined = undefined;\n let restoreFocusCheckElement: HTMLElement | undefined = undefined;\n this.#renderer.setAttribute(busyEl, 'aria-busy', 'true');\n\n // Remove focus from page when full page blocking wait\n if (isFullPage || busyEl.contains(document.activeElement)) {\n if (document.activeElement !== document.body) {\n restoreFocusElement = document.activeElement as HTMLElement;\n }\n this.#clearDocumentFocus();\n restoreFocusCheckElement = document.activeElement as HTMLElement;\n }\n\n if (isFullPage) {\n SkyWaitAdapterService.isPageWaitActive = true;\n const endListenerFunc = this.#renderer.listen(\n document.body,\n 'keydown',\n (event: KeyboardEvent) => {\n /*istanbul ignore else */\n if (event.key) {\n /* istanbul ignore else */\n if (event.key.toLowerCase() === 'tab') {\n (event.target as HTMLElement).blur();\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n this.#clearDocumentFocus();\n }\n }\n },\n );\n\n if (waitComponentId) {\n busyElements[waitComponentId] = {\n listener: endListenerFunc,\n busyEl: undefined,\n restoreFocusElement,\n restoreFocusCheckElement,\n };\n }\n } else {\n const endListenerFunc = this.#renderer.listen(\n busyEl,\n 'focusin',\n (event: KeyboardEvent) => {\n /* istanbul ignore else */\n if (!isNonBlocking) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n\n if (SkyWaitAdapterService.isPageWaitActive) {\n this.#clearDocumentFocus();\n } else {\n // Propagate tab navigation if attempted into waited element\n const target = event.target as HTMLElement;\n\n if (target) {\n target.blur();\n this.#focusNextElement(target, this.#isShift(event));\n }\n }\n }\n },\n );\n\n if (waitComponentId) {\n busyElements[waitComponentId] = {\n listener: endListenerFunc,\n busyEl,\n restoreFocusElement,\n restoreFocusCheckElement,\n };\n }\n }\n } else {\n this.#renderer.removeAttribute(busyEl, 'aria-busy');\n\n if (isFullPage) {\n SkyWaitAdapterService.isPageWaitActive = false;\n }\n\n if (waitComponentId && waitComponentId in busyElements) {\n const busyElement = busyElements[waitComponentId];\n\n busyElement.listener();\n\n // If there is a restore focus element and the focus has not moved, restore focus.\n if (busyElement.restoreFocusCheckElement === document.activeElement) {\n busyElement.restoreFocusElement?.focus();\n }\n\n delete busyElements[waitComponentId];\n }\n }\n }\n }\n\n #focusNextElement(targetElement: HTMLElement, shiftKey: boolean): void {\n const focusable = this.#getFocusableElements();\n\n // If shift tab, go in the other direction\n const modifier = shiftKey ? -1 : 1;\n\n // Find the next navigable element that isn't waiting\n const startingIndex = focusable.indexOf(targetElement);\n let curIndex = startingIndex + modifier;\n while (\n focusable[curIndex] &&\n this.#isElementBusyOrHidden(focusable[curIndex])\n ) {\n curIndex += modifier;\n }\n\n if (\n focusable[curIndex] &&\n !this.#isElementBusyOrHidden(focusable[curIndex])\n ) {\n focusable[curIndex].focus();\n } else {\n // Try wrapping the navigation\n /* istanbul ignore next */\n /* sanity check */\n curIndex = modifier > 0 ? 0 : focusable.length - 1;\n while (\n curIndex !== startingIndex &&\n focusable[curIndex] &&\n this.#isElementBusyOrHidden(focusable[curIndex])\n ) {\n /* istanbul ignore next */\n /* sanity check */\n curIndex += modifier;\n }\n\n /* istanbul ignore else */\n /* sanity check */\n if (\n focusable[curIndex] &&\n !this.#isElementBusyOrHidden(focusable[curIndex])\n ) {\n focusable[curIndex].focus();\n } else {\n // No valid target, wipe focus\n this.#clearDocumentFocus();\n }\n }\n\n // clear focusableElements list\n this.#focusableElements = undefined;\n }\n\n #isShift(event: Event): boolean {\n // Determine if shift+tab was used based on element order\n const elements = this.#getFocusableElements().filter(\n (elem) => !this.#isElementHidden(elem),\n );\n\n const previousInd = elements.indexOf((event as any).relatedTarget);\n const currentInd = elements.indexOf(event.target as HTMLElement);\n\n return (\n previousInd === currentInd + 1 ||\n (previousInd === 0 && currentInd === elements.length - 1) ||\n previousInd > currentInd ||\n !(event as any).relatedTarget\n );\n }\n\n #isElementHidden(element: HTMLElement): boolean {\n const style = window.getComputedStyle(element);\n return style.display === 'none' || style.visibility === 'hidden';\n }\n\n #isElementBusyOrHidden(element: HTMLElement): boolean {\n if (this.#isElementHidden(element)) {\n return true;\n }\n\n for (const key of Object.keys(busyElements)) {\n const parentElement = busyElements[key].busyEl;\n if (parentElement && parentElement.contains(element)) {\n return true;\n }\n }\n return false;\n }\n\n #clearDocumentFocus(): void {\n const activeElement = document.activeElement as HTMLElement;\n\n /* istanbul ignore else */\n if (activeElement) {\n activeElement.blur();\n }\n\n document.body.focus();\n }\n\n #getFocusableElements(): HTMLElement[] {\n // Keep this cached so we can reduce queries\n if (this.#focusableElements) {\n return this.#focusableElements;\n }\n\n // Select all possible focusable elements\n const focusableElements =\n 'a[href], ' +\n 'area[href], ' +\n \"input:not([disabled]):not([tabindex='-1']), \" +\n \"button:not([disabled]):not([tabindex='-1']), \" +\n \"select:not([disabled]):not([tabindex='-1']), \" +\n \"textarea:not([disabled]):not([tabindex='-1']), \" +\n 'iframe, object, embed, ' +\n \"*[tabindex]:not([tabindex='-1']), \" +\n '*[contenteditable=true]';\n\n this.#focusableElements = Array.prototype.filter.call(\n document.body.querySelectorAll(focusableElements),\n (element: HTMLElement) => {\n return (\n element.offsetWidth > 0 ||\n element.offsetHeight > 0 ||\n element === document.activeElement\n );\n },\n );\n return this.#focusableElements;\n }\n\n #clearListeners(): void {\n SkyWaitAdapterService.isPageWaitActive = false;\n for (const key of Object.keys(busyElements)) {\n busyElements[key].listener();\n delete busyElements[key];\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n inject,\n} from '@angular/core';\nimport { SkyLiveAnnouncerService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';\n\nimport { SkyWaitAdapterService } from './wait-adapter.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'sky-wait',\n templateUrl: './wait.component.html',\n styleUrls: ['./wait.component.scss'],\n providers: [SkyWaitAdapterService],\n imports: [CommonModule, SkyIndicatorsResourcesModule],\n})\nexport class SkyWaitComponent implements OnInit, OnDestroy {\n /**\n * The ARIA label for the wait icon.\n * This sets the icon's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility) when an element or page loads and when users tab to a wait icon.\n * The default value varies based on whether the wait is for an element or a page and whether it is a blocking wait. For example, the default for a page-level blocking wait is \"Page loading. Please wait.\"\n * For element-level waits, we recommend that consumers overwrite the default to describe the specific element.\n * \"For more information, see the Design tab and the [WAI-ARIA `aria-label` definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public set ariaLabel(value: string | undefined) {\n this.#customAriaLabel = value;\n this.#publishAriaLabel();\n }\n\n /**\n * When set to `true`, wait indication appears on the parent element of the `sky-wait` component.\n */\n @Input()\n public set isWaiting(value: boolean | undefined) {\n if (!this.isFullPage) {\n if (value) {\n this.#adapterService.setWaitBounds(this.#elRef);\n } else {\n this.#adapterService.removeWaitBounds(this.#elRef);\n }\n }\n\n this.#adapterService.setBusyState(\n this.#elRef,\n !!this.isFullPage,\n !!value,\n !!this.isNonBlocking,\n this.#id,\n );\n\n if (value) {\n this.#liveAnnouncer.announce(this.ariaLabelStream.getValue());\n } else if (this.#_isWaiting) {\n // NOTE: This should only happen if the wait was previously waiting and no longer is waiting.\n this.#liveAnnouncer.announce(\n this.screenReaderCompletedTextStream.getValue(),\n );\n }\n\n this.#_isWaiting = value;\n }\n\n public get isWaiting(): boolean | undefined {\n return this.#_isWaiting;\n }\n\n /**\n * When set to `true`, wait indication appears on the page level instead of the\n * parent element level. We recommend that you use the `beginBlockingPageWait` or\n * `beginNonBlockingPageWait` functions of the `SkyWaitService` instead of setting this\n * on the component level.\n * @default false\n */\n @Input()\n public set isFullPage(value: boolean | undefined) {\n /* istanbul ignore else: untestable */\n if (value) {\n this.#adapterService.removeWaitBounds(this.#elRef);\n } else if (this.isWaiting) {\n this.#adapterService.setWaitBounds(this.#elRef);\n }\n\n this.#_isFullPage = value;\n this.#publishAriaLabel();\n this.#publishScreenReaderCompletedText();\n }\n\n public get isFullPage(): boolean | undefined {\n return this.#_isFullPage;\n }\n\n /**\n * When set to `true`, wait indication appears in the bottom left corner of the element\n * instead of hiding the entire parent element.\n * @default false\n */\n @Input()\n public set isNonBlocking(value: boolean | undefined) {\n this.#_isNonBlocking = value;\n this.#publishAriaLabel();\n }\n\n public get isNonBlocking(): boolean | undefined {\n return this.#_isNonBlocking;\n }\n\n /**\n * Screen reader text [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility) when the wait toggles off.\n * The default varies based on whether the wait is for an element or a page.\n * For example, the default for a page-level wait is \"Page loading complete.\"\n * For element-level waits, we recommend that consumers overwrite the default to describe the specific element.\n * For more information, see the Design tab and the [WCAG documentation on status messages](https://www.w3.org/WAI/WCAG21/Understanding/status-messages.html).\n */\n @Input()\n public set screenReaderCompletedText(value: string | undefined) {\n this.#customScreenReaderCompletedText = value;\n this.#publishScreenReaderCompletedText();\n }\n\n public ariaLabelStream = new BehaviorSubject<string>('');\n public ariaLiveText = '';\n public screenReaderCompletedTextStream = new BehaviorSubject<string>('');\n\n #customAriaLabel: string | undefined;\n #customScreenReaderCompletedText: string | undefined;\n #id = `sky-wait-${++nextId}`;\n #ngUnsubscribe = new Subject<void>();\n\n #_isFullPage: boolean | undefined;\n #_isNonBlocking: boolean | undefined;\n #_isWaiting: boolean | undefined;\n\n readonly #adapterService = inject(SkyWaitAdapterService);\n readonly #elRef = inject(ElementRef);\n readonly #liveAnnouncer = inject(SkyLiveAnnouncerService);\n readonly #resourceSvc = inject(SkyLibResourcesService);\n\n public ngOnInit(): void {\n this.#publishAriaLabel();\n this.#publishScreenReaderCompletedText();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n #publishAriaLabel(): void {\n if (this.#customAriaLabel) {\n this.ariaLabelStream.next(this.#customAriaLabel);\n } else {\n const type = this.isFullPage ? '_page' : '';\n const blocking = this.isNonBlocking ? '' : '_blocking';\n const key = `skyux_wait${type}${blocking}_aria_alt_text`;\n this.#resourceSvc\n .getString(key)\n .pipe(take(1), takeUntil(this.#ngUnsubscribe))\n .subscribe((value) => {\n this.ariaLabelStream.next(value);\n });\n }\n }\n\n #publishScreenReaderCompletedText(): void {\n if (this.#customScreenReaderCompletedText) {\n this.screenReaderCompletedTextStream.next(\n this.#customScreenReaderCompletedText,\n );\n } else {\n const type = this.isFullPage ? '_page' : '';\n const key = `skyux_wait${type}_screen_reader_completed_text`;\n this.#resourceSvc\n .getString(key)\n .pipe(take(1), takeUntil(this.#ngUnsubscribe))\n .subscribe((value) => {\n this.screenReaderCompletedTextStream.next(value);\n });\n }\n }\n}\n","<div\n class=\"sky-wait-container\"\n [ngClass]=\"{\n 'sky-wait-full-page': isFullPage,\n 'sky-wait-non-blocking': isNonBlocking\n }\"\n>\n @if (isWaiting) {\n <div\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 }\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { SkyWaitComponent } from './wait.component';\n\n@NgModule({\n imports: [SkyWaitComponent],\n exports: [SkyWaitComponent],\n})\nexport class SkyWaitModule {}\n","import { Component, Input } from '@angular/core';\n\nimport { SkyWaitComponent } from './wait.component';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-wait-page',\n templateUrl: './wait-page.component.html',\n styleUrls: ['./wait-page.component.scss'],\n imports: [SkyWaitComponent],\n})\nexport class SkyWaitPageComponent {\n @Input()\n public hasBlockingWait: boolean | undefined;\n\n @Input()\n public hasNonBlockingWait: boolean | undefined;\n}\n","<div class=\"sky-wait-page\">\n <sky-wait\n data-sky-id=\"page-wait-non-blocking\"\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n />\n <sky-wait\n data-sky-id=\"page-wait-blocking\"\n [isFullPage]=\"true\"\n [isWaiting]=\"hasBlockingWait\"\n />\n</div>\n","import {\n ComponentRef,\n EnvironmentInjector,\n Injectable,\n inject,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyDynamicComponentService } from '@skyux/core';\n\nimport { Observable, defer as observableDefer } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\n\nimport { SkyWaitPageComponent } from './wait-page.component';\n\nlet waitComponent: SkyWaitPageComponent | undefined;\nlet waitComponentRef: ComponentRef<SkyWaitPageComponent> | undefined;\nlet pageWaitBlockingCount = 0;\nlet pageWaitNonBlockingCount = 0;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyWaitService {\n #environmentInjector = inject(EnvironmentInjector);\n #windowSvc = inject(SkyAppWindowRef);\n #dynamicComponentService = inject(SkyDynamicComponentService);\n\n /**\n * Starts a blocking page wait on the page.\n */\n public beginBlockingPageWait(): void {\n this.#beginPageWait(true);\n }\n\n /**\n * Starts a non-blocking page wait on the page.\n */\n public beginNonBlockingPageWait(): void {\n this.#beginPageWait(false);\n }\n\n /**\n * Ends a blocking page wait on the page. Blocking page wait indication\n * is removed when all running blocking page waits are ended.\n */\n public endBlockingPageWait(): void {\n this.#endPageWait(true);\n }\n\n /**\n * Ends a non-blocking page wait on the page. Non-blocking page wait indication\n * is removed when all running non-blocking page waits are ended.\n */\n public endNonBlockingPageWait(): void {\n this.#endPageWait(false);\n }\n\n /**\n * Clears all blocking and non-blocking page waits on the page.\n */\n public clearAllPageWaits(): void {\n this.#clearPageWait(true);\n this.#clearPageWait(false);\n }\n\n /**\n * @internal\n */\n public dispose(): void {\n if (waitComponent) {\n waitComponent = undefined;\n pageWaitBlockingCount = 0;\n pageWaitNonBlockingCount = 0;\n this.#dynamicComponentService.removeComponent(waitComponentRef);\n }\n }\n\n /**\n * Launches a page wait and automatically stops when the specific asynchronous event completes.\n */\n public blockingWrap<T>(observable: Observable<T>): Observable<T> {\n return observableDefer(() => {\n this.beginBlockingPageWait();\n return observable.pipe(finalize(() => this.endBlockingPageWait()));\n });\n }\n\n /**\n * Launches a non-blocking page wait and automatically stops when the specific\n * asynchronous event completes.\n */\n public nonBlockingWrap<T>(observable: Observable<T>): Observable<T> {\n return observableDefer(() => {\n this.beginNonBlockingPageWait();\n return observable.pipe(finalize(() => this.endNonBlockingPageWait()));\n });\n }\n\n #setWaitComponentProperties(isBlocking: boolean): void {\n if (waitComponent) {\n if (isBlocking) {\n waitComponent.hasBlockingWait = true;\n pageWaitBlockingCount++;\n } else {\n waitComponent.hasNonBlockingWait = true;\n pageWaitNonBlockingCount++;\n }\n }\n }\n\n #beginPageWait(isBlocking: boolean): void {\n if (!waitComponent) {\n /*\n Dynamic component creation needs to be done in a timeout to prevent ApplicationRef from\n crashing when wait service is called in Angular lifecycle functions.\n */\n this.#windowSvc.nativeWindow.setTimeout(() => {\n // Ensuring here that we recheck this after the setTimeout is over so that we don't clash\n // with any other waits that are created.\n if (!waitComponent) {\n waitComponentRef = this.#dynamicComponentService.createComponent(\n SkyWaitPageComponent,\n {\n environmentInjector: this.#environmentInjector,\n },\n );\n\n waitComponent = waitComponentRef.instance;\n }\n\n this.#setWaitComponentProperties(isBlocking);\n });\n } else {\n this.#setWaitComponentProperties(isBlocking);\n }\n }\n\n #endPageWait(isBlocking: boolean): void {\n /*\n Needs to yield so that wait creation can finish\n before it is dismissed in the event of a race.\n */\n this.#windowSvc.nativeWindow.setTimeout(() => {\n if (waitComponent) {\n if (isBlocking) {\n if (pageWaitBlockingCount > 0) {\n pageWaitBlockingCount--;\n }\n\n if (pageWaitBlockingCount < 1) {\n waitComponent.hasBlockingWait = false;\n }\n } else {\n if (pageWaitNonBlockingCount > 0) {\n pageWaitNonBlockingCount--;\n }\n\n if (pageWaitNonBlockingCount < 1) {\n waitComponent.hasNonBlockingWait = false;\n }\n }\n }\n });\n }\n\n #clearPageWait(isBlocking: boolean): void {\n // Wait for the component to be created before clearing it.\n this.#windowSvc.nativeWindow.setTimeout(() => {\n if (waitComponent) {\n if (isBlocking) {\n pageWaitBlockingCount = 0;\n waitComponent.hasBlockingWait = false;\n } else {\n pageWaitNonBlockingCount = 0;\n waitComponent.hasNonBlockingWait = false;\n }\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i3.SkyExpansionIndicatorComponent","i3","i4","i1.SkyTokenComponent","take","observableDefer"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-indicators.mjs","sources":["../../../../../libs/components/indicators/src/lib/modules/shared/sky-indicators-resources.module.ts","../../../../../libs/components/indicators/src/lib/modules/shared/indicator-icon-utility.ts","../../../../../libs/components/indicators/src/lib/modules/alert/alert.component.ts","../../../../../libs/components/indicators/src/lib/modules/alert/alert.component.html","../../../../../libs/components/indicators/src/lib/modules/alert/alert.module.ts","../../../../../libs/components/indicators/src/lib/modules/expansion-indicator/expansion-indicator.component.ts","../../../../../libs/components/indicators/src/lib/modules/expansion-indicator/expansion-indicator.component.html","../../../../../libs/components/indicators/src/lib/modules/expansion-indicator/expansion-indicator.module.ts","../../../../../libs/components/indicators/src/lib/modules/chevron/chevron.component.ts","../../../../../libs/components/indicators/src/lib/modules/chevron/chevron.component.html","../../../../../libs/components/indicators/src/lib/modules/chevron/chevron.module.ts","../../../../../libs/components/indicators/src/lib/modules/illustration/illustration-resolver.service.ts","../../../../../libs/components/indicators/src/lib/modules/illustration/illustration.component.ts","../../../../../libs/components/indicators/src/lib/modules/illustration/illustration.component.html","../../../../../libs/components/indicators/src/lib/modules/illustration/illustration.module.ts","../../../../../libs/components/indicators/src/lib/modules/key-info/key-info-label.component.ts","../../../../../libs/components/indicators/src/lib/modules/key-info/key-info-value.component.ts","../../../../../libs/components/indicators/src/lib/modules/key-info/key-info.component.ts","../../../../../libs/components/indicators/src/lib/modules/key-info/key-info.component.html","../../../../../libs/components/indicators/src/lib/modules/key-info/key-info.module.ts","../../../../../libs/components/indicators/src/lib/modules/label/label.component.ts","../../../../../libs/components/indicators/src/lib/modules/label/label.component.html","../../../../../libs/components/indicators/src/lib/modules/label/label.module.ts","../../../../../libs/components/indicators/src/lib/modules/status-indicator/status-indicator.component.ts","../../../../../libs/components/indicators/src/lib/modules/status-indicator/status-indicator.component.html","../../../../../libs/components/indicators/src/lib/modules/status-indicator/status-indicator.module.ts","../../../../../libs/components/indicators/src/lib/modules/text-highlight/text-highlight.directive.ts","../../../../../libs/components/indicators/src/lib/modules/text-highlight/text-highlight.module.ts","../../../../../libs/components/indicators/src/lib/modules/tokens/token.component.ts","../../../../../libs/components/indicators/src/lib/modules/tokens/token.component.html","../../../../../libs/components/indicators/src/lib/modules/tokens/types/tokens-message-type.ts","../../../../../libs/components/indicators/src/lib/modules/tokens/tokens.component.ts","../../../../../libs/components/indicators/src/lib/modules/tokens/tokens.component.html","../../../../../libs/components/indicators/src/lib/modules/tokens/tokens.module.ts","../../../../../libs/components/indicators/src/lib/modules/wait/wait-adapter.service.ts","../../../../../libs/components/indicators/src/lib/modules/wait/wait.component.ts","../../../../../libs/components/indicators/src/lib/modules/wait/wait.component.html","../../../../../libs/components/indicators/src/lib/modules/wait/wait.module.ts","../../../../../libs/components/indicators/src/lib/modules/wait/wait-page.component.ts","../../../../../libs/components/indicators/src/lib/modules/wait/wait-page.component.html","../../../../../libs/components/indicators/src/lib/modules/wait/wait.service.ts","../../../../../libs/components/indicators/src/skyux-indicators.ts"],"sourcesContent":["/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-indicators' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_alert_close: { message: 'Close the alert' },\n skyux_alert_sr_attention: { message: 'Attention:' },\n skyux_alert_sr_caution: { message: 'Caution:' },\n skyux_alert_sr_completed: { message: 'Completed:' },\n skyux_alert_sr_danger: { message: 'Danger:' },\n skyux_alert_sr_error: { message: 'Error:' },\n skyux_alert_sr_important_info: { message: 'Important information:' },\n skyux_alert_sr_important_warning: { message: 'Important warning:' },\n skyux_alert_sr_success: { message: 'Success:' },\n skyux_alert_sr_warning: { message: 'Warning:' },\n skyux_help_inline_button_title: { message: 'Show help content' },\n skyux_label_sr_attention: { message: 'Attention:' },\n skyux_label_sr_caution: { message: 'Caution:' },\n skyux_label_sr_completed: { message: 'Completed:' },\n skyux_label_sr_danger: { message: 'Danger:' },\n skyux_label_sr_error: { message: 'Error:' },\n skyux_label_sr_important_info: { message: 'Important information:' },\n skyux_label_sr_important_warning: { message: 'Important warning:' },\n skyux_label_sr_success: { message: 'Success:' },\n skyux_label_sr_warning: { message: 'Warning:' },\n skyux_status_indicator_sr_attention: { message: 'Attention:' },\n skyux_status_indicator_sr_caution: { message: 'Caution:' },\n skyux_status_indicator_sr_completed: { message: 'Completed:' },\n skyux_status_indicator_sr_danger: { message: 'Danger:' },\n skyux_status_indicator_sr_error: { message: 'Error:' },\n skyux_status_indicator_sr_important_info: {\n message: 'Important information:',\n },\n skyux_status_indicator_sr_important_warning: {\n message: 'Important warning:',\n },\n skyux_status_indicator_sr_success: { message: 'Success:' },\n skyux_status_indicator_sr_warning: { message: 'Warning:' },\n skyux_tokens_dismiss_button_default_label: { message: 'Remove ' },\n skyux_tokens_dismiss_button_title: { message: 'Remove item' },\n skyux_tokens_token_dismissed: { message: '{0} removed' },\n skyux_wait_aria_alt_text: { message: 'Loading.' },\n skyux_wait_blocking_aria_alt_text: { message: 'Loading. Please wait.' },\n skyux_wait_page_aria_alt_text: { message: 'Page loading.' },\n skyux_wait_page_blocking_aria_alt_text: {\n message: 'Page loading. Please wait.',\n },\n skyux_wait_screen_reader_completed_text: { message: 'Loading complete.' },\n skyux_wait_page_screen_reader_completed_text: {\n message: 'Page loading complete.',\n },\n },\n 'FR-CA': {\n skyux_alert_close: { message: 'Fermer l’alerte' },\n skyux_alert_sr_attention: { message: 'Attention :' },\n skyux_alert_sr_caution: { message: 'Mise en garde :' },\n skyux_alert_sr_completed: { message: 'Terminé :' },\n skyux_alert_sr_danger: { message: 'Danger :' },\n skyux_alert_sr_error: { message: 'Erreur :' },\n skyux_alert_sr_important_info: { message: 'Information importante :' },\n skyux_alert_sr_important_warning: { message: 'Avertissement important :' },\n skyux_alert_sr_success: { message: 'Réussi :' },\n skyux_alert_sr_warning: { message: 'Avertissement :' },\n skyux_help_inline_button_title: {\n message: 'Afficher le contenu de l’aide',\n },\n skyux_label_sr_attention: { message: 'Attention :' },\n skyux_label_sr_caution: { message: 'Mise en garde :' },\n skyux_label_sr_completed: { message: 'Terminé :' },\n skyux_label_sr_danger: { message: 'Danger :' },\n skyux_label_sr_error: { message: 'Erreur :' },\n skyux_label_sr_important_info: { message: 'Information importante :' },\n skyux_label_sr_important_warning: { message: 'Avertissement important :' },\n skyux_label_sr_success: { message: 'Réussi :' },\n skyux_label_sr_warning: { message: 'Avertissement :' },\n skyux_status_indicator_sr_attention: { message: 'Attention :' },\n skyux_status_indicator_sr_caution: { message: 'Mise en garde :' },\n skyux_status_indicator_sr_completed: { message: 'Terminé :' },\n skyux_status_indicator_sr_danger: { message: 'Danger :' },\n skyux_status_indicator_sr_error: { message: 'Erreur :' },\n skyux_status_indicator_sr_important_info: {\n message: 'Information importante :',\n },\n skyux_status_indicator_sr_important_warning: {\n message: 'Avertissement important :',\n },\n skyux_status_indicator_sr_success: { message: 'Réussi :' },\n skyux_status_indicator_sr_warning: { message: 'Avertissement :' },\n skyux_tokens_dismiss_button_default_label: { message: 'Retirer ' },\n skyux_tokens_dismiss_button_title: { message: 'Retirer l’article' },\n skyux_tokens_token_dismissed: { message: '{0} retiré' },\n skyux_wait_aria_alt_text: { message: 'Chargement en cours.' },\n skyux_wait_blocking_aria_alt_text: {\n message: 'Chargement en cours. Veuillez patienter.',\n },\n skyux_wait_page_aria_alt_text: {\n message: 'Chargement de la page en cours.',\n },\n skyux_wait_page_blocking_aria_alt_text: {\n message: 'Chargement de la page en cours. Veuillez patienter.',\n },\n skyux_wait_screen_reader_completed_text: { message: 'Chargement terminé.' },\n skyux_wait_page_screen_reader_completed_text: {\n message: 'Chargement de la page terminé.',\n },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyIndicatorsResourcesModule {}\n","import { SkyIndicatorIconType } from './indicator-icon-type';\n\n/**\n * @internal\n */\nexport class SkyIndicatorIconUtility {\n public static getIconNameForType(\n indicatorType: SkyIndicatorIconType,\n ): string {\n let icon: string;\n\n switch (indicatorType) {\n case 'danger':\n case 'warning':\n icon = 'warning';\n break;\n case 'info':\n icon = 'info';\n break;\n case 'success':\n icon = 'success';\n break;\n }\n\n return icon;\n }\n}\n","import {\n AfterViewChecked,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n inject,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\nimport { Subscription } from 'rxjs';\n\nimport { SkyIndicatorDescriptionType } from '../shared/indicator-description-type';\nimport { SkyIndicatorIconType } from '../shared/indicator-icon-type';\nimport { SkyIndicatorIconUtility } from '../shared/indicator-icon-utility';\n\nconst ALERT_TYPE_DEFAULT = 'warning';\n\n@Component({\n selector: 'sky-alert',\n styleUrls: [\n './alert.default.component.scss',\n './alert.modern.component.scss',\n ],\n templateUrl: './alert.component.html',\n hostDirectives: [SkyThemeComponentClassDirective],\n standalone: false,\n})\nexport class SkyAlertComponent implements AfterViewChecked, OnInit, OnDestroy {\n /**\n * The style for the alert, which determines the icon and background color.\n * The valid options are `danger`, `info`, `success`, and `warning`.\n * @default \"warning\"\n */\n @Input()\n public set alertType(value: SkyIndicatorIconType | undefined) {\n if (value !== this.alertTypeOrDefault) {\n this.alertTypeOrDefault = value || ALERT_TYPE_DEFAULT;\n this.#updateAlertIcon();\n }\n }\n\n /**\n * Whether to include a close button for users to dismiss the alert.\n * @default false\n */\n @Input()\n public closeable: boolean | undefined;\n\n /**\n * Whether the alert is closed.\n * @default false\n */\n @Input()\n public closed: boolean | undefined;\n\n /**\n * The predefined text to be read by screen readers for users who cannot see the alert icon.\n * This property is optional but will be required in future versions of SKY UX.\n */\n @Input()\n public set descriptionType(value: SkyIndicatorDescriptionType | undefined) {\n this.#_descriptionType = value;\n this.#updateDescriptionComputed();\n }\n\n public get descriptionType(): SkyIndicatorDescriptionType | undefined {\n return this.#_descriptionType;\n }\n\n /**\n * The text to be read by screen readers for users who cannot see\n * the indicator icon when `descriptionType` is `custom`.\n */\n @Input()\n public set customDescription(value: string | undefined) {\n this.#_customDescription = value;\n this.#updateDescriptionComputed();\n }\n\n public get customDescription(): string | undefined {\n return this.#_customDescription;\n }\n\n /**\n * Fires when users close the alert.\n */\n @Output()\n public closedChange = new EventEmitter<boolean>();\n\n public iconName: string | undefined;\n\n public alertTypeOrDefault: SkyIndicatorIconType = ALERT_TYPE_DEFAULT;\n\n public descriptionComputed: string | undefined;\n\n #_descriptionType: SkyIndicatorDescriptionType | undefined;\n\n #_customDescription: string | undefined;\n\n #descriptionTypeResourceSubscription: Subscription | undefined;\n #descriptionTypeWarned: boolean | undefined;\n\n #resources = inject(SkyLibResourcesService);\n #logSvc = inject(SkyLogService);\n\n public ngOnInit(): void {\n this.#updateAlertIcon();\n }\n\n public ngAfterViewChecked(): void {\n if (!this.descriptionType && !this.#descriptionTypeWarned) {\n this.#logSvc.deprecated('SkyAlertComponent without `descriptionType`', {\n deprecationMajorVersion: 8,\n replacementRecommendation:\n 'Always specify a `descriptionType` property.',\n });\n\n this.#descriptionTypeWarned = true;\n }\n }\n\n public ngOnDestroy(): void {\n this.#unsubscribe();\n }\n\n public close(): void {\n this.closed = true;\n this.closedChange.emit(true);\n }\n\n #updateAlertIcon(): void {\n this.iconName = SkyIndicatorIconUtility.getIconNameForType(\n this.alertTypeOrDefault,\n );\n }\n\n #updateDescriptionComputed(): void {\n this.#unsubscribe();\n\n if (this.descriptionType) {\n switch (this.descriptionType) {\n case 'none':\n this.descriptionComputed = undefined;\n break;\n case 'custom':\n this.descriptionComputed = this.customDescription;\n break;\n default:\n this.#descriptionTypeResourceSubscription = this.#resources\n .getString(\n 'skyux_alert_sr_' + this.descriptionType.replace(/-/g, '_'),\n )\n .subscribe((value) => {\n this.descriptionComputed = value;\n });\n\n break;\n }\n } else {\n this.descriptionComputed = undefined;\n }\n }\n\n #unsubscribe(): void {\n if (this.#descriptionTypeResourceSubscription) {\n this.#descriptionTypeResourceSubscription.unsubscribe();\n this.#descriptionTypeResourceSubscription = undefined;\n }\n }\n}\n","<div\n class=\"sky-alert\"\n role=\"alert\"\n [skyThemeClass]=\"{\n 'sky-rounded-corners': 'default',\n 'sky-box sky-elevation-1': 'modern'\n }\"\n [hidden]=\"closed\"\n [ngClass]=\"{\n 'sky-alert-info': alertTypeOrDefault === 'info',\n 'sky-alert-success': alertTypeOrDefault === 'success',\n 'sky-alert-warning': alertTypeOrDefault === 'warning',\n 'sky-alert-danger': alertTypeOrDefault === 'danger',\n 'sky-alert-closeable': closeable\n }\"\n>\n <div *skyThemeIf=\"'modern'\" aria-hidden=\"true\" class=\"sky-alert-icon\">\n <sky-icon iconSize=\"xxl\" variant=\"solid\" [iconName]=\"iconName\" />\n </div>\n <div *skyThemeIf=\"'default'\" aria-hidden=\"true\" class=\"sky-alert-icon\">\n <sky-icon variant=\"solid\" [iconName]=\"iconName\" />\n </div>\n @if (descriptionComputed) {\n <span class=\"sky-screen-reader-only\">\n {{ descriptionComputed }}\n </span>\n }\n <div class=\"sky-alert-content\">\n <ng-content />\n </div>\n <button\n class=\"sky-alert-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_alert_close' | skyLibResources\"\n [hidden]=\"!closeable\"\n (click)=\"close()\"\n >\n <span aria-hidden=\"true\">\n <sky-icon iconName=\"close\" />\n </span>\n </button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';\n\nimport { SkyAlertComponent } from './alert.component';\n\n@NgModule({\n declarations: [SkyAlertComponent],\n imports: [\n CommonModule,\n SkyIconModule,\n SkyIndicatorsResourcesModule,\n SkyThemeModule,\n ],\n exports: [SkyAlertComponent],\n})\nexport class SkyAlertModule {}\n","import { Component, Input } from '@angular/core';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\n/**\n * Displays a chevron icon.\n * @internal\n */\n@Component({\n selector: 'sky-expansion-indicator',\n styleUrls: ['./expansion-indicator.component.scss'],\n templateUrl: './expansion-indicator.component.html',\n hostDirectives: [SkyThemeComponentClassDirective],\n standalone: false,\n})\nexport class SkyExpansionIndicatorComponent {\n /**\n * The direction that the chevron points, which can be up or down.\n */\n @Input()\n public set direction(value: string | undefined) {\n /* istanbul ignore else */\n if (value !== this.directionOrDefault) {\n this.directionOrDefault = value ? value : 'up';\n }\n }\n\n public directionOrDefault = 'up';\n}\n","<div\n aria-hidden=\"true\"\n class=\"sky-expansion-indicator\"\n [ngClass]=\"['sky-expansion-indicator-' + directionOrDefault]\"\n>\n <span class=\"sky-expansion-indicator-glyph-container\">\n <i class=\"sky-expansion-indicator-part sky-expansion-indicator-left\"> </i>\n <i class=\"sky-expansion-indicator-part sky-expansion-indicator-right\"> </i>\n </span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyExpansionIndicatorComponent } from './expansion-indicator.component';\n\n@NgModule({\n declarations: [SkyExpansionIndicatorComponent],\n imports: [CommonModule, SkyThemeModule],\n exports: [SkyExpansionIndicatorComponent],\n})\nexport class SkyExpansionIndicatorModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\n/**\n * Creates an accessible button that wraps the chevron icon.\n * @internal\n */\n@Component({\n selector: 'sky-chevron',\n styleUrls: [\n './chevron.default.component.scss',\n './chevron.modern.component.scss',\n ],\n templateUrl: './chevron.component.html',\n hostDirectives: [SkyThemeComponentClassDirective],\n standalone: false,\n})\nexport class SkyChevronComponent {\n /**\n * The element whose contents are controlled by the chevron.\n * This sets the chevron's `aria-controls` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-controls` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-controls).\n */\n @Input()\n public ariaControls: string | undefined;\n\n /**\n * The ARIA label for the chevron. This sets the chevron's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * The direction that the chevron points, which can be up or down.\n */\n @Input()\n public set direction(value: string | undefined) {\n /* istanbul ignore else */\n if (value !== this.directionOrDefault) {\n this.directionOrDefault = value ? value : 'up';\n /* istanbul ignore else */\n if (this.directionOrDefault === 'up') {\n this.ariaExpanded = true;\n } else if (this.directionOrDefault === 'down') {\n this.ariaExpanded = false;\n }\n }\n }\n\n /**\n * Whether to disable the chevron button.\n */\n @Input()\n public disabled = false;\n\n /**\n * Fires when the direction of the chevron changes.\n */\n @Output()\n public directionChange = new EventEmitter<string>();\n\n public ariaExpanded = true;\n\n public directionOrDefault = 'up';\n\n public chevronClick(event: Event): void {\n event.stopPropagation();\n this.direction = this.directionOrDefault === 'up' ? 'down' : 'up';\n this.directionChange.emit(this.directionOrDefault);\n }\n\n public chevronKeyDown(event: KeyboardEvent): void {\n /* istanbul ignore else */\n if (event.key) {\n switch (event.key.toLowerCase()) {\n case ' ':\n case 'enter':\n this.direction = this.directionOrDefault === 'up' ? 'down' : 'up';\n this.directionChange.emit(this.directionOrDefault);\n event.preventDefault();\n event.stopPropagation();\n break;\n default:\n break;\n }\n }\n }\n}\n","<button\n class=\"sky-chevron\"\n type=\"button\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-label]=\"ariaLabel\"\n [disabled]=\"disabled\"\n [ngClass]=\"['sky-chevron-' + directionOrDefault]\"\n [skyThemeClass]=\"{\n 'sky-btn sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"chevronClick($event)\"\n (keydown)=\"chevronKeyDown($event)\"\n>\n <sky-expansion-indicator [direction]=\"directionOrDefault\" />\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyExpansionIndicatorModule } from '../expansion-indicator/expansion-indicator.module';\nimport { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';\n\nimport { SkyChevronComponent } from './chevron.component';\n\n/**\n * @internal\n */\n@NgModule({\n declarations: [SkyChevronComponent],\n imports: [\n CommonModule,\n SkyIndicatorsResourcesModule,\n SkyThemeModule,\n SkyExpansionIndicatorModule,\n ],\n exports: [SkyChevronComponent],\n})\nexport class SkyChevronModule {}\n","import { Injectable } from '@angular/core';\n\n/**\n * Resolves information about spot illustrations.\n */\n@Injectable()\nexport abstract class SkyIllustrationResolverService {\n /**\n * Resolves a URL for the specified illustration name.\n */\n public abstract resolveUrl(name: string): Promise<string>;\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n} from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\nimport { catchError, from, of, switchMap } from 'rxjs';\n\nimport { SkyIllustrationResolverService } from './illustration-resolver.service';\nimport { SkyIllustrationSize } from './illustration-size';\n\n/**\n * Displays a spot illustration at the specified size.\n */\n@Component({\n selector: 'sky-illustration',\n imports: [CommonModule],\n templateUrl: './illustration.component.html',\n styleUrls: [\n './illustration.default.component.scss',\n './illustration.modern.component.scss',\n ],\n hostDirectives: [SkyThemeComponentClassDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyIllustrationComponent {\n readonly #resolverSvc = inject(SkyIllustrationResolverService, {\n optional: true,\n });\n\n /**\n * The name of the illustration to display.\n * @required\n */\n public readonly name = input.required<string>();\n\n /**\n * The size of the illustration.\n * @required\n */\n public readonly size = input.required<SkyIllustrationSize>();\n\n protected readonly url = toSignal(\n toObservable(this.name).pipe(\n switchMap((name) =>\n this.#resolverSvc ? from(this.#resolverSvc.resolveUrl(name)) : of(''),\n ),\n catchError(() => of('')),\n ),\n );\n}\n","<img\n alt=\"\"\n loading=\"lazy\"\n [attr.data-sky-illustration-name]=\"name()\"\n [class]=\"'sky-illustration-img sky-illustration-img-' + size()\"\n [ngClass]=\"{\n 'sky-illustration-img-loaded': !!url()\n }\"\n [src]=\"url()\"\n/>\n","import { NgModule } from '@angular/core';\n\nimport { SkyIllustrationComponent } from './illustration.component';\n\n@NgModule({\n imports: [SkyIllustrationComponent],\n exports: [SkyIllustrationComponent],\n})\nexport class SkyIllustrationModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a label to display in smaller text under or beside the value.\n * To display a help button beside the label, include a help button element, such as `sky-help-inline`,\n * in the `sky-key-info` element and a `sky-control-help` CSS class on that help button element.\n * @required\n */\n@Component({\n selector: 'sky-key-info-label',\n template: '<span skyTrim><ng-content /></span>',\n standalone: false,\n})\nexport class SkyKeyInfoLabelComponent {}\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a value to display in larger, bold text.\n * @required\n */\n@Component({\n selector: 'sky-key-info-value',\n template: '<ng-content />',\n standalone: false,\n})\nexport class SkyKeyInfoValueComponent {}\n","import { Component, Input, TemplateRef } from '@angular/core';\n\nimport { SkyKeyInfoLayoutType } from './key-info-layout-type';\n\n@Component({\n selector: 'sky-key-info',\n templateUrl: './key-info.component.html',\n styleUrls: ['./key-info.component.scss'],\n standalone: false,\n})\nexport class SkyKeyInfoComponent {\n /**\n * A help key that identifies the global help content to display. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) button is\n * placed beside the key info. Clicking the button invokes global help as configured by the application.\n */\n @Input()\n public helpKey: string | undefined;\n\n /**\n * The content of the help popover. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the key info. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title.\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n\n /**\n * The layout for the key info. The vertical layout places the label under the\n * value, while the horizontal layout places the label beside the value.\n * @default \"vertical\"\n */\n @Input()\n public layout: SkyKeyInfoLayoutType | undefined = 'vertical';\n}\n","<div\n class=\"sky-key-info\"\n [ngClass]=\"{\n 'sky-key-info-horizontal': layout === 'horizontal'\n }\"\n>\n <div class=\"sky-key-info-value sky-font-display-3\">\n <ng-content select=\"sky-key-info-value\" />\n </div>\n <div class=\"sky-key-info-label sky-field-label sky-font-data-label\">\n <span #label=\"skyId\" skyId><ng-content select=\"sky-key-info-label\" /></span\n ><span class=\"sky-control-help-container\">\n @if (helpPopoverContent || helpKey) {\n <sky-help-inline\n [labelledBy]=\"label.id\"\n [helpKey]=\"helpKey\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n } @else {\n <ng-content select=\".sky-control-help\" />\n }\n </span>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule, SkyTrimModule } from '@skyux/core';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\n\nimport { SkyKeyInfoLabelComponent } from './key-info-label.component';\nimport { SkyKeyInfoValueComponent } from './key-info-value.component';\nimport { SkyKeyInfoComponent } from './key-info.component';\n\n@NgModule({\n declarations: [\n SkyKeyInfoComponent,\n SkyKeyInfoLabelComponent,\n SkyKeyInfoValueComponent,\n ],\n imports: [CommonModule, SkyTrimModule, SkyHelpInlineModule, SkyIdModule],\n exports: [\n SkyKeyInfoComponent,\n SkyKeyInfoLabelComponent,\n SkyKeyInfoValueComponent,\n ],\n})\nexport class SkyKeyInfoModule {}\n","import {\n AfterViewChecked,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit,\n inject,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { Subscription } from 'rxjs/internal/Subscription';\n\nimport { SkyIndicatorDescriptionType } from '../shared/indicator-description-type';\nimport { SkyIndicatorIconUtility } from '../shared/indicator-icon-utility';\n\nimport { SkyLabelType } from './label-type';\n\nconst LABEL_TYPE_DEFAULT: SkyLabelType = 'info';\n\n@Component({\n selector: 'sky-label',\n templateUrl: './label.component.html',\n styleUrls: ['./label.component.scss'],\n standalone: false,\n})\nexport class SkyLabelComponent implements AfterViewChecked, OnDestroy, OnInit {\n /**\n * The type of label to display.\n * @default 'info'\n */\n @Input()\n public set labelType(value: SkyLabelType | undefined) {\n this.labelTypeOrDefault = value === undefined ? LABEL_TYPE_DEFAULT : value;\n\n this.#updateIcon();\n }\n\n /**\n * The predefined text to be read by screen readers for users who cannot see the indicator icon.\n * This property is optional but will be required in future versions of SKY UX.\n */\n @Input()\n public set descriptionType(value: SkyIndicatorDescriptionType | undefined) {\n this.#_descriptionType = value;\n this.#updateDescriptionComputed();\n }\n\n public get descriptionType(): SkyIndicatorDescriptionType | undefined {\n return this.#_descriptionType;\n }\n\n /**\n * The text to be read by screen readers for users who cannot see\n * the indicator icon when `descriptionType` is `custom`.\n */\n @Input()\n public set customDescription(value: string | undefined) {\n this.#_customDescription = value;\n this.#updateDescriptionComputed();\n }\n\n public get customDescription(): string | undefined {\n return this.#_customDescription;\n }\n\n public descriptionComputed: string | undefined;\n\n public iconName: string | undefined;\n\n public labelTypeOrDefault = LABEL_TYPE_DEFAULT;\n\n #_descriptionType: SkyIndicatorDescriptionType | undefined;\n #_customDescription: string | undefined;\n\n #descriptionTypeResourceSubscription: Subscription | undefined;\n #descriptionTypeWarned: boolean | undefined;\n\n #changeDetector = inject(ChangeDetectorRef);\n #resources = inject(SkyLibResourcesService);\n #logSvc = inject(SkyLogService);\n\n public ngOnInit(): void {\n this.#updateIcon();\n }\n\n public ngAfterViewChecked(): void {\n if (!this.descriptionType && !this.#descriptionTypeWarned) {\n this.#logSvc.deprecated('SkyLabelComponent without `descriptionType`', {\n deprecationMajorVersion: 8,\n replacementRecommendation:\n 'Always specify a `descriptionType` property.',\n });\n\n this.#descriptionTypeWarned = true;\n }\n }\n\n public ngOnDestroy(): void {\n this.#unsubscribe();\n }\n\n #updateIcon(): void {\n this.iconName = SkyIndicatorIconUtility.getIconNameForType(\n this.labelTypeOrDefault,\n );\n }\n\n #updateDescriptionComputed(): void {\n this.#unsubscribe();\n\n if (this.descriptionType) {\n switch (this.descriptionType) {\n case 'none':\n this.descriptionComputed = undefined;\n break;\n case 'custom':\n this.descriptionComputed = this.customDescription;\n break;\n default:\n this.#descriptionTypeResourceSubscription = this.#resources\n .getString(\n 'skyux_label_sr_' + this.descriptionType.replace(/-/g, '_'),\n )\n .subscribe((value) => {\n this.descriptionComputed = value;\n this.#changeDetector.markForCheck();\n });\n\n break;\n }\n } else {\n this.descriptionComputed = undefined;\n }\n }\n\n #unsubscribe(): void {\n if (this.#descriptionTypeResourceSubscription) {\n this.#descriptionTypeResourceSubscription.unsubscribe();\n this.#descriptionTypeResourceSubscription = undefined;\n }\n }\n}\n","<span class=\"sky-label\" [ngClass]=\"'sky-label-' + labelTypeOrDefault\">\n <span class=\"sky-label-icon\">\n <sky-icon variant=\"solid\" [iconName]=\"iconName\" />\n </span>\n @if (descriptionComputed) {\n <span class=\"sky-screen-reader-only\">\n {{ descriptionComputed }}\n </span>\n }\n <span class=\"sky-label-text\">\n <ng-content />\n </span>\n</span>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';\n\nimport { SkyLabelComponent } from './label.component';\n\n@NgModule({\n declarations: [SkyLabelComponent],\n imports: [\n CommonModule,\n SkyIconModule,\n SkyIndicatorsResourcesModule,\n SkyThemeModule,\n ],\n exports: [SkyLabelComponent],\n})\nexport class SkyLabelModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n TemplateRef,\n inject,\n} from '@angular/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { SkyIndicatorDescriptionType } from '../shared/indicator-description-type';\nimport { SkyIndicatorIconType } from '../shared/indicator-icon-type';\nimport { SkyIndicatorIconUtility } from '../shared/indicator-icon-utility';\n\nconst INDICATOR_TYPE_DEFAULT: SkyIndicatorIconType = 'warning';\n/**\n * Displays status text with an icon matching the specified indicator type.\n * To display a help button beside the label, include a help button element, such as\n * `sky-help-inline`, in the `sky-status-indicator` element and a `sky-control-help`\n * CSS class on that help button element.\n */\n@Component({\n selector: 'sky-status-indicator',\n templateUrl: './status-indicator.component.html',\n styleUrls: ['./status-indicator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyStatusIndicatorComponent implements OnInit {\n /**\n * The style for the status indicator, which determines the icon.\n * @default \"warning\"\n */\n @Input()\n public set indicatorType(value: SkyIndicatorIconType) {\n this.indicatorTypeOrDefault =\n value === undefined ? INDICATOR_TYPE_DEFAULT : value;\n\n this.#updateIcon();\n }\n\n /**\n * The predefined text to be read by screen readers for users who\n * cannot see the indicator icon.\n * @required\n */\n @Input()\n public set descriptionType(value: SkyIndicatorDescriptionType | undefined) {\n this.#_descriptionType = value;\n this.#updateDescriptionComputed();\n }\n\n public get descriptionType(): SkyIndicatorDescriptionType | undefined {\n return this.#_descriptionType;\n }\n\n /**\n * The text to be read by screen readers for users who cannot see\n * the indicator icon when `descriptionType` is `custom`.\n */\n @Input()\n public set customDescription(value: string | undefined) {\n this.#_customDescription = value;\n this.#updateDescriptionComputed();\n }\n\n public get customDescription(): string | undefined {\n return this.#_customDescription;\n }\n\n /**\n * The content of the help popover. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)\n * button is added to the status indicator. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)\n * when clicked using the specified content and optional title.\n */\n @Input()\n public helpPopoverContent: string | TemplateRef<unknown> | undefined;\n\n /**\n * The title of the help popover. This property only applies when `helpPopoverContent` is\n * also specified.\n */\n @Input()\n public helpPopoverTitle: string | undefined;\n\n /**\n * A help key that identifies the global help content to display. When specified, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) button is\n * placed beside the status indicator label. Clicking the button invokes global help as configured by the application.\n */\n @Input()\n public helpKey: string | undefined;\n\n public descriptionComputed: string | undefined;\n\n public iconName: string | undefined;\n\n public indicatorTypeOrDefault: SkyIndicatorIconType = INDICATOR_TYPE_DEFAULT;\n\n #changeDetector = inject(ChangeDetectorRef);\n #resourcesSvc = inject(SkyLibResourcesService);\n\n #_descriptionType: SkyIndicatorDescriptionType | undefined;\n #_customDescription: string | undefined;\n\n public ngOnInit(): void {\n this.#updateIcon();\n }\n\n #updateIcon(): void {\n this.iconName = SkyIndicatorIconUtility.getIconNameForType(\n this.indicatorTypeOrDefault,\n );\n }\n\n #updateDescriptionComputed(): void {\n if (this.descriptionType) {\n switch (this.descriptionType) {\n case 'none':\n this.descriptionComputed = '';\n break;\n case 'custom':\n this.descriptionComputed = this.customDescription;\n break;\n default:\n this.#resourcesSvc\n .getString(\n 'skyux_status_indicator_sr_' +\n this.descriptionType.replace(/-/g, '_'),\n )\n .subscribe((value) => {\n this.descriptionComputed = value;\n this.#changeDetector.markForCheck();\n });\n\n break;\n }\n } else {\n this.descriptionComputed = undefined;\n }\n }\n}\n","@if (descriptionType) {\n <div class=\"sky-status-indicator\">\n <div\n aria-hidden=\"true\"\n class=\"sky-status-indicator-icon\"\n [ngClass]=\"'sky-status-indicator-icon-' + indicatorTypeOrDefault\"\n >\n <sky-icon variant=\"solid\" [iconName]=\"iconName\" />\n </div>\n <div class=\"sky-status-indicator-message-wrapper\">\n @if (descriptionComputed) {\n <span class=\"sky-screen-reader-only\">\n {{ descriptionComputed }}\n </span>\n }\n <span #message=\"skyId\" skyId class=\"sky-status-indicator-message\" skyTrim\n ><ng-content /></span\n ><span class=\"sky-control-help-container\">\n @if (helpPopoverContent || helpKey) {\n <sky-help-inline\n [labelledBy]=\"message.id\"\n [helpKey]=\"helpKey\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n } @else {\n <ng-content select=\".sky-control-help\" />\n }\n </span>\n </div>\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule, SkyTrimModule } from '@skyux/core';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';\n\nimport { SkyStatusIndicatorComponent } from './status-indicator.component';\n\n@NgModule({\n declarations: [SkyStatusIndicatorComponent],\n imports: [\n CommonModule,\n SkyHelpInlineModule,\n SkyIconModule,\n SkyIdModule,\n SkyIndicatorsResourcesModule,\n SkyThemeModule,\n SkyTrimModule,\n ],\n exports: [SkyStatusIndicatorComponent],\n})\nexport class SkyStatusIndicatorModule {}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n inject,\n} from '@angular/core';\nimport { SkyMutationObserverService } from '@skyux/core';\n\nconst CLASS_NAME = 'sky-highlight-mark';\nconst SPECIAL_CHAR_REGEX = /[-/\\\\^$*+?.()|[\\]{}]/g;\n\nfunction markNode(node: Text, searchRegex: RegExp): number {\n // The search regular expression is reused across calls to markNode(), so reset\n // it so it searches from the start of the string each time.\n searchRegex.lastIndex = 0;\n\n const text = node.nodeValue;\n\n if (text) {\n const match = searchRegex.exec(text);\n\n if (match) {\n // Split apart text node with mark tags in the middle on the search term.\n const matchIndex = match.index;\n\n const middle = node.splitText(matchIndex);\n middle.splitText(searchRegex.lastIndex - matchIndex);\n const middleClone = middle.cloneNode(true);\n\n const markNode = document.createElement('mark');\n markNode.className = CLASS_NAME;\n markNode.appendChild(middleClone);\n\n /* istanbul ignore else */\n if (middle.parentNode) {\n middle.parentNode.replaceChild(markNode, middle);\n }\n\n return 1;\n }\n }\n\n return 0;\n}\n\nfunction markTextNodes(node: Node, searchRegex: RegExp): number {\n if (node.nodeType === 3) {\n return markNode(node as Text, searchRegex);\n } else if (node.nodeType === 1 && node.childNodes) {\n for (let i = 0; i < node.childNodes.length; i++) {\n const childNode = node.childNodes[i];\n i += markTextNodes(childNode, searchRegex);\n }\n }\n\n return 0;\n}\n\nfunction removeHighlight(el: ElementRef): void {\n const matchedElements = Array.from(\n (el.nativeElement as Element).querySelectorAll(`mark.${CLASS_NAME}`),\n );\n\n if (matchedElements) {\n for (const node of matchedElements) {\n const parentNode = node.parentNode;\n\n if (parentNode && node.firstChild) {\n parentNode.replaceChild(node.firstChild, node);\n parentNode.normalize();\n }\n }\n }\n}\n\nfunction createSearchRegex(searchTerms: string[]): RegExp | undefined {\n let searchRegex: RegExp | undefined;\n\n if (searchTerms.length > 0) {\n // Escape all the special regular expression characters by adding a\n // preceding '\\' to each match.\n searchTerms = searchTerms.map((searchTerm) =>\n searchTerm.replace(SPECIAL_CHAR_REGEX, '\\\\$&'),\n );\n\n searchRegex = new RegExp(searchTerms.join('|'), 'gi');\n }\n\n return searchRegex;\n}\n\n/**\n * Highlights all matching text within the current DOM element.\n */\n@Directive({\n selector: '[skyHighlight]',\n standalone: true,\n})\nexport class SkyTextHighlightDirective\n implements OnChanges, AfterViewInit, OnDestroy\n{\n /**\n * The text to highlight.\n */\n @Input()\n public set skyHighlight(value: string | string[] | undefined) {\n value = value || [];\n\n if (Array.isArray(value)) {\n this.#searchTerms = value.filter((item) => !!item);\n // Reorder strings by their length in descending order to avoid missing matches\n // that contain substrings of other matches.\n this.#searchTerms.sort(function (a, b) {\n return b.length - a.length;\n });\n } else {\n this.#searchTerms = [value as string];\n }\n }\n\n @HostBinding('attr.skyHighlight') public readonly highlight = true;\n\n #existingHighlight = false;\n\n #observer: MutationObserver | undefined;\n\n #searchTerms: string[] = [];\n\n #el = inject(ElementRef);\n #observerSvc = inject(SkyMutationObserverService);\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes['skyHighlight'] && !changes['skyHighlight'].firstChange) {\n this.#highlight();\n }\n }\n\n public ngAfterViewInit(): void {\n this.#observer = this.#observerSvc.create(() => {\n this.#highlight();\n });\n\n this.#highlight();\n }\n\n public ngOnDestroy(): void {\n this.#disconnectObserver();\n }\n\n #disconnectObserver(): void {\n if (this.#observer) {\n this.#observer.disconnect();\n }\n }\n\n #highlight(): void {\n this.#disconnectObserver();\n\n if (this.#existingHighlight) {\n removeHighlight(this.#el);\n }\n\n const node = this.#el.nativeElement;\n\n if (node) {\n const searchRegex = createSearchRegex(this.#searchTerms);\n\n // mark all matched text in the DOM\n if (searchRegex) {\n markTextNodes(node, searchRegex);\n this.#existingHighlight = true;\n }\n }\n\n this.#observeDom();\n }\n\n #observeDom(): void {\n if (this.#observer) {\n const config = {\n attributes: false,\n childList: true,\n characterData: true,\n subtree: true,\n };\n\n this.#observer.observe(this.#el.nativeElement, config);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyMutationObserverService } from '@skyux/core';\n\nimport { SkyTextHighlightDirective } from './text-highlight.directive';\n\n@NgModule({\n imports: [SkyTextHighlightDirective],\n exports: [SkyTextHighlightDirective],\n providers: [SkyMutationObserverService],\n})\nexport class SkyTextHighlightModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { SkyLiveAnnouncerService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { take } from 'rxjs';\n\n@Component({\n selector: 'sky-token',\n templateUrl: './token.component.html',\n styleUrls: ['./token.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyTokenComponent {\n /**\n * Whether to disable the token to prevent users from selecting it, dismissing it,\n * or navigating to it with the arrow keys. When the token is disabled,\n * users can still place focus on it using the `Tab` key.\n * @default false\n */\n @Input()\n public set disabled(value: boolean | undefined) {\n this.#_disabled = !!value;\n }\n\n public get disabled(): boolean {\n return this.#_disabled;\n }\n\n /**\n * The ARIA label for the token's close button. This sets the button's `aria-label` to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n * @default \"Remove item\"\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Whether users can remove the token from the list by selecting the close button.\n * @default true\n */\n @Input()\n public set dismissible(value: boolean | undefined) {\n this.#_dismissible = value !== false;\n }\n\n public get dismissible(): boolean {\n return this.#_dismissible;\n }\n\n /**\n * Whether users can place focus on the token using the `Tab`. This does not\n * affect the ability to select the token, dismiss it, or navigate to it with the arrow keys.\n * @default true\n */\n @Input()\n public set focusable(value: boolean | undefined) {\n this.tabIndex = value !== false ? 0 : -1;\n }\n\n /**\n * Used by the tokens component to set the appropriate role for each token.\n * @internal\n */\n @Input()\n public role: string | undefined;\n\n /**\n * Fires when users click the close button.\n */\n @Output()\n public dismiss = new EventEmitter<void>();\n\n /**\n * Fires when users place focus on the token by navigating to it with the `Tab` key.\n */\n @Output()\n public tokenFocus = new EventEmitter<void>();\n\n @ViewChild('actionButton', { read: ElementRef, static: true })\n public actionButtonRef: ElementRef | undefined;\n\n public isFocused = false;\n public tokenActive = false;\n public closeActive = false;\n public tabIndex = 0;\n\n #elementRef = inject(ElementRef);\n\n readonly #liveAnnouncerSvc = inject(SkyLiveAnnouncerService);\n readonly #resourcesSvc = inject(SkyLibResourcesService);\n\n #_disabled = false;\n #_dismissible = true;\n\n protected onFocusIn(): void {\n if (!this.isFocused) {\n this.tokenFocus.emit();\n this.isFocused = true;\n }\n }\n\n protected onFocusOut(event: FocusEvent): void {\n this.isFocused = this.#elementRef.nativeElement.contains(\n event.relatedTarget,\n );\n }\n\n public dismissToken(event: Event): void {\n event.stopPropagation();\n this.#announceState(\n 'skyux_tokens_token_dismissed',\n this.actionButtonRef?.nativeElement.textContent.trim(),\n );\n this.dismiss.emit();\n }\n\n public focusElement(): void {\n this.actionButtonRef?.nativeElement.focus();\n }\n\n public setTokenActive(tokenActive: boolean): void {\n this.tokenActive = tokenActive;\n }\n\n public setCloseActive(closeActive: boolean): void {\n this.closeActive = closeActive;\n }\n\n #announceState(resourceString: string, ...args: any[]): void {\n this.#resourcesSvc\n .getString(resourceString, ...args)\n .pipe(take(1))\n .subscribe((internationalizedString) => {\n this.#liveAnnouncerSvc.announce(internationalizedString);\n });\n }\n}\n","<div\n class=\"sky-token sky-btn sky-btn-default\"\n [attr.role]=\"role\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-disabled': disabled,\n 'sky-token-dismissible': dismissible,\n 'sky-token-active': tokenActive && !closeActive,\n 'sky-token-focused': isFocused\n }\"\n (document:mouseup)=\"setTokenActive(false)\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n (mousedown)=\"setTokenActive(true)\"\n>\n <span\n class=\"sky-token-cell\"\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n >\n <button\n #actionButton=\"skyId\"\n class=\"sky-btn sky-btn-default sky-token-btn sky-token-btn-action\"\n type=\"button\"\n skyId\n [attr.tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled\n }\"\n >\n <ng-content />\n </button>\n </span>\n @if (dismissible) {\n <span\n class=\"sky-token-cell\"\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n >\n <button\n class=\"sky-btn sky-token-btn sky-token-btn-close\"\n type=\"button\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"\n !ariaLabel\n ? screenReaderLabelDismiss.id + ' ' + actionButton.id\n : undefined\n \"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-btn-close-active': closeActive\n }\"\n (click)=\"dismissToken($event)\"\n (document:mouseup)=\"setCloseActive(false)\"\n (mousedown)=\"setCloseActive(true)\"\n >\n <sky-icon\n class=\"sky-token-btn-close-icon\"\n iconName=\"close\"\n iconSize=\"s\"\n />\n </button>\n </span>\n }\n</div>\n<span\n #screenReaderLabelDismiss=\"skyId\"\n skyScreenReaderLabel\n skyId\n [createLabel]=\"dismissible && !ariaLabel\"\n>\n {{ 'skyux_tokens_dismiss_button_default_label' | skyLibResources }}\n</span>\n","export enum SkyTokensMessageType {\n /**\n * Places focus on the last token in the list.\n */\n FocusLastToken = 0,\n\n /**\n * Places focus on the token that is currently selected.\n */\n FocusActiveToken = 1,\n\n /**\n * Places focus on the token before the currently selected token.\n */\n FocusPreviousToken = 2,\n\n /**\n * Places focus on the token after the currently selected token.\n */\n FocusNextToken = 3,\n\n /**\n * Removes the token that is currently selected from the list of tokens.\n */\n RemoveActiveToken = 4,\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n QueryList,\n TrackByFunction,\n ViewChildren,\n inject,\n} from '@angular/core';\n\nimport { Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyTokenComponent } from './token.component';\nimport { SkyToken } from './types/token';\nimport { SkyTokenSelectedEventArgs } from './types/token-selected-event-args';\nimport { SkyTokensMessage } from './types/tokens-message';\nimport { SkyTokensMessageType } from './types/tokens-message-type';\n\nconst DISPLAY_WITH_DEFAULT = 'name';\n\n/**\n * Creates a container that enables navigation between tokens using keyboard arrow keys.\n * This is useful when combined with other components where the <kbd>Tab</kbd> key is\n * reserved for other functions, such as the SKY UX Lookup component.\n */\n@Component({\n selector: 'sky-tokens',\n templateUrl: './tokens.component.html',\n styleUrls: ['./tokens.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('blockAnimationOnLoad', [transition(':enter', [])]),\n trigger('dismiss', [\n transition(':enter', [\n style({\n opacity: 0,\n width: 0,\n }),\n animate(\n '150ms ease-in',\n style({\n opacity: 1,\n width: '*',\n }),\n ),\n ]),\n transition(':leave', [\n animate(\n '150ms ease-in',\n style({\n opacity: 0,\n width: 0,\n }),\n ),\n ]),\n ]),\n ],\n standalone: false,\n})\nexport class SkyTokensComponent implements OnDestroy {\n /**\n * Whether to disable the tokens list to prevent users from selecting tokens,\n * dismissing tokens, or navigating through the list with the arrow keys. When the tokens list\n * is disabled, users can still place focus on items in the list using the `Tab` key.\n * @default false\n */\n @Input()\n public set disabled(value: boolean | undefined) {\n this.#_disabled = !!value;\n }\n\n public get disabled(): boolean {\n return this.#_disabled;\n }\n\n /**\n * Whether users can remove a token from the list by selecting a token's close button.\n * @default true\n */\n @Input()\n public set dismissible(value: boolean | undefined) {\n this.#_dismissible = value !== false;\n }\n\n public get dismissible(): boolean {\n return this.#_dismissible;\n }\n\n /**\n * The token property to display for each item in the tokens list.\n * @default \"name\"\n */\n @Input()\n public set displayWith(value: string | undefined) {\n this.#_displayWith = value || DISPLAY_WITH_DEFAULT;\n }\n\n public get displayWith(): string {\n return this.#_displayWith;\n }\n\n /**\n * The token property that represents the token's unique identifier. When this property\n * is set, animations are enabled when dismissing tokens.\n */\n @Input()\n public trackWith: string | undefined;\n\n /**\n * Whether users can place focus on tokens in the list using the `Tab` key.\n * This does not affect the ability of users to select tokens, dismiss tokens,\n * or navigate through the list with the arrow keys.\n * @default true\n */\n @Input()\n public set focusable(value: boolean | undefined) {\n this.#_focusable = value !== false;\n }\n\n public get focusable(): boolean {\n return this.#_focusable;\n }\n\n /**\n * The array of tokens to include in the list.\n */\n @Input()\n public set tokens(value: SkyToken[] | undefined) {\n this.#_tokens = value || [];\n // The previous behavior was to set `this._tokens = value`, then emit `this._tokens`,\n // which would emit `undefined` instead of a default value of `[]` returned by the\n // get accessor when set to `undefined`. Emitting `value` instead of `this.#_tokensOrDefault`\n // preserves that behavior.\n this.tokensChange.emit(value);\n }\n\n public get tokens(): SkyToken[] {\n return this.#_tokens;\n }\n\n /**\n * The observable of `SkyTokensMessage` that can place focus on a\n * particular token or remove the active token from the list.\n */\n @Input()\n public set messageStream(value: Subject<SkyTokensMessage> | undefined) {\n this.#_messageStream = value || new Subject<SkyTokensMessage>();\n this.#initMessageStream();\n }\n\n public get messageStream(): Subject<SkyTokensMessage> {\n return this.#_messageStream;\n }\n\n /**\n * Fires when users navigate through the tokens list with the `Tab` key\n * and attempt to move past the final token in the list.\n */\n @Output()\n public focusIndexOverRange = new EventEmitter<void>();\n\n /**\n * Fires when users navigate through the tokens list with the `Tab` key\n * and attempt to move before the first token in the list.\n */\n @Output()\n public focusIndexUnderRange = new EventEmitter<void>();\n\n /**\n * Fires when users select a token in the list. This event emits the selected token.\n */\n @Output()\n public tokenSelected = new EventEmitter<SkyTokenSelectedEventArgs>();\n\n /**\n * Fires when the tokens in the list change.\n * This event emits an array of the tokens in the updated list.\n */\n @Output()\n public tokensChange = new EventEmitter<SkyToken[]>();\n\n /**\n * Fires when all animations on the tokens are complete.\n * @internal\n */\n @Output()\n public tokensRendered = new EventEmitter<void>();\n\n public get activeIndex(): number {\n return this.#_activeIndex;\n }\n\n public set activeIndex(value: number) {\n if (value >= this.#_tokens.length) {\n value = this.#_tokens.length - 1;\n this.focusIndexOverRange.emit();\n }\n\n if (value < 0) {\n value = 0;\n this.focusIndexUnderRange.emit();\n }\n\n this.#_activeIndex = value || 0;\n }\n\n public trackTokenFn: TrackByFunction<SkyToken>;\n\n #_disabled = false;\n #_dismissible = true;\n #_focusable = true;\n #_tokens: SkyToken[] = [];\n #_displayWith = DISPLAY_WITH_DEFAULT;\n\n @ViewChildren(SkyTokenComponent)\n public tokenComponents: QueryList<SkyTokenComponent> | undefined;\n\n #messageStreamSub: Subscription | undefined;\n #ngUnsubscribe = new Subject<void>();\n\n #changeDetector = inject(ChangeDetectorRef);\n\n #_activeIndex = 0;\n #_messageStream = new Subject<SkyTokensMessage>();\n\n constructor() {\n this.#initMessageStream();\n\n // Angular calls the trackBy function without applying the component instance's scope.\n // Use a fat-arrow function so the current component instance's trackWith property can\n // be referenced.\n this.trackTokenFn = (_index, item): unknown => {\n if (this.trackWith) {\n return item.value[this.trackWith];\n }\n\n return item;\n };\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public onTokenClick(token: SkyToken): void {\n if (this.disabled) {\n return;\n }\n\n this.#notifyTokenSelected(token);\n }\n\n public animationDone(): void {\n this.tokensRendered.emit();\n }\n\n public onTokenKeyDown(event: KeyboardEvent): void {\n if (!this.disabled) {\n switch (event.key) {\n case 'Left':\n case 'ArrowLeft':\n this.#_messageStream.next({\n type: SkyTokensMessageType.FocusPreviousToken,\n });\n event.preventDefault();\n break;\n\n case 'Right':\n case 'ArrowRight':\n this.#_messageStream.next({\n type: SkyTokensMessageType.FocusNextToken,\n });\n event.preventDefault();\n break;\n }\n }\n }\n\n public selectToken(token: SkyToken): void {\n if (!this.disabled) {\n this.#notifyTokenSelected(token);\n }\n }\n\n public removeToken(token: SkyToken): void {\n this.tokens = this.tokens.filter((t) => t !== token);\n this.#changeDetector.detectChanges();\n }\n\n #focusPreviousToken(): void {\n this.activeIndex--;\n this.#focusActiveToken();\n }\n\n #focusNextToken(): void {\n this.activeIndex++;\n this.#focusActiveToken();\n }\n\n #focusLastToken(): void {\n if (this.tokenComponents) {\n this.activeIndex = this.tokenComponents.length - 1;\n this.#focusActiveToken();\n }\n }\n\n #focusActiveToken(): void {\n if (this.tokenComponents) {\n const tokenComponent = this.tokenComponents.find(\n (_comp: SkyTokenComponent, i: number) => {\n return this.activeIndex === i;\n },\n );\n\n if (tokenComponent) {\n tokenComponent.focusElement();\n }\n }\n }\n\n #removeActiveToken(): void {\n const token = this.tokens[this.activeIndex];\n if (token) {\n this.removeToken(token);\n }\n }\n\n #initMessageStream(): void {\n if (this.#messageStreamSub) {\n this.#messageStreamSub.unsubscribe();\n }\n\n this.#messageStreamSub = this.messageStream\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((message: SkyTokensMessage) => {\n switch (message.type) {\n case SkyTokensMessageType.FocusLastToken:\n this.#focusLastToken();\n break;\n\n case SkyTokensMessageType.FocusActiveToken:\n this.#focusActiveToken();\n break;\n\n case SkyTokensMessageType.FocusPreviousToken:\n this.#focusPreviousToken();\n break;\n\n case SkyTokensMessageType.FocusNextToken:\n this.#focusNextToken();\n break;\n\n case SkyTokensMessageType.RemoveActiveToken:\n this.#removeActiveToken();\n break;\n }\n });\n }\n\n #notifyTokenSelected(token: SkyToken): void {\n this.tokenSelected.emit({\n token,\n });\n }\n}\n","<div\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens.length ? 'grid' : null\"\n>\n <!--\n The role must use square brackets otherwise Angular sets the native 'role'\n attribute as well as the input attribute of the token, which fails accessibility rules.\n -->\n @for (token of tokens; track trackTokenFn(i, token); let i = $index) {\n <sky-token\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n [role]=\"'row'\"\n (@dismiss.done)=\"animationDone()\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n }\n <div class=\"sky-tokens-content\" [attr.role]=\"tokens.length ? 'row' : null\">\n <div [attr.role]=\"tokens.length ? 'gridcell' : null\">\n <ng-content />\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule, SkyScreenReaderLabelDirective } from '@skyux/core';\nimport { SkyIconModule } from '@skyux/icon';\n\nimport { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';\n\nimport { SkyTokenComponent } from './token.component';\nimport { SkyTokensComponent } from './tokens.component';\n\n@NgModule({\n declarations: [SkyTokenComponent, SkyTokensComponent],\n imports: [\n CommonModule,\n SkyIconModule,\n SkyIndicatorsResourcesModule,\n SkyIdModule,\n SkyScreenReaderLabelDirective,\n ],\n exports: [SkyTokenComponent, SkyTokensComponent],\n})\nexport class SkyTokensModule {}\n","import {\n ElementRef,\n Injectable,\n OnDestroy,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\n\nconst busyElements: Record<\n string,\n {\n busyEl: HTMLElement | undefined;\n listener: () => void;\n restoreFocusElement?: HTMLElement | undefined;\n restoreFocusCheckElement?: HTMLElement | undefined;\n }\n> = {};\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyWaitAdapterService implements OnDestroy {\n public static isPageWaitActive = false;\n\n #focusableElements: HTMLElement[] | undefined;\n #renderer: Renderer2;\n\n constructor(rendererFactory: RendererFactory2) {\n this.#renderer = rendererFactory.createRenderer(undefined, null);\n }\n\n public ngOnDestroy(): void {\n this.#clearListeners();\n }\n\n public setWaitBounds(waitEl: ElementRef): void {\n this.#renderer.addClass(\n waitEl.nativeElement.parentElement,\n 'sky-wait-element-active',\n );\n }\n\n public removeWaitBounds(waitEl: ElementRef): void {\n this.#renderer.removeClass(\n waitEl.nativeElement.parentElement,\n 'sky-wait-element-active',\n );\n }\n\n public setBusyState(\n waitEl: ElementRef,\n isFullPage: boolean,\n isWaiting: boolean,\n isNonBlocking: boolean,\n waitComponentId?: string,\n ): void {\n const busyEl = isFullPage\n ? document.body\n : waitEl.nativeElement.parentElement;\n\n if (!isNonBlocking) {\n if (isWaiting) {\n let restoreFocusElement: HTMLElement | undefined = undefined;\n let restoreFocusCheckElement: HTMLElement | undefined = undefined;\n this.#renderer.setAttribute(busyEl, 'aria-busy', 'true');\n\n // Remove focus from page when full page blocking wait\n if (isFullPage || busyEl.contains(document.activeElement)) {\n if (document.activeElement !== document.body) {\n restoreFocusElement = document.activeElement as HTMLElement;\n }\n this.#clearDocumentFocus();\n restoreFocusCheckElement = document.activeElement as HTMLElement;\n }\n\n if (isFullPage) {\n SkyWaitAdapterService.isPageWaitActive = true;\n const endListenerFunc = this.#renderer.listen(\n document.body,\n 'keydown',\n (event: KeyboardEvent) => {\n /*istanbul ignore else */\n if (event.key) {\n /* istanbul ignore else */\n if (event.key.toLowerCase() === 'tab') {\n (event.target as HTMLElement).blur();\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n this.#clearDocumentFocus();\n }\n }\n },\n );\n\n if (waitComponentId) {\n busyElements[waitComponentId] = {\n listener: endListenerFunc,\n busyEl: undefined,\n restoreFocusElement,\n restoreFocusCheckElement,\n };\n }\n } else {\n const endListenerFunc = this.#renderer.listen(\n busyEl,\n 'focusin',\n (event: KeyboardEvent) => {\n /* istanbul ignore else */\n if (!isNonBlocking) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n\n if (SkyWaitAdapterService.isPageWaitActive) {\n this.#clearDocumentFocus();\n } else {\n // Propagate tab navigation if attempted into waited element\n const target = event.target as HTMLElement;\n\n if (target) {\n target.blur();\n this.#focusNextElement(target, this.#isShift(event));\n }\n }\n }\n },\n );\n\n if (waitComponentId) {\n busyElements[waitComponentId] = {\n listener: endListenerFunc,\n busyEl,\n restoreFocusElement,\n restoreFocusCheckElement,\n };\n }\n }\n } else {\n this.#renderer.removeAttribute(busyEl, 'aria-busy');\n\n if (isFullPage) {\n SkyWaitAdapterService.isPageWaitActive = false;\n }\n\n if (waitComponentId && waitComponentId in busyElements) {\n const busyElement = busyElements[waitComponentId];\n\n busyElement.listener();\n\n // If there is a restore focus element and the focus has not moved, restore focus.\n if (busyElement.restoreFocusCheckElement === document.activeElement) {\n busyElement.restoreFocusElement?.focus();\n }\n\n delete busyElements[waitComponentId];\n }\n }\n }\n }\n\n #focusNextElement(targetElement: HTMLElement, shiftKey: boolean): void {\n const focusable = this.#getFocusableElements();\n\n // If shift tab, go in the other direction\n const modifier = shiftKey ? -1 : 1;\n\n // Find the next navigable element that isn't waiting\n const startingIndex = focusable.indexOf(targetElement);\n let curIndex = startingIndex + modifier;\n while (\n focusable[curIndex] &&\n this.#isElementBusyOrHidden(focusable[curIndex])\n ) {\n curIndex += modifier;\n }\n\n if (\n focusable[curIndex] &&\n !this.#isElementBusyOrHidden(focusable[curIndex])\n ) {\n focusable[curIndex].focus();\n } else {\n // Try wrapping the navigation\n /* istanbul ignore next */\n /* sanity check */\n curIndex = modifier > 0 ? 0 : focusable.length - 1;\n while (\n curIndex !== startingIndex &&\n focusable[curIndex] &&\n this.#isElementBusyOrHidden(focusable[curIndex])\n ) {\n /* istanbul ignore next */\n /* sanity check */\n curIndex += modifier;\n }\n\n /* istanbul ignore else */\n /* sanity check */\n if (\n focusable[curIndex] &&\n !this.#isElementBusyOrHidden(focusable[curIndex])\n ) {\n focusable[curIndex].focus();\n } else {\n // No valid target, wipe focus\n this.#clearDocumentFocus();\n }\n }\n\n // clear focusableElements list\n this.#focusableElements = undefined;\n }\n\n #isShift(event: Event): boolean {\n // Determine if shift+tab was used based on element order\n const elements = this.#getFocusableElements().filter(\n (elem) => !this.#isElementHidden(elem),\n );\n\n const previousInd = elements.indexOf((event as any).relatedTarget);\n const currentInd = elements.indexOf(event.target as HTMLElement);\n\n return (\n previousInd === currentInd + 1 ||\n (previousInd === 0 && currentInd === elements.length - 1) ||\n previousInd > currentInd ||\n !(event as any).relatedTarget\n );\n }\n\n #isElementHidden(element: HTMLElement): boolean {\n const style = window.getComputedStyle(element);\n return style.display === 'none' || style.visibility === 'hidden';\n }\n\n #isElementBusyOrHidden(element: HTMLElement): boolean {\n if (this.#isElementHidden(element)) {\n return true;\n }\n\n for (const key of Object.keys(busyElements)) {\n const parentElement = busyElements[key].busyEl;\n if (parentElement && parentElement.contains(element)) {\n return true;\n }\n }\n return false;\n }\n\n #clearDocumentFocus(): void {\n const activeElement = document.activeElement as HTMLElement;\n\n /* istanbul ignore else */\n if (activeElement) {\n activeElement.blur();\n }\n\n document.body.focus();\n }\n\n #getFocusableElements(): HTMLElement[] {\n // Keep this cached so we can reduce queries\n if (this.#focusableElements) {\n return this.#focusableElements;\n }\n\n // Select all possible focusable elements\n const focusableElements =\n 'a[href], ' +\n 'area[href], ' +\n \"input:not([disabled]):not([tabindex='-1']), \" +\n \"button:not([disabled]):not([tabindex='-1']), \" +\n \"select:not([disabled]):not([tabindex='-1']), \" +\n \"textarea:not([disabled]):not([tabindex='-1']), \" +\n 'iframe, object, embed, ' +\n \"*[tabindex]:not([tabindex='-1']), \" +\n '*[contenteditable=true]';\n\n this.#focusableElements = Array.prototype.filter.call(\n document.body.querySelectorAll(focusableElements),\n (element: HTMLElement) => {\n return (\n element.offsetWidth > 0 ||\n element.offsetHeight > 0 ||\n element === document.activeElement\n );\n },\n );\n return this.#focusableElements;\n }\n\n #clearListeners(): void {\n SkyWaitAdapterService.isPageWaitActive = false;\n for (const key of Object.keys(busyElements)) {\n busyElements[key].listener();\n delete busyElements[key];\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n inject,\n} from '@angular/core';\nimport { SkyLiveAnnouncerService } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\n\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { SkyIndicatorsResourcesModule } from '../shared/sky-indicators-resources.module';\n\nimport { SkyWaitAdapterService } from './wait-adapter.service';\n\nlet nextId = 0;\n\n@Component({\n selector: 'sky-wait',\n templateUrl: './wait.component.html',\n styleUrls: ['./wait.component.scss'],\n providers: [SkyWaitAdapterService],\n imports: [CommonModule, SkyIndicatorsResourcesModule],\n})\nexport class SkyWaitComponent implements OnInit, OnDestroy {\n /**\n * The ARIA label for the wait icon.\n * This sets the icon's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility) when an element or page loads and when users tab to a wait icon.\n * The default value varies based on whether the wait is for an element or a page and whether it is a blocking wait. For example, the default for a page-level blocking wait is \"Page loading. Please wait.\"\n * For element-level waits, we recommend that consumers overwrite the default to describe the specific element.\n * \"For more information, see the Design tab and the [WAI-ARIA `aria-label` definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public set ariaLabel(value: string | undefined) {\n this.#customAriaLabel = value;\n this.#publishAriaLabel();\n }\n\n /**\n * When set to `true`, wait indication appears on the parent element of the `sky-wait` component.\n */\n @Input()\n public set isWaiting(value: boolean | undefined) {\n if (!this.isFullPage) {\n if (value) {\n this.#adapterService.setWaitBounds(this.#elRef);\n } else {\n this.#adapterService.removeWaitBounds(this.#elRef);\n }\n }\n\n this.#adapterService.setBusyState(\n this.#elRef,\n !!this.isFullPage,\n !!value,\n !!this.isNonBlocking,\n this.#id,\n );\n\n if (value) {\n this.#liveAnnouncer.announce(this.ariaLabelStream.getValue());\n } else if (this.#_isWaiting) {\n // NOTE: This should only happen if the wait was previously waiting and no longer is waiting.\n this.#liveAnnouncer.announce(\n this.screenReaderCompletedTextStream.getValue(),\n );\n }\n\n this.#_isWaiting = value;\n }\n\n public get isWaiting(): boolean | undefined {\n return this.#_isWaiting;\n }\n\n /**\n * When set to `true`, wait indication appears on the page level instead of the\n * parent element level. We recommend that you use the `beginBlockingPageWait` or\n * `beginNonBlockingPageWait` functions of the `SkyWaitService` instead of setting this\n * on the component level.\n * @default false\n */\n @Input()\n public set isFullPage(value: boolean | undefined) {\n /* istanbul ignore else: untestable */\n if (value) {\n this.#adapterService.removeWaitBounds(this.#elRef);\n } else if (this.isWaiting) {\n this.#adapterService.setWaitBounds(this.#elRef);\n }\n\n this.#_isFullPage = value;\n this.#publishAriaLabel();\n this.#publishScreenReaderCompletedText();\n }\n\n public get isFullPage(): boolean | undefined {\n return this.#_isFullPage;\n }\n\n /**\n * When set to `true`, wait indication appears in the bottom left corner of the element\n * instead of hiding the entire parent element.\n * @default false\n */\n @Input()\n public set isNonBlocking(value: boolean | undefined) {\n this.#_isNonBlocking = value;\n this.#publishAriaLabel();\n }\n\n public get isNonBlocking(): boolean | undefined {\n return this.#_isNonBlocking;\n }\n\n /**\n * Screen reader text [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility) when the wait toggles off.\n * The default varies based on whether the wait is for an element or a page.\n * For example, the default for a page-level wait is \"Page loading complete.\"\n * For element-level waits, we recommend that consumers overwrite the default to describe the specific element.\n * For more information, see the Design tab and the [WCAG documentation on status messages](https://www.w3.org/WAI/WCAG21/Understanding/status-messages.html).\n */\n @Input()\n public set screenReaderCompletedText(value: string | undefined) {\n this.#customScreenReaderCompletedText = value;\n this.#publishScreenReaderCompletedText();\n }\n\n public ariaLabelStream = new BehaviorSubject<string>('');\n public ariaLiveText = '';\n public screenReaderCompletedTextStream = new BehaviorSubject<string>('');\n\n #customAriaLabel: string | undefined;\n #customScreenReaderCompletedText: string | undefined;\n #id = `sky-wait-${++nextId}`;\n #ngUnsubscribe = new Subject<void>();\n\n #_isFullPage: boolean | undefined;\n #_isNonBlocking: boolean | undefined;\n #_isWaiting: boolean | undefined;\n\n readonly #adapterService = inject(SkyWaitAdapterService);\n readonly #elRef = inject(ElementRef);\n readonly #liveAnnouncer = inject(SkyLiveAnnouncerService);\n readonly #resourceSvc = inject(SkyLibResourcesService);\n\n public ngOnInit(): void {\n this.#publishAriaLabel();\n this.#publishScreenReaderCompletedText();\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n #publishAriaLabel(): void {\n if (this.#customAriaLabel) {\n this.ariaLabelStream.next(this.#customAriaLabel);\n } else {\n const type = this.isFullPage ? '_page' : '';\n const blocking = this.isNonBlocking ? '' : '_blocking';\n const key = `skyux_wait${type}${blocking}_aria_alt_text`;\n this.#resourceSvc\n .getString(key)\n .pipe(take(1), takeUntil(this.#ngUnsubscribe))\n .subscribe((value) => {\n this.ariaLabelStream.next(value);\n });\n }\n }\n\n #publishScreenReaderCompletedText(): void {\n if (this.#customScreenReaderCompletedText) {\n this.screenReaderCompletedTextStream.next(\n this.#customScreenReaderCompletedText,\n );\n } else {\n const type = this.isFullPage ? '_page' : '';\n const key = `skyux_wait${type}_screen_reader_completed_text`;\n this.#resourceSvc\n .getString(key)\n .pipe(take(1), takeUntil(this.#ngUnsubscribe))\n .subscribe((value) => {\n this.screenReaderCompletedTextStream.next(value);\n });\n }\n }\n}\n","<div\n class=\"sky-wait-container\"\n [ngClass]=\"{\n 'sky-wait-full-page': isFullPage,\n 'sky-wait-non-blocking': isNonBlocking\n }\"\n>\n @if (isWaiting) {\n <div\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 }\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { SkyWaitComponent } from './wait.component';\n\n@NgModule({\n imports: [SkyWaitComponent],\n exports: [SkyWaitComponent],\n})\nexport class SkyWaitModule {}\n","import { Component, Input } from '@angular/core';\n\nimport { SkyWaitComponent } from './wait.component';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-wait-page',\n templateUrl: './wait-page.component.html',\n styleUrls: ['./wait-page.component.scss'],\n imports: [SkyWaitComponent],\n})\nexport class SkyWaitPageComponent {\n @Input()\n public hasBlockingWait: boolean | undefined;\n\n @Input()\n public hasNonBlockingWait: boolean | undefined;\n}\n","<div class=\"sky-wait-page\">\n <sky-wait\n data-sky-id=\"page-wait-non-blocking\"\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n />\n <sky-wait\n data-sky-id=\"page-wait-blocking\"\n [isFullPage]=\"true\"\n [isWaiting]=\"hasBlockingWait\"\n />\n</div>\n","import {\n ComponentRef,\n EnvironmentInjector,\n Injectable,\n inject,\n} from '@angular/core';\nimport { SkyAppWindowRef, SkyDynamicComponentService } from '@skyux/core';\n\nimport { Observable, defer as observableDefer } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\n\nimport { SkyWaitPageComponent } from './wait-page.component';\n\nlet waitComponent: SkyWaitPageComponent | undefined;\nlet waitComponentRef: ComponentRef<SkyWaitPageComponent> | undefined;\nlet pageWaitBlockingCount = 0;\nlet pageWaitNonBlockingCount = 0;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SkyWaitService {\n #environmentInjector = inject(EnvironmentInjector);\n #windowSvc = inject(SkyAppWindowRef);\n #dynamicComponentService = inject(SkyDynamicComponentService);\n\n /**\n * Starts a blocking page wait on the page.\n */\n public beginBlockingPageWait(): void {\n this.#beginPageWait(true);\n }\n\n /**\n * Starts a non-blocking page wait on the page.\n */\n public beginNonBlockingPageWait(): void {\n this.#beginPageWait(false);\n }\n\n /**\n * Ends a blocking page wait on the page. Blocking page wait indication\n * is removed when all running blocking page waits are ended.\n */\n public endBlockingPageWait(): void {\n this.#endPageWait(true);\n }\n\n /**\n * Ends a non-blocking page wait on the page. Non-blocking page wait indication\n * is removed when all running non-blocking page waits are ended.\n */\n public endNonBlockingPageWait(): void {\n this.#endPageWait(false);\n }\n\n /**\n * Clears all blocking and non-blocking page waits on the page.\n */\n public clearAllPageWaits(): void {\n this.#clearPageWait(true);\n this.#clearPageWait(false);\n }\n\n /**\n * @internal\n */\n public dispose(): void {\n if (waitComponent) {\n waitComponent = undefined;\n pageWaitBlockingCount = 0;\n pageWaitNonBlockingCount = 0;\n this.#dynamicComponentService.removeComponent(waitComponentRef);\n }\n }\n\n /**\n * Launches a page wait and automatically stops when the specific asynchronous event completes.\n */\n public blockingWrap<T>(observable: Observable<T>): Observable<T> {\n return observableDefer(() => {\n this.beginBlockingPageWait();\n return observable.pipe(finalize(() => this.endBlockingPageWait()));\n });\n }\n\n /**\n * Launches a non-blocking page wait and automatically stops when the specific\n * asynchronous event completes.\n */\n public nonBlockingWrap<T>(observable: Observable<T>): Observable<T> {\n return observableDefer(() => {\n this.beginNonBlockingPageWait();\n return observable.pipe(finalize(() => this.endNonBlockingPageWait()));\n });\n }\n\n #setWaitComponentProperties(isBlocking: boolean): void {\n if (waitComponent) {\n if (isBlocking) {\n waitComponent.hasBlockingWait = true;\n pageWaitBlockingCount++;\n } else {\n waitComponent.hasNonBlockingWait = true;\n pageWaitNonBlockingCount++;\n }\n }\n }\n\n #beginPageWait(isBlocking: boolean): void {\n if (!waitComponent) {\n /*\n Dynamic component creation needs to be done in a timeout to prevent ApplicationRef from\n crashing when wait service is called in Angular lifecycle functions.\n */\n this.#windowSvc.nativeWindow.setTimeout(() => {\n // Ensuring here that we recheck this after the setTimeout is over so that we don't clash\n // with any other waits that are created.\n if (!waitComponent) {\n waitComponentRef = this.#dynamicComponentService.createComponent(\n SkyWaitPageComponent,\n {\n environmentInjector: this.#environmentInjector,\n },\n );\n\n waitComponent = waitComponentRef.instance;\n }\n\n this.#setWaitComponentProperties(isBlocking);\n });\n } else {\n this.#setWaitComponentProperties(isBlocking);\n }\n }\n\n #endPageWait(isBlocking: boolean): void {\n /*\n Needs to yield so that wait creation can finish\n before it is dismissed in the event of a race.\n */\n this.#windowSvc.nativeWindow.setTimeout(() => {\n if (waitComponent) {\n if (isBlocking) {\n if (pageWaitBlockingCount > 0) {\n pageWaitBlockingCount--;\n }\n\n if (pageWaitBlockingCount < 1) {\n waitComponent.hasBlockingWait = false;\n }\n } else {\n if (pageWaitNonBlockingCount > 0) {\n pageWaitNonBlockingCount--;\n }\n\n if (pageWaitNonBlockingCount < 1) {\n waitComponent.hasNonBlockingWait = false;\n }\n }\n }\n });\n }\n\n #clearPageWait(isBlocking: boolean): void {\n // Wait for the component to be created before clearing it.\n this.#windowSvc.nativeWindow.setTimeout(() => {\n if (waitComponent) {\n if (isBlocking) {\n pageWaitBlockingCount = 0;\n waitComponent.hasBlockingWait = false;\n } else {\n pageWaitNonBlockingCount = 0;\n waitComponent.hasNonBlockingWait = false;\n }\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","i3.SkyExpansionIndicatorComponent","i3","i4","i1.SkyTokenComponent","take","observableDefer"],"mappings":"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"}
@@ -17,7 +17,6 @@ export declare class SkyIllustrationComponent {
17
17
  */
18
18
  readonly size: import("@angular/core").InputSignal<SkyIllustrationSize>;
19
19
  protected readonly url: import("@angular/core").Signal<string | undefined>;
20
- protected readonly pixelSize: import("@angular/core").Signal<number>;
21
20
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyIllustrationComponent, never>;
22
21
  static ɵcmp: i0.ɵɵComponentDeclaration<SkyIllustrationComponent, "sky-illustration", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.SkyThemeComponentClassDirective; inputs: {}; outputs: {}; }]>;
23
22
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/indicators",
3
- "version": "12.9.0",
3
+ "version": "12.10.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -21,12 +21,12 @@
21
21
  "@angular/common": "^19.2.7",
22
22
  "@angular/core": "^19.2.7",
23
23
  "@angular/platform-browser": "^19.2.7",
24
- "@skyux-sdk/testing": "12.9.0",
25
- "@skyux/core": "12.9.0",
26
- "@skyux/help-inline": "12.9.0",
27
- "@skyux/i18n": "12.9.0",
28
- "@skyux/icon": "12.9.0",
29
- "@skyux/theme": "12.9.0"
24
+ "@skyux-sdk/testing": "12.10.0",
25
+ "@skyux/core": "12.10.0",
26
+ "@skyux/help-inline": "12.10.0",
27
+ "@skyux/i18n": "12.10.0",
28
+ "@skyux/icon": "12.10.0",
29
+ "@skyux/theme": "12.10.0"
30
30
  },
31
31
  "dependencies": {
32
32
  "tslib": "^2.8.1"