@indice/ng-components 0.2.175 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/_styles.scss +4323 -4275
- package/{esm2020 → esm2022}/indice-ng-components.mjs +4 -4
- package/esm2022/lib/controls/advanced-search/advanced-search.component.mjs +156 -0
- package/esm2022/lib/controls/advanced-search/models.mjs +109 -0
- package/esm2022/lib/controls/avatar-initials/avatar-initials.component.mjs +48 -0
- package/{esm2020 → esm2022}/lib/controls/breadcrumb/breadcrumb-item.mjs +14 -14
- package/esm2022/lib/controls/breadcrumb/breadcrumb.component.mjs +26 -0
- package/esm2022/lib/controls/collapsible-panel/collapsible-panel.component.mjs +20 -0
- package/esm2022/lib/controls/combobox/combobox.component.mjs +121 -0
- package/esm2022/lib/controls/content-tile/content-tile-header/content-tile-header.component.mjs +17 -0
- package/esm2022/lib/controls/content-tile/content-tile-item/content-tile-item.component.mjs +19 -0
- package/esm2022/lib/controls/content-tile/content-tile.component.mjs +63 -0
- package/esm2022/lib/controls/date-picker/date-picker.component.mjs +300 -0
- package/esm2022/lib/controls/drop-down-menu/drop-down-menu.component.mjs +72 -0
- package/esm2022/lib/controls/kpi-tile/kpi-tile.component.mjs +43 -0
- package/esm2022/lib/controls/language-selection/language-selection.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/controls/list-view/list-column.component.mjs +25 -25
- package/esm2022/lib/controls/list-view/list-details-section.component.mjs +17 -0
- package/{esm2020 → esm2022}/lib/controls/list-view/list-tile.component.mjs +17 -17
- package/esm2022/lib/controls/list-view/list-view-empty-state.component.mjs +29 -0
- package/esm2022/lib/controls/list-view/list-view.component.mjs +210 -0
- package/esm2022/lib/controls/nav-links-list/nav-links-list.component.mjs +54 -0
- package/esm2022/lib/controls/notifications-indicator/notifications-indicator.component.mjs +79 -0
- package/esm2022/lib/controls/pager/pager.component.mjs +130 -0
- package/esm2022/lib/controls/progress-bar/progress-bar.component.mjs +46 -0
- package/esm2022/lib/controls/side-pane/side-pane.component.mjs +87 -0
- package/esm2022/lib/controls/skeleton-loader/skeleton-loader.component.mjs +29 -0
- package/esm2022/lib/controls/stats-grid/stats-grid.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/controls/stepper/lib-step-info.directive.mjs +16 -16
- package/{esm2020 → esm2022}/lib/controls/stepper/lib-step-label.directive.mjs +16 -16
- package/esm2022/lib/controls/stepper/lib-step.component.mjs +81 -0
- package/esm2022/lib/controls/stepper/lib-stepper.component.mjs +108 -0
- package/esm2022/lib/controls/stepper/types/step-selected-event.mjs +4 -0
- package/{esm2020 → esm2022}/lib/controls/stepper/types/stepper-type.mjs +12 -12
- package/esm2022/lib/controls/tabs/lib-tab-group.component.mjs +66 -0
- package/{esm2020 → esm2022}/lib/controls/tabs/lib-tab-label.directive.mjs +16 -16
- package/{esm2020 → esm2022}/lib/controls/tabs/lib-tab.component.mjs +64 -64
- package/esm2022/lib/controls/toaster/toaster-container.component.mjs +28 -0
- package/esm2022/lib/controls/toaster/toaster.component.mjs +31 -0
- package/esm2022/lib/controls/toggle/toggle.component.mjs +64 -0
- package/esm2022/lib/controls/toggle-button/toggle-button.component.mjs +87 -0
- package/esm2022/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +34 -0
- package/esm2022/lib/controls/user-profile-menu/user-profile-menu.component.mjs +71 -0
- package/esm2022/lib/directives/click-outside.directive.mjs +189 -0
- package/esm2022/lib/directives/dynamic-component-host.directive.mjs +17 -0
- package/esm2022/lib/helpers/base-list.component.mjs +230 -0
- package/esm2022/lib/icons.mjs +36 -0
- package/esm2022/lib/layouts/shell/shell-footer/shell-footer.component.mjs +19 -0
- package/esm2022/lib/layouts/shell/shell-header/shell-header.component.mjs +130 -0
- package/esm2022/lib/layouts/shell/shell-layout/shell-layout.component.mjs +90 -0
- package/esm2022/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +54 -0
- package/esm2022/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +45 -0
- package/esm2022/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +30 -0
- package/esm2022/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +20 -0
- package/esm2022/lib/layouts/views/form-layout/form-layout.component.mjs +86 -0
- package/esm2022/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +101 -0
- package/esm2022/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +106 -0
- package/esm2022/lib/layouts/views/view-layout/view-layout.component.mjs +104 -0
- package/esm2022/lib/ng-components.module.mjs +320 -0
- package/esm2022/lib/pages/auth/auth-callback/auth-callback.component.mjs +30 -0
- package/esm2022/lib/pages/auth/auth-renew/auth-renew.component.mjs +31 -0
- package/esm2022/lib/pages/auth/logged-out/logged-out.component.mjs +28 -0
- package/esm2022/lib/pages/http-status/error/error.component.mjs +17 -0
- package/esm2022/lib/pages/http-status/page-not-found/page-not-found.component.mjs +15 -0
- package/esm2022/lib/pages/http-status/unauthorized/unauthorized.component.mjs +14 -0
- package/esm2022/lib/pipes/address.pipe.mjs +21 -0
- package/esm2022/lib/pipes/duration-format.pipe.mjs +64 -0
- package/esm2022/lib/pipes/short-number.pipe.mjs +43 -0
- package/esm2022/lib/services/breadcrumb.service.mjs +174 -0
- package/esm2022/lib/services/component-loader/component-loader-options.class.mjs +8 -0
- package/esm2022/lib/services/component-loader/component-loader.class.mjs +188 -0
- package/esm2022/lib/services/component-loader/component-loader.factory.mjs +32 -0
- package/{esm2020 → esm2022}/lib/services/component-loader/content-ref.class.mjs +13 -13
- package/esm2022/lib/services/modal-service/modal-backdrop-component.mjs +44 -0
- package/esm2022/lib/services/modal-service/modal-container-component.mjs +126 -0
- package/esm2022/lib/services/modal-service/modal-options.class.mjs +35 -0
- package/esm2022/lib/services/modal-service/modal-service.mjs +220 -0
- package/{esm2020 → esm2022}/lib/services/modal-service/modal-styles.class.mjs +11 -11
- package/esm2022/lib/services/modal-service/modal.class.mjs +27 -0
- package/{esm2020 → esm2022}/lib/services/toaster.service.mjs +26 -26
- package/esm2022/lib/services/user-settings.service.mjs +35 -0
- package/esm2022/lib/services/utilities.service.mjs +47 -0
- package/{esm2020 → esm2022}/lib/tokens.mjs +8 -8
- package/esm2022/lib/types.mjs +133 -0
- package/esm2022/public-api.mjs +78 -0
- package/fesm2022/indice-ng-components.mjs +5069 -0
- package/fesm2022/indice-ng-components.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/controls/advanced-search/advanced-search.component.d.ts +40 -40
- package/lib/controls/advanced-search/models.d.ts +91 -91
- package/lib/controls/avatar-initials/avatar-initials.component.d.ts +14 -14
- package/lib/controls/breadcrumb/breadcrumb-item.d.ts +7 -7
- package/lib/controls/breadcrumb/breadcrumb.component.d.ts +12 -12
- package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +10 -10
- package/lib/controls/combobox/combobox.component.d.ts +35 -34
- package/lib/controls/content-tile/content-tile-header/content-tile-header.component.d.ts +7 -0
- package/lib/controls/content-tile/content-tile-item/content-tile-item.component.d.ts +8 -0
- package/lib/controls/content-tile/content-tile.component.d.ts +23 -0
- package/lib/controls/date-picker/date-picker.component.d.ts +53 -53
- package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +26 -26
- package/lib/controls/kpi-tile/kpi-tile.component.d.ts +15 -15
- package/lib/controls/language-selection/language-selection.component.d.ts +14 -14
- package/lib/controls/list-view/list-column.component.d.ts +9 -9
- package/lib/controls/list-view/list-details-section.component.d.ts +7 -7
- package/lib/controls/list-view/list-tile.component.d.ts +7 -7
- package/lib/controls/list-view/list-view-empty-state.component.d.ts +11 -11
- package/lib/controls/list-view/list-view.component.d.ts +62 -61
- package/lib/controls/nav-links-list/nav-links-list.component.d.ts +21 -21
- package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +22 -22
- package/lib/controls/pager/pager.component.d.ts +36 -36
- package/lib/controls/progress-bar/progress-bar.component.d.ts +16 -0
- package/lib/controls/side-pane/side-pane.component.d.ts +22 -18
- package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +12 -11
- package/lib/controls/stats-grid/stats-grid.component.d.ts +16 -0
- package/lib/controls/stepper/lib-step-info.directive.d.ts +8 -8
- package/lib/controls/stepper/lib-step-label.directive.d.ts +8 -8
- package/lib/controls/stepper/lib-step.component.d.ts +34 -34
- package/lib/controls/stepper/lib-stepper.component.d.ts +43 -43
- package/lib/controls/stepper/types/step-selected-event.d.ts +12 -12
- package/lib/controls/stepper/types/stepper-type.d.ts +10 -10
- package/lib/controls/tabs/lib-tab-group.component.d.ts +21 -21
- package/lib/controls/tabs/lib-tab-label.directive.d.ts +8 -8
- package/lib/controls/tabs/lib-tab.component.d.ts +24 -24
- package/lib/controls/toaster/toaster-container.component.d.ts +13 -13
- package/lib/controls/toaster/toaster.component.d.ts +15 -15
- package/lib/controls/toggle/toggle.component.d.ts +19 -19
- package/lib/controls/toggle-button/toggle-button.component.d.ts +25 -25
- package/lib/controls/toggle-buttons-list/toggle-buttons-list.component.d.ts +15 -14
- package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +24 -24
- package/lib/directives/click-outside.directive.d.ts +40 -40
- package/lib/directives/dynamic-component-host.directive.d.ts +9 -9
- package/lib/helpers/base-list.component.d.ts +54 -53
- package/lib/icons.d.ts +34 -34
- package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +8 -8
- package/lib/layouts/shell/shell-header/shell-header.component.d.ts +39 -39
- package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +26 -26
- package/lib/layouts/shell/shell-sidebar/shell-sidebar.component.d.ts +20 -20
- package/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.d.ts +14 -14
- package/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.d.ts +15 -15
- package/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.d.ts +10 -10
- package/lib/layouts/views/form-layout/form-layout.component.d.ts +26 -24
- package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +42 -42
- package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +29 -28
- package/lib/layouts/views/view-layout/view-layout.component.d.ts +31 -31
- package/lib/ng-components.module.d.ts +71 -65
- package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +13 -13
- package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +12 -12
- package/lib/pages/auth/logged-out/logged-out.component.d.ts +12 -12
- package/lib/pages/http-status/error/error.component.d.ts +8 -8
- package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +8 -8
- package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +8 -8
- package/lib/pipes/address.pipe.d.ts +8 -8
- package/lib/pipes/duration-format.pipe.d.ts +8 -8
- package/lib/pipes/short-number.pipe.d.ts +7 -0
- package/lib/services/breadcrumb.service.d.ts +29 -29
- package/lib/services/component-loader/component-loader-options.class.d.ts +30 -30
- package/lib/services/component-loader/component-loader.class.d.ts +92 -92
- package/lib/services/component-loader/component-loader.factory.d.ts +24 -24
- package/lib/services/component-loader/content-ref.class.d.ts +12 -12
- package/lib/services/modal-service/modal-backdrop-component.d.ts +20 -20
- package/lib/services/modal-service/modal-container-component.d.ts +33 -33
- package/lib/services/modal-service/modal-options.class.d.ts +81 -81
- package/lib/services/modal-service/modal-service.d.ts +58 -58
- package/lib/services/modal-service/modal-styles.class.d.ts +10 -10
- package/lib/services/modal-service/modal.class.d.ts +43 -43
- package/lib/services/toaster.service.d.ts +11 -11
- package/lib/services/user-settings.service.d.ts +13 -13
- package/lib/services/utilities.service.d.ts +11 -11
- package/lib/tokens.d.ts +10 -10
- package/lib/types.d.ts +179 -177
- package/modal.css +157 -157
- package/package.json +13 -19
- package/public-api.d.ts +68 -60
- package/esm2020/lib/controls/advanced-search/advanced-search.component.mjs +0 -156
- package/esm2020/lib/controls/advanced-search/models.mjs +0 -109
- package/esm2020/lib/controls/avatar-initials/avatar-initials.component.mjs +0 -48
- package/esm2020/lib/controls/breadcrumb/breadcrumb.component.mjs +0 -26
- package/esm2020/lib/controls/collapsible-panel/collapsible-panel.component.mjs +0 -20
- package/esm2020/lib/controls/combobox/combobox.component.mjs +0 -117
- package/esm2020/lib/controls/date-picker/date-picker.component.mjs +0 -292
- package/esm2020/lib/controls/drop-down-menu/drop-down-menu.component.mjs +0 -72
- package/esm2020/lib/controls/kpi-tile/kpi-tile.component.mjs +0 -43
- package/esm2020/lib/controls/language-selection/language-selection.component.mjs +0 -31
- package/esm2020/lib/controls/list-view/list-details-section.component.mjs +0 -17
- package/esm2020/lib/controls/list-view/list-view-empty-state.component.mjs +0 -29
- package/esm2020/lib/controls/list-view/list-view.component.mjs +0 -206
- package/esm2020/lib/controls/nav-links-list/nav-links-list.component.mjs +0 -54
- package/esm2020/lib/controls/notifications-indicator/notifications-indicator.component.mjs +0 -79
- package/esm2020/lib/controls/pager/pager.component.mjs +0 -130
- package/esm2020/lib/controls/side-pane/side-pane.component.mjs +0 -72
- package/esm2020/lib/controls/skeleton-loader/skeleton-loader.component.mjs +0 -25
- package/esm2020/lib/controls/stepper/lib-step.component.mjs +0 -81
- package/esm2020/lib/controls/stepper/lib-stepper.component.mjs +0 -108
- package/esm2020/lib/controls/stepper/types/step-selected-event.mjs +0 -4
- package/esm2020/lib/controls/tabs/lib-tab-group.component.mjs +0 -66
- package/esm2020/lib/controls/toaster/toaster-container.component.mjs +0 -28
- package/esm2020/lib/controls/toaster/toaster.component.mjs +0 -31
- package/esm2020/lib/controls/toggle/toggle.component.mjs +0 -64
- package/esm2020/lib/controls/toggle-button/toggle-button.component.mjs +0 -87
- package/esm2020/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +0 -31
- package/esm2020/lib/controls/user-profile-menu/user-profile-menu.component.mjs +0 -71
- package/esm2020/lib/directives/click-outside.directive.mjs +0 -189
- package/esm2020/lib/directives/dynamic-component-host.directive.mjs +0 -17
- package/esm2020/lib/helpers/base-list.component.mjs +0 -226
- package/esm2020/lib/icons.mjs +0 -36
- package/esm2020/lib/layouts/shell/shell-footer/shell-footer.component.mjs +0 -19
- package/esm2020/lib/layouts/shell/shell-header/shell-header.component.mjs +0 -130
- package/esm2020/lib/layouts/shell/shell-layout/shell-layout.component.mjs +0 -90
- package/esm2020/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +0 -54
- package/esm2020/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +0 -45
- package/esm2020/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +0 -30
- package/esm2020/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +0 -20
- package/esm2020/lib/layouts/views/form-layout/form-layout.component.mjs +0 -80
- package/esm2020/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +0 -101
- package/esm2020/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +0 -98
- package/esm2020/lib/layouts/views/view-layout/view-layout.component.mjs +0 -104
- package/esm2020/lib/ng-components.module.mjs +0 -288
- package/esm2020/lib/pages/auth/auth-callback/auth-callback.component.mjs +0 -30
- package/esm2020/lib/pages/auth/auth-renew/auth-renew.component.mjs +0 -31
- package/esm2020/lib/pages/auth/logged-out/logged-out.component.mjs +0 -28
- package/esm2020/lib/pages/http-status/error/error.component.mjs +0 -17
- package/esm2020/lib/pages/http-status/page-not-found/page-not-found.component.mjs +0 -15
- package/esm2020/lib/pages/http-status/unauthorized/unauthorized.component.mjs +0 -14
- package/esm2020/lib/pipes/address.pipe.mjs +0 -21
- package/esm2020/lib/pipes/duration-format.pipe.mjs +0 -64
- package/esm2020/lib/services/breadcrumb.service.mjs +0 -174
- package/esm2020/lib/services/component-loader/component-loader-options.class.mjs +0 -8
- package/esm2020/lib/services/component-loader/component-loader.class.mjs +0 -188
- package/esm2020/lib/services/component-loader/component-loader.factory.mjs +0 -32
- package/esm2020/lib/services/modal-service/modal-backdrop-component.mjs +0 -44
- package/esm2020/lib/services/modal-service/modal-container-component.mjs +0 -126
- package/esm2020/lib/services/modal-service/modal-options.class.mjs +0 -35
- package/esm2020/lib/services/modal-service/modal-service.mjs +0 -220
- package/esm2020/lib/services/modal-service/modal.class.mjs +0 -27
- package/esm2020/lib/services/user-settings.service.mjs +0 -35
- package/esm2020/lib/services/utilities.service.mjs +0 -47
- package/esm2020/lib/types.mjs +0 -132
- package/esm2020/public-api.mjs +0 -70
- package/fesm2015/indice-ng-components.mjs +0 -4852
- package/fesm2015/indice-ng-components.mjs.map +0 -1
- package/fesm2020/indice-ng-components.mjs +0 -4763
- package/fesm2020/indice-ng-components.mjs.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Holds information about the dynamic content.
|
|
3
|
-
* @remarks
|
|
4
|
-
* `ComponentRef` is undefined in the case content is of `TemplateRef` type.
|
|
5
|
-
*/
|
|
6
|
-
export class ContentRef {
|
|
7
|
-
constructor(nodes, viewRef, componentRef) {
|
|
8
|
-
this.nodes = nodes;
|
|
9
|
-
this.viewRef = viewRef;
|
|
10
|
-
this.componentRef = componentRef;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* Holds information about the dynamic content.
|
|
3
|
+
* @remarks
|
|
4
|
+
* `ComponentRef` is undefined in the case content is of `TemplateRef` type.
|
|
5
|
+
*/
|
|
6
|
+
export class ContentRef {
|
|
7
|
+
constructor(nodes, viewRef, componentRef) {
|
|
8
|
+
this.nodes = nodes;
|
|
9
|
+
this.viewRef = viewRef;
|
|
10
|
+
this.componentRef = componentRef;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1yZWYuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvY29tcG9uZW50LWxvYWRlci9jb250ZW50LXJlZi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFBbUIsS0FBWSxFQUFTLE9BQWlCLEVBQVMsWUFBZ0M7UUFBL0UsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFBUyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7SUFBRyxDQUFDO0NBQ3ZHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBWaWV3UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogSG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGR5bmFtaWMgY29udGVudC5cbiAqIEByZW1hcmtzXG4gKiBgQ29tcG9uZW50UmVmYCBpcyB1bmRlZmluZWQgaW4gdGhlIGNhc2UgY29udGVudCBpcyBvZiBgVGVtcGxhdGVSZWZgIHR5cGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb250ZW50UmVmIHtcbiAgY29uc3RydWN0b3IocHVibGljIG5vZGVzOiBhbnlbXSwgcHVibGljIHZpZXdSZWY/OiBWaWV3UmVmLCBwdWJsaWMgY29tcG9uZW50UmVmPzogQ29tcG9uZW50UmVmPGFueT4pIHt9XG59XG4iXX0=
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Component, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { animationTime, cssClassNames } from './modal-styles.class';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Background layer for modals.
|
|
6
|
+
* Override class name to theme it.
|
|
7
|
+
* @see {@link cssClassNames}
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export class ModalBackdropComponent {
|
|
11
|
+
constructor(element, renderer) {
|
|
12
|
+
this.element = element;
|
|
13
|
+
this.renderer = renderer;
|
|
14
|
+
this.animationsEnabled = false;
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
if (this.animationsEnabled) {
|
|
18
|
+
this.renderer.addClass(this.element.nativeElement, cssClassNames.fade);
|
|
19
|
+
this.reflow(this.element.nativeElement);
|
|
20
|
+
}
|
|
21
|
+
this.renderer.addClass(this.element.nativeElement, cssClassNames.show);
|
|
22
|
+
}
|
|
23
|
+
hide() {
|
|
24
|
+
this.renderer.removeClass(this.element.nativeElement, cssClassNames.show);
|
|
25
|
+
setTimeout(() => this.backdropLoader?.hide(), this.animationsEnabled ? animationTime.backdrop : 0);
|
|
26
|
+
}
|
|
27
|
+
reflow(element) {
|
|
28
|
+
((bs) => bs)(element.offsetHeight);
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ModalBackdropComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ModalBackdropComponent, selector: "lib-modal-backdrop", host: { classAttribute: "modal-backdrop" }, ngImport: i0, template: '', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ModalBackdropComponent, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{
|
|
36
|
+
selector: 'lib-modal-backdrop',
|
|
37
|
+
encapsulation: ViewEncapsulation.None,
|
|
38
|
+
template: '',
|
|
39
|
+
host: {
|
|
40
|
+
class: cssClassNames.backdrop,
|
|
41
|
+
},
|
|
42
|
+
}]
|
|
43
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYmFja2Ryb3AtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL21vZGFsLXNlcnZpY2UvbW9kYWwtYmFja2Ryb3AtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlDLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVGLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXBFOzs7OztHQUtHO0FBU0gsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxZQUFvQixPQUFtQixFQUFVLFFBQW1CO1FBQWhELFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBRjVELHNCQUFpQixHQUFHLEtBQUssQ0FBQztJQUVxQyxDQUFDO0lBRXhFLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBWTtRQUNqQixDQUFDLENBQUMsRUFBTyxFQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs4R0FwQlUsc0JBQXNCO2tHQUF0QixzQkFBc0Isc0dBTHZCLEVBQUU7OzJGQUtELHNCQUFzQjtrQkFSbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxhQUFhLENBQUMsUUFBUTtxQkFDOUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgUmVuZGVyZXIyLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50TG9hZGVyIH0gZnJvbSAnLi4vY29tcG9uZW50LWxvYWRlci9jb21wb25lbnQtbG9hZGVyLmNsYXNzJztcbmltcG9ydCB7IGFuaW1hdGlvblRpbWUsIGNzc0NsYXNzTmFtZXMgfSBmcm9tICcuL21vZGFsLXN0eWxlcy5jbGFzcyc7XG5cbi8qKlxuICogQmFja2dyb3VuZCBsYXllciBmb3IgbW9kYWxzLlxuICogT3ZlcnJpZGUgY2xhc3MgbmFtZSB0byB0aGVtZSBpdC5cbiAqIEBzZWUge0BsaW5rIGNzc0NsYXNzTmFtZXN9XG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW1vZGFsLWJhY2tkcm9wJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGU6ICcnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IGNzc0NsYXNzTmFtZXMuYmFja2Ryb3AsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQmFja2Ryb3BDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIGFuaW1hdGlvbnNFbmFibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgYmFja2Ryb3BMb2FkZXI6IENvbXBvbmVudExvYWRlcjxNb2RhbEJhY2tkcm9wQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYW5pbWF0aW9uc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGNzc0NsYXNzTmFtZXMuZmFkZSk7XG4gICAgICB0aGlzLnJlZmxvdyh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGNzc0NsYXNzTmFtZXMuc2hvdyk7XG4gIH1cblxuICBwdWJsaWMgaGlkZSgpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBjc3NDbGFzc05hbWVzLnNob3cpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5iYWNrZHJvcExvYWRlcj8uaGlkZSgpLCB0aGlzLmFuaW1hdGlvbnNFbmFibGVkID8gYW5pbWF0aW9uVGltZS5iYWNrZHJvcCA6IDApO1xuICB9XG5cbiAgcmVmbG93KGVsZW1lbnQ6IGFueSk6IHZvaWQge1xuICAgICgoYnM6IGFueSk6IHZvaWQgPT4gYnMpKGVsZW1lbnQub2Zmc2V0SGVpZ2h0KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { Component, HostListener } from '@angular/core';
|
|
2
|
+
import { animationTime, cssClassNames } from './modal-styles.class';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./modal-options.class";
|
|
5
|
+
/**
|
|
6
|
+
* Modal container component.
|
|
7
|
+
* @remarks
|
|
8
|
+
* All dynamic content `TemplateRef` or `Component` case will be drawn inside this.
|
|
9
|
+
* You can override css classes to theme it {@link cssClassNames}
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export class ModalContainerComponent {
|
|
13
|
+
constructor(options, _element, renderer) {
|
|
14
|
+
this._element = _element;
|
|
15
|
+
this.renderer = renderer;
|
|
16
|
+
this.isShown = false;
|
|
17
|
+
this.animationsEnabled = false;
|
|
18
|
+
this.isModalHiding = false;
|
|
19
|
+
this.clickStartedInContent = false;
|
|
20
|
+
this.config = Object.assign({}, options);
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
if (this.animationsEnabled) {
|
|
24
|
+
this.renderer.addClass(this._element.nativeElement, cssClassNames.fade);
|
|
25
|
+
}
|
|
26
|
+
this.renderer.setStyle(this._element.nativeElement, 'display', 'block');
|
|
27
|
+
setTimeout(() => {
|
|
28
|
+
this.isShown = true;
|
|
29
|
+
this.renderer.addClass(this._element.nativeElement, cssClassNames.show);
|
|
30
|
+
}, this.animationsEnabled ? animationTime.backdrop : 0);
|
|
31
|
+
if (this._element.nativeElement) {
|
|
32
|
+
this._element.nativeElement.focus();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
onClickStarted(event) {
|
|
36
|
+
this.clickStartedInContent = event.target !== this._element.nativeElement;
|
|
37
|
+
}
|
|
38
|
+
onClickStop(event) {
|
|
39
|
+
const clickedInBackdrop = event.target === this._element.nativeElement && !this.clickStartedInContent;
|
|
40
|
+
if (this.config.ignoreBackdropClick || this.config.backdrop === 'static' || !clickedInBackdrop) {
|
|
41
|
+
this.clickStartedInContent = false;
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
this.hide();
|
|
45
|
+
}
|
|
46
|
+
onPopState() {
|
|
47
|
+
this.hide();
|
|
48
|
+
}
|
|
49
|
+
onEsc(event) {
|
|
50
|
+
if (!this.isShown) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (event.keyCode === 27 || event.key === 'Escape' || event.key === 'Esc') {
|
|
54
|
+
event.preventDefault();
|
|
55
|
+
}
|
|
56
|
+
if (this.config.keyboard && this.config.id === this.modalService?.getActiveModal().config.id) {
|
|
57
|
+
this.hide();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
ngOnDestroy() {
|
|
61
|
+
if (this.isShown) {
|
|
62
|
+
this._hide();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
hide(result) {
|
|
66
|
+
if (this.isModalHiding || !this.isShown) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (this.config.closeInterceptor) {
|
|
70
|
+
this.config.closeInterceptor().then(() => this._hide(), () => undefined);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
this._hide(result);
|
|
74
|
+
}
|
|
75
|
+
_hide(result) {
|
|
76
|
+
this.isModalHiding = true;
|
|
77
|
+
this.renderer.removeClass(this._element.nativeElement, cssClassNames.show);
|
|
78
|
+
setTimeout(() => {
|
|
79
|
+
this.isShown = false;
|
|
80
|
+
this.modalService?.hide(this.config.id, result);
|
|
81
|
+
this.isModalHiding = false;
|
|
82
|
+
}, this.animationsEnabled ? animationTime.modal : 0);
|
|
83
|
+
}
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ModalContainerComponent, deps: [{ token: i1.ModalOptions }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
85
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ModalContainerComponent, selector: "lib-modal-container", host: { attributes: { "role": "dialog", "tabindex": "-1" }, listeners: { "mousedown": "onClickStarted($event)", "click": "onClickStop($event)", "window:popstate": "onPopState()", "window:keydown.esc": "onEsc($event)" }, properties: { "attr.aria-modal": "true", "attr.aria-labelledby": "config.ariaLabelledBy", "attr.aria-describedby": "config.ariaDescribedby" }, classAttribute: "modal" }, ngImport: i0, template: `
|
|
86
|
+
<div [class]="'modal-dialog' + (config.class ? ' ' + config.class : '')" role="document" focusTrap>
|
|
87
|
+
<div class="modal-content">
|
|
88
|
+
<ng-content></ng-content>
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
`, isInline: true }); }
|
|
92
|
+
}
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ModalContainerComponent, decorators: [{
|
|
94
|
+
type: Component,
|
|
95
|
+
args: [{
|
|
96
|
+
selector: 'lib-modal-container',
|
|
97
|
+
template: `
|
|
98
|
+
<div [class]="'modal-dialog' + (config.class ? ' ' + config.class : '')" role="document" focusTrap>
|
|
99
|
+
<div class="modal-content">
|
|
100
|
+
<ng-content></ng-content>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
`,
|
|
104
|
+
host: {
|
|
105
|
+
class: 'modal',
|
|
106
|
+
role: 'dialog',
|
|
107
|
+
tabindex: '-1',
|
|
108
|
+
'[attr.aria-modal]': 'true',
|
|
109
|
+
'[attr.aria-labelledby]': 'config.ariaLabelledBy',
|
|
110
|
+
'[attr.aria-describedby]': 'config.ariaDescribedby',
|
|
111
|
+
},
|
|
112
|
+
}]
|
|
113
|
+
}], ctorParameters: () => [{ type: i1.ModalOptions }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { onClickStarted: [{
|
|
114
|
+
type: HostListener,
|
|
115
|
+
args: ['mousedown', ['$event']]
|
|
116
|
+
}], onClickStop: [{
|
|
117
|
+
type: HostListener,
|
|
118
|
+
args: ['click', ['$event']]
|
|
119
|
+
}], onPopState: [{
|
|
120
|
+
type: HostListener,
|
|
121
|
+
args: ['window:popstate']
|
|
122
|
+
}], onEsc: [{
|
|
123
|
+
type: HostListener,
|
|
124
|
+
args: ['window:keydown.esc', ['$event']]
|
|
125
|
+
}] } });
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGFpbmVyLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1zZXJ2aWNlL21vZGFsLWNvbnRhaW5lci1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQWdDLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUlwRTs7Ozs7O0dBTUc7QUFtQkgsTUFBTSxPQUFPLHVCQUF1QjtJQVFsQyxZQUFZLE9BQXFCLEVBQVksUUFBb0IsRUFBVSxRQUFtQjtRQUFqRCxhQUFRLEdBQVIsUUFBUSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUp0RixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFFcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEUsVUFBVSxDQUNSLEdBQUcsRUFBRTtZQUNI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QyxJQUFJLENBQUMsQ0FBQztRQUMzRSxVQUFVLENBQ1IsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDN0IsQ0FBQyxFQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQzs4R0E3RlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsaWNBaEJ4Qjs7Ozs7O0dBTVQ7OzJGQVVVLHVCQUF1QjtrQkFsQm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7R0FNVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLE9BQU87d0JBQ2QsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsUUFBUSxFQUFFLElBQUk7d0JBQ2QsbUJBQW1CLEVBQUUsTUFBTTt3QkFDM0Isd0JBQXdCLEVBQUUsdUJBQXVCO3dCQUNqRCx5QkFBeUIsRUFBRSx3QkFBd0I7cUJBQ3BEO2lCQUNGO2tJQStCQyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU1yQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVdqQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsaUJBQWlCO2dCQU0vQixLQUFLO3NCQURKLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYW5pbWF0aW9uVGltZSwgY3NzQ2xhc3NOYW1lcyB9IGZyb20gJy4vbW9kYWwtc3R5bGVzLmNsYXNzJztcbmltcG9ydCB7IE1vZGFsT3B0aW9ucyB9IGZyb20gJy4vbW9kYWwtb3B0aW9ucy5jbGFzcyc7XG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuL21vZGFsLXNlcnZpY2UnO1xuXG4vKipcbiAqIE1vZGFsIGNvbnRhaW5lciBjb21wb25lbnQuXG4gKiBAcmVtYXJrc1xuICogQWxsIGR5bmFtaWMgY29udGVudCBgVGVtcGxhdGVSZWZgIG9yIGBDb21wb25lbnRgIGNhc2Ugd2lsbCBiZSBkcmF3biBpbnNpZGUgdGhpcy5cbiAqIFlvdSBjYW4gb3ZlcnJpZGUgY3NzIGNsYXNzZXMgdG8gdGhlbWUgaXQge0BsaW5rIGNzc0NsYXNzTmFtZXN9XG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW1vZGFsLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbY2xhc3NdPVwiJ21vZGFsLWRpYWxvZycgKyAoY29uZmlnLmNsYXNzID8gJyAnICsgY29uZmlnLmNsYXNzIDogJycpXCIgcm9sZT1cImRvY3VtZW50XCIgZm9jdXNUcmFwPlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ21vZGFsJyxcbiAgICByb2xlOiAnZGlhbG9nJyxcbiAgICB0YWJpbmRleDogJy0xJyxcbiAgICAnW2F0dHIuYXJpYS1tb2RhbF0nOiAndHJ1ZScsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnY29uZmlnLmFyaWFMYWJlbGxlZEJ5JyxcbiAgICAnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnY29uZmlnLmFyaWFEZXNjcmliZWRieScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgbGV2ZWw/OiBudW1iZXI7XG4gIHB1YmxpYyBjb25maWc6IE1vZGFsT3B0aW9ucztcbiAgcHVibGljIG1vZGFsU2VydmljZT86IE1vZGFsU2VydmljZTtcbiAgcHJpdmF0ZSBpc1Nob3duID0gZmFsc2U7XG4gIHByaXZhdGUgYW5pbWF0aW9uc0VuYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc01vZGFsSGlkaW5nID0gZmFsc2U7XG4gIHByaXZhdGUgY2xpY2tTdGFydGVkSW5Db250ZW50ID0gZmFsc2U7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE1vZGFsT3B0aW9ucywgcHJvdGVjdGVkIF9lbGVtZW50OiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYW5pbWF0aW9uc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCBjc3NDbGFzc05hbWVzLmZhZGUpO1xuICAgIH1cbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnYmxvY2snKTtcbiAgICBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmlzU2hvd24gPSB0cnVlO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgY3NzQ2xhc3NOYW1lcy5zaG93KTtcbiAgICAgIH0sXG4gICAgICB0aGlzLmFuaW1hdGlvbnNFbmFibGVkID8gYW5pbWF0aW9uVGltZS5iYWNrZHJvcCA6IDBcbiAgICApO1xuICAgIGlmICh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2tTdGFydGVkKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5jbGlja1N0YXJ0ZWRJbkNvbnRlbnQgPSBldmVudC50YXJnZXQgIT09IHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGlja1N0b3AoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjbGlja2VkSW5CYWNrZHJvcCA9IGV2ZW50LnRhcmdldCA9PT0gdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50ICYmICF0aGlzLmNsaWNrU3RhcnRlZEluQ29udGVudDtcbiAgICBpZiAodGhpcy5jb25maWcuaWdub3JlQmFja2Ryb3BDbGljayB8fCB0aGlzLmNvbmZpZy5iYWNrZHJvcCA9PT0gJ3N0YXRpYycgfHwgIWNsaWNrZWRJbkJhY2tkcm9wKSB7XG4gICAgICB0aGlzLmNsaWNrU3RhcnRlZEluQ29udGVudCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpwb3BzdGF0ZScpXG4gIG9uUG9wU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5ZG93bi5lc2MnLCBbJyRldmVudCddKVxuICBvbkVzYyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1Nob3duKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAyNyB8fCBldmVudC5rZXkgPT09ICdFc2NhcGUnIHx8IGV2ZW50LmtleSA9PT0gJ0VzYycpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZy5rZXlib2FyZCAmJiB0aGlzLmNvbmZpZy5pZCA9PT0gdGhpcy5tb2RhbFNlcnZpY2U/LmdldEFjdGl2ZU1vZGFsKCkuY29uZmlnLmlkKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1Nob3duKSB7XG4gICAgICB0aGlzLl9oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgaGlkZShyZXN1bHQ/OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc01vZGFsSGlkaW5nIHx8ICF0aGlzLmlzU2hvd24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnLmNsb3NlSW50ZXJjZXB0b3IpIHtcbiAgICAgIHRoaXMuY29uZmlnLmNsb3NlSW50ZXJjZXB0b3IoKS50aGVuKFxuICAgICAgICAoKSA9PiB0aGlzLl9oaWRlKCksXG4gICAgICAgICgpID0+IHVuZGVmaW5lZFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faGlkZShyZXN1bHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGlkZShyZXN1bHQ/OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmlzTW9kYWxIaWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCBjc3NDbGFzc05hbWVzLnNob3cpO1xuICAgIHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNTaG93biA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZT8uaGlkZSh0aGlzLmNvbmZpZy5pZCwgcmVzdWx0KTtcbiAgICAgICAgdGhpcy5pc01vZGFsSGlkaW5nID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgdGhpcy5hbmltYXRpb25zRW5hYmxlZCA/IGFuaW1hdGlvblRpbWUubW9kYWwgOiAwXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Injectable, InjectionToken } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Modals option can be passed to a specific modal from {@link ModalService.show} or
|
|
5
|
+
* set globbaly using the injection token {@link MODAL_CONFIG_DEFAULT_OVERRIDE}.
|
|
6
|
+
* @remarks
|
|
7
|
+
* Modal specific options are merged with global options.
|
|
8
|
+
* @see {@link modalConfigDefaults} for defaults.
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export class ModalOptions {
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ModalOptions, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ModalOptions }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ModalOptions, decorators: [{
|
|
16
|
+
type: Injectable
|
|
17
|
+
}] });
|
|
18
|
+
/**
|
|
19
|
+
* Default option values.
|
|
20
|
+
*/
|
|
21
|
+
export const modalConfigDefaults = {
|
|
22
|
+
backdrop: true,
|
|
23
|
+
keyboard: true,
|
|
24
|
+
show: false,
|
|
25
|
+
ignoreBackdropClick: false,
|
|
26
|
+
class: '',
|
|
27
|
+
animated: true,
|
|
28
|
+
initialState: {},
|
|
29
|
+
closeInterceptor: void 0,
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Use this injection token to set global options.
|
|
33
|
+
*/
|
|
34
|
+
export const MODAL_CONFIG_DEFAULT_OVERRIDE = new InjectionToken('override-default-config');
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtb3B0aW9ucy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1zZXJ2aWNlL21vZGFsLW9wdGlvbnMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQWtCLE1BQU0sZUFBZSxDQUFDOztBQUUzRTs7Ozs7OztHQU9HO0FBRUgsTUFBTSxPQUFPLFlBQVk7OEdBQVosWUFBWTtrSEFBWixZQUFZOzsyRkFBWixZQUFZO2tCQUR4QixVQUFVOztBQTJEWDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFpQjtJQUMvQyxRQUFRLEVBQUUsSUFBSTtJQUNkLFFBQVEsRUFBRSxJQUFJO0lBQ2QsSUFBSSxFQUFFLEtBQUs7SUFDWCxtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLEtBQUssRUFBRSxFQUFFO0lBQ1QsUUFBUSxFQUFFLElBQUk7SUFDZCxZQUFZLEVBQUUsRUFBRTtJQUNoQixnQkFBZ0IsRUFBRSxLQUFLLENBQUM7Q0FDekIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQWlDLElBQUksY0FBYyxDQUFlLHlCQUF5QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgU3RhdGljUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBNb2RhbHMgb3B0aW9uIGNhbiBiZSBwYXNzZWQgdG8gYSBzcGVjaWZpYyBtb2RhbCBmcm9tIHtAbGluayBNb2RhbFNlcnZpY2Uuc2hvd30gb3JcbiAqIHNldCBnbG9iYmFseSB1c2luZyB0aGUgaW5qZWN0aW9uIHRva2VuIHtAbGluayBNT0RBTF9DT05GSUdfREVGQVVMVF9PVkVSUklERX0uXG4gKiBAcmVtYXJrc1xuICogTW9kYWwgc3BlY2lmaWMgb3B0aW9ucyBhcmUgbWVyZ2VkIHdpdGggZ2xvYmFsIG9wdGlvbnMuXG4gKiBAc2VlIHtAbGluayBtb2RhbENvbmZpZ0RlZmF1bHRzfSBmb3IgZGVmYXVsdHMuXG4gKiBAcHVibGljXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbE9wdGlvbnM8VCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gIC8qKlxuICAgKiAgSWQgZm9yIG9wZW5lZCBtb2RhbC4gSWYgbm90IHNldCBhIHJhbmRvbSBvbmUgaXMgZ2VuZXJhdGVkLlxuICAgKi9cbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZiBzdGF0aWMgaXMgc2V0IHRoZSBtb2RhbCB3aWxsIG5vdCBjbG9zZSB3aGVuIGNsaWNraW5nIG91dHNpZGUgb2YgbW9kYWwuXG4gICAqIEByZW1hcmtzXG4gICAqIEtleWJvYXJkIGV2ZW50IChlc2NhcGUga2V5KSBzdGlsbHMgYXBwbGllcy4gSWYgeW91IG11c3QgZ2V0IGEgcmVzdWx0IHRoZW4gYWxzbyBzZXQga2V5Ym9hcmQgdG8gZmFsc2UuXG4gICAqL1xuICBiYWNrZHJvcD86IGJvb2xlYW4gfCAnc3RhdGljJztcbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbW9kYWwgd2hlbiBlc2NhcGUga2V5IGlzIHByZXNzZWQuXG4gICAqL1xuICBrZXlib2FyZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTaG93cyB0aGUgbW9kYWwgd2hlbiBpbml0aWFsaXplZC5cbiAgICovXG4gIHNob3c/OiBib29sZWFuO1xuICAvKipcbiAgICogSWdub3JlIHRoZSBiYWNrZHJvcCBjbGljay4gUHJldHR5IG11Y2ggdGhlIHNhbWUgYXMgYmFja2Ryb3Agc3RhdGljLlxuICAgKi9cbiAgaWdub3JlQmFja2Ryb3BDbGljaz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDc3MgY2xhc3MgZm9yIG9wZW5lZCBtb2RhbC5cbiAgICovXG4gIGNsYXNzPzogc3RyaW5nO1xuICAvKipcbiAgICogVG9nZ2xlIGFuaW1hdGlvbi5cbiAgICovXG4gIGFuaW1hdGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE1vZGFsIGluaXRpYWwgZGF0YS5cbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBkYXRhIG11c3QgYmUga25vd24gcHJvcGVydGllcyBvZiBjb250ZW50IGNvbXBvbmVudC5cbiAgICovXG4gIGluaXRpYWxTdGF0ZT86IFBhcnRpYWw8VD47XG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBpbnRlcmNlcHQgdGhlIGNsb3N1cmUuXG4gICAqIEByZW1hcmtzXG4gICAqIFlvdSBjYW4gdXNlIHRvIGNhdGNoIHRoZSBjbG9zZSBldmVudCBhbmQgZXZlbiBwcmV2ZW50IGl0IGZyb20gY2xvc2luZy5cbiAgICovXG4gIGNsb3NlSW50ZXJjZXB0b3I/OiBDbG9zZUludGVyY2VwdG9yRm47XG4gIC8qKlxuICAgKiBNb2RhbCBzdGF0aWMgcHJvdmlkZXJzLlxuICAgKiBAc2VlIHtAbGluayBodHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvZ2xvc3NhcnkjZGktdG9rZW4gfCBJbmplY3Rpb24gVG9rZW59XG4gICAqL1xuICBwcm92aWRlcnM/OiBTdGF0aWNQcm92aWRlcltdO1xuICAvKipcbiAgICogYXJpYS1sYWJlbGxlZGJ5IGF0dHJpYnV0ZSB2YWx1ZSB0byBzZXQgb24gdGhlIG1vZGFsIHdpbmRvdy5cbiAgICovXG4gIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuICAvKipcbiAgICogYXJpYS1kZXNjcmliZWRieSBhdHRyaWJ1dGUgdmFsdWUgdG8gc2V0IG9uIHRoZSBtb2RhbCB3aW5kb3cuXG4gICAqL1xuICBhcmlhRGVzY3JpYmVkYnk/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVmYXVsdCBvcHRpb24gdmFsdWVzLlxuICovXG5leHBvcnQgY29uc3QgbW9kYWxDb25maWdEZWZhdWx0czogTW9kYWxPcHRpb25zID0ge1xuICBiYWNrZHJvcDogdHJ1ZSxcbiAga2V5Ym9hcmQ6IHRydWUsXG4gIHNob3c6IGZhbHNlLFxuICBpZ25vcmVCYWNrZHJvcENsaWNrOiBmYWxzZSxcbiAgY2xhc3M6ICcnLFxuICBhbmltYXRlZDogdHJ1ZSxcbiAgaW5pdGlhbFN0YXRlOiB7fSxcbiAgY2xvc2VJbnRlcmNlcHRvcjogdm9pZCAwLFxufTtcblxuLyoqXG4gKiBVc2UgdGhpcyBpbmplY3Rpb24gdG9rZW4gdG8gc2V0IGdsb2JhbCBvcHRpb25zLlxuICovXG5leHBvcnQgY29uc3QgTU9EQUxfQ09ORklHX0RFRkFVTFRfT1ZFUlJJREU6IEluamVjdGlvblRva2VuPE1vZGFsT3B0aW9ucz4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TW9kYWxPcHRpb25zPignb3ZlcnJpZGUtZGVmYXVsdC1jb25maWcnKTtcblxuLyoqXG4gKiBDbG9zZSBpbnRlcmNlcHRvciBwcm9taXNlLlxuICovXG5leHBvcnQgdHlwZSBDbG9zZUludGVyY2VwdG9yRm4gPSAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuIl19
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { animationTime, cssClassNames } from './modal-styles.class';
|
|
5
|
+
import { ModalBackdropComponent } from './modal-backdrop-component';
|
|
6
|
+
import { ModalContainerComponent } from './modal-container-component';
|
|
7
|
+
import { modalConfigDefaults, ModalOptions, MODAL_CONFIG_DEFAULT_OVERRIDE } from './modal-options.class';
|
|
8
|
+
import { Modal } from './modal.class';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../component-loader/component-loader.factory";
|
|
11
|
+
import * as i2 from "./modal-options.class";
|
|
12
|
+
/**
|
|
13
|
+
* A service for using modals.
|
|
14
|
+
*
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export class ModalService {
|
|
18
|
+
constructor(clf, rendererFactory, document, modalDefaultOption) {
|
|
19
|
+
this.clf = clf;
|
|
20
|
+
this.document = document;
|
|
21
|
+
this.onBeforeShow = new Subject();
|
|
22
|
+
this.onShown = new Subject();
|
|
23
|
+
this.onBeforeHide = new Subject();
|
|
24
|
+
this.onHidden = new Subject();
|
|
25
|
+
this.loaders = [];
|
|
26
|
+
this.modalsCount = 0;
|
|
27
|
+
this.initialPadding = '0px';
|
|
28
|
+
this.backdropLoader = this.clf.createLoader();
|
|
29
|
+
this.defaultConfig = { ...modalConfigDefaults, ...modalDefaultOption };
|
|
30
|
+
this.renderer = rendererFactory.createRenderer(null, null);
|
|
31
|
+
}
|
|
32
|
+
ngOnDestroy() {
|
|
33
|
+
this.loaders.forEach((loader) => loader.instance?.hide());
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Opens a new modal.
|
|
37
|
+
*
|
|
38
|
+
* @param content - `Component` or `TemplateRef` type.
|
|
39
|
+
* @param config - Specific {@link ModalOptions | options} for this modal. Global and specific options are merged.
|
|
40
|
+
* @returns An instance of {@link Modal}
|
|
41
|
+
*/
|
|
42
|
+
show(content, config) {
|
|
43
|
+
this.modalsCount++;
|
|
44
|
+
const combinedConfig = { ...this.defaultConfig, ...config };
|
|
45
|
+
combinedConfig.id = config?.id || new Date().getUTCMilliseconds();
|
|
46
|
+
console.log('show', combinedConfig);
|
|
47
|
+
this.createLoaders();
|
|
48
|
+
this.addBodyPadding();
|
|
49
|
+
if (this.modalsCount === 1) {
|
|
50
|
+
this.renderer.addClass(this.document.body, cssClassNames.modalOpen);
|
|
51
|
+
}
|
|
52
|
+
this.showBackdrop(combinedConfig);
|
|
53
|
+
return this.showModal(content, combinedConfig);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Hide an active modal.
|
|
57
|
+
* @param id - Id of modal to hide. If not provided all active modals are hidden.
|
|
58
|
+
* @param result - A result to be sent to observers.
|
|
59
|
+
*/
|
|
60
|
+
hide(id, result) {
|
|
61
|
+
if (this.modalsCount === 1 || id == null) {
|
|
62
|
+
this.hideBackdrop();
|
|
63
|
+
this.revertScrollbar();
|
|
64
|
+
this.renderer.removeClass(this.document.body, cssClassNames.modalOpen);
|
|
65
|
+
}
|
|
66
|
+
this.modalsCount = this.modalsCount >= 1 && id != null ? this.modalsCount - 1 : 0;
|
|
67
|
+
setTimeout(() => {
|
|
68
|
+
this.hideModal(id, result);
|
|
69
|
+
this.removeLoaders(id);
|
|
70
|
+
},
|
|
71
|
+
//Bug
|
|
72
|
+
//Should use combined config but for the moment is not possible to pass it this parameter.
|
|
73
|
+
//If config is an instance variable then every newly opened modal will override the config
|
|
74
|
+
//resulting in opened modals to get a new configuration
|
|
75
|
+
this.defaultConfig.animated ? animationTime.backdrop : 0);
|
|
76
|
+
}
|
|
77
|
+
getActiveModal() {
|
|
78
|
+
return this.loaders[this.modalsCount - 1].instance;
|
|
79
|
+
}
|
|
80
|
+
showModal(content, combinedConfig) {
|
|
81
|
+
const modalLoader = this.loaders[this.loaders.length - 1];
|
|
82
|
+
if (combinedConfig && combinedConfig.providers) {
|
|
83
|
+
combinedConfig.providers.forEach((provider) => modalLoader.provide(provider));
|
|
84
|
+
}
|
|
85
|
+
const modal = new Modal();
|
|
86
|
+
const modalContainerRef = modalLoader
|
|
87
|
+
.provide({ provide: ModalOptions, useValue: combinedConfig })
|
|
88
|
+
.provide({ provide: Modal, useValue: modal })
|
|
89
|
+
.attach(ModalContainerComponent)
|
|
90
|
+
.to('body');
|
|
91
|
+
modal.setClass = (newClass) => {
|
|
92
|
+
if (modalContainerRef.instance) {
|
|
93
|
+
modalContainerRef.instance.config.class = newClass;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
modal.onBeforeHide = new Subject();
|
|
97
|
+
modal.onHidden = new Subject();
|
|
98
|
+
this.copyEvent(modalLoader.onBeforeHide, modal.onBeforeHide);
|
|
99
|
+
this.copyEvent(modalLoader.onHidden, modal.onHidden);
|
|
100
|
+
modalContainerRef.show({
|
|
101
|
+
content,
|
|
102
|
+
animationsEnabled: combinedConfig.animated,
|
|
103
|
+
initialState: combinedConfig.initialState,
|
|
104
|
+
modalService: this,
|
|
105
|
+
id: combinedConfig.id,
|
|
106
|
+
});
|
|
107
|
+
if (modalContainerRef.instance) {
|
|
108
|
+
modalContainerRef.instance.level = this.modalsCount;
|
|
109
|
+
modal.content = modalLoader.getInnerComponent();
|
|
110
|
+
modal.id = modalContainerRef.instance.config?.id;
|
|
111
|
+
modal.hide = (res) => modalContainerRef.instance?.hide(res);
|
|
112
|
+
}
|
|
113
|
+
return modal;
|
|
114
|
+
}
|
|
115
|
+
hideModal(id, result) {
|
|
116
|
+
if (id != null) {
|
|
117
|
+
const indexToRemove = this.loaders.findIndex((loader) => loader.instance?.config.id === id);
|
|
118
|
+
const modalLoader = this.loaders[indexToRemove];
|
|
119
|
+
if (modalLoader) {
|
|
120
|
+
modalLoader.hide(id, result);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
this.loaders.forEach((loader) => {
|
|
125
|
+
if (loader.instance) {
|
|
126
|
+
loader.hide(loader.instance.config.id);
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
showBackdrop(combinedConfig) {
|
|
132
|
+
const isBackdropEnabled = combinedConfig.backdrop === true || combinedConfig.backdrop === 'static';
|
|
133
|
+
const isBackdropInDOM = this.backdropRef != null;
|
|
134
|
+
if (isBackdropEnabled && !isBackdropInDOM) {
|
|
135
|
+
this.backdropLoader
|
|
136
|
+
.attach(ModalBackdropComponent)
|
|
137
|
+
.to('body')
|
|
138
|
+
.show({ animationsEnabled: combinedConfig.animated, backdropLoader: this.backdropLoader });
|
|
139
|
+
this.backdropRef = this.backdropLoader.componentRef;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
hideBackdrop() {
|
|
143
|
+
if (!this.backdropRef) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
this.backdropRef.instance.hide();
|
|
147
|
+
this.backdropRef = void 0;
|
|
148
|
+
}
|
|
149
|
+
removeLoaders(id) {
|
|
150
|
+
if (id != null) {
|
|
151
|
+
const indexToRemove = this.loaders.findIndex((loader) => loader.instance?.config.id === id);
|
|
152
|
+
if (indexToRemove >= 0) {
|
|
153
|
+
this.loaders.splice(indexToRemove, 1);
|
|
154
|
+
this.loaders.forEach((loader, i) => {
|
|
155
|
+
if (loader.instance) {
|
|
156
|
+
loader.instance.level = i + 1;
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
this.loaders.splice(0, this.loaders.length);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
addBodyPadding() {
|
|
166
|
+
if (this.modalsCount === 1) {
|
|
167
|
+
const width = this.getScrollbarWidth();
|
|
168
|
+
if (this.isScrollBarPresent(width)) {
|
|
169
|
+
this.initialPadding = this.document.body.style.paddingRight;
|
|
170
|
+
const actualPadding = parseFloat(window.getComputedStyle(this.document.body).paddingRight);
|
|
171
|
+
this.document.body.style.paddingRight = `${actualPadding + width}px`;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
revertScrollbar() {
|
|
176
|
+
this.document.body.style.paddingRight = this.initialPadding;
|
|
177
|
+
}
|
|
178
|
+
getScrollbarWidth() {
|
|
179
|
+
const measurer = this.document.createElement('div');
|
|
180
|
+
measurer.className = 'modal-scrollbar-measure';
|
|
181
|
+
const body = this.document.body;
|
|
182
|
+
body.appendChild(measurer);
|
|
183
|
+
const width = measurer.getBoundingClientRect().width - measurer.clientWidth;
|
|
184
|
+
body.removeChild(measurer);
|
|
185
|
+
return width;
|
|
186
|
+
}
|
|
187
|
+
isScrollBarPresent(scrollbarWidth) {
|
|
188
|
+
const rect = this.document.body.getBoundingClientRect();
|
|
189
|
+
const bodyToViewportGap = window.innerWidth - (rect.left + rect.right);
|
|
190
|
+
const uncertainty = 0.1 * scrollbarWidth;
|
|
191
|
+
return bodyToViewportGap >= scrollbarWidth - uncertainty;
|
|
192
|
+
}
|
|
193
|
+
createLoaders() {
|
|
194
|
+
const loader = this.clf.createLoader();
|
|
195
|
+
this.copyEvent(loader.onBeforeShow, this.onBeforeShow);
|
|
196
|
+
this.copyEvent(loader.onShown, this.onShown);
|
|
197
|
+
this.copyEvent(loader.onBeforeHide, this.onBeforeHide);
|
|
198
|
+
this.copyEvent(loader.onHidden, this.onHidden);
|
|
199
|
+
this.loaders.push(loader);
|
|
200
|
+
}
|
|
201
|
+
copyEvent(from, to) {
|
|
202
|
+
from.subscribe((data) => {
|
|
203
|
+
to.next(data);
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ModalService, deps: [{ token: i1.ComponentLoaderFactory }, { token: i0.RendererFactory2 }, { token: DOCUMENT }, { token: MODAL_CONFIG_DEFAULT_OVERRIDE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
207
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ModalService }); }
|
|
208
|
+
}
|
|
209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ModalService, decorators: [{
|
|
210
|
+
type: Injectable
|
|
211
|
+
}], ctorParameters: () => [{ type: i1.ComponentLoaderFactory }, { type: i0.RendererFactory2 }, { type: undefined, decorators: [{
|
|
212
|
+
type: Inject,
|
|
213
|
+
args: [DOCUMENT]
|
|
214
|
+
}] }, { type: i2.ModalOptions, decorators: [{
|
|
215
|
+
type: Optional
|
|
216
|
+
}, {
|
|
217
|
+
type: Inject,
|
|
218
|
+
args: [MODAL_CONFIG_DEFAULT_OVERRIDE]
|
|
219
|
+
}] }] });
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1zZXJ2aWNlL21vZGFsLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBZ0IsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQTRDLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLDZCQUE2QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUd0Qzs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLFlBQVk7SUFhdkIsWUFDVSxHQUEyQixFQUNuQyxlQUFpQyxFQUNQLFFBQWEsRUFDWSxrQkFBZ0M7UUFIM0UsUUFBRyxHQUFILEdBQUcsQ0FBd0I7UUFFVCxhQUFRLEdBQVIsUUFBUSxDQUFLO1FBZmpDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3QixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN4QixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDN0IsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFLekIsWUFBTyxHQUErQyxFQUFFLENBQUM7UUFFekQsZ0JB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QUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVPLFNBQVMsQ0FBQyxJQUFzQixFQUFFLEVBQW9CO1FBQzVELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0QixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0EzTlUsWUFBWSx3RkFnQmIsUUFBUSxhQUNJLDZCQUE2QjtrSEFqQnhDLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVU7OzBCQWlCTixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudExvYWRlciB9IGZyb20gJy4uL2NvbXBvbmVudC1sb2FkZXIvY29tcG9uZW50LWxvYWRlci5jbGFzcyc7XG5pbXBvcnQgeyBhbmltYXRpb25UaW1lLCBjc3NDbGFzc05hbWVzIH0gZnJvbSAnLi9tb2RhbC1zdHlsZXMuY2xhc3MnO1xuaW1wb3J0IHsgTW9kYWxCYWNrZHJvcENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtYmFja2Ryb3AtY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1jb250YWluZXItY29tcG9uZW50JztcbmltcG9ydCB7IG1vZGFsQ29uZmlnRGVmYXVsdHMsIE1vZGFsT3B0aW9ucywgTU9EQUxfQ09ORklHX0RFRkFVTFRfT1ZFUlJJREUgfSBmcm9tICcuL21vZGFsLW9wdGlvbnMuY2xhc3MnO1xuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICcuL21vZGFsLmNsYXNzJztcbmltcG9ydCB7IENvbXBvbmVudExvYWRlckZhY3RvcnkgfSBmcm9tICcuLi9jb21wb25lbnQtbG9hZGVyL2NvbXBvbmVudC1sb2FkZXIuZmFjdG9yeSc7XG5cbi8qKlxuICogQSBzZXJ2aWNlIGZvciB1c2luZyBtb2RhbHMuXG4gKlxuICogQHB1YmxpY1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW9kYWxTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBvbkJlZm9yZVNob3cgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIG9uU2hvd24gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIG9uQmVmb3JlSGlkZSA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgb25IaWRkZW4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgYmFja2Ryb3BSZWY/OiBDb21wb25lbnRSZWY8TW9kYWxCYWNrZHJvcENvbXBvbmVudD47XG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZzogTW9kYWxPcHRpb25zO1xuICBwcml2YXRlIGJhY2tkcm9wTG9hZGVyOiBDb21wb25lbnRMb2FkZXI8TW9kYWxCYWNrZHJvcENvbXBvbmVudD47XG4gIHByaXZhdGUgbG9hZGVyczogQ29tcG9uZW50TG9hZGVyPE1vZGFsQ29udGFpbmVyQ29tcG9uZW50PltdID0gW107XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgcHJpdmF0ZSBtb2RhbHNDb3VudCA9IDA7XG4gIHByaXZhdGUgaW5pdGlhbFBhZGRpbmcgPSAnMHB4JztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjbGY6IENvbXBvbmVudExvYWRlckZhY3RvcnksXG4gICAgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1PREFMX0NPTkZJR19ERUZBVUxUX09WRVJSSURFKSBtb2RhbERlZmF1bHRPcHRpb246IE1vZGFsT3B0aW9uc1xuICApIHtcbiAgICB0aGlzLmJhY2tkcm9wTG9hZGVyID0gdGhpcy5jbGYuY3JlYXRlTG9hZGVyPE1vZGFsQmFja2Ryb3BDb21wb25lbnQ+KCk7XG4gICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi5tb2RhbENvbmZpZ0RlZmF1bHRzLCAuLi5tb2RhbERlZmF1bHRPcHRpb24gfTtcbiAgICB0aGlzLnJlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkZXJzLmZvckVhY2goKGxvYWRlcikgPT4gbG9hZGVyLmluc3RhbmNlPy5oaWRlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgbmV3IG1vZGFsLlxuICAgKlxuICAgKiBAcGFyYW0gY29udGVudCAtIGBDb21wb25lbnRgIG9yIGBUZW1wbGF0ZVJlZmAgdHlwZS5cbiAgICogQHBhcmFtIGNvbmZpZyAtIFNwZWNpZmljIHtAbGluayBNb2RhbE9wdGlvbnMgfCBvcHRpb25zfSAgZm9yIHRoaXMgbW9kYWwuIEdsb2JhbCBhbmQgc3BlY2lmaWMgb3B0aW9ucyBhcmUgbWVyZ2VkLlxuICAgKiBAcmV0dXJucyBBbiBpbnN0YW5jZSBvZiB7QGxpbmsgTW9kYWx9XG4gICAqL1xuICBwdWJsaWMgc2hvdzxUPihjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgeyBuZXcgKC4uLmFyZ3M6IGFueVtdKTogVCB9LCBjb25maWc/OiBNb2RhbE9wdGlvbnM8VD4pIHtcbiAgICB0aGlzLm1vZGFsc0NvdW50Kys7XG4gICAgY29uc3QgY29tYmluZWRDb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH07XG4gICAgY29tYmluZWRDb25maWcuaWQgPSBjb25maWc/LmlkIHx8IG5ldyBEYXRlKCkuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7XG4gICAgY29uc29sZS5sb2coJ3Nob3cnLCBjb21iaW5lZENvbmZpZyk7XG4gICAgdGhpcy5jcmVhdGVMb2FkZXJzKCk7XG5cbiAgICB0aGlzLmFkZEJvZHlQYWRkaW5nKCk7XG4gICAgaWYgKHRoaXMubW9kYWxzQ291bnQgPT09IDEpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCBjc3NDbGFzc05hbWVzLm1vZGFsT3Blbik7XG4gICAgfVxuICAgIHRoaXMuc2hvd0JhY2tkcm9wKGNvbWJpbmVkQ29uZmlnKTtcbiAgICByZXR1cm4gdGhpcy5zaG93TW9kYWw8VD4oY29udGVudCwgY29tYmluZWRDb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgYW4gYWN0aXZlIG1vZGFsLlxuICAgKiBAcGFyYW0gaWQgLSBJZCBvZiBtb2RhbCB0byBoaWRlLiBJZiBub3QgcHJvdmlkZWQgYWxsIGFjdGl2ZSBtb2RhbHMgYXJlIGhpZGRlbi5cbiAgICogQHBhcmFtIHJlc3VsdCAtIEEgcmVzdWx0IHRvIGJlIHNlbnQgdG8gb2JzZXJ2ZXJzLlxuICAgKi9cbiAgcHVibGljIGhpZGUoaWQ/OiBudW1iZXIgfCBzdHJpbmcsIHJlc3VsdD86IGFueSkge1xuICAgIGlmICh0aGlzLm1vZGFsc0NvdW50ID09PSAxIHx8IGlkID09IG51bGwpIHtcbiAgICAgIHRoaXMuaGlkZUJhY2tkcm9wKCk7XG4gICAgICB0aGlzLnJldmVydFNjcm9sbGJhcigpO1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksIGNzc0NsYXNzTmFtZXMubW9kYWxPcGVuKTtcbiAgICB9XG4gICAgdGhpcy5tb2RhbHNDb3VudCA9IHRoaXMubW9kYWxzQ291bnQgPj0gMSAmJiBpZCAhPSBudWxsID8gdGhpcy5tb2RhbHNDb3VudCAtIDEgOiAwO1xuICAgIHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuaGlkZU1vZGFsKGlkLCByZXN1bHQpO1xuICAgICAgICB0aGlzLnJlbW92ZUxvYWRlcnMoaWQpO1xuICAgICAgfSxcbiAgICAgIC8vQnVnXG4gICAgICAvL1Nob3VsZCB1c2UgY29tYmluZWQgY29uZmlnIGJ1dCBmb3IgdGhlIG1vbWVudCBpcyBub3QgcG9zc2libGUgdG8gcGFzcyBpdCB0aGlzIHBhcmFtZXRlci5cbiAgICAgIC8vSWYgY29uZmlnIGlzIGFuIGluc3RhbmNlIHZhcmlhYmxlIHRoZW4gZXZlcnkgbmV3bHkgb3BlbmVkIG1vZGFsIHdpbGwgb3ZlcnJpZGUgdGhlIGNvbmZpZ1xuICAgICAgLy9yZXN1bHRpbmcgaW4gb3BlbmVkIG1vZGFscyB0byBnZXQgYSBuZXcgY29uZmlndXJhdGlvblxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmFuaW1hdGVkID8gYW5pbWF0aW9uVGltZS5iYWNrZHJvcCA6IDBcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGl2ZU1vZGFsKCk6IE1vZGFsQ29udGFpbmVyQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5sb2FkZXJzW3RoaXMubW9kYWxzQ291bnQgLSAxXS5pbnN0YW5jZSBhcyBNb2RhbENvbnRhaW5lckNvbXBvbmVudDtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd01vZGFsPFQ+KGNvbnRlbnQ6IGFueSwgY29tYmluZWRDb25maWc6IE1vZGFsT3B0aW9ucyk6IE1vZGFsPFQ+IHtcbiAgICBjb25zdCBtb2RhbExvYWRlciA9IHRoaXMubG9hZGVyc1t0aGlzLmxvYWRlcnMubGVuZ3RoIC0gMV07XG4gICAgaWYgKGNvbWJpbmVkQ29uZmlnICYmIGNvbWJpbmVkQ29uZmlnLnByb3ZpZGVycykge1xuICAgICAgY29tYmluZWRDb25maWcucHJvdmlkZXJzLmZvckVhY2goKHByb3ZpZGVyKSA9PiBtb2RhbExvYWRlci5wcm92aWRlKHByb3ZpZGVyKSk7XG4gICAgfVxuXG4gICAgY29uc3QgbW9kYWwgPSBuZXcgTW9kYWw8YW55PigpO1xuICAgIGNvbnN0IG1vZGFsQ29udGFpbmVyUmVmID0gbW9kYWxMb2FkZXJcbiAgICAgIC5wcm92aWRlKHsgcHJvdmlkZTogTW9kYWxPcHRpb25zLCB1c2VWYWx1ZTogY29tYmluZWRDb25maWcgfSlcbiAgICAgIC5wcm92aWRlKHsgcHJvdmlkZTogTW9kYWwsIHVzZVZhbHVlOiBtb2RhbCB9KVxuICAgICAgLmF0dGFjaChNb2RhbENvbnRhaW5lckNvbXBvbmVudClcbiAgICAgIC50bygnYm9keScpO1xuXG4gICAgbW9kYWwuc2V0Q2xhc3MgPSAobmV3Q2xhc3M6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKG1vZGFsQ29udGFpbmVyUmVmLmluc3RhbmNlKSB7XG4gICAgICAgIG1vZGFsQ29udGFpbmVyUmVmLmluc3RhbmNlLmNvbmZpZy5jbGFzcyA9IG5ld0NsYXNzO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBtb2RhbC5vbkJlZm9yZUhpZGUgPSBuZXcgU3ViamVjdCgpO1xuICAgIG1vZGFsLm9uSGlkZGVuID0gbmV3IFN1YmplY3QoKTtcbiAgICB0aGlzLmNvcHlFdmVudChtb2RhbExvYWRlci5vbkJlZm9yZUhpZGUsIG1vZGFsLm9uQmVmb3JlSGlkZSk7XG4gICAgdGhpcy5jb3B5RXZlbnQobW9kYWxMb2FkZXIub25IaWRkZW4sIG1vZGFsLm9uSGlkZGVuKTtcbiAgICBtb2RhbENvbnRhaW5lclJlZi5zaG93KHtcbiAgICAgIGNvbnRlbnQsXG4gICAgICBhbmltYXRpb25zRW5hYmxlZDogY29tYmluZWRDb25maWcuYW5pbWF0ZWQsXG4gICAgICBpbml0aWFsU3RhdGU6IGNvbWJpbmVkQ29uZmlnLmluaXRpYWxTdGF0ZSxcbiAgICAgIG1vZGFsU2VydmljZTogdGhpcyxcbiAgICAgIGlkOiBjb21iaW5lZENvbmZpZy5pZCxcbiAgICB9KTtcblxuICAgIGlmIChtb2RhbENvbnRhaW5lclJlZi5pbnN0YW5jZSkge1xuICAgICAgbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2UubGV2ZWwgPSB0aGlzLm1vZGFsc0NvdW50O1xuICAgICAgbW9kYWwuY29udGVudCA9IG1vZGFsTG9hZGVyLmdldElubmVyQ29tcG9uZW50KCk7XG4gICAgICBtb2RhbC5pZCA9IG1vZGFsQ29udGFpbmVyUmVmLmluc3RhbmNlLmNvbmZpZz8uaWQ7XG4gICAgICBtb2RhbC5oaWRlID0gKHJlcykgPT4gbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2U/LmhpZGUocmVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbW9kYWw7XG4gIH1cblxuICBwcml2YXRlIGhpZGVNb2RhbChpZD86IG51bWJlciB8IHN0cmluZywgcmVzdWx0PzogYW55KTogdm9pZCB7XG4gICAgaWYgKGlkICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGluZGV4VG9SZW1vdmUgPSB0aGlzLmxvYWRlcnMuZmluZEluZGV4KChsb2FkZXIpID0+IGxvYWRlci5pbnN0YW5jZT8uY29uZmlnLmlkID09PSBpZCk7XG4gICAgICBjb25zdCBtb2RhbExvYWRlciA9IHRoaXMubG9hZGVyc1tpbmRleFRvUmVtb3ZlXTtcbiAgICAgIGlmIChtb2RhbExvYWRlcikge1xuICAgICAgICBtb2RhbExvYWRlci5oaWRlKGlkLCByZXN1bHQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvYWRlcnMuZm9yRWFjaCgobG9hZGVyOiBDb21wb25lbnRMb2FkZXI8TW9kYWxDb250YWluZXJDb21wb25lbnQ+KSA9PiB7XG4gICAgICAgIGlmIChsb2FkZXIuaW5zdGFuY2UpIHtcbiAgICAgICAgICBsb2FkZXIuaGlkZShsb2FkZXIuaW5zdGFuY2UuY29uZmlnLmlkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzaG93QmFja2Ryb3AoY29tYmluZWRDb25maWc6IE1vZGFsT3B0aW9ucyk6IHZvaWQge1xuICAgIGNvbnN0IGlzQmFja2Ryb3BFbmFibGVkID0gY29tYmluZWRDb25maWcuYmFja2Ryb3AgPT09IHRydWUgfHwgY29tYmluZWRDb25maWcuYmFja2Ryb3AgPT09ICdzdGF0aWMnO1xuICAgIGNvbnN0IGlzQmFja2Ryb3BJbkRPTSA9IHRoaXMuYmFja2Ryb3BSZWYgIT0gbnVsbDtcbiAgICBpZiAoaXNCYWNrZHJvcEVuYWJsZWQgJiYgIWlzQmFja2Ryb3BJbkRPTSkge1xuICAgICAgdGhpcy5iYWNrZHJvcExvYWRlclxuICAgICAgICAuYXR0YWNoKE1vZGFsQmFja2Ryb3BDb21wb25lbnQpXG4gICAgICAgIC50bygnYm9keScpXG4gICAgICAgIC5zaG93KHsgYW5pbWF0aW9uc0VuYWJsZWQ6IGNvbWJpbmVkQ29uZmlnLmFuaW1hdGVkLCBiYWNrZHJvcExvYWRlcjogdGhpcy5iYWNrZHJvcExvYWRlciB9KTtcbiAgICAgIHRoaXMuYmFja2Ryb3BSZWYgPSB0aGlzLmJhY2tkcm9wTG9hZGVyLmNvbXBvbmVudFJlZjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhpZGVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYmFja2Ryb3BSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5iYWNrZHJvcFJlZi5pbnN0YW5jZS5oaWRlKCk7XG4gICAgdGhpcy5iYWNrZHJvcFJlZiA9IHZvaWQgMDtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTG9hZGVycyhpZD86IG51bWJlciB8IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpZCAhPSBudWxsKSB7XG4gICAgICBjb25zdCBpbmRleFRvUmVtb3ZlID0gdGhpcy5sb2FkZXJzLmZpbmRJbmRleCgobG9hZGVyKSA9PiBsb2FkZXIuaW5zdGFuY2U/LmNvbmZpZy5pZCA9PT0gaWQpO1xuICAgICAgaWYgKGluZGV4VG9SZW1vdmUgPj0gMCkge1xuICAgICAgICB0aGlzLmxvYWRlcnMuc3BsaWNlKGluZGV4VG9SZW1vdmUsIDEpO1xuICAgICAgICB0aGlzLmxvYWRlcnMuZm9yRWFjaCgobG9hZGVyOiBDb21wb25lbnRMb2FkZXI8TW9kYWxDb250YWluZXJDb21wb25lbnQ+LCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgICBpZiAobG9hZGVyLmluc3RhbmNlKSB7XG4gICAgICAgICAgICBsb2FkZXIuaW5zdGFuY2UubGV2ZWwgPSBpICsgMTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvYWRlcnMuc3BsaWNlKDAsIHRoaXMubG9hZGVycy5sZW5ndGgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkQm9keVBhZGRpbmcoKSB7XG4gICAgaWYgKHRoaXMubW9kYWxzQ291bnQgPT09IDEpIHtcbiAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5nZXRTY3JvbGxiYXJXaWR0aCgpO1xuICAgICAgaWYgKHRoaXMuaXNTY3JvbGxCYXJQcmVzZW50KHdpZHRoKSkge1xuICAgICAgICB0aGlzLmluaXRpYWxQYWRkaW5nID0gdGhpcy5kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodDtcbiAgICAgICAgY29uc3QgYWN0dWFsUGFkZGluZyA9IHBhcnNlRmxvYXQod2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5KS5wYWRkaW5nUmlnaHQpO1xuICAgICAgICB0aGlzLmRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID0gYCR7YWN0dWFsUGFkZGluZyArIHdpZHRofXB4YDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJldmVydFNjcm9sbGJhcigpIHtcbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID0gdGhpcy5pbml0aWFsUGFkZGluZztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2Nyb2xsYmFyV2lkdGgoKTogbnVtYmVyIHtcbiAgICBjb25zdCBtZWFzdXJlciA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgbWVhc3VyZXIuY2xhc3NOYW1lID0gJ21vZGFsLXNjcm9sbGJhci1tZWFzdXJlJztcblxuICAgIGNvbnN0IGJvZHkgPSB0aGlzLmRvY3VtZW50LmJvZHk7XG4gICAgYm9keS5hcHBlbmRDaGlsZChtZWFzdXJlcik7XG4gICAgY29uc3Qgd2lkdGggPSBtZWFzdXJlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAtIG1lYXN1cmVyLmNsaWVudFdpZHRoO1xuICAgIGJvZHkucmVtb3ZlQ2hpbGQobWVhc3VyZXIpO1xuXG4gICAgcmV0dXJuIHdpZHRoO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Njcm9sbEJhclByZXNlbnQoc2Nyb2xsYmFyV2lkdGg6IG51bWJlcikge1xuICAgIGNvbnN0IHJlY3QgPSB0aGlzLmRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgYm9keVRvVmlld3BvcnRHYXAgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIChyZWN0LmxlZnQgKyByZWN0LnJpZ2h0KTtcbiAgICBjb25zdCB1bmNlcnRhaW50eSA9IDAuMSAqIHNjcm9sbGJhcldpZHRoO1xuICAgIHJldHVybiBib2R5VG9WaWV3cG9ydEdhcCA+PSBzY3JvbGxiYXJXaWR0aCAtIHVuY2VydGFpbnR5O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMb2FkZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvYWRlciA9IHRoaXMuY2xmLmNyZWF0ZUxvYWRlcjxNb2RhbENvbnRhaW5lckNvbXBvbmVudD4oKTtcbiAgICB0aGlzLmNvcHlFdmVudChsb2FkZXIub25CZWZvcmVTaG93LCB0aGlzLm9uQmVmb3JlU2hvdyk7XG4gICAgdGhpcy5jb3B5RXZlbnQobG9hZGVyLm9uU2hvd24sIHRoaXMub25TaG93bik7XG4gICAgdGhpcy5jb3B5RXZlbnQobG9hZGVyLm9uQmVmb3JlSGlkZSwgdGhpcy5vbkJlZm9yZUhpZGUpO1xuICAgIHRoaXMuY29weUV2ZW50KGxvYWRlci5vbkhpZGRlbiwgdGhpcy5vbkhpZGRlbik7XG4gICAgdGhpcy5sb2FkZXJzLnB1c2gobG9hZGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgY29weUV2ZW50KGZyb206IFN1YmplY3Q8dW5rbm93bj4sIHRvOiBTdWJqZWN0PHVua25vd24+KSB7XG4gICAgZnJvbS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRvLm5leHQoZGF0YSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export const cssClassNames = {
|
|
2
|
-
backdrop: 'modal-backdrop',
|
|
3
|
-
show: 'show',
|
|
4
|
-
fade: 'fade',
|
|
5
|
-
modalOpen: 'modal-open'
|
|
6
|
-
};
|
|
7
|
-
export const animationTime = {
|
|
8
|
-
backdrop: 150,
|
|
9
|
-
modal: 300,
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export const cssClassNames = {
|
|
2
|
+
backdrop: 'modal-backdrop',
|
|
3
|
+
show: 'show',
|
|
4
|
+
fade: 'fade',
|
|
5
|
+
modalOpen: 'modal-open'
|
|
6
|
+
};
|
|
7
|
+
export const animationTime = {
|
|
8
|
+
backdrop: 150,
|
|
9
|
+
modal: 300,
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3R5bGVzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL21vZGFsLXNlcnZpY2UvbW9kYWwtc3R5bGVzLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE1BQU07SUFDYixTQUFTLEVBQUUsWUFBWTtDQUN2QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLFFBQVEsRUFBRSxHQUFHO0lBQ2IsS0FBSyxFQUFFLEdBQUc7Q0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNzc0NsYXNzTmFtZXMgPSB7XG4gIGJhY2tkcm9wOiAnbW9kYWwtYmFja2Ryb3AnLFxuICBzaG93OiAnc2hvdycsXG4gIGZhZGU6ICdmYWRlJyxcblx0bW9kYWxPcGVuOiAnbW9kYWwtb3Blbidcbn07XG5cbmV4cG9ydCBjb25zdCBhbmltYXRpb25UaW1lID0ge1xuICBiYWNrZHJvcDogMTUwLFxuICBtb2RhbDogMzAwLFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Modal class.
|
|
5
|
+
* @remarks
|
|
6
|
+
* This is returned from {@link ModalService.show}.
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export class Modal {
|
|
10
|
+
constructor() {
|
|
11
|
+
/**
|
|
12
|
+
* Hides the modal
|
|
13
|
+
* @param result - A result to the observers.
|
|
14
|
+
*/
|
|
15
|
+
this.hide = () => void 0;
|
|
16
|
+
/**
|
|
17
|
+
* Sets new class to modal window.
|
|
18
|
+
*/
|
|
19
|
+
this.setClass = () => void 0;
|
|
20
|
+
}
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: Modal, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
22
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: Modal }); }
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: Modal, decorators: [{
|
|
25
|
+
type: Injectable
|
|
26
|
+
}] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbW9kYWwtc2VydmljZS9tb2RhbC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQzs7Ozs7R0FLRztBQUVILE1BQU0sT0FBTyxLQUFLO0lBRGxCO1FBMEJFOzs7V0FHRztRQUNILFNBQUksR0FBMkIsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUM7O1dBRUc7UUFDSCxhQUFRLEdBQStCLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3JEOzhHQWxDWSxLQUFLO2tIQUFMLEtBQUs7OzJGQUFMLEtBQUs7a0JBRGpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogTW9kYWwgY2xhc3MuXG4gKiBAcmVtYXJrc1xuICogVGhpcyBpcyByZXR1cm5lZCBmcm9tIHtAbGluayBNb2RhbFNlcnZpY2Uuc2hvd30uXG4gKiBAcHVibGljXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbDxUID0gYW55PiB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IGlzIGZpcmVkIHdoZW4gdGhlIG1vZGFsIGJlaGluZCB0aGUgcmVmIHN0YXJ0cyBoaWRpbmcuXG4gICAqIEByZXR1cm5zXG4gICAqIE1vZGFsIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICovXG4gIG9uQmVmb3JlSGlkZT86IFN1YmplY3Q8dW5rbm93bj47XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IGlzIGZpcmVkIHdoZW4gdGhlIG1vZGFsIGJlaGluZCB0aGUgcmVmIGZpbmlzaGVzIGhpZGluZy5cbiAgICogQHJldHVybnNcbiAgICogQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGlkIG9mIHRoZSBjbG9zZWQgbW9kYWwgYW5kIHJlc3VsdC5cbiAgICovXG4gIG9uSGlkZGVuPzogU3ViamVjdDx1bmtub3duPjtcbiAgLyoqXG4gICAqICBJZCBvZiB0aGlzIG1vZGFsLlxuICAgKi9cbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byBhIGNvbXBvbmVudCBpbnNpZGUgdGhlIG1vZGFsLiBOdWxsIGlmIG1vZGFsJ3MgYmVlbiBjcmVhdGVkIHdpdGggVGVtcGxhdGVSZWYuXG4gICAqIEByZW1hcmtzXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgdG8gZG8gbmFzdHkgc3R1ZmYgd2l0aCBvcGVuZWQgbW9kYWwgaW5zdGFuY2UuXG4gICAqL1xuICBjb250ZW50PzogVDtcblxuICAvKipcbiAgICogSGlkZXMgdGhlIG1vZGFsXG4gICAqIEBwYXJhbSByZXN1bHQgLSBBIHJlc3VsdCB0byB0aGUgb2JzZXJ2ZXJzLlxuICAgKi9cbiAgaGlkZTogKHJlc3VsdD86IGFueSkgPT4gdm9pZCA9ICgpID0+IHZvaWQgMDtcbiAgLyoqXG4gICAqIFNldHMgbmV3IGNsYXNzIHRvIG1vZGFsIHdpbmRvdy5cbiAgICovXG4gIHNldENsYXNzOiAobmV3Q2xhc3M6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHZvaWQgMDtcbn1cbiJdfQ==
|