@datarailsshared/datarailsshared 1.6.359 → 1.6.363

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 (46) hide show
  1. package/datarailsshared-datarailsshared-1.6.363.tgz +0 -0
  2. package/esm2022/lib/dr-code-editor/dr-code-editor.component.mjs +2 -2
  3. package/esm2022/lib/dr-dialog/dialog.module.mjs +2 -1
  4. package/esm2022/lib/dr-dialog/services/dialog.service.mjs +8 -1
  5. package/esm2022/lib/dr-inputs/button/button.component.mjs +7 -4
  6. package/esm2022/lib/dr-modal/components/dr-confirm-modal/dr-confirm-modal.component.mjs +210 -0
  7. package/esm2022/lib/dr-modal/components/dr-modal/dr-modal.component.mjs +73 -0
  8. package/esm2022/lib/dr-modal/components/dr-modal-container/dr-modal-container.component.mjs +72 -0
  9. package/esm2022/lib/dr-modal/directives/dr-modal-close.directive.mjs +39 -0
  10. package/esm2022/lib/dr-modal/dr-modal-config.mjs +3 -0
  11. package/esm2022/lib/dr-modal/dr-modal-config.provider.mjs +14 -0
  12. package/esm2022/lib/dr-modal/dr-modal-form.types.mjs +2 -0
  13. package/esm2022/lib/dr-modal/dr-modal-form.utils.mjs +18 -0
  14. package/esm2022/lib/dr-modal/dr-modal-ref.mjs +42 -0
  15. package/esm2022/lib/dr-modal/dr-modal.mjs +9 -0
  16. package/esm2022/lib/dr-modal/dr-modal.module.mjs +34 -0
  17. package/esm2022/lib/dr-modal/dr-modal.service.mjs +89 -0
  18. package/esm2022/lib/dr-modal/dr-modal.slots.mjs +91 -0
  19. package/esm2022/lib/dr-modal/dr-modal.types.mjs +2 -0
  20. package/esm2022/lib/dr-modal/public-api.mjs +15 -0
  21. package/esm2022/lib/utils/async-utils.mjs +32 -0
  22. package/esm2022/local-api.mjs +3 -1
  23. package/fesm2022/datarailsshared-datarailsshared.mjs +843 -164
  24. package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
  25. package/lib/dr-dialog/dialog.module.d.ts +1 -0
  26. package/lib/dr-dialog/services/dialog.service.d.ts +7 -0
  27. package/lib/dr-inputs/button/button.component.d.ts +2 -1
  28. package/lib/dr-modal/components/dr-confirm-modal/dr-confirm-modal.component.d.ts +19 -0
  29. package/lib/dr-modal/components/dr-modal/dr-modal.component.d.ts +14 -0
  30. package/lib/dr-modal/components/dr-modal-container/dr-modal-container.component.d.ts +23 -0
  31. package/lib/dr-modal/directives/dr-modal-close.directive.d.ts +17 -0
  32. package/lib/dr-modal/dr-modal-config.d.ts +17 -0
  33. package/lib/dr-modal/dr-modal-config.provider.d.ts +3 -0
  34. package/lib/dr-modal/dr-modal-form.types.d.ts +42 -0
  35. package/lib/dr-modal/dr-modal-form.utils.d.ts +9 -0
  36. package/lib/dr-modal/dr-modal-ref.d.ts +19 -0
  37. package/lib/dr-modal/dr-modal.d.ts +5 -0
  38. package/lib/dr-modal/dr-modal.module.d.ts +9 -0
  39. package/lib/dr-modal/dr-modal.service.d.ts +20 -0
  40. package/lib/dr-modal/dr-modal.slots.d.ts +25 -0
  41. package/lib/dr-modal/dr-modal.types.d.ts +63 -0
  42. package/lib/dr-modal/public-api.d.ts +14 -0
  43. package/lib/utils/async-utils.d.ts +18 -0
  44. package/local-api.d.ts +2 -0
  45. package/package.json +1 -1
  46. package/datarailsshared-datarailsshared-1.6.359.tgz +0 -0
@@ -0,0 +1,72 @@
1
+ import { ChangeDetectionStrategy, Component, inject, signal, ANIMATION_MODULE_TYPE, computed, ElementRef } from '@angular/core';
2
+ import { CdkDialogContainer } from '@angular/cdk/dialog';
3
+ import { PortalModule } from '@angular/cdk/portal';
4
+ import { DrModalConfig } from '../../dr-modal-config';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/portal";
7
+ function DrModalContainerComponent_ng_template_0_Template(rf, ctx) { }
8
+ export class DrModalContainerComponent extends CdkDialogContainer {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.config = inject(DrModalConfig);
12
+ this.id = this.config.id;
13
+ this.animationNoop = inject(ANIMATION_MODULE_TYPE, { optional: true }) === 'NoopAnimations';
14
+ this.animationClasses = this.getAnimationClasses(this.config.animation);
15
+ this.animationDuration = this.getAnimationDuration(this.config.animation);
16
+ this.animationState = signal(null);
17
+ this.animationClass = computed(() => (this.animationState() ? this.animationClasses[this.animationState()] : ''));
18
+ this.animationTime = computed(() => this.animationNoop ? 0 : this.animationDuration[this.animationState() ?? 'enter']);
19
+ this.hasTitle = signal(false); // updated from title directive
20
+ this.hasSubtitle = signal(false); // updated from subtitle directive
21
+ this.elementRef = inject(ElementRef);
22
+ }
23
+ _contentAttached() {
24
+ // Set the anchor class immediately after creation so "enter" animation would be properly applied
25
+ this.elementRef.nativeElement.classList.add(this.animationClasses.anchor);
26
+ // Delegate to the original dialog-container initialization (i.e. saving the
27
+ // previous element, setting up the focus trap and moving focus to the container).
28
+ super._contentAttached();
29
+ this.animationState.set('enter'); // triggers open animation
30
+ // Wait for the opening animation to finish before trapping focus
31
+ setTimeout(() => this._trapFocus(), this.animationDuration.enter);
32
+ }
33
+ animateClose() {
34
+ this.animationState.set('leave');
35
+ // Claim focus from any clickable elements to avoid double submits on fast click/enter press
36
+ this.elementRef.nativeElement.focus();
37
+ }
38
+ getAnimationDuration(animation) {
39
+ const { enter = 150, leave = 150 } = animation?.duration ?? {};
40
+ return { enter, leave };
41
+ }
42
+ getAnimationClasses(animation) {
43
+ const { enter = 'mat-enter', leave = 'mat-leave', anchor = 'mat-anchor' } = animation?.class ?? {};
44
+ return { enter, leave, anchor };
45
+ }
46
+ /** @nocollapse */ static { this.ɵfac = /** @pureOrBreakMyCode */ function () { let ɵDrModalContainerComponent_BaseFactory; return function DrModalContainerComponent_Factory(t) { return (ɵDrModalContainerComponent_BaseFactory || (ɵDrModalContainerComponent_BaseFactory = i0.ɵɵgetInheritedFactory(DrModalContainerComponent)))(t || DrModalContainerComponent); }; }(); }
47
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrModalContainerComponent, selectors: [["dr-modal-container"]], hostAttrs: [1, "dr-modal-container"], hostVars: 12, hostBindings: function DrModalContainerComponent_HostBindings(rf, ctx) { if (rf & 2) {
48
+ i0.ɵɵhostProperty("id", "modal-" + ctx.id);
49
+ i0.ɵɵattribute("tabindex", -1)("role", "dialog")("aria-modal", true)("aria-labelledby", ctx.hasTitle() ? "modal-" + ctx.id + "-title" : null)("aria-describedby", ctx.hasSubtitle() ? "modal-" + ctx.id + "-subtitle" : null);
50
+ i0.ɵɵclassMap(ctx.animationClass());
51
+ i0.ɵɵstyleProp("--dr-modal-animation-time", ctx.animationTime() + "ms");
52
+ i0.ɵɵclassProp("animation-noop", ctx.animationNoop);
53
+ } }, standalone: true, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 0, consts: [["cdkPortalOutlet", ""]], template: function DrModalContainerComponent_Template(rf, ctx) { if (rf & 1) {
54
+ i0.ɵɵtemplate(0, DrModalContainerComponent_ng_template_0_Template, 0, 0, "ng-template", 0);
55
+ } }, dependencies: [PortalModule, i1.CdkPortalOutlet], styles: ["[_nghost-%COMP%]{position:relative;display:grid;margin:auto;transition:all var(--dr-modal-animation-time, 0ms) ease-in-out}.animation-noop[_nghost-%COMP%]{transition:none!important}.animation-noop[_nghost-%COMP%] .dr-modal{transition:none!important}.mat-anchor[_nghost-%COMP%]{opacity:0}.mat-anchor[_nghost-%COMP%] .dr-modal{transform:scale(.8);transition:transform var(--dr-modal-animation-time, 0ms) cubic-bezier(0,0,.2,1)}.mat-anchor.mat-enter[_nghost-%COMP%]{opacity:1}.mat-anchor.mat-enter[_nghost-%COMP%] .dr-modal{transform:none}.mat-anchor.mat-leave[_nghost-%COMP%]{opacity:0}.mat-anchor.mat-leave[_nghost-%COMP%] .dr-modal{transform:none}"], changeDetection: 0 }); }
56
+ }
57
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrModalContainerComponent, [{
58
+ type: Component,
59
+ args: [{ standalone: true, selector: 'dr-modal-container', template: `<ng-template cdkPortalOutlet></ng-template>`, host: {
60
+ class: 'dr-modal-container',
61
+ '[class]': 'animationClass()',
62
+ '[class.animation-noop]': 'animationNoop',
63
+ '[style.--dr-modal-animation-time]': 'animationTime() + "ms"',
64
+ '[id]': '"modal-" + id',
65
+ '[attr.tabindex]': '-1',
66
+ '[attr.role]': '"dialog"',
67
+ '[attr.aria-modal]': 'true',
68
+ '[attr.aria-labelledby]': 'hasTitle() ? "modal-" + id + "-title" : null',
69
+ '[attr.aria-describedby]': 'hasSubtitle() ? "modal-" + id + "-subtitle" : null',
70
+ }, changeDetection: ChangeDetectionStrategy.OnPush, imports: [PortalModule], styles: [":host{position:relative;display:grid;margin:auto;transition:all var(--dr-modal-animation-time, 0ms) ease-in-out}:host.animation-noop{transition:none!important}:host.animation-noop ::ng-deep .dr-modal{transition:none!important}:host.mat-anchor{opacity:0}:host.mat-anchor ::ng-deep .dr-modal{transform:scale(.8);transition:transform var(--dr-modal-animation-time, 0ms) cubic-bezier(0,0,.2,1)}:host.mat-anchor.mat-enter{opacity:1}:host.mat-anchor.mat-enter ::ng-deep .dr-modal{transform:none}:host.mat-anchor.mat-leave{opacity:0}:host.mat-anchor.mat-leave ::ng-deep .dr-modal{transform:none}\n"] }]
71
+ }], null, null); })();
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbW9kYWwtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLW1vZGFsL2NvbXBvbmVudHMvZHItbW9kYWwtY29udGFpbmVyL2RyLW1vZGFsLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQTRCdEQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGtCQUFrQjtJQXhCakU7O1FBeUJvQixXQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLE9BQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUVwQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLGdCQUFnQixDQUFDO1FBRXRGLHFCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLHNCQUFpQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRFLG1CQUFjLEdBQUcsTUFBTSxDQUErQixJQUFJLENBQUMsQ0FBQztRQUM1RCxtQkFBYyxHQUFHLFFB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dGVneSwgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCwgQU5JTUFUSU9OX01PRFVMRV9UWVBFLCBjb21wdXRlZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrRGlhbG9nQ29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RpYWxvZyc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuaW1wb3J0IHsgRHJNb2RhbENvbmZpZyB9IGZyb20gJy4uLy4uL2RyLW1vZGFsLWNvbmZpZyc7XG5cbmltcG9ydCB7IERyTW9kYWxBbmltYXRpb25TdGF0ZSwgRHJNb2RhbEFuaW1hdGlvbkNsYXNzZXMsIERyTW9kYWxBbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uLy4uL2RyLW1vZGFsLnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2RyLW1vZGFsLWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGU6IGA8bmctdGVtcGxhdGUgY2RrUG9ydGFsT3V0bGV0PjwvbmctdGVtcGxhdGU+YCxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1tb2RhbC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZHItbW9kYWwtY29udGFpbmVyJyxcblxuICAgICAgICAnW2NsYXNzXSc6ICdhbmltYXRpb25DbGFzcygpJyxcbiAgICAgICAgJ1tjbGFzcy5hbmltYXRpb24tbm9vcF0nOiAnYW5pbWF0aW9uTm9vcCcsXG5cbiAgICAgICAgJ1tzdHlsZS4tLWRyLW1vZGFsLWFuaW1hdGlvbi10aW1lXSc6ICdhbmltYXRpb25UaW1lKCkgKyBcIm1zXCInLFxuXG4gICAgICAgICdbaWRdJzogJ1wibW9kYWwtXCIgKyBpZCcsXG4gICAgICAgICdbYXR0ci50YWJpbmRleF0nOiAnLTEnLFxuXG4gICAgICAgICdbYXR0ci5yb2xlXSc6ICdcImRpYWxvZ1wiJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtbW9kYWxdJzogJ3RydWUnLFxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdoYXNUaXRsZSgpID8gXCJtb2RhbC1cIiArIGlkICsgXCItdGl0bGVcIiA6IG51bGwnLFxuICAgICAgICAnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnaGFzU3VidGl0bGUoKSA/IFwibW9kYWwtXCIgKyBpZCArIFwiLXN1YnRpdGxlXCIgOiBudWxsJyxcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtQb3J0YWxNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEck1vZGFsQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQ2RrRGlhbG9nQ29udGFpbmVyIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KERyTW9kYWxDb25maWcpO1xuICAgIHB1YmxpYyByZWFkb25seSBpZCA9IHRoaXMuY29uZmlnLmlkO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGFuaW1hdGlvbk5vb3AgPSBpbmplY3QoQU5JTUFUSU9OX01PRFVMRV9UWVBFLCB7IG9wdGlvbmFsOiB0cnVlIH0pID09PSAnTm9vcEFuaW1hdGlvbnMnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25DbGFzc2VzID0gdGhpcy5nZXRBbmltYXRpb25DbGFzc2VzKHRoaXMuY29uZmlnLmFuaW1hdGlvbik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25EdXJhdGlvbiA9IHRoaXMuZ2V0QW5pbWF0aW9uRHVyYXRpb24odGhpcy5jb25maWcuYW5pbWF0aW9uKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBhbmltYXRpb25TdGF0ZSA9IHNpZ25hbDxEck1vZGFsQW5pbWF0aW9uU3RhdGUgfCBudWxsPihudWxsKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgYW5pbWF0aW9uQ2xhc3MgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5hbmltYXRpb25TdGF0ZSgpID8gdGhpcy5hbmltYXRpb25DbGFzc2VzW3RoaXMuYW5pbWF0aW9uU3RhdGUoKSFdIDogJycpKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgYW5pbWF0aW9uVGltZSA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uTm9vcCA/IDAgOiB0aGlzLmFuaW1hdGlvbkR1cmF0aW9uW3RoaXMuYW5pbWF0aW9uU3RhdGUoKSA/PyAnZW50ZXInXSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGhhc1RpdGxlID0gc2lnbmFsKGZhbHNlKTsgLy8gdXBkYXRlZCBmcm9tIHRpdGxlIGRpcmVjdGl2ZVxuICAgIHB1YmxpYyByZWFkb25seSBoYXNTdWJ0aXRsZSA9IHNpZ25hbChmYWxzZSk7IC8vIHVwZGF0ZWQgZnJvbSBzdWJ0aXRsZSBkaXJlY3RpdmVcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2NvbnRlbnRBdHRhY2hlZCgpOiB2b2lkIHtcbiAgICAgICAgLy8gU2V0IHRoZSBhbmNob3IgY2xhc3MgaW1tZWRpYXRlbHkgYWZ0ZXIgY3JlYXRpb24gc28gXCJlbnRlclwiIGFuaW1hdGlvbiB3b3VsZCBiZSBwcm9wZXJseSBhcHBsaWVkXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5hbmltYXRpb25DbGFzc2VzLmFuY2hvcik7XG5cbiAgICAgICAgLy8gRGVsZWdhdGUgdG8gdGhlIG9yaWdpbmFsIGRpYWxvZy1jb250YWluZXIgaW5pdGlhbGl6YXRpb24gKGkuZS4gc2F2aW5nIHRoZVxuICAgICAgICAvLyBwcmV2aW91cyBlbGVtZW50LCBzZXR0aW5nIHVwIHRoZSBmb2N1cyB0cmFwIGFuZCBtb3ZpbmcgZm9jdXMgdG8gdGhlIGNvbnRhaW5lcikuXG4gICAgICAgIHN1cGVyLl9jb250ZW50QXR0YWNoZWQoKTtcblxuICAgICAgICB0aGlzLmFuaW1hdGlvblN0YXRlLnNldCgnZW50ZXInKTsgLy8gdHJpZ2dlcnMgb3BlbiBhbmltYXRpb25cblxuICAgICAgICAvLyBXYWl0IGZvciB0aGUgb3BlbmluZyBhbmltYXRpb24gdG8gZmluaXNoIGJlZm9yZSB0cmFwcGluZyBmb2N1c1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3RyYXBGb2N1cygpLCB0aGlzLmFuaW1hdGlvbkR1cmF0aW9uLmVudGVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYW5pbWF0ZUNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFuaW1hdGlvblN0YXRlLnNldCgnbGVhdmUnKTtcblxuICAgICAgICAvLyBDbGFpbSBmb2N1cyBmcm9tIGFueSBjbGlja2FibGUgZWxlbWVudHMgdG8gYXZvaWQgZG91YmxlIHN1Ym1pdHMgb24gZmFzdCBjbGljay9lbnRlciBwcmVzc1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QW5pbWF0aW9uRHVyYXRpb24oYW5pbWF0aW9uOiBEck1vZGFsQ29uZmlnWydhbmltYXRpb24nXSk6IERyTW9kYWxBbmltYXRpb25EdXJhdGlvbiB7XG4gICAgICAgIGNvbnN0IHsgZW50ZXIgPSAxNTAsIGxlYXZlID0gMTUwIH0gPSBhbmltYXRpb24/LmR1cmF0aW9uID8/IHt9O1xuXG4gICAgICAgIHJldHVybiB7IGVudGVyLCBsZWF2ZSB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QW5pbWF0aW9uQ2xhc3NlcyhhbmltYXRpb246IERyTW9kYWxDb25maWdbJ2FuaW1hdGlvbiddKTogRHJNb2RhbEFuaW1hdGlvbkNsYXNzZXMge1xuICAgICAgICBjb25zdCB7IGVudGVyID0gJ21hdC1lbnRlcicsIGxlYXZlID0gJ21hdC1sZWF2ZScsIGFuY2hvciA9ICdtYXQtYW5jaG9yJyB9ID0gYW5pbWF0aW9uPy5jbGFzcyA/PyB7fTtcblxuICAgICAgICByZXR1cm4geyBlbnRlciwgbGVhdmUsIGFuY2hvciB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { Directive, ElementRef, inject, Input } from '@angular/core';
2
+ import { DrButtonComponent } from '../../dr-inputs/button/button.component';
3
+ import { DrModalRef } from '../dr-modal-ref';
4
+ import * as i0 from "@angular/core";
5
+ export class DrModalCloseDirective {
6
+ constructor() {
7
+ this.modalRef = inject(DrModalRef);
8
+ /**
9
+ * By default, Angular would assign '' in <button drModalClose>, which is not ideal as we use null for backdrop click and ESC press
10
+ * To understand if drModalClose used without value (<button drModalClose>) we get its attribute.
11
+ * '' attribute means we used drModalClose without any value, null means we used [drModalClose]="''" with binding
12
+ *
13
+ * NOTE: @Attribute will not work as Angular always sets @Attribute null value if it matches any @Input
14
+ */
15
+ this.resultAttr = inject(ElementRef).nativeElement.getAttribute('drModalClose');
16
+ const hostButton = inject(DrButtonComponent, { optional: true, self: true });
17
+ // Set closeModal as buttons if they have no result (<dr-button drModalClose>)
18
+ hostButton && this.resultAttr === '' && (hostButton.type = 'button');
19
+ }
20
+ onHostClick() {
21
+ this.modalRef.close(this.resultAttr === '' ? null : this.result);
22
+ }
23
+ /** @nocollapse */ static { this.ɵfac = function DrModalCloseDirective_Factory(t) { return new (t || DrModalCloseDirective)(); }; }
24
+ /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrModalCloseDirective, selectors: [["", "drModalClose", ""]], hostBindings: function DrModalCloseDirective_HostBindings(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵlistener("click", function DrModalCloseDirective_click_HostBindingHandler() { return ctx.onHostClick(); });
26
+ } }, inputs: { result: ["drModalClose", "result"] }, standalone: true }); }
27
+ }
28
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrModalCloseDirective, [{
29
+ type: Directive,
30
+ args: [{
31
+ standalone: true,
32
+ selector: '[drModalClose]',
33
+ host: { '(click)': 'onHostClick()' },
34
+ }]
35
+ }], function () { return []; }, { result: [{
36
+ type: Input,
37
+ args: ['drModalClose']
38
+ }] }); })();
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbW9kYWwtY2xvc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItbW9kYWwvZGlyZWN0aXZlcy9kci1tb2RhbC1jbG9zZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTzdDLE1BQU0sT0FBTyxxQkFBcUI7SUFjOUI7UUFYaUIsYUFBUSxHQUFHLE1BQU0sQ0FBK0IsVUFBVSxDQUFDLENBQUM7UUFFN0U7Ozs7OztXQU1HO1FBQ2MsZUFBVSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUdqSCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTdFLDhFQUE4RTtRQUM5RSxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLE1BQWtCLENBQUMsQ0FBQztJQUNsRixDQUFDO3lHQXZCUSxxQkFBcUI7bUdBQXJCLHFCQUFxQjtzR0FBckIsaUJBQWE7Ozt1RkFBYixxQkFBcUI7Y0FMakMsU0FBUztlQUFDO2dCQUNQLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2FBQ3ZDO3NDQUVpQyxNQUFNO2tCQUFuQyxLQUFLO21CQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9kci1pbnB1dHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBEck1vZGFsUmVmIH0gZnJvbSAnLi4vZHItbW9kYWwtcmVmJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1tkck1vZGFsQ2xvc2VdJyxcbiAgICBob3N0OiB7ICcoY2xpY2spJzogJ29uSG9zdENsaWNrKCknIH0sXG59KVxuZXhwb3J0IGNsYXNzIERyTW9kYWxDbG9zZURpcmVjdGl2ZTxUUmVzdWx0ID0gdW5rbm93bj4ge1xuICAgIEBJbnB1dCgnZHJNb2RhbENsb3NlJykgcHVibGljIHJlc3VsdD86IFRSZXN1bHQgfCAnJzsgLy8gJycgZm9yIHVzYWdlIG9mIGRyTW9kYWxDbG9zZSB3aXRob3V0IGFueSByZXN1bHQgKDxidXR0b24gZHJNb2RhbENsb3NlPkNsb3NlPC9idXR0b24+KVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFJlZiA9IGluamVjdDxEck1vZGFsUmVmPHVua25vd24sIFRSZXN1bHQ+PihEck1vZGFsUmVmKTtcblxuICAgIC8qKlxuICAgICAqIEJ5IGRlZmF1bHQsIEFuZ3VsYXIgd291bGQgYXNzaWduICcnIGluIDxidXR0b24gZHJNb2RhbENsb3NlPiwgd2hpY2ggaXMgbm90IGlkZWFsIGFzIHdlIHVzZSBudWxsIGZvciBiYWNrZHJvcCBjbGljayBhbmQgRVNDIHByZXNzXG4gICAgICogVG8gdW5kZXJzdGFuZCBpZiBkck1vZGFsQ2xvc2UgdXNlZCB3aXRob3V0IHZhbHVlICg8YnV0dG9uIGRyTW9kYWxDbG9zZT4pIHdlIGdldCBpdHMgYXR0cmlidXRlLlxuICAgICAqICcnIGF0dHJpYnV0ZSBtZWFucyB3ZSB1c2VkIGRyTW9kYWxDbG9zZSB3aXRob3V0IGFueSB2YWx1ZSwgbnVsbCBtZWFucyB3ZSB1c2VkIFtkck1vZGFsQ2xvc2VdPVwiJydcIiB3aXRoIGJpbmRpbmdcbiAgICAgKlxuICAgICAqIE5PVEU6IEBBdHRyaWJ1dGUgd2lsbCBub3Qgd29yayBhcyBBbmd1bGFyIGFsd2F5cyBzZXRzIEBBdHRyaWJ1dGUgbnVsbCB2YWx1ZSBpZiBpdCBtYXRjaGVzIGFueSBASW5wdXRcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3VsdEF0dHIgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkck1vZGFsQ2xvc2UnKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCBob3N0QnV0dG9uID0gaW5qZWN0KERyQnV0dG9uQ29tcG9uZW50LCB7IG9wdGlvbmFsOiB0cnVlLCBzZWxmOiB0cnVlIH0pO1xuXG4gICAgICAgIC8vIFNldCBjbG9zZU1vZGFsIGFzIGJ1dHRvbnMgaWYgdGhleSBoYXZlIG5vIHJlc3VsdCAoPGRyLWJ1dHRvbiBkck1vZGFsQ2xvc2U+KVxuICAgICAgICBob3N0QnV0dG9uICYmIHRoaXMucmVzdWx0QXR0ciA9PT0gJycgJiYgKGhvc3RCdXR0b24udHlwZSA9ICdidXR0b24nKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ib3N0Q2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9kYWxSZWYuY2xvc2UodGhpcy5yZXN1bHRBdHRyID09PSAnJyA/IG51bGwgOiAodGhpcy5yZXN1bHQgYXMgVFJlc3VsdCkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class DrModalConfig {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbW9kYWwtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItbW9kYWwvZHItbW9kYWwtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxhQUFhO0NBZXpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHJNb2RhbEFuaW1hdGlvbkNsYXNzZXMsIERyTW9kYWxBbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4vZHItbW9kYWwudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgRHJNb2RhbENvbmZpZzxEYXRhID0gdW5rbm93bj4ge1xuICAgIC8qKiBVbmlxIGlkIHRvIHByZXZlbnQgb3BlbmluZyBtdWx0aXBsZSBtb2RhbHMgd2l0aCB0aGUgc2FtZSBpZCAqL1xuICAgIGlkPzogc3RyaW5nO1xuXG4gICAgLyoqIERhdGEgYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgY2hpbGQgY29tcG9uZW50ICovXG4gICAgZGF0YT86IERhdGE7XG5cbiAgICAvKiogRGlzYWJsZSBjbG9zaW5nIG1vZGFsIGJ5IGNsaWNraW5nIG9uIGJhY2tkcm9wIChbbW9kYWxDbG9zZV0gYW5kIG1vZGFsUmVmLmNsb3NlIHdpbGwgY2xvc2UgdGhlIG1vZGFsIGFzIHVzdWFsKSAqL1xuICAgIGRpc2FibGVDbG9zZT86IGJvb2xlYW47XG5cbiAgICAvKiogSW5qZWN0b3IgdXNlZCBmb3IgdGhlIGluc3RhbnRpYXRpb24gb2YgdGhlIGNvbXBvbmVudCB0byBiZSBhdHRhY2hlZCAqL1xuICAgIGluamVjdG9yPzogSW5qZWN0b3I7XG5cbiAgICAvKiogQ29uZmlnIGZvciBjdXN0b20gYW5pbWF0aW9ucyAqL1xuICAgIGFuaW1hdGlvbj86IHsgY2xhc3M/OiBEck1vZGFsQW5pbWF0aW9uQ2xhc3NlczsgZHVyYXRpb24/OiBEck1vZGFsQW5pbWF0aW9uRHVyYXRpb24gfTtcbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const DR_MODAL_DEFAULT_CONFIG = new InjectionToken('DR_MODAL_DEFAULT_CONFIG', {
3
+ providedIn: 'root',
4
+ factory: () => ({
5
+ autoFocus: 'input, button[type="submit"], dr-modal-container',
6
+ hasBackdrop: true,
7
+ closeOnNavigation: false,
8
+ width: 'auto',
9
+ height: 'auto',
10
+ minHeight: 'auto',
11
+ backdropClass: 'cdk-overlay-dark-backdrop',
12
+ }),
13
+ });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbW9kYWwtY29uZmlnLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItbW9kYWwvZHItbW9kYWwtY29uZmlnLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxjQUFjLENBQWUseUJBQXlCLEVBQUU7SUFDL0YsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUNWLENBQUM7UUFDRyxTQUFTLEVBQUUsa0RBQWtEO1FBQzdELFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGlCQUFpQixFQUFFLEtBQUs7UUFDeEIsS0FBSyxFQUFFLE1BQU07UUFDYixNQUFNLEVBQUUsTUFBTTtRQUNkLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLGFBQWEsRUFBRSwyQkFBMkI7S0FDN0MsQ0FBd0I7Q0FDaEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuXG5leHBvcnQgY29uc3QgRFJfTU9EQUxfREVGQVVMVF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RGlhbG9nQ29uZmlnPignRFJfTU9EQUxfREVGQVVMVF9DT05GSUcnLCB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+XG4gICAgICAgICh7XG4gICAgICAgICAgICBhdXRvRm9jdXM6ICdpbnB1dCwgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sIGRyLW1vZGFsLWNvbnRhaW5lcicsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIHdpZHRoOiAnYXV0bycsXG4gICAgICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgICAgICAgIG1pbkhlaWdodDogJ2F1dG8nLFxuICAgICAgICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LWRhcmstYmFja2Ryb3AnLFxuICAgICAgICB9KSBzYXRpc2ZpZXMgRGlhbG9nQ29uZmlnLFxufSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbW9kYWwtZm9ybS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLW1vZGFsL2RyLW1vZGFsLWZvcm0udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBc3luY1ZhbGlkYXRvckZuLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRpbWVmcmFtZU9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9kYXRlUGlja2VyJztcblxuZXhwb3J0IHR5cGUgRHJNb2RhbEZvcm1GaWVsZFR5cGUgPSAnaW5wdXQnIHwgJ3NlbGVjdCcgfCAnZGF0ZV9waWNrZXInIHwgJ2NoZWNrYm94JztcblxuZXhwb3J0IGludGVyZmFjZSBNb2RhbEZvcm1GaWVsZEJhc2U8VmFsdWUsIE5hbWUgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+IHtcbiAgICBuYW1lOiBOYW1lO1xuICAgIHZhbHVlOiBWYWx1ZTsgLy8gcHJldmlvdXMgZGVmYXVsdFxuICAgIHR5cGU6IERyTW9kYWxGb3JtRmllbGRUeXBlO1xuXG4gICAgZmllbGRDbGFzcz86IHN0cmluZzsgLy8gcHJldmlvdXMgZm9ybUdyb3VwQ2xhc3NcbiAgICB2YWxpZGF0b3JzPzogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdO1xuICAgIGFzeW5jVmFsaWRhdG9ycz86IEFzeW5jVmFsaWRhdG9yRm5bXTtcblxuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIGlzTGFiZWxGdWxsV2lkdGg/OiBib29sZWFuO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyTW9kYWxGb3JtSW5wdXRGaWVsZDxOYW1lIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiBleHRlbmRzIE1vZGFsRm9ybUZpZWxkQmFzZTxzdHJpbmcsIE5hbWU+IHtcbiAgICB0eXBlOiAnaW5wdXQnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyTW9kYWxGb3JtQ2hlY2tib3hGaWVsZDxOYW1lIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiBleHRlbmRzIE1vZGFsRm9ybUZpZWxkQmFzZTxib29sZWFuLCBOYW1lPiB7XG4gICAgdHlwZTogJ2NoZWNrYm94Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEck1vZGFsRm9ybURhdGVwaWNrZXJGaWVsZDxOYW1lIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiBleHRlbmRzIE1vZGFsRm9ybUZpZWxkQmFzZTxudW1iZXIsIE5hbWU+IHtcbiAgICB0eXBlOiAnZGF0ZV9waWNrZXInO1xuICAgIGRhdGVQaWNrZXJGb3JtYXQ/OiBUaW1lZnJhbWVPcHRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJNb2RhbEZvcm1TZWxlY3Q8VCwgTmFtZSBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4gZXh0ZW5kcyBNb2RhbEZvcm1GaWVsZEJhc2U8VCwgTmFtZT4ge1xuICAgIHR5cGU6ICdzZWxlY3QnO1xuICAgIGl0ZW1zJDogT2JzZXJ2YWJsZTxyZWFkb25seSB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBUIH1bXT47XG5cbiAgICBhZGRUYWc/OiBib29sZWFuO1xuICAgIGNsZWFyYWJsZT86IGJvb2xlYW47XG4gICAgc2VhcmNoYWJsZT86IGJvb2xlYW47XG4gICAgaXNPcHRpb25hbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIERyTW9kYWxGb3JtRmllbGQ8VCA9IHVua25vd24+ID1cbiAgICB8IERyTW9kYWxGb3JtSW5wdXRGaWVsZFxuICAgIHwgRHJNb2RhbEZvcm1DaGVja2JveEZpZWxkXG4gICAgfCBEck1vZGFsRm9ybURhdGVwaWNrZXJGaWVsZFxuICAgIHwgRHJNb2RhbEZvcm1TZWxlY3Q8VD47XG5cbmV4cG9ydCB0eXBlIERyTW9kYWxGb3JtUmVzdWx0PEZpZWxkcyBleHRlbmRzIHJlYWRvbmx5IERyTW9kYWxGb3JtRmllbGRbXT4gPSB7XG4gICAgW0sgaW4gRmllbGRzW251bWJlcl1bJ25hbWUnXV06IEV4dHJhY3Q8RmllbGRzW251bWJlcl0sIHsgbmFtZTogSyB9PlsndmFsdWUnXTtcbn07XG4iXX0=
@@ -0,0 +1,18 @@
1
+ export const modalFormInput = (config) => ({
2
+ ...config,
3
+ type: 'input',
4
+ });
5
+ export const modalFormCheckbox = (config) => ({
6
+ ...config,
7
+ type: 'checkbox',
8
+ });
9
+ export const modalFormDatepicker = (config) => ({
10
+ ...config,
11
+ type: 'date_picker',
12
+ });
13
+ export const modalFormSelect = (config, items$) => ({
14
+ ...config,
15
+ items$,
16
+ type: 'select',
17
+ });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbW9kYWwtZm9ybS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLW1vZGFsL2RyLW1vZGFsLWZvcm0udXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQW1CLE1BQThDLEVBQTRCLEVBQUUsQ0FBQyxDQUFDO0lBQzNILEdBQUcsTUFBTTtJQUNULElBQUksRUFBRSxPQUFPO0NBQ2hCLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQzdCLE1BQWlELEVBQ3RCLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLEdBQUcsTUFBTTtJQUNULElBQUksRUFBRSxVQUFVO0NBQ25CLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQy9CLE1BQW1ELEVBQ3RCLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLEdBQUcsTUFBTTtJQUNULElBQUksRUFBRSxhQUFhO0NBQ3RCLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUMzQixNQUF3RCxFQUN4RCxNQUEwRCxFQUNuQyxFQUFFLENBQUMsQ0FBQztJQUMzQixHQUFHLE1BQU07SUFFVCxNQUFNO0lBQ04sSUFBSSxFQUFFLFFBQVE7Q0FDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIERyTW9kYWxGb3JtQ2hlY2tib3hGaWVsZCxcbiAgICBEck1vZGFsRm9ybURhdGVwaWNrZXJGaWVsZCxcbiAgICBEck1vZGFsRm9ybUlucHV0RmllbGQsXG4gICAgRHJNb2RhbEZvcm1TZWxlY3QsXG59IGZyb20gJy4vZHItbW9kYWwtZm9ybS50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBtb2RhbEZvcm1JbnB1dCA9IDxOIGV4dGVuZHMgc3RyaW5nPihjb25maWc6IE9taXQ8RHJNb2RhbEZvcm1JbnB1dEZpZWxkPE4+LCAndHlwZSc+KTogRHJNb2RhbEZvcm1JbnB1dEZpZWxkPE4+ID0+ICh7XG4gICAgLi4uY29uZmlnLFxuICAgIHR5cGU6ICdpbnB1dCcsXG59KTtcblxuZXhwb3J0IGNvbnN0IG1vZGFsRm9ybUNoZWNrYm94ID0gPE4gZXh0ZW5kcyBzdHJpbmc+KFxuICAgIGNvbmZpZzogT21pdDxEck1vZGFsRm9ybUNoZWNrYm94RmllbGQ8Tj4sICd0eXBlJz4sXG4pOiBEck1vZGFsRm9ybUNoZWNrYm94RmllbGQ8Tj4gPT4gKHtcbiAgICAuLi5jb25maWcsXG4gICAgdHlwZTogJ2NoZWNrYm94Jyxcbn0pO1xuXG5leHBvcnQgY29uc3QgbW9kYWxGb3JtRGF0ZXBpY2tlciA9IDxOIGV4dGVuZHMgc3RyaW5nPihcbiAgICBjb25maWc6IE9taXQ8RHJNb2RhbEZvcm1EYXRlcGlja2VyRmllbGQ8Tj4sICd0eXBlJz4sXG4pOiBEck1vZGFsRm9ybURhdGVwaWNrZXJGaWVsZDxOPiA9PiAoe1xuICAgIC4uLmNvbmZpZyxcbiAgICB0eXBlOiAnZGF0ZV9waWNrZXInLFxufSk7XG5cbmV4cG9ydCBjb25zdCBtb2RhbEZvcm1TZWxlY3QgPSA8VCwgTiBleHRlbmRzIHN0cmluZz4oXG4gICAgY29uZmlnOiBPbWl0PERyTW9kYWxGb3JtU2VsZWN0PFQsIE4+LCAndHlwZScgfCAnaXRlbXMkJz4sXG4gICAgaXRlbXMkOiBPYnNlcnZhYmxlPHJlYWRvbmx5IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IFQgfVtdPixcbik6IERyTW9kYWxGb3JtU2VsZWN0PFQsIE4+ID0+ICh7XG4gICAgLi4uY29uZmlnLFxuXG4gICAgaXRlbXMkLFxuICAgIHR5cGU6ICdzZWxlY3QnLFxufSk7XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';
2
+ import { merge } from 'rxjs';
3
+ import { filter } from 'rxjs/operators';
4
+ export class DrModalRef {
5
+ constructor(innerRef, config) {
6
+ this.innerRef = innerRef;
7
+ this.config = config;
8
+ this.id = this.innerRef.id;
9
+ this.ref = this.innerRef.componentInstance;
10
+ this.data = this.config.data;
11
+ this.afterClosed$ = this.innerRef.closed;
12
+ this.container = this.innerRef.containerInstance;
13
+ this.disableClose = this.config.disableClose;
14
+ this.isClosing = false;
15
+ const escapeKeydownEvents$ = this.innerRef.keydownEvents.pipe(filter((event) => event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event)));
16
+ merge(this.innerRef.backdropClick, escapeKeydownEvents$).subscribe((event) => {
17
+ if (!this.disableClose) {
18
+ event.preventDefault();
19
+ this.close(null);
20
+ }
21
+ });
22
+ this.innerRef.overlayRef.detachments().subscribe(() => {
23
+ this.isClosing = true;
24
+ this.cdkClose(this.result);
25
+ });
26
+ }
27
+ close(result) {
28
+ if (this.isClosing) {
29
+ return;
30
+ }
31
+ this.result = result;
32
+ // init closing
33
+ this.isClosing = true;
34
+ this.innerRef.overlayRef.detachBackdrop(); // disable other backdrop clicks
35
+ this.container.animateClose();
36
+ setTimeout(() => this.cdkClose(result), this.container.animationTime());
37
+ }
38
+ cdkClose(result) {
39
+ this.innerRef.close(result);
40
+ }
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbW9kYWwtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItbW9kYWwvZHItbW9kYWwtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNeEMsTUFBTSxPQUFPLFVBQVU7SUFhbkIsWUFDcUIsUUFBa0MsRUFDbkMsTUFBNEI7UUFEM0IsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbkMsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFkaEMsT0FBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3RCLFFBQUcsR0FBUyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUF5QixDQUFDO1FBQ3BELFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQWEsQ0FBQztRQUVqQyxpQkFBWSxHQUFvQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUNyRSxjQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBOEMsQ0FBQztRQUVsRixpQkFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBR3ZDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFNdEIsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3pELE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzlGLENBQUM7UUFFRixLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDcEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3BCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLEtBQUssQ0FBQyxNQUFnQjtRQUN6QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFckIsZUFBZTtRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsZ0NBQWdDO1FBRTNFLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFOUIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTyxRQUFRLENBQUMsTUFBZ0I7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBaUIsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHsgRVNDQVBFLCBoYXNNb2RpZmllcktleSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBtZXJnZSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEck1vZGFsQ29uZmlnIH0gZnJvbSAnLi9kci1tb2RhbC1jb25maWcnO1xuXG5pbXBvcnQgeyBEck1vZGFsQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RyLW1vZGFsLWNvbnRhaW5lci9kci1tb2RhbC1jb250YWluZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIERyTW9kYWxSZWY8VERhdGEgPSB1bmtub3duLCBUUmVzdWx0ID0gdW5rbm93biwgVFJlZiA9IHVua25vd24+IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWQgPSB0aGlzLmlubmVyUmVmLmlkO1xuICAgIHB1YmxpYyByZWFkb25seSByZWY6IFRSZWYgPSB0aGlzLmlubmVyUmVmLmNvbXBvbmVudEluc3RhbmNlIGFzIFRSZWY7XG4gICAgcHVibGljIHJlYWRvbmx5IGRhdGEgPSB0aGlzLmNvbmZpZy5kYXRhIGFzIFREYXRhO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGFmdGVyQ2xvc2VkJDogT2JzZXJ2YWJsZTxUUmVzdWx0IHwgdW5kZWZpbmVkPiA9IHRoaXMuaW5uZXJSZWYuY2xvc2VkO1xuICAgIHB1YmxpYyByZWFkb25seSBjb250YWluZXIgPSB0aGlzLmlubmVyUmVmLmNvbnRhaW5lckluc3RhbmNlIGFzIERyTW9kYWxDb250YWluZXJDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgZGlzYWJsZUNsb3NlID0gdGhpcy5jb25maWcuZGlzYWJsZUNsb3NlO1xuXG4gICAgcHJpdmF0ZSByZXN1bHQ/OiBUUmVzdWx0IHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgaXNDbG9zaW5nID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbm5lclJlZjogRGlhbG9nUmVmPFRSZXN1bHQsIFRSZWY+LFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnOiBEck1vZGFsQ29uZmlnPFREYXRhPixcbiAgICApIHtcbiAgICAgICAgY29uc3QgZXNjYXBlS2V5ZG93bkV2ZW50cyQgPSB0aGlzLmlubmVyUmVmLmtleWRvd25FdmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LmtleUNvZGUgPT09IEVTQ0FQRSAmJiAhdGhpcy5kaXNhYmxlQ2xvc2UgJiYgIWhhc01vZGlmaWVyS2V5KGV2ZW50KSksXG4gICAgICAgICk7XG5cbiAgICAgICAgbWVyZ2UodGhpcy5pbm5lclJlZi5iYWNrZHJvcENsaWNrLCBlc2NhcGVLZXlkb3duRXZlbnRzJCkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVDbG9zZSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZShudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5pbm5lclJlZi5vdmVybGF5UmVmLmRldGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNDbG9zaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY2RrQ2xvc2UodGhpcy5yZXN1bHQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UocmVzdWx0PzogVFJlc3VsdCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Nsb3NpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVzdWx0ID0gcmVzdWx0O1xuXG4gICAgICAgIC8vIGluaXQgY2xvc2luZ1xuICAgICAgICB0aGlzLmlzQ2xvc2luZyA9IHRydWU7XG4gICAgICAgIHRoaXMuaW5uZXJSZWYub3ZlcmxheVJlZi5kZXRhY2hCYWNrZHJvcCgpOyAvLyBkaXNhYmxlIG90aGVyIGJhY2tkcm9wIGNsaWNrc1xuXG4gICAgICAgIHRoaXMuY29udGFpbmVyLmFuaW1hdGVDbG9zZSgpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jZGtDbG9zZShyZXN1bHQpLCB0aGlzLmNvbnRhaW5lci5hbmltYXRpb25UaW1lKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2RrQ2xvc2UocmVzdWx0PzogVFJlc3VsdCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlubmVyUmVmLmNsb3NlKHJlc3VsdCBhcyBUUmVzdWx0KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { inject } from '@angular/core';
2
+ import { DrModalRef } from './dr-modal-ref';
3
+ export class DrModal {
4
+ constructor() {
5
+ this.modalRef = inject(DrModalRef);
6
+ this.data = this.modalRef.data;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1tb2RhbC9kci1tb2RhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxNQUFNLE9BQU8sT0FBTztJQUFwQjtRQUN1QixhQUFRLEdBQUcsTUFBTSxDQUEyQixVQUFVLENBQUMsQ0FBQztRQUN4RCxTQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDakQsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEck1vZGFsUmVmIH0gZnJvbSAnLi9kci1tb2RhbC1yZWYnO1xuXG5leHBvcnQgY2xhc3MgRHJNb2RhbDxEYXRhID0gdW5rbm93biwgUmVzdWx0ID0gdW5rbm93bj4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBtb2RhbFJlZiA9IGluamVjdDxEck1vZGFsUmVmPERhdGEsIFJlc3VsdD4+KERyTW9kYWxSZWYpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkYXRhID0gdGhpcy5tb2RhbFJlZi5kYXRhO1xufVxuIl19
@@ -0,0 +1,34 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { DrModalComponent } from './components/dr-modal/dr-modal.component';
3
+ import { DrModalCloseDirective } from './directives/dr-modal-close.directive';
4
+ import { DrModalHeaderDirective, DrModalTitleDirective, DrModalSubtitleDirective, DrModalBodyDirective, DrModalFooterDirective, } from './dr-modal.slots';
5
+ import * as i0 from "@angular/core";
6
+ const slots = [
7
+ DrModalHeaderDirective,
8
+ DrModalTitleDirective,
9
+ DrModalSubtitleDirective,
10
+ DrModalBodyDirective,
11
+ DrModalFooterDirective,
12
+ ];
13
+ export class DrModalModule {
14
+ /** @nocollapse */ static { this.ɵfac = function DrModalModule_Factory(t) { return new (t || DrModalModule)(); }; }
15
+ /** @nocollapse */ static { this.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: DrModalModule }); }
16
+ /** @nocollapse */ static { this.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ imports: [DrModalComponent] }); }
17
+ }
18
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrModalModule, [{
19
+ type: NgModule,
20
+ args: [{
21
+ imports: [DrModalComponent, slots, DrModalCloseDirective],
22
+ exports: [DrModalComponent, slots, DrModalCloseDirective],
23
+ }]
24
+ }], null, null); })();
25
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DrModalModule, { imports: [DrModalComponent, DrModalHeaderDirective,
26
+ DrModalTitleDirective,
27
+ DrModalSubtitleDirective,
28
+ DrModalBodyDirective,
29
+ DrModalFooterDirective, DrModalCloseDirective], exports: [DrModalComponent, DrModalHeaderDirective,
30
+ DrModalTitleDirective,
31
+ DrModalSubtitleDirective,
32
+ DrModalBodyDirective,
33
+ DrModalFooterDirective, DrModalCloseDirective] }); })();
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbW9kYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItbW9kYWwvZHItbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFOUUsT0FBTyxFQUNILHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQixzQkFBc0IsR0FDekIsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFMUIsTUFBTSxLQUFLLEdBQUc7SUFDVixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4QixvQkFBb0I7SUFDcEIsc0JBQXNCO0NBQ3pCLENBQUM7QUFNRixNQUFNLE9BQU8sYUFBYTtpR0FBYixhQUFhO2tHQUFiLGFBQWE7c0dBSFosZ0JBQWdCOzt1RkFHakIsYUFBYTtjQUp6QixRQUFRO2VBQUM7Z0JBQ04sT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixDQUFDO2dCQUN6RCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUscUJBQXFCLENBQUM7YUFDNUQ7O3dGQUNZLGFBQWEsY0FIWixnQkFBZ0IsRUFSMUIsc0JBQXNCO1FBQ3RCLHFCQUFxQjtRQUNyQix3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLHNCQUFzQixFQUlhLHFCQUFxQixhQUM5QyxnQkFBZ0IsRUFUMUIsc0JBQXNCO1FBQ3RCLHFCQUFxQjtRQUNyQix3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLHNCQUFzQixFQUthLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHItbW9kYWwvZHItbW9kYWwuY29tcG9uZW50JztcblxuaW1wb3J0IHsgRHJNb2RhbENsb3NlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RyLW1vZGFsLWNsb3NlLmRpcmVjdGl2ZSc7XG5cbmltcG9ydCB7XG4gICAgRHJNb2RhbEhlYWRlckRpcmVjdGl2ZSxcbiAgICBEck1vZGFsVGl0bGVEaXJlY3RpdmUsXG4gICAgRHJNb2RhbFN1YnRpdGxlRGlyZWN0aXZlLFxuICAgIERyTW9kYWxCb2R5RGlyZWN0aXZlLFxuICAgIERyTW9kYWxGb290ZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vZHItbW9kYWwuc2xvdHMnO1xuXG5jb25zdCBzbG90cyA9IFtcbiAgICBEck1vZGFsSGVhZGVyRGlyZWN0aXZlLFxuICAgIERyTW9kYWxUaXRsZURpcmVjdGl2ZSxcbiAgICBEck1vZGFsU3VidGl0bGVEaXJlY3RpdmUsXG4gICAgRHJNb2RhbEJvZHlEaXJlY3RpdmUsXG4gICAgRHJNb2RhbEZvb3RlckRpcmVjdGl2ZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0RyTW9kYWxDb21wb25lbnQsIHNsb3RzLCBEck1vZGFsQ2xvc2VEaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtEck1vZGFsQ29tcG9uZW50LCBzbG90cywgRHJNb2RhbENsb3NlRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJNb2RhbE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,89 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { Dialog } from '@angular/cdk/dialog';
3
+ import { firstValueFrom } from 'rxjs';
4
+ import { uniqueId } from 'lodash';
5
+ import { DrModalContainerComponent } from './components/dr-modal-container/dr-modal-container.component';
6
+ import { DrModalRef } from './dr-modal-ref';
7
+ import { DrModalConfig } from './dr-modal-config';
8
+ import { DR_MODAL_DEFAULT_CONFIG } from './dr-modal-config.provider';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/cdk/dialog";
11
+ export class DrModalService {
12
+ constructor(dialog) {
13
+ this.dialog = dialog;
14
+ this._modals = [];
15
+ this.defaultConfig = inject(DR_MODAL_DEFAULT_CONFIG);
16
+ // start lazy loading of confirmation modal on creation
17
+ this.confirmComponentPromise = import('./components/dr-confirm-modal/dr-confirm-modal.component').then((m) => m.DrConfirmModalComponent);
18
+ }
19
+ get modals() {
20
+ return this._modals;
21
+ }
22
+ open(component, config) {
23
+ // Prevent from opening modal with same id
24
+ const existingModal = config?.id ? this.modals.find((modal) => modal.config.id === config.id) : null;
25
+ if (existingModal) {
26
+ return existingModal;
27
+ }
28
+ let modalRef;
29
+ let drModalConfig;
30
+ const id = config.id ?? uniqueId();
31
+ const newConfig = {
32
+ ...this.defaultConfig,
33
+ ...config,
34
+ id,
35
+ // Disable closing since we need to sync it up to the animation ourselves.
36
+ disableClose: true,
37
+ // Disable closing on destroy, because this service cleans up its open modals as well.
38
+ // We want to do the cleanup here, rather than the CDK service, because the CDK destroys
39
+ // the dialogs immediately whereas we want it to wait for the animations to finish.
40
+ closeOnDestroy: false,
41
+ // Disable closing on detachments so that we can sync up the animation
42
+ closeOnOverlayDetachments: false,
43
+ providers: (dialogRef, _config) => {
44
+ modalRef = new DrModalRef(dialogRef, drModalConfig);
45
+ return [
46
+ { provide: DrModalRef, useValue: modalRef },
47
+ { provide: DrModalConfig, useValue: drModalConfig },
48
+ ];
49
+ },
50
+ container: {
51
+ type: DrModalContainerComponent,
52
+ providers: (_config) => {
53
+ drModalConfig = { ...config, id };
54
+ return [{ provide: DrModalConfig, useValue: drModalConfig }];
55
+ },
56
+ },
57
+ };
58
+ this.dialog.open(component, newConfig);
59
+ this._modals[modalRef.id] = modalRef;
60
+ modalRef.afterClosed$.subscribe(() => delete this._modals[modalRef.id]);
61
+ return modalRef;
62
+ }
63
+ async confirm(data = {}) {
64
+ const modalRef = this.open(await this.confirmComponentPromise, { data: this.getConfirmData(data) });
65
+ return (await firstValueFrom(modalRef.afterClosed$)) || false;
66
+ }
67
+ closeAll() {
68
+ [...this.modals].reverse().forEach((modal) => modal.close());
69
+ }
70
+ getConfirmData(data) {
71
+ return {
72
+ size: 'xs',
73
+ maxHeight: 'size',
74
+ withCloseBtn: true,
75
+ cancelBtn: { theme: 'secondary', label: 'Cancel' },
76
+ acceptBtn: { theme: 'primary', label: 'Confirm' },
77
+ ...data,
78
+ };
79
+ }
80
+ /** @nocollapse */ static { this.ɵfac = function DrModalService_Factory(t) { return new (t || DrModalService)(i0.ɵɵinject(i1.Dialog)); }; }
81
+ /** @nocollapse */ static { this.ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: DrModalService, factory: DrModalService.ɵfac, providedIn: 'root' }); }
82
+ }
83
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrModalService, [{
84
+ type: Injectable,
85
+ args: [{
86
+ providedIn: 'root',
87
+ }]
88
+ }], function () { return [{ type: i1.Dialog }]; }, null); })();
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLW1vZGFsL2RyLW1vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQTJCLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRXpHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFLbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUtyRSxNQUFNLE9BQU8sY0FBYztJQVV2QixZQUE2QixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVQxQixZQUFPLEdBQWlCLEVBQUUsQ0FBQztRQUUzQixrQkFBYSxHQUFHLE1BQU0sQ0FBb0IsdUJBQXVCLENBQUMsQ0FBQztRQUVwRix1REFBdUQ7UUFDdEMsNEJBQXVCLEdBQUcsTUFBTSxDQUFDLDBEQUEwRCxDQUFDLENBQUMsSUFBSSxDQUM5RyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUNuQyxDQUFDO0lBRTRDLENBQUM7SUFFL0MsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxJQUFJLENBQ1AsU0FBOEMsRUFDOUMsTUFBNkI7UUFFN0IsMENBQTBDO1FB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RTtZQUNsRCxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7WUFFakQsR0FBRyxJQUFJO1NBQ1YsQ0FBQztJQUNOLENBQUM7a0dBdEdRLGNBQWM7c0dBQWQsY0FBYyxXQUFkLGNBQWMsbUJBRlgsTUFBTTs7dUZBRVQsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIFN0YXRpY1Byb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2csIERpYWxvZ0NvbmZpZywgRGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RpYWxvZyc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBEck1vZGFsQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RyLW1vZGFsLWNvbnRhaW5lci9kci1tb2RhbC1jb250YWluZXIuY29tcG9uZW50JztcblxuaW1wb3J0IHsgRHJNb2RhbFJlZiB9IGZyb20gJy4vZHItbW9kYWwtcmVmJztcbmltcG9ydCB7IERyTW9kYWxDb25maWcgfSBmcm9tICcuL2RyLW1vZGFsLWNvbmZpZyc7XG5cbmltcG9ydCB7IERyTW9kYWxGb3JtRmllbGQgfSBmcm9tICcuL2RyLW1vZGFsLWZvcm0udHlwZXMnO1xuaW1wb3J0IHsgRHJNb2RhbENvbXBvbmVudFJlZiwgRHJNb2RhbENvbmZpcm1EYXRhIH0gZnJvbSAnLi9kci1tb2RhbC50eXBlcyc7XG5cbmltcG9ydCB7IERSX01PREFMX0RFRkFVTFRfQ09ORklHIH0gZnJvbSAnLi9kci1tb2RhbC1jb25maWcucHJvdmlkZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEck1vZGFsU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfbW9kYWxzOiBEck1vZGFsUmVmW10gPSBbXTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdENvbmZpZyA9IGluamVjdDxEaWFsb2dDb25maWc8YW55Pj4oRFJfTU9EQUxfREVGQVVMVF9DT05GSUcpO1xuXG4gICAgLy8gc3RhcnQgbGF6eSBsb2FkaW5nIG9mIGNvbmZpcm1hdGlvbiBtb2RhbCBvbiBjcmVhdGlvblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybUNvbXBvbmVudFByb21pc2UgPSBpbXBvcnQoJy4vY29tcG9uZW50cy9kci1jb25maXJtLW1vZGFsL2RyLWNvbmZpcm0tbW9kYWwuY29tcG9uZW50JykudGhlbihcbiAgICAgICAgKG0pID0+IG0uRHJDb25maXJtTW9kYWxDb21wb25lbnQsXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBEaWFsb2cpIHt9XG5cbiAgICBwdWJsaWMgZ2V0IG1vZGFscygpOiByZWFkb25seSBEck1vZGFsUmVmW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbW9kYWxzO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuPFREYXRhLCBUUmVzdWx0ID0gdW5rbm93bj4oXG4gICAgICAgIGNvbXBvbmVudDogRHJNb2RhbENvbXBvbmVudFJlZjxURGF0YSwgVFJlc3VsdD4sXG4gICAgICAgIGNvbmZpZz86IERyTW9kYWxDb25maWc8VERhdGE+LFxuICAgICk6IERyTW9kYWxSZWY8VERhdGEsIFRSZXN1bHQ+IHtcbiAgICAgICAgLy8gUHJldmVudCBmcm9tIG9wZW5pbmcgbW9kYWwgd2l0aCBzYW1lIGlkXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nTW9kYWwgPSBjb25maWc/LmlkID8gdGhpcy5tb2RhbHMuZmluZCgobW9kYWwpID0+IG1vZGFsLmNvbmZpZy5pZCA9PT0gY29uZmlnLmlkKSA6IG51bGw7XG5cbiAgICAgICAgaWYgKGV4aXN0aW5nTW9kYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBleGlzdGluZ01vZGFsIGFzIERyTW9kYWxSZWY8VERhdGEsIFRSZXN1bHQ+O1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG1vZGFsUmVmITogRHJNb2RhbFJlZjxURGF0YSwgVFJlc3VsdD47XG4gICAgICAgIGxldCBkck1vZGFsQ29uZmlnITogRHJNb2RhbENvbmZpZzxURGF0YT47XG5cbiAgICAgICAgY29uc3QgaWQgPSBjb25maWcuaWQgPz8gdW5pcXVlSWQoKTtcbiAgICAgICAgY29uc3QgbmV3Q29uZmlnID0ge1xuICAgICAgICAgICAgLi4udGhpcy5kZWZhdWx0Q29uZmlnLFxuXG4gICAgICAgICAgICAuLi5jb25maWcsXG5cbiAgICAgICAgICAgIGlkLFxuXG4gICAgICAgICAgICAvLyBEaXNhYmxlIGNsb3Npbmcgc2luY2Ugd2UgbmVlZCB0byBzeW5jIGl0IHVwIHRvIHRoZSBhbmltYXRpb24gb3Vyc2VsdmVzLlxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuXG4gICAgICAgICAgICAvLyBEaXNhYmxlIGNsb3Npbmcgb24gZGVzdHJveSwgYmVjYXVzZSB0aGlzIHNlcnZpY2UgY2xlYW5zIHVwIGl0cyBvcGVuIG1vZGFscyBhcyB3ZWxsLlxuICAgICAgICAgICAgLy8gV2Ugd2FudCB0byBkbyB0aGUgY2xlYW51cCBoZXJlLCByYXRoZXIgdGhhbiB0aGUgQ0RLIHNlcnZpY2UsIGJlY2F1c2UgdGhlIENESyBkZXN0cm95c1xuICAgICAgICAgICAgLy8gdGhlIGRpYWxvZ3MgaW1tZWRpYXRlbHkgd2hlcmVhcyB3ZSB3YW50IGl0IHRvIHdhaXQgZm9yIHRoZSBhbmltYXRpb25zIHRvIGZpbmlzaC5cbiAgICAgICAgICAgIGNsb3NlT25EZXN0cm95OiBmYWxzZSxcblxuICAgICAgICAgICAgLy8gRGlzYWJsZSBjbG9zaW5nIG9uIGRldGFjaG1lbnRzIHNvIHRoYXQgd2UgY2FuIHN5bmMgdXAgdGhlIGFuaW1hdGlvblxuICAgICAgICAgICAgY2xvc2VPbk92ZXJsYXlEZXRhY2htZW50czogZmFsc2UsXG5cbiAgICAgICAgICAgIHByb3ZpZGVyczogKGRpYWxvZ1JlZjogRGlhbG9nUmVmPFRSZXN1bHQ+LCBfY29uZmlnOiBEaWFsb2dDb25maWc8VERhdGE+KTogU3RhdGljUHJvdmlkZXJbXSA9PiB7XG4gICAgICAgICAgICAgICAgbW9kYWxSZWYgPSBuZXcgRHJNb2RhbFJlZjxURGF0YSwgVFJlc3VsdD4oZGlhbG9nUmVmLCBkck1vZGFsQ29uZmlnKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogRHJNb2RhbFJlZiwgdXNlVmFsdWU6IG1vZGFsUmVmIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogRHJNb2RhbENvbmZpZywgdXNlVmFsdWU6IGRyTW9kYWxDb25maWcgfSxcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgY29udGFpbmVyOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogRHJNb2RhbENvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBwcm92aWRlcnM6IChfY29uZmlnKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRyTW9kYWxDb25maWcgPSB7IC4uLmNvbmZpZywgaWQgfTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3sgcHJvdmlkZTogRHJNb2RhbENvbmZpZywgdXNlVmFsdWU6IGRyTW9kYWxDb25maWcgfV07XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0gc2F0aXNmaWVzIERpYWxvZ0NvbmZpZzxURGF0YSwgRGlhbG9nUmVmPFRSZXN1bHQ+PjtcblxuICAgICAgICB0aGlzLmRpYWxvZy5vcGVuPFRSZXN1bHQsIFREYXRhPihjb21wb25lbnQsIG5ld0NvbmZpZyk7XG5cbiAgICAgICAgdGhpcy5fbW9kYWxzW21vZGFsUmVmLmlkXSA9IG1vZGFsUmVmO1xuICAgICAgICBtb2RhbFJlZi5hZnRlckNsb3NlZCQuc3Vic2NyaWJlKCgpID0+IGRlbGV0ZSB0aGlzLl9tb2RhbHNbbW9kYWxSZWYuaWRdKTtcblxuICAgICAgICByZXR1cm4gbW9kYWxSZWY7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGNvbmZpcm08RmllbGRzIGV4dGVuZHMgcmVhZG9ubHkgRHJNb2RhbEZvcm1GaWVsZDxhbnk+W10gPSBEck1vZGFsRm9ybUZpZWxkPGFueT5bXT4oXG4gICAgICAgIGRhdGE6IERyTW9kYWxDb25maXJtRGF0YTxGaWVsZHM+ID0ge30sXG4gICAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5vcGVuKGF3YWl0IHRoaXMuY29uZmlybUNvbXBvbmVudFByb21pc2UsIHsgZGF0YTogdGhpcy5nZXRDb25maXJtRGF0YShkYXRhKSB9KTtcblxuICAgICAgICByZXR1cm4gKGF3YWl0IGZpcnN0VmFsdWVGcm9tKG1vZGFsUmVmLmFmdGVyQ2xvc2VkJCkpIHx8IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgWy4uLnRoaXMubW9kYWxzXS5yZXZlcnNlKCkuZm9yRWFjaCgobW9kYWwpID0+IG1vZGFsLmNsb3NlKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29uZmlybURhdGE8RmllbGRzIGV4dGVuZHMgcmVhZG9ubHkgRHJNb2RhbEZvcm1GaWVsZDxhbnk+W10gPSBEck1vZGFsRm9ybUZpZWxkPGFueT5bXT4oXG4gICAgICAgIGRhdGE6IERyTW9kYWxDb25maXJtRGF0YTxGaWVsZHM+LFxuICAgICk6IERyTW9kYWxDb25maXJtRGF0YTxGaWVsZHM+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNpemU6ICd4cycsXG4gICAgICAgICAgICBtYXhIZWlnaHQ6ICdzaXplJyxcblxuICAgICAgICAgICAgd2l0aENsb3NlQnRuOiB0cnVlLFxuXG4gICAgICAgICAgICBjYW5jZWxCdG46IHsgdGhlbWU6ICdzZWNvbmRhcnknLCBsYWJlbDogJ0NhbmNlbCcgfSxcbiAgICAgICAgICAgIGFjY2VwdEJ0bjogeyB0aGVtZTogJ3ByaW1hcnknLCBsYWJlbDogJ0NvbmZpcm0nIH0sXG5cbiAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
@@ -0,0 +1,91 @@
1
+ import { Directive, inject } from '@angular/core';
2
+ import { DrModalConfig } from './dr-modal-config';
3
+ import { DrModalRef } from './dr-modal-ref';
4
+ import * as i0 from "@angular/core";
5
+ export class DrModalHeaderDirective {
6
+ /** @nocollapse */ static { this.ɵfac = function DrModalHeaderDirective_Factory(t) { return new (t || DrModalHeaderDirective)(); }; }
7
+ /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrModalHeaderDirective, selectors: [["dr-modal-header"], ["", "dr-modal-header", ""], ["", "drModalHeader", ""]], hostAttrs: [1, "dr-modal-header"], standalone: true }); }
8
+ }
9
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrModalHeaderDirective, [{
10
+ type: Directive,
11
+ args: [{
12
+ standalone: true,
13
+ selector: 'dr-modal-header, [dr-modal-header], [drModalHeader]',
14
+ host: { class: 'dr-modal-header' },
15
+ }]
16
+ }], null, null); })();
17
+ export class DrModalTitleDirective {
18
+ constructor() {
19
+ this.id = inject(DrModalConfig).id;
20
+ const modalRef = inject(DrModalRef);
21
+ setTimeout(() => modalRef.container.hasTitle.set(true));
22
+ }
23
+ /** @nocollapse */ static { this.ɵfac = function DrModalTitleDirective_Factory(t) { return new (t || DrModalTitleDirective)(); }; }
24
+ /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrModalTitleDirective, selectors: [["dr-modal-title"], ["", "dr-modal-title", ""], ["", "drModalTitle", ""]], hostAttrs: ["role", "heading", "aria-level", "1", "data-test", "dialogTitle", 1, "dr-modal-title"], hostVars: 1, hostBindings: function DrModalTitleDirective_HostBindings(rf, ctx) { if (rf & 2) {
25
+ i0.ɵɵhostProperty("id", "modal-" + ctx.id + "-title");
26
+ } }, standalone: true }); }
27
+ }
28
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrModalTitleDirective, [{
29
+ type: Directive,
30
+ args: [{
31
+ standalone: true,
32
+ selector: 'dr-modal-title, [dr-modal-title], [drModalTitle]',
33
+ host: {
34
+ '[id]': "'modal-' + id + '-title'",
35
+ class: 'dr-modal-title',
36
+ role: 'heading',
37
+ 'aria-level': '1',
38
+ 'data-test': 'dialogTitle',
39
+ },
40
+ }]
41
+ }], function () { return []; }, null); })();
42
+ export class DrModalSubtitleDirective {
43
+ constructor() {
44
+ this.id = inject(DrModalConfig).id;
45
+ const modalRef = inject(DrModalRef);
46
+ setTimeout(() => modalRef.container.hasSubtitle.set(true));
47
+ }
48
+ /** @nocollapse */ static { this.ɵfac = function DrModalSubtitleDirective_Factory(t) { return new (t || DrModalSubtitleDirective)(); }; }
49
+ /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrModalSubtitleDirective, selectors: [["dr-modal-subtitle"], ["", "dr-modal-subtitle", ""], ["", "drModalSubtitle", ""]], hostAttrs: ["role", "heading", "aria-level", "2", "data-test", "dialogSubtitle", 1, "dr-modal-subtitle"], hostVars: 1, hostBindings: function DrModalSubtitleDirective_HostBindings(rf, ctx) { if (rf & 2) {
50
+ i0.ɵɵhostProperty("id", "modal-" + ctx.id + "-subtitle");
51
+ } }, standalone: true }); }
52
+ }
53
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrModalSubtitleDirective, [{
54
+ type: Directive,
55
+ args: [{
56
+ standalone: true,
57
+ selector: 'dr-modal-subtitle, [dr-modal-subtitle], [drModalSubtitle]',
58
+ host: {
59
+ '[id]': "'modal-' + id + '-subtitle'",
60
+ class: 'dr-modal-subtitle',
61
+ role: 'heading',
62
+ 'aria-level': '2',
63
+ 'data-test': 'dialogSubtitle',
64
+ },
65
+ }]
66
+ }], function () { return []; }, null); })();
67
+ export class DrModalBodyDirective {
68
+ /** @nocollapse */ static { this.ɵfac = function DrModalBodyDirective_Factory(t) { return new (t || DrModalBodyDirective)(); }; }
69
+ /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrModalBodyDirective, selectors: [["dr-modal-body"], ["", "dr-modal-body", ""], ["", "drModalBody", ""]], hostAttrs: ["data-test", "modalBody", 1, "dr-modal-body"], standalone: true }); }
70
+ }
71
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrModalBodyDirective, [{
72
+ type: Directive,
73
+ args: [{
74
+ standalone: true,
75
+ selector: 'dr-modal-body, [dr-modal-body], [drModalBody]',
76
+ host: { class: 'dr-modal-body', 'data-test': 'modalBody' },
77
+ }]
78
+ }], null, null); })();
79
+ export class DrModalFooterDirective {
80
+ /** @nocollapse */ static { this.ɵfac = function DrModalFooterDirective_Factory(t) { return new (t || DrModalFooterDirective)(); }; }
81
+ /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrModalFooterDirective, selectors: [["dr-modal-footer"], ["", "dr-modal-footer", ""], ["", "drModalFooter", ""]], hostAttrs: [1, "dr-modal-footer"], standalone: true }); }
82
+ }
83
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrModalFooterDirective, [{
84
+ type: Directive,
85
+ args: [{
86
+ standalone: true,
87
+ selector: 'dr-modal-footer, [dr-modal-footer], [drModalFooter]',
88
+ host: { class: 'dr-modal-footer' },
89
+ }]
90
+ }], null, null); })();
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbW9kYWwuc2xvdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1tb2RhbC9kci1tb2RhbC5zbG90cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU81QyxNQUFNLE9BQU8sc0JBQXNCOzBHQUF0QixzQkFBc0I7bUdBQXRCLHNCQUFzQjs7dUZBQXRCLHNCQUFzQjtjQUxsQyxTQUFTO2VBQUM7Z0JBQ1AsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFFBQVEsRUFBRSxxREFBcUQ7Z0JBQy9ELElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTthQUNyQzs7QUFjRCxNQUFNLE9BQU8scUJBQXFCO0lBRzlCO1FBRm1CLE9BQUUsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRzdDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVwQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQzt5R0FQUSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7Ozt1RkFBckIscUJBQXFCO2NBWGpDLFNBQVM7ZUFBQztnQkFDUCxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsUUFBUSxFQUFFLGtEQUFrRDtnQkFDNUQsSUFBSSxFQUFFO29CQUNGLE1BQU0sRUFBRSwwQkFBMEI7b0JBQ2xDLEtBQUssRUFBRSxnQkFBZ0I7b0JBQ3ZCLElBQUksRUFBRSxTQUFTO29CQUNmLFlBQVksRUFBRSxHQUFHO29CQUNqQixXQUFXLEVBQUUsYUFBYTtpQkFDN0I7YUFDSjs7QUFzQkQsTUFBTSxPQUFPLHdCQUF3QjtJQUdqQztRQUZtQixPQUFFLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUc3QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFcEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7NEdBUFEsd0JBQXdCO21HQUF4Qix3QkFBd0I7Ozs7dUZBQXhCLHdCQUF3QjtjQVhwQyxTQUFTO2VBQUM7Z0JBQ1AsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFFBQVEsRUFBRSwyREFBMkQ7Z0JBQ3JFLElBQUksRUFBRTtvQkFDRixNQUFNLEVBQUUsNkJBQTZCO29CQUNyQyxLQUFLLEVBQUUsbUJBQW1CO29CQUMxQixJQUFJLEVBQUUsU0FBUztvQkFDZixZQUFZLEVBQUUsR0FBRztvQkFDakIsV0FBVyxFQUFFLGdCQUFnQjtpQkFDaEM7YUFDSjs7QUFnQkQsTUFBTSxPQUFPLG9CQUFvQjt3R0FBcEIsb0JBQW9CO21HQUFwQixvQkFBb0I7O3VGQUFwQixvQkFBb0I7Y0FMaEMsU0FBUztlQUFDO2dCQUNQLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixRQUFRLEVBQUUsK0NBQStDO2dCQUN6RCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUU7YUFDN0Q7O0FBUUQsTUFBTSxPQUFPLHNCQUFzQjswR0FBdEIsc0JBQXNCO21HQUF0QixzQkFBc0I7O3VGQUF0QixzQkFBc0I7Y0FMbEMsU0FBUztlQUFDO2dCQUNQLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixRQUFRLEVBQUUscURBQXFEO2dCQUMvRCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7YUFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJNb2RhbENvbmZpZyB9IGZyb20gJy4vZHItbW9kYWwtY29uZmlnJztcbmltcG9ydCB7IERyTW9kYWxSZWYgfSBmcm9tICcuL2RyLW1vZGFsLXJlZic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdkci1tb2RhbC1oZWFkZXIsIFtkci1tb2RhbC1oZWFkZXJdLCBbZHJNb2RhbEhlYWRlcl0nLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdkci1tb2RhbC1oZWFkZXInIH0sXG59KVxuZXhwb3J0IGNsYXNzIERyTW9kYWxIZWFkZXJEaXJlY3RpdmUge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2RyLW1vZGFsLXRpdGxlLCBbZHItbW9kYWwtdGl0bGVdLCBbZHJNb2RhbFRpdGxlXScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2lkXSc6IFwiJ21vZGFsLScgKyBpZCArICctdGl0bGUnXCIsIC8vIGFyaWEtbGFiZWxsZWRieVxuICAgICAgICBjbGFzczogJ2RyLW1vZGFsLXRpdGxlJyxcbiAgICAgICAgcm9sZTogJ2hlYWRpbmcnLFxuICAgICAgICAnYXJpYS1sZXZlbCc6ICcxJyxcbiAgICAgICAgJ2RhdGEtdGVzdCc6ICdkaWFsb2dUaXRsZScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgRHJNb2RhbFRpdGxlRGlyZWN0aXZlIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWQgPSBpbmplY3QoRHJNb2RhbENvbmZpZykuaWQ7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3QgbW9kYWxSZWYgPSBpbmplY3QoRHJNb2RhbFJlZik7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiBtb2RhbFJlZi5jb250YWluZXIuaGFzVGl0bGUuc2V0KHRydWUpKTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdkci1tb2RhbC1zdWJ0aXRsZSwgW2RyLW1vZGFsLXN1YnRpdGxlXSwgW2RyTW9kYWxTdWJ0aXRsZV0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tpZF0nOiBcIidtb2RhbC0nICsgaWQgKyAnLXN1YnRpdGxlJ1wiLCAvLyBhcmlhLWRlc2NyaWJlZGJ5XG4gICAgICAgIGNsYXNzOiAnZHItbW9kYWwtc3VidGl0bGUnLFxuICAgICAgICByb2xlOiAnaGVhZGluZycsXG4gICAgICAgICdhcmlhLWxldmVsJzogJzInLFxuICAgICAgICAnZGF0YS10ZXN0JzogJ2RpYWxvZ1N1YnRpdGxlJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBEck1vZGFsU3VidGl0bGVEaXJlY3RpdmUge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpZCA9IGluamVjdChEck1vZGFsQ29uZmlnKS5pZDtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCBtb2RhbFJlZiA9IGluamVjdChEck1vZGFsUmVmKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IG1vZGFsUmVmLmNvbnRhaW5lci5oYXNTdWJ0aXRsZS5zZXQodHJ1ZSkpO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2RyLW1vZGFsLWJvZHksIFtkci1tb2RhbC1ib2R5XSwgW2RyTW9kYWxCb2R5XScsXG4gICAgaG9zdDogeyBjbGFzczogJ2RyLW1vZGFsLWJvZHknLCAnZGF0YS10ZXN0JzogJ21vZGFsQm9keScgfSxcbn0pXG5leHBvcnQgY2xhc3MgRHJNb2RhbEJvZHlEaXJlY3RpdmUge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2RyLW1vZGFsLWZvb3RlciwgW2RyLW1vZGFsLWZvb3Rlcl0sIFtkck1vZGFsRm9vdGVyXScsXG4gICAgaG9zdDogeyBjbGFzczogJ2RyLW1vZGFsLWZvb3RlcicgfSxcbn0pXG5leHBvcnQgY2xhc3MgRHJNb2RhbEZvb3RlckRpcmVjdGl2ZSB7fVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItbW9kYWwudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1tb2RhbC9kci1tb2RhbC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEck1vZGFsIH0gZnJvbSAnLi9kci1tb2RhbCc7XG5pbXBvcnQgeyBCdXR0b25UeXBlIH0gZnJvbSAnLi4vZHItaW5wdXRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IERyTW9kYWxGb3JtRmllbGQsIERyTW9kYWxGb3JtUmVzdWx0IH0gZnJvbSAnLi9kci1tb2RhbC1mb3JtLnR5cGVzJztcblxuLyoqIE1vZGFsIHNpemVzOiB4cyA0MDBweCwgc20gNDYwcHgsIG1kIDYzMnB4LCBsZyA3NTBweCwgeGwgMTEwMHB4ICovXG5leHBvcnQgdHlwZSBEck1vZGFsU2l6ZSA9ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xuXG4vKiogJ3NpemUnID0gdXNlIHNpemUtYmFzZWQgbWF4LWhlaWdodCAoZGVmYXVsdCk7ICdtYXgnID0gbm8gc2l6ZSByZXN0cmljdGlvbiwgbWF4IDg1dmggKi9cbmV4cG9ydCB0eXBlIERyTW9kYWxNYXhIZWlnaHQgPSAnc2l6ZScgfCAnbWF4JztcblxuZXhwb3J0IHR5cGUgRHJNb2RhbENvbXBvbmVudFJlZjxEYXRhLCBSZXN1bHQgPSB1bmtub3duPiA9IENvbXBvbmVudFR5cGU8RHJNb2RhbDxEYXRhLCBSZXN1bHQ+PjtcblxuZXhwb3J0IHR5cGUgRHJNb2RhbEFuaW1hdGlvblN0YXRlID0gJ2VudGVyJyB8ICdsZWF2ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJNb2RhbEFuaW1hdGlvbkR1cmF0aW9uIHtcbiAgICAvKiogZGVsYXkgaW4gbXMgKGRlZmF1bHQgaXMgMTUwKSAqL1xuICAgIGVudGVyOiBudW1iZXI7XG5cbiAgICAvKiogZGVsYXkgaW4gbXMgKGRlZmF1bHQgaXMgMTUwKSAqL1xuICAgIGxlYXZlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJNb2RhbEFuaW1hdGlvbkNsYXNzZXMge1xuICAgIGVudGVyOiBzdHJpbmc7XG4gICAgbGVhdmU6IHN0cmluZztcblxuICAgIC8qKiBzdGF0aWMgY2xhc3MgZm9yIHRoZSBtb2RhbCBjb250YWluZXIgdG8gYW5jaG9yIGFuaW1hdGlvbnMgdG8gYSBzcGVjaWZpYyBjbGFzcyAqL1xuICAgIGFuY2hvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyTW9kYWxDb25maXJtRGF0YTxGaWVsZHMgZXh0ZW5kcyByZWFkb25seSBEck1vZGFsRm9ybUZpZWxkPGFueT5bXSA9IERyTW9kYWxGb3JtRmllbGQ8YW55PltdPiB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG5cbiAgICAvKiogSFRNTCBzdXBwb3J0ZWQgKi9cbiAgICBjb250ZW50Pzogc3RyaW5nO1xuXG4gICAgLyoqIGRlZmF1bHQgaXMgdHJ1ZSAqL1xuICAgIHdpdGhDbG9zZUJ0bj86IGJvb2xlYW47XG5cbiAgICAvKiogZGVmYXVsdCBpcyAneHMnICovXG4gICAgc2l6ZT86IERyTW9kYWxTaXplO1xuXG4gICAgLyoqIGRlZmF1bHQgaXMgJ3NpemUnICovXG4gICAgbWF4SGVpZ2h0PzogRHJNb2RhbE1heEhlaWdodDtcblxuICAgIC8qKlxuICAgICAqIE1vZGFsIGZpZWxkcyBjb25maWdcbiAgICAgKlxuICAgICAqIEBleGFtcGxlYGBgdHNcbiAgICAgKiBjb25zdCBmaWVsZHMgPSBbXG4gICAgICogICAgIG1vZGFsRm9ybUlucHV0KHsgbmFtZTogJ2VtYWlsJywgdmFsdWU6ICcnLCBsYWJlbDogJ0VtYWlsJywgcGxhY2Vob2xkZXI6ICdFbnRlciB5b3VyIGVtYWlsJyB9KSxcbiAgICAgKiAgICAgbW9kYWxGb3JtU2VsZWN0KHsgbmFtZTogJ3JvbGUnLCB2YWx1ZTogJ3ZpZXdlcicsIGxhYmVsOiAnUm9sZScsIHBsYWNlaG9sZGVyOiAnU2VsZWN0IHJvbGUnIH0sIG9wdGlvbnMkKSxcbiAgICAgKiAgICAgbW9kYWxGb3JtQ2hlY2tib3goeyBuYW1lOiAnYWdyZWUnLCB2YWx1ZTogZmFsc2UsIGxhYmVsOiAnQWdyZWUnIH0pLFxuICAgICAqIF0gYXMgY29uc3Q7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgZmllbGRzPzogRmllbGRzO1xuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdXNlciBjbGlja3Mgb24gdGhlIGNvbmZpcm0gYnV0dG9uLlxuICAgICAqIFJlc3VsdCBvZiB0aGUgZm9ybSBmaWVsZHMgd2lsbCBiZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQuXG4gICAgICovXG4gICAgY29uZmlybUZuPzogKHJlc3VsdDogRHJNb2RhbEZvcm1SZXN1bHQ8RmllbGRzPikgPT4gT2JzZXJ2YWJsZTx1bmtub3duPjtcblxuICAgIC8qKiBDdXN0b20gY2xhc3MgZm9yIHRoZSBmb3JtIHdyYXBwZXIgKi9cbiAgICBmb3JtV3JhcHBlckNsYXNzPzogc3RyaW5nO1xuXG4gICAgLyoqIEVycm9yIG1lc3NhZ2Ugb24gaW52YWxpZCBmb3JtICovXG4gICAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuXG4gICAgLyoqIGRlZmF1bHQgaXMgeyB0aGVtZTogJ3ByaW1hcnknLCBsYWJlbDogJ0NvbmZpcm0nIH0gKi9cbiAgICBhY2NlcHRCdG4/OiBEck1vZGFsQ29uZmlybUZvb3RlckJ0bjtcblxuICAgIC8qKiBkZWZhdWx0IGlzIHsgdGhlbWU6ICdzZWNvbmRhcnknLCBsYWJlbDogJ0NhbmNlbCcgfSAqL1xuICAgIGNhbmNlbEJ0bj86IERyTW9kYWxDb25maXJtRm9vdGVyQnRuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyTW9kYWxDb25maXJtRm9vdGVyQnRuIHtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICB0aGVtZT86IEJ1dHRvblR5cGU7XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ export * from './components/dr-modal/dr-modal.component';
2
+ export * from './components/dr-modal-container/dr-modal-container.component';
3
+ export * from './components/dr-confirm-modal/dr-confirm-modal.component';
4
+ export * from './directives/dr-modal-close.directive';
5
+ export * from './dr-modal.module';
6
+ export * from './dr-modal.service';
7
+ export * from './dr-modal.slots';
8
+ export * from './dr-modal';
9
+ export * from './dr-modal.types';
10
+ export * from './dr-modal-config.provider';
11
+ export * from './dr-modal-config';
12
+ export * from './dr-modal-ref';
13
+ export * from './dr-modal-form.types';
14
+ export * from './dr-modal-form.utils';
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLW1vZGFsL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDhEQUE4RCxDQUFDO0FBRTdFLGNBQWMsMERBQTBELENBQUM7QUFFekUsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kci1tb2RhbC9kci1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RyLW1vZGFsLWNvbnRhaW5lci9kci1tb2RhbC1jb250YWluZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RyLWNvbmZpcm0tbW9kYWwvZHItY29uZmlybS1tb2RhbC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZHItbW9kYWwtY2xvc2UuZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9kci1tb2RhbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kci1tb2RhbC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZHItbW9kYWwuc2xvdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kci1tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL2RyLW1vZGFsLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZHItbW9kYWwtY29uZmlnLnByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZHItbW9kYWwtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vZHItbW9kYWwtcmVmJztcblxuZXhwb3J0ICogZnJvbSAnLi9kci1tb2RhbC1mb3JtLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZHItbW9kYWwtZm9ybS51dGlscyc7XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { firstValueFrom, from, Observable, take } from 'rxjs';
2
+ /**
3
+ * A utility function to handle asynchronous operations with a try-catch mechanism.
4
+ * It wraps a promise and returns a tuple containing either the resolved value or the caught error.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * const [data, error] = await withResult(someAsyncFunction());
9
+ * if (error != null) {
10
+ * console.log('Success:', data);
11
+ * } else {
12
+ * console.error('Error:', error);
13
+ * }
14
+ * ```
15
+ */
16
+ export const withResult = async (value) => {
17
+ if (!(value instanceof Promise) && !(value instanceof Observable)) {
18
+ throw new TypeError('The provided argument is not a Promise or Observable.');
19
+ }
20
+ if (value instanceof Observable) {
21
+ value = firstValueFrom(value);
22
+ }
23
+ try {
24
+ const data = await value;
25
+ return [data, null];
26
+ }
27
+ catch (error) {
28
+ return [null, error];
29
+ }
30
+ };
31
+ export const fromPromise = (promise) => from(promise).pipe(take(1));
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi91dGlscy9hc3luYy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTlEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFnQixLQUFpQyxFQUF5QixFQUFFO0lBQ3ZHLElBQUksQ0FBQyxDQUFDLEtBQUssWUFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxZQUFZLFVBQVUsQ0FBQyxFQUFFO1FBQy9ELE1BQU0sSUFBSSxTQUFTLENBQUMsdURBQXVELENBQUMsQ0FBQztLQUNoRjtJQUNELElBQUksS0FBSyxZQUFZLFVBQVUsRUFBRTtRQUM3QixLQUFLLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2pDO0lBRUQsSUFBSTtRQUNBLE1BQU0sSUFBSSxHQUFHLE1BQU0sS0FBSyxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDdkI7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNaLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDeEI7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBSSxPQUFtQixFQUFpQixFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBmcm9tLCBPYnNlcnZhYmxlLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIFJlc3VsdDxULCBFID0gRXJyb3I+ID0gW1QsIG51bGxdIHwgW251bGwsIEVdO1xuXG4vKipcbiAqIEEgdXRpbGl0eSBmdW5jdGlvbiB0byBoYW5kbGUgYXN5bmNocm9ub3VzIG9wZXJhdGlvbnMgd2l0aCBhIHRyeS1jYXRjaCBtZWNoYW5pc20uXG4gKiBJdCB3cmFwcyBhIHByb21pc2UgYW5kIHJldHVybnMgYSB0dXBsZSBjb250YWluaW5nIGVpdGhlciB0aGUgcmVzb2x2ZWQgdmFsdWUgb3IgdGhlIGNhdWdodCBlcnJvci5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgW2RhdGEsIGVycm9yXSA9IGF3YWl0IHdpdGhSZXN1bHQoc29tZUFzeW5jRnVuY3Rpb24oKSk7XG4gKiBpZiAoZXJyb3IgIT0gbnVsbCkge1xuICogICBjb25zb2xlLmxvZygnU3VjY2VzczonLCBkYXRhKTtcbiAqIH0gZWxzZSB7XG4gKiAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3Qgd2l0aFJlc3VsdCA9IGFzeW5jIDxULCBFID0gRXJyb3I+KHZhbHVlOiBQcm9taXNlPFQ+IHwgT2JzZXJ2YWJsZTxUPik6IFByb21pc2U8UmVzdWx0PFQsIEU+PiA9PiB7XG4gICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBQcm9taXNlKSAmJiAhKHZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIHByb3ZpZGVkIGFyZ3VtZW50IGlzIG5vdCBhIFByb21pc2Ugb3IgT2JzZXJ2YWJsZS4nKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICB2YWx1ZSA9IGZpcnN0VmFsdWVGcm9tKHZhbHVlKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdmFsdWU7XG4gICAgICAgIHJldHVybiBbZGF0YSwgbnVsbF07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIFtudWxsLCBlcnJvcl07XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZyb21Qcm9taXNlID0gPFQ+KHByb21pc2U6IFByb21pc2U8VD4pOiBPYnNlcnZhYmxlPFQ+ID0+IGZyb20ocHJvbWlzZSkucGlwZSh0YWtlKDEpKTtcbiJdfQ==