@sebgroup/green-angular 1.0.0-beta.28 → 1.0.0-beta.34

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.
package/esm2020/index.mjs CHANGED
@@ -2,10 +2,11 @@ export * from './lib/green-angular.module';
2
2
  export * from './lib/dropdown/dropdown.module';
3
3
  export * from './lib/dropdown/dropdown.component';
4
4
  export * from './lib/dropdown/dropdown-option.directive';
5
+ export * from './lib/modal';
5
6
  export * from './lib/datepicker/datepicker.module';
6
7
  export * from './lib/datepicker/datepicker.component';
7
8
  export * from './lib/segmented-control/segmented-control.module';
8
9
  export * from './lib/segmented-control/segmented-control.component';
9
10
  export * from './lib/badge/badge.module';
10
11
  export * from './lib/badge/badge.component';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsMENBQTBDLENBQUE7QUFDeEQsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsa0RBQWtELENBQUE7QUFDaEUsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9ncmVlbi1hbmd1bGFyLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLW9wdGlvbi5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlcGlja2VyL2RhdGVwaWNrZXIubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlZ21lbnRlZC1jb250cm9sL3NlZ21lbnRlZC1jb250cm9sLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlZ21lbnRlZC1jb250cm9sL3NlZ21lbnRlZC1jb250cm9sLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhZGdlL2JhZGdlLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudCdcbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsMENBQTBDLENBQUE7QUFDeEQsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsa0RBQWtELENBQUE7QUFDaEUsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9ncmVlbi1hbmd1bGFyLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLW9wdGlvbi5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlcGlja2VyL2RhdGVwaWNrZXIubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlZ21lbnRlZC1jb250cm9sL3NlZ21lbnRlZC1jb250cm9sLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlZ21lbnRlZC1jb250cm9sL3NlZ21lbnRlZC1jb250cm9sLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhZGdlL2JhZGdlLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudCdcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './modal.component';
2
+ export * from './modal.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9tb2RhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsLm1vZHVsZSc7Il19
@@ -0,0 +1,152 @@
1
+ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
2
+ import { disableBodyScroll, enableBodyScroll, } from "body-scroll-lock";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class NggModalComponent {
6
+ constructor(ref) {
7
+ this.ref = ref;
8
+ this.isOpenChange = new EventEmitter();
9
+ this.closed = new EventEmitter();
10
+ this.confirm = new EventEmitter();
11
+ this.dismiss = new EventEmitter();
12
+ }
13
+ get isOpen() {
14
+ return this._isOpen;
15
+ }
16
+ set isOpen(value) {
17
+ this._isOpen = value;
18
+ if (value) {
19
+ disableBodyScroll(this.ref.nativeElement);
20
+ }
21
+ else {
22
+ enableBodyScroll(this.ref.nativeElement);
23
+ }
24
+ }
25
+ get open() { return this.isOpen; }
26
+ handleCloseClick(event) {
27
+ this.closeModal(event);
28
+ }
29
+ handleBackdropClick(event) {
30
+ if (event.target == this.backdropRef?.nativeElement)
31
+ this.closeModal(event);
32
+ }
33
+ handleDismiss(event) {
34
+ this.dismiss.emit(event);
35
+ }
36
+ handleConfirm(event) {
37
+ this.confirm.emit(event);
38
+ }
39
+ closeModal(event) {
40
+ if (this.closed.observers.length > 0) {
41
+ this.closed.emit(event);
42
+ }
43
+ else {
44
+ this.isOpen = false;
45
+ this.isOpenChange.emit(this.isOpen);
46
+ }
47
+ }
48
+ ngOnDestroy() {
49
+ enableBodyScroll(this.ref.nativeElement);
50
+ }
51
+ }
52
+ NggModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
53
+ NggModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggModalComponent, selector: "ngg-modal", inputs: { modalType: "modalType", header: "header", confirmLabel: "confirmLabel", dismissLabel: "dismissLabel", size: "size", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange", closed: "closed", confirm: "confirm", dismiss: "dismiss" }, host: { properties: { "class.open": "this.open" } }, viewQueries: [{ propertyName: "backdropRef", first: true, predicate: ["backdrop"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <aside data-testid=\"modal\" *ngSwitchCase=\"'slideout'\" role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <header ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container> \n </div>\n <footer ngg-modal-footer data-testid=\"modal-footer\" *ngIf=\"dismissLabel || confirmLabel\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </aside>\n <main data-testid=\"modal\" *ngSwitchCase=\"'takeover'\" role=\"dialog\" aria-modal=\"true\">\n <header ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container> \n </div>\n <footer ngg-modal-footer data-testid=\"modal-footer\" *ngIf=\"dismissLabel || confirmLabel\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </main>\n <section data-testid=\"modal\" *ngSwitchDefault role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <header ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container> \n </div>\n <footer ngg-modal-footer data-testid=\"modal-footer\" *ngIf=\"dismissLabel || confirmLabel\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </section>\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div #backdrop data-testid=\"modal-backdrop\" class=\"backdrop\" (click)=\"this.handleBackdropClick($event)\" [attr.aria-hidden]=\"true\"></div>\n</ng-container>", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"], components: [{ type: i0.forwardRef(function () { return NggModalHeaderComponent; }), selector: "[ngg-modal-header]", inputs: ["header"], outputs: ["closed"] }, { type: i0.forwardRef(function () { return NggModalBodyComponent; }), selector: "[ngg-modal-body]" }, { type: i0.forwardRef(function () { return NggModalFooterComponent; }), selector: "[ngg-modal-footer]", inputs: ["dismissLabel", "confirmLabel"], outputs: ["dismiss", "confirm"] }], directives: [{ type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i1.NgSwitch; }), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i0.forwardRef(function () { return i1.NgSwitchCase; }), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i0.forwardRef(function () { return i1.NgSwitchDefault; }), selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ selector: 'ngg-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <aside data-testid=\"modal\" *ngSwitchCase=\"'slideout'\" role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <header ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container> \n </div>\n <footer ngg-modal-footer data-testid=\"modal-footer\" *ngIf=\"dismissLabel || confirmLabel\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </aside>\n <main data-testid=\"modal\" *ngSwitchCase=\"'takeover'\" role=\"dialog\" aria-modal=\"true\">\n <header ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container> \n </div>\n <footer ngg-modal-footer data-testid=\"modal-footer\" *ngIf=\"dismissLabel || confirmLabel\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </main>\n <section data-testid=\"modal\" *ngSwitchDefault role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <header ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container> \n </div>\n <footer ngg-modal-footer data-testid=\"modal-footer\" *ngIf=\"dismissLabel || confirmLabel\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </section>\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div #backdrop data-testid=\"modal-backdrop\" class=\"backdrop\" (click)=\"this.handleBackdropClick($event)\" [attr.aria-hidden]=\"true\"></div>\n</ng-container>", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
57
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { modalType: [{
58
+ type: Input
59
+ }], header: [{
60
+ type: Input
61
+ }], confirmLabel: [{
62
+ type: Input
63
+ }], dismissLabel: [{
64
+ type: Input
65
+ }], size: [{
66
+ type: Input
67
+ }], isOpen: [{
68
+ type: Input
69
+ }], isOpenChange: [{
70
+ type: Output
71
+ }], closed: [{
72
+ type: Output
73
+ }], confirm: [{
74
+ type: Output
75
+ }], dismiss: [{
76
+ type: Output
77
+ }], open: [{
78
+ type: HostBinding,
79
+ args: ['class.open']
80
+ }], backdropRef: [{
81
+ type: ViewChild,
82
+ args: ['backdrop']
83
+ }] } });
84
+ export class NggModalHeaderComponent {
85
+ constructor() {
86
+ this.closed = new EventEmitter();
87
+ }
88
+ handleClose(event) {
89
+ this.closed.emit(event);
90
+ }
91
+ }
92
+ NggModalHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
93
+ NggModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggModalHeaderComponent, selector: "[ngg-modal-header]", inputs: { header: "header" }, outputs: { closed: "closed" }, ngImport: i0, template: `
94
+ <h3 data-testid="modal-header-text">{{header}}</h3>
95
+ <button data-testid="modal-close-button" class="close" (click)="this.handleClose($event)">
96
+ <span className="sr-only">Close</span>
97
+ </button>
98
+ `, isInline: true, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] });
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalHeaderComponent, decorators: [{
100
+ type: Component,
101
+ args: [{ selector: '[ngg-modal-header]', template: `
102
+ <h3 data-testid="modal-header-text">{{header}}</h3>
103
+ <button data-testid="modal-close-button" class="close" (click)="this.handleClose($event)">
104
+ <span className="sr-only">Close</span>
105
+ </button>
106
+ `, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
107
+ }], propDecorators: { header: [{
108
+ type: Input
109
+ }], closed: [{
110
+ type: Output
111
+ }] } });
112
+ export class NggModalBodyComponent {
113
+ }
114
+ NggModalBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
115
+ NggModalBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggModalBodyComponent, selector: "[ngg-modal-body]", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] });
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalBodyComponent, decorators: [{
117
+ type: Component,
118
+ args: [{ selector: '[ngg-modal-body]', template: `<ng-content></ng-content>`, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
119
+ }] });
120
+ export class NggModalFooterComponent {
121
+ constructor() {
122
+ this.dismiss = new EventEmitter();
123
+ this.confirm = new EventEmitter();
124
+ }
125
+ handleDismiss(event) {
126
+ this.dismiss.emit(event);
127
+ }
128
+ handleConfirm(event) {
129
+ this.confirm.emit(event);
130
+ }
131
+ }
132
+ NggModalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
133
+ NggModalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggModalFooterComponent, selector: "[ngg-modal-footer]", inputs: { dismissLabel: "dismissLabel", confirmLabel: "confirmLabel" }, outputs: { dismiss: "dismiss", confirm: "confirm" }, ngImport: i0, template: `
134
+ <button data-testid="modal-dismiss-button" *ngIf="dismissLabel" class="secondary" (click)="this.handleDismiss($event)">{{dismissLabel}}</button>
135
+ <button data-testid="modal-confirm-button" *ngIf="confirmLabel" class="primary" (click)="this.handleConfirm($event)">{{confirmLabel}}</button>
136
+ `, isInline: true, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalFooterComponent, decorators: [{
138
+ type: Component,
139
+ args: [{ selector: '[ngg-modal-footer]', template: `
140
+ <button data-testid="modal-dismiss-button" *ngIf="dismissLabel" class="secondary" (click)="this.handleDismiss($event)">{{dismissLabel}}</button>
141
+ <button data-testid="modal-confirm-button" *ngIf="confirmLabel" class="primary" (click)="this.handleConfirm($event)">{{confirmLabel}}</button>
142
+ `, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
143
+ }], propDecorators: { dismissLabel: [{
144
+ type: Input
145
+ }], confirmLabel: [{
146
+ type: Input
147
+ }], dismiss: [{
148
+ type: Output
149
+ }], confirm: [{
150
+ type: Output
151
+ }] } });
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvSSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNqQixNQUFNLGtCQUFrQixDQUFDOzs7QUFRNUIsTUFBTSxPQUFPLGlCQUFpQjtJQThCMUIsWUFBb0IsR0FBNEI7UUFBNUIsUUFBRyxHQUFILEdBQUcsQ0FBeUI7UUFUL0IsaUJBQVksR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRSxXQUFNLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFDbEUsWUFBTyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBQ25FLFlBQU8sR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQU9wRixDQUFDO0lBeEJELElBQ1csTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsS0FBMEI7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFFckIsSUFBSSxLQUFLLEVBQUU7WUFDUCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzdDO2FBQU07WUFDSCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJ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O0lBQ2pDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7b0hBWlEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsdUxBTHRCOzs7S0FHVDsyRkFFUSx1QkFBdUI7a0JBVG5DLFNBQVM7K0JBRUksb0JBQW9CLFlBRXBCOzs7S0FHVDs4QkFHUSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsVHlwZSwgU2l6ZSB9IGZyb20gJ0BzZWJncm91cC9leHRyYWN0JztcbmltcG9ydCB7XG4gICAgZGlzYWJsZUJvZHlTY3JvbGwsXG4gICAgZW5hYmxlQm9keVNjcm9sbCxcbiAgfSBmcm9tIFwiYm9keS1zY3JvbGwtbG9ja1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25nZy1tb2RhbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgbW9kYWxUeXBlPzogTW9kYWxUeXBlXG4gICAgQElucHV0KCkgcHVibGljIGhlYWRlcj86IHN0cmluZ1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb25maXJtTGFiZWw/OiBzdHJpbmdcbiAgICBASW5wdXQoKSBwdWJsaWMgZGlzbWlzc0xhYmVsPzogc3RyaW5nXG4gICAgQElucHV0KCkgcHVibGljIHNpemU/OiBTaXplXG5cbiAgICBASW5wdXQoKSBcbiAgICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzT3BlbjtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc09wZW4odmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5faXNPcGVuID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBkaXNhYmxlQm9keVNjcm9sbCh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVuYWJsZUJvZHlTY3JvbGwodGhpcy5yZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIGlzT3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2xvc2VkOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb25maXJtOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBkaXNtaXNzOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5vcGVuJykgZ2V0IG9wZW4oKSB7IHJldHVybiB0aGlzLmlzT3BlbjsgfVxuICAgIEBWaWV3Q2hpbGQoJ2JhY2tkcm9wJykgcHJpdmF0ZSBiYWNrZHJvcFJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gICAgcHJpdmF0ZSBfaXNPcGVuPzogYm9vbGVhbjtcbiAgICBcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICB9XG4gICAgXG4gICAgcHVibGljIGhhbmRsZUNsb3NlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5jbG9zZU1vZGFsKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlQmFja2Ryb3BDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ID09IHRoaXMuYmFja2Ryb3BSZWY/Lm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgICAgICB0aGlzLmNsb3NlTW9kYWwoZXZlbnQpO1xuICAgIH1cbiAgICBcbiAgICBwdWJsaWMgaGFuZGxlRGlzbWlzcyhldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5kaXNtaXNzLmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgICBcbiAgICBwdWJsaWMgaGFuZGxlQ29uZmlybShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5jb25maXJtLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VNb2RhbChldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5jbG9zZWQub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQodGhpcy5pc09wZW4pO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBlbmFibGVCb2R5U2Nyb2xsKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tuZ2ctbW9kYWwtaGVhZGVyXScsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxoMyBkYXRhLXRlc3RpZD1cIm1vZGFsLWhlYWRlci10ZXh0XCI+e3toZWFkZXJ9fTwvaDM+XG4gICAgPGJ1dHRvbiBkYXRhLXRlc3RpZD1cIm1vZGFsLWNsb3NlLWJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwidGhpcy5oYW5kbGVDbG9zZSgkZXZlbnQpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInNyLW9ubHlcIj5DbG9zZTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZGFsSGVhZGVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBoZWFkZXI/OiBzdHJpbmc7XG4gICAgQE91dHB1dCgpIGNsb3NlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gICAgaGFuZGxlQ2xvc2UoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoZXZlbnQpO1xuICAgIH1cblxufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW25nZy1tb2RhbC1ib2R5XScsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZGFsQm9keUNvbXBvbmVudCB7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbbmdnLW1vZGFsLWZvb3Rlcl0nLFxuICAgIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uIGRhdGEtdGVzdGlkPVwibW9kYWwtZGlzbWlzcy1idXR0b25cIiAqbmdJZj1cImRpc21pc3NMYWJlbFwiIGNsYXNzPVwic2Vjb25kYXJ5XCIgKGNsaWNrKT1cInRoaXMuaGFuZGxlRGlzbWlzcygkZXZlbnQpXCI+e3tkaXNtaXNzTGFiZWx9fTwvYnV0dG9uPlxuICAgIDxidXR0b24gZGF0YS10ZXN0aWQ9XCJtb2RhbC1jb25maXJtLWJ1dHRvblwiICpuZ0lmPVwiY29uZmlybUxhYmVsXCIgY2xhc3M9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInRoaXMuaGFuZGxlQ29uZmlybSgkZXZlbnQpXCI+e3tjb25maXJtTGFiZWx9fTwvYnV0dG9uPlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgTmdnTW9kYWxGb290ZXJDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGRpc21pc3NMYWJlbD86IHN0cmluZztcbiAgICBASW5wdXQoKSBjb25maXJtTGFiZWw/OiBzdHJpbmc7XG4gICAgQE91dHB1dCgpIGRpc21pc3M6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgY29uZmlybTogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgaGFuZGxlRGlzbWlzcyhldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5kaXNtaXNzLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNvbmZpcm0oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlybS5lbWl0KGV2ZW50KTtcbiAgICB9XG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzT3BlblwiIFtuZ1N3aXRjaF09XCJtb2RhbFR5cGVcIj5cbiAgICA8YXNpZGUgZGF0YS10ZXN0aWQ9XCJtb2RhbFwiICpuZ1N3aXRjaENhc2U9XCInc2xpZGVvdXQnXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtbW9kYWw9XCJ0cnVlXCIgW2NsYXNzLnNtYWxsXT1cInNpemUgPT09ICdzbSdcIiBbY2xhc3MubWVkaXVtXT1cInNpemUgPT09ICdtZCdcIiBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xnJ1wiPlxuICAgICAgICA8aGVhZGVyIG5nZy1tb2RhbC1oZWFkZXIgZGF0YS10ZXN0aWQ9XCJtb2RhbC1oZWFkZXJcIiBbaGVhZGVyXT1cImhlYWRlclwiIChjbG9zZWQpPVwidGhpcy5oYW5kbGVDbG9zZUNsaWNrKCRldmVudClcIj48L2hlYWRlcj5cbiAgICAgICAgPGRpdiBuZ2ctbW9kYWwtYm9keSBkYXRhLXRlc3RpZD1cIm1vZGFsLWJvZHlcIiBjbGFzcz1cImJvZHlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VHBsXCI+PC9uZy1jb250YWluZXI+IFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZvb3RlciBuZ2ctbW9kYWwtZm9vdGVyIGRhdGEtdGVzdGlkPVwibW9kYWwtZm9vdGVyXCIgKm5nSWY9XCJkaXNtaXNzTGFiZWwgfHwgY29uZmlybUxhYmVsXCIgW2Rpc21pc3NMYWJlbF09XCJkaXNtaXNzTGFiZWxcIiBbY29uZmlybUxhYmVsXT1cImNvbmZpcm1MYWJlbFwiIChkaXNtaXNzKT1cInRoaXMuaGFuZGxlRGlzbWlzcygkZXZlbnQpXCIgKGNvbmZpcm0pPVwidGhpcy5oYW5kbGVDb25maXJtKCRldmVudClcIj48L2Zvb3Rlcj5cbiAgICA8L2FzaWRlPlxuICAgIDxtYWluIGRhdGEtdGVzdGlkPVwibW9kYWxcIiAqbmdTd2l0Y2hDYXNlPVwiJ3Rha2VvdmVyJ1wiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiPlxuICAgICAgICA8aGVhZGVyIG5nZy1tb2RhbC1oZWFkZXIgZGF0YS10ZXN0aWQ9XCJtb2RhbC1oZWFkZXJcIiBbaGVhZGVyXT1cImhlYWRlclwiIChjbG9zZWQpPVwidGhpcy5oYW5kbGVDbG9zZUNsaWNrKCRldmVudClcIj48L2hlYWRlcj5cbiAgICAgICAgPGRpdiBuZ2ctbW9kYWwtYm9keSBkYXRhLXRlc3RpZD1cIm1vZGFsLWJvZHlcIiBjbGFzcz1cImJvZHlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VHBsXCI+PC9uZy1jb250YWluZXI+IFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZvb3RlciBuZ2ctbW9kYWwtZm9vdGVyIGRhdGEtdGVzdGlkPVwibW9kYWwtZm9vdGVyXCIgKm5nSWY9XCJkaXNtaXNzTGFiZWwgfHwgY29uZmlybUxhYmVsXCIgW2Rpc21pc3NMYWJlbF09XCJkaXNtaXNzTGFiZWxcIiBbY29uZmlybUxhYmVsXT1cImNvbmZpcm1MYWJlbFwiIChkaXNtaXNzKT1cInRoaXMuaGFuZGxlRGlzbWlzcygkZXZlbnQpXCIgKGNvbmZpcm0pPVwidGhpcy5oYW5kbGVDb25maXJtKCRldmVudClcIj48L2Zvb3Rlcj5cbiAgICA8L21haW4+XG4gICAgPHNlY3Rpb24gZGF0YS10ZXN0aWQ9XCJtb2RhbFwiICpuZ1N3aXRjaERlZmF1bHQgcm9sZT1cImRpYWxvZ1wiIGFyaWEtbW9kYWw9XCJ0cnVlXCIgW2NsYXNzLnNtYWxsXT1cInNpemUgPT09ICdzbSdcIiBbY2xhc3MubWVkaXVtXT1cInNpemUgPT09ICdtZCdcIiBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xnJ1wiPlxuICAgICAgICA8aGVhZGVyIG5nZy1tb2RhbC1oZWFkZXIgZGF0YS10ZXN0aWQ9XCJtb2RhbC1oZWFkZXJcIiBbaGVhZGVyXT1cImhlYWRlclwiIChjbG9zZWQpPVwidGhpcy5oYW5kbGVDbG9zZUNsaWNrKCRldmVudClcIj48L2hlYWRlcj5cbiAgICAgICAgPGRpdiBuZ2ctbW9kYWwtYm9keSBkYXRhLXRlc3RpZD1cIm1vZGFsLWJvZHlcIiBjbGFzcz1cImJvZHlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VHBsXCI+PC9uZy1jb250YWluZXI+IFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZvb3RlciBuZ2ctbW9kYWwtZm9vdGVyIGRhdGEtdGVzdGlkPVwibW9kYWwtZm9vdGVyXCIgKm5nSWY9XCJkaXNtaXNzTGFiZWwgfHwgY29uZmlybUxhYmVsXCIgW2Rpc21pc3NMYWJlbF09XCJkaXNtaXNzTGFiZWxcIiBbY29uZmlybUxhYmVsXT1cImNvbmZpcm1MYWJlbFwiIChkaXNtaXNzKT1cInRoaXMuaGFuZGxlRGlzbWlzcygkZXZlbnQpXCIgKGNvbmZpcm0pPVwidGhpcy5oYW5kbGVDb25maXJtKCRldmVudClcIj48L2Zvb3Rlcj5cbiAgICA8L3NlY3Rpb24+XG4gICAgPG5nLXRlbXBsYXRlICNjb250ZW50VHBsPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGRpdiAjYmFja2Ryb3AgZGF0YS10ZXN0aWQ9XCJtb2RhbC1iYWNrZHJvcFwiIGNsYXNzPVwiYmFja2Ryb3BcIiAoY2xpY2spPVwidGhpcy5oYW5kbGVCYWNrZHJvcENsaWNrKCRldmVudClcIiBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCI+PC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
@@ -0,0 +1,30 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { NggModalBodyComponent, NggModalComponent, NggModalFooterComponent, NggModalHeaderComponent } from './modal.component';
4
+ import * as i0 from "@angular/core";
5
+ const DECLARATIONS = [
6
+ NggModalComponent,
7
+ NggModalHeaderComponent,
8
+ NggModalBodyComponent,
9
+ NggModalFooterComponent
10
+ ];
11
+ const EXPORTS = [
12
+ NggModalComponent,
13
+ ];
14
+ export class NggModalModule {
15
+ }
16
+ NggModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ NggModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalModule, declarations: [NggModalComponent,
18
+ NggModalHeaderComponent,
19
+ NggModalBodyComponent,
20
+ NggModalFooterComponent], imports: [CommonModule], exports: [NggModalComponent] });
21
+ NggModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalModule, imports: [[CommonModule]] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ imports: [CommonModule],
26
+ exports: EXPORTS,
27
+ declarations: DECLARATIONS,
28
+ }]
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUUvSCxNQUFNLFlBQVksR0FBRztJQUNqQixpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLHFCQUFxQjtJQUNyQix1QkFBdUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHO0lBQ1osaUJBQWlCO0NBQ3BCLENBQUM7QUFPRixNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQWZ2QixpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLHFCQUFxQjtRQUNyQix1QkFBdUIsYUFRWixZQUFZLGFBSnZCLGlCQUFpQjs0R0FRUixjQUFjLFlBSmQsQ0FBRSxZQUFZLENBQUU7MkZBSWhCLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUUsWUFBWSxDQUFFO29CQUN6QixPQUFPLEVBQUUsT0FBTztvQkFDaEIsWUFBWSxFQUFFLFlBQVk7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nZ01vZGFsQm9keUNvbXBvbmVudCwgTmdnTW9kYWxDb21wb25lbnQsIE5nZ01vZGFsRm9vdGVyQ29tcG9uZW50LCBOZ2dNb2RhbEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwuY29tcG9uZW50JztcblxuY29uc3QgREVDTEFSQVRJT05TID0gW1xuICAgIE5nZ01vZGFsQ29tcG9uZW50LFxuICAgIE5nZ01vZGFsSGVhZGVyQ29tcG9uZW50LFxuICAgIE5nZ01vZGFsQm9keUNvbXBvbmVudCxcbiAgICBOZ2dNb2RhbEZvb3RlckNvbXBvbmVudFxuXTtcblxuY29uc3QgRVhQT1JUUyA9IFtcbiAgICBOZ2dNb2RhbENvbXBvbmVudCxcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogWyBDb21tb25Nb2R1bGUgXSxcbiAgICBleHBvcnRzOiBFWFBPUlRTLFxuICAgIGRlY2xhcmF0aW9uczogREVDTEFSQVRJT05TLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dNb2RhbE1vZHVsZSB7IH0iXX0=
@@ -7,6 +7,7 @@ import { RouterModule } from '@angular/router';
7
7
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
8
  import { dropdownValues, createDropdown, randomId, months, years, createDatepicker } from '@sebgroup/extract';
9
9
  import { startOfDay, endOfDay } from 'date-fns';
10
+ import { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';
10
11
 
11
12
  class NggSegmentedControlComponent {
12
13
  }
@@ -464,6 +465,181 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
464
465
  }]
465
466
  }] });
466
467
 
468
+ class NggModalComponent {
469
+ constructor(ref) {
470
+ this.ref = ref;
471
+ this.isOpenChange = new EventEmitter();
472
+ this.closed = new EventEmitter();
473
+ this.confirm = new EventEmitter();
474
+ this.dismiss = new EventEmitter();
475
+ }
476
+ get isOpen() {
477
+ return this._isOpen;
478
+ }
479
+ set isOpen(value) {
480
+ this._isOpen = value;
481
+ if (value) {
482
+ disableBodyScroll(this.ref.nativeElement);
483
+ }
484
+ else {
485
+ enableBodyScroll(this.ref.nativeElement);
486
+ }
487
+ }
488
+ get open() { return this.isOpen; }
489
+ handleCloseClick(event) {
490
+ this.closeModal(event);
491
+ }
492
+ handleBackdropClick(event) {
493
+ var _a;
494
+ if (event.target == ((_a = this.backdropRef) === null || _a === void 0 ? void 0 : _a.nativeElement))
495
+ this.closeModal(event);
496
+ }
497
+ handleDismiss(event) {
498
+ this.dismiss.emit(event);
499
+ }
500
+ handleConfirm(event) {
501
+ this.confirm.emit(event);
502
+ }
503
+ closeModal(event) {
504
+ if (this.closed.observers.length > 0) {
505
+ this.closed.emit(event);
506
+ }
507
+ else {
508
+ this.isOpen = false;
509
+ this.isOpenChange.emit(this.isOpen);
510
+ }
511
+ }
512
+ ngOnDestroy() {
513
+ enableBodyScroll(this.ref.nativeElement);
514
+ }
515
+ }
516
+ NggModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
517
+ NggModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggModalComponent, selector: "ngg-modal", inputs: { modalType: "modalType", header: "header", confirmLabel: "confirmLabel", dismissLabel: "dismissLabel", size: "size", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange", closed: "closed", confirm: "confirm", dismiss: "dismiss" }, host: { properties: { "class.open": "this.open" } }, viewQueries: [{ propertyName: "backdropRef", first: true, predicate: ["backdrop"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <aside data-testid=\"modal\" *ngSwitchCase=\"'slideout'\" role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <header ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container> \n </div>\n <footer ngg-modal-footer data-testid=\"modal-footer\" *ngIf=\"dismissLabel || confirmLabel\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </aside>\n <main data-testid=\"modal\" *ngSwitchCase=\"'takeover'\" role=\"dialog\" aria-modal=\"true\">\n <header ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container> \n </div>\n <footer ngg-modal-footer data-testid=\"modal-footer\" *ngIf=\"dismissLabel || confirmLabel\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </main>\n <section data-testid=\"modal\" *ngSwitchDefault role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <header ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container> \n </div>\n <footer ngg-modal-footer data-testid=\"modal-footer\" *ngIf=\"dismissLabel || confirmLabel\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </section>\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div #backdrop data-testid=\"modal-backdrop\" class=\"backdrop\" (click)=\"this.handleBackdropClick($event)\" [attr.aria-hidden]=\"true\"></div>\n</ng-container>", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"], components: [{ type: i0.forwardRef(function () { return NggModalHeaderComponent; }), selector: "[ngg-modal-header]", inputs: ["header"], outputs: ["closed"] }, { type: i0.forwardRef(function () { return NggModalBodyComponent; }), selector: "[ngg-modal-body]" }, { type: i0.forwardRef(function () { return NggModalFooterComponent; }), selector: "[ngg-modal-footer]", inputs: ["dismissLabel", "confirmLabel"], outputs: ["dismiss", "confirm"] }], directives: [{ type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i1.NgSwitch; }), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i0.forwardRef(function () { return i1.NgSwitchCase; }), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i0.forwardRef(function () { return i1.NgSwitchDefault; }), selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
518
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalComponent, decorators: [{
519
+ type: Component,
520
+ args: [{ selector: 'ngg-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <aside data-testid=\"modal\" *ngSwitchCase=\"'slideout'\" role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <header ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container> \n </div>\n <footer ngg-modal-footer data-testid=\"modal-footer\" *ngIf=\"dismissLabel || confirmLabel\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </aside>\n <main data-testid=\"modal\" *ngSwitchCase=\"'takeover'\" role=\"dialog\" aria-modal=\"true\">\n <header ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container> \n </div>\n <footer ngg-modal-footer data-testid=\"modal-footer\" *ngIf=\"dismissLabel || confirmLabel\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </main>\n <section data-testid=\"modal\" *ngSwitchDefault role=\"dialog\" aria-modal=\"true\" [class.small]=\"size === 'sm'\" [class.medium]=\"size === 'md'\" [class.large]=\"size === 'lg'\">\n <header ngg-modal-header data-testid=\"modal-header\" [header]=\"header\" (closed)=\"this.handleCloseClick($event)\"></header>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container> \n </div>\n <footer ngg-modal-footer data-testid=\"modal-footer\" *ngIf=\"dismissLabel || confirmLabel\" [dismissLabel]=\"dismissLabel\" [confirmLabel]=\"confirmLabel\" (dismiss)=\"this.handleDismiss($event)\" (confirm)=\"this.handleConfirm($event)\"></footer>\n </section>\n <ng-template #contentTpl>\n <ng-content></ng-content>\n </ng-template>\n <div #backdrop data-testid=\"modal-backdrop\" class=\"backdrop\" (click)=\"this.handleBackdropClick($event)\" [attr.aria-hidden]=\"true\"></div>\n</ng-container>", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
521
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { modalType: [{
522
+ type: Input
523
+ }], header: [{
524
+ type: Input
525
+ }], confirmLabel: [{
526
+ type: Input
527
+ }], dismissLabel: [{
528
+ type: Input
529
+ }], size: [{
530
+ type: Input
531
+ }], isOpen: [{
532
+ type: Input
533
+ }], isOpenChange: [{
534
+ type: Output
535
+ }], closed: [{
536
+ type: Output
537
+ }], confirm: [{
538
+ type: Output
539
+ }], dismiss: [{
540
+ type: Output
541
+ }], open: [{
542
+ type: HostBinding,
543
+ args: ['class.open']
544
+ }], backdropRef: [{
545
+ type: ViewChild,
546
+ args: ['backdrop']
547
+ }] } });
548
+ class NggModalHeaderComponent {
549
+ constructor() {
550
+ this.closed = new EventEmitter();
551
+ }
552
+ handleClose(event) {
553
+ this.closed.emit(event);
554
+ }
555
+ }
556
+ NggModalHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
557
+ NggModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggModalHeaderComponent, selector: "[ngg-modal-header]", inputs: { header: "header" }, outputs: { closed: "closed" }, ngImport: i0, template: `
558
+ <h3 data-testid="modal-header-text">{{header}}</h3>
559
+ <button data-testid="modal-close-button" class="close" (click)="this.handleClose($event)">
560
+ <span className="sr-only">Close</span>
561
+ </button>
562
+ `, isInline: true, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] });
563
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalHeaderComponent, decorators: [{
564
+ type: Component,
565
+ args: [{ selector: '[ngg-modal-header]', template: `
566
+ <h3 data-testid="modal-header-text">{{header}}</h3>
567
+ <button data-testid="modal-close-button" class="close" (click)="this.handleClose($event)">
568
+ <span className="sr-only">Close</span>
569
+ </button>
570
+ `, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
571
+ }], propDecorators: { header: [{
572
+ type: Input
573
+ }], closed: [{
574
+ type: Output
575
+ }] } });
576
+ class NggModalBodyComponent {
577
+ }
578
+ NggModalBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
579
+ NggModalBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggModalBodyComponent, selector: "[ngg-modal-body]", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] });
580
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalBodyComponent, decorators: [{
581
+ type: Component,
582
+ args: [{ selector: '[ngg-modal-body]', template: `<ng-content></ng-content>`, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
583
+ }] });
584
+ class NggModalFooterComponent {
585
+ constructor() {
586
+ this.dismiss = new EventEmitter();
587
+ this.confirm = new EventEmitter();
588
+ }
589
+ handleDismiss(event) {
590
+ this.dismiss.emit(event);
591
+ }
592
+ handleConfirm(event) {
593
+ this.confirm.emit(event);
594
+ }
595
+ }
596
+ NggModalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
597
+ NggModalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggModalFooterComponent, selector: "[ngg-modal-footer]", inputs: { dismissLabel: "dismissLabel", confirmLabel: "confirmLabel" }, outputs: { dismiss: "dismiss", confirm: "confirm" }, ngImport: i0, template: `
598
+ <button data-testid="modal-dismiss-button" *ngIf="dismissLabel" class="secondary" (click)="this.handleDismiss($event)">{{dismissLabel}}</button>
599
+ <button data-testid="modal-confirm-button" *ngIf="confirmLabel" class="primary" (click)="this.handleConfirm($event)">{{confirmLabel}}</button>
600
+ `, isInline: true, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
601
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalFooterComponent, decorators: [{
602
+ type: Component,
603
+ args: [{ selector: '[ngg-modal-footer]', template: `
604
+ <button data-testid="modal-dismiss-button" *ngIf="dismissLabel" class="secondary" (click)="this.handleDismiss($event)">{{dismissLabel}}</button>
605
+ <button data-testid="modal-confirm-button" *ngIf="confirmLabel" class="primary" (click)="this.handleConfirm($event)">{{confirmLabel}}</button>
606
+ `, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal-backdrop)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
607
+ }], propDecorators: { dismissLabel: [{
608
+ type: Input
609
+ }], confirmLabel: [{
610
+ type: Input
611
+ }], dismiss: [{
612
+ type: Output
613
+ }], confirm: [{
614
+ type: Output
615
+ }] } });
616
+
617
+ const DECLARATIONS = [
618
+ NggModalComponent,
619
+ NggModalHeaderComponent,
620
+ NggModalBodyComponent,
621
+ NggModalFooterComponent
622
+ ];
623
+ const EXPORTS = [
624
+ NggModalComponent,
625
+ ];
626
+ class NggModalModule {
627
+ }
628
+ NggModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
629
+ NggModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalModule, declarations: [NggModalComponent,
630
+ NggModalHeaderComponent,
631
+ NggModalBodyComponent,
632
+ NggModalFooterComponent], imports: [CommonModule], exports: [NggModalComponent] });
633
+ NggModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalModule, imports: [[CommonModule]] });
634
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalModule, decorators: [{
635
+ type: NgModule,
636
+ args: [{
637
+ imports: [CommonModule],
638
+ exports: EXPORTS,
639
+ declarations: DECLARATIONS,
640
+ }]
641
+ }] });
642
+
467
643
  class NggBadgeComponent {
468
644
  //eslint-disable-next-line
469
645
  constructor() {
@@ -557,5 +733,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
557
733
  * Generated bundle index. Do not edit.
558
734
  */
559
735
 
560
- export { NggBadgeComponent, NggBadgeModule, NggDatepickerComponent, NggDatepickerModule, NggDropdownComponent, NggDropdownModule, NggDropdownOptionDirective, NggModule, NggSegmentedControlComponent, NggSegmentedControlModule, dateValidator };
736
+ export { NggBadgeComponent, NggBadgeModule, NggDatepickerComponent, NggDatepickerModule, NggDropdownComponent, NggDropdownModule, NggDropdownOptionDirective, NggModalBodyComponent, NggModalComponent, NggModalFooterComponent, NggModalHeaderComponent, NggModalModule, NggModule, NggSegmentedControlComponent, NggSegmentedControlModule, dateValidator };
561
737
  //# sourceMappingURL=sebgroup-green-angular.mjs.map