@theseam/ui-common 1.0.0-beta.6 → 1.0.0-beta.7
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/breadcrumbs/index.d.ts +1 -2
- package/buttons/index.d.ts +20 -13
- package/datatable/index.d.ts +8 -8
- package/dynamic/index.d.ts +5 -5
- package/fesm2022/theseam-ui-common-asset-reader.mjs +28 -29
- package/fesm2022/theseam-ui-common-asset-reader.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-breadcrumbs.mjs +25 -31
- package/fesm2022/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-buttons.mjs +108 -66
- package/fesm2022/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-card.mjs +21 -21
- package/fesm2022/theseam-ui-common-card.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-carousel.mjs +28 -30
- package/fesm2022/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-checkbox.mjs +27 -27
- package/fesm2022/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-confirm-dialog.mjs +23 -27
- package/fesm2022/theseam-ui-common-confirm-dialog.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-core.mjs +31 -11
- package/fesm2022/theseam-ui-common-core.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-data-exporter.mjs +18 -19
- package/fesm2022/theseam-ui-common-data-exporter.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-data-filters.mjs +80 -64
- package/fesm2022/theseam-ui-common-data-filters.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs +51 -49
- package/fesm2022/theseam-ui-common-datatable-alterations-display.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable-dynamic.mjs +145 -112
- package/fesm2022/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-datatable.mjs +581 -385
- package/fesm2022/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs +12 -14
- package/fesm2022/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-dynamic.mjs +60 -48
- package/fesm2022/theseam-ui-common-dynamic.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-footer-bar.mjs +9 -15
- package/fesm2022/theseam-ui-common-footer-bar.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-form-field-error.mjs +60 -43
- package/fesm2022/theseam-ui-common-form-field-error.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-form-field.mjs +120 -74
- package/fesm2022/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-framework.mjs +669 -543
- package/fesm2022/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-google-maps.mjs +206 -149
- package/fesm2022/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-graphql.mjs +252 -195
- package/fesm2022/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-icon.mjs +125 -89
- package/fesm2022/theseam-ui-common-icon.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-layout.mjs +18 -26
- package/fesm2022/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-loading.mjs +19 -28
- package/fesm2022/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-menu.mjs +124 -95
- package/fesm2022/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-modal.mjs +177 -129
- package/fesm2022/theseam-ui-common-modal.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-models.mjs +3 -3
- package/fesm2022/theseam-ui-common-models.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-navigation-reload.mjs +13 -11
- package/fesm2022/theseam-ui-common-navigation-reload.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-popover.mjs +81 -88
- package/fesm2022/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-progress.mjs +15 -19
- package/fesm2022/theseam-ui-common-progress.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-rich-text.mjs +65 -52
- package/fesm2022/theseam-ui-common-rich-text.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-scrollbar.mjs +12 -9
- package/fesm2022/theseam-ui-common-scrollbar.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-services.mjs +41 -26
- package/fesm2022/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-shared.mjs +123 -67
- package/fesm2022/theseam-ui-common-shared.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-storage.mjs +9 -6
- package/fesm2022/theseam-ui-common-storage.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-story-helpers.mjs +148 -86
- package/fesm2022/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tabbed.mjs +43 -39
- package/fesm2022/theseam-ui-common-tabbed.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table-cell-type.mjs +34 -38
- package/fesm2022/theseam-ui-common-table-cell-type.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table-cell-types.mjs +182 -144
- package/fesm2022/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-table.mjs +50 -39
- package/fesm2022/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tel-input.mjs +98 -63
- package/fesm2022/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-testing.mjs +13 -10
- package/fesm2022/theseam-ui-common-testing.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tiled-select.mjs +54 -50
- package/fesm2022/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-toggle-edit.mjs +41 -37
- package/fesm2022/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-toggle-group.mjs +30 -31
- package/fesm2022/theseam-ui-common-toggle-group.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-tooltip.mjs +225 -66
- package/fesm2022/theseam-ui-common-tooltip.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs +14 -12
- package/fesm2022/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-utils.mjs +113 -77
- package/fesm2022/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-validators.mjs +10 -9
- package/fesm2022/theseam-ui-common-validators.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-vertical-list-filter.mjs +39 -17
- package/fesm2022/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-viewers.mjs +79 -56
- package/fesm2022/theseam-ui-common-viewers.mjs.map +1 -1
- package/fesm2022/theseam-ui-common-widget.mjs +288 -314
- package/fesm2022/theseam-ui-common-widget.mjs.map +1 -1
- package/framework/base-layout/base-layout.component.scss +9 -4
- package/framework/base-layout/styles/_variables.scss +4 -9
- package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.scss +6 -4
- package/framework/index.d.ts +6 -6
- package/framework/nav/nav-item/nav-item.component.scss +7 -6
- package/framework/nav/styles/_themes/light/_variables.scss +21 -5
- package/framework/nav/styles/_themes/primary/_variables.scss +21 -5
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +5 -2
- package/framework/side-nav/styles/_themes/light/_variables.scss +5 -1
- package/framework/side-nav/styles/_themes/primary/_variables.scss +25 -5
- package/graphql/index.d.ts +5 -5
- package/modal/README.md +5 -5
- package/modal/index.d.ts +1 -1
- package/models/index.d.ts +1 -1
- package/package.json +59 -59
- package/popover/index.d.ts +0 -2
- package/progress/progress-circle/styles/_variables.scss +15 -3
- package/story-helpers/index.d.ts +11 -1
- package/styles/bootstrap/_bootstrap.scss +34 -34
- package/styles/bootstrap/_bs-styles.scss +4 -8
- package/styles/bootstrap/_bs-utilities.scss +4 -4
- package/styles/bootstrap/_bs-variables.scss +65 -70
- package/styles/common/_forms.scss +9 -10
- package/styles/common/_global.scss +0 -1
- package/styles/common/_hacks.scss +1 -1
- package/styles/common/_table.scss +0 -1
- package/styles/common/_text.scss +3 -1
- package/styles/theme.scss +1 -1
- package/styles/vendor/ng-select/_ng-select-bs4.scss +292 -294
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +63 -32
- package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +37 -10
- package/styles/vendor/ngx-datatable/_themes/material/_variables.scss +3 -1
- package/styles/vendor/quill/_quill.scss +15 -9
- package/tel-input/README.md +27 -27
- package/utils/index.d.ts +3 -3
- package/viewers/index.d.ts +9 -2
- package/widget/_widget-theme.scss +1 -1
- package/widget/styles/_variables.scss +2 -2
- package/widget/widget/widget.component.scss +0 -2
- package/widget/widget-content-components/widget-tile/widget-tile.component.scss +1 -3
- package/widget/widget-footer/widget-footer.component.scss +0 -1
|
@@ -35,10 +35,9 @@ function getClosestModal(element, openDialogs) {
|
|
|
35
35
|
parent = parent.parentElement;
|
|
36
36
|
}
|
|
37
37
|
const parentId = parent ? parent.id : null;
|
|
38
|
-
return parentId ? openDialogs.find(dialog => dialog.id === parentId) : null;
|
|
38
|
+
return parentId ? openDialogs.find((dialog) => dialog.id === parentId) : null;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
// tslint:disable:no-inferrable-types
|
|
42
41
|
class ModalConfig {
|
|
43
42
|
/** Component to use as the container for the dialog. */
|
|
44
43
|
containerComponent;
|
|
@@ -92,7 +91,6 @@ class ModalConfig {
|
|
|
92
91
|
/** Bootstrap modal sizes */
|
|
93
92
|
modalSize;
|
|
94
93
|
}
|
|
95
|
-
// tslint:enable:no-inferrable-types
|
|
96
94
|
function mergeModalConfigs(a, b) {
|
|
97
95
|
return { ...a, ...b };
|
|
98
96
|
}
|
|
@@ -112,14 +110,21 @@ class ModalContainerComponent extends BasePortalOutlet {
|
|
|
112
110
|
_changeDetectorRef;
|
|
113
111
|
_document;
|
|
114
112
|
_config;
|
|
115
|
-
get _idAttr() {
|
|
113
|
+
get _idAttr() {
|
|
114
|
+
return this._id;
|
|
115
|
+
}
|
|
116
116
|
// @HostBinding is used in the class as it is expected to be extended. Since @Component decorator
|
|
117
117
|
// metadata is not inherited by child classes, instead the host binding data is defined in a way
|
|
118
118
|
// that can be inherited.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
get
|
|
119
|
+
get _ariaLabel() {
|
|
120
|
+
return this._config.ariaLabel || null;
|
|
121
|
+
}
|
|
122
|
+
get _ariaDescribedBy() {
|
|
123
|
+
return this._config.ariaDescribedBy;
|
|
124
|
+
}
|
|
125
|
+
get _role() {
|
|
126
|
+
return this._config.role;
|
|
127
|
+
}
|
|
123
128
|
// @HostBinding('attr.tabindex') get _tabindex() { return -1 }
|
|
124
129
|
_seamModalContainer = true;
|
|
125
130
|
_id;
|
|
@@ -138,16 +143,19 @@ class ModalContainerComponent extends BasePortalOutlet {
|
|
|
138
143
|
// We use a Subject with a distinctUntilChanged, rather than a callback attached to .done,
|
|
139
144
|
// because some browsers fire the done event twice and we don't want to emit duplicate events.
|
|
140
145
|
// See: https://github.com/angular/angular/issues/24084
|
|
141
|
-
this._animationDone
|
|
146
|
+
this._animationDone
|
|
147
|
+
.pipe(distinctUntilChanged((x, y) => {
|
|
142
148
|
return x.fromState === y.fromState && x.toState === y.toState;
|
|
143
|
-
}))
|
|
149
|
+
}))
|
|
150
|
+
.subscribe((event) => {
|
|
144
151
|
// Emit lifecycle events based on animation `done` callback.
|
|
145
152
|
if (event.toState === 'enter') {
|
|
146
153
|
this._autoFocusFirstTabbableElement();
|
|
147
154
|
this._afterEnter.next();
|
|
148
155
|
this._afterEnter.complete();
|
|
149
156
|
}
|
|
150
|
-
if (event.fromState === 'enter' &&
|
|
157
|
+
if (event.fromState === 'enter' &&
|
|
158
|
+
(event.toState === 'void' || event.toState === 'exit')) {
|
|
151
159
|
this._returnFocusAfterDialog();
|
|
152
160
|
this._afterExit.next();
|
|
153
161
|
this._afterExit.complete();
|
|
@@ -162,9 +170,15 @@ class ModalContainerComponent extends BasePortalOutlet {
|
|
|
162
170
|
_focusTrap;
|
|
163
171
|
_modalDialog = true;
|
|
164
172
|
_modalDialogCentered = true;
|
|
165
|
-
get _modalDialogSm() {
|
|
166
|
-
|
|
167
|
-
|
|
173
|
+
get _modalDialogSm() {
|
|
174
|
+
return this._config.modalSize === 'sm';
|
|
175
|
+
}
|
|
176
|
+
get _modalDialogLg() {
|
|
177
|
+
return this._config.modalSize === 'lg';
|
|
178
|
+
}
|
|
179
|
+
get _modalDialogXl() {
|
|
180
|
+
return this._config.modalSize === 'xl';
|
|
181
|
+
}
|
|
168
182
|
/** The portal host inside of this container into which the dialog content will be loaded. */
|
|
169
183
|
_portalHost;
|
|
170
184
|
/** A subject emitting before the dialog enters the view. */
|
|
@@ -220,7 +234,8 @@ class ModalContainerComponent extends BasePortalOutlet {
|
|
|
220
234
|
this._beforeEnter.next();
|
|
221
235
|
this._beforeEnter.complete();
|
|
222
236
|
}
|
|
223
|
-
if (event.fromState === 'enter' &&
|
|
237
|
+
if (event.fromState === 'enter' &&
|
|
238
|
+
(event.toState === 'void' || event.toState === 'exit')) {
|
|
224
239
|
this._beforeExit.next();
|
|
225
240
|
this._beforeExit.complete();
|
|
226
241
|
}
|
|
@@ -235,7 +250,8 @@ class ModalContainerComponent extends BasePortalOutlet {
|
|
|
235
250
|
/** Saves a reference to the element that was focused before the dialog was opened. */
|
|
236
251
|
_savePreviouslyFocusedElement() {
|
|
237
252
|
if (this._document) {
|
|
238
|
-
this._elementFocusedBeforeDialogWasOpened = this._document
|
|
253
|
+
this._elementFocusedBeforeDialogWasOpened = this._document
|
|
254
|
+
.activeElement;
|
|
239
255
|
// Move focus onto the dialog immediately in order to prevent the user from accidentally
|
|
240
256
|
// opening multiple dialogs at the same time. Needs to be async, because the element
|
|
241
257
|
// may not be focusable immediately.
|
|
@@ -251,7 +267,7 @@ class ModalContainerComponent extends BasePortalOutlet {
|
|
|
251
267
|
// ready in instances where change detection has to run first. To deal with this, we simply
|
|
252
268
|
// wait for the microtask queue to be empty.
|
|
253
269
|
if (this._config.autoFocus) {
|
|
254
|
-
this._focusTrap.focusInitialElementWhenReady().then(hasMovedFocus => {
|
|
270
|
+
this._focusTrap.focusInitialElementWhenReady().then((hasMovedFocus) => {
|
|
255
271
|
// If we didn't find any focusable elements inside the dialog, focus the
|
|
256
272
|
// container so the user can't tab into other elements behind it.
|
|
257
273
|
if (!hasMovedFocus) {
|
|
@@ -271,17 +287,17 @@ class ModalContainerComponent extends BasePortalOutlet {
|
|
|
271
287
|
getNativeElement() {
|
|
272
288
|
return this._elementRef.nativeElement;
|
|
273
289
|
}
|
|
274
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
275
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
290
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalContainerComponent, deps: [{ token: i0.ElementRef }, { token: i1.ConfigurableFocusTrapFactory }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT, optional: true }, { token: ModalConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
291
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: ModalContainerComponent, isStandalone: false, selector: "seam-modal-container", host: { listeners: { "@dialog.start": "_onAnimationStart($event)", "@dialog.done": "_animationDone.next($event)", "click": "_onClick($event)" }, properties: { "@dialog": "{\n value: _state,\n params: {\n enterAnimationDuration: _config.enterAnimationDuration,\n exitAnimationDuration: _config.exitAnimationDuration\n }\n }", "attr.id": "this._idAttr", "attr.aria-label": "this._ariaLabel", "attr.aria-describedby": "this._ariaDescribedBy", "attr.role": "this._role", "class.seam-modal-container": "this._seamModalContainer", "class.modal-dialog": "this._modalDialog", "class.modal-dialog-centered": "this._modalDialogCentered", "class.modal-sm": "this._modalDialogSm", "class.modal-lg": "this._modalDialogLg", "class.modal-xl": "this._modalDialogXl" } }, viewQueries: [{ propertyName: "_portalHost", first: true, predicate: CdkPortalOutlet /*, { static: true }*/, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"modal-content\" [tabindex]=\"-1\">\n <ng-template cdkPortalOutlet></ng-template>\n</div>\n", styles: [":host[tabindex=\"-1\"]:focus:not(:focus-visible){outline:0!important}\n"], dependencies: [{ kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [
|
|
276
292
|
trigger('dialog', [
|
|
277
293
|
state('enter', style({ opacity: 1 })),
|
|
278
294
|
state('exit, void', style({ opacity: 0 })),
|
|
279
295
|
transition('* => enter', animate('{{enterAnimationDuration}}')),
|
|
280
296
|
transition('* => exit, * => void', animate('{{exitAnimationDuration}}')),
|
|
281
|
-
])
|
|
297
|
+
]),
|
|
282
298
|
] });
|
|
283
299
|
}
|
|
284
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
300
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalContainerComponent, decorators: [{
|
|
285
301
|
type: Component,
|
|
286
302
|
args: [{ selector: 'seam-modal-container', animations: [
|
|
287
303
|
trigger('dialog', [
|
|
@@ -289,7 +305,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
289
305
|
state('exit, void', style({ opacity: 0 })),
|
|
290
306
|
transition('* => enter', animate('{{enterAnimationDuration}}')),
|
|
291
307
|
transition('* => exit, * => void', animate('{{exitAnimationDuration}}')),
|
|
292
|
-
])
|
|
308
|
+
]),
|
|
293
309
|
], host: {
|
|
294
310
|
'[@dialog]': `{
|
|
295
311
|
value: _state,
|
|
@@ -410,9 +426,9 @@ class ModalRef {
|
|
|
410
426
|
this.componentInstance = null;
|
|
411
427
|
});
|
|
412
428
|
// Close when escape keydown event occurs
|
|
413
|
-
_overlayRef
|
|
414
|
-
|
|
415
|
-
.pipe(filter(event => event.keyCode === ESCAPE && !this.disableClose))
|
|
429
|
+
_overlayRef
|
|
430
|
+
.keydownEvents()
|
|
431
|
+
.pipe(filter((event) => event.keyCode === ESCAPE && !this.disableClose))
|
|
416
432
|
.subscribe(() => this.close());
|
|
417
433
|
}
|
|
418
434
|
_initCloseOnClickOutside() {
|
|
@@ -428,7 +444,7 @@ class ModalRef {
|
|
|
428
444
|
return { x: event.clientX, y: event.clientY };
|
|
429
445
|
};
|
|
430
446
|
const dist = (x1, y1, x2, y2) => {
|
|
431
|
-
return Math.sqrt(Math.pow(
|
|
447
|
+
return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
|
|
432
448
|
};
|
|
433
449
|
let pressed = false;
|
|
434
450
|
let pressedPosition = null;
|
|
@@ -486,13 +502,23 @@ class ModalRef {
|
|
|
486
502
|
updatePosition(position) {
|
|
487
503
|
const strategy = this._getPositionStrategy();
|
|
488
504
|
if (position && (position.left || position.right)) {
|
|
489
|
-
|
|
505
|
+
if (position.left) {
|
|
506
|
+
strategy.left(position.left);
|
|
507
|
+
}
|
|
508
|
+
else {
|
|
509
|
+
strategy.right(position.right);
|
|
510
|
+
}
|
|
490
511
|
}
|
|
491
512
|
else {
|
|
492
513
|
strategy.centerHorizontally();
|
|
493
514
|
}
|
|
494
515
|
if (position && (position.top || position.bottom)) {
|
|
495
|
-
|
|
516
|
+
if (position.top) {
|
|
517
|
+
strategy.top(position.top);
|
|
518
|
+
}
|
|
519
|
+
else {
|
|
520
|
+
strategy.bottom(position.bottom);
|
|
521
|
+
}
|
|
496
522
|
}
|
|
497
523
|
else {
|
|
498
524
|
strategy.centerVertically();
|
|
@@ -512,11 +538,9 @@ class ModalRef {
|
|
|
512
538
|
*/
|
|
513
539
|
updateSize(size) {
|
|
514
540
|
if (size.width) {
|
|
515
|
-
// tslint:disable-next-line:deprecation
|
|
516
541
|
this._getPositionStrategy().width(size.width.toString());
|
|
517
542
|
}
|
|
518
543
|
if (size.height) {
|
|
519
|
-
// tslint:disable-next-line:deprecation
|
|
520
544
|
this._getPositionStrategy().height(size.height.toString());
|
|
521
545
|
}
|
|
522
546
|
this._overlayRef.updateSize(size);
|
|
@@ -525,7 +549,8 @@ class ModalRef {
|
|
|
525
549
|
}
|
|
526
550
|
/** Fetches the position strategy object from the overlay ref. */
|
|
527
551
|
_getPositionStrategy() {
|
|
528
|
-
return this._overlayRef.getConfig()
|
|
552
|
+
return this._overlayRef.getConfig()
|
|
553
|
+
.positionStrategy;
|
|
529
554
|
}
|
|
530
555
|
/** Gets an observable that emits when dialog begins opening. */
|
|
531
556
|
beforeOpened() {
|
|
@@ -558,19 +583,26 @@ class Modal {
|
|
|
558
583
|
_dialogRefConstructor = ModalRef;
|
|
559
584
|
/** Stream that emits when all dialogs are closed. */
|
|
560
585
|
get _afterAllClosed() {
|
|
561
|
-
return this._parentDialog
|
|
586
|
+
return this._parentDialog
|
|
587
|
+
? this._parentDialog.afterAllClosed
|
|
588
|
+
: this._afterAllClosedBase;
|
|
562
589
|
}
|
|
563
590
|
_afterAllClosedBase = new Subject();
|
|
564
591
|
afterAllClosed = defer(() => this.openDialogs.length
|
|
565
|
-
? this._afterAllClosed
|
|
592
|
+
? this._afterAllClosed
|
|
593
|
+
: this._afterAllClosed.pipe(startWith(undefined)));
|
|
566
594
|
/** Stream that emits when a dialog is opened. */
|
|
567
595
|
get afterOpened() {
|
|
568
|
-
return this._parentDialog
|
|
596
|
+
return this._parentDialog
|
|
597
|
+
? this._parentDialog.afterOpened
|
|
598
|
+
: this._afterOpened;
|
|
569
599
|
}
|
|
570
600
|
_afterOpened = new Subject();
|
|
571
601
|
/** Stream that emits when a dialog is opened. */
|
|
572
602
|
get openDialogs() {
|
|
573
|
-
return this._parentDialog
|
|
603
|
+
return this._parentDialog
|
|
604
|
+
? this._parentDialog.openDialogs
|
|
605
|
+
: this._openDialogs;
|
|
574
606
|
}
|
|
575
607
|
_openDialogs = [];
|
|
576
608
|
constructor(overlay, injector, scrollStrategy, _parentDialog, location, _scrollbars, _dynamicComponentLoaderModule) {
|
|
@@ -589,11 +621,11 @@ class Modal {
|
|
|
589
621
|
}
|
|
590
622
|
/** Gets an open dialog by id. */
|
|
591
623
|
getById(id) {
|
|
592
|
-
return this._openDialogs.find(ref => ref.id === id);
|
|
624
|
+
return this._openDialogs.find((ref) => ref.id === id);
|
|
593
625
|
}
|
|
594
626
|
/** Closes all open dialogs. */
|
|
595
627
|
closeAll() {
|
|
596
|
-
this.openDialogs.forEach(ref => ref.close());
|
|
628
|
+
this.openDialogs.forEach((ref) => ref.close());
|
|
597
629
|
}
|
|
598
630
|
/** Opens a dialog from a component. */
|
|
599
631
|
openFromComponent(component, config) {
|
|
@@ -627,14 +659,14 @@ class Modal {
|
|
|
627
659
|
}
|
|
628
660
|
return this._dynamicComponentLoaderModule
|
|
629
661
|
.getComponentFactory(componentId)
|
|
630
|
-
.pipe(switchMap(componentFactory => {
|
|
662
|
+
.pipe(switchMap((componentFactory) => {
|
|
631
663
|
const modalRef = this.openFromComponent(componentFactory.componentType, _config);
|
|
632
664
|
return of(modalRef);
|
|
633
665
|
}));
|
|
634
666
|
}
|
|
635
667
|
ngOnDestroy() {
|
|
636
668
|
// Only close all the dialogs at this level.
|
|
637
|
-
this._openDialogs.forEach(ref => ref.close());
|
|
669
|
+
this._openDialogs.forEach((ref) => ref.close());
|
|
638
670
|
}
|
|
639
671
|
/**
|
|
640
672
|
* Forwards emitting events for when dialogs are opened and all dialogs are closed.
|
|
@@ -680,9 +712,11 @@ class Modal {
|
|
|
680
712
|
}
|
|
681
713
|
};
|
|
682
714
|
const _scrollbarMouseUpListener = () => {
|
|
683
|
-
setTimeout(() => {
|
|
684
|
-
dialogRef
|
|
685
|
-
|
|
715
|
+
setTimeout(() => {
|
|
716
|
+
if (dialogRef) {
|
|
717
|
+
dialogRef.disableClose = false;
|
|
718
|
+
}
|
|
719
|
+
});
|
|
686
720
|
};
|
|
687
721
|
let verticalHandleElement;
|
|
688
722
|
let horizontalHandleElement;
|
|
@@ -693,12 +727,14 @@ class Modal {
|
|
|
693
727
|
setTimeout(() => {
|
|
694
728
|
const instance = this._scrollbars.getInstance(dialogRef._overlayRef.overlayElement);
|
|
695
729
|
if (instance) {
|
|
696
|
-
verticalHandleElement =
|
|
730
|
+
verticalHandleElement =
|
|
731
|
+
instance.getElements().scrollbarVertical.handle;
|
|
697
732
|
if (verticalHandleElement) {
|
|
698
733
|
verticalHandleElement.addEventListener('mousedown', _scrollbarMouseDownListener);
|
|
699
734
|
verticalHandleElement.addEventListener('touchstart', _scrollbarMouseDownListener);
|
|
700
735
|
}
|
|
701
|
-
horizontalHandleElement =
|
|
736
|
+
horizontalHandleElement =
|
|
737
|
+
instance.getElements().scrollbarHorizontal.handle;
|
|
702
738
|
if (horizontalHandleElement) {
|
|
703
739
|
horizontalHandleElement.addEventListener('mousedown', _scrollbarMouseDownListener);
|
|
704
740
|
horizontalHandleElement.addEventListener('touchstart', _scrollbarMouseDownListener);
|
|
@@ -728,8 +764,8 @@ class Modal {
|
|
|
728
764
|
// document.removeEventListener('touchend', _scrollbarMouseUpListener)
|
|
729
765
|
// document.removeEventListener('touchcancel', _scrollbarMouseUpListener)
|
|
730
766
|
// }
|
|
731
|
-
}
|
|
732
|
-
}
|
|
767
|
+
},
|
|
768
|
+
},
|
|
733
769
|
});
|
|
734
770
|
// Cleans up the registered events.
|
|
735
771
|
return () => {
|
|
@@ -757,7 +793,7 @@ class Modal {
|
|
|
757
793
|
* @returns The overlay configuration.
|
|
758
794
|
*/
|
|
759
795
|
_createOverlay(config) {
|
|
760
|
-
let panelClass =
|
|
796
|
+
let panelClass = config.panelClass || [];
|
|
761
797
|
if (typeof panelClass === 'string') {
|
|
762
798
|
panelClass = [panelClass];
|
|
763
799
|
}
|
|
@@ -771,7 +807,7 @@ class Modal {
|
|
|
771
807
|
minWidth: config.minWidth,
|
|
772
808
|
minHeight: config.minHeight,
|
|
773
809
|
maxWidth: config.maxWidth,
|
|
774
|
-
maxHeight: config.maxHeight
|
|
810
|
+
maxHeight: config.maxHeight,
|
|
775
811
|
});
|
|
776
812
|
if (config.backdropClass) {
|
|
777
813
|
overlayConfig.backdropClass = config.backdropClass;
|
|
@@ -785,13 +821,12 @@ class Modal {
|
|
|
785
821
|
* @returns A promise resolving to a ComponentRef for the attached container.
|
|
786
822
|
*/
|
|
787
823
|
_attachDialogContainer(overlay, config) {
|
|
788
|
-
const container = config.containerComponent ||
|
|
824
|
+
const container = config.containerComponent ||
|
|
825
|
+
this.injector.get(MODAL_CONTAINER, ModalContainerComponent);
|
|
789
826
|
const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;
|
|
790
827
|
const injector = Injector.create({
|
|
791
828
|
parent: userInjector || this.injector,
|
|
792
|
-
providers: [
|
|
793
|
-
{ provide: ModalConfig, useValue: config },
|
|
794
|
-
],
|
|
829
|
+
providers: [{ provide: ModalConfig, useValue: config }],
|
|
795
830
|
});
|
|
796
831
|
const containerPortal = new ComponentPortal(container, config.viewContainerRef, injector);
|
|
797
832
|
const containerRef = overlay.attach(containerPortal);
|
|
@@ -810,13 +845,13 @@ class Modal {
|
|
|
810
845
|
_attachDialogContentForComponent(componentOrTemplateRef, dialogContainer, overlayRef, config) {
|
|
811
846
|
// Create a reference to the dialog we're creating in order to give the user a handle
|
|
812
847
|
// to modify and close it.
|
|
813
|
-
// eslint-disable-next-line new-cap
|
|
814
848
|
const dialogRef = new this._dialogRefConstructor(overlayRef, dialogContainer, config.id);
|
|
815
849
|
const injector = this._createInjector(config, dialogRef, dialogContainer);
|
|
816
850
|
const contentRef = dialogContainer.attachComponentPortal(new ComponentPortal(componentOrTemplateRef, undefined, injector));
|
|
817
851
|
dialogRef.componentInstance = contentRef.instance;
|
|
818
852
|
dialogRef.disableClose = config.disableClose;
|
|
819
|
-
dialogRef
|
|
853
|
+
dialogRef
|
|
854
|
+
.updateSize({ width: config.width, height: config.height })
|
|
820
855
|
.updatePosition(config.position);
|
|
821
856
|
return dialogRef;
|
|
822
857
|
}
|
|
@@ -832,10 +867,10 @@ class Modal {
|
|
|
832
867
|
_attachDialogContentForTemplate(componentOrTemplateRef, dialogContainer, overlayRef, config) {
|
|
833
868
|
// Create a reference to the dialog we're creating in order to give the user a handle
|
|
834
869
|
// to modify and close it.
|
|
835
|
-
// eslint-disable-next-line new-cap
|
|
836
870
|
const dialogRef = new this._dialogRefConstructor(overlayRef, dialogContainer, config.id);
|
|
837
871
|
dialogContainer.attachTemplatePortal(new TemplatePortal(componentOrTemplateRef, null, { $implicit: config.data, dialogRef }));
|
|
838
|
-
dialogRef
|
|
872
|
+
dialogRef
|
|
873
|
+
.updateSize({ width: config.width, height: config.height })
|
|
839
874
|
.updatePosition(config.position);
|
|
840
875
|
return dialogRef;
|
|
841
876
|
}
|
|
@@ -855,7 +890,8 @@ class Modal {
|
|
|
855
890
|
{ provide: MODAL_DATA, useValue: config.data },
|
|
856
891
|
];
|
|
857
892
|
if (config.direction &&
|
|
858
|
-
(!userInjector ||
|
|
893
|
+
(!userInjector ||
|
|
894
|
+
!userInjector.get(Directionality, null))) {
|
|
859
895
|
providers.push({
|
|
860
896
|
provide: Directionality,
|
|
861
897
|
useValue: {
|
|
@@ -875,10 +911,10 @@ class Modal {
|
|
|
875
911
|
// eslint-disable-next-line new-cap
|
|
876
912
|
return { ...new dialogConfig(), ...config };
|
|
877
913
|
}
|
|
878
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
879
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
914
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Modal, deps: [{ token: i1$1.Overlay }, { token: i0.Injector }, { token: MODAL_SCROLL_STRATEGY }, { token: Modal, optional: true, skipSelf: true }, { token: i3$1.Location, optional: true }, { token: i3$2.TheSeamOverlayScrollbarsService }, { token: i4.TheSeamDynamicComponentLoader }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
915
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Modal, providedIn: 'root' });
|
|
880
916
|
}
|
|
881
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
917
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: Modal, decorators: [{
|
|
882
918
|
type: Injectable,
|
|
883
919
|
args: [{ providedIn: 'root' }]
|
|
884
920
|
}], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.Injector }, { type: undefined, decorators: [{
|
|
@@ -898,9 +934,13 @@ class ModalCloseDirective {
|
|
|
898
934
|
_modalRef;
|
|
899
935
|
modalRef;
|
|
900
936
|
// @HostBinding('class.close') _closeCss = true
|
|
901
|
-
get _attrType() {
|
|
937
|
+
get _attrType() {
|
|
938
|
+
return this.type;
|
|
939
|
+
}
|
|
902
940
|
type = 'button';
|
|
903
|
-
get _attrAriaLabel() {
|
|
941
|
+
get _attrAriaLabel() {
|
|
942
|
+
return this.ariaLabel || null;
|
|
943
|
+
}
|
|
904
944
|
/** Screenreader label for the button. */
|
|
905
945
|
ariaLabel;
|
|
906
946
|
seamModalClose;
|
|
@@ -912,7 +952,9 @@ class ModalCloseDirective {
|
|
|
912
952
|
if (this.seamModalNext) {
|
|
913
953
|
this.modalRef.afterClosed().subscribe(() => {
|
|
914
954
|
if (typeof this.seamModalNext === 'string') {
|
|
915
|
-
this._modal
|
|
955
|
+
this._modal
|
|
956
|
+
.openFromLazyComponent(this.seamModalNext, this.seamModalNextConfig)
|
|
957
|
+
.subscribe();
|
|
916
958
|
}
|
|
917
959
|
else {
|
|
918
960
|
this._modal.openFromComponent(this.seamModalNext, this.seamModalNextConfig);
|
|
@@ -938,15 +980,15 @@ class ModalCloseDirective {
|
|
|
938
980
|
this.modalRef = getClosestModal(this._elementRef, this._modal.openDialogs);
|
|
939
981
|
}
|
|
940
982
|
}
|
|
941
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
942
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
983
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalCloseDirective, deps: [{ token: i0.ElementRef }, { token: Modal }, { token: ModalRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
984
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: ModalCloseDirective, isStandalone: false, selector: "button[seamModalClose]", inputs: { type: "type", ariaLabel: ["aria-label", "ariaLabel"], seamModalClose: "seamModalClose", seamModalNext: "seamModalNext", seamModalNextConfig: "seamModalNextConfig" }, host: { listeners: { "click": "_onClick()" }, properties: { "attr.type": "this._attrType", "attr.aria-label": "this._attrAriaLabel" } }, exportAs: ["seamModalClose"], ngImport: i0 });
|
|
943
985
|
}
|
|
944
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
986
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalCloseDirective, decorators: [{
|
|
945
987
|
type: Directive,
|
|
946
988
|
args: [{
|
|
947
989
|
selector: 'button[seamModalClose]',
|
|
948
990
|
exportAs: 'seamModalClose',
|
|
949
|
-
standalone: false
|
|
991
|
+
standalone: false,
|
|
950
992
|
}]
|
|
951
993
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: Modal }, { type: ModalRef, decorators: [{
|
|
952
994
|
type: Optional
|
|
@@ -977,14 +1019,14 @@ class ModalFooterTplDirective {
|
|
|
977
1019
|
constructor(template) {
|
|
978
1020
|
this.template = template;
|
|
979
1021
|
}
|
|
980
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
981
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
1022
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalFooterTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1023
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: ModalFooterTplDirective, isStandalone: false, selector: "[seamModalFooterTpl]", ngImport: i0 });
|
|
982
1024
|
}
|
|
983
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1025
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalFooterTplDirective, decorators: [{
|
|
984
1026
|
type: Directive,
|
|
985
1027
|
args: [{
|
|
986
1028
|
selector: '[seamModalFooterTpl]',
|
|
987
|
-
standalone: false
|
|
1029
|
+
standalone: false,
|
|
988
1030
|
}]
|
|
989
1031
|
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
990
1032
|
|
|
@@ -993,14 +1035,14 @@ class ModalHeaderIconTplDirective {
|
|
|
993
1035
|
constructor(template) {
|
|
994
1036
|
this.template = template;
|
|
995
1037
|
}
|
|
996
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
997
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
1038
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalHeaderIconTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1039
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: ModalHeaderIconTplDirective, isStandalone: false, selector: "[seamModalHeaderIconTpl]", ngImport: i0 });
|
|
998
1040
|
}
|
|
999
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1041
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalHeaderIconTplDirective, decorators: [{
|
|
1000
1042
|
type: Directive,
|
|
1001
1043
|
args: [{
|
|
1002
1044
|
selector: '[seamModalHeaderIconTpl]',
|
|
1003
|
-
standalone: false
|
|
1045
|
+
standalone: false,
|
|
1004
1046
|
}]
|
|
1005
1047
|
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
1006
1048
|
|
|
@@ -1009,14 +1051,14 @@ class ModalHeaderTitleTplDirective {
|
|
|
1009
1051
|
constructor(template) {
|
|
1010
1052
|
this.template = template;
|
|
1011
1053
|
}
|
|
1012
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1013
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
1054
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalHeaderTitleTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1055
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: ModalHeaderTitleTplDirective, isStandalone: false, selector: "[seamModalHeaderTitleTpl]", ngImport: i0 });
|
|
1014
1056
|
}
|
|
1015
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1057
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalHeaderTitleTplDirective, decorators: [{
|
|
1016
1058
|
type: Directive,
|
|
1017
1059
|
args: [{
|
|
1018
1060
|
selector: '[seamModalHeaderTitleTpl]',
|
|
1019
|
-
standalone: false
|
|
1061
|
+
standalone: false,
|
|
1020
1062
|
}]
|
|
1021
1063
|
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
1022
1064
|
|
|
@@ -1026,14 +1068,14 @@ class ModalTitleDirective {
|
|
|
1026
1068
|
constructor(_elementRef) {
|
|
1027
1069
|
this._elementRef = _elementRef;
|
|
1028
1070
|
}
|
|
1029
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1030
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
1071
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalTitleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1072
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: ModalTitleDirective, isStandalone: false, selector: "[seamModalTitle]", host: { properties: { "class.modal-title": "this._modalTitleCss" } }, ngImport: i0 });
|
|
1031
1073
|
}
|
|
1032
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1074
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalTitleDirective, decorators: [{
|
|
1033
1075
|
type: Directive,
|
|
1034
1076
|
args: [{
|
|
1035
1077
|
selector: '[seamModalTitle]',
|
|
1036
|
-
standalone: false
|
|
1078
|
+
standalone: false,
|
|
1037
1079
|
}]
|
|
1038
1080
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { _modalTitleCss: [{
|
|
1039
1081
|
type: HostBinding,
|
|
@@ -1053,25 +1095,25 @@ class ModalDirective {
|
|
|
1053
1095
|
const ref = this.modal.openFromTemplate(this.template);
|
|
1054
1096
|
// ref.backdropClick().subscribe(e => console.log('backdropClick', e))
|
|
1055
1097
|
}
|
|
1056
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1057
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.
|
|
1098
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalDirective, deps: [{ token: i0.TemplateRef }, { token: Modal }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1099
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: ModalDirective, isStandalone: false, selector: "[seamModal]", exportAs: ["seamModal"], ngImport: i0 });
|
|
1058
1100
|
}
|
|
1059
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalDirective, decorators: [{
|
|
1060
1102
|
type: Directive,
|
|
1061
1103
|
args: [{
|
|
1062
1104
|
selector: '[seamModal]',
|
|
1063
1105
|
exportAs: 'seamModal',
|
|
1064
|
-
standalone: false
|
|
1106
|
+
standalone: false,
|
|
1065
1107
|
}]
|
|
1066
1108
|
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: Modal }] });
|
|
1067
1109
|
|
|
1068
1110
|
class ModalBodyComponent {
|
|
1069
1111
|
_modalBodyCss = true;
|
|
1070
1112
|
_paddingCss = true;
|
|
1071
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1072
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
1113
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1114
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: ModalBodyComponent, isStandalone: false, selector: "seam-modal-body", host: { properties: { "class.modal-body": "this._modalBodyCss", "class.p-3": "this._paddingCss" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] });
|
|
1073
1115
|
}
|
|
1074
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalBodyComponent, decorators: [{
|
|
1075
1117
|
type: Component,
|
|
1076
1118
|
args: [{ selector: 'seam-modal-body', standalone: false, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
|
|
1077
1119
|
}], propDecorators: { _modalBodyCss: [{
|
|
@@ -1084,10 +1126,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
1084
1126
|
|
|
1085
1127
|
class ModalFooterComponent {
|
|
1086
1128
|
_modalFooterCss = true;
|
|
1087
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1088
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
1129
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1130
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: ModalFooterComponent, isStandalone: false, selector: "seam-modal-footer", host: { properties: { "class.modal-footer": "this._modalFooterCss" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] });
|
|
1089
1131
|
}
|
|
1090
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalFooterComponent, decorators: [{
|
|
1091
1133
|
type: Component,
|
|
1092
1134
|
args: [{ selector: 'seam-modal-footer', standalone: false, template: "<ng-content></ng-content>\n" }]
|
|
1093
1135
|
}], propDecorators: { _modalFooterCss: [{
|
|
@@ -1100,10 +1142,10 @@ class ModalHeaderComponent {
|
|
|
1100
1142
|
hasCloseBtn = true;
|
|
1101
1143
|
_titleDirective;
|
|
1102
1144
|
_closeDirective;
|
|
1103
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1104
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
1145
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1146
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: ModalHeaderComponent, isStandalone: false, selector: "seam-modal-header", inputs: { hasCloseBtn: "hasCloseBtn" }, host: { properties: { "class.modal-header": "this._modalHeaderCss" } }, queries: [{ propertyName: "_titleDirective", first: true, predicate: ModalTitleDirective, descendants: true, static: true }, { propertyName: "_closeDirective", first: true, predicate: ModalCloseDirective, descendants: true, static: true }], ngImport: i0, template: "<ng-content></ng-content>\n\n<!-- <button seamModalClose>\n <span aria-hidden=\"true\">×</span>\n</button> -->\n\n<!-- seam-modal-header-close -->\n", styles: [""] });
|
|
1105
1147
|
}
|
|
1106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalHeaderComponent, decorators: [{
|
|
1107
1149
|
type: Component,
|
|
1108
1150
|
args: [{ selector: 'seam-modal-header', standalone: false, template: "<ng-content></ng-content>\n\n<!-- <button seamModalClose>\n <span aria-hidden=\"true\">×</span>\n</button> -->\n\n<!-- seam-modal-header-close -->\n" }]
|
|
1109
1151
|
}], propDecorators: { _modalHeaderCss: [{
|
|
@@ -1123,7 +1165,6 @@ const THESEAM_MODAL_CONTAINER = new InjectionToken('seamModalContainer');
|
|
|
1123
1165
|
|
|
1124
1166
|
const LIB_MODAL = {
|
|
1125
1167
|
provide: THESEAM_MODAL_CONTAINER,
|
|
1126
|
-
// tslint:disable-next-line:no-use-before-declare
|
|
1127
1168
|
useExisting: forwardRef(() => ModalComponent),
|
|
1128
1169
|
multi: true,
|
|
1129
1170
|
};
|
|
@@ -1132,12 +1173,18 @@ class ModalComponent {
|
|
|
1132
1173
|
_overlay;
|
|
1133
1174
|
_route;
|
|
1134
1175
|
static ngAcceptInputType_showCloseBtn;
|
|
1135
|
-
set closeOnKeyPressed(value) {
|
|
1136
|
-
|
|
1176
|
+
set closeOnKeyPressed(value) {
|
|
1177
|
+
this._closeOnKeyPressed = Array.isArray(value) ? value : [];
|
|
1178
|
+
}
|
|
1179
|
+
get closeOnKeyPressed() {
|
|
1180
|
+
return this._closeOnKeyPressed;
|
|
1181
|
+
}
|
|
1137
1182
|
_closeOnKeyPressed = [ESCAPE];
|
|
1138
1183
|
showCloseBtn = true;
|
|
1139
1184
|
titleText;
|
|
1140
|
-
get icon() {
|
|
1185
|
+
get icon() {
|
|
1186
|
+
return this._iconUrl || this._iconObj;
|
|
1187
|
+
}
|
|
1141
1188
|
set icon(value) {
|
|
1142
1189
|
if (typeof value === 'string') {
|
|
1143
1190
|
this._iconUrl = value;
|
|
@@ -1158,14 +1205,14 @@ class ModalComponent {
|
|
|
1158
1205
|
}
|
|
1159
1206
|
_iconTpl;
|
|
1160
1207
|
get titleTpl() {
|
|
1161
|
-
return this._titleTpl || (this._queryTitleTpl && this._queryTitleTpl.template);
|
|
1208
|
+
return (this._titleTpl || (this._queryTitleTpl && this._queryTitleTpl.template));
|
|
1162
1209
|
}
|
|
1163
1210
|
set titleTpl(value) {
|
|
1164
1211
|
this._titleTpl = value;
|
|
1165
1212
|
}
|
|
1166
1213
|
_titleTpl;
|
|
1167
1214
|
get footerTpl() {
|
|
1168
|
-
return this._footerTpl || (this._queryFooterTpl && this._queryFooterTpl.template);
|
|
1215
|
+
return (this._footerTpl || (this._queryFooterTpl && this._queryFooterTpl.template));
|
|
1169
1216
|
}
|
|
1170
1217
|
set footerTpl(value) {
|
|
1171
1218
|
this._footerTpl = value;
|
|
@@ -1203,20 +1250,21 @@ class ModalComponent {
|
|
|
1203
1250
|
if (this._overlayRef && this._overlayRef.hasAttached()) {
|
|
1204
1251
|
return;
|
|
1205
1252
|
}
|
|
1206
|
-
const positionStrategy = this._overlay
|
|
1253
|
+
const positionStrategy = this._overlay
|
|
1254
|
+
.position()
|
|
1207
1255
|
.global()
|
|
1208
1256
|
.centerHorizontally()
|
|
1209
1257
|
.centerVertically();
|
|
1210
1258
|
this._overlayRef = this._overlay.create({
|
|
1211
1259
|
hasBackdrop: true,
|
|
1212
|
-
positionStrategy
|
|
1260
|
+
positionStrategy,
|
|
1213
1261
|
});
|
|
1214
|
-
this._overlayRef.detachments().subscribe(_ => this.overlayDetached.emit());
|
|
1215
|
-
this._overlayRef.backdropClick().subscribe(_ => this.close());
|
|
1216
|
-
this._overlayRef
|
|
1217
|
-
|
|
1218
|
-
.pipe(filter(e => e.keyCode === ESCAPE))
|
|
1219
|
-
.subscribe(_ => this.close());
|
|
1262
|
+
this._overlayRef.detachments().subscribe((_) => this.overlayDetached.emit());
|
|
1263
|
+
this._overlayRef.backdropClick().subscribe((_) => this.close());
|
|
1264
|
+
this._overlayRef
|
|
1265
|
+
.keydownEvents()
|
|
1266
|
+
.pipe(filter((e) => e.keyCode === ESCAPE))
|
|
1267
|
+
.subscribe((_) => this.close());
|
|
1220
1268
|
let portalToAttach = portal;
|
|
1221
1269
|
if (!portalToAttach) {
|
|
1222
1270
|
if (!this._modalTpl) {
|
|
@@ -1239,15 +1287,15 @@ class ModalComponent {
|
|
|
1239
1287
|
isRouteModal() {
|
|
1240
1288
|
return this._route.outlet === 'modal';
|
|
1241
1289
|
}
|
|
1242
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1243
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
1290
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1$1.Overlay }, { token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
1291
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: ModalComponent, isStandalone: false, selector: "seam-modal", inputs: { closeOnKeyPressed: "closeOnKeyPressed", showCloseBtn: "showCloseBtn", titleText: "titleText", icon: "icon", iconTpl: "iconTpl", titleTpl: "titleTpl", footerTpl: "footerTpl", form: "form" }, outputs: { modalClosed: "modalClosed", overlayDetached: "overlayDetached", formSubmit: "formSubmit" }, providers: [LIB_MODAL], queries: [{ propertyName: "_queryIconTpl", first: true, predicate: ModalHeaderIconTplDirective, descendants: true, static: true }, { propertyName: "_queryTitleTpl", first: true, predicate: ModalHeaderTitleTplDirective, descendants: true, static: true }, { propertyName: "_queryFooterTpl", first: true, predicate: ModalFooterTplDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "_modalTpl", first: true, predicate: ["modalTpl"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #modalTpl>\n <form\n *ngIf=\"form\"\n [formGroup]=\"form\"\n (ngSubmit)=\"_onSubmit()\"\n class=\"p-4\"\n style=\"max-width: 800px\"\n >\n <ng-container *ngTemplateOutlet=\"modalContent\"></ng-container>\n </form>\n\n <div *ngIf=\"!form\" class=\"p-4\" style=\"max-width: 800px\">\n <ng-container *ngTemplateOutlet=\"modalContent\"></ng-container>\n </div>\n\n <ng-template #modalContent>\n <div class=\"modal-content\">\n <div class=\"modal-header py-2\">\n <h4 class=\"modal-title\">\n <span class=\"pr-2 modal-header-icon\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\"\n >\n </ng-template>\n </ng-container>\n <ng-template #noIconTpl>\n <fa-icon\n *ngIf=\"_iconObj\"\n class=\"modal-header-icon--fa\"\n [icon]=\"_iconObj\"\n size=\"sm\"\n ></fa-icon>\n <img\n *ngIf=\"_iconUrl\"\n class=\"modal-header-icon--img\"\n [src]=\"_iconUrl\"\n [alt]=\"titleText\"\n />\n </ng-template>\n </span>\n\n <span class=\"modal-header-title\">\n <ng-container *ngIf=\"titleTpl; else noTitleTpl\">\n <ng-template\n [ngTemplateOutlet]=\"titleTpl\"\n [ngTemplateOutletContext]=\"{\n $implicit: titleText,\n title: titleText,\n }\"\n >\n </ng-template>\n </ng-container>\n <ng-template #noTitleTpl>{{ titleText }}</ng-template>\n </span>\n </h4>\n <button\n *ngIf=\"showCloseBtn\"\n type=\"button\"\n class=\"close\"\n (click)=\"close()\"\n aria-label=\"Close\"\n >\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"_queryFooterTpl\" class=\"modal-footer p-2\">\n <ng-container\n *ngComponentOutlet=\"$any(_queryFooterTpl.template)\"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i3$1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
|
1244
1292
|
}
|
|
1245
1293
|
__decorate([
|
|
1246
1294
|
InputBoolean()
|
|
1247
1295
|
], ModalComponent.prototype, "showCloseBtn", void 0);
|
|
1248
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1296
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: ModalComponent, decorators: [{
|
|
1249
1297
|
type: Component,
|
|
1250
|
-
args: [{ selector: 'seam-modal', providers: [LIB_MODAL], standalone: false, template: "<ng-template #modalTpl>\n <form
|
|
1298
|
+
args: [{ selector: 'seam-modal', providers: [LIB_MODAL], standalone: false, template: "<ng-template #modalTpl>\n <form\n *ngIf=\"form\"\n [formGroup]=\"form\"\n (ngSubmit)=\"_onSubmit()\"\n class=\"p-4\"\n style=\"max-width: 800px\"\n >\n <ng-container *ngTemplateOutlet=\"modalContent\"></ng-container>\n </form>\n\n <div *ngIf=\"!form\" class=\"p-4\" style=\"max-width: 800px\">\n <ng-container *ngTemplateOutlet=\"modalContent\"></ng-container>\n </div>\n\n <ng-template #modalContent>\n <div class=\"modal-content\">\n <div class=\"modal-header py-2\">\n <h4 class=\"modal-title\">\n <span class=\"pr-2 modal-header-icon\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\"\n >\n </ng-template>\n </ng-container>\n <ng-template #noIconTpl>\n <fa-icon\n *ngIf=\"_iconObj\"\n class=\"modal-header-icon--fa\"\n [icon]=\"_iconObj\"\n size=\"sm\"\n ></fa-icon>\n <img\n *ngIf=\"_iconUrl\"\n class=\"modal-header-icon--img\"\n [src]=\"_iconUrl\"\n [alt]=\"titleText\"\n />\n </ng-template>\n </span>\n\n <span class=\"modal-header-title\">\n <ng-container *ngIf=\"titleTpl; else noTitleTpl\">\n <ng-template\n [ngTemplateOutlet]=\"titleTpl\"\n [ngTemplateOutletContext]=\"{\n $implicit: titleText,\n title: titleText,\n }\"\n >\n </ng-template>\n </ng-container>\n <ng-template #noTitleTpl>{{ titleText }}</ng-template>\n </span>\n </h4>\n <button\n *ngIf=\"showCloseBtn\"\n type=\"button\"\n class=\"close\"\n (click)=\"close()\"\n aria-label=\"Close\"\n >\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"_queryFooterTpl\" class=\"modal-footer p-2\">\n <ng-container\n *ngComponentOutlet=\"$any(_queryFooterTpl.template)\"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n</ng-template>\n" }]
|
|
1251
1299
|
}], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i1$1.Overlay }, { type: i1$2.ActivatedRoute }], propDecorators: { closeOnKeyPressed: [{
|
|
1252
1300
|
type: Input
|
|
1253
1301
|
}], showCloseBtn: [{
|
|
@@ -1296,15 +1344,13 @@ class RouteModalComponent {
|
|
|
1296
1344
|
this._modal = _modal;
|
|
1297
1345
|
}
|
|
1298
1346
|
ngOnInit() {
|
|
1299
|
-
this._route.data
|
|
1300
|
-
.pipe(takeUntil(this._ngUnsubscribe))
|
|
1301
|
-
.subscribe(data => {
|
|
1347
|
+
this._route.data.pipe(takeUntil(this._ngUnsubscribe)).subscribe((data) => {
|
|
1302
1348
|
// console.log('data', data)
|
|
1303
1349
|
if (data.routeComponent) {
|
|
1304
1350
|
// console.log(this._route.snapshot)
|
|
1305
1351
|
const modalRef = this._modal.openFromComponent(data.routeComponent, {
|
|
1306
1352
|
modalSize: 'lg',
|
|
1307
|
-
data
|
|
1353
|
+
data,
|
|
1308
1354
|
});
|
|
1309
1355
|
modalRef.afterClosed().subscribe(() => {
|
|
1310
1356
|
const parent = this.getOutletParent();
|
|
@@ -1328,23 +1374,25 @@ class RouteModalComponent {
|
|
|
1328
1374
|
}
|
|
1329
1375
|
_onDetached() {
|
|
1330
1376
|
if (this.isRouteModal()) {
|
|
1331
|
-
this._router.navigate([{ outlets: { modal: null, primary: ['.'] } }], {
|
|
1377
|
+
this._router.navigate([{ outlets: { modal: null, primary: ['.'] } }], {
|
|
1378
|
+
relativeTo: this._route.parent,
|
|
1379
|
+
});
|
|
1332
1380
|
}
|
|
1333
1381
|
}
|
|
1334
1382
|
isRouteModal() {
|
|
1335
1383
|
return this._route.outlet === 'modal';
|
|
1336
1384
|
}
|
|
1337
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1338
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
1385
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: RouteModalComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: Modal }], target: i0.ɵɵFactoryTarget.Component });
|
|
1386
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.6", type: RouteModalComponent, isStandalone: false, selector: "seam-route-modal", ngImport: i0, template: "<!-- <seam-modal (overlayDetached)=\"_onDetached()\">\n <router-outlet></router-outlet>\n</seam-modal> -->\n", styles: [""] });
|
|
1339
1387
|
}
|
|
1340
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1388
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: RouteModalComponent, decorators: [{
|
|
1341
1389
|
type: Component,
|
|
1342
1390
|
args: [{ selector: 'seam-route-modal', standalone: false, template: "<!-- <seam-modal (overlayDetached)=\"_onDetached()\">\n <router-outlet></router-outlet>\n</seam-modal> -->\n" }]
|
|
1343
1391
|
}], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: i1$2.Router }, { type: Modal }] });
|
|
1344
1392
|
|
|
1345
1393
|
class TheSeamModalModule {
|
|
1346
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1347
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
1394
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1395
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: TheSeamModalModule, declarations: [ModalComponent,
|
|
1348
1396
|
ModalFooterTplDirective,
|
|
1349
1397
|
ModalHeaderIconTplDirective,
|
|
1350
1398
|
ModalHeaderTitleTplDirective,
|
|
@@ -1375,7 +1423,7 @@ class TheSeamModalModule {
|
|
|
1375
1423
|
ModalBodyComponent,
|
|
1376
1424
|
ModalFooterComponent,
|
|
1377
1425
|
ModalCloseDirective] });
|
|
1378
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
1426
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamModalModule, providers: [
|
|
1379
1427
|
THESEAM_MODAL_SCROLL_STRATEGY_PROVIDER,
|
|
1380
1428
|
{ provide: MODAL_CONTAINER, useValue: ModalContainerComponent },
|
|
1381
1429
|
{ provide: MODAL_CONFIG, useValue: ModalConfig },
|
|
@@ -1390,7 +1438,7 @@ class TheSeamModalModule {
|
|
|
1390
1438
|
// don't have to remember to import it or be faced with an unhelpful error.
|
|
1391
1439
|
PortalModule] });
|
|
1392
1440
|
}
|
|
1393
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1441
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: TheSeamModalModule, decorators: [{
|
|
1394
1442
|
type: NgModule,
|
|
1395
1443
|
args: [{
|
|
1396
1444
|
declarations: [
|
|
@@ -1405,7 +1453,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
1405
1453
|
ModalTitleDirective,
|
|
1406
1454
|
ModalBodyComponent,
|
|
1407
1455
|
ModalFooterComponent,
|
|
1408
|
-
ModalCloseDirective
|
|
1456
|
+
ModalCloseDirective,
|
|
1409
1457
|
],
|
|
1410
1458
|
imports: [
|
|
1411
1459
|
CommonModule,
|
|
@@ -1430,13 +1478,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
1430
1478
|
ModalTitleDirective,
|
|
1431
1479
|
ModalBodyComponent,
|
|
1432
1480
|
ModalFooterComponent,
|
|
1433
|
-
ModalCloseDirective
|
|
1481
|
+
ModalCloseDirective,
|
|
1434
1482
|
],
|
|
1435
1483
|
providers: [
|
|
1436
1484
|
THESEAM_MODAL_SCROLL_STRATEGY_PROVIDER,
|
|
1437
1485
|
{ provide: MODAL_CONTAINER, useValue: ModalContainerComponent },
|
|
1438
1486
|
{ provide: MODAL_CONFIG, useValue: ModalConfig },
|
|
1439
|
-
]
|
|
1487
|
+
],
|
|
1440
1488
|
}]
|
|
1441
1489
|
}] });
|
|
1442
1490
|
|