ngx-sfc-common 0.0.0-watch

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 (219) hide show
  1. package/README.md +644 -0
  2. package/esm2020/lib/components/button/button-type.enum.mjs +9 -0
  3. package/esm2020/lib/components/button/button.component.mjs +44 -0
  4. package/esm2020/lib/components/checkmark/checkmark-type.enum.mjs +7 -0
  5. package/esm2020/lib/components/checkmark/checkmark.component.mjs +39 -0
  6. package/esm2020/lib/components/close/close.component.mjs +16 -0
  7. package/esm2020/lib/components/delimeter/delimeter.component.mjs +28 -0
  8. package/esm2020/lib/components/dots/dots.component.mjs +30 -0
  9. package/esm2020/lib/components/hamburger/default/hamburger.component.mjs +12 -0
  10. package/esm2020/lib/components/hamburger/hamburger-base.component.mjs +23 -0
  11. package/esm2020/lib/components/hamburger/menu/hamburger-menu.component.mjs +18 -0
  12. package/esm2020/lib/components/icon/icon.component.mjs +21 -0
  13. package/esm2020/lib/components/index.mjs +34 -0
  14. package/esm2020/lib/components/load-container/load-container.component.mjs +180 -0
  15. package/esm2020/lib/components/load-container/load-container.constants.mjs +5 -0
  16. package/esm2020/lib/components/load-container/load-container.enum.mjs +11 -0
  17. package/esm2020/lib/components/load-container/models/load-container.model.mjs +2 -0
  18. package/esm2020/lib/components/load-container/models/load-more-parameters.model.mjs +2 -0
  19. package/esm2020/lib/components/load-container/models/load-more-predicate-parameters.model.mjs +2 -0
  20. package/esm2020/lib/components/load-container/models/load-more.model.mjs +2 -0
  21. package/esm2020/lib/components/load-container/service/load-more.service.mjs +27 -0
  22. package/esm2020/lib/components/load-more-button/load-more-button.component.mjs +31 -0
  23. package/esm2020/lib/components/loader/bounce/bounce-loader.component.mjs +13 -0
  24. package/esm2020/lib/components/loader/circle/circle-loader-type.enum.mjs +6 -0
  25. package/esm2020/lib/components/loader/circle/circle-loader.component.mjs +20 -0
  26. package/esm2020/lib/components/loader/loader-base.component.mjs +51 -0
  27. package/esm2020/lib/components/loader/loader.constants.mjs +6 -0
  28. package/esm2020/lib/components/loader/loader.event.mjs +2 -0
  29. package/esm2020/lib/components/loader/service/loader.service.mjs +76 -0
  30. package/esm2020/lib/components/modal/directive/click/modal-open-on-click.directive.mjs +50 -0
  31. package/esm2020/lib/components/modal/directive/open/modal-open.directive.mjs +28 -0
  32. package/esm2020/lib/components/modal/footer/default/default-modal-footer.component.mjs +60 -0
  33. package/esm2020/lib/components/modal/footer/default/default-modal-footer.model.mjs +2 -0
  34. package/esm2020/lib/components/modal/header/default/default-modal-header.component.mjs +38 -0
  35. package/esm2020/lib/components/modal/header/default/default-modal-header.model.mjs +2 -0
  36. package/esm2020/lib/components/modal/modal-template.enum.mjs +7 -0
  37. package/esm2020/lib/components/modal/modal.component.mjs +103 -0
  38. package/esm2020/lib/components/modal/service/modal.event.mjs +2 -0
  39. package/esm2020/lib/components/modal/service/modal.service.mjs +31 -0
  40. package/esm2020/lib/components/pagination/models/pagination-view.model.mjs +2 -0
  41. package/esm2020/lib/components/pagination/pagination.component.mjs +104 -0
  42. package/esm2020/lib/components/pagination/pagination.constants.mjs +6 -0
  43. package/esm2020/lib/components/pagination/service/pagination.event.mjs +2 -0
  44. package/esm2020/lib/components/pagination/service/pagination.service.mjs +47 -0
  45. package/esm2020/lib/components/sorting/service/sorting.event.mjs +2 -0
  46. package/esm2020/lib/components/sorting/service/sorting.service.mjs +21 -0
  47. package/esm2020/lib/components/sorting/sorting.component.mjs +71 -0
  48. package/esm2020/lib/components/sorting/sorting.constants.mjs +6 -0
  49. package/esm2020/lib/components/sorting/sorting.model.mjs +2 -0
  50. package/esm2020/lib/components/template-content/template-content.component.mjs +31 -0
  51. package/esm2020/lib/components/toggle-switcher/toggle-switcher.component.mjs +38 -0
  52. package/esm2020/lib/components/toggle-switcher/toggle-switcher.model.mjs +2 -0
  53. package/esm2020/lib/components/tooltip/tooltip-type.enum.mjs +6 -0
  54. package/esm2020/lib/components/tooltip/tooltip.component.mjs +69 -0
  55. package/esm2020/lib/constants/common.constants.mjs +9 -0
  56. package/esm2020/lib/constants/date-time.constants.mjs +10 -0
  57. package/esm2020/lib/constants/file.constants.mjs +2 -0
  58. package/esm2020/lib/constants/index.mjs +4 -0
  59. package/esm2020/lib/constants/ui.constants.mjs +23 -0
  60. package/esm2020/lib/directives/click-outside/click-outside.directive.mjs +63 -0
  61. package/esm2020/lib/directives/click-outside/click-outside.event.mjs +2 -0
  62. package/esm2020/lib/directives/component-size/component-size.directive.mjs +59 -0
  63. package/esm2020/lib/directives/destroy-parent/destroy-parent.directive.mjs +27 -0
  64. package/esm2020/lib/directives/dom-changes/dom-changes.directive.mjs +32 -0
  65. package/esm2020/lib/directives/if/if.directive.mjs +26 -0
  66. package/esm2020/lib/directives/image-size/image-load.directive.mjs +41 -0
  67. package/esm2020/lib/directives/image-size/services/image-load.event.mjs +2 -0
  68. package/esm2020/lib/directives/image-size/services/image-load.service.mjs +22 -0
  69. package/esm2020/lib/directives/image-size/services/image-size.model.mjs +2 -0
  70. package/esm2020/lib/directives/index.mjs +14 -0
  71. package/esm2020/lib/directives/mouse-down/mouse-down.directive.mjs +37 -0
  72. package/esm2020/lib/directives/scroll-into-view/scroll-into-view.directive.mjs +39 -0
  73. package/esm2020/lib/directives/scroll-tracker/scroll-tracker.directive.mjs +39 -0
  74. package/esm2020/lib/directives/show-hide-element/show-hide-element.directive.mjs +42 -0
  75. package/esm2020/lib/directives/template-reference/template-reference.directive.mjs +23 -0
  76. package/esm2020/lib/directives/throw-element-on-hover/throw-element-on-hover.directive.mjs +38 -0
  77. package/esm2020/lib/enums/direction.enum.mjs +9 -0
  78. package/esm2020/lib/enums/index.mjs +9 -0
  79. package/esm2020/lib/enums/media.enum.mjs +13 -0
  80. package/esm2020/lib/enums/position.enum.mjs +12 -0
  81. package/esm2020/lib/enums/sequence.enum.mjs +9 -0
  82. package/esm2020/lib/enums/size.enum.mjs +11 -0
  83. package/esm2020/lib/enums/sorting-direction.enum.mjs +9 -0
  84. package/esm2020/lib/enums/theme.enum.mjs +9 -0
  85. package/esm2020/lib/enums/ui.enum.mjs +30 -0
  86. package/esm2020/lib/models/class.model.mjs +2 -0
  87. package/esm2020/lib/models/index.mjs +2 -0
  88. package/esm2020/lib/ngx-sfc-common.module.mjs +190 -0
  89. package/esm2020/lib/pipes/index.mjs +2 -0
  90. package/esm2020/lib/pipes/switch-multi-case/switch-multi-case.pipe.mjs +16 -0
  91. package/esm2020/lib/services/document-ref.service.mjs +71 -0
  92. package/esm2020/lib/services/index.mjs +4 -0
  93. package/esm2020/lib/services/resize.service.mjs +42 -0
  94. package/esm2020/lib/services/window-ref.service.mjs +70 -0
  95. package/esm2020/lib/utils/collections.utils.mjs +280 -0
  96. package/esm2020/lib/utils/common.utils.mjs +184 -0
  97. package/esm2020/lib/utils/date-time.utils.mjs +265 -0
  98. package/esm2020/lib/utils/file.utils.mjs +53 -0
  99. package/esm2020/lib/utils/index.mjs +7 -0
  100. package/esm2020/lib/utils/string.utils.mjs +31 -0
  101. package/esm2020/lib/utils/ui.utils.mjs +90 -0
  102. package/esm2020/ngx-sfc-common.mjs +5 -0
  103. package/esm2020/public-api.mjs +12 -0
  104. package/fesm2015/ngx-sfc-common.mjs +3097 -0
  105. package/fesm2015/ngx-sfc-common.mjs.map +1 -0
  106. package/fesm2020/ngx-sfc-common.mjs +3088 -0
  107. package/fesm2020/ngx-sfc-common.mjs.map +1 -0
  108. package/index.d.ts +5 -0
  109. package/lib/components/button/button-type.enum.d.ts +7 -0
  110. package/lib/components/button/button.component.d.ts +16 -0
  111. package/lib/components/checkmark/checkmark-type.enum.d.ts +5 -0
  112. package/lib/components/checkmark/checkmark.component.d.ts +11 -0
  113. package/lib/components/close/close.component.d.ts +6 -0
  114. package/lib/components/delimeter/delimeter.component.d.ts +9 -0
  115. package/lib/components/dots/dots.component.d.ts +9 -0
  116. package/lib/components/hamburger/default/hamburger.component.d.ts +6 -0
  117. package/lib/components/hamburger/hamburger-base.component.d.ts +7 -0
  118. package/lib/components/hamburger/menu/hamburger-menu.component.d.ts +7 -0
  119. package/lib/components/icon/icon.component.d.ts +9 -0
  120. package/lib/components/index.d.ts +44 -0
  121. package/lib/components/load-container/load-container.component.d.ts +50 -0
  122. package/lib/components/load-container/load-container.constants.d.ts +4 -0
  123. package/lib/components/load-container/load-container.enum.d.ts +8 -0
  124. package/lib/components/load-container/models/load-container.model.d.ts +14 -0
  125. package/lib/components/load-container/models/load-more-parameters.model.d.ts +5 -0
  126. package/lib/components/load-container/models/load-more-predicate-parameters.model.d.ts +3 -0
  127. package/lib/components/load-container/models/load-more.model.d.ts +5 -0
  128. package/lib/components/load-container/service/load-more.service.d.ts +12 -0
  129. package/lib/components/load-more-button/load-more-button.component.d.ts +12 -0
  130. package/lib/components/loader/bounce/bounce-loader.component.d.ts +6 -0
  131. package/lib/components/loader/circle/circle-loader-type.enum.d.ts +4 -0
  132. package/lib/components/loader/circle/circle-loader.component.d.ts +8 -0
  133. package/lib/components/loader/loader-base.component.d.ts +27 -0
  134. package/lib/components/loader/loader.constants.d.ts +5 -0
  135. package/lib/components/loader/loader.event.d.ts +4 -0
  136. package/lib/components/loader/service/loader.service.d.ts +33 -0
  137. package/lib/components/modal/directive/click/modal-open-on-click.directive.d.ts +17 -0
  138. package/lib/components/modal/directive/open/modal-open.directive.d.ts +13 -0
  139. package/lib/components/modal/footer/default/default-modal-footer.component.d.ts +19 -0
  140. package/lib/components/modal/footer/default/default-modal-footer.model.d.ts +8 -0
  141. package/lib/components/modal/header/default/default-modal-header.component.d.ts +16 -0
  142. package/lib/components/modal/header/default/default-modal-header.model.d.ts +6 -0
  143. package/lib/components/modal/modal-template.enum.d.ts +5 -0
  144. package/lib/components/modal/modal.component.d.ts +26 -0
  145. package/lib/components/modal/service/modal.event.d.ts +4 -0
  146. package/lib/components/modal/service/modal.service.d.ts +13 -0
  147. package/lib/components/pagination/models/pagination-view.model.d.ts +12 -0
  148. package/lib/components/pagination/pagination.component.d.ts +31 -0
  149. package/lib/components/pagination/pagination.constants.d.ts +5 -0
  150. package/lib/components/pagination/service/pagination.event.d.ts +6 -0
  151. package/lib/components/pagination/service/pagination.service.d.ts +25 -0
  152. package/lib/components/sorting/service/sorting.event.d.ts +5 -0
  153. package/lib/components/sorting/service/sorting.service.d.ts +9 -0
  154. package/lib/components/sorting/sorting.component.d.ts +22 -0
  155. package/lib/components/sorting/sorting.constants.d.ts +4 -0
  156. package/lib/components/sorting/sorting.model.d.ts +12 -0
  157. package/lib/components/template-content/template-content.component.d.ts +14 -0
  158. package/lib/components/toggle-switcher/toggle-switcher.component.d.ts +12 -0
  159. package/lib/components/toggle-switcher/toggle-switcher.model.d.ts +5 -0
  160. package/lib/components/tooltip/tooltip-type.enum.d.ts +4 -0
  161. package/lib/components/tooltip/tooltip.component.d.ts +22 -0
  162. package/lib/constants/common.constants.d.ts +8 -0
  163. package/lib/constants/date-time.constants.d.ts +9 -0
  164. package/lib/constants/file.constants.d.ts +1 -0
  165. package/lib/constants/index.d.ts +4 -0
  166. package/lib/constants/ui.constants.d.ts +22 -0
  167. package/lib/directives/click-outside/click-outside.directive.d.ts +23 -0
  168. package/lib/directives/click-outside/click-outside.event.d.ts +4 -0
  169. package/lib/directives/component-size/component-size.directive.d.ts +18 -0
  170. package/lib/directives/destroy-parent/destroy-parent.directive.d.ts +10 -0
  171. package/lib/directives/dom-changes/dom-changes.directive.d.ts +12 -0
  172. package/lib/directives/if/if.directive.d.ts +11 -0
  173. package/lib/directives/image-size/image-load.directive.d.ts +12 -0
  174. package/lib/directives/image-size/services/image-load.event.d.ts +5 -0
  175. package/lib/directives/image-size/services/image-load.service.d.ts +10 -0
  176. package/lib/directives/image-size/services/image-size.model.d.ts +4 -0
  177. package/lib/directives/index.d.ts +16 -0
  178. package/lib/directives/mouse-down/mouse-down.directive.d.ts +12 -0
  179. package/lib/directives/scroll-into-view/scroll-into-view.directive.d.ts +11 -0
  180. package/lib/directives/scroll-tracker/scroll-tracker.directive.d.ts +11 -0
  181. package/lib/directives/show-hide-element/show-hide-element.directive.d.ts +13 -0
  182. package/lib/directives/template-reference/template-reference.directive.d.ts +10 -0
  183. package/lib/directives/throw-element-on-hover/throw-element-on-hover.directive.d.ts +13 -0
  184. package/lib/enums/direction.enum.d.ts +7 -0
  185. package/lib/enums/index.d.ts +8 -0
  186. package/lib/enums/media.enum.d.ts +11 -0
  187. package/lib/enums/position.enum.d.ts +10 -0
  188. package/lib/enums/sequence.enum.d.ts +7 -0
  189. package/lib/enums/size.enum.d.ts +9 -0
  190. package/lib/enums/sorting-direction.enum.d.ts +7 -0
  191. package/lib/enums/theme.enum.d.ts +7 -0
  192. package/lib/enums/ui.enum.d.ts +27 -0
  193. package/lib/models/class.model.d.ts +3 -0
  194. package/lib/models/index.d.ts +1 -0
  195. package/lib/ngx-sfc-common.module.d.ts +43 -0
  196. package/lib/pipes/index.d.ts +1 -0
  197. package/lib/pipes/switch-multi-case/switch-multi-case.pipe.d.ts +7 -0
  198. package/lib/services/document-ref.service.d.ts +43 -0
  199. package/lib/services/index.d.ts +3 -0
  200. package/lib/services/resize.service.d.ts +32 -0
  201. package/lib/services/window-ref.service.d.ts +43 -0
  202. package/lib/utils/collections.utils.d.ts +156 -0
  203. package/lib/utils/common.utils.d.ts +78 -0
  204. package/lib/utils/date-time.utils.d.ts +164 -0
  205. package/lib/utils/file.utils.d.ts +25 -0
  206. package/lib/utils/index.d.ts +6 -0
  207. package/lib/utils/string.utils.d.ts +19 -0
  208. package/lib/utils/ui.utils.d.ts +58 -0
  209. package/package.json +56 -0
  210. package/public-api.d.ts +8 -0
  211. package/styles/_colors.scss +48 -0
  212. package/styles/_index.scss +4 -0
  213. package/styles/_mixins-delimeter.scss +21 -0
  214. package/styles/_mixins-scroll.scss +38 -0
  215. package/styles/_mixins.scss +46 -0
  216. package/styles/_variables.scss +12 -0
  217. package/styles/themes/_dark.scss +17 -0
  218. package/styles/themes/_default.scss +18 -0
  219. package/styles/themes/_yellow.scss +3 -0
@@ -0,0 +1,180 @@
1
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
2
+ import { map, tap, switchMap, startWith, EMPTY, of, combineLatest } from 'rxjs';
3
+ import { ComponentSize, Position, UIClass } from '../../enums';
4
+ import { any, isDefined, skip } from '../../utils';
5
+ import { LoadMoreService } from './service/load-more.service';
6
+ import { LoadChangesSource, LoadContainerType } from './load-container.enum';
7
+ import { LoadContainerConstants } from './load-container.constants';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../loader/service/loader.service";
10
+ import * as i2 from "./service/load-more.service";
11
+ import * as i3 from "@angular/common";
12
+ import * as i4 from "../../directives/mouse-down/mouse-down.directive";
13
+ import * as i5 from "../../directives/component-size/component-size.directive";
14
+ import * as i6 from "../../directives/scroll-tracker/scroll-tracker.directive";
15
+ import * as i7 from "../../directives/scroll-into-view/scroll-into-view.directive";
16
+ import * as i8 from "../load-more-button/load-more-button.component";
17
+ import * as i9 from "../loader/bounce/bounce-loader.component";
18
+ export class LoadContainerComponent {
19
+ constructor(loaderService, loadMoreService) {
20
+ this.loaderService = loaderService;
21
+ this.loadMoreService = loadMoreService;
22
+ this.ComponentSize = ComponentSize;
23
+ this.Position = Position;
24
+ this.type = LoadContainerType.Dropdown;
25
+ this.open = false;
26
+ this.loadMore = true;
27
+ this.showEmpty = true;
28
+ this.showLoadMoreButton = true;
29
+ this.notFoundLabel = LoadContainerConstants.DEFAULT_NOT_FOUND_LABEL;
30
+ this.handleError = new EventEmitter();
31
+ this.handleSuccess = new EventEmitter();
32
+ this.handleLoading = new EventEmitter();
33
+ this.next = false;
34
+ this.empty = false;
35
+ this._loading = false;
36
+ // define what source emit changes for data (1. data changes, 2. predicate conditions)
37
+ this.source = LoadChangesSource.Data;
38
+ }
39
+ set model(model) {
40
+ if (isDefined(model)) {
41
+ const parameters$ = this.buildParameters(model.predicate$), data$ = isDefined(model.loader) ?
42
+ this.buildDynamic(parameters$, model.loader) : this.buildStatic(parameters$, model);
43
+ if (isDefined(this._subscription))
44
+ this._subscription.unsubscribe();
45
+ this._subscription = data$.subscribe({
46
+ next: (result) => this.success(result),
47
+ error: (error) => this.error(error)
48
+ });
49
+ }
50
+ }
51
+ get scrollPosition() {
52
+ return !this.allowLoadMore || this.showLoadMoreButton ? [] : [Position.Bottom];
53
+ }
54
+ get allowLoadMore() { return this.next && this.loadMore; }
55
+ get hideLoadMoreButton() { return !(this.allowLoadMore && this.showLoadMoreButton); }
56
+ get isEmpty() { return this.empty && this.showEmpty; }
57
+ set loading(value) {
58
+ this._loading = value;
59
+ if (value)
60
+ this.loaderService.show(this.id, true);
61
+ else
62
+ this.loaderService.hide(this.id);
63
+ this.handleLoading.emit(value);
64
+ }
65
+ ngOnDestroy() {
66
+ if (this._subscription)
67
+ this._subscription.unsubscribe();
68
+ }
69
+ more(event) {
70
+ event.preventDefault();
71
+ this.loadMoreService.more();
72
+ }
73
+ onScroll() {
74
+ if (this.allowLoadMore)
75
+ this.loadMoreService.more();
76
+ }
77
+ success(result) {
78
+ this.next = result.next;
79
+ this.loading = false;
80
+ this.empty = !any(result.items);
81
+ this.handleSuccess.emit(result);
82
+ }
83
+ error(error) {
84
+ this.loading = false;
85
+ this.empty = false;
86
+ this.handleError.emit(error);
87
+ }
88
+ buildParameters(predicate$) {
89
+ const parameters$ = (predicate$ || EMPTY.pipe(startWith(null))).pipe(tap((predicateParameters) => {
90
+ if (predicateParameters)
91
+ this.resetParameters();
92
+ }), switchMap((value) => {
93
+ return this.loadMoreService.more$.pipe(startWith(LoadMoreService.START_PAGE), tap(() => {
94
+ this.source = LoadChangesSource.Parameters;
95
+ this.loading = true;
96
+ }), map((page) => {
97
+ return { params: value, page: page };
98
+ }));
99
+ }));
100
+ return parameters$;
101
+ }
102
+ buildDynamic(parameters$, loader) {
103
+ return parameters$.pipe(switchMap((parameters) => loader(parameters, this.source).pipe(tap((model) => {
104
+ if (model.reset) {
105
+ this.source = LoadChangesSource.Data;
106
+ this.resetParameters();
107
+ }
108
+ }))));
109
+ }
110
+ buildStatic(parameters$, model) {
111
+ const data$ = (model.data$ || of([])).pipe(tap(_ => this.source = LoadChangesSource.Data));
112
+ return combineLatest([parameters$, data$]).pipe(map(([parameters, items]) => {
113
+ const reset = this.source == LoadChangesSource.Data;
114
+ if (reset && parameters.page != LoadMoreService.START_PAGE) {
115
+ // if data changed need to start from start
116
+ this.resetParameters();
117
+ parameters = { params: parameters.params, page: 1 };
118
+ }
119
+ const filtered = model.filter ? model.filter(items, parameters) : items, size = model.size || LoadContainerConstants.DEFAULT_PAGE_SIZE, data = filtered ? {
120
+ items: skip(filtered, parameters.page, size),
121
+ next: parameters.page < Math.ceil(filtered.length / size),
122
+ reset
123
+ } : { items: [], next: false, reset };
124
+ return data;
125
+ }));
126
+ }
127
+ resetParameters() {
128
+ if (isDefined(this.contentEl))
129
+ this.contentEl.nativeElement.scrollTop = 0;
130
+ this.loadMoreService.reset();
131
+ }
132
+ }
133
+ LoadContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadContainerComponent, deps: [{ token: i1.LoaderService }, { token: i2.LoadMoreService }], target: i0.ɵɵFactoryTarget.Component });
134
+ LoadContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LoadContainerComponent, selector: "sfc-load-container", inputs: { id: "id", type: "type", open: "open", loadMore: "loadMore", showEmpty: "showEmpty", showLoadMoreButton: "showLoadMoreButton", loadMoreLabel: "loadMoreLabel", notFoundLabel: "notFoundLabel", model: "model", scrollTarget: "scrollTarget" }, outputs: { handleError: "handleError", handleSuccess: "handleSuccess", handleLoading: "handleLoading" }, host: { properties: { "class": "this.type", "class.open": "this.open", "class.empty": "this.isEmpty", "class.loading": "this._loading" } }, providers: [LoadMoreService], viewQueries: [{ propertyName: "contentEl", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div class=\"container\">\r\n <sfc-bounce-loader [id]=\"id\" [sfcComponentSize]=\"ComponentSize.Small\"></sfc-bounce-loader>\r\n <div #content class=\"content\" [sfcScrollIntoView]=\"scrollTarget\" (sfcScrollTracker)=\"onScroll()\" [positions]=\"scrollPosition\">\r\n <ng-content></ng-content>\r\n <div (sfcMouseDown)=\"$event.preventDefault()\">\r\n <sfc-load-more-button [hidden]=\"hideLoadMoreButton\" (more)=\"more($event)\" [label]=\"loadMoreLabel\">\r\n </sfc-load-more-button>\r\n <div *ngIf=\"isEmpty\" class=\"empty\">{{notFoundLabel}}</div>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{width:100%;height:inherit;position:relative}:host .container{height:inherit}:host .container .content{cursor:initial;overflow-y:auto;height:inherit}:host .container .content,:host-context(.sfc-default-theme) :host .container .content{background:#fff}:host-context(.sfc-dark-theme) :host .container .content{background:#fff}:host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:before,:host-context(.sfc-default-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:before{border-image:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host-context(.sfc-dark-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:before{border-image:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:after,:host-context(.sfc-default-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:after{border-image:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host-context(.sfc-dark-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:after{border-image:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host .container .content sfc-load-more-button ::ng-deep .container .button,:host-context(.sfc-default-theme) :host .container .content sfc-load-more-button ::ng-deep .container .button{color:#545e61}:host-context(.sfc-dark-theme) :host .container .content sfc-load-more-button ::ng-deep .container .button{color:#545e61}:host .container .content sfc-load-more-button ::ng-deep .container .button:hover{color:#ffce54}:host .container .content .empty{display:flex;align-items:center;justify-content:center;color:#545e61;cursor:default;height:100%;font-size:.8em;-webkit-user-select:none;user-select:none;padding:.7em}:host.dropdown .container .content{display:none;opacity:0;max-height:12.5em;box-shadow:0 .125em .125em #00000024,0 .18em .06em -.125em #0000001f,0 .06em .31em #0003}:host.dropdown.open .container .content{display:block;opacity:1}:host ::ng-deep ::-webkit-scrollbar{width:.375em;height:.375em}:host ::ng-deep ::-webkit-scrollbar-track{border-radius:.625em;background:#e9e9e9}:host ::ng-deep ::-webkit-scrollbar-thumb{border-radius:.625em;background:rgba(0,0,0,.2)}:host ::ng-deep ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.4)}:host ::ng-deep ::-webkit-scrollbar-thumb:active{background:rgba(0,0,0,.6)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.MouseDownDirective, selector: "[sfcMouseDown]", inputs: ["button"], outputs: ["sfcMouseDown"] }, { kind: "directive", type: i5.ComponentSizeDirective, selector: "[sfcComponentSize]", inputs: ["sfcComponentSize", "customSize"] }, { kind: "directive", type: i6.ScrollTrackerDirective, selector: "[sfcScrollTracker]", inputs: ["positions"], outputs: ["sfcScrollTracker"] }, { kind: "directive", type: i7.ScrollIntoViewDirective, selector: "[sfcScrollIntoView]", inputs: ["sfcScrollIntoView", "local", "options"] }, { kind: "component", type: i8.LoadMoreButtonComponent, selector: "sfc-load-more-button", inputs: ["label", "icon"], outputs: ["more"] }, { kind: "component", type: i9.BounceLoaderComponent, selector: "sfc-bounce-loader" }] });
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadContainerComponent, decorators: [{
136
+ type: Component,
137
+ args: [{ selector: 'sfc-load-container', providers: [LoadMoreService], template: "<div class=\"container\">\r\n <sfc-bounce-loader [id]=\"id\" [sfcComponentSize]=\"ComponentSize.Small\"></sfc-bounce-loader>\r\n <div #content class=\"content\" [sfcScrollIntoView]=\"scrollTarget\" (sfcScrollTracker)=\"onScroll()\" [positions]=\"scrollPosition\">\r\n <ng-content></ng-content>\r\n <div (sfcMouseDown)=\"$event.preventDefault()\">\r\n <sfc-load-more-button [hidden]=\"hideLoadMoreButton\" (more)=\"more($event)\" [label]=\"loadMoreLabel\">\r\n </sfc-load-more-button>\r\n <div *ngIf=\"isEmpty\" class=\"empty\">{{notFoundLabel}}</div>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{width:100%;height:inherit;position:relative}:host .container{height:inherit}:host .container .content{cursor:initial;overflow-y:auto;height:inherit}:host .container .content,:host-context(.sfc-default-theme) :host .container .content{background:#fff}:host-context(.sfc-dark-theme) :host .container .content{background:#fff}:host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:before,:host-context(.sfc-default-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:before{border-image:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host-context(.sfc-dark-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:before{border-image:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:after,:host-context(.sfc-default-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:after{border-image:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host-context(.sfc-dark-theme) :host .container .content sfc-load-more-button ::ng-deep .container ::ng-deep sfc-delimeter.horizontal:after{border-image:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 47%,rgba(0,0,0,.3) 53%,rgba(0,0,0,.3) 100%) 100% 1}:host .container .content sfc-load-more-button ::ng-deep .container .button,:host-context(.sfc-default-theme) :host .container .content sfc-load-more-button ::ng-deep .container .button{color:#545e61}:host-context(.sfc-dark-theme) :host .container .content sfc-load-more-button ::ng-deep .container .button{color:#545e61}:host .container .content sfc-load-more-button ::ng-deep .container .button:hover{color:#ffce54}:host .container .content .empty{display:flex;align-items:center;justify-content:center;color:#545e61;cursor:default;height:100%;font-size:.8em;-webkit-user-select:none;user-select:none;padding:.7em}:host.dropdown .container .content{display:none;opacity:0;max-height:12.5em;box-shadow:0 .125em .125em #00000024,0 .18em .06em -.125em #0000001f,0 .06em .31em #0003}:host.dropdown.open .container .content{display:block;opacity:1}:host ::ng-deep ::-webkit-scrollbar{width:.375em;height:.375em}:host ::ng-deep ::-webkit-scrollbar-track{border-radius:.625em;background:#e9e9e9}:host ::ng-deep ::-webkit-scrollbar-thumb{border-radius:.625em;background:rgba(0,0,0,.2)}:host ::ng-deep ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.4)}:host ::ng-deep ::-webkit-scrollbar-thumb:active{background:rgba(0,0,0,.6)}\n"] }]
138
+ }], ctorParameters: function () { return [{ type: i1.LoaderService }, { type: i2.LoadMoreService }]; }, propDecorators: { id: [{
139
+ type: Input
140
+ }], type: [{
141
+ type: Input
142
+ }, {
143
+ type: HostBinding,
144
+ args: ['class']
145
+ }], open: [{
146
+ type: Input
147
+ }, {
148
+ type: HostBinding,
149
+ args: [`class.${UIClass.Open}`]
150
+ }], loadMore: [{
151
+ type: Input
152
+ }], showEmpty: [{
153
+ type: Input
154
+ }], showLoadMoreButton: [{
155
+ type: Input
156
+ }], loadMoreLabel: [{
157
+ type: Input
158
+ }], notFoundLabel: [{
159
+ type: Input
160
+ }], model: [{
161
+ type: Input
162
+ }], scrollTarget: [{
163
+ type: Input
164
+ }], handleError: [{
165
+ type: Output
166
+ }], handleSuccess: [{
167
+ type: Output
168
+ }], handleLoading: [{
169
+ type: Output
170
+ }], contentEl: [{
171
+ type: ViewChild,
172
+ args: ['content']
173
+ }], isEmpty: [{
174
+ type: HostBinding,
175
+ args: [`class.${UIClass.Empty}`]
176
+ }], _loading: [{
177
+ type: HostBinding,
178
+ args: [`class.${UIClass.Loading}`]
179
+ }] } });
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWQtY29udGFpbmVyL2xvYWQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkLWNvbnRhaW5lci9sb2FkLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWdCLEVBQUUsRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7O0FBU3BFLE1BQU0sT0FBTyxzQkFBc0I7SUFpR2pDLFlBQW9CLGFBQTRCLEVBQVUsZUFBZ0M7UUFBdEUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUEvRjFGLGtC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ckIsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7bUhBcE1VLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDBoQkFGdEIsQ0FBQyxlQUFlLENBQUMsZ0lDakI5Qix1b0JBVU07MkZEU08sc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLG9CQUFvQixhQUduQixDQUFDLGVBQWUsQ0FBQztrSUFRNUIsRUFBRTtzQkFERCxLQUFLO2dCQUtOLElBQUk7c0JBRkgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxPQUFPO2dCQUtwQixJQUFJO3NCQUZILEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsU0FBUyxPQUFPLENBQUMsSUFBSSxFQUFFO2dCQUlwQyxRQUFRO3NCQURQLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlGLEtBQUs7c0JBRFIsS0FBSztnQkFvQk4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxhQUFhO3NCQURaLE1BQU07Z0JBSVAsYUFBYTtzQkFEWixNQUFNO2dCQUlDLFNBQVM7c0JBRGhCLFNBQVM7dUJBQUMsU0FBUztnQkFnQlQsT0FBTztzQkFEakIsV0FBVzt1QkFBQyxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7Z0JBSTdCLFFBQVE7c0JBRGYsV0FBVzt1QkFBQyxTQUFTLE9BQU8sQ0FBQyxPQUFPLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG1hcCwgdGFwLCBzd2l0Y2hNYXAsIHN0YXJ0V2l0aCwgRU1QVFksIFN1YnNjcmlwdGlvbiwgb2YsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSwgUG9zaXRpb24sIFVJQ2xhc3MgfSBmcm9tICcuLi8uLi9lbnVtcyc7XHJcbmltcG9ydCB7IElMb2FkTW9yZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvbG9hZC1tb3JlLm1vZGVsJztcclxuaW1wb3J0IHsgYW55LCBpc0RlZmluZWQsIHNraXAgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tICcuLi9sb2FkZXIvc2VydmljZS9sb2FkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IExvYWRNb3JlU2VydmljZSB9IGZyb20gJy4vc2VydmljZS9sb2FkLW1vcmUuc2VydmljZSc7XHJcbmltcG9ydCB7IElMb2FkTW9yZVBhcmFtZXRlcnMgfSBmcm9tICcuL21vZGVscy9sb2FkLW1vcmUtcGFyYW1ldGVycy5tb2RlbCc7XHJcbmltcG9ydCB7IElMb2FkQ29udGFpbmVyTW9kZWwsIExvYWRlckZ1bmN0aW9uIH0gZnJvbSAnLi9tb2RlbHMvbG9hZC1jb250YWluZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBMb2FkQ2hhbmdlc1NvdXJjZSwgTG9hZENvbnRhaW5lclR5cGUgfSBmcm9tICcuL2xvYWQtY29udGFpbmVyLmVudW0nO1xyXG5pbXBvcnQgeyBMb2FkQ29udGFpbmVyQ29uc3RhbnRzIH0gZnJvbSAnLi9sb2FkLWNvbnRhaW5lci5jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBJTG9hZE1vcmVQcmVkaWNhdGVQYXJhbWV0ZXJzIH0gZnJvbSAnLi9tb2RlbHMvbG9hZC1tb3JlLXByZWRpY2F0ZS1wYXJhbWV0ZXJzLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLWxvYWQtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9hZC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xvYWQtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbTG9hZE1vcmVTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9hZENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplO1xyXG4gIFBvc2l0aW9uID0gUG9zaXRpb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaWQhOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgdHlwZTogTG9hZENvbnRhaW5lclR5cGUgPSBMb2FkQ29udGFpbmVyVHlwZS5Ecm9wZG93bjtcclxuXHJcbiAgQElucHV0KClcclxuICBASG9zdEJpbmRpbmcoYGNsYXNzLiR7VUlDbGFzcy5PcGVufWApXHJcbiAgb3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGxvYWRNb3JlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93RW1wdHk6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dMb2FkTW9yZUJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9hZE1vcmVMYWJlbCE6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBub3RGb3VuZExhYmVsOiBzdHJpbmcgPSBMb2FkQ29udGFpbmVyQ29uc3RhbnRzLkRFRkFVTFRfTk9UX0ZPVU5EX0xBQkVMO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBtb2RlbChtb2RlbDogSUxvYWRDb250YWluZXJNb2RlbCkge1xyXG4gICAgaWYgKGlzRGVmaW5lZChtb2RlbCkpIHtcclxuICAgICAgY29uc3QgcGFyYW1ldGVycyQgPSB0aGlzLmJ1aWxkUGFyYW1ldGVycyhtb2RlbC5wcmVkaWNhdGUkKSxcclxuICAgICAgICBkYXRhJDogT2JzZXJ2YWJsZTxJTG9hZE1vcmVNb2RlbDxhbnk+PiA9IGlzRGVmaW5lZChtb2RlbC5sb2FkZXIpID9cclxuICAgICAgICAgIHRoaXMuYnVpbGREeW5hbWljKHBhcmFtZXRlcnMkLCBtb2RlbC5sb2FkZXIgYXMgTG9hZGVyRnVuY3Rpb24pIDogdGhpcy5idWlsZFN0YXRpYyhwYXJhbWV0ZXJzJCwgbW9kZWwpO1xyXG5cclxuICAgICAgaWYgKGlzRGVmaW5lZCh0aGlzLl9zdWJzY3JpcHRpb24pKVxyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gZGF0YSQuc3Vic2NyaWJlKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5leHQ6IChyZXN1bHQ6IElMb2FkTW9yZU1vZGVsPGFueT4pID0+IHRoaXMuc3VjY2VzcyhyZXN1bHQpLFxyXG4gICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4gdGhpcy5lcnJvcihlcnJvcilcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNjcm9sbFRhcmdldCE6IEhUTUxFbGVtZW50O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBoYW5kbGVFcnJvcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgaGFuZGxlU3VjY2VzczogRXZlbnRFbWl0dGVyPElMb2FkTW9yZU1vZGVsPGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxJTG9hZE1vcmVNb2RlbDxhbnk+PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBoYW5kbGVMb2FkaW5nOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKVxyXG4gIHByaXZhdGUgY29udGVudEVsITogRWxlbWVudFJlZjtcclxuXHJcbiAgcHVibGljIG5leHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGdldCBzY3JvbGxQb3NpdGlvbigpOiBQb3NpdGlvbltdIHtcclxuICAgIHJldHVybiAhdGhpcy5hbGxvd0xvYWRNb3JlIHx8IHRoaXMuc2hvd0xvYWRNb3JlQnV0dG9uID8gW10gOiBbUG9zaXRpb24uQm90dG9tXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYWxsb3dMb2FkTW9yZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMubmV4dCAmJiB0aGlzLmxvYWRNb3JlOyB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaGlkZUxvYWRNb3JlQnV0dG9uKCk6IGJvb2xlYW4geyByZXR1cm4gISh0aGlzLmFsbG93TG9hZE1vcmUgJiYgdGhpcy5zaG93TG9hZE1vcmVCdXR0b24pOyB9XHJcblxyXG4gIHB1YmxpYyBlbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoYGNsYXNzLiR7VUlDbGFzcy5FbXB0eX1gKVxyXG4gIHB1YmxpYyBnZXQgaXNFbXB0eSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuZW1wdHkgJiYgdGhpcy5zaG93RW1wdHk7IH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKGBjbGFzcy4ke1VJQ2xhc3MuTG9hZGluZ31gKVxyXG4gIHByaXZhdGUgX2xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XHJcbiAgICBpZiAodmFsdWUpXHJcbiAgICAgIHRoaXMubG9hZGVyU2VydmljZS5zaG93KHRoaXMuaWQsIHRydWUpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmxvYWRlclNlcnZpY2UuaGlkZSh0aGlzLmlkKTtcclxuXHJcbiAgICB0aGlzLmhhbmRsZUxvYWRpbmcuZW1pdCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8vIGRlZmluZSB3aGF0IHNvdXJjZSBlbWl0IGNoYW5nZXMgZm9yIGRhdGEgKDEuIGRhdGEgY2hhbmdlcywgMi4gcHJlZGljYXRlIGNvbmRpdGlvbnMpXHJcbiAgcHJpdmF0ZSBzb3VyY2U6IExvYWRDaGFuZ2VzU291cmNlID0gTG9hZENoYW5nZXNTb3VyY2UuRGF0YTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBMb2FkZXJTZXJ2aWNlLCBwcml2YXRlIGxvYWRNb3JlU2VydmljZTogTG9hZE1vcmVTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKVxyXG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBtb3JlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5sb2FkTW9yZVNlcnZpY2UubW9yZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2Nyb2xsKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWxsb3dMb2FkTW9yZSlcclxuICAgICAgdGhpcy5sb2FkTW9yZVNlcnZpY2UubW9yZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWNjZXNzKHJlc3VsdDogSUxvYWRNb3JlTW9kZWw8YW55Pik6IHZvaWQge1xyXG4gICAgdGhpcy5uZXh0ID0gcmVzdWx0Lm5leHQ7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuZW1wdHkgPSAhYW55KHJlc3VsdC5pdGVtcyk7XHJcbiAgICB0aGlzLmhhbmRsZVN1Y2Nlc3MuZW1pdChyZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlcnJvcihlcnJvcjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuZW1wdHkgPSBmYWxzZTtcclxuICAgIHRoaXMuaGFuZGxlRXJyb3IuZW1pdChlcnJvcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkUGFyYW1ldGVycyhwcmVkaWNhdGUkOiBPYnNlcnZhYmxlPElMb2FkTW9yZVByZWRpY2F0ZVBhcmFtZXRlcnMgfCBudWxsPiB8IHVuZGVmaW5lZClcclxuICAgIDogT2JzZXJ2YWJsZTxJTG9hZE1vcmVQYXJhbWV0ZXJzPiB7XHJcbiAgICBjb25zdCBwYXJhbWV0ZXJzJCA9IChwcmVkaWNhdGUkIHx8IEVNUFRZLnBpcGUoc3RhcnRXaXRoKG51bGwpKSkucGlwZShcclxuICAgICAgdGFwKChwcmVkaWNhdGVQYXJhbWV0ZXJzOiBJTG9hZE1vcmVQcmVkaWNhdGVQYXJhbWV0ZXJzIHwgbnVsbCkgPT4ge1xyXG4gICAgICAgIGlmIChwcmVkaWNhdGVQYXJhbWV0ZXJzKVxyXG4gICAgICAgICAgdGhpcy5yZXNldFBhcmFtZXRlcnMoKTtcclxuICAgICAgfSksXHJcbiAgICAgIHN3aXRjaE1hcCgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRNb3JlU2VydmljZS5tb3JlJC5waXBlKFxyXG4gICAgICAgICAgc3RhcnRXaXRoKExvYWRNb3JlU2VydmljZS5TVEFSVF9QQUdFKSxcclxuICAgICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc291cmNlID0gTG9hZENoYW5nZXNTb3VyY2UuUGFyYW1ldGVycztcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgbWFwKChwYWdlOiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgcGFyYW1zOiB2YWx1ZSwgcGFnZTogcGFnZSB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIHBhcmFtZXRlcnMkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZER5bmFtaWMocGFyYW1ldGVycyQ6IE9ic2VydmFibGU8SUxvYWRNb3JlUGFyYW1ldGVycz4sIGxvYWRlcjogTG9hZGVyRnVuY3Rpb24pXHJcbiAgICA6IE9ic2VydmFibGU8SUxvYWRNb3JlTW9kZWw8YW55Pj4ge1xyXG4gICAgcmV0dXJuIHBhcmFtZXRlcnMkLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgocGFyYW1ldGVyczogSUxvYWRNb3JlUGFyYW1ldGVycykgPT4gbG9hZGVyKHBhcmFtZXRlcnMsIHRoaXMuc291cmNlKS5waXBlKFxyXG4gICAgICAgIHRhcCgobW9kZWw6IElMb2FkTW9yZU1vZGVsPGFueT4pID0+IHtcclxuICAgICAgICAgIGlmIChtb2RlbC5yZXNldCkge1xyXG4gICAgICAgICAgICB0aGlzLnNvdXJjZSA9IExvYWRDaGFuZ2VzU291cmNlLkRhdGE7XHJcbiAgICAgICAgICAgIHRoaXMucmVzZXRQYXJhbWV0ZXJzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkU3RhdGljKHBhcmFtZXRlcnMkOiBPYnNlcnZhYmxlPElMb2FkTW9yZVBhcmFtZXRlcnM+LCBtb2RlbDogSUxvYWRDb250YWluZXJNb2RlbClcclxuICAgIDogT2JzZXJ2YWJsZTxJTG9hZE1vcmVNb2RlbDxhbnk+PiB7XHJcbiAgICBjb25zdCBkYXRhJCA9IChtb2RlbC5kYXRhJCB8fCBvZihbXSkpLnBpcGUoXHJcbiAgICAgIHRhcChfID0+IHRoaXMuc291cmNlID0gTG9hZENoYW5nZXNTb3VyY2UuRGF0YSkpO1xyXG5cclxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtwYXJhbWV0ZXJzJCwgZGF0YSRdKS5waXBlKFxyXG4gICAgICBtYXAoKFtwYXJhbWV0ZXJzLCBpdGVtc10pID0+IHtcclxuICAgICAgICBjb25zdCByZXNldDogYm9vbGVhbiA9IHRoaXMuc291cmNlID09IExvYWRDaGFuZ2VzU291cmNlLkRhdGE7XHJcblxyXG4gICAgICAgIGlmIChyZXNldCAmJiBwYXJhbWV0ZXJzLnBhZ2UgIT0gTG9hZE1vcmVTZXJ2aWNlLlNUQVJUX1BBR0UpIHtcclxuICAgICAgICAgIC8vIGlmIGRhdGEgY2hhbmdlZCBuZWVkIHRvIHN0YXJ0IGZyb20gc3RhcnRcclxuICAgICAgICAgIHRoaXMucmVzZXRQYXJhbWV0ZXJzKCk7XHJcbiAgICAgICAgICBwYXJhbWV0ZXJzID0geyBwYXJhbXM6IHBhcmFtZXRlcnMucGFyYW1zLCBwYWdlOiAxIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IG1vZGVsLmZpbHRlciA/IG1vZGVsLmZpbHRlcihpdGVtcywgcGFyYW1ldGVycykgOiBpdGVtcyxcclxuICAgICAgICAgIHNpemUgPSBtb2RlbC5zaXplIHx8IExvYWRDb250YWluZXJDb25zdGFudHMuREVGQVVMVF9QQUdFX1NJWkUsXHJcbiAgICAgICAgICBkYXRhOiBJTG9hZE1vcmVNb2RlbDxhbnk+ID0gZmlsdGVyZWQgPyB7XHJcbiAgICAgICAgICAgIGl0ZW1zOiBza2lwKGZpbHRlcmVkLCBwYXJhbWV0ZXJzLnBhZ2UsIHNpemUpLFxyXG4gICAgICAgICAgICBuZXh0OiBwYXJhbWV0ZXJzLnBhZ2UgPCBNYXRoLmNlaWwoZmlsdGVyZWQubGVuZ3RoIC8gc2l6ZSksXHJcbiAgICAgICAgICAgIHJlc2V0XHJcbiAgICAgICAgICB9IDogeyBpdGVtczogW10sIG5leHQ6IGZhbHNlLCByZXNldCB9O1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2V0UGFyYW1ldGVycygpOiB2b2lkIHtcclxuICAgIGlmIChpc0RlZmluZWQodGhpcy5jb250ZW50RWwpKVxyXG4gICAgICB0aGlzLmNvbnRlbnRFbC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IDA7XHJcblxyXG4gICAgdGhpcy5sb2FkTW9yZVNlcnZpY2UucmVzZXQoKTtcclxuICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8c2ZjLWJvdW5jZS1sb2FkZXIgW2lkXT1cImlkXCIgW3NmY0NvbXBvbmVudFNpemVdPVwiQ29tcG9uZW50U2l6ZS5TbWFsbFwiPjwvc2ZjLWJvdW5jZS1sb2FkZXI+XHJcbiAgICA8ZGl2ICNjb250ZW50IGNsYXNzPVwiY29udGVudFwiIFtzZmNTY3JvbGxJbnRvVmlld109XCJzY3JvbGxUYXJnZXRcIiAoc2ZjU2Nyb2xsVHJhY2tlcik9XCJvblNjcm9sbCgpXCIgW3Bvc2l0aW9uc109XCJzY3JvbGxQb3NpdGlvblwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8ZGl2IChzZmNNb3VzZURvd24pPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cclxuICAgICAgICAgICAgPHNmYy1sb2FkLW1vcmUtYnV0dG9uIFtoaWRkZW5dPVwiaGlkZUxvYWRNb3JlQnV0dG9uXCIgKG1vcmUpPVwibW9yZSgkZXZlbnQpXCIgW2xhYmVsXT1cImxvYWRNb3JlTGFiZWxcIj5cclxuICAgICAgICAgICAgPC9zZmMtbG9hZC1tb3JlLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzRW1wdHlcIiBjbGFzcz1cImVtcHR5XCI+e3tub3RGb3VuZExhYmVsfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,5 @@
1
+ export class LoadContainerConstants {
2
+ }
3
+ LoadContainerConstants.DEFAULT_PAGE_SIZE = 5;
4
+ LoadContainerConstants.DEFAULT_NOT_FOUND_LABEL = 'Not found';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1jb250YWluZXIuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWQtY29udGFpbmVyL2xvYWQtY29udGFpbmVyLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sc0JBQXNCOztBQUN4Qix3Q0FBaUIsR0FBVyxDQUFDLENBQUM7QUFDOUIsOENBQXVCLEdBQVcsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExvYWRDb250YWluZXJDb25zdGFudHMge1xyXG4gICAgc3RhdGljIERFRkFVTFRfUEFHRV9TSVpFOiBudW1iZXIgPSA1O1xyXG4gICAgc3RhdGljIERFRkFVTFRfTk9UX0ZPVU5EX0xBQkVMOiBzdHJpbmcgPSAnTm90IGZvdW5kJztcclxufSJdfQ==
@@ -0,0 +1,11 @@
1
+ export var LoadContainerType;
2
+ (function (LoadContainerType) {
3
+ LoadContainerType["Dropdown"] = "dropdown";
4
+ LoadContainerType["Table"] = "table";
5
+ })(LoadContainerType || (LoadContainerType = {}));
6
+ export var LoadChangesSource;
7
+ (function (LoadChangesSource) {
8
+ LoadChangesSource["Parameters"] = "parameters";
9
+ LoadChangesSource["Data"] = "data";
10
+ })(LoadChangesSource || (LoadChangesSource = {}));
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1jb250YWluZXIuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkLWNvbnRhaW5lci9sb2FkLWNvbnRhaW5lci5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsMENBQXFCLENBQUE7SUFDckIsb0NBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QjtBQUVELE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsOENBQXlCLENBQUE7SUFDekIsa0NBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIExvYWRDb250YWluZXJUeXBlIHtcclxuICAgIERyb3Bkb3duID0gJ2Ryb3Bkb3duJyxcclxuICAgIFRhYmxlID0gJ3RhYmxlJ1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBMb2FkQ2hhbmdlc1NvdXJjZSB7XHJcbiAgICBQYXJhbWV0ZXJzID0gJ3BhcmFtZXRlcnMnLFxyXG4gICAgRGF0YSA9ICdkYXRhJ1xyXG59Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1jb250YWluZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZC1jb250YWluZXIvbW9kZWxzL2xvYWQtY29udGFpbmVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgSUxvYWRNb3JlTW9kZWwgfSBmcm9tIFwiLi9sb2FkLW1vcmUubW9kZWxcIjtcclxuaW1wb3J0IHsgSUxvYWRNb3JlUGFyYW1ldGVycyB9IGZyb20gXCIuL2xvYWQtbW9yZS1wYXJhbWV0ZXJzLm1vZGVsXCI7XHJcbmltcG9ydCB7IElMb2FkTW9yZVByZWRpY2F0ZVBhcmFtZXRlcnMgfSBmcm9tIFwiLi9sb2FkLW1vcmUtcHJlZGljYXRlLXBhcmFtZXRlcnMubW9kZWxcIjtcclxuaW1wb3J0IHsgTG9hZENoYW5nZXNTb3VyY2UgfSBmcm9tIFwiLi4vbG9hZC1jb250YWluZXIuZW51bVwiO1xyXG5cclxuZXhwb3J0IHR5cGUgTG9hZGVyRnVuY3Rpb24gPSAocGFyYW1ldGVyczogSUxvYWRNb3JlUGFyYW1ldGVycywgc291cmNlOiBMb2FkQ2hhbmdlc1NvdXJjZSkgPT4gT2JzZXJ2YWJsZTxJTG9hZE1vcmVNb2RlbDxhbnk+PjtcclxuZXhwb3J0IHR5cGUgRmlsdGVyRnVuY3Rpb24gPSAoZGF0YTogYW55W10sIHBhcmFtZXRlcnM6IElMb2FkTW9yZVBhcmFtZXRlcnMpID0+IGFueVtdO1xyXG5leHBvcnQgaW50ZXJmYWNlIElMb2FkQ29udGFpbmVyTW9kZWwge1xyXG4gICAgc2l6ZT86IG51bWJlcjtcclxuICAgIHByZWRpY2F0ZSQ/OiBPYnNlcnZhYmxlPElMb2FkTW9yZVByZWRpY2F0ZVBhcmFtZXRlcnMgfCBudWxsPjtcclxuICAgIGRhdGEkPzogT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgICBsb2FkZXI/OiBMb2FkZXJGdW5jdGlvbjtcclxuICAgIGZpbHRlcj86IEZpbHRlckZ1bmN0aW9uO1xyXG59Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLXBhcmFtZXRlcnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZC1jb250YWluZXIvbW9kZWxzL2xvYWQtbW9yZS1wYXJhbWV0ZXJzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTG9hZE1vcmVQcmVkaWNhdGVQYXJhbWV0ZXJzIH0gZnJvbSBcIi4vbG9hZC1tb3JlLXByZWRpY2F0ZS1wYXJhbWV0ZXJzLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElMb2FkTW9yZVBhcmFtZXRlcnMge1xyXG4gICAgcGFyYW1zOiBJTG9hZE1vcmVQcmVkaWNhdGVQYXJhbWV0ZXJzLFxyXG4gICAgcGFnZTogbnVtYmVyXHJcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLXByZWRpY2F0ZS1wYXJhbWV0ZXJzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWQtY29udGFpbmVyL21vZGVscy9sb2FkLW1vcmUtcHJlZGljYXRlLXBhcmFtZXRlcnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUxvYWRNb3JlUHJlZGljYXRlUGFyYW1ldGVycyB7XHJcbiAgICB2YWx1ZTogYW55O1xyXG59Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWQtY29udGFpbmVyL21vZGVscy9sb2FkLW1vcmUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUxvYWRNb3JlTW9kZWw8VD4ge1xyXG4gICAgbmV4dDogYm9vbGVhbjtcclxuICAgIGl0ZW1zOiBUW107XHJcbiAgICByZXNldDogYm9vbGVhbjtcclxufSJdfQ==
@@ -0,0 +1,27 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class LoadMoreService {
5
+ constructor() {
6
+ this._page = LoadMoreService.START_PAGE;
7
+ this.moreSubject = new Subject();
8
+ this.more$ = this.moreSubject.asObservable();
9
+ }
10
+ more() {
11
+ this._page++;
12
+ this.moreSubject.next(this._page);
13
+ }
14
+ reset() {
15
+ this._page = LoadMoreService.START_PAGE;
16
+ }
17
+ }
18
+ LoadMoreService.START_PAGE = 1;
19
+ LoadMoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
20
+ LoadMoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreService, providedIn: 'root' });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreService, decorators: [{
22
+ type: Injectable,
23
+ args: [{
24
+ providedIn: 'root'
25
+ }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZC1jb250YWluZXIvc2VydmljZS9sb2FkLW1vcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxlQUFlO0lBSDVCO1FBT1ksVUFBSyxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFFbkMsZ0JBQVcsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUV0RCxVQUFLLEdBQXVCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7S0FVdEU7SUFSRyxJQUFJO1FBQ0EsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO0lBQzVDLENBQUM7O0FBZnNCLDBCQUFVLEdBQVcsQ0FBQyxDQUFDOzRHQUZyQyxlQUFlO2dIQUFmLGVBQWUsY0FGWixNQUFNOzJGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvYWRNb3JlU2VydmljZSB7XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVEFSVF9QQUdFOiBudW1iZXIgPSAxO1xyXG5cclxuICAgIHByaXZhdGUgX3BhZ2UgPSBMb2FkTW9yZVNlcnZpY2UuU1RBUlRfUEFHRTtcclxuXHJcbiAgICBwcml2YXRlIG1vcmVTdWJqZWN0OiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XHJcblxyXG4gICAgcHVibGljIG1vcmUkOiBPYnNlcnZhYmxlPG51bWJlcj4gPSB0aGlzLm1vcmVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIG1vcmUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcGFnZSsrO1xyXG4gICAgICAgIHRoaXMubW9yZVN1YmplY3QubmV4dCh0aGlzLl9wYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXNldCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9wYWdlID0gTG9hZE1vcmVTZXJ2aWNlLlNUQVJUX1BBR0U7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,31 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { faChevronCircleDown } from '@fortawesome/free-solid-svg-icons';
3
+ import { isNullOrEmptyString } from '../../utils';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@fortawesome/angular-fontawesome";
6
+ import * as i2 from "../../directives/mouse-down/mouse-down.directive";
7
+ import * as i3 from "../delimeter/delimeter.component";
8
+ export class LoadMoreButtonComponent {
9
+ constructor() {
10
+ this.DEFAULT_LABEL = 'Show more';
11
+ this.icon = faChevronCircleDown;
12
+ this.more = new EventEmitter();
13
+ }
14
+ ngOnInit() {
15
+ if (isNullOrEmptyString(this.label))
16
+ this.label = this.DEFAULT_LABEL;
17
+ }
18
+ }
19
+ LoadMoreButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ LoadMoreButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LoadMoreButtonComponent, selector: "sfc-load-more-button", inputs: { label: "label", icon: "icon" }, outputs: { more: "more" }, ngImport: i0, template: "<div class=\"container\">\r\n <sfc-delimeter></sfc-delimeter>\r\n <div class=\"button\" (sfcMouseDown)=\"more.emit($event)\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n <span>{{label}}</span>\r\n </div>\r\n</div>", styles: [":host{cursor:default}:host .container{text-align:center;background-color:#fff}:host .container .button{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;cursor:pointer;transition:color .5s;padding:.5em 0 1em}:host .container .button,:host-context(.sfc-default-theme) :host .container .button{color:#545e61}:host-context(.sfc-dark-theme) :host .container .button{color:#fff}:host .container .button fa-icon{font-size:.7em;margin-right:.31em}:host .container .button span{font-size:.6em;font-weight:700;text-transform:uppercase}:host .container .button:hover{color:#ffce54}\n"], dependencies: [{ kind: "component", type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: i2.MouseDownDirective, selector: "[sfcMouseDown]", inputs: ["button"], outputs: ["sfcMouseDown"] }, { kind: "component", type: i3.DelimeterComponent, selector: "sfc-delimeter", inputs: ["label", "direction"] }] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreButtonComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'sfc-load-more-button', template: "<div class=\"container\">\r\n <sfc-delimeter></sfc-delimeter>\r\n <div class=\"button\" (sfcMouseDown)=\"more.emit($event)\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n <span>{{label}}</span>\r\n </div>\r\n</div>", styles: [":host{cursor:default}:host .container{text-align:center;background-color:#fff}:host .container .button{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;cursor:pointer;transition:color .5s;padding:.5em 0 1em}:host .container .button,:host-context(.sfc-default-theme) :host .container .button{color:#545e61}:host-context(.sfc-dark-theme) :host .container .button{color:#fff}:host .container .button fa-icon{font-size:.7em;margin-right:.31em}:host .container .button span{font-size:.6em;font-weight:700;text-transform:uppercase}:host .container .button:hover{color:#ffce54}\n"] }]
24
+ }], propDecorators: { label: [{
25
+ type: Input
26
+ }], icon: [{
27
+ type: Input
28
+ }], more: [{
29
+ type: Output
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1tb3JlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZC1tb3JlLWJ1dHRvbi9sb2FkLW1vcmUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkLW1vcmUtYnV0dG9uL2xvYWQtbW9yZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQWtCLE1BQU0sbUNBQW1DLENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7OztBQU9sRCxNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBT21CLGtCQUFhLEdBQUcsV0FBVyxDQUFDO1FBTTdDLFNBQUksR0FBbUIsbUJBQW1CLENBQUM7UUFHM0MsU0FBSSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO0tBTWpFO0lBSkMsUUFBUTtRQUNOLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDcEMsQ0FBQzs7b0hBaEJVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGlJQ1RwQyw4T0FNTTsyRkRHTyx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQVNoQyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmFDaGV2cm9uQ2lyY2xlRG93biwgSWNvbkRlZmluaXRpb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xyXG5pbXBvcnQgeyBpc051bGxPckVtcHR5U3RyaW5nIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZmMtbG9hZC1tb3JlLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xvYWQtbW9yZS1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xvYWQtbW9yZS1idXR0b24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9hZE1vcmVCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfTEFCRUwgPSAnU2hvdyBtb3JlJztcclxuXHJcbiAgQElucHV0KClcclxuICBsYWJlbCE6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBpY29uOiBJY29uRGVmaW5pdGlvbiA9IGZhQ2hldnJvbkNpcmNsZURvd247XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG1vcmU6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoaXNOdWxsT3JFbXB0eVN0cmluZyh0aGlzLmxhYmVsKSlcclxuICAgICAgdGhpcy5sYWJlbCA9IHRoaXMuREVGQVVMVF9MQUJFTDtcclxuICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8c2ZjLWRlbGltZXRlcj48L3NmYy1kZWxpbWV0ZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uXCIgKHNmY01vdXNlRG93bik9XCJtb3JlLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxmYS1pY29uIFtpY29uXT1cImljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgPHNwYW4+e3tsYWJlbH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { Component } from '@angular/core';
2
+ import { LoaderBaseComponent } from '../loader-base.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class BounceLoaderComponent extends LoaderBaseComponent {
6
+ }
7
+ BounceLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BounceLoaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
8
+ BounceLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BounceLoaderComponent, selector: "sfc-bounce-loader", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"spinner\">\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".spinner{text-align:center}.spinner .bounce{border-radius:100%;display:inline-block;animation:bounce-delay 1.4s infinite ease-in-out both;width:1em;height:1em}.spinner .bounce,:host-context(.sfc-default-theme) .spinner .bounce{background-color:#545e61}:host-context(.sfc-dark-theme) .spinner .bounce{background-color:#fff}.spinner .bounce:nth-child(1){animation-delay:-.32s}.spinner .bounce:nth-child(2){animation-delay:-.16s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BounceLoaderComponent, decorators: [{
10
+ type: Component,
11
+ args: [{ selector: 'sfc-bounce-loader', template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"spinner\">\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".spinner{text-align:center}.spinner .bounce{border-radius:100%;display:inline-block;animation:bounce-delay 1.4s infinite ease-in-out both;width:1em;height:1em}.spinner .bounce,:host-context(.sfc-default-theme) .spinner .bounce{background-color:#545e61}:host-context(.sfc-dark-theme) .spinner .bounce{background-color:#fff}.spinner .bounce:nth-child(1){animation-delay:-.32s}.spinner .bounce:nth-child(2){animation-delay:-.16s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}\n"] }]
12
+ }] });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmNlLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyL2JvdW5jZS9ib3VuY2UtbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvYm91bmNlL2JvdW5jZS1sb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTy9ELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxtQkFBbUI7O2tIQUFqRCxxQkFBcUI7c0dBQXJCLHFCQUFxQixnRkNSbEMsaVFBTU07MkZERU8scUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2FkZXJCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGVyLWJhc2UuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLWJvdW5jZS1sb2FkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ib3VuY2UtbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vc3R5bGVzL2xvYWRlci1iYXNlLmNvbXBvbmVudC5zY3NzJywgJy4vYm91bmNlLWxvYWRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCb3VuY2VMb2FkZXJDb21wb25lbnQgZXh0ZW5kcyBMb2FkZXJCYXNlQ29tcG9uZW50IHtcclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwic2hvdyQgfCBhc3luY1wiIGNsYXNzPVwicHJlbG9hZGVyXCIgW25nQ2xhc3NdPVwicHJlTG9hZGVyQ2xhc3Nlc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNwaW5uZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm91bmNlXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvdW5jZVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3VuY2VcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,6 @@
1
+ export var CircleLoaderType;
2
+ (function (CircleLoaderType) {
3
+ CircleLoaderType["Default"] = "default";
4
+ CircleLoaderType["Fading"] = "fading";
5
+ })(CircleLoaderType || (CircleLoaderType = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lyY2xlLWxvYWRlci10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyL2NpcmNsZS9jaXJjbGUtbG9hZGVyLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQ3hCLHVDQUFtQixDQUFBO0lBQ25CLHFDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ2lyY2xlTG9hZGVyVHlwZSB7XHJcbiAgICBEZWZhdWx0ID0gJ2RlZmF1bHQnLFxyXG4gICAgRmFkaW5nID0gJ2ZhZGluZydcclxufSJdfQ==
@@ -0,0 +1,20 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { LoaderBaseComponent } from '../loader-base.component';
3
+ import { CircleLoaderType } from './circle-loader-type.enum';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class CircleLoaderComponent extends LoaderBaseComponent {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.type = CircleLoaderType.Default;
10
+ }
11
+ }
12
+ CircleLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CircleLoaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
13
+ CircleLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CircleLoaderComponent, selector: "sfc-circle-loader", inputs: { type: "type" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"circles-container\" [ngClass]=\"type\">\r\n <div class=\"circle1\"></div>\r\n <div class=\"circle2\"></div>\r\n <div class=\"circle3\"></div>\r\n <div class=\"circle4\"></div>\r\n <div class=\"circle5\"></div>\r\n <div class=\"circle6\"></div>\r\n <div class=\"circle7\"></div>\r\n <div class=\"circle8\"></div>\r\n <div class=\"circle9\"></div>\r\n <div class=\"circle10\"></div>\r\n <div class=\"circle11\"></div>\r\n <div class=\"circle12\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".circles-container{position:relative;width:2.5em;height:2.5em}.circles-container div{width:100%;height:100%;position:absolute;left:0;top:0}.circles-container div:before{content:\"\";display:block;margin:0 auto;width:15%;height:15%;border-radius:100%;animation:bounce-delay 1.2s infinite ease-in-out both}.circles-container div:before,:host-context(.sfc-default-theme) .circles-container div:before{background-color:#545e61}:host-context(.sfc-dark-theme) .circles-container div:before{background-color:#fff}.circles-container.fading div:before{animation-name:circle-fade-delay}.circles-container .circle2{transform:rotate(30deg)}.circles-container .circle2:before{animation-delay:-1.1s}.circles-container .circle3{transform:rotate(60deg)}.circles-container .circle3:before{animation-delay:-1s}.circles-container .circle4{transform:rotate(90deg)}.circles-container .circle4:before{animation-delay:-.9s}.circles-container .circle5{transform:rotate(120deg)}.circles-container .circle5:before{animation-delay:-.8s}.circles-container .circle6{transform:rotate(150deg)}.circles-container .circle6:before{animation-delay:-.7s}.circles-container .circle7{transform:rotate(180deg)}.circles-container .circle7:before{animation-delay:-.6s}.circles-container .circle8{transform:rotate(210deg)}.circles-container .circle8:before{animation-delay:-.5s}.circles-container .circle9{transform:rotate(240deg)}.circles-container .circle9:before{animation-delay:-.4s}.circles-container .circle10{transform:rotate(270deg)}.circles-container .circle10:before{animation-delay:-.3s}.circles-container .circle11{transform:rotate(300deg)}.circles-container .circle11:before{animation-delay:-.2s}.circles-container .circle12{transform:rotate(330deg)}.circles-container .circle12:before{animation-delay:-.1s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes circle-fade-delay{0%,39%,to{opacity:0}40%{opacity:1}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CircleLoaderComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'sfc-circle-loader', template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"circles-container\" [ngClass]=\"type\">\r\n <div class=\"circle1\"></div>\r\n <div class=\"circle2\"></div>\r\n <div class=\"circle3\"></div>\r\n <div class=\"circle4\"></div>\r\n <div class=\"circle5\"></div>\r\n <div class=\"circle6\"></div>\r\n <div class=\"circle7\"></div>\r\n <div class=\"circle8\"></div>\r\n <div class=\"circle9\"></div>\r\n <div class=\"circle10\"></div>\r\n <div class=\"circle11\"></div>\r\n <div class=\"circle12\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".circles-container{position:relative;width:2.5em;height:2.5em}.circles-container div{width:100%;height:100%;position:absolute;left:0;top:0}.circles-container div:before{content:\"\";display:block;margin:0 auto;width:15%;height:15%;border-radius:100%;animation:bounce-delay 1.2s infinite ease-in-out both}.circles-container div:before,:host-context(.sfc-default-theme) .circles-container div:before{background-color:#545e61}:host-context(.sfc-dark-theme) .circles-container div:before{background-color:#fff}.circles-container.fading div:before{animation-name:circle-fade-delay}.circles-container .circle2{transform:rotate(30deg)}.circles-container .circle2:before{animation-delay:-1.1s}.circles-container .circle3{transform:rotate(60deg)}.circles-container .circle3:before{animation-delay:-1s}.circles-container .circle4{transform:rotate(90deg)}.circles-container .circle4:before{animation-delay:-.9s}.circles-container .circle5{transform:rotate(120deg)}.circles-container .circle5:before{animation-delay:-.8s}.circles-container .circle6{transform:rotate(150deg)}.circles-container .circle6:before{animation-delay:-.7s}.circles-container .circle7{transform:rotate(180deg)}.circles-container .circle7:before{animation-delay:-.6s}.circles-container .circle8{transform:rotate(210deg)}.circles-container .circle8:before{animation-delay:-.5s}.circles-container .circle9{transform:rotate(240deg)}.circles-container .circle9:before{animation-delay:-.4s}.circles-container .circle10{transform:rotate(270deg)}.circles-container .circle10:before{animation-delay:-.3s}.circles-container .circle11{transform:rotate(300deg)}.circles-container .circle11:before{animation-delay:-.2s}.circles-container .circle12{transform:rotate(330deg)}.circles-container .circle12:before{animation-delay:-.1s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes circle-fade-delay{0%,39%,to{opacity:0}40%{opacity:1}}\n"] }]
17
+ }], propDecorators: { type: [{
18
+ type: Input
19
+ }] } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lyY2xlLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyL2NpcmNsZS9jaXJjbGUtbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvY2lyY2xlL2NpcmNsZS1sb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQU83RCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW1CO0lBTDlEOztRQVFFLFNBQUksR0FBcUIsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO0tBQ25EOztrSEFKWSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwwR0NUbEMscXBCQWVNOzJGRE5PLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7OEJBTzdCLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9hZGVyQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2xvYWRlci1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENpcmNsZUxvYWRlclR5cGUgfSBmcm9tICcuL2NpcmNsZS1sb2FkZXItdHlwZS5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ZjLWNpcmNsZS1sb2FkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaXJjbGUtbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vc3R5bGVzL2xvYWRlci1iYXNlLmNvbXBvbmVudC5zY3NzJywgJy4vY2lyY2xlLWxvYWRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaXJjbGVMb2FkZXJDb21wb25lbnQgZXh0ZW5kcyBMb2FkZXJCYXNlQ29tcG9uZW50IHtcclxuICBcclxuICBASW5wdXQoKVxyXG4gIHR5cGU6IENpcmNsZUxvYWRlclR5cGUgPSBDaXJjbGVMb2FkZXJUeXBlLkRlZmF1bHQ7XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInNob3ckIHwgYXN5bmNcIiBjbGFzcz1cInByZWxvYWRlclwiIFtuZ0NsYXNzXT1cInByZUxvYWRlckNsYXNzZXNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaXJjbGVzLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInR5cGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlMVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaXJjbGUyXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNpcmNsZTNcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlNFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaXJjbGU1XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNpcmNsZTZcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlN1wiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaXJjbGU4XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNpcmNsZTlcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlMTBcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlMTFcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlMTJcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,51 @@
1
+ import { Directive, Input } from "@angular/core";
2
+ import { EMPTY, map } from "rxjs";
3
+ import { UIClass } from "../../enums";
4
+ import { LoaderConstants } from "./loader.constants";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./service/loader.service";
7
+ export class LoaderBaseComponent {
8
+ constructor(loaderService) {
9
+ this.loaderService = loaderService;
10
+ this.UIClass = UIClass;
11
+ /**
12
+ * Loader identificator (global by default)
13
+ */
14
+ this.id = LoaderConstants.GLOBAL_LOADER_ID;
15
+ /**
16
+ * Is start on init (loader register with show = True)
17
+ */
18
+ this.start = false;
19
+ /**
20
+ * Loader when active(show) has background(low opacity)
21
+ */
22
+ this.background = true;
23
+ this.show$ = EMPTY;
24
+ }
25
+ ngOnInit() {
26
+ // register new loader
27
+ this.show$ = this.loaderService.register({ id: this.id, status: this.start })
28
+ .pipe(map((event) => this.id === event.id && event.status));
29
+ }
30
+ get preLoaderClasses() {
31
+ let classes = {};
32
+ if (this.id === LoaderConstants.GLOBAL_LOADER_ID)
33
+ classes[LoaderConstants.GLOBAL_LOADER_ID] = true;
34
+ else
35
+ classes[LoaderConstants.LOCAL_LOADER_ID] = true;
36
+ classes[LoaderConstants.CSS_CLASS_BACKGROUND] = this.background;
37
+ return classes;
38
+ }
39
+ }
40
+ LoaderBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderBaseComponent, deps: [{ token: i1.LoaderService }], target: i0.ɵɵFactoryTarget.Directive });
41
+ LoaderBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: LoaderBaseComponent, inputs: { id: "id", start: "start", background: "background" }, ngImport: i0 });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderBaseComponent, decorators: [{
43
+ type: Directive
44
+ }], ctorParameters: function () { return [{ type: i1.LoaderService }]; }, propDecorators: { id: [{
45
+ type: Input
46
+ }], start: [{
47
+ type: Input
48
+ }], background: [{
49
+ type: Input
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWRlci9sb2FkZXItYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUtyRCxNQUFNLE9BQWdCLG1CQUFtQjtJQXNCckMsWUFBc0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFwQmxELFlBQU8sR0FBRyxPQUFPLENBQUM7UUFFbEI7O1VBRUU7UUFFRixPQUFFLEdBQVcsZUFBZSxDQUFDLGdCQUFnQixDQUFDO1FBRTlDOztXQUVHO1FBRUgsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUV2Qjs7V0FFRztRQUVILGVBQVUsR0FBWSxJQUFJLENBQUM7UUFLcEIsVUFBSyxHQUF3QixLQUFLLENBQUM7SUFGMUMsQ0FBQztJQUlNLFFBQVE7UUFDWCxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDeEUsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQ3JFLENBQUM7SUFDVixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsSUFBSSxPQUFPLEdBQVEsRUFBRSxDQUFDO1FBRXRCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxlQUFlLENBQUMsZ0JBQWdCO1lBQzVDLE9BQU8sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUM7O1lBRWpELE9BQU8sQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBRXBELE9BQU8sQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRWhFLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7O2dIQTlDaUIsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEeEMsU0FBUztvR0FTTixFQUFFO3NCQURELEtBQUs7Z0JBT04sS0FBSztzQkFESixLQUFLO2dCQU9OLFVBQVU7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEVNUFRZLCBtYXAsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBVSUNsYXNzIH0gZnJvbSBcIi4uLy4uL2VudW1zXCI7XHJcbmltcG9ydCB7IExvYWRlckNvbnN0YW50cyB9IGZyb20gXCIuL2xvYWRlci5jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgSUxvYWRlckV2ZW50IH0gZnJvbSBcIi4vbG9hZGVyLmV2ZW50XCI7XHJcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlL2xvYWRlci5zZXJ2aWNlXCI7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvYWRlckJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIFVJQ2xhc3MgPSBVSUNsYXNzO1xyXG5cclxuICAgIC8qKlxyXG4gICAgKiBMb2FkZXIgaWRlbnRpZmljYXRvciAoZ2xvYmFsIGJ5IGRlZmF1bHQpXHJcbiAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGlkOiBzdHJpbmcgPSBMb2FkZXJDb25zdGFudHMuR0xPQkFMX0xPQURFUl9JRDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIElzIHN0YXJ0IG9uIGluaXQgKGxvYWRlciByZWdpc3RlciB3aXRoIHNob3cgPSBUcnVlKVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIExvYWRlciB3aGVuIGFjdGl2ZShzaG93KSBoYXMgYmFja2dyb3VuZChsb3cgb3BhY2l0eSlcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGJhY2tncm91bmQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBsb2FkZXJTZXJ2aWNlOiBMb2FkZXJTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNob3ckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gRU1QVFk7XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIHJlZ2lzdGVyIG5ldyBsb2FkZXJcclxuICAgICAgICB0aGlzLnNob3ckID0gdGhpcy5sb2FkZXJTZXJ2aWNlLnJlZ2lzdGVyKHsgaWQ6IHRoaXMuaWQsIHN0YXR1czogdGhpcy5zdGFydCB9KVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCgoZXZlbnQ6IElMb2FkZXJFdmVudCkgPT4gdGhpcy5pZCA9PT0gZXZlbnQuaWQgJiYgZXZlbnQuc3RhdHVzKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBwcmVMb2FkZXJDbGFzc2VzKCkge1xyXG4gICAgICAgIGxldCBjbGFzc2VzOiBhbnkgPSB7fTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaWQgPT09IExvYWRlckNvbnN0YW50cy5HTE9CQUxfTE9BREVSX0lEKVxyXG4gICAgICAgICAgICBjbGFzc2VzW0xvYWRlckNvbnN0YW50cy5HTE9CQUxfTE9BREVSX0lEXSA9IHRydWU7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBjbGFzc2VzW0xvYWRlckNvbnN0YW50cy5MT0NBTF9MT0FERVJfSURdID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgY2xhc3Nlc1tMb2FkZXJDb25zdGFudHMuQ1NTX0NMQVNTX0JBQ0tHUk9VTkRdID0gdGhpcy5iYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgICByZXR1cm4gY2xhc3NlcztcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,6 @@
1
+ export class LoaderConstants {
2
+ }
3
+ LoaderConstants.GLOBAL_LOADER_ID = 'global';
4
+ LoaderConstants.LOCAL_LOADER_ID = 'local';
5
+ LoaderConstants.CSS_CLASS_BACKGROUND = 'background';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZUFBZTs7QUFDakIsZ0NBQWdCLEdBQUcsUUFBUSxDQUFDO0FBQzVCLCtCQUFlLEdBQUcsT0FBTyxDQUFDO0FBQzFCLG9DQUFvQixHQUFHLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBMb2FkZXJDb25zdGFudHMge1xyXG4gICAgc3RhdGljIEdMT0JBTF9MT0FERVJfSUQgPSAnZ2xvYmFsJztcclxuICAgIHN0YXRpYyBMT0NBTF9MT0FERVJfSUQgPSAnbG9jYWwnO1xyXG4gICAgc3RhdGljIENTU19DTEFTU19CQUNLR1JPVU5EID0gJ2JhY2tncm91bmQnO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9jb21wb25lbnRzL2xvYWRlci9sb2FkZXIuZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUxvYWRlckV2ZW50IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBzdGF0dXM6IGJvb2xlYW47XHJcbn0iXX0=
@@ -0,0 +1,76 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject, distinctUntilChanged, filter, map } from 'rxjs';
3
+ import { addItem, any, firstOrDefault, hasObjectItem, isDefined, nameof, removeItemBy, updateItemBy } from '../../../utils';
4
+ import { LoaderConstants } from '../loader.constants';
5
+ import * as i0 from "@angular/core";
6
+ export class LoaderService {
7
+ constructor() {
8
+ this.loaderSubject = new BehaviorSubject([]);
9
+ this.loaders$ = this.loaderSubject
10
+ .asObservable()
11
+ .pipe(filter(loaders => any(loaders)), distinctUntilChanged());
12
+ }
13
+ /**
14
+ * Show loader by Id
15
+ * @param id Loader Id
16
+ * @param register If true register loader and show it
17
+ */
18
+ show(id = LoaderConstants.GLOBAL_LOADER_ID, register = false) {
19
+ return this.setLoaderStatus(id, true, register);
20
+ }
21
+ /**
22
+ * Hide loader
23
+ * @param id Loader Id
24
+ */
25
+ hide(id = LoaderConstants.GLOBAL_LOADER_ID) {
26
+ this.setLoaderStatus(id, false);
27
+ }
28
+ /**
29
+ * Register loader for next use
30
+ * @param event Loader event
31
+ * @returns Registred loade observable
32
+ */
33
+ register(event) {
34
+ const loaders = this.loaderSubject.getValue();
35
+ if (addItem(loaders, event, () => hasObjectItem(loaders, nameof('id'), event.id))) {
36
+ this.loaderSubject.next(loaders);
37
+ }
38
+ return this.selectLoaderById(event.id);
39
+ }
40
+ /**
41
+ * Remove loader
42
+ * @param id Loader Id
43
+ */
44
+ remove(id = LoaderConstants.GLOBAL_LOADER_ID) {
45
+ const loaders = this.loaderSubject.getValue();
46
+ if (removeItemBy(loaders, loader => loader.id == id)) {
47
+ this.loaderSubject.next(loaders);
48
+ }
49
+ }
50
+ selectLoaderById(id) {
51
+ return this.loaders$
52
+ .pipe(map(loaders => loaders.find(loader => loader.id == id)), distinctUntilChanged());
53
+ }
54
+ setLoaderStatus(id, status, register = false) {
55
+ const loaders = this.loaderSubject.getValue(), ILoaderEvent = { id, status }, loader = firstOrDefault(loaders, (loader) => loader.id == id);
56
+ if (isDefined(loader) && loader?.status == status)
57
+ return this.selectLoaderById(id);
58
+ const updatedLoaders = updateItemBy(loaders, (loader) => loader.id == id, ILoaderEvent);
59
+ if (isDefined(updatedLoaders)) {
60
+ this.loaderSubject.next(updatedLoaders);
61
+ }
62
+ if (register) {
63
+ return this.register(ILoaderEvent);
64
+ }
65
+ return null;
66
+ }
67
+ }
68
+ LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
69
+ LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderService, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderService, decorators: [{
71
+ type: Injectable,
72
+ args: [{
73
+ providedIn: 'root'
74
+ }]
75
+ }] });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyL3NlcnZpY2UvbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBTXRELE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBS1Usa0JBQWEsR0FBb0MsSUFBSSxlQUFlLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBRXpGLGFBQVEsR0FBK0IsSUFBSSxDQUFDLGFBQWE7YUFDOUQsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUNILE1BQU0sQ0FBaUIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDL0Msb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztLQTZFTDtJQTNFQzs7OztPQUlHO0lBQ0ksSUFBSSxDQUFDLEtBQWEsZUFBZSxDQUFDLGdCQUFnQixFQUFFLFdBQW9CLEtBQUs7UUFFbEYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLElBQUksQ0FBQyxLQUFhLGVBQWUsQ0FBQyxnQkFBZ0I7UUFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQUMsS0FBbUI7UUFFakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU5QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUN4QixHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBZSxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUNyRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNsQztRQUVELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLEtBQWEsZUFBZSxDQUFDLGdCQUFnQjtRQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTlDLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsRUFBVTtRQUNqQyxPQUFPLElBQUksQ0FBQyxRQUFRO2FBQ2pCLElBQUksQ0FDSCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQWlCLENBQUMsRUFDdkUsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUNOLENBQUM7SUFFTyxlQUFlLENBQUMsRUFBVSxFQUFFLE1BQWUsRUFBRSxXQUFvQixLQUFLO1FBQzVFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQzNDLFlBQVksR0FBaUIsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQzNDLE1BQU0sR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxNQUFNLElBQUksTUFBTTtZQUMvQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVuQyxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUV4RixJQUFJLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFnQyxDQUFDLENBQUM7U0FDM0Q7UUFFRCxJQUFJLFFBQVEsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7MEdBckZVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGFkZEl0ZW0sIGFueSwgZmlyc3RPckRlZmF1bHQsIGhhc09iamVjdEl0ZW0sIGlzRGVmaW5lZCwgbmFtZW9mLCByZW1vdmVJdGVtQnksIHVwZGF0ZUl0ZW1CeSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgTG9hZGVyQ29uc3RhbnRzIH0gZnJvbSAnLi4vbG9hZGVyLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IElMb2FkZXJFdmVudCB9IGZyb20gJy4uL2xvYWRlci5ldmVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2FkZXJTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBsb2FkZXJTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8SUxvYWRlckV2ZW50W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJTG9hZGVyRXZlbnRbXT4oW10pO1xyXG5cclxuICBwcml2YXRlIGxvYWRlcnMkOiBPYnNlcnZhYmxlPElMb2FkZXJFdmVudFtdPiA9IHRoaXMubG9hZGVyU3ViamVjdFxyXG4gICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAucGlwZShcclxuICAgICAgZmlsdGVyPElMb2FkZXJFdmVudFtdPihsb2FkZXJzID0+IGFueShsb2FkZXJzKSksXHJcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcclxuICAgICk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgbG9hZGVyIGJ5IElkXHJcbiAgICogQHBhcmFtIGlkIExvYWRlciBJZFxyXG4gICAqIEBwYXJhbSByZWdpc3RlciBJZiB0cnVlIHJlZ2lzdGVyIGxvYWRlciBhbmQgc2hvdyBpdFxyXG4gICAqL1xyXG4gIHB1YmxpYyBzaG93KGlkOiBzdHJpbmcgPSBMb2FkZXJDb25zdGFudHMuR0xPQkFMX0xPQURFUl9JRCwgcmVnaXN0ZXI6IGJvb2xlYW4gPSBmYWxzZSlcclxuICAgIDogT2JzZXJ2YWJsZTxJTG9hZGVyRXZlbnQ+IHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXRMb2FkZXJTdGF0dXMoaWQsIHRydWUsIHJlZ2lzdGVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhpZGUgbG9hZGVyXHJcbiAgICogQHBhcmFtIGlkIExvYWRlciBJZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBoaWRlKGlkOiBzdHJpbmcgPSBMb2FkZXJDb25zdGFudHMuR0xPQkFMX0xPQURFUl9JRCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRMb2FkZXJTdGF0dXMoaWQsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZ2lzdGVyIGxvYWRlciBmb3IgbmV4dCB1c2VcclxuICAgKiBAcGFyYW0gZXZlbnQgTG9hZGVyIGV2ZW50XHJcbiAgICogQHJldHVybnMgUmVnaXN0cmVkIGxvYWRlIG9ic2VydmFibGVcclxuICAgKi9cclxuICBwdWJsaWMgcmVnaXN0ZXIoZXZlbnQ6IElMb2FkZXJFdmVudCk6IE9ic2VydmFibGU8SUxvYWRlckV2ZW50PiB7XHJcblxyXG4gICAgY29uc3QgbG9hZGVycyA9IHRoaXMubG9hZGVyU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG5cclxuICAgIGlmIChhZGRJdGVtKGxvYWRlcnMsIGV2ZW50LFxyXG4gICAgICAoKSA9PiBoYXNPYmplY3RJdGVtKGxvYWRlcnMsIG5hbWVvZjxJTG9hZGVyRXZlbnQ+KCdpZCcpLCBldmVudC5pZCkpKSB7XHJcbiAgICAgIHRoaXMubG9hZGVyU3ViamVjdC5uZXh0KGxvYWRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLnNlbGVjdExvYWRlckJ5SWQoZXZlbnQuaWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGxvYWRlclxyXG4gICAqIEBwYXJhbSBpZCBMb2FkZXIgSWRcclxuICAgKi9cclxuICBwdWJsaWMgcmVtb3ZlKGlkOiBzdHJpbmcgPSBMb2FkZXJDb25zdGFudHMuR0xPQkFMX0xPQURFUl9JRCk6IHZvaWQge1xyXG4gICAgY29uc3QgbG9hZGVycyA9IHRoaXMubG9hZGVyU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG5cclxuICAgIGlmIChyZW1vdmVJdGVtQnkobG9hZGVycywgbG9hZGVyID0+IGxvYWRlci5pZCA9PSBpZCkpIHtcclxuICAgICAgdGhpcy5sb2FkZXJTdWJqZWN0Lm5leHQobG9hZGVycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbGVjdExvYWRlckJ5SWQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SUxvYWRlckV2ZW50PiB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2FkZXJzJFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAobG9hZGVycyA9PiBsb2FkZXJzLmZpbmQobG9hZGVyID0+IGxvYWRlci5pZCA9PSBpZCkgYXMgSUxvYWRlckV2ZW50KSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldExvYWRlclN0YXR1cyhpZDogc3RyaW5nLCBzdGF0dXM6IGJvb2xlYW4sIHJlZ2lzdGVyOiBib29sZWFuID0gZmFsc2UpOiBPYnNlcnZhYmxlPElMb2FkZXJFdmVudD4gfCBudWxsIHtcclxuICAgIGNvbnN0IGxvYWRlcnMgPSB0aGlzLmxvYWRlclN1YmplY3QuZ2V0VmFsdWUoKSxcclxuICAgICAgSUxvYWRlckV2ZW50OiBJTG9hZGVyRXZlbnQgPSB7IGlkLCBzdGF0dXMgfSxcclxuICAgICAgbG9hZGVyID0gZmlyc3RPckRlZmF1bHQobG9hZGVycywgKGxvYWRlcikgPT4gbG9hZGVyLmlkID09IGlkKTtcclxuXHJcbiAgICBpZiAoaXNEZWZpbmVkKGxvYWRlcikgJiYgbG9hZGVyPy5zdGF0dXMgPT0gc3RhdHVzKVxyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RMb2FkZXJCeUlkKGlkKTtcclxuXHJcbiAgICBjb25zdCB1cGRhdGVkTG9hZGVycyA9IHVwZGF0ZUl0ZW1CeShsb2FkZXJzLCAobG9hZGVyKSA9PiBsb2FkZXIuaWQgPT0gaWQsIElMb2FkZXJFdmVudCk7XHJcblxyXG4gICAgaWYgKGlzRGVmaW5lZCh1cGRhdGVkTG9hZGVycykpIHtcclxuICAgICAgdGhpcy5sb2FkZXJTdWJqZWN0Lm5leHQodXBkYXRlZExvYWRlcnMgYXMgSUxvYWRlckV2ZW50W10pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChyZWdpc3Rlcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZWdpc3RlcihJTG9hZGVyRXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=