@skyux/modals 13.9.1 → 13.11.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.
@@ -418,11 +418,11 @@ function provideConfirmTesting() {
418
418
  * Configures the `SkyConfirmTestingController` as the backend for the `SkyConfirmService`.
419
419
  */
420
420
  class SkyConfirmTestingModule {
421
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyConfirmTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
422
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: SkyConfirmTestingModule }); }
423
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyConfirmTestingModule, providers: [provideConfirmTesting()] }); }
421
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SkyConfirmTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
422
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: SkyConfirmTestingModule }); }
423
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SkyConfirmTestingModule, providers: [provideConfirmTesting()] }); }
424
424
  }
425
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyConfirmTestingModule, decorators: [{
425
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SkyConfirmTestingModule, decorators: [{
426
426
  type: NgModule,
427
427
  args: [{
428
428
  providers: [provideConfirmTesting()],
@@ -486,10 +486,10 @@ class SkyModalTestingService extends SkyModalTestingController {
486
486
  #getTopmostModal() {
487
487
  return Array.from(this.#modals.values()).pop();
488
488
  }
489
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyModalTestingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
490
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyModalTestingService }); }
489
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SkyModalTestingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
490
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SkyModalTestingService }); }
491
491
  }
492
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyModalTestingService, decorators: [{
492
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SkyModalTestingService, decorators: [{
493
493
  type: Injectable
494
494
  }] });
495
495
 
@@ -514,11 +514,11 @@ function provideModalTesting() {
514
514
  * Configures the `SkyModalTestingController` as the implementation for the `SkyModalService`.
515
515
  */
516
516
  class SkyModalTestingModule {
517
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyModalTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
518
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: SkyModalTestingModule }); }
519
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyModalTestingModule, providers: [provideModalTesting()] }); }
517
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SkyModalTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
518
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: SkyModalTestingModule }); }
519
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SkyModalTestingModule, providers: [provideModalTesting()] }); }
520
520
  }
521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyModalTestingModule, decorators: [{
521
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SkyModalTestingModule, decorators: [{
522
522
  type: NgModule,
523
523
  args: [{
524
524
  providers: [provideModalTesting()],
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-modals-testing.mjs","sources":["../tmp-esm2022/testing/legacy/modal-fixture.js","../tmp-esm2022/testing/modules/confirm/confirm-button-harness.js","../tmp-esm2022/testing/modules/confirm/confirm-harness.js","../tmp-esm2022/testing/modules/confirm/confirm-testing.controller.js","../tmp-esm2022/testing/modules/confirm/confirm-testing.service.js","../tmp-esm2022/testing/modules/confirm/provide-confirm-testing.js","../tmp-esm2022/testing/modules/confirm/confirm-testing.module.js","../tmp-esm2022/testing/modules/modal/controller/modal-testing.controller.js","../tmp-esm2022/testing/modules/modal/controller/modal-testing.service.js","../tmp-esm2022/testing/modules/modal/controller/provide-modal-testing.js","../tmp-esm2022/testing/modules/modal/controller/modal-testing.module.js","../tmp-esm2022/testing/modules/modal/modal-harness.js","../tmp-esm2022/testing/skyux-modals-testing.js"],"sourcesContent":["/**\n * Allows interaction with a SKY UX modal component.\n * @deprecated Use `SkyModalHarness` instead.\n * @internal\n */\nexport class SkyModalFixture {\n #modalElement;\n #fixture;\n constructor(fixture, skyTestId) {\n this.#fixture = fixture;\n const modalElement = document.querySelector('sky-modal[data-sky-id=\"' + skyTestId + '\"]');\n if (!modalElement) {\n throw new Error(`No element was found with a \\`data-sky-id\\` value of \"${skyTestId}\".`);\n }\n this.#modalElement = modalElement;\n }\n /**\n * The modal component's ARIA describedby attribute.\n */\n get ariaDescribedBy() {\n const modalDialogElement = this.#getModalDialogElement();\n /* Non-null assertion as our component has a default for if the user does not provide this attribute or if they provide \"undefined\" */\n const describedByAttribute = \n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n modalDialogElement.getAttribute('aria-describedby');\n return describedByAttribute;\n }\n /**\n * The modal component's ARIA labelledby attribute.\n */\n get ariaLabelledBy() {\n const modalDialogElement = this.#getModalDialogElement();\n /* Non-null assertion as our component has a default for if the user does not provide this attribute or if they provide \"undefined\" */\n const labelledByAttribute = \n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n modalDialogElement.getAttribute('aria-labelledby');\n return labelledByAttribute;\n }\n /**\n * The modal component's role attribute.\n */\n get ariaRole() {\n const modalDialogElement = this.#getModalDialogElement();\n /* Non-null assertion as our component has a default for if the user does not provide this attribute or if they provide \"undefined\" */\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const roleAttribute = modalDialogElement.getAttribute('role');\n return roleAttribute;\n }\n /**\n * Whether or not the modal is a full page modal.\n */\n get fullPage() {\n const modalDivElement = this.getModalDiv();\n return modalDivElement.classList.contains('sky-modal-full-page');\n }\n /**\n * The size of the modal.\n */\n get size() {\n const modalDivElement = this.getModalDiv();\n const possibleSizes = ['small', 'medium', 'large'];\n for (const size of possibleSizes) {\n if (modalDivElement.classList.contains('sky-modal-' + size)) {\n return size;\n }\n }\n return;\n }\n /**\n * Whether or not the modal is set up for tiled content.\n */\n get tiledBody() {\n const modalDivElement = this.getModalDiv();\n return modalDivElement.classList.contains('sky-modal-tiled');\n }\n /**\n * Clicks the modal header's \"close\" button.\n */\n clickHeaderCloseButton() {\n this.#checkModalElement();\n const closeButton = this.#modalElement.querySelector('.sky-modal .sky-modal-btn-close');\n if (closeButton &&\n window.getComputedStyle(closeButton).display !== 'none') {\n closeButton.click();\n this.#fixture.detectChanges();\n }\n else {\n throw new Error(`No header close button exists.`);\n }\n }\n /**\n * Clicks the modal header's \"help\" button.\n */\n clickHelpButton() {\n this.#checkModalElement();\n const helpButton = this.#modalElement.querySelector('.sky-modal .sky-modal-header-buttons button[name=\"help-button\"]');\n if (helpButton && window.getComputedStyle(helpButton).display !== 'none') {\n helpButton.click();\n this.#fixture.detectChanges();\n }\n else {\n throw new Error(`No help button exists.`);\n }\n }\n /**\n * Returns the main modal element.\n */\n getModalDiv() {\n this.#checkModalElement();\n return this.#modalElement.querySelector('.sky-modal');\n }\n /**\n * Returns the modal's content element.\n */\n getModalContentEl() {\n this.#checkModalElement();\n return this.#modalElement.querySelector('.sky-modal-content');\n }\n /**\n * Returns the modal's footer element.\n */\n getModalFooterEl() {\n this.#checkModalElement();\n return this.#modalElement.querySelector('.sky-modal-footer');\n }\n /**\n * Returns the modal's header element.\n */\n getModalHeaderEl() {\n this.#checkModalElement();\n return this.#modalElement.querySelector('.sky-modal-header');\n }\n #checkModalElement() {\n if (!document.contains(this.#modalElement)) {\n throw new Error('Modal element no longer exists. Was the modal closed?');\n }\n }\n #getModalDialogElement() {\n this.#checkModalElement();\n // We can always know that the dialog element will exist if the modal is open and exists.\n return this.#modalElement.querySelector('.sky-modal-dialog');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvbGVnYWN5L21vZGFsLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQzFCLGFBQWEsQ0FBYztJQUUzQixRQUFRLENBQTRCO0lBRXBDLFlBQVksT0FBa0MsRUFBRSxTQUFpQjtRQUMvRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUN6Qyx5QkFBeUIsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUM5QixDQUFDO1FBRWpCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUNiLHlEQUF5RCxTQUFTLElBQUksQ0FDdkUsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGVBQWU7UUFDeEIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN6RCxzSUFBc0k7UUFDdEksTUFBTSxvQkFBb0I7UUFDeEIsb0VBQW9FO1FBQ3BFLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBRSxDQUFDO1FBQ3ZELE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxjQUFjO1FBQ3ZCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDekQsc0lBQXNJO1FBQ3RJLE1BQU0sbUJBQW1CO1FBQ3ZCLG9FQUFvRTtRQUNwRSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUUsQ0FBQztRQUV0RCxPQUFPLG1C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Q3JCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDSCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLHlGQUF5RjtRQUN6RixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFFLENBQUM7SUFDaEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5cbi8qKlxuICogQWxsb3dzIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggbW9kYWwgY29tcG9uZW50LlxuICogQGRlcHJlY2F0ZWQgVXNlIGBTa3lNb2RhbEhhcm5lc3NgIGluc3RlYWQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreU1vZGFsRml4dHVyZSB7XG4gICNtb2RhbEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICNmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj4sIHNreVRlc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy4jZml4dHVyZSA9IGZpeHR1cmU7XG4gICAgY29uc3QgbW9kYWxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICdza3ktbW9kYWxbZGF0YS1za3ktaWQ9XCInICsgc2t5VGVzdElkICsgJ1wiXScsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICghbW9kYWxFbGVtZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBObyBlbGVtZW50IHdhcyBmb3VuZCB3aXRoIGEgXFxgZGF0YS1za3ktaWRcXGAgdmFsdWUgb2YgXCIke3NreVRlc3RJZH1cIi5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLiNtb2RhbEVsZW1lbnQgPSBtb2RhbEVsZW1lbnQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG1vZGFsIGNvbXBvbmVudCdzIEFSSUEgZGVzY3JpYmVkYnkgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGdldCBhcmlhRGVzY3JpYmVkQnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtb2RhbERpYWxvZ0VsZW1lbnQgPSB0aGlzLiNnZXRNb2RhbERpYWxvZ0VsZW1lbnQoKTtcbiAgICAvKiBOb24tbnVsbCBhc3NlcnRpb24gYXMgb3VyIGNvbXBvbmVudCBoYXMgYSBkZWZhdWx0IGZvciBpZiB0aGUgdXNlciBkb2VzIG5vdCBwcm92aWRlIHRoaXMgYXR0cmlidXRlIG9yIGlmIHRoZXkgcHJvdmlkZSBcInVuZGVmaW5lZFwiICovXG4gICAgY29uc3QgZGVzY3JpYmVkQnlBdHRyaWJ1dGUgPVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgIG1vZGFsRGlhbG9nRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKSE7XG4gICAgcmV0dXJuIGRlc2NyaWJlZEJ5QXR0cmlidXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtb2RhbCBjb21wb25lbnQncyBBUklBIGxhYmVsbGVkYnkgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGdldCBhcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG1vZGFsRGlhbG9nRWxlbWVudCA9IHRoaXMuI2dldE1vZGFsRGlhbG9nRWxlbWVudCgpO1xuICAgIC8qIE5vbi1udWxsIGFzc2VydGlvbiBhcyBvdXIgY29tcG9uZW50IGhhcyBhIGRlZmF1bHQgZm9yIGlmIHRoZSB1c2VyIGRvZXMgbm90IHByb3ZpZGUgdGhpcyBhdHRyaWJ1dGUgb3IgaWYgdGhleSBwcm92aWRlIFwidW5kZWZpbmVkXCIgKi9cbiAgICBjb25zdCBsYWJlbGxlZEJ5QXR0cmlidXRlID1cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICBtb2RhbERpYWxvZ0VsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKSE7XG5cbiAgICByZXR1cm4gbGFiZWxsZWRCeUF0dHJpYnV0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbW9kYWwgY29tcG9uZW50J3Mgcm9sZSBhdHRyaWJ1dGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFyaWFSb2xlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbW9kYWxEaWFsb2dFbGVtZW50ID0gdGhpcy4jZ2V0TW9kYWxEaWFsb2dFbGVtZW50KCk7XG4gICAgLyogTm9uLW51bGwgYXNzZXJ0aW9uIGFzIG91ciBjb21wb25lbnQgaGFzIGEgZGVmYXVsdCBmb3IgaWYgdGhlIHVzZXIgZG9lcyBub3QgcHJvdmlkZSB0aGlzIGF0dHJpYnV0ZSBvciBpZiB0aGV5IHByb3ZpZGUgXCJ1bmRlZmluZWRcIiAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgY29uc3Qgcm9sZUF0dHJpYnV0ZSA9IG1vZGFsRGlhbG9nRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSE7XG4gICAgcmV0dXJuIHJvbGVBdHRyaWJ1dGU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIG1vZGFsIGlzIGEgZnVsbCBwYWdlIG1vZGFsLlxuICAgKi9cbiAgcHVibGljIGdldCBmdWxsUGFnZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBtb2RhbERpdkVsZW1lbnQgPSB0aGlzLmdldE1vZGFsRGl2KCk7XG4gICAgcmV0dXJuIG1vZGFsRGl2RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1tb2RhbC1mdWxsLXBhZ2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNpemUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtb2RhbERpdkVsZW1lbnQgPSB0aGlzLmdldE1vZGFsRGl2KCk7XG4gICAgY29uc3QgcG9zc2libGVTaXplcyA9IFsnc21hbGwnLCAnbWVkaXVtJywgJ2xhcmdlJ107XG5cbiAgICBmb3IgKGNvbnN0IHNpemUgb2YgcG9zc2libGVTaXplcykge1xuICAgICAgaWYgKG1vZGFsRGl2RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1tb2RhbC0nICsgc2l6ZSkpIHtcbiAgICAgICAgcmV0dXJuIHNpemU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBtb2RhbCBpcyBzZXQgdXAgZm9yIHRpbGVkIGNvbnRlbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHRpbGVkQm9keSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBtb2RhbERpdkVsZW1lbnQgPSB0aGlzLmdldE1vZGFsRGl2KCk7XG4gICAgcmV0dXJuIG1vZGFsRGl2RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1tb2RhbC10aWxlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgbW9kYWwgaGVhZGVyJ3MgXCJjbG9zZVwiIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBjbGlja0hlYWRlckNsb3NlQnV0dG9uKCk6IHZvaWQge1xuICAgIHRoaXMuI2NoZWNrTW9kYWxFbGVtZW50KCk7XG4gICAgY29uc3QgY2xvc2VCdXR0b246IEhUTUxFbGVtZW50IHwgbnVsbCA9IHRoaXMuI21vZGFsRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5za3ktbW9kYWwgLnNreS1tb2RhbC1idG4tY2xvc2UnLFxuICAgICk7XG5cbiAgICBpZiAoXG4gICAgICBjbG9zZUJ1dHRvbiAmJlxuICAgICAgd2luZG93LmdldENvbXB1dGVkU3R5bGUoY2xvc2VCdXR0b24pLmRpc3BsYXkgIT09ICdub25lJ1xuICAgICkge1xuICAgICAgY2xvc2VCdXR0b24uY2xpY2soKTtcbiAgICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGhlYWRlciBjbG9zZSBidXR0b24gZXhpc3RzLmApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIG1vZGFsIGhlYWRlcidzIFwiaGVscFwiIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBjbGlja0hlbHBCdXR0b24oKTogdm9pZCB7XG4gICAgdGhpcy4jY2hlY2tNb2RhbEVsZW1lbnQoKTtcbiAgICBjb25zdCBoZWxwQnV0dG9uOiBIVE1MRWxlbWVudCB8IG51bGwgPSB0aGlzLiNtb2RhbEVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2t5LW1vZGFsIC5za3ktbW9kYWwtaGVhZGVyLWJ1dHRvbnMgYnV0dG9uW25hbWU9XCJoZWxwLWJ1dHRvblwiXScsXG4gICAgKTtcblxuICAgIGlmIChoZWxwQnV0dG9uICYmIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGhlbHBCdXR0b24pLmRpc3BsYXkgIT09ICdub25lJykge1xuICAgICAgaGVscEJ1dHRvbi5jbGljaygpO1xuICAgICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gaGVscCBidXR0b24gZXhpc3RzLmApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBtYWluIG1vZGFsIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0TW9kYWxEaXYoKTogYW55IHtcbiAgICB0aGlzLiNjaGVja01vZGFsRWxlbWVudCgpO1xuICAgIHJldHVybiB0aGlzLiNtb2RhbEVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1tb2RhbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1vZGFsJ3MgY29udGVudCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGdldE1vZGFsQ29udGVudEVsKCk6IGFueSB7XG4gICAgdGhpcy4jY2hlY2tNb2RhbEVsZW1lbnQoKTtcbiAgICByZXR1cm4gdGhpcy4jbW9kYWxFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktbW9kYWwtY29udGVudCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1vZGFsJ3MgZm9vdGVyIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0TW9kYWxGb290ZXJFbCgpOiBhbnkge1xuICAgIHRoaXMuI2NoZWNrTW9kYWxFbGVtZW50KCk7XG4gICAgcmV0dXJuIHRoaXMuI21vZGFsRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LW1vZGFsLWZvb3RlcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1vZGFsJ3MgaGVhZGVyIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0TW9kYWxIZWFkZXJFbCgpOiBhbnkge1xuICAgIHRoaXMuI2NoZWNrTW9kYWxFbGVtZW50KCk7XG4gICAgcmV0dXJuIHRoaXMuI21vZGFsRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LW1vZGFsLWhlYWRlcicpO1xuICB9XG5cbiAgI2NoZWNrTW9kYWxFbGVtZW50KCk6IHZvaWQge1xuICAgIGlmICghZG9jdW1lbnQuY29udGFpbnModGhpcy4jbW9kYWxFbGVtZW50KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNb2RhbCBlbGVtZW50IG5vIGxvbmdlciBleGlzdHMuIFdhcyB0aGUgbW9kYWwgY2xvc2VkPycpO1xuICAgIH1cbiAgfVxuXG4gICNnZXRNb2RhbERpYWxvZ0VsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHRoaXMuI2NoZWNrTW9kYWxFbGVtZW50KCk7XG4gICAgLy8gV2UgY2FuIGFsd2F5cyBrbm93IHRoYXQgdGhlIGRpYWxvZyBlbGVtZW50IHdpbGwgZXhpc3QgaWYgdGhlIG1vZGFsIGlzIG9wZW4gYW5kIGV4aXN0cy5cbiAgICByZXR1cm4gdGhpcy4jbW9kYWxFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktbW9kYWwtZGlhbG9nJykhO1xuICB9XG59XG4iXX0=","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\n/**\n * Harness for interacting with a confirm component in tests.\n */\nexport class SkyConfirmButtonHarness extends ComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = '.sky-confirm-buttons .sky-btn'; }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyConfirmButtonHarness` that meets certain criteria.\n */\n static with(filters) {\n return new HarnessPredicate(SkyConfirmButtonHarness, filters)\n .addOption('text', filters.text, async (harness, text) => {\n const buttonText = await harness.getText();\n return await HarnessPredicate.stringMatches(buttonText, text);\n })\n .addOption('styleType', filters.styleType, async (harness, styleType) => {\n const buttonStyleType = await harness.getStyleType();\n return await HarnessPredicate.stringMatches(buttonStyleType, styleType);\n });\n }\n /**\n * Clicks the confirm button.\n */\n async click() {\n await (await this.host()).click();\n }\n /**\n * Gets the button style of the confirm button.\n */\n async getStyleType() {\n const hostEl = await this.host();\n if (await hostEl.hasClass('sky-btn-primary')) {\n return 'primary';\n }\n else if (await hostEl.hasClass('sky-btn-link')) {\n return 'link';\n }\n else if (await hostEl.hasClass('sky-btn-danger')) {\n return 'danger';\n }\n return 'default';\n }\n /**\n * Gets the text content of the confirm button.\n */\n async getText() {\n return await (await this.host()).text();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1idXR0b24taGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0tYnV0dG9uLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFLMUU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZ0JBQWdCO0lBQzNEOztPQUVHO2FBQ1csaUJBQVksR0FBRywrQkFBK0IsQ0FBQztJQUU3RDs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUF1QztRQUV2QyxPQUFPLElBQUksZ0JBQWdCLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO2FBQzFELFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3ZELE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNDLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQzthQUNELFNBQVMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQ3RFLE1BQU0sZUFBZSxHQUFHLE1BQU0sT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JELE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFlBQVk7UUFDdkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFakMsSUFBSSxNQUFNLE1BQU0sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQzdDLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7YUFBTSxJQUFJLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ2pELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxJQUFJLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbkQsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEhhcm5lc3MsIEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb25maXJtQnV0dG9uU3R5bGVUeXBlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vY29uZmlybS1idXR0b24taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgY29uZmlybSBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtQnV0dG9uSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICcuc2t5LWNvbmZpcm0tYnV0dG9ucyAuc2t5LWJ0bic7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUNvbmZpcm1CdXR0b25IYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5Q29uZmlybUJ1dHRvbkhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUNvbmZpcm1CdXR0b25IYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKFNreUNvbmZpcm1CdXR0b25IYXJuZXNzLCBmaWx0ZXJzKVxuICAgICAgLmFkZE9wdGlvbigndGV4dCcsIGZpbHRlcnMudGV4dCwgYXN5bmMgKGhhcm5lc3MsIHRleHQpID0+IHtcbiAgICAgICAgY29uc3QgYnV0dG9uVGV4dCA9IGF3YWl0IGhhcm5lc3MuZ2V0VGV4dCgpO1xuICAgICAgICByZXR1cm4gYXdhaXQgSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGJ1dHRvblRleHQsIHRleHQpO1xuICAgICAgfSlcbiAgICAgIC5hZGRPcHRpb24oJ3N0eWxlVHlwZScsIGZpbHRlcnMuc3R5bGVUeXBlLCBhc3luYyAoaGFybmVzcywgc3R5bGVUeXBlKSA9PiB7XG4gICAgICAgIGNvbnN0IGJ1dHRvblN0eWxlVHlwZSA9IGF3YWl0IGhhcm5lc3MuZ2V0U3R5bGVUeXBlKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoYnV0dG9uU3R5bGVUeXBlLCBzdHlsZVR5cGUpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBjb25maXJtIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgYnV0dG9uIHN0eWxlIG9mIHRoZSBjb25maXJtIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTdHlsZVR5cGUoKTogUHJvbWlzZTxTa3lDb25maXJtQnV0dG9uU3R5bGVUeXBlPiB7XG4gICAgY29uc3QgaG9zdEVsID0gYXdhaXQgdGhpcy5ob3N0KCk7XG5cbiAgICBpZiAoYXdhaXQgaG9zdEVsLmhhc0NsYXNzKCdza3ktYnRuLXByaW1hcnknKSkge1xuICAgICAgcmV0dXJuICdwcmltYXJ5JztcbiAgICB9IGVsc2UgaWYgKGF3YWl0IGhvc3RFbC5oYXNDbGFzcygnc2t5LWJ0bi1saW5rJykpIHtcbiAgICAgIHJldHVybiAnbGluayc7XG4gICAgfSBlbHNlIGlmIChhd2FpdCBob3N0RWwuaGFzQ2xhc3MoJ3NreS1idG4tZGFuZ2VyJykpIHtcbiAgICAgIHJldHVybiAnZGFuZ2VyJztcbiAgICB9XG4gICAgcmV0dXJuICdkZWZhdWx0JztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIGNvbmZpcm0gYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS50ZXh0KCk7XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyConfirmType } from '@skyux/modals';\nimport { SkyConfirmButtonHarness } from './confirm-button-harness';\n/**\n * Harness for interacting with a confirm component in tests.\n */\nexport class SkyConfirmHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-confirm'; }\n #getBodyEl = this.locatorForOptional('.sky-confirm-body');\n #getButtons = this.locatorForAll(SkyConfirmButtonHarness);\n #getConfirmEl = this.locatorFor('.sky-confirm');\n #getMessageEl = this.locatorFor('.sky-confirm-message');\n /**\n * Clicks a confirm button.\n */\n async clickCustomButton(filters) {\n const buttons = await this.getCustomButtons(filters);\n if (buttons.length > 1) {\n if (filters.text instanceof RegExp) {\n filters.text = filters.text.toString();\n }\n throw new Error(`More than one button matches the filter(s): ${JSON.stringify(filters)}.`);\n }\n await buttons[0].click();\n }\n /**\n * Clicks a confirm button.\n */\n async clickOkButton() {\n const type = await this.getType();\n if (type === SkyConfirmType.Custom) {\n throw new Error('Cannot click OK button on a confirm of type custom.');\n }\n const buttons = await this.#getButtons();\n await buttons[0].click();\n }\n /**\n * Gets the body of the confirm component.\n */\n async getBodyText() {\n return await (await this.#getBodyEl())?.text();\n }\n /**\n * Gets a specific confirm custom button based on the filter criteria.\n * @param filter The filter criteria.\n */\n async getCustomButton(filter) {\n const confirmType = await this.getType();\n if (confirmType !== SkyConfirmType.Custom) {\n throw new Error('Cannot get a custom button for non-custom confirm modals.');\n }\n return await this.locatorFor(SkyConfirmButtonHarness.with(filter))();\n }\n /**\n * Gets an array of confirm custom buttons based on the filter criteria.\n * If no filter is provided, returns all confirm custom buttons.\n * @param filters The optional filter criteria.\n */\n async getCustomButtons(filters) {\n const confirmType = await this.getType();\n if (confirmType !== SkyConfirmType.Custom) {\n throw new Error('Cannot get custom buttons for non-custom confirm modals.');\n }\n return await this.locatorForAll(SkyConfirmButtonHarness.with(filters || {}))();\n }\n /**\n * Gets the message of the confirm component.\n */\n async getMessageText() {\n return await (await this.#getMessageEl()).text();\n }\n /**\n * Gets the type of the confirm component.\n */\n async getType() {\n const confirmEl = await this.#getConfirmEl();\n if (await confirmEl.hasClass('sky-confirm-type-ok')) {\n return SkyConfirmType.OK;\n }\n return SkyConfirmType.Custom;\n }\n /**\n * Whether the whitespace is preserved on the confirm component.\n */\n async isWhiteSpacePreserved() {\n return await (await this.#getMessageEl()).hasClass('sky-confirm-preserve-white-space');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy90ZXN0aW5nL3NyYy9tb2R1bGVzL2NvbmZpcm0vY29uZmlybS1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHbkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW1CO0lBQ3hEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxhQUFhLENBQUM7SUFFM0MsVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzFELFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUQsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEQsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUV4RDs7T0FFRztJQUNJLEtBQUssQ0FBQyxpQkFBaUIsQ0FDNUIsT0FBdUM7UUFFdkMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFckQsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksT0FBTyxDQUFDLElBQUksWUFBWSxNQUFNLEVBQUUsQ0FBQztnQkFDbkMsT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pDLENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLCtDQUErQyxJQUFJLENBQUMsU0FBUyxDQUMzRCxPQUFPLENBQ1IsR0FBRyxDQUNMLENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGFBQWE7UUFDeEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFbEMsSUFBSSxJQUFJLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekMsTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLGVBQWUsQ0FDMUIsTUFBc0M7UUFFdEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFekMsSUFBSSxXQUFXLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFDLE1BQU0sSUFBSSxLQUFLLENBQ2IsMkRBQTJELENBQzVELENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDM0IsT0FBd0M7UUFFeEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFekMsSUFBSSxXQUFXLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFDLE1BQU0sSUFBSSxLQUFLLENBQ2IsMERBQTBELENBQzNELENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQzdCLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQzVDLEVBQUUsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxjQUFjO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0MsSUFBSSxNQUFNLFNBQVMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1lBQ3BELE9BQU8sY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxxQkFBcUI7UUFDaEMsT0FBTyxNQUFNLENBQ1gsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQzNCLENBQUMsUUFBUSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbmZpcm1UeXBlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzIH0gZnJvbSAnLi9jb25maXJtLWJ1dHRvbi1oYXJuZXNzJztcbmltcG9ydCB7IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vY29uZmlybS1idXR0b24taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgY29uZmlybSBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktY29uZmlybSc7XG5cbiAgI2dldEJvZHlFbCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCcuc2t5LWNvbmZpcm0tYm9keScpO1xuICAjZ2V0QnV0dG9ucyA9IHRoaXMubG9jYXRvckZvckFsbChTa3lDb25maXJtQnV0dG9uSGFybmVzcyk7XG4gICNnZXRDb25maXJtRWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktY29uZmlybScpO1xuICAjZ2V0TWVzc2FnZUVsID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWNvbmZpcm0tbWVzc2FnZScpO1xuXG4gIC8qKlxuICAgKiBDbGlja3MgYSBjb25maXJtIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0N1c3RvbUJ1dHRvbihcbiAgICBmaWx0ZXJzOiBTa3lDb25maXJtQnV0dG9uSGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJ1dHRvbnMgPSBhd2FpdCB0aGlzLmdldEN1c3RvbUJ1dHRvbnMoZmlsdGVycyk7XG5cbiAgICBpZiAoYnV0dG9ucy5sZW5ndGggPiAxKSB7XG4gICAgICBpZiAoZmlsdGVycy50ZXh0IGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIGZpbHRlcnMudGV4dCA9IGZpbHRlcnMudGV4dC50b1N0cmluZygpO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgTW9yZSB0aGFuIG9uZSBidXR0b24gbWF0Y2hlcyB0aGUgZmlsdGVyKHMpOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICl9LmAsXG4gICAgICApO1xuICAgIH1cbiAgICBhd2FpdCBidXR0b25zWzBdLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIGEgY29uZmlybSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tPa0J1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB0eXBlID0gYXdhaXQgdGhpcy5nZXRUeXBlKCk7XG5cbiAgICBpZiAodHlwZSA9PT0gU2t5Q29uZmlybVR5cGUuQ3VzdG9tKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjbGljayBPSyBidXR0b24gb24gYSBjb25maXJtIG9mIHR5cGUgY3VzdG9tLicpO1xuICAgIH1cbiAgICBjb25zdCBidXR0b25zID0gYXdhaXQgdGhpcy4jZ2V0QnV0dG9ucygpO1xuICAgIGF3YWl0IGJ1dHRvbnNbMF0uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBib2R5IG9mIHRoZSBjb25maXJtIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRCb2R5VGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Qm9keUVsKCkpPy50ZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIHNwZWNpZmljIGNvbmZpcm0gY3VzdG9tIGJ1dHRvbiBiYXNlZCBvbiB0aGUgZmlsdGVyIGNyaXRlcmlhLlxuICAgKiBAcGFyYW0gZmlsdGVyIFRoZSBmaWx0ZXIgY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q3VzdG9tQnV0dG9uKFxuICAgIGZpbHRlcjogU2t5Q29uZmlybUJ1dHRvbkhhcm5lc3NGaWx0ZXJzLFxuICApOiBQcm9taXNlPFNreUNvbmZpcm1CdXR0b25IYXJuZXNzPiB7XG4gICAgY29uc3QgY29uZmlybVR5cGUgPSBhd2FpdCB0aGlzLmdldFR5cGUoKTtcblxuICAgIGlmIChjb25maXJtVHlwZSAhPT0gU2t5Q29uZmlybVR5cGUuQ3VzdG9tKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgZ2V0IGEgY3VzdG9tIGJ1dHRvbiBmb3Igbm9uLWN1c3RvbSBjb25maXJtIG1vZGFscy4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFNreUNvbmZpcm1CdXR0b25IYXJuZXNzLndpdGgoZmlsdGVyKSkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFuIGFycmF5IG9mIGNvbmZpcm0gY3VzdG9tIGJ1dHRvbnMgYmFzZWQgb24gdGhlIGZpbHRlciBjcml0ZXJpYS5cbiAgICogSWYgbm8gZmlsdGVyIGlzIHByb3ZpZGVkLCByZXR1cm5zIGFsbCBjb25maXJtIGN1c3RvbSBidXR0b25zLlxuICAgKiBAcGFyYW0gZmlsdGVycyBUaGUgb3B0aW9uYWwgZmlsdGVyIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEN1c3RvbUJ1dHRvbnMoXG4gICAgZmlsdGVycz86IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxTa3lDb25maXJtQnV0dG9uSGFybmVzc1tdPiB7XG4gICAgY29uc3QgY29uZmlybVR5cGUgPSBhd2FpdCB0aGlzLmdldFR5cGUoKTtcblxuICAgIGlmIChjb25maXJtVHlwZSAhPT0gU2t5Q29uZmlybVR5cGUuQ3VzdG9tKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgZ2V0IGN1c3RvbSBidXR0b25zIGZvciBub24tY3VzdG9tIGNvbmZpcm0gbW9kYWxzLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoXG4gICAgICBTa3lDb25maXJtQnV0dG9uSGFybmVzcy53aXRoKGZpbHRlcnMgfHwge30pLFxuICAgICkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBtZXNzYWdlIG9mIHRoZSBjb25maXJtIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRNZXNzYWdlVGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TWVzc2FnZUVsKCkpLnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0eXBlIG9mIHRoZSBjb25maXJtIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUeXBlKCk6IFByb21pc2U8U2t5Q29uZmlybVR5cGU+IHtcbiAgICBjb25zdCBjb25maXJtRWwgPSBhd2FpdCB0aGlzLiNnZXRDb25maXJtRWwoKTtcbiAgICBpZiAoYXdhaXQgY29uZmlybUVsLmhhc0NsYXNzKCdza3ktY29uZmlybS10eXBlLW9rJykpIHtcbiAgICAgIHJldHVybiBTa3lDb25maXJtVHlwZS5PSztcbiAgICB9XG5cbiAgICByZXR1cm4gU2t5Q29uZmlybVR5cGUuQ3VzdG9tO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHdoaXRlc3BhY2UgaXMgcHJlc2VydmVkIG9uIHRoZSBjb25maXJtIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1doaXRlU3BhY2VQcmVzZXJ2ZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMuI2dldE1lc3NhZ2VFbCgpXG4gICAgKS5oYXNDbGFzcygnc2t5LWNvbmZpcm0tcHJlc2VydmUtd2hpdGUtc3BhY2UnKTtcbiAgfVxufVxuIl19","/**\n * A controller to be injected into tests, which mocks the confirm service\n * and handles interactions with confirm dialogs.\n */\nexport class SkyConfirmTestingController {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS10ZXN0aW5nLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvY29uZmlybS9jb25maXJtLXRlc3RpbmcuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLDJCQUEyQjtDQXNCaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MsIFNreUNvbmZpcm1Db25maWcgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuLyoqXG4gKiBBIGNvbnRyb2xsZXIgdG8gYmUgaW5qZWN0ZWQgaW50byB0ZXN0cywgd2hpY2ggbW9ja3MgdGhlIGNvbmZpcm0gc2VydmljZVxuICogYW5kIGhhbmRsZXMgaW50ZXJhY3Rpb25zIHdpdGggY29uZmlybSBkaWFsb2dzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2t5Q29uZmlybVRlc3RpbmdDb250cm9sbGVyIHtcbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgY29uZmlybSBkaWFsb2cgd2l0aCB0aGUgXCJjYW5jZWxcIiBhY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgY2FuY2VsKCk6IHZvaWQ7XG4gIC8qKlxuICAgKiBUaHJvd3MgaWYgYSBjb25maXJtIGRpYWxvZyBpcyBvcGVuLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdE5vbmUoKTogdm9pZDtcbiAgLyoqXG4gICAqIFRocm93cyBpZiB0aGUgb3BlbiBjb25maXJtIGRpYWxvZyBkb2VzIG5vdCBtYXRjaCB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cbiAgICogQHBhcmFtIGNvbmZpZ1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdE9wZW4oY29uZmlnOiBTa3lDb25maXJtQ29uZmlnKTogdm9pZDtcbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgY29uZmlybSBkaWFsb2cgd2l0aCB0aGUgcHJvdmlkZWQgYWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsb3NlKGFyZ3M6IFNreUNvbmZpcm1DbG9zZUV2ZW50QXJncyk6IHZvaWQ7XG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGNvbmZpcm0gZGlhbG9nIHdpdGggdGhlIFwib2tcIiBhY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3Qgb2soKTogdm9pZDtcbn1cbiJdfQ==","import { SkyConfirmInstance, SkyConfirmType, } from '@skyux/modals';\nimport { SkyConfirmTestingController } from './confirm-testing.controller';\nfunction assertConfirmOpen(value) {\n if (value === undefined) {\n throw new Error('A confirm dialog is expected to be open but is closed.');\n }\n return;\n}\nfunction assertConfirmClosed(value) {\n if (value !== undefined) {\n throw new Error('A confirm dialog is expected to be closed but is open.');\n }\n return;\n}\nfunction isButtonConfigArray(val) {\n return (Array.isArray(val) && (val.length === 0 || val[0].action !== undefined));\n}\nfunction buttonConfigMatches(actual, expected) {\n return (expected.action === actual.action &&\n expected.text === actual.text &&\n expected.styleType === actual.styleType);\n}\n/**\n * @internal\n */\nexport class SkyConfirmTestingService extends SkyConfirmTestingController {\n #testSubject;\n cancel() {\n this.close({ action: 'cancel' });\n }\n ok() {\n this.close({ action: 'ok' });\n }\n close(args) {\n assertConfirmOpen(this.#testSubject);\n const isActionPermitted = this.#testSubject?.buttons.some((b) => b.action === args.action);\n if (isActionPermitted) {\n this.#testSubject.instance.close(args);\n this.#testSubject = undefined;\n }\n else {\n throw new Error(`The confirm dialog does not have a button configured for the \"${args.action}\" action.`);\n }\n }\n expectNone() {\n assertConfirmClosed(this.#testSubject);\n }\n expectOpen(expectedConfig) {\n assertConfirmOpen(this.#testSubject);\n const actualConfig = this.#testSubject.config;\n for (const [key, expectedValue] of Object.entries(expectedConfig)) {\n const k = key;\n const actualValue = actualConfig[k];\n if (isButtonConfigArray(expectedValue) &&\n isButtonConfigArray(actualValue)) {\n if (expectedValue.length !== actualValue.length)\n throwDetailedError();\n expectedValue.forEach((expectedButton, index) => {\n if (!buttonConfigMatches(expectedButton, actualValue[index])) {\n throwDetailedError();\n }\n });\n }\n else if (actualValue !== expectedValue) {\n throwDetailedError();\n }\n }\n function throwDetailedError() {\n throw new Error(`Expected a confirm dialog to be open with a specific configuration.\nExpected:\n${JSON.stringify(expectedConfig, undefined, 2)}\nActual:\n${JSON.stringify(actualConfig, undefined, 2)}\n`);\n }\n }\n open(config) {\n assertConfirmClosed(this.#testSubject);\n const instance = new SkyConfirmInstance();\n const testSubject = {\n buttons: [],\n config,\n instance,\n };\n switch (config.type) {\n case SkyConfirmType.Custom:\n config.buttons?.forEach((b) => {\n testSubject.buttons.push({ action: b.action, text: b.text });\n });\n break;\n case SkyConfirmType.OK:\n default:\n testSubject.buttons.push({ action: 'ok', text: 'Ok' });\n testSubject.buttons.push({ action: 'cancel', text: 'Cancel' });\n break;\n }\n this.#testSubject = testSubject;\n return instance;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS10ZXN0aW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvY29uZmlybS9jb25maXJtLXRlc3Rpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsa0JBQWtCLEVBRWxCLGNBQWMsR0FDZixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVEzRSxTQUFTLGlCQUFpQixDQUN4QixLQUE4QjtJQUU5QixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELE9BQU87QUFDVCxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FDMUIsS0FBOEI7SUFFOUIsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxPQUFPO0FBQ1QsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsR0FBWTtJQUN2QyxPQUFPLENBQ0wsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQ3hFLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FDMUIsTUFBOEIsRUFDOUIsUUFBZ0M7SUFFaEMsT0FBTyxDQUNMLFFBQVEsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU07UUFDakMsUUFBUSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSTtRQUM3QixR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TyxFQUFFLEVBQUU7WUFDWCxNQUFNO1lBQ04sUUFBUTtTQUNULENBQUM7UUFFRixRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixLQUFLLGNBQWMsQ0FBQyxNQUFNO2dCQUN4QixNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUM1QixXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDL0QsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUVSLEtBQUssY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUN2QjtnQkFDRSxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDL0QsTUFBTTtRQUNWLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUVoQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTa3lDb25maXJtQnV0dG9uQ29uZmlnLFxuICBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MsXG4gIFNreUNvbmZpcm1Db25maWcsXG4gIFNreUNvbmZpcm1JbnN0YW5jZSxcbiAgU2t5Q29uZmlybVNlcnZpY2VJbnRlcmZhY2UsXG4gIFNreUNvbmZpcm1UeXBlLFxufSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgU2t5Q29uZmlybVRlc3RpbmdDb250cm9sbGVyIH0gZnJvbSAnLi9jb25maXJtLXRlc3RpbmcuY29udHJvbGxlcic7XG5cbmludGVyZmFjZSBUZXN0U3ViamVjdCB7XG4gIGJ1dHRvbnM6IFNreUNvbmZpcm1CdXR0b25Db25maWdbXTtcbiAgY29uZmlnOiBTa3lDb25maXJtQ29uZmlnO1xuICBpbnN0YW5jZTogU2t5Q29uZmlybUluc3RhbmNlO1xufVxuXG5mdW5jdGlvbiBhc3NlcnRDb25maXJtT3BlbihcbiAgdmFsdWU6IFRlc3RTdWJqZWN0IHwgdW5kZWZpbmVkLFxuKTogYXNzZXJ0cyB2YWx1ZSBpcyBUZXN0U3ViamVjdCB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBIGNvbmZpcm0gZGlhbG9nIGlzIGV4cGVjdGVkIHRvIGJlIG9wZW4gYnV0IGlzIGNsb3NlZC4nKTtcbiAgfVxuXG4gIHJldHVybjtcbn1cblxuZnVuY3Rpb24gYXNzZXJ0Q29uZmlybUNsb3NlZChcbiAgdmFsdWU6IFRlc3RTdWJqZWN0IHwgdW5kZWZpbmVkLFxuKTogYXNzZXJ0cyB2YWx1ZSBpcyB1bmRlZmluZWQge1xuICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQSBjb25maXJtIGRpYWxvZyBpcyBleHBlY3RlZCB0byBiZSBjbG9zZWQgYnV0IGlzIG9wZW4uJyk7XG4gIH1cblxuICByZXR1cm47XG59XG5cbmZ1bmN0aW9uIGlzQnV0dG9uQ29uZmlnQXJyYXkodmFsOiB1bmtub3duKTogdmFsIGlzIFNreUNvbmZpcm1CdXR0b25Db25maWdbXSB7XG4gIHJldHVybiAoXG4gICAgQXJyYXkuaXNBcnJheSh2YWwpICYmICh2YWwubGVuZ3RoID09PSAwIHx8IHZhbFswXS5hY3Rpb24gIT09IHVuZGVmaW5lZClcbiAgKTtcbn1cblxuZnVuY3Rpb24gYnV0dG9uQ29uZmlnTWF0Y2hlcyhcbiAgYWN0dWFsOiBTa3lDb25maXJtQnV0dG9uQ29uZmlnLFxuICBleHBlY3RlZDogU2t5Q29uZmlybUJ1dHRvbkNvbmZpZyxcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGV4cGVjdGVkLmFjdGlvbiA9PT0gYWN0dWFsLmFjdGlvbiAmJlxuICAgIGV4cGVjdGVkLnRleHQgPT09IGFjdHVhbC50ZXh0ICYmXG4gICAgZXhwZWN0ZWQuc3R5bGVUeXBlID09PSBhY3R1YWwuc3R5bGVUeXBlXG4gICk7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtVGVzdGluZ1NlcnZpY2VcbiAgZXh0ZW5kcyBTa3lDb25maXJtVGVzdGluZ0NvbnRyb2xsZXJcbiAgaW1wbGVtZW50cyBTa3lDb25maXJtU2VydmljZUludGVyZmFjZVxue1xuICAjdGVzdFN1YmplY3Q6IFRlc3RTdWJqZWN0IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZSh7IGFjdGlvbjogJ2NhbmNlbCcgfSk7XG4gIH1cblxuICBwdWJsaWMgb2soKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZSh7IGFjdGlvbjogJ29rJyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZShhcmdzOiBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MpOiB2b2lkIHtcbiAgICBhc3NlcnRDb25maXJtT3Blbih0aGlzLiN0ZXN0U3ViamVjdCk7XG5cbiAgICBjb25zdCBpc0FjdGlvblBlcm1pdHRlZCA9IHRoaXMuI3Rlc3RTdWJqZWN0Py5idXR0b25zLnNvbWUoXG4gICAgICAoYikgPT4gYi5hY3Rpb24gPT09IGFyZ3MuYWN0aW9uLFxuICAgICk7XG5cbiAgICBpZiAoaXNBY3Rpb25QZXJtaXR0ZWQpIHtcbiAgICAgIHRoaXMuI3Rlc3RTdWJqZWN0Lmluc3RhbmNlLmNsb3NlKGFyZ3MpO1xuICAgICAgdGhpcy4jdGVzdFN1YmplY3QgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBjb25maXJtIGRpYWxvZyBkb2VzIG5vdCBoYXZlIGEgYnV0dG9uIGNvbmZpZ3VyZWQgZm9yIHRoZSBcIiR7YXJncy5hY3Rpb259XCIgYWN0aW9uLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBleHBlY3ROb25lKCk6IHZvaWQge1xuICAgIGFzc2VydENvbmZpcm1DbG9zZWQodGhpcy4jdGVzdFN1YmplY3QpO1xuICB9XG5cbiAgcHVibGljIGV4cGVjdE9wZW4oZXhwZWN0ZWRDb25maWc6IFNreUNvbmZpcm1Db25maWcpOiB2b2lkIHtcbiAgICBhc3NlcnRDb25maXJtT3Blbih0aGlzLiN0ZXN0U3ViamVjdCk7XG5cbiAgICBjb25zdCBhY3R1YWxDb25maWcgPSB0aGlzLiN0ZXN0U3ViamVjdC5jb25maWc7XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIGV4cGVjdGVkVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGV4cGVjdGVkQ29uZmlnKSkge1xuICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiB0eXBlb2YgZXhwZWN0ZWRDb25maWc7XG4gICAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IGFjdHVhbENvbmZpZ1trXTtcblxuICAgICAgaWYgKFxuICAgICAgICBpc0J1dHRvbkNvbmZpZ0FycmF5KGV4cGVjdGVkVmFsdWUpICYmXG4gICAgICAgIGlzQnV0dG9uQ29uZmlnQXJyYXkoYWN0dWFsVmFsdWUpXG4gICAgICApIHtcbiAgICAgICAgaWYgKGV4cGVjdGVkVmFsdWUubGVuZ3RoICE9PSBhY3R1YWxWYWx1ZS5sZW5ndGgpIHRocm93RGV0YWlsZWRFcnJvcigpO1xuXG4gICAgICAgIGV4cGVjdGVkVmFsdWUuZm9yRWFjaCgoZXhwZWN0ZWRCdXR0b24sIGluZGV4KSA9PiB7XG4gICAgICAgICAgaWYgKCFidXR0b25Db25maWdNYXRjaGVzKGV4cGVjdGVkQnV0dG9uLCBhY3R1YWxWYWx1ZVtpbmRleF0pKSB7XG4gICAgICAgICAgICB0aHJvd0RldGFpbGVkRXJyb3IoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChhY3R1YWxWYWx1ZSAhPT0gZXhwZWN0ZWRWYWx1ZSkge1xuICAgICAgICB0aHJvd0RldGFpbGVkRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0aHJvd0RldGFpbGVkRXJyb3IoKTogbmV2ZXIge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhIGNvbmZpcm0gZGlhbG9nIHRvIGJlIG9wZW4gd2l0aCBhIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24uXG5FeHBlY3RlZDpcbiR7SlNPTi5zdHJpbmdpZnkoZXhwZWN0ZWRDb25maWcsIHVuZGVmaW5lZCwgMil9XG5BY3R1YWw6XG4ke0pTT04uc3RyaW5naWZ5KGFjdHVhbENvbmZpZywgdW5kZWZpbmVkLCAyKX1cbmApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvcGVuKGNvbmZpZzogU2t5Q29uZmlybUNvbmZpZyk6IFNreUNvbmZpcm1JbnN0YW5jZSB7XG4gICAgYXNzZXJ0Q29uZmlybUNsb3NlZCh0aGlzLiN0ZXN0U3ViamVjdCk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBTa3lDb25maXJtSW5zdGFuY2UoKTtcbiAgICBjb25zdCB0ZXN0U3ViamVjdDogVGVzdFN1YmplY3QgPSB7XG4gICAgICBidXR0b25zOiBbXSxcbiAgICAgIGNvbmZpZyxcbiAgICAgIGluc3RhbmNlLFxuICAgIH07XG5cbiAgICBzd2l0Y2ggKGNvbmZpZy50eXBlKSB7XG4gICAgICBjYXNlIFNreUNvbmZpcm1UeXBlLkN1c3RvbTpcbiAgICAgICAgY29uZmlnLmJ1dHRvbnM/LmZvckVhY2goKGIpID0+IHtcbiAgICAgICAgICB0ZXN0U3ViamVjdC5idXR0b25zLnB1c2goeyBhY3Rpb246IGIuYWN0aW9uLCB0ZXh0OiBiLnRleHQgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lDb25maXJtVHlwZS5PSzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRlc3RTdWJqZWN0LmJ1dHRvbnMucHVzaCh7IGFjdGlvbjogJ29rJywgdGV4dDogJ09rJyB9KTtcbiAgICAgICAgdGVzdFN1YmplY3QuYnV0dG9ucy5wdXNoKHsgYWN0aW9uOiAnY2FuY2VsJywgdGV4dDogJ0NhbmNlbCcgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuI3Rlc3RTdWJqZWN0ID0gdGVzdFN1YmplY3Q7XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cbn1cbiJdfQ==","import { SkyConfirmService } from '@skyux/modals';\nimport { SkyConfirmTestingController } from './confirm-testing.controller';\nimport { SkyConfirmTestingService } from './confirm-testing.service';\n/**\n * @internal\n */\nexport function provideConfirmTesting() {\n return [\n SkyConfirmTestingService,\n {\n provide: SkyConfirmService,\n useExisting: SkyConfirmTestingService,\n },\n {\n provide: SkyConfirmTestingController,\n useExisting: SkyConfirmTestingService,\n },\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1jb25maXJtLXRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvY29uZmlybS9wcm92aWRlLWNvbmZpcm0tdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckU7O0dBRUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLE9BQU87UUFDTCx3QkFBd0I7UUFDeEI7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSx3QkFBd0I7U0FDdEM7UUFDRDtZQUNFLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsV0FBVyxFQUFFLHdCQUF3QjtTQUN0QztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUNvbmZpcm1TZXJ2aWNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFNreUNvbmZpcm1UZXN0aW5nQ29udHJvbGxlciB9IGZyb20gJy4vY29uZmlybS10ZXN0aW5nLmNvbnRyb2xsZXInO1xuaW1wb3J0IHsgU2t5Q29uZmlybVRlc3RpbmdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maXJtLXRlc3Rpbmcuc2VydmljZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ29uZmlybVRlc3RpbmcoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAgU2t5Q29uZmlybVRlc3RpbmdTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUNvbmZpcm1TZXJ2aWNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreUNvbmZpcm1UZXN0aW5nU2VydmljZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUNvbmZpcm1UZXN0aW5nQ29udHJvbGxlcixcbiAgICAgIHVzZUV4aXN0aW5nOiBTa3lDb25maXJtVGVzdGluZ1NlcnZpY2UsXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { provideConfirmTesting } from './provide-confirm-testing';\nimport * as i0 from \"@angular/core\";\n/**\n * Configures the `SkyConfirmTestingController` as the backend for the `SkyConfirmService`.\n */\nexport class SkyConfirmTestingModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmTestingModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmTestingModule, providers: [provideConfirmTesting()] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyConfirmTestingModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [provideConfirmTesting()],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0tdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFbEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QjsrR0FBdkIsdUJBQXVCLGFBRnZCLENBQUMscUJBQXFCLEVBQUUsQ0FBQzs7MkZBRXpCLHVCQUF1QjtrQkFIbkMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHByb3ZpZGVDb25maXJtVGVzdGluZyB9IGZyb20gJy4vcHJvdmlkZS1jb25maXJtLXRlc3RpbmcnO1xuXG4vKipcbiAqIENvbmZpZ3VyZXMgdGhlIGBTa3lDb25maXJtVGVzdGluZ0NvbnRyb2xsZXJgIGFzIHRoZSBiYWNrZW5kIGZvciB0aGUgYFNreUNvbmZpcm1TZXJ2aWNlYC5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZUNvbmZpcm1UZXN0aW5nKCldLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtVGVzdGluZ01vZHVsZSB7fVxuIl19","/**\n * A controller to be injected into tests, which mocks the modal service\n * and handles interactions with modal instances. For testing interactions\n * with the modal component itself, use the `SkyModalHarness`.\n */\nexport class SkyModalTestingController {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtdGVzdGluZy5jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy90ZXN0aW5nL3NyYy9tb2R1bGVzL21vZGFsL2NvbnRyb2xsZXIvbW9kYWwtdGVzdGluZy5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQWdCLHlCQUF5QjtDQXFCOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENsb3NlQXJncyB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuXG4vKipcbiAqIEEgY29udHJvbGxlciB0byBiZSBpbmplY3RlZCBpbnRvIHRlc3RzLCB3aGljaCBtb2NrcyB0aGUgbW9kYWwgc2VydmljZVxuICogYW5kIGhhbmRsZXMgaW50ZXJhY3Rpb25zIHdpdGggbW9kYWwgaW5zdGFuY2VzLiBGb3IgdGVzdGluZyBpbnRlcmFjdGlvbnNcbiAqIHdpdGggdGhlIG1vZGFsIGNvbXBvbmVudCBpdHNlbGYsIHVzZSB0aGUgYFNreU1vZGFsSGFybmVzc2AuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTa3lNb2RhbFRlc3RpbmdDb250cm9sbGVyIHtcbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgdG9wbW9zdCBtb2RhbCB3aXRoIHRoZSBwcm92aWRlZCBhcmd1bWVudHMuXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBtb2RhbCdzIGNsb3NlIGV2ZW50LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsb3NlVG9wTW9kYWwoYXJncz86IFNreU1vZGFsQ2xvc2VBcmdzKTogdm9pZDtcblxuICAvKipcbiAgICogVGhyb3dzIGlmIHRoZSBwcm92aWRlZCB2YWx1ZSBkb2VzIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIG9wZW4gbW9kYWxzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdENvdW50KHZhbHVlOiBudW1iZXIpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBUaHJvd3MgaWYgbW9kYWxzIGFyZSBvcGVuLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdE5vbmUoKTogdm9pZDtcblxuICAvKipcbiAgICogVGhyb3dzIGlmIHRoZSBnaXZlbiBjcml0ZXJpYSBkb2VzIG5vdCBtYXRjaCB0aGUgdG9wbW9zdCBvcGVuIG1vZGFsLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdE9wZW48VENvbXBvbmVudD4oY29tcG9uZW50OiBUeXBlPFRDb21wb25lbnQ+KTogdm9pZDtcbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport { SkyModalInstance, } from '@skyux/modals';\nimport { SkyModalTestingController } from './modal-testing.controller';\nimport * as i0 from \"@angular/core\";\n/**\n * @internal\n */\nexport class SkyModalTestingService extends SkyModalTestingController {\n #modals = new Map();\n ngOnDestroy() {\n for (const instance of this.#modals.keys()) {\n instance.close();\n }\n }\n closeTopModal(args) {\n const modal = this.#getTopmostModal();\n if (!modal) {\n throw new Error('Expected to close the topmost modal, but no modals are open.');\n }\n modal.instance.close(args?.data, args?.reason);\n }\n expectCount(value) {\n const count = this.#modals.size;\n if (count !== value) {\n throw new Error(`Expected ${value} open ${value === 1 ? 'modal' : 'modals'}, but ${count} ${count === 1 ? 'is' : 'are'} open.`);\n }\n }\n expectNone() {\n const count = this.#modals.size;\n if (count > 0) {\n throw new Error(`Expected no modals to be open, but there ${count === 1 ? 'is' : 'are'} ${count} open.`);\n }\n }\n expectOpen(component) {\n const modal = this.#getTopmostModal();\n if (!modal) {\n throw new Error('A modal is expected to be open, but no modals are open.');\n }\n if (modal.component !== component) {\n throw new Error(`Expected the topmost modal to be of type ${component.name}, but it is of type ${modal.component.name}.`);\n }\n }\n open(component, config) {\n const instance = new SkyModalInstance();\n instance.closed.subscribe(() => {\n this.#modals.delete(instance);\n });\n this.#modals.set(instance, { component, config, instance });\n return instance;\n }\n #getTopmostModal() {\n return Array.from(this.#modals.values()).pop();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalTestingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalTestingService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalTestingService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtdGVzdGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy90ZXN0aW5nL3NyYy9tb2R1bGVzL21vZGFsL2NvbnRyb2xsZXIvbW9kYWwtdGVzdGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQW1DLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFHTCxnQkFBZ0IsR0FFakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUXZFOztHQUVHO0FBRUgsTUFBTSxPQUFPLHNCQUNYLFNBQVEseUJBQXlCO0lBR3hCLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztJQUVyRCxXQUFXO1FBQ2hCLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQzNDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVNLGFBQWEsQ0FBQyxJQUF3QjtRQUMzQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUNiLDhEQUE4RCxDQUMvRCxDQUFDO1FBQ0osQ0FBQztRQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxXQUFXLENBQUMsS0FBYTtRQUM5QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUNoQyxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUNiLFlBQVksS0FBSyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxTQUFTLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUMvRyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFTSxVQUFVO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDaEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksS0FBSyxDQUNiLDRDQUE0QyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLFFBQVEsQ0FDeEYsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFhLFNBQTJCO1FBQ3ZELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQ2IseURBQXlELENBQzFELENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQ2IsNENBQTRDLFNBQVMsQ0FBQyxJQUFJLHVCQUF1QixLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxDQUN6RyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFTSxJQUFJLENBQ1QsU0FBMkIsRUFDM0IsTUFBMEQ7UUFFMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUU1RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNqRCxDQUFDOzhHQXpFVSxzQkFBc0I7a0hBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSwgU3RhdGljUHJvdmlkZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreU1vZGFsQ2xvc2VBcmdzLFxuICBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UsXG4gIFNreU1vZGFsSW5zdGFuY2UsXG4gIFNreU1vZGFsU2VydmljZUludGVyZmFjZSxcbn0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFNreU1vZGFsVGVzdGluZ0NvbnRyb2xsZXIgfSBmcm9tICcuL21vZGFsLXRlc3RpbmcuY29udHJvbGxlcic7XG5cbmludGVyZmFjZSBUZXN0U3ViamVjdDxUID0gdW5rbm93bj4ge1xuICBjb21wb25lbnQ6IFR5cGU8VD47XG4gIGNvbmZpZzogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIHwgU3RhdGljUHJvdmlkZXJbXSB8IHVuZGVmaW5lZDtcbiAgaW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2U7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbFRlc3RpbmdTZXJ2aWNlXG4gIGV4dGVuZHMgU2t5TW9kYWxUZXN0aW5nQ29udHJvbGxlclxuICBpbXBsZW1lbnRzIE9uRGVzdHJveSwgU2t5TW9kYWxTZXJ2aWNlSW50ZXJmYWNlXG57XG4gIHJlYWRvbmx5ICNtb2RhbHMgPSBuZXcgTWFwPFNreU1vZGFsSW5zdGFuY2UsIFRlc3RTdWJqZWN0PigpO1xuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGluc3RhbmNlIG9mIHRoaXMuI21vZGFscy5rZXlzKCkpIHtcbiAgICAgIGluc3RhbmNlLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlVG9wTW9kYWwoYXJncz86IFNreU1vZGFsQ2xvc2VBcmdzKTogdm9pZCB7XG4gICAgY29uc3QgbW9kYWwgPSB0aGlzLiNnZXRUb3Btb3N0TW9kYWwoKTtcbiAgICBpZiAoIW1vZGFsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdFeHBlY3RlZCB0byBjbG9zZSB0aGUgdG9wbW9zdCBtb2RhbCwgYnV0IG5vIG1vZGFscyBhcmUgb3Blbi4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBtb2RhbC5pbnN0YW5jZS5jbG9zZShhcmdzPy5kYXRhLCBhcmdzPy5yZWFzb24pO1xuICB9XG5cbiAgcHVibGljIGV4cGVjdENvdW50KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBjb3VudCA9IHRoaXMuI21vZGFscy5zaXplO1xuICAgIGlmIChjb3VudCAhPT0gdmFsdWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEV4cGVjdGVkICR7dmFsdWV9IG9wZW4gJHt2YWx1ZSA9PT0gMSA/ICdtb2RhbCcgOiAnbW9kYWxzJ30sIGJ1dCAke2NvdW50fSAke2NvdW50ID09PSAxID8gJ2lzJyA6ICdhcmUnfSBvcGVuLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBleHBlY3ROb25lKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy4jbW9kYWxzLnNpemU7XG4gICAgaWYgKGNvdW50ID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRXhwZWN0ZWQgbm8gbW9kYWxzIHRvIGJlIG9wZW4sIGJ1dCB0aGVyZSAke2NvdW50ID09PSAxID8gJ2lzJyA6ICdhcmUnfSAke2NvdW50fSBvcGVuLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBleHBlY3RPcGVuPFRDb21wb25lbnQ+KGNvbXBvbmVudDogVHlwZTxUQ29tcG9uZW50Pik6IHZvaWQge1xuICAgIGNvbnN0IG1vZGFsID0gdGhpcy4jZ2V0VG9wbW9zdE1vZGFsKCk7XG4gICAgaWYgKCFtb2RhbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQSBtb2RhbCBpcyBleHBlY3RlZCB0byBiZSBvcGVuLCBidXQgbm8gbW9kYWxzIGFyZSBvcGVuLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChtb2RhbC5jb21wb25lbnQgIT09IGNvbXBvbmVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRXhwZWN0ZWQgdGhlIHRvcG1vc3QgbW9kYWwgdG8gYmUgb2YgdHlwZSAke2NvbXBvbmVudC5uYW1lfSwgYnV0IGl0IGlzIG9mIHR5cGUgJHttb2RhbC5jb21wb25lbnQubmFtZX0uYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW48VENvbXBvbmVudD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFRDb21wb25lbnQ+LFxuICAgIGNvbmZpZz86IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSB8IFN0YXRpY1Byb3ZpZGVyW10sXG4gICk6IFNreU1vZGFsSW5zdGFuY2Uge1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFNreU1vZGFsSW5zdGFuY2UoKTtcblxuICAgIGluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy4jbW9kYWxzLmRlbGV0ZShpbnN0YW5jZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNtb2RhbHMuc2V0KGluc3RhbmNlLCB7IGNvbXBvbmVudCwgY29uZmlnLCBpbnN0YW5jZSB9KTtcblxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxuXG4gICNnZXRUb3Btb3N0TW9kYWwoKTogVGVzdFN1YmplY3QgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuI21vZGFscy52YWx1ZXMoKSkucG9wKCk7XG4gIH1cbn1cbiJdfQ==","import { SkyModalService } from '@skyux/modals';\nimport { SkyModalTestingController } from './modal-testing.controller';\nimport { SkyModalTestingService } from './modal-testing.service';\n/**\n * @internal\n */\nexport function provideModalTesting() {\n return [\n SkyModalTestingService,\n {\n provide: SkyModalService,\n useExisting: SkyModalTestingService,\n },\n {\n provide: SkyModalTestingController,\n useExisting: SkyModalTestingService,\n },\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1tb2RhbC10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy90ZXN0aW5nL3NyYy9tb2R1bGVzL21vZGFsL2NvbnRyb2xsZXIvcHJvdmlkZS1tb2RhbC10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFakU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLE9BQU87UUFDTCxzQkFBc0I7UUFDdEI7WUFDRSxPQUFPLEVBQUUsZUFBZTtZQUN4QixXQUFXLEVBQUUsc0JBQXNCO1NBQ3BDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUseUJBQXlCO1lBQ2xDLFdBQVcsRUFBRSxzQkFBc0I7U0FDcEM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lNb2RhbFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgU2t5TW9kYWxUZXN0aW5nQ29udHJvbGxlciB9IGZyb20gJy4vbW9kYWwtdGVzdGluZy5jb250cm9sbGVyJztcbmltcG9ydCB7IFNreU1vZGFsVGVzdGluZ1NlcnZpY2UgfSBmcm9tICcuL21vZGFsLXRlc3Rpbmcuc2VydmljZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTW9kYWxUZXN0aW5nKCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIFNreU1vZGFsVGVzdGluZ1NlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogU2t5TW9kYWxTZXJ2aWNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreU1vZGFsVGVzdGluZ1NlcnZpY2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBTa3lNb2RhbFRlc3RpbmdDb250cm9sbGVyLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreU1vZGFsVGVzdGluZ1NlcnZpY2UsXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { provideModalTesting } from './provide-modal-testing';\nimport * as i0 from \"@angular/core\";\n/**\n * Configures the `SkyModalTestingController` as the implementation for the `SkyModalService`.\n */\nexport class SkyModalTestingModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalTestingModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalTestingModule, providers: [provideModalTesting()] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyModalTestingModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [provideModalTesting()],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtdGVzdGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvbW9kYWwvY29udHJvbGxlci9tb2RhbC10ZXN0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU5RDs7R0FFRztBQUlILE1BQU0sT0FBTyxxQkFBcUI7OEdBQXJCLHFCQUFxQjsrR0FBckIscUJBQXFCOytHQUFyQixxQkFBcUIsYUFGckIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDOzsyRkFFdkIscUJBQXFCO2tCQUhqQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgcHJvdmlkZU1vZGFsVGVzdGluZyB9IGZyb20gJy4vcHJvdmlkZS1tb2RhbC10ZXN0aW5nJztcblxuLyoqXG4gKiBDb25maWd1cmVzIHRoZSBgU2t5TW9kYWxUZXN0aW5nQ29udHJvbGxlcmAgYXMgdGhlIGltcGxlbWVudGF0aW9uIGZvciB0aGUgYFNreU1vZGFsU2VydmljZWAuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW3Byb3ZpZGVNb2RhbFRlc3RpbmcoKV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsVGVzdGluZ01vZHVsZSB7fVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\n/**\n * Harness for interacting with a modal component in tests.\n */\nexport class SkyModalHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-modal'; }\n #getModal = this.locatorFor('.sky-modal');\n #getModalDialog = this.locatorFor('.sky-modal-dialog');\n #getModalHeading = this.locatorFor('.sky-modal-heading');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyModalHarness` that meets certain criteria\n */\n static with(filters) {\n return SkyModalHarness.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 aria-describedBy property of the modal.\n * @deprecated\n */\n async getAriaDescribedBy() {\n return await (await this.#getModalDialog()).getAttribute('aria-describedby');\n }\n /**\n * Gets the aria-labelledBy property of the modal.\n * @deprecated\n */\n async getAriaLabelledBy() {\n return await (await this.#getModalDialog()).getAttribute('aria-labelledby');\n }\n /**\n * Gets the role of the modal.\n */\n async getAriaRole() {\n return await (await this.#getModalDialog()).getAttribute('role');\n }\n /**\n * Gets the modal's heading text.\n */\n async getHeadingText() {\n return await (await this.#getModalHeading()).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 modal size.\n */\n async getSize() {\n if (await this.isFullPage()) {\n throw new Error('Size cannot be determined because size property is overridden when modal is full page');\n }\n const modal = await this.#getModal();\n if (await modal.hasClass('sky-modal-small')) {\n return 'small';\n }\n if (await modal.hasClass('sky-modal-large')) {\n return 'large';\n }\n return 'medium';\n }\n /**\n * Gets the wrapper class of the modal.\n */\n async getWrapperClass() {\n return await (await this.host()).getProperty('className');\n }\n /**\n * Whether the modal is full page.\n */\n async isFullPage() {\n const modal = this.#getModal();\n return await (await modal).hasClass('sky-modal-full-page');\n }\n /**\n * Whether the modal has {@link SkyModalIsDirtyDirective.isDirty} set to dirty.\n */\n async isDirty() {\n const modalHost = await this.host();\n const isDirtyAttribute = await modalHost.getAttribute('data-sky-modal-is-dirty');\n return isDirtyAttribute === 'true';\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvbW9kdWxlcy9tb2RhbC9tb2RhbC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSWxFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQ3REOztPQUVHO2FBQ1csaUJBQVksR0FBRyxXQUFXLENBQUM7SUFFekMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN2RCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFekQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBK0I7UUFFL0IsT0FBTyxlQUFlLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxrQkFBa0I7UUFDN0IsT0FBTyxNQUFNLENBQ1gsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQzdCLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxpQkFBaUI7UUFDNUIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsV0FBVztRQUN0QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHFCQUFxQjtRQUNoQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQjtRQUM5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLElBQUksTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUNiLHVGQUF1RixDQUN4RixDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXJDLElBQUksTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUM1QyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQzVDLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDL0IsT0FBTyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsT0FBTztRQUNsQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sU0FBUyxDQUFDLFlBQVksQ0FDbkQseUJBQXlCLENBQzFCLENBQUM7UUFDRixPQUFPLGdCQUFnQixLQUFLLE1BQU0sQ0FBQztJQUNyQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1FBRXRFLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2hlbHAtaW5saW5lL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9tb2RhbC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBtb2RhbCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LW1vZGFsJztcblxuICAjZ2V0TW9kYWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktbW9kYWwnKTtcbiAgI2dldE1vZGFsRGlhbG9nID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LW1vZGFsLWRpYWxvZycpO1xuICAjZ2V0TW9kYWxIZWFkaW5nID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LW1vZGFsLWhlYWRpbmcnKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5TW9kYWxIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWFcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lNb2RhbEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreU1vZGFsSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lNb2RhbEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgaGVscCBpbmxpbmUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrSGVscElubGluZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFyaWEtZGVzY3JpYmVkQnkgcHJvcGVydHkgb2YgdGhlIG1vZGFsLlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFEZXNjcmliZWRCeSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKFxuICAgICAgYXdhaXQgdGhpcy4jZ2V0TW9kYWxEaWFsb2coKVxuICAgICkuZ2V0QXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgYXJpYS1sYWJlbGxlZEJ5IHByb3BlcnR5IG9mIHRoZSBtb2RhbC5cbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWxsZWRCeSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldE1vZGFsRGlhbG9nKCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcm9sZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXJpYVJvbGUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRNb2RhbERpYWxvZygpKS5nZXRBdHRyaWJ1dGUoJ3JvbGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBtb2RhbCdzIGhlYWRpbmcgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nVGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TW9kYWxIZWFkaW5nKCkpLnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlckNvbnRlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlckNvbnRlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyVGl0bGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBtb2RhbCBzaXplLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNpemUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAoYXdhaXQgdGhpcy5pc0Z1bGxQYWdlKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1NpemUgY2Fubm90IGJlIGRldGVybWluZWQgYmVjYXVzZSBzaXplIHByb3BlcnR5IGlzIG92ZXJyaWRkZW4gd2hlbiBtb2RhbCBpcyBmdWxsIHBhZ2UnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IHRoaXMuI2dldE1vZGFsKCk7XG5cbiAgICBpZiAoYXdhaXQgbW9kYWwuaGFzQ2xhc3MoJ3NreS1tb2RhbC1zbWFsbCcpKSB7XG4gICAgICByZXR1cm4gJ3NtYWxsJztcbiAgICB9XG5cbiAgICBpZiAoYXdhaXQgbW9kYWwuaGFzQ2xhc3MoJ3NreS1tb2RhbC1sYXJnZScpKSB7XG4gICAgICByZXR1cm4gJ2xhcmdlJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ21lZGl1bSc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgd3JhcHBlciBjbGFzcyBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0V3JhcHBlckNsYXNzKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0UHJvcGVydHkoJ2NsYXNzTmFtZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG1vZGFsIGlzIGZ1bGwgcGFnZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Z1bGxQYWdlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IG1vZGFsID0gdGhpcy4jZ2V0TW9kYWwoKTtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IG1vZGFsKS5oYXNDbGFzcygnc2t5LW1vZGFsLWZ1bGwtcGFnZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG1vZGFsIGhhcyB7QGxpbmsgU2t5TW9kYWxJc0RpcnR5RGlyZWN0aXZlLmlzRGlydHl9IHNldCB0byBkaXJ0eS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0RpcnR5KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IG1vZGFsSG9zdCA9IGF3YWl0IHRoaXMuaG9zdCgpO1xuICAgIGNvbnN0IGlzRGlydHlBdHRyaWJ1dGUgPSBhd2FpdCBtb2RhbEhvc3QuZ2V0QXR0cmlidXRlKFxuICAgICAgJ2RhdGEtc2t5LW1vZGFsLWlzLWRpcnR5JyxcbiAgICApO1xuICAgIHJldHVybiBpc0RpcnR5QXR0cmlidXRlID09PSAndHJ1ZSc7XG4gIH1cblxuICBhc3luYyAjZ2V0SGVscElubGluZSgpOiBQcm9taXNlPFNreUhlbHBJbmxpbmVIYXJuZXNzPiB7XG4gICAgY29uc3QgaGFybmVzcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFNreUhlbHBJbmxpbmVIYXJuZXNzKSgpO1xuXG4gICAgaWYgKGhhcm5lc3MpIHtcbiAgICAgIHJldHVybiBoYXJuZXNzO1xuICAgIH1cblxuICAgIHRocm93IEVycm9yKCdObyBoZWxwIGlubGluZSBmb3VuZC4nKTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtbW9kYWxzLXRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL3NreXV4LW1vZGFscy10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skyux-modals-testing.mjs","sources":["../tmp-esm2022/testing/legacy/modal-fixture.js","../tmp-esm2022/testing/modules/confirm/confirm-button-harness.js","../tmp-esm2022/testing/modules/confirm/confirm-harness.js","../tmp-esm2022/testing/modules/confirm/confirm-testing.controller.js","../tmp-esm2022/testing/modules/confirm/confirm-testing.service.js","../tmp-esm2022/testing/modules/confirm/provide-confirm-testing.js","../tmp-esm2022/testing/modules/confirm/confirm-testing.module.js","../tmp-esm2022/testing/modules/modal/controller/modal-testing.controller.js","../tmp-esm2022/testing/modules/modal/controller/modal-testing.service.js","../tmp-esm2022/testing/modules/modal/controller/provide-modal-testing.js","../tmp-esm2022/testing/modules/modal/controller/modal-testing.module.js","../tmp-esm2022/testing/modules/modal/modal-harness.js","../tmp-esm2022/testing/skyux-modals-testing.js"],"sourcesContent":["/**\n * Allows interaction with a SKY UX modal component.\n * @deprecated Use `SkyModalHarness` instead.\n * @internal\n */\nexport class SkyModalFixture {\n #modalElement;\n #fixture;\n constructor(fixture, skyTestId) {\n this.#fixture = fixture;\n const modalElement = document.querySelector('sky-modal[data-sky-id=\"' + skyTestId + '\"]');\n if (!modalElement) {\n throw new Error(`No element was found with a \\`data-sky-id\\` value of \"${skyTestId}\".`);\n }\n this.#modalElement = modalElement;\n }\n /**\n * The modal component's ARIA describedby attribute.\n */\n get ariaDescribedBy() {\n const modalDialogElement = this.#getModalDialogElement();\n /* Non-null assertion as our component has a default for if the user does not provide this attribute or if they provide \"undefined\" */\n const describedByAttribute = \n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n modalDialogElement.getAttribute('aria-describedby');\n return describedByAttribute;\n }\n /**\n * The modal component's ARIA labelledby attribute.\n */\n get ariaLabelledBy() {\n const modalDialogElement = this.#getModalDialogElement();\n /* Non-null assertion as our component has a default for if the user does not provide this attribute or if they provide \"undefined\" */\n const labelledByAttribute = \n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n modalDialogElement.getAttribute('aria-labelledby');\n return labelledByAttribute;\n }\n /**\n * The modal component's role attribute.\n */\n get ariaRole() {\n const modalDialogElement = this.#getModalDialogElement();\n /* Non-null assertion as our component has a default for if the user does not provide this attribute or if they provide \"undefined\" */\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const roleAttribute = modalDialogElement.getAttribute('role');\n return roleAttribute;\n }\n /**\n * Whether or not the modal is a full page modal.\n */\n get fullPage() {\n const modalDivElement = this.getModalDiv();\n return modalDivElement.classList.contains('sky-modal-full-page');\n }\n /**\n * The size of the modal.\n */\n get size() {\n const modalDivElement = this.getModalDiv();\n const possibleSizes = ['small', 'medium', 'large'];\n for (const size of possibleSizes) {\n if (modalDivElement.classList.contains('sky-modal-' + size)) {\n return size;\n }\n }\n return;\n }\n /**\n * Whether or not the modal is set up for tiled content.\n */\n get tiledBody() {\n const modalDivElement = this.getModalDiv();\n return modalDivElement.classList.contains('sky-modal-tiled');\n }\n /**\n * Clicks the modal header's \"close\" button.\n */\n clickHeaderCloseButton() {\n this.#checkModalElement();\n const closeButton = this.#modalElement.querySelector('.sky-modal .sky-modal-btn-close');\n if (closeButton &&\n window.getComputedStyle(closeButton).display !== 'none') {\n closeButton.click();\n this.#fixture.detectChanges();\n }\n else {\n throw new Error(`No header close button exists.`);\n }\n }\n /**\n * Clicks the modal header's \"help\" button.\n */\n clickHelpButton() {\n this.#checkModalElement();\n const helpButton = this.#modalElement.querySelector('.sky-modal .sky-modal-header-buttons button[name=\"help-button\"]');\n if (helpButton && window.getComputedStyle(helpButton).display !== 'none') {\n helpButton.click();\n this.#fixture.detectChanges();\n }\n else {\n throw new Error(`No help button exists.`);\n }\n }\n /**\n * Returns the main modal element.\n */\n getModalDiv() {\n this.#checkModalElement();\n return this.#modalElement.querySelector('.sky-modal');\n }\n /**\n * Returns the modal's content element.\n */\n getModalContentEl() {\n this.#checkModalElement();\n return this.#modalElement.querySelector('.sky-modal-content');\n }\n /**\n * Returns the modal's footer element.\n */\n getModalFooterEl() {\n this.#checkModalElement();\n return this.#modalElement.querySelector('.sky-modal-footer');\n }\n /**\n * Returns the modal's header element.\n */\n getModalHeaderEl() {\n this.#checkModalElement();\n return this.#modalElement.querySelector('.sky-modal-header');\n }\n #checkModalElement() {\n if (!document.contains(this.#modalElement)) {\n throw new Error('Modal element no longer exists. Was the modal closed?');\n }\n }\n #getModalDialogElement() {\n this.#checkModalElement();\n // We can always know that the dialog element will exist if the modal is open and exists.\n return this.#modalElement.querySelector('.sky-modal-dialog');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvbGVnYWN5L21vZGFsLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQzFCLGFBQWEsQ0FBYztJQUUzQixRQUFRLENBQTRCO0lBRXBDLFlBQVksT0FBa0MsRUFBRSxTQUFpQjtRQUMvRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUN6Qyx5QkFBeUIsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUM5QixDQUFDO1FBRWpCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUNiLHlEQUF5RCxTQUFTLElBQUksQ0FDdkUsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGVBQWU7UUFDeEIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN6RCxzSUFBc0k7UUFDdEksTUFBTSxvQkFBb0I7UUFDeEIsb0VBQW9FO1FBQ3BFLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBRSxDQUFDO1FBQ3ZELE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxjQUFjO1FBQ3ZCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDekQsc0lBQXNJO1FBQ3RJLE1BQU0sbUJBQW1CO1FBQ3ZCLG9FQUFvRTtRQUNwRSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUUsQ0FBQztRQUV0RCxPQUFPLG1C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Q3JCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDSCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLHlGQUF5RjtRQUN6RixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFFLENBQUM7SUFDaEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5cbi8qKlxuICogQWxsb3dzIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggbW9kYWwgY29tcG9uZW50LlxuICogQGRlcHJlY2F0ZWQgVXNlIGBTa3lNb2RhbEhhcm5lc3NgIGluc3RlYWQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreU1vZGFsRml4dHVyZSB7XG4gICNtb2RhbEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICNmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj4sIHNreVRlc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy4jZml4dHVyZSA9IGZpeHR1cmU7XG4gICAgY29uc3QgbW9kYWxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICdza3ktbW9kYWxbZGF0YS1za3ktaWQ9XCInICsgc2t5VGVzdElkICsgJ1wiXScsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICghbW9kYWxFbGVtZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBObyBlbGVtZW50IHdhcyBmb3VuZCB3aXRoIGEgXFxgZGF0YS1za3ktaWRcXGAgdmFsdWUgb2YgXCIke3NreVRlc3RJZH1cIi5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLiNtb2RhbEVsZW1lbnQgPSBtb2RhbEVsZW1lbnQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG1vZGFsIGNvbXBvbmVudCdzIEFSSUEgZGVzY3JpYmVkYnkgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGdldCBhcmlhRGVzY3JpYmVkQnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtb2RhbERpYWxvZ0VsZW1lbnQgPSB0aGlzLiNnZXRNb2RhbERpYWxvZ0VsZW1lbnQoKTtcbiAgICAvKiBOb24tbnVsbCBhc3NlcnRpb24gYXMgb3VyIGNvbXBvbmVudCBoYXMgYSBkZWZhdWx0IGZvciBpZiB0aGUgdXNlciBkb2VzIG5vdCBwcm92aWRlIHRoaXMgYXR0cmlidXRlIG9yIGlmIHRoZXkgcHJvdmlkZSBcInVuZGVmaW5lZFwiICovXG4gICAgY29uc3QgZGVzY3JpYmVkQnlBdHRyaWJ1dGUgPVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgIG1vZGFsRGlhbG9nRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKSE7XG4gICAgcmV0dXJuIGRlc2NyaWJlZEJ5QXR0cmlidXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtb2RhbCBjb21wb25lbnQncyBBUklBIGxhYmVsbGVkYnkgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGdldCBhcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG1vZGFsRGlhbG9nRWxlbWVudCA9IHRoaXMuI2dldE1vZGFsRGlhbG9nRWxlbWVudCgpO1xuICAgIC8qIE5vbi1udWxsIGFzc2VydGlvbiBhcyBvdXIgY29tcG9uZW50IGhhcyBhIGRlZmF1bHQgZm9yIGlmIHRoZSB1c2VyIGRvZXMgbm90IHByb3ZpZGUgdGhpcyBhdHRyaWJ1dGUgb3IgaWYgdGhleSBwcm92aWRlIFwidW5kZWZpbmVkXCIgKi9cbiAgICBjb25zdCBsYWJlbGxlZEJ5QXR0cmlidXRlID1cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICBtb2RhbERpYWxvZ0VsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKSE7XG5cbiAgICByZXR1cm4gbGFiZWxsZWRCeUF0dHJpYnV0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbW9kYWwgY29tcG9uZW50J3Mgcm9sZSBhdHRyaWJ1dGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFyaWFSb2xlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbW9kYWxEaWFsb2dFbGVtZW50ID0gdGhpcy4jZ2V0TW9kYWxEaWFsb2dFbGVtZW50KCk7XG4gICAgLyogTm9uLW51bGwgYXNzZXJ0aW9uIGFzIG91ciBjb21wb25lbnQgaGFzIGEgZGVmYXVsdCBmb3IgaWYgdGhlIHVzZXIgZG9lcyBub3QgcHJvdmlkZSB0aGlzIGF0dHJpYnV0ZSBvciBpZiB0aGV5IHByb3ZpZGUgXCJ1bmRlZmluZWRcIiAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgY29uc3Qgcm9sZUF0dHJpYnV0ZSA9IG1vZGFsRGlhbG9nRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSE7XG4gICAgcmV0dXJuIHJvbGVBdHRyaWJ1dGU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIG1vZGFsIGlzIGEgZnVsbCBwYWdlIG1vZGFsLlxuICAgKi9cbiAgcHVibGljIGdldCBmdWxsUGFnZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBtb2RhbERpdkVsZW1lbnQgPSB0aGlzLmdldE1vZGFsRGl2KCk7XG4gICAgcmV0dXJuIG1vZGFsRGl2RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1tb2RhbC1mdWxsLXBhZ2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNpemUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtb2RhbERpdkVsZW1lbnQgPSB0aGlzLmdldE1vZGFsRGl2KCk7XG4gICAgY29uc3QgcG9zc2libGVTaXplcyA9IFsnc21hbGwnLCAnbWVkaXVtJywgJ2xhcmdlJ107XG5cbiAgICBmb3IgKGNvbnN0IHNpemUgb2YgcG9zc2libGVTaXplcykge1xuICAgICAgaWYgKG1vZGFsRGl2RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1tb2RhbC0nICsgc2l6ZSkpIHtcbiAgICAgICAgcmV0dXJuIHNpemU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBtb2RhbCBpcyBzZXQgdXAgZm9yIHRpbGVkIGNvbnRlbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHRpbGVkQm9keSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBtb2RhbERpdkVsZW1lbnQgPSB0aGlzLmdldE1vZGFsRGl2KCk7XG4gICAgcmV0dXJuIG1vZGFsRGl2RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1tb2RhbC10aWxlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgbW9kYWwgaGVhZGVyJ3MgXCJjbG9zZVwiIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBjbGlja0hlYWRlckNsb3NlQnV0dG9uKCk6IHZvaWQge1xuICAgIHRoaXMuI2NoZWNrTW9kYWxFbGVtZW50KCk7XG4gICAgY29uc3QgY2xvc2VCdXR0b246IEhUTUxFbGVtZW50IHwgbnVsbCA9IHRoaXMuI21vZGFsRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5za3ktbW9kYWwgLnNreS1tb2RhbC1idG4tY2xvc2UnLFxuICAgICk7XG5cbiAgICBpZiAoXG4gICAgICBjbG9zZUJ1dHRvbiAmJlxuICAgICAgd2luZG93LmdldENvbXB1dGVkU3R5bGUoY2xvc2VCdXR0b24pLmRpc3BsYXkgIT09ICdub25lJ1xuICAgICkge1xuICAgICAgY2xvc2VCdXR0b24uY2xpY2soKTtcbiAgICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGhlYWRlciBjbG9zZSBidXR0b24gZXhpc3RzLmApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIG1vZGFsIGhlYWRlcidzIFwiaGVscFwiIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBjbGlja0hlbHBCdXR0b24oKTogdm9pZCB7XG4gICAgdGhpcy4jY2hlY2tNb2RhbEVsZW1lbnQoKTtcbiAgICBjb25zdCBoZWxwQnV0dG9uOiBIVE1MRWxlbWVudCB8IG51bGwgPSB0aGlzLiNtb2RhbEVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2t5LW1vZGFsIC5za3ktbW9kYWwtaGVhZGVyLWJ1dHRvbnMgYnV0dG9uW25hbWU9XCJoZWxwLWJ1dHRvblwiXScsXG4gICAgKTtcblxuICAgIGlmIChoZWxwQnV0dG9uICYmIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGhlbHBCdXR0b24pLmRpc3BsYXkgIT09ICdub25lJykge1xuICAgICAgaGVscEJ1dHRvbi5jbGljaygpO1xuICAgICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gaGVscCBidXR0b24gZXhpc3RzLmApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBtYWluIG1vZGFsIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0TW9kYWxEaXYoKTogYW55IHtcbiAgICB0aGlzLiNjaGVja01vZGFsRWxlbWVudCgpO1xuICAgIHJldHVybiB0aGlzLiNtb2RhbEVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1tb2RhbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1vZGFsJ3MgY29udGVudCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGdldE1vZGFsQ29udGVudEVsKCk6IGFueSB7XG4gICAgdGhpcy4jY2hlY2tNb2RhbEVsZW1lbnQoKTtcbiAgICByZXR1cm4gdGhpcy4jbW9kYWxFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktbW9kYWwtY29udGVudCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1vZGFsJ3MgZm9vdGVyIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0TW9kYWxGb290ZXJFbCgpOiBhbnkge1xuICAgIHRoaXMuI2NoZWNrTW9kYWxFbGVtZW50KCk7XG4gICAgcmV0dXJuIHRoaXMuI21vZGFsRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LW1vZGFsLWZvb3RlcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1vZGFsJ3MgaGVhZGVyIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0TW9kYWxIZWFkZXJFbCgpOiBhbnkge1xuICAgIHRoaXMuI2NoZWNrTW9kYWxFbGVtZW50KCk7XG4gICAgcmV0dXJuIHRoaXMuI21vZGFsRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LW1vZGFsLWhlYWRlcicpO1xuICB9XG5cbiAgI2NoZWNrTW9kYWxFbGVtZW50KCk6IHZvaWQge1xuICAgIGlmICghZG9jdW1lbnQuY29udGFpbnModGhpcy4jbW9kYWxFbGVtZW50KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNb2RhbCBlbGVtZW50IG5vIGxvbmdlciBleGlzdHMuIFdhcyB0aGUgbW9kYWwgY2xvc2VkPycpO1xuICAgIH1cbiAgfVxuXG4gICNnZXRNb2RhbERpYWxvZ0VsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHRoaXMuI2NoZWNrTW9kYWxFbGVtZW50KCk7XG4gICAgLy8gV2UgY2FuIGFsd2F5cyBrbm93IHRoYXQgdGhlIGRpYWxvZyBlbGVtZW50IHdpbGwgZXhpc3QgaWYgdGhlIG1vZGFsIGlzIG9wZW4gYW5kIGV4aXN0cy5cbiAgICByZXR1cm4gdGhpcy4jbW9kYWxFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktbW9kYWwtZGlhbG9nJykhO1xuICB9XG59XG4iXX0=","import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';\n/**\n * Harness for interacting with a confirm component in tests.\n */\nexport class SkyConfirmButtonHarness extends ComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = '.sky-confirm-buttons .sky-btn'; }\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyConfirmButtonHarness` that meets certain criteria.\n */\n static with(filters) {\n return new HarnessPredicate(SkyConfirmButtonHarness, filters)\n .addOption('text', filters.text, async (harness, text) => {\n const buttonText = await harness.getText();\n return await HarnessPredicate.stringMatches(buttonText, text);\n })\n .addOption('styleType', filters.styleType, async (harness, styleType) => {\n const buttonStyleType = await harness.getStyleType();\n return await HarnessPredicate.stringMatches(buttonStyleType, styleType);\n });\n }\n /**\n * Clicks the confirm button.\n */\n async click() {\n await (await this.host()).click();\n }\n /**\n * Gets the button style of the confirm button.\n */\n async getStyleType() {\n const hostEl = await this.host();\n if (await hostEl.hasClass('sky-btn-primary')) {\n return 'primary';\n }\n else if (await hostEl.hasClass('sky-btn-link')) {\n return 'link';\n }\n else if (await hostEl.hasClass('sky-btn-danger')) {\n return 'danger';\n }\n return 'default';\n }\n /**\n * Gets the text content of the confirm button.\n */\n async getText() {\n return await (await this.host()).text();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1idXR0b24taGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0tYnV0dG9uLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFLMUU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZ0JBQWdCO0lBQzNEOztPQUVHO2FBQ1csaUJBQVksR0FBRywrQkFBK0IsQ0FBQztJQUU3RDs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUF1QztRQUV2QyxPQUFPLElBQUksZ0JBQWdCLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO2FBQzFELFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3ZELE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNDLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQzthQUNELFNBQVMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQ3RFLE1BQU0sZUFBZSxHQUFHLE1BQU0sT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JELE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFlBQVk7UUFDdkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFakMsSUFBSSxNQUFNLE1BQU0sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQzdDLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7YUFBTSxJQUFJLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ2pELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxJQUFJLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbkQsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEhhcm5lc3MsIEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb25maXJtQnV0dG9uU3R5bGVUeXBlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vY29uZmlybS1idXR0b24taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgY29uZmlybSBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtQnV0dG9uSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICcuc2t5LWNvbmZpcm0tYnV0dG9ucyAuc2t5LWJ0bic7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUNvbmZpcm1CdXR0b25IYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5Q29uZmlybUJ1dHRvbkhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUNvbmZpcm1CdXR0b25IYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKFNreUNvbmZpcm1CdXR0b25IYXJuZXNzLCBmaWx0ZXJzKVxuICAgICAgLmFkZE9wdGlvbigndGV4dCcsIGZpbHRlcnMudGV4dCwgYXN5bmMgKGhhcm5lc3MsIHRleHQpID0+IHtcbiAgICAgICAgY29uc3QgYnV0dG9uVGV4dCA9IGF3YWl0IGhhcm5lc3MuZ2V0VGV4dCgpO1xuICAgICAgICByZXR1cm4gYXdhaXQgSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGJ1dHRvblRleHQsIHRleHQpO1xuICAgICAgfSlcbiAgICAgIC5hZGRPcHRpb24oJ3N0eWxlVHlwZScsIGZpbHRlcnMuc3R5bGVUeXBlLCBhc3luYyAoaGFybmVzcywgc3R5bGVUeXBlKSA9PiB7XG4gICAgICAgIGNvbnN0IGJ1dHRvblN0eWxlVHlwZSA9IGF3YWl0IGhhcm5lc3MuZ2V0U3R5bGVUeXBlKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoYnV0dG9uU3R5bGVUeXBlLCBzdHlsZVR5cGUpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBjb25maXJtIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgYnV0dG9uIHN0eWxlIG9mIHRoZSBjb25maXJtIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTdHlsZVR5cGUoKTogUHJvbWlzZTxTa3lDb25maXJtQnV0dG9uU3R5bGVUeXBlPiB7XG4gICAgY29uc3QgaG9zdEVsID0gYXdhaXQgdGhpcy5ob3N0KCk7XG5cbiAgICBpZiAoYXdhaXQgaG9zdEVsLmhhc0NsYXNzKCdza3ktYnRuLXByaW1hcnknKSkge1xuICAgICAgcmV0dXJuICdwcmltYXJ5JztcbiAgICB9IGVsc2UgaWYgKGF3YWl0IGhvc3RFbC5oYXNDbGFzcygnc2t5LWJ0bi1saW5rJykpIHtcbiAgICAgIHJldHVybiAnbGluayc7XG4gICAgfSBlbHNlIGlmIChhd2FpdCBob3N0RWwuaGFzQ2xhc3MoJ3NreS1idG4tZGFuZ2VyJykpIHtcbiAgICAgIHJldHVybiAnZGFuZ2VyJztcbiAgICB9XG4gICAgcmV0dXJuICdkZWZhdWx0JztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIGNvbmZpcm0gYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS50ZXh0KCk7XG4gIH1cbn1cbiJdfQ==","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyConfirmType } from '@skyux/modals';\nimport { SkyConfirmButtonHarness } from './confirm-button-harness';\n/**\n * Harness for interacting with a confirm component in tests.\n */\nexport class SkyConfirmHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-confirm'; }\n #getBodyEl = this.locatorForOptional('.sky-confirm-body');\n #getButtons = this.locatorForAll(SkyConfirmButtonHarness);\n #getConfirmEl = this.locatorFor('.sky-confirm');\n #getMessageEl = this.locatorFor('.sky-confirm-message');\n /**\n * Clicks a confirm button.\n */\n async clickCustomButton(filters) {\n const buttons = await this.getCustomButtons(filters);\n if (buttons.length > 1) {\n if (filters.text instanceof RegExp) {\n filters.text = filters.text.toString();\n }\n throw new Error(`More than one button matches the filter(s): ${JSON.stringify(filters)}.`);\n }\n await buttons[0].click();\n }\n /**\n * Clicks a confirm button.\n */\n async clickOkButton() {\n const type = await this.getType();\n if (type === SkyConfirmType.Custom) {\n throw new Error('Cannot click OK button on a confirm of type custom.');\n }\n const buttons = await this.#getButtons();\n await buttons[0].click();\n }\n /**\n * Gets the body of the confirm component.\n */\n async getBodyText() {\n return await (await this.#getBodyEl())?.text();\n }\n /**\n * Gets a specific confirm custom button based on the filter criteria.\n * @param filter The filter criteria.\n */\n async getCustomButton(filter) {\n const confirmType = await this.getType();\n if (confirmType !== SkyConfirmType.Custom) {\n throw new Error('Cannot get a custom button for non-custom confirm modals.');\n }\n return await this.locatorFor(SkyConfirmButtonHarness.with(filter))();\n }\n /**\n * Gets an array of confirm custom buttons based on the filter criteria.\n * If no filter is provided, returns all confirm custom buttons.\n * @param filters The optional filter criteria.\n */\n async getCustomButtons(filters) {\n const confirmType = await this.getType();\n if (confirmType !== SkyConfirmType.Custom) {\n throw new Error('Cannot get custom buttons for non-custom confirm modals.');\n }\n return await this.locatorForAll(SkyConfirmButtonHarness.with(filters || {}))();\n }\n /**\n * Gets the message of the confirm component.\n */\n async getMessageText() {\n return await (await this.#getMessageEl()).text();\n }\n /**\n * Gets the type of the confirm component.\n */\n async getType() {\n const confirmEl = await this.#getConfirmEl();\n if (await confirmEl.hasClass('sky-confirm-type-ok')) {\n return SkyConfirmType.OK;\n }\n return SkyConfirmType.Custom;\n }\n /**\n * Whether the whitespace is preserved on the confirm component.\n */\n async isWhiteSpacePreserved() {\n return await (await this.#getMessageEl()).hasClass('sky-confirm-preserve-white-space');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy90ZXN0aW5nL3NyYy9tb2R1bGVzL2NvbmZpcm0vY29uZmlybS1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHbkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW1CO0lBQ3hEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxhQUFhLENBQUM7SUFFM0MsVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzFELFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUQsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEQsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUV4RDs7T0FFRztJQUNJLEtBQUssQ0FBQyxpQkFBaUIsQ0FDNUIsT0FBdUM7UUFFdkMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFckQsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksT0FBTyxDQUFDLElBQUksWUFBWSxNQUFNLEVBQUUsQ0FBQztnQkFDbkMsT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pDLENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLCtDQUErQyxJQUFJLENBQUMsU0FBUyxDQUMzRCxPQUFPLENBQ1IsR0FBRyxDQUNMLENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGFBQWE7UUFDeEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFbEMsSUFBSSxJQUFJLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekMsTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLGVBQWUsQ0FDMUIsTUFBc0M7UUFFdEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFekMsSUFBSSxXQUFXLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFDLE1BQU0sSUFBSSxLQUFLLENBQ2IsMkRBQTJELENBQzVELENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDM0IsT0FBd0M7UUFFeEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFekMsSUFBSSxXQUFXLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFDLE1BQU0sSUFBSSxLQUFLLENBQ2IsMERBQTBELENBQzNELENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQzdCLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQzVDLEVBQUUsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxjQUFjO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0MsSUFBSSxNQUFNLFNBQVMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1lBQ3BELE9BQU8sY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxxQkFBcUI7UUFDaEMsT0FBTyxNQUFNLENBQ1gsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQzNCLENBQUMsUUFBUSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbmZpcm1UeXBlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzIH0gZnJvbSAnLi9jb25maXJtLWJ1dHRvbi1oYXJuZXNzJztcbmltcG9ydCB7IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vY29uZmlybS1idXR0b24taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgY29uZmlybSBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktY29uZmlybSc7XG5cbiAgI2dldEJvZHlFbCA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCcuc2t5LWNvbmZpcm0tYm9keScpO1xuICAjZ2V0QnV0dG9ucyA9IHRoaXMubG9jYXRvckZvckFsbChTa3lDb25maXJtQnV0dG9uSGFybmVzcyk7XG4gICNnZXRDb25maXJtRWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktY29uZmlybScpO1xuICAjZ2V0TWVzc2FnZUVsID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWNvbmZpcm0tbWVzc2FnZScpO1xuXG4gIC8qKlxuICAgKiBDbGlja3MgYSBjb25maXJtIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja0N1c3RvbUJ1dHRvbihcbiAgICBmaWx0ZXJzOiBTa3lDb25maXJtQnV0dG9uSGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJ1dHRvbnMgPSBhd2FpdCB0aGlzLmdldEN1c3RvbUJ1dHRvbnMoZmlsdGVycyk7XG5cbiAgICBpZiAoYnV0dG9ucy5sZW5ndGggPiAxKSB7XG4gICAgICBpZiAoZmlsdGVycy50ZXh0IGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIGZpbHRlcnMudGV4dCA9IGZpbHRlcnMudGV4dC50b1N0cmluZygpO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgTW9yZSB0aGFuIG9uZSBidXR0b24gbWF0Y2hlcyB0aGUgZmlsdGVyKHMpOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICl9LmAsXG4gICAgICApO1xuICAgIH1cbiAgICBhd2FpdCBidXR0b25zWzBdLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIGEgY29uZmlybSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tPa0J1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB0eXBlID0gYXdhaXQgdGhpcy5nZXRUeXBlKCk7XG5cbiAgICBpZiAodHlwZSA9PT0gU2t5Q29uZmlybVR5cGUuQ3VzdG9tKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjbGljayBPSyBidXR0b24gb24gYSBjb25maXJtIG9mIHR5cGUgY3VzdG9tLicpO1xuICAgIH1cbiAgICBjb25zdCBidXR0b25zID0gYXdhaXQgdGhpcy4jZ2V0QnV0dG9ucygpO1xuICAgIGF3YWl0IGJ1dHRvbnNbMF0uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBib2R5IG9mIHRoZSBjb25maXJtIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRCb2R5VGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Qm9keUVsKCkpPy50ZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIHNwZWNpZmljIGNvbmZpcm0gY3VzdG9tIGJ1dHRvbiBiYXNlZCBvbiB0aGUgZmlsdGVyIGNyaXRlcmlhLlxuICAgKiBAcGFyYW0gZmlsdGVyIFRoZSBmaWx0ZXIgY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q3VzdG9tQnV0dG9uKFxuICAgIGZpbHRlcjogU2t5Q29uZmlybUJ1dHRvbkhhcm5lc3NGaWx0ZXJzLFxuICApOiBQcm9taXNlPFNreUNvbmZpcm1CdXR0b25IYXJuZXNzPiB7XG4gICAgY29uc3QgY29uZmlybVR5cGUgPSBhd2FpdCB0aGlzLmdldFR5cGUoKTtcblxuICAgIGlmIChjb25maXJtVHlwZSAhPT0gU2t5Q29uZmlybVR5cGUuQ3VzdG9tKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgZ2V0IGEgY3VzdG9tIGJ1dHRvbiBmb3Igbm9uLWN1c3RvbSBjb25maXJtIG1vZGFscy4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFNreUNvbmZpcm1CdXR0b25IYXJuZXNzLndpdGgoZmlsdGVyKSkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFuIGFycmF5IG9mIGNvbmZpcm0gY3VzdG9tIGJ1dHRvbnMgYmFzZWQgb24gdGhlIGZpbHRlciBjcml0ZXJpYS5cbiAgICogSWYgbm8gZmlsdGVyIGlzIHByb3ZpZGVkLCByZXR1cm5zIGFsbCBjb25maXJtIGN1c3RvbSBidXR0b25zLlxuICAgKiBAcGFyYW0gZmlsdGVycyBUaGUgb3B0aW9uYWwgZmlsdGVyIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEN1c3RvbUJ1dHRvbnMoXG4gICAgZmlsdGVycz86IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxTa3lDb25maXJtQnV0dG9uSGFybmVzc1tdPiB7XG4gICAgY29uc3QgY29uZmlybVR5cGUgPSBhd2FpdCB0aGlzLmdldFR5cGUoKTtcblxuICAgIGlmIChjb25maXJtVHlwZSAhPT0gU2t5Q29uZmlybVR5cGUuQ3VzdG9tKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgZ2V0IGN1c3RvbSBidXR0b25zIGZvciBub24tY3VzdG9tIGNvbmZpcm0gbW9kYWxzLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoXG4gICAgICBTa3lDb25maXJtQnV0dG9uSGFybmVzcy53aXRoKGZpbHRlcnMgfHwge30pLFxuICAgICkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBtZXNzYWdlIG9mIHRoZSBjb25maXJtIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRNZXNzYWdlVGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TWVzc2FnZUVsKCkpLnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0eXBlIG9mIHRoZSBjb25maXJtIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUeXBlKCk6IFByb21pc2U8U2t5Q29uZmlybVR5cGU+IHtcbiAgICBjb25zdCBjb25maXJtRWwgPSBhd2FpdCB0aGlzLiNnZXRDb25maXJtRWwoKTtcbiAgICBpZiAoYXdhaXQgY29uZmlybUVsLmhhc0NsYXNzKCdza3ktY29uZmlybS10eXBlLW9rJykpIHtcbiAgICAgIHJldHVybiBTa3lDb25maXJtVHlwZS5PSztcbiAgICB9XG5cbiAgICByZXR1cm4gU2t5Q29uZmlybVR5cGUuQ3VzdG9tO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHdoaXRlc3BhY2UgaXMgcHJlc2VydmVkIG9uIHRoZSBjb25maXJtIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1doaXRlU3BhY2VQcmVzZXJ2ZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMuI2dldE1lc3NhZ2VFbCgpXG4gICAgKS5oYXNDbGFzcygnc2t5LWNvbmZpcm0tcHJlc2VydmUtd2hpdGUtc3BhY2UnKTtcbiAgfVxufVxuIl19","/**\n * A controller to be injected into tests, which mocks the confirm service\n * and handles interactions with confirm dialogs.\n */\nexport class SkyConfirmTestingController {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS10ZXN0aW5nLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvY29uZmlybS9jb25maXJtLXRlc3RpbmcuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLDJCQUEyQjtDQXNCaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MsIFNreUNvbmZpcm1Db25maWcgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuLyoqXG4gKiBBIGNvbnRyb2xsZXIgdG8gYmUgaW5qZWN0ZWQgaW50byB0ZXN0cywgd2hpY2ggbW9ja3MgdGhlIGNvbmZpcm0gc2VydmljZVxuICogYW5kIGhhbmRsZXMgaW50ZXJhY3Rpb25zIHdpdGggY29uZmlybSBkaWFsb2dzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2t5Q29uZmlybVRlc3RpbmdDb250cm9sbGVyIHtcbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgY29uZmlybSBkaWFsb2cgd2l0aCB0aGUgXCJjYW5jZWxcIiBhY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgY2FuY2VsKCk6IHZvaWQ7XG4gIC8qKlxuICAgKiBUaHJvd3MgaWYgYSBjb25maXJtIGRpYWxvZyBpcyBvcGVuLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdE5vbmUoKTogdm9pZDtcbiAgLyoqXG4gICAqIFRocm93cyBpZiB0aGUgb3BlbiBjb25maXJtIGRpYWxvZyBkb2VzIG5vdCBtYXRjaCB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cbiAgICogQHBhcmFtIGNvbmZpZ1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdE9wZW4oY29uZmlnOiBTa3lDb25maXJtQ29uZmlnKTogdm9pZDtcbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgY29uZmlybSBkaWFsb2cgd2l0aCB0aGUgcHJvdmlkZWQgYWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsb3NlKGFyZ3M6IFNreUNvbmZpcm1DbG9zZUV2ZW50QXJncyk6IHZvaWQ7XG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGNvbmZpcm0gZGlhbG9nIHdpdGggdGhlIFwib2tcIiBhY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3Qgb2soKTogdm9pZDtcbn1cbiJdfQ==","import { SkyConfirmInstance, SkyConfirmType, } from '@skyux/modals';\nimport { SkyConfirmTestingController } from './confirm-testing.controller';\nfunction assertConfirmOpen(value) {\n if (value === undefined) {\n throw new Error('A confirm dialog is expected to be open but is closed.');\n }\n return;\n}\nfunction assertConfirmClosed(value) {\n if (value !== undefined) {\n throw new Error('A confirm dialog is expected to be closed but is open.');\n }\n return;\n}\nfunction isButtonConfigArray(val) {\n return (Array.isArray(val) && (val.length === 0 || val[0].action !== undefined));\n}\nfunction buttonConfigMatches(actual, expected) {\n return (expected.action === actual.action &&\n expected.text === actual.text &&\n expected.styleType === actual.styleType);\n}\n/**\n * @internal\n */\nexport class SkyConfirmTestingService extends SkyConfirmTestingController {\n #testSubject;\n cancel() {\n this.close({ action: 'cancel' });\n }\n ok() {\n this.close({ action: 'ok' });\n }\n close(args) {\n assertConfirmOpen(this.#testSubject);\n const isActionPermitted = this.#testSubject?.buttons.some((b) => b.action === args.action);\n if (isActionPermitted) {\n this.#testSubject.instance.close(args);\n this.#testSubject = undefined;\n }\n else {\n throw new Error(`The confirm dialog does not have a button configured for the \"${args.action}\" action.`);\n }\n }\n expectNone() {\n assertConfirmClosed(this.#testSubject);\n }\n expectOpen(expectedConfig) {\n assertConfirmOpen(this.#testSubject);\n const actualConfig = this.#testSubject.config;\n for (const [key, expectedValue] of Object.entries(expectedConfig)) {\n const k = key;\n const actualValue = actualConfig[k];\n if (isButtonConfigArray(expectedValue) &&\n isButtonConfigArray(actualValue)) {\n if (expectedValue.length !== actualValue.length)\n throwDetailedError();\n expectedValue.forEach((expectedButton, index) => {\n if (!buttonConfigMatches(expectedButton, actualValue[index])) {\n throwDetailedError();\n }\n });\n }\n else if (actualValue !== expectedValue) {\n throwDetailedError();\n }\n }\n function throwDetailedError() {\n throw new Error(`Expected a confirm dialog to be open with a specific configuration.\nExpected:\n${JSON.stringify(expectedConfig, undefined, 2)}\nActual:\n${JSON.stringify(actualConfig, undefined, 2)}\n`);\n }\n }\n open(config) {\n assertConfirmClosed(this.#testSubject);\n const instance = new SkyConfirmInstance();\n const testSubject = {\n buttons: [],\n config,\n instance,\n };\n switch (config.type) {\n case SkyConfirmType.Custom:\n config.buttons?.forEach((b) => {\n testSubject.buttons.push({ action: b.action, text: b.text });\n });\n break;\n case SkyConfirmType.OK:\n default:\n testSubject.buttons.push({ action: 'ok', text: 'Ok' });\n testSubject.buttons.push({ action: 'cancel', text: 'Cancel' });\n break;\n }\n this.#testSubject = testSubject;\n return instance;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS10ZXN0aW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvY29uZmlybS9jb25maXJtLXRlc3Rpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsa0JBQWtCLEVBRWxCLGNBQWMsR0FDZixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVEzRSxTQUFTLGlCQUFpQixDQUN4QixLQUE4QjtJQUU5QixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELE9BQU87QUFDVCxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FDMUIsS0FBOEI7SUFFOUIsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxPQUFPO0FBQ1QsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsR0FBWTtJQUN2QyxPQUFPLENBQ0wsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQ3hFLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FDMUIsTUFBOEIsRUFDOUIsUUFBZ0M7SUFFaEMsT0FBTyxDQUNMLFFBQVEsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU07UUFDakMsUUFBUSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSTtRQUM3QixRQUFRLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTLENBQ3hDLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQ1gsU0FBUSwyQkFBMkI7SUFHbkMsWUFBWSxDQUEwQjtJQUUvQixNQUFNO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxFQUFFO1FBQ1AsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLLENBQUMsSUFBOEI7UUFDekMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXJDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUN2RCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxDQUNoQyxDQUFDO1FBRUYsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQ2IsaUVBQWlFLElBQUksQ0FBQyxNQUFNLFdBQVcsQ0FDeEYsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU0sVUFBVTtRQUNmLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sVUFBVSxDQUFDLGNBQWdDO1FBQ2hELGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVyQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUU5QyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ2xFLE1BQU0sQ0FBQyxHQUFHLEdBQWtDLENBQUM7WUFDN0MsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXBDLElBQ0UsbUJBQW1CLENBQUMsYUFBYSxDQUFDO2dCQUNsQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsRUFDaEMsQ0FBQztnQkFDRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLE1BQU07b0JBQUUsa0JBQWtCLEVBQUUsQ0FBQztnQkFFdEUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDOUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUM3RCxrQkFBa0IsRUFBRSxDQUFDO29CQUN2QixDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxJQUFJLFdBQVcsS0FBSyxhQUFhLEVBQUUsQ0FBQztnQkFDekMsa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQztRQUVELFNBQVMsa0JBQWtCO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUM7O0VBRXBCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7O0VBRTVDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7Q0FDM0MsQ0FBQyxDQUFDO1FBQ0MsQ0FBQztJQUNILENBQUM7SUFFTSxJQUFJLENBQUMsTUFBd0I7UUFDbEMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXZDLE1BQU0sUUFBUSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUMxQyxNQUFNLFdBQVcsR0FBZ0I7WUFDL0IsT0FBTyxFQUFFLEVBQUU7WUFDWCxNQUFNO1lBQ04sUUFBUTtTQUNULENBQUM7UUFFRixRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixLQUFLLGNBQWMsQ0FBQyxNQUFNO2dCQUN4QixNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUM1QixXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDL0QsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUVSLEtBQUssY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUN2QjtnQkFDRSxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDL0QsTUFBTTtRQUNWLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUVoQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTa3lDb25maXJtQnV0dG9uQ29uZmlnLFxuICBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MsXG4gIFNreUNvbmZpcm1Db25maWcsXG4gIFNreUNvbmZpcm1JbnN0YW5jZSxcbiAgU2t5Q29uZmlybVNlcnZpY2VJbnRlcmZhY2UsXG4gIFNreUNvbmZpcm1UeXBlLFxufSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgU2t5Q29uZmlybVRlc3RpbmdDb250cm9sbGVyIH0gZnJvbSAnLi9jb25maXJtLXRlc3RpbmcuY29udHJvbGxlcic7XG5cbmludGVyZmFjZSBUZXN0U3ViamVjdCB7XG4gIGJ1dHRvbnM6IFNreUNvbmZpcm1CdXR0b25Db25maWdbXTtcbiAgY29uZmlnOiBTa3lDb25maXJtQ29uZmlnO1xuICBpbnN0YW5jZTogU2t5Q29uZmlybUluc3RhbmNlO1xufVxuXG5mdW5jdGlvbiBhc3NlcnRDb25maXJtT3BlbihcbiAgdmFsdWU6IFRlc3RTdWJqZWN0IHwgdW5kZWZpbmVkLFxuKTogYXNzZXJ0cyB2YWx1ZSBpcyBUZXN0U3ViamVjdCB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBIGNvbmZpcm0gZGlhbG9nIGlzIGV4cGVjdGVkIHRvIGJlIG9wZW4gYnV0IGlzIGNsb3NlZC4nKTtcbiAgfVxuXG4gIHJldHVybjtcbn1cblxuZnVuY3Rpb24gYXNzZXJ0Q29uZmlybUNsb3NlZChcbiAgdmFsdWU6IFRlc3RTdWJqZWN0IHwgdW5kZWZpbmVkLFxuKTogYXNzZXJ0cyB2YWx1ZSBpcyB1bmRlZmluZWQge1xuICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQSBjb25maXJtIGRpYWxvZyBpcyBleHBlY3RlZCB0byBiZSBjbG9zZWQgYnV0IGlzIG9wZW4uJyk7XG4gIH1cblxuICByZXR1cm47XG59XG5cbmZ1bmN0aW9uIGlzQnV0dG9uQ29uZmlnQXJyYXkodmFsOiB1bmtub3duKTogdmFsIGlzIFNreUNvbmZpcm1CdXR0b25Db25maWdbXSB7XG4gIHJldHVybiAoXG4gICAgQXJyYXkuaXNBcnJheSh2YWwpICYmICh2YWwubGVuZ3RoID09PSAwIHx8IHZhbFswXS5hY3Rpb24gIT09IHVuZGVmaW5lZClcbiAgKTtcbn1cblxuZnVuY3Rpb24gYnV0dG9uQ29uZmlnTWF0Y2hlcyhcbiAgYWN0dWFsOiBTa3lDb25maXJtQnV0dG9uQ29uZmlnLFxuICBleHBlY3RlZDogU2t5Q29uZmlybUJ1dHRvbkNvbmZpZyxcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGV4cGVjdGVkLmFjdGlvbiA9PT0gYWN0dWFsLmFjdGlvbiAmJlxuICAgIGV4cGVjdGVkLnRleHQgPT09IGFjdHVhbC50ZXh0ICYmXG4gICAgZXhwZWN0ZWQuc3R5bGVUeXBlID09PSBhY3R1YWwuc3R5bGVUeXBlXG4gICk7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtVGVzdGluZ1NlcnZpY2VcbiAgZXh0ZW5kcyBTa3lDb25maXJtVGVzdGluZ0NvbnRyb2xsZXJcbiAgaW1wbGVtZW50cyBTa3lDb25maXJtU2VydmljZUludGVyZmFjZVxue1xuICAjdGVzdFN1YmplY3Q6IFRlc3RTdWJqZWN0IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZSh7IGFjdGlvbjogJ2NhbmNlbCcgfSk7XG4gIH1cblxuICBwdWJsaWMgb2soKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZSh7IGFjdGlvbjogJ29rJyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZShhcmdzOiBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MpOiB2b2lkIHtcbiAgICBhc3NlcnRDb25maXJtT3Blbih0aGlzLiN0ZXN0U3ViamVjdCk7XG5cbiAgICBjb25zdCBpc0FjdGlvblBlcm1pdHRlZCA9IHRoaXMuI3Rlc3RTdWJqZWN0Py5idXR0b25zLnNvbWUoXG4gICAgICAoYikgPT4gYi5hY3Rpb24gPT09IGFyZ3MuYWN0aW9uLFxuICAgICk7XG5cbiAgICBpZiAoaXNBY3Rpb25QZXJtaXR0ZWQpIHtcbiAgICAgIHRoaXMuI3Rlc3RTdWJqZWN0Lmluc3RhbmNlLmNsb3NlKGFyZ3MpO1xuICAgICAgdGhpcy4jdGVzdFN1YmplY3QgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBjb25maXJtIGRpYWxvZyBkb2VzIG5vdCBoYXZlIGEgYnV0dG9uIGNvbmZpZ3VyZWQgZm9yIHRoZSBcIiR7YXJncy5hY3Rpb259XCIgYWN0aW9uLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBleHBlY3ROb25lKCk6IHZvaWQge1xuICAgIGFzc2VydENvbmZpcm1DbG9zZWQodGhpcy4jdGVzdFN1YmplY3QpO1xuICB9XG5cbiAgcHVibGljIGV4cGVjdE9wZW4oZXhwZWN0ZWRDb25maWc6IFNreUNvbmZpcm1Db25maWcpOiB2b2lkIHtcbiAgICBhc3NlcnRDb25maXJtT3Blbih0aGlzLiN0ZXN0U3ViamVjdCk7XG5cbiAgICBjb25zdCBhY3R1YWxDb25maWcgPSB0aGlzLiN0ZXN0U3ViamVjdC5jb25maWc7XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIGV4cGVjdGVkVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGV4cGVjdGVkQ29uZmlnKSkge1xuICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiB0eXBlb2YgZXhwZWN0ZWRDb25maWc7XG4gICAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IGFjdHVhbENvbmZpZ1trXTtcblxuICAgICAgaWYgKFxuICAgICAgICBpc0J1dHRvbkNvbmZpZ0FycmF5KGV4cGVjdGVkVmFsdWUpICYmXG4gICAgICAgIGlzQnV0dG9uQ29uZmlnQXJyYXkoYWN0dWFsVmFsdWUpXG4gICAgICApIHtcbiAgICAgICAgaWYgKGV4cGVjdGVkVmFsdWUubGVuZ3RoICE9PSBhY3R1YWxWYWx1ZS5sZW5ndGgpIHRocm93RGV0YWlsZWRFcnJvcigpO1xuXG4gICAgICAgIGV4cGVjdGVkVmFsdWUuZm9yRWFjaCgoZXhwZWN0ZWRCdXR0b24sIGluZGV4KSA9PiB7XG4gICAgICAgICAgaWYgKCFidXR0b25Db25maWdNYXRjaGVzKGV4cGVjdGVkQnV0dG9uLCBhY3R1YWxWYWx1ZVtpbmRleF0pKSB7XG4gICAgICAgICAgICB0aHJvd0RldGFpbGVkRXJyb3IoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChhY3R1YWxWYWx1ZSAhPT0gZXhwZWN0ZWRWYWx1ZSkge1xuICAgICAgICB0aHJvd0RldGFpbGVkRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0aHJvd0RldGFpbGVkRXJyb3IoKTogbmV2ZXIge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhIGNvbmZpcm0gZGlhbG9nIHRvIGJlIG9wZW4gd2l0aCBhIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24uXG5FeHBlY3RlZDpcbiR7SlNPTi5zdHJpbmdpZnkoZXhwZWN0ZWRDb25maWcsIHVuZGVmaW5lZCwgMil9XG5BY3R1YWw6XG4ke0pTT04uc3RyaW5naWZ5KGFjdHVhbENvbmZpZywgdW5kZWZpbmVkLCAyKX1cbmApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvcGVuKGNvbmZpZzogU2t5Q29uZmlybUNvbmZpZyk6IFNreUNvbmZpcm1JbnN0YW5jZSB7XG4gICAgYXNzZXJ0Q29uZmlybUNsb3NlZCh0aGlzLiN0ZXN0U3ViamVjdCk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBTa3lDb25maXJtSW5zdGFuY2UoKTtcbiAgICBjb25zdCB0ZXN0U3ViamVjdDogVGVzdFN1YmplY3QgPSB7XG4gICAgICBidXR0b25zOiBbXSxcbiAgICAgIGNvbmZpZyxcbiAgICAgIGluc3RhbmNlLFxuICAgIH07XG5cbiAgICBzd2l0Y2ggKGNvbmZpZy50eXBlKSB7XG4gICAgICBjYXNlIFNreUNvbmZpcm1UeXBlLkN1c3RvbTpcbiAgICAgICAgY29uZmlnLmJ1dHRvbnM/LmZvckVhY2goKGIpID0+IHtcbiAgICAgICAgICB0ZXN0U3ViamVjdC5idXR0b25zLnB1c2goeyBhY3Rpb246IGIuYWN0aW9uLCB0ZXh0OiBiLnRleHQgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lDb25maXJtVHlwZS5PSzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRlc3RTdWJqZWN0LmJ1dHRvbnMucHVzaCh7IGFjdGlvbjogJ29rJywgdGV4dDogJ09rJyB9KTtcbiAgICAgICAgdGVzdFN1YmplY3QuYnV0dG9ucy5wdXNoKHsgYWN0aW9uOiAnY2FuY2VsJywgdGV4dDogJ0NhbmNlbCcgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuI3Rlc3RTdWJqZWN0ID0gdGVzdFN1YmplY3Q7XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cbn1cbiJdfQ==","import { SkyConfirmService } from '@skyux/modals';\nimport { SkyConfirmTestingController } from './confirm-testing.controller';\nimport { SkyConfirmTestingService } from './confirm-testing.service';\n/**\n * @internal\n */\nexport function provideConfirmTesting() {\n return [\n SkyConfirmTestingService,\n {\n provide: SkyConfirmService,\n useExisting: SkyConfirmTestingService,\n },\n {\n provide: SkyConfirmTestingController,\n useExisting: SkyConfirmTestingService,\n },\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1jb25maXJtLXRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvY29uZmlybS9wcm92aWRlLWNvbmZpcm0tdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckU7O0dBRUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLE9BQU87UUFDTCx3QkFBd0I7UUFDeEI7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSx3QkFBd0I7U0FDdEM7UUFDRDtZQUNFLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsV0FBVyxFQUFFLHdCQUF3QjtTQUN0QztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUNvbmZpcm1TZXJ2aWNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFNreUNvbmZpcm1UZXN0aW5nQ29udHJvbGxlciB9IGZyb20gJy4vY29uZmlybS10ZXN0aW5nLmNvbnRyb2xsZXInO1xuaW1wb3J0IHsgU2t5Q29uZmlybVRlc3RpbmdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maXJtLXRlc3Rpbmcuc2VydmljZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ29uZmlybVRlc3RpbmcoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAgU2t5Q29uZmlybVRlc3RpbmdTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUNvbmZpcm1TZXJ2aWNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreUNvbmZpcm1UZXN0aW5nU2VydmljZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUNvbmZpcm1UZXN0aW5nQ29udHJvbGxlcixcbiAgICAgIHVzZUV4aXN0aW5nOiBTa3lDb25maXJtVGVzdGluZ1NlcnZpY2UsXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { provideConfirmTesting } from './provide-confirm-testing';\nimport * as i0 from \"@angular/core\";\n/**\n * Configures the `SkyConfirmTestingController` as the backend for the `SkyConfirmService`.\n */\nexport class SkyConfirmTestingModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyConfirmTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyConfirmTestingModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyConfirmTestingModule, providers: [provideConfirmTesting()] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyConfirmTestingModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [provideConfirmTesting()],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0tdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFbEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7Z0hBQXZCLHVCQUF1QjtnSEFBdkIsdUJBQXVCLGFBRnZCLENBQUMscUJBQXFCLEVBQUUsQ0FBQzs7NEZBRXpCLHVCQUF1QjtrQkFIbkMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHByb3ZpZGVDb25maXJtVGVzdGluZyB9IGZyb20gJy4vcHJvdmlkZS1jb25maXJtLXRlc3RpbmcnO1xuXG4vKipcbiAqIENvbmZpZ3VyZXMgdGhlIGBTa3lDb25maXJtVGVzdGluZ0NvbnRyb2xsZXJgIGFzIHRoZSBiYWNrZW5kIGZvciB0aGUgYFNreUNvbmZpcm1TZXJ2aWNlYC5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZUNvbmZpcm1UZXN0aW5nKCldLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtVGVzdGluZ01vZHVsZSB7fVxuIl19","/**\n * A controller to be injected into tests, which mocks the modal service\n * and handles interactions with modal instances. For testing interactions\n * with the modal component itself, use the `SkyModalHarness`.\n */\nexport class SkyModalTestingController {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtdGVzdGluZy5jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy90ZXN0aW5nL3NyYy9tb2R1bGVzL21vZGFsL2NvbnRyb2xsZXIvbW9kYWwtdGVzdGluZy5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQWdCLHlCQUF5QjtDQXFCOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENsb3NlQXJncyB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuXG4vKipcbiAqIEEgY29udHJvbGxlciB0byBiZSBpbmplY3RlZCBpbnRvIHRlc3RzLCB3aGljaCBtb2NrcyB0aGUgbW9kYWwgc2VydmljZVxuICogYW5kIGhhbmRsZXMgaW50ZXJhY3Rpb25zIHdpdGggbW9kYWwgaW5zdGFuY2VzLiBGb3IgdGVzdGluZyBpbnRlcmFjdGlvbnNcbiAqIHdpdGggdGhlIG1vZGFsIGNvbXBvbmVudCBpdHNlbGYsIHVzZSB0aGUgYFNreU1vZGFsSGFybmVzc2AuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTa3lNb2RhbFRlc3RpbmdDb250cm9sbGVyIHtcbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgdG9wbW9zdCBtb2RhbCB3aXRoIHRoZSBwcm92aWRlZCBhcmd1bWVudHMuXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBtb2RhbCdzIGNsb3NlIGV2ZW50LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsb3NlVG9wTW9kYWwoYXJncz86IFNreU1vZGFsQ2xvc2VBcmdzKTogdm9pZDtcblxuICAvKipcbiAgICogVGhyb3dzIGlmIHRoZSBwcm92aWRlZCB2YWx1ZSBkb2VzIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIG9wZW4gbW9kYWxzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdENvdW50KHZhbHVlOiBudW1iZXIpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBUaHJvd3MgaWYgbW9kYWxzIGFyZSBvcGVuLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdE5vbmUoKTogdm9pZDtcblxuICAvKipcbiAgICogVGhyb3dzIGlmIHRoZSBnaXZlbiBjcml0ZXJpYSBkb2VzIG5vdCBtYXRjaCB0aGUgdG9wbW9zdCBvcGVuIG1vZGFsLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdE9wZW48VENvbXBvbmVudD4oY29tcG9uZW50OiBUeXBlPFRDb21wb25lbnQ+KTogdm9pZDtcbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport { SkyModalInstance, } from '@skyux/modals';\nimport { SkyModalTestingController } from './modal-testing.controller';\nimport * as i0 from \"@angular/core\";\n/**\n * @internal\n */\nexport class SkyModalTestingService extends SkyModalTestingController {\n #modals = new Map();\n ngOnDestroy() {\n for (const instance of this.#modals.keys()) {\n instance.close();\n }\n }\n closeTopModal(args) {\n const modal = this.#getTopmostModal();\n if (!modal) {\n throw new Error('Expected to close the topmost modal, but no modals are open.');\n }\n modal.instance.close(args?.data, args?.reason);\n }\n expectCount(value) {\n const count = this.#modals.size;\n if (count !== value) {\n throw new Error(`Expected ${value} open ${value === 1 ? 'modal' : 'modals'}, but ${count} ${count === 1 ? 'is' : 'are'} open.`);\n }\n }\n expectNone() {\n const count = this.#modals.size;\n if (count > 0) {\n throw new Error(`Expected no modals to be open, but there ${count === 1 ? 'is' : 'are'} ${count} open.`);\n }\n }\n expectOpen(component) {\n const modal = this.#getTopmostModal();\n if (!modal) {\n throw new Error('A modal is expected to be open, but no modals are open.');\n }\n if (modal.component !== component) {\n throw new Error(`Expected the topmost modal to be of type ${component.name}, but it is of type ${modal.component.name}.`);\n }\n }\n open(component, config) {\n const instance = new SkyModalInstance();\n instance.closed.subscribe(() => {\n this.#modals.delete(instance);\n });\n this.#modals.set(instance, { component, config, instance });\n return instance;\n }\n #getTopmostModal() {\n return Array.from(this.#modals.values()).pop();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyModalTestingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyModalTestingService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyModalTestingService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtdGVzdGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy90ZXN0aW5nL3NyYy9tb2R1bGVzL21vZGFsL2NvbnRyb2xsZXIvbW9kYWwtdGVzdGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQW1DLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFHTCxnQkFBZ0IsR0FFakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBUXZFOztHQUVHO0FBRUgsTUFBTSxPQUFPLHNCQUNYLFNBQVEseUJBQXlCO0lBR3hCLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztJQUVyRCxXQUFXO1FBQ2hCLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQzNDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVNLGFBQWEsQ0FBQyxJQUF3QjtRQUMzQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUNiLDhEQUE4RCxDQUMvRCxDQUFDO1FBQ0osQ0FBQztRQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxXQUFXLENBQUMsS0FBYTtRQUM5QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUNoQyxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUNiLFlBQVksS0FBSyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxTQUFTLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUMvRyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFTSxVQUFVO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDaEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksS0FBSyxDQUNiLDRDQUE0QyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLFFBQVEsQ0FDeEYsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFhLFNBQTJCO1FBQ3ZELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQ2IseURBQXlELENBQzFELENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQ2IsNENBQTRDLFNBQVMsQ0FBQyxJQUFJLHVCQUF1QixLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxDQUN6RyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFTSxJQUFJLENBQ1QsU0FBMkIsRUFDM0IsTUFBMEQ7UUFFMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUU1RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNqRCxDQUFDOytHQXpFVSxzQkFBc0I7bUhBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSwgU3RhdGljUHJvdmlkZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreU1vZGFsQ2xvc2VBcmdzLFxuICBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UsXG4gIFNreU1vZGFsSW5zdGFuY2UsXG4gIFNreU1vZGFsU2VydmljZUludGVyZmFjZSxcbn0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFNreU1vZGFsVGVzdGluZ0NvbnRyb2xsZXIgfSBmcm9tICcuL21vZGFsLXRlc3RpbmcuY29udHJvbGxlcic7XG5cbmludGVyZmFjZSBUZXN0U3ViamVjdDxUID0gdW5rbm93bj4ge1xuICBjb21wb25lbnQ6IFR5cGU8VD47XG4gIGNvbmZpZzogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlIHwgU3RhdGljUHJvdmlkZXJbXSB8IHVuZGVmaW5lZDtcbiAgaW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2U7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbFRlc3RpbmdTZXJ2aWNlXG4gIGV4dGVuZHMgU2t5TW9kYWxUZXN0aW5nQ29udHJvbGxlclxuICBpbXBsZW1lbnRzIE9uRGVzdHJveSwgU2t5TW9kYWxTZXJ2aWNlSW50ZXJmYWNlXG57XG4gIHJlYWRvbmx5ICNtb2RhbHMgPSBuZXcgTWFwPFNreU1vZGFsSW5zdGFuY2UsIFRlc3RTdWJqZWN0PigpO1xuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGluc3RhbmNlIG9mIHRoaXMuI21vZGFscy5rZXlzKCkpIHtcbiAgICAgIGluc3RhbmNlLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlVG9wTW9kYWwoYXJncz86IFNreU1vZGFsQ2xvc2VBcmdzKTogdm9pZCB7XG4gICAgY29uc3QgbW9kYWwgPSB0aGlzLiNnZXRUb3Btb3N0TW9kYWwoKTtcbiAgICBpZiAoIW1vZGFsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdFeHBlY3RlZCB0byBjbG9zZSB0aGUgdG9wbW9zdCBtb2RhbCwgYnV0IG5vIG1vZGFscyBhcmUgb3Blbi4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBtb2RhbC5pbnN0YW5jZS5jbG9zZShhcmdzPy5kYXRhLCBhcmdzPy5yZWFzb24pO1xuICB9XG5cbiAgcHVibGljIGV4cGVjdENvdW50KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBjb3VudCA9IHRoaXMuI21vZGFscy5zaXplO1xuICAgIGlmIChjb3VudCAhPT0gdmFsdWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEV4cGVjdGVkICR7dmFsdWV9IG9wZW4gJHt2YWx1ZSA9PT0gMSA/ICdtb2RhbCcgOiAnbW9kYWxzJ30sIGJ1dCAke2NvdW50fSAke2NvdW50ID09PSAxID8gJ2lzJyA6ICdhcmUnfSBvcGVuLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBleHBlY3ROb25lKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy4jbW9kYWxzLnNpemU7XG4gICAgaWYgKGNvdW50ID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRXhwZWN0ZWQgbm8gbW9kYWxzIHRvIGJlIG9wZW4sIGJ1dCB0aGVyZSAke2NvdW50ID09PSAxID8gJ2lzJyA6ICdhcmUnfSAke2NvdW50fSBvcGVuLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBleHBlY3RPcGVuPFRDb21wb25lbnQ+KGNvbXBvbmVudDogVHlwZTxUQ29tcG9uZW50Pik6IHZvaWQge1xuICAgIGNvbnN0IG1vZGFsID0gdGhpcy4jZ2V0VG9wbW9zdE1vZGFsKCk7XG4gICAgaWYgKCFtb2RhbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQSBtb2RhbCBpcyBleHBlY3RlZCB0byBiZSBvcGVuLCBidXQgbm8gbW9kYWxzIGFyZSBvcGVuLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChtb2RhbC5jb21wb25lbnQgIT09IGNvbXBvbmVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRXhwZWN0ZWQgdGhlIHRvcG1vc3QgbW9kYWwgdG8gYmUgb2YgdHlwZSAke2NvbXBvbmVudC5uYW1lfSwgYnV0IGl0IGlzIG9mIHR5cGUgJHttb2RhbC5jb21wb25lbnQubmFtZX0uYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW48VENvbXBvbmVudD4oXG4gICAgY29tcG9uZW50OiBUeXBlPFRDb21wb25lbnQ+LFxuICAgIGNvbmZpZz86IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSB8IFN0YXRpY1Byb3ZpZGVyW10sXG4gICk6IFNreU1vZGFsSW5zdGFuY2Uge1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFNreU1vZGFsSW5zdGFuY2UoKTtcblxuICAgIGluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy4jbW9kYWxzLmRlbGV0ZShpbnN0YW5jZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNtb2RhbHMuc2V0KGluc3RhbmNlLCB7IGNvbXBvbmVudCwgY29uZmlnLCBpbnN0YW5jZSB9KTtcblxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxuXG4gICNnZXRUb3Btb3N0TW9kYWwoKTogVGVzdFN1YmplY3QgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuI21vZGFscy52YWx1ZXMoKSkucG9wKCk7XG4gIH1cbn1cbiJdfQ==","import { SkyModalService } from '@skyux/modals';\nimport { SkyModalTestingController } from './modal-testing.controller';\nimport { SkyModalTestingService } from './modal-testing.service';\n/**\n * @internal\n */\nexport function provideModalTesting() {\n return [\n SkyModalTestingService,\n {\n provide: SkyModalService,\n useExisting: SkyModalTestingService,\n },\n {\n provide: SkyModalTestingController,\n useExisting: SkyModalTestingService,\n },\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1tb2RhbC10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy90ZXN0aW5nL3NyYy9tb2R1bGVzL21vZGFsL2NvbnRyb2xsZXIvcHJvdmlkZS1tb2RhbC10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFakU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLE9BQU87UUFDTCxzQkFBc0I7UUFDdEI7WUFDRSxPQUFPLEVBQUUsZUFBZTtZQUN4QixXQUFXLEVBQUUsc0JBQXNCO1NBQ3BDO1FBQ0Q7WUFDRSxPQUFPLEVBQUUseUJBQXlCO1lBQ2xDLFdBQVcsRUFBRSxzQkFBc0I7U0FDcEM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lNb2RhbFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgU2t5TW9kYWxUZXN0aW5nQ29udHJvbGxlciB9IGZyb20gJy4vbW9kYWwtdGVzdGluZy5jb250cm9sbGVyJztcbmltcG9ydCB7IFNreU1vZGFsVGVzdGluZ1NlcnZpY2UgfSBmcm9tICcuL21vZGFsLXRlc3Rpbmcuc2VydmljZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTW9kYWxUZXN0aW5nKCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIFNreU1vZGFsVGVzdGluZ1NlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogU2t5TW9kYWxTZXJ2aWNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreU1vZGFsVGVzdGluZ1NlcnZpY2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBTa3lNb2RhbFRlc3RpbmdDb250cm9sbGVyLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreU1vZGFsVGVzdGluZ1NlcnZpY2UsXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { provideModalTesting } from './provide-modal-testing';\nimport * as i0 from \"@angular/core\";\n/**\n * Configures the `SkyModalTestingController` as the implementation for the `SkyModalService`.\n */\nexport class SkyModalTestingModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyModalTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyModalTestingModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyModalTestingModule, providers: [provideModalTesting()] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyModalTestingModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [provideModalTesting()],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtdGVzdGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvbW9kYWwvY29udHJvbGxlci9tb2RhbC10ZXN0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU5RDs7R0FFRztBQUlILE1BQU0sT0FBTyxxQkFBcUI7K0dBQXJCLHFCQUFxQjtnSEFBckIscUJBQXFCO2dIQUFyQixxQkFBcUIsYUFGckIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDOzs0RkFFdkIscUJBQXFCO2tCQUhqQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgcHJvdmlkZU1vZGFsVGVzdGluZyB9IGZyb20gJy4vcHJvdmlkZS1tb2RhbC10ZXN0aW5nJztcblxuLyoqXG4gKiBDb25maWd1cmVzIHRoZSBgU2t5TW9kYWxUZXN0aW5nQ29udHJvbGxlcmAgYXMgdGhlIGltcGxlbWVudGF0aW9uIGZvciB0aGUgYFNreU1vZGFsU2VydmljZWAuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW3Byb3ZpZGVNb2RhbFRlc3RpbmcoKV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsVGVzdGluZ01vZHVsZSB7fVxuIl19","import { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyHelpInlineHarness } from '@skyux/help-inline/testing';\n/**\n * Harness for interacting with a modal component in tests.\n */\nexport class SkyModalHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n static { this.hostSelector = 'sky-modal'; }\n #getModal = this.locatorFor('.sky-modal');\n #getModalDialog = this.locatorFor('.sky-modal-dialog');\n #getModalHeading = this.locatorFor('.sky-modal-heading');\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyModalHarness` that meets certain criteria\n */\n static with(filters) {\n return SkyModalHarness.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 aria-describedBy property of the modal.\n * @deprecated\n */\n async getAriaDescribedBy() {\n return await (await this.#getModalDialog()).getAttribute('aria-describedby');\n }\n /**\n * Gets the aria-labelledBy property of the modal.\n * @deprecated\n */\n async getAriaLabelledBy() {\n return await (await this.#getModalDialog()).getAttribute('aria-labelledby');\n }\n /**\n * Gets the role of the modal.\n */\n async getAriaRole() {\n return await (await this.#getModalDialog()).getAttribute('role');\n }\n /**\n * Gets the modal's heading text.\n */\n async getHeadingText() {\n return await (await this.#getModalHeading()).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 modal size.\n */\n async getSize() {\n if (await this.isFullPage()) {\n throw new Error('Size cannot be determined because size property is overridden when modal is full page');\n }\n const modal = await this.#getModal();\n if (await modal.hasClass('sky-modal-small')) {\n return 'small';\n }\n if (await modal.hasClass('sky-modal-large')) {\n return 'large';\n }\n return 'medium';\n }\n /**\n * Gets the wrapper class of the modal.\n */\n async getWrapperClass() {\n return await (await this.host()).getProperty('className');\n }\n /**\n * Whether the modal is full page.\n */\n async isFullPage() {\n const modal = this.#getModal();\n return await (await modal).hasClass('sky-modal-full-page');\n }\n /**\n * Whether the modal has {@link SkyModalIsDirtyDirective.isDirty} set to dirty.\n */\n async isDirty() {\n const modalHost = await this.host();\n const isDirtyAttribute = await modalHost.getAttribute('data-sky-modal-is-dirty');\n return isDirtyAttribute === 'true';\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvbW9kdWxlcy9tb2RhbC9tb2RhbC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSWxFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQ3REOztPQUVHO2FBQ1csaUJBQVksR0FBRyxXQUFXLENBQUM7SUFFekMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN2RCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFekQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBK0I7UUFFL0IsT0FBTyxlQUFlLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxrQkFBa0I7UUFDN0IsT0FBTyxNQUFNLENBQ1gsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQzdCLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxpQkFBaUI7UUFDNUIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsV0FBVztRQUN0QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHFCQUFxQjtRQUNoQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQjtRQUM5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLElBQUksTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUNiLHVGQUF1RixDQUN4RixDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXJDLElBQUksTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUM1QyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQzVDLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDL0IsT0FBTyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsT0FBTztRQUNsQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sU0FBUyxDQUFDLFlBQVksQ0FDbkQseUJBQXlCLENBQzFCLENBQUM7UUFDRixPQUFPLGdCQUFnQixLQUFLLE1BQU0sQ0FBQztJQUNyQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1FBRXRFLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2hlbHAtaW5saW5lL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9tb2RhbC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBtb2RhbCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LW1vZGFsJztcblxuICAjZ2V0TW9kYWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktbW9kYWwnKTtcbiAgI2dldE1vZGFsRGlhbG9nID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LW1vZGFsLWRpYWxvZycpO1xuICAjZ2V0TW9kYWxIZWFkaW5nID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LW1vZGFsLWhlYWRpbmcnKTtcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5TW9kYWxIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWFcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lNb2RhbEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreU1vZGFsSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lNb2RhbEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgaGVscCBpbmxpbmUgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrSGVscElubGluZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFyaWEtZGVzY3JpYmVkQnkgcHJvcGVydHkgb2YgdGhlIG1vZGFsLlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFEZXNjcmliZWRCeSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKFxuICAgICAgYXdhaXQgdGhpcy4jZ2V0TW9kYWxEaWFsb2coKVxuICAgICkuZ2V0QXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgYXJpYS1sYWJlbGxlZEJ5IHByb3BlcnR5IG9mIHRoZSBtb2RhbC5cbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWxsZWRCeSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldE1vZGFsRGlhbG9nKCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcm9sZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXJpYVJvbGUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRNb2RhbERpYWxvZygpKS5nZXRBdHRyaWJ1dGUoJ3JvbGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBtb2RhbCdzIGhlYWRpbmcgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWFkaW5nVGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0TW9kYWxIZWFkaW5nKCkpLnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRIZWxwUG9wb3ZlckNvbnRlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldEhlbHBJbmxpbmUoKSkuZ2V0UG9wb3ZlckNvbnRlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBoZWxwIHBvcG92ZXIgdGl0bGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SGVscFBvcG92ZXJUaXRsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SGVscElubGluZSgpKS5nZXRQb3BvdmVyVGl0bGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBtb2RhbCBzaXplLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNpemUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAoYXdhaXQgdGhpcy5pc0Z1bGxQYWdlKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1NpemUgY2Fubm90IGJlIGRldGVybWluZWQgYmVjYXVzZSBzaXplIHByb3BlcnR5IGlzIG92ZXJyaWRkZW4gd2hlbiBtb2RhbCBpcyBmdWxsIHBhZ2UnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IHRoaXMuI2dldE1vZGFsKCk7XG5cbiAgICBpZiAoYXdhaXQgbW9kYWwuaGFzQ2xhc3MoJ3NreS1tb2RhbC1zbWFsbCcpKSB7XG4gICAgICByZXR1cm4gJ3NtYWxsJztcbiAgICB9XG5cbiAgICBpZiAoYXdhaXQgbW9kYWwuaGFzQ2xhc3MoJ3NreS1tb2RhbC1sYXJnZScpKSB7XG4gICAgICByZXR1cm4gJ2xhcmdlJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ21lZGl1bSc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgd3JhcHBlciBjbGFzcyBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0V3JhcHBlckNsYXNzKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0UHJvcGVydHkoJ2NsYXNzTmFtZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG1vZGFsIGlzIGZ1bGwgcGFnZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Z1bGxQYWdlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IG1vZGFsID0gdGhpcy4jZ2V0TW9kYWwoKTtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IG1vZGFsKS5oYXNDbGFzcygnc2t5LW1vZGFsLWZ1bGwtcGFnZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG1vZGFsIGhhcyB7QGxpbmsgU2t5TW9kYWxJc0RpcnR5RGlyZWN0aXZlLmlzRGlydHl9IHNldCB0byBkaXJ0eS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0RpcnR5KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IG1vZGFsSG9zdCA9IGF3YWl0IHRoaXMuaG9zdCgpO1xuICAgIGNvbnN0IGlzRGlydHlBdHRyaWJ1dGUgPSBhd2FpdCBtb2RhbEhvc3QuZ2V0QXR0cmlidXRlKFxuICAgICAgJ2RhdGEtc2t5LW1vZGFsLWlzLWRpcnR5JyxcbiAgICApO1xuICAgIHJldHVybiBpc0RpcnR5QXR0cmlidXRlID09PSAndHJ1ZSc7XG4gIH1cblxuICBhc3luYyAjZ2V0SGVscElubGluZSgpOiBQcm9taXNlPFNreUhlbHBJbmxpbmVIYXJuZXNzPiB7XG4gICAgY29uc3QgaGFybmVzcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFNreUhlbHBJbmxpbmVIYXJuZXNzKSgpO1xuXG4gICAgaWYgKGhhcm5lc3MpIHtcbiAgICAgIHJldHVybiBoYXJuZXNzO1xuICAgIH1cblxuICAgIHRocm93IEVycm9yKCdObyBoZWxwIGlubGluZSBmb3VuZC4nKTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtbW9kYWxzLXRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL3NreXV4LW1vZGFscy10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0="],"names":[],"mappings":"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"}