@skyux/modals 11.21.0 → 11.23.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.
Files changed (50) hide show
  1. package/documentation.json +492 -417
  2. package/esm2022/lib/modules/shared/sky-modals-resources.module.mjs +3 -21
  3. package/esm2022/testing/legacy/modal-fixture.mjs +143 -0
  4. package/esm2022/testing/modules/confirm/confirm-button-harness-filters.mjs +2 -0
  5. package/esm2022/testing/modules/confirm/confirm-button-harness.mjs +52 -0
  6. package/esm2022/testing/modules/confirm/confirm-harness.mjs +90 -0
  7. package/esm2022/testing/modules/confirm/confirm-testing.controller.mjs +7 -0
  8. package/esm2022/testing/{confirm → modules/confirm}/confirm-testing.module.mjs +1 -1
  9. package/esm2022/testing/modules/confirm/confirm-testing.service.mjs +101 -0
  10. package/esm2022/testing/modules/confirm/provide-confirm-testing.mjs +20 -0
  11. package/esm2022/testing/modules/modal/controller/modal-testing.controller.mjs +8 -0
  12. package/esm2022/testing/{modal → modules/modal}/controller/modal-testing.module.mjs +1 -1
  13. package/esm2022/testing/modules/modal/controller/modal-testing.service.mjs +60 -0
  14. package/esm2022/testing/modules/modal/controller/provide-modal-testing.mjs +20 -0
  15. package/esm2022/testing/modules/modal/modal-harness-filters.mjs +2 -0
  16. package/esm2022/testing/modules/modal/modal-harness.mjs +110 -0
  17. package/esm2022/testing/public-api.mjs +9 -9
  18. package/fesm2022/skyux-modals-testing.mjs +22 -16
  19. package/fesm2022/skyux-modals-testing.mjs.map +1 -1
  20. package/fesm2022/skyux-modals.mjs +2 -20
  21. package/fesm2022/skyux-modals.mjs.map +1 -1
  22. package/lib/modules/shared/sky-modals-resources.module.d.ts +0 -4
  23. package/package.json +7 -7
  24. package/testing/public-api.d.ts +10 -10
  25. package/esm2022/testing/confirm/confirm-button-harness-filters.mjs +0 -2
  26. package/esm2022/testing/confirm/confirm-button-harness.mjs +0 -46
  27. package/esm2022/testing/confirm/confirm-harness.mjs +0 -90
  28. package/esm2022/testing/confirm/confirm-testing.controller.mjs +0 -7
  29. package/esm2022/testing/confirm/confirm-testing.service.mjs +0 -101
  30. package/esm2022/testing/confirm/provide-confirm-testing.mjs +0 -20
  31. package/esm2022/testing/modal/controller/modal-testing.controller.mjs +0 -8
  32. package/esm2022/testing/modal/controller/modal-testing.service.mjs +0 -60
  33. package/esm2022/testing/modal/controller/provide-modal-testing.mjs +0 -20
  34. package/esm2022/testing/modal/modal-harness-filters.mjs +0 -2
  35. package/esm2022/testing/modal/modal-harness.mjs +0 -110
  36. package/esm2022/testing/modal-fixture.mjs +0 -143
  37. /package/testing/{modal-fixture.d.ts → legacy/modal-fixture.d.ts} +0 -0
  38. /package/testing/{confirm → modules/confirm}/confirm-button-harness-filters.d.ts +0 -0
  39. /package/testing/{confirm → modules/confirm}/confirm-button-harness.d.ts +0 -0
  40. /package/testing/{confirm → modules/confirm}/confirm-harness.d.ts +0 -0
  41. /package/testing/{confirm → modules/confirm}/confirm-testing.controller.d.ts +0 -0
  42. /package/testing/{confirm → modules/confirm}/confirm-testing.module.d.ts +0 -0
  43. /package/testing/{confirm → modules/confirm}/confirm-testing.service.d.ts +0 -0
  44. /package/testing/{confirm → modules/confirm}/provide-confirm-testing.d.ts +0 -0
  45. /package/testing/{modal → modules/modal}/controller/modal-testing.controller.d.ts +0 -0
  46. /package/testing/{modal → modules/modal}/controller/modal-testing.module.d.ts +0 -0
  47. /package/testing/{modal → modules/modal}/controller/modal-testing.service.d.ts +0 -0
  48. /package/testing/{modal → modules/modal}/controller/provide-modal-testing.d.ts +0 -0
  49. /package/testing/{modal → modules/modal}/modal-harness-filters.d.ts +0 -0
  50. /package/testing/{modal → modules/modal}/modal-harness.d.ts +0 -0
@@ -6,7 +6,7 @@
6
6
  * To update this file, simply rerun the command.
7
7
  */
8
8
  import { NgModule } from '@angular/core';
9
- import { SKY_LIB_RESOURCES_PROVIDERS, SkyI18nModule, SkyLibResourcesService, getLibStringForLocale, } from '@skyux/i18n';
9
+ import { SkyI18nModule, SkyLibResourcesService, } from '@skyux/i18n';
10
10
  import * as i0 from "@angular/core";
11
11
  const RESOURCES = {
12
12
  'EN-US': {
@@ -28,36 +28,18 @@ const RESOURCES = {
28
28
  },
29
29
  };
30
30
  SkyLibResourcesService.addResources(RESOURCES);
31
- export class SkyModalsResourcesProvider {
32
- getString(localeInfo, name) {
33
- return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
34
- }
35
- }
36
31
  /**
37
32
  * Import into any component library module that needs to use resource strings.
38
33
  */
39
34
  export class SkyModalsResourcesModule {
40
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyModalsResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
41
36
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: SkyModalsResourcesModule, exports: [SkyI18nModule] }); }
42
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyModalsResourcesModule, providers: [
43
- {
44
- provide: SKY_LIB_RESOURCES_PROVIDERS,
45
- useClass: SkyModalsResourcesProvider,
46
- multi: true,
47
- },
48
- ], imports: [SkyI18nModule] }); }
37
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyModalsResourcesModule, imports: [SkyI18nModule] }); }
49
38
  }
50
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyModalsResourcesModule, decorators: [{
51
40
  type: NgModule,
52
41
  args: [{
53
42
  exports: [SkyI18nModule],
54
- providers: [
55
- {
56
- provide: SKY_LIB_RESOURCES_PROVIDERS,
57
- useClass: SkyModalsResourcesProvider,
58
- multi: true,
59
- },
60
- ],
61
43
  }]
62
44
  }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LW1vZGFscy1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1tb2RhbHMtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFFMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCwyQkFBMkIsRUFFM0IsYUFBYSxFQUdiLHNCQUFzQixFQUN0QixxQkFBcUIsR0FDdEIsTUFBTSxhQUFhLENBQUM7O0FBRXJCLE1BQU0sU0FBUyxHQUFvQztJQUNqRCxPQUFPLEVBQUU7UUFDUCxvQ0FBb0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7UUFDdkQscUNBQXFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1FBQ3pELG9DQUFvQyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtRQUN2RCx3Q0FBd0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDL0QsaUJBQWlCLEVBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO1FBQzdDLHFCQUFxQixFQUFFLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRTtRQUMvQyxnQ0FBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDdkQsaUNBQWlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFO1FBQ3RELGlDQUFpQyxFQUFFO1lBQ2pDLE9BQU8sRUFBRSxnREFBZ0Q7U0FDMUQ7UUFDRCw4Q0FBOEMsRUFBRTtZQUM5QyxPQUFPLEVBQUUsaUJBQWlCO1NBQzNCO1FBQ0QsMkNBQTJDLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFO0tBQ3pFO0NBQ0YsQ0FBQztBQUVGLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUUvQyxNQUFNLE9BQU8sMEJBQTBCO0lBQzlCLFNBQVMsQ0FDZCxVQUE0QixFQUM1QixJQUFZO1FBRVosT0FBTyxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQVdILE1BQU0sT0FBTyx3QkFBd0I7OEdBQXhCLHdCQUF3QjsrR0FBeEIsd0JBQXdCLFlBVHpCLGFBQWE7K0dBU1osd0JBQXdCLGFBUnhCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLFlBUFMsYUFBYTs7MkZBU1osd0JBQXdCO2tCQVZwQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFFBQVEsRUFBRSwwQkFBMEI7NEJBQ3BDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyogaXN0YW5idWwgaWdub3JlIGZpbGUgKi9cblxuLyoqXG4gKiBOT1RJQ0U6IERPIE5PVCBNT0RJRlkgVEhJUyBGSUxFIVxuICogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB3ZXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5XG4gKiB0aGUgJ25nIGdlbmVyYXRlIEBza3l1eC9pMThuOmxpYi1yZXNvdXJjZXMtbW9kdWxlIGxpYi9tb2R1bGVzL3NoYXJlZC9za3ktbW9kYWxzJyBzY2hlbWF0aWMuXG4gKiBUbyB1cGRhdGUgdGhpcyBmaWxlLCBzaW1wbHkgcmVydW4gdGhlIGNvbW1hbmQuXG4gKi9cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gIFNreUFwcExvY2FsZUluZm8sXG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzUHJvdmlkZXIsXG4gIFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG4gIGdldExpYlN0cmluZ0ZvckxvY2FsZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IFJlY29yZDxzdHJpbmcsIFNreUxpYlJlc291cmNlcz4gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X29rX3RleHQ6IHsgbWVzc2FnZTogJ09LJyB9LFxuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfeWVzX3RleHQ6IHsgbWVzc2FnZTogJ1llcycgfSxcbiAgICBza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X25vX3RleHQ6IHsgbWVzc2FnZTogJ05vJyB9LFxuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfY2FuY2VsX3RleHQ6IHsgbWVzc2FnZTogJ0NhbmNlbCcgfSxcbiAgICBza3l1eF9tb2RhbF9jbG9zZTogeyBtZXNzYWdlOiAnQ2xvc2UgbW9kYWwnIH0sXG4gICAgc2t5dXhfbW9kYWxfb3Blbl9oZWxwOiB7IG1lc3NhZ2U6ICdPcGVuIEhlbHAnIH0sXG4gICAgc2t5dXhfbW9kYWxfZm9vdGVyX2NhbmNlbF9idXR0b246IHsgbWVzc2FnZTogJ0NhbmNlbCcgfSxcbiAgICBza3l1eF9tb2RhbF9mb290ZXJfcHJpbWFyeV9idXR0b246IHsgbWVzc2FnZTogJ1NhdmUnIH0sXG4gICAgc2t5dXhfbW9kYWxfZGlydHlfZGVmYXVsdF9tZXNzYWdlOiB7XG4gICAgICBtZXNzYWdlOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRpc2NhcmQgeW91ciBjaGFuZ2VzPycsXG4gICAgfSxcbiAgICBza3l1eF9tb2RhbF9kaXJ0eV9kZWZhdWx0X2Rpc2NhcmRfY2hhbmdlc190ZXh0OiB7XG4gICAgICBtZXNzYWdlOiAnRGlzY2FyZCBjaGFuZ2VzJyxcbiAgICB9LFxuICAgIHNreXV4X21vZGFsX2RpcnR5X2RlZmF1bHRfa2VlcF93b3JraW5nX3RleHQ6IHsgbWVzc2FnZTogJ0tlZXAgd29ya2luZycgfSxcbiAgfSxcbn07XG5cblNreUxpYlJlc291cmNlc1NlcnZpY2UuYWRkUmVzb3VyY2VzKFJFU09VUkNFUyk7XG5cbmV4cG9ydCBjbGFzcyBTa3lNb2RhbHNSZXNvdXJjZXNQcm92aWRlciBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyIHtcbiAgcHVibGljIGdldFN0cmluZyhcbiAgICBsb2NhbGVJbmZvOiBTa3lBcHBMb2NhbGVJbmZvLFxuICAgIG5hbWU6IHN0cmluZyxcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZ2V0TGliU3RyaW5nRm9yTG9jYWxlKFJFU09VUkNFUywgbG9jYWxlSW5mby5sb2NhbGUsIG5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSUyxcbiAgICAgIHVzZUNsYXNzOiBTa3lNb2RhbHNSZXNvdXJjZXNQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsc1Jlc291cmNlc01vZHVsZSB7fVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LW1vZGFscy1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1tb2RhbHMtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFFMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1Asb0NBQW9DLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1FBQ3ZELHFDQUFxQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUN6RCxvQ0FBb0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7UUFDdkQsd0NBQXdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQy9ELGlCQUFpQixFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtRQUM3QyxxQkFBcUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUU7UUFDL0MsZ0NBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQ3ZELGlDQUFpQyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRTtRQUN0RCxpQ0FBaUMsRUFBRTtZQUNqQyxPQUFPLEVBQUUsZ0RBQWdEO1NBQzFEO1FBQ0QsOENBQThDLEVBQUU7WUFDOUMsT0FBTyxFQUFFLGlCQUFpQjtTQUMzQjtRQUNELDJDQUEyQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRTtLQUN6RTtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sd0JBQXdCOzhHQUF4Qix3QkFBd0I7K0dBQXhCLHdCQUF3QixZQUZ6QixhQUFhOytHQUVaLHdCQUF3QixZQUZ6QixhQUFhOzsyRkFFWix3QkFBd0I7a0JBSHBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG5cbi8qKlxuICogTk9USUNFOiBETyBOT1QgTU9ESUZZIFRISVMgRklMRSFcbiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgd2VyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieVxuICogdGhlICduZyBnZW5lcmF0ZSBAc2t5dXgvaTE4bjpsaWItcmVzb3VyY2VzLW1vZHVsZSBsaWIvbW9kdWxlcy9zaGFyZWQvc2t5LW1vZGFscycgc2NoZW1hdGljLlxuICogVG8gdXBkYXRlIHRoaXMgZmlsZSwgc2ltcGx5IHJlcnVuIHRoZSBjb21tYW5kLlxuICovXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5STE4bk1vZHVsZSxcbiAgU2t5TGliUmVzb3VyY2VzLFxuICBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogUmVjb3JkPHN0cmluZywgU2t5TGliUmVzb3VyY2VzPiA9IHtcbiAgJ0VOLVVTJzoge1xuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfb2tfdGV4dDogeyBtZXNzYWdlOiAnT0snIH0sXG4gICAgc2t5dXhfY29uZmlybV9kaWFsb2dfZGVmYXVsdF95ZXNfdGV4dDogeyBtZXNzYWdlOiAnWWVzJyB9LFxuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfbm9fdGV4dDogeyBtZXNzYWdlOiAnTm8nIH0sXG4gICAgc2t5dXhfY29uZmlybV9kaWFsb2dfZGVmYXVsdF9jYW5jZWxfdGV4dDogeyBtZXNzYWdlOiAnQ2FuY2VsJyB9LFxuICAgIHNreXV4X21vZGFsX2Nsb3NlOiB7IG1lc3NhZ2U6ICdDbG9zZSBtb2RhbCcgfSxcbiAgICBza3l1eF9tb2RhbF9vcGVuX2hlbHA6IHsgbWVzc2FnZTogJ09wZW4gSGVscCcgfSxcbiAgICBza3l1eF9tb2RhbF9mb290ZXJfY2FuY2VsX2J1dHRvbjogeyBtZXNzYWdlOiAnQ2FuY2VsJyB9LFxuICAgIHNreXV4X21vZGFsX2Zvb3Rlcl9wcmltYXJ5X2J1dHRvbjogeyBtZXNzYWdlOiAnU2F2ZScgfSxcbiAgICBza3l1eF9tb2RhbF9kaXJ0eV9kZWZhdWx0X21lc3NhZ2U6IHtcbiAgICAgIG1lc3NhZ2U6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGlzY2FyZCB5b3VyIGNoYW5nZXM/JyxcbiAgICB9LFxuICAgIHNreXV4X21vZGFsX2RpcnR5X2RlZmF1bHRfZGlzY2FyZF9jaGFuZ2VzX3RleHQ6IHtcbiAgICAgIG1lc3NhZ2U6ICdEaXNjYXJkIGNoYW5nZXMnLFxuICAgIH0sXG4gICAgc2t5dXhfbW9kYWxfZGlydHlfZGVmYXVsdF9rZWVwX3dvcmtpbmdfdGV4dDogeyBtZXNzYWdlOiAnS2VlcCB3b3JraW5nJyB9LFxuICB9LFxufTtcblxuU2t5TGliUmVzb3VyY2VzU2VydmljZS5hZGRSZXNvdXJjZXMoUkVTT1VSQ0VTKTtcblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxzUmVzb3VyY2VzTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Allows interaction with a SKY UX modal component.
3
+ * @internal
4
+ */
5
+ export class SkyModalFixture {
6
+ #modalElement;
7
+ #fixture;
8
+ constructor(fixture, skyTestId) {
9
+ this.#fixture = fixture;
10
+ const modalElement = document.querySelector('sky-modal[data-sky-id="' + skyTestId + '"]');
11
+ if (!modalElement) {
12
+ throw new Error(`No element was found with a \`data-sky-id\` value of "${skyTestId}".`);
13
+ }
14
+ this.#modalElement = modalElement;
15
+ }
16
+ /**
17
+ * The modal component's ARIA describedby attribute.
18
+ */
19
+ get ariaDescribedBy() {
20
+ const modalDialogElement = this.#getModalDialogElement();
21
+ /* Non-null assertion as our component has a default for if the user does not provide this attribute or if they provide "undefined" */
22
+ const describedByAttribute =
23
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
24
+ modalDialogElement.getAttribute('aria-describedby');
25
+ return describedByAttribute;
26
+ }
27
+ /**
28
+ * The modal component's ARIA labelledby attribute.
29
+ */
30
+ get ariaLabelledBy() {
31
+ const modalDialogElement = this.#getModalDialogElement();
32
+ /* Non-null assertion as our component has a default for if the user does not provide this attribute or if they provide "undefined" */
33
+ const labelledByAttribute =
34
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
35
+ modalDialogElement.getAttribute('aria-labelledby');
36
+ return labelledByAttribute;
37
+ }
38
+ /**
39
+ * The modal component's role attribute.
40
+ */
41
+ get ariaRole() {
42
+ const modalDialogElement = this.#getModalDialogElement();
43
+ /* Non-null assertion as our component has a default for if the user does not provide this attribute or if they provide "undefined" */
44
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
45
+ const roleAttribute = modalDialogElement.getAttribute('role');
46
+ return roleAttribute;
47
+ }
48
+ /**
49
+ * Whether or not the modal is a full page modal.
50
+ */
51
+ get fullPage() {
52
+ const modalDivElement = this.getModalDiv();
53
+ return modalDivElement.classList.contains('sky-modal-full-page');
54
+ }
55
+ /**
56
+ * The size of the modal.
57
+ */
58
+ get size() {
59
+ const modalDivElement = this.getModalDiv();
60
+ const possibleSizes = ['small', 'medium', 'large'];
61
+ for (const size of possibleSizes) {
62
+ if (modalDivElement.classList.contains('sky-modal-' + size)) {
63
+ return size;
64
+ }
65
+ }
66
+ return;
67
+ }
68
+ /**
69
+ * Whether or not the modal is set up for tiled content.
70
+ */
71
+ get tiledBody() {
72
+ const modalDivElement = this.getModalDiv();
73
+ return modalDivElement.classList.contains('sky-modal-tiled');
74
+ }
75
+ /**
76
+ * Clicks the modal header's "close" button.
77
+ */
78
+ clickHeaderCloseButton() {
79
+ this.#checkModalElement();
80
+ const closeButton = this.#modalElement.querySelector('.sky-modal .sky-modal-btn-close');
81
+ if (closeButton &&
82
+ window.getComputedStyle(closeButton).display !== 'none') {
83
+ closeButton.click();
84
+ this.#fixture.detectChanges();
85
+ }
86
+ else {
87
+ throw new Error(`No header close button exists.`);
88
+ }
89
+ }
90
+ /**
91
+ * Clicks the modal header's "help" button.
92
+ */
93
+ clickHelpButton() {
94
+ this.#checkModalElement();
95
+ const helpButton = this.#modalElement.querySelector('.sky-modal .sky-modal-header-buttons button[name="help-button"]');
96
+ if (helpButton && window.getComputedStyle(helpButton).display !== 'none') {
97
+ helpButton.click();
98
+ this.#fixture.detectChanges();
99
+ }
100
+ else {
101
+ throw new Error(`No help button exists.`);
102
+ }
103
+ }
104
+ /**
105
+ * Returns the main modal element.
106
+ */
107
+ getModalDiv() {
108
+ this.#checkModalElement();
109
+ return this.#modalElement.querySelector('.sky-modal');
110
+ }
111
+ /**
112
+ * Returns the modal's content element.
113
+ */
114
+ getModalContentEl() {
115
+ this.#checkModalElement();
116
+ return this.#modalElement.querySelector('.sky-modal-content');
117
+ }
118
+ /**
119
+ * Returns the modal's footer element.
120
+ */
121
+ getModalFooterEl() {
122
+ this.#checkModalElement();
123
+ return this.#modalElement.querySelector('.sky-modal-footer');
124
+ }
125
+ /**
126
+ * Returns the modal's header element.
127
+ */
128
+ getModalHeaderEl() {
129
+ this.#checkModalElement();
130
+ return this.#modalElement.querySelector('.sky-modal-header');
131
+ }
132
+ #checkModalElement() {
133
+ if (!document.contains(this.#modalElement)) {
134
+ throw new Error('Modal element no longer exists. Was the modal closed?');
135
+ }
136
+ }
137
+ #getModalDialogElement() {
138
+ this.#checkModalElement();
139
+ // We can always know that the dialog element will exist if the modal is open and exists.
140
+ return this.#modalElement.querySelector('.sky-modal-dialog');
141
+ }
142
+ }
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvbGVnYWN5L21vZGFsLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDMUIsYUFBYSxDQUFjO0lBRTNCLFFBQVEsQ0FBNEI7SUFFcEMsWUFBWSxPQUFrQyxFQUFFLFNBQWlCO1FBQy9ELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQ3pDLHlCQUF5QixHQUFHLFNBQVMsR0FBRyxJQUFJLENBQzlCLENBQUM7UUFFakIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQ2IseURBQXlELFNBQVMsSUFBSSxDQUN2RSxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsZUFBZTtRQUN4QixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3pELHNJQUFzSTtRQUN0SSxNQUFNLG9CQUFvQjtRQUN4QixvRUFBb0U7UUFDcEUsa0JBQWtCLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFFLENBQUM7UUFDdkQsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDdkIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN6RCxzSUFBc0k7UUFDdEksTUFBTSxtQkFBbUI7UUFDdkIsb0VBQW9FO1FBQ3BFLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBRSxDQUFDO1FBRXRELE9BQU8sbUJB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ckIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7T0FFRztJQUNJLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7UUFDM0UsQ0FBQztJQUNILENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIseUZBQXlGO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUUsQ0FBQztJQUNoRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCBtb2RhbCBjb21wb25lbnQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreU1vZGFsRml4dHVyZSB7XG4gICNtb2RhbEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICNmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj4sIHNreVRlc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy4jZml4dHVyZSA9IGZpeHR1cmU7XG4gICAgY29uc3QgbW9kYWxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICdza3ktbW9kYWxbZGF0YS1za3ktaWQ9XCInICsgc2t5VGVzdElkICsgJ1wiXScsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICghbW9kYWxFbGVtZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBObyBlbGVtZW50IHdhcyBmb3VuZCB3aXRoIGEgXFxgZGF0YS1za3ktaWRcXGAgdmFsdWUgb2YgXCIke3NreVRlc3RJZH1cIi5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLiNtb2RhbEVsZW1lbnQgPSBtb2RhbEVsZW1lbnQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG1vZGFsIGNvbXBvbmVudCdzIEFSSUEgZGVzY3JpYmVkYnkgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGdldCBhcmlhRGVzY3JpYmVkQnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtb2RhbERpYWxvZ0VsZW1lbnQgPSB0aGlzLiNnZXRNb2RhbERpYWxvZ0VsZW1lbnQoKTtcbiAgICAvKiBOb24tbnVsbCBhc3NlcnRpb24gYXMgb3VyIGNvbXBvbmVudCBoYXMgYSBkZWZhdWx0IGZvciBpZiB0aGUgdXNlciBkb2VzIG5vdCBwcm92aWRlIHRoaXMgYXR0cmlidXRlIG9yIGlmIHRoZXkgcHJvdmlkZSBcInVuZGVmaW5lZFwiICovXG4gICAgY29uc3QgZGVzY3JpYmVkQnlBdHRyaWJ1dGUgPVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgIG1vZGFsRGlhbG9nRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKSE7XG4gICAgcmV0dXJuIGRlc2NyaWJlZEJ5QXR0cmlidXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtb2RhbCBjb21wb25lbnQncyBBUklBIGxhYmVsbGVkYnkgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGdldCBhcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG1vZGFsRGlhbG9nRWxlbWVudCA9IHRoaXMuI2dldE1vZGFsRGlhbG9nRWxlbWVudCgpO1xuICAgIC8qIE5vbi1udWxsIGFzc2VydGlvbiBhcyBvdXIgY29tcG9uZW50IGhhcyBhIGRlZmF1bHQgZm9yIGlmIHRoZSB1c2VyIGRvZXMgbm90IHByb3ZpZGUgdGhpcyBhdHRyaWJ1dGUgb3IgaWYgdGhleSBwcm92aWRlIFwidW5kZWZpbmVkXCIgKi9cbiAgICBjb25zdCBsYWJlbGxlZEJ5QXR0cmlidXRlID1cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICBtb2RhbERpYWxvZ0VsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKSE7XG5cbiAgICByZXR1cm4gbGFiZWxsZWRCeUF0dHJpYnV0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbW9kYWwgY29tcG9uZW50J3Mgcm9sZSBhdHRyaWJ1dGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFyaWFSb2xlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbW9kYWxEaWFsb2dFbGVtZW50ID0gdGhpcy4jZ2V0TW9kYWxEaWFsb2dFbGVtZW50KCk7XG4gICAgLyogTm9uLW51bGwgYXNzZXJ0aW9uIGFzIG91ciBjb21wb25lbnQgaGFzIGEgZGVmYXVsdCBmb3IgaWYgdGhlIHVzZXIgZG9lcyBub3QgcHJvdmlkZSB0aGlzIGF0dHJpYnV0ZSBvciBpZiB0aGV5IHByb3ZpZGUgXCJ1bmRlZmluZWRcIiAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgY29uc3Qgcm9sZUF0dHJpYnV0ZSA9IG1vZGFsRGlhbG9nRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSE7XG4gICAgcmV0dXJuIHJvbGVBdHRyaWJ1dGU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIG1vZGFsIGlzIGEgZnVsbCBwYWdlIG1vZGFsLlxuICAgKi9cbiAgcHVibGljIGdldCBmdWxsUGFnZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBtb2RhbERpdkVsZW1lbnQgPSB0aGlzLmdldE1vZGFsRGl2KCk7XG4gICAgcmV0dXJuIG1vZGFsRGl2RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1tb2RhbC1mdWxsLXBhZ2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNpemUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtb2RhbERpdkVsZW1lbnQgPSB0aGlzLmdldE1vZGFsRGl2KCk7XG4gICAgY29uc3QgcG9zc2libGVTaXplcyA9IFsnc21hbGwnLCAnbWVkaXVtJywgJ2xhcmdlJ107XG5cbiAgICBmb3IgKGNvbnN0IHNpemUgb2YgcG9zc2libGVTaXplcykge1xuICAgICAgaWYgKG1vZGFsRGl2RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1tb2RhbC0nICsgc2l6ZSkpIHtcbiAgICAgICAgcmV0dXJuIHNpemU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBtb2RhbCBpcyBzZXQgdXAgZm9yIHRpbGVkIGNvbnRlbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHRpbGVkQm9keSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBtb2RhbERpdkVsZW1lbnQgPSB0aGlzLmdldE1vZGFsRGl2KCk7XG4gICAgcmV0dXJuIG1vZGFsRGl2RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1tb2RhbC10aWxlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgbW9kYWwgaGVhZGVyJ3MgXCJjbG9zZVwiIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBjbGlja0hlYWRlckNsb3NlQnV0dG9uKCk6IHZvaWQge1xuICAgIHRoaXMuI2NoZWNrTW9kYWxFbGVtZW50KCk7XG4gICAgY29uc3QgY2xvc2VCdXR0b246IEhUTUxFbGVtZW50IHwgbnVsbCA9IHRoaXMuI21vZGFsRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5za3ktbW9kYWwgLnNreS1tb2RhbC1idG4tY2xvc2UnLFxuICAgICk7XG5cbiAgICBpZiAoXG4gICAgICBjbG9zZUJ1dHRvbiAmJlxuICAgICAgd2luZG93LmdldENvbXB1dGVkU3R5bGUoY2xvc2VCdXR0b24pLmRpc3BsYXkgIT09ICdub25lJ1xuICAgICkge1xuICAgICAgY2xvc2VCdXR0b24uY2xpY2soKTtcbiAgICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGhlYWRlciBjbG9zZSBidXR0b24gZXhpc3RzLmApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIG1vZGFsIGhlYWRlcidzIFwiaGVscFwiIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBjbGlja0hlbHBCdXR0b24oKTogdm9pZCB7XG4gICAgdGhpcy4jY2hlY2tNb2RhbEVsZW1lbnQoKTtcbiAgICBjb25zdCBoZWxwQnV0dG9uOiBIVE1MRWxlbWVudCB8IG51bGwgPSB0aGlzLiNtb2RhbEVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2t5LW1vZGFsIC5za3ktbW9kYWwtaGVhZGVyLWJ1dHRvbnMgYnV0dG9uW25hbWU9XCJoZWxwLWJ1dHRvblwiXScsXG4gICAgKTtcblxuICAgIGlmIChoZWxwQnV0dG9uICYmIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGhlbHBCdXR0b24pLmRpc3BsYXkgIT09ICdub25lJykge1xuICAgICAgaGVscEJ1dHRvbi5jbGljaygpO1xuICAgICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gaGVscCBidXR0b24gZXhpc3RzLmApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBtYWluIG1vZGFsIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0TW9kYWxEaXYoKTogYW55IHtcbiAgICB0aGlzLiNjaGVja01vZGFsRWxlbWVudCgpO1xuICAgIHJldHVybiB0aGlzLiNtb2RhbEVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1tb2RhbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1vZGFsJ3MgY29udGVudCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGdldE1vZGFsQ29udGVudEVsKCk6IGFueSB7XG4gICAgdGhpcy4jY2hlY2tNb2RhbEVsZW1lbnQoKTtcbiAgICByZXR1cm4gdGhpcy4jbW9kYWxFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktbW9kYWwtY29udGVudCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1vZGFsJ3MgZm9vdGVyIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0TW9kYWxGb290ZXJFbCgpOiBhbnkge1xuICAgIHRoaXMuI2NoZWNrTW9kYWxFbGVtZW50KCk7XG4gICAgcmV0dXJuIHRoaXMuI21vZGFsRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LW1vZGFsLWZvb3RlcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1vZGFsJ3MgaGVhZGVyIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0TW9kYWxIZWFkZXJFbCgpOiBhbnkge1xuICAgIHRoaXMuI2NoZWNrTW9kYWxFbGVtZW50KCk7XG4gICAgcmV0dXJuIHRoaXMuI21vZGFsRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LW1vZGFsLWhlYWRlcicpO1xuICB9XG5cbiAgI2NoZWNrTW9kYWxFbGVtZW50KCk6IHZvaWQge1xuICAgIGlmICghZG9jdW1lbnQuY29udGFpbnModGhpcy4jbW9kYWxFbGVtZW50KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNb2RhbCBlbGVtZW50IG5vIGxvbmdlciBleGlzdHMuIFdhcyB0aGUgbW9kYWwgY2xvc2VkPycpO1xuICAgIH1cbiAgfVxuXG4gICNnZXRNb2RhbERpYWxvZ0VsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHRoaXMuI2NoZWNrTW9kYWxFbGVtZW50KCk7XG4gICAgLy8gV2UgY2FuIGFsd2F5cyBrbm93IHRoYXQgdGhlIGRpYWxvZyBlbGVtZW50IHdpbGwgZXhpc3QgaWYgdGhlIG1vZGFsIGlzIG9wZW4gYW5kIGV4aXN0cy5cbiAgICByZXR1cm4gdGhpcy4jbW9kYWxFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktbW9kYWwtZGlhbG9nJykhO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1idXR0b24taGFybmVzcy1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy90ZXN0aW5nL3NyYy9tb2R1bGVzL2NvbmZpcm0vY29uZmlybS1idXR0b24taGFybmVzcy1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlSGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5cbi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIFNreUNvbmZpcm1CdXR0b25IYXJuZXNzIGluc3RhbmNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lDb25maXJtQnV0dG9uSGFybmVzc0ZpbHRlcnNcbiAgZXh0ZW5kcyBPbWl0PEJhc2VIYXJuZXNzRmlsdGVycywgJ3NlbGVjdG9yJz4ge1xuICAvKipcbiAgICogT25seSBmaW5kIGluc3RhbmNlcyB3aG9zZSBjb250ZW50IG1hdGNoZXMgdGhlIGdpdmVuIHZhbHVlLlxuICAgKi9cbiAgdGV4dD86IHN0cmluZyB8IFJlZ0V4cDtcblxuICAvKipcbiAgICogT25seSBmaW5kIGluc3RhbmNlcyB3aG9zZSBzdHlsZSBtYXRjaGVzIHRoZSBnaXZlbiB2YWx1ZS5cbiAgICovXG4gIHN0eWxlVHlwZT86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,52 @@
1
+ import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
+ /**
3
+ * Harness for interacting with a confirm component in tests.
4
+ * @internal
5
+ */
6
+ export class SkyConfirmButtonHarness extends ComponentHarness {
7
+ static { this.hostSelector = '.sky-confirm-buttons .sky-btn'; }
8
+ /**
9
+ * Gets a `HarnessPredicate` that can be used to search for a
10
+ * `SkyConfirmButtonHarness` that meets certain criteria.
11
+ */
12
+ static with(filters) {
13
+ return new HarnessPredicate(SkyConfirmButtonHarness, filters)
14
+ .addOption('text', filters.text, async (harness, text) => {
15
+ const buttonText = await harness.getText();
16
+ return await HarnessPredicate.stringMatches(buttonText, text);
17
+ })
18
+ .addOption('styleType', filters.styleType, async (harness, styleType) => {
19
+ const buttonStyleType = await harness.getStyleType();
20
+ return await HarnessPredicate.stringMatches(buttonStyleType, styleType);
21
+ });
22
+ }
23
+ /**
24
+ * Clicks the confirm button.
25
+ */
26
+ async click() {
27
+ await (await this.host()).click();
28
+ }
29
+ /**
30
+ * Gets the button style of the confirm button.
31
+ */
32
+ async getStyleType() {
33
+ const hostEl = await this.host();
34
+ if (await hostEl.hasClass('sky-btn-primary')) {
35
+ return 'primary';
36
+ }
37
+ else if (await hostEl.hasClass('sky-btn-link')) {
38
+ return 'link';
39
+ }
40
+ else if (await hostEl.hasClass('sky-btn-danger')) {
41
+ return 'danger';
42
+ }
43
+ return 'default';
44
+ }
45
+ /**
46
+ * Gets the text content of the confirm button.
47
+ */
48
+ async getText() {
49
+ return await (await this.host()).text();
50
+ }
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1idXR0b24taGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0tYnV0dG9uLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFLMUU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFnQjthQUM3QyxpQkFBWSxHQUFHLCtCQUErQixDQUFDO0lBRTdEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQXVDO1FBRXZDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyx1QkFBdUIsRUFBRSxPQUFPLENBQUM7YUFDMUQsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDdkQsTUFBTSxVQUFVLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0MsT0FBTyxNQUFNLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDO2FBQ0QsU0FBUyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDdEUsTUFBTSxlQUFlLEdBQUcsTUFBTSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckQsT0FBTyxNQUFNLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUN2QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVqQyxJQUFJLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDN0MsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQzthQUFNLElBQUksTUFBTSxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDakQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQzthQUFNLElBQUksTUFBTSxNQUFNLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUNuRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcywgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreUNvbmZpcm1CdXR0b25TdHlsZVR5cGUgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgU2t5Q29uZmlybUJ1dHRvbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jb25maXJtLWJ1dHRvbi1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBjb25maXJtIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5Q29uZmlybUJ1dHRvbkhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnLnNreS1jb25maXJtLWJ1dHRvbnMgLnNreS1idG4nO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lDb25maXJtQnV0dG9uSGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lDb25maXJtQnV0dG9uSGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShTa3lDb25maXJtQnV0dG9uSGFybmVzcywgZmlsdGVycylcbiAgICAgIC5hZGRPcHRpb24oJ3RleHQnLCBmaWx0ZXJzLnRleHQsIGFzeW5jIChoYXJuZXNzLCB0ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGJ1dHRvblRleHQgPSBhd2FpdCBoYXJuZXNzLmdldFRleHQoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IEhhcm5lc3NQcmVkaWNhdGUuc3RyaW5nTWF0Y2hlcyhidXR0b25UZXh0LCB0ZXh0KTtcbiAgICAgIH0pXG4gICAgICAuYWRkT3B0aW9uKCdzdHlsZVR5cGUnLCBmaWx0ZXJzLnN0eWxlVHlwZSwgYXN5bmMgKGhhcm5lc3MsIHN0eWxlVHlwZSkgPT4ge1xuICAgICAgICBjb25zdCBidXR0b25TdHlsZVR5cGUgPSBhd2FpdCBoYXJuZXNzLmdldFN0eWxlVHlwZSgpO1xuICAgICAgICByZXR1cm4gYXdhaXQgSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGJ1dHRvblN0eWxlVHlwZSwgc3R5bGVUeXBlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgY29uZmlybSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGJ1dHRvbiBzdHlsZSBvZiB0aGUgY29uZmlybSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U3R5bGVUeXBlKCk6IFByb21pc2U8U2t5Q29uZmlybUJ1dHRvblN0eWxlVHlwZT4ge1xuICAgIGNvbnN0IGhvc3RFbCA9IGF3YWl0IHRoaXMuaG9zdCgpO1xuXG4gICAgaWYgKGF3YWl0IGhvc3RFbC5oYXNDbGFzcygnc2t5LWJ0bi1wcmltYXJ5JykpIHtcbiAgICAgIHJldHVybiAncHJpbWFyeSc7XG4gICAgfSBlbHNlIGlmIChhd2FpdCBob3N0RWwuaGFzQ2xhc3MoJ3NreS1idG4tbGluaycpKSB7XG4gICAgICByZXR1cm4gJ2xpbmsnO1xuICAgIH0gZWxzZSBpZiAoYXdhaXQgaG9zdEVsLmhhc0NsYXNzKCdza3ktYnRuLWRhbmdlcicpKSB7XG4gICAgICByZXR1cm4gJ2Rhbmdlcic7XG4gICAgfVxuICAgIHJldHVybiAnZGVmYXVsdCc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBjb25maXJtIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLmhvc3QoKSkudGV4dCgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,90 @@
1
+ import { SkyComponentHarness } from '@skyux/core/testing';
2
+ import { SkyConfirmType } from '@skyux/modals';
3
+ import { SkyConfirmButtonHarness } from './confirm-button-harness';
4
+ /**
5
+ * Harness for interacting with a confirm component in tests.
6
+ */
7
+ export class SkyConfirmHarness extends SkyComponentHarness {
8
+ static { this.hostSelector = 'sky-confirm'; }
9
+ #getBodyEl = this.locatorForOptional('.sky-confirm-body');
10
+ #getButtons = this.locatorForAll(SkyConfirmButtonHarness);
11
+ #getConfirmEl = this.locatorFor('.sky-confirm');
12
+ #getMessageEl = this.locatorFor('.sky-confirm-message');
13
+ /**
14
+ * Clicks a confirm button.
15
+ */
16
+ async clickCustomButton(filters) {
17
+ const buttons = await this.getCustomButtons(filters);
18
+ if (buttons.length > 1) {
19
+ if (filters.text instanceof RegExp) {
20
+ filters.text = filters.text.toString();
21
+ }
22
+ throw new Error(`More than one button matches the filter(s): ${JSON.stringify(filters)}.`);
23
+ }
24
+ await buttons[0].click();
25
+ }
26
+ /**
27
+ * Clicks a confirm button.
28
+ */
29
+ async clickOkButton() {
30
+ const type = await this.getType();
31
+ if (type === SkyConfirmType.Custom) {
32
+ throw new Error('Cannot click OK button on a confirm of type custom.');
33
+ }
34
+ const buttons = await this.#getButtons();
35
+ await buttons[0].click();
36
+ }
37
+ /**
38
+ * Gets the body of the confirm component.
39
+ */
40
+ async getBodyText() {
41
+ return await (await this.#getBodyEl())?.text();
42
+ }
43
+ /**
44
+ * Gets the confirm component's custom buttons.
45
+ */
46
+ async getCustomButtons(filters) {
47
+ const confirmType = await this.getType();
48
+ if (confirmType === SkyConfirmType.OK) {
49
+ throw new Error('Cannot get custom buttons for confirm of type OK.');
50
+ }
51
+ const harnesses = await this.#queryHarnesses(SkyConfirmButtonHarness.with(filters || {}));
52
+ if (filters && harnesses.length === 0) {
53
+ // Stringify the regular expression so that it's readable in the console log.
54
+ if (filters.text instanceof RegExp) {
55
+ filters.text = filters.text.toString();
56
+ }
57
+ throw new Error(`Could not find buttons matching filter(s): ${JSON.stringify(filters)}.`);
58
+ }
59
+ return harnesses;
60
+ }
61
+ /**
62
+ * Gets the message of the confirm component.
63
+ */
64
+ async getMessageText() {
65
+ return await (await this.#getMessageEl()).text();
66
+ }
67
+ /**
68
+ * Gets the type of the confirm component.
69
+ */
70
+ async getType() {
71
+ const confirmEl = await this.#getConfirmEl();
72
+ if (await confirmEl.hasClass('sky-confirm-type-ok')) {
73
+ return SkyConfirmType.OK;
74
+ }
75
+ return SkyConfirmType.Custom;
76
+ }
77
+ /**
78
+ * Whether the whitespace is preserved on the confirm component.
79
+ */
80
+ async isWhiteSpacePreserved() {
81
+ return await (await this.#getMessageEl()).hasClass('sky-confirm-preserve-white-space');
82
+ }
83
+ /**
84
+ * Returns child harnesses.
85
+ */
86
+ async #queryHarnesses(harness) {
87
+ return await this.locatorForAll(harness)();
88
+ }
89
+ }
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy90ZXN0aW5nL3NyYy9tb2R1bGVzL2NvbmZpcm0vY29uZmlybS1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHbkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW1CO2FBQzFDLGlCQUFZLEdBQUcsYUFBYSxDQUFDO0lBRTNDLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMxRCxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFELGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFFeEQ7O09BRUc7SUFDSSxLQUFLLENBQUMsaUJBQWlCLENBQzVCLE9BQXVDO1FBRXZDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJELElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixJQUFJLE9BQU8sQ0FBQyxJQUFJLFlBQVksTUFBTSxFQUFFLENBQUM7Z0JBQ25DLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYiwrQ0FBK0MsSUFBSSxDQUFDLFNBQVMsQ0FDM0QsT0FBTyxDQUNSLEdBQUcsQ0FDTCxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWxDLElBQUksSUFBSSxLQUFLLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGdCQUFnQixDQUMzQixPQUF3QztRQUV4QyxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV6QyxJQUFJLFdBQVcsS0FBSyxjQUFjLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQzFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQzVDLENBQUM7UUFFRixJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RDLDZFQUE2RTtZQUM3RSxJQUFJLE9BQU8sQ0FBQyxJQUFJLFlBQVksTUFBTSxFQUFFLENBQUM7Z0JBQ25DLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6QyxDQUFDO1lBRUQsTUFBTSxJQUFJLEtBQUssQ0FDYiw4Q0FBOEMsSUFBSSxDQUFDLFNBQVMsQ0FDMUQsT0FBTyxDQUNSLEdBQUcsQ0FDTCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxjQUFjO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0MsSUFBSSxNQUFNLFNBQVMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1lBQ3BELE9BQU8sY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxxQkFBcUI7UUFDaEMsT0FBTyxNQUFNLENBQ1gsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQzNCLENBQUMsUUFBUSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FDbkIsT0FBd0I7UUFFeEIsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcywgSGFybmVzc1F1ZXJ5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29uZmlybVR5cGUgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgU2t5Q29uZmlybUJ1dHRvbkhhcm5lc3MgfSBmcm9tICcuL2NvbmZpcm0tYnV0dG9uLWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5Q29uZmlybUJ1dHRvbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jb25maXJtLWJ1dHRvbi1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBjb25maXJtIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNvbmZpcm1IYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1jb25maXJtJztcblxuICAjZ2V0Qm9keUVsID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktY29uZmlybS1ib2R5Jyk7XG4gICNnZXRCdXR0b25zID0gdGhpcy5sb2NhdG9yRm9yQWxsKFNreUNvbmZpcm1CdXR0b25IYXJuZXNzKTtcbiAgI2dldENvbmZpcm1FbCA9IHRoaXMubG9jYXRvckZvcignLnNreS1jb25maXJtJyk7XG4gICNnZXRNZXNzYWdlRWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktY29uZmlybS1tZXNzYWdlJyk7XG5cbiAgLyoqXG4gICAqIENsaWNrcyBhIGNvbmZpcm0gYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrQ3VzdG9tQnV0dG9uKFxuICAgIGZpbHRlcnM6IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYnV0dG9ucyA9IGF3YWl0IHRoaXMuZ2V0Q3VzdG9tQnV0dG9ucyhmaWx0ZXJzKTtcblxuICAgIGlmIChidXR0b25zLmxlbmd0aCA+IDEpIHtcbiAgICAgIGlmIChmaWx0ZXJzLnRleHQgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgZmlsdGVycy50ZXh0ID0gZmlsdGVycy50ZXh0LnRvU3RyaW5nKCk7XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBNb3JlIHRoYW4gb25lIGJ1dHRvbiBtYXRjaGVzIHRoZSBmaWx0ZXIocyk6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgKX0uYCxcbiAgICAgICk7XG4gICAgfVxuICAgIGF3YWl0IGJ1dHRvbnNbMF0uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgYSBjb25maXJtIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja09rQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHR5cGUgPSBhd2FpdCB0aGlzLmdldFR5cGUoKTtcblxuICAgIGlmICh0eXBlID09PSBTa3lDb25maXJtVHlwZS5DdXN0b20pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGNsaWNrIE9LIGJ1dHRvbiBvbiBhIGNvbmZpcm0gb2YgdHlwZSBjdXN0b20uJyk7XG4gICAgfVxuICAgIGNvbnN0IGJ1dHRvbnMgPSBhd2FpdCB0aGlzLiNnZXRCdXR0b25zKCk7XG4gICAgYXdhaXQgYnV0dG9uc1swXS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGJvZHkgb2YgdGhlIGNvbmZpcm0gY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEJvZHlUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRCb2R5RWwoKSk/LnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjb25maXJtIGNvbXBvbmVudCdzIGN1c3RvbSBidXR0b25zLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEN1c3RvbUJ1dHRvbnMoXG4gICAgZmlsdGVycz86IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxTa3lDb25maXJtQnV0dG9uSGFybmVzc1tdPiB7XG4gICAgY29uc3QgY29uZmlybVR5cGUgPSBhd2FpdCB0aGlzLmdldFR5cGUoKTtcblxuICAgIGlmIChjb25maXJtVHlwZSA9PT0gU2t5Q29uZmlybVR5cGUuT0spIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGdldCBjdXN0b20gYnV0dG9ucyBmb3IgY29uZmlybSBvZiB0eXBlIE9LLicpO1xuICAgIH1cblxuICAgIGNvbnN0IGhhcm5lc3NlcyA9IGF3YWl0IHRoaXMuI3F1ZXJ5SGFybmVzc2VzKFxuICAgICAgU2t5Q29uZmlybUJ1dHRvbkhhcm5lc3Mud2l0aChmaWx0ZXJzIHx8IHt9KSxcbiAgICApO1xuXG4gICAgaWYgKGZpbHRlcnMgJiYgaGFybmVzc2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gU3RyaW5naWZ5IHRoZSByZWd1bGFyIGV4cHJlc3Npb24gc28gdGhhdCBpdCdzIHJlYWRhYmxlIGluIHRoZSBjb25zb2xlIGxvZy5cbiAgICAgIGlmIChmaWx0ZXJzLnRleHQgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgZmlsdGVycy50ZXh0ID0gZmlsdGVycy50ZXh0LnRvU3RyaW5nKCk7XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENvdWxkIG5vdCBmaW5kIGJ1dHRvbnMgbWF0Y2hpbmcgZmlsdGVyKHMpOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICl9LmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBoYXJuZXNzZXM7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbWVzc2FnZSBvZiB0aGUgY29uZmlybSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0TWVzc2FnZVRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldE1lc3NhZ2VFbCgpKS50ZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdHlwZSBvZiB0aGUgY29uZmlybSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VHlwZSgpOiBQcm9taXNlPFNreUNvbmZpcm1UeXBlPiB7XG4gICAgY29uc3QgY29uZmlybUVsID0gYXdhaXQgdGhpcy4jZ2V0Q29uZmlybUVsKCk7XG4gICAgaWYgKGF3YWl0IGNvbmZpcm1FbC5oYXNDbGFzcygnc2t5LWNvbmZpcm0tdHlwZS1vaycpKSB7XG4gICAgICByZXR1cm4gU2t5Q29uZmlybVR5cGUuT0s7XG4gICAgfVxuXG4gICAgcmV0dXJuIFNreUNvbmZpcm1UeXBlLkN1c3RvbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB3aGl0ZXNwYWNlIGlzIHByZXNlcnZlZCBvbiB0aGUgY29uZmlybSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNXaGl0ZVNwYWNlUHJlc2VydmVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoXG4gICAgICBhd2FpdCB0aGlzLiNnZXRNZXNzYWdlRWwoKVxuICAgICkuaGFzQ2xhc3MoJ3NreS1jb25maXJtLXByZXNlcnZlLXdoaXRlLXNwYWNlJyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBjaGlsZCBoYXJuZXNzZXMuXG4gICAqL1xuICBhc3luYyAjcXVlcnlIYXJuZXNzZXM8VCBleHRlbmRzIENvbXBvbmVudEhhcm5lc3M+KFxuICAgIGhhcm5lc3M6IEhhcm5lc3NRdWVyeTxUPixcbiAgKTogUHJvbWlzZTxUW10+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5sb2NhdG9yRm9yQWxsKGhhcm5lc3MpKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ /**
2
+ * A controller to be injected into tests, which mocks the confirm service
3
+ * and handles interactions with confirm dialogs.
4
+ */
5
+ export class SkyConfirmTestingController {
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS10ZXN0aW5nLmNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvY29uZmlybS9jb25maXJtLXRlc3RpbmcuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLDJCQUEyQjtDQXNCaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MsIFNreUNvbmZpcm1Db25maWcgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuLyoqXG4gKiBBIGNvbnRyb2xsZXIgdG8gYmUgaW5qZWN0ZWQgaW50byB0ZXN0cywgd2hpY2ggbW9ja3MgdGhlIGNvbmZpcm0gc2VydmljZVxuICogYW5kIGhhbmRsZXMgaW50ZXJhY3Rpb25zIHdpdGggY29uZmlybSBkaWFsb2dzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2t5Q29uZmlybVRlc3RpbmdDb250cm9sbGVyIHtcbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgY29uZmlybSBkaWFsb2cgd2l0aCB0aGUgXCJjYW5jZWxcIiBhY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgY2FuY2VsKCk6IHZvaWQ7XG4gIC8qKlxuICAgKiBUaHJvd3MgaWYgYSBjb25maXJtIGRpYWxvZyBpcyBvcGVuLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdE5vbmUoKTogdm9pZDtcbiAgLyoqXG4gICAqIFRocm93cyBpZiB0aGUgb3BlbiBjb25maXJtIGRpYWxvZyBkb2VzIG5vdCBtYXRjaCB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cbiAgICogQHBhcmFtIGNvbmZpZ1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdE9wZW4oY29uZmlnOiBTa3lDb25maXJtQ29uZmlnKTogdm9pZDtcbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgY29uZmlybSBkaWFsb2cgd2l0aCB0aGUgcHJvdmlkZWQgYWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsb3NlKGFyZ3M6IFNreUNvbmZpcm1DbG9zZUV2ZW50QXJncyk6IHZvaWQ7XG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGNvbmZpcm0gZGlhbG9nIHdpdGggdGhlIFwib2tcIiBhY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3Qgb2soKTogdm9pZDtcbn1cbiJdfQ==
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
15
15
  providers: [provideConfirmTesting()],
16
16
  }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvY29uZmlybS9jb25maXJtLXRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRWxFOztHQUVHO0FBSUgsTUFBTSxPQUFPLHVCQUF1Qjs4R0FBdkIsdUJBQXVCOytHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QixhQUZ2QixDQUFDLHFCQUFxQixFQUFFLENBQUM7OzJGQUV6Qix1QkFBdUI7a0JBSG5DLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQztpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBwcm92aWRlQ29uZmlybVRlc3RpbmcgfSBmcm9tICcuL3Byb3ZpZGUtY29uZmlybS10ZXN0aW5nJztcblxuLyoqXG4gKiBDb25maWd1cmVzIHRoZSBgU2t5Q29uZmlybVRlc3RpbmdDb250cm9sbGVyYCBhcyB0aGUgYmFja2VuZCBmb3IgdGhlIGBTa3lDb25maXJtU2VydmljZWAuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW3Byb3ZpZGVDb25maXJtVGVzdGluZygpXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Q29uZmlybVRlc3RpbmdNb2R1bGUge31cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvbW9kdWxlcy9jb25maXJtL2NvbmZpcm0tdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFbEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QjsrR0FBdkIsdUJBQXVCLGFBRnZCLENBQUMscUJBQXFCLEVBQUUsQ0FBQzs7MkZBRXpCLHVCQUF1QjtrQkFIbkMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHByb3ZpZGVDb25maXJtVGVzdGluZyB9IGZyb20gJy4vcHJvdmlkZS1jb25maXJtLXRlc3RpbmcnO1xuXG4vKipcbiAqIENvbmZpZ3VyZXMgdGhlIGBTa3lDb25maXJtVGVzdGluZ0NvbnRyb2xsZXJgIGFzIHRoZSBiYWNrZW5kIGZvciB0aGUgYFNreUNvbmZpcm1TZXJ2aWNlYC5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZUNvbmZpcm1UZXN0aW5nKCldLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtVGVzdGluZ01vZHVsZSB7fVxuIl19
@@ -0,0 +1,101 @@
1
+ import { SkyConfirmInstance, SkyConfirmType, } from '@skyux/modals';
2
+ import { SkyConfirmTestingController } from './confirm-testing.controller';
3
+ function assertConfirmOpen(value) {
4
+ if (value === undefined) {
5
+ throw new Error('A confirm dialog is expected to be open but is closed.');
6
+ }
7
+ return;
8
+ }
9
+ function assertConfirmClosed(value) {
10
+ if (value !== undefined) {
11
+ throw new Error('A confirm dialog is expected to be closed but is open.');
12
+ }
13
+ return;
14
+ }
15
+ function isButtonConfigArray(val) {
16
+ return (Array.isArray(val) && (val.length === 0 || val[0].action !== undefined));
17
+ }
18
+ function buttonConfigMatches(actual, expected) {
19
+ return (expected.action === actual.action &&
20
+ expected.text === actual.text &&
21
+ expected.styleType === actual.styleType);
22
+ }
23
+ /**
24
+ * @internal
25
+ */
26
+ export class SkyConfirmTestingService extends SkyConfirmTestingController {
27
+ #testSubject;
28
+ cancel() {
29
+ this.close({ action: 'cancel' });
30
+ }
31
+ ok() {
32
+ this.close({ action: 'ok' });
33
+ }
34
+ close(args) {
35
+ assertConfirmOpen(this.#testSubject);
36
+ const isActionPermitted = this.#testSubject?.buttons.some((b) => b.action === args.action);
37
+ if (isActionPermitted) {
38
+ this.#testSubject.instance.close(args);
39
+ this.#testSubject = undefined;
40
+ }
41
+ else {
42
+ throw new Error(`The confirm dialog does not have a button configured for the "${args.action}" action.`);
43
+ }
44
+ }
45
+ expectNone() {
46
+ assertConfirmClosed(this.#testSubject);
47
+ }
48
+ expectOpen(expectedConfig) {
49
+ assertConfirmOpen(this.#testSubject);
50
+ const actualConfig = this.#testSubject.config;
51
+ for (const [key, expectedValue] of Object.entries(expectedConfig)) {
52
+ const k = key;
53
+ const actualValue = actualConfig[k];
54
+ if (isButtonConfigArray(expectedValue) &&
55
+ isButtonConfigArray(actualValue)) {
56
+ if (expectedValue.length !== actualValue.length)
57
+ throwDetailedError();
58
+ expectedValue.forEach((expectedButton, index) => {
59
+ if (!buttonConfigMatches(expectedButton, actualValue[index])) {
60
+ throwDetailedError();
61
+ }
62
+ });
63
+ }
64
+ else if (actualValue !== expectedValue) {
65
+ throwDetailedError();
66
+ }
67
+ }
68
+ function throwDetailedError() {
69
+ throw new Error(`Expected a confirm dialog to be open with a specific configuration.
70
+ Expected:
71
+ ${JSON.stringify(expectedConfig, undefined, 2)}
72
+ Actual:
73
+ ${JSON.stringify(actualConfig, undefined, 2)}
74
+ `);
75
+ }
76
+ }
77
+ open(config) {
78
+ assertConfirmClosed(this.#testSubject);
79
+ const instance = new SkyConfirmInstance();
80
+ const testSubject = {
81
+ buttons: [],
82
+ config,
83
+ instance,
84
+ };
85
+ switch (config.type) {
86
+ case SkyConfirmType.Custom:
87
+ config.buttons?.forEach((b) => {
88
+ testSubject.buttons.push({ action: b.action, text: b.text });
89
+ });
90
+ break;
91
+ case SkyConfirmType.OK:
92
+ default:
93
+ testSubject.buttons.push({ action: 'ok', text: 'Ok' });
94
+ testSubject.buttons.push({ action: 'cancel', text: 'Cancel' });
95
+ break;
96
+ }
97
+ this.#testSubject = testSubject;
98
+ return instance;
99
+ }
100
+ }
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS10ZXN0aW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvY29uZmlybS9jb25maXJtLXRlc3Rpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsa0JBQWtCLEVBRWxCLGNBQWMsR0FDZixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVEzRSxTQUFTLGlCQUFpQixDQUN4QixLQUE4QjtJQUU5QixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELE9BQU87QUFDVCxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FDMUIsS0FBOEI7SUFFOUIsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxPQUFPO0FBQ1QsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsR0FBWTtJQUN2QyxPQUFPLENBQ0wsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQ3hFLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FDMUIsTUFBOEIsRUFDOUIsUUFBZ0M7SUFFaEMsT0FBTyxDQUNMLFFBQVEsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU07UUFDakMsUUFBUSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSTtRQUM3QixRQUFRLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTLENBQ3hDLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQ1gsU0FBUSwyQkFBMkI7SUFHbkMsWUFBWSxDQUEwQjtJQUUvQixNQUFNO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxFQUFFO1FBQ1AsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLLENBQUMsSUFBOEI7UUFDekMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXJDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUN2RCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxDQUNoQyxDQUFDO1FBRUYsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQ2IsaUVBQWlFLElBQUksQ0FBQyxNQUFNLFdBQVcsQ0FDeEYsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU0sVUFBVTtRQUNmLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sVUFBVSxDQUFDLGNBQWdDO1FBQ2hELGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVyQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUU5QyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ2xFLE1BQU0sQ0FBQyxHQUFHLEdBQWtDLENBQUM7WUFDN0MsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXBDLElBQ0UsbUJBQW1CLENBQUMsYUFBYSxDQUFDO2dCQUNsQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsRUFDaEMsQ0FBQztnQkFDRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLE1BQU07b0JBQUUsa0JBQWtCLEVBQUUsQ0FBQztnQkFFdEUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDOUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUM3RCxrQkFBa0IsRUFBRSxDQUFDO29CQUN2QixDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxJQUFJLFdBQVcsS0FBSyxhQUFhLEVBQUUsQ0FBQztnQkFDekMsa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQztRQUVELFNBQVMsa0JBQWtCO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUM7O0VBRXBCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7O0VBRTVDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7Q0FDM0MsQ0FBQyxDQUFDO1FBQ0MsQ0FBQztJQUNILENBQUM7SUFFTSxJQUFJLENBQUMsTUFBd0I7UUFDbEMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXZDLE1BQU0sUUFBUSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUMxQyxNQUFNLFdBQVcsR0FBZ0I7WUFDL0IsT0FBTyxFQUFFLEVBQUU7WUFDWCxNQUFNO1lBQ04sUUFBUTtTQUNULENBQUM7UUFFRixRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixLQUFLLGNBQWMsQ0FBQyxNQUFNO2dCQUN4QixNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUM1QixXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDL0QsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUVSLEtBQUssY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUN2QjtnQkFDRSxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDL0QsTUFBTTtRQUNWLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUVoQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTa3lDb25maXJtQnV0dG9uQ29uZmlnLFxuICBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MsXG4gIFNreUNvbmZpcm1Db25maWcsXG4gIFNreUNvbmZpcm1JbnN0YW5jZSxcbiAgU2t5Q29uZmlybVNlcnZpY2VJbnRlcmZhY2UsXG4gIFNreUNvbmZpcm1UeXBlLFxufSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgU2t5Q29uZmlybVRlc3RpbmdDb250cm9sbGVyIH0gZnJvbSAnLi9jb25maXJtLXRlc3RpbmcuY29udHJvbGxlcic7XG5cbmludGVyZmFjZSBUZXN0U3ViamVjdCB7XG4gIGJ1dHRvbnM6IFNreUNvbmZpcm1CdXR0b25Db25maWdbXTtcbiAgY29uZmlnOiBTa3lDb25maXJtQ29uZmlnO1xuICBpbnN0YW5jZTogU2t5Q29uZmlybUluc3RhbmNlO1xufVxuXG5mdW5jdGlvbiBhc3NlcnRDb25maXJtT3BlbihcbiAgdmFsdWU6IFRlc3RTdWJqZWN0IHwgdW5kZWZpbmVkLFxuKTogYXNzZXJ0cyB2YWx1ZSBpcyBUZXN0U3ViamVjdCB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBIGNvbmZpcm0gZGlhbG9nIGlzIGV4cGVjdGVkIHRvIGJlIG9wZW4gYnV0IGlzIGNsb3NlZC4nKTtcbiAgfVxuXG4gIHJldHVybjtcbn1cblxuZnVuY3Rpb24gYXNzZXJ0Q29uZmlybUNsb3NlZChcbiAgdmFsdWU6IFRlc3RTdWJqZWN0IHwgdW5kZWZpbmVkLFxuKTogYXNzZXJ0cyB2YWx1ZSBpcyB1bmRlZmluZWQge1xuICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQSBjb25maXJtIGRpYWxvZyBpcyBleHBlY3RlZCB0byBiZSBjbG9zZWQgYnV0IGlzIG9wZW4uJyk7XG4gIH1cblxuICByZXR1cm47XG59XG5cbmZ1bmN0aW9uIGlzQnV0dG9uQ29uZmlnQXJyYXkodmFsOiB1bmtub3duKTogdmFsIGlzIFNreUNvbmZpcm1CdXR0b25Db25maWdbXSB7XG4gIHJldHVybiAoXG4gICAgQXJyYXkuaXNBcnJheSh2YWwpICYmICh2YWwubGVuZ3RoID09PSAwIHx8IHZhbFswXS5hY3Rpb24gIT09IHVuZGVmaW5lZClcbiAgKTtcbn1cblxuZnVuY3Rpb24gYnV0dG9uQ29uZmlnTWF0Y2hlcyhcbiAgYWN0dWFsOiBTa3lDb25maXJtQnV0dG9uQ29uZmlnLFxuICBleHBlY3RlZDogU2t5Q29uZmlybUJ1dHRvbkNvbmZpZyxcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGV4cGVjdGVkLmFjdGlvbiA9PT0gYWN0dWFsLmFjdGlvbiAmJlxuICAgIGV4cGVjdGVkLnRleHQgPT09IGFjdHVhbC50ZXh0ICYmXG4gICAgZXhwZWN0ZWQuc3R5bGVUeXBlID09PSBhY3R1YWwuc3R5bGVUeXBlXG4gICk7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDb25maXJtVGVzdGluZ1NlcnZpY2VcbiAgZXh0ZW5kcyBTa3lDb25maXJtVGVzdGluZ0NvbnRyb2xsZXJcbiAgaW1wbGVtZW50cyBTa3lDb25maXJtU2VydmljZUludGVyZmFjZVxue1xuICAjdGVzdFN1YmplY3Q6IFRlc3RTdWJqZWN0IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZSh7IGFjdGlvbjogJ2NhbmNlbCcgfSk7XG4gIH1cblxuICBwdWJsaWMgb2soKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZSh7IGFjdGlvbjogJ29rJyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZShhcmdzOiBTa3lDb25maXJtQ2xvc2VFdmVudEFyZ3MpOiB2b2lkIHtcbiAgICBhc3NlcnRDb25maXJtT3Blbih0aGlzLiN0ZXN0U3ViamVjdCk7XG5cbiAgICBjb25zdCBpc0FjdGlvblBlcm1pdHRlZCA9IHRoaXMuI3Rlc3RTdWJqZWN0Py5idXR0b25zLnNvbWUoXG4gICAgICAoYikgPT4gYi5hY3Rpb24gPT09IGFyZ3MuYWN0aW9uLFxuICAgICk7XG5cbiAgICBpZiAoaXNBY3Rpb25QZXJtaXR0ZWQpIHtcbiAgICAgIHRoaXMuI3Rlc3RTdWJqZWN0Lmluc3RhbmNlLmNsb3NlKGFyZ3MpO1xuICAgICAgdGhpcy4jdGVzdFN1YmplY3QgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBjb25maXJtIGRpYWxvZyBkb2VzIG5vdCBoYXZlIGEgYnV0dG9uIGNvbmZpZ3VyZWQgZm9yIHRoZSBcIiR7YXJncy5hY3Rpb259XCIgYWN0aW9uLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBleHBlY3ROb25lKCk6IHZvaWQge1xuICAgIGFzc2VydENvbmZpcm1DbG9zZWQodGhpcy4jdGVzdFN1YmplY3QpO1xuICB9XG5cbiAgcHVibGljIGV4cGVjdE9wZW4oZXhwZWN0ZWRDb25maWc6IFNreUNvbmZpcm1Db25maWcpOiB2b2lkIHtcbiAgICBhc3NlcnRDb25maXJtT3Blbih0aGlzLiN0ZXN0U3ViamVjdCk7XG5cbiAgICBjb25zdCBhY3R1YWxDb25maWcgPSB0aGlzLiN0ZXN0U3ViamVjdC5jb25maWc7XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIGV4cGVjdGVkVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGV4cGVjdGVkQ29uZmlnKSkge1xuICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiB0eXBlb2YgZXhwZWN0ZWRDb25maWc7XG4gICAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IGFjdHVhbENvbmZpZ1trXTtcblxuICAgICAgaWYgKFxuICAgICAgICBpc0J1dHRvbkNvbmZpZ0FycmF5KGV4cGVjdGVkVmFsdWUpICYmXG4gICAgICAgIGlzQnV0dG9uQ29uZmlnQXJyYXkoYWN0dWFsVmFsdWUpXG4gICAgICApIHtcbiAgICAgICAgaWYgKGV4cGVjdGVkVmFsdWUubGVuZ3RoICE9PSBhY3R1YWxWYWx1ZS5sZW5ndGgpIHRocm93RGV0YWlsZWRFcnJvcigpO1xuXG4gICAgICAgIGV4cGVjdGVkVmFsdWUuZm9yRWFjaCgoZXhwZWN0ZWRCdXR0b24sIGluZGV4KSA9PiB7XG4gICAgICAgICAgaWYgKCFidXR0b25Db25maWdNYXRjaGVzKGV4cGVjdGVkQnV0dG9uLCBhY3R1YWxWYWx1ZVtpbmRleF0pKSB7XG4gICAgICAgICAgICB0aHJvd0RldGFpbGVkRXJyb3IoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChhY3R1YWxWYWx1ZSAhPT0gZXhwZWN0ZWRWYWx1ZSkge1xuICAgICAgICB0aHJvd0RldGFpbGVkRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0aHJvd0RldGFpbGVkRXJyb3IoKTogbmV2ZXIge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhIGNvbmZpcm0gZGlhbG9nIHRvIGJlIG9wZW4gd2l0aCBhIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24uXG5FeHBlY3RlZDpcbiR7SlNPTi5zdHJpbmdpZnkoZXhwZWN0ZWRDb25maWcsIHVuZGVmaW5lZCwgMil9XG5BY3R1YWw6XG4ke0pTT04uc3RyaW5naWZ5KGFjdHVhbENvbmZpZywgdW5kZWZpbmVkLCAyKX1cbmApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvcGVuKGNvbmZpZzogU2t5Q29uZmlybUNvbmZpZyk6IFNreUNvbmZpcm1JbnN0YW5jZSB7XG4gICAgYXNzZXJ0Q29uZmlybUNsb3NlZCh0aGlzLiN0ZXN0U3ViamVjdCk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBTa3lDb25maXJtSW5zdGFuY2UoKTtcbiAgICBjb25zdCB0ZXN0U3ViamVjdDogVGVzdFN1YmplY3QgPSB7XG4gICAgICBidXR0b25zOiBbXSxcbiAgICAgIGNvbmZpZyxcbiAgICAgIGluc3RhbmNlLFxuICAgIH07XG5cbiAgICBzd2l0Y2ggKGNvbmZpZy50eXBlKSB7XG4gICAgICBjYXNlIFNreUNvbmZpcm1UeXBlLkN1c3RvbTpcbiAgICAgICAgY29uZmlnLmJ1dHRvbnM/LmZvckVhY2goKGIpID0+IHtcbiAgICAgICAgICB0ZXN0U3ViamVjdC5idXR0b25zLnB1c2goeyBhY3Rpb246IGIuYWN0aW9uLCB0ZXh0OiBiLnRleHQgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lDb25maXJtVHlwZS5PSzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRlc3RTdWJqZWN0LmJ1dHRvbnMucHVzaCh7IGFjdGlvbjogJ29rJywgdGV4dDogJ09rJyB9KTtcbiAgICAgICAgdGVzdFN1YmplY3QuYnV0dG9ucy5wdXNoKHsgYWN0aW9uOiAnY2FuY2VsJywgdGV4dDogJ0NhbmNlbCcgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuI3Rlc3RTdWJqZWN0ID0gdGVzdFN1YmplY3Q7XG5cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { SkyConfirmService } from '@skyux/modals';
2
+ import { SkyConfirmTestingController } from './confirm-testing.controller';
3
+ import { SkyConfirmTestingService } from './confirm-testing.service';
4
+ /**
5
+ * @internal
6
+ */
7
+ export function provideConfirmTesting() {
8
+ return [
9
+ SkyConfirmTestingService,
10
+ {
11
+ provide: SkyConfirmService,
12
+ useExisting: SkyConfirmTestingService,
13
+ },
14
+ {
15
+ provide: SkyConfirmTestingController,
16
+ useExisting: SkyConfirmTestingService,
17
+ },
18
+ ];
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1jb25maXJtLXRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvY29uZmlybS9wcm92aWRlLWNvbmZpcm0tdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckU7O0dBRUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLE9BQU87UUFDTCx3QkFBd0I7UUFDeEI7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSx3QkFBd0I7U0FDdEM7UUFDRDtZQUNFLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsV0FBVyxFQUFFLHdCQUF3QjtTQUN0QztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUNvbmZpcm1TZXJ2aWNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFNreUNvbmZpcm1UZXN0aW5nQ29udHJvbGxlciB9IGZyb20gJy4vY29uZmlybS10ZXN0aW5nLmNvbnRyb2xsZXInO1xuaW1wb3J0IHsgU2t5Q29uZmlybVRlc3RpbmdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maXJtLXRlc3Rpbmcuc2VydmljZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ29uZmlybVRlc3RpbmcoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAgU2t5Q29uZmlybVRlc3RpbmdTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUNvbmZpcm1TZXJ2aWNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreUNvbmZpcm1UZXN0aW5nU2VydmljZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUNvbmZpcm1UZXN0aW5nQ29udHJvbGxlcixcbiAgICAgIHVzZUV4aXN0aW5nOiBTa3lDb25maXJtVGVzdGluZ1NlcnZpY2UsXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A controller to be injected into tests, which mocks the modal service
3
+ * and handles interactions with modal instances. For testing interactions
4
+ * with the modal component itself, use the `SkyModalHarness`.
5
+ */
6
+ export class SkyModalTestingController {
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtdGVzdGluZy5jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy90ZXN0aW5nL3NyYy9tb2R1bGVzL21vZGFsL2NvbnRyb2xsZXIvbW9kYWwtdGVzdGluZy5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQWdCLHlCQUF5QjtDQXFCOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lNb2RhbENsb3NlQXJncyB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuXG4vKipcbiAqIEEgY29udHJvbGxlciB0byBiZSBpbmplY3RlZCBpbnRvIHRlc3RzLCB3aGljaCBtb2NrcyB0aGUgbW9kYWwgc2VydmljZVxuICogYW5kIGhhbmRsZXMgaW50ZXJhY3Rpb25zIHdpdGggbW9kYWwgaW5zdGFuY2VzLiBGb3IgdGVzdGluZyBpbnRlcmFjdGlvbnNcbiAqIHdpdGggdGhlIG1vZGFsIGNvbXBvbmVudCBpdHNlbGYsIHVzZSB0aGUgYFNreU1vZGFsSGFybmVzc2AuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTa3lNb2RhbFRlc3RpbmdDb250cm9sbGVyIHtcbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgdG9wbW9zdCBtb2RhbCB3aXRoIHRoZSBwcm92aWRlZCBhcmd1bWVudHMuXG4gICAqIEBwYXJhbSBhcmdzIEFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBtb2RhbCdzIGNsb3NlIGV2ZW50LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsb3NlVG9wTW9kYWwoYXJncz86IFNreU1vZGFsQ2xvc2VBcmdzKTogdm9pZDtcblxuICAvKipcbiAgICogVGhyb3dzIGlmIHRoZSBwcm92aWRlZCB2YWx1ZSBkb2VzIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIG9wZW4gbW9kYWxzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdENvdW50KHZhbHVlOiBudW1iZXIpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBUaHJvd3MgaWYgbW9kYWxzIGFyZSBvcGVuLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdE5vbmUoKTogdm9pZDtcblxuICAvKipcbiAgICogVGhyb3dzIGlmIHRoZSBnaXZlbiBjcml0ZXJpYSBkb2VzIG5vdCBtYXRjaCB0aGUgdG9wbW9zdCBvcGVuIG1vZGFsLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGV4cGVjdE9wZW48VENvbXBvbmVudD4oY29tcG9uZW50OiBUeXBlPFRDb21wb25lbnQ+KTogdm9pZDtcbn1cbiJdfQ==
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
15
15
  providers: [provideModalTesting()],
16
16
  }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtdGVzdGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL21vZGFsL2NvbnRyb2xsZXIvbW9kYWwtdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFOUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8scUJBQXFCOzhHQUFyQixxQkFBcUI7K0dBQXJCLHFCQUFxQjsrR0FBckIscUJBQXFCLGFBRnJCLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzs7MkZBRXZCLHFCQUFxQjtrQkFIakMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHByb3ZpZGVNb2RhbFRlc3RpbmcgfSBmcm9tICcuL3Byb3ZpZGUtbW9kYWwtdGVzdGluZyc7XG5cbi8qKlxuICogQ29uZmlndXJlcyB0aGUgYFNreU1vZGFsVGVzdGluZ0NvbnRyb2xsZXJgIGFzIHRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGBTa3lNb2RhbFNlcnZpY2VgLlxuICovXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtwcm92aWRlTW9kYWxUZXN0aW5nKCldLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lNb2RhbFRlc3RpbmdNb2R1bGUge31cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtdGVzdGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbW9kYWxzL3Rlc3Rpbmcvc3JjL21vZHVsZXMvbW9kYWwvY29udHJvbGxlci9tb2RhbC10ZXN0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU5RDs7R0FFRztBQUlILE1BQU0sT0FBTyxxQkFBcUI7OEdBQXJCLHFCQUFxQjsrR0FBckIscUJBQXFCOytHQUFyQixxQkFBcUIsYUFGckIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDOzsyRkFFdkIscUJBQXFCO2tCQUhqQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgcHJvdmlkZU1vZGFsVGVzdGluZyB9IGZyb20gJy4vcHJvdmlkZS1tb2RhbC10ZXN0aW5nJztcblxuLyoqXG4gKiBDb25maWd1cmVzIHRoZSBgU2t5TW9kYWxUZXN0aW5nQ29udHJvbGxlcmAgYXMgdGhlIGltcGxlbWVudGF0aW9uIGZvciB0aGUgYFNreU1vZGFsU2VydmljZWAuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW3Byb3ZpZGVNb2RhbFRlc3RpbmcoKV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreU1vZGFsVGVzdGluZ01vZHVsZSB7fVxuIl19