@evotor-dev/ui-kit 8.7.1 → 8.8.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 (33) hide show
  1. package/esm2022/lib/components/evo-modal/classes/EvoConfiguredComponentModalDrawingStrategy.mjs +8 -0
  2. package/esm2022/lib/components/evo-modal/classes/EvoConfiguredModalDrawingStrategy.mjs +14 -0
  3. package/esm2022/lib/components/evo-modal/classes/EvoConfiguredTemplateModalDrawingStrategy.mjs +11 -0
  4. package/esm2022/lib/components/evo-modal/classes/EvoDynamicModalDrawingStrategy.mjs +9 -0
  5. package/esm2022/lib/components/evo-modal/classes/EvoModalDrawingStrategy.mjs +3 -0
  6. package/esm2022/lib/components/evo-modal/enums.mjs +8 -0
  7. package/esm2022/lib/components/evo-modal/evo-modal-buttons/evo-modal-buttons.component.mjs +17 -0
  8. package/esm2022/lib/components/evo-modal/evo-modal-portal.mjs +29 -0
  9. package/esm2022/lib/components/evo-modal/evo-modal.component.mjs +128 -103
  10. package/esm2022/lib/components/evo-modal/evo-modal.provider.mjs +18 -0
  11. package/esm2022/lib/components/evo-modal/evo-modal.service.mjs +47 -12
  12. package/esm2022/lib/components/evo-modal/interfaces.mjs +2 -0
  13. package/esm2022/lib/components/evo-modal/public-api.mjs +7 -1
  14. package/esm2022/lib/components/evo-modal/tokens.mjs +12 -0
  15. package/esm2022/lib/components/evo-modal/utils.mjs +21 -0
  16. package/fesm2022/evotor-dev-ui-kit.mjs +420 -237
  17. package/fesm2022/evotor-dev-ui-kit.mjs.map +1 -1
  18. package/lib/components/evo-modal/classes/EvoConfiguredComponentModalDrawingStrategy.d.ts +6 -0
  19. package/lib/components/evo-modal/classes/EvoConfiguredModalDrawingStrategy.d.ts +6 -0
  20. package/lib/components/evo-modal/classes/EvoConfiguredTemplateModalDrawingStrategy.d.ts +6 -0
  21. package/lib/components/evo-modal/classes/EvoDynamicModalDrawingStrategy.d.ts +6 -0
  22. package/lib/components/evo-modal/classes/EvoModalDrawingStrategy.d.ts +5 -0
  23. package/lib/components/evo-modal/enums.d.ts +6 -0
  24. package/lib/components/evo-modal/evo-modal-buttons/evo-modal-buttons.component.d.ts +6 -0
  25. package/lib/components/evo-modal/evo-modal-portal.d.ts +16 -0
  26. package/lib/components/evo-modal/evo-modal.component.d.ts +48 -32
  27. package/lib/components/evo-modal/evo-modal.provider.d.ts +3 -0
  28. package/lib/components/evo-modal/evo-modal.service.d.ts +13 -12
  29. package/lib/components/evo-modal/interfaces.d.ts +47 -0
  30. package/lib/components/evo-modal/public-api.d.ts +6 -0
  31. package/lib/components/evo-modal/tokens.d.ts +7 -0
  32. package/lib/components/evo-modal/utils.d.ts +5 -0
  33. package/package.json +1 -1
@@ -0,0 +1,8 @@
1
+ import { EvoConfiguredModalDrawingStrategy } from './EvoConfiguredModalDrawingStrategy';
2
+ export class EvoConfiguredComponentModalDrawingStrategy extends EvoConfiguredModalDrawingStrategy {
3
+ draw(params) {
4
+ super.draw(params);
5
+ this.insertComponent(params, 'content');
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZvQ29uZmlndXJlZENvbXBvbmVudE1vZGFsRHJhd2luZ1N0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLW1vZGFsL2NsYXNzZXMvRXZvQ29uZmlndXJlZENvbXBvbmVudE1vZGFsRHJhd2luZ1N0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBSXRGLE1BQU0sT0FBTywwQ0FBMkMsU0FBUSxpQ0FBaUM7SUFDcEYsSUFBSSxDQUEwQixNQUFrRDtRQUNyRixLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZvQ29uZmlndXJlZE1vZGFsRHJhd2luZ1N0cmF0ZWd5fSBmcm9tICcuL0V2b0NvbmZpZ3VyZWRNb2RhbERyYXdpbmdTdHJhdGVneSc7XG5pbXBvcnQge0V2b0NvbmZpZ3VyZWRDb21wb25lbnRNb2RhbFBhcmFtc30gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge0V2b01vZGFsQ29tcG9uZW50fSBmcm9tICcuLi9ldm8tbW9kYWwuY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIEV2b0NvbmZpZ3VyZWRDb21wb25lbnRNb2RhbERyYXdpbmdTdHJhdGVneSBleHRlbmRzIEV2b0NvbmZpZ3VyZWRNb2RhbERyYXdpbmdTdHJhdGVneSB7XG4gICAgb3ZlcnJpZGUgZHJhdyh0aGlzOiBFdm9Nb2RhbENvbXBvbmVudCwgcGFyYW1zOiBFdm9Db25maWd1cmVkQ29tcG9uZW50TW9kYWxQYXJhbXM8dW5rbm93bj4pOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuZHJhdyhwYXJhbXMpO1xuICAgICAgICB0aGlzLmluc2VydENvbXBvbmVudChwYXJhbXMsICdjb250ZW50Jyk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,14 @@
1
+ import { EvoModalDrawingStrategy } from './EvoModalDrawingStrategy';
2
+ export class EvoConfiguredModalDrawingStrategy extends EvoModalDrawingStrategy {
3
+ draw(params) {
4
+ this.titleText.set(params.titleText);
5
+ this.acceptText.set(params.acceptText);
6
+ this.declineText.set(params.declineText);
7
+ this.acceptButtonColor.update((color) => params.acceptButtonColor || color);
8
+ this.acceptButtonTheme.update((theme) => params.acceptButtonTheme || theme);
9
+ this.declineButtonColor.update((color) => params.declineButtonColor || color);
10
+ this.declineButtonTheme.update((theme) => params.declineButtonTheme || theme);
11
+ this.asyncAccept.set(params.asyncAccept);
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZvQ29uZmlndXJlZE1vZGFsRHJhd2luZ1N0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLW1vZGFsL2NsYXNzZXMvRXZvQ29uZmlndXJlZE1vZGFsRHJhd2luZ1N0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBSWxFLE1BQU0sT0FBZ0IsaUNBQWtDLFNBQVEsdUJBQXVCO0lBQ25GLElBQUksQ0FBMEIsTUFBZ0M7UUFDMUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGlCQUFpQixJQUFJLEtBQUssQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxLQUFLLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLElBQUksS0FBSyxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGtCQUFrQixJQUFJLEtBQUssQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0V2b01vZGFsRHJhd2luZ1N0cmF0ZWd5fSBmcm9tICcuL0V2b01vZGFsRHJhd2luZ1N0cmF0ZWd5JztcbmltcG9ydCB7RXZvQ29uZmlndXJlZE1vZGFsUGFyYW1zfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7RXZvTW9kYWxDb21wb25lbnR9IGZyb20gJy4uL2V2by1tb2RhbC5jb21wb25lbnQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRXZvQ29uZmlndXJlZE1vZGFsRHJhd2luZ1N0cmF0ZWd5IGV4dGVuZHMgRXZvTW9kYWxEcmF3aW5nU3RyYXRlZ3kge1xuICAgIGRyYXcodGhpczogRXZvTW9kYWxDb21wb25lbnQsIHBhcmFtczogRXZvQ29uZmlndXJlZE1vZGFsUGFyYW1zKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGl0bGVUZXh0LnNldChwYXJhbXMudGl0bGVUZXh0KTtcbiAgICAgICAgdGhpcy5hY2NlcHRUZXh0LnNldChwYXJhbXMuYWNjZXB0VGV4dCk7XG4gICAgICAgIHRoaXMuZGVjbGluZVRleHQuc2V0KHBhcmFtcy5kZWNsaW5lVGV4dCk7XG4gICAgICAgIHRoaXMuYWNjZXB0QnV0dG9uQ29sb3IudXBkYXRlKChjb2xvcikgPT4gcGFyYW1zLmFjY2VwdEJ1dHRvbkNvbG9yIHx8IGNvbG9yKTtcbiAgICAgICAgdGhpcy5hY2NlcHRCdXR0b25UaGVtZS51cGRhdGUoKHRoZW1lKSA9PiBwYXJhbXMuYWNjZXB0QnV0dG9uVGhlbWUgfHwgdGhlbWUpO1xuICAgICAgICB0aGlzLmRlY2xpbmVCdXR0b25Db2xvci51cGRhdGUoKGNvbG9yKSA9PiBwYXJhbXMuZGVjbGluZUJ1dHRvbkNvbG9yIHx8IGNvbG9yKTtcbiAgICAgICAgdGhpcy5kZWNsaW5lQnV0dG9uVGhlbWUudXBkYXRlKCh0aGVtZSkgPT4gcGFyYW1zLmRlY2xpbmVCdXR0b25UaGVtZSB8fCB0aGVtZSk7XG4gICAgICAgIHRoaXMuYXN5bmNBY2NlcHQuc2V0KHBhcmFtcy5hc3luY0FjY2VwdCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,11 @@
1
+ import { EvoConfiguredModalDrawingStrategy } from './EvoConfiguredModalDrawingStrategy';
2
+ export class EvoConfiguredTemplateModalDrawingStrategy extends EvoConfiguredModalDrawingStrategy {
3
+ draw(params) {
4
+ super.draw(params);
5
+ this.modalContent.set({
6
+ template: params.template,
7
+ context: params.data,
8
+ });
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZvQ29uZmlndXJlZFRlbXBsYXRlTW9kYWxEcmF3aW5nU3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tbW9kYWwvY2xhc3Nlcy9Fdm9Db25maWd1cmVkVGVtcGxhdGVNb2RhbERyYXdpbmdTdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUl0RixNQUFNLE9BQU8seUNBQTBDLFNBQVEsaUNBQWlDO0lBQ25GLElBQUksQ0FBMEIsTUFBaUQ7UUFDcEYsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQztZQUNsQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDekIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJO1NBQ3ZCLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZvQ29uZmlndXJlZE1vZGFsRHJhd2luZ1N0cmF0ZWd5fSBmcm9tICcuL0V2b0NvbmZpZ3VyZWRNb2RhbERyYXdpbmdTdHJhdGVneSc7XG5pbXBvcnQge0V2b0NvbmZpZ3VyZWRUZW1wbGF0ZU1vZGFsUGFyYW1zfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7RXZvTW9kYWxDb21wb25lbnR9IGZyb20gJy4uL2V2by1tb2RhbC5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgRXZvQ29uZmlndXJlZFRlbXBsYXRlTW9kYWxEcmF3aW5nU3RyYXRlZ3kgZXh0ZW5kcyBFdm9Db25maWd1cmVkTW9kYWxEcmF3aW5nU3RyYXRlZ3kge1xuICAgIG92ZXJyaWRlIGRyYXcodGhpczogRXZvTW9kYWxDb21wb25lbnQsIHBhcmFtczogRXZvQ29uZmlndXJlZFRlbXBsYXRlTW9kYWxQYXJhbXM8dW5rbm93bj4pOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuZHJhdyhwYXJhbXMpO1xuICAgICAgICB0aGlzLm1vZGFsQ29udGVudC5zZXQoe1xuICAgICAgICAgICAgdGVtcGxhdGU6IHBhcmFtcy50ZW1wbGF0ZSxcbiAgICAgICAgICAgIGNvbnRleHQ6IHBhcmFtcy5kYXRhLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { EvoModalDrawingStrategy } from './EvoModalDrawingStrategy';
2
+ export class EvoDynamicModalDrawingStrategy extends EvoModalDrawingStrategy {
3
+ draw(params) {
4
+ this.isDynamicContent.set(true);
5
+ this.clearView();
6
+ this.insertComponent(params);
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZvRHluYW1pY01vZGFsRHJhd2luZ1N0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLW1vZGFsL2NsYXNzZXMvRXZvRHluYW1pY01vZGFsRHJhd2luZ1N0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBSWxFLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSx1QkFBdUI7SUFDdkUsSUFBSSxDQUEwQixNQUE2QjtRQUN2RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZvTW9kYWxEcmF3aW5nU3RyYXRlZ3l9IGZyb20gJy4vRXZvTW9kYWxEcmF3aW5nU3RyYXRlZ3knO1xuaW1wb3J0IHtFdm9EeW5hbWljTW9kYWxQYXJhbXN9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtFdm9Nb2RhbENvbXBvbmVudH0gZnJvbSAnLi4vZXZvLW1vZGFsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjbGFzcyBFdm9EeW5hbWljTW9kYWxEcmF3aW5nU3RyYXRlZ3kgZXh0ZW5kcyBFdm9Nb2RhbERyYXdpbmdTdHJhdGVneSB7XG4gICAgZHJhdyh0aGlzOiBFdm9Nb2RhbENvbXBvbmVudCwgcGFyYW1zOiBFdm9EeW5hbWljTW9kYWxQYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0R5bmFtaWNDb250ZW50LnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5jbGVhclZpZXcoKTtcbiAgICAgICAgdGhpcy5pbnNlcnRDb21wb25lbnQocGFyYW1zKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export class EvoModalDrawingStrategy {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZvTW9kYWxEcmF3aW5nU3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tbW9kYWwvY2xhc3Nlcy9Fdm9Nb2RhbERyYXdpbmdTdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQWdCLHVCQUF1QjtDQUU1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZvTW9kYWxDb21iaW5lZFBhcmFtc30gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge0V2b01vZGFsQ29tcG9uZW50fSBmcm9tICcuLi9ldm8tbW9kYWwuY29tcG9uZW50JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEV2b01vZGFsRHJhd2luZ1N0cmF0ZWd5IHtcbiAgICBhYnN0cmFjdCBkcmF3KHRoaXM6IEV2b01vZGFsQ29tcG9uZW50LCBwYXJhbXM6IEV2b01vZGFsQ29tYmluZWRQYXJhbXMpOiB2b2lkO1xufVxuIl19
@@ -0,0 +1,8 @@
1
+ export var EvoModalCloseTargets;
2
+ (function (EvoModalCloseTargets) {
3
+ EvoModalCloseTargets["BACKGROUND"] = "background";
4
+ EvoModalCloseTargets["BUTTON"] = "button";
5
+ EvoModalCloseTargets["DEFAULT"] = "default";
6
+ EvoModalCloseTargets["ESC"] = "escape";
7
+ })(EvoModalCloseTargets || (EvoModalCloseTargets = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tbW9kYWwvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksb0JBS1g7QUFMRCxXQUFZLG9CQUFvQjtJQUM1QixpREFBeUIsQ0FBQTtJQUN6Qix5Q0FBaUIsQ0FBQTtJQUNqQiwyQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBYyxDQUFBO0FBQ2xCLENBQUMsRUFMVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSy9CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRXZvTW9kYWxDbG9zZVRhcmdldHMge1xuICAgIEJBQ0tHUk9VTkQgPSAnYmFja2dyb3VuZCcsXG4gICAgQlVUVE9OID0gJ2J1dHRvbicsXG4gICAgREVGQVVMVCA9ICdkZWZhdWx0JyxcbiAgICBFU0MgPSAnZXNjYXBlJyxcbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Component, input, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class EvoModalButtonsComponent {
4
+ constructor() {
5
+ this.single = input(false);
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.10", type: EvoModalButtonsComponent, isStandalone: true, selector: "evo-modal-buttons, [evo-modal-buttons]", inputs: { single: { classPropertyName: "single", publicName: "single", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.evo-modal-buttons_single-btn": "single()" }, classAttribute: "evo-modal-buttons" }, ngImport: i0, template: '<ng-content select="[evoButton]"/>', isInline: true, styles: [".evo-modal-buttons{display:flex;flex-shrink:0;flex-direction:column-reverse;justify-content:center;align-items:center;width:100%;margin-top:32px;gap:16px}@media (min-width: 768px){.evo-modal-buttons{display:grid;width:auto;grid-template-columns:repeat(2,minmax(140px,1fr));gap:32px;margin:32px auto 0}.evo-modal-buttons_single-btn{grid-template-columns:minmax(140px,1fr)}}.evo-modal-buttons button{display:block;width:100%}@media (min-width: 768px){.evo-modal-buttons button{width:auto}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalButtonsComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'evo-modal-buttons, [evo-modal-buttons]', standalone: true, imports: [], template: '<ng-content select="[evoButton]"/>', host: {
13
+ class: 'evo-modal-buttons',
14
+ '[class.evo-modal-buttons_single-btn]': 'single()',
15
+ }, encapsulation: ViewEncapsulation.None, styles: [".evo-modal-buttons{display:flex;flex-shrink:0;flex-direction:column-reverse;justify-content:center;align-items:center;width:100%;margin-top:32px;gap:16px}@media (min-width: 768px){.evo-modal-buttons{display:grid;width:auto;grid-template-columns:repeat(2,minmax(140px,1fr));gap:32px;margin:32px auto 0}.evo-modal-buttons_single-btn{grid-template-columns:minmax(140px,1fr)}}.evo-modal-buttons button{display:block;width:100%}@media (min-width: 768px){.evo-modal-buttons button{width:auto}}\n"] }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLW1vZGFsLWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLW1vZGFsL2V2by1tb2RhbC1idXR0b25zL2V2by1tb2RhbC1idXR0b25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFlbEUsTUFBTSxPQUFPLHdCQUF3QjtJQWJyQztRQWVJLFdBQU0sR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7S0FDbEM7K0dBSFksd0JBQXdCO21HQUF4Qix3QkFBd0IsMFZBVHZCLG9DQUFvQzs7NEZBU3JDLHdCQUF3QjtrQkFicEMsU0FBUzsrQkFDSSx3Q0FBd0MsY0FDdEMsSUFBSSxXQUNQLEVBQUUsWUFDRCxvQ0FBb0MsUUFHeEM7d0JBQ0YsS0FBSyxFQUFFLG1CQUFtQjt3QkFDMUIsc0NBQXNDLEVBQUUsVUFBVTtxQkFDckQsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBpbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V2by1tb2RhbC1idXR0b25zLCBbZXZvLW1vZGFsLWJ1dHRvbnNdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtdLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V2b0J1dHRvbl1cIi8+JyxcbiAgICBzdHlsZVVybDogJy4vZXZvLW1vZGFsLWJ1dHRvbnMuY29tcG9uZW50LnNjc3MnLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdldm8tbW9kYWwtYnV0dG9ucycsXG4gICAgICAgICdbY2xhc3MuZXZvLW1vZGFsLWJ1dHRvbnNfc2luZ2xlLWJ0bl0nOiAnc2luZ2xlKCknLFxuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvTW9kYWxCdXR0b25zQ29tcG9uZW50IHtcblxuICAgIHNpbmdsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { EvoPortalService } from '../evo-portal';
3
+ import { EvoModalComponent } from './evo-modal.component';
4
+ import * as i0 from "@angular/core";
5
+ export class EvoModalPortal extends EvoPortalService {
6
+ constructor(appRef, injector, cfr) {
7
+ super(appRef, injector, cfr);
8
+ this.appRef = appRef;
9
+ this.injector = injector;
10
+ this.cfr = cfr;
11
+ }
12
+ attach(host) {
13
+ this.attachedPortal = this.attachComponent(EvoModalComponent, host, this.injector);
14
+ this.attachedPortal.changeDetectorRef.detectChanges();
15
+ }
16
+ detach() {
17
+ super.detach(this.attachedPortal);
18
+ this.attachedPortal = null;
19
+ }
20
+ hasAttachedPortal() {
21
+ return !!this.attachedPortal;
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalPortal, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalPortal }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalPortal, decorators: [{
27
+ type: Injectable
28
+ }], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLW1vZGFsLXBvcnRhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1tb2RhbC9ldm8tbW9kYWwtcG9ydGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBeUQsVUFBVSxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBR3hELE1BQU0sT0FBTyxjQUFlLFNBQVEsZ0JBQWdCO0lBSWhELFlBQ1csTUFBc0IsRUFDdEIsUUFBa0IsRUFDbEIsR0FBNkI7UUFFcEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFKdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixRQUFHLEdBQUgsR0FBRyxDQUEwQjtJQUd4QyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxNQUFNO1FBQ0YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELGlCQUFpQjtRQUNiLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDakMsQ0FBQzsrR0F4QlEsY0FBYzttSEFBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIEluamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RXZvQWJzdHJhY3RQb3J0YWwsIEV2b1BvcnRhbFNlcnZpY2V9IGZyb20gJy4uL2V2by1wb3J0YWwnO1xuaW1wb3J0IHtFdm9Nb2RhbENvbXBvbmVudH0gZnJvbSAnLi9ldm8tbW9kYWwuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV2b01vZGFsUG9ydGFsIGV4dGVuZHMgRXZvUG9ydGFsU2VydmljZSBpbXBsZW1lbnRzIEV2b0Fic3RyYWN0UG9ydGFsIHtcblxuICAgIGF0dGFjaGVkUG9ydGFsOiBDb21wb25lbnRSZWY8RXZvTW9kYWxDb21wb25lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICBwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwdWJsaWMgY2ZyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGFwcFJlZiwgaW5qZWN0b3IsIGNmcik7XG4gICAgfVxuXG4gICAgYXR0YWNoKGhvc3Q6IHN0cmluZykge1xuICAgICAgICB0aGlzLmF0dGFjaGVkUG9ydGFsID0gdGhpcy5hdHRhY2hDb21wb25lbnQoRXZvTW9kYWxDb21wb25lbnQsIGhvc3QsIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmF0dGFjaGVkUG9ydGFsLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBkZXRhY2goKSB7XG4gICAgICAgIHN1cGVyLmRldGFjaCh0aGlzLmF0dGFjaGVkUG9ydGFsKTtcbiAgICAgICAgdGhpcy5hdHRhY2hlZFBvcnRhbCA9IG51bGw7XG4gICAgfVxuXG4gICAgaGFzQXR0YWNoZWRQb3J0YWwoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuYXR0YWNoZWRQb3J0YWw7XG4gICAgfVxufVxuIl19
@@ -1,127 +1,152 @@
1
- import { Component, Input } from '@angular/core';
2
- import { fromEvent } from 'rxjs';
1
+ import { ChangeDetectionStrategy, Component, computed, createComponent, DestroyRef, ElementRef, EnvironmentInjector, inject, Injector, model, signal, viewChild, ViewContainerRef } from '@angular/core';
2
+ import { filter, finalize, fromEvent } from 'rxjs';
3
3
  import { takeWhile } from 'rxjs/operators';
4
- import { Key } from 'ts-keycode-enum';
5
- import { EvoButtonComponent } from '../evo-button/components/evo-button/evo-button.component';
6
- import { NgClass } from '@angular/common';
4
+ import { EvoButtonComponent } from '../evo-button';
5
+ import { EvoUiClassDirective } from "../../directives";
6
+ import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
7
+ import { EVO_MODAL_DATA, EVO_MODAL_ROOT_ID } from './tokens';
8
+ import { NgIf, NgTemplateOutlet } from '@angular/common';
9
+ import { EvoModalService } from './evo-modal.service';
10
+ import { isConfiguredComponentModalParams, isConfiguredTemplateModalParams, isDynamicModalParams } from './utils';
11
+ import { EvoModalCloseTargets } from './enums';
12
+ import { EvoDynamicModalDrawingStrategy } from './classes/EvoDynamicModalDrawingStrategy';
13
+ import { EvoConfiguredComponentModalDrawingStrategy } from './classes/EvoConfiguredComponentModalDrawingStrategy';
14
+ import { EvoConfiguredTemplateModalDrawingStrategy } from './classes/EvoConfiguredTemplateModalDrawingStrategy';
15
+ import { EvoModalButtonsComponent } from './evo-modal-buttons/evo-modal-buttons.component';
7
16
  import * as i0 from "@angular/core";
8
- import * as i1 from "./evo-modal.service";
9
- export var EvoModalCloseTargets;
10
- (function (EvoModalCloseTargets) {
11
- EvoModalCloseTargets["BACKGROUND"] = "background";
12
- EvoModalCloseTargets["BUTTON"] = "button";
13
- EvoModalCloseTargets["DEFAULT"] = "default";
14
- EvoModalCloseTargets["ESC"] = "escape";
15
- })(EvoModalCloseTargets || (EvoModalCloseTargets = {}));
16
17
  export class EvoModalComponent {
17
- get id() {
18
- return this._id;
19
- }
20
- set id(id) {
21
- if (id) {
22
- this._id = id;
23
- this.modalService.register(id);
24
- }
25
- else {
26
- throw new Error("EvoModal. Can't be registered, wrong id passed");
27
- }
28
- }
29
- constructor(modalService, elRef) {
30
- this.modalService = modalService;
31
- this.elRef = elRef;
32
- this.declineButtonColor = 'secondary';
33
- this.declineButtonTheme = 'rounded-outline';
34
- this.isAcceptLoading = false;
35
- this.isDeclineDisabled = false;
36
- this.isVisible = false;
18
+ constructor() {
19
+ // eslint-disable-next-line @typescript-eslint/member-ordering
20
+ this.evoModalRootId = inject(EVO_MODAL_ROOT_ID);
21
+ this.acceptText = model('');
22
+ this.acceptButtonColor = model(`success`);
23
+ this.acceptButtonTheme = model(`rounded-solid`);
24
+ this.asyncAccept = model(null);
25
+ this.declineText = model('');
26
+ this.declineButtonColor = model('secondary');
27
+ this.declineButtonTheme = model('rounded-outline');
28
+ this.id = model(this.evoModalRootId);
29
+ this.titleText = model('');
30
+ this.contentContainer = viewChild('contentContainer', { read: ViewContainerRef });
31
+ this.contentContainer$ = toObservable(this.contentContainer);
32
+ this.drawingStrategy = signal(null);
33
+ this.isDynamicContent = signal(false);
34
+ this.isLoading = signal(false);
35
+ this.isVisible = computed(() => this.modalState()?.isOpen || false);
36
+ this.modalContainer = viewChild('modalContainer', { read: ViewContainerRef });
37
+ this.modalContainer$ = toObservable(this.modalContainer);
38
+ this.modalContent = signal(null);
39
+ this.modalElement = viewChild('modal', { read: ElementRef });
40
+ this.modalState = signal(null);
41
+ this.showButtons = computed(() => this.acceptText() || this.declineText());
37
42
  this.closeTargets = EvoModalCloseTargets;
38
- this.closeTarget = EvoModalCloseTargets.DEFAULT;
43
+ this.destroyRef = inject(DestroyRef);
44
+ this.environmentInjector = inject(EnvironmentInjector);
45
+ this.evoModalService = inject(EvoModalService);
39
46
  }
40
47
  ngOnInit() {
48
+ this.evoModalService.register(this.id());
41
49
  this.subscribeModalEvents();
42
50
  }
43
51
  ngOnDestroy() {
44
- this.modalService.unregister(this.id);
52
+ this.evoModalService.unregister(this.id());
45
53
  }
46
- onBackgroundClick($event) {
47
- if (this.declineText &&
48
- $event &&
49
- $event.target &&
50
- !this.elRef.nativeElement.querySelector('.evo-modal').contains($event.target) &&
51
- this.modalState.isOpen) {
52
- this.handleOnClose(false, this.closeTargets.BACKGROUND);
54
+ onAcceptClick() {
55
+ const asyncAcceptAction = this.asyncAccept()?.();
56
+ if (!asyncAcceptAction) {
57
+ return this.close(true, EvoModalCloseTargets.BUTTON);
53
58
  }
59
+ this.isLoading.set(true);
60
+ asyncAcceptAction.pipe(finalize(() => this.isLoading.set(false)), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.close(true, EvoModalCloseTargets.BUTTON));
54
61
  }
55
- handleOnClose(agreement, closeTarget) {
56
- this.closeTarget = closeTarget;
57
- if (agreement === false && this.isDeclineDisabled) {
58
- return;
62
+ onBackgroundClick(event) {
63
+ if (this.canCloseByBackground(event)) {
64
+ this.close(false, EvoModalCloseTargets.BACKGROUND);
59
65
  }
60
- if (agreement && typeof this.asyncAccept === 'function') {
61
- const setAsyncStates = (isLoading = false) => {
62
- this.isDeclineDisabled = isLoading;
63
- this.isAcceptLoading = isLoading;
64
- };
65
- setAsyncStates(true);
66
- return this.asyncAccept().subscribe(() => {
67
- setAsyncStates(false);
68
- this.modalService.close(this.id, agreement, {
69
- closeTarget: this.closeTarget,
70
- });
71
- }, () => {
72
- setAsyncStates(false);
73
- });
66
+ }
67
+ onDeclineClick() {
68
+ if (this.isLoading()) {
69
+ return;
74
70
  }
75
- this.modalService.close(this.id, agreement, {
76
- closeTarget: this.closeTarget,
77
- });
71
+ this.close(false, EvoModalCloseTargets.BUTTON);
78
72
  }
79
- subscribeModalEvents() {
80
- this.modalService.getEventsSubscription(this.id).subscribe((modalState) => {
81
- this.modalState = modalState;
82
- // timeout for modal animation support
83
- setTimeout(() => {
84
- this.isVisible = modalState.isOpen;
85
- });
86
- if (modalState.isOpen) {
87
- this.initKeyboardListener();
88
- }
73
+ clearView() {
74
+ this.modalContainer()?.clear();
75
+ }
76
+ insertComponent({ data, injector, component }, target = 'modal') {
77
+ const dynamicComponentRef = createComponent(component, {
78
+ environmentInjector: this.environmentInjector,
79
+ elementInjector: Injector.create({
80
+ providers: [
81
+ {
82
+ provide: EVO_MODAL_DATA,
83
+ useValue: data,
84
+ },
85
+ ],
86
+ parent: injector,
87
+ }),
89
88
  });
89
+ this.getInsertionContainer(target).pipe(filter((container) => !!container), takeUntilDestroyed(this.destroyRef)).subscribe((container) => {
90
+ container.insert(dynamicComponentRef.hostView);
91
+ dynamicComponentRef.changeDetectorRef.markForCheck();
92
+ });
93
+ }
94
+ canCloseByBackground(event) {
95
+ return (this.declineText() || this.isDynamicContent()) &&
96
+ !this.isLoading() &&
97
+ this.modalState().isOpen &&
98
+ event?.target &&
99
+ !this.modalElement().nativeElement.contains(event.target);
100
+ }
101
+ close(agreement, closeTarget) {
102
+ this.evoModalService.close(this.id(), agreement, { closeTarget });
103
+ this.clearView();
104
+ if (this.id() !== this.evoModalRootId) {
105
+ return;
106
+ }
107
+ this.evoModalService.unregister(this.evoModalRootId);
108
+ this.evoModalService.cleanupDefaultHost();
109
+ }
110
+ getInsertionContainer(target) {
111
+ return target === 'modal' ? this.modalContainer$ : this.contentContainer$;
90
112
  }
91
113
  initKeyboardListener() {
92
- return fromEvent(document.body, 'keydown')
93
- .pipe(takeWhile(() => {
94
- return this.modalState.isOpen;
95
- }))
96
- .subscribe((event) => {
97
- if (this.declineText && event.keyCode === Key.Escape) {
98
- this.handleOnClose(false, this.closeTargets.ESC);
114
+ fromEvent(document.body, 'keydown').pipe(takeWhile(() => this.modalState().isOpen), filter((event) => (this.declineText() || this.isDynamicContent()) && event.key === 'Escape'), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.close(false, this.closeTargets.ESC));
115
+ }
116
+ setDrawingStrategy(params) {
117
+ switch (true) {
118
+ case isDynamicModalParams(params):
119
+ return this.drawingStrategy.set(new EvoDynamicModalDrawingStrategy());
120
+ case isConfiguredComponentModalParams(params):
121
+ return this.drawingStrategy.set(new EvoConfiguredComponentModalDrawingStrategy());
122
+ case isConfiguredTemplateModalParams(params):
123
+ return this.drawingStrategy.set(new EvoConfiguredTemplateModalDrawingStrategy());
124
+ default:
125
+ return;
126
+ }
127
+ }
128
+ subscribeModalEvents() {
129
+ this.evoModalService.getEventsSubscription(this.id()).pipe(takeUntilDestroyed(this.destroyRef)).subscribe((modalState) => {
130
+ this.modalState.set(modalState);
131
+ if (!modalState.isOpen) {
132
+ return;
99
133
  }
134
+ this.initKeyboardListener();
135
+ this.setDrawingStrategy(modalState.params);
136
+ this.drawingStrategy()?.draw.call(this, modalState.params);
100
137
  });
101
138
  }
102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalComponent, deps: [{ token: i1.EvoModalService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
103
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoModalComponent, isStandalone: true, selector: "evo-modal", inputs: { id: "id", titleText: "titleText", acceptText: "acceptText", acceptButtonColor: "acceptButtonColor", acceptButtonTheme: "acceptButtonTheme", declineText: "declineText", declineButtonColor: "declineButtonColor", declineButtonTheme: "declineButtonTheme", asyncAccept: "asyncAccept" }, ngImport: i0, template: "@if (modalState?.isOpen) {\n <div\n class=\"evo-modal__background\"\n [ngClass]=\"{'evo-modal__background_visible': isVisible}\"\n (click)=\"onBackgroundClick($event)\"\n ></div>\n\n <div class=\"evo-modal__wrapper\" [ngClass]=\"{'evo-modal_visible': isVisible}\" (click)=\"onBackgroundClick($event)\">\n <div class=\"evo-modal\">\n <div class=\"evo-modal__icon\">\n <ng-content select=\"evo-icon\" />\n </div>\n\n @if (titleText !== undefined) {\n <h2 class=\"evo-modal__title\">{{ titleText }}</h2>\n }\n\n <div class=\"evo-modal__content\">\n <ng-content />\n </div>\n <div class=\"evo-modal__buttons\" [ngClass]=\"{'evo-modal__buttons_single-btn': !declineText || !acceptText}\">\n @if (declineText) {\n <button\n evoButton\n class=\"evo-modal__button evo-modal__button_decline\"\n [color]=\"declineButtonColor\"\n [theme]=\"declineButtonTheme\"\n [disabled]=\"isDeclineDisabled\"\n (click)=\"handleOnClose(false, closeTargets.BUTTON)\"\n >\n {{ declineText }}\n </button>\n }\n\n @if (acceptText) {\n <button\n evoButton\n class=\"evo-modal__button evo-modal__button_accept\"\n [color]=\"acceptButtonColor\"\n [theme]=\"acceptButtonTheme\"\n [loading]=\"isAcceptLoading\"\n (click)=\"handleOnClose(true, closeTargets.BUTTON)\"\n >\n {{ acceptText }}\n </button>\n }\n </div>\n </div>\n </div>\n}\n", styles: [".evo-modal{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:738px;height:auto;max-height:100%;margin-top:50px;padding:56px 0 16px;overflow:hidden;text-align:center;background-color:#fff;border-radius:16px;box-shadow:0 0 12px 2px #0000004d;opacity:0;transition:margin-top .25s,opacity .25s;transition-delay:50ms}.evo-modal_visible .evo-modal{margin-top:0;opacity:1}@media (min-width: 768px){.evo-modal{width:738px;height:auto;padding:32px 0}}.evo-modal__title{margin-top:0;margin-bottom:0;padding-right:32px;padding-left:32px;font-weight:700;font-size:16px;line-height:24px}@media (min-width: 768px){.evo-modal__title{width:674px;padding-right:16px;padding-left:16px;font-size:24px;line-height:32px}}.evo-modal__icon{margin-bottom:8px}.evo-modal__icon ::ng-deep evo-icon{display:block;width:64px;height:64px}@media (min-width: 768px){.evo-modal__icon{margin-bottom:32px}}.evo-modal__icon:empty{display:none}.evo-modal__content{width:100%;margin-top:32px;padding:0 32px;overflow:auto;font-size:14px;line-height:22px}.evo-modal__content:empty{display:none;margin-top:0}@media (min-width: 768px){.evo-modal__content{padding:0 16px}}.evo-modal__content ::ng-deep *:last-child{margin-bottom:0}.evo-modal__background{position:fixed;inset:0;z-index:1010;display:flex;justify-content:center;width:100%;height:100%;background:#00000080;opacity:0;transition:opacity .25s}.evo-modal__background_visible{opacity:1}.evo-modal__wrapper{position:fixed;inset:0;z-index:1011;display:flex;justify-content:center;align-items:center;width:100%;padding:16px}@media (min-width: 768px){.evo-modal__wrapper{width:auto}}.evo-modal__buttons{display:flex;flex-shrink:0;flex-direction:column-reverse;justify-content:center;align-items:center;width:100%;margin-top:56px;padding-right:32px;padding-left:32px}@media (min-width: 768px){.evo-modal__buttons{display:grid;width:auto;grid-template-columns:repeat(2,minmax(140px,1fr));grid-column-gap:32px;margin:32px auto 0;padding-right:16px;padding-left:16px}.evo-modal__buttons_single-btn{grid-template-columns:minmax(140px,1fr)}}.evo-modal__button{display:block;width:100%}@media (min-width: 768px){.evo-modal__button{width:auto}}.evo-modal__button+.evo-modal__button{margin:0 0 16px}@media (min-width: 768px){.evo-modal__button+.evo-modal__button{margin:0}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: EvoButtonComponent, selector: "button[evoButton], a[evoButton]", inputs: ["size", "color", "theme", "disabled", "loading"] }] }); }
139
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
140
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoModalComponent, isStandalone: true, selector: "evo-modal", inputs: { acceptText: { classPropertyName: "acceptText", publicName: "acceptText", isSignal: true, isRequired: false, transformFunction: null }, acceptButtonColor: { classPropertyName: "acceptButtonColor", publicName: "acceptButtonColor", isSignal: true, isRequired: false, transformFunction: null }, acceptButtonTheme: { classPropertyName: "acceptButtonTheme", publicName: "acceptButtonTheme", isSignal: true, isRequired: false, transformFunction: null }, asyncAccept: { classPropertyName: "asyncAccept", publicName: "asyncAccept", isSignal: true, isRequired: false, transformFunction: null }, declineText: { classPropertyName: "declineText", publicName: "declineText", isSignal: true, isRequired: false, transformFunction: null }, declineButtonColor: { classPropertyName: "declineButtonColor", publicName: "declineButtonColor", isSignal: true, isRequired: false, transformFunction: null }, declineButtonTheme: { classPropertyName: "declineButtonTheme", publicName: "declineButtonTheme", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { acceptText: "acceptTextChange", acceptButtonColor: "acceptButtonColorChange", acceptButtonTheme: "acceptButtonThemeChange", asyncAccept: "asyncAcceptChange", declineText: "declineTextChange", declineButtonColor: "declineButtonColorChange", declineButtonTheme: "declineButtonThemeChange", id: "idChange", titleText: "titleTextChange" }, viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "modalContainer", first: true, predicate: ["modalContainer"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "modalElement", first: true, predicate: ["modal"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "@if (isVisible()) {\n <div class=\"evo-modal__background\" (click)=\"onBackgroundClick($event)\"></div>\n\n <div class=\"evo-modal__wrapper\" (click)=\"onBackgroundClick($event)\">\n <div class=\"evo-modal\" #modal>\n @if (isDynamicContent()) {\n <ng-template #modalContainer/>\n } @else {\n <div class=\"evo-modal__icon\">\n <ng-content select=\"evo-icon\"/>\n </div>\n\n @if (titleText()) {\n <h2 class=\"evo-modal__title\">{{ titleText() }}</h2>\n }\n\n <div class=\"evo-modal__content\">\n <ng-content/>\n\n <ng-container *ngTemplateOutlet=\"modalContent()?.template; context: {data: modalContent()?.context}\"/>\n\n <ng-template #contentContainer/>\n </div>\n\n @if (showButtons()) {\n <evo-modal-buttons [single]=\"!declineText() || !acceptText()\">\n @if (declineText()) {\n <button\n class=\"evo-modal__button_decline\"\n evoButton\n [color]=\"declineButtonColor()\"\n [theme]=\"declineButtonTheme()\"\n [disabled]=\"isLoading()\"\n (click)=\"onDeclineClick()\"\n >{{ declineText() }}</button>\n }\n\n @if (acceptText()) {\n <button\n class=\"evo-modal__button_accept\"\n evoButton\n [color]=\"acceptButtonColor()\"\n [theme]=\"acceptButtonTheme()\"\n [loading]=\"isLoading()\"\n (click)=\"onAcceptClick()\"\n >{{ acceptText() }}</button>\n }\n </evo-modal-buttons>\n }\n }\n </div>\n </div>\n}\n", styles: ["@keyframes appearance{0%{opacity:0}to{opacity:1}}.evo-modal{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:752px;height:auto;max-height:100%;padding:16px;overflow:hidden;text-align:center;background-color:#fff;border-radius:16px;box-shadow:0 0 12px 2px #0000004d;animation:appearance .25s linear}@media (min-width: 768px){.evo-modal{width:752px;height:auto;padding:32px}}.evo-modal__title{margin-top:0;margin-bottom:0;font-weight:700;font-size:16px;line-height:24px}@media (min-width: 768px){.evo-modal__title{width:674px;font-size:24px;line-height:32px}}.evo-modal__icon{margin-bottom:8px}.evo-modal__icon ::ng-deep evo-icon{display:block;width:64px;height:64px}@media (min-width: 768px){.evo-modal__icon{margin-bottom:32px}}.evo-modal__icon:empty{display:none}.evo-modal__content{width:100%;margin-top:32px;overflow:auto;font-size:14px;line-height:22px}.evo-modal__content:empty{display:none;margin-top:0}.evo-modal__content ::ng-deep *:last-child{margin-bottom:0}.evo-modal__background{position:fixed;inset:0;z-index:1010;display:flex;justify-content:center;width:100%;height:100%;background:#00000080}.evo-modal__wrapper{position:fixed;inset:0;z-index:1011;display:flex;justify-content:center;align-items:center;width:100%;padding:16px}@media (min-width: 768px){.evo-modal__wrapper{width:auto}}\n"], dependencies: [{ kind: "component", type: EvoButtonComponent, selector: "button[evoButton], a[evoButton]", inputs: ["size", "color", "theme", "disabled", "loading"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EvoModalButtonsComponent, selector: "evo-modal-buttons, [evo-modal-buttons]", inputs: ["single"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
104
141
  }
105
142
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalComponent, decorators: [{
106
143
  type: Component,
107
- args: [{ selector: 'evo-modal', standalone: true, imports: [NgClass, EvoButtonComponent], template: "@if (modalState?.isOpen) {\n <div\n class=\"evo-modal__background\"\n [ngClass]=\"{'evo-modal__background_visible': isVisible}\"\n (click)=\"onBackgroundClick($event)\"\n ></div>\n\n <div class=\"evo-modal__wrapper\" [ngClass]=\"{'evo-modal_visible': isVisible}\" (click)=\"onBackgroundClick($event)\">\n <div class=\"evo-modal\">\n <div class=\"evo-modal__icon\">\n <ng-content select=\"evo-icon\" />\n </div>\n\n @if (titleText !== undefined) {\n <h2 class=\"evo-modal__title\">{{ titleText }}</h2>\n }\n\n <div class=\"evo-modal__content\">\n <ng-content />\n </div>\n <div class=\"evo-modal__buttons\" [ngClass]=\"{'evo-modal__buttons_single-btn': !declineText || !acceptText}\">\n @if (declineText) {\n <button\n evoButton\n class=\"evo-modal__button evo-modal__button_decline\"\n [color]=\"declineButtonColor\"\n [theme]=\"declineButtonTheme\"\n [disabled]=\"isDeclineDisabled\"\n (click)=\"handleOnClose(false, closeTargets.BUTTON)\"\n >\n {{ declineText }}\n </button>\n }\n\n @if (acceptText) {\n <button\n evoButton\n class=\"evo-modal__button evo-modal__button_accept\"\n [color]=\"acceptButtonColor\"\n [theme]=\"acceptButtonTheme\"\n [loading]=\"isAcceptLoading\"\n (click)=\"handleOnClose(true, closeTargets.BUTTON)\"\n >\n {{ acceptText }}\n </button>\n }\n </div>\n </div>\n </div>\n}\n", styles: [".evo-modal{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:738px;height:auto;max-height:100%;margin-top:50px;padding:56px 0 16px;overflow:hidden;text-align:center;background-color:#fff;border-radius:16px;box-shadow:0 0 12px 2px #0000004d;opacity:0;transition:margin-top .25s,opacity .25s;transition-delay:50ms}.evo-modal_visible .evo-modal{margin-top:0;opacity:1}@media (min-width: 768px){.evo-modal{width:738px;height:auto;padding:32px 0}}.evo-modal__title{margin-top:0;margin-bottom:0;padding-right:32px;padding-left:32px;font-weight:700;font-size:16px;line-height:24px}@media (min-width: 768px){.evo-modal__title{width:674px;padding-right:16px;padding-left:16px;font-size:24px;line-height:32px}}.evo-modal__icon{margin-bottom:8px}.evo-modal__icon ::ng-deep evo-icon{display:block;width:64px;height:64px}@media (min-width: 768px){.evo-modal__icon{margin-bottom:32px}}.evo-modal__icon:empty{display:none}.evo-modal__content{width:100%;margin-top:32px;padding:0 32px;overflow:auto;font-size:14px;line-height:22px}.evo-modal__content:empty{display:none;margin-top:0}@media (min-width: 768px){.evo-modal__content{padding:0 16px}}.evo-modal__content ::ng-deep *:last-child{margin-bottom:0}.evo-modal__background{position:fixed;inset:0;z-index:1010;display:flex;justify-content:center;width:100%;height:100%;background:#00000080;opacity:0;transition:opacity .25s}.evo-modal__background_visible{opacity:1}.evo-modal__wrapper{position:fixed;inset:0;z-index:1011;display:flex;justify-content:center;align-items:center;width:100%;padding:16px}@media (min-width: 768px){.evo-modal__wrapper{width:auto}}.evo-modal__buttons{display:flex;flex-shrink:0;flex-direction:column-reverse;justify-content:center;align-items:center;width:100%;margin-top:56px;padding-right:32px;padding-left:32px}@media (min-width: 768px){.evo-modal__buttons{display:grid;width:auto;grid-template-columns:repeat(2,minmax(140px,1fr));grid-column-gap:32px;margin:32px auto 0;padding-right:16px;padding-left:16px}.evo-modal__buttons_single-btn{grid-template-columns:minmax(140px,1fr)}}.evo-modal__button{display:block;width:100%}@media (min-width: 768px){.evo-modal__button{width:auto}}.evo-modal__button+.evo-modal__button{margin:0 0 16px}@media (min-width: 768px){.evo-modal__button+.evo-modal__button{margin:0}}\n"] }]
108
- }], ctorParameters: () => [{ type: i1.EvoModalService }, { type: i0.ElementRef }], propDecorators: { id: [{
109
- type: Input
110
- }], titleText: [{
111
- type: Input
112
- }], acceptText: [{
113
- type: Input
114
- }], acceptButtonColor: [{
115
- type: Input
116
- }], acceptButtonTheme: [{
117
- type: Input
118
- }], declineText: [{
119
- type: Input
120
- }], declineButtonColor: [{
121
- type: Input
122
- }], declineButtonTheme: [{
123
- type: Input
124
- }], asyncAccept: [{
125
- type: Input
126
- }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1tb2RhbC9ldm8tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLW1vZGFsL2V2by1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFOUUsT0FBTyxFQUFDLFNBQVMsRUFBMkIsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVwQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQUV4QyxNQUFNLENBQU4sSUFBWSxvQkFLWDtBQUxELFdBQVksb0JBQW9CO0lBQzVCLGlEQUF5QixDQUFBO0lBQ3pCLHlDQUFpQixDQUFBO0lBQ2pCLDJDQUFtQixDQUFBO0lBQ25CLHNDQUFjLENBQUE7QUFDbEIsQ0FBQyxFQUxXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFLL0I7QUFTRCxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLElBQUksRUFBRTtRQUNGLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBYSxFQUFFLENBQUMsRUFBVTtRQUN0QixJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ0wsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQyxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUN0RSxDQUFDO0lBQ0wsQ0FBQztJQXFCRCxZQUNxQixZQUE2QixFQUM3QixLQUFpQjtRQURqQixpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFDN0IsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQWhCN0IsdUJBQWtCLEdBQW1CLFdBQVcsQ0FBQztRQUNqRCx1QkFBa0IsR0FBbUIsaUJBQWlCLENBQUM7UUFLaEUsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFVCxpQkFBWSxHQUFHLG9CQUFvQixDQUFDO1FBRXJDLGdCQUFXLEdBQXlCLG9CQUFvQixDQUFDLE9BQU8sQ0FBQztJQUt0RSxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFNO1FBQ3BCLElBQ0ksSUFBSSxDQUFDLFdBQVc7WUFDaEIsTUFBTTtZQUNOLE1BQU0sQ0FBQyxNQUFNO1lBQ2IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDN0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQ3hCLENBQUM7WUFDQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQWtCLEVBQUUsV0FBaUM7UUFDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFFL0IsSUFBSSxTQUFTLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2hELE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxTQUFTLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3RELE1BQU0sY0FBYyxHQUFHLENBQUMsU0FBUyxHQUFHLEtBQUssRUFBRSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztZQUNyQyxDQUFDLENBQUM7WUFFRixjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUMvQixHQUFHLEVBQUU7Z0JBQ0QsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRTtvQkFDeEMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2lCQUNoQyxDQUFDLENBQUM7WUFDUCxDQUFDLEVBQ0QsR0FBRyxFQUFFO2dCQUNELGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQ0osQ0FBQztRQUNOLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRTtZQUN4QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDaEMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUF5QixFQUFFLEVBQUU7WUFDckYsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7WUFDN0Isc0NBQXNDO1lBQ3RDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ2hDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUM7YUFDckMsSUFBSSxDQUNELFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUNMO2FBQ0EsU0FBUyxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQ2hDLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDOytHQWpIUSxpQkFBaUI7bUdBQWpCLGlCQUFpQix5V0N2QjlCLDQ3REFrREEsbzFFRDdCYyxPQUFPLG9GQUFFLGtCQUFrQjs7NEZBRTVCLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDSSxXQUFXLGNBR1QsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDOzZHQU96QixFQUFFO3NCQUFkLEtBQUs7Z0JBU0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RXZvTW9kYWxTZXJ2aWNlLCBFdm9Nb2RhbFN0YXRlfSBmcm9tICcuL2V2by1tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlV2hpbGV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7S2V5fSBmcm9tICd0cy1rZXljb2RlLWVudW0nO1xuaW1wb3J0IHtFdm9CdXR0b25Db2xvciwgRXZvQnV0dG9uVGhlbWV9IGZyb20gJy4uL2V2by1idXR0b24nO1xuaW1wb3J0IHtFdm9CdXR0b25Db21wb25lbnR9IGZyb20gJy4uL2V2by1idXR0b24vY29tcG9uZW50cy9ldm8tYnV0dG9uL2V2by1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7TmdDbGFzc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGVudW0gRXZvTW9kYWxDbG9zZVRhcmdldHMge1xuICAgIEJBQ0tHUk9VTkQgPSAnYmFja2dyb3VuZCcsXG4gICAgQlVUVE9OID0gJ2J1dHRvbicsXG4gICAgREVGQVVMVCA9ICdkZWZhdWx0JyxcbiAgICBFU0MgPSAnZXNjYXBlJyxcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldm8tbW9kYWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldm8tbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V2by1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIEV2b0J1dHRvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEV2b01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQ7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGlkKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgICB0aGlzLl9pZCA9IGlkO1xuICAgICAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UucmVnaXN0ZXIoaWQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXZvTW9kYWwuIENhbid0IGJlIHJlZ2lzdGVyZWQsIHdyb25nIGlkIHBhc3NlZFwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIHRpdGxlVGV4dDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGFjY2VwdFRleHQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBhY2NlcHRCdXR0b25Db2xvcjogRXZvQnV0dG9uQ29sb3I7XG4gICAgQElucHV0KCkgYWNjZXB0QnV0dG9uVGhlbWU6IEV2b0J1dHRvblRoZW1lO1xuICAgIEBJbnB1dCgpIGRlY2xpbmVUZXh0OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGVjbGluZUJ1dHRvbkNvbG9yOiBFdm9CdXR0b25Db2xvciA9ICdzZWNvbmRhcnknO1xuICAgIEBJbnB1dCgpIGRlY2xpbmVCdXR0b25UaGVtZTogRXZvQnV0dG9uVGhlbWUgPSAncm91bmRlZC1vdXRsaW5lJztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBASW5wdXQoKSBhc3luY0FjY2VwdDogKCkgPT4gT2JzZXJ2YWJsZTxhbnk+O1xuXG4gICAgbW9kYWxTdGF0ZTogRXZvTW9kYWxTdGF0ZTtcbiAgICBpc0FjY2VwdExvYWRpbmcgPSBmYWxzZTtcbiAgICBpc0RlY2xpbmVEaXNhYmxlZCA9IGZhbHNlO1xuICAgIGlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgY2xvc2VUYXJnZXRzID0gRXZvTW9kYWxDbG9zZVRhcmdldHM7XG4gICAgcHJpdmF0ZSBfaWQ6IHN0cmluZztcbiAgICBwcml2YXRlIGNsb3NlVGFyZ2V0OiBFdm9Nb2RhbENsb3NlVGFyZ2V0cyA9IEV2b01vZGFsQ2xvc2VUYXJnZXRzLkRFRkFVTFQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IEV2b01vZGFsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbFJlZjogRWxlbWVudFJlZixcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVNb2RhbEV2ZW50cygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS51bnJlZ2lzdGVyKHRoaXMuaWQpO1xuICAgIH1cblxuICAgIG9uQmFja2dyb3VuZENsaWNrKCRldmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmRlY2xpbmVUZXh0ICYmXG4gICAgICAgICAgICAkZXZlbnQgJiZcbiAgICAgICAgICAgICRldmVudC50YXJnZXQgJiZcbiAgICAgICAgICAgICF0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmV2by1tb2RhbCcpLmNvbnRhaW5zKCRldmVudC50YXJnZXQpICYmXG4gICAgICAgICAgICB0aGlzLm1vZGFsU3RhdGUuaXNPcGVuXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVPbkNsb3NlKGZhbHNlLCB0aGlzLmNsb3NlVGFyZ2V0cy5CQUNLR1JPVU5EKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZU9uQ2xvc2UoYWdyZWVtZW50OiBib29sZWFuLCBjbG9zZVRhcmdldDogRXZvTW9kYWxDbG9zZVRhcmdldHMpOiBTdWJzY3JpcHRpb24ge1xuICAgICAgICB0aGlzLmNsb3NlVGFyZ2V0ID0gY2xvc2VUYXJnZXQ7XG5cbiAgICAgICAgaWYgKGFncmVlbWVudCA9PT0gZmFsc2UgJiYgdGhpcy5pc0RlY2xpbmVEaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhZ3JlZW1lbnQgJiYgdHlwZW9mIHRoaXMuYXN5bmNBY2NlcHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNvbnN0IHNldEFzeW5jU3RhdGVzID0gKGlzTG9hZGluZyA9IGZhbHNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0RlY2xpbmVEaXNhYmxlZCA9IGlzTG9hZGluZztcbiAgICAgICAgICAgICAgICB0aGlzLmlzQWNjZXB0TG9hZGluZyA9IGlzTG9hZGluZztcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHNldEFzeW5jU3RhdGVzKHRydWUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXN5bmNBY2NlcHQoKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRBc3luY1N0YXRlcyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLmNsb3NlKHRoaXMuaWQsIGFncmVlbWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMuY2xvc2VUYXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRBc3luY1N0YXRlcyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2UodGhpcy5pZCwgYWdyZWVtZW50LCB7XG4gICAgICAgICAgICBjbG9zZVRhcmdldDogdGhpcy5jbG9zZVRhcmdldCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVNb2RhbEV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuZ2V0RXZlbnRzU3Vic2NyaXB0aW9uKHRoaXMuaWQpLnN1YnNjcmliZSgobW9kYWxTdGF0ZTogRXZvTW9kYWxTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tb2RhbFN0YXRlID0gbW9kYWxTdGF0ZTtcbiAgICAgICAgICAgIC8vIHRpbWVvdXQgZm9yIG1vZGFsIGFuaW1hdGlvbiBzdXBwb3J0XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IG1vZGFsU3RhdGUuaXNPcGVuO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAobW9kYWxTdGF0ZS5pc09wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRLZXlib2FyZExpc3RlbmVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEtleWJvYXJkTGlzdGVuZXIoKTogU3Vic2NyaXB0aW9uIHtcbiAgICAgICAgcmV0dXJuIGZyb21FdmVudChkb2N1bWVudC5ib2R5LCAna2V5ZG93bicpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlV2hpbGUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tb2RhbFN0YXRlLmlzT3BlbjtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVjbGluZVRleHQgJiYgZXZlbnQua2V5Q29kZSA9PT0gS2V5LkVzY2FwZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZU9uQ2xvc2UoZmFsc2UsIHRoaXMuY2xvc2VUYXJnZXRzLkVTQyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiQGlmIChtb2RhbFN0YXRlPy5pc09wZW4pIHtcbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZXZvLW1vZGFsX19iYWNrZ3JvdW5kXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieydldm8tbW9kYWxfX2JhY2tncm91bmRfdmlzaWJsZSc6IGlzVmlzaWJsZX1cIlxuICAgICAgICAoY2xpY2spPVwib25CYWNrZ3JvdW5kQ2xpY2soJGV2ZW50KVwiXG4gICAgPjwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImV2by1tb2RhbF9fd3JhcHBlclwiIFtuZ0NsYXNzXT1cInsnZXZvLW1vZGFsX3Zpc2libGUnOiBpc1Zpc2libGV9XCIgKGNsaWNrKT1cIm9uQmFja2dyb3VuZENsaWNrKCRldmVudClcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV2by1tb2RhbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2by1tb2RhbF9faWNvblwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImV2by1pY29uXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICBAaWYgKHRpdGxlVGV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiZXZvLW1vZGFsX190aXRsZVwiPnt7IHRpdGxlVGV4dCB9fTwvaDI+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldm8tbW9kYWxfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLW1vZGFsX19idXR0b25zXCIgW25nQ2xhc3NdPVwieydldm8tbW9kYWxfX2J1dHRvbnNfc2luZ2xlLWJ0bic6ICFkZWNsaW5lVGV4dCB8fCAhYWNjZXB0VGV4dH1cIj5cbiAgICAgICAgICAgICAgICBAaWYgKGRlY2xpbmVUZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGV2b0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldm8tbW9kYWxfX2J1dHRvbiBldm8tbW9kYWxfX2J1dHRvbl9kZWNsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJkZWNsaW5lQnV0dG9uQ29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RoZW1lXT1cImRlY2xpbmVCdXR0b25UaGVtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEZWNsaW5lRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9uQ2xvc2UoZmFsc2UsIGNsb3NlVGFyZ2V0cy5CVVRUT04pXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZGVjbGluZVRleHQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIChhY2NlcHRUZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGV2b0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldm8tbW9kYWxfX2J1dHRvbiBldm8tbW9kYWxfX2J1dHRvbl9hY2NlcHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImFjY2VwdEJ1dHRvbkNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCJhY2NlcHRCdXR0b25UaGVtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJpc0FjY2VwdExvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9uQ2xvc2UodHJ1ZSwgY2xvc2VUYXJnZXRzLkJVVFRPTilcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBhY2NlcHRUZXh0IH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbn1cbiJdfQ==
144
+ args: [{ selector: 'evo-modal', standalone: true, imports: [
145
+ EvoButtonComponent,
146
+ EvoUiClassDirective,
147
+ NgIf,
148
+ NgTemplateOutlet,
149
+ EvoModalButtonsComponent,
150
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (isVisible()) {\n <div class=\"evo-modal__background\" (click)=\"onBackgroundClick($event)\"></div>\n\n <div class=\"evo-modal__wrapper\" (click)=\"onBackgroundClick($event)\">\n <div class=\"evo-modal\" #modal>\n @if (isDynamicContent()) {\n <ng-template #modalContainer/>\n } @else {\n <div class=\"evo-modal__icon\">\n <ng-content select=\"evo-icon\"/>\n </div>\n\n @if (titleText()) {\n <h2 class=\"evo-modal__title\">{{ titleText() }}</h2>\n }\n\n <div class=\"evo-modal__content\">\n <ng-content/>\n\n <ng-container *ngTemplateOutlet=\"modalContent()?.template; context: {data: modalContent()?.context}\"/>\n\n <ng-template #contentContainer/>\n </div>\n\n @if (showButtons()) {\n <evo-modal-buttons [single]=\"!declineText() || !acceptText()\">\n @if (declineText()) {\n <button\n class=\"evo-modal__button_decline\"\n evoButton\n [color]=\"declineButtonColor()\"\n [theme]=\"declineButtonTheme()\"\n [disabled]=\"isLoading()\"\n (click)=\"onDeclineClick()\"\n >{{ declineText() }}</button>\n }\n\n @if (acceptText()) {\n <button\n class=\"evo-modal__button_accept\"\n evoButton\n [color]=\"acceptButtonColor()\"\n [theme]=\"acceptButtonTheme()\"\n [loading]=\"isLoading()\"\n (click)=\"onAcceptClick()\"\n >{{ acceptText() }}</button>\n }\n </evo-modal-buttons>\n }\n }\n </div>\n </div>\n}\n", styles: ["@keyframes appearance{0%{opacity:0}to{opacity:1}}.evo-modal{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:752px;height:auto;max-height:100%;padding:16px;overflow:hidden;text-align:center;background-color:#fff;border-radius:16px;box-shadow:0 0 12px 2px #0000004d;animation:appearance .25s linear}@media (min-width: 768px){.evo-modal{width:752px;height:auto;padding:32px}}.evo-modal__title{margin-top:0;margin-bottom:0;font-weight:700;font-size:16px;line-height:24px}@media (min-width: 768px){.evo-modal__title{width:674px;font-size:24px;line-height:32px}}.evo-modal__icon{margin-bottom:8px}.evo-modal__icon ::ng-deep evo-icon{display:block;width:64px;height:64px}@media (min-width: 768px){.evo-modal__icon{margin-bottom:32px}}.evo-modal__icon:empty{display:none}.evo-modal__content{width:100%;margin-top:32px;overflow:auto;font-size:14px;line-height:22px}.evo-modal__content:empty{display:none;margin-top:0}.evo-modal__content ::ng-deep *:last-child{margin-bottom:0}.evo-modal__background{position:fixed;inset:0;z-index:1010;display:flex;justify-content:center;width:100%;height:100%;background:#00000080}.evo-modal__wrapper{position:fixed;inset:0;z-index:1011;display:flex;justify-content:center;align-items:center;width:100%;padding:16px}@media (min-width: 768px){.evo-modal__wrapper{width:auto}}\n"] }]
151
+ }] });
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1tb2RhbC9ldm8tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLW1vZGFsL2V2by1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsZUFBZSxFQUNmLFVBQVUsRUFDVixVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RSxPQUFPLEVBQUMsY0FBYyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzNELE9BQU8sRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdDQUFnQyxFQUFFLCtCQUErQixFQUFFLG9CQUFvQixFQUFD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QUczQixVQUFVLDZDQzVFaEUsMHBFQXFEQSxxNENEVFEsa0JBQWtCLHVJQUdsQixnQkFBZ0Isb0pBQ2hCLHdCQUF3Qjs7NEZBSW5CLGlCQUFpQjtrQkFkN0IsU0FBUzsrQkFDSSxXQUFXLGNBR1QsSUFBSSxXQUNQO3dCQUNMLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixJQUFJO3dCQUNKLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3FCQUMzQixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGNyZWF0ZUNvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgbW9kZWwsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBzaWduYWwsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgdmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2ZpbHRlciwgZmluYWxpemUsIGZyb21FdmVudCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VXaGlsZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFdm9CdXR0b25Db2xvciwgRXZvQnV0dG9uVGhlbWV9IGZyb20gJy4uL2V2by1idXR0b24nO1xuaW1wb3J0IHtFdm9CdXR0b25Db21wb25lbnR9IGZyb20gJy4uL2V2by1idXR0b24nO1xuaW1wb3J0IHtFdm9VaUNsYXNzRGlyZWN0aXZlfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlc1wiO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtFVk9fTU9EQUxfREFUQSwgRVZPX01PREFMX1JPT1RfSUR9IGZyb20gJy4vdG9rZW5zJztcbmltcG9ydCB7TmdJZiwgTmdUZW1wbGF0ZU91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RXZvRHluYW1pY01vZGFsUGFyYW1zLCBFdm9Nb2RhbENvbWJpbmVkUGFyYW1zLCBFdm9Nb2RhbFN0YXRlfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtFdm9Nb2RhbFNlcnZpY2V9IGZyb20gJy4vZXZvLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHtpc0NvbmZpZ3VyZWRDb21wb25lbnRNb2RhbFBhcmFtcywgaXNDb25maWd1cmVkVGVtcGxhdGVNb2RhbFBhcmFtcywgaXNEeW5hbWljTW9kYWxQYXJhbXN9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHtFdm9Nb2RhbENsb3NlVGFyZ2V0c30gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQge0V2b01vZGFsRHJhd2luZ1N0cmF0ZWd5fSBmcm9tICcuL2NsYXNzZXMvRXZvTW9kYWxEcmF3aW5nU3RyYXRlZ3knO1xuaW1wb3J0IHtFdm9EeW5hbWljTW9kYWxEcmF3aW5nU3RyYXRlZ3l9IGZyb20gJy4vY2xhc3Nlcy9Fdm9EeW5hbWljTW9kYWxEcmF3aW5nU3RyYXRlZ3knO1xuaW1wb3J0IHtFdm9Db25maWd1cmVkQ29tcG9uZW50TW9kYWxEcmF3aW5nU3RyYXRlZ3l9IGZyb20gJy4vY2xhc3Nlcy9Fdm9Db25maWd1cmVkQ29tcG9uZW50TW9kYWxEcmF3aW5nU3RyYXRlZ3knO1xuaW1wb3J0IHtFdm9Db25maWd1cmVkVGVtcGxhdGVNb2RhbERyYXdpbmdTdHJhdGVneX0gZnJvbSAnLi9jbGFzc2VzL0V2b0NvbmZpZ3VyZWRUZW1wbGF0ZU1vZGFsRHJhd2luZ1N0cmF0ZWd5JztcbmltcG9ydCB7RXZvTW9kYWxCdXR0b25zQ29tcG9uZW50fSBmcm9tICcuL2V2by1tb2RhbC1idXR0b25zL2V2by1tb2RhbC1idXR0b25zLmNvbXBvbmVudCc7XG5cbnR5cGUgSW5zZXJ0aW9uQ29udGFpbmVyVHlwZSA9ICdtb2RhbCcgfCAnY29udGVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLW1vZGFsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXZvLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ldm8tbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRXZvQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBFdm9VaUNsYXNzRGlyZWN0aXZlLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBFdm9Nb2RhbEJ1dHRvbnNDb21wb25lbnQsXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRXZvTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZXZvTW9kYWxSb290SWQgPSBpbmplY3QoRVZPX01PREFMX1JPT1RfSUQpO1xuXG4gICAgYWNjZXB0VGV4dCA9IG1vZGVsPHN0cmluZz4oJycpO1xuICAgIGFjY2VwdEJ1dHRvbkNvbG9yID0gbW9kZWw8RXZvQnV0dG9uQ29sb3I+KGBzdWNjZXNzYCk7XG4gICAgYWNjZXB0QnV0dG9uVGhlbWUgPSBtb2RlbDxFdm9CdXR0b25UaGVtZT4oYHJvdW5kZWQtc29saWRgKTtcbiAgICBhc3luY0FjY2VwdCA9IG1vZGVsPCgpID0+IE9ic2VydmFibGU8dW5rbm93bj4gfCBudWxsPihudWxsKTtcbiAgICBkZWNsaW5lVGV4dCA9IG1vZGVsPHN0cmluZz4oJycpO1xuICAgIGRlY2xpbmVCdXR0b25Db2xvciA9IG1vZGVsPEV2b0J1dHRvbkNvbG9yPignc2Vjb25kYXJ5Jyk7XG4gICAgZGVjbGluZUJ1dHRvblRoZW1lID0gbW9kZWw8RXZvQnV0dG9uVGhlbWU+KCdyb3VuZGVkLW91dGxpbmUnKTtcbiAgICBpZCA9IG1vZGVsPHN0cmluZz4odGhpcy5ldm9Nb2RhbFJvb3RJZCk7XG4gICAgdGl0bGVUZXh0ID0gbW9kZWw8c3RyaW5nPignJyk7XG5cbiAgICByZWFkb25seSBjb250ZW50Q29udGFpbmVyID0gdmlld0NoaWxkKCdjb250ZW50Q29udGFpbmVyJywge3JlYWQ6IFZpZXdDb250YWluZXJSZWZ9KTtcbiAgICByZWFkb25seSBjb250ZW50Q29udGFpbmVyJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmNvbnRlbnRDb250YWluZXIpO1xuICAgIHJlYWRvbmx5IGRyYXdpbmdTdHJhdGVneSA9IHNpZ25hbDxFdm9Nb2RhbERyYXdpbmdTdHJhdGVneSB8IG51bGw+KG51bGwpO1xuICAgIHJlYWRvbmx5IGlzRHluYW1pY0NvbnRlbnQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHJlYWRvbmx5IGlzTG9hZGluZyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gICAgcmVhZG9ubHkgaXNWaXNpYmxlID0gY29tcHV0ZWQoKCk6IGJvb2xlYW4gPT4gdGhpcy5tb2RhbFN0YXRlKCk/LmlzT3BlbiB8fCBmYWxzZSk7XG4gICAgcmVhZG9ubHkgbW9kYWxDb250YWluZXIgPSB2aWV3Q2hpbGQoJ21vZGFsQ29udGFpbmVyJywge3JlYWQ6IFZpZXdDb250YWluZXJSZWZ9KTtcbiAgICByZWFkb25seSBtb2RhbENvbnRhaW5lciQgPSB0b09ic2VydmFibGUodGhpcy5tb2RhbENvbnRhaW5lcik7XG4gICAgcmVhZG9ubHkgbW9kYWxDb250ZW50ID0gc2lnbmFsPHt0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8e2RhdGE6IHVua25vd259PiwgY29udGV4dDogdW5rbm93bn0gfCBudWxsPihudWxsKTtcbiAgICByZWFkb25seSBtb2RhbEVsZW1lbnQgPSB2aWV3Q2hpbGQoJ21vZGFsJywge3JlYWQ6IEVsZW1lbnRSZWZ9KTtcbiAgICByZWFkb25seSBtb2RhbFN0YXRlID0gc2lnbmFsPEV2b01vZGFsU3RhdGUgfCBudWxsPihudWxsKTtcbiAgICByZWFkb25seSBzaG93QnV0dG9ucyA9IGNvbXB1dGVkKCgpOiBzdHJpbmcgPT4gdGhpcy5hY2NlcHRUZXh0KCkgfHwgdGhpcy5kZWNsaW5lVGV4dCgpKTtcblxuICAgIHJlYWRvbmx5IGNsb3NlVGFyZ2V0cyA9IEV2b01vZGFsQ2xvc2VUYXJnZXRzO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZW52aXJvbm1lbnRJbmplY3RvciA9IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV2b01vZGFsU2VydmljZSA9IGluamVjdChFdm9Nb2RhbFNlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXZvTW9kYWxTZXJ2aWNlLnJlZ2lzdGVyKHRoaXMuaWQoKSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlTW9kYWxFdmVudHMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldm9Nb2RhbFNlcnZpY2UudW5yZWdpc3Rlcih0aGlzLmlkKCkpO1xuICAgIH1cblxuICAgIG9uQWNjZXB0Q2xpY2soKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFzeW5jQWNjZXB0QWN0aW9uID0gdGhpcy5hc3luY0FjY2VwdCgpPy4oKTtcblxuICAgICAgICBpZiAoIWFzeW5jQWNjZXB0QWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jbG9zZSh0cnVlLCBFdm9Nb2RhbENsb3NlVGFyZ2V0cy5CVVRUT04pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xuXG4gICAgICAgIGFzeW5jQWNjZXB0QWN0aW9uLnBpcGUoXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKTogdm9pZCA9PiB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICApLnN1YnNjcmliZSgoKTogdm9pZCA9PiB0aGlzLmNsb3NlKHRydWUsIEV2b01vZGFsQ2xvc2VUYXJnZXRzLkJVVFRPTikpO1xuICAgIH1cblxuICAgIG9uQmFja2dyb3VuZENsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jYW5DbG9zZUJ5QmFja2dyb3VuZChldmVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoZmFsc2UsIEV2b01vZGFsQ2xvc2VUYXJnZXRzLkJBQ0tHUk9VTkQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EZWNsaW5lQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTG9hZGluZygpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsb3NlKGZhbHNlLCBFdm9Nb2RhbENsb3NlVGFyZ2V0cy5CVVRUT04pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbGVhclZpZXcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9kYWxDb250YWluZXIoKT8uY2xlYXIoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaW5zZXJ0Q29tcG9uZW50KFxuICAgICAgICB7ZGF0YSwgaW5qZWN0b3IsIGNvbXBvbmVudH06IFBpY2s8RXZvRHluYW1pY01vZGFsUGFyYW1zLCAnZGF0YScgfCAnY29tcG9uZW50JyB8ICdpbmplY3Rvcic+LFxuICAgICAgICB0YXJnZXQ6IEluc2VydGlvbkNvbnRhaW5lclR5cGUgPSAnbW9kYWwnLFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBkeW5hbWljQ29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwge1xuICAgICAgICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5lbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgICAgICAgZWxlbWVudEluamVjdG9yOiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBFVk9fTU9EQUxfREFUQSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBkYXRhLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgcGFyZW50OiBpbmplY3RvcixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmdldEluc2VydGlvbkNvbnRhaW5lcih0YXJnZXQpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGNvbnRhaW5lcik6IGNvbnRhaW5lciBpcyBWaWV3Q29udGFpbmVyUmVmID0+ICEhY29udGFpbmVyKSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICApLnN1YnNjcmliZSgoY29udGFpbmVyKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBjb250YWluZXIuaW5zZXJ0KGR5bmFtaWNDb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgZHluYW1pY0NvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYW5DbG9zZUJ5QmFja2dyb3VuZChldmVudDogRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmRlY2xpbmVUZXh0KCkgfHwgdGhpcy5pc0R5bmFtaWNDb250ZW50KCkpICYmXG4gICAgICAgICAgICAhdGhpcy5pc0xvYWRpbmcoKSAmJlxuICAgICAgICAgICAgdGhpcy5tb2RhbFN0YXRlKCkuaXNPcGVuICYmXG4gICAgICAgICAgICBldmVudD8udGFyZ2V0ICYmXG4gICAgICAgICAgICAhdGhpcy5tb2RhbEVsZW1lbnQoKS5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZShhZ3JlZW1lbnQ6IGJvb2xlYW4sIGNsb3NlVGFyZ2V0OiBFdm9Nb2RhbENsb3NlVGFyZ2V0cyk6IHZvaWQge1xuICAgICAgICB0aGlzLmV2b01vZGFsU2VydmljZS5jbG9zZSh0aGlzLmlkKCksIGFncmVlbWVudCwge2Nsb3NlVGFyZ2V0fSk7XG4gICAgICAgIHRoaXMuY2xlYXJWaWV3KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaWQoKSAhPT0gdGhpcy5ldm9Nb2RhbFJvb3RJZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ldm9Nb2RhbFNlcnZpY2UudW5yZWdpc3Rlcih0aGlzLmV2b01vZGFsUm9vdElkKTtcbiAgICAgICAgdGhpcy5ldm9Nb2RhbFNlcnZpY2UuY2xlYW51cERlZmF1bHRIb3N0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRJbnNlcnRpb25Db250YWluZXIodGFyZ2V0OiBJbnNlcnRpb25Db250YWluZXJUeXBlKTogT2JzZXJ2YWJsZTxWaWV3Q29udGFpbmVyUmVmPiB7XG4gICAgICAgIHJldHVybiB0YXJnZXQgPT09ICdtb2RhbCcgPyB0aGlzLm1vZGFsQ29udGFpbmVyJCA6IHRoaXMuY29udGVudENvbnRhaW5lciQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0S2V5Ym9hcmRMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LmJvZHksICdrZXlkb3duJykucGlwZShcbiAgICAgICAgICAgIHRha2VXaGlsZSgoKTogYm9vbGVhbiA9PiB0aGlzLm1vZGFsU3RhdGUoKS5pc09wZW4pLFxuICAgICAgICAgICAgZmlsdGVyKChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4gPT4gKHRoaXMuZGVjbGluZVRleHQoKSB8fCB0aGlzLmlzRHluYW1pY0NvbnRlbnQoKSkgJiYgZXZlbnQua2V5ID09PSAnRXNjYXBlJyksXG4gICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgKS5zdWJzY3JpYmUoKCk6IHZvaWQgPT4gdGhpcy5jbG9zZShmYWxzZSwgdGhpcy5jbG9zZVRhcmdldHMuRVNDKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREcmF3aW5nU3RyYXRlZ3kocGFyYW1zOiBFdm9Nb2RhbENvbWJpbmVkUGFyYW1zKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAgICAgY2FzZSBpc0R5bmFtaWNNb2RhbFBhcmFtcyhwYXJhbXMpOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRyYXdpbmdTdHJhdGVneS5zZXQobmV3IEV2b0R5bmFtaWNNb2RhbERyYXdpbmdTdHJhdGVneSgpKTtcbiAgICAgICAgICAgIGNhc2UgaXNDb25maWd1cmVkQ29tcG9uZW50TW9kYWxQYXJhbXMocGFyYW1zKTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kcmF3aW5nU3RyYXRlZ3kuc2V0KG5ldyBFdm9Db25maWd1cmVkQ29tcG9uZW50TW9kYWxEcmF3aW5nU3RyYXRlZ3koKSk7XG4gICAgICAgICAgICBjYXNlIGlzQ29uZmlndXJlZFRlbXBsYXRlTW9kYWxQYXJhbXMocGFyYW1zKTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kcmF3aW5nU3RyYXRlZ3kuc2V0KG5ldyBFdm9Db25maWd1cmVkVGVtcGxhdGVNb2RhbERyYXdpbmdTdHJhdGVneSgpKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVNb2RhbEV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldm9Nb2RhbFNlcnZpY2UuZ2V0RXZlbnRzU3Vic2NyaXB0aW9uKHRoaXMuaWQoKSkucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICApLnN1YnNjcmliZSgobW9kYWxTdGF0ZTogRXZvTW9kYWxTdGF0ZSk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5tb2RhbFN0YXRlLnNldChtb2RhbFN0YXRlKTtcblxuICAgICAgICAgICAgaWYgKCFtb2RhbFN0YXRlLmlzT3Blbikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5pbml0S2V5Ym9hcmRMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5zZXREcmF3aW5nU3RyYXRlZ3kobW9kYWxTdGF0ZS5wYXJhbXMpO1xuICAgICAgICAgICAgdGhpcy5kcmF3aW5nU3RyYXRlZ3koKT8uZHJhdy5jYWxsKHRoaXMsIG1vZGFsU3RhdGUucGFyYW1zKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiQGlmIChpc1Zpc2libGUoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJldm8tbW9kYWxfX2JhY2tncm91bmRcIiAoY2xpY2spPVwib25CYWNrZ3JvdW5kQ2xpY2soJGV2ZW50KVwiPjwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImV2by1tb2RhbF9fd3JhcHBlclwiIChjbGljayk9XCJvbkJhY2tncm91bmRDbGljaygkZXZlbnQpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldm8tbW9kYWxcIiAjbW9kYWw+XG4gICAgICAgICAgICBAaWYgKGlzRHluYW1pY0NvbnRlbnQoKSkge1xuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbW9kYWxDb250YWluZXIvPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2by1tb2RhbF9faWNvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldm8taWNvblwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIEBpZiAodGl0bGVUZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiZXZvLW1vZGFsX190aXRsZVwiPnt7IHRpdGxlVGV4dCgpIH19PC9oMj5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZvLW1vZGFsX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50Lz5cblxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibW9kYWxDb250ZW50KCk/LnRlbXBsYXRlOyBjb250ZXh0OiB7ZGF0YTogbW9kYWxDb250ZW50KCk/LmNvbnRleHR9XCIvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudENvbnRhaW5lci8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICBAaWYgKHNob3dCdXR0b25zKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPGV2by1tb2RhbC1idXR0b25zIFtzaW5nbGVdPVwiIWRlY2xpbmVUZXh0KCkgfHwgIWFjY2VwdFRleHQoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChkZWNsaW5lVGV4dCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV2by1tb2RhbF9fYnV0dG9uX2RlY2xpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldm9CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImRlY2xpbmVCdXR0b25Db2xvcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RoZW1lXT1cImRlY2xpbmVCdXR0b25UaGVtZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9hZGluZygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVjbGluZUNsaWNrKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBkZWNsaW5lVGV4dCgpIH19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYWNjZXB0VGV4dCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV2by1tb2RhbF9fYnV0dG9uX2FjY2VwdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2b0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiYWNjZXB0QnV0dG9uQ29sb3IoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCJhY2NlcHRCdXR0b25UaGVtZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvYWRpbmddPVwiaXNMb2FkaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BY2NlcHRDbGljaygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgYWNjZXB0VGV4dCgpIH19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZXZvLW1vZGFsLWJ1dHRvbnM+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { makeEnvironmentProviders } from "@angular/core";
2
+ import { EvoModalPortal } from './evo-modal-portal';
3
+ import { EVO_MODAL_CONFIG, EVO_MODAL_DEFAULT_CONFIG, EVO_MODAL_DEFAULT_ROOT_ID, EVO_MODAL_ROOT_ID } from './tokens';
4
+ import { merge } from 'lodash-es';
5
+ export function provideModal(config = {}) {
6
+ return makeEnvironmentProviders([
7
+ EvoModalPortal,
8
+ {
9
+ provide: EVO_MODAL_ROOT_ID,
10
+ useValue: EVO_MODAL_DEFAULT_ROOT_ID,
11
+ },
12
+ {
13
+ provide: EVO_MODAL_CONFIG,
14
+ useValue: merge(EVO_MODAL_DEFAULT_CONFIG, config),
15
+ },
16
+ ]);
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLW1vZGFsLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLW1vZGFsL2V2by1tb2RhbC5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLHdCQUF3QixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFbEgsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUVoQyxNQUFNLFVBQVUsWUFBWSxDQUFDLFNBQXlCLEVBQUU7SUFDcEQsT0FBTyx3QkFBd0IsQ0FBQztRQUM1QixjQUFjO1FBQ2Q7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFFBQVEsRUFBRSx5QkFBeUI7U0FDdEM7UUFDRDtZQUNJLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsUUFBUSxFQUFFLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLENBQUM7U0FDcEQ7S0FDSixDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtFdm9Nb2RhbFBvcnRhbH0gZnJvbSAnLi9ldm8tbW9kYWwtcG9ydGFsJztcbmltcG9ydCB7RVZPX01PREFMX0NPTkZJRywgRVZPX01PREFMX0RFRkFVTFRfQ09ORklHLCBFVk9fTU9EQUxfREVGQVVMVF9ST09UX0lELCBFVk9fTU9EQUxfUk9PVF9JRH0gZnJvbSAnLi90b2tlbnMnO1xuaW1wb3J0IHtFdm9Nb2RhbENvbmZpZ30gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7bWVyZ2V9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTW9kYWwoY29uZmlnOiBFdm9Nb2RhbENvbmZpZyA9IHt9KTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICAgIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgICAgICBFdm9Nb2RhbFBvcnRhbCxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRVZPX01PREFMX1JPT1RfSUQsXG4gICAgICAgICAgICB1c2VWYWx1ZTogRVZPX01PREFMX0RFRkFVTFRfUk9PVF9JRCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRVZPX01PREFMX0NPTkZJRyxcbiAgICAgICAgICAgIHVzZVZhbHVlOiBtZXJnZShFVk9fTU9EQUxfREVGQVVMVF9DT05GSUcsIGNvbmZpZyksXG4gICAgICAgIH0sXG4gICAgXSk7XG59XG4iXX0=