@skyux/indicators 7.1.4 → 7.3.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.
- package/documentation.json +662 -347
- package/esm2020/lib/modules/tokens/token.component.mjs +2 -2
- package/esm2020/lib/modules/wait/wait.component.mjs +3 -3
- package/esm2020/lib/modules/wait/wait.service.mjs +15 -32
- package/esm2020/testing/public-api.mjs +3 -1
- package/esm2020/testing/wait/wait-harness-filters.mjs +2 -0
- package/esm2020/testing/wait/wait-harness.mjs +56 -0
- package/fesm2015/skyux-indicators-testing.mjs +63 -1
- package/fesm2015/skyux-indicators-testing.mjs.map +1 -1
- package/fesm2015/skyux-indicators.mjs +18 -35
- package/fesm2015/skyux-indicators.mjs.map +1 -1
- package/fesm2020/skyux-indicators-testing.mjs +55 -1
- package/fesm2020/skyux-indicators-testing.mjs.map +1 -1
- package/fesm2020/skyux-indicators.mjs +18 -35
- package/fesm2020/skyux-indicators.mjs.map +1 -1
- package/lib/modules/wait/wait.service.d.ts +2 -12
- package/package.json +5 -5
- package/testing/public-api.d.ts +2 -0
- package/testing/wait/wait-harness-filters.d.ts +6 -0
- package/testing/wait/wait-harness.d.ts +34 -0
- package/esm2020/lib/modules/wait/types/wait-blocking-wrap-args.mjs +0 -2
- package/esm2020/lib/modules/wait/types/wait-non-blocking-wrap-args.mjs +0 -2
- package/lib/modules/wait/types/wait-blocking-wrap-args.d.ts +0 -4
- package/lib/modules/wait/types/wait-non-blocking-wrap-args.d.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-indicators-testing.mjs","sources":["../../../../../libs/components/indicators/testing/src/alert/alert-harness.ts","../../../../../libs/components/indicators/testing/src/key-info/key-info-label-harness.ts","../../../../../libs/components/indicators/testing/src/key-info/key-info-value-harness.ts","../../../../../libs/components/indicators/testing/src/key-info/key-info-harness.ts","../../../../../libs/components/indicators/testing/src/label/label-harness.ts","../../../../../libs/components/indicators/testing/src/tokens/token-harness.ts","../../../../../libs/components/indicators/testing/src/tokens/tokens-harness.ts","../../../../../libs/components/indicators/testing/src/alert-fixture.ts","../../../../../libs/components/indicators/testing/src/label-fixture.ts","../../../../../libs/components/indicators/testing/src/wait-fixture.ts","../../../../../libs/components/indicators/testing/src/skyux-indicators-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyIndicatorIconType,\n} from '@skyux/indicators';\n\nimport { SkyAlertHarnessFilters } from './alert-harness-filters';\n\n/**\n * Harness for interacting with an alert component in tests.\n */\nexport class SkyAlertHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-alert';\n\n #getAlert = this.locatorFor('.sky-alert');\n #getContent = this.locatorFor('.sky-alert-content');\n #getCloseButton = this.locatorFor('.sky-alert-close');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAlertHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAlertHarnessFilters\n ): HarnessPredicate<SkyAlertHarness> {\n return SkyAlertHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current alert type.\n */\n public async getAlertType(): Promise<SkyIndicatorIconType | undefined> {\n const alert = await this.#getAlert();\n\n if (await alert.hasClass('sky-alert-danger')) {\n return 'danger';\n }\n\n if (await alert.hasClass('sky-alert-info')) {\n return 'info';\n }\n\n if (await alert.hasClass('sky-alert-success')) {\n return 'success';\n }\n\n return 'warning';\n }\n\n /**\n * Gets the current alert text.\n */\n public async getText(): Promise<string> {\n return await (await this.#getContent()).text();\n }\n\n /**\n * Closes the alert.\n */\n public async close(): Promise<void> {\n if (!(await this.isCloseable())) {\n throw new Error('The alert is not closeable.');\n }\n\n (await this.#getCloseButton()).click();\n }\n\n /**\n * Indicates whether the user has closed the alert.\n */\n public async isClosed(): Promise<boolean> {\n const alert = await this.#getAlert();\n\n return await alert.getProperty('hidden');\n }\n\n /**\n * Indicates whether the user can close the alert.\n */\n public async isCloseable(): Promise<boolean> {\n const closeBtn = await this.#getCloseButton();\n return !(await closeBtn.getProperty('hidden'));\n }\n\n /**\n * Gets the `descriptionType` of the label component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the label component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info label component in tests.\n * @internal\n */\nexport class SkyKeyInfoLabelHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info-label';\n\n /**\n * Gets the text value of the component content.\n */\n public async getText(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info value component in tests.\n * @internal\n */\nexport class SkyKeyInfoValueHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info-value';\n\n /**\n * Gets the text value of the component content.\n */\n public async getText(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyKeyInfoLayoutType } from '@skyux/indicators';\n\nimport { SkyKeyInfoHarnessFilters } from './key-info-harness-filters';\nimport { SkyKeyInfoLabelHarness } from './key-info-label-harness';\nimport { SkyKeyInfoValueHarness } from './key-info-value-harness';\n\n/**\n * Harness for interacting with a key info component in tests.\n */\nexport class SkyKeyInfoHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info';\n\n #getLabel = this.locatorFor(SkyKeyInfoLabelHarness);\n #getValue = this.locatorFor(SkyKeyInfoValueHarness);\n #getWrapper = this.locatorFor('.sky-key-info');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyKeyInfoHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyKeyInfoHarnessFilters\n ): HarnessPredicate<SkyKeyInfoHarness> {\n return SkyKeyInfoHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current value text.\n */\n public async getValueText(): Promise<string> {\n return await (await this.#getValue()).getText();\n }\n\n /**\n * Gets the current label text.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getLabel()).getText();\n }\n\n /**\n * Gets the current layout type.\n */\n public async getLayout(): Promise<SkyKeyInfoLayoutType> {\n return (await (\n await this.#getWrapper()\n ).hasClass('sky-key-info-horizontal'))\n ? 'horizontal'\n : 'vertical';\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyLabelType,\n} from '@skyux/indicators';\n\nimport { SkyLabelHarnessFilters } from './label-harness-filters';\n\n/**\n * Harness for interacting with a label component in tests.\n */\nexport class SkyLabelHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-label';\n\n #getWrapper = this.locatorFor('.sky-label');\n #getTextEl = this.locatorFor('.sky-label-text');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLabelHarnessFilters\n ): HarnessPredicate<SkyLabelHarness> {\n return SkyLabelHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the text of the label component.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getTextEl()).text();\n }\n\n /**\n * Gets the `labelType` of the label component.\n */\n public async getLabelType(): Promise<SkyLabelType> {\n const labelClasses: DOMTokenList = await (\n await this.#getWrapper()\n ).getProperty('classList');\n\n if (labelClasses.contains('sky-label-success')) {\n return 'success';\n }\n\n if (labelClasses.contains('sky-label-danger')) {\n return 'danger';\n }\n\n if (labelClasses.contains('sky-label-warning')) {\n return 'warning';\n }\n\n return 'info';\n }\n\n /**\n * Gets the `descriptionType` of the label component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the label component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n}\n","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyTokenHarnessFilters } from './token-harness-filters';\n\n/**\n * Harness for interacting with a token component in tests.\n */\nexport class SkyTokenHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-token';\n\n #getActionButton = this.locatorFor('button.sky-token-btn-action');\n\n #getDismissButton = this.locatorFor('button.sky-token-btn-close');\n\n #getWrapper = this.locatorFor('.sky-token');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyTokenHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyTokenHarnessFilters\n ): HarnessPredicate<SkyTokenHarness> {\n return new HarnessPredicate(this, filters).addOption(\n 'text',\n filters.text,\n async (harness, test) =>\n HarnessPredicate.stringMatches(\n await (await harness.host()).text(),\n test\n )\n );\n }\n\n /**\n * Selects the token.\n */\n public async select(): Promise<void> {\n if (await this.isDisabled()) {\n throw new Error('Could not select the token because it is disabled.');\n }\n\n await (await this.host()).click();\n }\n\n /**\n * Dismisses the token.\n */\n public async dismiss(): Promise<void> {\n if (!(await this.isDismissible())) {\n throw new Error(\n 'Could not dismiss the token because it is not dismissible.'\n );\n }\n\n await (await this.#getDismissButton()).click();\n }\n\n /**\n * Returns the text content of the token.\n */\n public async getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /**\n * Whether the token is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n return (await this.#getWrapper()).hasClass('sky-token-disabled');\n }\n\n /**\n * Whether the token is dismissible.\n */\n public async isDismissible(): Promise<boolean> {\n return (await this.#getWrapper()).hasClass('sky-token-dismissible');\n }\n\n /**\n * Whether the token is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.#getActionButton()).isFocused();\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyTokenHarness } from './token-harness';\nimport { SkyTokenHarnessFilters } from './token-harness-filters';\nimport { SkyTokensHarnessFilters } from './tokens-harness-filters';\n\n/**\n * Harness for interacting with a tokens component in tests.\n */\nexport class SkyTokensHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-tokens';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyTokensHarness` that meets certain criteria.\n */\n public static with(filters: SkyTokensHarnessFilters) {\n return SkyTokensHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Dismisses all tokens, or tokens that meet certain criteria.\n */\n public async dismissTokens(filters?: SkyTokenHarnessFilters): Promise<void> {\n const tokens = await this.getTokens(filters);\n for (const token of tokens) {\n await token.dismiss();\n }\n }\n\n /**\n * Returns a list of tokens.\n */\n public async getTokens(\n filters?: SkyTokenHarnessFilters\n ): Promise<SkyTokenHarness[]> {\n return this.locatorForAll(SkyTokenHarness.with(filters || {}))();\n }\n\n /**\n * Returns the text content of all tokens.\n */\n public async getTokensText(): Promise<string[]> {\n const tokens = await this.getTokens();\n const values: string[] = [];\n\n for (const token of tokens) {\n values.push(await token.getText());\n }\n\n return values;\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX alert component.\n * @deprecated Use `SkyAlertHarness` instead.\n * @internal\n */\nexport class SkyAlertFixture {\n /**\n * The alert's current text.\n */\n public get text(): string | undefined {\n return SkyAppTestUtility.getText(this.#debugEl);\n }\n\n /**\n * A flag indicating whether the alert can be closed.\n */\n public get closeable(): boolean | undefined {\n const closeBtnEl = this.#getCloseBtnEl();\n\n return SkyAppTestUtility.isVisible(closeBtnEl);\n }\n\n /**\n * Returns a flag indicating whether the alert is closed.\n */\n public get closed(): boolean {\n return !SkyAppTestUtility.isVisible(this.#getAlertEl());\n }\n\n /**\n * The alert's current type.\n */\n public get alertType(): string | undefined {\n const clsList = this.#getAlertEl().nativeElement.classList;\n\n if (clsList.contains('sky-alert-danger')) {\n return 'danger';\n }\n\n if (clsList.contains('sky-alert-info')) {\n return 'info';\n }\n\n if (clsList.contains('sky-alert-success')) {\n return 'success';\n }\n\n if (clsList.contains('sky-alert-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-alert'\n );\n }\n\n /**\n * Closes the alert. If the alert is not closeable, an error is thrown.\n */\n public close(): void {\n if (this.closeable) {\n const closeBtnEl = this.#getCloseBtnEl();\n\n closeBtnEl.triggerEventHandler('click', {});\n } else {\n throw new Error('The alert is not closeable.');\n }\n }\n\n #getAlertEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-alert'));\n }\n\n #getCloseBtnEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-alert-close'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX label component.\n * @internal\n */\nexport class SkyLabelFixture {\n /**\n * The label's current type.\n */\n public get labelType(): string | undefined {\n const clsList = this.#getLabelEl().nativeElement.classList;\n\n if (clsList.contains('sky-label-danger')) {\n return 'danger';\n }\n\n if (clsList.contains('sky-label-info')) {\n return 'info';\n }\n\n if (clsList.contains('sky-label-success')) {\n return 'success';\n }\n\n if (clsList.contains('sky-label-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n /**\n * The label's current text.\n */\n public get text(): string | undefined {\n const labelEl = this.#getLabelEl();\n\n return SkyAppTestUtility.getText(labelEl);\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-label'\n );\n }\n\n #getLabelEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-label'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * @internal\n */\nexport class SkyWaitFixture {\n public get isWaiting(): boolean {\n return this.#innerWaitComponentContainsClass('.sky-wait-mask');\n }\n\n public get isFullPage(): boolean {\n return this.#innerWaitComponentContainsClass(\n '.sky-wait-mask-loading-fixed'\n );\n }\n\n public get ariaLabel(): string {\n const div = this.#debugEl.nativeElement.querySelector('.sky-wait-mask');\n return div.getAttribute('aria-label');\n }\n\n public get isNonBlocking(): boolean {\n return this.#innerWaitComponentContainsClass(\n '.sky-wait-mask-loading-non-blocking'\n );\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-wait'\n );\n }\n\n #innerWaitComponentContainsClass(className: string): boolean {\n const element: HTMLDivElement =\n this.#debugEl.nativeElement.querySelector(className);\n return element !== null;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-indicators-testing.mjs","sources":["../../../../../libs/components/indicators/testing/src/alert/alert-harness.ts","../../../../../libs/components/indicators/testing/src/key-info/key-info-label-harness.ts","../../../../../libs/components/indicators/testing/src/key-info/key-info-value-harness.ts","../../../../../libs/components/indicators/testing/src/key-info/key-info-harness.ts","../../../../../libs/components/indicators/testing/src/label/label-harness.ts","../../../../../libs/components/indicators/testing/src/tokens/token-harness.ts","../../../../../libs/components/indicators/testing/src/tokens/tokens-harness.ts","../../../../../libs/components/indicators/testing/src/wait/wait-harness.ts","../../../../../libs/components/indicators/testing/src/alert-fixture.ts","../../../../../libs/components/indicators/testing/src/label-fixture.ts","../../../../../libs/components/indicators/testing/src/wait-fixture.ts","../../../../../libs/components/indicators/testing/src/skyux-indicators-testing.ts"],"sourcesContent":["import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyIndicatorIconType,\n} from '@skyux/indicators';\n\nimport { SkyAlertHarnessFilters } from './alert-harness-filters';\n\n/**\n * Harness for interacting with an alert component in tests.\n */\nexport class SkyAlertHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-alert';\n\n #getAlert = this.locatorFor('.sky-alert');\n #getContent = this.locatorFor('.sky-alert-content');\n #getCloseButton = this.locatorFor('.sky-alert-close');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyAlertHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyAlertHarnessFilters\n ): HarnessPredicate<SkyAlertHarness> {\n return SkyAlertHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current alert type.\n */\n public async getAlertType(): Promise<SkyIndicatorIconType | undefined> {\n const alert = await this.#getAlert();\n\n if (await alert.hasClass('sky-alert-danger')) {\n return 'danger';\n }\n\n if (await alert.hasClass('sky-alert-info')) {\n return 'info';\n }\n\n if (await alert.hasClass('sky-alert-success')) {\n return 'success';\n }\n\n return 'warning';\n }\n\n /**\n * Gets the current alert text.\n */\n public async getText(): Promise<string> {\n return await (await this.#getContent()).text();\n }\n\n /**\n * Closes the alert.\n */\n public async close(): Promise<void> {\n if (!(await this.isCloseable())) {\n throw new Error('The alert is not closeable.');\n }\n\n (await this.#getCloseButton()).click();\n }\n\n /**\n * Indicates whether the user has closed the alert.\n */\n public async isClosed(): Promise<boolean> {\n const alert = await this.#getAlert();\n\n return await alert.getProperty('hidden');\n }\n\n /**\n * Indicates whether the user can close the alert.\n */\n public async isCloseable(): Promise<boolean> {\n const closeBtn = await this.#getCloseButton();\n return !(await closeBtn.getProperty('hidden'));\n }\n\n /**\n * Gets the `descriptionType` of the label component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the label component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info label component in tests.\n * @internal\n */\nexport class SkyKeyInfoLabelHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info-label';\n\n /**\n * Gets the text value of the component content.\n */\n public async getText(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\n/**\n * Harness for interacting with a key info value component in tests.\n * @internal\n */\nexport class SkyKeyInfoValueHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info-value';\n\n /**\n * Gets the text value of the component content.\n */\n public async getText(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyKeyInfoLayoutType } from '@skyux/indicators';\n\nimport { SkyKeyInfoHarnessFilters } from './key-info-harness-filters';\nimport { SkyKeyInfoLabelHarness } from './key-info-label-harness';\nimport { SkyKeyInfoValueHarness } from './key-info-value-harness';\n\n/**\n * Harness for interacting with a key info component in tests.\n */\nexport class SkyKeyInfoHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-key-info';\n\n #getLabel = this.locatorFor(SkyKeyInfoLabelHarness);\n #getValue = this.locatorFor(SkyKeyInfoValueHarness);\n #getWrapper = this.locatorFor('.sky-key-info');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyKeyInfoHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyKeyInfoHarnessFilters\n ): HarnessPredicate<SkyKeyInfoHarness> {\n return SkyKeyInfoHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the current value text.\n */\n public async getValueText(): Promise<string> {\n return await (await this.#getValue()).getText();\n }\n\n /**\n * Gets the current label text.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getLabel()).getText();\n }\n\n /**\n * Gets the current layout type.\n */\n public async getLayout(): Promise<SkyKeyInfoLayoutType> {\n return (await (\n await this.#getWrapper()\n ).hasClass('sky-key-info-horizontal'))\n ? 'horizontal'\n : 'vertical';\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport type {\n SkyIndicatorDescriptionType,\n SkyLabelType,\n} from '@skyux/indicators';\n\nimport { SkyLabelHarnessFilters } from './label-harness-filters';\n\n/**\n * Harness for interacting with a label component in tests.\n */\nexport class SkyLabelHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-label';\n\n #getWrapper = this.locatorFor('.sky-label');\n #getTextEl = this.locatorFor('.sky-label-text');\n #getScreenReaderTextEl = this.locatorForOptional('.sky-screen-reader-only');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyLookupHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyLabelHarnessFilters\n ): HarnessPredicate<SkyLabelHarness> {\n return SkyLabelHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the text of the label component.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getTextEl()).text();\n }\n\n /**\n * Gets the `labelType` of the label component.\n */\n public async getLabelType(): Promise<SkyLabelType> {\n const labelClasses: DOMTokenList = await (\n await this.#getWrapper()\n ).getProperty('classList');\n\n if (labelClasses.contains('sky-label-success')) {\n return 'success';\n }\n\n if (labelClasses.contains('sky-label-danger')) {\n return 'danger';\n }\n\n if (labelClasses.contains('sky-label-warning')) {\n return 'warning';\n }\n\n return 'info';\n }\n\n /**\n * Gets the `descriptionType` of the label component.\n */\n public async getDescriptionType(): Promise<SkyIndicatorDescriptionType> {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (!srEl) {\n return 'none';\n }\n\n const srText = await srEl.text();\n\n switch (srText) {\n case 'Attention:':\n return 'attention';\n case 'Caution:':\n return 'caution';\n case 'Completed:':\n return 'completed';\n case 'Danger:':\n return 'danger';\n case 'Error:':\n return 'error';\n case 'Important information:':\n return 'important-info';\n case 'Important warning:':\n return 'important-warning';\n case 'Success:':\n return 'success';\n case 'Warning:':\n return 'warning';\n default:\n return 'custom';\n }\n }\n\n /**\n * Gets the custom text used for the screen reader description of the label component icon.\n */\n public async getCustomDescription(): Promise<string> {\n const descriptionType = await this.getDescriptionType();\n\n if (descriptionType === 'custom') {\n const srEl = await this.#getScreenReaderTextEl();\n\n if (srEl) {\n return await srEl.text();\n }\n }\n\n return '';\n }\n}\n","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyTokenHarnessFilters } from './token-harness-filters';\n\n/**\n * Harness for interacting with a token component in tests.\n */\nexport class SkyTokenHarness extends ComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-token';\n\n #getActionButton = this.locatorFor('button.sky-token-btn-action');\n\n #getDismissButton = this.locatorFor('button.sky-token-btn-close');\n\n #getWrapper = this.locatorFor('.sky-token');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyTokenHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyTokenHarnessFilters\n ): HarnessPredicate<SkyTokenHarness> {\n return new HarnessPredicate(this, filters).addOption(\n 'text',\n filters.text,\n async (harness, test) =>\n HarnessPredicate.stringMatches(\n await (await harness.host()).text(),\n test\n )\n );\n }\n\n /**\n * Selects the token.\n */\n public async select(): Promise<void> {\n if (await this.isDisabled()) {\n throw new Error('Could not select the token because it is disabled.');\n }\n\n await (await this.host()).click();\n }\n\n /**\n * Dismisses the token.\n */\n public async dismiss(): Promise<void> {\n if (!(await this.isDismissible())) {\n throw new Error(\n 'Could not dismiss the token because it is not dismissible.'\n );\n }\n\n await (await this.#getDismissButton()).click();\n }\n\n /**\n * Returns the text content of the token.\n */\n public async getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /**\n * Whether the token is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n return (await this.#getWrapper()).hasClass('sky-token-disabled');\n }\n\n /**\n * Whether the token is dismissible.\n */\n public async isDismissible(): Promise<boolean> {\n return (await this.#getWrapper()).hasClass('sky-token-dismissible');\n }\n\n /**\n * Whether the token is focused.\n */\n public async isFocused(): Promise<boolean> {\n return (await this.#getActionButton()).isFocused();\n }\n}\n","import { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyTokenHarness } from './token-harness';\nimport { SkyTokenHarnessFilters } from './token-harness-filters';\nimport { SkyTokensHarnessFilters } from './tokens-harness-filters';\n\n/**\n * Harness for interacting with a tokens component in tests.\n */\nexport class SkyTokensHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-tokens';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyTokensHarness` that meets certain criteria.\n */\n public static with(filters: SkyTokensHarnessFilters) {\n return SkyTokensHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Dismisses all tokens, or tokens that meet certain criteria.\n */\n public async dismissTokens(filters?: SkyTokenHarnessFilters): Promise<void> {\n const tokens = await this.getTokens(filters);\n for (const token of tokens) {\n await token.dismiss();\n }\n }\n\n /**\n * Returns a list of tokens.\n */\n public async getTokens(\n filters?: SkyTokenHarnessFilters\n ): Promise<SkyTokenHarness[]> {\n return this.locatorForAll(SkyTokenHarness.with(filters || {}))();\n }\n\n /**\n * Returns the text content of all tokens.\n */\n public async getTokensText(): Promise<string[]> {\n const tokens = await this.getTokens();\n const values: string[] = [];\n\n for (const token of tokens) {\n values.push(await token.getText());\n }\n\n return values;\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyWaitHarnessFilters } from './wait-harness-filters';\n\n/**\n * Harness for interacting with an 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 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('The wait component is not currently visible.');\n }\n\n /**\n * Gets the waiting state of the wait component.\n */\n public async isWaiting(): Promise<boolean> {\n return !!(await this.#getWaitMask());\n }\n\n /**\n * Gets the full page state of the wait component.\n */\n public async isFullPage(): Promise<boolean> {\n return (await this.#getWaitContainer()).hasClass('sky-wait-full-page');\n }\n\n /**\n * Gets the blocking state of the wait component.\n */\n public async isNonBlocking(): Promise<boolean> {\n return (await this.#getWaitContainer()).hasClass('sky-wait-non-blocking');\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX alert component.\n * @deprecated Use `SkyAlertHarness` instead.\n * @internal\n */\nexport class SkyAlertFixture {\n /**\n * The alert's current text.\n */\n public get text(): string | undefined {\n return SkyAppTestUtility.getText(this.#debugEl);\n }\n\n /**\n * A flag indicating whether the alert can be closed.\n */\n public get closeable(): boolean | undefined {\n const closeBtnEl = this.#getCloseBtnEl();\n\n return SkyAppTestUtility.isVisible(closeBtnEl);\n }\n\n /**\n * Returns a flag indicating whether the alert is closed.\n */\n public get closed(): boolean {\n return !SkyAppTestUtility.isVisible(this.#getAlertEl());\n }\n\n /**\n * The alert's current type.\n */\n public get alertType(): string | undefined {\n const clsList = this.#getAlertEl().nativeElement.classList;\n\n if (clsList.contains('sky-alert-danger')) {\n return 'danger';\n }\n\n if (clsList.contains('sky-alert-info')) {\n return 'info';\n }\n\n if (clsList.contains('sky-alert-success')) {\n return 'success';\n }\n\n if (clsList.contains('sky-alert-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-alert'\n );\n }\n\n /**\n * Closes the alert. If the alert is not closeable, an error is thrown.\n */\n public close(): void {\n if (this.closeable) {\n const closeBtnEl = this.#getCloseBtnEl();\n\n closeBtnEl.triggerEventHandler('click', {});\n } else {\n throw new Error('The alert is not closeable.');\n }\n }\n\n #getAlertEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-alert'));\n }\n\n #getCloseBtnEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-alert-close'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX label component.\n * @internal\n */\nexport class SkyLabelFixture {\n /**\n * The label's current type.\n */\n public get labelType(): string | undefined {\n const clsList = this.#getLabelEl().nativeElement.classList;\n\n if (clsList.contains('sky-label-danger')) {\n return 'danger';\n }\n\n if (clsList.contains('sky-label-info')) {\n return 'info';\n }\n\n if (clsList.contains('sky-label-success')) {\n return 'success';\n }\n\n if (clsList.contains('sky-label-warning')) {\n return 'warning';\n }\n\n return undefined;\n }\n\n /**\n * The label's current text.\n */\n public get text(): string | undefined {\n const labelEl = this.#getLabelEl();\n\n return SkyAppTestUtility.getText(labelEl);\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-label'\n );\n }\n\n #getLabelEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-label'));\n }\n}\n","import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * @internal\n */\nexport class SkyWaitFixture {\n public get isWaiting(): boolean {\n return this.#innerWaitComponentContainsClass('.sky-wait-mask');\n }\n\n public get isFullPage(): boolean {\n return this.#innerWaitComponentContainsClass(\n '.sky-wait-mask-loading-fixed'\n );\n }\n\n public get ariaLabel(): string {\n const div = this.#debugEl.nativeElement.querySelector('.sky-wait-mask');\n return div.getAttribute('aria-label');\n }\n\n public get isNonBlocking(): boolean {\n return this.#innerWaitComponentContainsClass(\n '.sky-wait-mask-loading-non-blocking'\n );\n }\n\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-wait'\n );\n }\n\n #innerWaitComponentContainsClass(className: string): boolean {\n const element: HTMLDivElement =\n this.#debugEl.nativeElement.querySelector(className);\n return element !== null;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1133,10 +1133,10 @@ class SkyTokenComponent {
|
|
|
1133
1133
|
}
|
|
1134
1134
|
_SkyTokenComponent_elementRef = new WeakMap(), _SkyTokenComponent__disabled = new WeakMap(), _SkyTokenComponent__dismissible = new WeakMap();
|
|
1135
1135
|
SkyTokenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTokenComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1136
|
-
SkyTokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyTokenComponent, selector: "sky-token", inputs: { disabled: "disabled", ariaLabel: "ariaLabel", dismissible: "dismissible", focusable: "focusable", role: "role" }, outputs: { dismiss: "dismiss", tokenFocus: "tokenFocus" }, viewQueries: [{ propertyName: "actionButtonRef", first: true, predicate: ["actionButton"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<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 [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n class=\"sky-token-cell\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-token-btn sky-token-btn-action\"\n type=\"button\"\n [attr.tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled\n }\"\n #actionButton\n >\n <ng-content></ng-content>\n </button>\n </span>\n <span\n *ngIf=\"dismissible\"\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]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\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-default\"\n icon=\"times\"\n ></sky-icon>\n <sky-icon\n class=\"sky-token-btn-close-icon-modern\"\n icon=\"close\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </span>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;padding:0;display:inline-block}.sky-token:hover,.sky-token.sky-token-focused{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token.sky-token-focused{box-shadow:0 0 8px #00b4f199;border:1px solid
|
|
1136
|
+
SkyTokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyTokenComponent, selector: "sky-token", inputs: { disabled: "disabled", ariaLabel: "ariaLabel", dismissible: "dismissible", focusable: "focusable", role: "role" }, outputs: { dismiss: "dismiss", tokenFocus: "tokenFocus" }, viewQueries: [{ propertyName: "actionButtonRef", first: true, predicate: ["actionButton"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<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 [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n class=\"sky-token-cell\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-token-btn sky-token-btn-action\"\n type=\"button\"\n [attr.tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled\n }\"\n #actionButton\n >\n <ng-content></ng-content>\n </button>\n </span>\n <span\n *ngIf=\"dismissible\"\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]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\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-default\"\n icon=\"times\"\n ></sky-icon>\n <sky-icon\n class=\"sky-token-btn-close-icon-modern\"\n icon=\"close\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </span>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;padding:0;display:inline-block}.sky-token:hover,.sky-token.sky-token-focused{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token.sky-token-focused{box-shadow:0 0 8px #00b4f199;border:1px solid var(--sky-highlight-color-info);outline:none}.sky-token.sky-btn-disabled .sky-btn-disabled{opacity:1}.sky-btn-disabled{cursor:default;-webkit-user-select:none;user-select:none}.sky-token-btn{background-color:transparent;border:0;padding:2px 8px}.sky-token-btn-action:focus-visible{outline:none}.sky-token-btn-close{margin-left:-2px;opacity:.9}.sky-token-btn-close:hover,.sky-token-btn-close:focus-visible{opacity:1}.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-token-btn-close-icon-modern{display:none}:host-context(.sky-theme-modern) .sky-token{align-items:center;display:inline-flex;font-size:14px}:host-context(.sky-theme-modern) .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible{padding-right:1px}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}:host-context(.sky-theme-modern) .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token.sky-token-focused,:host-context(.sky-theme-modern) .sky-token:hover{background-color:#c1e8fb}:host-context(.sky-theme-modern) .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}:host-context(.sky-theme-modern) .sky-token-btn.sky-btn-disabled{color:#212327}:host-context(.sky-theme-modern) .sky-token-btn-action{font-size:14px}:host-context(.sky-theme-modern) .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}:host-context(.sky-theme-modern) .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}:host-context(.sky-theme-modern) .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible{outline:none}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-default{display:none}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-modern{display:inline-block;width:100%}.sky-theme-modern .sky-token{align-items:center;display:inline-flex;font-size:14px}.sky-theme-modern .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}.sky-theme-modern .sky-token.sky-token-dismissible{padding-right:1px}.sky-theme-modern .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-theme-modern .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token.sky-token-focused,.sky-theme-modern .sky-token:hover{background-color:#c1e8fb}.sky-theme-modern .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}.sky-theme-modern .sky-token-btn.sky-btn-disabled{color:#212327}.sky-theme-modern .sky-token-btn-action{font-size:14px}.sky-theme-modern .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}.sky-theme-modern .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token-btn-close:focus-visible{outline:none}.sky-theme-modern .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token-btn-close-icon-default{display:none}.sky-theme-modern .sky-token-btn-close-icon-modern{display:inline-block;width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token{background-color:#c1e8fb}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token-btn-close{color:#212327}.sky-theme-modern.sky-theme-mode-dark .sky-token{background-color:#c1e8fb}.sky-theme-modern.sky-theme-mode-dark .sky-token,.sky-theme-modern.sky-theme-mode-dark .sky-token-btn-close{color:#212327}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SkyIconComponent, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i1$2.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1137
1137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyTokenComponent, decorators: [{
|
|
1138
1138
|
type: Component,
|
|
1139
|
-
args: [{ selector: 'sky-token', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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 [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n class=\"sky-token-cell\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-token-btn sky-token-btn-action\"\n type=\"button\"\n [attr.tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled\n }\"\n #actionButton\n >\n <ng-content></ng-content>\n </button>\n </span>\n <span\n *ngIf=\"dismissible\"\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]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\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-default\"\n icon=\"times\"\n ></sky-icon>\n <sky-icon\n class=\"sky-token-btn-close-icon-modern\"\n icon=\"close\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </span>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;padding:0;display:inline-block}.sky-token:hover,.sky-token.sky-token-focused{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token.sky-token-focused{box-shadow:0 0 8px #00b4f199;border:1px solid
|
|
1139
|
+
args: [{ selector: 'sky-token', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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 [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n class=\"sky-token-cell\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-token-btn sky-token-btn-action\"\n type=\"button\"\n [attr.tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled\n }\"\n #actionButton\n >\n <ng-content></ng-content>\n </button>\n </span>\n <span\n *ngIf=\"dismissible\"\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]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\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-default\"\n icon=\"times\"\n ></sky-icon>\n <sky-icon\n class=\"sky-token-btn-close-icon-modern\"\n icon=\"close\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </span>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;padding:0;display:inline-block}.sky-token:hover,.sky-token.sky-token-focused{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token.sky-token-focused{box-shadow:0 0 8px #00b4f199;border:1px solid var(--sky-highlight-color-info);outline:none}.sky-token.sky-btn-disabled .sky-btn-disabled{opacity:1}.sky-btn-disabled{cursor:default;-webkit-user-select:none;user-select:none}.sky-token-btn{background-color:transparent;border:0;padding:2px 8px}.sky-token-btn-action:focus-visible{outline:none}.sky-token-btn-close{margin-left:-2px;opacity:.9}.sky-token-btn-close:hover,.sky-token-btn-close:focus-visible{opacity:1}.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-token-btn-close-icon-modern{display:none}:host-context(.sky-theme-modern) .sky-token{align-items:center;display:inline-flex;font-size:14px}:host-context(.sky-theme-modern) .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible{padding-right:1px}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}:host-context(.sky-theme-modern) .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token.sky-token-focused,:host-context(.sky-theme-modern) .sky-token:hover{background-color:#c1e8fb}:host-context(.sky-theme-modern) .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}:host-context(.sky-theme-modern) .sky-token-btn.sky-btn-disabled{color:#212327}:host-context(.sky-theme-modern) .sky-token-btn-action{font-size:14px}:host-context(.sky-theme-modern) .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}:host-context(.sky-theme-modern) .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}:host-context(.sky-theme-modern) .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible{outline:none}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-default{display:none}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-modern{display:inline-block;width:100%}.sky-theme-modern .sky-token{align-items:center;display:inline-flex;font-size:14px}.sky-theme-modern .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}.sky-theme-modern .sky-token.sky-token-dismissible{padding-right:1px}.sky-theme-modern .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-theme-modern .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token.sky-token-focused,.sky-theme-modern .sky-token:hover{background-color:#c1e8fb}.sky-theme-modern .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}.sky-theme-modern .sky-token-btn.sky-btn-disabled{color:#212327}.sky-theme-modern .sky-token-btn-action{font-size:14px}.sky-theme-modern .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}.sky-theme-modern .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token-btn-close:focus-visible{outline:none}.sky-theme-modern .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token-btn-close-icon-default{display:none}.sky-theme-modern .sky-token-btn-close-icon-modern{display:inline-block;width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token{background-color:#c1e8fb}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token-btn-close{color:#212327}.sky-theme-modern.sky-theme-mode-dark .sky-token{background-color:#c1e8fb}.sky-theme-modern.sky-theme-mode-dark .sky-token,.sky-theme-modern.sky-theme-mode-dark .sky-token-btn-close{color:#212327}\n"] }]
|
|
1140
1140
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { disabled: [{
|
|
1141
1141
|
type: Input
|
|
1142
1142
|
}], ariaLabel: [{
|
|
@@ -1845,10 +1845,10 @@ _SkyWaitComponent_elRef = new WeakMap(), _SkyWaitComponent_adapterService = new
|
|
|
1845
1845
|
}
|
|
1846
1846
|
};
|
|
1847
1847
|
SkyWaitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyWaitComponent, deps: [{ token: i0.ElementRef }, { token: SkyWaitAdapterService }, { token: i1$2.SkyLibResourcesService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1848
|
-
SkyWaitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyWaitComponent, selector: "sky-wait", inputs: { ariaLabel: "ariaLabel", isWaiting: "isWaiting", isFullPage: "isFullPage", isNonBlocking: "isNonBlocking" }, providers: [SkyWaitAdapterService], ngImport: i0, template: "<div
|
|
1848
|
+
SkyWaitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyWaitComponent, selector: "sky-wait", inputs: { ariaLabel: "ariaLabel", isWaiting: "isWaiting", isFullPage: "isFullPage", isNonBlocking: "isNonBlocking" }, providers: [SkyWaitAdapterService], ngImport: i0, template: "<div\n class=\"sky-wait-container\"\n [ngClass]=\"{\n 'sky-wait-full-page': isFullPage,\n 'sky-wait-non-blocking': isNonBlocking\n }\"\n>\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n role=\"progressbar\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;inset:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{inset:auto auto 0 0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
|
|
1849
1849
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyWaitComponent, decorators: [{
|
|
1850
1850
|
type: Component,
|
|
1851
|
-
args: [{ selector: 'sky-wait', providers: [SkyWaitAdapterService], template: "<div
|
|
1851
|
+
args: [{ selector: 'sky-wait', providers: [SkyWaitAdapterService], template: "<div\n class=\"sky-wait-container\"\n [ngClass]=\"{\n 'sky-wait-full-page': isFullPage,\n 'sky-wait-non-blocking': isNonBlocking\n }\"\n>\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n role=\"progressbar\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;inset:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{inset:auto auto 0 0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"] }]
|
|
1852
1852
|
}], ctorParameters: function () {
|
|
1853
1853
|
return [{ type: i0.ElementRef }, { type: SkyWaitAdapterService }, { type: i1$2.SkyLibResourcesService, decorators: [{
|
|
1854
1854
|
type: Optional
|
|
@@ -1916,7 +1916,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
1916
1916
|
}]
|
|
1917
1917
|
}] });
|
|
1918
1918
|
|
|
1919
|
-
var _SkyWaitService_instances, _SkyWaitService_resolver, _SkyWaitService_appRef, _SkyWaitService_waitAdapter, _SkyWaitService_windowSvc,
|
|
1919
|
+
var _SkyWaitService_instances, _SkyWaitService_resolver, _SkyWaitService_appRef, _SkyWaitService_waitAdapter, _SkyWaitService_windowSvc, _SkyWaitService_setWaitComponentProperties, _SkyWaitService_beginPageWait, _SkyWaitService_endPageWait, _SkyWaitService_clearPageWait;
|
|
1920
1920
|
let waitComponent;
|
|
1921
1921
|
let pageWaitBlockingCount = 0;
|
|
1922
1922
|
let pageWaitNonBlockingCount = 0;
|
|
@@ -1924,18 +1924,16 @@ let pageWaitNonBlockingCount = 0;
|
|
|
1924
1924
|
// See: https://github.com/ng-packagr/ng-packagr/issues/641
|
|
1925
1925
|
// @dynamic
|
|
1926
1926
|
class SkyWaitService {
|
|
1927
|
-
constructor(resolver, appRef, waitAdapter, windowSvc
|
|
1927
|
+
constructor(resolver, appRef, waitAdapter, windowSvc) {
|
|
1928
1928
|
_SkyWaitService_instances.add(this);
|
|
1929
1929
|
_SkyWaitService_resolver.set(this, void 0);
|
|
1930
1930
|
_SkyWaitService_appRef.set(this, void 0);
|
|
1931
1931
|
_SkyWaitService_waitAdapter.set(this, void 0);
|
|
1932
1932
|
_SkyWaitService_windowSvc.set(this, void 0);
|
|
1933
|
-
_SkyWaitService_logService.set(this, void 0);
|
|
1934
1933
|
__classPrivateFieldSet(this, _SkyWaitService_resolver, resolver, "f");
|
|
1935
1934
|
__classPrivateFieldSet(this, _SkyWaitService_appRef, appRef, "f");
|
|
1936
1935
|
__classPrivateFieldSet(this, _SkyWaitService_waitAdapter, waitAdapter, "f");
|
|
1937
1936
|
__classPrivateFieldSet(this, _SkyWaitService_windowSvc, windowSvc, "f");
|
|
1938
|
-
__classPrivateFieldSet(this, _SkyWaitService_logService, logService, "f");
|
|
1939
1937
|
}
|
|
1940
1938
|
/**
|
|
1941
1939
|
* Starts a blocking page wait on the page.
|
|
@@ -1981,42 +1979,27 @@ class SkyWaitService {
|
|
|
1981
1979
|
__classPrivateFieldGet(this, _SkyWaitService_waitAdapter, "f").removePageWaitEl();
|
|
1982
1980
|
}
|
|
1983
1981
|
}
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
observable = value.observable;
|
|
1989
|
-
}
|
|
1990
|
-
else {
|
|
1991
|
-
__classPrivateFieldGet(this, _SkyWaitService_logService, "f").deprecated('Use of the `blockingWrap` method with an `Observable<T> parameter', {
|
|
1992
|
-
deprecationMajorVersion: 7,
|
|
1993
|
-
replacementRecommendation: 'Use the version of the `blockingWrap` function which takes in `SkyWaitBlockingWrapArgs`.',
|
|
1994
|
-
});
|
|
1995
|
-
}
|
|
1982
|
+
/**
|
|
1983
|
+
* Launches a page wait and automatically stops when the specific asynchronous event completes.
|
|
1984
|
+
*/
|
|
1985
|
+
blockingWrap(observable) {
|
|
1996
1986
|
return defer(() => {
|
|
1997
1987
|
this.beginBlockingPageWait();
|
|
1998
1988
|
return observable.pipe(finalize(() => this.endBlockingPageWait()));
|
|
1999
1989
|
});
|
|
2000
1990
|
}
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
}
|
|
2007
|
-
else {
|
|
2008
|
-
__classPrivateFieldGet(this, _SkyWaitService_logService, "f").deprecated('Use of the `nonBlockingWrap` method with an `Observable<T> parameter', {
|
|
2009
|
-
deprecationMajorVersion: 7,
|
|
2010
|
-
replacementRecommendation: 'Use the version of the `nonBlockingWrap` function which takes in `SkyWaitNonBlockingWrapArgs`.',
|
|
2011
|
-
});
|
|
2012
|
-
}
|
|
1991
|
+
/**
|
|
1992
|
+
* Launches a non-blocking page wait and automatically stops when the specific
|
|
1993
|
+
* asynchronous event completes.
|
|
1994
|
+
*/
|
|
1995
|
+
nonBlockingWrap(observable) {
|
|
2013
1996
|
return defer(() => {
|
|
2014
1997
|
this.beginNonBlockingPageWait();
|
|
2015
1998
|
return observable.pipe(finalize(() => this.endNonBlockingPageWait()));
|
|
2016
1999
|
});
|
|
2017
2000
|
}
|
|
2018
2001
|
}
|
|
2019
|
-
_SkyWaitService_resolver = new WeakMap(), _SkyWaitService_appRef = new WeakMap(), _SkyWaitService_waitAdapter = new WeakMap(), _SkyWaitService_windowSvc = new WeakMap(),
|
|
2002
|
+
_SkyWaitService_resolver = new WeakMap(), _SkyWaitService_appRef = new WeakMap(), _SkyWaitService_waitAdapter = new WeakMap(), _SkyWaitService_windowSvc = new WeakMap(), _SkyWaitService_instances = new WeakSet(), _SkyWaitService_setWaitComponentProperties = function _SkyWaitService_setWaitComponentProperties(isBlocking) {
|
|
2020
2003
|
if (waitComponent) {
|
|
2021
2004
|
if (isBlocking) {
|
|
2022
2005
|
waitComponent.hasBlockingWait = true;
|
|
@@ -2085,14 +2068,14 @@ _SkyWaitService_resolver = new WeakMap(), _SkyWaitService_appRef = new WeakMap()
|
|
|
2085
2068
|
}
|
|
2086
2069
|
}
|
|
2087
2070
|
};
|
|
2088
|
-
SkyWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyWaitService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: SkyWaitPageAdapterService }, { token: i2.SkyAppWindowRef }
|
|
2071
|
+
SkyWaitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyWaitService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: SkyWaitPageAdapterService }, { token: i2.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2089
2072
|
SkyWaitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyWaitService, providedIn: 'root' });
|
|
2090
2073
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyWaitService, decorators: [{
|
|
2091
2074
|
type: Injectable,
|
|
2092
2075
|
args: [{
|
|
2093
2076
|
providedIn: 'root',
|
|
2094
2077
|
}]
|
|
2095
|
-
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: SkyWaitPageAdapterService }, { type: i2.SkyAppWindowRef }
|
|
2078
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: SkyWaitPageAdapterService }, { type: i2.SkyAppWindowRef }]; } });
|
|
2096
2079
|
|
|
2097
2080
|
/**
|
|
2098
2081
|
* Generated bundle index. Do not edit.
|