@skyux/forms 13.0.0-alpha.8 → 13.0.0-beta.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-forms-testing.mjs","sources":["../tmp-esm2022/testing/modules/character-counter/character-counter-indicator-harness.js","../tmp-esm2022/testing/modules/form-error/form-error-harness.js","../tmp-esm2022/testing/modules/form-error/form-errors-harness.js","../tmp-esm2022/testing/modules/input-box/input-box-harness.js","../tmp-esm2022/testing/legacy/checkbox-fixture.js","../tmp-esm2022/testing/modules/checkbox/checkbox-label-harness.js","../tmp-esm2022/testing/modules/checkbox/checkbox-label-text-label.harness.js","../tmp-esm2022/testing/modules/checkbox/checkbox-harness.js","../tmp-esm2022/testing/modules/checkbox/checkbox-group-harness.js","../tmp-esm2022/testing/modules/file-attachment/file-attachment/file-attachment-harness.js","../tmp-esm2022/testing/modules/file-attachment/file-drop/file-drop-link-upload-input-harness.js","../tmp-esm2022/testing/modules/file-attachment/file-drop/file-drop-link-upload-harness.js","../tmp-esm2022/testing/modules/file-attachment/file-drop/file-drop-harness.js","../tmp-esm2022/testing/modules/file-attachment/shared/provide-file-attachment-testing.js","../tmp-esm2022/testing/modules/file-attachment/file-drop/file-item-harness.js","../tmp-esm2022/testing/modules/field-group/field-group-harness.js","../tmp-esm2022/testing/legacy/radio-fixture.js","../tmp-esm2022/testing/modules/radio/radio-label-harness.js","../tmp-esm2022/testing/modules/radio/radio-harness.js","../tmp-esm2022/testing/modules/radio/radio-group-harness.js","../tmp-esm2022/testing/modules/selection-box/selection-box-description-harness.js","../tmp-esm2022/testing/modules/selection-box/selection-box-header-harness.js","../tmp-esm2022/testing/modules/selection-box/selection-box-harness.js","../tmp-esm2022/testing/modules/selection-box/selection-box-grid-harness.js","../tmp-esm2022/testing/modules/toggle-switch/toggle-switch-label-harness.js","../tmp-esm2022/testing/modules/toggle-switch/toggle-switch-harness.js","../tmp-esm2022/testing/skyux-forms-testing.js"],"sourcesContent":["import { SkyComponentHarness } from '@skyux/core/testing';\n/**\n * Harness for interacting with a character counter indicator component in tests.\n */\nexport class SkyCharacterCounterIndicatorHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-character-counter-indicator'; }\n #getLabel = this.locatorFor('.sky-character-count-label');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyCharacterCounterIndicatorHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyCharacterCounterIndicatorHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Gets the current character count.\n */\n async getCharacterCount() {\n return (await this.#getLabelParts()).count;\n }\n /**\n * Gets the character counter limit.\n */\n async getCharacterCountLimit() {\n return (await this.#getLabelParts()).limit;\n }\n /**\n * Indicates whether the character counter is in an error state because the current character\n * count is greater than the limit.\n */\n async isOverLimit() {\n return await (await this.#getLabel()).hasClass('sky-error-label');\n }\n async #getLabelParts() {\n const label = await this.#getLabel();\n const textParts = (await label.text()).split('/');\n let labelParts;\n if (textParts.length === 2) {\n labelParts = {\n count: +textParts[0].trim(),\n limit: +textParts[1].trim(),\n };\n }\n if (labelParts && !isNaN(labelParts.count) && !isNaN(labelParts.limit)) {\n return labelParts;\n }\n throw new Error('The character counter indicator does not contain text in the expected format.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci1pbmRpY2F0b3ItaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVMxRDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSxtQkFBbUI7SUFDMUU7O09BRUc7YUFDVyxpQkFBWSxHQUFHLGlDQUFpQyxDQUFDO0lBRS9ELFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFFMUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBbUQ7UUFFbkQsT0FBTyxtQ0FBbUMsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsaUJBQWlCO1FBQzVCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsc0JBQXNCO1FBQ2pDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVsRCxJQUFJLFVBQWtDLENBQUM7UUFFdkMsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNCLFVBQVUsR0FBRztnQkFDWCxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO2dCQUMzQixLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO2FBQzVCLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFFRCxNQUFNLElBQUksS0FBSyxDQUNiLCtFQUErRSxDQUNoRixDQUFDO0lBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLWhhcm5lc3MtZmlsdGVycyc7XG5cbnR5cGUgTGFiZWxQYXJ0cyA9IHtcbiAgY291bnQ6IG51bWJlcjtcbiAgbGltaXQ6IG51bWJlcjtcbn07XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGNoYXJhY3RlciBjb3VudGVyIGluZGljYXRvciBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDaGFyYWN0ZXJDb3VudGVySW5kaWNhdG9ySGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yJztcblxuICAjZ2V0TGFiZWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktY2hhcmFjdGVyLWNvdW50LWxhYmVsJyk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5Q2hhcmFjdGVyQ291bnRlckluZGljYXRvckhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IGNoYXJhY3RlciBjb3VudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRDaGFyYWN0ZXJDb3VudCgpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0TGFiZWxQYXJ0cygpKS5jb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGFyYWN0ZXIgY291bnRlciBsaW1pdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRDaGFyYWN0ZXJDb3VudExpbWl0KCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRMYWJlbFBhcnRzKCkpLmxpbWl0O1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgY291bnRlciBpcyBpbiBhbiBlcnJvciBzdGF0ZSBiZWNhdXNlIHRoZSBjdXJyZW50IGNoYXJhY3RlclxuICAgKiBjb3VudCBpcyBncmVhdGVyIHRoYW4gdGhlIGxpbWl0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzT3ZlckxpbWl0KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TGFiZWwoKSkuaGFzQ2xhc3MoJ3NreS1lcnJvci1sYWJlbCcpO1xuICB9XG5cbiAgYXN5bmMgI2dldExhYmVsUGFydHMoKTogUHJvbWlzZTxMYWJlbFBhcnRzPiB7XG4gICAgY29uc3QgbGFiZWwgPSBhd2FpdCB0aGlzLiNnZXRMYWJlbCgpO1xuICAgIGNvbnN0IHRleHRQYXJ0cyA9IChhd2FpdCBsYWJlbC50ZXh0KCkpLnNwbGl0KCcvJyk7XG5cbiAgICBsZXQgbGFiZWxQYXJ0czogTGFiZWxQYXJ0cyB8IHVuZGVmaW5lZDtcblxuICAgIGlmICh0ZXh0UGFydHMubGVuZ3RoID09PSAyKSB7XG4gICAgICBsYWJlbFBhcnRzID0ge1xuICAgICAgICBjb3VudDogK3RleHRQYXJ0c1swXS50cmltKCksXG4gICAgICAgIGxpbWl0OiArdGV4dFBhcnRzWzFdLnRyaW0oKSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKGxhYmVsUGFydHMgJiYgIWlzTmFOKGxhYmVsUGFydHMuY291bnQpICYmICFpc05hTihsYWJlbFBhcnRzLmxpbWl0KSkge1xuICAgICAgcmV0dXJuIGxhYmVsUGFydHM7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ1RoZSBjaGFyYWN0ZXIgY291bnRlciBpbmRpY2F0b3IgZG9lcyBub3QgY29udGFpbiB0ZXh0IGluIHRoZSBleHBlY3RlZCBmb3JtYXQuJyxcbiAgICApO1xuICB9XG59XG4iXX0=","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyStatusIndicatorHarness } from '@skyux/indicators/testing';\nexport class SkyFormErrorHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-form-error'; }\n async #getStatusIndicator() {\n return await this.locatorFor(SkyStatusIndicatorHarness)();\n }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFormErrorHarness` that meets certain criteria\n */\n static with(filters) {\n return SkyFormErrorHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Gets the error name.\n */\n async getErrorName() {\n return await (await this.host()).getAttribute('data-error-name');\n }\n /**\n * Gets the error text.\n */\n async getErrorText() {\n return await (await this.#getStatusIndicator()).getText();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9yLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJdEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG1CQUFtQjtJQUMxRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsZ0JBQWdCLENBQUM7SUFFOUMsS0FBSyxDQUFDLG1CQUFtQjtRQUN2QixPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQW1DO1FBRW5DLE9BQU8sbUJBQW1CLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFlBQVk7UUFDdkIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUN2QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lTdGF0dXNJbmRpY2F0b3JIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUZvcm1FcnJvckhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9mb3JtLWVycm9yLWhhcm5lc3MuZmlsdGVycyc7XG5cbmV4cG9ydCBjbGFzcyBTa3lGb3JtRXJyb3JIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1mb3JtLWVycm9yJztcblxuICBhc3luYyAjZ2V0U3RhdHVzSW5kaWNhdG9yKCk6IFByb21pc2U8U2t5U3RhdHVzSW5kaWNhdG9ySGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoU2t5U3RhdHVzSW5kaWNhdG9ySGFybmVzcykoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lGb3JtRXJyb3JIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWFcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lGb3JtRXJyb3JIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lGb3JtRXJyb3JIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUZvcm1FcnJvckhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGVycm9yIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RXJyb3JOYW1lKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmdldEF0dHJpYnV0ZSgnZGF0YS1lcnJvci1uYW1lJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZXJyb3IgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRFcnJvclRleHQoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRTdGF0dXNJbmRpY2F0b3IoKSkuZ2V0VGV4dCgpO1xuICB9XG59XG4iXX0=","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyFormErrorHarness } from './form-error-harness';\nexport class SkyFormErrorsHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-form-errors'; }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFormErrorsHarness` that meets certain criteria\n */\n static with(filters) {\n return SkyFormErrorsHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Gets a list of all errors fired.\n */\n async getFormErrors() {\n const formErrorHarnesses = await this.locatorForAll(SkyFormErrorHarness.with({}))();\n return await Promise.all(formErrorHarnesses.map(async (formError) => {\n return { errorName: await formError.getErrorName() };\n }));\n }\n /**\n * Whether an error with the given name has fired.\n */\n async hasError(errorName) {\n const formErrors = await this.getFormErrors();\n return formErrors.some((error) => {\n return error.errorName === errorName;\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvcnMtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUczRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBQzNEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxpQkFBaUIsQ0FBQztJQUUvQzs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUFvQztRQUVwQyxPQUFPLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUNqRCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQzdCLEVBQUUsQ0FBQztRQUVKLE9BQU8sTUFBTSxPQUFPLENBQUMsR0FBRyxDQUN0QixrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFpQjtRQUNyQyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMvQixPQUFPLEtBQUssQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUZvcm1FcnJvckhhcm5lc3MgfSBmcm9tICcuL2Zvcm0tZXJyb3ItaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JzSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2Zvcm0tZXJyb3JzLWhhcm5lc3MuZmlsdGVycyc7XG5cbmV4cG9ydCBjbGFzcyBTa3lGb3JtRXJyb3JzSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZm9ybS1lcnJvcnMnO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lGb3JtRXJyb3JzSGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5Rm9ybUVycm9yc0hhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUZvcm1FcnJvcnNIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUZvcm1FcnJvcnNIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgbGlzdCBvZiBhbGwgZXJyb3JzIGZpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEZvcm1FcnJvcnMoKTogUHJvbWlzZTx7IGVycm9yTmFtZTogc3RyaW5nIHwgbnVsbCB9W10+IHtcbiAgICBjb25zdCBmb3JtRXJyb3JIYXJuZXNzZXMgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoXG4gICAgICBTa3lGb3JtRXJyb3JIYXJuZXNzLndpdGgoe30pLFxuICAgICkoKTtcblxuICAgIHJldHVybiBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGZvcm1FcnJvckhhcm5lc3Nlcy5tYXAoYXN5bmMgKGZvcm1FcnJvcikgPT4ge1xuICAgICAgICByZXR1cm4geyBlcnJvck5hbWU6IGF3YWl0IGZvcm1FcnJvci5nZXRFcnJvck5hbWUoKSB9O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGFuIGVycm9yIHdpdGggdGhlIGdpdmVuIG5hbWUgaGFzIGZpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0Vycm9yKGVycm9yTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZm9ybUVycm9ycyA9IGF3YWl0IHRoaXMuZ2V0Rm9ybUVycm9ycygpO1xuICAgIHJldHVybiBmb3JtRXJyb3JzLnNvbWUoKGVycm9yKSA9PiB7XG4gICAgICByZXR1cm4gZXJyb3IuZXJyb3JOYW1lID09PSBlcnJvck5hbWU7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyQueryableComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyStatusIndicatorHarness } from '@skyux/indicators/testing';\nimport { SkyPopoverHarness } from '@skyux/popovers/testing';\nimport { SkyCharacterCounterIndicatorHarness } from '../character-counter/character-counter-indicator-harness';\nimport { SkyFormErrorsHarness } from '../form-error/form-errors-harness';\n/**\n * Harness for interacting with an input box component in tests.\n */\nexport class SkyInputBoxHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-input-box'; }\n #getHintText = this.locatorForOptional('.sky-input-box-hint-text');\n #getLabel = this.locatorForOptional('.sky-control-label');\n #getWrapper = this.locatorFor('.sky-input-box');\n async #getFormError() {\n return await this.locatorFor(SkyFormErrorsHarness)();\n }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyInputBoxHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyInputBoxHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Gets the character counter indicator for the input box or throws an error if\n * a character limit is not specified.\n */\n async getCharacterCounter() {\n const characterCounter = await this.locatorForOptional(new HarnessPredicate(SkyCharacterCounterIndicatorHarness, {\n ancestor: '.sky-input-box-label-wrapper',\n }))();\n if (!characterCounter) {\n throw new Error('The input box does not have a character limit specified.');\n }\n return characterCounter;\n }\n /**\n * Gets a list of status indicator harnesses for errors not automatically\n * handled by input box.\n */\n async getCustomErrors() {\n const errors = await this.locatorForAll(new HarnessPredicate(SkyStatusIndicatorHarness, {\n selector: 'sky-status-indicator:not(sky-form-error sky-status-indicator)',\n }))();\n return errors;\n }\n /**\n * Whether the custom error is triggered.\n */\n async hasCustomFormError(errorName) {\n return await (await this.#getFormError()).hasError(errorName);\n }\n /**\n * Whether the required field is empty.\n */\n async hasRequiredError() {\n return await (await this.#getFormError()).hasError('required');\n }\n /**\n * Whether the field has more characters than allowed.\n */\n async hasMaxLengthError() {\n return await (await this.#getFormError()).hasError('maxlength');\n }\n /**\n * Whether the field has fewer characters than allowed.\n */\n async hasMinLengthError() {\n return await (await this.#getFormError()).hasError('minlength');\n }\n /**\n * Whether the field is set to an invalid email address.\n */\n async hasEmailError() {\n return await (await this.#getFormError()).hasError('email');\n }\n /**\n * Whether the field is set to an invalid URL.\n */\n async hasUrlError() {\n return await (await this.#getFormError()).hasError('url');\n }\n /**\n * Whether the field is set to an invalid date.\n */\n async hasInvalidDateError() {\n return await (await this.#getFormError()).hasError('invalidDate');\n }\n /**\n * Whether the field is set to an invalid minimum date.\n */\n async hasMinDateError() {\n return await (await this.#getFormError()).hasError('minDate');\n }\n /**\n * Whether the field is set to an invalid maximum date.\n */\n async hasMaxDateError() {\n return await (await this.#getFormError()).hasError('maxDate');\n }\n /**\n * Whether the field is set to an invalid phone number.\n */\n async hasPhoneFieldError() {\n return await (await this.#getFormError()).hasError('phone');\n }\n /**\n * Whether the field is set to an invalid time.\n */\n async hasTimeError() {\n return await (await this.#getFormError()).hasError('time');\n }\n /**\n * Indicates whether the input box has disabled styles applied.\n */\n async getDisabled() {\n const wrapper = await this.#getWrapper();\n return await wrapper.hasClass('sky-input-box-disabled');\n }\n /**\n * Gets the text for the input box label.\n */\n async getLabelText() {\n const label = await this.#getLabel();\n return await this.#getElementTextOrDefault(label);\n }\n /**\n * Gets the help popover for the input box or throws an error if\n * the help popover is not configured.\n */\n async getHelpPopover() {\n const helpPopover = await this.locatorForOptional(new HarnessPredicate(SkyPopoverHarness, {\n ancestor: '.sky-control-help',\n }))();\n if (!helpPopover) {\n throw new Error('The input box does not have a help popover configured.');\n }\n return helpPopover;\n }\n /**2\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the hint text for the input box.\n */\n async getHintText() {\n const hintText = await this.#getHintText();\n return await this.#getElementTextOrDefault(hintText);\n }\n /**\n * Indicates whether the input box has stacked styles applied.\n */\n async getStacked() {\n const host = await this.host();\n return await host.hasClass('sky-form-field-stacked');\n }\n async #getElementTextOrDefault(el) {\n return (await el?.text())?.trim() ?? '';\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYm94LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFNUQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDL0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJekU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsNEJBQTRCO0lBQ2xFOztPQUVHO2FBQ1csaUJBQVksR0FBRyxlQUFlLENBQUM7SUFFN0MsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ25FLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUMxRCxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRWhELEtBQUssQ0FBQyxhQUFhO1FBQ2pCLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBa0M7UUFFbEMsT0FBTyxr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SSxLQUFLLENBQUMsbUJBQW1CO1FBQzlCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFM0MsT0FBTyxNQUFNLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUvQixPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQUMsd0JBQXdCLENBQUMsRUFBc0I7UUFDbkQsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7UUFFdEUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxNQUFNLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlLCBUZXN0RWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreVF1ZXJ5YWJsZUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2hlbHAtaW5saW5lL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5U3RhdHVzSW5kaWNhdG9ySGFybmVzcyB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5UG9wb3Zlckhhcm5lc3MgfSBmcm9tICdAc2t5dXgvcG9wb3ZlcnMvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzIH0gZnJvbSAnLi4vY2hhcmFjdGVyLWNvdW50ZXIvY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5Rm9ybUVycm9yc0hhcm5lc3MgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lJbnB1dEJveEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9pbnB1dC1ib3gtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGFuIGlucHV0IGJveCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lJbnB1dEJveEhhcm5lc3MgZXh0ZW5kcyBTa3lRdWVyeWFibGVDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWlucHV0LWJveCc7XG5cbiAgI2dldEhpbnRUZXh0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktaW5wdXQtYm94LWhpbnQtdGV4dCcpO1xuICAjZ2V0TGFiZWwgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1jb250cm9sLWxhYmVsJyk7XG4gICNnZXRXcmFwcGVyID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWlucHV0LWJveCcpO1xuXG4gIGFzeW5jICNnZXRGb3JtRXJyb3IoKTogUHJvbWlzZTxTa3lGb3JtRXJyb3JzSGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoU2t5Rm9ybUVycm9yc0hhcm5lc3MpKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5SW5wdXRCb3hIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5SW5wdXRCb3hIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lJbnB1dEJveEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5SW5wdXRCb3hIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGhlbHAgaW5saW5lIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0hlbHBJbmxpbmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGFyYWN0ZXIgY291bnRlciBpbmRpY2F0b3IgZm9yIHRoZSBpbnB1dCBib3ggb3IgdGhyb3dzIGFuIGVycm9yIGlmXG4gICAqIGEgY2hhcmFjdGVyIGxpbWl0IGlzIG5vdCBzcGVjaWZpZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q2hhcmFjdGVyQ291bnRlcigpOiBQcm9taXNlPFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzPiB7XG4gICAgY29uc3QgY2hhcmFjdGVyQ291bnRlciA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICAgbmV3IEhhcm5lc3NQcmVkaWNhdGUoU2t5Q2hhcmFjdGVyQ291bnRlckluZGljYXRvckhhcm5lc3MsIHtcbiAgICAgICAgYW5jZXN0b3I6ICcuc2t5LWlucHV0LWJveC1sYWJlbC13cmFwcGVyJyxcbiAgICAgIH0pLFxuICAgICkoKTtcblxuICAgIGlmICghY2hhcmFjdGVyQ291bnRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVGhlIGlucHV0IGJveCBkb2VzIG5vdCBoYXZlIGEgY2hhcmFjdGVyIGxpbWl0IHNwZWNpZmllZC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2hhcmFjdGVyQ291bnRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgbGlzdCBvZiBzdGF0dXMgaW5kaWNhdG9yIGhhcm5lc3NlcyBmb3IgZXJyb3JzIG5vdCBhdXRvbWF0aWNhbGx5XG4gICAqIGhhbmRsZWQgYnkgaW5wdXQgYm94LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEN1c3RvbUVycm9ycygpOiBQcm9taXNlPFNreVN0YXR1c0luZGljYXRvckhhcm5lc3NbXT4ge1xuICAgIGNvbnN0IGVycm9ycyA9IGF3YWl0IHRoaXMubG9jYXRvckZvckFsbChcbiAgICAgIG5ldyBIYXJuZXNzUHJlZGljYXRlKFNreVN0YXR1c0luZGljYXRvckhhcm5lc3MsIHtcbiAgICAgICAgc2VsZWN0b3I6XG4gICAgICAgICAgJ3NreS1zdGF0dXMtaW5kaWNhdG9yOm5vdChza3ktZm9ybS1lcnJvciBza3ktc3RhdHVzLWluZGljYXRvciknLFxuICAgICAgfSksXG4gICAgKSgpO1xuXG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjdXN0b20gZXJyb3IgaXMgdHJpZ2dlcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0N1c3RvbUZvcm1FcnJvcihlcnJvck5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKGVycm9yTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmVxdWlyZWQgZmllbGQgaXMgZW1wdHkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzUmVxdWlyZWRFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcigpKS5oYXNFcnJvcigncmVxdWlyZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBoYXMgbW9yZSBjaGFyYWN0ZXJzIHRoYW4gYWxsb3dlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNYXhMZW5ndGhFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcigpKS5oYXNFcnJvcignbWF4bGVuZ3RoJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgaGFzIGZld2VyIGNoYXJhY3RlcnMgdGhhbiBhbGxvd2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc01pbkxlbmd0aEVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKCdtaW5sZW5ndGgnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBpcyBzZXQgdG8gYW4gaW52YWxpZCBlbWFpbCBhZGRyZXNzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0VtYWlsRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3IoKSkuaGFzRXJyb3IoJ2VtYWlsJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgaXMgc2V0IHRvIGFuIGludmFsaWQgVVJMLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc1VybEVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKCd1cmwnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBpcyBzZXQgdG8gYW4gaW52YWxpZCBkYXRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0ludmFsaWREYXRlRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3IoKSkuaGFzRXJyb3IoJ2ludmFsaWREYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgaXMgc2V0IHRvIGFuIGludmFsaWQgbWluaW11bSBkYXRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc01pbkRhdGVFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcigpKS5oYXNFcnJvcignbWluRGF0ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpZWxkIGlzIHNldCB0byBhbiBpbnZhbGlkIG1heGltdW0gZGF0ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNYXhEYXRlRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3IoKSkuaGFzRXJyb3IoJ21heERhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBpcyBzZXQgdG8gYW4gaW52YWxpZCBwaG9uZSBudW1iZXIuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzUGhvbmVGaWVsZEVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKCdwaG9uZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpZWxkIGlzIHNldCB0byBhbiBpbnZhbGlkIHRpbWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzVGltZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKCd0aW1lJyk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGlucHV0IGJveCBoYXMgZGlzYWJsZWQgc3R5bGVzIGFwcGxpZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RGlzYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgd3JhcHBlciA9IGF3YWl0IHRoaXMuI2dldFdyYXBwZXIoKTtcblxuICAgIHJldHVybiBhd2FpdCB3cmFwcGVyLmhhc0NsYXNzKCdza3ktaW5wdXQtYm94LWRpc2FibGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBmb3IgdGhlIGlucHV0IGJveCBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMYWJlbFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBsYWJlbCA9IGF3YWl0IHRoaXMuI2dldExhYmVsKCk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jZ2V0RWxlbWVudFRleHRPckRlZmF1bHQobGFiZWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciBmb3IgdGhlIGlucHV0IGJveCBvciB0aHJvd3MgYW4gZXJyb3IgaWZcbiAgICogdGhlIGhlbHAgcG9wb3ZlciBpcyBub3QgY29uZmlndXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlcigpOiBQcm9taXNlPFNreVBvcG92ZXJIYXJuZXNzPiB7XG4gICAgY29uc3QgaGVscFBvcG92ZXIgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAgIG5ldyBIYXJuZXNzUHJlZGljYXRlKFNreVBvcG92ZXJIYXJuZXNzLCB7XG4gICAgICAgIGFuY2VzdG9yOiAnLnNreS1jb250cm9sLWhlbHAnLFxuICAgICAgfSksXG4gICAgKSgpO1xuXG4gICAgaWYgKCFoZWxwUG9wb3Zlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgaW5wdXQgYm94IGRvZXMgbm90IGhhdmUgYSBoZWxwIHBvcG92ZXIgY29uZmlndXJlZC4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGVscFBvcG92ZXI7XG4gIH1cblxuICAvKioyXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyQ29udGVudCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyQ29udGVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciB0aXRsZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlclRpdGxlKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmdldFBvcG92ZXJUaXRsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhpbnQgdGV4dCBmb3IgdGhlIGlucHV0IGJveC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIaW50VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGhpbnRUZXh0ID0gYXdhaXQgdGhpcy4jZ2V0SGludFRleHQoKTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLiNnZXRFbGVtZW50VGV4dE9yRGVmYXVsdChoaW50VGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGlucHV0IGJveCBoYXMgc3RhY2tlZCBzdHlsZXMgYXBwbGllZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTdGFja2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGhvc3QgPSBhd2FpdCB0aGlzLmhvc3QoKTtcblxuICAgIHJldHVybiBhd2FpdCBob3N0Lmhhc0NsYXNzKCdza3ktZm9ybS1maWVsZC1zdGFja2VkJyk7XG4gIH1cblxuICBhc3luYyAjZ2V0RWxlbWVudFRleHRPckRlZmF1bHQoZWw6IFRlc3RFbGVtZW50IHwgbnVsbCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCBlbD8udGV4dCgpKT8udHJpbSgpID8/ICcnO1xuICB9XG5cbiAgYXN5bmMgI2dldEhlbHBJbmxpbmUoKTogUHJvbWlzZTxTa3lIZWxwSW5saW5lSGFybmVzcz4ge1xuICAgIGNvbnN0IGhhcm5lc3MgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lIZWxwSW5saW5lSGFybmVzcykoKTtcblxuICAgIGlmIChoYXJuZXNzKSB7XG4gICAgICByZXR1cm4gaGFybmVzcztcbiAgICB9XG5cbiAgICB0aHJvdyBFcnJvcignTm8gaGVscCBpbmxpbmUgZm91bmQuJyk7XG4gIH1cbn1cbiJdfQ==","import { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n/**\n * Allows interaction with a SKY UX checkbox component.\n * @internal\n * @deprecated Use `SkyCheckboxHarness` instead.\n */\nexport class SkyCheckboxFixture {\n #debugEl;\n constructor(fixture, skyTestId) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-checkbox');\n }\n /**\n * A flag indicating whether the checkbox is currently selected.\n */\n get selected() {\n return this.#getCheckboxInputEl().nativeElement.checked;\n }\n /**\n * The checkbox's label\n */\n get labelText() {\n return SkyAppTestUtility.getText(this.#debugEl.query(By.css('label.sky-checkbox-wrapper')));\n }\n /**\n * The checkbox's icon type\n */\n get iconType() {\n const svgElement = this.#debugEl.query(By.css('sky-icon svg'));\n if (svgElement) {\n return svgElement.nativeElement.getAttribute('data-sky-icon');\n }\n return undefined;\n }\n /**\n * The checkbox's type.\n */\n get checkboxType() {\n const classList = this.#getCheckboxBoxEl().nativeElement.classList;\n if (classList.contains('sky-switch-control-danger')) {\n return 'danger';\n }\n if (classList.contains('sky-switch-control-info')) {\n return 'info';\n }\n if (classList.contains('sky-switch-control-success')) {\n return 'success';\n }\n if (classList.contains('sky-switch-control-warning')) {\n return 'warning';\n }\n return undefined;\n }\n /**\n * A flag indicating whether the checkbox is currently disabled.\n */\n get disabled() {\n return this.#getCheckboxInputEl().nativeElement.disabled;\n }\n /**\n * Selects the checkbox.\n */\n select() {\n if (!this.selected) {\n this.#clickCheckboxLabelEl();\n }\n }\n /**\n * Deselects the checkbox.\n */\n deselect() {\n if (this.selected) {\n this.#clickCheckboxLabelEl();\n }\n }\n #clickCheckboxLabelEl() {\n this.#debugEl\n .query(By.css('label.sky-checkbox-wrapper'))\n .nativeElement.click();\n }\n #getCheckboxInputEl() {\n return this.#debugEl.query(By.css('.sky-checkbox-wrapper input'));\n }\n #getCheckboxBoxEl() {\n return this.#debugEl.query(By.css('label.sky-checkbox-wrapper span'));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9sZWdhY3kvY2hlY2tib3gtZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsUUFBUSxDQUFlO0lBRXZCLFlBQVksT0FBOEIsRUFBRSxTQUFpQjtRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUN2RCxPQUFPLEVBQ1AsU0FBUyxFQUNULGNBQWMsQ0FDZixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUMxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUMxRCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUUvRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsT0FBTyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxZQUFZO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFFbkUsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQztZQUNsRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FBQztZQUNyRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FBQztZQUNyRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxRQUFRO2FBQ1YsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQzthQUMzQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU2t5QXBwVGVzdFV0aWxpdHkgfSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIGNoZWNrYm94IGNvbXBvbmVudC5cbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWQgVXNlIGBTa3lDaGVja2JveEhhcm5lc3NgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDaGVja2JveEZpeHR1cmUge1xuICAjZGVidWdFbDogRGVidWdFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNkZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1jaGVja2JveCcsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNnZXRDaGVja2JveElucHV0RWwoKS5uYXRpdmVFbGVtZW50LmNoZWNrZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNoZWNrYm94J3MgbGFiZWxcbiAgICovXG4gIHB1YmxpYyBnZXQgbGFiZWxUZXh0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoXG4gICAgICB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnbGFiZWwuc2t5LWNoZWNrYm94LXdyYXBwZXInKSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2hlY2tib3gncyBpY29uIHR5cGVcbiAgICovXG4gIHB1YmxpYyBnZXQgaWNvblR5cGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBzdmdFbGVtZW50ID0gdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJ3NreS1pY29uIHN2ZycpKTtcblxuICAgIGlmIChzdmdFbGVtZW50KSB7XG4gICAgICByZXR1cm4gc3ZnRWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1za3ktaWNvbicpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNoZWNrYm94J3MgdHlwZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2hlY2tib3hUeXBlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY2xhc3NMaXN0ID0gdGhpcy4jZ2V0Q2hlY2tib3hCb3hFbCgpLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0O1xuXG4gICAgaWYgKGNsYXNzTGlzdC5jb250YWlucygnc2t5LXN3aXRjaC1jb250cm9sLWRhbmdlcicpKSB7XG4gICAgICByZXR1cm4gJ2Rhbmdlcic7XG4gICAgfVxuXG4gICAgaWYgKGNsYXNzTGlzdC5jb250YWlucygnc2t5LXN3aXRjaC1jb250cm9sLWluZm8nKSkge1xuICAgICAgcmV0dXJuICdpbmZvJztcbiAgICB9XG5cbiAgICBpZiAoY2xhc3NMaXN0LmNvbnRhaW5zKCdza3ktc3dpdGNoLWNvbnRyb2wtc3VjY2VzcycpKSB7XG4gICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xuICAgIH1cblxuICAgIGlmIChjbGFzc0xpc3QuY29udGFpbnMoJ3NreS1zd2l0Y2gtY29udHJvbC13YXJuaW5nJykpIHtcbiAgICAgIHJldHVybiAnd2FybmluZyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBjdXJyZW50bHkgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNnZXRDaGVja2JveElucHV0RWwoKS5uYXRpdmVFbGVtZW50LmRpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgdGhlIGNoZWNrYm94LlxuICAgKi9cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuI2NsaWNrQ2hlY2tib3hMYWJlbEVsKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlc2VsZWN0cyB0aGUgY2hlY2tib3guXG4gICAqL1xuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuI2NsaWNrQ2hlY2tib3hMYWJlbEVsKCk7XG4gICAgfVxuICB9XG5cbiAgI2NsaWNrQ2hlY2tib3hMYWJlbEVsKCk6IHZvaWQge1xuICAgIHRoaXMuI2RlYnVnRWxcbiAgICAgIC5xdWVyeShCeS5jc3MoJ2xhYmVsLnNreS1jaGVja2JveC13cmFwcGVyJykpXG4gICAgICAubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgI2dldENoZWNrYm94SW5wdXRFbCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS1jaGVja2JveC13cmFwcGVyIGlucHV0JykpO1xuICB9XG5cbiAgI2dldENoZWNrYm94Qm94RWwoKTogRGVidWdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJ2xhYmVsLnNreS1jaGVja2JveC13cmFwcGVyIHNwYW4nKSk7XG4gIH1cbn1cbiJdfQ==","import { ComponentHarness } from '@angular/cdk/testing';\n/**\n * Harness for interacting with a checkbox label component in tests.\n * @internal\n */\nexport class SkyCheckboxLabelHarness extends ComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-checkbox-label'; }\n #getLabelContent = this.locatorFor('.sky-switch-label');\n /**\n * Gets the text content of the checkbox label.\n */\n async getText() {\n return await (await this.#getLabelContent()).text();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGFiZWwtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWxhYmVsLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFnQjtJQUMzRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsb0JBQW9CLENBQUM7SUFFbEQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXhEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBjaGVja2JveCBsYWJlbCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNoZWNrYm94TGFiZWxIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1jaGVja2JveC1sYWJlbCc7XG5cbiAgI2dldExhYmVsQ29udGVudCA9IHRoaXMubG9jYXRvckZvcignLnNreS1zd2l0Y2gtbGFiZWwnKTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBjaGVja2JveCBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMYWJlbENvbnRlbnQoKSkudGV4dCgpO1xuICB9XG59XG4iXX0=","import { ComponentHarness } from '@angular/cdk/testing';\n/**\n * Harness for interacting with a `labelText` checkbox label component in tests.\n * @internal\n */\nexport class SkyCheckboxLabelTextLabelHarness extends ComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-checkbox-label-text-label'; }\n #getLabelContent = this.locatorForOptional('.sky-switch-label');\n /**\n * Gets the text content of the `labelText` checkbox label.\n */\n async getText() {\n return await (await this.#getLabelContent())?.text();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGFiZWwtdGV4dC1sYWJlbC5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtbGFiZWwtdGV4dC1sYWJlbC5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxnQkFBZ0I7SUFDcEU7O09BRUc7YUFDVyxpQkFBWSxHQUFHLCtCQUErQixDQUFDO0lBRTdELGdCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRWhFOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBgbGFiZWxUZXh0YCBjaGVja2JveCBsYWJlbCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNoZWNrYm94TGFiZWxUZXh0TGFiZWxIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1jaGVja2JveC1sYWJlbC10ZXh0LWxhYmVsJztcblxuICAjZ2V0TGFiZWxDb250ZW50ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktc3dpdGNoLWxhYmVsJyk7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHRleHQgY29udGVudCBvZiB0aGUgYGxhYmVsVGV4dGAgY2hlY2tib3ggbGFiZWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TGFiZWxDb250ZW50KCkpPy50ZXh0KCk7XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyFormErrorsHarness } from '../form-error/form-errors-harness';\nimport { SkyCheckboxLabelHarness } from './checkbox-label-harness';\nimport { SkyCheckboxLabelTextLabelHarness } from './checkbox-label-text-label.harness';\n/**\n * Harness for interacting with a checkbox component in tests.\n */\nexport class SkyCheckboxHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-checkbox'; }\n #getHintText = this.locatorForOptional('.sky-checkbox-hint-text');\n #getInput = this.locatorFor('input.sky-checkbox-input');\n #getLabel = this.locatorForOptional(SkyCheckboxLabelHarness);\n #getLabelTextLabel = this.locatorForOptional(SkyCheckboxLabelTextLabelHarness);\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyCheckboxHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyCheckboxHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Blurs the checkbox.\n */\n async blur() {\n await (await this.#getInput()).blur();\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Puts the checkbox in a checked state by toggling it if it is currently unchecked, or doing nothing if it is already checked.\n */\n async check() {\n if (!(await this.isChecked())) {\n await this.#toggle();\n }\n }\n /**\n * Focuses the checkbox.\n */\n async focus() {\n await (await this.#getInput()).focus();\n }\n /**\n * Gets the checkbox's aria-label.\n */\n async getAriaLabel() {\n return await (await this.#getInput()).getAttribute('aria-label');\n }\n /**\n * Gets the checkbox's aria-labelledby.\n */\n async getAriaLabelledby() {\n return await (await this.#getInput()).getAttribute('aria-labelledby');\n }\n /**\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the checkbox's label text. If the label is set via `labelText` and `labelHidden` is true,\n * the text will still be returned.\n */\n async getLabelText() {\n const labelTextLabel = await this.#getLabelTextLabel();\n const label = await this.#getLabel();\n if (labelTextLabel) {\n const text = await labelTextLabel.getText();\n const ariaLabel = await this.getAriaLabel();\n // if labelText is set, ariaLabel will never return null\n return text || ariaLabel;\n }\n else {\n return await label?.getText();\n }\n }\n /**\n * Whether the label is hidden. Only supported when using the `labelText` input to set the label.\n */\n async getLabelHidden() {\n const labelTextLabel = await this.#getLabelTextLabel();\n const label = await this.#getLabel();\n if (label) {\n throw new Error('`labelHidden` is only supported when setting the checkbox label via the `labelText` input.');\n }\n else {\n return !(await labelTextLabel?.getText());\n }\n }\n /**\n * Gets the checkbox's hint text.\n */\n async getHintText() {\n const hintText = await this.#getHintText();\n return (await hintText?.text())?.trim() ?? '';\n }\n /**\n * Gets the checkbox's name.\n */\n async getName() {\n return await (await this.#getInput()).getAttribute('name');\n }\n /**\n * Gets the checkbox's value.\n */\n async getValue() {\n return await (await this.#getInput()).getProperty('value');\n }\n /**\n * Whether the checkbox displays custom error.\n */\n async hasCustomError(errorName) {\n return await (await this.#getFormErrors()).hasError(errorName);\n }\n /**\n * Whether the checkbox displays an error that it is required.\n */\n async hasRequiredError() {\n return await (await this.#getFormErrors()).hasError('required');\n }\n /**\n * Whether the checkbox is checked.\n */\n async isChecked() {\n return await (await this.#getInput()).getProperty('checked');\n }\n /**\n * Whether the checkbox is disabled.\n */\n async isDisabled() {\n const disabled = await (await this.#getInput()).getAttribute('disabled');\n return disabled !== null;\n }\n /**\n * Whether the checkbox is focused.\n */\n async isFocused() {\n return await (await this.#getInput()).isFocused();\n }\n /**\n * Whether the checkbox is required.\n */\n async isRequired() {\n const value = await (await this.#getInput()).getAttribute('required');\n return value !== null;\n }\n /**\n * Whether the checkbox is stacked.\n */\n async isStacked() {\n return await (await this.host()).hasClass('sky-form-field-stacked');\n }\n /**\n * Puts the checkbox in an unchecked state by toggling it if it is currently checked, or doing nothing if it is already unchecked.\n */\n async uncheck() {\n if (await this.isChecked()) {\n await this.#toggle();\n }\n }\n async #getFormErrors() {\n return await this.locatorFor(SkyFormErrorsHarness)();\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n async #toggle() {\n if (await this.isDisabled()) {\n throw new Error('Could not toggle the checkbox because it is disabled.');\n }\n else {\n await (await this.#getInput()).click();\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdkY7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsbUJBQW1CO0lBQ3pEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxjQUFjLENBQUM7SUFFNUMsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRWxFLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFFeEQsU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRTdELGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FDMUMsZ0NBQWdDLENBQ2pDLENBQUM7SUFFRjs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUFrQztRQUVsQyxPQUFPLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxJQUFJO1FBQ2YsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFD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c3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lSGFybmVzcyB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yc0hhcm5lc3MgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lDaGVja2JveEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jaGVja2JveC1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hMYWJlbEhhcm5lc3MgfSBmcm9tICcuL2NoZWNrYm94LWxhYmVsLWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hMYWJlbFRleHRMYWJlbEhhcm5lc3MgfSBmcm9tICcuL2NoZWNrYm94LWxhYmVsLXRleHQtbGFiZWwuaGFybmVzcyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGNoZWNrYm94IGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNoZWNrYm94SGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktY2hlY2tib3gnO1xuXG4gICNnZXRIaW50VGV4dCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCcuc2t5LWNoZWNrYm94LWhpbnQtdGV4dCcpO1xuXG4gICNnZXRJbnB1dCA9IHRoaXMubG9jYXRvckZvcignaW5wdXQuc2t5LWNoZWNrYm94LWlucHV0Jyk7XG5cbiAgI2dldExhYmVsID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoU2t5Q2hlY2tib3hMYWJlbEhhcm5lc3MpO1xuXG4gICNnZXRMYWJlbFRleHRMYWJlbCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgIFNreUNoZWNrYm94TGFiZWxUZXh0TGFiZWxIYXJuZXNzLFxuICApO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lDaGVja2JveEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lDaGVja2JveEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUNoZWNrYm94SGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lDaGVja2JveEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJsdXJzIHRoZSBjaGVja2JveC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBibHVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5ibHVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBoZWxwIGlubGluZSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tIZWxwSW5saW5lKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogUHV0cyB0aGUgY2hlY2tib3ggaW4gYSBjaGVja2VkIHN0YXRlIGJ5IHRvZ2dsaW5nIGl0IGlmIGl0IGlzIGN1cnJlbnRseSB1bmNoZWNrZWQsIG9yIGRvaW5nIG5vdGhpbmcgaWYgaXQgaXMgYWxyZWFkeSBjaGVja2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNoZWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghKGF3YWl0IHRoaXMuaXNDaGVja2VkKCkpKSB7XG4gICAgICBhd2FpdCB0aGlzLiN0b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRm9jdXNlcyB0aGUgY2hlY2tib3guXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZm9jdXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY2hlY2tib3gncyBhcmlhLWxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFMYWJlbCgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGNoZWNrYm94J3MgYXJpYS1sYWJlbGxlZGJ5LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFMYWJlbGxlZGJ5KCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlckNvbnRlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlckNvbnRlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyVGl0bGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGVja2JveCdzIGxhYmVsIHRleHQuIElmIHRoZSBsYWJlbCBpcyBzZXQgdmlhIGBsYWJlbFRleHRgIGFuZCBgbGFiZWxIaWRkZW5gIGlzIHRydWUsXG4gICAqIHRoZSB0ZXh0IHdpbGwgc3RpbGwgYmUgcmV0dXJuZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0TGFiZWxUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgbGFiZWxUZXh0TGFiZWwgPSBhd2FpdCB0aGlzLiNnZXRMYWJlbFRleHRMYWJlbCgpO1xuICAgIGNvbnN0IGxhYmVsID0gYXdhaXQgdGhpcy4jZ2V0TGFiZWwoKTtcblxuICAgIGlmIChsYWJlbFRleHRMYWJlbCkge1xuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IGxhYmVsVGV4dExhYmVsLmdldFRleHQoKTtcbiAgICAgIGNvbnN0IGFyaWFMYWJlbCA9IGF3YWl0IHRoaXMuZ2V0QXJpYUxhYmVsKCk7XG5cbiAgICAgIC8vIGlmIGxhYmVsVGV4dCBpcyBzZXQsIGFyaWFMYWJlbCB3aWxsIG5ldmVyIHJldHVybiBudWxsXG4gICAgICByZXR1cm4gdGV4dCB8fCBhcmlhTGFiZWwhO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYXdhaXQgbGFiZWw/LmdldFRleHQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbGFiZWwgaXMgaGlkZGVuLiBPbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIHRoZSBgbGFiZWxUZXh0YCBpbnB1dCB0byBzZXQgdGhlIGxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldExhYmVsSGlkZGVuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGxhYmVsVGV4dExhYmVsID0gYXdhaXQgdGhpcy4jZ2V0TGFiZWxUZXh0TGFiZWwoKTtcbiAgICBjb25zdCBsYWJlbCA9IGF3YWl0IHRoaXMuI2dldExhYmVsKCk7XG5cbiAgICBpZiAobGFiZWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ2BsYWJlbEhpZGRlbmAgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiBzZXR0aW5nIHRoZSBjaGVja2JveCBsYWJlbCB2aWEgdGhlIGBsYWJlbFRleHRgIGlucHV0LicsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gIShhd2FpdCBsYWJlbFRleHRMYWJlbD8uZ2V0VGV4dCgpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY2hlY2tib3gncyBoaW50IHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGludFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBoaW50VGV4dCA9IGF3YWl0IHRoaXMuI2dldEhpbnRUZXh0KCk7XG5cbiAgICByZXR1cm4gKGF3YWl0IGhpbnRUZXh0Py50ZXh0KCkpPy50cmltKCkgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY2hlY2tib3gncyBuYW1lLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldE5hbWUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ25hbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGVja2JveCdzIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFZhbHVlKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0UHJvcGVydHk8c3RyaW5nIHwgbnVsbD4oJ3ZhbHVlJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggZGlzcGxheXMgY3VzdG9tIGVycm9yLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0N1c3RvbUVycm9yKGVycm9yTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3JzKCkpLmhhc0Vycm9yKGVycm9yTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggZGlzcGxheXMgYW4gZXJyb3IgdGhhdCBpdCBpcyByZXF1aXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNSZXF1aXJlZEVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcigncmVxdWlyZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzQ2hlY2tlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldFByb3BlcnR5PGJvb2xlYW4+KCdjaGVja2VkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBkaXNhYmxlZCA9IGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgcmV0dXJuIGRpc2FibGVkICE9PSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGZvY3VzZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNGb2N1c2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuaXNGb2N1c2VkKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgcmVxdWlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNSZXF1aXJlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJyk7XG4gICAgcmV0dXJuIHZhbHVlICE9PSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIHN0YWNrZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNTdGFja2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmhhc0NsYXNzKCdza3ktZm9ybS1maWVsZC1zdGFja2VkJyk7XG4gIH1cblxuICAvKipcbiAgICogUHV0cyB0aGUgY2hlY2tib3ggaW4gYW4gdW5jaGVja2VkIHN0YXRlIGJ5IHRvZ2dsaW5nIGl0IGlmIGl0IGlzIGN1cnJlbnRseSBjaGVja2VkLCBvciBkb2luZyBub3RoaW5nIGlmIGl0IGlzIGFscmVhZHkgdW5jaGVja2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHVuY2hlY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGF3YWl0IHRoaXMuaXNDaGVja2VkKCkpIHtcbiAgICAgIGF3YWl0IHRoaXMuI3RvZ2dsZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jICNnZXRGb3JtRXJyb3JzKCk6IFByb21pc2U8U2t5Rm9ybUVycm9yc0hhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFNreUZvcm1FcnJvcnNIYXJuZXNzKSgpO1xuICB9XG5cbiAgYXN5bmMgI2dldEhlbHBJbmxpbmUoKTogUHJvbWlzZTxTa3lIZWxwSW5saW5lSGFybmVzcz4ge1xuICAgIGNvbnN0IGhhcm5lc3MgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lIZWxwSW5saW5lSGFybmVzcykoKTtcblxuICAgIGlmIChoYXJuZXNzKSB7XG4gICAgICByZXR1cm4gaGFybmVzcztcbiAgICB9XG5cbiAgICB0aHJvdyBFcnJvcignTm8gaGVscCBpbmxpbmUgZm91bmQuJyk7XG4gIH1cblxuICBhc3luYyAjdG9nZ2xlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmlzRGlzYWJsZWQoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgdG9nZ2xlIHRoZSBjaGVja2JveCBiZWNhdXNlIGl0IGlzIGRpc2FibGVkLicpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuY2xpY2soKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyFormErrorsHarness } from '../form-error/form-errors-harness';\nimport { SkyCheckboxHarness } from './checkbox-harness';\n/**\n * Harness for interacting with a checkbox group component in tests.\n */\nexport class SkyCheckboxGroupHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-checkbox-group'; }\n #getCheckboxes = this.locatorForAll(SkyCheckboxHarness);\n #getHeading = this.locatorFor('.sky-checkbox-group-heading');\n #getHeadingWrapper = this.locatorFor('.sky-checkbox-group-legend');\n #getHintText = this.locatorForOptional('.sky-checkbox-group-hint-text');\n #getLegendDefault = this.locatorForOptional('legend .sky-checkbox-group-heading-text');\n #getLegendH3 = this.locatorForOptional('legend h3');\n #getLegendH4 = this.locatorForOptional('legend h4');\n #getLegendH5 = this.locatorForOptional('legend h5');\n #getLegendHeading = this.locatorFor('legend h3,h4,h5,.sky-checkbox-group-heading-text');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyCheckboxGroupHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyCheckboxGroupHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Gets an array of harnesses for the checkboxes in the checkbox group.\n */\n async getCheckboxes() {\n return await this.#getCheckboxes();\n }\n /**\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the checkbox group's heading text. If `headingHidden` is true,\n * the text will still be returned.\n */\n async getHeadingText() {\n return await (await this.#getLegendHeading()).text();\n }\n /**\n * Gets the checkbox group's hint text.\n */\n async getHintText() {\n const hintText = await this.#getHintText();\n return (await hintText?.text())?.trim() ?? '';\n }\n /**\n * Whether the heading is hidden.\n */\n async getHeadingHidden() {\n return await (await this.#getHeadingWrapper()).hasClass('sky-screen-reader-only');\n }\n /**\n * The semantic heading level used for the checkbox group. Returns undefined if heading level is not set.\n */\n async getHeadingLevel() {\n const heading = await this.#getLegendHeading();\n const h3 = await heading.matchesSelector('h3');\n const h4 = await heading.matchesSelector('h4');\n const h5 = await heading.matchesSelector('h5');\n if (h3) {\n return 3;\n }\n else if (h4) {\n return 4;\n }\n else if (h5) {\n return 5;\n }\n else {\n return undefined;\n }\n }\n /**\n * The heading style used for the checkbox group.\n */\n async getHeadingStyle() {\n const heading = await this.#getLegendHeading();\n const isHeadingStyle3 = await heading.hasClass('sky-font-heading-3');\n const isHeadingStyle4 = await heading.hasClass('sky-font-heading-4');\n if (isHeadingStyle3) {\n return 3;\n }\n else if (isHeadingStyle4) {\n return 4;\n }\n else {\n return 5;\n }\n }\n /**\n * Whether the checkbox group is required.\n */\n async getRequired() {\n const heading = await this.#getHeading();\n return await heading.hasClass('sky-control-label-required');\n }\n /**\n * Whether the checkbox group is stacked.\n */\n async getStacked() {\n const host = await this.host();\n const heading = (await this.#getLegendH3()) ||\n (await this.#getLegendH4()) ||\n (await this.#getLegendH5());\n const label = await this.#getLegendDefault();\n return (((await host.hasClass('sky-form-field-stacked')) && !!label) ||\n ((await host.hasClass('sky-field-group-stacked')) && !!heading));\n }\n /**\n * Whether all the checkboxes in a required group are unchecked.\n */\n async hasRequiredError() {\n return await (await this.#getFormErrors()).hasError('required');\n }\n /**\n * Whether the checkbox group has errors.\n */\n async hasError(errorName) {\n return await (await this.#getFormErrors()).hasError(errorName);\n }\n async #getFormErrors() {\n return await this.locatorFor(SkyFormErrorsHarness.with({\n dataSkyId: 'checkbox-group-form-errors',\n }))();\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness.with({\n ancestor: '.sky-checkbox-group > .sky-checkbox-group-legend',\n }))();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWdyb3VwLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsbUJBQW1CO0lBQzlEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxvQkFBb0IsQ0FBQztJQUVsRCxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hELFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDN0Qsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ25FLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUN4RSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQ3pDLHlDQUF5QyxDQUMxQyxDQUFDO0lBQ0YsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwRCxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FDakMsa0RBQWtELENBQ25ELENBQUM7SUFFRjs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUF1QztRQUV2QyxPQUFPLHVCQUF1QixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxlQUFlO1FBQzFCLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHFCQUFxQjtRQUNoQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQjtRQUM5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFM0MsT0FBTyxDQUFDLE1BQU0sUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0I7UUFDM0IsT0FBTyxNQUFNLENBQ1gsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FDaEMsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUcxQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQy9DLE1BQU0sRUFBRSxHQUFHLE1BQU0sT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxNQUFNLEVBQUUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsTUFBTSxFQUFFLEdBQUcsTUFBTSxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9DLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7YUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2QsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO2FBQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUUvQyxNQUFNLGVBQWUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNyRSxNQUFNLGVBQWUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVyRSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQzthQUFNLElBQUksZUFBZSxFQUFFLENBQUM7WUFDM0IsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXpDLE9BQU8sTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsTUFBTSxPQUFPLEdBQ1gsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMzQixDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzNCLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUM5QixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRTdDLE9BQU8sQ0FDTCxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzVELENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDaEUsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0I7UUFDM0IsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFpQjtRQUNyQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQzFCLG9CQUFvQixDQUFDLElBQUksQ0FBQztZQUN4QixTQUFTLEVBQUUsNEJBQTRCO1NBQ3hDLENBQUMsQ0FDSCxFQUFFLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQzNDLG9CQUFvQixDQUFDLElBQUksQ0FBQztZQUN4QixRQUFRLEVBQUUsa0RBQWtEO1NBQzdELENBQUMsQ0FDSCxFQUFFLENBQUM7UUFFSixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUVELE1BQU0sS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQge1xuICBTa3lDaGVja2JveEdyb3VwSGVhZGluZ0xldmVsLFxuICBTa3lDaGVja2JveEdyb3VwSGVhZGluZ1N0eWxlLFxufSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5SGVscElubGluZUhhcm5lc3MgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUZvcm1FcnJvcnNIYXJuZXNzIH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9ycy1oYXJuZXNzJztcblxuaW1wb3J0IHsgU2t5Q2hlY2tib3hHcm91cEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jaGVja2JveC1ncm91cC1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hIYXJuZXNzIH0gZnJvbSAnLi9jaGVja2JveC1oYXJuZXNzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgY2hlY2tib3ggZ3JvdXAgY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5Q2hlY2tib3hHcm91cEhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWNoZWNrYm94LWdyb3VwJztcblxuICAjZ2V0Q2hlY2tib3hlcyA9IHRoaXMubG9jYXRvckZvckFsbChTa3lDaGVja2JveEhhcm5lc3MpO1xuICAjZ2V0SGVhZGluZyA9IHRoaXMubG9jYXRvckZvcignLnNreS1jaGVja2JveC1ncm91cC1oZWFkaW5nJyk7XG4gICNnZXRIZWFkaW5nV3JhcHBlciA9IHRoaXMubG9jYXRvckZvcignLnNreS1jaGVja2JveC1ncm91cC1sZWdlbmQnKTtcbiAgI2dldEhpbnRUZXh0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktY2hlY2tib3gtZ3JvdXAtaGludC10ZXh0Jyk7XG4gICNnZXRMZWdlbmREZWZhdWx0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgJ2xlZ2VuZCAuc2t5LWNoZWNrYm94LWdyb3VwLWhlYWRpbmctdGV4dCcsXG4gICk7XG4gICNnZXRMZWdlbmRIMyA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCdsZWdlbmQgaDMnKTtcbiAgI2dldExlZ2VuZEg0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJ2xlZ2VuZCBoNCcpO1xuICAjZ2V0TGVnZW5kSDUgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnbGVnZW5kIGg1Jyk7XG4gICNnZXRMZWdlbmRIZWFkaW5nID0gdGhpcy5sb2NhdG9yRm9yKFxuICAgICdsZWdlbmQgaDMsaDQsaDUsLnNreS1jaGVja2JveC1ncm91cC1oZWFkaW5nLXRleHQnLFxuICApO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lDaGVja2JveEdyb3VwSGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUNoZWNrYm94R3JvdXBIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lDaGVja2JveEdyb3VwSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lDaGVja2JveEdyb3VwSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBoZWxwIGlubGluZSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tIZWxwSW5saW5lKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbiBhcnJheSBvZiBoYXJuZXNzZXMgZm9yIHRoZSBjaGVja2JveGVzIGluIHRoZSBjaGVja2JveCBncm91cC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRDaGVja2JveGVzKCk6IFByb21pc2U8U2t5Q2hlY2tib3hIYXJuZXNzW10+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jZ2V0Q2hlY2tib3hlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyQ29udGVudCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyQ29udGVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciB0aXRsZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlclRpdGxlKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmdldFBvcG92ZXJUaXRsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGNoZWNrYm94IGdyb3VwJ3MgaGVhZGluZyB0ZXh0LiBJZiBgaGVhZGluZ0hpZGRlbmAgaXMgdHJ1ZSxcbiAgICogdGhlIHRleHQgd2lsbCBzdGlsbCBiZSByZXR1cm5lZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nVGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSGVhZGluZygpKS50ZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY2hlY2tib3ggZ3JvdXAncyBoaW50IHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGludFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBoaW50VGV4dCA9IGF3YWl0IHRoaXMuI2dldEhpbnRUZXh0KCk7XG5cbiAgICByZXR1cm4gKGF3YWl0IGhpbnRUZXh0Py50ZXh0KCkpPy50cmltKCkgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaGVhZGluZyBpcyBoaWRkZW4uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVhZGluZ0hpZGRlbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKFxuICAgICAgYXdhaXQgdGhpcy4jZ2V0SGVhZGluZ1dyYXBwZXIoKVxuICAgICkuaGFzQ2xhc3MoJ3NreS1zY3JlZW4tcmVhZGVyLW9ubHknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2VtYW50aWMgaGVhZGluZyBsZXZlbCB1c2VkIGZvciB0aGUgY2hlY2tib3ggZ3JvdXAuIFJldHVybnMgdW5kZWZpbmVkIGlmIGhlYWRpbmcgbGV2ZWwgaXMgbm90IHNldC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nTGV2ZWwoKTogUHJvbWlzZTxcbiAgICBTa3lDaGVja2JveEdyb3VwSGVhZGluZ0xldmVsIHwgdW5kZWZpbmVkXG4gID4ge1xuICAgIGNvbnN0IGhlYWRpbmcgPSBhd2FpdCB0aGlzLiNnZXRMZWdlbmRIZWFkaW5nKCk7XG4gICAgY29uc3QgaDMgPSBhd2FpdCBoZWFkaW5nLm1hdGNoZXNTZWxlY3RvcignaDMnKTtcbiAgICBjb25zdCBoNCA9IGF3YWl0IGhlYWRpbmcubWF0Y2hlc1NlbGVjdG9yKCdoNCcpO1xuICAgIGNvbnN0IGg1ID0gYXdhaXQgaGVhZGluZy5tYXRjaGVzU2VsZWN0b3IoJ2g1Jyk7XG5cbiAgICBpZiAoaDMpIHtcbiAgICAgIHJldHVybiAzO1xuICAgIH0gZWxzZSBpZiAoaDQpIHtcbiAgICAgIHJldHVybiA0O1xuICAgIH0gZWxzZSBpZiAoaDUpIHtcbiAgICAgIHJldHVybiA1O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaGVhZGluZyBzdHlsZSB1c2VkIGZvciB0aGUgY2hlY2tib3ggZ3JvdXAuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVhZGluZ1N0eWxlKCk6IFByb21pc2U8U2t5Q2hlY2tib3hHcm91cEhlYWRpbmdTdHlsZT4ge1xuICAgIGNvbnN0IGhlYWRpbmcgPSBhd2FpdCB0aGlzLiNnZXRMZWdlbmRIZWFkaW5nKCk7XG5cbiAgICBjb25zdCBpc0hlYWRpbmdTdHlsZTMgPSBhd2FpdCBoZWFkaW5nLmhhc0NsYXNzKCdza3ktZm9udC1oZWFkaW5nLTMnKTtcbiAgICBjb25zdCBpc0hlYWRpbmdTdHlsZTQgPSBhd2FpdCBoZWFkaW5nLmhhc0NsYXNzKCdza3ktZm9udC1oZWFkaW5nLTQnKTtcblxuICAgIGlmIChpc0hlYWRpbmdTdHlsZTMpIHtcbiAgICAgIHJldHVybiAzO1xuICAgIH0gZWxzZSBpZiAoaXNIZWFkaW5nU3R5bGU0KSB7XG4gICAgICByZXR1cm4gNDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGdyb3VwIGlzIHJlcXVpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFJlcXVpcmVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGhlYWRpbmcgPSBhd2FpdCB0aGlzLiNnZXRIZWFkaW5nKCk7XG5cbiAgICByZXR1cm4gYXdhaXQgaGVhZGluZy5oYXNDbGFzcygnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBncm91cCBpcyBzdGFja2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFN0YWNrZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgaG9zdCA9IGF3YWl0IHRoaXMuaG9zdCgpO1xuICAgIGNvbnN0IGhlYWRpbmcgPVxuICAgICAgKGF3YWl0IHRoaXMuI2dldExlZ2VuZEgzKCkpIHx8XG4gICAgICAoYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSDQoKSkgfHxcbiAgICAgIChhd2FpdCB0aGlzLiNnZXRMZWdlbmRINSgpKTtcbiAgICBjb25zdCBsYWJlbCA9IGF3YWl0IHRoaXMuI2dldExlZ2VuZERlZmF1bHQoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAoKGF3YWl0IGhvc3QuaGFzQ2xhc3MoJ3NreS1mb3JtLWZpZWxkLXN0YWNrZWQnKSkgJiYgISFsYWJlbCkgfHxcbiAgICAgICgoYXdhaXQgaG9zdC5oYXNDbGFzcygnc2t5LWZpZWxkLWdyb3VwLXN0YWNrZWQnKSkgJiYgISFoZWFkaW5nKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBhbGwgdGhlIGNoZWNrYm94ZXMgaW4gYSByZXF1aXJlZCBncm91cCBhcmUgdW5jaGVja2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc1JlcXVpcmVkRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3JzKCkpLmhhc0Vycm9yKCdyZXF1aXJlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGdyb3VwIGhhcyBlcnJvcnMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzRXJyb3IoZXJyb3JOYW1lOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcnMoKSkuaGFzRXJyb3IoZXJyb3JOYW1lKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRGb3JtRXJyb3JzKCk6IFByb21pc2U8U2t5Rm9ybUVycm9yc0hhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFxuICAgICAgU2t5Rm9ybUVycm9yc0hhcm5lc3Mud2l0aCh7XG4gICAgICAgIGRhdGFTa3lJZDogJ2NoZWNrYm94LWdyb3VwLWZvcm0tZXJyb3JzJyxcbiAgICAgIH0pLFxuICAgICkoKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRIZWxwSW5saW5lKCk6IFByb21pc2U8U2t5SGVscElubGluZUhhcm5lc3M+IHtcbiAgICBjb25zdCBoYXJuZXNzID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICBTa3lIZWxwSW5saW5lSGFybmVzcy53aXRoKHtcbiAgICAgICAgYW5jZXN0b3I6ICcuc2t5LWNoZWNrYm94LWdyb3VwID4gLnNreS1jaGVja2JveC1ncm91cC1sZWdlbmQnLFxuICAgICAgfSksXG4gICAgKSgpO1xuXG4gICAgaWYgKGhhcm5lc3MpIHtcbiAgICAgIHJldHVybiBoYXJuZXNzO1xuICAgIH1cblxuICAgIHRocm93IEVycm9yKCdObyBoZWxwIGlubGluZSBmb3VuZC4nKTtcbiAgfVxufVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyFormErrorsHarness } from '../../form-error/form-errors-harness';\n/**\n * Harness for interacting with a file attachment component in tests.\n */\nexport class SkyFileAttachmentHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-file-attachment'; }\n #getButton = this.locatorFor('button.sky-file-attachment-btn');\n #getLabel = this.locatorFor('.sky-control-label');\n #input = this.locatorFor('input[type=\"file\"]');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFileAttachmentHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyFileAttachmentHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Clicks the attach file button if it is visible.\n */\n async clickAttachFileButton() {\n try {\n const button = await this.#getButton();\n if ((await button.text()).trim() === 'Replace file') {\n throw new Error();\n }\n return await button.click();\n }\n catch {\n throw new Error('Cannot click Attach file button, there is currently a file attached.');\n }\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n return await (await this.#getHelpInline()).click();\n }\n /**\n * Clicks the replace file button in default theme.\n */\n async clickReplaceFileButton() {\n try {\n const button = await this.#getButton();\n if ((await button.text()).trim() !== 'Replace file') {\n throw new Error();\n }\n return await button.click();\n }\n catch {\n throw new Error('Cannot click Replace file button, it is not visible.');\n }\n }\n /**\n * Clicks the attached file to download it.\n */\n async clickAttachedFile() {\n try {\n const file = await this.locatorFor('a')();\n return await file.click();\n }\n catch {\n throw new Error('Unable to find the attached file.');\n }\n }\n /**\n * Clicks the attached file's delete button.\n */\n async clickAttachedFileDeleteButton() {\n try {\n const deleteButton = await this.locatorFor('button.sky-file-attachment-delete')();\n return await deleteButton.click();\n }\n catch {\n throw new Error(\"Unable to find attached file's delete button. Check if a file is attached.\");\n }\n }\n /**\n * Gets the accepted file types.\n */\n async getAcceptedTypes() {\n return await (await this.#input()).getAttribute('accept');\n }\n /**\n * Gets the help inline popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help inline popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the hint text.\n */\n async getHintText() {\n return (await (await this.locatorFor('.sky-file-attachment-hint-text')()).text()).trim();\n }\n /**\n * Gets the file attachment label.\n */\n async getLabelText() {\n return (await (await this.#getLabel()).text()).trim();\n }\n /**\n * Whether a custom error has fired.\n */\n async hasCustomError(errorName) {\n return await (await this.#getFormErrors())?.hasError(errorName);\n }\n /**\n * Whether the wrong file type error has fired.\n */\n async hasFileTypeError() {\n return await (await this.#getFormErrors())?.hasError('fileType');\n }\n /**\n * Whether the max file size error has fired.\n */\n async hasMaxFileSizeError() {\n return await (await this.#getFormErrors())?.hasError('maxFileSize');\n }\n /**\n * Whether the min file size error has fired.\n */\n async hasMinFileSizeError() {\n return await (await this.#getFormErrors())?.hasError('minFileSize');\n }\n /**\n * Whether the required error has fired.\n */\n async hasRequiredError() {\n return await (await this.#getFormErrors())?.hasError('required');\n }\n /**\n * Whether file attachment is disabled.\n */\n async isDisabled() {\n return (await (await this.#getButton()).getAttribute('disabled')) !== null;\n }\n /**\n * Whether file attachment is required.\n */\n async isRequired() {\n return await (await this.#getLabel()).hasClass('sky-control-label-required');\n }\n /**\n * Whether file attachment has stacked enabled.\n */\n async isStacked() {\n return await (await this.host()).hasClass('sky-form-field-stacked');\n }\n /**\n * Attaches a file.\n * Be sure to include `provideSkyFileReaderTesting` as a provider when calling this function in tests.\n * @example\n * ```typescript\n * TestBed.configureTestingModule({\n * providers: [provideSkyFileReaderTesting()]\n * });\n * ```\n */\n async attachFile(file) {\n return await this.#dropFile(file);\n }\n async #dropFile(file) {\n const attachLocation = await this.locatorFor('.sky-file-attachment-upload')();\n const dataTransfer = new DataTransfer();\n dataTransfer.items.add(file);\n return await attachLocation.dispatchEvent('drop', {\n dataTransfer,\n });\n }\n async #getFormErrors() {\n return await this.locatorFor(SkyFormErrorsHarness)();\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBTTVFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG1CQUFtQjtJQUMvRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcscUJBQXFCLENBQUM7SUFFbkQsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUMvRCxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFL0M7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBd0M7UUFFeEMsT0FBTyx3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMscUJBQXFCO1FBQ2hDLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLGNBQWMsRUFBRSxDQUFDO2dCQUNw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QyxTQUFTO1FBQ3BCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBVTtRQUNoQyxPQUFPLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFVO1FBQ3hCLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FDMUMsNkJBQTZCLENBQzlCLEVBQUUsQ0FBQztRQUVKLE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBQzVELFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdCLE9BQU8sTUFBTSxjQUFjLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUNoRCxZQUFZO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1FBRXRFLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnREYXRhLCBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5SGVscElubGluZUhhcm5lc3MgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUZvcm1FcnJvcnNIYXJuZXNzIH0gZnJvbSAnLi4vLi4vZm9ybS1lcnJvci9mb3JtLWVycm9ycy1oYXJuZXNzJztcblxuaW1wb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vZmlsZS1hdHRhY2htZW50LWhhcm5lc3MtZmlsdGVycyc7XG5cbnR5cGUgVGVzdERhdGFUcmFuc2ZlciA9IERhdGFUcmFuc2ZlciAmIHsgW2tleTogc3RyaW5nXTogRXZlbnREYXRhIH07XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGZpbGUgYXR0YWNobWVudCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGaWxlQXR0YWNobWVudEhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWZpbGUtYXR0YWNobWVudCc7XG5cbiAgI2dldEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignYnV0dG9uLnNreS1maWxlLWF0dGFjaG1lbnQtYnRuJyk7XG4gICNnZXRMYWJlbCA9IHRoaXMubG9jYXRvckZvcignLnNreS1jb250cm9sLWxhYmVsJyk7XG4gICNpbnB1dCA9IHRoaXMubG9jYXRvckZvcignaW5wdXRbdHlwZT1cImZpbGVcIl0nKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5RmlsZUF0dGFjaG1lbnRIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5RmlsZUF0dGFjaG1lbnRIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lGaWxlQXR0YWNobWVudEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5RmlsZUF0dGFjaG1lbnRIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGF0dGFjaCBmaWxlIGJ1dHRvbiBpZiBpdCBpcyB2aXNpYmxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrQXR0YWNoRmlsZUJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYnV0dG9uID0gYXdhaXQgdGhpcy4jZ2V0QnV0dG9uKCk7XG4gICAgICBpZiAoKGF3YWl0IGJ1dHRvbi50ZXh0KCkpLnRyaW0oKSA9PT0gJ1JlcGxhY2UgZmlsZScpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgY2xpY2sgQXR0YWNoIGZpbGUgYnV0dG9uLCB0aGVyZSBpcyBjdXJyZW50bHkgYSBmaWxlIGF0dGFjaGVkLicsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGhlbHAgaW5saW5lIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0hlbHBJbmxpbmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSByZXBsYWNlIGZpbGUgYnV0dG9uIGluIGRlZmF1bHQgdGhlbWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tSZXBsYWNlRmlsZUJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYnV0dG9uID0gYXdhaXQgdGhpcy4jZ2V0QnV0dG9uKCk7XG4gICAgICBpZiAoKGF3YWl0IGJ1dHRvbi50ZXh0KCkpLnRyaW0oKSAhPT0gJ1JlcGxhY2UgZmlsZScpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjbGljayBSZXBsYWNlIGZpbGUgYnV0dG9uLCBpdCBpcyBub3QgdmlzaWJsZS4nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBhdHRhY2hlZCBmaWxlIHRvIGRvd25sb2FkIGl0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrQXR0YWNoZWRGaWxlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKCdhJykoKTtcbiAgICAgIHJldHVybiBhd2FpdCBmaWxlLmNsaWNrKCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBmaW5kIHRoZSBhdHRhY2hlZCBmaWxlLicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGF0dGFjaGVkIGZpbGUncyBkZWxldGUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrQXR0YWNoZWRGaWxlRGVsZXRlQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkZWxldGVCdXR0b24gPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoXG4gICAgICAgICdidXR0b24uc2t5LWZpbGUtYXR0YWNobWVudC1kZWxldGUnLFxuICAgICAgKSgpO1xuICAgICAgcmV0dXJuIGF3YWl0IGRlbGV0ZUJ1dHRvbi5jbGljaygpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlVuYWJsZSB0byBmaW5kIGF0dGFjaGVkIGZpbGUncyBkZWxldGUgYnV0dG9uLiBDaGVjayBpZiBhIGZpbGUgaXMgYXR0YWNoZWQuXCIsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhY2NlcHRlZCBmaWxlIHR5cGVzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFjY2VwdGVkVHlwZXMoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNpbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2FjY2VwdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgaW5saW5lIHBvcG92ZXIgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlckNvbnRlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlckNvbnRlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIGlubGluZSBwb3BvdmVyIHRpdGxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyVGl0bGUoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlclRpdGxlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGludCB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhpbnRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGF3YWl0IChhd2FpdCB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZmlsZS1hdHRhY2htZW50LWhpbnQtdGV4dCcpKCkpLnRleHQoKVxuICAgICkudHJpbSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpbGUgYXR0YWNobWVudCBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMYWJlbFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMYWJlbCgpKS50ZXh0KCkpLnRyaW0oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgY3VzdG9tIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNDdXN0b21FcnJvcihlcnJvck5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKT8uaGFzRXJyb3IoZXJyb3JOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB3cm9uZyBmaWxlIHR5cGUgZXJyb3IgaGFzIGZpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0ZpbGVUeXBlRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3JzKCkpPy5oYXNFcnJvcignZmlsZVR5cGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtYXggZmlsZSBzaXplIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNYXhGaWxlU2l6ZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKT8uaGFzRXJyb3IoJ21heEZpbGVTaXplJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbWluIGZpbGUgc2l6ZSBlcnJvciBoYXMgZmlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzTWluRmlsZVNpemVFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcnMoKSk/Lmhhc0Vycm9yKCdtaW5GaWxlU2l6ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJlcXVpcmVkIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNSZXF1aXJlZEVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBmaWxlIGF0dGFjaG1lbnQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLiNnZXRCdXR0b24oKSkuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpKSAhPT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGZpbGUgYXR0YWNobWVudCBpcyByZXF1aXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1JlcXVpcmVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoXG4gICAgICBhd2FpdCB0aGlzLiNnZXRMYWJlbCgpXG4gICAgKS5oYXNDbGFzcygnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGZpbGUgYXR0YWNobWVudCBoYXMgc3RhY2tlZCBlbmFibGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzU3RhY2tlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5oYXNDbGFzcygnc2t5LWZvcm0tZmllbGQtc3RhY2tlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaGVzIGEgZmlsZS5cbiAgICogQmUgc3VyZSB0byBpbmNsdWRlIGBwcm92aWRlU2t5RmlsZVJlYWRlclRlc3RpbmdgIGFzIGEgcHJvdmlkZXIgd2hlbiBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gaW4gdGVzdHMuXG4gICAqICBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIFRlc3RCZWQuY29uZmlndXJlVGVzdGluZ01vZHVsZSh7XG4gICAqICAgcHJvdmlkZXJzOiBbcHJvdmlkZVNreUZpbGVSZWFkZXJUZXN0aW5nKCldXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBhc3luYyBhdHRhY2hGaWxlKGZpbGU6IEZpbGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jZHJvcEZpbGUoZmlsZSk7XG4gIH1cblxuICBhc3luYyAjZHJvcEZpbGUoZmlsZTogRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGF0dGFjaExvY2F0aW9uID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFxuICAgICAgJy5za3ktZmlsZS1hdHRhY2htZW50LXVwbG9hZCcsXG4gICAgKSgpO1xuXG4gICAgY29uc3QgZGF0YVRyYW5zZmVyID0gbmV3IERhdGFUcmFuc2ZlcigpIGFzIFRlc3REYXRhVHJhbnNmZXI7XG4gICAgZGF0YVRyYW5zZmVyLml0ZW1zLmFkZChmaWxlKTtcblxuICAgIHJldHVybiBhd2FpdCBhdHRhY2hMb2NhdGlvbi5kaXNwYXRjaEV2ZW50KCdkcm9wJywge1xuICAgICAgZGF0YVRyYW5zZmVyLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgI2dldEZvcm1FcnJvcnMoKTogUHJvbWlzZTxTa3lGb3JtRXJyb3JzSGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoU2t5Rm9ybUVycm9yc0hhcm5lc3MpKCk7XG4gIH1cblxuICBhc3luYyAjZ2V0SGVscElubGluZSgpOiBQcm9taXNlPFNreUhlbHBJbmxpbmVIYXJuZXNzPiB7XG4gICAgY29uc3QgaGFybmVzcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFNreUhlbHBJbmxpbmVIYXJuZXNzKSgpO1xuXG4gICAgaWYgKGhhcm5lc3MpIHtcbiAgICAgIHJldHVybiBoYXJuZXNzO1xuICAgIH1cblxuICAgIHRocm93IEVycm9yKCdObyBoZWxwIGlubGluZSBmb3VuZC4nKTtcbiAgfVxufVxuIl19","import { SkyInputHarness } from '@skyux/core/testing';\n/**\n * Harness to interact with the file drop link upload input harness.\n */\nexport class SkyFileDropLinkUploadInputHarness extends SkyInputHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'input.sky-form-control'; }\n /**\n * Gets the input aria-label\n */\n async getAriaLabel() {\n return await (await this.host()).getAttribute('aria-label');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWxpbmstdXBsb2FkLWlucHV0LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC1saW5rLXVwbG9hZC1pbnB1dC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RDs7R0FFRztBQUNILE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxlQUFlO0lBQ3BFOztPQUVHO2FBQ1csaUJBQVksR0FBRyx3QkFBd0IsQ0FBQztJQUV0RDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lJbnB1dEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBIYXJuZXNzIHRvIGludGVyYWN0IHdpdGggdGhlIGZpbGUgZHJvcCBsaW5rIHVwbG9hZCBpbnB1dCBoYXJuZXNzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5RmlsZURyb3BMaW5rVXBsb2FkSW5wdXRIYXJuZXNzIGV4dGVuZHMgU2t5SW5wdXRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnaW5wdXQuc2t5LWZvcm0tY29udHJvbCc7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGlucHV0IGFyaWEtbGFiZWxcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyInputBoxHarness } from '../../input-box/input-box-harness';\nimport { SkyFileDropLinkUploadInputHarness } from './file-drop-link-upload-input-harness';\n/**\n * Harness for interacting with file drop component's link upload feature in tests.\n * @internal\n */\nexport class SkyFileDropLinkUploadHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = '.sky-file-drop-link'; }\n #input = this.locatorFor(SkyFileDropLinkUploadInputHarness);\n #inputBoxHarness = this.locatorFor(SkyInputBoxHarness);\n #button = this.locatorFor('button.sky-btn-primary');\n /**\n * Clicks the `Done` button\n */\n async clickDoneButton() {\n if (await this.#isDoneDisabled()) {\n throw new Error('Done button is disabled and cannot be clicked. Enter text to enable link upload.');\n }\n return await (await this.#button()).click();\n }\n /**\n * Enters text into the link upload input.\n */\n async enterText(link) {\n return await (await this.#input()).setValue(link);\n }\n /**\n * Gets the link upload aria-label.\n */\n async getAriaLabel() {\n return await (await this.#input()).getAriaLabel();\n }\n /**\n * Gets the hint text.\n */\n async getHintText() {\n return await (await this.#inputBoxHarness()).getHintText();\n }\n async #isDoneDisabled() {\n return (await (await this.#button()).getAttribute('disabled')) !== null;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWxpbmstdXBsb2FkLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC1saW5rLXVwbG9hZC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTFGOzs7R0FHRztBQUNILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFBbUI7SUFDbkU7O09BRUc7YUFDVyxpQkFBWSxHQUFHLHFCQUFxQixDQUFDO0lBRW5ELE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDNUQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFcEQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixJQUFJLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FDYixrRkFBa0YsQ0FDbkYsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBWTtRQUNqQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUN2QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWU7UUFDbkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQztJQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lJbnB1dEJveEhhcm5lc3MgfSBmcm9tICcuLi8uLi9pbnB1dC1ib3gvaW5wdXQtYm94LWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lGaWxlRHJvcExpbmtVcGxvYWRJbnB1dEhhcm5lc3MgfSBmcm9tICcuL2ZpbGUtZHJvcC1saW5rLXVwbG9hZC1pbnB1dC1oYXJuZXNzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGZpbGUgZHJvcCBjb21wb25lbnQncyBsaW5rIHVwbG9hZCBmZWF0dXJlIGluIHRlc3RzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGaWxlRHJvcExpbmtVcGxvYWRIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJy5za3ktZmlsZS1kcm9wLWxpbmsnO1xuXG4gICNpbnB1dCA9IHRoaXMubG9jYXRvckZvcihTa3lGaWxlRHJvcExpbmtVcGxvYWRJbnB1dEhhcm5lc3MpO1xuICAjaW5wdXRCb3hIYXJuZXNzID0gdGhpcy5sb2NhdG9yRm9yKFNreUlucHV0Qm94SGFybmVzcyk7XG4gICNidXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJ2J1dHRvbi5za3ktYnRuLXByaW1hcnknKTtcblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBgRG9uZWAgYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tEb25lQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLiNpc0RvbmVEaXNhYmxlZCgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdEb25lIGJ1dHRvbiBpcyBkaXNhYmxlZCBhbmQgY2Fubm90IGJlIGNsaWNrZWQuIEVudGVyIHRleHQgdG8gZW5hYmxlIGxpbmsgdXBsb2FkLicsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2J1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycyB0ZXh0IGludG8gdGhlIGxpbmsgdXBsb2FkIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGVudGVyVGV4dChsaW5rOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2lucHV0KCkpLnNldFZhbHVlKGxpbmspO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGxpbmsgdXBsb2FkIGFyaWEtbGFiZWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXJpYUxhYmVsKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jaW5wdXQoKSkuZ2V0QXJpYUxhYmVsKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGludCB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhpbnRUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNpbnB1dEJveEhhcm5lc3MoKSkuZ2V0SGludFRleHQoKTtcbiAgfVxuXG4gIGFzeW5jICNpc0RvbmVEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLiNidXR0b24oKSkuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpKSAhPT0gbnVsbDtcbiAgfVxufVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyFormErrorsHarness } from '../../form-error/form-errors-harness';\nimport { SkyFileDropLinkUploadHarness } from './file-drop-link-upload-harness';\n/**\n * Harness for interacting with a file drop component in tests.\n */\nexport class SkyFileDropHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-file-drop'; }\n #getDropTarget = this.locatorFor('.sky-file-drop-target');\n #input = this.locatorFor('input[type=\"file\"]');\n #fileUploadButton = this.locatorFor('button.sky-file-drop-target');\n #label = this.locatorFor('.sky-file-drop-label-text');\n #formErrors = this.locatorForAll(SkyFormErrorsHarness);\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFileDropHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyFileDropHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Clicks the file drop target.\n */\n async clickFileDropTarget() {\n return await (await this.#fileUploadButton()).click();\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n return await (await this.#getHelpInline()).click();\n }\n /**\n * Clicks the link upload `Done` button'.\n */\n async clickLinkUploadDoneButton() {\n return await (await this.#getLinkUpload()).clickDoneButton();\n }\n /**\n * Enters text into the link upload input.\n */\n async enterLinkUploadText(link) {\n return await (await this.#getLinkUpload()).enterText(link);\n }\n /**\n * Gets the accepted file types.\n */\n async getAcceptedTypes() {\n return await (await this.#input()).getAttribute('accept');\n }\n /**\n * Gets the aria-label for the file upload button.\n */\n async getFileUploadAriaLabel() {\n return await (await this.#fileUploadButton()).getAttribute('aria-label');\n }\n /**\n * Gets the help inline popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help inline popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the hint text.\n */\n async getHintText() {\n return (await (await this.locatorFor('.sky-file-drop-hint-text')()).text()).trim();\n }\n /**\n * Gets the label text.\n */\n async getLabelText() {\n return (await (await this.#label()).text()).trim();\n }\n /**\n * Gets the link upload aria-label.\n */\n async getLinkUploadAriaLabel() {\n return await (await this.#getLinkUpload()).getAriaLabel();\n }\n /**\n * Gets the link upload hint text.\n */\n async getLinkUploadHintText() {\n return await (await this.#getLinkUpload()).getHintText();\n }\n /**\n * Whether a custom form error has fired.\n */\n async hasCustomError(errorName) {\n return await (await this.#getFormErrors()).hasError(errorName);\n }\n /**\n * Whether the file type error has fired.\n */\n async hasFileTypeError() {\n return await (await this.#getFormErrors()).hasError('fileType');\n }\n /**\n * Whether the max file size error has fired.\n */\n async hasMaxFileSizeError() {\n return await (await this.#getFormErrors()).hasError('maxFileSize');\n }\n /**\n * Whether the min file size error has fired.\n */\n async hasMinFileSizeError() {\n return await (await this.#getFormErrors()).hasError('minFileSize');\n }\n /**\n * Whether the required error has fired.\n */\n async hasRequiredError() {\n return await (await this.#getFormErrors()).hasError('required');\n }\n /**\n * Whether the validate error from the customer validation has fired.\n */\n async hasValidateFnError() {\n return await (await this.#getFormErrors()).hasError('validate');\n }\n /**\n * Whether label text is hidden.\n */\n async isLabelHidden() {\n return await (await this.locatorFor('legend.sky-control-label')()).hasClass('sky-screen-reader-only');\n }\n /**\n * Whether file drop is required.\n */\n async isRequired() {\n return await (await this.#label()).hasClass('sky-control-label-required');\n }\n /**\n * Whether file drop has stacked enabled.\n */\n async isStacked() {\n return await (await this.host()).hasClass('sky-form-field-stacked');\n }\n /**\n * Loads a single file.\n * Be sure to include `provideSkyFileReaderTesting` as a provider when calling this function in tests.\n * @example\n * ```typescript\n * TestBed.configureTestingModule({\n * providers: [provideSkyFileReaderTesting()]\n * });\n * ``\n */\n async loadFile(file) {\n await this.#dropFiles([file]);\n }\n /**\n * Loads multiple files.\n * Be sure to include `provideSkyFileReaderTesting` as a provider when calling this function in tests.\n * @example\n * ```typescript\n * TestBed.configureTestingModule({\n * providers: [provideSkyFileReaderTesting()]\n * });\n * ``\n */\n async loadFiles(files) {\n return await this.#dropFiles(files);\n }\n async #dropFiles(files) {\n const dropTarget = await this.#getDropTarget();\n const dataTransfer = new DataTransfer();\n files?.forEach((file) => {\n dataTransfer.items.add(file);\n });\n await dropTarget.dispatchEvent('drop', {\n dataTransfer,\n });\n }\n async #getFormErrors() {\n return (await this.#formErrors())[1];\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n async #getLinkUpload() {\n const linkUpload = await this.locatorForOptional(SkyFileDropLinkUploadHarness)();\n if (linkUpload) {\n return linkUpload;\n }\n throw new Error('Link upload cannot be found. Set `allowLinks` property to `true`.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzVFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRS9FOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQUN6RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsZUFBZSxDQUFDO0lBRTdDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUQsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUMvQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDbkUsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUN0RCxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXZEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQWtDO1FBRWxDLE9BQU8sa0JBQWtCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQjtRQUM5QixPQUFPLE1BQU0sQ0FB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bUUsQ0FDcEUsQ0FBQztJQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudERhdGEsIEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lSGFybmVzcyB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yc0hhcm5lc3MgfSBmcm9tICcuLi8uLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lGaWxlRHJvcEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9maWxlLWRyb3AtaGFybmVzcy1maWx0ZXJzJztcbmltcG9ydCB7IFNreUZpbGVEcm9wTGlua1VwbG9hZEhhcm5lc3MgfSBmcm9tICcuL2ZpbGUtZHJvcC1saW5rLXVwbG9hZC1oYXJuZXNzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgZmlsZSBkcm9wIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUZpbGVEcm9wSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZmlsZS1kcm9wJztcblxuICAjZ2V0RHJvcFRhcmdldCA9IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWRyb3AtdGFyZ2V0Jyk7XG4gICNpbnB1dCA9IHRoaXMubG9jYXRvckZvcignaW5wdXRbdHlwZT1cImZpbGVcIl0nKTtcbiAgI2ZpbGVVcGxvYWRCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJ2J1dHRvbi5za3ktZmlsZS1kcm9wLXRhcmdldCcpO1xuICAjbGFiZWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZmlsZS1kcm9wLWxhYmVsLXRleHQnKTtcbiAgI2Zvcm1FcnJvcnMgPSB0aGlzLmxvY2F0b3JGb3JBbGwoU2t5Rm9ybUVycm9yc0hhcm5lc3MpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lGaWxlRHJvcEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lGaWxlRHJvcEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUZpbGVEcm9wSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lGaWxlRHJvcEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgZmlsZSBkcm9wIHRhcmdldC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0ZpbGVEcm9wVGFyZ2V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZmlsZVVwbG9hZEJ1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgaGVscCBpbmxpbmUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrSGVscElubGluZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGxpbmsgdXBsb2FkIGBEb25lYCBidXR0b24nLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrTGlua1VwbG9hZERvbmVCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMaW5rVXBsb2FkKCkpLmNsaWNrRG9uZUJ1dHRvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycyB0ZXh0IGludG8gdGhlIGxpbmsgdXBsb2FkIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGVudGVyTGlua1VwbG9hZFRleHQobGluazogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMaW5rVXBsb2FkKCkpLmVudGVyVGV4dChsaW5rKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhY2NlcHRlZCBmaWxlIHR5cGVzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFjY2VwdGVkVHlwZXMoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNpbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2FjY2VwdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFyaWEtbGFiZWwgZm9yIHRoZSBmaWxlIHVwbG9hZCBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmlsZVVwbG9hZEFyaWFMYWJlbCgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2ZpbGVVcGxvYWRCdXR0b24oKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGVscCBpbmxpbmUgcG9wb3ZlciBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyQ29udGVudCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyQ29udGVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgaW5saW5lIHBvcG92ZXIgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyVGl0bGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoaW50IHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGludFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKFxuICAgICAgYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWRyb3AtaGludC10ZXh0JykoKSkudGV4dCgpXG4gICAgKS50cmltKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbGFiZWwgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMYWJlbFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLiNsYWJlbCgpKS50ZXh0KCkpLnRyaW0oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBsaW5rIHVwbG9hZCBhcmlhLWxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldExpbmtVcGxvYWRBcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMaW5rVXBsb2FkKCkpLmdldEFyaWFMYWJlbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGxpbmsgdXBsb2FkIGhpbnQgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMaW5rVXBsb2FkSGludFRleHQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldExpbmtVcGxvYWQoKSkuZ2V0SGludFRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgY3VzdG9tIGZvcm0gZXJyb3IgaGFzIGZpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0N1c3RvbUVycm9yKGVycm9yTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3JzKCkpLmhhc0Vycm9yKGVycm9yTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmlsZSB0eXBlIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNGaWxlVHlwZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcignZmlsZVR5cGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtYXggZmlsZSBzaXplIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNYXhGaWxlU2l6ZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcignbWF4RmlsZVNpemUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtaW4gZmlsZSBzaXplIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNaW5GaWxlU2l6ZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcignbWluRmlsZVNpemUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByZXF1aXJlZCBlcnJvciBoYXMgZmlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzUmVxdWlyZWRFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcnMoKSkuaGFzRXJyb3IoJ3JlcXVpcmVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdmFsaWRhdGUgZXJyb3IgZnJvbSB0aGUgY3VzdG9tZXIgdmFsaWRhdGlvbiBoYXMgZmlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzVmFsaWRhdGVGbkVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcigndmFsaWRhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGxhYmVsIHRleHQgaXMgaGlkZGVuLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzTGFiZWxIaWRkZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMubG9jYXRvckZvcignbGVnZW5kLnNreS1jb250cm9sLWxhYmVsJykoKVxuICAgICkuaGFzQ2xhc3MoJ3NreS1zY3JlZW4tcmVhZGVyLW9ubHknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGZpbGUgZHJvcCBpcyByZXF1aXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1JlcXVpcmVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jbGFiZWwoKSkuaGFzQ2xhc3MoJ3NreS1jb250cm9sLWxhYmVsLXJlcXVpcmVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBmaWxlIGRyb3AgaGFzIHN0YWNrZWQgZW5hYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1N0YWNrZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuaGFzQ2xhc3MoJ3NreS1mb3JtLWZpZWxkLXN0YWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBhIHNpbmdsZSBmaWxlLlxuICAgKiBCZSBzdXJlIHRvIGluY2x1ZGUgYHByb3ZpZGVTa3lGaWxlUmVhZGVyVGVzdGluZ2AgYXMgYSBwcm92aWRlciB3aGVuIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpbiB0ZXN0cy5cbiAgICogIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogVGVzdEJlZC5jb25maWd1cmVUZXN0aW5nTW9kdWxlKHtcbiAgICogICBwcm92aWRlcnM6IFtwcm92aWRlU2t5RmlsZVJlYWRlclRlc3RpbmcoKV1cbiAgICogfSk7XG4gICAqIGBgXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbG9hZEZpbGUoZmlsZTogRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuI2Ryb3BGaWxlcyhbZmlsZV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIG11bHRpcGxlIGZpbGVzLlxuICAgKiBCZSBzdXJlIHRvIGluY2x1ZGUgYHByb3ZpZGVTa3lGaWxlUmVhZGVyVGVzdGluZ2AgYXMgYSBwcm92aWRlciB3aGVuIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpbiB0ZXN0cy5cbiAgICogIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogVGVzdEJlZC5jb25maWd1cmVUZXN0aW5nTW9kdWxlKHtcbiAgICogICBwcm92aWRlcnM6IFtwcm92aWRlU2t5RmlsZVJlYWRlclRlc3RpbmcoKV1cbiAgICogfSk7XG4gICAqIGBgXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbG9hZEZpbGVzKGZpbGVzOiBGaWxlW10gfCBudWxsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuI2Ryb3BGaWxlcyhmaWxlcyk7XG4gIH1cblxuICBhc3luYyAjZHJvcEZpbGVzKGZpbGVzOiBGaWxlW10gfCBudWxsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZHJvcFRhcmdldCA9IGF3YWl0IHRoaXMuI2dldERyb3BUYXJnZXQoKTtcblxuICAgIHR5cGUgVGVzdERhdGFUcmFuc2ZlciA9IERhdGFUcmFuc2ZlciAmIHsgW2tleTogc3RyaW5nXTogRXZlbnREYXRhIH07XG5cbiAgICBjb25zdCBkYXRhVHJhbnNmZXIgPSBuZXcgRGF0YVRyYW5zZmVyKCkgYXMgVGVzdERhdGFUcmFuc2ZlcjtcblxuICAgIGZpbGVzPy5mb3JFYWNoKChmaWxlKSA9PiB7XG4gICAgICBkYXRhVHJhbnNmZXIuaXRlbXMuYWRkKGZpbGUpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgZHJvcFRhcmdldC5kaXNwYXRjaEV2ZW50KCdkcm9wJywge1xuICAgICAgZGF0YVRyYW5zZmVyLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgI2dldEZvcm1FcnJvcnMoKTogUHJvbWlzZTxTa3lGb3JtRXJyb3JzSGFybmVzcz4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZm9ybUVycm9ycygpKVsxXTtcbiAgfVxuXG4gIGFzeW5jICNnZXRIZWxwSW5saW5lKCk6IFByb21pc2U8U2t5SGVscElubGluZUhhcm5lc3M+IHtcbiAgICBjb25zdCBoYXJuZXNzID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoU2t5SGVscElubGluZUhhcm5lc3MpKCk7XG5cbiAgICBpZiAoaGFybmVzcykge1xuICAgICAgcmV0dXJuIGhhcm5lc3M7XG4gICAgfVxuXG4gICAgdGhyb3cgRXJyb3IoJ05vIGhlbHAgaW5saW5lIGZvdW5kLicpO1xuICB9XG5cbiAgYXN5bmMgI2dldExpbmtVcGxvYWQoKTogUHJvbWlzZTxTa3lGaWxlRHJvcExpbmtVcGxvYWRIYXJuZXNzPiB7XG4gICAgY29uc3QgbGlua1VwbG9hZCA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICAgU2t5RmlsZURyb3BMaW5rVXBsb2FkSGFybmVzcyxcbiAgICApKCk7XG5cbiAgICBpZiAobGlua1VwbG9hZCkge1xuICAgICAgcmV0dXJuIGxpbmtVcGxvYWQ7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0xpbmsgdXBsb2FkIGNhbm5vdCBiZSBmb3VuZC4gU2V0IGBhbGxvd0xpbmtzYCBwcm9wZXJ0eSB0byBgdHJ1ZWAuJyxcbiAgICApO1xuICB9XG59XG4iXX0=","import { provideSkyFileReaderTesting } from '@skyux/core/testing';\n/**\n * Provides mocks for file attachment testing.\n * @example\n * ```typescript\n * TestBed.configureTestingModule({\n * providers: [provideSkyFileAttachmentTesting()]\n * });\n * ```\n */\nexport function provideSkyFileAttachmentTesting() {\n return [provideSkyFileReaderTesting()];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1maWxlLWF0dGFjaG1lbnQtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9zaGFyZWQvcHJvdmlkZS1maWxlLWF0dGFjaG1lbnQtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSwrQkFBK0I7SUFDN0MsT0FBTyxDQUFDLDJCQUEyQixFQUFFLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVTa3lGaWxlUmVhZGVyVGVzdGluZyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIFByb3ZpZGVzIG1vY2tzIGZvciBmaWxlIGF0dGFjaG1lbnQgdGVzdGluZy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBUZXN0QmVkLmNvbmZpZ3VyZVRlc3RpbmdNb2R1bGUoe1xuICogICBwcm92aWRlcnM6IFtwcm92aWRlU2t5RmlsZUF0dGFjaG1lbnRUZXN0aW5nKCldXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVNreUZpbGVBdHRhY2htZW50VGVzdGluZygpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtwcm92aWRlU2t5RmlsZVJlYWRlclRlc3RpbmcoKV07XG59XG4iXX0=","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\n/**\n * Harness for interacting with a file item component in tests.\n */\nexport class SkyFileItemHarness extends ComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-file-item'; }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFileItemHarness` that meets certain criteria.\n */\n static with(filters) {\n return new HarnessPredicate(SkyFileItemHarness, filters).addOption('fileName', filters.fileName, async (harness, fileName) => {\n const harnessFileName = await harness.getFileName();\n return await HarnessPredicate.stringMatches(harnessFileName, fileName);\n });\n }\n /**\n * Clicks the delete button.\n */\n async clickDeleteButton() {\n return await (await this.locatorFor('.sky-file-item-btn-delete')()).click();\n }\n /**\n * Gets the file name.\n */\n async getFileName() {\n return await (await this.locatorFor('.sky-file-item-name')()).text();\n }\n /**\n * Gets the file size.\n */\n async getFileSize() {\n const size = await (await this.locatorFor('.sky-file-item-size')()).text();\n return size.substring(1, size.length - 1);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtaXRlbS1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSTFFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQUN0RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsZUFBZSxDQUFDO0lBRTdDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQWtDO1FBRWxDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQ2hFLFVBQVUsRUFDVixPQUFPLENBQUMsUUFBUSxFQUNoQixLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQzFCLE1BQU0sZUFBZSxHQUFHLE1BQU0sT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BELE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pFLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQjtRQUM1QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzLCBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lGaWxlSXRlbUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9maWxlLWl0ZW0taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgZmlsZSBpdGVtIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUZpbGVJdGVtSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZmlsZS1pdGVtJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5RmlsZUl0ZW1IYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5RmlsZUl0ZW1IYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lGaWxlSXRlbUhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoU2t5RmlsZUl0ZW1IYXJuZXNzLCBmaWx0ZXJzKS5hZGRPcHRpb24oXG4gICAgICAnZmlsZU5hbWUnLFxuICAgICAgZmlsdGVycy5maWxlTmFtZSxcbiAgICAgIGFzeW5jIChoYXJuZXNzLCBmaWxlTmFtZSkgPT4ge1xuICAgICAgICBjb25zdCBoYXJuZXNzRmlsZU5hbWUgPSBhd2FpdCBoYXJuZXNzLmdldEZpbGVOYW1lKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzc0ZpbGVOYW1lLCBmaWxlTmFtZSk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBkZWxldGUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrRGVsZXRlQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWZpbGUtaXRlbS1idG4tZGVsZXRlJykoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmaWxlIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmlsZU5hbWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWl0ZW0tbmFtZScpKCkpLnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmaWxlIHNpemUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmlsZVNpemUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBzaXplID0gYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWl0ZW0tc2l6ZScpKCkpLnRleHQoKTtcbiAgICByZXR1cm4gc2l6ZS5zdWJzdHJpbmcoMSwgc2l6ZS5sZW5ndGggLSAxKTtcbiAgfVxufVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\n/**\n * Harness for interacting with a field group component in tests.\n */\nexport class SkyFieldGroupHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-field-group'; }\n #getLegend = this.locatorFor('legend');\n #getLegendH3 = this.locatorForOptional('legend h3');\n #getLegendH4 = this.locatorForOptional('legend h4');\n #getLegendHeading = this.locatorFor('legend h3,h4');\n #getHintText = this.locatorForOptional('.sky-field-group-hint-text');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFieldGroupHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyFieldGroupHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Gets the field group's heading text. If `headingHidden` is true,\n * the text will still be returned.\n */\n async getHeadingText() {\n return await (await this.#getLegendHeading()).text();\n }\n /**\n * Gets the field group's hint text.\n */\n async getHintText() {\n const hintText = await this.#getHintText();\n return (await hintText?.text())?.trim() ?? '';\n }\n /**\n * Whether the heading is hidden.\n */\n async getHeadingHidden() {\n return await (await this.#getLegend()).hasClass('sky-screen-reader-only');\n }\n /**\n * Whether the field group is stacked.\n */\n async getStacked() {\n const host = await this.host();\n return await host.hasClass('sky-field-group-stacked');\n }\n /**\n * The semantic heading level used for the field group.\n */\n async getHeadingLevel() {\n const h3 = await this.#getLegendH3();\n return h3 ? 3 : 4;\n }\n /**\n * The heading style used for the field group.\n */\n async getHeadingStyle() {\n const heading = (await this.#getLegendH3()) || (await this.#getLegendH4());\n return (await heading?.hasClass('sky-font-heading-3')) ? 3 : 4;\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness.with({\n ancestor: '.sky-field-group > .sky-field-group-legend',\n }))();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ3JvdXAtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2ZpZWxkLWdyb3VwL2ZpZWxkLWdyb3VwLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJbEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBQzNEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxpQkFBaUIsQ0FBQztJQUUvQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRCxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFFckU7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBb0M7UUFFcEMsT0FBTyxvQkFBb0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLGNBQWM7UUFDekIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTNDLE9BQU8sQ0FBQyxNQUFNLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZ0JBQWdCO1FBQzNCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFL0IsT0FBTyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVyQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUUzRSxPQUFPLENBQUMsTUFBTSxPQUFPLEVBQUUsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHFCQUFxQjtRQUNoQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQjtRQUM5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FDM0Msb0JBQW9CLENBQUMsSUFBSSxDQUFDO1lBQ3hCLFFBQVEsRUFBRSw0Q0FBNEM7U0FDdkQsQ0FBQyxDQUNILEVBQUUsQ0FBQztRQUVKLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBQ0QsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7XG4gIFNreUZpZWxkR3JvdXBIZWFkaW5nTGV2ZWwsXG4gIFNreUZpZWxkR3JvdXBIZWFkaW5nU3R5bGUsXG59IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lSGFybmVzcyB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5RmllbGRHcm91cEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9maWVsZC1ncm91cC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBmaWVsZCBncm91cCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGaWVsZEdyb3VwSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZmllbGQtZ3JvdXAnO1xuXG4gICNnZXRMZWdlbmQgPSB0aGlzLmxvY2F0b3JGb3IoJ2xlZ2VuZCcpO1xuICAjZ2V0TGVnZW5kSDMgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnbGVnZW5kIGgzJyk7XG4gICNnZXRMZWdlbmRINCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCdsZWdlbmQgaDQnKTtcbiAgI2dldExlZ2VuZEhlYWRpbmcgPSB0aGlzLmxvY2F0b3JGb3IoJ2xlZ2VuZCBoMyxoNCcpO1xuICAjZ2V0SGludFRleHQgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1maWVsZC1ncm91cC1oaW50LXRleHQnKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5RmllbGRHcm91cEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lGaWVsZEdyb3VwSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5RmllbGRHcm91cEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5RmllbGRHcm91cEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpZWxkIGdyb3VwJ3MgaGVhZGluZyB0ZXh0LiBJZiBgaGVhZGluZ0hpZGRlbmAgaXMgdHJ1ZSxcbiAgICogdGhlIHRleHQgd2lsbCBzdGlsbCBiZSByZXR1cm5lZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nVGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSGVhZGluZygpKS50ZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZmllbGQgZ3JvdXAncyBoaW50IHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGludFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBoaW50VGV4dCA9IGF3YWl0IHRoaXMuI2dldEhpbnRUZXh0KCk7XG5cbiAgICByZXR1cm4gKGF3YWl0IGhpbnRUZXh0Py50ZXh0KCkpPy50cmltKCkgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaGVhZGluZyBpcyBoaWRkZW4uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVhZGluZ0hpZGRlbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldExlZ2VuZCgpKS5oYXNDbGFzcygnc2t5LXNjcmVlbi1yZWFkZXItb25seScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpZWxkIGdyb3VwIGlzIHN0YWNrZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U3RhY2tlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBob3N0ID0gYXdhaXQgdGhpcy5ob3N0KCk7XG5cbiAgICByZXR1cm4gYXdhaXQgaG9zdC5oYXNDbGFzcygnc2t5LWZpZWxkLWdyb3VwLXN0YWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2VtYW50aWMgaGVhZGluZyBsZXZlbCB1c2VkIGZvciB0aGUgZmllbGQgZ3JvdXAuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVhZGluZ0xldmVsKCk6IFByb21pc2U8U2t5RmllbGRHcm91cEhlYWRpbmdMZXZlbD4ge1xuICAgIGNvbnN0IGgzID0gYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSDMoKTtcblxuICAgIHJldHVybiBoMyA/IDMgOiA0O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBoZWFkaW5nIHN0eWxlIHVzZWQgZm9yIHRoZSBmaWVsZCBncm91cC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nU3R5bGUoKTogUHJvbWlzZTxTa3lGaWVsZEdyb3VwSGVhZGluZ1N0eWxlPiB7XG4gICAgY29uc3QgaGVhZGluZyA9IChhd2FpdCB0aGlzLiNnZXRMZWdlbmRIMygpKSB8fCAoYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSDQoKSk7XG5cbiAgICByZXR1cm4gKGF3YWl0IGhlYWRpbmc/Lmhhc0NsYXNzKCdza3ktZm9udC1oZWFkaW5nLTMnKSkgPyAzIDogNDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGhlbHAgaW5saW5lIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0hlbHBJbmxpbmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlckNvbnRlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlckNvbnRlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyVGl0bGUoKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRIZWxwSW5saW5lKCk6IFByb21pc2U8U2t5SGVscElubGluZUhhcm5lc3M+IHtcbiAgICBjb25zdCBoYXJuZXNzID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICBTa3lIZWxwSW5saW5lSGFybmVzcy53aXRoKHtcbiAgICAgICAgYW5jZXN0b3I6ICcuc2t5LWZpZWxkLWdyb3VwID4gLnNreS1maWVsZC1ncm91cC1sZWdlbmQnLFxuICAgICAgfSksXG4gICAgKSgpO1xuXG4gICAgaWYgKGhhcm5lc3MpIHtcbiAgICAgIHJldHVybiBoYXJuZXNzO1xuICAgIH1cbiAgICB0aHJvdyBFcnJvcignTm8gaGVscCBpbmxpbmUgZm91bmQuJyk7XG4gIH1cbn1cbiJdfQ==","import { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n/**\n * Allows interaction with a SKY UX radio buttons within a radio group.\n * @deprecated Use `SkyRadioHarness` instead.\n * @internal\n */\nexport class SkyRadioFixture {\n #debugEl;\n #fixture;\n constructor(fixture, skyTestId) {\n this.#fixture = fixture;\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-radio-group');\n }\n /**\n * The selected radio button value.\n */\n get value() {\n const selectedRadio = this.#debugEl.query(By.css('sky-radio input:checked'));\n const selectedValue = selectedRadio && selectedRadio.nativeElement.value;\n return selectedValue;\n }\n /**\n * Set the selected radio button value.\n */\n set value(value) {\n const allRadioInputs = this.#getAllRadioInputEls();\n allRadioInputs.forEach((input, index) => {\n if (input.nativeElement.value === value) {\n input.nativeElement.checked = true;\n }\n else {\n input.nativeElement.checked = false;\n }\n });\n }\n /**\n * A flag indicating if every radio button in the radio group is disabled.\n */\n get disabled() {\n const allRadioButtons = this.#getAllSkyRadioButtonEls();\n for (let i = 0; i < allRadioButtons.length; i++) {\n if (!this.#radioButtonDisabled(i)) {\n return false;\n }\n }\n return true;\n }\n /**\n * Set the disabled value for all radio buttons.\n */\n set disabled(value) {\n const allRadioButtons = this.#getAllSkyRadioButtonEls();\n allRadioButtons.forEach((button, index) => {\n this.#setRadioButtonDisabled(index, value);\n });\n }\n #getAllSkyRadioButtonEls() {\n return this.#debugEl.queryAll(By.css('.sky-radio-group sky-radio'));\n }\n #getAllRadioInputEls() {\n return this.#debugEl.queryAll(By.css('.sky-radio-group sky-radio input'));\n }\n #getRadioButtonInputEl(index) {\n const allRadioInputs = this.#getAllRadioInputEls();\n if (allRadioInputs && allRadioInputs[index]) {\n return allRadioInputs[index];\n }\n /* istanbul ignore next */\n return;\n }\n #radioButtonDisabled(index) {\n const radioButton = this.#getRadioButtonInputEl(index);\n return radioButton && radioButton.nativeElement.disabled;\n }\n #setRadioButtonDisabled(index, value) {\n const radioButton = this.#getRadioButtonInputEl(index);\n /* istanbul ignore else */\n if (radioButton) {\n radioButton.nativeElement.disabled = value;\n this.#fixture.detectChanges();\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9sZWdhY3kvcmFkaW8tZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFFBQVEsQ0FBZTtJQUN2QixRQUFRLENBQXdCO0lBRWhDLFlBQVksT0FBOEIsRUFBRSxTQUFpQjtRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUN2RCxPQUFPLEVBQ1AsU0FBUyxFQUNULGlCQUFpQixDQUNsQixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxLQUFLO1FBQ2QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQ3ZDLEVBQUUsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FDbEMsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLGFBQWEsSUFBSSxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUV6RSxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLEtBQUssQ0FBQyxLQUFhO1FBQzVCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRW5ELGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDeEMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3JDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBRXhELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVEsQ0FBQyxLQUFjO1FBQ2hDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBRXhELGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQWE7UUFDbEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFbkQsSUFBSSxjQUFjLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELDBCQUEwQjtRQUMxQixPQUFPO0lBQ1QsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWE7UUFDaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXZELE9BQU8sV0FBVyxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQzNELENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUFhLEVBQUUsS0FBYztRQUNuRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkQsMEJBQTBCO1FBQzFCLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBRTNDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU2t5QXBwVGVzdFV0aWxpdHkgfSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIHJhZGlvIGJ1dHRvbnMgd2l0aGluIGEgcmFkaW8gZ3JvdXAuXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFNreVJhZGlvSGFybmVzc2AgaW5zdGVhZC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5UmFkaW9GaXh0dXJlIHtcbiAgI2RlYnVnRWw6IERlYnVnRWxlbWVudDtcbiAgI2ZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55PjtcblxuICBjb25zdHJ1Y3RvcihmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPGFueT4sIHNreVRlc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy4jZml4dHVyZSA9IGZpeHR1cmU7XG4gICAgdGhpcy4jZGVidWdFbCA9IFNreUFwcFRlc3RVdGlsaXR5LmdldERlYnVnRWxlbWVudEJ5VGVzdElkKFxuICAgICAgZml4dHVyZSxcbiAgICAgIHNreVRlc3RJZCxcbiAgICAgICdza3ktcmFkaW8tZ3JvdXAnLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNlbGVjdGVkIHJhZGlvIGJ1dHRvbiB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWxlY3RlZFJhZGlvID0gdGhpcy4jZGVidWdFbC5xdWVyeShcbiAgICAgIEJ5LmNzcygnc2t5LXJhZGlvIGlucHV0OmNoZWNrZWQnKSxcbiAgICApO1xuICAgIGNvbnN0IHNlbGVjdGVkVmFsdWUgPSBzZWxlY3RlZFJhZGlvICYmIHNlbGVjdGVkUmFkaW8ubmF0aXZlRWxlbWVudC52YWx1ZTtcblxuICAgIHJldHVybiBzZWxlY3RlZFZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgc2VsZWN0ZWQgcmFkaW8gYnV0dG9uIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgYWxsUmFkaW9JbnB1dHMgPSB0aGlzLiNnZXRBbGxSYWRpb0lucHV0RWxzKCk7XG5cbiAgICBhbGxSYWRpb0lucHV0cy5mb3JFYWNoKChpbnB1dCwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICBpbnB1dC5uYXRpdmVFbGVtZW50LmNoZWNrZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5wdXQubmF0aXZlRWxlbWVudC5jaGVja2VkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQSBmbGFnIGluZGljYXRpbmcgaWYgZXZlcnkgcmFkaW8gYnV0dG9uIGluIHRoZSByYWRpbyBncm91cCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYWxsUmFkaW9CdXR0b25zID0gdGhpcy4jZ2V0QWxsU2t5UmFkaW9CdXR0b25FbHMoKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWxsUmFkaW9CdXR0b25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoIXRoaXMuI3JhZGlvQnV0dG9uRGlzYWJsZWQoaSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRpc2FibGVkIHZhbHVlIGZvciBhbGwgcmFkaW8gYnV0dG9ucy5cbiAgICovXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBhbGxSYWRpb0J1dHRvbnMgPSB0aGlzLiNnZXRBbGxTa3lSYWRpb0J1dHRvbkVscygpO1xuXG4gICAgYWxsUmFkaW9CdXR0b25zLmZvckVhY2goKGJ1dHRvbiwgaW5kZXgpID0+IHtcbiAgICAgIHRoaXMuI3NldFJhZGlvQnV0dG9uRGlzYWJsZWQoaW5kZXgsIHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gICNnZXRBbGxTa3lSYWRpb0J1dHRvbkVscygpOiBEZWJ1Z0VsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuI2RlYnVnRWwucXVlcnlBbGwoQnkuY3NzKCcuc2t5LXJhZGlvLWdyb3VwIHNreS1yYWRpbycpKTtcbiAgfVxuXG4gICNnZXRBbGxSYWRpb0lucHV0RWxzKCk6IERlYnVnRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy4jZGVidWdFbC5xdWVyeUFsbChCeS5jc3MoJy5za3ktcmFkaW8tZ3JvdXAgc2t5LXJhZGlvIGlucHV0JykpO1xuICB9XG5cbiAgI2dldFJhZGlvQnV0dG9uSW5wdXRFbChpbmRleDogbnVtYmVyKTogRGVidWdFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBhbGxSYWRpb0lucHV0cyA9IHRoaXMuI2dldEFsbFJhZGlvSW5wdXRFbHMoKTtcblxuICAgIGlmIChhbGxSYWRpb0lucHV0cyAmJiBhbGxSYWRpb0lucHV0c1tpbmRleF0pIHtcbiAgICAgIHJldHVybiBhbGxSYWRpb0lucHV0c1tpbmRleF07XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgI3JhZGlvQnV0dG9uRGlzYWJsZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJhZGlvQnV0dG9uID0gdGhpcy4jZ2V0UmFkaW9CdXR0b25JbnB1dEVsKGluZGV4KTtcblxuICAgIHJldHVybiByYWRpb0J1dHRvbiAmJiByYWRpb0J1dHRvbi5uYXRpdmVFbGVtZW50LmRpc2FibGVkO1xuICB9XG5cbiAgI3NldFJhZGlvQnV0dG9uRGlzYWJsZWQoaW5kZXg6IG51bWJlciwgdmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCByYWRpb0J1dHRvbiA9IHRoaXMuI2dldFJhZGlvQnV0dG9uSW5wdXRFbChpbmRleCk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChyYWRpb0J1dHRvbikge1xuICAgICAgcmFkaW9CdXR0b24ubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA9IHZhbHVlO1xuXG4gICAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { ComponentHarness } from '@angular/cdk/testing';\n/**\n * Harness for interacting with a radio label component in tests.\n * @internal\n */\nexport class SkyRadioLabelHarness extends ComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-radio-label'; }\n #getLabelContent = this.locatorFor('.sky-switch-label');\n /**\n * Gets the text content of the radio label.\n */\n async getText() {\n return await (await this.#getLabelContent()).text();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tbGFiZWwtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL3JhZGlvL3JhZGlvLWxhYmVsLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQUN4RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7SUFFL0MsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXhEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSByYWRpbyBsYWJlbCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreVJhZGlvTGFiZWxIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1yYWRpby1sYWJlbCc7XG5cbiAgI2dldExhYmVsQ29udGVudCA9IHRoaXMubG9jYXRvckZvcignLnNreS1zd2l0Y2gtbGFiZWwnKTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSByYWRpbyBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMYWJlbENvbnRlbnQoKSkudGV4dCgpO1xuICB9XG59XG4iXX0=","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyRadioLabelHarness } from './radio-label-harness';\n/**\n * Harness for interacting with a radio button component in tests.\n */\nexport class SkyRadioHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-radio'; }\n #getHintText = this.locatorForOptional('.sky-radio-hint-text');\n #getInput = this.locatorFor('input.sky-radio-input');\n #getLabel = this.locatorForOptional(SkyRadioLabelHarness);\n #getLabelText = this.locatorForOptional('span.sky-switch-label.sky-radio-label-text');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyRadioHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyRadioHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Blurs the radio button.\n */\n async blur() {\n await (await this.#getInput()).blur();\n }\n /**\n * Puts the radio button in a checked state if it is currently unchecked.\n */\n async check() {\n if (await this.isDisabled()) {\n throw new Error('Could not check the radio button because it is disabled.');\n }\n else if (!(await this.isChecked())) {\n await (await this.#getInput()).click();\n }\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Focuses the radio button.\n */\n async focus() {\n await (await this.#getInput()).focus();\n }\n /**\n * Gets the radio button's aria-label.\n */\n async getAriaLabel() {\n return await (await this.#getInput()).getAttribute('aria-label');\n }\n /**\n * Gets the radio button's aria-labelledby.\n */\n async getAriaLabelledby() {\n return await (await this.#getInput()).getAttribute('aria-labelledby');\n }\n /**\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the radio button's hint text.\n */\n async getHintText() {\n const hintText = await this.#getHintText();\n return (await hintText?.text())?.trim() ?? '';\n }\n /**\n * Whether the label is hidden. Only supported when using the `labelText` input to set the label.\n */\n async getLabelHidden() {\n const labelText = await this.#getLabelText();\n const label = await this.#getLabel();\n if (label) {\n throw new Error('`labelHidden` is only supported when setting the radio label via the `labelText` input.');\n }\n else {\n return !!(await labelText?.hasClass('sky-screen-reader-only'));\n }\n }\n /**\n * Gets the radio button's label text. If the label is set via `labelText` and `labelHidden` is true,\n * the text will still be returned.\n */\n async getLabelText() {\n const labelText = await this.#getLabelText();\n if (labelText) {\n return await labelText.text();\n }\n else {\n return await (await this.#getLabel())?.getText();\n }\n }\n /**\n * Gets the radio button's name.\n */\n async getName() {\n return await (await this.#getInput()).getAttribute('name');\n }\n /**\n * Whether the radio button is checked.\n */\n async isChecked() {\n return await (await this.#getInput()).getProperty('checked');\n }\n /**\n * Whether the radio button is disabled.\n */\n async isDisabled() {\n const disabled = await (await this.#getInput()).getAttribute('disabled');\n return disabled !== null;\n }\n /**\n * Whether the radio button is focused.\n */\n async isFocused() {\n return await (await this.#getInput()).isFocused();\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL3JhZGlvL3JhZGlvLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFDdEQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLFdBQVcsQ0FBQztJQUV6QyxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFFL0QsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVyRCxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFMUQsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FDckMsNENBQTRDLENBQzdDLENBQUM7SUFFRjs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUErQjtRQUUvQixPQUFPLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLElBQUksTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUs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QVM7UUFDcEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQVUsU0FBUyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sUUFBUSxLQUFLLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsU0FBUztRQUNwQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7UUFFdEUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxNQUFNLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5SGVscElubGluZUhhcm5lc3MgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVJhZGlvSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3JhZGlvLWhhcm5lc3MtZmlsdGVycyc7XG5pbXBvcnQgeyBTa3lSYWRpb0xhYmVsSGFybmVzcyB9IGZyb20gJy4vcmFkaW8tbGFiZWwtaGFybmVzcyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIHJhZGlvIGJ1dHRvbiBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lSYWRpb0hhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LXJhZGlvJztcblxuICAjZ2V0SGludFRleHQgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1yYWRpby1oaW50LXRleHQnKTtcblxuICAjZ2V0SW5wdXQgPSB0aGlzLmxvY2F0b3JGb3IoJ2lucHV0LnNreS1yYWRpby1pbnB1dCcpO1xuXG4gICNnZXRMYWJlbCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFNreVJhZGlvTGFiZWxIYXJuZXNzKTtcblxuICAjZ2V0TGFiZWxUZXh0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgJ3NwYW4uc2t5LXN3aXRjaC1sYWJlbC5za3ktcmFkaW8tbGFiZWwtdGV4dCcsXG4gICk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreVJhZGlvSGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreVJhZGlvSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5UmFkaW9IYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreVJhZGlvSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogQmx1cnMgdGhlIHJhZGlvIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBibHVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5ibHVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUHV0cyB0aGUgcmFkaW8gYnV0dG9uIGluIGEgY2hlY2tlZCBzdGF0ZSBpZiBpdCBpcyBjdXJyZW50bHkgdW5jaGVja2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNoZWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmlzRGlzYWJsZWQoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ291bGQgbm90IGNoZWNrIHRoZSByYWRpbyBidXR0b24gYmVjYXVzZSBpdCBpcyBkaXNhYmxlZC4nLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKCEoYXdhaXQgdGhpcy5pc0NoZWNrZWQoKSkpIHtcbiAgICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGhlbHAgaW5saW5lIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0hlbHBJbmxpbmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSByYWRpbyBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZm9jdXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcmFkaW8gYnV0dG9uJ3MgYXJpYS1sYWJlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByYWRpbyBidXR0b24ncyBhcmlhLWxhYmVsbGVkYnkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXJpYUxhYmVsbGVkYnkoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyQ29udGVudCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyQ29udGVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciB0aXRsZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlclRpdGxlKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmdldFBvcG92ZXJUaXRsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJhZGlvIGJ1dHRvbidzIGhpbnQgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIaW50VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGhpbnRUZXh0ID0gYXdhaXQgdGhpcy4jZ2V0SGludFRleHQoKTtcblxuICAgIHJldHVybiAoYXdhaXQgaGludFRleHQ/LnRleHQoKSk/LnRyaW0oKSA/PyAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsYWJlbCBpcyBoaWRkZW4uIE9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgdGhlIGBsYWJlbFRleHRgIGlucHV0IHRvIHNldCB0aGUgbGFiZWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0TGFiZWxIaWRkZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgbGFiZWxUZXh0ID0gYXdhaXQgdGhpcy4jZ2V0TGFiZWxUZXh0KCk7XG4gICAgY29uc3QgbGFiZWwgPSBhd2FpdCB0aGlzLiNnZXRMYWJlbCgpO1xuXG4gICAgaWYgKGxhYmVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdgbGFiZWxIaWRkZW5gIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gc2V0dGluZyB0aGUgcmFkaW8gbGFiZWwgdmlhIHRoZSBgbGFiZWxUZXh0YCBpbnB1dC4nLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICEhKGF3YWl0IGxhYmVsVGV4dD8uaGFzQ2xhc3MoJ3NreS1zY3JlZW4tcmVhZGVyLW9ubHknKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJhZGlvIGJ1dHRvbidzIGxhYmVsIHRleHQuIElmIHRoZSBsYWJlbCBpcyBzZXQgdmlhIGBsYWJlbFRleHRgIGFuZCBgbGFiZWxIaWRkZW5gIGlzIHRydWUsXG4gICAqIHRoZSB0ZXh0IHdpbGwgc3RpbGwgYmUgcmV0dXJuZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0TGFiZWxUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgbGFiZWxUZXh0ID0gYXdhaXQgdGhpcy4jZ2V0TGFiZWxUZXh0KCk7XG5cbiAgICBpZiAobGFiZWxUZXh0KSB7XG4gICAgICByZXR1cm4gYXdhaXQgbGFiZWxUZXh0LnRleHQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMYWJlbCgpKT8uZ2V0VGV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByYWRpbyBidXR0b24ncyBuYW1lLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldE5hbWUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ25hbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByYWRpbyBidXR0b24gaXMgY2hlY2tlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0NoZWNrZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRQcm9wZXJ0eTxib29sZWFuPignY2hlY2tlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJhZGlvIGJ1dHRvbiBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGRpc2FibGVkID0gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICByZXR1cm4gZGlzYWJsZWQgIT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmFkaW8gYnV0dG9uIGlzIGZvY3VzZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNGb2N1c2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuaXNGb2N1c2VkKCk7XG4gIH1cblxuICBhc3luYyAjZ2V0SGVscElubGluZSgpOiBQcm9taXNlPFNreUhlbHBJbmxpbmVIYXJuZXNzPiB7XG4gICAgY29uc3QgaGFybmVzcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFNreUhlbHBJbmxpbmVIYXJuZXNzKSgpO1xuXG4gICAgaWYgKGhhcm5lc3MpIHtcbiAgICAgIHJldHVybiBoYXJuZXNzO1xuICAgIH1cblxuICAgIHRocm93IEVycm9yKCdObyBoZWxwIGlubGluZSBmb3VuZC4nKTtcbiAgfVxufVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyFormErrorsHarness } from '../form-error/form-errors-harness';\nimport { SkyRadioHarness } from './radio-harness';\n/**\n * Harness for interacting with a radio group component in tests.\n */\nexport class SkyRadioGroupHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-radio-group'; }\n #getHeading = this.locatorFor('.sky-radio-group-legend span');\n #getHeadingWrapper = this.locatorForOptional('.sky-radio-group-legend');\n #getHintText = this.locatorForOptional('.sky-radio-group-hint-text');\n #getLegendDefault = this.locatorForOptional('legend .sky-radio-group-heading-text');\n #getLegendH3 = this.locatorForOptional('legend h3');\n #getLegendH4 = this.locatorForOptional('legend h4');\n #getLegendH5 = this.locatorForOptional('legend h5');\n #getLegendHeading = this.locatorForOptional('legend h3,h4,h5,.sky-radio-group-heading-text');\n #getRadioButtons = this.locatorForAll(SkyRadioHarness);\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyRadioGroupHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyRadioGroupHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Whether the heading is hidden.\n */\n async getHeadingHidden() {\n return await ((await this.#getHeadingWrapper())?.hasClass('sky-screen-reader-only') ?? true);\n }\n /**\n * The semantic heading level used for the radio group. Returns undefined if heading level is not set.\n */\n async getHeadingLevel() {\n const h3 = await this.#getLegendH3();\n const h4 = await this.#getLegendH4();\n const h5 = await this.#getLegendH5();\n if (h3) {\n return 3;\n }\n else if (h4) {\n return 4;\n }\n else if (h5) {\n return 5;\n }\n else {\n return undefined;\n }\n }\n /**\n * The heading style used for the radio group.\n */\n async getHeadingStyle() {\n const headingOrLabel = (await this.#getLegendH3()) ||\n (await this.#getLegendH4()) ||\n (await this.#getLegendH5()) ||\n (await this.#getLegendDefault());\n const isHeadingStyle3 = await headingOrLabel?.hasClass('sky-font-heading-3');\n const isHeadingStyle4 = await headingOrLabel?.hasClass('sky-font-heading-4');\n if (isHeadingStyle3) {\n return 3;\n }\n else if (isHeadingStyle4) {\n return 4;\n }\n else {\n return 5;\n }\n }\n /**\n * Gets the radio group's heading text. If `headingHidden` is true,\n * the text will still be returned.\n */\n async getHeadingText() {\n return await ((await this.#getLegendHeading())?.text() ?? '');\n }\n /**\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the radio group's hint text.\n */\n async getHintText() {\n const hintText = await this.#getHintText();\n return (await hintText?.text())?.trim() ?? '';\n }\n /**\n * Gets an array of harnesses for the radio buttons in the radio group.\n */\n async getRadioButtons() {\n return await this.#getRadioButtons();\n }\n /**\n * Whether the radio group is required.\n */\n async getRequired() {\n const headingWrapper = await this.#getHeading();\n return await headingWrapper.hasClass('sky-control-label-required');\n }\n /**\n * Whether the radio group is stacked.\n */\n async getStacked() {\n const host = await this.host();\n const heading = (await this.#getLegendH3()) ||\n (await this.#getLegendH4()) ||\n (await this.#getLegendH5());\n const label = await this.#getLegendDefault();\n return (((await host.hasClass('sky-form-field-stacked')) && !!label) ||\n ((await host.hasClass('sky-field-group-stacked')) && !!heading));\n }\n /**\n * Whether the radio group has errors.\n */\n async hasError(errorName) {\n return await (await this.#getFormErrors()).hasError(errorName);\n }\n async #getFormErrors() {\n return await this.locatorFor(SkyFormErrorsHarness)();\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness.with({\n ancestor: '.sky-radio-group > .sky-radio-group-legend',\n }))();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL3JhZGlvL3JhZGlvLWdyb3VwLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQUMzRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7SUFFL0MsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUM5RCxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUN4RSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDckUsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUN6QyxzQ0FBc0MsQ0FDdkMsQ0FBQztJQUNGLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwRCxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FDekMsK0NBQStDLENBQ2hELENBQUM7SUFD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SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUMzQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7WUFDeEIsUUFBUSxFQUFFLDRDQUE0QztTQUN2RCxDQUFDLENBQ0gsRUFBRSxDQUFDO1FBRUosSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxNQUFNLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHtcbiAgU2t5UmFkaW9Hcm91cEhlYWRpbmdMZXZlbCxcbiAgU2t5UmFkaW9Hcm91cEhlYWRpbmdTdHlsZSxcbn0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2hlbHAtaW5saW5lL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JzSGFybmVzcyB9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMtaGFybmVzcyc7XG5cbmltcG9ydCB7IFNreVJhZGlvR3JvdXBIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vcmFkaW8tZ3JvdXAtaGFybmVzcy1maWx0ZXJzJztcbmltcG9ydCB7IFNreVJhZGlvSGFybmVzcyB9IGZyb20gJy4vcmFkaW8taGFybmVzcyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIHJhZGlvIGdyb3VwIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVJhZGlvR3JvdXBIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1yYWRpby1ncm91cCc7XG5cbiAgI2dldEhlYWRpbmcgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktcmFkaW8tZ3JvdXAtbGVnZW5kIHNwYW4nKTtcbiAgI2dldEhlYWRpbmdXcmFwcGVyID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktcmFkaW8tZ3JvdXAtbGVnZW5kJyk7XG4gICNnZXRIaW50VGV4dCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCcuc2t5LXJhZGlvLWdyb3VwLWhpbnQtdGV4dCcpO1xuICAjZ2V0TGVnZW5kRGVmYXVsdCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICdsZWdlbmQgLnNreS1yYWRpby1ncm91cC1oZWFkaW5nLXRleHQnLFxuICApO1xuICAjZ2V0TGVnZW5kSDMgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnbGVnZW5kIGgzJyk7XG4gICNnZXRMZWdlbmRINCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCdsZWdlbmQgaDQnKTtcbiAgI2dldExlZ2VuZEg1ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJ2xlZ2VuZCBoNScpO1xuICAjZ2V0TGVnZW5kSGVhZGluZyA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICdsZWdlbmQgaDMsaDQsaDUsLnNreS1yYWRpby1ncm91cC1oZWFkaW5nLXRleHQnLFxuICApO1xuICAjZ2V0UmFkaW9CdXR0b25zID0gdGhpcy5sb2NhdG9yRm9yQWxsKFNreVJhZGlvSGFybmVzcyk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreVJhZGlvR3JvdXBIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5UmFkaW9Hcm91cEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreVJhZGlvR3JvdXBIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreVJhZGlvR3JvdXBIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGhlbHAgaW5saW5lIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0hlbHBJbmxpbmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBoZWFkaW5nIGlzIGhpZGRlbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nSGlkZGVuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoKFxuICAgICAgYXdhaXQgdGhpcy4jZ2V0SGVhZGluZ1dyYXBwZXIoKVxuICAgICk/Lmhhc0NsYXNzKCdza3ktc2NyZWVuLXJlYWRlci1vbmx5JykgPz8gdHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNlbWFudGljIGhlYWRpbmcgbGV2ZWwgdXNlZCBmb3IgdGhlIHJhZGlvIGdyb3VwLiBSZXR1cm5zIHVuZGVmaW5lZCBpZiBoZWFkaW5nIGxldmVsIGlzIG5vdCBzZXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVhZGluZ0xldmVsKCk6IFByb21pc2U8XG4gICAgU2t5UmFkaW9Hcm91cEhlYWRpbmdMZXZlbCB8IHVuZGVmaW5lZFxuICA+IHtcbiAgICBjb25zdCBoMyA9IGF3YWl0IHRoaXMuI2dldExlZ2VuZEgzKCk7XG4gICAgY29uc3QgaDQgPSBhd2FpdCB0aGlzLiNnZXRMZWdlbmRINCgpO1xuICAgIGNvbnN0IGg1ID0gYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSDUoKTtcblxuICAgIGlmIChoMykge1xuICAgICAgcmV0dXJuIDM7XG4gICAgfSBlbHNlIGlmIChoNCkge1xuICAgICAgcmV0dXJuIDQ7XG4gICAgfSBlbHNlIGlmIChoNSkge1xuICAgICAgcmV0dXJuIDU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBoZWFkaW5nIHN0eWxlIHVzZWQgZm9yIHRoZSByYWRpbyBncm91cC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nU3R5bGUoKTogUHJvbWlzZTxTa3lSYWRpb0dyb3VwSGVhZGluZ1N0eWxlPiB7XG4gICAgY29uc3QgaGVhZGluZ09yTGFiZWwgPVxuICAgICAgKGF3YWl0IHRoaXMuI2dldExlZ2VuZEgzKCkpIHx8XG4gICAgICAoYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSDQoKSkgfHxcbiAgICAgIChhd2FpdCB0aGlzLiNnZXRMZWdlbmRINSgpKSB8fFxuICAgICAgKGF3YWl0IHRoaXMuI2dldExlZ2VuZERlZmF1bHQoKSk7XG5cbiAgICBjb25zdCBpc0hlYWRpbmdTdHlsZTMgPVxuICAgICAgYXdhaXQgaGVhZGluZ09yTGFiZWw/Lmhhc0NsYXNzKCdza3ktZm9udC1oZWFkaW5nLTMnKTtcbiAgICBjb25zdCBpc0hlYWRpbmdTdHlsZTQgPVxuICAgICAgYXdhaXQgaGVhZGluZ09yTGFiZWw/Lmhhc0NsYXNzKCdza3ktZm9udC1oZWFkaW5nLTQnKTtcblxuICAgIGlmIChpc0hlYWRpbmdTdHlsZTMpIHtcbiAgICAgIHJldHVybiAzO1xuICAgIH0gZWxzZSBpZiAoaXNIZWFkaW5nU3R5bGU0KSB7XG4gICAgICByZXR1cm4gNDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJhZGlvIGdyb3VwJ3MgaGVhZGluZyB0ZXh0LiBJZiBgaGVhZGluZ0hpZGRlbmAgaXMgdHJ1ZSxcbiAgICogdGhlIHRleHQgd2lsbCBzdGlsbCBiZSByZXR1cm5lZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nVGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoKGF3YWl0IHRoaXMuI2dldExlZ2VuZEhlYWRpbmcoKSk/LnRleHQoKSA/PyAnJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGVscCBwb3BvdmVyIGNvbnRlbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJDb250ZW50KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmdldFBvcG92ZXJDb250ZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGVscCBwb3BvdmVyIHRpdGxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyVGl0bGUoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlclRpdGxlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcmFkaW8gZ3JvdXAncyBoaW50IHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGludFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBoaW50VGV4dCA9IGF3YWl0IHRoaXMuI2dldEhpbnRUZXh0KCk7XG5cbiAgICByZXR1cm4gKGF3YWl0IGhpbnRUZXh0Py50ZXh0KCkpPy50cmltKCkgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbiBhcnJheSBvZiBoYXJuZXNzZXMgZm9yIHRoZSByYWRpbyBidXR0b25zIGluIHRoZSByYWRpbyBncm91cC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRSYWRpb0J1dHRvbnMoKTogUHJvbWlzZTxTa3lSYWRpb0hhcm5lc3NbXT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLiNnZXRSYWRpb0J1dHRvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByYWRpbyBncm91cCBpcyByZXF1aXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRSZXF1aXJlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBoZWFkaW5nV3JhcHBlciA9IGF3YWl0IHRoaXMuI2dldEhlYWRpbmcoKTtcblxuICAgIHJldHVybiBhd2FpdCBoZWFkaW5nV3JhcHBlci5oYXNDbGFzcygnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByYWRpbyBncm91cCBpcyBzdGFja2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFN0YWNrZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgaG9zdCA9IGF3YWl0IHRoaXMuaG9zdCgpO1xuICAgIGNvbnN0IGhlYWRpbmcgPVxuICAgICAgKGF3YWl0IHRoaXMuI2dldExlZ2VuZEgzKCkpIHx8XG4gICAgICAoYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSDQoKSkgfHxcbiAgICAgIChhd2FpdCB0aGlzLiNnZXRMZWdlbmRINSgpKTtcbiAgICBjb25zdCBsYWJlbCA9IGF3YWl0IHRoaXMuI2dldExlZ2VuZERlZmF1bHQoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAoKGF3YWl0IGhvc3QuaGFzQ2xhc3MoJ3NreS1mb3JtLWZpZWxkLXN0YWNrZWQnKSkgJiYgISFsYWJlbCkgfHxcbiAgICAgICgoYXdhaXQgaG9zdC5oYXNDbGFzcygnc2t5LWZpZWxkLWdyb3VwLXN0YWNrZWQnKSkgJiYgISFoZWFkaW5nKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmFkaW8gZ3JvdXAgaGFzIGVycm9ycy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNFcnJvcihlcnJvck5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcihlcnJvck5hbWUpO1xuICB9XG5cbiAgYXN5bmMgI2dldEZvcm1FcnJvcnMoKTogUHJvbWlzZTxTa3lGb3JtRXJyb3JzSGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoU2t5Rm9ybUVycm9yc0hhcm5lc3MpKCk7XG4gIH1cblxuICBhc3luYyAjZ2V0SGVscElubGluZSgpOiBQcm9taXNlPFNreUhlbHBJbmxpbmVIYXJuZXNzPiB7XG4gICAgY29uc3QgaGFybmVzcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICAgU2t5SGVscElubGluZUhhcm5lc3Mud2l0aCh7XG4gICAgICAgIGFuY2VzdG9yOiAnLnNreS1yYWRpby1ncm91cCA+IC5za3ktcmFkaW8tZ3JvdXAtbGVnZW5kJyxcbiAgICAgIH0pLFxuICAgICkoKTtcblxuICAgIGlmIChoYXJuZXNzKSB7XG4gICAgICByZXR1cm4gaGFybmVzcztcbiAgICB9XG5cbiAgICB0aHJvdyBFcnJvcignTm8gaGVscCBpbmxpbmUgZm91bmQuJyk7XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\n/**\n * Harness to interact with a selection box description component in tests.\n * @internal\n */\nexport class SkySelectionBoxDescriptionHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-selection-box-description'; }\n /**\n * Gets the description text.\n */\n async getText() {\n return (await (await this.host()).text()).trim();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1kZXNjcmlwdGlvbi1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvc2VsZWN0aW9uLWJveC9zZWxlY3Rpb24tYm94LWRlc2NyaXB0aW9uLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLG1CQUFtQjtJQUN4RTs7T0FFRzthQUNXLGlCQUFZLEdBQUcsK0JBQStCLENBQUM7SUFFN0Q7O09BRUc7SUFDSSxLQUFLLENBQUMsT0FBTztRQUNsQixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEhhcm5lc3MgdG8gaW50ZXJhY3Qgd2l0aCBhIHNlbGVjdGlvbiBib3ggZGVzY3JpcHRpb24gY29tcG9uZW50IGluIHRlc3RzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Cb3hEZXNjcmlwdGlvbkhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LXNlbGVjdGlvbi1ib3gtZGVzY3JpcHRpb24nO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBkZXNjcmlwdGlvbiB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkudGV4dCgpKS50cmltKCk7XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\n/**\n * Harness to interact with a selection box header component in tests.\n * @internal\n */\nexport class SkySelectionBoxHeaderHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-selection-box-header'; }\n /**\n * Gets the header text.\n */\n async getText() {\n return (await (await this.host()).text()).trim();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1oZWFkZXItaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvc2VsZWN0aW9uLWJveC1oZWFkZXItaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsbUJBQW1CO0lBQ25FOztPQUVHO2FBQ1csaUJBQVksR0FBRywwQkFBMEIsQ0FBQztJQUV4RDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbi8qKlxuICogSGFybmVzcyB0byBpbnRlcmFjdCB3aXRoIGEgc2VsZWN0aW9uIGJveCBoZWFkZXIgY29tcG9uZW50IGluIHRlc3RzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Cb3hIZWFkZXJIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1zZWxlY3Rpb24tYm94LWhlYWRlcic7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlYWRlciB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkudGV4dCgpKS50cmltKCk7XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyIconHarness } from '@skyux/icon/testing';\nimport { SkyCheckboxHarness } from '../checkbox/checkbox-harness';\nimport { SkyRadioHarness } from '../radio/radio-harness';\nimport { SkySelectionBoxDescriptionHarness } from './selection-box-description-harness';\nimport { SkySelectionBoxHeaderHarness } from './selection-box-header-harness';\n/**\n * Harness to interact with a selection box component in tests.\n */\nexport class SkySelectionBoxHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-selection-box'; }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkySelectionBoxHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkySelectionBoxHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Gets the checkbox or radio harness for the selection box form control.\n */\n async getControl() {\n return await this.locatorFor(SkyCheckboxHarness, SkyRadioHarness)();\n }\n /**\n * Gets the selection box description text.\n */\n async getDescriptionText() {\n const text = await (await this.locatorForOptional(SkySelectionBoxDescriptionHarness)())?.getText();\n return text ?? '';\n }\n /**\n * Gets the selection box header text.\n */\n async getHeaderText() {\n const text = await (await this.locatorForOptional(SkySelectionBoxHeaderHarness)())?.getText();\n return text ?? '';\n }\n /**\n * Gets the selection box icon, if it exists.\n */\n async getIcon() {\n return await this.locatorForOptional(SkyIconHarness)();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvc2VsZWN0aW9uLWJveC9zZWxlY3Rpb24tYm94LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV4RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU5RTs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxtQkFBbUI7SUFDN0Q7O09BRUc7YUFDVyxpQkFBWSxHQUFHLG1CQUFtQixDQUFDO0lBRWpEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQXNDO1FBRXRDLE9BQU8sc0JBQXNCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsZUFBZSxDQUFDLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FDakIsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUNBQWlDLENBQUMsRUFBRSxDQUNuRSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FDakIsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsNEJBQTRCLENBQUMsRUFBRSxDQUM5RCxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztJQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreUljb25IYXJuZXNzIH0gZnJvbSAnQHNreXV4L2ljb24vdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUNoZWNrYm94SGFybmVzcyB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5UmFkaW9IYXJuZXNzIH0gZnJvbSAnLi4vcmFkaW8vcmFkaW8taGFybmVzcyc7XG5cbmltcG9ydCB7IFNreVNlbGVjdGlvbkJveERlc2NyaXB0aW9uSGFybmVzcyB9IGZyb20gJy4vc2VsZWN0aW9uLWJveC1kZXNjcmlwdGlvbi1oYXJuZXNzJztcbmltcG9ydCB7IFNreVNlbGVjdGlvbkJveEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9zZWxlY3Rpb24tYm94LWhhcm5lc3MtZmlsdGVycyc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hIZWFkZXJIYXJuZXNzIH0gZnJvbSAnLi9zZWxlY3Rpb24tYm94LWhlYWRlci1oYXJuZXNzJztcblxuLyoqXG4gKiBIYXJuZXNzIHRvIGludGVyYWN0IHdpdGggYSBzZWxlY3Rpb24gYm94IGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVNlbGVjdGlvbkJveEhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LXNlbGVjdGlvbi1ib3gnO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lTZWxlY3Rpb25Cb3hIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5U2VsZWN0aW9uQm94SGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5U2VsZWN0aW9uQm94SGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lTZWxlY3Rpb25Cb3hIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGVja2JveCBvciByYWRpbyBoYXJuZXNzIGZvciB0aGUgc2VsZWN0aW9uIGJveCBmb3JtIGNvbnRyb2wuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q29udHJvbCgpOiBQcm9taXNlPFNreUNoZWNrYm94SGFybmVzcyB8IFNreVJhZGlvSGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoU2t5Q2hlY2tib3hIYXJuZXNzLCBTa3lSYWRpb0hhcm5lc3MpKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc2VsZWN0aW9uIGJveCBkZXNjcmlwdGlvbiB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldERlc2NyaXB0aW9uVGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHRleHQgPSBhd2FpdCAoXG4gICAgICBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lTZWxlY3Rpb25Cb3hEZXNjcmlwdGlvbkhhcm5lc3MpKClcbiAgICApPy5nZXRUZXh0KCk7XG4gICAgcmV0dXJuIHRleHQgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc2VsZWN0aW9uIGJveCBoZWFkZXIgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkZXJUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgdGV4dCA9IGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFNreVNlbGVjdGlvbkJveEhlYWRlckhhcm5lc3MpKClcbiAgICApPy5nZXRUZXh0KCk7XG4gICAgcmV0dXJuIHRleHQgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc2VsZWN0aW9uIGJveCBpY29uLCBpZiBpdCBleGlzdHMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SWNvbigpOiBQcm9taXNlPFNreUljb25IYXJuZXNzIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lJY29uSGFybmVzcykoKTtcbiAgfVxufVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkySelectionBoxHarness } from './selection-box-harness';\n/**\n * Harness for interacting with a selection box grid component in tests.\n */\nexport class SkySelectionBoxGridHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-selection-box-grid'; }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkySelectionBoxGridHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkySelectionBoxGridHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Gets a harness for a specific selection box that meets certain criteria.\n */\n async getSelectionBox(filter) {\n return await this.locatorFor(SkySelectionBoxHarness.with(filter))();\n }\n /**\n * Gets an array of selection boxes.\n */\n async getSelectionBoxes(filters) {\n const items = await this.locatorForAll(SkySelectionBoxHarness.with(filters || {}))();\n if (filters && items.length === 0) {\n throw new Error(`Unable to find any selection boxes with filter(s): ${JSON.stringify(filters)}`);\n }\n return items;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1ncmlkLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3NlbGVjdGlvbi1ib3gtZ3JpZC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR2pFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG1CQUFtQjtJQUNqRTs7T0FFRzthQUNXLGlCQUFZLEdBQUcsd0JBQXdCLENBQUM7SUFFdEQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBMEM7UUFFMUMsT0FBTywwQkFBMEIsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZSxDQUMxQixNQUFxQztRQUVyQyxPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxpQkFBaUIsQ0FDNUIsT0FBdUM7UUFFdkMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUNwQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUMzQyxFQUFFLENBQUM7UUFFSixJQUFJLE9BQU8sSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQ2Isc0RBQXNELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FDaEYsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hHcmlkSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3NlbGVjdGlvbi1ib3gtZ3JpZC1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uQm94SGFybmVzcyB9IGZyb20gJy4vc2VsZWN0aW9uLWJveC1oYXJuZXNzJztcbmltcG9ydCB7IFNreVNlbGVjdGlvbkJveEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9zZWxlY3Rpb24tYm94LWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIHNlbGVjdGlvbiBib3ggZ3JpZCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Cb3hHcmlkSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktc2VsZWN0aW9uLWJveC1ncmlkJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5U2VsZWN0aW9uQm94R3JpZEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lTZWxlY3Rpb25Cb3hHcmlkSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5U2VsZWN0aW9uQm94R3JpZEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5U2VsZWN0aW9uQm94R3JpZEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBoYXJuZXNzIGZvciBhIHNwZWNpZmljIHNlbGVjdGlvbiBib3ggdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdGlvbkJveChcbiAgICBmaWx0ZXI6IFNreVNlbGVjdGlvbkJveEhhcm5lc3NGaWx0ZXJzLFxuICApOiBQcm9taXNlPFNreVNlbGVjdGlvbkJveEhhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFNreVNlbGVjdGlvbkJveEhhcm5lc3Mud2l0aChmaWx0ZXIpKSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYW4gYXJyYXkgb2Ygc2VsZWN0aW9uIGJveGVzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdGlvbkJveGVzKFxuICAgIGZpbHRlcnM/OiBTa3lTZWxlY3Rpb25Cb3hIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxTa3lTZWxlY3Rpb25Cb3hIYXJuZXNzW10+IHtcbiAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvckFsbChcbiAgICAgIFNreVNlbGVjdGlvbkJveEhhcm5lc3Mud2l0aChmaWx0ZXJzIHx8IHt9KSxcbiAgICApKCk7XG5cbiAgICBpZiAoZmlsdGVycyAmJiBpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVuYWJsZSB0byBmaW5kIGFueSBzZWxlY3Rpb24gYm94ZXMgd2l0aCBmaWx0ZXIocyk6ICR7SlNPTi5zdHJpbmdpZnkoZmlsdGVycyl9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG59XG4iXX0=","import { ComponentHarness } from '@angular/cdk/testing';\n/**\n * Harness for interacting with a toggle switch label component in tests.\n * @internal\n */\nexport class SkyToggleSwitchLabelHarness extends ComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-toggle-switch-label'; }\n #getLabelContent = this.locatorFor('span[skyTrim]');\n /**\n * Gets the text content of the toggle switch label.\n */\n async getText() {\n return await (await this.#getLabelContent()).text();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLXN3aXRjaC1sYWJlbC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvdG9nZ2xlLXN3aXRjaC90b2dnbGUtc3dpdGNoLWxhYmVsLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGdCQUFnQjtJQUMvRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcseUJBQXlCLENBQUM7SUFFdkQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUVwRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgdG9nZ2xlIHN3aXRjaCBsYWJlbCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreVRvZ2dsZVN3aXRjaExhYmVsSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktdG9nZ2xlLXN3aXRjaC1sYWJlbCc7XG5cbiAgI2dldExhYmVsQ29udGVudCA9IHRoaXMubG9jYXRvckZvcignc3Bhbltza3lUcmltXScpO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIHRvZ2dsZSBzd2l0Y2ggbGFiZWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TGFiZWxDb250ZW50KCkpLnRleHQoKTtcbiAgfVxufVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyToggleSwitchLabelHarness } from './toggle-switch-label-harness';\n/**\n * Harness for interacting with a toggle switch component in tests.\n */\nexport class SkyToggleSwitchHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-toggle-switch'; }\n #getButton = this.locatorFor('button.sky-toggle-switch-button');\n #getLabel = this.locatorForOptional(SkyToggleSwitchLabelHarness);\n #getLabelText = this.locatorForOptional('span.sky-toggle-switch-label-text');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyToggleSwitchHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyToggleSwitchHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Blurs the toggle switch.\n */\n async blur() {\n await (await this.#getButton()).blur();\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Puts the toggle switch in a checked state.\n */\n async check() {\n if (!(await this.isChecked())) {\n await this.#toggle();\n }\n }\n /**\n * Focuses the toggle switch.\n */\n async focus() {\n await (await this.#getButton()).focus();\n }\n /**\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Whether the label is hidden. Only supported when using the `labelText` input to set the label.\n */\n async getLabelHidden() {\n const labelText = await this.#getLabelText();\n const labelComponent = await this.#getLabel();\n if (labelComponent) {\n throw new Error('`labelHidden` is only supported when setting the toggle switch label via the `labelText` input.');\n }\n else {\n return !(await labelText?.text());\n }\n }\n /**\n * Gets the toggle switch's label text. If the label is set via `labelText` and `labelHidden` is true,\n * the text will still be returned.\n */\n async getLabelText() {\n const labelText = await (await this.#getLabelText())?.text();\n const ariaLabel = await this.#getAriaLabel();\n return (labelText || ariaLabel || (await (await this.#getLabel())?.getText()));\n }\n /**\n * Whether the toggle switch is checked.\n */\n async isChecked() {\n return await (await this.#getButton()).hasClass('sky-toggle-switch-checked');\n }\n /**\n * Whether the toggle switch is disabled.\n */\n async isDisabled() {\n const disabled = await (await this.#getButton()).getAttribute('disabled');\n return disabled !== null;\n }\n /**\n * Whether the toggle switch is focused.\n */\n async isFocused() {\n return await (await this.#getButton()).isFocused();\n }\n /**\n * Puts the toggle switch in an unchecked state.\n */\n async uncheck() {\n if (await this.isChecked()) {\n await this.#toggle();\n }\n }\n async #getAriaLabel() {\n return await (await this.#getButton()).getAttribute('aria-label');\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n async #toggle() {\n if (await this.isDisabled()) {\n throw new Error('Could not toggle the toggle switch because it is disabled.');\n }\n else {\n await (await this.#getButton()).click();\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLXN3aXRjaC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvdG9nZ2xlLXN3aXRjaC90b2dnbGUtc3dpdGNoLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHbEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFNUU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsbUJBQW1CO0lBQzdEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxtQkFBbUIsQ0FBQztJQUVqRCxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ2hFLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUNqRSxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFFN0U7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBc0M7UUFFdEMsT0FBTyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxlQUFlO1FBQzFCLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lB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b0JBQW9CLENBQUMsRUFBRSxDQUFDO1FBRXRFLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5SGVscElubGluZUhhcm5lc3MgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVRvZ2dsZVN3aXRjaEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi90b2dnbGUtc3dpdGNoLWhhcm5lc3MtZmlsdGVycyc7XG5pbXBvcnQgeyBTa3lUb2dnbGVTd2l0Y2hMYWJlbEhhcm5lc3MgfSBmcm9tICcuL3RvZ2dsZS1zd2l0Y2gtbGFiZWwtaGFybmVzcyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIHRvZ2dsZSBzd2l0Y2ggY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5VG9nZ2xlU3dpdGNoSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktdG9nZ2xlLXN3aXRjaCc7XG5cbiAgI2dldEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignYnV0dG9uLnNreS10b2dnbGUtc3dpdGNoLWJ1dHRvbicpO1xuICAjZ2V0TGFiZWwgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lUb2dnbGVTd2l0Y2hMYWJlbEhhcm5lc3MpO1xuICAjZ2V0TGFiZWxUZXh0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJ3NwYW4uc2t5LXRvZ2dsZS1zd2l0Y2gtbGFiZWwtdGV4dCcpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lUb2dnbGVTd2l0Y2hIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5VG9nZ2xlU3dpdGNoSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5VG9nZ2xlU3dpdGNoSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lUb2dnbGVTd2l0Y2hIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCbHVycyB0aGUgdG9nZ2xlIHN3aXRjaC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBibHVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRCdXR0b24oKSkuYmx1cigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgaGVscCBpbmxpbmUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrSGVscElubGluZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFB1dHMgdGhlIHRvZ2dsZSBzd2l0Y2ggaW4gYSBjaGVja2VkIHN0YXRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNoZWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghKGF3YWl0IHRoaXMuaXNDaGVja2VkKCkpKSB7XG4gICAgICBhd2FpdCB0aGlzLiN0b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRm9jdXNlcyB0aGUgdG9nZ2xlIHN3aXRjaC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBmb2N1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0QnV0dG9uKCkpLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGVscCBwb3BvdmVyIGNvbnRlbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJDb250ZW50KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmdldFBvcG92ZXJDb250ZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGVscCBwb3BvdmVyIHRpdGxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyVGl0bGUoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlclRpdGxlKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbGFiZWwgaXMgaGlkZGVuLiBPbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIHRoZSBgbGFiZWxUZXh0YCBpbnB1dCB0byBzZXQgdGhlIGxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldExhYmVsSGlkZGVuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGxhYmVsVGV4dCA9IGF3YWl0IHRoaXMuI2dldExhYmVsVGV4dCgpO1xuICAgIGNvbnN0IGxhYmVsQ29tcG9uZW50ID0gYXdhaXQgdGhpcy4jZ2V0TGFiZWwoKTtcblxuICAgIGlmIChsYWJlbENvbXBvbmVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnYGxhYmVsSGlkZGVuYCBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHNldHRpbmcgdGhlIHRvZ2dsZSBzd2l0Y2ggbGFiZWwgdmlhIHRoZSBgbGFiZWxUZXh0YCBpbnB1dC4nLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICEoYXdhaXQgbGFiZWxUZXh0Py50ZXh0KCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0b2dnbGUgc3dpdGNoJ3MgbGFiZWwgdGV4dC4gSWYgdGhlIGxhYmVsIGlzIHNldCB2aWEgYGxhYmVsVGV4dGAgYW5kIGBsYWJlbEhpZGRlbmAgaXMgdHJ1ZSxcbiAgICogdGhlIHRleHQgd2lsbCBzdGlsbCBiZSByZXR1cm5lZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMYWJlbFRleHQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBsYWJlbFRleHQgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TGFiZWxUZXh0KCkpPy50ZXh0KCk7XG4gICAgY29uc3QgYXJpYUxhYmVsID0gYXdhaXQgdGhpcy4jZ2V0QXJpYUxhYmVsKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgbGFiZWxUZXh0IHx8IGFyaWFMYWJlbCB8fCAoYXdhaXQgKGF3YWl0IHRoaXMuI2dldExhYmVsKCkpPy5nZXRUZXh0KCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0b2dnbGUgc3dpdGNoIGlzIGNoZWNrZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNDaGVja2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoXG4gICAgICBhd2FpdCB0aGlzLiNnZXRCdXR0b24oKVxuICAgICkuaGFzQ2xhc3MoJ3NreS10b2dnbGUtc3dpdGNoLWNoZWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0b2dnbGUgc3dpdGNoIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRGlzYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0QnV0dG9uKCkpLmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICByZXR1cm4gZGlzYWJsZWQgIT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdG9nZ2xlIHN3aXRjaCBpcyBmb2N1c2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRm9jdXNlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEJ1dHRvbigpKS5pc0ZvY3VzZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQdXRzIHRoZSB0b2dnbGUgc3dpdGNoIGluIGFuIHVuY2hlY2tlZCBzdGF0ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyB1bmNoZWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmlzQ2hlY2tlZCgpKSB7XG4gICAgICBhd2FpdCB0aGlzLiN0b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyAjZ2V0QXJpYUxhYmVsKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0QnV0dG9uKCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpO1xuICB9XG5cbiAgYXN5bmMgI2dldEhlbHBJbmxpbmUoKTogUHJvbWlzZTxTa3lIZWxwSW5saW5lSGFybmVzcz4ge1xuICAgIGNvbnN0IGhhcm5lc3MgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lIZWxwSW5saW5lSGFybmVzcykoKTtcblxuICAgIGlmIChoYXJuZXNzKSB7XG4gICAgICByZXR1cm4gaGFybmVzcztcbiAgICB9XG5cbiAgICB0aHJvdyBFcnJvcignTm8gaGVscCBpbmxpbmUgZm91bmQuJyk7XG4gIH1cblxuICBhc3luYyAjdG9nZ2xlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmlzRGlzYWJsZWQoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ291bGQgbm90IHRvZ2dsZSB0aGUgdG9nZ2xlIHN3aXRjaCBiZWNhdXNlIGl0IGlzIGRpc2FibGVkLicsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0QnV0dG9uKCkpLmNsaWNrKCk7XG4gICAgfVxuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtZm9ybXMtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9za3l1eC1mb3Jtcy10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0="],"names":[],"mappings":";;;;;;;;;AACA;AACA;AACA;AACO,MAAM,mCAAmC,SAAS,mBAAmB,CAAC;AAC7E;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,iCAAiC,CAAC;AACnE,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC;AAC7D;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,mCAAmC,CAAC,qBAAqB,CAAC,OAAO,CAAC;AACjF;AACA;AACA;AACA;AACA,IAAI,MAAM,iBAAiB,GAAG;AAC9B,QAAQ,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK;AAClD;AACA;AACA;AACA;AACA,IAAI,MAAM,sBAAsB,GAAG;AACnC,QAAQ,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK;AAClD;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,iBAAiB,CAAC;AACzE;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;AAC5C,QAAQ,MAAM,SAAS,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC;AACzD,QAAQ,IAAI,UAAU;AACtB,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,YAAY,UAAU,GAAG;AACzB,gBAAgB,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAC3C,gBAAgB,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAC3C,aAAa;AACb;AACA,QAAQ,IAAI,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;AAChF,YAAY,OAAO,UAAU;AAC7B;AACA,QAAQ,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC;AACxG;AACA;;ACjDO,MAAM,mBAAmB,SAAS,mBAAmB,CAAC;AAC7D;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAClD,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAAE;AACjE;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,mBAAmB,CAAC,qBAAqB,CAAC,OAAO,CAAC;AACjE;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,iBAAiB,CAAC;AACxE;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE;AACjE;AACA;;AC3BO,MAAM,oBAAoB,SAAS,mBAAmB,CAAC;AAC9D;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;AACnD;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAAC;AAClE;AACA;AACA;AACA;AACA,IAAI,MAAM,aAAa,GAAG;AAC1B,QAAQ,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE;AAC3F,QAAQ,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,SAAS,KAAK;AAC7E,YAAY,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC,YAAY,EAAE,EAAE;AAChE,SAAS,CAAC,CAAC;AACX;AACA;AACA;AACA;AACA,IAAI,MAAM,QAAQ,CAAC,SAAS,EAAE;AAC9B,QAAQ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE;AACrD,QAAQ,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK;AAC1C,YAAY,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS;AAChD,SAAS,CAAC;AACV;AACA;;ACzBA;AACA;AACA;AACO,MAAM,kBAAkB,SAAS,4BAA4B,CAAC;AACrE;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;AACjD,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC;AACtE,IAAI,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;AAC7D,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;AACnD,IAAI,MAAM,aAAa,GAAG;AAC1B,QAAQ,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;AAC5D;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,kBAAkB,CAAC,qBAAqB,CAAC,OAAO,CAAC;AAChE;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE;AACnD;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,gBAAgB,CAAC,mCAAmC,EAAE;AACzH,YAAY,QAAQ,EAAE,8BAA8B;AACpD,SAAS,CAAC,CAAC,EAAE;AACb,QAAQ,IAAI,CAAC,gBAAgB,EAAE;AAC/B,YAAY,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC;AACvF;AACA,QAAQ,OAAO,gBAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,yBAAyB,EAAE;AAChG,YAAY,QAAQ,EAAE,+DAA+D;AACrF,SAAS,CAAC,CAAC,EAAE;AACb,QAAQ,OAAO,MAAM;AACrB;AACA;AACA;AACA;AACA,IAAI,MAAM,kBAAkB,CAAC,SAAS,EAAE;AACxC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC;AACrE;AACA;AACA;AACA;AACA,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,iBAAiB,GAAG;AAC9B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,WAAW,CAAC;AACvE;AACA;AACA;AACA;AACA,IAAI,MAAM,iBAAiB,GAAG;AAC9B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,WAAW,CAAC;AACvE;AACA;AACA;AACA;AACA,IAAI,MAAM,aAAa,GAAG;AAC1B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC;AACnE;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC;AACjE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC;AACzE;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC;AACrE;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC;AACrE;AACA;AACA;AACA;AACA,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC;AACnE;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC;AAClE;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;AAChD,QAAQ,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC;AAC/D;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;AAC5C,QAAQ,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;AACzD;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,gBAAgB,CAAC,iBAAiB,EAAE;AAClG,YAAY,QAAQ,EAAE,mBAAmB;AACzC,SAAS,CAAC,CAAC,EAAE;AACb,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,YAAY,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC;AACrF;AACA,QAAQ,OAAO,WAAW;AAC1B;AACA;AACA;AACA;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,iBAAiB,EAAE;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE;AACpE;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;AAClD,QAAQ,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC;AAC5D;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,GAAG;AACvB,QAAQ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AACtC,QAAQ,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;AAC5D;AACA,IAAI,MAAM,wBAAwB,CAAC,EAAE,EAAE;AACvC,QAAQ,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE;AAC/C;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,EAAE;AAC7E,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,OAAO,OAAO;AAC1B;AACA,QAAQ,MAAM,KAAK,CAAC,uBAAuB,CAAC;AAC5C;AACA;;ACxLA;AACA;AACA;AACA;AACA;AACO,MAAM,kBAAkB,CAAC;AAChC,IAAI,QAAQ;AACZ,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE;AACpC,QAAQ,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC;AACrG;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC,OAAO;AAC/D;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,GAAG;AACpB,QAAQ,OAAO,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;AACnG;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACtE,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,OAAO,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,CAAC;AACzE;AACA,QAAQ,OAAO,SAAS;AACxB;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,GAAG;AACvB,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa,CAAC,SAAS;AAC1E,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;AAC7D,YAAY,OAAO,QAAQ;AAC3B;AACA,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;AAC3D,YAAY,OAAO,MAAM;AACzB;AACA,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE;AAC9D,YAAY,OAAO,SAAS;AAC5B;AACA,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE;AAC9D,YAAY,OAAO,SAAS;AAC5B;AACA,QAAQ,OAAO,SAAS;AACxB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC,QAAQ;AAChE;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG;AACb,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC5B,YAAY,IAAI,CAAC,qBAAqB,EAAE;AACxC;AACA;AACA;AACA;AACA;AACA,IAAI,QAAQ,GAAG;AACf,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC3B,YAAY,IAAI,CAAC,qBAAqB,EAAE;AACxC;AACA;AACA,IAAI,qBAAqB,GAAG;AAC5B,QAAQ,IAAI,CAAC;AACb,aAAa,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC;AACvD,aAAa,aAAa,CAAC,KAAK,EAAE;AAClC;AACA,IAAI,mBAAmB,GAAG;AAC1B,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AACzE;AACA,IAAI,iBAAiB,GAAG;AACxB,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AAC7E;AACA;;ACrFA;AACA;AACA;AACA;AACO,MAAM,uBAAuB,SAAS,gBAAgB,CAAC;AAC9D;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;AACtD,IAAI,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;AAC3D;AACA;AACA;AACA,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE;AAC3D;AACA;;AChBA;AACA;AACA;AACA;AACO,MAAM,gCAAgC,SAAS,gBAAgB,CAAC;AACvE;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,+BAA+B,CAAC;AACjE,IAAI,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC;AACnE;AACA;AACA;AACA,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,EAAE;AAC5D;AACA;;ACZA;AACA;AACA;AACO,MAAM,kBAAkB,SAAS,mBAAmB,CAAC;AAC5D;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;AAChD,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC;AACrE,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC;AAC3D,IAAI,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC;AAChE,IAAI,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,gCAAgC,CAAC;AAClF;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,kBAAkB,CAAC,qBAAqB,CAAC,OAAO,CAAC;AAChE;AACA;AACA;AACA;AACA,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE;AAC7C;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE;AACnD;AACA;AACA;AACA;AACA,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;AACvC,YAAY,MAAM,IAAI,CAAC,OAAO,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE;AAC9C;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC;AACxE;AACA;AACA;AACA;AACA,IAAI,MAAM,iBAAiB,GAAG;AAC9B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,iBAAiB,CAAC;AAC7E;AACA;AACA;AACA;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,iBAAiB,EAAE;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE;AACpE;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAC9D,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;AAC5C,QAAQ,IAAI,cAAc,EAAE;AAC5B,YAAY,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE;AACvD,YAAY,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;AACvD;AACA,YAAY,OAAO,IAAI,IAAI,SAAS;AACpC;AACA,aAAa;AACb,YAAY,OAAO,MAAM,KAAK,EAAE,OAAO,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAC9D,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;AAC5C,QAAQ,IAAI,KAAK,EAAE;AACnB,YAAY,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC;AACzH;AACA,aAAa;AACb,YAAY,OAAO,EAAE,MAAM,cAAc,EAAE,OAAO,EAAE,CAAC;AACrD;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;AAClD,QAAQ,OAAO,CAAC,MAAM,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE;AACrD;AACA;AACA;AACA;AACA,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC;AAClE;AACA;AACA;AACA;AACA,IAAI,MAAM,QAAQ,GAAG;AACrB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC;AAClE;AACA;AACA;AACA;AACA,IAAI,MAAM,cAAc,CAAC,SAAS,EAAE;AACpC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC;AACvE;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC;AACpE;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,GAAG;AACvB,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC;AAChF,QAAQ,OAAO,QAAQ,KAAK,IAAI;AAChC;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE;AACzD;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,GAAG;AACvB,QAAQ,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC;AAC7E,QAAQ,OAAO,KAAK,KAAK,IAAI;AAC7B;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,wBAAwB,CAAC;AAC3E;AACA;AACA;AACA;AACA,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE;AACpC,YAAY,MAAM,IAAI,CAAC,OAAO,EAAE;AAChC;AACA;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;AAC5D;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,EAAE;AAC7E,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,OAAO,OAAO;AAC1B;AACA,QAAQ,MAAM,KAAK,CAAC,uBAAuB,CAAC;AAC5C;AACA,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE;AACrC,YAAY,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC;AACpF;AACA,aAAa;AACb,YAAY,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE;AAClD;AACA;AACA;;AC7LA;AACA;AACA;AACO,MAAM,uBAAuB,SAAS,mBAAmB,CAAC;AACjE;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;AACtD,IAAI,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC;AAC3D,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC;AAChE,IAAI,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC;AACtE,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,+BAA+B,CAAC;AAC3E,IAAI,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,yCAAyC,CAAC;AAC1F,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;AACvD,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;AACvD,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;AACvD,IAAI,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,kDAAkD,CAAC;AAC3F;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,uBAAuB,CAAC,qBAAqB,CAAC,OAAO,CAAC;AACrE;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE;AACnD;AACA;AACA;AACA;AACA,IAAI,MAAM,aAAa,GAAG;AAC1B,QAAQ,OAAO,MAAM,IAAI,CAAC,cAAc,EAAE;AAC1C;AACA;AACA;AACA;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,iBAAiB,EAAE;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE;AACpE;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE;AAC5D;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;AAClD,QAAQ,OAAO,CAAC,MAAM,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE;AACrD;AACA;AACA;AACA;AACA,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,EAAE,QAAQ,CAAC,wBAAwB,CAAC;AACzF;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE;AACtD,QAAQ,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;AACtD,QAAQ,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;AACtD,QAAQ,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;AACtD,QAAQ,IAAI,EAAE,EAAE;AAChB,YAAY,OAAO,CAAC;AACpB;AACA,aAAa,IAAI,EAAE,EAAE;AACrB,YAAY,OAAO,CAAC;AACpB;AACA,aAAa,IAAI,EAAE,EAAE;AACrB,YAAY,OAAO,CAAC;AACpB;AACA,aAAa;AACb,YAAY,OAAO,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE;AACtD,QAAQ,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;AAC5E,QAAQ,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;AAC5E,QAAQ,IAAI,eAAe,EAAE;AAC7B,YAAY,OAAO,CAAC;AACpB;AACA,aAAa,IAAI,eAAe,EAAE;AAClC,YAAY,OAAO,CAAC;AACpB;AACA,aAAa;AACb,YAAY,OAAO,CAAC;AACpB;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;AAChD,QAAQ,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC;AACnE;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,GAAG;AACvB,QAAQ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AACtC,QAAQ,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE;AAClD,aAAa,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AACvC,aAAa,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AACvC,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE;AACpD,QAAQ,QAAQ,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,KAAK;AAC3E,aAAa,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAC3E;AACA;AACA;AACA;AACA,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC;AACvE;AACA;AACA;AACA;AACA,IAAI,MAAM,QAAQ,CAAC,SAAS,EAAE;AAC9B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC;AACtE;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC;AAC/D,YAAY,SAAS,EAAE,4BAA4B;AACnD,SAAS,CAAC,CAAC,EAAE;AACb;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC;AAChF,YAAY,QAAQ,EAAE,kDAAkD;AACxE,SAAS,CAAC,CAAC,EAAE;AACb,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,OAAO,OAAO;AAC1B;AACA,QAAQ,MAAM,KAAK,CAAC,uBAAuB,CAAC;AAC5C;AACA;;ACxJA;AACA;AACA;AACO,MAAM,wBAAwB,SAAS,mBAAmB,CAAC;AAClE;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC;AACvD,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,gCAAgC,CAAC;AAClE,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;AACrD,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;AAClD;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,wBAAwB,CAAC,qBAAqB,CAAC,OAAO,CAAC;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,IAAI;AACZ,YAAY,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE;AAClD,YAAY,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,cAAc,EAAE;AACjE,gBAAgB,MAAM,IAAI,KAAK,EAAE;AACjC;AACA,YAAY,OAAO,MAAM,MAAM,CAAC,KAAK,EAAE;AACvC;AACA,QAAQ,MAAM;AACd,YAAY,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC;AACnG;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE;AAC1D;AACA;AACA;AACA;AACA,IAAI,MAAM,sBAAsB,GAAG;AACnC,QAAQ,IAAI;AACZ,YAAY,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE;AAClD,YAAY,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,cAAc,EAAE;AACjE,gBAAgB,MAAM,IAAI,KAAK,EAAE;AACjC;AACA,YAAY,OAAO,MAAM,MAAM,CAAC,KAAK,EAAE;AACvC;AACA,QAAQ,MAAM;AACd,YAAY,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC;AACnF;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,iBAAiB,GAAG;AAC9B,QAAQ,IAAI;AACZ,YAAY,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACrD,YAAY,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE;AACrC;AACA,QAAQ,MAAM;AACd,YAAY,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC;AAChE;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,6BAA6B,GAAG;AAC1C,QAAQ,IAAI;AACZ,YAAY,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAAC,EAAE;AAC7F,YAAY,OAAO,MAAM,YAAY,CAAC,KAAK,EAAE;AAC7C;AACA,QAAQ,MAAM;AACd,YAAY,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC;AACzG;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC;AACjE;AACA;AACA;AACA;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,iBAAiB,EAAE;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE;AACpE;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,gCAAgC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE;AAChG;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE;AAC7D;AACA;AACA;AACA;AACA,IAAI,MAAM,cAAc,CAAC,SAAS,EAAE;AACpC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC;AACvE;AACA;AACA;AACA;AACA,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC;AACxE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC;AAC3E;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC;AAC3E;AACA;AACA;AACA;AACA,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC;AACxE;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,GAAG;AACvB,QAAQ,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,IAAI;AAClF;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,GAAG;AACvB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,4BAA4B,CAAC;AACpF;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,wBAAwB,CAAC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,CAAC,IAAI,EAAE;AAC3B,QAAQ,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AACzC;AACA,IAAI,MAAM,SAAS,CAAC,IAAI,EAAE;AAC1B,QAAQ,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,EAAE;AACrF,QAAQ,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE;AAC/C,QAAQ,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACpC,QAAQ,OAAO,MAAM,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE;AAC1D,YAAY,YAAY;AACxB,SAAS,CAAC;AACV;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;AAC5D;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,EAAE;AAC7E,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,OAAO,OAAO;AAC1B;AACA,QAAQ,MAAM,KAAK,CAAC,uBAAuB,CAAC;AAC5C;AACA;;AC7LA;AACA;AACA;AACO,MAAM,iCAAiC,SAAS,eAAe,CAAC;AACvE;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,wBAAwB,CAAC;AAC1D;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC;AACnE;AACA;;ACZA;AACA;AACA;AACA;AACO,MAAM,4BAA4B,SAAS,mBAAmB,CAAC;AACtE;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC;AACvD,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,iCAAiC,CAAC;AAC/D,IAAI,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;AAC1D,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC;AACvD;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,IAAI,MAAM,IAAI,CAAC,eAAe,EAAE,EAAE;AAC1C,YAAY,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC;AAC/G;AACA,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE;AACnD;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,CAAC,IAAI,EAAE;AAC1B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC;AACzD;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE;AACzD;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,WAAW,EAAE;AAClE;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,IAAI;AAC/E;AACA;;ACzCA;AACA;AACA;AACO,MAAM,kBAAkB,SAAS,mBAAmB,CAAC;AAC5D;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;AACjD,IAAI,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;AAC7D,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;AAClD,IAAI,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC;AACtE,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC;AACzD,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC;AAC1D;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,kBAAkB,CAAC,qBAAqB,CAAC,OAAO,CAAC;AAChE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE;AAC7D;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE;AAC1D;AACA;AACA;AACA;AACA,IAAI,MAAM,yBAAyB,GAAG;AACtC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE;AACpE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,CAAC,IAAI,EAAE;AACpC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC;AAClE;AACA;AACA;AACA;AACA,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC;AACjE;AACA;AACA;AACA;AACA,IAAI,MAAM,sBAAsB,GAAG;AACnC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC;AAChF;AACA;AACA;AACA;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,iBAAiB,EAAE;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE;AACpE;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE;AAC1F;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE;AAC1D;AACA;AACA;AACA;AACA,IAAI,MAAM,sBAAsB,GAAG;AACnC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE;AACjE;AACA;AACA;AACA;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE;AAChE;AACA;AACA;AACA;AACA,IAAI,MAAM,cAAc,CAAC,SAAS,EAAE;AACpC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC;AACvE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC;AAC1E;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC;AAC1E;AACA;AACA;AACA;AACA,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC;AACvE;AACA;AACA;AACA;AACA,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC;AACvE;AACA;AACA;AACA;AACA,IAAI,MAAM,aAAa,GAAG;AAC1B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,EAAE,QAAQ,CAAC,wBAAwB,CAAC;AAC7G;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,GAAG;AACvB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,4BAA4B,CAAC;AACjF;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,wBAAwB,CAAC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE;AACzB,QAAQ,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,CAAC,KAAK,EAAE;AAC3B,QAAQ,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC3C;AACA,IAAI,MAAM,UAAU,CAAC,KAAK,EAAE;AAC5B,QAAQ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE;AACtD,QAAQ,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE;AAC/C,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK;AACjC,YAAY,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACxC,SAAS,CAAC;AACV,QAAQ,MAAM,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE;AAC/C,YAAY,YAAY;AACxB,SAAS,CAAC;AACV;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC5C;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,EAAE;AAC7E,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,OAAO,OAAO;AAC1B;AACA,QAAQ,MAAM,KAAK,CAAC,uBAAuB,CAAC;AAC5C;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,EAAE;AACxF,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,OAAO,UAAU;AAC7B;AACA,QAAQ,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC;AAC5F;AACA;;AC1MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,+BAA+B,GAAG;AAClD,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;AAC1C;;ACXA;AACA;AACA;AACO,MAAM,kBAAkB,SAAS,gBAAgB,CAAC;AACzD;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;AACjD;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,OAAO,EAAE,QAAQ,KAAK;AACtI,YAAY,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE;AAC/D,YAAY,OAAO,MAAM,gBAAgB,CAAC,aAAa,CAAC,eAAe,EAAE,QAAQ,CAAC;AAClF,SAAS,CAAC;AACV;AACA;AACA;AACA;AACA,IAAI,MAAM,iBAAiB,GAAG;AAC9B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,EAAE,EAAE,KAAK,EAAE;AACnF;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE;AAC5E;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE;AAClF,QAAQ,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACjD;AACA;;ACpCA;AACA;AACA;AACO,MAAM,oBAAoB,SAAS,mBAAmB,CAAC;AAC9D;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;AACnD,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;AAC1C,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;AACvD,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;AACvD,IAAI,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;AACvD,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,CAAC;AACxE;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAAC;AAClE;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE;AAC5D;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;AAClD,QAAQ,OAAO,CAAC,MAAM,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE;AACrD;AACA;AACA;AACA;AACA,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,wBAAwB,CAAC;AACjF;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,GAAG;AACvB,QAAQ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AACtC,QAAQ,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC;AAC7D;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;AAC5C,QAAQ,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,MAAM,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AAClF,QAAQ,OAAO,CAAC,MAAM,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE;AACnD;AACA;AACA;AACA;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,iBAAiB,EAAE;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE;AACpE;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC;AAChF,YAAY,QAAQ,EAAE,4CAA4C;AAClE,SAAS,CAAC,CAAC,EAAE;AACb,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,OAAO,OAAO;AAC1B;AACA,QAAQ,MAAM,KAAK,CAAC,uBAAuB,CAAC;AAC5C;AACA;;ACxFA;AACA;AACA;AACA;AACA;AACO,MAAM,eAAe,CAAC;AAC7B,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE;AACpC,QAAQ,IAAI,CAAC,QAAQ,GAAG,OAAO;AAC/B,QAAQ,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC;AACxG;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACpF,QAAQ,MAAM,aAAa,GAAG,aAAa,IAAI,aAAa,CAAC,aAAa,CAAC,KAAK;AAChF,QAAQ,OAAO,aAAa;AAC5B;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;AACrB,QAAQ,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE;AAC1D,QAAQ,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK;AACjD,YAAY,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,KAAK,KAAK,EAAE;AACrD,gBAAgB,KAAK,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI;AAClD;AACA,iBAAiB;AACjB,gBAAgB,KAAK,CAAC,aAAa,CAAC,OAAO,GAAG,KAAK;AACnD;AACA,SAAS,CAAC;AACV;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,EAAE;AAC/D,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzD,YAAY,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;AAC/C,gBAAgB,OAAO,KAAK;AAC5B;AACA;AACA,QAAQ,OAAO,IAAI;AACnB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE;AACxB,QAAQ,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,EAAE;AAC/D,QAAQ,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK;AACnD,YAAY,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC;AACtD,SAAS,CAAC;AACV;AACA,IAAI,wBAAwB,GAAG;AAC/B,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC3E;AACA,IAAI,oBAAoB,GAAG;AAC3B,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AACjF;AACA,IAAI,sBAAsB,CAAC,KAAK,EAAE;AAClC,QAAQ,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE;AAC1D,QAAQ,IAAI,cAAc,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;AACrD,YAAY,OAAO,cAAc,CAAC,KAAK,CAAC;AACxC;AACA;AACA,QAAQ;AACR;AACA,IAAI,oBAAoB,CAAC,KAAK,EAAE;AAChC,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;AAC9D,QAAQ,OAAO,WAAW,IAAI,WAAW,CAAC,aAAa,CAAC,QAAQ;AAChE;AACA,IAAI,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE;AAC1C,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;AAC9D;AACA,QAAQ,IAAI,WAAW,EAAE;AACzB,YAAY,WAAW,CAAC,aAAa,CAAC,QAAQ,GAAG,KAAK;AACtD,YAAY,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;AACzC;AACA;AACA;;AClFA;AACA;AACA;AACA;AACO,MAAM,oBAAoB,SAAS,gBAAgB,CAAC;AAC3D;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;AACnD,IAAI,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;AAC3D;AACA;AACA;AACA,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE;AAC3D;AACA;;ACdA;AACA;AACA;AACO,MAAM,eAAe,SAAS,mBAAmB,CAAC;AACzD;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;AAC7C,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC;AAClE,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;AACxD,IAAI,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;AAC7D,IAAI,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,4CAA4C,CAAC;AACzF;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC;AAC7D;AACA;AACA;AACA;AACA,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE;AAC7C;AACA;AACA;AACA;AACA,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE;AACrC,YAAY,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC;AACvF;AACA,aAAa,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;AAC5C,YAAY,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE;AAClD;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE;AACnD;AACA;AACA;AACA;AACA,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE;AAC9C;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC;AACxE;AACA;AACA;AACA;AACA,IAAI,MAAM,iBAAiB,GAAG;AAC9B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,iBAAiB,CAAC;AAC7E;AACA;AACA;AACA;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,iBAAiB,EAAE;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE;AACpE;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;AAClD,QAAQ,OAAO,CAAC,MAAM,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE;AACrD;AACA;AACA;AACA;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE;AACpD,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;AAC5C,QAAQ,IAAI,KAAK,EAAE;AACnB,YAAY,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC;AACtH;AACA,aAAa;AACb,YAAY,OAAO,CAAC,EAAE,MAAM,SAAS,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE;AACpD,QAAQ,IAAI,SAAS,EAAE;AACvB,YAAY,OAAO,MAAM,SAAS,CAAC,IAAI,EAAE;AACzC;AACA,aAAa;AACb,YAAY,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,EAAE;AAC5D;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC;AAClE;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC;AACpE;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,GAAG;AACvB,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC;AAChF,QAAQ,OAAO,QAAQ,KAAK,IAAI;AAChC;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE;AACzD;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,EAAE;AAC7E,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,OAAO,OAAO;AAC1B;AACA,QAAQ,MAAM,KAAK,CAAC,uBAAuB,CAAC;AAC5C;AACA;;ACxIA;AACA;AACA;AACO,MAAM,oBAAoB,SAAS,mBAAmB,CAAC;AAC9D;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;AACnD,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC;AACjE,IAAI,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC;AAC3E,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,CAAC;AACxE,IAAI,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,sCAAsC,CAAC;AACvF,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;AACvD,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;AACvD,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;AACvD,IAAI,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,+CAA+C,CAAC;AAChG,IAAI,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;AAC1D;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAAC;AAClE;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE;AACnD;AACA;AACA;AACA;AACA,IAAI,MAAM,gBAAgB,GAAG;AAC7B,QAAQ,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,GAAG,QAAQ,CAAC,wBAAwB,CAAC,IAAI,IAAI,CAAC;AACpG;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;AAC5C,QAAQ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;AAC5C,QAAQ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;AAC5C,QAAQ,IAAI,EAAE,EAAE;AAChB,YAAY,OAAO,CAAC;AACpB;AACA,aAAa,IAAI,EAAE,EAAE;AACrB,YAAY,OAAO,CAAC;AACpB;AACA,aAAa,IAAI,EAAE,EAAE;AACrB,YAAY,OAAO,CAAC;AACpB;AACA,aAAa;AACb,YAAY,OAAO,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE;AACzD,aAAa,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AACvC,aAAa,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AACvC,aAAa,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC5C,QAAQ,MAAM,eAAe,GAAG,MAAM,cAAc,EAAE,QAAQ,CAAC,oBAAoB,CAAC;AACpF,QAAQ,MAAM,eAAe,GAAG,MAAM,cAAc,EAAE,QAAQ,CAAC,oBAAoB,CAAC;AACpF,QAAQ,IAAI,eAAe,EAAE;AAC7B,YAAY,OAAO,CAAC;AACpB;AACA,aAAa,IAAI,eAAe,EAAE;AAClC,YAAY,OAAO,CAAC;AACpB;AACA,aAAa;AACb,YAAY,OAAO,CAAC;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;AACrE;AACA;AACA;AACA;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,iBAAiB,EAAE;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE;AACpE;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE;AAClD,QAAQ,OAAO,CAAC,MAAM,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE;AACrD;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,OAAO,MAAM,IAAI,CAAC,gBAAgB,EAAE;AAC5C;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;AACvD,QAAQ,OAAO,MAAM,cAAc,CAAC,QAAQ,CAAC,4BAA4B,CAAC;AAC1E;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,GAAG;AACvB,QAAQ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AACtC,QAAQ,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE;AAClD,aAAa,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AACvC,aAAa,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AACvC,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE;AACpD,QAAQ,QAAQ,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,KAAK;AAC3E,aAAa,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAC3E;AACA;AACA;AACA;AACA,IAAI,MAAM,QAAQ,CAAC,SAAS,EAAE;AAC9B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC;AACtE;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;AAC5D;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC;AAChF,YAAY,QAAQ,EAAE,4CAA4C;AAClE,SAAS,CAAC,CAAC,EAAE;AACb,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,OAAO,OAAO;AAC1B;AACA,QAAQ,MAAM,KAAK,CAAC,uBAAuB,CAAC;AAC5C;AACA;;ACpJA;AACA;AACA;AACA;AACO,MAAM,iCAAiC,SAAS,mBAAmB,CAAC;AAC3E;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,+BAA+B,CAAC;AACjE;AACA;AACA;AACA,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE;AACxD;AACA;;ACfA;AACA;AACA;AACA;AACO,MAAM,4BAA4B,SAAS,mBAAmB,CAAC;AACtE;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,0BAA0B,CAAC;AAC5D;AACA;AACA;AACA,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE;AACxD;AACA;;ACVA;AACA;AACA;AACO,MAAM,sBAAsB,SAAS,mBAAmB,CAAC;AAChE;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC;AACrD;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,sBAAsB,CAAC,qBAAqB,CAAC,OAAO,CAAC;AACpE;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,GAAG;AACvB,QAAQ,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,eAAe,CAAC,EAAE;AAC3E;AACA;AACA;AACA;AACA,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,EAAE,GAAG,OAAO,EAAE;AAC1G,QAAQ,OAAO,IAAI,IAAI,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,MAAM,aAAa,GAAG;AAC1B,QAAQ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,EAAE,GAAG,OAAO,EAAE;AACrG,QAAQ,OAAO,IAAI,IAAI,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE;AAC9D;AACA;;AC7CA;AACA;AACA;AACO,MAAM,0BAA0B,SAAS,mBAAmB,CAAC;AACpE;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,wBAAwB,CAAC;AAC1D;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,0BAA0B,CAAC,qBAAqB,CAAC,OAAO,CAAC;AACxE;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,CAAC,MAAM,EAAE;AAClC,QAAQ,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;AAC3E;AACA;AACA;AACA;AACA,IAAI,MAAM,iBAAiB,CAAC,OAAO,EAAE;AACrC,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,EAAE;AAC5F,QAAQ,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,mDAAmD,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5G;AACA,QAAQ,OAAO,KAAK;AACpB;AACA;;AChCA;AACA;AACA;AACA;AACO,MAAM,2BAA2B,SAAS,gBAAgB,CAAC;AAClE;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,yBAAyB,CAAC;AAC3D,IAAI,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;AACvD;AACA;AACA;AACA,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE;AAC3D;AACA;;ACdA;AACA;AACA;AACO,MAAM,sBAAsB,SAAS,mBAAmB,CAAC;AAChE;AACA;AACA;AACA,IAAI,SAAS,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC;AACrD,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,iCAAiC,CAAC;AACnE,IAAI,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC;AACpE,IAAI,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,mCAAmC,CAAC;AAChF;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE;AACzB,QAAQ,OAAO,sBAAsB,CAAC,qBAAqB,CAAC,OAAO,CAAC;AACpE;AACA;AACA;AACA;AACA,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE;AAC9C;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE;AACnD;AACA;AACA;AACA;AACA,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;AACvC,YAAY,MAAM,IAAI,CAAC,OAAO,EAAE;AAChC;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE;AAC/C;AACA;AACA;AACA;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,iBAAiB,EAAE;AACtE;AACA;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE;AACpE;AACA;AACA;AACA;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE;AACpD,QAAQ,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;AACrD,QAAQ,IAAI,cAAc,EAAE;AAC5B,YAAY,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC;AAC9H;AACA,aAAa;AACb,YAAY,OAAO,EAAE,MAAM,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,EAAE;AACpE,QAAQ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE;AACpD,QAAQ,QAAQ,SAAS,IAAI,SAAS,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;AACrF;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,2BAA2B,CAAC;AACpF;AACA;AACA;AACA;AACA,IAAI,MAAM,UAAU,GAAG;AACvB,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC;AACjF,QAAQ,OAAO,QAAQ,KAAK,IAAI;AAChC;AACA;AACA;AACA;AACA,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE;AAC1D;AACA;AACA;AACA;AACA,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE;AACpC,YAAY,MAAM,IAAI,CAAC,OAAO,EAAE;AAChC;AACA;AACA,IAAI,MAAM,aAAa,GAAG;AAC1B,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC;AACzE;AACA,IAAI,MAAM,cAAc,GAAG;AAC3B,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,EAAE;AAC7E,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,OAAO,OAAO;AAC1B;AACA,QAAQ,MAAM,KAAK,CAAC,uBAAuB,CAAC;AAC5C;AACA,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE;AACrC,YAAY,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC;AACzF;AACA,aAAa;AACb,YAAY,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE;AACnD;AACA;AACA;;AC9HA;AACA;AACA;;;;"}
|
|
1
|
+
{"version":3,"file":"skyux-forms-testing.mjs","sources":["../tmp-esm2022/testing/modules/character-counter/character-counter-indicator-harness.js","../tmp-esm2022/testing/modules/form-error/form-error-harness.js","../tmp-esm2022/testing/modules/form-error/form-errors-harness.js","../tmp-esm2022/testing/modules/input-box/input-box-harness.js","../tmp-esm2022/testing/legacy/checkbox-fixture.js","../tmp-esm2022/testing/modules/checkbox/checkbox-label-harness.js","../tmp-esm2022/testing/modules/checkbox/checkbox-label-text-label.harness.js","../tmp-esm2022/testing/modules/checkbox/checkbox-harness.js","../tmp-esm2022/testing/modules/checkbox/checkbox-group-harness.js","../tmp-esm2022/testing/modules/file-attachment/file-attachment/file-attachment-harness.js","../tmp-esm2022/testing/modules/file-attachment/file-drop/file-drop-link-upload-input-harness.js","../tmp-esm2022/testing/modules/file-attachment/file-drop/file-drop-link-upload-harness.js","../tmp-esm2022/testing/modules/file-attachment/file-drop/file-drop-harness.js","../tmp-esm2022/testing/modules/file-attachment/shared/provide-file-attachment-testing.js","../tmp-esm2022/testing/modules/file-attachment/file-drop/file-item-harness.js","../tmp-esm2022/testing/modules/field-group/field-group-harness.js","../tmp-esm2022/testing/legacy/radio-fixture.js","../tmp-esm2022/testing/modules/radio/radio-label-harness.js","../tmp-esm2022/testing/modules/radio/radio-harness.js","../tmp-esm2022/testing/modules/radio/radio-group-harness.js","../tmp-esm2022/testing/modules/selection-box/selection-box-description-harness.js","../tmp-esm2022/testing/modules/selection-box/selection-box-header-harness.js","../tmp-esm2022/testing/modules/selection-box/selection-box-harness.js","../tmp-esm2022/testing/modules/selection-box/selection-box-grid-harness.js","../tmp-esm2022/testing/modules/toggle-switch/toggle-switch-label-harness.js","../tmp-esm2022/testing/modules/toggle-switch/toggle-switch-harness.js","../tmp-esm2022/testing/skyux-forms-testing.js"],"sourcesContent":["import { SkyComponentHarness } from '@skyux/core/testing';\n/**\n * Harness for interacting with a character counter indicator component in tests.\n */\nexport class SkyCharacterCounterIndicatorHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-character-counter-indicator'; }\n #getLabel = this.locatorFor('.sky-character-count-label');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyCharacterCounterIndicatorHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyCharacterCounterIndicatorHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Gets the current character count.\n */\n async getCharacterCount() {\n return (await this.#getLabelParts()).count;\n }\n /**\n * Gets the character counter limit.\n */\n async getCharacterCountLimit() {\n return (await this.#getLabelParts()).limit;\n }\n /**\n * Indicates whether the character counter is in an error state because the current character\n * count is greater than the limit.\n */\n async isOverLimit() {\n return await (await this.#getLabel()).hasClass('sky-error-label');\n }\n async #getLabelParts() {\n const label = await this.#getLabel();\n const textParts = (await label.text()).split('/');\n let labelParts;\n if (textParts.length === 2) {\n labelParts = {\n count: +textParts[0].trim(),\n limit: +textParts[1].trim(),\n };\n }\n if (labelParts && !isNaN(labelParts.count) && !isNaN(labelParts.limit)) {\n return labelParts;\n }\n throw new Error('The character counter indicator does not contain text in the expected format.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci1pbmRpY2F0b3ItaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVMxRDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSxtQkFBbUI7SUFDMUU7O09BRUc7YUFDVyxpQkFBWSxHQUFHLGlDQUFpQyxDQUFDO0lBRS9ELFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFFMUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBbUQ7UUFFbkQsT0FBTyxtQ0FBbUMsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsaUJBQWlCO1FBQzVCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsc0JBQXNCO1FBQ2pDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVsRCxJQUFJLFVBQWtDLENBQUM7UUFFdkMsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNCLFVBQVUsR0FBRztnQkFDWCxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO2dCQUMzQixLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO2FBQzVCLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFFRCxNQUFNLElBQUksS0FBSyxDQUNiLCtFQUErRSxDQUNoRixDQUFDO0lBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLWhhcm5lc3MtZmlsdGVycyc7XG5cbnR5cGUgTGFiZWxQYXJ0cyA9IHtcbiAgY291bnQ6IG51bWJlcjtcbiAgbGltaXQ6IG51bWJlcjtcbn07XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGNoYXJhY3RlciBjb3VudGVyIGluZGljYXRvciBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDaGFyYWN0ZXJDb3VudGVySW5kaWNhdG9ySGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yJztcblxuICAjZ2V0TGFiZWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktY2hhcmFjdGVyLWNvdW50LWxhYmVsJyk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5Q2hhcmFjdGVyQ291bnRlckluZGljYXRvckhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IGNoYXJhY3RlciBjb3VudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRDaGFyYWN0ZXJDb3VudCgpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0TGFiZWxQYXJ0cygpKS5jb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGFyYWN0ZXIgY291bnRlciBsaW1pdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRDaGFyYWN0ZXJDb3VudExpbWl0KCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRMYWJlbFBhcnRzKCkpLmxpbWl0O1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjaGFyYWN0ZXIgY291bnRlciBpcyBpbiBhbiBlcnJvciBzdGF0ZSBiZWNhdXNlIHRoZSBjdXJyZW50IGNoYXJhY3RlclxuICAgKiBjb3VudCBpcyBncmVhdGVyIHRoYW4gdGhlIGxpbWl0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzT3ZlckxpbWl0KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TGFiZWwoKSkuaGFzQ2xhc3MoJ3NreS1lcnJvci1sYWJlbCcpO1xuICB9XG5cbiAgYXN5bmMgI2dldExhYmVsUGFydHMoKTogUHJvbWlzZTxMYWJlbFBhcnRzPiB7XG4gICAgY29uc3QgbGFiZWwgPSBhd2FpdCB0aGlzLiNnZXRMYWJlbCgpO1xuICAgIGNvbnN0IHRleHRQYXJ0cyA9IChhd2FpdCBsYWJlbC50ZXh0KCkpLnNwbGl0KCcvJyk7XG5cbiAgICBsZXQgbGFiZWxQYXJ0czogTGFiZWxQYXJ0cyB8IHVuZGVmaW5lZDtcblxuICAgIGlmICh0ZXh0UGFydHMubGVuZ3RoID09PSAyKSB7XG4gICAgICBsYWJlbFBhcnRzID0ge1xuICAgICAgICBjb3VudDogK3RleHRQYXJ0c1swXS50cmltKCksXG4gICAgICAgIGxpbWl0OiArdGV4dFBhcnRzWzFdLnRyaW0oKSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKGxhYmVsUGFydHMgJiYgIWlzTmFOKGxhYmVsUGFydHMuY291bnQpICYmICFpc05hTihsYWJlbFBhcnRzLmxpbWl0KSkge1xuICAgICAgcmV0dXJuIGxhYmVsUGFydHM7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ1RoZSBjaGFyYWN0ZXIgY291bnRlciBpbmRpY2F0b3IgZG9lcyBub3QgY29udGFpbiB0ZXh0IGluIHRoZSBleHBlY3RlZCBmb3JtYXQuJyxcbiAgICApO1xuICB9XG59XG4iXX0=","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyStatusIndicatorHarness } from '@skyux/indicators/testing';\nexport class SkyFormErrorHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-form-error'; }\n async #getStatusIndicator() {\n return await this.locatorFor(SkyStatusIndicatorHarness)();\n }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFormErrorHarness` that meets certain criteria\n */\n static with(filters) {\n return SkyFormErrorHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Gets the error name.\n */\n async getErrorName() {\n return await (await this.host()).getAttribute('data-error-name');\n }\n /**\n * Gets the error text.\n */\n async getErrorText() {\n return await (await this.#getStatusIndicator()).getText();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9yLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJdEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG1CQUFtQjtJQUMxRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsZ0JBQWdCLENBQUM7SUFFOUMsS0FBSyxDQUFDLG1CQUFtQjtRQUN2QixPQUFPLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQW1DO1FBRW5DLE9BQU8sbUJBQW1CLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFlBQVk7UUFDdkIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUN2QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lTdGF0dXNJbmRpY2F0b3JIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUZvcm1FcnJvckhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9mb3JtLWVycm9yLWhhcm5lc3MuZmlsdGVycyc7XG5cbmV4cG9ydCBjbGFzcyBTa3lGb3JtRXJyb3JIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1mb3JtLWVycm9yJztcblxuICBhc3luYyAjZ2V0U3RhdHVzSW5kaWNhdG9yKCk6IFByb21pc2U8U2t5U3RhdHVzSW5kaWNhdG9ySGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoU2t5U3RhdHVzSW5kaWNhdG9ySGFybmVzcykoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lGb3JtRXJyb3JIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWFcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lGb3JtRXJyb3JIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lGb3JtRXJyb3JIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUZvcm1FcnJvckhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGVycm9yIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RXJyb3JOYW1lKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmdldEF0dHJpYnV0ZSgnZGF0YS1lcnJvci1uYW1lJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZXJyb3IgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRFcnJvclRleHQoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRTdGF0dXNJbmRpY2F0b3IoKSkuZ2V0VGV4dCgpO1xuICB9XG59XG4iXX0=","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyFormErrorHarness } from './form-error-harness';\nexport class SkyFormErrorsHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-form-errors'; }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFormErrorsHarness` that meets certain criteria\n */\n static with(filters) {\n return SkyFormErrorsHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Gets a list of all errors fired.\n */\n async getFormErrors() {\n const formErrorHarnesses = await this.locatorForAll(SkyFormErrorHarness.with({}))();\n return await Promise.all(formErrorHarnesses.map(async (formError) => {\n return { errorName: await formError.getErrorName() };\n }));\n }\n /**\n * Whether an error with the given name has fired.\n */\n async hasError(errorName) {\n const formErrors = await this.getFormErrors();\n return formErrors.some((error) => {\n return error.errorName === errorName;\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvcnMtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUczRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBQzNEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxpQkFBaUIsQ0FBQztJQUUvQzs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUFvQztRQUVwQyxPQUFPLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUNqRCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQzdCLEVBQUUsQ0FBQztRQUVKLE9BQU8sTUFBTSxPQUFPLENBQUMsR0FBRyxDQUN0QixrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFpQjtRQUNyQyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMvQixPQUFPLEtBQUssQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUZvcm1FcnJvckhhcm5lc3MgfSBmcm9tICcuL2Zvcm0tZXJyb3ItaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JzSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2Zvcm0tZXJyb3JzLWhhcm5lc3MuZmlsdGVycyc7XG5cbmV4cG9ydCBjbGFzcyBTa3lGb3JtRXJyb3JzSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZm9ybS1lcnJvcnMnO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lGb3JtRXJyb3JzSGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5Rm9ybUVycm9yc0hhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUZvcm1FcnJvcnNIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUZvcm1FcnJvcnNIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgbGlzdCBvZiBhbGwgZXJyb3JzIGZpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEZvcm1FcnJvcnMoKTogUHJvbWlzZTx7IGVycm9yTmFtZTogc3RyaW5nIHwgbnVsbCB9W10+IHtcbiAgICBjb25zdCBmb3JtRXJyb3JIYXJuZXNzZXMgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoXG4gICAgICBTa3lGb3JtRXJyb3JIYXJuZXNzLndpdGgoe30pLFxuICAgICkoKTtcblxuICAgIHJldHVybiBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGZvcm1FcnJvckhhcm5lc3Nlcy5tYXAoYXN5bmMgKGZvcm1FcnJvcikgPT4ge1xuICAgICAgICByZXR1cm4geyBlcnJvck5hbWU6IGF3YWl0IGZvcm1FcnJvci5nZXRFcnJvck5hbWUoKSB9O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGFuIGVycm9yIHdpdGggdGhlIGdpdmVuIG5hbWUgaGFzIGZpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0Vycm9yKGVycm9yTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZm9ybUVycm9ycyA9IGF3YWl0IHRoaXMuZ2V0Rm9ybUVycm9ycygpO1xuICAgIHJldHVybiBmb3JtRXJyb3JzLnNvbWUoKGVycm9yKSA9PiB7XG4gICAgICByZXR1cm4gZXJyb3IuZXJyb3JOYW1lID09PSBlcnJvck5hbWU7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyQueryableComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyStatusIndicatorHarness } from '@skyux/indicators/testing';\nimport { SkyPopoverHarness } from '@skyux/popovers/testing';\nimport { SkyCharacterCounterIndicatorHarness } from '../character-counter/character-counter-indicator-harness';\nimport { SkyFormErrorsHarness } from '../form-error/form-errors-harness';\n/**\n * Harness for interacting with an input box component in tests.\n */\nexport class SkyInputBoxHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-input-box'; }\n #getHintText = this.locatorForOptional('.sky-input-box-hint-text');\n #getLabel = this.locatorForOptional('.sky-control-label');\n #getWrapper = this.locatorFor('.sky-input-box');\n async #getFormError() {\n return await this.locatorFor(SkyFormErrorsHarness)();\n }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyInputBoxHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyInputBoxHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Gets the character counter indicator for the input box or throws an error if\n * a character limit is not specified.\n */\n async getCharacterCounter() {\n const characterCounter = await this.locatorForOptional(new HarnessPredicate(SkyCharacterCounterIndicatorHarness, {\n ancestor: '.sky-input-box-label-wrapper',\n }))();\n if (!characterCounter) {\n throw new Error('The input box does not have a character limit specified.');\n }\n return characterCounter;\n }\n /**\n * Gets a list of status indicator harnesses for errors not automatically\n * handled by input box.\n */\n async getCustomErrors() {\n const errors = await this.locatorForAll(new HarnessPredicate(SkyStatusIndicatorHarness, {\n selector: 'sky-status-indicator:not(sky-form-error sky-status-indicator)',\n }))();\n return errors;\n }\n /**\n * Whether the custom error is triggered.\n */\n async hasCustomFormError(errorName) {\n return await (await this.#getFormError()).hasError(errorName);\n }\n /**\n * Whether the required field is empty.\n */\n async hasRequiredError() {\n return await (await this.#getFormError()).hasError('required');\n }\n /**\n * Whether the field has more characters than allowed.\n */\n async hasMaxLengthError() {\n return await (await this.#getFormError()).hasError('maxlength');\n }\n /**\n * Whether the field has fewer characters than allowed.\n */\n async hasMinLengthError() {\n return await (await this.#getFormError()).hasError('minlength');\n }\n /**\n * Whether the field is set to an invalid email address.\n */\n async hasEmailError() {\n return await (await this.#getFormError()).hasError('email');\n }\n /**\n * Whether the field is set to an invalid URL.\n */\n async hasUrlError() {\n return await (await this.#getFormError()).hasError('url');\n }\n /**\n * Whether the field is set to an invalid date.\n */\n async hasInvalidDateError() {\n return await (await this.#getFormError()).hasError('invalidDate');\n }\n /**\n * Whether the field is set to an invalid minimum date.\n */\n async hasMinDateError() {\n return await (await this.#getFormError()).hasError('minDate');\n }\n /**\n * Whether the field is set to an invalid maximum date.\n */\n async hasMaxDateError() {\n return await (await this.#getFormError()).hasError('maxDate');\n }\n /**\n * Whether the field is set to an invalid phone number.\n */\n async hasPhoneFieldError() {\n return await (await this.#getFormError()).hasError('phone');\n }\n /**\n * Whether the field is set to an invalid time.\n */\n async hasTimeError() {\n return await (await this.#getFormError()).hasError('time');\n }\n /**\n * Indicates whether the input box has disabled styles applied.\n */\n async getDisabled() {\n const wrapper = await this.#getWrapper();\n return await wrapper.hasClass('sky-input-box-disabled');\n }\n /**\n * Gets the text for the input box label.\n */\n async getLabelText() {\n const label = await this.#getLabel();\n return await this.#getElementTextOrDefault(label);\n }\n /**\n * Gets the help popover for the input box or throws an error if\n * the help popover is not configured.\n */\n async getHelpPopover() {\n const helpPopover = await this.locatorForOptional(new HarnessPredicate(SkyPopoverHarness, {\n ancestor: '.sky-control-help',\n }))();\n if (!helpPopover) {\n throw new Error('The input box does not have a help popover configured.');\n }\n return helpPopover;\n }\n /**2\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the hint text for the input box.\n */\n async getHintText() {\n const hintText = await this.#getHintText();\n return await this.#getElementTextOrDefault(hintText);\n }\n /**\n * Indicates whether the input box has stacked styles applied.\n */\n async getStacked() {\n const host = await this.host();\n return await host.hasClass('sky-form-field-stacked');\n }\n async #getElementTextOrDefault(el) {\n return (await el?.text())?.trim() ?? '';\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYm94LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFNUQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDL0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJekU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsNEJBQTRCO0lBQ2xFOztPQUVHO2FBQ1csaUJBQVksR0FBRyxlQUFlLENBQUM7SUFFN0MsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ25FLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUMxRCxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRWhELEtBQUssQ0FBQyxhQUFhO1FBQ2pCLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBa0M7UUFFbEMsT0FBTyxr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SSxLQUFLLENBQUMsbUJBQW1CO1FBQzlCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFM0MsT0FBTyxNQUFNLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUvQixPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQUMsd0JBQXdCLENBQUMsRUFBc0I7UUFDbkQsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7UUFFdEUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxNQUFNLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlLCBUZXN0RWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreVF1ZXJ5YWJsZUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2hlbHAtaW5saW5lL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5U3RhdHVzSW5kaWNhdG9ySGFybmVzcyB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5UG9wb3Zlckhhcm5lc3MgfSBmcm9tICdAc2t5dXgvcG9wb3ZlcnMvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzIH0gZnJvbSAnLi4vY2hhcmFjdGVyLWNvdW50ZXIvY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5Rm9ybUVycm9yc0hhcm5lc3MgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lJbnB1dEJveEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9pbnB1dC1ib3gtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGFuIGlucHV0IGJveCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lJbnB1dEJveEhhcm5lc3MgZXh0ZW5kcyBTa3lRdWVyeWFibGVDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWlucHV0LWJveCc7XG5cbiAgI2dldEhpbnRUZXh0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktaW5wdXQtYm94LWhpbnQtdGV4dCcpO1xuICAjZ2V0TGFiZWwgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1jb250cm9sLWxhYmVsJyk7XG4gICNnZXRXcmFwcGVyID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWlucHV0LWJveCcpO1xuXG4gIGFzeW5jICNnZXRGb3JtRXJyb3IoKTogUHJvbWlzZTxTa3lGb3JtRXJyb3JzSGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoU2t5Rm9ybUVycm9yc0hhcm5lc3MpKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5SW5wdXRCb3hIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5SW5wdXRCb3hIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lJbnB1dEJveEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5SW5wdXRCb3hIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGhlbHAgaW5saW5lIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0hlbHBJbmxpbmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGFyYWN0ZXIgY291bnRlciBpbmRpY2F0b3IgZm9yIHRoZSBpbnB1dCBib3ggb3IgdGhyb3dzIGFuIGVycm9yIGlmXG4gICAqIGEgY2hhcmFjdGVyIGxpbWl0IGlzIG5vdCBzcGVjaWZpZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q2hhcmFjdGVyQ291bnRlcigpOiBQcm9taXNlPFNreUNoYXJhY3RlckNvdW50ZXJJbmRpY2F0b3JIYXJuZXNzPiB7XG4gICAgY29uc3QgY2hhcmFjdGVyQ291bnRlciA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICAgbmV3IEhhcm5lc3NQcmVkaWNhdGUoU2t5Q2hhcmFjdGVyQ291bnRlckluZGljYXRvckhhcm5lc3MsIHtcbiAgICAgICAgYW5jZXN0b3I6ICcuc2t5LWlucHV0LWJveC1sYWJlbC13cmFwcGVyJyxcbiAgICAgIH0pLFxuICAgICkoKTtcblxuICAgIGlmICghY2hhcmFjdGVyQ291bnRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVGhlIGlucHV0IGJveCBkb2VzIG5vdCBoYXZlIGEgY2hhcmFjdGVyIGxpbWl0IHNwZWNpZmllZC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2hhcmFjdGVyQ291bnRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgbGlzdCBvZiBzdGF0dXMgaW5kaWNhdG9yIGhhcm5lc3NlcyBmb3IgZXJyb3JzIG5vdCBhdXRvbWF0aWNhbGx5XG4gICAqIGhhbmRsZWQgYnkgaW5wdXQgYm94LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEN1c3RvbUVycm9ycygpOiBQcm9taXNlPFNreVN0YXR1c0luZGljYXRvckhhcm5lc3NbXT4ge1xuICAgIGNvbnN0IGVycm9ycyA9IGF3YWl0IHRoaXMubG9jYXRvckZvckFsbChcbiAgICAgIG5ldyBIYXJuZXNzUHJlZGljYXRlKFNreVN0YXR1c0luZGljYXRvckhhcm5lc3MsIHtcbiAgICAgICAgc2VsZWN0b3I6XG4gICAgICAgICAgJ3NreS1zdGF0dXMtaW5kaWNhdG9yOm5vdChza3ktZm9ybS1lcnJvciBza3ktc3RhdHVzLWluZGljYXRvciknLFxuICAgICAgfSksXG4gICAgKSgpO1xuXG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjdXN0b20gZXJyb3IgaXMgdHJpZ2dlcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0N1c3RvbUZvcm1FcnJvcihlcnJvck5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKGVycm9yTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmVxdWlyZWQgZmllbGQgaXMgZW1wdHkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzUmVxdWlyZWRFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcigpKS5oYXNFcnJvcigncmVxdWlyZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBoYXMgbW9yZSBjaGFyYWN0ZXJzIHRoYW4gYWxsb3dlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNYXhMZW5ndGhFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcigpKS5oYXNFcnJvcignbWF4bGVuZ3RoJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgaGFzIGZld2VyIGNoYXJhY3RlcnMgdGhhbiBhbGxvd2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc01pbkxlbmd0aEVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKCdtaW5sZW5ndGgnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBpcyBzZXQgdG8gYW4gaW52YWxpZCBlbWFpbCBhZGRyZXNzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0VtYWlsRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3IoKSkuaGFzRXJyb3IoJ2VtYWlsJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgaXMgc2V0IHRvIGFuIGludmFsaWQgVVJMLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc1VybEVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKCd1cmwnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBpcyBzZXQgdG8gYW4gaW52YWxpZCBkYXRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0ludmFsaWREYXRlRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3IoKSkuaGFzRXJyb3IoJ2ludmFsaWREYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgaXMgc2V0IHRvIGFuIGludmFsaWQgbWluaW11bSBkYXRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc01pbkRhdGVFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcigpKS5oYXNFcnJvcignbWluRGF0ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpZWxkIGlzIHNldCB0byBhbiBpbnZhbGlkIG1heGltdW0gZGF0ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNYXhEYXRlRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3IoKSkuaGFzRXJyb3IoJ21heERhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBpcyBzZXQgdG8gYW4gaW52YWxpZCBwaG9uZSBudW1iZXIuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzUGhvbmVGaWVsZEVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKCdwaG9uZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpZWxkIGlzIHNldCB0byBhbiBpbnZhbGlkIHRpbWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzVGltZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9yKCkpLmhhc0Vycm9yKCd0aW1lJyk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGlucHV0IGJveCBoYXMgZGlzYWJsZWQgc3R5bGVzIGFwcGxpZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RGlzYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgd3JhcHBlciA9IGF3YWl0IHRoaXMuI2dldFdyYXBwZXIoKTtcblxuICAgIHJldHVybiBhd2FpdCB3cmFwcGVyLmhhc0NsYXNzKCdza3ktaW5wdXQtYm94LWRpc2FibGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBmb3IgdGhlIGlucHV0IGJveCBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMYWJlbFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBsYWJlbCA9IGF3YWl0IHRoaXMuI2dldExhYmVsKCk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jZ2V0RWxlbWVudFRleHRPckRlZmF1bHQobGFiZWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciBmb3IgdGhlIGlucHV0IGJveCBvciB0aHJvd3MgYW4gZXJyb3IgaWZcbiAgICogdGhlIGhlbHAgcG9wb3ZlciBpcyBub3QgY29uZmlndXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlcigpOiBQcm9taXNlPFNreVBvcG92ZXJIYXJuZXNzPiB7XG4gICAgY29uc3QgaGVscFBvcG92ZXIgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAgIG5ldyBIYXJuZXNzUHJlZGljYXRlKFNreVBvcG92ZXJIYXJuZXNzLCB7XG4gICAgICAgIGFuY2VzdG9yOiAnLnNreS1jb250cm9sLWhlbHAnLFxuICAgICAgfSksXG4gICAgKSgpO1xuXG4gICAgaWYgKCFoZWxwUG9wb3Zlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgaW5wdXQgYm94IGRvZXMgbm90IGhhdmUgYSBoZWxwIHBvcG92ZXIgY29uZmlndXJlZC4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGVscFBvcG92ZXI7XG4gIH1cblxuICAvKioyXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyQ29udGVudCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyQ29udGVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciB0aXRsZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlclRpdGxlKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmdldFBvcG92ZXJUaXRsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhpbnQgdGV4dCBmb3IgdGhlIGlucHV0IGJveC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIaW50VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGhpbnRUZXh0ID0gYXdhaXQgdGhpcy4jZ2V0SGludFRleHQoKTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLiNnZXRFbGVtZW50VGV4dE9yRGVmYXVsdChoaW50VGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGlucHV0IGJveCBoYXMgc3RhY2tlZCBzdHlsZXMgYXBwbGllZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTdGFja2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGhvc3QgPSBhd2FpdCB0aGlzLmhvc3QoKTtcblxuICAgIHJldHVybiBhd2FpdCBob3N0Lmhhc0NsYXNzKCdza3ktZm9ybS1maWVsZC1zdGFja2VkJyk7XG4gIH1cblxuICBhc3luYyAjZ2V0RWxlbWVudFRleHRPckRlZmF1bHQoZWw6IFRlc3RFbGVtZW50IHwgbnVsbCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCBlbD8udGV4dCgpKT8udHJpbSgpID8/ICcnO1xuICB9XG5cbiAgYXN5bmMgI2dldEhlbHBJbmxpbmUoKTogUHJvbWlzZTxTa3lIZWxwSW5saW5lSGFybmVzcz4ge1xuICAgIGNvbnN0IGhhcm5lc3MgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lIZWxwSW5saW5lSGFybmVzcykoKTtcblxuICAgIGlmIChoYXJuZXNzKSB7XG4gICAgICByZXR1cm4gaGFybmVzcztcbiAgICB9XG5cbiAgICB0aHJvdyBFcnJvcignTm8gaGVscCBpbmxpbmUgZm91bmQuJyk7XG4gIH1cbn1cbiJdfQ==","import { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n/**\n * Allows interaction with a SKY UX checkbox component.\n * @internal\n * @deprecated Use `SkyCheckboxHarness` instead.\n */\nexport class SkyCheckboxFixture {\n #debugEl;\n constructor(fixture, skyTestId) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-checkbox');\n }\n /**\n * A flag indicating whether the checkbox is currently selected.\n */\n get selected() {\n return this.#getCheckboxInputEl().nativeElement.checked;\n }\n /**\n * The checkbox's label\n */\n get labelText() {\n return SkyAppTestUtility.getText(this.#debugEl.query(By.css('label.sky-checkbox-wrapper')));\n }\n /**\n * The checkbox's icon type\n */\n get iconType() {\n const svgElement = this.#debugEl.query(By.css('sky-icon svg'));\n if (svgElement) {\n return svgElement.nativeElement.getAttribute('data-sky-icon');\n }\n return undefined;\n }\n /**\n * The checkbox's type.\n */\n get checkboxType() {\n const classList = this.#getCheckboxBoxEl().nativeElement.classList;\n if (classList.contains('sky-switch-control-danger')) {\n return 'danger';\n }\n if (classList.contains('sky-switch-control-info')) {\n return 'info';\n }\n if (classList.contains('sky-switch-control-success')) {\n return 'success';\n }\n if (classList.contains('sky-switch-control-warning')) {\n return 'warning';\n }\n return undefined;\n }\n /**\n * A flag indicating whether the checkbox is currently disabled.\n */\n get disabled() {\n return this.#getCheckboxInputEl().nativeElement.disabled;\n }\n /**\n * Selects the checkbox.\n */\n select() {\n if (!this.selected) {\n this.#clickCheckboxLabelEl();\n }\n }\n /**\n * Deselects the checkbox.\n */\n deselect() {\n if (this.selected) {\n this.#clickCheckboxLabelEl();\n }\n }\n #clickCheckboxLabelEl() {\n this.#debugEl\n .query(By.css('label.sky-checkbox-wrapper'))\n .nativeElement.click();\n }\n #getCheckboxInputEl() {\n return this.#debugEl.query(By.css('.sky-checkbox-wrapper input'));\n }\n #getCheckboxBoxEl() {\n return this.#debugEl.query(By.css('label.sky-checkbox-wrapper span'));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9sZWdhY3kvY2hlY2tib3gtZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsUUFBUSxDQUFlO0lBRXZCLFlBQVksT0FBOEIsRUFBRSxTQUFpQjtRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUN2RCxPQUFPLEVBQ1AsU0FBUyxFQUNULGNBQWMsQ0FDZixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUMxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUMxRCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUUvRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsT0FBTyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxZQUFZO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFFbkUsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQztZQUNsRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FBQztZQUNyRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FBQztZQUNyRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxRQUFRO2FBQ1YsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQzthQUMzQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU2t5QXBwVGVzdFV0aWxpdHkgfSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIGNoZWNrYm94IGNvbXBvbmVudC5cbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWQgVXNlIGBTa3lDaGVja2JveEhhcm5lc3NgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDaGVja2JveEZpeHR1cmUge1xuICAjZGVidWdFbDogRGVidWdFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNkZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1jaGVja2JveCcsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNnZXRDaGVja2JveElucHV0RWwoKS5uYXRpdmVFbGVtZW50LmNoZWNrZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNoZWNrYm94J3MgbGFiZWxcbiAgICovXG4gIHB1YmxpYyBnZXQgbGFiZWxUZXh0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoXG4gICAgICB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnbGFiZWwuc2t5LWNoZWNrYm94LXdyYXBwZXInKSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2hlY2tib3gncyBpY29uIHR5cGVcbiAgICovXG4gIHB1YmxpYyBnZXQgaWNvblR5cGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBzdmdFbGVtZW50ID0gdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJ3NreS1pY29uIHN2ZycpKTtcblxuICAgIGlmIChzdmdFbGVtZW50KSB7XG4gICAgICByZXR1cm4gc3ZnRWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1za3ktaWNvbicpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNoZWNrYm94J3MgdHlwZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2hlY2tib3hUeXBlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY2xhc3NMaXN0ID0gdGhpcy4jZ2V0Q2hlY2tib3hCb3hFbCgpLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0O1xuXG4gICAgaWYgKGNsYXNzTGlzdC5jb250YWlucygnc2t5LXN3aXRjaC1jb250cm9sLWRhbmdlcicpKSB7XG4gICAgICByZXR1cm4gJ2Rhbmdlcic7XG4gICAgfVxuXG4gICAgaWYgKGNsYXNzTGlzdC5jb250YWlucygnc2t5LXN3aXRjaC1jb250cm9sLWluZm8nKSkge1xuICAgICAgcmV0dXJuICdpbmZvJztcbiAgICB9XG5cbiAgICBpZiAoY2xhc3NMaXN0LmNvbnRhaW5zKCdza3ktc3dpdGNoLWNvbnRyb2wtc3VjY2VzcycpKSB7XG4gICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xuICAgIH1cblxuICAgIGlmIChjbGFzc0xpc3QuY29udGFpbnMoJ3NreS1zd2l0Y2gtY29udHJvbC13YXJuaW5nJykpIHtcbiAgICAgIHJldHVybiAnd2FybmluZyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBjaGVja2JveCBpcyBjdXJyZW50bHkgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNnZXRDaGVja2JveElucHV0RWwoKS5uYXRpdmVFbGVtZW50LmRpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgdGhlIGNoZWNrYm94LlxuICAgKi9cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuI2NsaWNrQ2hlY2tib3hMYWJlbEVsKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlc2VsZWN0cyB0aGUgY2hlY2tib3guXG4gICAqL1xuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuI2NsaWNrQ2hlY2tib3hMYWJlbEVsKCk7XG4gICAgfVxuICB9XG5cbiAgI2NsaWNrQ2hlY2tib3hMYWJlbEVsKCk6IHZvaWQge1xuICAgIHRoaXMuI2RlYnVnRWxcbiAgICAgIC5xdWVyeShCeS5jc3MoJ2xhYmVsLnNreS1jaGVja2JveC13cmFwcGVyJykpXG4gICAgICAubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgI2dldENoZWNrYm94SW5wdXRFbCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS1jaGVja2JveC13cmFwcGVyIGlucHV0JykpO1xuICB9XG5cbiAgI2dldENoZWNrYm94Qm94RWwoKTogRGVidWdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJ2xhYmVsLnNreS1jaGVja2JveC13cmFwcGVyIHNwYW4nKSk7XG4gIH1cbn1cbiJdfQ==","import { ComponentHarness } from '@angular/cdk/testing';\n/**\n * Harness for interacting with a checkbox label component in tests.\n * @internal\n */\nexport class SkyCheckboxLabelHarness extends ComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-checkbox-label'; }\n #getLabelContent = this.locatorFor('.sky-switch-label');\n /**\n * Gets the text content of the checkbox label.\n */\n async getText() {\n return await (await this.#getLabelContent()).text();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGFiZWwtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWxhYmVsLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFnQjtJQUMzRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsb0JBQW9CLENBQUM7SUFFbEQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXhEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBjaGVja2JveCBsYWJlbCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNoZWNrYm94TGFiZWxIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1jaGVja2JveC1sYWJlbCc7XG5cbiAgI2dldExhYmVsQ29udGVudCA9IHRoaXMubG9jYXRvckZvcignLnNreS1zd2l0Y2gtbGFiZWwnKTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBjaGVja2JveCBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMYWJlbENvbnRlbnQoKSkudGV4dCgpO1xuICB9XG59XG4iXX0=","import { ComponentHarness } from '@angular/cdk/testing';\n/**\n * Harness for interacting with a `labelText` checkbox label component in tests.\n * @internal\n */\nexport class SkyCheckboxLabelTextLabelHarness extends ComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-checkbox-label-text-label'; }\n #getLabelContent = this.locatorForOptional('.sky-switch-label');\n /**\n * Gets the text content of the `labelText` checkbox label.\n */\n async getText() {\n return await (await this.#getLabelContent())?.text();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGFiZWwtdGV4dC1sYWJlbC5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtbGFiZWwtdGV4dC1sYWJlbC5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxnQkFBZ0I7SUFDcEU7O09BRUc7YUFDVyxpQkFBWSxHQUFHLCtCQUErQixDQUFDO0lBRTdELGdCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRWhFOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBgbGFiZWxUZXh0YCBjaGVja2JveCBsYWJlbCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNoZWNrYm94TGFiZWxUZXh0TGFiZWxIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1jaGVja2JveC1sYWJlbC10ZXh0LWxhYmVsJztcblxuICAjZ2V0TGFiZWxDb250ZW50ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktc3dpdGNoLWxhYmVsJyk7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHRleHQgY29udGVudCBvZiB0aGUgYGxhYmVsVGV4dGAgY2hlY2tib3ggbGFiZWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TGFiZWxDb250ZW50KCkpPy50ZXh0KCk7XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyFormErrorsHarness } from '../form-error/form-errors-harness';\nimport { SkyCheckboxLabelHarness } from './checkbox-label-harness';\nimport { SkyCheckboxLabelTextLabelHarness } from './checkbox-label-text-label.harness';\n/**\n * Harness for interacting with a checkbox component in tests.\n */\nexport class SkyCheckboxHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-checkbox'; }\n #getHintText = this.locatorForOptional('.sky-checkbox-hint-text');\n #getInput = this.locatorFor('input.sky-checkbox-input');\n #getLabel = this.locatorForOptional(SkyCheckboxLabelHarness);\n #getLabelTextLabel = this.locatorForOptional(SkyCheckboxLabelTextLabelHarness);\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyCheckboxHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyCheckboxHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Blurs the checkbox.\n */\n async blur() {\n await (await this.#getInput()).blur();\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Puts the checkbox in a checked state by toggling it if it is currently unchecked, or doing nothing if it is already checked.\n */\n async check() {\n if (!(await this.isChecked())) {\n await this.#toggle();\n }\n }\n /**\n * Focuses the checkbox.\n */\n async focus() {\n await (await this.#getInput()).focus();\n }\n /**\n * Gets the checkbox's aria-label.\n */\n async getAriaLabel() {\n return await (await this.#getInput()).getAttribute('aria-label');\n }\n /**\n * Gets the checkbox's aria-labelledby.\n */\n async getAriaLabelledby() {\n return await (await this.#getInput()).getAttribute('aria-labelledby');\n }\n /**\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the checkbox's label text. If the label is set via `labelText` and `labelHidden` is true,\n * the text will still be returned.\n */\n async getLabelText() {\n const labelTextLabel = await this.#getLabelTextLabel();\n const label = await this.#getLabel();\n if (labelTextLabel) {\n const text = await labelTextLabel.getText();\n const ariaLabel = await this.getAriaLabel();\n // if labelText is set, ariaLabel will never return null\n return text || ariaLabel;\n }\n else {\n return await label?.getText();\n }\n }\n /**\n * Whether the label is hidden. Only supported when using the `labelText` input to set the label.\n */\n async getLabelHidden() {\n const labelTextLabel = await this.#getLabelTextLabel();\n const label = await this.#getLabel();\n if (label) {\n throw new Error('`labelHidden` is only supported when setting the checkbox label via the `labelText` input.');\n }\n else {\n return !(await labelTextLabel?.getText());\n }\n }\n /**\n * Gets the checkbox's hint text.\n */\n async getHintText() {\n const hintText = await this.#getHintText();\n return (await hintText?.text())?.trim() ?? '';\n }\n /**\n * Gets the checkbox's name.\n */\n async getName() {\n return await (await this.#getInput()).getAttribute('name');\n }\n /**\n * Gets the checkbox's value.\n */\n async getValue() {\n return await (await this.#getInput()).getProperty('value');\n }\n /**\n * Whether the checkbox displays custom error.\n */\n async hasCustomError(errorName) {\n return await (await this.#getFormErrors()).hasError(errorName);\n }\n /**\n * Whether the checkbox displays an error that it is required.\n */\n async hasRequiredError() {\n return await (await this.#getFormErrors()).hasError('required');\n }\n /**\n * Whether the checkbox is checked.\n */\n async isChecked() {\n return await (await this.#getInput()).getProperty('checked');\n }\n /**\n * Whether the checkbox is disabled.\n */\n async isDisabled() {\n const disabled = await (await this.#getInput()).getAttribute('disabled');\n return disabled !== null;\n }\n /**\n * Whether the checkbox is focused.\n */\n async isFocused() {\n return await (await this.#getInput()).isFocused();\n }\n /**\n * Whether the checkbox is required.\n */\n async isRequired() {\n const value = await (await this.#getInput()).getAttribute('required');\n return value !== null;\n }\n /**\n * Whether the checkbox is stacked.\n */\n async isStacked() {\n return await (await this.host()).hasClass('sky-form-field-stacked');\n }\n /**\n * Puts the checkbox in an unchecked state by toggling it if it is currently checked, or doing nothing if it is already unchecked.\n */\n async uncheck() {\n if (await this.isChecked()) {\n await this.#toggle();\n }\n }\n async #getFormErrors() {\n return await this.locatorFor(SkyFormErrorsHarness)();\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n async #toggle() {\n if (await this.isDisabled()) {\n throw new Error('Could not toggle the checkbox because it is disabled.');\n }\n else {\n await (await this.#getInput()).click();\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFdkY7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsbUJBQW1CO0lBQ3pEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxjQUFjLENBQUM7SUFFNUMsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRWxFLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFFeEQsU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRTdELGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FDMUMsZ0NBQWdDLENBQ2pDLENBQUM7SUFFRjs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUFrQztRQUVsQyxPQUFPLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxJQUFJO1FBQ2YsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUN2QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsaUJBQWlCO1FBQzVCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHFCQUFxQjtRQUNoQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQjtRQUM5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUN2QixNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXJDLElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLEdBQUcsTUFBTSxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFNUMsd0RBQXdEO1lBQ3hELE9BQU8sSUFBSSxJQUFJLFNBQVUsQ0FBQztRQUM1QixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxjQUFjO1FBQ3pCLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxLQUFLLENBQ2IsNEZBQTRGLENBQzdGLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxDQUFDLE1BQU0sY0FBYyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTNDLE9BQU8sQ0FBQyxNQUFNLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsT0FBTztRQUNsQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsUUFBUTtRQUNuQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBZ0IsT0FBTyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGNBQWMsQ0FBQyxTQUFpQjtRQUMzQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZ0JBQWdCO1FBQzNCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTO1FBQ3BCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFVLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RSxPQUFPLFFBQVEsS0FBSyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFNBQVM7UUFDcEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEUsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTO1FBQ3BCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsSUFBSSxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7UUFFdEUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxNQUFNLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7UUFDM0UsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lSGFybmVzcyB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yc0hhcm5lc3MgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lDaGVja2JveEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jaGVja2JveC1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hMYWJlbEhhcm5lc3MgfSBmcm9tICcuL2NoZWNrYm94LWxhYmVsLWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hMYWJlbFRleHRMYWJlbEhhcm5lc3MgfSBmcm9tICcuL2NoZWNrYm94LWxhYmVsLXRleHQtbGFiZWwuaGFybmVzcyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGNoZWNrYm94IGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNoZWNrYm94SGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktY2hlY2tib3gnO1xuXG4gICNnZXRIaW50VGV4dCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCcuc2t5LWNoZWNrYm94LWhpbnQtdGV4dCcpO1xuXG4gICNnZXRJbnB1dCA9IHRoaXMubG9jYXRvckZvcignaW5wdXQuc2t5LWNoZWNrYm94LWlucHV0Jyk7XG5cbiAgI2dldExhYmVsID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoU2t5Q2hlY2tib3hMYWJlbEhhcm5lc3MpO1xuXG4gICNnZXRMYWJlbFRleHRMYWJlbCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgIFNreUNoZWNrYm94TGFiZWxUZXh0TGFiZWxIYXJuZXNzLFxuICApO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lDaGVja2JveEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lDaGVja2JveEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUNoZWNrYm94SGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lDaGVja2JveEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJsdXJzIHRoZSBjaGVja2JveC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBibHVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5ibHVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBoZWxwIGlubGluZSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tIZWxwSW5saW5lKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogUHV0cyB0aGUgY2hlY2tib3ggaW4gYSBjaGVja2VkIHN0YXRlIGJ5IHRvZ2dsaW5nIGl0IGlmIGl0IGlzIGN1cnJlbnRseSB1bmNoZWNrZWQsIG9yIGRvaW5nIG5vdGhpbmcgaWYgaXQgaXMgYWxyZWFkeSBjaGVja2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNoZWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghKGF3YWl0IHRoaXMuaXNDaGVja2VkKCkpKSB7XG4gICAgICBhd2FpdCB0aGlzLiN0b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRm9jdXNlcyB0aGUgY2hlY2tib3guXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZm9jdXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY2hlY2tib3gncyBhcmlhLWxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFMYWJlbCgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGNoZWNrYm94J3MgYXJpYS1sYWJlbGxlZGJ5LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFMYWJlbGxlZGJ5KCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlckNvbnRlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlckNvbnRlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyVGl0bGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGVja2JveCdzIGxhYmVsIHRleHQuIElmIHRoZSBsYWJlbCBpcyBzZXQgdmlhIGBsYWJlbFRleHRgIGFuZCBgbGFiZWxIaWRkZW5gIGlzIHRydWUsXG4gICAqIHRoZSB0ZXh0IHdpbGwgc3RpbGwgYmUgcmV0dXJuZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0TGFiZWxUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgbGFiZWxUZXh0TGFiZWwgPSBhd2FpdCB0aGlzLiNnZXRMYWJlbFRleHRMYWJlbCgpO1xuICAgIGNvbnN0IGxhYmVsID0gYXdhaXQgdGhpcy4jZ2V0TGFiZWwoKTtcblxuICAgIGlmIChsYWJlbFRleHRMYWJlbCkge1xuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IGxhYmVsVGV4dExhYmVsLmdldFRleHQoKTtcbiAgICAgIGNvbnN0IGFyaWFMYWJlbCA9IGF3YWl0IHRoaXMuZ2V0QXJpYUxhYmVsKCk7XG5cbiAgICAgIC8vIGlmIGxhYmVsVGV4dCBpcyBzZXQsIGFyaWFMYWJlbCB3aWxsIG5ldmVyIHJldHVybiBudWxsXG4gICAgICByZXR1cm4gdGV4dCB8fCBhcmlhTGFiZWwhO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYXdhaXQgbGFiZWw/LmdldFRleHQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbGFiZWwgaXMgaGlkZGVuLiBPbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIHRoZSBgbGFiZWxUZXh0YCBpbnB1dCB0byBzZXQgdGhlIGxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldExhYmVsSGlkZGVuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGxhYmVsVGV4dExhYmVsID0gYXdhaXQgdGhpcy4jZ2V0TGFiZWxUZXh0TGFiZWwoKTtcbiAgICBjb25zdCBsYWJlbCA9IGF3YWl0IHRoaXMuI2dldExhYmVsKCk7XG5cbiAgICBpZiAobGFiZWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ2BsYWJlbEhpZGRlbmAgaXMgb25seSBzdXBwb3J0ZWQgd2hlbiBzZXR0aW5nIHRoZSBjaGVja2JveCBsYWJlbCB2aWEgdGhlIGBsYWJlbFRleHRgIGlucHV0LicsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gIShhd2FpdCBsYWJlbFRleHRMYWJlbD8uZ2V0VGV4dCgpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY2hlY2tib3gncyBoaW50IHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGludFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBoaW50VGV4dCA9IGF3YWl0IHRoaXMuI2dldEhpbnRUZXh0KCk7XG5cbiAgICByZXR1cm4gKGF3YWl0IGhpbnRUZXh0Py50ZXh0KCkpPy50cmltKCkgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY2hlY2tib3gncyBuYW1lLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldE5hbWUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ25hbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGVja2JveCdzIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFZhbHVlKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0UHJvcGVydHk8c3RyaW5nIHwgbnVsbD4oJ3ZhbHVlJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggZGlzcGxheXMgY3VzdG9tIGVycm9yLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0N1c3RvbUVycm9yKGVycm9yTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3JzKCkpLmhhc0Vycm9yKGVycm9yTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggZGlzcGxheXMgYW4gZXJyb3IgdGhhdCBpdCBpcyByZXF1aXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNSZXF1aXJlZEVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcigncmVxdWlyZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzQ2hlY2tlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldFByb3BlcnR5PGJvb2xlYW4+KCdjaGVja2VkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBkaXNhYmxlZCA9IGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgcmV0dXJuIGRpc2FibGVkICE9PSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGZvY3VzZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNGb2N1c2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuaXNGb2N1c2VkKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgcmVxdWlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNSZXF1aXJlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ3JlcXVpcmVkJyk7XG4gICAgcmV0dXJuIHZhbHVlICE9PSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIHN0YWNrZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNTdGFja2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmhhc0NsYXNzKCdza3ktZm9ybS1maWVsZC1zdGFja2VkJyk7XG4gIH1cblxuICAvKipcbiAgICogUHV0cyB0aGUgY2hlY2tib3ggaW4gYW4gdW5jaGVja2VkIHN0YXRlIGJ5IHRvZ2dsaW5nIGl0IGlmIGl0IGlzIGN1cnJlbnRseSBjaGVja2VkLCBvciBkb2luZyBub3RoaW5nIGlmIGl0IGlzIGFscmVhZHkgdW5jaGVja2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHVuY2hlY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGF3YWl0IHRoaXMuaXNDaGVja2VkKCkpIHtcbiAgICAgIGF3YWl0IHRoaXMuI3RvZ2dsZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jICNnZXRGb3JtRXJyb3JzKCk6IFByb21pc2U8U2t5Rm9ybUVycm9yc0hhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFNreUZvcm1FcnJvcnNIYXJuZXNzKSgpO1xuICB9XG5cbiAgYXN5bmMgI2dldEhlbHBJbmxpbmUoKTogUHJvbWlzZTxTa3lIZWxwSW5saW5lSGFybmVzcz4ge1xuICAgIGNvbnN0IGhhcm5lc3MgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lIZWxwSW5saW5lSGFybmVzcykoKTtcblxuICAgIGlmIChoYXJuZXNzKSB7XG4gICAgICByZXR1cm4gaGFybmVzcztcbiAgICB9XG5cbiAgICB0aHJvdyBFcnJvcignTm8gaGVscCBpbmxpbmUgZm91bmQuJyk7XG4gIH1cblxuICBhc3luYyAjdG9nZ2xlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmlzRGlzYWJsZWQoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgdG9nZ2xlIHRoZSBjaGVja2JveCBiZWNhdXNlIGl0IGlzIGRpc2FibGVkLicpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuY2xpY2soKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyFormErrorsHarness } from '../form-error/form-errors-harness';\nimport { SkyCheckboxHarness } from './checkbox-harness';\n/**\n * Harness for interacting with a checkbox group component in tests.\n */\nexport class SkyCheckboxGroupHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-checkbox-group'; }\n #getHeading = this.locatorFor('.sky-checkbox-group-heading');\n #getHeadingWrapper = this.locatorFor('.sky-checkbox-group-legend');\n #getHintText = this.locatorForOptional('.sky-checkbox-group-hint-text');\n #getLegendDefault = this.locatorForOptional('legend .sky-checkbox-group-heading-text');\n #getLegendH3 = this.locatorForOptional('legend h3');\n #getLegendH4 = this.locatorForOptional('legend h4');\n #getLegendH5 = this.locatorForOptional('legend h5');\n #getLegendHeading = this.locatorFor('legend h3,h4,h5,.sky-checkbox-group-heading-text');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyCheckboxGroupHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyCheckboxGroupHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Gets a specific checkbox based on the filter criteria.\n * @param filter The filter criteria.\n */\n async getCheckbox(filter) {\n return await this.locatorFor(SkyCheckboxHarness.with(filter))();\n }\n /**\n * Gets an array of checkboxes based on the filter criteria.\n * If no filter is provided, returns all checkboxes.\n * @param filter The optional filter criteria.\n */\n async getCheckboxes(filters) {\n return await this.locatorForAll(SkyCheckboxHarness.with(filters || {}))();\n }\n /**\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the checkbox group's heading text. If `headingHidden` is true,\n * the text will still be returned.\n */\n async getHeadingText() {\n return await (await this.#getLegendHeading()).text();\n }\n /**\n * Gets the checkbox group's hint text.\n */\n async getHintText() {\n const hintText = await this.#getHintText();\n return (await hintText?.text())?.trim() ?? '';\n }\n /**\n * Whether the heading is hidden.\n */\n async getHeadingHidden() {\n return await (await this.#getHeadingWrapper()).hasClass('sky-screen-reader-only');\n }\n /**\n * The semantic heading level used for the checkbox group. Returns undefined if heading level is not set.\n */\n async getHeadingLevel() {\n const heading = await this.#getLegendHeading();\n const h3 = await heading.matchesSelector('h3');\n const h4 = await heading.matchesSelector('h4');\n const h5 = await heading.matchesSelector('h5');\n if (h3) {\n return 3;\n }\n else if (h4) {\n return 4;\n }\n else if (h5) {\n return 5;\n }\n else {\n return undefined;\n }\n }\n /**\n * The heading style used for the checkbox group.\n */\n async getHeadingStyle() {\n const heading = await this.#getLegendHeading();\n const isHeadingStyle3 = await heading.hasClass('sky-font-heading-3');\n const isHeadingStyle4 = await heading.hasClass('sky-font-heading-4');\n if (isHeadingStyle3) {\n return 3;\n }\n else if (isHeadingStyle4) {\n return 4;\n }\n else {\n return 5;\n }\n }\n /**\n * Whether the checkbox group is required.\n */\n async getRequired() {\n const heading = await this.#getHeading();\n return await heading.hasClass('sky-control-label-required');\n }\n /**\n * Whether the checkbox group is stacked.\n */\n async getStacked() {\n const host = await this.host();\n const heading = (await this.#getLegendH3()) ||\n (await this.#getLegendH4()) ||\n (await this.#getLegendH5());\n const label = await this.#getLegendDefault();\n return (((await host.hasClass('sky-form-field-stacked')) && !!label) ||\n ((await host.hasClass('sky-field-group-stacked')) && !!heading));\n }\n /**\n * Whether all the checkboxes in a required group are unchecked.\n */\n async hasRequiredError() {\n return await (await this.#getFormErrors()).hasError('required');\n }\n /**\n * Whether the checkbox group has errors.\n */\n async hasError(errorName) {\n return await (await this.#getFormErrors()).hasError(errorName);\n }\n async #getFormErrors() {\n return await this.locatorFor(SkyFormErrorsHarness.with({\n dataSkyId: 'checkbox-group-form-errors',\n }))();\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness.with({\n ancestor: '.sky-checkbox-group > .sky-checkbox-group-legend',\n }))();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWdyb3VwLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHeEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsbUJBQW1CO0lBQzlEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxvQkFBb0IsQ0FBQztJQUVsRCxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzdELGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNuRSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDeEUsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUN6Qyx5Q0FBeUMsQ0FDMUMsQ0FBQztJQUNGLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwRCxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQ2pDLGtEQUFrRCxDQUNuRCxD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QWMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBaUI7UUFDckMsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUMxQixvQkFBb0IsQ0FBQyxJQUFJLENBQUM7WUFDeEIsU0FBUyxFQUFFLDRCQUE0QjtTQUN4QyxDQUFDLENBQ0gsRUFBRSxDQUFDO0lBQ04sQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUMzQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7WUFDeEIsUUFBUSxFQUFFLGtEQUFrRDtTQUM3RCxDQUFDLENBQ0gsRUFBRSxDQUFDO1FBRUosSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxNQUFNLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHtcbiAgU2t5Q2hlY2tib3hHcm91cEhlYWRpbmdMZXZlbCxcbiAgU2t5Q2hlY2tib3hHcm91cEhlYWRpbmdTdHlsZSxcbn0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2hlbHAtaW5saW5lL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JzSGFybmVzcyB9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMtaGFybmVzcyc7XG5cbmltcG9ydCB7IFNreUNoZWNrYm94R3JvdXBIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vY2hlY2tib3gtZ3JvdXAtaGFybmVzcy1maWx0ZXJzJztcbmltcG9ydCB7IFNreUNoZWNrYm94SGFybmVzcyB9IGZyb20gJy4vY2hlY2tib3gtaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lDaGVja2JveEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jaGVja2JveC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBjaGVja2JveCBncm91cCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDaGVja2JveEdyb3VwSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktY2hlY2tib3gtZ3JvdXAnO1xuXG4gICNnZXRIZWFkaW5nID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWNoZWNrYm94LWdyb3VwLWhlYWRpbmcnKTtcbiAgI2dldEhlYWRpbmdXcmFwcGVyID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWNoZWNrYm94LWdyb3VwLWxlZ2VuZCcpO1xuICAjZ2V0SGludFRleHQgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1jaGVja2JveC1ncm91cC1oaW50LXRleHQnKTtcbiAgI2dldExlZ2VuZERlZmF1bHQgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAnbGVnZW5kIC5za3ktY2hlY2tib3gtZ3JvdXAtaGVhZGluZy10ZXh0JyxcbiAgKTtcbiAgI2dldExlZ2VuZEgzID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJ2xlZ2VuZCBoMycpO1xuICAjZ2V0TGVnZW5kSDQgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnbGVnZW5kIGg0Jyk7XG4gICNnZXRMZWdlbmRINSA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCdsZWdlbmQgaDUnKTtcbiAgI2dldExlZ2VuZEhlYWRpbmcgPSB0aGlzLmxvY2F0b3JGb3IoXG4gICAgJ2xlZ2VuZCBoMyxoNCxoNSwuc2t5LWNoZWNrYm94LWdyb3VwLWhlYWRpbmctdGV4dCcsXG4gICk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUNoZWNrYm94R3JvdXBIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5Q2hlY2tib3hHcm91cEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUNoZWNrYm94R3JvdXBIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUNoZWNrYm94R3JvdXBIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGhlbHAgaW5saW5lIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0hlbHBJbmxpbmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgc3BlY2lmaWMgY2hlY2tib3ggYmFzZWQgb24gdGhlIGZpbHRlciBjcml0ZXJpYS5cbiAgICogQHBhcmFtIGZpbHRlciBUaGUgZmlsdGVyIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldENoZWNrYm94KFxuICAgIGZpbHRlcjogU2t5Q2hlY2tib3hIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxTa3lDaGVja2JveEhhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFNreUNoZWNrYm94SGFybmVzcy53aXRoKGZpbHRlcikpKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbiBhcnJheSBvZiBjaGVja2JveGVzIGJhc2VkIG9uIHRoZSBmaWx0ZXIgY3JpdGVyaWEuXG4gICAqIElmIG5vIGZpbHRlciBpcyBwcm92aWRlZCwgcmV0dXJucyBhbGwgY2hlY2tib3hlcy5cbiAgICogQHBhcmFtIGZpbHRlciBUaGUgb3B0aW9uYWwgZmlsdGVyIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldENoZWNrYm94ZXMoXG4gICAgZmlsdGVycz86IFNreUNoZWNrYm94SGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8U2t5Q2hlY2tib3hIYXJuZXNzW10+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yQWxsKFNreUNoZWNrYm94SGFybmVzcy53aXRoKGZpbHRlcnMgfHwge30pKSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyQ29udGVudCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyQ29udGVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciB0aXRsZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlclRpdGxlKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmdldFBvcG92ZXJUaXRsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGNoZWNrYm94IGdyb3VwJ3MgaGVhZGluZyB0ZXh0LiBJZiBgaGVhZGluZ0hpZGRlbmAgaXMgdHJ1ZSxcbiAgICogdGhlIHRleHQgd2lsbCBzdGlsbCBiZSByZXR1cm5lZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nVGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSGVhZGluZygpKS50ZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY2hlY2tib3ggZ3JvdXAncyBoaW50IHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGludFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBoaW50VGV4dCA9IGF3YWl0IHRoaXMuI2dldEhpbnRUZXh0KCk7XG5cbiAgICByZXR1cm4gKGF3YWl0IGhpbnRUZXh0Py50ZXh0KCkpPy50cmltKCkgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaGVhZGluZyBpcyBoaWRkZW4uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVhZGluZ0hpZGRlbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKFxuICAgICAgYXdhaXQgdGhpcy4jZ2V0SGVhZGluZ1dyYXBwZXIoKVxuICAgICkuaGFzQ2xhc3MoJ3NreS1zY3JlZW4tcmVhZGVyLW9ubHknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2VtYW50aWMgaGVhZGluZyBsZXZlbCB1c2VkIGZvciB0aGUgY2hlY2tib3ggZ3JvdXAuIFJldHVybnMgdW5kZWZpbmVkIGlmIGhlYWRpbmcgbGV2ZWwgaXMgbm90IHNldC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nTGV2ZWwoKTogUHJvbWlzZTxcbiAgICBTa3lDaGVja2JveEdyb3VwSGVhZGluZ0xldmVsIHwgdW5kZWZpbmVkXG4gID4ge1xuICAgIGNvbnN0IGhlYWRpbmcgPSBhd2FpdCB0aGlzLiNnZXRMZWdlbmRIZWFkaW5nKCk7XG4gICAgY29uc3QgaDMgPSBhd2FpdCBoZWFkaW5nLm1hdGNoZXNTZWxlY3RvcignaDMnKTtcbiAgICBjb25zdCBoNCA9IGF3YWl0IGhlYWRpbmcubWF0Y2hlc1NlbGVjdG9yKCdoNCcpO1xuICAgIGNvbnN0IGg1ID0gYXdhaXQgaGVhZGluZy5tYXRjaGVzU2VsZWN0b3IoJ2g1Jyk7XG5cbiAgICBpZiAoaDMpIHtcbiAgICAgIHJldHVybiAzO1xuICAgIH0gZWxzZSBpZiAoaDQpIHtcbiAgICAgIHJldHVybiA0O1xuICAgIH0gZWxzZSBpZiAoaDUpIHtcbiAgICAgIHJldHVybiA1O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaGVhZGluZyBzdHlsZSB1c2VkIGZvciB0aGUgY2hlY2tib3ggZ3JvdXAuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVhZGluZ1N0eWxlKCk6IFByb21pc2U8U2t5Q2hlY2tib3hHcm91cEhlYWRpbmdTdHlsZT4ge1xuICAgIGNvbnN0IGhlYWRpbmcgPSBhd2FpdCB0aGlzLiNnZXRMZWdlbmRIZWFkaW5nKCk7XG5cbiAgICBjb25zdCBpc0hlYWRpbmdTdHlsZTMgPSBhd2FpdCBoZWFkaW5nLmhhc0NsYXNzKCdza3ktZm9udC1oZWFkaW5nLTMnKTtcbiAgICBjb25zdCBpc0hlYWRpbmdTdHlsZTQgPSBhd2FpdCBoZWFkaW5nLmhhc0NsYXNzKCdza3ktZm9udC1oZWFkaW5nLTQnKTtcblxuICAgIGlmIChpc0hlYWRpbmdTdHlsZTMpIHtcbiAgICAgIHJldHVybiAzO1xuICAgIH0gZWxzZSBpZiAoaXNIZWFkaW5nU3R5bGU0KSB7XG4gICAgICByZXR1cm4gNDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGdyb3VwIGlzIHJlcXVpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFJlcXVpcmVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGhlYWRpbmcgPSBhd2FpdCB0aGlzLiNnZXRIZWFkaW5nKCk7XG5cbiAgICByZXR1cm4gYXdhaXQgaGVhZGluZy5oYXNDbGFzcygnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBncm91cCBpcyBzdGFja2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFN0YWNrZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgaG9zdCA9IGF3YWl0IHRoaXMuaG9zdCgpO1xuICAgIGNvbnN0IGhlYWRpbmcgPVxuICAgICAgKGF3YWl0IHRoaXMuI2dldExlZ2VuZEgzKCkpIHx8XG4gICAgICAoYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSDQoKSkgfHxcbiAgICAgIChhd2FpdCB0aGlzLiNnZXRMZWdlbmRINSgpKTtcbiAgICBjb25zdCBsYWJlbCA9IGF3YWl0IHRoaXMuI2dldExlZ2VuZERlZmF1bHQoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAoKGF3YWl0IGhvc3QuaGFzQ2xhc3MoJ3NreS1mb3JtLWZpZWxkLXN0YWNrZWQnKSkgJiYgISFsYWJlbCkgfHxcbiAgICAgICgoYXdhaXQgaG9zdC5oYXNDbGFzcygnc2t5LWZpZWxkLWdyb3VwLXN0YWNrZWQnKSkgJiYgISFoZWFkaW5nKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBhbGwgdGhlIGNoZWNrYm94ZXMgaW4gYSByZXF1aXJlZCBncm91cCBhcmUgdW5jaGVja2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc1JlcXVpcmVkRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3JzKCkpLmhhc0Vycm9yKCdyZXF1aXJlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGdyb3VwIGhhcyBlcnJvcnMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzRXJyb3IoZXJyb3JOYW1lOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcnMoKSkuaGFzRXJyb3IoZXJyb3JOYW1lKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRGb3JtRXJyb3JzKCk6IFByb21pc2U8U2t5Rm9ybUVycm9yc0hhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFxuICAgICAgU2t5Rm9ybUVycm9yc0hhcm5lc3Mud2l0aCh7XG4gICAgICAgIGRhdGFTa3lJZDogJ2NoZWNrYm94LWdyb3VwLWZvcm0tZXJyb3JzJyxcbiAgICAgIH0pLFxuICAgICkoKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRIZWxwSW5saW5lKCk6IFByb21pc2U8U2t5SGVscElubGluZUhhcm5lc3M+IHtcbiAgICBjb25zdCBoYXJuZXNzID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICBTa3lIZWxwSW5saW5lSGFybmVzcy53aXRoKHtcbiAgICAgICAgYW5jZXN0b3I6ICcuc2t5LWNoZWNrYm94LWdyb3VwID4gLnNreS1jaGVja2JveC1ncm91cC1sZWdlbmQnLFxuICAgICAgfSksXG4gICAgKSgpO1xuXG4gICAgaWYgKGhhcm5lc3MpIHtcbiAgICAgIHJldHVybiBoYXJuZXNzO1xuICAgIH1cblxuICAgIHRocm93IEVycm9yKCdObyBoZWxwIGlubGluZSBmb3VuZC4nKTtcbiAgfVxufVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyFormErrorsHarness } from '../../form-error/form-errors-harness';\n/**\n * Harness for interacting with a file attachment component in tests.\n */\nexport class SkyFileAttachmentHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-file-attachment'; }\n #getButton = this.locatorFor('button.sky-file-attachment-btn');\n #getLabel = this.locatorFor('.sky-control-label');\n #input = this.locatorFor('input[type=\"file\"]');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFileAttachmentHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyFileAttachmentHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Clicks the attach file button if it is visible.\n */\n async clickAttachFileButton() {\n try {\n const button = await this.#getButton();\n if ((await button.text()).trim() === 'Replace file') {\n throw new Error();\n }\n return await button.click();\n }\n catch {\n throw new Error('Cannot click Attach file button, there is currently a file attached.');\n }\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n return await (await this.#getHelpInline()).click();\n }\n /**\n * Clicks the replace file button in default theme.\n */\n async clickReplaceFileButton() {\n try {\n const button = await this.#getButton();\n if ((await button.text()).trim() !== 'Replace file') {\n throw new Error();\n }\n return await button.click();\n }\n catch {\n throw new Error('Cannot click Replace file button, it is not visible.');\n }\n }\n /**\n * Clicks the attached file to download it.\n */\n async clickAttachedFile() {\n try {\n const file = await this.locatorFor('a')();\n return await file.click();\n }\n catch {\n throw new Error('Unable to find the attached file.');\n }\n }\n /**\n * Clicks the attached file's delete button.\n */\n async clickAttachedFileDeleteButton() {\n try {\n const deleteButton = await this.locatorFor('button.sky-file-attachment-delete')();\n return await deleteButton.click();\n }\n catch {\n throw new Error(\"Unable to find attached file's delete button. Check if a file is attached.\");\n }\n }\n /**\n * Gets the accepted file types.\n */\n async getAcceptedTypes() {\n return await (await this.#input()).getAttribute('accept');\n }\n /**\n * Gets the help inline popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help inline popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the hint text.\n */\n async getHintText() {\n return (await (await this.locatorFor('.sky-file-attachment-hint-text')()).text()).trim();\n }\n /**\n * Gets the file attachment label.\n */\n async getLabelText() {\n return (await (await this.#getLabel()).text()).trim();\n }\n /**\n * Whether a custom error has fired.\n */\n async hasCustomError(errorName) {\n return await (await this.#getFormErrors())?.hasError(errorName);\n }\n /**\n * Whether the wrong file type error has fired.\n */\n async hasFileTypeError() {\n return await (await this.#getFormErrors())?.hasError('fileType');\n }\n /**\n * Whether the max file size error has fired.\n */\n async hasMaxFileSizeError() {\n return await (await this.#getFormErrors())?.hasError('maxFileSize');\n }\n /**\n * Whether the min file size error has fired.\n */\n async hasMinFileSizeError() {\n return await (await this.#getFormErrors())?.hasError('minFileSize');\n }\n /**\n * Whether the required error has fired.\n */\n async hasRequiredError() {\n return await (await this.#getFormErrors())?.hasError('required');\n }\n /**\n * Whether file attachment is disabled.\n */\n async isDisabled() {\n return (await (await this.#getButton()).getAttribute('disabled')) !== null;\n }\n /**\n * Whether file attachment is required.\n */\n async isRequired() {\n return await (await this.#getLabel()).hasClass('sky-control-label-required');\n }\n /**\n * Whether file attachment has stacked enabled.\n */\n async isStacked() {\n return await (await this.host()).hasClass('sky-form-field-stacked');\n }\n /**\n * Attaches a file.\n * Be sure to include `provideSkyFileReaderTesting` as a provider when calling this function in tests.\n * @example\n * ```typescript\n * TestBed.configureTestingModule({\n * providers: [provideSkyFileReaderTesting()]\n * });\n * ```\n */\n async attachFile(file) {\n return await this.#dropFile(file);\n }\n async #dropFile(file) {\n const attachLocation = await this.locatorFor('.sky-file-attachment-upload')();\n const dataTransfer = new DataTransfer();\n dataTransfer.items.add(file);\n return await attachLocation.dispatchEvent('drop', {\n dataTransfer,\n });\n }\n async #getFormErrors() {\n return await this.locatorFor(SkyFormErrorsHarness)();\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBTTVFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG1CQUFtQjtJQUMvRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcscUJBQXFCLENBQUM7SUFFbkQsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUMvRCxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFL0M7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBd0M7UUFFeEMsT0FBTyx3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMscUJBQXFCO1FBQ2hDLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLGNBQWMsRUFBRSxDQUFDO2dCQUNw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QyxTQUFTO1FBQ3BCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBVTtRQUNoQyxPQUFPLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFVO1FBQ3hCLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FDMUMsNkJBQTZCLENBQzlCLEVBQUUsQ0FBQztRQUVKLE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBQzVELFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdCLE9BQU8sTUFBTSxjQUFjLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUNoRCxZQUFZO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1FBRXRFLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnREYXRhLCBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5SGVscElubGluZUhhcm5lc3MgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUZvcm1FcnJvcnNIYXJuZXNzIH0gZnJvbSAnLi4vLi4vZm9ybS1lcnJvci9mb3JtLWVycm9ycy1oYXJuZXNzJztcblxuaW1wb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vZmlsZS1hdHRhY2htZW50LWhhcm5lc3MtZmlsdGVycyc7XG5cbnR5cGUgVGVzdERhdGFUcmFuc2ZlciA9IERhdGFUcmFuc2ZlciAmIHsgW2tleTogc3RyaW5nXTogRXZlbnREYXRhIH07XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIGZpbGUgYXR0YWNobWVudCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGaWxlQXR0YWNobWVudEhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWZpbGUtYXR0YWNobWVudCc7XG5cbiAgI2dldEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignYnV0dG9uLnNreS1maWxlLWF0dGFjaG1lbnQtYnRuJyk7XG4gICNnZXRMYWJlbCA9IHRoaXMubG9jYXRvckZvcignLnNreS1jb250cm9sLWxhYmVsJyk7XG4gICNpbnB1dCA9IHRoaXMubG9jYXRvckZvcignaW5wdXRbdHlwZT1cImZpbGVcIl0nKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5RmlsZUF0dGFjaG1lbnRIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5RmlsZUF0dGFjaG1lbnRIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lGaWxlQXR0YWNobWVudEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5RmlsZUF0dGFjaG1lbnRIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGF0dGFjaCBmaWxlIGJ1dHRvbiBpZiBpdCBpcyB2aXNpYmxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrQXR0YWNoRmlsZUJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYnV0dG9uID0gYXdhaXQgdGhpcy4jZ2V0QnV0dG9uKCk7XG4gICAgICBpZiAoKGF3YWl0IGJ1dHRvbi50ZXh0KCkpLnRyaW0oKSA9PT0gJ1JlcGxhY2UgZmlsZScpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgY2xpY2sgQXR0YWNoIGZpbGUgYnV0dG9uLCB0aGVyZSBpcyBjdXJyZW50bHkgYSBmaWxlIGF0dGFjaGVkLicsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGhlbHAgaW5saW5lIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0hlbHBJbmxpbmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSByZXBsYWNlIGZpbGUgYnV0dG9uIGluIGRlZmF1bHQgdGhlbWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tSZXBsYWNlRmlsZUJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYnV0dG9uID0gYXdhaXQgdGhpcy4jZ2V0QnV0dG9uKCk7XG4gICAgICBpZiAoKGF3YWl0IGJ1dHRvbi50ZXh0KCkpLnRyaW0oKSAhPT0gJ1JlcGxhY2UgZmlsZScpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjbGljayBSZXBsYWNlIGZpbGUgYnV0dG9uLCBpdCBpcyBub3QgdmlzaWJsZS4nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBhdHRhY2hlZCBmaWxlIHRvIGRvd25sb2FkIGl0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrQXR0YWNoZWRGaWxlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKCdhJykoKTtcbiAgICAgIHJldHVybiBhd2FpdCBmaWxlLmNsaWNrKCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBmaW5kIHRoZSBhdHRhY2hlZCBmaWxlLicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGF0dGFjaGVkIGZpbGUncyBkZWxldGUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrQXR0YWNoZWRGaWxlRGVsZXRlQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkZWxldGVCdXR0b24gPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoXG4gICAgICAgICdidXR0b24uc2t5LWZpbGUtYXR0YWNobWVudC1kZWxldGUnLFxuICAgICAgKSgpO1xuICAgICAgcmV0dXJuIGF3YWl0IGRlbGV0ZUJ1dHRvbi5jbGljaygpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlVuYWJsZSB0byBmaW5kIGF0dGFjaGVkIGZpbGUncyBkZWxldGUgYnV0dG9uLiBDaGVjayBpZiBhIGZpbGUgaXMgYXR0YWNoZWQuXCIsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhY2NlcHRlZCBmaWxlIHR5cGVzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFjY2VwdGVkVHlwZXMoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNpbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2FjY2VwdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgaW5saW5lIHBvcG92ZXIgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlckNvbnRlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlckNvbnRlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIGlubGluZSBwb3BvdmVyIHRpdGxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyVGl0bGUoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlclRpdGxlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGludCB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhpbnRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGF3YWl0IChhd2FpdCB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZmlsZS1hdHRhY2htZW50LWhpbnQtdGV4dCcpKCkpLnRleHQoKVxuICAgICkudHJpbSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpbGUgYXR0YWNobWVudCBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMYWJlbFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMYWJlbCgpKS50ZXh0KCkpLnRyaW0oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgY3VzdG9tIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNDdXN0b21FcnJvcihlcnJvck5hbWU6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKT8uaGFzRXJyb3IoZXJyb3JOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB3cm9uZyBmaWxlIHR5cGUgZXJyb3IgaGFzIGZpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0ZpbGVUeXBlRXJyb3IoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3JzKCkpPy5oYXNFcnJvcignZmlsZVR5cGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtYXggZmlsZSBzaXplIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNYXhGaWxlU2l6ZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKT8uaGFzRXJyb3IoJ21heEZpbGVTaXplJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbWluIGZpbGUgc2l6ZSBlcnJvciBoYXMgZmlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzTWluRmlsZVNpemVFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcnMoKSk/Lmhhc0Vycm9yKCdtaW5GaWxlU2l6ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJlcXVpcmVkIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNSZXF1aXJlZEVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBmaWxlIGF0dGFjaG1lbnQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLiNnZXRCdXR0b24oKSkuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpKSAhPT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGZpbGUgYXR0YWNobWVudCBpcyByZXF1aXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1JlcXVpcmVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoXG4gICAgICBhd2FpdCB0aGlzLiNnZXRMYWJlbCgpXG4gICAgKS5oYXNDbGFzcygnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGZpbGUgYXR0YWNobWVudCBoYXMgc3RhY2tlZCBlbmFibGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzU3RhY2tlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5oYXNDbGFzcygnc2t5LWZvcm0tZmllbGQtc3RhY2tlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaGVzIGEgZmlsZS5cbiAgICogQmUgc3VyZSB0byBpbmNsdWRlIGBwcm92aWRlU2t5RmlsZVJlYWRlclRlc3RpbmdgIGFzIGEgcHJvdmlkZXIgd2hlbiBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gaW4gdGVzdHMuXG4gICAqICBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIFRlc3RCZWQuY29uZmlndXJlVGVzdGluZ01vZHVsZSh7XG4gICAqICAgcHJvdmlkZXJzOiBbcHJvdmlkZVNreUZpbGVSZWFkZXJUZXN0aW5nKCldXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBhc3luYyBhdHRhY2hGaWxlKGZpbGU6IEZpbGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jZHJvcEZpbGUoZmlsZSk7XG4gIH1cblxuICBhc3luYyAjZHJvcEZpbGUoZmlsZTogRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGF0dGFjaExvY2F0aW9uID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFxuICAgICAgJy5za3ktZmlsZS1hdHRhY2htZW50LXVwbG9hZCcsXG4gICAgKSgpO1xuXG4gICAgY29uc3QgZGF0YVRyYW5zZmVyID0gbmV3IERhdGFUcmFuc2ZlcigpIGFzIFRlc3REYXRhVHJhbnNmZXI7XG4gICAgZGF0YVRyYW5zZmVyLml0ZW1zLmFkZChmaWxlKTtcblxuICAgIHJldHVybiBhd2FpdCBhdHRhY2hMb2NhdGlvbi5kaXNwYXRjaEV2ZW50KCdkcm9wJywge1xuICAgICAgZGF0YVRyYW5zZmVyLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgI2dldEZvcm1FcnJvcnMoKTogUHJvbWlzZTxTa3lGb3JtRXJyb3JzSGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoU2t5Rm9ybUVycm9yc0hhcm5lc3MpKCk7XG4gIH1cblxuICBhc3luYyAjZ2V0SGVscElubGluZSgpOiBQcm9taXNlPFNreUhlbHBJbmxpbmVIYXJuZXNzPiB7XG4gICAgY29uc3QgaGFybmVzcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFNreUhlbHBJbmxpbmVIYXJuZXNzKSgpO1xuXG4gICAgaWYgKGhhcm5lc3MpIHtcbiAgICAgIHJldHVybiBoYXJuZXNzO1xuICAgIH1cblxuICAgIHRocm93IEVycm9yKCdObyBoZWxwIGlubGluZSBmb3VuZC4nKTtcbiAgfVxufVxuIl19","import { SkyInputHarness } from '@skyux/core/testing';\n/**\n * Harness to interact with the file drop link upload input harness.\n */\nexport class SkyFileDropLinkUploadInputHarness extends SkyInputHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'input.sky-form-control'; }\n /**\n * Gets the input aria-label\n */\n async getAriaLabel() {\n return await (await this.host()).getAttribute('aria-label');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWxpbmstdXBsb2FkLWlucHV0LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC1saW5rLXVwbG9hZC1pbnB1dC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RDs7R0FFRztBQUNILE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxlQUFlO0lBQ3BFOztPQUVHO2FBQ1csaUJBQVksR0FBRyx3QkFBd0IsQ0FBQztJQUV0RDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lJbnB1dEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBIYXJuZXNzIHRvIGludGVyYWN0IHdpdGggdGhlIGZpbGUgZHJvcCBsaW5rIHVwbG9hZCBpbnB1dCBoYXJuZXNzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5RmlsZURyb3BMaW5rVXBsb2FkSW5wdXRIYXJuZXNzIGV4dGVuZHMgU2t5SW5wdXRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnaW5wdXQuc2t5LWZvcm0tY29udHJvbCc7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGlucHV0IGFyaWEtbGFiZWxcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyInputBoxHarness } from '../../input-box/input-box-harness';\nimport { SkyFileDropLinkUploadInputHarness } from './file-drop-link-upload-input-harness';\n/**\n * Harness for interacting with file drop component's link upload feature in tests.\n * @internal\n */\nexport class SkyFileDropLinkUploadHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = '.sky-file-drop-link'; }\n #input = this.locatorFor(SkyFileDropLinkUploadInputHarness);\n #inputBoxHarness = this.locatorFor(SkyInputBoxHarness);\n #button = this.locatorFor('button.sky-btn-primary');\n /**\n * Clicks the `Done` button\n */\n async clickDoneButton() {\n if (await this.#isDoneDisabled()) {\n throw new Error('Done button is disabled and cannot be clicked. Enter text to enable link upload.');\n }\n return await (await this.#button()).click();\n }\n /**\n * Enters text into the link upload input.\n */\n async enterText(link) {\n return await (await this.#input()).setValue(link);\n }\n /**\n * Gets the link upload aria-label.\n */\n async getAriaLabel() {\n return await (await this.#input()).getAriaLabel();\n }\n /**\n * Gets the hint text.\n */\n async getHintText() {\n return await (await this.#inputBoxHarness()).getHintText();\n }\n async #isDoneDisabled() {\n return (await (await this.#button()).getAttribute('disabled')) !== null;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWxpbmstdXBsb2FkLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC1saW5rLXVwbG9hZC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTFGOzs7R0FHRztBQUNILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFBbUI7SUFDbkU7O09BRUc7YUFDVyxpQkFBWSxHQUFHLHFCQUFxQixDQUFDO0lBRW5ELE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDNUQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFcEQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixJQUFJLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FDYixrRkFBa0YsQ0FDbkYsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBWTtRQUNqQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUN2QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWU7UUFDbkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQztJQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lJbnB1dEJveEhhcm5lc3MgfSBmcm9tICcuLi8uLi9pbnB1dC1ib3gvaW5wdXQtYm94LWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lGaWxlRHJvcExpbmtVcGxvYWRJbnB1dEhhcm5lc3MgfSBmcm9tICcuL2ZpbGUtZHJvcC1saW5rLXVwbG9hZC1pbnB1dC1oYXJuZXNzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGZpbGUgZHJvcCBjb21wb25lbnQncyBsaW5rIHVwbG9hZCBmZWF0dXJlIGluIHRlc3RzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGaWxlRHJvcExpbmtVcGxvYWRIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJy5za3ktZmlsZS1kcm9wLWxpbmsnO1xuXG4gICNpbnB1dCA9IHRoaXMubG9jYXRvckZvcihTa3lGaWxlRHJvcExpbmtVcGxvYWRJbnB1dEhhcm5lc3MpO1xuICAjaW5wdXRCb3hIYXJuZXNzID0gdGhpcy5sb2NhdG9yRm9yKFNreUlucHV0Qm94SGFybmVzcyk7XG4gICNidXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJ2J1dHRvbi5za3ktYnRuLXByaW1hcnknKTtcblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBgRG9uZWAgYnV0dG9uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tEb25lQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLiNpc0RvbmVEaXNhYmxlZCgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdEb25lIGJ1dHRvbiBpcyBkaXNhYmxlZCBhbmQgY2Fubm90IGJlIGNsaWNrZWQuIEVudGVyIHRleHQgdG8gZW5hYmxlIGxpbmsgdXBsb2FkLicsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2J1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycyB0ZXh0IGludG8gdGhlIGxpbmsgdXBsb2FkIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGVudGVyVGV4dChsaW5rOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2lucHV0KCkpLnNldFZhbHVlKGxpbmspO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGxpbmsgdXBsb2FkIGFyaWEtbGFiZWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXJpYUxhYmVsKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jaW5wdXQoKSkuZ2V0QXJpYUxhYmVsKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGludCB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhpbnRUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNpbnB1dEJveEhhcm5lc3MoKSkuZ2V0SGludFRleHQoKTtcbiAgfVxuXG4gIGFzeW5jICNpc0RvbmVEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLiNidXR0b24oKSkuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpKSAhPT0gbnVsbDtcbiAgfVxufVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyFormErrorsHarness } from '../../form-error/form-errors-harness';\nimport { SkyFileDropLinkUploadHarness } from './file-drop-link-upload-harness';\n/**\n * Harness for interacting with a file drop component in tests.\n */\nexport class SkyFileDropHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-file-drop'; }\n #getDropTarget = this.locatorFor('.sky-file-drop-target');\n #input = this.locatorFor('input[type=\"file\"]');\n #fileUploadButton = this.locatorFor('button.sky-file-drop-target');\n #label = this.locatorFor('.sky-file-drop-label-text');\n #formErrors = this.locatorForAll(SkyFormErrorsHarness);\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFileDropHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyFileDropHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Clicks the file drop target.\n */\n async clickFileDropTarget() {\n return await (await this.#fileUploadButton()).click();\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n return await (await this.#getHelpInline()).click();\n }\n /**\n * Clicks the link upload `Done` button'.\n */\n async clickLinkUploadDoneButton() {\n return await (await this.#getLinkUpload()).clickDoneButton();\n }\n /**\n * Enters text into the link upload input.\n */\n async enterLinkUploadText(link) {\n return await (await this.#getLinkUpload()).enterText(link);\n }\n /**\n * Gets the accepted file types.\n */\n async getAcceptedTypes() {\n return await (await this.#input()).getAttribute('accept');\n }\n /**\n * Gets the aria-label for the file upload button.\n */\n async getFileUploadAriaLabel() {\n return await (await this.#fileUploadButton()).getAttribute('aria-label');\n }\n /**\n * Gets the help inline popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help inline popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the hint text.\n */\n async getHintText() {\n return (await (await this.locatorFor('.sky-file-drop-hint-text')()).text()).trim();\n }\n /**\n * Gets the label text.\n */\n async getLabelText() {\n return (await (await this.#label()).text()).trim();\n }\n /**\n * Gets the link upload aria-label.\n */\n async getLinkUploadAriaLabel() {\n return await (await this.#getLinkUpload()).getAriaLabel();\n }\n /**\n * Gets the link upload hint text.\n */\n async getLinkUploadHintText() {\n return await (await this.#getLinkUpload()).getHintText();\n }\n /**\n * Whether a custom form error has fired.\n */\n async hasCustomError(errorName) {\n return await (await this.#getFormErrors()).hasError(errorName);\n }\n /**\n * Whether the file type error has fired.\n */\n async hasFileTypeError() {\n return await (await this.#getFormErrors()).hasError('fileType');\n }\n /**\n * Whether the max file size error has fired.\n */\n async hasMaxFileSizeError() {\n return await (await this.#getFormErrors()).hasError('maxFileSize');\n }\n /**\n * Whether the min file size error has fired.\n */\n async hasMinFileSizeError() {\n return await (await this.#getFormErrors()).hasError('minFileSize');\n }\n /**\n * Whether the required error has fired.\n */\n async hasRequiredError() {\n return await (await this.#getFormErrors()).hasError('required');\n }\n /**\n * Whether the validate error from the customer validation has fired.\n */\n async hasValidateFnError() {\n return await (await this.#getFormErrors()).hasError('validate');\n }\n /**\n * Whether label text is hidden.\n */\n async isLabelHidden() {\n return await (await this.locatorFor('legend.sky-control-label')()).hasClass('sky-screen-reader-only');\n }\n /**\n * Whether file drop is required.\n */\n async isRequired() {\n return await (await this.#label()).hasClass('sky-control-label-required');\n }\n /**\n * Whether file drop has stacked enabled.\n */\n async isStacked() {\n return await (await this.host()).hasClass('sky-form-field-stacked');\n }\n /**\n * Loads a single file.\n * Be sure to include `provideSkyFileReaderTesting` as a provider when calling this function in tests.\n * @example\n * ```typescript\n * TestBed.configureTestingModule({\n * providers: [provideSkyFileReaderTesting()]\n * });\n * ``\n */\n async loadFile(file) {\n await this.#dropFiles([file]);\n }\n /**\n * Loads multiple files.\n * Be sure to include `provideSkyFileReaderTesting` as a provider when calling this function in tests.\n * @example\n * ```typescript\n * TestBed.configureTestingModule({\n * providers: [provideSkyFileReaderTesting()]\n * });\n * ``\n */\n async loadFiles(files) {\n return await this.#dropFiles(files);\n }\n async #dropFiles(files) {\n const dropTarget = await this.#getDropTarget();\n const dataTransfer = new DataTransfer();\n files?.forEach((file) => {\n dataTransfer.items.add(file);\n });\n await dropTarget.dispatchEvent('drop', {\n dataTransfer,\n });\n }\n async #getFormErrors() {\n return (await this.#formErrors())[1];\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n async #getLinkUpload() {\n const linkUpload = await this.locatorForOptional(SkyFileDropLinkUploadHarness)();\n if (linkUpload) {\n return linkUpload;\n }\n throw new Error('Link upload cannot be found. Set `allowLinks` property to `true`.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzVFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRS9FOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQUN6RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsZUFBZSxDQUFDO0lBRTdDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUQsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUMvQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDbkUsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUN0RCxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXZEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQWtDO1FBRWxDLE9BQU8sa0JBQWtCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQjtRQUM5QixPQUFPLE1BQU0sQ0FB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bUUsQ0FDcEUsQ0FBQztJQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudERhdGEsIEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lSGFybmVzcyB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yc0hhcm5lc3MgfSBmcm9tICcuLi8uLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lGaWxlRHJvcEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9maWxlLWRyb3AtaGFybmVzcy1maWx0ZXJzJztcbmltcG9ydCB7IFNreUZpbGVEcm9wTGlua1VwbG9hZEhhcm5lc3MgfSBmcm9tICcuL2ZpbGUtZHJvcC1saW5rLXVwbG9hZC1oYXJuZXNzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgZmlsZSBkcm9wIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUZpbGVEcm9wSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZmlsZS1kcm9wJztcblxuICAjZ2V0RHJvcFRhcmdldCA9IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWRyb3AtdGFyZ2V0Jyk7XG4gICNpbnB1dCA9IHRoaXMubG9jYXRvckZvcignaW5wdXRbdHlwZT1cImZpbGVcIl0nKTtcbiAgI2ZpbGVVcGxvYWRCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJ2J1dHRvbi5za3ktZmlsZS1kcm9wLXRhcmdldCcpO1xuICAjbGFiZWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZmlsZS1kcm9wLWxhYmVsLXRleHQnKTtcbiAgI2Zvcm1FcnJvcnMgPSB0aGlzLmxvY2F0b3JGb3JBbGwoU2t5Rm9ybUVycm9yc0hhcm5lc3MpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lGaWxlRHJvcEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lGaWxlRHJvcEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUZpbGVEcm9wSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lGaWxlRHJvcEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgZmlsZSBkcm9wIHRhcmdldC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0ZpbGVEcm9wVGFyZ2V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZmlsZVVwbG9hZEJ1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgaGVscCBpbmxpbmUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrSGVscElubGluZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGxpbmsgdXBsb2FkIGBEb25lYCBidXR0b24nLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrTGlua1VwbG9hZERvbmVCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMaW5rVXBsb2FkKCkpLmNsaWNrRG9uZUJ1dHRvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycyB0ZXh0IGludG8gdGhlIGxpbmsgdXBsb2FkIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGVudGVyTGlua1VwbG9hZFRleHQobGluazogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMaW5rVXBsb2FkKCkpLmVudGVyVGV4dChsaW5rKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhY2NlcHRlZCBmaWxlIHR5cGVzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFjY2VwdGVkVHlwZXMoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNpbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2FjY2VwdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFyaWEtbGFiZWwgZm9yIHRoZSBmaWxlIHVwbG9hZCBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmlsZVVwbG9hZEFyaWFMYWJlbCgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2ZpbGVVcGxvYWRCdXR0b24oKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGVscCBpbmxpbmUgcG9wb3ZlciBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyQ29udGVudCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyQ29udGVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgaW5saW5lIHBvcG92ZXIgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyVGl0bGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoaW50IHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGludFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKFxuICAgICAgYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWRyb3AtaGludC10ZXh0JykoKSkudGV4dCgpXG4gICAgKS50cmltKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbGFiZWwgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMYWJlbFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLiNsYWJlbCgpKS50ZXh0KCkpLnRyaW0oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBsaW5rIHVwbG9hZCBhcmlhLWxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldExpbmtVcGxvYWRBcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMaW5rVXBsb2FkKCkpLmdldEFyaWFMYWJlbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGxpbmsgdXBsb2FkIGhpbnQgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMaW5rVXBsb2FkSGludFRleHQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldExpbmtVcGxvYWQoKSkuZ2V0SGludFRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgY3VzdG9tIGZvcm0gZXJyb3IgaGFzIGZpcmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0N1c3RvbUVycm9yKGVycm9yTmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRGb3JtRXJyb3JzKCkpLmhhc0Vycm9yKGVycm9yTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmlsZSB0eXBlIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNGaWxlVHlwZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcignZmlsZVR5cGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtYXggZmlsZSBzaXplIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNYXhGaWxlU2l6ZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcignbWF4RmlsZVNpemUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBtaW4gZmlsZSBzaXplIGVycm9yIGhhcyBmaXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBoYXNNaW5GaWxlU2l6ZUVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcignbWluRmlsZVNpemUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByZXF1aXJlZCBlcnJvciBoYXMgZmlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzUmVxdWlyZWRFcnJvcigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcnMoKSkuaGFzRXJyb3IoJ3JlcXVpcmVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdmFsaWRhdGUgZXJyb3IgZnJvbSB0aGUgY3VzdG9tZXIgdmFsaWRhdGlvbiBoYXMgZmlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzVmFsaWRhdGVGbkVycm9yKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Rm9ybUVycm9ycygpKS5oYXNFcnJvcigndmFsaWRhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGxhYmVsIHRleHQgaXMgaGlkZGVuLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzTGFiZWxIaWRkZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMubG9jYXRvckZvcignbGVnZW5kLnNreS1jb250cm9sLWxhYmVsJykoKVxuICAgICkuaGFzQ2xhc3MoJ3NreS1zY3JlZW4tcmVhZGVyLW9ubHknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGZpbGUgZHJvcCBpcyByZXF1aXJlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1JlcXVpcmVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jbGFiZWwoKSkuaGFzQ2xhc3MoJ3NreS1jb250cm9sLWxhYmVsLXJlcXVpcmVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBmaWxlIGRyb3AgaGFzIHN0YWNrZWQgZW5hYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1N0YWNrZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuaGFzQ2xhc3MoJ3NreS1mb3JtLWZpZWxkLXN0YWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBhIHNpbmdsZSBmaWxlLlxuICAgKiBCZSBzdXJlIHRvIGluY2x1ZGUgYHByb3ZpZGVTa3lGaWxlUmVhZGVyVGVzdGluZ2AgYXMgYSBwcm92aWRlciB3aGVuIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpbiB0ZXN0cy5cbiAgICogIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogVGVzdEJlZC5jb25maWd1cmVUZXN0aW5nTW9kdWxlKHtcbiAgICogICBwcm92aWRlcnM6IFtwcm92aWRlU2t5RmlsZVJlYWRlclRlc3RpbmcoKV1cbiAgICogfSk7XG4gICAqIGBgXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbG9hZEZpbGUoZmlsZTogRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuI2Ryb3BGaWxlcyhbZmlsZV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIG11bHRpcGxlIGZpbGVzLlxuICAgKiBCZSBzdXJlIHRvIGluY2x1ZGUgYHByb3ZpZGVTa3lGaWxlUmVhZGVyVGVzdGluZ2AgYXMgYSBwcm92aWRlciB3aGVuIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpbiB0ZXN0cy5cbiAgICogIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogVGVzdEJlZC5jb25maWd1cmVUZXN0aW5nTW9kdWxlKHtcbiAgICogICBwcm92aWRlcnM6IFtwcm92aWRlU2t5RmlsZVJlYWRlclRlc3RpbmcoKV1cbiAgICogfSk7XG4gICAqIGBgXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbG9hZEZpbGVzKGZpbGVzOiBGaWxlW10gfCBudWxsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuI2Ryb3BGaWxlcyhmaWxlcyk7XG4gIH1cblxuICBhc3luYyAjZHJvcEZpbGVzKGZpbGVzOiBGaWxlW10gfCBudWxsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZHJvcFRhcmdldCA9IGF3YWl0IHRoaXMuI2dldERyb3BUYXJnZXQoKTtcblxuICAgIHR5cGUgVGVzdERhdGFUcmFuc2ZlciA9IERhdGFUcmFuc2ZlciAmIHsgW2tleTogc3RyaW5nXTogRXZlbnREYXRhIH07XG5cbiAgICBjb25zdCBkYXRhVHJhbnNmZXIgPSBuZXcgRGF0YVRyYW5zZmVyKCkgYXMgVGVzdERhdGFUcmFuc2ZlcjtcblxuICAgIGZpbGVzPy5mb3JFYWNoKChmaWxlKSA9PiB7XG4gICAgICBkYXRhVHJhbnNmZXIuaXRlbXMuYWRkKGZpbGUpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgZHJvcFRhcmdldC5kaXNwYXRjaEV2ZW50KCdkcm9wJywge1xuICAgICAgZGF0YVRyYW5zZmVyLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgI2dldEZvcm1FcnJvcnMoKTogUHJvbWlzZTxTa3lGb3JtRXJyb3JzSGFybmVzcz4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZm9ybUVycm9ycygpKVsxXTtcbiAgfVxuXG4gIGFzeW5jICNnZXRIZWxwSW5saW5lKCk6IFByb21pc2U8U2t5SGVscElubGluZUhhcm5lc3M+IHtcbiAgICBjb25zdCBoYXJuZXNzID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoU2t5SGVscElubGluZUhhcm5lc3MpKCk7XG5cbiAgICBpZiAoaGFybmVzcykge1xuICAgICAgcmV0dXJuIGhhcm5lc3M7XG4gICAgfVxuXG4gICAgdGhyb3cgRXJyb3IoJ05vIGhlbHAgaW5saW5lIGZvdW5kLicpO1xuICB9XG5cbiAgYXN5bmMgI2dldExpbmtVcGxvYWQoKTogUHJvbWlzZTxTa3lGaWxlRHJvcExpbmtVcGxvYWRIYXJuZXNzPiB7XG4gICAgY29uc3QgbGlua1VwbG9hZCA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICAgU2t5RmlsZURyb3BMaW5rVXBsb2FkSGFybmVzcyxcbiAgICApKCk7XG5cbiAgICBpZiAobGlua1VwbG9hZCkge1xuICAgICAgcmV0dXJuIGxpbmtVcGxvYWQ7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0xpbmsgdXBsb2FkIGNhbm5vdCBiZSBmb3VuZC4gU2V0IGBhbGxvd0xpbmtzYCBwcm9wZXJ0eSB0byBgdHJ1ZWAuJyxcbiAgICApO1xuICB9XG59XG4iXX0=","import { provideSkyFileReaderTesting } from '@skyux/core/testing';\n/**\n * Provides mocks for file attachment testing.\n * @example\n * ```typescript\n * TestBed.configureTestingModule({\n * providers: [provideSkyFileAttachmentTesting()]\n * });\n * ```\n */\nexport function provideSkyFileAttachmentTesting() {\n return [provideSkyFileReaderTesting()];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1maWxlLWF0dGFjaG1lbnQtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9zaGFyZWQvcHJvdmlkZS1maWxlLWF0dGFjaG1lbnQtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSwrQkFBK0I7SUFDN0MsT0FBTyxDQUFDLDJCQUEyQixFQUFFLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVTa3lGaWxlUmVhZGVyVGVzdGluZyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIFByb3ZpZGVzIG1vY2tzIGZvciBmaWxlIGF0dGFjaG1lbnQgdGVzdGluZy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBUZXN0QmVkLmNvbmZpZ3VyZVRlc3RpbmdNb2R1bGUoe1xuICogICBwcm92aWRlcnM6IFtwcm92aWRlU2t5RmlsZUF0dGFjaG1lbnRUZXN0aW5nKCldXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVNreUZpbGVBdHRhY2htZW50VGVzdGluZygpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtwcm92aWRlU2t5RmlsZVJlYWRlclRlc3RpbmcoKV07XG59XG4iXX0=","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\n/**\n * Harness for interacting with a file item component in tests.\n */\nexport class SkyFileItemHarness extends ComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-file-item'; }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFileItemHarness` that meets certain criteria.\n */\n static with(filters) {\n return new HarnessPredicate(SkyFileItemHarness, filters).addOption('fileName', filters.fileName, async (harness, fileName) => {\n const harnessFileName = await harness.getFileName();\n return await HarnessPredicate.stringMatches(harnessFileName, fileName);\n });\n }\n /**\n * Clicks the delete button.\n */\n async clickDeleteButton() {\n return await (await this.locatorFor('.sky-file-item-btn-delete')()).click();\n }\n /**\n * Gets the file name.\n */\n async getFileName() {\n return await (await this.locatorFor('.sky-file-item-name')()).text();\n }\n /**\n * Gets the file size.\n */\n async getFileSize() {\n const size = await (await this.locatorFor('.sky-file-item-size')()).text();\n return size.substring(1, size.length - 1);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pdGVtLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtaXRlbS1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSTFFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQUN0RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsZUFBZSxDQUFDO0lBRTdDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQWtDO1FBRWxDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQ2hFLFVBQVUsRUFDVixPQUFPLENBQUMsUUFBUSxFQUNoQixLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQzFCLE1BQU0sZUFBZSxHQUFHLE1BQU0sT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BELE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pFLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQjtRQUM1QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzLCBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lGaWxlSXRlbUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9maWxlLWl0ZW0taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgZmlsZSBpdGVtIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUZpbGVJdGVtSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZmlsZS1pdGVtJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5RmlsZUl0ZW1IYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5RmlsZUl0ZW1IYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lGaWxlSXRlbUhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoU2t5RmlsZUl0ZW1IYXJuZXNzLCBmaWx0ZXJzKS5hZGRPcHRpb24oXG4gICAgICAnZmlsZU5hbWUnLFxuICAgICAgZmlsdGVycy5maWxlTmFtZSxcbiAgICAgIGFzeW5jIChoYXJuZXNzLCBmaWxlTmFtZSkgPT4ge1xuICAgICAgICBjb25zdCBoYXJuZXNzRmlsZU5hbWUgPSBhd2FpdCBoYXJuZXNzLmdldEZpbGVOYW1lKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzc0ZpbGVOYW1lLCBmaWxlTmFtZSk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBkZWxldGUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrRGVsZXRlQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWZpbGUtaXRlbS1idG4tZGVsZXRlJykoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmaWxlIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmlsZU5hbWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWl0ZW0tbmFtZScpKCkpLnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBmaWxlIHNpemUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0RmlsZVNpemUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBzaXplID0gYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcignLnNreS1maWxlLWl0ZW0tc2l6ZScpKCkpLnRleHQoKTtcbiAgICByZXR1cm4gc2l6ZS5zdWJzdHJpbmcoMSwgc2l6ZS5sZW5ndGggLSAxKTtcbiAgfVxufVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\n/**\n * Harness for interacting with a field group component in tests.\n */\nexport class SkyFieldGroupHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-field-group'; }\n #getLegend = this.locatorFor('legend');\n #getLegendH3 = this.locatorForOptional('legend h3');\n #getLegendH4 = this.locatorForOptional('legend h4');\n #getLegendHeading = this.locatorFor('legend h3,h4');\n #getHintText = this.locatorForOptional('.sky-field-group-hint-text');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyFieldGroupHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyFieldGroupHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Gets the field group's heading text. If `headingHidden` is true,\n * the text will still be returned.\n */\n async getHeadingText() {\n return await (await this.#getLegendHeading()).text();\n }\n /**\n * Gets the field group's hint text.\n */\n async getHintText() {\n const hintText = await this.#getHintText();\n return (await hintText?.text())?.trim() ?? '';\n }\n /**\n * Whether the heading is hidden.\n */\n async getHeadingHidden() {\n return await (await this.#getLegend()).hasClass('sky-screen-reader-only');\n }\n /**\n * Whether the field group is stacked.\n */\n async getStacked() {\n const host = await this.host();\n return await host.hasClass('sky-field-group-stacked');\n }\n /**\n * The semantic heading level used for the field group.\n */\n async getHeadingLevel() {\n const h3 = await this.#getLegendH3();\n return h3 ? 3 : 4;\n }\n /**\n * The heading style used for the field group.\n */\n async getHeadingStyle() {\n const heading = (await this.#getLegendH3()) || (await this.#getLegendH4());\n return (await heading?.hasClass('sky-font-heading-3')) ? 3 : 4;\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness.with({\n ancestor: '.sky-field-group > .sky-field-group-legend',\n }))();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ3JvdXAtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL2ZpZWxkLWdyb3VwL2ZpZWxkLWdyb3VwLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJbEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBQzNEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxpQkFBaUIsQ0FBQztJQUUvQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRCxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFFckU7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBb0M7UUFFcEMsT0FBTyxvQkFBb0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLGNBQWM7UUFDekIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTNDLE9BQU8sQ0FBQyxNQUFNLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZ0JBQWdCO1FBQzNCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFL0IsT0FBTyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVyQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUUzRSxPQUFPLENBQUMsTUFBTSxPQUFPLEVBQUUsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHFCQUFxQjtRQUNoQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQjtRQUM5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FDM0Msb0JBQW9CLENBQUMsSUFBSSxDQUFDO1lBQ3hCLFFBQVEsRUFBRSw0Q0FBNEM7U0FDdkQsQ0FBQyxDQUNILEVBQUUsQ0FBQztRQUVKLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBQ0QsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7XG4gIFNreUZpZWxkR3JvdXBIZWFkaW5nTGV2ZWwsXG4gIFNreUZpZWxkR3JvdXBIZWFkaW5nU3R5bGUsXG59IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lSGFybmVzcyB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5RmllbGRHcm91cEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9maWVsZC1ncm91cC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBmaWVsZCBncm91cCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lGaWVsZEdyb3VwSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktZmllbGQtZ3JvdXAnO1xuXG4gICNnZXRMZWdlbmQgPSB0aGlzLmxvY2F0b3JGb3IoJ2xlZ2VuZCcpO1xuICAjZ2V0TGVnZW5kSDMgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnbGVnZW5kIGgzJyk7XG4gICNnZXRMZWdlbmRINCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCdsZWdlbmQgaDQnKTtcbiAgI2dldExlZ2VuZEhlYWRpbmcgPSB0aGlzLmxvY2F0b3JGb3IoJ2xlZ2VuZCBoMyxoNCcpO1xuICAjZ2V0SGludFRleHQgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1maWVsZC1ncm91cC1oaW50LXRleHQnKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5RmllbGRHcm91cEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lGaWVsZEdyb3VwSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5RmllbGRHcm91cEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5RmllbGRHcm91cEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpZWxkIGdyb3VwJ3MgaGVhZGluZyB0ZXh0LiBJZiBgaGVhZGluZ0hpZGRlbmAgaXMgdHJ1ZSxcbiAgICogdGhlIHRleHQgd2lsbCBzdGlsbCBiZSByZXR1cm5lZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nVGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSGVhZGluZygpKS50ZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZmllbGQgZ3JvdXAncyBoaW50IHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGludFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBoaW50VGV4dCA9IGF3YWl0IHRoaXMuI2dldEhpbnRUZXh0KCk7XG5cbiAgICByZXR1cm4gKGF3YWl0IGhpbnRUZXh0Py50ZXh0KCkpPy50cmltKCkgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaGVhZGluZyBpcyBoaWRkZW4uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVhZGluZ0hpZGRlbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldExlZ2VuZCgpKS5oYXNDbGFzcygnc2t5LXNjcmVlbi1yZWFkZXItb25seScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpZWxkIGdyb3VwIGlzIHN0YWNrZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U3RhY2tlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBob3N0ID0gYXdhaXQgdGhpcy5ob3N0KCk7XG5cbiAgICByZXR1cm4gYXdhaXQgaG9zdC5oYXNDbGFzcygnc2t5LWZpZWxkLWdyb3VwLXN0YWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2VtYW50aWMgaGVhZGluZyBsZXZlbCB1c2VkIGZvciB0aGUgZmllbGQgZ3JvdXAuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVhZGluZ0xldmVsKCk6IFByb21pc2U8U2t5RmllbGRHcm91cEhlYWRpbmdMZXZlbD4ge1xuICAgIGNvbnN0IGgzID0gYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSDMoKTtcblxuICAgIHJldHVybiBoMyA/IDMgOiA0O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBoZWFkaW5nIHN0eWxlIHVzZWQgZm9yIHRoZSBmaWVsZCBncm91cC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nU3R5bGUoKTogUHJvbWlzZTxTa3lGaWVsZEdyb3VwSGVhZGluZ1N0eWxlPiB7XG4gICAgY29uc3QgaGVhZGluZyA9IChhd2FpdCB0aGlzLiNnZXRMZWdlbmRIMygpKSB8fCAoYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSDQoKSk7XG5cbiAgICByZXR1cm4gKGF3YWl0IGhlYWRpbmc/Lmhhc0NsYXNzKCdza3ktZm9udC1oZWFkaW5nLTMnKSkgPyAzIDogNDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGhlbHAgaW5saW5lIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0hlbHBJbmxpbmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlckNvbnRlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlckNvbnRlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyVGl0bGUoKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRIZWxwSW5saW5lKCk6IFByb21pc2U8U2t5SGVscElubGluZUhhcm5lc3M+IHtcbiAgICBjb25zdCBoYXJuZXNzID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICBTa3lIZWxwSW5saW5lSGFybmVzcy53aXRoKHtcbiAgICAgICAgYW5jZXN0b3I6ICcuc2t5LWZpZWxkLWdyb3VwID4gLnNreS1maWVsZC1ncm91cC1sZWdlbmQnLFxuICAgICAgfSksXG4gICAgKSgpO1xuXG4gICAgaWYgKGhhcm5lc3MpIHtcbiAgICAgIHJldHVybiBoYXJuZXNzO1xuICAgIH1cbiAgICB0aHJvdyBFcnJvcignTm8gaGVscCBpbmxpbmUgZm91bmQuJyk7XG4gIH1cbn1cbiJdfQ==","import { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n/**\n * Allows interaction with a SKY UX radio buttons within a radio group.\n * @deprecated Use `SkyRadioHarness` instead.\n * @internal\n */\nexport class SkyRadioFixture {\n #debugEl;\n #fixture;\n constructor(fixture, skyTestId) {\n this.#fixture = fixture;\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-radio-group');\n }\n /**\n * The selected radio button value.\n */\n get value() {\n const selectedRadio = this.#debugEl.query(By.css('sky-radio input:checked'));\n const selectedValue = selectedRadio && selectedRadio.nativeElement.value;\n return selectedValue;\n }\n /**\n * Set the selected radio button value.\n */\n set value(value) {\n const allRadioInputs = this.#getAllRadioInputEls();\n allRadioInputs.forEach((input, index) => {\n if (input.nativeElement.value === value) {\n input.nativeElement.checked = true;\n }\n else {\n input.nativeElement.checked = false;\n }\n });\n }\n /**\n * A flag indicating if every radio button in the radio group is disabled.\n */\n get disabled() {\n const allRadioButtons = this.#getAllSkyRadioButtonEls();\n for (let i = 0; i < allRadioButtons.length; i++) {\n if (!this.#radioButtonDisabled(i)) {\n return false;\n }\n }\n return true;\n }\n /**\n * Set the disabled value for all radio buttons.\n */\n set disabled(value) {\n const allRadioButtons = this.#getAllSkyRadioButtonEls();\n allRadioButtons.forEach((button, index) => {\n this.#setRadioButtonDisabled(index, value);\n });\n }\n #getAllSkyRadioButtonEls() {\n return this.#debugEl.queryAll(By.css('.sky-radio-group sky-radio'));\n }\n #getAllRadioInputEls() {\n return this.#debugEl.queryAll(By.css('.sky-radio-group sky-radio input'));\n }\n #getRadioButtonInputEl(index) {\n const allRadioInputs = this.#getAllRadioInputEls();\n if (allRadioInputs && allRadioInputs[index]) {\n return allRadioInputs[index];\n }\n /* istanbul ignore next */\n return;\n }\n #radioButtonDisabled(index) {\n const radioButton = this.#getRadioButtonInputEl(index);\n return radioButton && radioButton.nativeElement.disabled;\n }\n #setRadioButtonDisabled(index, value) {\n const radioButton = this.#getRadioButtonInputEl(index);\n /* istanbul ignore else */\n if (radioButton) {\n radioButton.nativeElement.disabled = value;\n this.#fixture.detectChanges();\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9sZWdhY3kvcmFkaW8tZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFFBQVEsQ0FBZTtJQUN2QixRQUFRLENBQXdCO0lBRWhDLFlBQVksT0FBOEIsRUFBRSxTQUFpQjtRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUN2RCxPQUFPLEVBQ1AsU0FBUyxFQUNULGlCQUFpQixDQUNsQixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxLQUFLO1FBQ2QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQ3ZDLEVBQUUsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FDbEMsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLGFBQWEsSUFBSSxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUV6RSxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLEtBQUssQ0FBQyxLQUFhO1FBQzVCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRW5ELGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDeEMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3JDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBRXhELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVEsQ0FBQyxLQUFjO1FBQ2hDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBRXhELGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQWE7UUFDbEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFbkQsSUFBSSxjQUFjLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELDBCQUEwQjtRQUMxQixPQUFPO0lBQ1QsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWE7UUFDaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXZELE9BQU8sV0FBVyxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQzNELENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUFhLEVBQUUsS0FBYztRQUNuRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkQsMEJBQTBCO1FBQzFCLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBRTNDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU2t5QXBwVGVzdFV0aWxpdHkgfSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIHJhZGlvIGJ1dHRvbnMgd2l0aGluIGEgcmFkaW8gZ3JvdXAuXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFNreVJhZGlvSGFybmVzc2AgaW5zdGVhZC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5UmFkaW9GaXh0dXJlIHtcbiAgI2RlYnVnRWw6IERlYnVnRWxlbWVudDtcbiAgI2ZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55PjtcblxuICBjb25zdHJ1Y3RvcihmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPGFueT4sIHNreVRlc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy4jZml4dHVyZSA9IGZpeHR1cmU7XG4gICAgdGhpcy4jZGVidWdFbCA9IFNreUFwcFRlc3RVdGlsaXR5LmdldERlYnVnRWxlbWVudEJ5VGVzdElkKFxuICAgICAgZml4dHVyZSxcbiAgICAgIHNreVRlc3RJZCxcbiAgICAgICdza3ktcmFkaW8tZ3JvdXAnLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNlbGVjdGVkIHJhZGlvIGJ1dHRvbiB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWxlY3RlZFJhZGlvID0gdGhpcy4jZGVidWdFbC5xdWVyeShcbiAgICAgIEJ5LmNzcygnc2t5LXJhZGlvIGlucHV0OmNoZWNrZWQnKSxcbiAgICApO1xuICAgIGNvbnN0IHNlbGVjdGVkVmFsdWUgPSBzZWxlY3RlZFJhZGlvICYmIHNlbGVjdGVkUmFkaW8ubmF0aXZlRWxlbWVudC52YWx1ZTtcblxuICAgIHJldHVybiBzZWxlY3RlZFZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgc2VsZWN0ZWQgcmFkaW8gYnV0dG9uIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgYWxsUmFkaW9JbnB1dHMgPSB0aGlzLiNnZXRBbGxSYWRpb0lucHV0RWxzKCk7XG5cbiAgICBhbGxSYWRpb0lucHV0cy5mb3JFYWNoKChpbnB1dCwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICBpbnB1dC5uYXRpdmVFbGVtZW50LmNoZWNrZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5wdXQubmF0aXZlRWxlbWVudC5jaGVja2VkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQSBmbGFnIGluZGljYXRpbmcgaWYgZXZlcnkgcmFkaW8gYnV0dG9uIGluIHRoZSByYWRpbyBncm91cCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYWxsUmFkaW9CdXR0b25zID0gdGhpcy4jZ2V0QWxsU2t5UmFkaW9CdXR0b25FbHMoKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWxsUmFkaW9CdXR0b25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoIXRoaXMuI3JhZGlvQnV0dG9uRGlzYWJsZWQoaSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRpc2FibGVkIHZhbHVlIGZvciBhbGwgcmFkaW8gYnV0dG9ucy5cbiAgICovXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBhbGxSYWRpb0J1dHRvbnMgPSB0aGlzLiNnZXRBbGxTa3lSYWRpb0J1dHRvbkVscygpO1xuXG4gICAgYWxsUmFkaW9CdXR0b25zLmZvckVhY2goKGJ1dHRvbiwgaW5kZXgpID0+IHtcbiAgICAgIHRoaXMuI3NldFJhZGlvQnV0dG9uRGlzYWJsZWQoaW5kZXgsIHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gICNnZXRBbGxTa3lSYWRpb0J1dHRvbkVscygpOiBEZWJ1Z0VsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuI2RlYnVnRWwucXVlcnlBbGwoQnkuY3NzKCcuc2t5LXJhZGlvLWdyb3VwIHNreS1yYWRpbycpKTtcbiAgfVxuXG4gICNnZXRBbGxSYWRpb0lucHV0RWxzKCk6IERlYnVnRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy4jZGVidWdFbC5xdWVyeUFsbChCeS5jc3MoJy5za3ktcmFkaW8tZ3JvdXAgc2t5LXJhZGlvIGlucHV0JykpO1xuICB9XG5cbiAgI2dldFJhZGlvQnV0dG9uSW5wdXRFbChpbmRleDogbnVtYmVyKTogRGVidWdFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBhbGxSYWRpb0lucHV0cyA9IHRoaXMuI2dldEFsbFJhZGlvSW5wdXRFbHMoKTtcblxuICAgIGlmIChhbGxSYWRpb0lucHV0cyAmJiBhbGxSYWRpb0lucHV0c1tpbmRleF0pIHtcbiAgICAgIHJldHVybiBhbGxSYWRpb0lucHV0c1tpbmRleF07XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgI3JhZGlvQnV0dG9uRGlzYWJsZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJhZGlvQnV0dG9uID0gdGhpcy4jZ2V0UmFkaW9CdXR0b25JbnB1dEVsKGluZGV4KTtcblxuICAgIHJldHVybiByYWRpb0J1dHRvbiAmJiByYWRpb0J1dHRvbi5uYXRpdmVFbGVtZW50LmRpc2FibGVkO1xuICB9XG5cbiAgI3NldFJhZGlvQnV0dG9uRGlzYWJsZWQoaW5kZXg6IG51bWJlciwgdmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCByYWRpb0J1dHRvbiA9IHRoaXMuI2dldFJhZGlvQnV0dG9uSW5wdXRFbChpbmRleCk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChyYWRpb0J1dHRvbikge1xuICAgICAgcmFkaW9CdXR0b24ubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA9IHZhbHVlO1xuXG4gICAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { ComponentHarness } from '@angular/cdk/testing';\n/**\n * Harness for interacting with a radio label component in tests.\n * @internal\n */\nexport class SkyRadioLabelHarness extends ComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-radio-label'; }\n #getLabelContent = this.locatorFor('.sky-switch-label');\n /**\n * Gets the text content of the radio label.\n */\n async getText() {\n return await (await this.#getLabelContent()).text();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tbGFiZWwtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL3JhZGlvL3JhZGlvLWxhYmVsLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQUN4RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7SUFFL0MsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRXhEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSByYWRpbyBsYWJlbCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreVJhZGlvTGFiZWxIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1yYWRpby1sYWJlbCc7XG5cbiAgI2dldExhYmVsQ29udGVudCA9IHRoaXMubG9jYXRvckZvcignLnNreS1zd2l0Y2gtbGFiZWwnKTtcblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSByYWRpbyBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMYWJlbENvbnRlbnQoKSkudGV4dCgpO1xuICB9XG59XG4iXX0=","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyRadioLabelHarness } from './radio-label-harness';\n/**\n * Harness for interacting with a radio button component in tests.\n */\nexport class SkyRadioHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-radio'; }\n #getHintText = this.locatorForOptional('.sky-radio-hint-text');\n #getInput = this.locatorFor('input.sky-radio-input');\n #getLabel = this.locatorForOptional(SkyRadioLabelHarness);\n #getLabelText = this.locatorForOptional('span.sky-switch-label.sky-radio-label-text');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyRadioHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyRadioHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Blurs the radio button.\n */\n async blur() {\n await (await this.#getInput()).blur();\n }\n /**\n * Puts the radio button in a checked state if it is currently unchecked.\n */\n async check() {\n if (await this.isDisabled()) {\n throw new Error('Could not check the radio button because it is disabled.');\n }\n else if (!(await this.isChecked())) {\n await (await this.#getInput()).click();\n }\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Focuses the radio button.\n */\n async focus() {\n await (await this.#getInput()).focus();\n }\n /**\n * Gets the radio button's aria-label.\n */\n async getAriaLabel() {\n return await (await this.#getInput()).getAttribute('aria-label');\n }\n /**\n * Gets the radio button's aria-labelledby.\n */\n async getAriaLabelledby() {\n return await (await this.#getInput()).getAttribute('aria-labelledby');\n }\n /**\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the radio button's hint text.\n */\n async getHintText() {\n const hintText = await this.#getHintText();\n return (await hintText?.text())?.trim() ?? '';\n }\n /**\n * Whether the label is hidden. Only supported when using the `labelText` input to set the label.\n */\n async getLabelHidden() {\n const labelText = await this.#getLabelText();\n const label = await this.#getLabel();\n if (label) {\n throw new Error('`labelHidden` is only supported when setting the radio label via the `labelText` input.');\n }\n else {\n return !!(await labelText?.hasClass('sky-screen-reader-only'));\n }\n }\n /**\n * Gets the radio button's label text. If the label is set via `labelText` and `labelHidden` is true,\n * the text will still be returned.\n */\n async getLabelText() {\n const labelText = await this.#getLabelText();\n if (labelText) {\n return await labelText.text();\n }\n else {\n return await (await this.#getLabel())?.getText();\n }\n }\n /**\n * Gets the radio button's name.\n */\n async getName() {\n return await (await this.#getInput()).getAttribute('name');\n }\n /**\n * Whether the radio button is checked.\n */\n async isChecked() {\n return await (await this.#getInput()).getProperty('checked');\n }\n /**\n * Whether the radio button is disabled.\n */\n async isDisabled() {\n const disabled = await (await this.#getInput()).getAttribute('disabled');\n return disabled !== null;\n }\n /**\n * Whether the radio button is focused.\n */\n async isFocused() {\n return await (await this.#getInput()).isFocused();\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL3JhZGlvL3JhZGlvLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFDdEQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLFdBQVcsQ0FBQztJQUV6QyxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFFL0QsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUVyRCxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFMUQsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FDckMsNENBQTRDLENBQzdDLENBQUM7SUFFRjs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUErQjtRQUUvQixPQUFPLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLElBQUksTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUNiLDBEQUEwRCxDQUMzRCxDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFlBQVk7UUFDdkIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQjtRQUM1QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxxQkFBcUI7UUFDaEMsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxtQkFBbUI7UUFDOUIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUzQyxPQUFPLENBQUMsTUFBTSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGNBQWM7UUFDekIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0MsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxLQUFLLENBQ2IseUZBQXlGLENBQzFGLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxTQUFTLEVBQUUsUUFBUSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTdDLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxPQUFPLE1BQU0sU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFNBQVM7UUFDcEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQVUsU0FBUyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sUUFBUSxLQUFLLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsU0FBUztRQUNwQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7UUFFdEUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxNQUFNLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5SGVscElubGluZUhhcm5lc3MgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVJhZGlvSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3JhZGlvLWhhcm5lc3MtZmlsdGVycyc7XG5pbXBvcnQgeyBTa3lSYWRpb0xhYmVsSGFybmVzcyB9IGZyb20gJy4vcmFkaW8tbGFiZWwtaGFybmVzcyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIHJhZGlvIGJ1dHRvbiBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lSYWRpb0hhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LXJhZGlvJztcblxuICAjZ2V0SGludFRleHQgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1yYWRpby1oaW50LXRleHQnKTtcblxuICAjZ2V0SW5wdXQgPSB0aGlzLmxvY2F0b3JGb3IoJ2lucHV0LnNreS1yYWRpby1pbnB1dCcpO1xuXG4gICNnZXRMYWJlbCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFNreVJhZGlvTGFiZWxIYXJuZXNzKTtcblxuICAjZ2V0TGFiZWxUZXh0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgJ3NwYW4uc2t5LXN3aXRjaC1sYWJlbC5za3ktcmFkaW8tbGFiZWwtdGV4dCcsXG4gICk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreVJhZGlvSGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreVJhZGlvSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5UmFkaW9IYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreVJhZGlvSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogQmx1cnMgdGhlIHJhZGlvIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBibHVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5ibHVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUHV0cyB0aGUgcmFkaW8gYnV0dG9uIGluIGEgY2hlY2tlZCBzdGF0ZSBpZiBpdCBpcyBjdXJyZW50bHkgdW5jaGVja2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNoZWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmlzRGlzYWJsZWQoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ291bGQgbm90IGNoZWNrIHRoZSByYWRpbyBidXR0b24gYmVjYXVzZSBpdCBpcyBkaXNhYmxlZC4nLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKCEoYXdhaXQgdGhpcy5pc0NoZWNrZWQoKSkpIHtcbiAgICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5jbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGhlbHAgaW5saW5lIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0hlbHBJbmxpbmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSByYWRpbyBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZm9jdXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcmFkaW8gYnV0dG9uJ3MgYXJpYS1sYWJlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByYWRpbyBidXR0b24ncyBhcmlhLWxhYmVsbGVkYnkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXJpYUxhYmVsbGVkYnkoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyQ29udGVudCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyQ29udGVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlbHAgcG9wb3ZlciB0aXRsZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlclRpdGxlKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmdldFBvcG92ZXJUaXRsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJhZGlvIGJ1dHRvbidzIGhpbnQgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIaW50VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGhpbnRUZXh0ID0gYXdhaXQgdGhpcy4jZ2V0SGludFRleHQoKTtcblxuICAgIHJldHVybiAoYXdhaXQgaGludFRleHQ/LnRleHQoKSk/LnRyaW0oKSA/PyAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBsYWJlbCBpcyBoaWRkZW4uIE9ubHkgc3VwcG9ydGVkIHdoZW4gdXNpbmcgdGhlIGBsYWJlbFRleHRgIGlucHV0IHRvIHNldCB0aGUgbGFiZWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0TGFiZWxIaWRkZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgbGFiZWxUZXh0ID0gYXdhaXQgdGhpcy4jZ2V0TGFiZWxUZXh0KCk7XG4gICAgY29uc3QgbGFiZWwgPSBhd2FpdCB0aGlzLiNnZXRMYWJlbCgpO1xuXG4gICAgaWYgKGxhYmVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdgbGFiZWxIaWRkZW5gIGlzIG9ubHkgc3VwcG9ydGVkIHdoZW4gc2V0dGluZyB0aGUgcmFkaW8gbGFiZWwgdmlhIHRoZSBgbGFiZWxUZXh0YCBpbnB1dC4nLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICEhKGF3YWl0IGxhYmVsVGV4dD8uaGFzQ2xhc3MoJ3NreS1zY3JlZW4tcmVhZGVyLW9ubHknKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJhZGlvIGJ1dHRvbidzIGxhYmVsIHRleHQuIElmIHRoZSBsYWJlbCBpcyBzZXQgdmlhIGBsYWJlbFRleHRgIGFuZCBgbGFiZWxIaWRkZW5gIGlzIHRydWUsXG4gICAqIHRoZSB0ZXh0IHdpbGwgc3RpbGwgYmUgcmV0dXJuZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0TGFiZWxUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgbGFiZWxUZXh0ID0gYXdhaXQgdGhpcy4jZ2V0TGFiZWxUZXh0KCk7XG5cbiAgICBpZiAobGFiZWxUZXh0KSB7XG4gICAgICByZXR1cm4gYXdhaXQgbGFiZWxUZXh0LnRleHQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRMYWJlbCgpKT8uZ2V0VGV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByYWRpbyBidXR0b24ncyBuYW1lLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldE5hbWUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ25hbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByYWRpbyBidXR0b24gaXMgY2hlY2tlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0NoZWNrZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRQcm9wZXJ0eTxib29sZWFuPignY2hlY2tlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJhZGlvIGJ1dHRvbiBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGRpc2FibGVkID0gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICByZXR1cm4gZGlzYWJsZWQgIT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmFkaW8gYnV0dG9uIGlzIGZvY3VzZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNGb2N1c2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuaXNGb2N1c2VkKCk7XG4gIH1cblxuICBhc3luYyAjZ2V0SGVscElubGluZSgpOiBQcm9taXNlPFNreUhlbHBJbmxpbmVIYXJuZXNzPiB7XG4gICAgY29uc3QgaGFybmVzcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFNreUhlbHBJbmxpbmVIYXJuZXNzKSgpO1xuXG4gICAgaWYgKGhhcm5lc3MpIHtcbiAgICAgIHJldHVybiBoYXJuZXNzO1xuICAgIH1cblxuICAgIHRocm93IEVycm9yKCdObyBoZWxwIGlubGluZSBmb3VuZC4nKTtcbiAgfVxufVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyFormErrorsHarness } from '../form-error/form-errors-harness';\nimport { SkyRadioHarness } from './radio-harness';\n/**\n * Harness for interacting with a radio group component in tests.\n */\nexport class SkyRadioGroupHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-radio-group'; }\n #getHeading = this.locatorFor('.sky-radio-group-legend span');\n #getHeadingWrapper = this.locatorForOptional('.sky-radio-group-legend');\n #getHintText = this.locatorForOptional('.sky-radio-group-hint-text');\n #getLegendDefault = this.locatorForOptional('legend .sky-radio-group-heading-text');\n #getLegendH3 = this.locatorForOptional('legend h3');\n #getLegendH4 = this.locatorForOptional('legend h4');\n #getLegendH5 = this.locatorForOptional('legend h5');\n #getLegendHeading = this.locatorForOptional('legend h3,h4,h5,.sky-radio-group-heading-text');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyRadioGroupHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyRadioGroupHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Whether the heading is hidden.\n */\n async getHeadingHidden() {\n return await ((await this.#getHeadingWrapper())?.hasClass('sky-screen-reader-only') ?? true);\n }\n /**\n * The semantic heading level used for the radio group. Returns undefined if heading level is not set.\n */\n async getHeadingLevel() {\n const h3 = await this.#getLegendH3();\n const h4 = await this.#getLegendH4();\n const h5 = await this.#getLegendH5();\n if (h3) {\n return 3;\n }\n else if (h4) {\n return 4;\n }\n else if (h5) {\n return 5;\n }\n else {\n return undefined;\n }\n }\n /**\n * The heading style used for the radio group.\n */\n async getHeadingStyle() {\n const headingOrLabel = (await this.#getLegendH3()) ||\n (await this.#getLegendH4()) ||\n (await this.#getLegendH5()) ||\n (await this.#getLegendDefault());\n const isHeadingStyle3 = await headingOrLabel?.hasClass('sky-font-heading-3');\n const isHeadingStyle4 = await headingOrLabel?.hasClass('sky-font-heading-4');\n if (isHeadingStyle3) {\n return 3;\n }\n else if (isHeadingStyle4) {\n return 4;\n }\n else {\n return 5;\n }\n }\n /**\n * Gets the radio group's heading text. If `headingHidden` is true,\n * the text will still be returned.\n */\n async getHeadingText() {\n return await ((await this.#getLegendHeading())?.text() ?? '');\n }\n /**\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Gets the radio group's hint text.\n */\n async getHintText() {\n const hintText = await this.#getHintText();\n return (await hintText?.text())?.trim() ?? '';\n }\n /**\n * Gets a specific radio button based on the filter criteria.\n * @param filter The filter criteria.\n */\n async getRadioButton(filter) {\n return await this.locatorFor(SkyRadioHarness.with(filter))();\n }\n /**\n * Gets an array of radio buttons based on the filter criteria.\n * If no filter is provided, returns all radio buttons.\n * @param filters The optional filter criteria.\n */\n async getRadioButtons(filters) {\n return await this.locatorForAll(SkyRadioHarness.with(filters || {}))();\n }\n /**\n * Whether the radio group is required.\n */\n async getRequired() {\n const headingWrapper = await this.#getHeading();\n return await headingWrapper.hasClass('sky-control-label-required');\n }\n /**\n * Whether the radio group is stacked.\n */\n async getStacked() {\n const host = await this.host();\n const heading = (await this.#getLegendH3()) ||\n (await this.#getLegendH4()) ||\n (await this.#getLegendH5());\n const label = await this.#getLegendDefault();\n return (((await host.hasClass('sky-form-field-stacked')) && !!label) ||\n ((await host.hasClass('sky-field-group-stacked')) && !!heading));\n }\n /**\n * Whether the radio group has errors.\n */\n async hasError(errorName) {\n return await (await this.#getFormErrors()).hasError(errorName);\n }\n async #getFormErrors() {\n return await this.locatorFor(SkyFormErrorsHarness)();\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness.with({\n ancestor: '.sky-radio-group > .sky-radio-group-legend',\n }))();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL3JhZGlvL3JhZGlvLWdyb3VwLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR2xEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQUMzRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7SUFFL0MsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUM5RCxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUN4RSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDckUsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUN6QyxzQ0FBc0MsQ0FDdkMsQ0FBQztJQUNGLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwRCxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FDekMsK0NBQStDLENBQ2hELENBQUM7SUFF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O0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFpQjtRQUNyQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FDM0Msb0JBQW9CLENBQUMsSUFBSSxDQUFDO1lBQ3hCLFFBQVEsRUFBRSw0Q0FBNEM7U0FDdkQsQ0FBQyxDQUNILEVBQUUsQ0FBQztRQUVKLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7XG4gIFNreVJhZGlvR3JvdXBIZWFkaW5nTGV2ZWwsXG4gIFNreVJhZGlvR3JvdXBIZWFkaW5nU3R5bGUsXG59IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lIZWxwSW5saW5lSGFybmVzcyB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yc0hhcm5lc3MgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lSYWRpb0dyb3VwSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3JhZGlvLWdyb3VwLWhhcm5lc3MtZmlsdGVycyc7XG5pbXBvcnQgeyBTa3lSYWRpb0hhcm5lc3MgfSBmcm9tICcuL3JhZGlvLWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5UmFkaW9IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vcmFkaW8taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgcmFkaW8gZ3JvdXAgY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5UmFkaW9Hcm91cEhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LXJhZGlvLWdyb3VwJztcblxuICAjZ2V0SGVhZGluZyA9IHRoaXMubG9jYXRvckZvcignLnNreS1yYWRpby1ncm91cC1sZWdlbmQgc3BhbicpO1xuICAjZ2V0SGVhZGluZ1dyYXBwZXIgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLnNreS1yYWRpby1ncm91cC1sZWdlbmQnKTtcbiAgI2dldEhpbnRUZXh0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktcmFkaW8tZ3JvdXAtaGludC10ZXh0Jyk7XG4gICNnZXRMZWdlbmREZWZhdWx0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgJ2xlZ2VuZCAuc2t5LXJhZGlvLWdyb3VwLWhlYWRpbmctdGV4dCcsXG4gICk7XG4gICNnZXRMZWdlbmRIMyA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCdsZWdlbmQgaDMnKTtcbiAgI2dldExlZ2VuZEg0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJ2xlZ2VuZCBoNCcpO1xuICAjZ2V0TGVnZW5kSDUgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnbGVnZW5kIGg1Jyk7XG4gICNnZXRMZWdlbmRIZWFkaW5nID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgJ2xlZ2VuZCBoMyxoNCxoNSwuc2t5LXJhZGlvLWdyb3VwLWhlYWRpbmctdGV4dCcsXG4gICk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreVJhZGlvR3JvdXBIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5UmFkaW9Hcm91cEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreVJhZGlvR3JvdXBIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreVJhZGlvR3JvdXBIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGhlbHAgaW5saW5lIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0hlbHBJbmxpbmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBoZWFkaW5nIGlzIGhpZGRlbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nSGlkZGVuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoKFxuICAgICAgYXdhaXQgdGhpcy4jZ2V0SGVhZGluZ1dyYXBwZXIoKVxuICAgICk/Lmhhc0NsYXNzKCdza3ktc2NyZWVuLXJlYWRlci1vbmx5JykgPz8gdHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNlbWFudGljIGhlYWRpbmcgbGV2ZWwgdXNlZCBmb3IgdGhlIHJhZGlvIGdyb3VwLiBSZXR1cm5zIHVuZGVmaW5lZCBpZiBoZWFkaW5nIGxldmVsIGlzIG5vdCBzZXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVhZGluZ0xldmVsKCk6IFByb21pc2U8XG4gICAgU2t5UmFkaW9Hcm91cEhlYWRpbmdMZXZlbCB8IHVuZGVmaW5lZFxuICA+IHtcbiAgICBjb25zdCBoMyA9IGF3YWl0IHRoaXMuI2dldExlZ2VuZEgzKCk7XG4gICAgY29uc3QgaDQgPSBhd2FpdCB0aGlzLiNnZXRMZWdlbmRINCgpO1xuICAgIGNvbnN0IGg1ID0gYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSDUoKTtcblxuICAgIGlmIChoMykge1xuICAgICAgcmV0dXJuIDM7XG4gICAgfSBlbHNlIGlmIChoNCkge1xuICAgICAgcmV0dXJuIDQ7XG4gICAgfSBlbHNlIGlmIChoNSkge1xuICAgICAgcmV0dXJuIDU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBoZWFkaW5nIHN0eWxlIHVzZWQgZm9yIHRoZSByYWRpbyBncm91cC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nU3R5bGUoKTogUHJvbWlzZTxTa3lSYWRpb0dyb3VwSGVhZGluZ1N0eWxlPiB7XG4gICAgY29uc3QgaGVhZGluZ09yTGFiZWwgPVxuICAgICAgKGF3YWl0IHRoaXMuI2dldExlZ2VuZEgzKCkpIHx8XG4gICAgICAoYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSDQoKSkgfHxcbiAgICAgIChhd2FpdCB0aGlzLiNnZXRMZWdlbmRINSgpKSB8fFxuICAgICAgKGF3YWl0IHRoaXMuI2dldExlZ2VuZERlZmF1bHQoKSk7XG5cbiAgICBjb25zdCBpc0hlYWRpbmdTdHlsZTMgPVxuICAgICAgYXdhaXQgaGVhZGluZ09yTGFiZWw/Lmhhc0NsYXNzKCdza3ktZm9udC1oZWFkaW5nLTMnKTtcbiAgICBjb25zdCBpc0hlYWRpbmdTdHlsZTQgPVxuICAgICAgYXdhaXQgaGVhZGluZ09yTGFiZWw/Lmhhc0NsYXNzKCdza3ktZm9udC1oZWFkaW5nLTQnKTtcblxuICAgIGlmIChpc0hlYWRpbmdTdHlsZTMpIHtcbiAgICAgIHJldHVybiAzO1xuICAgIH0gZWxzZSBpZiAoaXNIZWFkaW5nU3R5bGU0KSB7XG4gICAgICByZXR1cm4gNDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHJhZGlvIGdyb3VwJ3MgaGVhZGluZyB0ZXh0LiBJZiBgaGVhZGluZ0hpZGRlbmAgaXMgdHJ1ZSxcbiAgICogdGhlIHRleHQgd2lsbCBzdGlsbCBiZSByZXR1cm5lZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nVGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoKGF3YWl0IHRoaXMuI2dldExlZ2VuZEhlYWRpbmcoKSk/LnRleHQoKSA/PyAnJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGVscCBwb3BvdmVyIGNvbnRlbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJDb250ZW50KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmdldFBvcG92ZXJDb250ZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGVscCBwb3BvdmVyIHRpdGxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyVGl0bGUoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlclRpdGxlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcmFkaW8gZ3JvdXAncyBoaW50IHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGludFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBoaW50VGV4dCA9IGF3YWl0IHRoaXMuI2dldEhpbnRUZXh0KCk7XG5cbiAgICByZXR1cm4gKGF3YWl0IGhpbnRUZXh0Py50ZXh0KCkpPy50cmltKCkgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIHNwZWNpZmljIHJhZGlvIGJ1dHRvbiBiYXNlZCBvbiB0aGUgZmlsdGVyIGNyaXRlcmlhLlxuICAgKiBAcGFyYW0gZmlsdGVyIFRoZSBmaWx0ZXIgY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UmFkaW9CdXR0b24oXG4gICAgZmlsdGVyOiBTa3lSYWRpb0hhcm5lc3NGaWx0ZXJzLFxuICApOiBQcm9taXNlPFNreVJhZGlvSGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoU2t5UmFkaW9IYXJuZXNzLndpdGgoZmlsdGVyKSkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFuIGFycmF5IG9mIHJhZGlvIGJ1dHRvbnMgYmFzZWQgb24gdGhlIGZpbHRlciBjcml0ZXJpYS5cbiAgICogSWYgbm8gZmlsdGVyIGlzIHByb3ZpZGVkLCByZXR1cm5zIGFsbCByYWRpbyBidXR0b25zLlxuICAgKiBAcGFyYW0gZmlsdGVycyBUaGUgb3B0aW9uYWwgZmlsdGVyIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFJhZGlvQnV0dG9ucyhcbiAgICBmaWx0ZXJzPzogU2t5UmFkaW9IYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxTa3lSYWRpb0hhcm5lc3NbXT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoU2t5UmFkaW9IYXJuZXNzLndpdGgoZmlsdGVycyB8fCB7fSkpKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmFkaW8gZ3JvdXAgaXMgcmVxdWlyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UmVxdWlyZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgaGVhZGluZ1dyYXBwZXIgPSBhd2FpdCB0aGlzLiNnZXRIZWFkaW5nKCk7XG5cbiAgICByZXR1cm4gYXdhaXQgaGVhZGluZ1dyYXBwZXIuaGFzQ2xhc3MoJ3NreS1jb250cm9sLWxhYmVsLXJlcXVpcmVkJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmFkaW8gZ3JvdXAgaXMgc3RhY2tlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTdGFja2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGhvc3QgPSBhd2FpdCB0aGlzLmhvc3QoKTtcbiAgICBjb25zdCBoZWFkaW5nID1cbiAgICAgIChhd2FpdCB0aGlzLiNnZXRMZWdlbmRIMygpKSB8fFxuICAgICAgKGF3YWl0IHRoaXMuI2dldExlZ2VuZEg0KCkpIHx8XG4gICAgICAoYXdhaXQgdGhpcy4jZ2V0TGVnZW5kSDUoKSk7XG4gICAgY29uc3QgbGFiZWwgPSBhd2FpdCB0aGlzLiNnZXRMZWdlbmREZWZhdWx0KCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgKChhd2FpdCBob3N0Lmhhc0NsYXNzKCdza3ktZm9ybS1maWVsZC1zdGFja2VkJykpICYmICEhbGFiZWwpIHx8XG4gICAgICAoKGF3YWl0IGhvc3QuaGFzQ2xhc3MoJ3NreS1maWVsZC1ncm91cC1zdGFja2VkJykpICYmICEhaGVhZGluZylcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJhZGlvIGdyb3VwIGhhcyBlcnJvcnMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzRXJyb3IoZXJyb3JOYW1lOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEZvcm1FcnJvcnMoKSkuaGFzRXJyb3IoZXJyb3JOYW1lKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRGb3JtRXJyb3JzKCk6IFByb21pc2U8U2t5Rm9ybUVycm9yc0hhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFNreUZvcm1FcnJvcnNIYXJuZXNzKSgpO1xuICB9XG5cbiAgYXN5bmMgI2dldEhlbHBJbmxpbmUoKTogUHJvbWlzZTxTa3lIZWxwSW5saW5lSGFybmVzcz4ge1xuICAgIGNvbnN0IGhhcm5lc3MgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAgIFNreUhlbHBJbmxpbmVIYXJuZXNzLndpdGgoe1xuICAgICAgICBhbmNlc3RvcjogJy5za3ktcmFkaW8tZ3JvdXAgPiAuc2t5LXJhZGlvLWdyb3VwLWxlZ2VuZCcsXG4gICAgICB9KSxcbiAgICApKCk7XG5cbiAgICBpZiAoaGFybmVzcykge1xuICAgICAgcmV0dXJuIGhhcm5lc3M7XG4gICAgfVxuXG4gICAgdGhyb3cgRXJyb3IoJ05vIGhlbHAgaW5saW5lIGZvdW5kLicpO1xuICB9XG59XG4iXX0=","import { SkyComponentHarness } from '@skyux/core/testing';\n/**\n * Harness to interact with a selection box description component in tests.\n * @internal\n */\nexport class SkySelectionBoxDescriptionHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-selection-box-description'; }\n /**\n * Gets the description text.\n */\n async getText() {\n return (await (await this.host()).text()).trim();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1kZXNjcmlwdGlvbi1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvc2VsZWN0aW9uLWJveC9zZWxlY3Rpb24tYm94LWRlc2NyaXB0aW9uLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLG1CQUFtQjtJQUN4RTs7T0FFRzthQUNXLGlCQUFZLEdBQUcsK0JBQStCLENBQUM7SUFFN0Q7O09BRUc7SUFDSSxLQUFLLENBQUMsT0FBTztRQUNsQixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEhhcm5lc3MgdG8gaW50ZXJhY3Qgd2l0aCBhIHNlbGVjdGlvbiBib3ggZGVzY3JpcHRpb24gY29tcG9uZW50IGluIHRlc3RzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Cb3hEZXNjcmlwdGlvbkhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LXNlbGVjdGlvbi1ib3gtZGVzY3JpcHRpb24nO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBkZXNjcmlwdGlvbiB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkudGV4dCgpKS50cmltKCk7XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\n/**\n * Harness to interact with a selection box header component in tests.\n * @internal\n */\nexport class SkySelectionBoxHeaderHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-selection-box-header'; }\n /**\n * Gets the header text.\n */\n async getText() {\n return (await (await this.host()).text()).trim();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1oZWFkZXItaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvc2VsZWN0aW9uLWJveC1oZWFkZXItaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsbUJBQW1CO0lBQ25FOztPQUVHO2FBQ1csaUJBQVksR0FBRywwQkFBMEIsQ0FBQztJQUV4RDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbi8qKlxuICogSGFybmVzcyB0byBpbnRlcmFjdCB3aXRoIGEgc2VsZWN0aW9uIGJveCBoZWFkZXIgY29tcG9uZW50IGluIHRlc3RzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Cb3hIZWFkZXJIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1zZWxlY3Rpb24tYm94LWhlYWRlcic7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGhlYWRlciB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkudGV4dCgpKS50cmltKCk7XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyIconHarness } from '@skyux/icon/testing';\nimport { SkyCheckboxHarness } from '../checkbox/checkbox-harness';\nimport { SkyRadioHarness } from '../radio/radio-harness';\nimport { SkySelectionBoxDescriptionHarness } from './selection-box-description-harness';\nimport { SkySelectionBoxHeaderHarness } from './selection-box-header-harness';\n/**\n * Harness to interact with a selection box component in tests.\n */\nexport class SkySelectionBoxHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-selection-box'; }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkySelectionBoxHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkySelectionBoxHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Gets the checkbox or radio harness for the selection box form control.\n */\n async getControl() {\n return await this.locatorFor(SkyCheckboxHarness, SkyRadioHarness)();\n }\n /**\n * Gets the selection box description text.\n */\n async getDescriptionText() {\n const text = await (await this.locatorForOptional(SkySelectionBoxDescriptionHarness)())?.getText();\n return text ?? '';\n }\n /**\n * Gets the selection box header text.\n */\n async getHeaderText() {\n const text = await (await this.locatorForOptional(SkySelectionBoxHeaderHarness)())?.getText();\n return text ?? '';\n }\n /**\n * Gets the selection box icon, if it exists.\n */\n async getIcon() {\n return await this.locatorForOptional(SkyIconHarness)();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvc2VsZWN0aW9uLWJveC9zZWxlY3Rpb24tYm94LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV4RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU5RTs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxtQkFBbUI7SUFDN0Q7O09BRUc7YUFDVyxpQkFBWSxHQUFHLG1CQUFtQixDQUFDO0lBRWpEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQXNDO1FBRXRDLE9BQU8sc0JBQXNCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsZUFBZSxDQUFDLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FDakIsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUNBQWlDLENBQUMsRUFBRSxDQUNuRSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FDakIsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsNEJBQTRCLENBQUMsRUFBRSxDQUM5RCxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztJQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreUljb25IYXJuZXNzIH0gZnJvbSAnQHNreXV4L2ljb24vdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUNoZWNrYm94SGFybmVzcyB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5UmFkaW9IYXJuZXNzIH0gZnJvbSAnLi4vcmFkaW8vcmFkaW8taGFybmVzcyc7XG5cbmltcG9ydCB7IFNreVNlbGVjdGlvbkJveERlc2NyaXB0aW9uSGFybmVzcyB9IGZyb20gJy4vc2VsZWN0aW9uLWJveC1kZXNjcmlwdGlvbi1oYXJuZXNzJztcbmltcG9ydCB7IFNreVNlbGVjdGlvbkJveEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9zZWxlY3Rpb24tYm94LWhhcm5lc3MtZmlsdGVycyc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hIZWFkZXJIYXJuZXNzIH0gZnJvbSAnLi9zZWxlY3Rpb24tYm94LWhlYWRlci1oYXJuZXNzJztcblxuLyoqXG4gKiBIYXJuZXNzIHRvIGludGVyYWN0IHdpdGggYSBzZWxlY3Rpb24gYm94IGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVNlbGVjdGlvbkJveEhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LXNlbGVjdGlvbi1ib3gnO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lTZWxlY3Rpb25Cb3hIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5U2VsZWN0aW9uQm94SGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5U2VsZWN0aW9uQm94SGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lTZWxlY3Rpb25Cb3hIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjaGVja2JveCBvciByYWRpbyBoYXJuZXNzIGZvciB0aGUgc2VsZWN0aW9uIGJveCBmb3JtIGNvbnRyb2wuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q29udHJvbCgpOiBQcm9taXNlPFNreUNoZWNrYm94SGFybmVzcyB8IFNreVJhZGlvSGFybmVzcz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoU2t5Q2hlY2tib3hIYXJuZXNzLCBTa3lSYWRpb0hhcm5lc3MpKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc2VsZWN0aW9uIGJveCBkZXNjcmlwdGlvbiB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldERlc2NyaXB0aW9uVGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHRleHQgPSBhd2FpdCAoXG4gICAgICBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lTZWxlY3Rpb25Cb3hEZXNjcmlwdGlvbkhhcm5lc3MpKClcbiAgICApPy5nZXRUZXh0KCk7XG4gICAgcmV0dXJuIHRleHQgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc2VsZWN0aW9uIGJveCBoZWFkZXIgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkZXJUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgdGV4dCA9IGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFNreVNlbGVjdGlvbkJveEhlYWRlckhhcm5lc3MpKClcbiAgICApPy5nZXRUZXh0KCk7XG4gICAgcmV0dXJuIHRleHQgPz8gJyc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc2VsZWN0aW9uIGJveCBpY29uLCBpZiBpdCBleGlzdHMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SWNvbigpOiBQcm9taXNlPFNreUljb25IYXJuZXNzIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lJY29uSGFybmVzcykoKTtcbiAgfVxufVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkySelectionBoxHarness } from './selection-box-harness';\n/**\n * Harness for interacting with a selection box grid component in tests.\n */\nexport class SkySelectionBoxGridHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-selection-box-grid'; }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkySelectionBoxGridHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkySelectionBoxGridHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Gets a specific selection box based on the filter criteria.\n * @param filter The filter criteria.\n */\n async getSelectionBox(filter) {\n return await this.locatorFor(SkySelectionBoxHarness.with(filter))();\n }\n /**\n * Gets an array of selection boxes based on the filter criteria.\n * If no filter is provided, returns all selection boxes.\n * @param filters The optional filter criteria.\n */\n async getSelectionBoxes(filters) {\n return await this.locatorForAll(SkySelectionBoxHarness.with(filters || {}))();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJveC1ncmlkLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvdGVzdGluZy9zcmMvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3NlbGVjdGlvbi1ib3gtZ3JpZC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR2pFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG1CQUFtQjtJQUNqRTs7T0FFRzthQUNXLGlCQUFZLEdBQUcsd0JBQXdCLENBQUM7SUFFdEQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBMEM7UUFFMUMsT0FBTywwQkFBMEIsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLGVBQWUsQ0FDMUIsTUFBcUM7UUFFckMsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxpQkFBaUIsQ0FDNUIsT0FBdUM7UUFFdkMsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQzdCLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQzNDLEVBQUUsQ0FBQztJQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hHcmlkSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL3NlbGVjdGlvbi1ib3gtZ3JpZC1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uQm94SGFybmVzcyB9IGZyb20gJy4vc2VsZWN0aW9uLWJveC1oYXJuZXNzJztcbmltcG9ydCB7IFNreVNlbGVjdGlvbkJveEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9zZWxlY3Rpb24tYm94LWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIHNlbGVjdGlvbiBib3ggZ3JpZCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Cb3hHcmlkSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktc2VsZWN0aW9uLWJveC1ncmlkJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5U2VsZWN0aW9uQm94R3JpZEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lTZWxlY3Rpb25Cb3hHcmlkSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5U2VsZWN0aW9uQm94R3JpZEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5U2VsZWN0aW9uQm94R3JpZEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBzcGVjaWZpYyBzZWxlY3Rpb24gYm94IGJhc2VkIG9uIHRoZSBmaWx0ZXIgY3JpdGVyaWEuXG4gICAqIEBwYXJhbSBmaWx0ZXIgVGhlIGZpbHRlciBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3Rpb25Cb3goXG4gICAgZmlsdGVyOiBTa3lTZWxlY3Rpb25Cb3hIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxTa3lTZWxlY3Rpb25Cb3hIYXJuZXNzPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMubG9jYXRvckZvcihTa3lTZWxlY3Rpb25Cb3hIYXJuZXNzLndpdGgoZmlsdGVyKSkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFuIGFycmF5IG9mIHNlbGVjdGlvbiBib3hlcyBiYXNlZCBvbiB0aGUgZmlsdGVyIGNyaXRlcmlhLlxuICAgKiBJZiBubyBmaWx0ZXIgaXMgcHJvdmlkZWQsIHJldHVybnMgYWxsIHNlbGVjdGlvbiBib3hlcy5cbiAgICogQHBhcmFtIGZpbHRlcnMgVGhlIG9wdGlvbmFsIGZpbHRlciBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3Rpb25Cb3hlcyhcbiAgICBmaWx0ZXJzPzogU2t5U2VsZWN0aW9uQm94SGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8U2t5U2VsZWN0aW9uQm94SGFybmVzc1tdPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMubG9jYXRvckZvckFsbChcbiAgICAgIFNreVNlbGVjdGlvbkJveEhhcm5lc3Mud2l0aChmaWx0ZXJzIHx8IHt9KSxcbiAgICApKCk7XG4gIH1cbn1cbiJdfQ==","import { ComponentHarness } from '@angular/cdk/testing';\n/**\n * Harness for interacting with a toggle switch label component in tests.\n * @internal\n */\nexport class SkyToggleSwitchLabelHarness extends ComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-toggle-switch-label'; }\n #getLabelContent = this.locatorFor('span[skyTrim]');\n /**\n * Gets the text content of the toggle switch label.\n */\n async getText() {\n return await (await this.#getLabelContent()).text();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLXN3aXRjaC1sYWJlbC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvdG9nZ2xlLXN3aXRjaC90b2dnbGUtc3dpdGNoLWxhYmVsLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGdCQUFnQjtJQUMvRDs7T0FFRzthQUNXLGlCQUFZLEdBQUcseUJBQXlCLENBQUM7SUFFdkQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUVwRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgdG9nZ2xlIHN3aXRjaCBsYWJlbCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreVRvZ2dsZVN3aXRjaExhYmVsSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktdG9nZ2xlLXN3aXRjaC1sYWJlbCc7XG5cbiAgI2dldExhYmVsQ29udGVudCA9IHRoaXMubG9jYXRvckZvcignc3Bhbltza3lUcmltXScpO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIHRvZ2dsZSBzd2l0Y2ggbGFiZWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TGFiZWxDb250ZW50KCkpLnRleHQoKTtcbiAgfVxufVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\nimport { SkyToggleSwitchLabelHarness } from './toggle-switch-label-harness';\n/**\n * Harness for interacting with a toggle switch component in tests.\n */\nexport class SkyToggleSwitchHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-toggle-switch'; }\n #getButton = this.locatorFor('button.sky-toggle-switch-button');\n #getLabel = this.locatorForOptional(SkyToggleSwitchLabelHarness);\n #getLabelText = this.locatorForOptional('span.sky-toggle-switch-label-text');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyToggleSwitchHarness` that meets certain criteria.\n */\n static with(filters) {\n return SkyToggleSwitchHarness.getDataSkyIdPredicate(filters);\n }\n /**\n * Blurs the toggle switch.\n */\n async blur() {\n await (await this.#getButton()).blur();\n }\n /**\n * Clicks the help inline button.\n */\n async clickHelpInline() {\n await (await this.#getHelpInline()).click();\n }\n /**\n * Puts the toggle switch in a checked state.\n */\n async check() {\n if (!(await this.isChecked())) {\n await this.#toggle();\n }\n }\n /**\n * Focuses the toggle switch.\n */\n async focus() {\n await (await this.#getButton()).focus();\n }\n /**\n * Gets the help popover content.\n */\n async getHelpPopoverContent() {\n return await (await this.#getHelpInline()).getPopoverContent();\n }\n /**\n * Gets the help popover title.\n */\n async getHelpPopoverTitle() {\n return await (await this.#getHelpInline()).getPopoverTitle();\n }\n /**\n * Whether the label is hidden. Only supported when using the `labelText` input to set the label.\n */\n async getLabelHidden() {\n const labelText = await this.#getLabelText();\n const labelComponent = await this.#getLabel();\n if (labelComponent) {\n throw new Error('`labelHidden` is only supported when setting the toggle switch label via the `labelText` input.');\n }\n else {\n return !(await labelText?.text());\n }\n }\n /**\n * Gets the toggle switch's label text. If the label is set via `labelText` and `labelHidden` is true,\n * the text will still be returned.\n */\n async getLabelText() {\n const labelText = await (await this.#getLabelText())?.text();\n const ariaLabel = await this.#getAriaLabel();\n return (labelText || ariaLabel || (await (await this.#getLabel())?.getText()));\n }\n /**\n * Whether the toggle switch is checked.\n */\n async isChecked() {\n return await (await this.#getButton()).hasClass('sky-toggle-switch-checked');\n }\n /**\n * Whether the toggle switch is disabled.\n */\n async isDisabled() {\n const disabled = await (await this.#getButton()).getAttribute('disabled');\n return disabled !== null;\n }\n /**\n * Whether the toggle switch is focused.\n */\n async isFocused() {\n return await (await this.#getButton()).isFocused();\n }\n /**\n * Puts the toggle switch in an unchecked state.\n */\n async uncheck() {\n if (await this.isChecked()) {\n await this.#toggle();\n }\n }\n async #getAriaLabel() {\n return await (await this.#getButton()).getAttribute('aria-label');\n }\n async #getHelpInline() {\n const harness = await this.locatorForOptional(SkyHelpInlineHarness)();\n if (harness) {\n return harness;\n }\n throw Error('No help inline found.');\n }\n async #toggle() {\n if (await this.isDisabled()) {\n throw new Error('Could not toggle the toggle switch because it is disabled.');\n }\n else {\n await (await this.#getButton()).click();\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLXN3aXRjaC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3Rlc3Rpbmcvc3JjL21vZHVsZXMvdG9nZ2xlLXN3aXRjaC90b2dnbGUtc3dpdGNoLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHbEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFNUU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsbUJBQW1CO0lBQzdEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxtQkFBbUIsQ0FBQztJQUVqRCxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ2hFLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUNqRSxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFFN0U7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBc0M7UUFFdEMsT0FBTyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxlQUFlO1FBQzFCLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lB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b0JBQW9CLENBQUMsRUFBRSxDQUFDO1FBRXRFLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5SGVscElubGluZUhhcm5lc3MgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVRvZ2dsZVN3aXRjaEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi90b2dnbGUtc3dpdGNoLWhhcm5lc3MtZmlsdGVycyc7XG5pbXBvcnQgeyBTa3lUb2dnbGVTd2l0Y2hMYWJlbEhhcm5lc3MgfSBmcm9tICcuL3RvZ2dsZS1zd2l0Y2gtbGFiZWwtaGFybmVzcyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIHRvZ2dsZSBzd2l0Y2ggY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5VG9nZ2xlU3dpdGNoSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktdG9nZ2xlLXN3aXRjaCc7XG5cbiAgI2dldEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignYnV0dG9uLnNreS10b2dnbGUtc3dpdGNoLWJ1dHRvbicpO1xuICAjZ2V0TGFiZWwgPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lUb2dnbGVTd2l0Y2hMYWJlbEhhcm5lc3MpO1xuICAjZ2V0TGFiZWxUZXh0ID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJ3NwYW4uc2t5LXRvZ2dsZS1zd2l0Y2gtbGFiZWwtdGV4dCcpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lUb2dnbGVTd2l0Y2hIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5VG9nZ2xlU3dpdGNoSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5VG9nZ2xlU3dpdGNoSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lUb2dnbGVTd2l0Y2hIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCbHVycyB0aGUgdG9nZ2xlIHN3aXRjaC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBibHVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRCdXR0b24oKSkuYmx1cigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgaGVscCBpbmxpbmUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrSGVscElubGluZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFB1dHMgdGhlIHRvZ2dsZSBzd2l0Y2ggaW4gYSBjaGVja2VkIHN0YXRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNoZWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghKGF3YWl0IHRoaXMuaXNDaGVja2VkKCkpKSB7XG4gICAgICBhd2FpdCB0aGlzLiN0b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRm9jdXNlcyB0aGUgdG9nZ2xlIHN3aXRjaC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBmb2N1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0QnV0dG9uKCkpLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGVscCBwb3BvdmVyIGNvbnRlbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJDb250ZW50KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRIZWxwSW5saW5lKCkpLmdldFBvcG92ZXJDb250ZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGVscCBwb3BvdmVyIHRpdGxlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEhlbHBQb3BvdmVyVGl0bGUoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlclRpdGxlKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbGFiZWwgaXMgaGlkZGVuLiBPbmx5IHN1cHBvcnRlZCB3aGVuIHVzaW5nIHRoZSBgbGFiZWxUZXh0YCBpbnB1dCB0byBzZXQgdGhlIGxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldExhYmVsSGlkZGVuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGxhYmVsVGV4dCA9IGF3YWl0IHRoaXMuI2dldExhYmVsVGV4dCgpO1xuICAgIGNvbnN0IGxhYmVsQ29tcG9uZW50ID0gYXdhaXQgdGhpcy4jZ2V0TGFiZWwoKTtcblxuICAgIGlmIChsYWJlbENvbXBvbmVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnYGxhYmVsSGlkZGVuYCBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIHNldHRpbmcgdGhlIHRvZ2dsZSBzd2l0Y2ggbGFiZWwgdmlhIHRoZSBgbGFiZWxUZXh0YCBpbnB1dC4nLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICEoYXdhaXQgbGFiZWxUZXh0Py50ZXh0KCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0b2dnbGUgc3dpdGNoJ3MgbGFiZWwgdGV4dC4gSWYgdGhlIGxhYmVsIGlzIHNldCB2aWEgYGxhYmVsVGV4dGAgYW5kIGBsYWJlbEhpZGRlbmAgaXMgdHJ1ZSxcbiAgICogdGhlIHRleHQgd2lsbCBzdGlsbCBiZSByZXR1cm5lZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMYWJlbFRleHQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBsYWJlbFRleHQgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TGFiZWxUZXh0KCkpPy50ZXh0KCk7XG4gICAgY29uc3QgYXJpYUxhYmVsID0gYXdhaXQgdGhpcy4jZ2V0QXJpYUxhYmVsKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgbGFiZWxUZXh0IHx8IGFyaWFMYWJlbCB8fCAoYXdhaXQgKGF3YWl0IHRoaXMuI2dldExhYmVsKCkpPy5nZXRUZXh0KCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0b2dnbGUgc3dpdGNoIGlzIGNoZWNrZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNDaGVja2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoXG4gICAgICBhd2FpdCB0aGlzLiNnZXRCdXR0b24oKVxuICAgICkuaGFzQ2xhc3MoJ3NreS10b2dnbGUtc3dpdGNoLWNoZWNrZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0b2dnbGUgc3dpdGNoIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRGlzYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0QnV0dG9uKCkpLmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICByZXR1cm4gZGlzYWJsZWQgIT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdG9nZ2xlIHN3aXRjaCBpcyBmb2N1c2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRm9jdXNlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEJ1dHRvbigpKS5pc0ZvY3VzZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQdXRzIHRoZSB0b2dnbGUgc3dpdGNoIGluIGFuIHVuY2hlY2tlZCBzdGF0ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyB1bmNoZWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmlzQ2hlY2tlZCgpKSB7XG4gICAgICBhd2FpdCB0aGlzLiN0b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyAjZ2V0QXJpYUxhYmVsKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0QnV0dG9uKCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpO1xuICB9XG5cbiAgYXN5bmMgI2dldEhlbHBJbmxpbmUoKTogUHJvbWlzZTxTa3lIZWxwSW5saW5lSGFybmVzcz4ge1xuICAgIGNvbnN0IGhhcm5lc3MgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChTa3lIZWxwSW5saW5lSGFybmVzcykoKTtcblxuICAgIGlmIChoYXJuZXNzKSB7XG4gICAgICByZXR1cm4gaGFybmVzcztcbiAgICB9XG5cbiAgICB0aHJvdyBFcnJvcignTm8gaGVscCBpbmxpbmUgZm91bmQuJyk7XG4gIH1cblxuICBhc3luYyAjdG9nZ2xlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmlzRGlzYWJsZWQoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ291bGQgbm90IHRvZ2dsZSB0aGUgdG9nZ2xlIHN3aXRjaCBiZWNhdXNlIGl0IGlzIGRpc2FibGVkLicsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0QnV0dG9uKCkpLmNsaWNrKCk7XG4gICAgfVxuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtZm9ybXMtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy90ZXN0aW5nL3NyYy9za3l1eC1mb3Jtcy10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0="],"names":[],"mappings":"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"}
|