@skyux/modals 8.7.2 → 9.0.0-alpha.1

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 (75) hide show
  1. package/documentation.json +56 -56
  2. package/esm2022/lib/modules/confirm/confirm.component.mjs +112 -0
  3. package/{esm2020 → esm2022}/lib/modules/confirm/confirm.module.mjs +13 -13
  4. package/esm2022/lib/modules/confirm/confirm.service.mjs +54 -0
  5. package/esm2022/lib/modules/modal/modal-adapter.service.mjs +99 -0
  6. package/esm2022/lib/modules/modal/modal-component-adapter.service.mjs +101 -0
  7. package/{esm2020 → esm2022}/lib/modules/modal/modal-configuration.mjs +4 -4
  8. package/{esm2020 → esm2022}/lib/modules/modal/modal-content.component.mjs +4 -4
  9. package/esm2022/lib/modules/modal/modal-errors.service.mjs +21 -0
  10. package/{esm2020 → esm2022}/lib/modules/modal/modal-footer.component.mjs +4 -4
  11. package/{esm2020 → esm2022}/lib/modules/modal/modal-header.component.mjs +4 -4
  12. package/{esm2020 → esm2022}/lib/modules/modal/modal-host-context.mjs +4 -4
  13. package/esm2022/lib/modules/modal/modal-host.component.mjs +163 -0
  14. package/esm2022/lib/modules/modal/modal-host.service.mjs +62 -0
  15. package/esm2022/lib/modules/modal/modal-instance.mjs +123 -0
  16. package/esm2022/lib/modules/modal/modal-is-dirty.directive.mjs +94 -0
  17. package/esm2022/lib/modules/modal/modal-scroll-shadow.directive.mjs +129 -0
  18. package/esm2022/lib/modules/modal/modal.component.mjs +229 -0
  19. package/{esm2020 → esm2022}/lib/modules/modal/modal.module.mjs +29 -29
  20. package/esm2022/lib/modules/modal/modal.service.mjs +97 -0
  21. package/esm2022/lib/modules/shared/sky-modals-resources.module.mjs +61 -0
  22. package/esm2022/testing/confirm/confirm-button-harness.mjs +46 -0
  23. package/esm2022/testing/confirm/confirm-harness.mjs +90 -0
  24. package/esm2022/testing/modal/modal-harness.mjs +75 -0
  25. package/esm2022/testing/modal-fixture.mjs +143 -0
  26. package/{fesm2020 → fesm2022}/skyux-modals-testing.mjs +60 -73
  27. package/{fesm2020 → fesm2022}/skyux-modals-testing.mjs.map +1 -1
  28. package/fesm2022/skyux-modals.mjs +1502 -0
  29. package/{fesm2015 → fesm2022}/skyux-modals.mjs.map +1 -1
  30. package/lib/modules/modal/modal-is-dirty.directive.d.ts +1 -1
  31. package/lib/modules/modal/modal.component.d.ts +1 -1
  32. package/package.json +16 -24
  33. package/esm2020/lib/modules/confirm/confirm.component.mjs +0 -114
  34. package/esm2020/lib/modules/confirm/confirm.service.mjs +0 -57
  35. package/esm2020/lib/modules/modal/modal-adapter.service.mjs +0 -101
  36. package/esm2020/lib/modules/modal/modal-component-adapter.service.mjs +0 -104
  37. package/esm2020/lib/modules/modal/modal-errors.service.mjs +0 -24
  38. package/esm2020/lib/modules/modal/modal-host.component.mjs +0 -164
  39. package/esm2020/lib/modules/modal/modal-host.service.mjs +0 -65
  40. package/esm2020/lib/modules/modal/modal-instance.mjs +0 -127
  41. package/esm2020/lib/modules/modal/modal-is-dirty.directive.mjs +0 -93
  42. package/esm2020/lib/modules/modal/modal-scroll-shadow.directive.mjs +0 -127
  43. package/esm2020/lib/modules/modal/modal.component.mjs +0 -228
  44. package/esm2020/lib/modules/modal/modal.service.mjs +0 -99
  45. package/esm2020/lib/modules/shared/sky-modals-resources.module.mjs +0 -61
  46. package/esm2020/testing/confirm/confirm-button-harness.mjs +0 -46
  47. package/esm2020/testing/confirm/confirm-harness.mjs +0 -97
  48. package/esm2020/testing/modal/modal-harness.mjs +0 -81
  49. package/esm2020/testing/modal-fixture.mjs +0 -145
  50. package/fesm2015/skyux-modals-testing.mjs +0 -409
  51. package/fesm2015/skyux-modals-testing.mjs.map +0 -1
  52. package/fesm2015/skyux-modals.mjs +0 -1522
  53. package/fesm2020/skyux-modals.mjs +0 -1510
  54. package/fesm2020/skyux-modals.mjs.map +0 -1
  55. /package/{esm2020 → esm2022}/index.mjs +0 -0
  56. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-button-action.mjs +0 -0
  57. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-button-config.mjs +0 -0
  58. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-button-style-type.mjs +0 -0
  59. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-button.mjs +0 -0
  60. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-closed-event-args.mjs +0 -0
  61. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-config-token.mjs +0 -0
  62. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-config.mjs +0 -0
  63. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-instance.mjs +0 -0
  64. /package/{esm2020 → esm2022}/lib/modules/confirm/confirm-type.mjs +0 -0
  65. /package/{esm2020 → esm2022}/lib/modules/modal/modal-before-close-handler.mjs +0 -0
  66. /package/{esm2020 → esm2022}/lib/modules/modal/modal-close-args.mjs +0 -0
  67. /package/{esm2020 → esm2022}/lib/modules/modal/modal-error.mjs +0 -0
  68. /package/{esm2020 → esm2022}/lib/modules/modal/modal-host-context-args.mjs +0 -0
  69. /package/{esm2020 → esm2022}/lib/modules/modal/modal-scroll-shadow-event-args.mjs +0 -0
  70. /package/{esm2020 → esm2022}/lib/modules/modal/modal.interface.mjs +0 -0
  71. /package/{esm2020 → esm2022}/skyux-modals.mjs +0 -0
  72. /package/{esm2020 → esm2022}/testing/confirm/confirm-button-harness-filters.mjs +0 -0
  73. /package/{esm2020 → esm2022}/testing/modal/modal-harness-filters.mjs +0 -0
  74. /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
  75. /package/{esm2020 → esm2022}/testing/skyux-modals-testing.mjs +0 -0
@@ -1,61 +0,0 @@
1
- /**
2
- * NOTICE: DO NOT MODIFY THIS FILE!
3
- * The contents of this file were automatically generated by
4
- * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-modals' schematic.
5
- * To update this file, simply rerun the command.
6
- */
7
- import { NgModule } from '@angular/core';
8
- import { SKY_LIB_RESOURCES_PROVIDERS, SkyI18nModule, getLibStringForLocale, } from '@skyux/i18n';
9
- import * as i0 from "@angular/core";
10
- const RESOURCES = {
11
- 'EN-US': {
12
- skyux_confirm_dialog_default_ok_text: { message: 'OK' },
13
- skyux_confirm_dialog_default_yes_text: { message: 'Yes' },
14
- skyux_confirm_dialog_default_no_text: { message: 'No' },
15
- skyux_confirm_dialog_default_cancel_text: { message: 'Cancel' },
16
- skyux_modal_close: { message: 'Close modal' },
17
- skyux_modal_open_help: { message: 'Open Help' },
18
- skyux_modal_footer_cancel_button: { message: 'Cancel' },
19
- skyux_modal_footer_primary_button: { message: 'Save' },
20
- skyux_modal_dirty_default_message: {
21
- message: 'Are you sure you want to discard your changes?',
22
- },
23
- skyux_modal_dirty_default_discard_changes_text: {
24
- message: 'Discard changes',
25
- },
26
- skyux_modal_dirty_default_keep_working_text: { message: 'Keep working' },
27
- },
28
- };
29
- export class SkyModalsResourcesProvider {
30
- getString(localeInfo, name) {
31
- return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
32
- }
33
- }
34
- /**
35
- * Import into any component library module that needs to use resource strings.
36
- */
37
- export class SkyModalsResourcesModule {
38
- }
39
- SkyModalsResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalsResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
40
- SkyModalsResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyModalsResourcesModule, exports: [SkyI18nModule] });
41
- SkyModalsResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalsResourcesModule, providers: [
42
- {
43
- provide: SKY_LIB_RESOURCES_PROVIDERS,
44
- useClass: SkyModalsResourcesProvider,
45
- multi: true,
46
- },
47
- ], imports: [SkyI18nModule] });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyModalsResourcesModule, decorators: [{
49
- type: NgModule,
50
- args: [{
51
- exports: [SkyI18nModule],
52
- providers: [
53
- {
54
- provide: SKY_LIB_RESOURCES_PROVIDERS,
55
- useClass: SkyModalsResourcesProvider,
56
- multi: true,
57
- },
58
- ],
59
- }]
60
- }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LW1vZGFscy1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1tb2RhbHMtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixhQUFhLEVBR2IscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBMEM7SUFDdkQsT0FBTyxFQUFFO1FBQ1Asb0NBQW9DLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1FBQ3ZELHFDQUFxQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUN6RCxvQ0FBb0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7UUFDdkQsd0NBQXdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQy9ELGlCQUFpQixFQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRTtRQUM3QyxxQkFBcUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUU7UUFDL0MsZ0NBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQ3ZELGlDQUFpQyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRTtRQUN0RCxpQ0FBaUMsRUFBRTtZQUNqQyxPQUFPLEVBQUUsZ0RBQWdEO1NBQzFEO1FBQ0QsOENBQThDLEVBQUU7WUFDOUMsT0FBTyxFQUFFLGlCQUFpQjtTQUMzQjtRQUNELDJDQUEyQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRTtLQUN6RTtDQUNGLENBQUM7QUFFRixNQUFNLE9BQU8sMEJBQTBCO0lBQzlCLFNBQVMsQ0FDZCxVQUE0QixFQUM1QixJQUFZO1FBRVosT0FBTyxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQVdILE1BQU0sT0FBTyx3QkFBd0I7O3FIQUF4Qix3QkFBd0I7c0hBQXhCLHdCQUF3QixZQVR6QixhQUFhO3NIQVNaLHdCQUF3QixhQVJ4QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxRQUFRLEVBQUUsMEJBQTBCO1lBQ3BDLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixZQVBTLGFBQWE7MkZBU1osd0JBQXdCO2tCQVZwQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFFBQVEsRUFBRSwwQkFBMEI7NEJBQ3BDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOT1RJQ0U6IERPIE5PVCBNT0RJRlkgVEhJUyBGSUxFIVxuICogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB3ZXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5XG4gKiB0aGUgJ25nIGdlbmVyYXRlIEBza3l1eC9pMThuOmxpYi1yZXNvdXJjZXMtbW9kdWxlIGxpYi9tb2R1bGVzL3NoYXJlZC9za3ktbW9kYWxzJyBzY2hlbWF0aWMuXG4gKiBUbyB1cGRhdGUgdGhpcyBmaWxlLCBzaW1wbHkgcmVydW4gdGhlIGNvbW1hbmQuXG4gKi9cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gIFNreUFwcExvY2FsZUluZm8sXG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzUHJvdmlkZXIsXG4gIGdldExpYlN0cmluZ0ZvckxvY2FsZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IHsgW2xvY2FsZTogc3RyaW5nXTogU2t5TGliUmVzb3VyY2VzIH0gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X29rX3RleHQ6IHsgbWVzc2FnZTogJ09LJyB9LFxuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfeWVzX3RleHQ6IHsgbWVzc2FnZTogJ1llcycgfSxcbiAgICBza3l1eF9jb25maXJtX2RpYWxvZ19kZWZhdWx0X25vX3RleHQ6IHsgbWVzc2FnZTogJ05vJyB9LFxuICAgIHNreXV4X2NvbmZpcm1fZGlhbG9nX2RlZmF1bHRfY2FuY2VsX3RleHQ6IHsgbWVzc2FnZTogJ0NhbmNlbCcgfSxcbiAgICBza3l1eF9tb2RhbF9jbG9zZTogeyBtZXNzYWdlOiAnQ2xvc2UgbW9kYWwnIH0sXG4gICAgc2t5dXhfbW9kYWxfb3Blbl9oZWxwOiB7IG1lc3NhZ2U6ICdPcGVuIEhlbHAnIH0sXG4gICAgc2t5dXhfbW9kYWxfZm9vdGVyX2NhbmNlbF9idXR0b246IHsgbWVzc2FnZTogJ0NhbmNlbCcgfSxcbiAgICBza3l1eF9tb2RhbF9mb290ZXJfcHJpbWFyeV9idXR0b246IHsgbWVzc2FnZTogJ1NhdmUnIH0sXG4gICAgc2t5dXhfbW9kYWxfZGlydHlfZGVmYXVsdF9tZXNzYWdlOiB7XG4gICAgICBtZXNzYWdlOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRpc2NhcmQgeW91ciBjaGFuZ2VzPycsXG4gICAgfSxcbiAgICBza3l1eF9tb2RhbF9kaXJ0eV9kZWZhdWx0X2Rpc2NhcmRfY2hhbmdlc190ZXh0OiB7XG4gICAgICBtZXNzYWdlOiAnRGlzY2FyZCBjaGFuZ2VzJyxcbiAgICB9LFxuICAgIHNreXV4X21vZGFsX2RpcnR5X2RlZmF1bHRfa2VlcF93b3JraW5nX3RleHQ6IHsgbWVzc2FnZTogJ0tlZXAgd29ya2luZycgfSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjbGFzcyBTa3lNb2RhbHNSZXNvdXJjZXNQcm92aWRlciBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyIHtcbiAgcHVibGljIGdldFN0cmluZyhcbiAgICBsb2NhbGVJbmZvOiBTa3lBcHBMb2NhbGVJbmZvLFxuICAgIG5hbWU6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBnZXRMaWJTdHJpbmdGb3JMb2NhbGUoUkVTT1VSQ0VTLCBsb2NhbGVJbmZvLmxvY2FsZSwgbmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICAgICAgdXNlQ2xhc3M6IFNreU1vZGFsc1Jlc291cmNlc1Byb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TW9kYWxzUmVzb3VyY2VzTW9kdWxlIHt9XG4iXX0=
@@ -1,46 +0,0 @@
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
- /**
8
- * Gets a `HarnessPredicate` that can be used to search for a
9
- * `SkyConfirmButtonHarness` that meets certain criteria.
10
- */
11
- static with(filters) {
12
- return new HarnessPredicate(SkyConfirmButtonHarness, filters)
13
- .addOption('text', filters.text, async (harness, text) => HarnessPredicate.stringMatches(await harness.getText(), text))
14
- .addOption('styleType', filters.styleType, async (harness, styleType) => HarnessPredicate.stringMatches(await harness.getStyleType(), styleType));
15
- }
16
- /**
17
- * Clicks the confirm button.
18
- */
19
- async click() {
20
- return (await this.host()).click();
21
- }
22
- /**
23
- * Gets the button style of the confirm button.
24
- */
25
- async getStyleType() {
26
- const hostEl = await this.host();
27
- if (await hostEl.hasClass('sky-btn-primary')) {
28
- return 'primary';
29
- }
30
- else if (await hostEl.hasClass('sky-btn-link')) {
31
- return 'link';
32
- }
33
- else if (await hostEl.hasClass('sky-btn-danger')) {
34
- return 'danger';
35
- }
36
- return 'default';
37
- }
38
- /**
39
- * Gets the text content of the confirm button.
40
- */
41
- async getText() {
42
- return (await this.host()).text();
43
- }
44
- }
45
- SkyConfirmButtonHarness.hostSelector = '.sky-confirm-buttons .sky-btn';
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1idXR0b24taGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvY29uZmlybS9jb25maXJtLWJ1dHRvbi1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSzFFOzs7R0FHRztBQUNILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxnQkFBZ0I7SUFHM0Q7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBdUM7UUFFdkMsT0FBTyxJQUFJLGdCQUFnQixDQUFDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQzthQUMxRCxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUN2RCxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQzlEO2FBQ0EsU0FBUyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FDdEUsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLE1BQU0sT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUN4RSxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFlBQVk7UUFDdkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFakMsSUFBSSxNQUFNLE1BQU0sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUM1QyxPQUFPLFNBQVMsQ0FBQztTQUNsQjthQUFNLElBQUksTUFBTSxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ2hELE9BQU8sTUFBTSxDQUFDO1NBQ2Y7YUFBTSxJQUFJLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ2xELE9BQU8sUUFBUSxDQUFDO1NBQ2pCO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7QUE5Q2Esb0NBQVksR0FBRywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEhhcm5lc3MsIEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb25maXJtQnV0dG9uU3R5bGVUeXBlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vY29uZmlybS1idXR0b24taGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgY29uZmlybSBjb21wb25lbnQgaW4gdGVzdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNvbmZpcm1CdXR0b25IYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJy5za3ktY29uZmlybS1idXR0b25zIC5za3ktYnRuJztcblxuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5Q29uZmlybUJ1dHRvbkhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lDb25maXJtQnV0dG9uSGFybmVzc0ZpbHRlcnNcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lDb25maXJtQnV0dG9uSGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShTa3lDb25maXJtQnV0dG9uSGFybmVzcywgZmlsdGVycylcbiAgICAgIC5hZGRPcHRpb24oJ3RleHQnLCBmaWx0ZXJzLnRleHQsIGFzeW5jIChoYXJuZXNzLCB0ZXh0KSA9PlxuICAgICAgICBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoYXdhaXQgaGFybmVzcy5nZXRUZXh0KCksIHRleHQpXG4gICAgICApXG4gICAgICAuYWRkT3B0aW9uKCdzdHlsZVR5cGUnLCBmaWx0ZXJzLnN0eWxlVHlwZSwgYXN5bmMgKGhhcm5lc3MsIHN0eWxlVHlwZSkgPT5cbiAgICAgICAgSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGF3YWl0IGhhcm5lc3MuZ2V0U3R5bGVUeXBlKCksIHN0eWxlVHlwZSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBjb25maXJtIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaG9zdCgpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGJ1dHRvbiBzdHlsZSBvZiB0aGUgY29uZmlybSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U3R5bGVUeXBlKCk6IFByb21pc2U8U2t5Q29uZmlybUJ1dHRvblN0eWxlVHlwZT4ge1xuICAgIGNvbnN0IGhvc3RFbCA9IGF3YWl0IHRoaXMuaG9zdCgpO1xuXG4gICAgaWYgKGF3YWl0IGhvc3RFbC5oYXNDbGFzcygnc2t5LWJ0bi1wcmltYXJ5JykpIHtcbiAgICAgIHJldHVybiAncHJpbWFyeSc7XG4gICAgfSBlbHNlIGlmIChhd2FpdCBob3N0RWwuaGFzQ2xhc3MoJ3NreS1idG4tbGluaycpKSB7XG4gICAgICByZXR1cm4gJ2xpbmsnO1xuICAgIH0gZWxzZSBpZiAoYXdhaXQgaG9zdEVsLmhhc0NsYXNzKCdza3ktYnRuLWRhbmdlcicpKSB7XG4gICAgICByZXR1cm4gJ2Rhbmdlcic7XG4gICAgfVxuICAgIHJldHVybiAnZGVmYXVsdCc7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBjb25maXJtIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkudGV4dCgpO1xuICB9XG59XG4iXX0=
@@ -1,97 +0,0 @@
1
- var _SkyConfirmHarness_instances, _SkyConfirmHarness_getBodyEl, _SkyConfirmHarness_getButtons, _SkyConfirmHarness_getConfirmEl, _SkyConfirmHarness_getMessageEl, _SkyConfirmHarness_queryHarnesses;
2
- import { __classPrivateFieldGet } from "tslib";
3
- import { SkyComponentHarness } from '@skyux/core/testing';
4
- import { SkyConfirmType } from '@skyux/modals';
5
- import { SkyConfirmButtonHarness } from './confirm-button-harness';
6
- /**
7
- * Harness for interacting with a confirm component in tests.
8
- */
9
- export class SkyConfirmHarness extends SkyComponentHarness {
10
- constructor() {
11
- super(...arguments);
12
- _SkyConfirmHarness_instances.add(this);
13
- _SkyConfirmHarness_getBodyEl.set(this, this.locatorForOptional('.sky-confirm-body'));
14
- _SkyConfirmHarness_getButtons.set(this, this.locatorForAll(SkyConfirmButtonHarness));
15
- _SkyConfirmHarness_getConfirmEl.set(this, this.locatorFor('.sky-confirm'));
16
- _SkyConfirmHarness_getMessageEl.set(this, this.locatorFor('.sky-confirm-message'));
17
- }
18
- /**
19
- * Clicks a confirm button.
20
- */
21
- async clickCustomButton(filters) {
22
- const buttons = await this.getCustomButtons(filters);
23
- if (buttons.length > 1) {
24
- if (filters.text instanceof RegExp) {
25
- filters.text = filters.text.toString();
26
- }
27
- throw new Error(`More than one button matches the filter(s): ${JSON.stringify(filters)}.`);
28
- }
29
- await buttons[0].click();
30
- }
31
- /**
32
- * Clicks a confirm button.
33
- */
34
- async clickOkButton() {
35
- const type = await this.getType();
36
- if (type === SkyConfirmType.Custom) {
37
- throw new Error('Cannot click OK button on a confirm of type custom.');
38
- }
39
- const buttons = await __classPrivateFieldGet(this, _SkyConfirmHarness_getButtons, "f").call(this);
40
- await buttons[0].click();
41
- }
42
- /**
43
- * Gets the body of the confirm component.
44
- */
45
- async getBodyText() {
46
- return (await __classPrivateFieldGet(this, _SkyConfirmHarness_getBodyEl, "f").call(this))?.text();
47
- }
48
- /**
49
- * Gets the confirm component's custom buttons.
50
- */
51
- async getCustomButtons(filters) {
52
- const confirmType = await this.getType();
53
- if (confirmType === SkyConfirmType.OK) {
54
- throw new Error('Cannot get custom buttons for confirm of type OK.');
55
- }
56
- const harnesses = await __classPrivateFieldGet(this, _SkyConfirmHarness_instances, "m", _SkyConfirmHarness_queryHarnesses).call(this, SkyConfirmButtonHarness.with(filters || {}));
57
- if (filters && harnesses.length === 0) {
58
- // Stringify the regular expression so that it's readable in the console log.
59
- if (filters.text instanceof RegExp) {
60
- filters.text = filters.text.toString();
61
- }
62
- throw new Error(`Could not find buttons matching filter(s): ${JSON.stringify(filters)}.`);
63
- }
64
- return harnesses;
65
- }
66
- /**
67
- * Gets the message of the confirm component.
68
- */
69
- async getMessageText() {
70
- return (await __classPrivateFieldGet(this, _SkyConfirmHarness_getMessageEl, "f").call(this)).text();
71
- }
72
- /**
73
- * Gets the type of the confirm component.
74
- */
75
- async getType() {
76
- const confirmEl = await __classPrivateFieldGet(this, _SkyConfirmHarness_getConfirmEl, "f").call(this);
77
- if (await confirmEl.hasClass('sky-confirm-type-ok')) {
78
- return SkyConfirmType.OK;
79
- }
80
- return SkyConfirmType.Custom;
81
- }
82
- /**
83
- * Whether the whitespace is preserved on the confirm component.
84
- */
85
- async isWhiteSpacePreserved() {
86
- return (await __classPrivateFieldGet(this, _SkyConfirmHarness_getMessageEl, "f").call(this)).hasClass('sky-confirm-preserve-white-space');
87
- }
88
- }
89
- _SkyConfirmHarness_getBodyEl = new WeakMap(), _SkyConfirmHarness_getButtons = new WeakMap(), _SkyConfirmHarness_getConfirmEl = new WeakMap(), _SkyConfirmHarness_getMessageEl = new WeakMap(), _SkyConfirmHarness_instances = new WeakSet(), _SkyConfirmHarness_queryHarnesses =
90
- /**
91
- * Returns child harnesses.
92
- */
93
- async function _SkyConfirmHarness_queryHarnesses(harness) {
94
- return this.locatorForAll(harness)();
95
- };
96
- SkyConfirmHarness.hostSelector = 'sky-confirm';
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21vZGFscy90ZXN0aW5nL3NyYy9jb25maXJtL2NvbmZpcm0taGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHbkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsbUJBQW1CO0lBQTFEOzs7UUFHRSx1Q0FBYSxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsRUFBQztRQUMxRCx3Q0FBYyxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLEVBQUM7UUFDMUQsMENBQWdCLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUM7UUFDaEQsMENBQWdCLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsRUFBQztJQTZHMUQsQ0FBQztJQTNHQzs7T0FFRztJQUNJLEtBQUssQ0FBQyxpQkFBaUIsQ0FDNUIsT0FBdUM7UUFFdkMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFckQsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0QixJQUFJLE9BQU8sQ0FBQyxJQUFJLFlBQVksTUFBTSxFQUFFO2dCQUNsQyxPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDeEM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLCtDQUErQyxJQUFJLENBQUMsU0FBUyxDQUMzRCxPQUFPLENBQ1IsR0FBRyxDQUNMLENBQUM7U0FDSDtRQUNELE1BQU0sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWxDLElBQUksSUFBSSxLQUFLLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsTUFBTSxPQUFPLEdBQUcsTUFBTSx1QkFBQSxJQUFJLHFDQUFZLE1BQWhCLElBQUksQ0FBYyxDQUFDO1FBQ3pDLE1BQU0sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE9BQU8sQ0FBQyxNQUFNLHVCQUFBLElBQUksb0NBQVcsTUFBZixJQUFJLENBQWEsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDM0IsT0FBd0M7UUFFeEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFekMsSUFBSSxXQUFXLEtBQUssY0FBYyxDQUFDLEVBQUUsRUFBRTtZQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7U0FDdEU7UUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLHVCQUFBLElBQUksdUVBQWdCLE1BQXBCLElBQUksRUFDMUIsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FDNUMsQ0FBQztRQUVGLElBQUksT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3JDLDZFQUE2RTtZQUM3RSxJQUFJLE9BQU8sQ0FBQyxJQUFJLFlBQVksTUFBTSxFQUFFO2dCQUNsQyxPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDeEM7WUFFRCxNQUFNLElBQUksS0FBSyxDQUNiLDhDQUE4QyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQ3pFLENBQUM7U0FDSDtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxjQUFjO1FBQ3pCLE9BQU8sQ0FBQyxNQUFNLHVCQUFBLElBQUksdUNBQWMsTUFBbEIsSUFBSSxDQUFnQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsTUFBTSxTQUFTLEdBQUcsTUFBTSx1QkFBQSxJQUFJLHVDQUFjLE1BQWxCLElBQUksQ0FBZ0IsQ0FBQztRQUM3QyxJQUFJLE1BQU0sU0FBUyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO1lBQ25ELE9BQU8sY0FBYyxDQUFDLEVBQUUsQ0FBQztTQUMxQjtRQUVELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMscUJBQXFCO1FBQ2hDLE9BQU8sQ0FBQyxNQUFNLHVCQUFBLElBQUksdUNBQWMsTUFBbEIsSUFBSSxDQUFnQixDQUFDLENBQUMsUUFBUSxDQUMxQyxrQ0FBa0MsQ0FDbkMsQ0FBQztJQUNKLENBQUM7OztBQUVEOztHQUVHO0FBQ0gsS0FBSyw0Q0FDSCxPQUF3QjtJQUV4QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztBQUN2QyxDQUFDO0FBakhhLDhCQUFZLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcywgSGFybmVzc1F1ZXJ5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29uZmlybVR5cGUgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgU2t5Q29uZmlybUJ1dHRvbkhhcm5lc3MgfSBmcm9tICcuL2NvbmZpcm0tYnV0dG9uLWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5Q29uZmlybUJ1dHRvbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jb25maXJtLWJ1dHRvbi1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBjb25maXJtIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNvbmZpcm1IYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1jb25maXJtJztcblxuICAjZ2V0Qm9keUVsID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJy5za3ktY29uZmlybS1ib2R5Jyk7XG4gICNnZXRCdXR0b25zID0gdGhpcy5sb2NhdG9yRm9yQWxsKFNreUNvbmZpcm1CdXR0b25IYXJuZXNzKTtcbiAgI2dldENvbmZpcm1FbCA9IHRoaXMubG9jYXRvckZvcignLnNreS1jb25maXJtJyk7XG4gICNnZXRNZXNzYWdlRWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktY29uZmlybS1tZXNzYWdlJyk7XG5cbiAgLyoqXG4gICAqIENsaWNrcyBhIGNvbmZpcm0gYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrQ3VzdG9tQnV0dG9uKFxuICAgIGZpbHRlcnM6IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzRmlsdGVyc1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidXR0b25zID0gYXdhaXQgdGhpcy5nZXRDdXN0b21CdXR0b25zKGZpbHRlcnMpO1xuXG4gICAgaWYgKGJ1dHRvbnMubGVuZ3RoID4gMSkge1xuICAgICAgaWYgKGZpbHRlcnMudGV4dCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgICBmaWx0ZXJzLnRleHQgPSBmaWx0ZXJzLnRleHQudG9TdHJpbmcoKTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYE1vcmUgdGhhbiBvbmUgYnV0dG9uIG1hdGNoZXMgdGhlIGZpbHRlcihzKTogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICBmaWx0ZXJzXG4gICAgICAgICl9LmBcbiAgICAgICk7XG4gICAgfVxuICAgIGF3YWl0IGJ1dHRvbnNbMF0uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgYSBjb25maXJtIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja09rQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHR5cGUgPSBhd2FpdCB0aGlzLmdldFR5cGUoKTtcblxuICAgIGlmICh0eXBlID09PSBTa3lDb25maXJtVHlwZS5DdXN0b20pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGNsaWNrIE9LIGJ1dHRvbiBvbiBhIGNvbmZpcm0gb2YgdHlwZSBjdXN0b20uJyk7XG4gICAgfVxuICAgIGNvbnN0IGJ1dHRvbnMgPSBhd2FpdCB0aGlzLiNnZXRCdXR0b25zKCk7XG4gICAgYXdhaXQgYnV0dG9uc1swXS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGJvZHkgb2YgdGhlIGNvbmZpcm0gY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEJvZHlUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRCb2R5RWwoKSk/LnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjb25maXJtIGNvbXBvbmVudCdzIGN1c3RvbSBidXR0b25zLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEN1c3RvbUJ1dHRvbnMoXG4gICAgZmlsdGVycz86IFNreUNvbmZpcm1CdXR0b25IYXJuZXNzRmlsdGVyc1xuICApOiBQcm9taXNlPFNreUNvbmZpcm1CdXR0b25IYXJuZXNzW10+IHtcbiAgICBjb25zdCBjb25maXJtVHlwZSA9IGF3YWl0IHRoaXMuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKGNvbmZpcm1UeXBlID09PSBTa3lDb25maXJtVHlwZS5PSykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZ2V0IGN1c3RvbSBidXR0b25zIGZvciBjb25maXJtIG9mIHR5cGUgT0suJyk7XG4gICAgfVxuXG4gICAgY29uc3QgaGFybmVzc2VzID0gYXdhaXQgdGhpcy4jcXVlcnlIYXJuZXNzZXMoXG4gICAgICBTa3lDb25maXJtQnV0dG9uSGFybmVzcy53aXRoKGZpbHRlcnMgfHwge30pXG4gICAgKTtcblxuICAgIGlmIChmaWx0ZXJzICYmIGhhcm5lc3Nlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIFN0cmluZ2lmeSB0aGUgcmVndWxhciBleHByZXNzaW9uIHNvIHRoYXQgaXQncyByZWFkYWJsZSBpbiB0aGUgY29uc29sZSBsb2cuXG4gICAgICBpZiAoZmlsdGVycy50ZXh0IGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIGZpbHRlcnMudGV4dCA9IGZpbHRlcnMudGV4dC50b1N0cmluZygpO1xuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDb3VsZCBub3QgZmluZCBidXR0b25zIG1hdGNoaW5nIGZpbHRlcihzKTogJHtKU09OLnN0cmluZ2lmeShmaWx0ZXJzKX0uYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFybmVzc2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIG1lc3NhZ2Ugb2YgdGhlIGNvbmZpcm0gY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldE1lc3NhZ2VUZXh0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRNZXNzYWdlRWwoKSkudGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHR5cGUgb2YgdGhlIGNvbmZpcm0gY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFR5cGUoKTogUHJvbWlzZTxTa3lDb25maXJtVHlwZT4ge1xuICAgIGNvbnN0IGNvbmZpcm1FbCA9IGF3YWl0IHRoaXMuI2dldENvbmZpcm1FbCgpO1xuICAgIGlmIChhd2FpdCBjb25maXJtRWwuaGFzQ2xhc3MoJ3NreS1jb25maXJtLXR5cGUtb2snKSkge1xuICAgICAgcmV0dXJuIFNreUNvbmZpcm1UeXBlLk9LO1xuICAgIH1cblxuICAgIHJldHVybiBTa3lDb25maXJtVHlwZS5DdXN0b207XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgd2hpdGVzcGFjZSBpcyBwcmVzZXJ2ZWQgb24gdGhlIGNvbmZpcm0gY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzV2hpdGVTcGFjZVByZXNlcnZlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldE1lc3NhZ2VFbCgpKS5oYXNDbGFzcyhcbiAgICAgICdza3ktY29uZmlybS1wcmVzZXJ2ZS13aGl0ZS1zcGFjZSdcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgY2hpbGQgaGFybmVzc2VzLlxuICAgKi9cbiAgYXN5bmMgI3F1ZXJ5SGFybmVzc2VzPFQgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzPihcbiAgICBoYXJuZXNzOiBIYXJuZXNzUXVlcnk8VD5cbiAgKTogUHJvbWlzZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5sb2NhdG9yRm9yQWxsKGhhcm5lc3MpKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,81 +0,0 @@
1
- var _SkyModalHarness_getModal, _SkyModalHarness_getModalDialog;
2
- import { __classPrivateFieldGet } from "tslib";
3
- import { SkyComponentHarness } from '@skyux/core/testing';
4
- /**
5
- * Harness for interacting with a modal component in tests.
6
- */
7
- export class SkyModalHarness extends SkyComponentHarness {
8
- constructor() {
9
- super(...arguments);
10
- _SkyModalHarness_getModal.set(this, this.locatorFor('.sky-modal'));
11
- _SkyModalHarness_getModalDialog.set(this, this.locatorFor('.sky-modal-dialog'));
12
- }
13
- /**
14
- * Gets a `HarnessPredicate` that can be used to search for a
15
- * `SkyModalHarness` that meets certain criteria
16
- */
17
- static with(filters) {
18
- return SkyModalHarness.getDataSkyIdPredicate(filters);
19
- }
20
- /**
21
- * Gets the aria-describedBy property of the modal
22
- */
23
- async getAriaDescribedBy() {
24
- return (await __classPrivateFieldGet(this, _SkyModalHarness_getModalDialog, "f").call(this)).getAttribute('aria-describedby');
25
- }
26
- /**
27
- * Gets the aria-labelledBy property of the modal
28
- */
29
- async getAriaLabelledBy() {
30
- return (await __classPrivateFieldGet(this, _SkyModalHarness_getModalDialog, "f").call(this)).getAttribute('aria-labelledby');
31
- }
32
- /**
33
- * Gets the role of the modal.
34
- */
35
- async getAriaRole() {
36
- return (await __classPrivateFieldGet(this, _SkyModalHarness_getModalDialog, "f").call(this)).getAttribute('role');
37
- }
38
- /**
39
- * Gets the modal size.
40
- */
41
- async getSize() {
42
- if (await this.isFullPage()) {
43
- throw new Error('Size cannot be determined because size property is overridden when modal is full page');
44
- }
45
- const modal = await __classPrivateFieldGet(this, _SkyModalHarness_getModal, "f").call(this);
46
- if (await modal.hasClass('sky-modal-small')) {
47
- return 'small';
48
- }
49
- if (await modal.hasClass('sky-modal-large')) {
50
- return 'large';
51
- }
52
- return 'medium';
53
- }
54
- /**
55
- * Gets the wrapper class of the modal.
56
- */
57
- async getWrapperClass() {
58
- return await (await this.host()).getProperty('className');
59
- }
60
- /**
61
- * Whether the modal is full page.
62
- */
63
- async isFullPage() {
64
- const modal = __classPrivateFieldGet(this, _SkyModalHarness_getModal, "f").call(this);
65
- return (await modal).hasClass('sky-modal-full-page');
66
- }
67
- /**
68
- * Whether the modal has {@link SkyModalIsDirtyDirective.isDirty} set to dirty.
69
- */
70
- async isDirty() {
71
- const modalHost = await this.host();
72
- const isDirtyAttribute = await modalHost.getAttribute('data-sky-modal-is-dirty');
73
- return isDirtyAttribute === 'true';
74
- }
75
- }
76
- _SkyModalHarness_getModal = new WeakMap(), _SkyModalHarness_getModalDialog = new WeakMap();
77
- /**
78
- * @internal
79
- */
80
- SkyModalHarness.hostSelector = 'sky-modal';
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvbW9kYWwvbW9kYWwtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQXhEOztRQU1FLG9DQUFZLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUM7UUFDMUMsMENBQWtCLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsRUFBQztJQWlGekQsQ0FBQztJQS9FQzs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUErQjtRQUUvQixPQUFPLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLE9BQU8sQ0FBQyxNQUFNLHVCQUFBLElBQUksdUNBQWdCLE1BQXBCLElBQUksQ0FBa0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxpQkFBaUI7UUFDNUIsT0FBTyxDQUFDLE1BQU0sdUJBQUEsSUFBSSx1Q0FBZ0IsTUFBcEIsSUFBSSxDQUFrQixDQUFDLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFdBQVc7UUFDdEIsT0FBTyxDQUFDLE1BQU0sdUJBQUEsSUFBSSx1Q0FBZ0IsTUFBcEIsSUFBSSxDQUFrQixDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLElBQUksTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FDYix1RkFBdUYsQ0FDeEYsQ0FBQztTQUNIO1FBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSx1QkFBQSxJQUFJLGlDQUFVLE1BQWQsSUFBSSxDQUFZLENBQUM7UUFFckMsSUFBSSxNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUMzQyxPQUFPLE9BQU8sQ0FBQztTQUNoQjtRQUVELElBQUksTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDM0MsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLEtBQUssR0FBRyx1QkFBQSxJQUFJLGlDQUFVLE1BQWQsSUFBSSxDQUFZLENBQUM7UUFDL0IsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLFNBQVMsQ0FBQyxZQUFZLENBQ25ELHlCQUF5QixDQUMxQixDQUFDO1FBQ0YsT0FBTyxnQkFBZ0IsS0FBSyxNQUFNLENBQUM7SUFDckMsQ0FBQzs7O0FBdEZEOztHQUVHO0FBQ1csNEJBQVksR0FBRyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9tb2RhbC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBtb2RhbCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lNb2RhbEhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LW1vZGFsJztcblxuICAjZ2V0TW9kYWwgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktbW9kYWwnKTtcbiAgI2dldE1vZGFsRGlhbG9nID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LW1vZGFsLWRpYWxvZycpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lNb2RhbEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIGZpbHRlcnM6IFNreU1vZGFsSGFybmVzc0ZpbHRlcnNcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lNb2RhbEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5TW9kYWxIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhcmlhLWRlc2NyaWJlZEJ5IHByb3BlcnR5IG9mIHRoZSBtb2RhbFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFEZXNjcmliZWRCeSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldE1vZGFsRGlhbG9nKCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1kZXNjcmliZWRieScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFyaWEtbGFiZWxsZWRCeSBwcm9wZXJ0eSBvZiB0aGUgbW9kYWxcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWxsZWRCeSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldE1vZGFsRGlhbG9nKCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcm9sZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXJpYVJvbGUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRNb2RhbERpYWxvZygpKS5nZXRBdHRyaWJ1dGUoJ3JvbGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBtb2RhbCBzaXplLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNpemUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAoYXdhaXQgdGhpcy5pc0Z1bGxQYWdlKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1NpemUgY2Fubm90IGJlIGRldGVybWluZWQgYmVjYXVzZSBzaXplIHByb3BlcnR5IGlzIG92ZXJyaWRkZW4gd2hlbiBtb2RhbCBpcyBmdWxsIHBhZ2UnXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZGFsID0gYXdhaXQgdGhpcy4jZ2V0TW9kYWwoKTtcblxuICAgIGlmIChhd2FpdCBtb2RhbC5oYXNDbGFzcygnc2t5LW1vZGFsLXNtYWxsJykpIHtcbiAgICAgIHJldHVybiAnc21hbGwnO1xuICAgIH1cblxuICAgIGlmIChhd2FpdCBtb2RhbC5oYXNDbGFzcygnc2t5LW1vZGFsLWxhcmdlJykpIHtcbiAgICAgIHJldHVybiAnbGFyZ2UnO1xuICAgIH1cblxuICAgIHJldHVybiAnbWVkaXVtJztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB3cmFwcGVyIGNsYXNzIG9mIHRoZSBtb2RhbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRXcmFwcGVyQ2xhc3MoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5nZXRQcm9wZXJ0eSgnY2xhc3NOYW1lJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbW9kYWwgaXMgZnVsbCBwYWdlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRnVsbFBhZ2UoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgbW9kYWwgPSB0aGlzLiNnZXRNb2RhbCgpO1xuICAgIHJldHVybiAoYXdhaXQgbW9kYWwpLmhhc0NsYXNzKCdza3ktbW9kYWwtZnVsbC1wYWdlJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbW9kYWwgaGFzIHtAbGluayBTa3lNb2RhbElzRGlydHlEaXJlY3RpdmUuaXNEaXJ0eX0gc2V0IHRvIGRpcnR5LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRGlydHkoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgbW9kYWxIb3N0ID0gYXdhaXQgdGhpcy5ob3N0KCk7XG4gICAgY29uc3QgaXNEaXJ0eUF0dHJpYnV0ZSA9IGF3YWl0IG1vZGFsSG9zdC5nZXRBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1za3ktbW9kYWwtaXMtZGlydHknXG4gICAgKTtcbiAgICByZXR1cm4gaXNEaXJ0eUF0dHJpYnV0ZSA9PT0gJ3RydWUnO1xuICB9XG59XG4iXX0=
@@ -1,145 +0,0 @@
1
- var _SkyModalFixture_instances, _SkyModalFixture_modalElement, _SkyModalFixture_fixture, _SkyModalFixture_checkModalElement, _SkyModalFixture_getModalDialogElement;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- /**
4
- * Allows interaction with a SKY UX modal component.
5
- * @internal
6
- */
7
- export class SkyModalFixture {
8
- constructor(fixture, skyTestId) {
9
- _SkyModalFixture_instances.add(this);
10
- _SkyModalFixture_modalElement.set(this, void 0);
11
- _SkyModalFixture_fixture.set(this, void 0);
12
- __classPrivateFieldSet(this, _SkyModalFixture_fixture, fixture, "f");
13
- const modalElement = document.querySelector('sky-modal[data-sky-id="' + skyTestId + '"]');
14
- if (!modalElement) {
15
- throw new Error(`No element was found with a \`data-sky-id\` value of "${skyTestId}".`);
16
- }
17
- __classPrivateFieldSet(this, _SkyModalFixture_modalElement, modalElement, "f");
18
- }
19
- /**
20
- * The modal component's ARIA describedby attribute.
21
- */
22
- get ariaDescribedBy() {
23
- const modalDialogElement = __classPrivateFieldGet(this, _SkyModalFixture_instances, "m", _SkyModalFixture_getModalDialogElement).call(this);
24
- /* Non-null assertion as our component has a default for if the user does not provide this attribute or if they provide "undefined" */
25
- const describedByAttribute =
26
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
27
- modalDialogElement.getAttribute('aria-describedby');
28
- return describedByAttribute;
29
- }
30
- /**
31
- * The modal component's ARIA labelledby attribute.
32
- */
33
- get ariaLabelledBy() {
34
- const modalDialogElement = __classPrivateFieldGet(this, _SkyModalFixture_instances, "m", _SkyModalFixture_getModalDialogElement).call(this);
35
- /* Non-null assertion as our component has a default for if the user does not provide this attribute or if they provide "undefined" */
36
- const labelledByAttribute =
37
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
38
- modalDialogElement.getAttribute('aria-labelledby');
39
- return labelledByAttribute;
40
- }
41
- /**
42
- * The modal component's role attribute.
43
- */
44
- get ariaRole() {
45
- const modalDialogElement = __classPrivateFieldGet(this, _SkyModalFixture_instances, "m", _SkyModalFixture_getModalDialogElement).call(this);
46
- /* Non-null assertion as our component has a default for if the user does not provide this attribute or if they provide "undefined" */
47
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
48
- const roleAttribute = modalDialogElement.getAttribute('role');
49
- return roleAttribute;
50
- }
51
- /**
52
- * Whether or not the modal is a full page modal.
53
- */
54
- get fullPage() {
55
- const modalDivElement = this.getModalDiv();
56
- return modalDivElement.classList.contains('sky-modal-full-page');
57
- }
58
- /**
59
- * The size of the modal.
60
- */
61
- get size() {
62
- const modalDivElement = this.getModalDiv();
63
- const possibleSizes = ['small', 'medium', 'large'];
64
- for (const size of possibleSizes) {
65
- if (modalDivElement.classList.contains('sky-modal-' + size)) {
66
- return size;
67
- }
68
- }
69
- return;
70
- }
71
- /**
72
- * Whether or not the modal is set up for tiled content.
73
- */
74
- get tiledBody() {
75
- const modalDivElement = this.getModalDiv();
76
- return modalDivElement.classList.contains('sky-modal-tiled');
77
- }
78
- /**
79
- * Clicks the modal header's "close" button.
80
- */
81
- clickHeaderCloseButton() {
82
- __classPrivateFieldGet(this, _SkyModalFixture_instances, "m", _SkyModalFixture_checkModalElement).call(this);
83
- const closeButton = __classPrivateFieldGet(this, _SkyModalFixture_modalElement, "f").querySelector('.sky-modal .sky-modal-btn-close');
84
- if (closeButton &&
85
- window.getComputedStyle(closeButton).display !== 'none') {
86
- closeButton.click();
87
- __classPrivateFieldGet(this, _SkyModalFixture_fixture, "f").detectChanges();
88
- }
89
- else {
90
- throw new Error(`No header close button exists.`);
91
- }
92
- }
93
- /**
94
- * Clicks the modal header's "help" button.
95
- */
96
- clickHelpButton() {
97
- __classPrivateFieldGet(this, _SkyModalFixture_instances, "m", _SkyModalFixture_checkModalElement).call(this);
98
- const helpButton = __classPrivateFieldGet(this, _SkyModalFixture_modalElement, "f").querySelector('.sky-modal .sky-modal-header-buttons button[name="help-button"]');
99
- if (helpButton && window.getComputedStyle(helpButton).display !== 'none') {
100
- helpButton.click();
101
- __classPrivateFieldGet(this, _SkyModalFixture_fixture, "f").detectChanges();
102
- }
103
- else {
104
- throw new Error(`No help button exists.`);
105
- }
106
- }
107
- /**
108
- * Returns the main modal element.
109
- */
110
- getModalDiv() {
111
- __classPrivateFieldGet(this, _SkyModalFixture_instances, "m", _SkyModalFixture_checkModalElement).call(this);
112
- return __classPrivateFieldGet(this, _SkyModalFixture_modalElement, "f").querySelector('.sky-modal');
113
- }
114
- /**
115
- * Returns the modal's content element.
116
- */
117
- getModalContentEl() {
118
- __classPrivateFieldGet(this, _SkyModalFixture_instances, "m", _SkyModalFixture_checkModalElement).call(this);
119
- return __classPrivateFieldGet(this, _SkyModalFixture_modalElement, "f").querySelector('.sky-modal-content');
120
- }
121
- /**
122
- * Returns the modal's footer element.
123
- */
124
- getModalFooterEl() {
125
- __classPrivateFieldGet(this, _SkyModalFixture_instances, "m", _SkyModalFixture_checkModalElement).call(this);
126
- return __classPrivateFieldGet(this, _SkyModalFixture_modalElement, "f").querySelector('.sky-modal-footer');
127
- }
128
- /**
129
- * Returns the modal's header element.
130
- */
131
- getModalHeaderEl() {
132
- __classPrivateFieldGet(this, _SkyModalFixture_instances, "m", _SkyModalFixture_checkModalElement).call(this);
133
- return __classPrivateFieldGet(this, _SkyModalFixture_modalElement, "f").querySelector('.sky-modal-header');
134
- }
135
- }
136
- _SkyModalFixture_modalElement = new WeakMap(), _SkyModalFixture_fixture = new WeakMap(), _SkyModalFixture_instances = new WeakSet(), _SkyModalFixture_checkModalElement = function _SkyModalFixture_checkModalElement() {
137
- if (!document.contains(__classPrivateFieldGet(this, _SkyModalFixture_modalElement, "f"))) {
138
- throw new Error('Modal element no longer exists. Was the modal closed?');
139
- }
140
- }, _SkyModalFixture_getModalDialogElement = function _SkyModalFixture_getModalDialogElement() {
141
- __classPrivateFieldGet(this, _SkyModalFixture_instances, "m", _SkyModalFixture_checkModalElement).call(this);
142
- // We can always know that the dialog element will exist if the modal is open and exists.
143
- return __classPrivateFieldGet(this, _SkyModalFixture_modalElement, "f").querySelector('.sky-modal-dialog');
144
- };
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbHMvdGVzdGluZy9zcmMvbW9kYWwtZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBOzs7R0FHRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQVksT0FBa0MsRUFBRSxTQUFpQjs7UUFKakUsZ0RBQTJCO1FBRTNCLDJDQUFvQztRQUdsQyx1QkFBQSxJQUFJLDRCQUFZLE9BQU8sTUFBQSxDQUFDO1FBQ3hCLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQ3pDLHlCQUF5QixHQUFHLFNBQVMsR0FBRyxJQUFJLENBQzlCLENBQUM7UUFFakIsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUNiLHlEQUF5RCxTQUFTLElBQUksQ0FDdkUsQ0FBQztTQUNIO1FBRUQsdUJBQUEsSUFBSSxpQ0FBaUIsWUFBWSxNQUFBLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxlQUFlO1FBQ3hCLE1BQU0sa0JBQWtCLEdBQUcsdUJBQUEsSUFBSSwwRUFBdUIsTUFBM0IsSUFBSSxDQUF5QixDQUFDO1FBQ3pELHNJQUFzSTtRQUN0SSxNQUFNLG9CQUFvQjtRQUN4QixvRUFBb0U7UUFDcEUsa0JBQWtCLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFFLENBQUM7UUFDdkQsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDdkIsTUFBTSxrQkFBa0IsR0FBRyx1QkFBQSxJQUFJLDBFQUF1QixNQUEzQixJQUFJLENBQXlCLENBQUM7UUFDekQsc0lBQXNJO1FBQ3RJLE1BQU0sbUJBQW1CO1FBQ3ZCLG9FQUFvRTtRQUNwRSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUUsQ0FBQztRQUV0RCxP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RUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDckIsdUJBQUEsSUFBSSxzRUFBbUIsTUFBdkIsSUFBSSxDQUFxQixDQUFDO1FBQzFCLE9BQU8sdUJBQUEsSUFBSSxxQ0FBYyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7T0FFRztJQUNJLGdCQUFnQjtRQUNyQix1QkFBQSxJQUFJLHNFQUFtQixNQUF2QixJQUFJLENBQXFCLENBQUM7UUFDMUIsT0FBTyx1QkFBQSxJQUFJLHFDQUFjLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDL0QsQ0FBQztDQWFGOztJQVZHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLHVCQUFBLElBQUkscUNBQWMsQ0FBQyxFQUFFO1FBQzFDLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztLQUMxRTtBQUNILENBQUM7SUFHQyx1QkFBQSxJQUFJLHNFQUFtQixNQUF2QixJQUFJLENBQXFCLENBQUM7SUFDMUIseUZBQXlGO0lBQ3pGLE9BQU8sdUJBQUEsSUFBSSxxQ0FBYyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBRSxDQUFDO0FBQ2hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCBtb2RhbCBjb21wb25lbnQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreU1vZGFsRml4dHVyZSB7XG4gICNtb2RhbEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICNmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj4sIHNreVRlc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy4jZml4dHVyZSA9IGZpeHR1cmU7XG4gICAgY29uc3QgbW9kYWxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICdza3ktbW9kYWxbZGF0YS1za3ktaWQ9XCInICsgc2t5VGVzdElkICsgJ1wiXSdcbiAgICApIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKCFtb2RhbEVsZW1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYE5vIGVsZW1lbnQgd2FzIGZvdW5kIHdpdGggYSBcXGBkYXRhLXNreS1pZFxcYCB2YWx1ZSBvZiBcIiR7c2t5VGVzdElkfVwiLmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jbW9kYWxFbGVtZW50ID0gbW9kYWxFbGVtZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtb2RhbCBjb21wb25lbnQncyBBUklBIGRlc2NyaWJlZGJ5IGF0dHJpYnV0ZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXJpYURlc2NyaWJlZEJ5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbW9kYWxEaWFsb2dFbGVtZW50ID0gdGhpcy4jZ2V0TW9kYWxEaWFsb2dFbGVtZW50KCk7XG4gICAgLyogTm9uLW51bGwgYXNzZXJ0aW9uIGFzIG91ciBjb21wb25lbnQgaGFzIGEgZGVmYXVsdCBmb3IgaWYgdGhlIHVzZXIgZG9lcyBub3QgcHJvdmlkZSB0aGlzIGF0dHJpYnV0ZSBvciBpZiB0aGV5IHByb3ZpZGUgXCJ1bmRlZmluZWRcIiAqL1xuICAgIGNvbnN0IGRlc2NyaWJlZEJ5QXR0cmlidXRlID1cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICBtb2RhbERpYWxvZ0VsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5JykhO1xuICAgIHJldHVybiBkZXNjcmliZWRCeUF0dHJpYnV0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbW9kYWwgY29tcG9uZW50J3MgQVJJQSBsYWJlbGxlZGJ5IGF0dHJpYnV0ZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsbGVkQnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtb2RhbERpYWxvZ0VsZW1lbnQgPSB0aGlzLiNnZXRNb2RhbERpYWxvZ0VsZW1lbnQoKTtcbiAgICAvKiBOb24tbnVsbCBhc3NlcnRpb24gYXMgb3VyIGNvbXBvbmVudCBoYXMgYSBkZWZhdWx0IGZvciBpZiB0aGUgdXNlciBkb2VzIG5vdCBwcm92aWRlIHRoaXMgYXR0cmlidXRlIG9yIGlmIHRoZXkgcHJvdmlkZSBcInVuZGVmaW5lZFwiICovXG4gICAgY29uc3QgbGFiZWxsZWRCeUF0dHJpYnV0ZSA9XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgbW9kYWxEaWFsb2dFbGVtZW50LmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5JykhO1xuXG4gICAgcmV0dXJuIGxhYmVsbGVkQnlBdHRyaWJ1dGU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG1vZGFsIGNvbXBvbmVudCdzIHJvbGUgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGdldCBhcmlhUm9sZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG1vZGFsRGlhbG9nRWxlbWVudCA9IHRoaXMuI2dldE1vZGFsRGlhbG9nRWxlbWVudCgpO1xuICAgIC8qIE5vbi1udWxsIGFzc2VydGlvbiBhcyBvdXIgY29tcG9uZW50IGhhcyBhIGRlZmF1bHQgZm9yIGlmIHRoZSB1c2VyIGRvZXMgbm90IHByb3ZpZGUgdGhpcyBhdHRyaWJ1dGUgb3IgaWYgdGhleSBwcm92aWRlIFwidW5kZWZpbmVkXCIgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgIGNvbnN0IHJvbGVBdHRyaWJ1dGUgPSBtb2RhbERpYWxvZ0VsZW1lbnQuZ2V0QXR0cmlidXRlKCdyb2xlJykhO1xuICAgIHJldHVybiByb2xlQXR0cmlidXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBtb2RhbCBpcyBhIGZ1bGwgcGFnZSBtb2RhbC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZnVsbFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbW9kYWxEaXZFbGVtZW50ID0gdGhpcy5nZXRNb2RhbERpdigpO1xuICAgIHJldHVybiBtb2RhbERpdkVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdza3ktbW9kYWwtZnVsbC1wYWdlJyk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIG1vZGFsLlxuICAgKi9cbiAgcHVibGljIGdldCBzaXplKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbW9kYWxEaXZFbGVtZW50ID0gdGhpcy5nZXRNb2RhbERpdigpO1xuICAgIGNvbnN0IHBvc3NpYmxlU2l6ZXMgPSBbJ3NtYWxsJywgJ21lZGl1bScsICdsYXJnZSddO1xuXG4gICAgZm9yIChjb25zdCBzaXplIG9mIHBvc3NpYmxlU2l6ZXMpIHtcbiAgICAgIGlmIChtb2RhbERpdkVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdza3ktbW9kYWwtJyArIHNpemUpKSB7XG4gICAgICAgIHJldHVybiBzaXplO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgbW9kYWwgaXMgc2V0IHVwIGZvciB0aWxlZCBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIGdldCB0aWxlZEJvZHkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbW9kYWxEaXZFbGVtZW50ID0gdGhpcy5nZXRNb2RhbERpdigpO1xuICAgIHJldHVybiBtb2RhbERpdkVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdza3ktbW9kYWwtdGlsZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIG1vZGFsIGhlYWRlcidzIFwiY2xvc2VcIiBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgY2xpY2tIZWFkZXJDbG9zZUJ1dHRvbigpOiB2b2lkIHtcbiAgICB0aGlzLiNjaGVja01vZGFsRWxlbWVudCgpO1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uOiBIVE1MRWxlbWVudCB8IG51bGwgPSB0aGlzLiNtb2RhbEVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2t5LW1vZGFsIC5za3ktbW9kYWwtYnRuLWNsb3NlJ1xuICAgICk7XG5cbiAgICBpZiAoXG4gICAgICBjbG9zZUJ1dHRvbiAmJlxuICAgICAgd2luZG93LmdldENvbXB1dGVkU3R5bGUoY2xvc2VCdXR0b24pLmRpc3BsYXkgIT09ICdub25lJ1xuICAgICkge1xuICAgICAgY2xvc2VCdXR0b24uY2xpY2soKTtcbiAgICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGhlYWRlciBjbG9zZSBidXR0b24gZXhpc3RzLmApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIG1vZGFsIGhlYWRlcidzIFwiaGVscFwiIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBjbGlja0hlbHBCdXR0b24oKTogdm9pZCB7XG4gICAgdGhpcy4jY2hlY2tNb2RhbEVsZW1lbnQoKTtcbiAgICBjb25zdCBoZWxwQnV0dG9uOiBIVE1MRWxlbWVudCB8IG51bGwgPSB0aGlzLiNtb2RhbEVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2t5LW1vZGFsIC5za3ktbW9kYWwtaGVhZGVyLWJ1dHRvbnMgYnV0dG9uW25hbWU9XCJoZWxwLWJ1dHRvblwiXSdcbiAgICApO1xuXG4gICAgaWYgKGhlbHBCdXR0b24gJiYgd2luZG93LmdldENvbXB1dGVkU3R5bGUoaGVscEJ1dHRvbikuZGlzcGxheSAhPT0gJ25vbmUnKSB7XG4gICAgICBoZWxwQnV0dG9uLmNsaWNrKCk7XG4gICAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBoZWxwIGJ1dHRvbiBleGlzdHMuYCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1haW4gbW9kYWwgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBnZXRNb2RhbERpdigpOiBhbnkge1xuICAgIHRoaXMuI2NoZWNrTW9kYWxFbGVtZW50KCk7XG4gICAgcmV0dXJuIHRoaXMuI21vZGFsRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LW1vZGFsJyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbW9kYWwncyBjb250ZW50IGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0TW9kYWxDb250ZW50RWwoKTogYW55IHtcbiAgICB0aGlzLiNjaGVja01vZGFsRWxlbWVudCgpO1xuICAgIHJldHVybiB0aGlzLiNtb2RhbEVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1tb2RhbC1jb250ZW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbW9kYWwncyBmb290ZXIgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBnZXRNb2RhbEZvb3RlckVsKCk6IGFueSB7XG4gICAgdGhpcy4jY2hlY2tNb2RhbEVsZW1lbnQoKTtcbiAgICByZXR1cm4gdGhpcy4jbW9kYWxFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktbW9kYWwtZm9vdGVyJyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbW9kYWwncyBoZWFkZXIgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBnZXRNb2RhbEhlYWRlckVsKCk6IGFueSB7XG4gICAgdGhpcy4jY2hlY2tNb2RhbEVsZW1lbnQoKTtcbiAgICByZXR1cm4gdGhpcy4jbW9kYWxFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktbW9kYWwtaGVhZGVyJyk7XG4gIH1cblxuICAjY2hlY2tNb2RhbEVsZW1lbnQoKTogdm9pZCB7XG4gICAgaWYgKCFkb2N1bWVudC5jb250YWlucyh0aGlzLiNtb2RhbEVsZW1lbnQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01vZGFsIGVsZW1lbnQgbm8gbG9uZ2VyIGV4aXN0cy4gV2FzIHRoZSBtb2RhbCBjbG9zZWQ/Jyk7XG4gICAgfVxuICB9XG5cbiAgI2dldE1vZGFsRGlhbG9nRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgdGhpcy4jY2hlY2tNb2RhbEVsZW1lbnQoKTtcbiAgICAvLyBXZSBjYW4gYWx3YXlzIGtub3cgdGhhdCB0aGUgZGlhbG9nIGVsZW1lbnQgd2lsbCBleGlzdCBpZiB0aGUgbW9kYWwgaXMgb3BlbiBhbmQgZXhpc3RzLlxuICAgIHJldHVybiB0aGlzLiNtb2RhbEVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1tb2RhbC1kaWFsb2cnKSE7XG4gIH1cbn1cbiJdfQ==