@indice/ng-components 0.2.112 → 0.2.113

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/README.md +4 -4
  2. package/esm2020/indice-ng-components.mjs +5 -0
  3. package/esm2020/lib/controls/avatar-initials/avatar-initials.component.mjs +48 -0
  4. package/esm2020/lib/controls/collapsible-panel/collapsible-panel.component.mjs +20 -0
  5. package/esm2020/lib/controls/date-picker/date-picker.component.mjs +260 -0
  6. package/esm2020/lib/controls/drop-down-menu/drop-down-menu.component.mjs +68 -0
  7. package/esm2020/lib/controls/kpi-tile/kpi-tile.component.mjs +36 -0
  8. package/esm2020/lib/controls/list-view/list-column.component.mjs +25 -0
  9. package/esm2020/lib/controls/list-view/list-details-section.component.mjs +17 -0
  10. package/esm2020/lib/controls/list-view/list-tile.component.mjs +17 -0
  11. package/esm2020/lib/controls/list-view/list-view-empty-state.component.mjs +29 -0
  12. package/esm2020/lib/controls/list-view/list-view.component.mjs +184 -0
  13. package/esm2020/lib/controls/pager/pager.component.mjs +130 -0
  14. package/esm2020/lib/controls/side-pane/side-pane.component.mjs +72 -0
  15. package/esm2020/lib/controls/skeleton-loader/skeleton-loader.component.mjs +25 -0
  16. package/esm2020/lib/controls/toaster/toaster-container.component.mjs +28 -0
  17. package/esm2020/lib/controls/toaster/toaster.component.mjs +31 -0
  18. package/esm2020/lib/controls/toggle/toggle.component.mjs +64 -0
  19. package/esm2020/lib/directives/click-outside.directive.mjs +189 -0
  20. package/esm2020/lib/directives/dynamic-component-host.directive.mjs +17 -0
  21. package/esm2020/lib/helpers/base-list.component.mjs +181 -0
  22. package/{esm2015/lib/icons.js → esm2020/lib/icons.mjs} +0 -0
  23. package/esm2020/lib/layouts/shell/shell-footer/shell-footer.component.mjs +19 -0
  24. package/esm2020/lib/layouts/shell/shell-header/shell-header.component.mjs +113 -0
  25. package/esm2020/lib/layouts/shell/shell-layout/shell-layout.component.mjs +101 -0
  26. package/esm2020/lib/layouts/views/form-layout/form-layout.component.mjs +80 -0
  27. package/esm2020/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +51 -0
  28. package/esm2020/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +98 -0
  29. package/esm2020/lib/layouts/views/view-layout/view-layout.component.mjs +104 -0
  30. package/esm2020/lib/ng-components.module.mjs +215 -0
  31. package/esm2020/lib/pages/auth/auth-callback/auth-callback.component.mjs +30 -0
  32. package/esm2020/lib/pages/auth/auth-renew/auth-renew.component.mjs +31 -0
  33. package/esm2020/lib/pages/auth/logged-out/logged-out.component.mjs +28 -0
  34. package/esm2020/lib/pages/http-status/error/error.component.mjs +17 -0
  35. package/esm2020/lib/pages/http-status/page-not-found/page-not-found.component.mjs +15 -0
  36. package/esm2020/lib/pages/http-status/unauthorized/unauthorized.component.mjs +14 -0
  37. package/esm2020/lib/pipes/address.pipe.mjs +21 -0
  38. package/esm2020/lib/pipes/duration-format.pipe.mjs +64 -0
  39. package/{esm2015/lib/services/component-loader/component-loader-options.class.js → esm2020/lib/services/component-loader/component-loader-options.class.mjs} +0 -0
  40. package/esm2020/lib/services/component-loader/component-loader.class.mjs +188 -0
  41. package/esm2020/lib/services/component-loader/component-loader.factory.mjs +32 -0
  42. package/{esm2015/lib/services/component-loader/content-ref.class.js → esm2020/lib/services/component-loader/content-ref.class.mjs} +0 -0
  43. package/esm2020/lib/services/modal-service/modal-backdrop-component.mjs +44 -0
  44. package/esm2020/lib/services/modal-service/modal-container-component.mjs +126 -0
  45. package/esm2020/lib/services/modal-service/modal-options.class.mjs +34 -0
  46. package/esm2020/lib/services/modal-service/modal-service.mjs +219 -0
  47. package/{esm2015/lib/services/modal-service/modal-styles.class.js → esm2020/lib/services/modal-service/modal-styles.class.mjs} +0 -0
  48. package/esm2020/lib/services/modal-service/modal.class.mjs +27 -0
  49. package/esm2020/lib/services/toaster.service.mjs +24 -0
  50. package/{esm2015/lib/tokens.js → esm2020/lib/tokens.mjs} +0 -0
  51. package/{esm2015/lib/types.js → esm2020/lib/types.mjs} +0 -0
  52. package/esm2020/public-api.mjs +54 -0
  53. package/fesm2015/indice-ng-components.mjs +3129 -0
  54. package/fesm2015/indice-ng-components.mjs.map +1 -0
  55. package/fesm2020/indice-ng-components.mjs +3088 -0
  56. package/fesm2020/indice-ng-components.mjs.map +1 -0
  57. package/indice-ng-components.d.ts +1 -2
  58. package/lib/controls/avatar-initials/avatar-initials.component.d.ts +3 -0
  59. package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +3 -0
  60. package/lib/controls/date-picker/date-picker.component.d.ts +3 -0
  61. package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +3 -0
  62. package/lib/controls/kpi-tile/kpi-tile.component.d.ts +3 -0
  63. package/lib/controls/list-view/list-column.component.d.ts +3 -0
  64. package/lib/controls/list-view/list-details-section.component.d.ts +3 -0
  65. package/lib/controls/list-view/list-tile.component.d.ts +3 -0
  66. package/lib/controls/list-view/list-view-empty-state.component.d.ts +3 -0
  67. package/lib/controls/list-view/list-view.component.d.ts +3 -0
  68. package/lib/controls/pager/pager.component.d.ts +3 -0
  69. package/lib/controls/side-pane/side-pane.component.d.ts +3 -0
  70. package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +3 -0
  71. package/lib/controls/toaster/toaster-container.component.d.ts +3 -0
  72. package/lib/controls/toaster/toaster.component.d.ts +3 -0
  73. package/lib/controls/toggle/toggle.component.d.ts +3 -0
  74. package/lib/directives/click-outside.directive.d.ts +3 -0
  75. package/lib/directives/dynamic-component-host.directive.d.ts +3 -0
  76. package/lib/helpers/base-list.component.d.ts +3 -0
  77. package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +3 -0
  78. package/lib/layouts/shell/shell-header/shell-header.component.d.ts +3 -0
  79. package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +3 -0
  80. package/lib/layouts/views/form-layout/form-layout.component.d.ts +3 -0
  81. package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +3 -0
  82. package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +3 -0
  83. package/lib/layouts/views/view-layout/view-layout.component.d.ts +3 -0
  84. package/lib/ng-components.module.d.ts +40 -0
  85. package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +3 -0
  86. package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +3 -0
  87. package/lib/pages/auth/logged-out/logged-out.component.d.ts +3 -0
  88. package/lib/pages/http-status/error/error.component.d.ts +3 -0
  89. package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +3 -0
  90. package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +3 -0
  91. package/lib/pipes/address.pipe.d.ts +3 -0
  92. package/lib/pipes/duration-format.pipe.d.ts +3 -0
  93. package/lib/services/component-loader/component-loader.factory.d.ts +3 -0
  94. package/lib/services/modal-service/modal-backdrop-component.d.ts +3 -0
  95. package/lib/services/modal-service/modal-container-component.d.ts +3 -0
  96. package/lib/services/modal-service/modal-options.class.d.ts +3 -0
  97. package/lib/services/modal-service/modal-service.d.ts +3 -0
  98. package/lib/services/modal-service/modal.class.d.ts +3 -0
  99. package/lib/services/toaster.service.d.ts +3 -0
  100. package/package.json +19 -7
  101. package/public-api.d.ts +1 -0
  102. package/bundles/indice-ng-components.umd.js +0 -3417
  103. package/bundles/indice-ng-components.umd.js.map +0 -1
  104. package/esm2015/indice-ng-components.js +0 -7
  105. package/esm2015/lib/controls/avatar-initials/avatar-initials.component.js +0 -47
  106. package/esm2015/lib/controls/collapsible-panel/collapsible-panel.component.js +0 -20
  107. package/esm2015/lib/controls/date-picker/date-picker.component.js +0 -251
  108. package/esm2015/lib/controls/drop-down-menu/drop-down-menu.component.js +0 -62
  109. package/esm2015/lib/controls/kpi-tile/kpi-tile.component.js +0 -32
  110. package/esm2015/lib/controls/list-view/list-column.component.js +0 -19
  111. package/esm2015/lib/controls/list-view/list-details-section.component.js +0 -14
  112. package/esm2015/lib/controls/list-view/list-tile.component.js +0 -14
  113. package/esm2015/lib/controls/list-view/list-view-empty-state.component.js +0 -25
  114. package/esm2015/lib/controls/list-view/list-view.component.js +0 -150
  115. package/esm2015/lib/controls/pager/pager.component.js +0 -115
  116. package/esm2015/lib/controls/side-pane/side-pane.component.js +0 -71
  117. package/esm2015/lib/controls/skeleton-loader/skeleton-loader.component.js +0 -25
  118. package/esm2015/lib/controls/toaster/toaster-container.component.js +0 -28
  119. package/esm2015/lib/controls/toaster/toaster.component.js +0 -29
  120. package/esm2015/lib/controls/toggle/toggle.component.js +0 -57
  121. package/esm2015/lib/directives/click-outside.directive.js +0 -181
  122. package/esm2015/lib/directives/dynamic-component-host.directive.js +0 -17
  123. package/esm2015/lib/helpers/base-list.component.js +0 -182
  124. package/esm2015/lib/layouts/shell/shell-footer/shell-footer.component.js +0 -17
  125. package/esm2015/lib/layouts/shell/shell-header/shell-header.component.js +0 -99
  126. package/esm2015/lib/layouts/shell/shell-layout/shell-layout.component.js +0 -96
  127. package/esm2015/lib/layouts/views/form-layout/form-layout.component.js +0 -73
  128. package/esm2015/lib/layouts/views/model-view-layout/model-view-layout.component.js +0 -47
  129. package/esm2015/lib/layouts/views/side-view-layout/side-view-layout.component.js +0 -84
  130. package/esm2015/lib/layouts/views/view-layout/view-layout.component.js +0 -95
  131. package/esm2015/lib/ng-components.module.js +0 -133
  132. package/esm2015/lib/pages/auth/auth-callback/auth-callback.component.js +0 -29
  133. package/esm2015/lib/pages/auth/auth-renew/auth-renew.component.js +0 -27
  134. package/esm2015/lib/pages/auth/logged-out/logged-out.component.js +0 -26
  135. package/esm2015/lib/pages/http-status/error/error.component.js +0 -15
  136. package/esm2015/lib/pages/http-status/page-not-found/page-not-found.component.js +0 -14
  137. package/esm2015/lib/pages/http-status/unauthorized/unauthorized.component.js +0 -13
  138. package/esm2015/lib/pipes/address.pipe.js +0 -17
  139. package/esm2015/lib/pipes/duration-format.pipe.js +0 -60
  140. package/esm2015/lib/services/component-loader/component-loader.class.js +0 -192
  141. package/esm2015/lib/services/component-loader/component-loader.factory.js +0 -35
  142. package/esm2015/lib/services/modal-service/modal-backdrop-component.js +0 -44
  143. package/esm2015/lib/services/modal-service/modal-container-component.js +0 -117
  144. package/esm2015/lib/services/modal-service/modal-options.class.js +0 -31
  145. package/esm2015/lib/services/modal-service/modal-service.js +0 -214
  146. package/esm2015/lib/services/modal-service/modal.class.js +0 -24
  147. package/esm2015/lib/services/toaster.service.js +0 -23
  148. package/esm2015/public-api.js +0 -53
  149. package/fesm2015/indice-ng-components.js +0 -2899
  150. package/fesm2015/indice-ng-components.js.map +0 -1
  151. package/indice-ng-components.metadata.json +0 -1
@@ -1,35 +0,0 @@
1
- import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector } from '@angular/core';
2
- import { ComponentLoader } from './component-loader.class';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Use to create instances of {@link ComponentLoader}.
6
- *
7
- * @public
8
- */
9
- export class ComponentLoaderFactory {
10
- constructor(componentFactoryResolver, injector, applicationRef) {
11
- this.componentFactoryResolver = componentFactoryResolver;
12
- this.injector = injector;
13
- this.applicationRef = applicationRef;
14
- }
15
- /**
16
- * Returns a new instance of {@link ComponentLoader}
17
- * @param viewContainerRef - The view container the dynamic content will be attached to.
18
- * @returns A new instance of {@link ComponentLoader}.
19
- *
20
- * @public
21
- */
22
- createLoader(viewContainerRef) {
23
- return new ComponentLoader(viewContainerRef, this.componentFactoryResolver, this.applicationRef, this.injector);
24
- }
25
- }
26
- ComponentLoaderFactory.ɵprov = i0.ɵɵdefineInjectable({ factory: function ComponentLoaderFactory_Factory() { return new ComponentLoaderFactory(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i0.ApplicationRef)); }, token: ComponentLoaderFactory, providedIn: "root" });
27
- ComponentLoaderFactory.decorators = [
28
- { type: Injectable, args: [{ providedIn: 'root' },] }
29
- ];
30
- ComponentLoaderFactory.ctorParameters = () => [
31
- { type: ComponentFactoryResolver },
32
- { type: Injector },
33
- { type: ApplicationRef }
34
- ];
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWxvYWRlci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2NvbXBvbmVudC1sb2FkZXIvY29tcG9uZW50LWxvYWRlci5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUUzRDs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUNVLHdCQUFrRCxFQUNsRCxRQUFrQixFQUNsQixjQUE4QjtRQUY5Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQ3JDLENBQUM7SUFFSjs7Ozs7O09BTUc7SUFDSCxZQUFZLENBQUksZ0JBQW1DO1FBQ2pELE9BQU8sSUFBSSxlQUFlLENBQUksZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JILENBQUM7Ozs7WUFqQkYsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7O1lBUlQsd0JBQXdCO1lBQWMsUUFBUTtZQUE5RCxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50TG9hZGVyIH0gZnJvbSAnLi9jb21wb25lbnQtbG9hZGVyLmNsYXNzJztcclxuXHJcbi8qKlxyXG4gKiBVc2UgdG8gY3JlYXRlIGluc3RhbmNlcyBvZiB7QGxpbmsgQ29tcG9uZW50TG9hZGVyfS5cclxuICpcclxuICogQHB1YmxpY1xyXG4gKi9cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudExvYWRlckZhY3Rvcnkge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWZcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYSBuZXcgaW5zdGFuY2Ugb2Yge0BsaW5rIENvbXBvbmVudExvYWRlcn1cclxuICAgKiBAcGFyYW0gdmlld0NvbnRhaW5lclJlZiAtIFRoZSB2aWV3IGNvbnRhaW5lciB0aGUgZHluYW1pYyBjb250ZW50IHdpbGwgYmUgYXR0YWNoZWQgdG8uXHJcbiAgICogQHJldHVybnMgQSBuZXcgaW5zdGFuY2Ugb2Yge0BsaW5rIENvbXBvbmVudExvYWRlcn0uXHJcbiAgICpcclxuICAgKiBAcHVibGljXHJcbiAgICovXHJcbiAgY3JlYXRlTG9hZGVyPFQ+KHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmKTogQ29tcG9uZW50TG9hZGVyPFQ+IHtcclxuICAgIHJldHVybiBuZXcgQ29tcG9uZW50TG9hZGVyPFQ+KHZpZXdDb250YWluZXJSZWYsIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCB0aGlzLmFwcGxpY2F0aW9uUmVmLCB0aGlzLmluamVjdG9yKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,44 +0,0 @@
1
- import { Component, ElementRef, Renderer2, ViewEncapsulation } from '@angular/core';
2
- import { animationTime, cssClassNames } from './modal-styles.class';
3
- /**
4
- * Background layer for modals.
5
- * Override class name to theme it.
6
- * @see {@link cssClassNames}
7
- * @internal
8
- */
9
- export class ModalBackdropComponent {
10
- constructor(element, renderer) {
11
- this.element = element;
12
- this.renderer = renderer;
13
- this.animationsEnabled = false;
14
- }
15
- ngOnInit() {
16
- if (this.animationsEnabled) {
17
- this.renderer.addClass(this.element.nativeElement, cssClassNames.fade);
18
- this.reflow(this.element.nativeElement);
19
- }
20
- this.renderer.addClass(this.element.nativeElement, cssClassNames.show);
21
- }
22
- hide() {
23
- this.renderer.removeClass(this.element.nativeElement, cssClassNames.show);
24
- setTimeout(() => { var _a; return (_a = this.backdropLoader) === null || _a === void 0 ? void 0 : _a.hide(); }, this.animationsEnabled ? animationTime.backdrop : 0);
25
- }
26
- reflow(element) {
27
- ((bs) => bs)(element.offsetHeight);
28
- }
29
- }
30
- ModalBackdropComponent.decorators = [
31
- { type: Component, args: [{
32
- selector: 'lib-modal-backdrop',
33
- encapsulation: ViewEncapsulation.None,
34
- template: '',
35
- host: {
36
- class: cssClassNames.backdrop,
37
- }
38
- },] }
39
- ];
40
- ModalBackdropComponent.ctorParameters = () => [
41
- { type: ElementRef },
42
- { type: Renderer2 }
43
- ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYmFja2Ryb3AtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL21vZGFsLXNlcnZpY2UvbW9kYWwtYmFja2Ryb3AtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFVLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RixPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXBFOzs7OztHQUtHO0FBU0gsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxZQUFvQixPQUFtQixFQUFVLFFBQW1CO1FBQWhELFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBRjVELHNCQUFpQixHQUFHLEtBQUssQ0FBQztJQUVxQyxDQUFDO0lBRXhFLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsV0FBQyxPQUFBLE1BQUEsSUFBSSxDQUFDLGNBQWMsMENBQUUsSUFBSSxFQUFFLENBQUEsRUFBQSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFZO1FBQ2pCLENBQUMsQ0FBQyxFQUFPLEVBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRCxDQUFDOzs7WUE1QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxRQUFRLEVBQUUsRUFBRTtnQkFDWixJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLGFBQWEsQ0FBQyxRQUFRO2lCQUM5QjthQUNGOzs7WUFqQm1CLFVBQVU7WUFBVSxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFJlbmRlcmVyMiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50TG9hZGVyIH0gZnJvbSAnLi4vY29tcG9uZW50LWxvYWRlci9jb21wb25lbnQtbG9hZGVyLmNsYXNzJztcclxuaW1wb3J0IHsgYW5pbWF0aW9uVGltZSwgY3NzQ2xhc3NOYW1lcyB9IGZyb20gJy4vbW9kYWwtc3R5bGVzLmNsYXNzJztcclxuXHJcbi8qKlxyXG4gKiBCYWNrZ3JvdW5kIGxheWVyIGZvciBtb2RhbHMuXHJcbiAqIE92ZXJyaWRlIGNsYXNzIG5hbWUgdG8gdGhlbWUgaXQuXHJcbiAqIEBzZWUge0BsaW5rIGNzc0NsYXNzTmFtZXN9XHJcbiAqIEBpbnRlcm5hbFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbW9kYWwtYmFja2Ryb3AnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiBjc3NDbGFzc05hbWVzLmJhY2tkcm9wLFxyXG4gIH0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2RhbEJhY2tkcm9wQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIGFuaW1hdGlvbnNFbmFibGVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBiYWNrZHJvcExvYWRlcjogQ29tcG9uZW50TG9hZGVyPE1vZGFsQmFja2Ryb3BDb21wb25lbnQ+IHwgdW5kZWZpbmVkO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFuaW1hdGlvbnNFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGNzc0NsYXNzTmFtZXMuZmFkZSk7XHJcbiAgICAgIHRoaXMucmVmbG93KHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGNzc0NsYXNzTmFtZXMuc2hvdyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGlkZSgpIHtcclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGNzc0NsYXNzTmFtZXMuc2hvdyk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuYmFja2Ryb3BMb2FkZXI/LmhpZGUoKSwgdGhpcy5hbmltYXRpb25zRW5hYmxlZCA/IGFuaW1hdGlvblRpbWUuYmFja2Ryb3AgOiAwKTtcclxuICB9XHJcblxyXG4gIHJlZmxvdyhlbGVtZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICgoYnM6IGFueSk6IHZvaWQgPT4gYnMpKGVsZW1lbnQub2Zmc2V0SGVpZ2h0KTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,117 +0,0 @@
1
- import { Component, ElementRef, HostListener, Renderer2 } from '@angular/core';
2
- import { animationTime, cssClassNames } from './modal-styles.class';
3
- import { ModalOptions } from './modal-options.class';
4
- /**
5
- * Modal container component.
6
- * @remarks
7
- * All dynamic content `TemplateRef` or `Component` case will be drawn inside this.
8
- * You can override css classes to theme it {@link cssClassNames}
9
- * @internal
10
- */
11
- export class ModalContainerComponent {
12
- constructor(options, _element, renderer) {
13
- this._element = _element;
14
- this.renderer = renderer;
15
- this.isShown = false;
16
- this.animationsEnabled = false;
17
- this.isModalHiding = false;
18
- this.clickStartedInContent = false;
19
- this.config = Object.assign({}, options);
20
- }
21
- ngOnInit() {
22
- if (this.animationsEnabled) {
23
- this.renderer.addClass(this._element.nativeElement, cssClassNames.fade);
24
- }
25
- this.renderer.setStyle(this._element.nativeElement, 'display', 'block');
26
- setTimeout(() => {
27
- this.isShown = true;
28
- this.renderer.addClass(this._element.nativeElement, cssClassNames.show);
29
- }, this.animationsEnabled ? animationTime.backdrop : 0);
30
- if (this._element.nativeElement) {
31
- this._element.nativeElement.focus();
32
- }
33
- }
34
- onClickStarted(event) {
35
- this.clickStartedInContent = event.target !== this._element.nativeElement;
36
- }
37
- onClickStop(event) {
38
- const clickedInBackdrop = event.target === this._element.nativeElement && !this.clickStartedInContent;
39
- if (this.config.ignoreBackdropClick || this.config.backdrop === 'static' || !clickedInBackdrop) {
40
- this.clickStartedInContent = false;
41
- return;
42
- }
43
- this.hide();
44
- }
45
- onPopState() {
46
- this.hide();
47
- }
48
- onEsc(event) {
49
- var _a;
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 === ((_a = this.modalService) === null || _a === void 0 ? void 0 : _a.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
- var _a;
80
- this.isShown = false;
81
- (_a = this.modalService) === null || _a === void 0 ? void 0 : _a.hide(this.config.id, result);
82
- this.isModalHiding = false;
83
- }, this.animationsEnabled ? animationTime.modal : 0);
84
- }
85
- }
86
- ModalContainerComponent.decorators = [
87
- { type: Component, args: [{
88
- selector: 'lib-modal-container',
89
- template: `
90
- <div [class]="'modal-dialog' + (config.class ? ' ' + config.class : '')" role="document" focusTrap>
91
- <div class="modal-content">
92
- <ng-content></ng-content>
93
- </div>
94
- </div>
95
- `,
96
- host: {
97
- class: 'modal',
98
- role: 'dialog',
99
- tabindex: '-1',
100
- '[attr.aria-modal]': 'true',
101
- '[attr.aria-labelledby]': 'config.ariaLabelledBy',
102
- '[attr.aria-describedby]': 'config.ariaDescribedby',
103
- }
104
- },] }
105
- ];
106
- ModalContainerComponent.ctorParameters = () => [
107
- { type: ModalOptions },
108
- { type: ElementRef },
109
- { type: Renderer2 }
110
- ];
111
- ModalContainerComponent.propDecorators = {
112
- onClickStarted: [{ type: HostListener, args: ['mousedown', ['$event'],] }],
113
- onClickStop: [{ type: HostListener, args: ['click', ['$event'],] }],
114
- onPopState: [{ type: HostListener, args: ['window:popstate',] }],
115
- onEsc: [{ type: HostListener, args: ['window:keydown.esc', ['$event'],] }]
116
- };
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGFpbmVyLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1zZXJ2aWNlL21vZGFsLWNvbnRhaW5lci1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHckQ7Ozs7OztHQU1HO0FBbUJILE1BQU0sT0FBTyx1QkFBdUI7SUFRbEMsWUFBWSxPQUFxQixFQUFZLFFBQW9CLEVBQVUsUUFBbUI7UUFBakQsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFKdEYsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBRXBDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekU7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxTQUFT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LFVBQVUsQ0FDUixHQUFHLEVBQUU7O1lBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsTUFBQSxJQUFJLENBQUMsWUFBWSwwQ0FBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDN0IsQ0FBQyxFQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQzs7O1lBL0dGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixRQUFRLEVBQUU7Ozs7OztHQU1UO2dCQUNELElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsT0FBTztvQkFDZCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxRQUFRLEVBQUUsSUFBSTtvQkFDZCxtQkFBbUIsRUFBRSxNQUFNO29CQUMzQix3QkFBd0IsRUFBRSx1QkFBdUI7b0JBQ2pELHlCQUF5QixFQUFFLHdCQUF3QjtpQkFDcEQ7YUFDRjs7O1lBM0JRLFlBQVk7WUFGRCxVQUFVO1lBQW1DLFNBQVM7Ozs2QkEyRHZFLFlBQVksU0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7MEJBS3BDLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7eUJBVWhDLFlBQVksU0FBQyxpQkFBaUI7b0JBSzlCLFlBQVksU0FBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGFuaW1hdGlvblRpbWUsIGNzc0NsYXNzTmFtZXMgfSBmcm9tICcuL21vZGFsLXN0eWxlcy5jbGFzcyc7XHJcbmltcG9ydCB7IE1vZGFsT3B0aW9ucyB9IGZyb20gJy4vbW9kYWwtb3B0aW9ucy5jbGFzcyc7XHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4vbW9kYWwtc2VydmljZSc7XHJcblxyXG4vKipcclxuICogTW9kYWwgY29udGFpbmVyIGNvbXBvbmVudC5cclxuICogQHJlbWFya3NcclxuICogQWxsIGR5bmFtaWMgY29udGVudCBgVGVtcGxhdGVSZWZgIG9yIGBDb21wb25lbnRgIGNhc2Ugd2lsbCBiZSBkcmF3biBpbnNpZGUgdGhpcy5cclxuICogWW91IGNhbiBvdmVycmlkZSBjc3MgY2xhc3NlcyB0byB0aGVtZSBpdCB7QGxpbmsgY3NzQ2xhc3NOYW1lc31cclxuICogQGludGVybmFsXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1tb2RhbC1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IFtjbGFzc109XCInbW9kYWwtZGlhbG9nJyArIChjb25maWcuY2xhc3MgPyAnICcgKyBjb25maWcuY2xhc3MgOiAnJylcIiByb2xlPVwiZG9jdW1lbnRcIiBmb2N1c1RyYXA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdtb2RhbCcsXHJcbiAgICByb2xlOiAnZGlhbG9nJyxcclxuICAgIHRhYmluZGV4OiAnLTEnLFxyXG4gICAgJ1thdHRyLmFyaWEtbW9kYWxdJzogJ3RydWUnLFxyXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnY29uZmlnLmFyaWFMYWJlbGxlZEJ5JyxcclxuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdjb25maWcuYXJpYURlc2NyaWJlZGJ5JyxcclxuICB9LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIGxldmVsPzogbnVtYmVyO1xyXG4gIHB1YmxpYyBjb25maWc6IE1vZGFsT3B0aW9ucztcclxuICBwdWJsaWMgbW9kYWxTZXJ2aWNlPzogTW9kYWxTZXJ2aWNlO1xyXG4gIHByaXZhdGUgaXNTaG93biA9IGZhbHNlO1xyXG4gIHByaXZhdGUgYW5pbWF0aW9uc0VuYWJsZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIGlzTW9kYWxIaWRpbmcgPSBmYWxzZTtcclxuICBwcml2YXRlIGNsaWNrU3RhcnRlZEluQ29udGVudCA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE1vZGFsT3B0aW9ucywgcHJvdGVjdGVkIF9lbGVtZW50OiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIHRoaXMuY29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFuaW1hdGlvbnNFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCBjc3NDbGFzc05hbWVzLmZhZGUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XHJcbiAgICBzZXRUaW1lb3V0KFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1Nob3duID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgY3NzQ2xhc3NOYW1lcy5zaG93KTtcclxuICAgICAgfSxcclxuICAgICAgdGhpcy5hbmltYXRpb25zRW5hYmxlZCA/IGFuaW1hdGlvblRpbWUuYmFja2Ryb3AgOiAwXHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXHJcbiAgb25DbGlja1N0YXJ0ZWQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xpY2tTdGFydGVkSW5Db250ZW50ID0gZXZlbnQudGFyZ2V0ICE9PSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25DbGlja1N0b3AoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNsaWNrZWRJbkJhY2tkcm9wID0gZXZlbnQudGFyZ2V0ID09PSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgJiYgIXRoaXMuY2xpY2tTdGFydGVkSW5Db250ZW50O1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLmlnbm9yZUJhY2tkcm9wQ2xpY2sgfHwgdGhpcy5jb25maWcuYmFja2Ryb3AgPT09ICdzdGF0aWMnIHx8ICFjbGlja2VkSW5CYWNrZHJvcCkge1xyXG4gICAgICB0aGlzLmNsaWNrU3RhcnRlZEluQ29udGVudCA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpwb3BzdGF0ZScpXHJcbiAgb25Qb3BTdGF0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24uZXNjJywgWyckZXZlbnQnXSlcclxuICBvbkVzYyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzU2hvd24pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDI3IHx8IGV2ZW50LmtleSA9PT0gJ0VzY2FwZScgfHwgZXZlbnQua2V5ID09PSAnRXNjJykge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY29uZmlnLmtleWJvYXJkICYmIHRoaXMuY29uZmlnLmlkID09PSB0aGlzLm1vZGFsU2VydmljZT8uZ2V0QWN0aXZlTW9kYWwoKS5jb25maWcuaWQpIHtcclxuICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzU2hvd24pIHtcclxuICAgICAgdGhpcy5faGlkZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGlkZShyZXN1bHQ/OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzTW9kYWxIaWRpbmcgfHwgIXRoaXMuaXNTaG93bikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jb25maWcuY2xvc2VJbnRlcmNlcHRvcikge1xyXG4gICAgICB0aGlzLmNvbmZpZy5jbG9zZUludGVyY2VwdG9yKCkudGhlbihcclxuICAgICAgICAoKSA9PiB0aGlzLl9oaWRlKCksXHJcbiAgICAgICAgKCkgPT4gdW5kZWZpbmVkXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX2hpZGUocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hpZGUocmVzdWx0PzogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTW9kYWxIaWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGNzc0NsYXNzTmFtZXMuc2hvdyk7XHJcbiAgICBzZXRUaW1lb3V0KFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1Nob3duID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2U/LmhpZGUodGhpcy5jb25maWcuaWQsIHJlc3VsdCk7XHJcbiAgICAgICAgdGhpcy5pc01vZGFsSGlkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uc0VuYWJsZWQgPyBhbmltYXRpb25UaW1lLm1vZGFsIDogMFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,31 +0,0 @@
1
- import { Injectable, InjectionToken } from '@angular/core';
2
- /**
3
- * Modals option can be passed to a specific modal from {@link ModalService.show} or set globbaly using the injection token {@link MODAL_CONFIG_DEFAULT_OVERRIDE}.
4
- * @remarks
5
- * Modal specific options are merged with global options.
6
- * @see {@link modalConfigDefaults} for defaults.
7
- * @public
8
- */
9
- export class ModalOptions {
10
- }
11
- ModalOptions.decorators = [
12
- { type: Injectable }
13
- ];
14
- /**
15
- * Default option values.
16
- */
17
- export const modalConfigDefaults = {
18
- backdrop: true,
19
- keyboard: true,
20
- show: false,
21
- ignoreBackdropClick: false,
22
- class: '',
23
- animated: true,
24
- initialState: {},
25
- closeInterceptor: void 0,
26
- };
27
- /**
28
- * Use this injection token to set global options.
29
- */
30
- export const MODAL_CONFIG_DEFAULT_OVERRIDE = new InjectionToken('override-default-config');
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtb3B0aW9ucy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1zZXJ2aWNlL21vZGFsLW9wdGlvbnMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBRTNFOzs7Ozs7R0FNRztBQUVILE1BQU0sT0FBTyxZQUFZOzs7WUFEeEIsVUFBVTs7QUEyRFg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBaUI7SUFDL0MsUUFBUSxFQUFFLElBQUk7SUFDZCxRQUFRLEVBQUUsSUFBSTtJQUNkLElBQUksRUFBRSxLQUFLO0lBQ1gsbUJBQW1CLEVBQUUsS0FBSztJQUMxQixLQUFLLEVBQUUsRUFBRTtJQUNULFFBQVEsRUFBRSxJQUFJO0lBQ2QsWUFBWSxFQUFFLEVBQUU7SUFDaEIsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDO0NBQ3pCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFpQyxJQUFJLGNBQWMsQ0FBZSx5QkFBeUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIFN0YXRpY1Byb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogTW9kYWxzIG9wdGlvbiBjYW4gYmUgcGFzc2VkIHRvIGEgc3BlY2lmaWMgbW9kYWwgZnJvbSB7QGxpbmsgTW9kYWxTZXJ2aWNlLnNob3d9IG9yIHNldCBnbG9iYmFseSB1c2luZyB0aGUgaW5qZWN0aW9uIHRva2VuIHtAbGluayBNT0RBTF9DT05GSUdfREVGQVVMVF9PVkVSUklERX0uXHJcbiAqIEByZW1hcmtzXHJcbiAqIE1vZGFsIHNwZWNpZmljIG9wdGlvbnMgYXJlIG1lcmdlZCB3aXRoIGdsb2JhbCBvcHRpb25zLlxyXG4gKiBAc2VlIHtAbGluayBtb2RhbENvbmZpZ0RlZmF1bHRzfSBmb3IgZGVmYXVsdHMuXHJcbiAqIEBwdWJsaWNcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1vZGFsT3B0aW9uczxUID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcclxuICAvKipcclxuICAgKiAgSWQgZm9yIG9wZW5lZCBtb2RhbC4gSWYgbm90IHNldCBhIHJhbmRvbSBvbmUgaXMgZ2VuZXJhdGVkLlxyXG4gICAqL1xyXG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIElmIHN0YXRpYyBpcyBzZXQgdGhlIG1vZGFsIHdpbGwgbm90IGNsb3NlIHdoZW4gY2xpY2tpbmcgb3V0c2lkZSBvZiBtb2RhbC5cclxuICAgKiBAcmVtYXJrc1xyXG4gICAqIEtleWJvYXJkIGV2ZW50IChlc2NhcGUga2V5KSBzdGlsbHMgYXBwbGllcy4gSWYgeW91IG11c3QgZ2V0IGEgcmVzdWx0IHRoZW4gYWxzbyBzZXQga2V5Ym9hcmQgdG8gZmFsc2UuXHJcbiAgICovXHJcbiAgYmFja2Ryb3A/OiBib29sZWFuIHwgJ3N0YXRpYyc7XHJcbiAgLyoqXHJcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCB3aGVuIGVzY2FwZSBrZXkgaXMgcHJlc3NlZC5cclxuICAgKi9cclxuICBrZXlib2FyZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogU2hvd3MgdGhlIG1vZGFsIHdoZW4gaW5pdGlhbGl6ZWQuXHJcbiAgICovXHJcbiAgc2hvdz86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogSWdub3JlIHRoZSBiYWNrZHJvcCBjbGljay4gUHJldHR5IG11Y2ggdGhlIHNhbWUgYXMgYmFja2Ryb3Agc3RhdGljLlxyXG4gICAqL1xyXG4gIGlnbm9yZUJhY2tkcm9wQ2xpY2s/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIENzcyBjbGFzcyBmb3Igb3BlbmVkIG1vZGFsLlxyXG4gICAqL1xyXG4gIGNsYXNzPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZSBhbmltYXRpb24uXHJcbiAgICovXHJcbiAgYW5pbWF0ZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIE1vZGFsIGluaXRpYWwgZGF0YS4gXHJcbiAgICogQHJlbWFya3NcclxuICAgKiBUaGlzIGRhdGEgbXVzdCBiZSBrbm93biBwcm9wZXJ0aWVzIG9mIGNvbnRlbnQgY29tcG9uZW50LlxyXG4gICAqL1xyXG4gIGluaXRpYWxTdGF0ZT86IFBhcnRpYWw8VD47XHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gdG8gaW50ZXJjZXB0IHRoZSBjbG9zdXJlLlxyXG4gICAqIEByZW1hcmtzXHJcbiAgICogWW91IGNhbiB1c2UgdG8gY2F0Y2ggdGhlIGNsb3NlIGV2ZW50IGFuZCBldmVuIHByZXZlbnQgaXQgZnJvbSBjbG9zaW5nLlxyXG4gICAqL1xyXG4gIGNsb3NlSW50ZXJjZXB0b3I/OiBDbG9zZUludGVyY2VwdG9yRm47XHJcbiAgLyoqXHJcbiAgICogTW9kYWwgc3RhdGljIHByb3ZpZGVycy5cclxuICAgKiBAc2VlIHtAbGluayBodHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvZ2xvc3NhcnkjZGktdG9rZW4gfCBJbmplY3Rpb24gVG9rZW59XHJcbiAgICovXHJcbiAgcHJvdmlkZXJzPzogU3RhdGljUHJvdmlkZXJbXTtcclxuICAvKipcclxuICAgKiBhcmlhLWxhYmVsbGVkYnkgYXR0cmlidXRlIHZhbHVlIHRvIHNldCBvbiB0aGUgbW9kYWwgd2luZG93LlxyXG4gICAqL1xyXG4gIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIGFyaWEtZGVzY3JpYmVkYnkgYXR0cmlidXRlIHZhbHVlIHRvIHNldCBvbiB0aGUgbW9kYWwgd2luZG93LlxyXG4gICAqL1xyXG4gIGFyaWFEZXNjcmliZWRieT86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIERlZmF1bHQgb3B0aW9uIHZhbHVlcy5cclxuICovXHJcbmV4cG9ydCBjb25zdCBtb2RhbENvbmZpZ0RlZmF1bHRzOiBNb2RhbE9wdGlvbnMgPSB7XHJcbiAgYmFja2Ryb3A6IHRydWUsXHJcbiAga2V5Ym9hcmQ6IHRydWUsXHJcbiAgc2hvdzogZmFsc2UsXHJcbiAgaWdub3JlQmFja2Ryb3BDbGljazogZmFsc2UsXHJcbiAgY2xhc3M6ICcnLFxyXG4gIGFuaW1hdGVkOiB0cnVlLFxyXG4gIGluaXRpYWxTdGF0ZToge30sXHJcbiAgY2xvc2VJbnRlcmNlcHRvcjogdm9pZCAwLFxyXG59O1xyXG5cclxuLyoqXHJcbiAqIFVzZSB0aGlzIGluamVjdGlvbiB0b2tlbiB0byBzZXQgZ2xvYmFsIG9wdGlvbnMuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgTU9EQUxfQ09ORklHX0RFRkFVTFRfT1ZFUlJJREU6IEluamVjdGlvblRva2VuPE1vZGFsT3B0aW9ucz4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TW9kYWxPcHRpb25zPignb3ZlcnJpZGUtZGVmYXVsdC1jb25maWcnKTtcclxuXHJcbi8qKlxyXG4gKiBDbG9zZSBpbnRlcmNlcHRvciBwcm9taXNlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ2xvc2VJbnRlcmNlcHRvckZuID0gKCkgPT4gUHJvbWlzZTx2b2lkPjtcclxuIl19
@@ -1,214 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Inject, Injectable, Optional, RendererFactory2 } 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 { ComponentLoaderFactory } from '../component-loader/component-loader.factory';
10
- /**
11
- * A service for using modals.
12
- *
13
- * @public
14
- */
15
- export class ModalService {
16
- constructor(clf, rendererFactory, document, modalDefaultOption) {
17
- this.clf = clf;
18
- this.document = document;
19
- this.onBeforeShow = new Subject();
20
- this.onShown = new Subject();
21
- this.onBeforeHide = new Subject();
22
- this.onHidden = new Subject();
23
- this.loaders = [];
24
- this.modalsCount = 0;
25
- this.initialPadding = '0px';
26
- this.backdropLoader = this.clf.createLoader();
27
- this.defaultConfig = Object.assign(Object.assign({}, modalConfigDefaults), modalDefaultOption);
28
- this.renderer = rendererFactory.createRenderer(null, null);
29
- }
30
- ngOnDestroy() {
31
- this.loaders.forEach((loader) => { var _a; return (_a = loader.instance) === null || _a === void 0 ? void 0 : _a.hide(); });
32
- }
33
- /**
34
- * Opens a new modal.
35
- *
36
- * @param content - `Component` or `TemplateRef` type.
37
- * @param config - Specific {@link ModalOptions | options} for this modal. Global and specific options are merged.
38
- * @returns An instance of {@link Modal}
39
- */
40
- show(content, config) {
41
- this.modalsCount++;
42
- const combinedConfig = Object.assign(Object.assign({}, this.defaultConfig), config);
43
- combinedConfig.id = (config === null || config === void 0 ? void 0 : config.id) || new Date().getUTCMilliseconds();
44
- this.createLoaders();
45
- this.addBodyPadding();
46
- if (this.modalsCount === 1) {
47
- this.renderer.addClass(this.document.body, cssClassNames.modalOpen);
48
- }
49
- this.showBackdrop(combinedConfig);
50
- return this.showModal(content, combinedConfig);
51
- }
52
- /**
53
- * Hide an active modal.
54
- * @param id - Id of modal to hide. If not provided all active modals are hidden.
55
- * @param result - A result to be sent to observers.
56
- */
57
- hide(id, result) {
58
- if (this.modalsCount === 1 || id == null) {
59
- this.hideBackdrop();
60
- this.revertScrollbar();
61
- this.renderer.removeClass(this.document.body, cssClassNames.modalOpen);
62
- }
63
- this.modalsCount = this.modalsCount >= 1 && id != null ? this.modalsCount - 1 : 0;
64
- setTimeout(() => {
65
- this.hideModal(id, result);
66
- this.removeLoaders(id);
67
- },
68
- //Bug
69
- //Should use combined config but for the moment is not possible to pass it this parameter.
70
- //If config is an instance variable then every newly opened modal will override the config
71
- //resulting in opened modals to get a new configuration
72
- this.defaultConfig.animated ? animationTime.backdrop : 0);
73
- }
74
- getActiveModal() {
75
- return this.loaders[this.modalsCount - 1].instance;
76
- }
77
- showModal(content, combinedConfig) {
78
- var _a;
79
- const modalLoader = this.loaders[this.loaders.length - 1];
80
- if (combinedConfig && combinedConfig.providers) {
81
- combinedConfig.providers.forEach((provider) => modalLoader.provide(provider));
82
- }
83
- const modal = new Modal();
84
- const modalContainerRef = modalLoader
85
- .provide({ provide: ModalOptions, useValue: combinedConfig })
86
- .provide({ provide: Modal, useValue: modal })
87
- .attach(ModalContainerComponent)
88
- .to('body');
89
- modal.setClass = (newClass) => {
90
- if (modalContainerRef.instance) {
91
- modalContainerRef.instance.config.class = newClass;
92
- }
93
- };
94
- modal.onBeforeHide = new Subject();
95
- modal.onHidden = new Subject();
96
- this.copyEvent(modalLoader.onBeforeHide, modal.onBeforeHide);
97
- this.copyEvent(modalLoader.onHidden, modal.onHidden);
98
- modalContainerRef.show({
99
- content,
100
- animationsEnabled: combinedConfig.animated,
101
- initialState: combinedConfig.initialState,
102
- modalService: this,
103
- id: combinedConfig.id,
104
- });
105
- if (modalContainerRef.instance) {
106
- modalContainerRef.instance.level = this.modalsCount;
107
- modal.content = modalLoader.getInnerComponent();
108
- modal.id = (_a = modalContainerRef.instance.config) === null || _a === void 0 ? void 0 : _a.id;
109
- modal.hide = (res) => { var _a; return (_a = modalContainerRef.instance) === null || _a === void 0 ? void 0 : _a.hide(res); };
110
- }
111
- return modal;
112
- }
113
- hideModal(id, result) {
114
- if (id != null) {
115
- const indexToRemove = this.loaders.findIndex((loader) => { var _a; return ((_a = loader.instance) === null || _a === void 0 ? void 0 : _a.config.id) === id; });
116
- const modalLoader = this.loaders[indexToRemove];
117
- if (modalLoader) {
118
- modalLoader.hide(id, result);
119
- }
120
- }
121
- else {
122
- this.loaders.forEach((loader) => {
123
- if (loader.instance) {
124
- loader.hide(loader.instance.config.id);
125
- }
126
- });
127
- }
128
- }
129
- showBackdrop(combinedConfig) {
130
- const isBackdropEnabled = combinedConfig.backdrop === true || combinedConfig.backdrop === 'static';
131
- const isBackdropInDOM = this.backdropRef != null;
132
- if (isBackdropEnabled && !isBackdropInDOM) {
133
- this.backdropLoader
134
- .attach(ModalBackdropComponent)
135
- .to('body')
136
- .show({ animationsEnabled: combinedConfig.animated, backdropLoader: this.backdropLoader });
137
- this.backdropRef = this.backdropLoader.componentRef;
138
- }
139
- }
140
- hideBackdrop() {
141
- if (!this.backdropRef) {
142
- return;
143
- }
144
- this.backdropRef.instance.hide();
145
- this.backdropRef = void 0;
146
- }
147
- removeLoaders(id) {
148
- if (id != null) {
149
- const indexToRemove = this.loaders.findIndex((loader) => { var _a; return ((_a = loader.instance) === null || _a === void 0 ? void 0 : _a.config.id) === id; });
150
- if (indexToRemove >= 0) {
151
- this.loaders.splice(indexToRemove, 1);
152
- this.loaders.forEach((loader, i) => {
153
- if (loader.instance) {
154
- loader.instance.level = i + 1;
155
- }
156
- });
157
- }
158
- }
159
- else {
160
- this.loaders.splice(0, this.loaders.length);
161
- }
162
- }
163
- addBodyPadding() {
164
- if (this.modalsCount === 1) {
165
- const width = this.getScrollbarWidth();
166
- if (this.isScrollBarPresent(width)) {
167
- this.initialPadding = this.document.body.style.paddingRight;
168
- const actualPadding = parseFloat(window.getComputedStyle(this.document.body).paddingRight);
169
- this.document.body.style.paddingRight = `${actualPadding + width}px`;
170
- }
171
- }
172
- }
173
- revertScrollbar() {
174
- this.document.body.style.paddingRight = this.initialPadding;
175
- }
176
- getScrollbarWidth() {
177
- const measurer = this.document.createElement('div');
178
- measurer.className = 'modal-scrollbar-measure';
179
- const body = this.document.body;
180
- body.appendChild(measurer);
181
- const width = measurer.getBoundingClientRect().width - measurer.clientWidth;
182
- body.removeChild(measurer);
183
- return width;
184
- }
185
- isScrollBarPresent(scrollbarWidth) {
186
- const rect = this.document.body.getBoundingClientRect();
187
- const bodyToViewportGap = window.innerWidth - (rect.left + rect.right);
188
- const uncertainty = 0.1 * scrollbarWidth;
189
- return bodyToViewportGap >= scrollbarWidth - uncertainty;
190
- }
191
- createLoaders() {
192
- const loader = this.clf.createLoader();
193
- this.copyEvent(loader.onBeforeShow, this.onBeforeShow);
194
- this.copyEvent(loader.onShown, this.onShown);
195
- this.copyEvent(loader.onBeforeHide, this.onBeforeHide);
196
- this.copyEvent(loader.onHidden, this.onHidden);
197
- this.loaders.push(loader);
198
- }
199
- copyEvent(from, to) {
200
- from.subscribe((data) => {
201
- to.next(data);
202
- });
203
- }
204
- }
205
- ModalService.decorators = [
206
- { type: Injectable }
207
- ];
208
- ModalService.ctorParameters = () => [
209
- { type: ComponentLoaderFactory },
210
- { type: RendererFactory2 },
211
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
212
- { type: ModalOptions, decorators: [{ type: Optional }, { type: Inject, args: [MODAL_CONFIG_DEFAULT_OVERRIDE,] }] }
213
- ];
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlcy9tb2RhbC1zZXJ2aWNlL21vZGFsLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBZ0IsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQWEsZ0JBQWdCLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXRGOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sWUFBWTtJQWF2QixZQUNVLEdBQTJCLEVBQ25DLGVBQWlDLEVBQ1AsUUFBYSxFQUNZLGtCQUFnQztRQUgzRSxRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUVULGFBQVEsR0FBUixRQUFRLENBQUs7UUFmakMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3QixhQUFRLEdBQUcsSUFB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QUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU8sU0FBUyxDQUFDLElBQXNCLEVBQUUsRUFBb0I7UUFDNUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUEzTkYsVUFBVTs7O1lBUEYsc0JBQXNCO1lBUjRDLGdCQUFnQjs0Q0FnQ3RGLE1BQU0sU0FBQyxRQUFRO1lBMUJVLFlBQVksdUJBMkJyQyxRQUFRLFlBQUksTUFBTSxTQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRMb2FkZXIgfSBmcm9tICcuLi9jb21wb25lbnQtbG9hZGVyL2NvbXBvbmVudC1sb2FkZXIuY2xhc3MnO1xyXG5pbXBvcnQgeyBhbmltYXRpb25UaW1lLCBjc3NDbGFzc05hbWVzIH0gZnJvbSAnLi9tb2RhbC1zdHlsZXMuY2xhc3MnO1xyXG5pbXBvcnQgeyBNb2RhbEJhY2tkcm9wQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1iYWNrZHJvcC1jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNb2RhbENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtY29udGFpbmVyLWNvbXBvbmVudCc7XHJcbmltcG9ydCB7IG1vZGFsQ29uZmlnRGVmYXVsdHMsIE1vZGFsT3B0aW9ucywgTU9EQUxfQ09ORklHX0RFRkFVTFRfT1ZFUlJJREUgfSBmcm9tICcuL21vZGFsLW9wdGlvbnMuY2xhc3MnO1xyXG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJy4vbW9kYWwuY2xhc3MnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRMb2FkZXJGYWN0b3J5IH0gZnJvbSAnLi4vY29tcG9uZW50LWxvYWRlci9jb21wb25lbnQtbG9hZGVyLmZhY3RvcnknO1xyXG5cclxuLyoqXHJcbiAqIEEgc2VydmljZSBmb3IgdXNpbmcgbW9kYWxzLlxyXG4gKlxyXG4gKiBAcHVibGljXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNb2RhbFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgb25CZWZvcmVTaG93ID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIG9uU2hvd24gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHByaXZhdGUgb25CZWZvcmVIaWRlID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIG9uSGlkZGVuID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgcHJpdmF0ZSBiYWNrZHJvcFJlZj86IENvbXBvbmVudFJlZjxNb2RhbEJhY2tkcm9wQ29tcG9uZW50PjtcclxuICBwcml2YXRlIGRlZmF1bHRDb25maWc6IE1vZGFsT3B0aW9ucztcclxuICBwcml2YXRlIGJhY2tkcm9wTG9hZGVyOiBDb21wb25lbnRMb2FkZXI8TW9kYWxCYWNrZHJvcENvbXBvbmVudD47XHJcbiAgcHJpdmF0ZSBsb2FkZXJzOiBDb21wb25lbnRMb2FkZXI8TW9kYWxDb250YWluZXJDb21wb25lbnQ+W10gPSBbXTtcclxuICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XHJcbiAgcHJpdmF0ZSBtb2RhbHNDb3VudCA9IDA7XHJcbiAgcHJpdmF0ZSBpbml0aWFsUGFkZGluZyA9ICcwcHgnO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjbGY6IENvbXBvbmVudExvYWRlckZhY3RvcnksXHJcbiAgICByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnksXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1PREFMX0NPTkZJR19ERUZBVUxUX09WRVJSSURFKSBtb2RhbERlZmF1bHRPcHRpb246IE1vZGFsT3B0aW9uc1xyXG4gICkge1xyXG4gICAgdGhpcy5iYWNrZHJvcExvYWRlciA9IHRoaXMuY2xmLmNyZWF0ZUxvYWRlcjxNb2RhbEJhY2tkcm9wQ29tcG9uZW50PigpO1xyXG4gICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi5tb2RhbENvbmZpZ0RlZmF1bHRzLCAuLi5tb2RhbERlZmF1bHRPcHRpb24gfTtcclxuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZGVycy5mb3JFYWNoKChsb2FkZXIpID0+IGxvYWRlci5pbnN0YW5jZT8uaGlkZSgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wZW5zIGEgbmV3IG1vZGFsLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGNvbnRlbnQgLSBgQ29tcG9uZW50YCBvciBgVGVtcGxhdGVSZWZgIHR5cGUuXHJcbiAgICogQHBhcmFtIGNvbmZpZyAtIFNwZWNpZmljIHtAbGluayBNb2RhbE9wdGlvbnMgfCBvcHRpb25zfSAgZm9yIHRoaXMgbW9kYWwuIEdsb2JhbCBhbmQgc3BlY2lmaWMgb3B0aW9ucyBhcmUgbWVyZ2VkLlxyXG4gICAqIEByZXR1cm5zIEFuIGluc3RhbmNlIG9mIHtAbGluayBNb2RhbH1cclxuICAgKi9cclxuICBwdWJsaWMgc2hvdzxUPihjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgeyBuZXcgKC4uLmFyZ3M6IGFueVtdKTogVCB9LCBjb25maWc/OiBNb2RhbE9wdGlvbnM8VD4pIHtcclxuICAgIHRoaXMubW9kYWxzQ291bnQrKztcclxuICAgIGNvbnN0IGNvbWJpbmVkQ29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLmNvbmZpZyB9O1xyXG4gICAgY29tYmluZWRDb25maWcuaWQgPSBjb25maWc/LmlkIHx8IG5ldyBEYXRlKCkuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7XHJcbiAgICB0aGlzLmNyZWF0ZUxvYWRlcnMoKTtcclxuXHJcbiAgICB0aGlzLmFkZEJvZHlQYWRkaW5nKCk7XHJcbiAgICBpZiAodGhpcy5tb2RhbHNDb3VudCA9PT0gMSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgY3NzQ2xhc3NOYW1lcy5tb2RhbE9wZW4pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93QmFja2Ryb3AoY29tYmluZWRDb25maWcpO1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd01vZGFsPFQ+KGNvbnRlbnQsIGNvbWJpbmVkQ29uZmlnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhpZGUgYW4gYWN0aXZlIG1vZGFsLlxyXG4gICAqIEBwYXJhbSBpZCAtIElkIG9mIG1vZGFsIHRvIGhpZGUuIElmIG5vdCBwcm92aWRlZCBhbGwgYWN0aXZlIG1vZGFscyBhcmUgaGlkZGVuLlxyXG4gICAqIEBwYXJhbSByZXN1bHQgLSBBIHJlc3VsdCB0byBiZSBzZW50IHRvIG9ic2VydmVycy5cclxuICAgKi9cclxuICBwdWJsaWMgaGlkZShpZD86IG51bWJlciB8IHN0cmluZywgcmVzdWx0PzogYW55KSB7XHJcbiAgICBpZiAodGhpcy5tb2RhbHNDb3VudCA9PT0gMSB8fCBpZCA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuaGlkZUJhY2tkcm9wKCk7XHJcbiAgICAgIHRoaXMucmV2ZXJ0U2Nyb2xsYmFyKCk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCBjc3NDbGFzc05hbWVzLm1vZGFsT3Blbik7XHJcbiAgICB9XHJcbiAgICB0aGlzLm1vZGFsc0NvdW50ID0gdGhpcy5tb2RhbHNDb3VudCA+PSAxICYmIGlkICE9IG51bGwgPyB0aGlzLm1vZGFsc0NvdW50IC0gMSA6IDA7XHJcbiAgICBzZXRUaW1lb3V0KFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5oaWRlTW9kYWwoaWQsIHJlc3VsdCk7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVMb2FkZXJzKGlkKTtcclxuICAgICAgfSxcclxuICAgICAgLy9CdWdcclxuICAgICAgLy9TaG91bGQgdXNlIGNvbWJpbmVkIGNvbmZpZyBidXQgZm9yIHRoZSBtb21lbnQgaXMgbm90IHBvc3NpYmxlIHRvIHBhc3MgaXQgdGhpcyBwYXJhbWV0ZXIuXHJcbiAgICAgIC8vSWYgY29uZmlnIGlzIGFuIGluc3RhbmNlIHZhcmlhYmxlIHRoZW4gZXZlcnkgbmV3bHkgb3BlbmVkIG1vZGFsIHdpbGwgb3ZlcnJpZGUgdGhlIGNvbmZpZ1xyXG4gICAgICAvL3Jlc3VsdGluZyBpbiBvcGVuZWQgbW9kYWxzIHRvIGdldCBhIG5ldyBjb25maWd1cmF0aW9uXHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZy5hbmltYXRlZCA/IGFuaW1hdGlvblRpbWUuYmFja2Ryb3AgOiAwXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFjdGl2ZU1vZGFsKCk6IE1vZGFsQ29udGFpbmVyQ29tcG9uZW50IHtcclxuICAgIHJldHVybiB0aGlzLmxvYWRlcnNbdGhpcy5tb2RhbHNDb3VudCAtIDFdLmluc3RhbmNlIGFzIE1vZGFsQ29udGFpbmVyQ29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93TW9kYWw8VD4oY29udGVudDogYW55LCBjb21iaW5lZENvbmZpZzogTW9kYWxPcHRpb25zKTogTW9kYWw8VD4ge1xyXG4gICAgY29uc3QgbW9kYWxMb2FkZXIgPSB0aGlzLmxvYWRlcnNbdGhpcy5sb2FkZXJzLmxlbmd0aCAtIDFdO1xyXG4gICAgaWYgKGNvbWJpbmVkQ29uZmlnICYmIGNvbWJpbmVkQ29uZmlnLnByb3ZpZGVycykge1xyXG4gICAgICBjb21iaW5lZENvbmZpZy5wcm92aWRlcnMuZm9yRWFjaCgocHJvdmlkZXIpID0+IG1vZGFsTG9hZGVyLnByb3ZpZGUocHJvdmlkZXIpKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtb2RhbCA9IG5ldyBNb2RhbDxhbnk+KCk7XHJcbiAgICBjb25zdCBtb2RhbENvbnRhaW5lclJlZiA9IG1vZGFsTG9hZGVyXHJcbiAgICAgIC5wcm92aWRlKHsgcHJvdmlkZTogTW9kYWxPcHRpb25zLCB1c2VWYWx1ZTogY29tYmluZWRDb25maWcgfSlcclxuICAgICAgLnByb3ZpZGUoeyBwcm92aWRlOiBNb2RhbCwgdXNlVmFsdWU6IG1vZGFsIH0pXHJcbiAgICAgIC5hdHRhY2goTW9kYWxDb250YWluZXJDb21wb25lbnQpXHJcbiAgICAgIC50bygnYm9keScpO1xyXG5cclxuICAgIG1vZGFsLnNldENsYXNzID0gKG5ld0NsYXNzOiBzdHJpbmcpID0+IHtcclxuICAgICAgaWYgKG1vZGFsQ29udGFpbmVyUmVmLmluc3RhbmNlKSB7XHJcbiAgICAgICAgbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2UuY29uZmlnLmNsYXNzID0gbmV3Q2xhc3M7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgbW9kYWwub25CZWZvcmVIaWRlID0gbmV3IFN1YmplY3QoKTtcclxuICAgIG1vZGFsLm9uSGlkZGVuID0gbmV3IFN1YmplY3QoKTtcclxuICAgIHRoaXMuY29weUV2ZW50KG1vZGFsTG9hZGVyLm9uQmVmb3JlSGlkZSwgbW9kYWwub25CZWZvcmVIaWRlKTtcclxuICAgIHRoaXMuY29weUV2ZW50KG1vZGFsTG9hZGVyLm9uSGlkZGVuLCBtb2RhbC5vbkhpZGRlbik7XHJcbiAgICBtb2RhbENvbnRhaW5lclJlZi5zaG93KHtcclxuICAgICAgY29udGVudCxcclxuICAgICAgYW5pbWF0aW9uc0VuYWJsZWQ6IGNvbWJpbmVkQ29uZmlnLmFuaW1hdGVkLFxyXG4gICAgICBpbml0aWFsU3RhdGU6IGNvbWJpbmVkQ29uZmlnLmluaXRpYWxTdGF0ZSxcclxuICAgICAgbW9kYWxTZXJ2aWNlOiB0aGlzLFxyXG4gICAgICBpZDogY29tYmluZWRDb25maWcuaWQsXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAobW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2UpIHtcclxuICAgICAgbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2UubGV2ZWwgPSB0aGlzLm1vZGFsc0NvdW50O1xyXG4gICAgICBtb2RhbC5jb250ZW50ID0gbW9kYWxMb2FkZXIuZ2V0SW5uZXJDb21wb25lbnQoKTtcclxuICAgICAgbW9kYWwuaWQgPSBtb2RhbENvbnRhaW5lclJlZi5pbnN0YW5jZS5jb25maWc/LmlkO1xyXG4gICAgICBtb2RhbC5oaWRlID0gKHJlcykgPT4gbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2U/LmhpZGUocmVzKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbW9kYWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhpZGVNb2RhbChpZD86IG51bWJlciB8IHN0cmluZywgcmVzdWx0PzogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoaWQgIT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBpbmRleFRvUmVtb3ZlID0gdGhpcy5sb2FkZXJzLmZpbmRJbmRleCgobG9hZGVyKSA9PiBsb2FkZXIuaW5zdGFuY2U/LmNvbmZpZy5pZCA9PT0gaWQpO1xyXG4gICAgICBjb25zdCBtb2RhbExvYWRlciA9IHRoaXMubG9hZGVyc1tpbmRleFRvUmVtb3ZlXTtcclxuICAgICAgaWYgKG1vZGFsTG9hZGVyKSB7XHJcbiAgICAgICAgbW9kYWxMb2FkZXIuaGlkZShpZCwgcmVzdWx0KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sb2FkZXJzLmZvckVhY2goKGxvYWRlcjogQ29tcG9uZW50TG9hZGVyPE1vZGFsQ29udGFpbmVyQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIGlmIChsb2FkZXIuaW5zdGFuY2UpIHtcclxuICAgICAgICAgIGxvYWRlci5oaWRlKGxvYWRlci5pbnN0YW5jZS5jb25maWcuaWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNob3dCYWNrZHJvcChjb21iaW5lZENvbmZpZzogTW9kYWxPcHRpb25zKTogdm9pZCB7XHJcbiAgICBjb25zdCBpc0JhY2tkcm9wRW5hYmxlZCA9IGNvbWJpbmVkQ29uZmlnLmJhY2tkcm9wID09PSB0cnVlIHx8IGNvbWJpbmVkQ29uZmlnLmJhY2tkcm9wID09PSAnc3RhdGljJztcclxuICAgIGNvbnN0IGlzQmFja2Ryb3BJbkRPTSA9IHRoaXMuYmFja2Ryb3BSZWYgIT0gbnVsbDtcclxuICAgIGlmIChpc0JhY2tkcm9wRW5hYmxlZCAmJiAhaXNCYWNrZHJvcEluRE9NKSB7XHJcbiAgICAgIHRoaXMuYmFja2Ryb3BMb2FkZXJcclxuICAgICAgICAuYXR0YWNoKE1vZGFsQmFja2Ryb3BDb21wb25lbnQpXHJcbiAgICAgICAgLnRvKCdib2R5JylcclxuICAgICAgICAuc2hvdyh7IGFuaW1hdGlvbnNFbmFibGVkOiBjb21iaW5lZENvbmZpZy5hbmltYXRlZCwgYmFja2Ryb3BMb2FkZXI6IHRoaXMuYmFja2Ryb3BMb2FkZXIgfSk7XHJcbiAgICAgIHRoaXMuYmFja2Ryb3BSZWYgPSB0aGlzLmJhY2tkcm9wTG9hZGVyLmNvbXBvbmVudFJlZjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGlkZUJhY2tkcm9wKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmJhY2tkcm9wUmVmKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuYmFja2Ryb3BSZWYuaW5zdGFuY2UuaGlkZSgpO1xyXG4gICAgdGhpcy5iYWNrZHJvcFJlZiA9IHZvaWQgMDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlTG9hZGVycyhpZD86IG51bWJlciB8IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKGlkICE9IG51bGwpIHtcclxuICAgICAgY29uc3QgaW5kZXhUb1JlbW92ZSA9IHRoaXMubG9hZGVycy5maW5kSW5kZXgoKGxvYWRlcikgPT4gbG9hZGVyLmluc3RhbmNlPy5jb25maWcuaWQgPT09IGlkKTtcclxuICAgICAgaWYgKGluZGV4VG9SZW1vdmUgPj0gMCkge1xyXG4gICAgICAgIHRoaXMubG9hZGVycy5zcGxpY2UoaW5kZXhUb1JlbW92ZSwgMSk7XHJcbiAgICAgICAgdGhpcy5sb2FkZXJzLmZvckVhY2goKGxvYWRlcjogQ29tcG9uZW50TG9hZGVyPE1vZGFsQ29udGFpbmVyQ29tcG9uZW50PiwgaTogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICBpZiAobG9hZGVyLmluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgIGxvYWRlci5pbnN0YW5jZS5sZXZlbCA9IGkgKyAxO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxvYWRlcnMuc3BsaWNlKDAsIHRoaXMubG9hZGVycy5sZW5ndGgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRCb2R5UGFkZGluZygpIHtcclxuICAgIGlmICh0aGlzLm1vZGFsc0NvdW50ID09PSAxKSB7XHJcbiAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5nZXRTY3JvbGxiYXJXaWR0aCgpO1xyXG4gICAgICBpZiAodGhpcy5pc1Njcm9sbEJhclByZXNlbnQod2lkdGgpKSB7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsUGFkZGluZyA9IHRoaXMuZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ7XHJcbiAgICAgICAgY29uc3QgYWN0dWFsUGFkZGluZyA9IHBhcnNlRmxvYXQod2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5KS5wYWRkaW5nUmlnaHQpO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBgJHthY3R1YWxQYWRkaW5nICsgd2lkdGh9cHhgO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJldmVydFNjcm9sbGJhcigpIHtcclxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQgPSB0aGlzLmluaXRpYWxQYWRkaW5nO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTY3JvbGxiYXJXaWR0aCgpOiBudW1iZXIge1xyXG4gICAgY29uc3QgbWVhc3VyZXIgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgbWVhc3VyZXIuY2xhc3NOYW1lID0gJ21vZGFsLXNjcm9sbGJhci1tZWFzdXJlJztcclxuXHJcbiAgICBjb25zdCBib2R5ID0gdGhpcy5kb2N1bWVudC5ib2R5O1xyXG4gICAgYm9keS5hcHBlbmRDaGlsZChtZWFzdXJlcik7XHJcbiAgICBjb25zdCB3aWR0aCA9IG1lYXN1cmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC0gbWVhc3VyZXIuY2xpZW50V2lkdGg7XHJcbiAgICBib2R5LnJlbW92ZUNoaWxkKG1lYXN1cmVyKTtcclxuXHJcbiAgICByZXR1cm4gd2lkdGg7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzU2Nyb2xsQmFyUHJlc2VudChzY3JvbGxiYXJXaWR0aDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCByZWN0ID0gdGhpcy5kb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgYm9keVRvVmlld3BvcnRHYXAgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIChyZWN0LmxlZnQgKyByZWN0LnJpZ2h0KTtcclxuICAgIGNvbnN0IHVuY2VydGFpbnR5ID0gMC4xICogc2Nyb2xsYmFyV2lkdGg7XHJcbiAgICByZXR1cm4gYm9keVRvVmlld3BvcnRHYXAgPj0gc2Nyb2xsYmFyV2lkdGggLSB1bmNlcnRhaW50eTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlTG9hZGVycygpOiB2b2lkIHtcclxuICAgIGNvbnN0IGxvYWRlciA9IHRoaXMuY2xmLmNyZWF0ZUxvYWRlcjxNb2RhbENvbnRhaW5lckNvbXBvbmVudD4oKTtcclxuICAgIHRoaXMuY29weUV2ZW50KGxvYWRlci5vbkJlZm9yZVNob3csIHRoaXMub25CZWZvcmVTaG93KTtcclxuICAgIHRoaXMuY29weUV2ZW50KGxvYWRlci5vblNob3duLCB0aGlzLm9uU2hvd24pO1xyXG4gICAgdGhpcy5jb3B5RXZlbnQobG9hZGVyLm9uQmVmb3JlSGlkZSwgdGhpcy5vbkJlZm9yZUhpZGUpO1xyXG4gICAgdGhpcy5jb3B5RXZlbnQobG9hZGVyLm9uSGlkZGVuLCB0aGlzLm9uSGlkZGVuKTtcclxuICAgIHRoaXMubG9hZGVycy5wdXNoKGxvYWRlcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvcHlFdmVudChmcm9tOiBTdWJqZWN0PHVua25vd24+LCB0bzogU3ViamVjdDx1bmtub3duPikge1xyXG4gICAgZnJvbS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgdG8ubmV4dChkYXRhKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,24 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- /**
3
- * Modal class.
4
- * @remarks
5
- * This is returned from {@link ModalService.show}.
6
- * @public
7
- */
8
- export class Modal {
9
- constructor() {
10
- /**
11
- * Hides the modal
12
- * @param result - A result to the observers.
13
- */
14
- this.hide = () => void 0;
15
- /**
16
- * Sets new class to modal window.
17
- */
18
- this.setClass = () => void 0;
19
- }
20
- }
21
- Modal.decorators = [
22
- { type: Injectable }
23
- ];
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbW9kYWwtc2VydmljZS9tb2RhbC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFPLEtBQUs7SUFEbEI7UUEwQkU7OztXQUdHO1FBQ0gsU0FBSSxHQUEyQixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1Qzs7V0FFRztRQUNILGFBQVEsR0FBK0IsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7O1lBbkNBLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBNb2RhbCBjbGFzcy5cclxuICogQHJlbWFya3NcclxuICogVGhpcyBpcyByZXR1cm5lZCBmcm9tIHtAbGluayBNb2RhbFNlcnZpY2Uuc2hvd30uXHJcbiAqIEBwdWJsaWNcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1vZGFsPFQgPSBhbnk+IHtcclxuICAvKipcclxuICAgKiBFdmVudCB0aGF0IGlzIGZpcmVkIHdoZW4gdGhlIG1vZGFsIGJlaGluZCB0aGUgcmVmIHN0YXJ0cyBoaWRpbmcuXHJcbiAgICogQHJldHVybnNcclxuICAgKiBNb2RhbCBjb21wb25lbnQgaW5zdGFuY2UuXHJcbiAgICovXHJcbiAgb25CZWZvcmVIaWRlPzogU3ViamVjdDx1bmtub3duPjtcclxuICAvKipcclxuICAgKiBFdmVudCB0aGF0IGlzIGZpcmVkIHdoZW4gdGhlIG1vZGFsIGJlaGluZCB0aGUgcmVmIGZpbmlzaGVzIGhpZGluZy5cclxuICAgKiBAcmV0dXJuc1xyXG4gICAqIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBpZCBvZiB0aGUgY2xvc2VkIG1vZGFsIGFuZCByZXN1bHQuXHJcbiAgICovXHJcbiAgb25IaWRkZW4/OiBTdWJqZWN0PHVua25vd24+O1xyXG4gIC8qKlxyXG4gICAqICBJZCBvZiB0aGlzIG1vZGFsLlxyXG4gICAqL1xyXG4gIGlkPzogbnVtYmVyIHwgc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBSZWZlcmVuY2UgdG8gYSBjb21wb25lbnQgaW5zaWRlIHRoZSBtb2RhbC4gTnVsbCBpZiBtb2RhbCdzIGJlZW4gY3JlYXRlZCB3aXRoIFRlbXBsYXRlUmVmLlxyXG4gICAqIEByZW1hcmtzXHJcbiAgICogWW91IGNhbiB1c2UgdGhpcyB0byBkbyBuYXN0eSBzdHVmZiB3aXRoIG9wZW5lZCBtb2RhbCBpbnN0YW5jZS5cclxuICAgKi9cclxuICBjb250ZW50PzogVDtcclxuXHJcbiAgLyoqXHJcbiAgICogSGlkZXMgdGhlIG1vZGFsXHJcbiAgICogQHBhcmFtIHJlc3VsdCAtIEEgcmVzdWx0IHRvIHRoZSBvYnNlcnZlcnMuXHJcbiAgICovXHJcbiAgaGlkZTogKHJlc3VsdD86IGFueSkgPT4gdm9pZCA9ICgpID0+IHZvaWQgMDtcclxuICAvKipcclxuICAgKiBTZXRzIG5ldyBjbGFzcyB0byBtb2RhbCB3aW5kb3cuXHJcbiAgICovXHJcbiAgc2V0Q2xhc3M6IChuZXdDbGFzczogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4gdm9pZCAwO1xyXG59XHJcbiJdfQ==
@@ -1,23 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { filter } from 'rxjs/operators';
4
- import { NULL_TOAST } from '../types';
5
- import * as i0 from "@angular/core";
6
- export class ToasterService {
7
- constructor() {
8
- this.subject = new BehaviorSubject(NULL_TOAST);
9
- this.toast$ = this.subject.asObservable()
10
- .pipe(filter(toast => toast !== null && toast.title !== NULL_TOAST.title));
11
- }
12
- show(type, title, body, delay) {
13
- this.subject.next({ type, title, body, delay });
14
- }
15
- }
16
- ToasterService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToasterService_Factory() { return new ToasterService(); }, token: ToasterService, providedIn: "root" });
17
- ToasterService.decorators = [
18
- { type: Injectable, args: [{
19
- providedIn: 'root'
20
- },] }
21
- ];
22
- ToasterService.ctorParameters = () => [];
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL3RvYXN0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBb0IsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUt4RCxNQUFNLE9BQU8sY0FBYztJQUt6QjtRQUNFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQVEsVUFBVSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTthQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxLQUFLLENBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFTSxJQUFJLENBQUMsSUFBZSxFQUFFLEtBQWMsRUFBRSxJQUFhLEVBQUUsS0FBYztRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBVyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7OztZQWhCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRvYXN0LCBUb2FzdFR5cGUsIE5VTExfVE9BU1QgfSBmcm9tICcuLi90eXBlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2FzdGVyU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgc3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PFRvYXN0PjtcclxuICBwdWJsaWMgdG9hc3QkOiBPYnNlcnZhYmxlPFRvYXN0PjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLnN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRvYXN0PihOVUxMX1RPQVNUKTtcclxuICAgIHRoaXMudG9hc3QkID0gdGhpcy5zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgIC5waXBlKGZpbHRlciggdG9hc3QgPT4gdG9hc3QgIT09IG51bGwgJiYgdG9hc3QudGl0bGUgIT09IE5VTExfVE9BU1QudGl0bGUgKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvdyh0eXBlOiBUb2FzdFR5cGUsIHRpdGxlPzogc3RyaW5nLCBib2R5Pzogc3RyaW5nLCBkZWxheT86IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJqZWN0Lm5leHQoeyB0eXBlLCB0aXRsZSwgYm9keSwgZGVsYXkgfSBhcyBUb2FzdCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==