@sebgroup/green-angular 1.0.0-beta.43 → 1.0.0-beta.46
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 +8 -10
- package/esm2020/lib/accordion/accordion-list-item.component.mjs +47 -0
- package/esm2020/lib/accordion/accordion.component.mjs +72 -0
- package/esm2020/lib/accordion/accordion.module.mjs +19 -0
- package/esm2020/lib/accordion/index.mjs +4 -0
- package/esm2020/lib/badge/index.mjs +3 -0
- package/esm2020/lib/button/button.component.mjs +26 -0
- package/esm2020/lib/button/button.module.mjs +18 -0
- package/esm2020/lib/button/index.mjs +3 -0
- package/esm2020/lib/datepicker/index.mjs +3 -0
- package/esm2020/lib/dropdown/dropdown.component.mjs +2 -8
- package/esm2020/lib/dropdown/index.mjs +4 -0
- package/esm2020/lib/green-angular.module.mjs +34 -6
- package/esm2020/lib/modal/index.mjs +1 -1
- package/esm2020/lib/modal/modal.component.mjs +51 -7
- package/esm2020/lib/modal/modal.module.mjs +5 -4
- package/esm2020/lib/progress-circle/index.mjs +3 -0
- package/esm2020/lib/progress-circle/progress-circle.component.mjs +48 -0
- package/esm2020/lib/progress-circle/progress-circle.module.mjs +18 -0
- package/esm2020/lib/segmented-control/index.mjs +3 -0
- package/fesm2015/sebgroup-green-angular.mjs +436 -151
- package/fesm2015/sebgroup-green-angular.mjs.map +1 -1
- package/fesm2020/sebgroup-green-angular.mjs +433 -150
- package/fesm2020/sebgroup-green-angular.mjs.map +1 -1
- package/index.d.ts +7 -9
- package/lib/accordion/accordion-list-item.component.d.ts +15 -0
- package/lib/accordion/accordion.component.d.ts +16 -0
- package/lib/accordion/accordion.module.d.ts +9 -0
- package/lib/accordion/index.d.ts +3 -0
- package/lib/badge/index.d.ts +2 -0
- package/lib/button/button.component.d.ts +9 -0
- package/lib/button/button.module.d.ts +8 -0
- package/lib/button/index.d.ts +2 -0
- package/lib/datepicker/index.d.ts +2 -0
- package/lib/dropdown/index.d.ts +3 -0
- package/lib/green-angular.module.d.ts +9 -4
- package/lib/modal/modal.component.d.ts +13 -4
- package/lib/modal/modal.module.d.ts +3 -2
- package/lib/progress-circle/index.d.ts +2 -0
- package/lib/progress-circle/progress-circle.component.d.ts +15 -0
- package/lib/progress-circle/progress-circle.module.d.ts +8 -0
- package/lib/segmented-control/index.d.ts +2 -0
- package/package.json +4 -3
|
@@ -1,61 +1,232 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import * as
|
|
2
|
+
import { EventEmitter, Component, Input, Output, ContentChildren, NgModule, ChangeDetectionStrategy, HostBinding, Directive, Injector, Inject, ViewChild, ContentChild } from '@angular/core';
|
|
3
|
+
import * as i2 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import
|
|
6
|
-
import { RouterModule } from '@angular/router';
|
|
5
|
+
import { randomId, dropdownValues, createDropdown, months, years, createDatepicker } from '@sebgroup/extract';
|
|
7
6
|
import { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
8
|
-
import { dropdownValues, createDropdown, randomId, months, years, createDatepicker } from '@sebgroup/extract';
|
|
9
7
|
import { startOfDay, endOfDay } from 'date-fns';
|
|
10
8
|
import { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';
|
|
9
|
+
import * as i1 from '@angular/cdk/a11y';
|
|
10
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
11
|
+
import * as i2$1 from '@angular/router';
|
|
12
|
+
import { RouterModule } from '@angular/router';
|
|
11
13
|
|
|
12
|
-
class
|
|
14
|
+
class NggAccordionListItemComponent {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.id = randomId();
|
|
17
|
+
this.listItemHeader = '';
|
|
18
|
+
this.listItemSubHeader = '';
|
|
19
|
+
this.expandedChange = new EventEmitter();
|
|
20
|
+
this.contentHeight = "0px";
|
|
21
|
+
this.isExpanded = false;
|
|
22
|
+
}
|
|
23
|
+
shrink() {
|
|
24
|
+
this.isExpanded = false;
|
|
25
|
+
this.contentHeight = "0px";
|
|
26
|
+
}
|
|
27
|
+
expand() {
|
|
28
|
+
this.isExpanded = true;
|
|
29
|
+
this.contentHeight = "auto";
|
|
30
|
+
}
|
|
31
|
+
toggleExpanded() {
|
|
32
|
+
this.isExpanded = !this.isExpanded;
|
|
33
|
+
if (this.isExpanded) {
|
|
34
|
+
this.contentHeight = "auto";
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
this.contentHeight = "0px";
|
|
38
|
+
}
|
|
39
|
+
this.expandedChange.emit(this);
|
|
40
|
+
}
|
|
13
41
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
[
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
42
|
+
NggAccordionListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggAccordionListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
+
NggAccordionListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggAccordionListItemComponent, selector: "div[ngg-accordion-list-item]", inputs: { id: "id", listItemHeader: "listItemHeader", listItemSubHeader: "listItemSubHeader" }, outputs: { expandedChange: "expandedChange" }, ngImport: i0, template: "<ng-container data-testid=\"accordion-list-item-root\">\n <div role=\"heading\" aria-level=\"2\" [attr.id]=\"id\">\n <button data-testid=\"accordion-list-item-expander-button\" [attr.id]=\"id + '_header'\" (click)=\"toggleExpanded()\"\n tabindex=\"0\" [attr.aria-expanded]=\"this.isExpanded\" [attr.aria-controls]=\"id + '_section'\">\n <span data-testid=\"accordion-list-item-header\">{{listItemHeader}}</span>\n <span data-testid=\"accordion-list-item-subheader\">{{listItemSubHeader}}</span>\n <svg width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M18.8095 9.22817L18.1907 8.60942C18.0438 8.46255 17.8063 8.46255 17.6595 8.60942L12.0001 14.2563L6.34072 8.60942C6.19385 8.46255 5.95635 8.46255 5.80947 8.60942L5.19072 9.22817C5.04385 9.37505 5.04385 9.61255 5.19072 9.75942L11.7345 16.3032C11.8813 16.45 12.1188 16.45 12.2657 16.3032L18.8095 9.75942C18.9563 9.61255 18.9563 9.37505 18.8095 9.22817Z\"\n fill=\"#333333\" />\n </svg>\n </button>\n <div role=\"region\" [hidden]=\"!this.isExpanded\"\n [ngStyle]=\"{height: this.contentHeight}\" [id]=\"id + '_section'\" [attr.aria-labelledby]=\"id + '_header'\"\n data-testid=\"accordion-list-item-content\">\n <div>\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</ng-container>", directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggAccordionListItemComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{ selector: 'div[ngg-accordion-list-item]', template: "<ng-container data-testid=\"accordion-list-item-root\">\n <div role=\"heading\" aria-level=\"2\" [attr.id]=\"id\">\n <button data-testid=\"accordion-list-item-expander-button\" [attr.id]=\"id + '_header'\" (click)=\"toggleExpanded()\"\n tabindex=\"0\" [attr.aria-expanded]=\"this.isExpanded\" [attr.aria-controls]=\"id + '_section'\">\n <span data-testid=\"accordion-list-item-header\">{{listItemHeader}}</span>\n <span data-testid=\"accordion-list-item-subheader\">{{listItemSubHeader}}</span>\n <svg width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M18.8095 9.22817L18.1907 8.60942C18.0438 8.46255 17.8063 8.46255 17.6595 8.60942L12.0001 14.2563L6.34072 8.60942C6.19385 8.46255 5.95635 8.46255 5.80947 8.60942L5.19072 9.22817C5.04385 9.37505 5.04385 9.61255 5.19072 9.75942L11.7345 16.3032C11.8813 16.45 12.1188 16.45 12.2657 16.3032L18.8095 9.75942C18.9563 9.61255 18.9563 9.37505 18.8095 9.22817Z\"\n fill=\"#333333\" />\n </svg>\n </button>\n <div role=\"region\" [hidden]=\"!this.isExpanded\"\n [ngStyle]=\"{height: this.contentHeight}\" [id]=\"id + '_section'\" [attr.aria-labelledby]=\"id + '_header'\"\n data-testid=\"accordion-list-item-content\">\n <div>\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</ng-container>" }]
|
|
47
|
+
}], propDecorators: { id: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], listItemHeader: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], listItemSubHeader: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], expandedChange: [{
|
|
54
|
+
type: Output
|
|
55
|
+
}] } });
|
|
56
|
+
|
|
57
|
+
class NggAccordionComponent {
|
|
58
|
+
constructor() {
|
|
59
|
+
this.closeOthers = false;
|
|
60
|
+
}
|
|
61
|
+
get expandAll() {
|
|
62
|
+
return this._expandAll;
|
|
63
|
+
}
|
|
64
|
+
set expandAll(value) {
|
|
65
|
+
var _a, _b;
|
|
66
|
+
if (value === this._expandAll)
|
|
67
|
+
return;
|
|
68
|
+
if (this._expandAll) {
|
|
69
|
+
(_a = this.expandAllSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
70
|
+
}
|
|
71
|
+
this._expandAll = value;
|
|
72
|
+
this.expandAllSubscription = (_b = this._expandAll) === null || _b === void 0 ? void 0 : _b.subscribe(() => {
|
|
73
|
+
if (this.closeOthers === false) {
|
|
74
|
+
const itemArray = this.items ? Array.from(this.items) : undefined;
|
|
75
|
+
if (itemArray) {
|
|
76
|
+
for (const i of itemArray) {
|
|
77
|
+
i.expand();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
ngAfterContentChecked() {
|
|
84
|
+
if (this.closeOthers) {
|
|
85
|
+
const itemArray = this.items ? Array.from(this.items) : undefined;
|
|
86
|
+
if (itemArray) {
|
|
87
|
+
for (const i of itemArray) {
|
|
88
|
+
i.expandedChange.subscribe((child) => this.onChildExpanded(child));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
ngOnDestroy() {
|
|
94
|
+
var _a;
|
|
95
|
+
if (this.closeOthers) {
|
|
96
|
+
const itemArray = this.items ? Array.from(this.items) : undefined;
|
|
97
|
+
if (itemArray) {
|
|
98
|
+
for (const i of itemArray) {
|
|
99
|
+
i.expandedChange.unsubscribe();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
(_a = this.expandAllSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
104
|
+
}
|
|
105
|
+
onChildExpanded(childIdentity) {
|
|
106
|
+
if (this.closeOthers && childIdentity.isExpanded && this.items) {
|
|
107
|
+
this.items.forEach((item) => {
|
|
108
|
+
if (item !== childIdentity)
|
|
109
|
+
item.shrink();
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
NggAccordionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
+
NggAccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggAccordionComponent, selector: "ngg-accordion", inputs: { closeOthers: "closeOthers", expandAll: "expandAll" }, queries: [{ propertyName: "items", predicate: NggAccordionListItemComponent }], ngImport: i0, template: "<div class=\"accordion\" data-testid=\"accordion-root\">\n <ng-content></ng-content>\n</div>\n" });
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggAccordionComponent, decorators: [{
|
|
27
117
|
type: Component,
|
|
118
|
+
args: [{ selector: "ngg-accordion", template: "<div class=\"accordion\" data-testid=\"accordion-root\">\n <ng-content></ng-content>\n</div>\n" }]
|
|
119
|
+
}], propDecorators: { items: [{
|
|
120
|
+
type: ContentChildren,
|
|
121
|
+
args: [NggAccordionListItemComponent]
|
|
122
|
+
}], closeOthers: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], expandAll: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}] } });
|
|
127
|
+
|
|
128
|
+
class NggAccordionModule {
|
|
129
|
+
}
|
|
130
|
+
NggAccordionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
131
|
+
NggAccordionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggAccordionModule, declarations: [NggAccordionListItemComponent, NggAccordionComponent], imports: [CommonModule], exports: [NggAccordionListItemComponent, NggAccordionComponent] });
|
|
132
|
+
NggAccordionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggAccordionModule, imports: [[CommonModule]] });
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggAccordionModule, decorators: [{
|
|
134
|
+
type: NgModule,
|
|
28
135
|
args: [{
|
|
29
|
-
|
|
136
|
+
imports: [CommonModule],
|
|
137
|
+
exports: [NggAccordionListItemComponent, NggAccordionComponent],
|
|
138
|
+
declarations: [NggAccordionListItemComponent, NggAccordionComponent]
|
|
139
|
+
}]
|
|
140
|
+
}] });
|
|
141
|
+
|
|
142
|
+
class NggBadgeComponent {
|
|
143
|
+
//eslint-disable-next-line
|
|
144
|
+
constructor() {
|
|
145
|
+
/** The color of the component */
|
|
146
|
+
this.badgeType = '';
|
|
147
|
+
/** Callback when component is dismissed */
|
|
148
|
+
this.handleClose = new EventEmitter();
|
|
149
|
+
}
|
|
150
|
+
/** Flag whether the component can be dismissed */
|
|
151
|
+
set isCloseable(value) {
|
|
152
|
+
this._isCloseable = value;
|
|
153
|
+
}
|
|
154
|
+
get isCloseable() {
|
|
155
|
+
return this._isCloseable === '' || !!this._isCloseable;
|
|
156
|
+
}
|
|
157
|
+
get class() {
|
|
158
|
+
return ['badge', this.badgeType].join(' ');
|
|
159
|
+
}
|
|
160
|
+
ngOnInit() {
|
|
161
|
+
if (!!this.customColor || !!this.customBackgroundColor) {
|
|
162
|
+
this.badgeType = '';
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
close(e) {
|
|
166
|
+
this.handleClose.emit(e);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
NggBadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
170
|
+
NggBadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggBadgeComponent, selector: "[ngg-badge]", inputs: { badgeType: "badgeType", isCloseable: "isCloseable", closeText: "closeText", customColor: "customColor", customBackgroundColor: "customBackgroundColor" }, outputs: { handleClose: "handleClose" }, host: { properties: { "style.color": "this.customColor", "style.background-color": "this.customBackgroundColor", "class": "this.class" } }, ngImport: i0, template: `
|
|
171
|
+
<strong>
|
|
172
|
+
<ng-content></ng-content>
|
|
173
|
+
</strong>
|
|
174
|
+
<button *ngIf="isCloseable" class="close" (click)="close($event)">
|
|
175
|
+
{{ closeText }}
|
|
176
|
+
<i></i>
|
|
177
|
+
</button>
|
|
178
|
+
`, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggBadgeComponent, decorators: [{
|
|
180
|
+
type: Component,
|
|
181
|
+
args: [{
|
|
182
|
+
// we need to disable this warning since we don't want the badge component to create a new element
|
|
183
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
184
|
+
selector: '[ngg-badge]',
|
|
30
185
|
template: `
|
|
31
|
-
<
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
>
|
|
39
|
-
</div>
|
|
186
|
+
<strong>
|
|
187
|
+
<ng-content></ng-content>
|
|
188
|
+
</strong>
|
|
189
|
+
<button *ngIf="isCloseable" class="close" (click)="close($event)">
|
|
190
|
+
{{ closeText }}
|
|
191
|
+
<i></i>
|
|
192
|
+
</button>
|
|
40
193
|
`,
|
|
41
|
-
styles: [],
|
|
42
194
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
43
195
|
}]
|
|
44
|
-
}], propDecorators: {
|
|
196
|
+
}], ctorParameters: function () { return []; }, propDecorators: { badgeType: [{
|
|
45
197
|
type: Input
|
|
198
|
+
}], isCloseable: [{
|
|
199
|
+
type: Input
|
|
200
|
+
}], closeText: [{
|
|
201
|
+
type: Input
|
|
202
|
+
}], customColor: [{
|
|
203
|
+
type: HostBinding,
|
|
204
|
+
args: ['style.color']
|
|
205
|
+
}, {
|
|
206
|
+
type: Input
|
|
207
|
+
}], customBackgroundColor: [{
|
|
208
|
+
type: HostBinding,
|
|
209
|
+
args: ['style.background-color']
|
|
210
|
+
}, {
|
|
211
|
+
type: Input
|
|
212
|
+
}], class: [{
|
|
213
|
+
type: HostBinding,
|
|
214
|
+
args: ['class']
|
|
215
|
+
}], handleClose: [{
|
|
216
|
+
type: Output
|
|
46
217
|
}] } });
|
|
47
218
|
|
|
48
|
-
class
|
|
219
|
+
class NggBadgeModule {
|
|
49
220
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type:
|
|
221
|
+
NggBadgeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
222
|
+
NggBadgeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggBadgeModule, declarations: [NggBadgeComponent], imports: [CommonModule], exports: [NggBadgeComponent] });
|
|
223
|
+
NggBadgeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggBadgeModule, imports: [[CommonModule]] });
|
|
224
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggBadgeModule, decorators: [{
|
|
54
225
|
type: NgModule,
|
|
55
226
|
args: [{
|
|
56
|
-
declarations: [
|
|
57
|
-
imports: [
|
|
58
|
-
exports: [
|
|
227
|
+
declarations: [NggBadgeComponent],
|
|
228
|
+
imports: [CommonModule],
|
|
229
|
+
exports: [NggBadgeComponent],
|
|
59
230
|
}]
|
|
60
231
|
}] });
|
|
61
232
|
|
|
@@ -135,19 +306,12 @@ class NggDropdownComponent {
|
|
|
135
306
|
}
|
|
136
307
|
ngOnChanges(changes) {
|
|
137
308
|
if (this.handler &&
|
|
138
|
-
(changes.id || changes.
|
|
309
|
+
(changes.id || changes.texts || changes.loop || changes.options)) {
|
|
139
310
|
this.handler.update(this.props);
|
|
140
311
|
}
|
|
141
312
|
}
|
|
142
313
|
writeValue(value) {
|
|
143
|
-
var _a, _b, _c, _d;
|
|
144
314
|
this.value = value;
|
|
145
|
-
if (value === null &&
|
|
146
|
-
((_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.isTouched) &&
|
|
147
|
-
((_c = (_b = this.control) === null || _b === void 0 ? void 0 : _b.control) === null || _c === void 0 ? void 0 : _c.untouched)) {
|
|
148
|
-
(_d = this.handler) === null || _d === void 0 ? void 0 : _d.resetTouchedState();
|
|
149
|
-
this.cd.detectChanges();
|
|
150
|
-
}
|
|
151
315
|
}
|
|
152
316
|
registerOnChange(fn) {
|
|
153
317
|
this.onChangeFn = fn;
|
|
@@ -198,7 +362,7 @@ NggDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
198
362
|
useExisting: NggDropdownComponent,
|
|
199
363
|
multi: true,
|
|
200
364
|
},
|
|
201
|
-
], queries: [{ propertyName: "customOption", first: true, predicate: NggDropdownOptionDirective, descendants: true }], viewQueries: [{ propertyName: "togglerRef", first: true, predicate: ["togglerRef"], descendants: true }, { propertyName: "listboxRef", first: true, predicate: ["listboxRef"], descendants: true }, { propertyName: "fieldsetRef", first: true, predicate: ["fieldsetRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div>\n <span class=\"label\" *ngIf=\"label\" [id]=\"toggler?.attributes?.id + '_label'\">{{\n label\n }}</span>\n <button\n [attr.aria-labelledby]=\"label ? toggler?.attributes?.id + '_label' : null\"\n [attr.aria-describedby]=\"\n formInfo?.textContent && (formInfo?.textContent?.length ?? 0 > 0)\n ? toggler?.attributes?.id + '_info'\n : null\n \"\n type=\"button\"\n #togglerRef\n [id]=\"toggler?.attributes?.id\"\n [attr.aria-haspopup]=\"toggler?.attributes?.['aria-haspopup']\"\n [attr.aria-expanded]=\"toggler?.attributes?.['aria-expanded']\"\n [attr.aria-owns]=\"toggler?.attributes?.['aria-owns']\"\n [tabindex]=\"toggler?.attributes?.tabIndex\"\n [style]=\"toggler?.attributes?.style\"\n [class]=\"toggler?.classes\"\n (click)=\"handler?.toggle()\"\n [class.is-valid]=\"valid\"\n [class.is-invalid]=\"invalid\"\n >\n <span>{{ dropdown?.texts?.select }}</span>\n </button>\n <span\n class=\"form-info\"\n #formInfo\n [attr.id]=\"toggler?.attributes?.id + '_info'\"\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n <div\n #listboxRef\n [id]=\"listbox?.attributes?.id\"\n [attr.role]=\"listbox?.attributes?.role\"\n [attr.aria-activedescendant]=\"\n listbox?.attributes?.['aria-activedescendant']\n \"\n [tabindex]=\"listbox?.attributes?.tabIndex\"\n [style]=\"listbox?.attributes?.style\"\n [class]=\"listbox?.classes\"\n >\n <button\n type=\"button\"\n class=\"close m-4 m-sm-2 d-block d-sm-none\"\n (click)=\"handler?.close()\"\n >\n <span class=\"sr-only\">{{ dropdown?.texts?.close }}</span>\n <i></i>\n </button>\n <ul role=\"listbox\" *ngIf=\"!dropdown?.isMultiSelect\">\n <ng-container *ngTemplateOutlet=\"searchInput\"></ng-container>\n <li\n *ngFor=\"\n let option of dropdown?.options;\n let index = index;\n trackBy: trackByKey\n \"\n [id]=\"option.attributes.id\"\n [attr.role]=\"option.attributes.role\"\n [attr.aria-selected]=\"option.attributes['aria-selected']\"\n [style]=\"option.attributes.style\"\n [class]=\"option.classes\"\n (click)=\"handler?.select(option)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container>\n </li>\n </ul>\n <div *ngIf=\"dropdown?.isMultiSelect\" class=\"sg-fieldset-container\">\n <ng-container *ngTemplateOutlet=\"searchInput\"></ng-container>\n <!--TODO: Improve checkboxes in dropdown angular-->\n <fieldset\n #fieldsetRef\n [attr.aria-describedby]=\"fieldset?.attributes?.id\"\n role=\"listbox\"\n tabIndex=\"-1\"\n aria-multiselectable=\"true\"\n >\n <legend class=\"sr-only\" [id]=\"fieldset?.attributes?.id\">Options</legend>\n <div>\n <label\n class=\"form-control\"\n [attr.role]=\"option.attributes.role\"\n [id]=\"option.attributes.id\"\n [attr.aria-selected]=\"option.attributes['aria-selected']\"\n [class]=\"option.classes\"\n *ngFor=\"\n let option of dropdown?.options;\n let index = index;\n trackBy: trackByKey\n \"\n >\n <input\n type=\"checkbox\"\n (change)=\"handler?.select(option, false)\"\n [checked]=\"option.selected\"\n tabIndex=\"-1\"\n />\n <ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container>\n <i></i>\n </label>\n </div>\n </fieldset>\n </div>\n </div>\n</div>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ option[dropdown!.display] }}\n</ng-template>\n\n<ng-template #searchInput>\n <input\n *ngIf=\"dropdown?.isSearchable\"\n [id]=\"toggler?.attributes?.id + '_search-input'\"\n type=\"search\"\n (input)=\"search($event)\"\n placeholder=\"{{ dropdown?.texts?.searchPlaceholder }}\"\n class=\"rounded-0 rounded-top border-0 border-bottom border-info\"\n />\n</ng-template>\n", directives: [{ type:
|
|
365
|
+
], queries: [{ propertyName: "customOption", first: true, predicate: NggDropdownOptionDirective, descendants: true }], viewQueries: [{ propertyName: "togglerRef", first: true, predicate: ["togglerRef"], descendants: true }, { propertyName: "listboxRef", first: true, predicate: ["listboxRef"], descendants: true }, { propertyName: "fieldsetRef", first: true, predicate: ["fieldsetRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div>\n <span class=\"label\" *ngIf=\"label\" [id]=\"toggler?.attributes?.id + '_label'\">{{\n label\n }}</span>\n <button\n [attr.aria-labelledby]=\"label ? toggler?.attributes?.id + '_label' : null\"\n [attr.aria-describedby]=\"\n formInfo?.textContent && (formInfo?.textContent?.length ?? 0 > 0)\n ? toggler?.attributes?.id + '_info'\n : null\n \"\n type=\"button\"\n #togglerRef\n [id]=\"toggler?.attributes?.id\"\n [attr.aria-haspopup]=\"toggler?.attributes?.['aria-haspopup']\"\n [attr.aria-expanded]=\"toggler?.attributes?.['aria-expanded']\"\n [attr.aria-owns]=\"toggler?.attributes?.['aria-owns']\"\n [tabindex]=\"toggler?.attributes?.tabIndex\"\n [style]=\"toggler?.attributes?.style\"\n [class]=\"toggler?.classes\"\n (click)=\"handler?.toggle()\"\n [class.is-valid]=\"valid\"\n [class.is-invalid]=\"invalid\"\n >\n <span>{{ dropdown?.texts?.select }}</span>\n </button>\n <span\n class=\"form-info\"\n #formInfo\n [attr.id]=\"toggler?.attributes?.id + '_info'\"\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n <div\n #listboxRef\n [id]=\"listbox?.attributes?.id\"\n [attr.role]=\"listbox?.attributes?.role\"\n [attr.aria-activedescendant]=\"\n listbox?.attributes?.['aria-activedescendant']\n \"\n [tabindex]=\"listbox?.attributes?.tabIndex\"\n [style]=\"listbox?.attributes?.style\"\n [class]=\"listbox?.classes\"\n >\n <button\n type=\"button\"\n class=\"close m-4 m-sm-2 d-block d-sm-none\"\n (click)=\"handler?.close()\"\n >\n <span class=\"sr-only\">{{ dropdown?.texts?.close }}</span>\n <i></i>\n </button>\n <ul role=\"listbox\" *ngIf=\"!dropdown?.isMultiSelect\">\n <ng-container *ngTemplateOutlet=\"searchInput\"></ng-container>\n <li\n *ngFor=\"\n let option of dropdown?.options;\n let index = index;\n trackBy: trackByKey\n \"\n [id]=\"option.attributes.id\"\n [attr.role]=\"option.attributes.role\"\n [attr.aria-selected]=\"option.attributes['aria-selected']\"\n [style]=\"option.attributes.style\"\n [class]=\"option.classes\"\n (click)=\"handler?.select(option)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container>\n </li>\n </ul>\n <div *ngIf=\"dropdown?.isMultiSelect\" class=\"sg-fieldset-container\">\n <ng-container *ngTemplateOutlet=\"searchInput\"></ng-container>\n <!--TODO: Improve checkboxes in dropdown angular-->\n <fieldset\n #fieldsetRef\n [attr.aria-describedby]=\"fieldset?.attributes?.id\"\n role=\"listbox\"\n tabIndex=\"-1\"\n aria-multiselectable=\"true\"\n >\n <legend class=\"sr-only\" [id]=\"fieldset?.attributes?.id\">Options</legend>\n <div>\n <label\n class=\"form-control\"\n [attr.role]=\"option.attributes.role\"\n [id]=\"option.attributes.id\"\n [attr.aria-selected]=\"option.attributes['aria-selected']\"\n [class]=\"option.classes\"\n *ngFor=\"\n let option of dropdown?.options;\n let index = index;\n trackBy: trackByKey\n \"\n >\n <input\n type=\"checkbox\"\n (change)=\"handler?.select(option, false)\"\n [checked]=\"option.selected\"\n tabIndex=\"-1\"\n />\n <ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container>\n <i></i>\n </label>\n </div>\n </fieldset>\n </div>\n </div>\n</div>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ option[dropdown!.display] }}\n</ng-template>\n\n<ng-template #searchInput>\n <input\n *ngIf=\"dropdown?.isSearchable\"\n [id]=\"toggler?.attributes?.id + '_search-input'\"\n type=\"search\"\n (input)=\"search($event)\"\n placeholder=\"{{ dropdown?.texts?.searchPlaceholder }}\"\n class=\"rounded-0 rounded-top border-0 border-bottom border-info\"\n />\n</ng-template>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
202
366
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownComponent, decorators: [{
|
|
203
367
|
type: Component,
|
|
204
368
|
args: [{ selector: 'ngg-dropdown', providers: [
|
|
@@ -259,20 +423,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
259
423
|
args: [NggDropdownOptionDirective]
|
|
260
424
|
}] } });
|
|
261
425
|
|
|
262
|
-
class NggDropdownModule {
|
|
263
|
-
}
|
|
264
|
-
NggDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
265
|
-
NggDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownModule, declarations: [NggDropdownComponent, NggDropdownOptionDirective], imports: [CommonModule], exports: [NggDropdownComponent, NggDropdownOptionDirective] });
|
|
266
|
-
NggDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownModule, imports: [[CommonModule]] });
|
|
267
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownModule, decorators: [{
|
|
268
|
-
type: NgModule,
|
|
269
|
-
args: [{
|
|
270
|
-
declarations: [NggDropdownComponent, NggDropdownOptionDirective],
|
|
271
|
-
imports: [CommonModule],
|
|
272
|
-
exports: [NggDropdownComponent, NggDropdownOptionDirective],
|
|
273
|
-
}]
|
|
274
|
-
}] });
|
|
275
|
-
|
|
276
426
|
class NggDatepickerComponent {
|
|
277
427
|
constructor(_cdr) {
|
|
278
428
|
this._cdr = _cdr;
|
|
@@ -385,7 +535,7 @@ NggDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
385
535
|
useExisting: NggDatepickerComponent,
|
|
386
536
|
multi: true,
|
|
387
537
|
},
|
|
388
|
-
], viewQueries: [{ propertyName: "datepickerDialogElRef", first: true, predicate: ["datepickerDialogElRef"], descendants: true }, { propertyName: "dateInputElRef", first: true, predicate: ["dateInputElRef"], descendants: true }, { propertyName: "datepickerElRef", first: true, predicate: ["datepickerElRef"], descendants: true }, { propertyName: "datepickerTriggerElRef", first: true, predicate: ["datepickerTriggerElRef"], descendants: true }], ngImport: i0, template: "<div class=\"form-group\">\n <label *ngIf=\"label\" [for]=\"id\">{{ label }}</label>\n <div\n class=\"group\"\n #datepickerElRef\n [class.is-valid]=\"isValid\"\n [class.is-invalid]=\"isValid === false\"\n >\n <input\n [attr.id]=\"id\"\n [attr.aria-describedby]=\"\n formInfo?.innerText && formInfo.innerText.length > 0\n ? id + '_info'\n : null\n \"\n type=\"text\"\n placeholder=\"yyyy-mm-dd\"\n #dateInputElRef\n [value]=\"data?.formattedSelectedDate || ''\"\n (change)=\"onDateChange(dateInputElRef.value)\"\n />\n <button\n #datepickerTriggerElRef\n (click)=\"dp?.toggle()\"\n type=\"button\"\n class=\"primary\"\n >\n <i class=\"sg-icon sg-icon-calendar\">Select date</i>\n </button>\n </div>\n <span class=\"form-info\" #formInfo [attr.id]=\"id + '_info'\"\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n</div>\n<!-- TODO: get or set attributes from within datepicker instance (dp) -->\n<div\n #datepickerDialogElRef\n class=\"popover popover-datepicker\"\n [class.active]=\"dp?.state?.isActive\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Choose Date\"\n>\n <button type=\"button\" class=\"close\" (click)=\"dp?.close()\"><i></i>Close</button>\n <div class=\"sg-date\">\n <header>\n <button type=\"button\" class=\"link\" (click)=\"dp?.sub(1, 'months')\">\n <i class=\"sg-icon sg-icon-previous\">Previous month</i>\n </button>\n <ngg-dropdown\n [options]=\"months\"\n display=\"key\"\n text=\"Select\"\n [value]=\"data?.month\"\n (valueChange)=\"dp?.setMonth($event)\"\n ></ngg-dropdown>\n <ngg-dropdown\n *ngIf=\"years\"\n [options]=\"years\"\n display=\"key\"\n text=\"Select\"\n [value]=\"data?.year\"\n (valueChange)=\"dp?.setYear($event)\"\n ></ngg-dropdown>\n <button type=\"button\" class=\"link\" (click)=\"dp?.add(1, 'months')\">\n <i class=\"sg-icon sg-icon-next\">Next month</i>\n </button>\n </header>\n <main>\n <table role=\"grid\">\n <thead>\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"let header of data?.calendar?.headers\"\n [abbr]=\"header.abbr\"\n [class.sg-week-header]=\"header.type === 'week'\"\n [class.sg-day-header]=\"header.type === 'day'\"\n >\n {{ header.displayText }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let week of data?.calendar?.calendarGrid;\n trackBy: trackWeek;\n let i = index\n \"\n >\n <th\n *ngIf=\"data?.calendar?.weekNumbers as weekNumbers\"\n class=\"sg-week-number\"\n >\n {{ weekNumbers[i] }}\n </th>\n <td\n *ngFor=\"let day of week\"\n [attr.data-date]=\"day.formattedDate\"\n [attr.role]=\"day.selected ? 'gridcell' : null\"\n [attr.aria-selected]=\"\n day.selected && !data?.highlightedDate ? true : null\n \"\n [class.disabled]=\"day.disabled\"\n [class.sg-date-today]=\"day.today\"\n [title]=\"day.today ? 'Today' : ''\"\n [tabIndex]=\"\n day.highlighted ||\n (day.selected && !data?.highlightedDate) ||\n (day.today && !data?.highlightedDate && !data?.selectedDate)\n ? 0\n : -1\n \"\n (click)=\"day.currentMonth && dp?.select(day.date)\"\n >\n {{ day.day }}\n </td>\n </tr>\n </tbody>\n </table>\n </main>\n </div>\n</div>\n", components: [{ type: NggDropdownComponent, selector: "ngg-dropdown", inputs: ["id", "texts", "loop", "display", "useValue", "label", "options", "valid", "invalid", "compareWith", "searchFilter", "multiSelect", "searchable", "value"], outputs: ["valueChange", "touched"] }], directives: [{ type:
|
|
538
|
+
], viewQueries: [{ propertyName: "datepickerDialogElRef", first: true, predicate: ["datepickerDialogElRef"], descendants: true }, { propertyName: "dateInputElRef", first: true, predicate: ["dateInputElRef"], descendants: true }, { propertyName: "datepickerElRef", first: true, predicate: ["datepickerElRef"], descendants: true }, { propertyName: "datepickerTriggerElRef", first: true, predicate: ["datepickerTriggerElRef"], descendants: true }], ngImport: i0, template: "<div class=\"form-group\">\n <label *ngIf=\"label\" [for]=\"id\">{{ label }}</label>\n <div\n class=\"group\"\n #datepickerElRef\n [class.is-valid]=\"isValid\"\n [class.is-invalid]=\"isValid === false\"\n >\n <input\n [attr.id]=\"id\"\n [attr.aria-describedby]=\"\n formInfo?.innerText && formInfo.innerText.length > 0\n ? id + '_info'\n : null\n \"\n type=\"text\"\n placeholder=\"yyyy-mm-dd\"\n #dateInputElRef\n [value]=\"data?.formattedSelectedDate || ''\"\n (change)=\"onDateChange(dateInputElRef.value)\"\n />\n <button\n #datepickerTriggerElRef\n (click)=\"dp?.toggle()\"\n type=\"button\"\n class=\"primary\"\n >\n <i class=\"sg-icon sg-icon-calendar\">Select date</i>\n </button>\n </div>\n <span class=\"form-info\" #formInfo [attr.id]=\"id + '_info'\"\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n</div>\n<!-- TODO: get or set attributes from within datepicker instance (dp) -->\n<div\n #datepickerDialogElRef\n class=\"popover popover-datepicker\"\n [class.active]=\"dp?.state?.isActive\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Choose Date\"\n>\n <button type=\"button\" class=\"close\" (click)=\"dp?.close()\"><i></i>Close</button>\n <div class=\"sg-date\">\n <header>\n <button type=\"button\" class=\"link\" (click)=\"dp?.sub(1, 'months')\">\n <i class=\"sg-icon sg-icon-previous\">Previous month</i>\n </button>\n <ngg-dropdown\n [options]=\"months\"\n display=\"key\"\n text=\"Select\"\n [value]=\"data?.month\"\n (valueChange)=\"dp?.setMonth($event)\"\n ></ngg-dropdown>\n <ngg-dropdown\n *ngIf=\"years\"\n [options]=\"years\"\n display=\"key\"\n text=\"Select\"\n [value]=\"data?.year\"\n (valueChange)=\"dp?.setYear($event)\"\n ></ngg-dropdown>\n <button type=\"button\" class=\"link\" (click)=\"dp?.add(1, 'months')\">\n <i class=\"sg-icon sg-icon-next\">Next month</i>\n </button>\n </header>\n <main>\n <table role=\"grid\">\n <thead>\n <tr>\n <th\n scope=\"col\"\n *ngFor=\"let header of data?.calendar?.headers\"\n [abbr]=\"header.abbr\"\n [class.sg-week-header]=\"header.type === 'week'\"\n [class.sg-day-header]=\"header.type === 'day'\"\n >\n {{ header.displayText }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"\n let week of data?.calendar?.calendarGrid;\n trackBy: trackWeek;\n let i = index\n \"\n >\n <th\n *ngIf=\"data?.calendar?.weekNumbers as weekNumbers\"\n class=\"sg-week-number\"\n >\n {{ weekNumbers[i] }}\n </th>\n <td\n *ngFor=\"let day of week\"\n [attr.data-date]=\"day.formattedDate\"\n [attr.role]=\"day.selected ? 'gridcell' : null\"\n [attr.aria-selected]=\"\n day.selected && !data?.highlightedDate ? true : null\n \"\n [class.disabled]=\"day.disabled\"\n [class.sg-date-today]=\"day.today\"\n [title]=\"day.today ? 'Today' : ''\"\n [tabIndex]=\"\n day.highlighted ||\n (day.selected && !data?.highlightedDate) ||\n (day.today && !data?.highlightedDate && !data?.selectedDate)\n ? 0\n : -1\n \"\n (click)=\"day.currentMonth && dp?.select(day.date)\"\n >\n {{ day.day }}\n </td>\n </tr>\n </tbody>\n </table>\n </main>\n </div>\n</div>\n", components: [{ type: NggDropdownComponent, selector: "ngg-dropdown", inputs: ["id", "texts", "loop", "display", "useValue", "label", "options", "valid", "invalid", "compareWith", "searchFilter", "multiSelect", "searchable", "value"], outputs: ["valueChange", "touched"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
389
539
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDatepickerComponent, decorators: [{
|
|
390
540
|
type: Component,
|
|
391
541
|
args: [{ selector: 'ngg-datepicker', providers: [
|
|
@@ -453,6 +603,20 @@ function dateValidator(dates) {
|
|
|
453
603
|
};
|
|
454
604
|
}
|
|
455
605
|
|
|
606
|
+
class NggDropdownModule {
|
|
607
|
+
}
|
|
608
|
+
NggDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
609
|
+
NggDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownModule, declarations: [NggDropdownComponent, NggDropdownOptionDirective], imports: [CommonModule], exports: [NggDropdownComponent, NggDropdownOptionDirective] });
|
|
610
|
+
NggDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownModule, imports: [[CommonModule]] });
|
|
611
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownModule, decorators: [{
|
|
612
|
+
type: NgModule,
|
|
613
|
+
args: [{
|
|
614
|
+
declarations: [NggDropdownComponent, NggDropdownOptionDirective],
|
|
615
|
+
imports: [CommonModule],
|
|
616
|
+
exports: [NggDropdownComponent, NggDropdownOptionDirective],
|
|
617
|
+
}]
|
|
618
|
+
}] });
|
|
619
|
+
|
|
456
620
|
class NggDatepickerModule {
|
|
457
621
|
}
|
|
458
622
|
NggDatepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -467,27 +631,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
467
631
|
}]
|
|
468
632
|
}] });
|
|
469
633
|
|
|
470
|
-
class NggModule {
|
|
471
|
-
}
|
|
472
|
-
NggModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
473
|
-
NggModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModule, imports: [CommonModule], exports: [NggSegmentedControlModule, NggDropdownModule, NggDatepickerModule] });
|
|
474
|
-
NggModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModule, imports: [[CommonModule], NggSegmentedControlModule, NggDropdownModule, NggDatepickerModule] });
|
|
475
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModule, decorators: [{
|
|
476
|
-
type: NgModule,
|
|
477
|
-
args: [{
|
|
478
|
-
declarations: [],
|
|
479
|
-
imports: [CommonModule],
|
|
480
|
-
exports: [NggSegmentedControlModule, NggDropdownModule, NggDatepickerModule],
|
|
481
|
-
}]
|
|
482
|
-
}] });
|
|
483
|
-
|
|
484
634
|
class NggModalComponent {
|
|
485
|
-
constructor(ref) {
|
|
635
|
+
constructor(ref, configurableFocusTrapFactory) {
|
|
486
636
|
this.ref = ref;
|
|
637
|
+
this.configurableFocusTrapFactory = configurableFocusTrapFactory;
|
|
487
638
|
this.isOpenChange = new EventEmitter();
|
|
488
639
|
this.closed = new EventEmitter();
|
|
489
640
|
this.confirm = new EventEmitter();
|
|
490
641
|
this.dismiss = new EventEmitter();
|
|
642
|
+
this.configurableFocusTrap = this.configurableFocusTrapFactory.create(this.ref.nativeElement);
|
|
643
|
+
}
|
|
644
|
+
get trapFocus() {
|
|
645
|
+
return this._trapFocus;
|
|
646
|
+
}
|
|
647
|
+
set trapFocus(value) {
|
|
648
|
+
this._trapFocus = value;
|
|
649
|
+
if (value) {
|
|
650
|
+
if (this._isOpen) {
|
|
651
|
+
this.enableFocusTrap();
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
else {
|
|
655
|
+
this.disableFocusTrap();
|
|
656
|
+
}
|
|
491
657
|
}
|
|
492
658
|
get isOpen() {
|
|
493
659
|
return this._isOpen;
|
|
@@ -495,13 +661,23 @@ class NggModalComponent {
|
|
|
495
661
|
set isOpen(value) {
|
|
496
662
|
this._isOpen = value;
|
|
497
663
|
if (value) {
|
|
664
|
+
if (this.trapFocus) {
|
|
665
|
+
this.enableFocusTrap();
|
|
666
|
+
}
|
|
498
667
|
disableBodyScroll(this.ref.nativeElement);
|
|
499
668
|
}
|
|
500
669
|
else {
|
|
670
|
+
this.disableFocusTrap();
|
|
501
671
|
enableBodyScroll(this.ref.nativeElement);
|
|
502
672
|
}
|
|
503
673
|
}
|
|
504
674
|
get open() { return this.isOpen; }
|
|
675
|
+
ngOnInit() {
|
|
676
|
+
if (this._isOpen && this.trapFocus)
|
|
677
|
+
this.enableFocusTrap();
|
|
678
|
+
else
|
|
679
|
+
this.disableFocusTrap();
|
|
680
|
+
}
|
|
505
681
|
handleCloseClick(event) {
|
|
506
682
|
this.closeModal(event);
|
|
507
683
|
}
|
|
@@ -525,16 +701,29 @@ class NggModalComponent {
|
|
|
525
701
|
this.isOpenChange.emit(this.isOpen);
|
|
526
702
|
}
|
|
527
703
|
}
|
|
704
|
+
enableFocusTrap() {
|
|
705
|
+
if (this.configurableFocusTrap) {
|
|
706
|
+
this.configurableFocusTrap.enabled = true;
|
|
707
|
+
this.configurableFocusTrap.focusInitialElementWhenReady();
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
disableFocusTrap() {
|
|
711
|
+
if (this.configurableFocusTrap) {
|
|
712
|
+
this.configurableFocusTrap.enabled = false;
|
|
713
|
+
}
|
|
714
|
+
}
|
|
528
715
|
ngOnDestroy() {
|
|
716
|
+
var _a;
|
|
717
|
+
(_a = this.configurableFocusTrap) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
529
718
|
enableBodyScroll(this.ref.nativeElement);
|
|
530
719
|
}
|
|
531
720
|
}
|
|
532
|
-
NggModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
533
|
-
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
|
|
721
|
+
NggModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalComponent, deps: [{ token: i0.ElementRef }, { token: i1.ConfigurableFocusTrapFactory }], target: i0.ɵɵFactoryTarget.Component });
|
|
722
|
+
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", trapFocus: "trapFocus", 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 i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i2.NgSwitch; }), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i0.forwardRef(function () { return i2.NgSwitchCase; }), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i0.forwardRef(function () { return i2.NgSwitchDefault; }), selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
534
723
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalComponent, decorators: [{
|
|
535
724
|
type: Component,
|
|
536
725
|
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"] }]
|
|
537
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { modalType: [{
|
|
726
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ConfigurableFocusTrapFactory }]; }, propDecorators: { modalType: [{
|
|
538
727
|
type: Input
|
|
539
728
|
}], header: [{
|
|
540
729
|
type: Input
|
|
@@ -544,6 +733,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
544
733
|
type: Input
|
|
545
734
|
}], size: [{
|
|
546
735
|
type: Input
|
|
736
|
+
}], trapFocus: [{
|
|
737
|
+
type: Input
|
|
547
738
|
}], isOpen: [{
|
|
548
739
|
type: Input
|
|
549
740
|
}], isOpenChange: [{
|
|
@@ -574,6 +765,7 @@ NggModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
574
765
|
<h3 data-testid="modal-header-text">{{header}}</h3>
|
|
575
766
|
<button data-testid="modal-close-button" class="close" (click)="this.handleClose($event)">
|
|
576
767
|
<span className="sr-only">Close</span>
|
|
768
|
+
<i></i>
|
|
577
769
|
</button>
|
|
578
770
|
`, 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"] });
|
|
579
771
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalHeaderComponent, decorators: [{
|
|
@@ -582,6 +774,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
582
774
|
<h3 data-testid="modal-header-text">{{header}}</h3>
|
|
583
775
|
<button data-testid="modal-close-button" class="close" (click)="this.handleClose($event)">
|
|
584
776
|
<span className="sr-only">Close</span>
|
|
777
|
+
<i></i>
|
|
585
778
|
</button>
|
|
586
779
|
`, 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"] }]
|
|
587
780
|
}], propDecorators: { header: [{
|
|
@@ -613,7 +806,7 @@ NggModalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0",
|
|
|
613
806
|
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: `
|
|
614
807
|
<button data-testid="modal-dismiss-button" *ngIf="dismissLabel" class="secondary" (click)="this.handleDismiss($event)">{{dismissLabel}}</button>
|
|
615
808
|
<button data-testid="modal-confirm-button" *ngIf="confirmLabel" class="primary" (click)="this.handleConfirm($event)">{{confirmLabel}}</button>
|
|
616
|
-
`, 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:
|
|
809
|
+
`, 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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
617
810
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalFooterComponent, decorators: [{
|
|
618
811
|
type: Component,
|
|
619
812
|
args: [{ selector: '[ngg-modal-footer]', template: `
|
|
@@ -645,105 +838,197 @@ NggModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version:
|
|
|
645
838
|
NggModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalModule, declarations: [NggModalComponent,
|
|
646
839
|
NggModalHeaderComponent,
|
|
647
840
|
NggModalBodyComponent,
|
|
648
|
-
NggModalFooterComponent], imports: [CommonModule], exports: [NggModalComponent] });
|
|
649
|
-
NggModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalModule, imports: [[CommonModule]] });
|
|
841
|
+
NggModalFooterComponent], imports: [A11yModule, CommonModule], exports: [NggModalComponent] });
|
|
842
|
+
NggModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalModule, imports: [[A11yModule, CommonModule]] });
|
|
650
843
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModalModule, decorators: [{
|
|
651
844
|
type: NgModule,
|
|
652
845
|
args: [{
|
|
653
|
-
imports: [CommonModule],
|
|
846
|
+
imports: [A11yModule, CommonModule],
|
|
654
847
|
exports: EXPORTS,
|
|
655
848
|
declarations: DECLARATIONS,
|
|
656
849
|
}]
|
|
657
850
|
}] });
|
|
658
851
|
|
|
659
|
-
class
|
|
660
|
-
//eslint-disable-next-line
|
|
852
|
+
class NggProgressCircleComponent {
|
|
661
853
|
constructor() {
|
|
662
|
-
|
|
663
|
-
this.
|
|
664
|
-
/**
|
|
665
|
-
this.
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
set isCloseable(value) {
|
|
669
|
-
this._isCloseable = value;
|
|
670
|
-
}
|
|
671
|
-
get isCloseable() {
|
|
672
|
-
return this._isCloseable === '' || !!this._isCloseable;
|
|
854
|
+
this._startValue = '0deg';
|
|
855
|
+
this._endValue = '0deg';
|
|
856
|
+
/** id of the progress circle */
|
|
857
|
+
this.id = `progress-circle-${randomId()}`;
|
|
858
|
+
/** theme of the progress circle */
|
|
859
|
+
this.theme = 'warning';
|
|
673
860
|
}
|
|
674
|
-
|
|
675
|
-
|
|
861
|
+
/** progress circle value in percentage */
|
|
862
|
+
set value(percent) {
|
|
863
|
+
const degrees = this.calculateDegrees(percent);
|
|
864
|
+
this._endValue = `${degrees}deg`;
|
|
676
865
|
}
|
|
677
|
-
|
|
678
|
-
if (
|
|
679
|
-
|
|
866
|
+
calculateDegrees(percent) {
|
|
867
|
+
if (percent > 100) {
|
|
868
|
+
return 180;
|
|
680
869
|
}
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
870
|
+
if (percent < 0) {
|
|
871
|
+
return 0;
|
|
872
|
+
}
|
|
873
|
+
/** formula: ((n% * 360deg) / 100% ) / 2 */
|
|
874
|
+
return percent * 1.8;
|
|
684
875
|
}
|
|
685
876
|
}
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
<ng-content></ng-content>
|
|
690
|
-
</strong>
|
|
691
|
-
<button *ngIf="isCloseable" class="close" (click)="close($event)">
|
|
692
|
-
{{ closeText }}
|
|
693
|
-
<i></i>
|
|
694
|
-
</button>
|
|
695
|
-
`, isInline: true, directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
696
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggBadgeComponent, decorators: [{
|
|
877
|
+
NggProgressCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggProgressCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
878
|
+
NggProgressCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggProgressCircleComponent, selector: "ngg-progress-circle", inputs: { id: "id", theme: "theme", value: "value" }, host: { properties: { "style.--start-value": "this._startValue", "style.--end-value": "this._endValue" } }, ngImport: i0, template: "<div\n class=\"outer-circle\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"100\"\n [attr.aria-label]=\"id\"\n>\n <div class=\"ring full-ring\">\n <div class=\"ring-progress\" [ngClass]=\"theme\"></div>\n </div>\n <div class=\"ring\">\n <div class=\"ring-progress\" [ngClass]=\"theme\"></div>\n </div>\n <div class=\"inner-circle\">\n <ng-content></ng-content>\n </div>\n</div>\n", directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
879
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggProgressCircleComponent, decorators: [{
|
|
697
880
|
type: Component,
|
|
881
|
+
args: [{ selector: 'ngg-progress-circle', template: "<div\n class=\"outer-circle\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"100\"\n [attr.aria-label]=\"id\"\n>\n <div class=\"ring full-ring\">\n <div class=\"ring-progress\" [ngClass]=\"theme\"></div>\n </div>\n <div class=\"ring\">\n <div class=\"ring-progress\" [ngClass]=\"theme\"></div>\n </div>\n <div class=\"inner-circle\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
|
|
882
|
+
}], propDecorators: { _startValue: [{
|
|
883
|
+
type: HostBinding,
|
|
884
|
+
args: ['style.--start-value']
|
|
885
|
+
}], _endValue: [{
|
|
886
|
+
type: HostBinding,
|
|
887
|
+
args: ['style.--end-value']
|
|
888
|
+
}], id: [{
|
|
889
|
+
type: Input
|
|
890
|
+
}], theme: [{
|
|
891
|
+
type: Input
|
|
892
|
+
}], value: [{
|
|
893
|
+
type: Input
|
|
894
|
+
}] } });
|
|
895
|
+
|
|
896
|
+
class NggProgressCircleModule {
|
|
897
|
+
}
|
|
898
|
+
NggProgressCircleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggProgressCircleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
899
|
+
NggProgressCircleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggProgressCircleModule, declarations: [NggProgressCircleComponent], imports: [CommonModule], exports: [NggProgressCircleComponent] });
|
|
900
|
+
NggProgressCircleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggProgressCircleModule, imports: [[CommonModule]] });
|
|
901
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggProgressCircleModule, decorators: [{
|
|
902
|
+
type: NgModule,
|
|
698
903
|
args: [{
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
904
|
+
declarations: [NggProgressCircleComponent],
|
|
905
|
+
imports: [CommonModule],
|
|
906
|
+
exports: [NggProgressCircleComponent],
|
|
907
|
+
}]
|
|
908
|
+
}] });
|
|
909
|
+
|
|
910
|
+
class NggSegmentedControlComponent {
|
|
911
|
+
}
|
|
912
|
+
NggSegmentedControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggSegmentedControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
913
|
+
NggSegmentedControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggSegmentedControlComponent, selector: "ngg-segmented-control", inputs: { $controls: "$controls" }, ngImport: i0, template: `
|
|
914
|
+
<div class="group">
|
|
915
|
+
<a
|
|
916
|
+
*ngFor="let control of $controls | async"
|
|
917
|
+
[routerLink]="control.url"
|
|
918
|
+
routerLinkActive="active"
|
|
919
|
+
class="button"
|
|
920
|
+
>{{ control.text }}</a
|
|
921
|
+
>
|
|
922
|
+
</div>
|
|
923
|
+
`, isInline: true, directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
924
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggSegmentedControlComponent, decorators: [{
|
|
925
|
+
type: Component,
|
|
926
|
+
args: [{
|
|
927
|
+
selector: 'ngg-segmented-control',
|
|
702
928
|
template: `
|
|
703
|
-
<
|
|
704
|
-
<
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
929
|
+
<div class="group">
|
|
930
|
+
<a
|
|
931
|
+
*ngFor="let control of $controls | async"
|
|
932
|
+
[routerLink]="control.url"
|
|
933
|
+
routerLinkActive="active"
|
|
934
|
+
class="button"
|
|
935
|
+
>{{ control.text }}</a
|
|
936
|
+
>
|
|
937
|
+
</div>
|
|
710
938
|
`,
|
|
939
|
+
styles: [],
|
|
711
940
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
712
941
|
}]
|
|
713
|
-
}],
|
|
714
|
-
type: Input
|
|
715
|
-
}], isCloseable: [{
|
|
716
|
-
type: Input
|
|
717
|
-
}], closeText: [{
|
|
942
|
+
}], propDecorators: { $controls: [{
|
|
718
943
|
type: Input
|
|
719
|
-
}]
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
944
|
+
}] } });
|
|
945
|
+
|
|
946
|
+
class NggSegmentedControlModule {
|
|
947
|
+
}
|
|
948
|
+
NggSegmentedControlModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggSegmentedControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
949
|
+
NggSegmentedControlModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggSegmentedControlModule, declarations: [NggSegmentedControlComponent], imports: [RouterModule, CommonModule], exports: [NggSegmentedControlComponent] });
|
|
950
|
+
NggSegmentedControlModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggSegmentedControlModule, imports: [[RouterModule, CommonModule]] });
|
|
951
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggSegmentedControlModule, decorators: [{
|
|
952
|
+
type: NgModule,
|
|
953
|
+
args: [{
|
|
954
|
+
declarations: [NggSegmentedControlComponent],
|
|
955
|
+
imports: [RouterModule, CommonModule],
|
|
956
|
+
exports: [NggSegmentedControlComponent],
|
|
957
|
+
}]
|
|
958
|
+
}] });
|
|
959
|
+
|
|
960
|
+
class NggButtonComponent {
|
|
961
|
+
get classes() {
|
|
962
|
+
return [this.variant, this.size ? this.size : false].filter(Boolean).join(" ");
|
|
963
|
+
}
|
|
964
|
+
}
|
|
965
|
+
NggButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
966
|
+
NggButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggButtonComponent, selector: "[ngg-button]", inputs: { variant: "variant", size: "size" }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
967
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggButtonComponent, decorators: [{
|
|
968
|
+
type: Component,
|
|
969
|
+
args: [{
|
|
970
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
971
|
+
selector: '[ngg-button]',
|
|
972
|
+
template: `<ng-content></ng-content>`,
|
|
973
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
974
|
+
}]
|
|
975
|
+
}], propDecorators: { variant: [{
|
|
723
976
|
type: Input
|
|
724
|
-
}],
|
|
725
|
-
type: HostBinding,
|
|
726
|
-
args: ['style.background-color']
|
|
727
|
-
}, {
|
|
977
|
+
}], size: [{
|
|
728
978
|
type: Input
|
|
729
|
-
}],
|
|
979
|
+
}], classes: [{
|
|
730
980
|
type: HostBinding,
|
|
731
981
|
args: ['class']
|
|
732
|
-
}], handleClose: [{
|
|
733
|
-
type: Output
|
|
734
982
|
}] } });
|
|
735
983
|
|
|
736
|
-
class
|
|
984
|
+
class NggButtonModule {
|
|
737
985
|
}
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type:
|
|
986
|
+
NggButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
987
|
+
NggButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggButtonModule, declarations: [NggButtonComponent], imports: [CommonModule], exports: [NggButtonComponent] });
|
|
988
|
+
NggButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggButtonModule, imports: [[CommonModule]] });
|
|
989
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggButtonModule, decorators: [{
|
|
742
990
|
type: NgModule,
|
|
743
991
|
args: [{
|
|
744
|
-
declarations: [
|
|
992
|
+
declarations: [NggButtonComponent],
|
|
745
993
|
imports: [CommonModule],
|
|
746
|
-
exports: [
|
|
994
|
+
exports: [NggButtonComponent],
|
|
995
|
+
}]
|
|
996
|
+
}] });
|
|
997
|
+
|
|
998
|
+
class NggModule {
|
|
999
|
+
}
|
|
1000
|
+
NggModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1001
|
+
NggModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModule, imports: [CommonModule], exports: [NggAccordionModule,
|
|
1002
|
+
NggBadgeModule,
|
|
1003
|
+
NggButtonModule,
|
|
1004
|
+
NggDatepickerModule,
|
|
1005
|
+
NggDropdownModule,
|
|
1006
|
+
NggModalModule,
|
|
1007
|
+
NggProgressCircleModule,
|
|
1008
|
+
NggSegmentedControlModule] });
|
|
1009
|
+
NggModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModule, imports: [[CommonModule], NggAccordionModule,
|
|
1010
|
+
NggBadgeModule,
|
|
1011
|
+
NggButtonModule,
|
|
1012
|
+
NggDatepickerModule,
|
|
1013
|
+
NggDropdownModule,
|
|
1014
|
+
NggModalModule,
|
|
1015
|
+
NggProgressCircleModule,
|
|
1016
|
+
NggSegmentedControlModule] });
|
|
1017
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModule, decorators: [{
|
|
1018
|
+
type: NgModule,
|
|
1019
|
+
args: [{
|
|
1020
|
+
declarations: [],
|
|
1021
|
+
imports: [CommonModule],
|
|
1022
|
+
exports: [
|
|
1023
|
+
NggAccordionModule,
|
|
1024
|
+
NggBadgeModule,
|
|
1025
|
+
NggButtonModule,
|
|
1026
|
+
NggDatepickerModule,
|
|
1027
|
+
NggDropdownModule,
|
|
1028
|
+
NggModalModule,
|
|
1029
|
+
NggProgressCircleModule,
|
|
1030
|
+
NggSegmentedControlModule,
|
|
1031
|
+
],
|
|
747
1032
|
}]
|
|
748
1033
|
}] });
|
|
749
1034
|
|
|
@@ -751,5 +1036,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
751
1036
|
* Generated bundle index. Do not edit.
|
|
752
1037
|
*/
|
|
753
1038
|
|
|
754
|
-
export { NggBadgeComponent, NggBadgeModule, NggDatepickerComponent, NggDatepickerModule, NggDropdownComponent, NggDropdownModule, NggDropdownOptionDirective, NggModalBodyComponent, NggModalComponent, NggModalFooterComponent, NggModalHeaderComponent, NggModalModule, NggModule, NggSegmentedControlComponent, NggSegmentedControlModule, dateValidator };
|
|
1039
|
+
export { NggAccordionComponent, NggAccordionListItemComponent, NggAccordionModule, NggBadgeComponent, NggBadgeModule, NggButtonComponent, NggButtonModule, NggDatepickerComponent, NggDatepickerModule, NggDropdownComponent, NggDropdownModule, NggDropdownOptionDirective, NggModalBodyComponent, NggModalComponent, NggModalFooterComponent, NggModalHeaderComponent, NggModalModule, NggModule, NggProgressCircleComponent, NggProgressCircleModule, NggSegmentedControlComponent, NggSegmentedControlModule, dateValidator };
|
|
755
1040
|
//# sourceMappingURL=sebgroup-green-angular.mjs.map
|