@indice/ng-components 0.3.12 → 0.4.0-beta.0

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 (169) hide show
  1. package/fesm2022/indice-ng-components.mjs +314 -279
  2. package/fesm2022/indice-ng-components.mjs.map +1 -1
  3. package/index.d.ts +1894 -3
  4. package/package.json +7 -9
  5. package/esm2022/indice-ng-components.mjs +0 -5
  6. package/esm2022/lib/controls/advanced-search/advanced-search.component.mjs +0 -161
  7. package/esm2022/lib/controls/advanced-search/models.mjs +0 -109
  8. package/esm2022/lib/controls/avatar-initials/avatar-initials.component.mjs +0 -48
  9. package/esm2022/lib/controls/breadcrumb/breadcrumb-item.mjs +0 -14
  10. package/esm2022/lib/controls/breadcrumb/breadcrumb.component.mjs +0 -26
  11. package/esm2022/lib/controls/collapsible-panel/collapsible-panel.component.mjs +0 -20
  12. package/esm2022/lib/controls/combobox/combobox.component.mjs +0 -118
  13. package/esm2022/lib/controls/content-tile/content-tile.component.mjs +0 -91
  14. package/esm2022/lib/controls/date-picker/date-picker.component.mjs +0 -300
  15. package/esm2022/lib/controls/drop-down-menu/drop-down-menu.component.mjs +0 -72
  16. package/esm2022/lib/controls/enhanced-combobox/enhanced-combobox.component.mjs +0 -115
  17. package/esm2022/lib/controls/kpi-tile/kpi-tile.component.mjs +0 -43
  18. package/esm2022/lib/controls/language-selection/language-selection.component.mjs +0 -31
  19. package/esm2022/lib/controls/list-view/list-column.component.mjs +0 -25
  20. package/esm2022/lib/controls/list-view/list-details-section.component.mjs +0 -17
  21. package/esm2022/lib/controls/list-view/list-tile.component.mjs +0 -17
  22. package/esm2022/lib/controls/list-view/list-view-empty-state.component.mjs +0 -29
  23. package/esm2022/lib/controls/list-view/list-view.component.mjs +0 -211
  24. package/esm2022/lib/controls/nav-links-list/nav-links-list.component.mjs +0 -54
  25. package/esm2022/lib/controls/notifications-indicator/notifications-indicator.component.mjs +0 -79
  26. package/esm2022/lib/controls/pager/pager.component.mjs +0 -130
  27. package/esm2022/lib/controls/progress-bar/progress-bar.component.mjs +0 -46
  28. package/esm2022/lib/controls/side-pane/side-pane.component.mjs +0 -106
  29. package/esm2022/lib/controls/skeleton-loader/skeleton-loader.component.mjs +0 -29
  30. package/esm2022/lib/controls/stats-grid/stats-grid.component.mjs +0 -49
  31. package/esm2022/lib/controls/stepper/lib-step-info.directive.mjs +0 -16
  32. package/esm2022/lib/controls/stepper/lib-step-label.directive.mjs +0 -16
  33. package/esm2022/lib/controls/stepper/lib-step.component.mjs +0 -81
  34. package/esm2022/lib/controls/stepper/lib-stepper.component.mjs +0 -108
  35. package/esm2022/lib/controls/stepper/types/step-selected-event.mjs +0 -4
  36. package/esm2022/lib/controls/stepper/types/stepper-type.mjs +0 -12
  37. package/esm2022/lib/controls/tabs/lib-tab-group.component.mjs +0 -66
  38. package/esm2022/lib/controls/tabs/lib-tab-label.directive.mjs +0 -16
  39. package/esm2022/lib/controls/tabs/lib-tab.component.mjs +0 -64
  40. package/esm2022/lib/controls/toaster/toaster-container.component.mjs +0 -28
  41. package/esm2022/lib/controls/toaster/toaster.component.mjs +0 -31
  42. package/esm2022/lib/controls/toggle/toggle.component.mjs +0 -64
  43. package/esm2022/lib/controls/toggle-button/toggle-button.component.mjs +0 -87
  44. package/esm2022/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +0 -34
  45. package/esm2022/lib/controls/user-profile-menu/user-profile-menu.component.mjs +0 -75
  46. package/esm2022/lib/directives/click-outside.directive.mjs +0 -189
  47. package/esm2022/lib/directives/dynamic-component-host.directive.mjs +0 -17
  48. package/esm2022/lib/helpers/base-list.component.mjs +0 -235
  49. package/esm2022/lib/icons.mjs +0 -36
  50. package/esm2022/lib/layouts/shell/shell-footer/shell-footer.component.mjs +0 -19
  51. package/esm2022/lib/layouts/shell/shell-header/shell-header.component.mjs +0 -138
  52. package/esm2022/lib/layouts/shell/shell-layout/shell-layout.component.mjs +0 -92
  53. package/esm2022/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +0 -54
  54. package/esm2022/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +0 -45
  55. package/esm2022/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +0 -33
  56. package/esm2022/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +0 -24
  57. package/esm2022/lib/layouts/views/form-layout/form-layout.component.mjs +0 -86
  58. package/esm2022/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +0 -103
  59. package/esm2022/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +0 -106
  60. package/esm2022/lib/layouts/views/view-layout/view-layout.component.mjs +0 -104
  61. package/esm2022/lib/ng-components.module.mjs +0 -324
  62. package/esm2022/lib/pages/auth/auth-callback/auth-callback.component.mjs +0 -30
  63. package/esm2022/lib/pages/auth/auth-renew/auth-renew.component.mjs +0 -31
  64. package/esm2022/lib/pages/auth/logged-out/logged-out.component.mjs +0 -28
  65. package/esm2022/lib/pages/http-status/error/error.component.mjs +0 -17
  66. package/esm2022/lib/pages/http-status/page-not-found/page-not-found.component.mjs +0 -15
  67. package/esm2022/lib/pages/http-status/unauthorized/unauthorized.component.mjs +0 -14
  68. package/esm2022/lib/pipes/address.pipe.mjs +0 -21
  69. package/esm2022/lib/pipes/duration-format.pipe.mjs +0 -64
  70. package/esm2022/lib/pipes/short-number.pipe.mjs +0 -43
  71. package/esm2022/lib/services/breadcrumb.service.mjs +0 -181
  72. package/esm2022/lib/services/component-loader/component-loader-options.class.mjs +0 -8
  73. package/esm2022/lib/services/component-loader/component-loader.class.mjs +0 -188
  74. package/esm2022/lib/services/component-loader/component-loader.factory.mjs +0 -32
  75. package/esm2022/lib/services/component-loader/content-ref.class.mjs +0 -13
  76. package/esm2022/lib/services/modal-service/modal-backdrop-component.mjs +0 -44
  77. package/esm2022/lib/services/modal-service/modal-container-component.mjs +0 -126
  78. package/esm2022/lib/services/modal-service/modal-options.class.mjs +0 -35
  79. package/esm2022/lib/services/modal-service/modal-service.mjs +0 -220
  80. package/esm2022/lib/services/modal-service/modal-styles.class.mjs +0 -11
  81. package/esm2022/lib/services/modal-service/modal.class.mjs +0 -27
  82. package/esm2022/lib/services/toaster.service.mjs +0 -26
  83. package/esm2022/lib/services/user-settings.service.mjs +0 -35
  84. package/esm2022/lib/services/utilities.service.mjs +0 -47
  85. package/esm2022/lib/tokens.mjs +0 -8
  86. package/esm2022/lib/types.mjs +0 -143
  87. package/esm2022/public-api.mjs +0 -77
  88. package/lib/controls/advanced-search/advanced-search.component.d.ts +0 -42
  89. package/lib/controls/advanced-search/models.d.ts +0 -92
  90. package/lib/controls/avatar-initials/avatar-initials.component.d.ts +0 -14
  91. package/lib/controls/breadcrumb/breadcrumb-item.d.ts +0 -7
  92. package/lib/controls/breadcrumb/breadcrumb.component.d.ts +0 -12
  93. package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +0 -10
  94. package/lib/controls/combobox/combobox.component.d.ts +0 -34
  95. package/lib/controls/content-tile/content-tile.component.d.ts +0 -34
  96. package/lib/controls/date-picker/date-picker.component.d.ts +0 -53
  97. package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +0 -26
  98. package/lib/controls/enhanced-combobox/enhanced-combobox.component.d.ts +0 -37
  99. package/lib/controls/kpi-tile/kpi-tile.component.d.ts +0 -15
  100. package/lib/controls/language-selection/language-selection.component.d.ts +0 -14
  101. package/lib/controls/list-view/list-column.component.d.ts +0 -9
  102. package/lib/controls/list-view/list-details-section.component.d.ts +0 -7
  103. package/lib/controls/list-view/list-tile.component.d.ts +0 -7
  104. package/lib/controls/list-view/list-view-empty-state.component.d.ts +0 -11
  105. package/lib/controls/list-view/list-view.component.d.ts +0 -62
  106. package/lib/controls/nav-links-list/nav-links-list.component.d.ts +0 -21
  107. package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +0 -22
  108. package/lib/controls/pager/pager.component.d.ts +0 -36
  109. package/lib/controls/progress-bar/progress-bar.component.d.ts +0 -16
  110. package/lib/controls/side-pane/side-pane.component.d.ts +0 -28
  111. package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +0 -12
  112. package/lib/controls/stats-grid/stats-grid.component.d.ts +0 -16
  113. package/lib/controls/stepper/lib-step-info.directive.d.ts +0 -8
  114. package/lib/controls/stepper/lib-step-label.directive.d.ts +0 -8
  115. package/lib/controls/stepper/lib-step.component.d.ts +0 -34
  116. package/lib/controls/stepper/lib-stepper.component.d.ts +0 -43
  117. package/lib/controls/stepper/types/step-selected-event.d.ts +0 -12
  118. package/lib/controls/stepper/types/stepper-type.d.ts +0 -10
  119. package/lib/controls/tabs/lib-tab-group.component.d.ts +0 -21
  120. package/lib/controls/tabs/lib-tab-label.directive.d.ts +0 -8
  121. package/lib/controls/tabs/lib-tab.component.d.ts +0 -24
  122. package/lib/controls/toaster/toaster-container.component.d.ts +0 -13
  123. package/lib/controls/toaster/toaster.component.d.ts +0 -15
  124. package/lib/controls/toggle/toggle.component.d.ts +0 -19
  125. package/lib/controls/toggle-button/toggle-button.component.d.ts +0 -25
  126. package/lib/controls/toggle-buttons-list/toggle-buttons-list.component.d.ts +0 -15
  127. package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +0 -25
  128. package/lib/directives/click-outside.directive.d.ts +0 -40
  129. package/lib/directives/dynamic-component-host.directive.d.ts +0 -9
  130. package/lib/helpers/base-list.component.d.ts +0 -55
  131. package/lib/icons.d.ts +0 -34
  132. package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +0 -8
  133. package/lib/layouts/shell/shell-header/shell-header.component.d.ts +0 -40
  134. package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +0 -27
  135. package/lib/layouts/shell/shell-sidebar/shell-sidebar.component.d.ts +0 -20
  136. package/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.d.ts +0 -14
  137. package/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.d.ts +0 -16
  138. package/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.d.ts +0 -11
  139. package/lib/layouts/views/form-layout/form-layout.component.d.ts +0 -26
  140. package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +0 -44
  141. package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +0 -29
  142. package/lib/layouts/views/view-layout/view-layout.component.d.ts +0 -31
  143. package/lib/ng-components.module.d.ts +0 -70
  144. package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +0 -13
  145. package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +0 -12
  146. package/lib/pages/auth/logged-out/logged-out.component.d.ts +0 -12
  147. package/lib/pages/http-status/error/error.component.d.ts +0 -8
  148. package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +0 -8
  149. package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +0 -8
  150. package/lib/pipes/address.pipe.d.ts +0 -8
  151. package/lib/pipes/duration-format.pipe.d.ts +0 -8
  152. package/lib/pipes/short-number.pipe.d.ts +0 -7
  153. package/lib/services/breadcrumb.service.d.ts +0 -29
  154. package/lib/services/component-loader/component-loader-options.class.d.ts +0 -30
  155. package/lib/services/component-loader/component-loader.class.d.ts +0 -92
  156. package/lib/services/component-loader/component-loader.factory.d.ts +0 -24
  157. package/lib/services/component-loader/content-ref.class.d.ts +0 -12
  158. package/lib/services/modal-service/modal-backdrop-component.d.ts +0 -20
  159. package/lib/services/modal-service/modal-container-component.d.ts +0 -33
  160. package/lib/services/modal-service/modal-options.class.d.ts +0 -81
  161. package/lib/services/modal-service/modal-service.d.ts +0 -58
  162. package/lib/services/modal-service/modal-styles.class.d.ts +0 -10
  163. package/lib/services/modal-service/modal.class.d.ts +0 -43
  164. package/lib/services/toaster.service.d.ts +0 -11
  165. package/lib/services/user-settings.service.d.ts +0 -13
  166. package/lib/services/utilities.service.d.ts +0 -11
  167. package/lib/tokens.d.ts +0 -10
  168. package/lib/types.d.ts +0 -188
  169. package/public-api.d.ts +0 -67
@@ -1,189 +0,0 @@
1
- //
2
- // https://github.com/arkon/ng-click-outside
3
- // the project is inactive - so imoved the directive code in our project
4
- //
5
- import { Directive, EventEmitter, Inject, Input, Output, PLATFORM_ID, } from '@angular/core';
6
- import { isPlatformBrowser } from '@angular/common';
7
- import * as i0 from "@angular/core";
8
- // tslint:disable-next-line:directive-selector
9
- export class ClickOutsideDirective {
10
- constructor(
11
- // tslint:disable-next-line:variable-name
12
- _el,
13
- // tslint:disable-next-line:variable-name
14
- _ngZone, platformId) {
15
- this._el = _el;
16
- this._ngZone = _ngZone;
17
- this.platformId = platformId;
18
- this.clickOutsideEnabled = true;
19
- this.attachOutsideOnClick = false;
20
- this.delayClickOutsideInit = false;
21
- this.emitOnBlur = false;
22
- this.exclude = '';
23
- this.excludeBeforeClick = false;
24
- this.clickOutsideEvents = '';
25
- this.clickOutside = new EventEmitter();
26
- // tslint:disable-next-line:variable-name
27
- this._nodesExcluded = [];
28
- // tslint:disable-next-line:variable-name
29
- this._events = ['click'];
30
- this._initOnClickBody = this._initOnClickBody.bind(this);
31
- this._onClickBody = this._onClickBody.bind(this);
32
- this._onWindowBlur = this._onWindowBlur.bind(this);
33
- }
34
- ngOnInit() {
35
- if (!isPlatformBrowser(this.platformId)) {
36
- return;
37
- }
38
- this._init();
39
- }
40
- ngOnDestroy() {
41
- if (!isPlatformBrowser(this.platformId)) {
42
- return;
43
- }
44
- this._removeClickOutsideListener();
45
- this._removeAttachOutsideOnClickListener();
46
- this._removeWindowBlurListener();
47
- }
48
- ngOnChanges(changes) {
49
- if (!isPlatformBrowser(this.platformId)) {
50
- return;
51
- }
52
- // tslint:disable-next-line:no-string-literal
53
- if (changes['attachOutsideOnClick'] || changes['exclude'] || changes['emitOnBlur']) {
54
- this._init();
55
- }
56
- }
57
- _init() {
58
- if (this.clickOutsideEvents !== '') {
59
- this._events = this.clickOutsideEvents.split(',').map(e => e.trim());
60
- }
61
- this._excludeCheck();
62
- if (this.attachOutsideOnClick) {
63
- this._initAttachOutsideOnClickListener();
64
- }
65
- else {
66
- this._initOnClickBody();
67
- }
68
- if (this.emitOnBlur) {
69
- this._initWindowBlurListener();
70
- }
71
- }
72
- _initOnClickBody() {
73
- if (this.delayClickOutsideInit) {
74
- setTimeout(this._initClickOutsideListener.bind(this));
75
- }
76
- else {
77
- this._initClickOutsideListener();
78
- }
79
- }
80
- _excludeCheck() {
81
- if (this.exclude) {
82
- try {
83
- const nodes = Array.from(document.querySelectorAll(this.exclude));
84
- if (nodes) {
85
- this._nodesExcluded = nodes;
86
- }
87
- }
88
- catch (err) {
89
- console.error('[ng-click-outside] Check your exclude selector syntax.', err);
90
- }
91
- }
92
- }
93
- _onClickBody(ev) {
94
- if (!this.clickOutsideEnabled) {
95
- return;
96
- }
97
- if (this.excludeBeforeClick) {
98
- this._excludeCheck();
99
- }
100
- if (!this._el.nativeElement.contains(ev.target) && !this._shouldExclude(ev.target)) {
101
- this._emit(ev);
102
- if (this.attachOutsideOnClick) {
103
- this._removeClickOutsideListener();
104
- }
105
- }
106
- }
107
- /**
108
- * Resolves problem with outside click on iframe
109
- * @see https://github.com/arkon/ng-click-outside/issues/32
110
- */
111
- _onWindowBlur(ev) {
112
- setTimeout(() => {
113
- if (!document.hidden) {
114
- this._emit(ev);
115
- }
116
- });
117
- }
118
- _emit(ev) {
119
- if (!this.clickOutsideEnabled) {
120
- return;
121
- }
122
- this._ngZone.run(() => this.clickOutside.emit(ev));
123
- }
124
- _shouldExclude(target) {
125
- // tslint:disable-next-line:prefer-const
126
- for (let excludedNode of this._nodesExcluded) {
127
- if (excludedNode.contains(target)) {
128
- return true;
129
- }
130
- }
131
- return false;
132
- }
133
- _initClickOutsideListener() {
134
- this._ngZone.runOutsideAngular(() => {
135
- this._events.forEach(e => document.addEventListener(e, this._onClickBody));
136
- });
137
- }
138
- _removeClickOutsideListener() {
139
- this._ngZone.runOutsideAngular(() => {
140
- this._events.forEach(e => document.removeEventListener(e, this._onClickBody));
141
- });
142
- }
143
- _initAttachOutsideOnClickListener() {
144
- this._ngZone.runOutsideAngular(() => {
145
- this._events.forEach(e => this._el.nativeElement.addEventListener(e, this._initOnClickBody));
146
- });
147
- }
148
- _removeAttachOutsideOnClickListener() {
149
- this._ngZone.runOutsideAngular(() => {
150
- this._events.forEach(e => this._el.nativeElement.removeEventListener(e, this._initOnClickBody));
151
- });
152
- }
153
- _initWindowBlurListener() {
154
- this._ngZone.runOutsideAngular(() => {
155
- window.addEventListener('blur', this._onWindowBlur);
156
- });
157
- }
158
- _removeWindowBlurListener() {
159
- this._ngZone.runOutsideAngular(() => {
160
- window.removeEventListener('blur', this._onWindowBlur);
161
- });
162
- }
163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive }); }
164
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.6", type: ClickOutsideDirective, selector: "[clickOutside]", inputs: { clickOutsideEnabled: "clickOutsideEnabled", attachOutsideOnClick: "attachOutsideOnClick", delayClickOutsideInit: "delayClickOutsideInit", emitOnBlur: "emitOnBlur", exclude: "exclude", excludeBeforeClick: "excludeBeforeClick", clickOutsideEvents: "clickOutsideEvents" }, outputs: { clickOutside: "clickOutside" }, usesOnChanges: true, ngImport: i0 }); }
165
- }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ClickOutsideDirective, decorators: [{
167
- type: Directive,
168
- args: [{ selector: '[clickOutside]' }]
169
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
170
- type: Inject,
171
- args: [PLATFORM_ID]
172
- }] }], propDecorators: { clickOutsideEnabled: [{
173
- type: Input
174
- }], attachOutsideOnClick: [{
175
- type: Input
176
- }], delayClickOutsideInit: [{
177
- type: Input
178
- }], emitOnBlur: [{
179
- type: Input
180
- }], exclude: [{
181
- type: Input
182
- }], excludeBeforeClick: [{
183
- type: Input
184
- }], clickOutsideEvents: [{
185
- type: Input
186
- }], clickOutside: [{
187
- type: Output
188
- }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxFQUFFO0FBQ0YsNENBQTRDO0FBQzVDLHdFQUF3RTtBQUN4RSxFQUFFO0FBQ0YsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFJTCxNQUFNLEVBQ04sV0FBVyxHQUdaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUVwRCw4Q0FBOEM7QUFFOUMsTUFBTSxPQUFPLHFCQUFxQjtJQW9CaEM7SUFDRSx5Q0FBeUM7SUFDakMsR0FBZTtJQUN2Qix5Q0FBeUM7SUFDakMsT0FBZSxFQUNNLFVBQWU7UUFIcEMsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUVmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDTSxlQUFVLEdBQVYsVUFBVSxDQUFLO1FBdkJyQyx3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFM0IseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM5QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFM0IsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBRXZCLGlCQUFZLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFFeEUseUNBQXlDO1FBQ2pDLG1CQUFjLEdBQXVCLEVBQUUsQ0FBQztRQUNoRCx5Q0FBeUM7UUFDakMsWUFBTyxHQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBUXpDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENB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QyxDQUFDLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUNsRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8seUJBQXlCO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2xDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E1S1UscUJBQXFCLGtFQXlCdEIsV0FBVztrR0F6QlYscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFOzswQkEwQnBDLE1BQU07MkJBQUMsV0FBVzt5Q0F2QlosbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLy9cclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Fya29uL25nLWNsaWNrLW91dHNpZGVcclxuLy8gdGhlIHByb2plY3QgaXMgaW5hY3RpdmUgLSBzbyBpbW92ZWQgdGhlIGRpcmVjdGl2ZSBjb2RlIGluIG91ciBwcm9qZWN0XHJcbi8vXHJcbmltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgUExBVEZPUk1fSUQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBOZ1pvbmUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3JcclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2NsaWNrT3V0c2lkZV0nIH0pXHJcbmV4cG9ydCBjbGFzcyBDbGlja091dHNpZGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgY2xpY2tPdXRzaWRlRW5hYmxlZCA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIGF0dGFjaE91dHNpZGVPbkNsaWNrID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGVsYXlDbGlja091dHNpZGVJbml0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZW1pdE9uQmx1ciA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBleGNsdWRlID0gJyc7XHJcbiAgQElucHV0KCkgZXhjbHVkZUJlZm9yZUNsaWNrID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGNsaWNrT3V0c2lkZUV2ZW50cyA9ICcnO1xyXG5cclxuICBAT3V0cHV0KCkgY2xpY2tPdXRzaWRlOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcclxuICBwcml2YXRlIF9ub2Rlc0V4Y2x1ZGVkOiBBcnJheTxIVE1MRWxlbWVudD4gPSBbXTtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxyXG4gIHByaXZhdGUgX2V2ZW50czogQXJyYXk8c3RyaW5nPiA9IFsnY2xpY2snXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxyXG4gICAgcHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWYsXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxyXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSkge1xyXG4gICAgdGhpcy5faW5pdE9uQ2xpY2tCb2R5ID0gdGhpcy5faW5pdE9uQ2xpY2tCb2R5LmJpbmQodGhpcyk7XHJcbiAgICB0aGlzLl9vbkNsaWNrQm9keSA9IHRoaXMuX29uQ2xpY2tCb2R5LmJpbmQodGhpcyk7XHJcbiAgICB0aGlzLl9vbldpbmRvd0JsdXIgPSB0aGlzLl9vbldpbmRvd0JsdXIuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7IHJldHVybjsgfVxyXG5cclxuICAgIHRoaXMuX2luaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7IHJldHVybjsgfVxyXG5cclxuICAgIHRoaXMuX3JlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XHJcbiAgICB0aGlzLl9yZW1vdmVBdHRhY2hPdXRzaWRlT25DbGlja0xpc3RlbmVyKCk7XHJcbiAgICB0aGlzLl9yZW1vdmVXaW5kb3dCbHVyTGlzdGVuZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgeyByZXR1cm47IH1cclxuXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tc3RyaW5nLWxpdGVyYWxcclxuICAgIGlmIChjaGFuZ2VzWydhdHRhY2hPdXRzaWRlT25DbGljayddIHx8IGNoYW5nZXNbJ2V4Y2x1ZGUnXSB8fCBjaGFuZ2VzWydlbWl0T25CbHVyJ10pIHtcclxuICAgICAgdGhpcy5faW5pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNsaWNrT3V0c2lkZUV2ZW50cyAhPT0gJycpIHtcclxuICAgICAgdGhpcy5fZXZlbnRzID0gdGhpcy5jbGlja091dHNpZGVFdmVudHMuc3BsaXQoJywnKS5tYXAoZSA9PiBlLnRyaW0oKSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fZXhjbHVkZUNoZWNrKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuYXR0YWNoT3V0c2lkZU9uQ2xpY2spIHtcclxuICAgICAgdGhpcy5faW5pdEF0dGFjaE91dHNpZGVPbkNsaWNrTGlzdGVuZXIoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2luaXRPbkNsaWNrQm9keSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmVtaXRPbkJsdXIpIHtcclxuICAgICAgdGhpcy5faW5pdFdpbmRvd0JsdXJMaXN0ZW5lcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5pdE9uQ2xpY2tCb2R5KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGVsYXlDbGlja091dHNpZGVJbml0KSB7XHJcbiAgICAgIHNldFRpbWVvdXQodGhpcy5faW5pdENsaWNrT3V0c2lkZUxpc3RlbmVyLmJpbmQodGhpcykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faW5pdENsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9leGNsdWRlQ2hlY2soKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5leGNsdWRlKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3Qgbm9kZXMgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5leGNsdWRlKSkgYXMgQXJyYXk8SFRNTEVsZW1lbnQ+O1xyXG4gICAgICAgIGlmIChub2Rlcykge1xyXG4gICAgICAgICAgdGhpcy5fbm9kZXNFeGNsdWRlZCA9IG5vZGVzO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignW25nLWNsaWNrLW91dHNpZGVdIENoZWNrIHlvdXIgZXhjbHVkZSBzZWxlY3RvciBzeW50YXguJywgZXJyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb25DbGlja0JvZHkoZXY6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuY2xpY2tPdXRzaWRlRW5hYmxlZCkgeyByZXR1cm47IH1cclxuXHJcbiAgICBpZiAodGhpcy5leGNsdWRlQmVmb3JlQ2xpY2spIHtcclxuICAgICAgdGhpcy5fZXhjbHVkZUNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLl9lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2LnRhcmdldCkgJiYgIXRoaXMuX3Nob3VsZEV4Y2x1ZGUoZXYudGFyZ2V0KSkge1xyXG4gICAgICB0aGlzLl9lbWl0KGV2KTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmF0dGFjaE91dHNpZGVPbkNsaWNrKSB7XHJcbiAgICAgICAgdGhpcy5fcmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVzb2x2ZXMgcHJvYmxlbSB3aXRoIG91dHNpZGUgY2xpY2sgb24gaWZyYW1lXHJcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXJrb24vbmctY2xpY2stb3V0c2lkZS9pc3N1ZXMvMzJcclxuICAgKi9cclxuICBwcml2YXRlIF9vbldpbmRvd0JsdXIoZXY6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKCFkb2N1bWVudC5oaWRkZW4pIHtcclxuICAgICAgICB0aGlzLl9lbWl0KGV2KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9lbWl0KGV2OiBFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNsaWNrT3V0c2lkZUVuYWJsZWQpIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgdGhpcy5fbmdab25lLnJ1bigoKSA9PiB0aGlzLmNsaWNrT3V0c2lkZS5lbWl0KGV2KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zaG91bGRFeGNsdWRlKHRhcmdldDogYW55KTogYm9vbGVhbiB7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLWNvbnN0XHJcbiAgICBmb3IgKGxldCBleGNsdWRlZE5vZGUgb2YgdGhpcy5fbm9kZXNFeGNsdWRlZCkge1xyXG4gICAgICBpZiAoZXhjbHVkZWROb2RlLmNvbnRhaW5zKHRhcmdldCkpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXRDbGlja091dHNpZGVMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50cy5mb3JFYWNoKGUgPT4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihlLCB0aGlzLl9vbkNsaWNrQm9keSkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50cy5mb3JFYWNoKGUgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLCB0aGlzLl9vbkNsaWNrQm9keSkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0QXR0YWNoT3V0c2lkZU9uQ2xpY2tMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50cy5mb3JFYWNoKGUgPT4gdGhpcy5fZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGUsIHRoaXMuX2luaXRPbkNsaWNrQm9keSkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZW1vdmVBdHRhY2hPdXRzaWRlT25DbGlja0xpc3RlbmVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRzLmZvckVhY2goZSA9PiB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSwgdGhpcy5faW5pdE9uQ2xpY2tCb2R5KSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXRXaW5kb3dCbHVyTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsIHRoaXMuX29uV2luZG93Qmx1cik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbW92ZVdpbmRvd0JsdXJMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5fb25XaW5kb3dCbHVyKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,17 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DynamicComponentHostDirective {
4
- constructor(viewContainerRef) {
5
- this.viewContainerRef = viewContainerRef;
6
- this.hostName = '';
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: DynamicComponentHostDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.6", type: DynamicComponentHostDirective, selector: "[appDynamicComponentHost]", inputs: { hostName: "hostName" }, ngImport: i0 }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: DynamicComponentHostDirective, decorators: [{
12
- type: Directive,
13
- args: [{ selector: '[appDynamicComponentHost]' }]
14
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { hostName: [{
15
- type: Input
16
- }] } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtaG9zdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9keW5hbWljLWNvbXBvbmVudC1ob3N0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR25FLE1BQU0sT0FBTyw2QkFBNkI7SUFFeEMsWUFBbUIsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFENUMsYUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN5QixDQUFDOzhHQUY5Qyw2QkFBNkI7a0dBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFEekMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSwyQkFBMkIsRUFBRTtxRkFFekMsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1thcHBEeW5hbWljQ29tcG9uZW50SG9zdF0nIH0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29tcG9uZW50SG9zdERpcmVjdGl2ZSB7XHJcbiAgQElucHV0KCkgaG9zdE5hbWU6IHN0cmluZyA9ICcnO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7fVxyXG59Il19
@@ -1,235 +0,0 @@
1
- import { FilterClause, QueryParameters } from './../controls/advanced-search/models';
2
- import { of } from 'rxjs';
3
- import { Component, Input } from '@angular/core';
4
- import { RouterViewAction, ViewAction, ListViewType } from '../types';
5
- import { Icons } from '../icons';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- export class BaseListComponent {
9
- constructor(route$, router$) {
10
- this.route$ = route$;
11
- this.router$ = router$;
12
- this.items = null;
13
- this.view = ListViewType.Tiles;
14
- this.title = null;
15
- this.actions = [];
16
- this.loaderItems = [1, 2, 3, 4, 5];
17
- this.page = 1;
18
- this.pageSize = 20;
19
- this.count = 0;
20
- this.sort = '';
21
- this.sortdir = '';
22
- this.search = '';
23
- this.filters = [];
24
- this.searchOptions = [];
25
- this.sortOptions = [];
26
- this.metaItems = [];
27
- this.autoLoad = true;
28
- }
29
- ngOnDestroy() {
30
- if (this.routeSub$) {
31
- this.routeSub$.unsubscribe();
32
- }
33
- if (this.loadSub$) {
34
- this.loadSub$.unsubscribe();
35
- }
36
- }
37
- getViewActions() {
38
- const actions = [
39
- new ViewAction('search', null, null, Icons.Search, 'αναζήτηση'),
40
- new ViewAction('refresh', null, null, Icons.Refresh, 'ανανέωση στοιχείων')
41
- ];
42
- if (this.newItemLink) {
43
- actions.push(new RouterViewAction(Icons.Add, this.newItemLink, 'rightpane', 'προσθήκη νέας εγγραφής;'));
44
- }
45
- return of(actions);
46
- }
47
- ngOnInit() {
48
- this.getViewActions().subscribe(actions => {
49
- this.actions = actions || [];
50
- });
51
- this.metaItems = [
52
- { key: 'count', icon: Icons.ItemsCount, text: 'παρακαλώ περιμένετε...' }
53
- ];
54
- // disabled external route changes monitoring due to sync issues - which is bad :) - refresh from url will not work
55
- // until i come up with a solution...
56
- this.routeSub$ = this.route$.queryParamMap.subscribe(params => {
57
- if (params.keys.length === 0) {
58
- return;
59
- }
60
- // changing the view mode does not require reloading...
61
- this.view = params.get('view') || ListViewType.Tiles;
62
- // console.log('route changes ', this.view);
63
- if (params.get('search') !== null && params.get('search') !== this.search) {
64
- this.searchChanged(params.get('search'));
65
- }
66
- const page = +(params.get('page') || 1);
67
- if (page !== this.page) {
68
- this.page = page;
69
- }
70
- const size = +(params.get('pagesize') || 20);
71
- if (this.pageSize !== size) {
72
- this.pageSize = size;
73
- }
74
- if (params.get('search') && (params.get('search') !== this.search)) {
75
- this.search = params.get('search');
76
- }
77
- if (params.get('sort') && (params.get('sort') !== this.sort)) {
78
- this.sort = params.get('sort');
79
- }
80
- if (params.get('dir') && (params.get('dir') !== this.sortdir)) {
81
- this.sortdir = params.get('dir');
82
- }
83
- // initialize filters that may reside in the query string
84
- this.filters = this.getFiltersFrom(params);
85
- });
86
- // just to sync params in query
87
- this.setRouteParams(true);
88
- if (this.autoLoad)
89
- this.load();
90
- }
91
- /**
92
- * Get filters from a querystring
93
- * @param queryParamMap
94
- * @returns filters found from a paramMap
95
- */
96
- getFiltersFrom(queryParamMap) {
97
- let filterResult = [];
98
- if (queryParamMap.has(QueryParameters.FILTER) && queryParamMap.get(QueryParameters.FILTER).length > 0) {
99
- let filterValue = queryParamMap.get(QueryParameters.FILTER);
100
- const filterValues = filterValue?.split(","); // we may have multiple filters in filter query param
101
- if (filterValues && filterValues.length > 0) {
102
- // create the filterClauses derived from the query params
103
- for (var index in filterValues) {
104
- let filterClause = FilterClause.parse(filterValues[index]);
105
- const parsed = new FilterClause(filterClause.member, filterClause.value, filterClause.operator, filterClause.dataType, this.searchOptions);
106
- if (parsed !== undefined) {
107
- filterResult.push(parsed);
108
- }
109
- }
110
- }
111
- }
112
- return filterResult;
113
- }
114
- setRouteParams(locationChange = false) {
115
- this.router$.navigate([], {
116
- relativeTo: this.route$, queryParams: {
117
- view: this.view,
118
- page: this.page,
119
- pagesize: this.pageSize,
120
- search: this.search,
121
- sort: this.sort,
122
- dir: this.sortdir,
123
- filter: this.filterClausesToString(this.filters)
124
- }, queryParamsHandling: 'merge', skipLocationChange: locationChange
125
- });
126
- }
127
- filterClausesToString(filters) {
128
- return filters?.map((f) => {
129
- if (f.dataType === 'datetime') {
130
- f.value = (new Date(f.value)).toISOString();
131
- }
132
- return f.toString();
133
- }).join(',');
134
- }
135
- actionHandler($event) {
136
- // console.log('BaseListComponent actionHandler', $event);
137
- if ($event.key === 'refresh') {
138
- this.refresh();
139
- }
140
- }
141
- load() {
142
- // console.log('BaseListComponent LOAD');
143
- this.count = 0;
144
- this.items = null;
145
- this.loadSub$ = this.loadItems().subscribe(result => {
146
- this.count = result ? result.count : 0;
147
- this.items = result?.items;
148
- this.updateHeaderMeta();
149
- }, err => {
150
- this.count = 0;
151
- this.items = null;
152
- this.updateHeaderMeta();
153
- });
154
- }
155
- updateHeaderMeta() {
156
- const count = this.metaItems?.filter(m => m.key === 'count')[0];
157
- if (count) {
158
- this.count === 1 ? count.text = `${this.count} αποτέλεσμα` : count.text = `${this.count} αποτελέσματα`;
159
- }
160
- }
161
- clear() {
162
- this.count = 0;
163
- this.page = 1;
164
- this.items = null;
165
- this.search = null;
166
- this.setRouteParams();
167
- this.load();
168
- }
169
- refresh() {
170
- this.count = 0;
171
- this.updateHeaderMeta();
172
- this.page = 1;
173
- this.items = null;
174
- this.setRouteParams();
175
- this.load();
176
- }
177
- pageChanged(page) {
178
- if (this.page !== page) {
179
- this.page = page;
180
- this.setRouteParams();
181
- this.load();
182
- }
183
- }
184
- pageSizeChanged(pageSize) {
185
- if (this.pageSize !== pageSize) {
186
- this.pageSize = pageSize;
187
- this.page = 1;
188
- this.setRouteParams();
189
- this.refresh();
190
- }
191
- }
192
- sortChanged(sort) {
193
- // console.log('base-list sortChanged', sort);
194
- if (this.sort !== sort) {
195
- this.page = 1;
196
- this.sort = sort;
197
- this.setRouteParams();
198
- this.refresh();
199
- }
200
- }
201
- sortdirChanged(sortdir) {
202
- if (this.sortdir !== sortdir) {
203
- this.page = 1;
204
- this.sortdir = sortdir;
205
- this.setRouteParams();
206
- this.refresh();
207
- }
208
- }
209
- advancedSearchChanged(filters) {
210
- this.count = 0;
211
- this.page = 1;
212
- this.items = null;
213
- this.filters = filters;
214
- this.setRouteParams();
215
- this.load();
216
- }
217
- searchChanged(searchText) {
218
- this.count = 0;
219
- this.page = 1;
220
- this.items = null;
221
- this.search = searchText;
222
- this.setRouteParams();
223
- this.load();
224
- }
225
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: BaseListComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
226
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: BaseListComponent, selector: "ng-component", inputs: { autoLoad: ["auto-load", "autoLoad"] }, ngImport: i0, template: '', isInline: true }); }
227
- }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: BaseListComponent, decorators: [{
229
- type: Component,
230
- args: [{ template: '' }]
231
- }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }], propDecorators: { autoLoad: [{
232
- type: Input,
233
- args: ['auto-load']
234
- }] } });
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9oZWxwZXJzL2Jhc2UtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQWdCLE1BQU0sc0NBQXNDLENBQUM7QUFDbkcsT0FBTyxFQUE0QixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBNkIsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBMEMsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFHakMsTUFBTSxPQUFnQixpQkFBaUI7SUFxQnJDLFlBQW9CLE1BQXNCLEVBQVUsT0FBZTtRQUEvQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFwQjVELFVBQUssR0FBMkIsSUFBSSxDQUFDO1FBQ3JDLFNBQUksR0FBVyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ2xDLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBQzVCLFlBQU8sR0FBaUIsRUFBRSxDQUFDO1FBQzNCLGdCQUFXLEdBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckMsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUNULGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsU0FBSSxHQUFrQixFQUFFLENBQUM7UUFDekIsWUFBTyxHQUFrQixFQUFFLENBQUM7UUFDNUIsV0FBTSxHQUFrQixFQUFFLENBQUM7UUFDM0IsWUFBTyxHQUFt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QUFDLENBQUM7WUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBRU0scUJBQXFCLENBQUMsT0FBdUI7UUFDbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQXlCO1FBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQzs4R0F0UG1CLGlCQUFpQjtrR0FBakIsaUJBQWlCLHFHQURoQixFQUFFOzsyRkFDSCxpQkFBaUI7a0JBRHRDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO3dHQW9CTCxRQUFRO3NCQUEzQixLQUFLO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJDbGF1c2UsIFF1ZXJ5UGFyYW1ldGVycywgU2VhcmNoT3B0aW9uIH0gZnJvbSAnLi8uLi9jb250cm9scy9hZHZhbmNlZC1zZWFyY2gvbW9kZWxzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbU1hcCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSGVhZGVyTWV0YUl0ZW0sIElSZXN1bHRTZXQsIE1lbnVPcHRpb24sIFJvdXRlclZpZXdBY3Rpb24sIFZpZXdBY3Rpb24sIExpc3RWaWV3VHlwZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9pY29ucyc7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTGlzdENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgaXRlbXM6IFRbXSB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xyXG4gIHB1YmxpYyB2aWV3OiBzdHJpbmcgPSBMaXN0Vmlld1R5cGUuVGlsZXM7XHJcbiAgcHVibGljIHRpdGxlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgYWN0aW9uczogVmlld0FjdGlvbltdID0gW107XHJcbiAgcHVibGljIGxvYWRlckl0ZW1zOiBhbnlbXSA9IFsxLCAyLCAzLCA0LCA1XTtcclxuICBwdWJsaWMgcGFnZSA9IDE7XHJcbiAgcHVibGljIHBhZ2VTaXplID0gMjA7XHJcbiAgcHVibGljIGNvdW50ID0gMDtcclxuICBwdWJsaWMgc29ydDogc3RyaW5nIHwgbnVsbCA9ICcnO1xyXG4gIHB1YmxpYyBzb3J0ZGlyOiBzdHJpbmcgfCBudWxsID0gJyc7XHJcbiAgcHVibGljIHNlYXJjaDogc3RyaW5nIHwgbnVsbCA9ICcnO1xyXG4gIHB1YmxpYyBmaWx0ZXJzOiBGaWx0ZXJDbGF1c2VbXSA9IFtdO1xyXG4gIHB1YmxpYyBzZWFyY2hPcHRpb25zOiBTZWFyY2hPcHRpb25bXSA9IFtdO1xyXG4gIHB1YmxpYyBzb3J0T3B0aW9uczogTWVudU9wdGlvbltdID0gW107XHJcbiAgcHVibGljIG1ldGFJdGVtczogSGVhZGVyTWV0YUl0ZW1bXSA9IFtdO1xyXG4gIHB1YmxpYyBhYnN0cmFjdCBuZXdJdGVtTGluazogc3RyaW5nIHwgbnVsbDtcclxuICBwcml2YXRlIHJvdXRlU3ViJDogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgbG9hZFN1YiQ6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoJ2F1dG8tbG9hZCcpIGF1dG9Mb2FkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZSQ6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlciQ6IFJvdXRlcikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yb3V0ZVN1YiQpIHtcclxuICAgICAgdGhpcy5yb3V0ZVN1YiQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIGlmKHRoaXMubG9hZFN1YiQpIHtcclxuICAgICAgdGhpcy5sb2FkU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFZpZXdBY3Rpb25zKCk6IE9ic2VydmFibGU8Vmlld0FjdGlvbltdPiB7XHJcbiAgICBjb25zdCBhY3Rpb25zID0gW1xyXG4gICAgICBuZXcgVmlld0FjdGlvbignc2VhcmNoJywgbnVsbCwgbnVsbCwgSWNvbnMuU2VhcmNoLCAnzrHOvc6xzrbOrs+EzrfPg863JyksXHJcbiAgICAgIG5ldyBWaWV3QWN0aW9uKCdyZWZyZXNoJywgbnVsbCwgbnVsbCwgSWNvbnMuUmVmcmVzaCwgJ86xzr3Osc69zq3Pic+Dzrcgz4PPhM6/zrnPh861zq/Pic69JylcclxuICAgIF07XHJcbiAgICBpZiAodGhpcy5uZXdJdGVtTGluaykge1xyXG4gICAgICBhY3Rpb25zLnB1c2gobmV3IFJvdXRlclZpZXdBY3Rpb24oSWNvbnMuQWRkLCB0aGlzLm5ld0l0ZW1MaW5rLCAncmlnaHRwYW5lJywgJ8+Az4HOv8+DzrjOrs66zrcgzr3Orc6xz4IgzrXOs86zz4HOsc+Gzq7PgjsnKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2YoYWN0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0Vmlld0FjdGlvbnMoKS5zdWJzY3JpYmUoYWN0aW9ucyA9PiB7XHJcbiAgICAgIHRoaXMuYWN0aW9ucyA9IGFjdGlvbnMgfHwgW107XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm1ldGFJdGVtcyA9IFtcclxuICAgICAgeyBrZXk6ICdjb3VudCcsIGljb246IEljb25zLkl0ZW1zQ291bnQsIHRleHQ6ICfPgM6xz4HOsc66zrHOu8+OIM+AzrXPgc65zrzOrc69zrXPhM61Li4uJyB9XHJcbiAgICBdO1xyXG5cclxuICAgIC8vIGRpc2FibGVkIGV4dGVybmFsIHJvdXRlIGNoYW5nZXMgbW9uaXRvcmluZyBkdWUgdG8gc3luYyBpc3N1ZXMgLSB3aGljaCBpcyBiYWQgOikgLSByZWZyZXNoIGZyb20gdXJsIHdpbGwgbm90IHdvcmtcclxuICAgIC8vIHVudGlsIGkgY29tZSB1cCB3aXRoIGEgc29sdXRpb24uLi5cclxuXHJcbiAgICB0aGlzLnJvdXRlU3ViJCA9IHRoaXMucm91dGUkLnF1ZXJ5UGFyYW1NYXAuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgIGlmIChwYXJhbXMua2V5cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGNoYW5naW5nIHRoZSB2aWV3IG1vZGUgZG9lcyBub3QgcmVxdWlyZSByZWxvYWRpbmcuLi5cclxuICAgICAgdGhpcy52aWV3ID0gcGFyYW1zLmdldCgndmlldycpIHx8IExpc3RWaWV3VHlwZS5UaWxlcztcclxuICAgICAgLy8gY29uc29sZS5sb2coJ3JvdXRlIGNoYW5nZXMgJywgdGhpcy52aWV3KTtcclxuXHJcbiAgICAgIGlmIChwYXJhbXMuZ2V0KCdzZWFyY2gnKSAhPT0gbnVsbCAmJiBwYXJhbXMuZ2V0KCdzZWFyY2gnKSAhPT0gdGhpcy5zZWFyY2gpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZWQocGFyYW1zLmdldCgnc2VhcmNoJykpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBwYWdlID0gKyhwYXJhbXMuZ2V0KCdwYWdlJykgfHwgMSk7XHJcbiAgICAgIGlmIChwYWdlICE9PSB0aGlzLnBhZ2UpIHtcclxuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzaXplID0gKyhwYXJhbXMuZ2V0KCdwYWdlc2l6ZScpIHx8IDIwKTtcclxuICAgICAgaWYgKHRoaXMucGFnZVNpemUgIT09IHNpemUpIHtcclxuICAgICAgICB0aGlzLnBhZ2VTaXplID0gc2l6ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHBhcmFtcy5nZXQoJ3NlYXJjaCcpICYmIChwYXJhbXMuZ2V0KCdzZWFyY2gnKSAhPT0gdGhpcy5zZWFyY2gpKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2ggPSBwYXJhbXMuZ2V0KCdzZWFyY2gnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHBhcmFtcy5nZXQoJ3NvcnQnKSAmJiAocGFyYW1zLmdldCgnc29ydCcpICE9PSB0aGlzLnNvcnQpKSB7XHJcbiAgICAgICAgdGhpcy5zb3J0ID0gcGFyYW1zLmdldCgnc29ydCcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocGFyYW1zLmdldCgnZGlyJykgJiYgKHBhcmFtcy5nZXQoJ2RpcicpICE9PSB0aGlzLnNvcnRkaXIpKSB7XHJcbiAgICAgICAgdGhpcy5zb3J0ZGlyID0gcGFyYW1zLmdldCgnZGlyJyk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gaW5pdGlhbGl6ZSBmaWx0ZXJzIHRoYXQgbWF5IHJlc2lkZSBpbiB0aGUgcXVlcnkgc3RyaW5nXHJcbiAgICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuZ2V0RmlsdGVyc0Zyb20ocGFyYW1zKTtcclxuICAgIH0pO1xyXG4gICAgLy8ganVzdCB0byBzeW5jIHBhcmFtcyBpbiBxdWVyeVxyXG4gICAgdGhpcy5zZXRSb3V0ZVBhcmFtcyh0cnVlKTtcclxuICAgIGlmKHRoaXMuYXV0b0xvYWQpIHRoaXMubG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIEdldCBmaWx0ZXJzIGZyb20gYSBxdWVyeXN0cmluZ1xyXG4gKiBAcGFyYW0gcXVlcnlQYXJhbU1hcFxyXG4gKiBAcmV0dXJucyBmaWx0ZXJzIGZvdW5kIGZyb20gYSBwYXJhbU1hcFxyXG4gKi9cclxuICBwcml2YXRlIGdldEZpbHRlcnNGcm9tKHF1ZXJ5UGFyYW1NYXA6IFBhcmFtTWFwKTogRmlsdGVyQ2xhdXNlW10ge1xyXG4gICAgbGV0IGZpbHRlclJlc3VsdDogRmlsdGVyQ2xhdXNlW10gPSBbXTtcclxuICAgIGlmIChxdWVyeVBhcmFtTWFwLmhhcyhRdWVyeVBhcmFtZXRlcnMuRklMVEVSKSAmJiBxdWVyeVBhcmFtTWFwLmdldChRdWVyeVBhcmFtZXRlcnMuRklMVEVSKSEubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgZmlsdGVyVmFsdWUgPSBxdWVyeVBhcmFtTWFwLmdldChRdWVyeVBhcmFtZXRlcnMuRklMVEVSKTtcclxuICAgICAgY29uc3QgZmlsdGVyVmFsdWVzID0gZmlsdGVyVmFsdWU/LnNwbGl0KFwiLFwiKTsgLy8gd2UgbWF5IGhhdmUgbXVsdGlwbGUgZmlsdGVycyBpbiBmaWx0ZXIgcXVlcnkgcGFyYW1cclxuICAgICAgaWYgKGZpbHRlclZhbHVlcyAmJiBmaWx0ZXJWYWx1ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIC8vIGNyZWF0ZSB0aGUgZmlsdGVyQ2xhdXNlcyBkZXJpdmVkIGZyb20gdGhlIHF1ZXJ5IHBhcmFtc1xyXG4gICAgICAgIGZvciAodmFyIGluZGV4IGluIGZpbHRlclZhbHVlcykge1xyXG4gICAgICAgICAgbGV0IGZpbHRlckNsYXVzZSA9IEZpbHRlckNsYXVzZS5wYXJzZShmaWx0ZXJWYWx1ZXNbaW5kZXhdKTtcclxuICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IG5ldyBGaWx0ZXJDbGF1c2UoZmlsdGVyQ2xhdXNlIS5tZW1iZXIsIGZpbHRlckNsYXVzZSEudmFsdWUsIGZpbHRlckNsYXVzZSEub3BlcmF0b3IsIGZpbHRlckNsYXVzZSEuZGF0YVR5cGUsIHRoaXMuc2VhcmNoT3B0aW9ucyk7XHJcbiAgICAgICAgICBpZiAocGFyc2VkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZmlsdGVyUmVzdWx0LnB1c2gocGFyc2VkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmaWx0ZXJSZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFJvdXRlUGFyYW1zKGxvY2F0aW9uQ2hhbmdlOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIHRoaXMucm91dGVyJC5uYXZpZ2F0ZShbXSwge1xyXG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlJCwgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICB2aWV3OiB0aGlzLnZpZXcsXHJcbiAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxyXG4gICAgICAgIHBhZ2VzaXplOiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2gsXHJcbiAgICAgICAgc29ydDogdGhpcy5zb3J0LFxyXG4gICAgICAgIGRpcjogdGhpcy5zb3J0ZGlyLFxyXG4gICAgICAgIGZpbHRlcjogdGhpcy5maWx0ZXJDbGF1c2VzVG9TdHJpbmcodGhpcy5maWx0ZXJzKVxyXG4gICAgICB9LCBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLCBza2lwTG9jYXRpb25DaGFuZ2U6IGxvY2F0aW9uQ2hhbmdlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmlsdGVyQ2xhdXNlc1RvU3RyaW5nKGZpbHRlcnM6IEZpbHRlckNsYXVzZVtdIHwgdW5kZWZpbmVkKSB7XHJcbiAgICByZXR1cm4gZmlsdGVycz8ubWFwKChmOiBGaWx0ZXJDbGF1c2UpID0+IHtcclxuICAgICAgaWYgKGYuZGF0YVR5cGUgPT09ICdkYXRldGltZScpIHtcclxuICAgICAgICBmLnZhbHVlID0gKG5ldyBEYXRlKGYudmFsdWUpKS50b0lTT1N0cmluZygpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmLnRvU3RyaW5nKCk7XHJcbiAgICB9KS5qb2luKCcsJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWN0aW9uSGFuZGxlcigkZXZlbnQ6IFZpZXdBY3Rpb24pOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdCYXNlTGlzdENvbXBvbmVudCBhY3Rpb25IYW5kbGVyJywgJGV2ZW50KTtcclxuICAgIGlmICgkZXZlbnQua2V5ID09PSAncmVmcmVzaCcpIHtcclxuICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWQoKTogdm9pZCB7XHJcbiAgICAvLyBjb25zb2xlLmxvZygnQmFzZUxpc3RDb21wb25lbnQgTE9BRCcpO1xyXG4gICAgdGhpcy5jb3VudCA9IDA7XHJcbiAgICB0aGlzLml0ZW1zID0gbnVsbDtcclxuICAgIHRoaXMubG9hZFN1YiQgPSB0aGlzLmxvYWRJdGVtcygpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLmNvdW50ID0gcmVzdWx0ID8gcmVzdWx0LmNvdW50IDogMDtcclxuICAgICAgdGhpcy5pdGVtcyA9IHJlc3VsdD8uaXRlbXM7XHJcbiAgICAgIHRoaXMudXBkYXRlSGVhZGVyTWV0YSgpO1xyXG4gICAgfSwgZXJyID0+IHtcclxuICAgICAgdGhpcy5jb3VudCA9IDA7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSBudWxsO1xyXG4gICAgICB0aGlzLnVwZGF0ZUhlYWRlck1ldGEoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVIZWFkZXJNZXRhKCk6IHZvaWQge1xyXG4gICAgY29uc3QgY291bnQgPSB0aGlzLm1ldGFJdGVtcz8uZmlsdGVyKG0gPT4gbS5rZXkgPT09ICdjb3VudCcpWzBdO1xyXG4gICAgaWYgKGNvdW50KSB7XHJcbiAgICAgIHRoaXMuY291bnQgPT09IDEgPyBjb3VudC50ZXh0ID0gYCR7dGhpcy5jb3VudH0gzrHPgM6/z4TOrc67zrXPg868zrFgIDogY291bnQudGV4dCA9IGAke3RoaXMuY291bnR9IM6xz4DOv8+EzrXOu86tz4POvM6xz4TOsWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWJzdHJhY3QgbG9hZEl0ZW1zKCk6IE9ic2VydmFibGU8SVJlc3VsdFNldDxUPiB8IG51bGwgfCB1bmRlZmluZWQ+O1xyXG5cclxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvdW50ID0gMDtcclxuICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICB0aGlzLml0ZW1zID0gbnVsbDtcclxuICAgIHRoaXMuc2VhcmNoID0gbnVsbDtcclxuICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgIHRoaXMubG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZnJlc2goKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvdW50ID0gMDtcclxuICAgIHRoaXMudXBkYXRlSGVhZGVyTWV0YSgpO1xyXG4gICAgdGhpcy5wYWdlID0gMTtcclxuICAgIHRoaXMuaXRlbXMgPSBudWxsO1xyXG4gICAgdGhpcy5zZXRSb3V0ZVBhcmFtcygpO1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGFnZUNoYW5nZWQocGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wYWdlICE9PSBwYWdlKSB7XHJcbiAgICAgIHRoaXMucGFnZSA9IHBhZ2U7XHJcbiAgICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGFnZVNpemVDaGFuZ2VkKHBhZ2VTaXplOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnBhZ2VTaXplICE9PSBwYWdlU2l6ZSkge1xyXG4gICAgICB0aGlzLnBhZ2VTaXplID0gcGFnZVNpemU7XHJcbiAgICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc29ydENoYW5nZWQoc29ydDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAvLyBjb25zb2xlLmxvZygnYmFzZS1saXN0IHNvcnRDaGFuZ2VkJywgc29ydCk7XHJcbiAgICBpZiAodGhpcy5zb3J0ICE9PSBzb3J0KSB7XHJcbiAgICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICAgIHRoaXMuc29ydCA9IHNvcnQ7XHJcbiAgICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc29ydGRpckNoYW5nZWQoc29ydGRpcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zb3J0ZGlyICE9PSBzb3J0ZGlyKSB7XHJcbiAgICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICAgIHRoaXMuc29ydGRpciA9IHNvcnRkaXI7XHJcbiAgICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgICAgdGhpcy5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWR2YW5jZWRTZWFyY2hDaGFuZ2VkKGZpbHRlcnM6IEZpbHRlckNsYXVzZVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvdW50ID0gMDtcclxuICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICB0aGlzLml0ZW1zID0gbnVsbDtcclxuICAgIHRoaXMuZmlsdGVycyA9IGZpbHRlcnM7XHJcbiAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICB0aGlzLmxvYWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWFyY2hDaGFuZ2VkKHNlYXJjaFRleHQ6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcclxuICAgIHRoaXMuY291bnQgPSAwO1xyXG4gICAgdGhpcy5wYWdlID0gMTtcclxuICAgIHRoaXMuaXRlbXMgPSBudWxsO1xyXG4gICAgdGhpcy5zZWFyY2ggPSBzZWFyY2hUZXh0O1xyXG4gICAgdGhpcy5zZXRSb3V0ZVBhcmFtcygpO1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,36 +0,0 @@
1
- export class Icons {
2
- // https://uifabricicons.azurewebsites.net/
3
- static { this.Dashboard = `ms-Icon ms-Icon--HomeGroup `; }
4
- static { this.Locations = `ms-Icon ms-Icon--MapPin `; }
5
- static { this.ChargePoints = `ms-Icon ms-Icon--ChatBot `; }
6
- static { this.Transations = `ms-Icon ms-Icon--LightningBolt `; }
7
- static { this.Badges = `ms-Icon ms-Icon--IDBadge `; }
8
- static { this.Information = `ms-Icon ms-Icon--Info`; }
9
- static { this.Refresh = `ms-Icon ms-Icon--Refresh`; }
10
- static { this.Search = `ms-Icon ms-Icon--Search`; }
11
- static { this.Add = `ms-Icon ms-Icon--Add`; }
12
- static { this.Delete = `ms-Icon ms-Icon--Delete`; }
13
- static { this.SendEmail = `ms-Icon ms-Icon--NewMail`; }
14
- static { this.Filter = `ms-Icon ms-Icon--Filter`; }
15
- static { this.Export = `ms-Icon ms-Icon--ExcelDocument`; }
16
- static { this.Import = `ms-Icon ms-Icon--PeopleAdd`; }
17
- static { this.TilesView = `ms-Icon ms-Icon--AppIconDefault`; }
18
- static { this.TableView = `ms-Icon ms-Icon--Table`; }
19
- static { this.MapView = `ms-Icon ms-Icon--MapPin`; }
20
- static { this.EntryView = `ms-Icon ms-Icon--EntryView`; }
21
- static { this.Separator = `ms-Icon ms-Icon--Separator text-white`; }
22
- static { this.ItemsCount = 'ms-Icon ms-Icon--Boards'; }
23
- static { this.Heart = 'ms-Icon ms-Icon--Heart'; }
24
- static { this.HeartBroken = 'ms-Icon ms-Icon--HeartBroken'; }
25
- static { this.DateTime = 'ms-Icon ms-Icon--ReminderTime'; }
26
- static { this.Expand = 'ms-Icon ms-Icon--ChevronDown'; }
27
- static { this.Collapse = 'ms-Icon ms-Icon--ChevronUp'; }
28
- static { this.SortAsc = 'ms-Icon ms-Icon--Ascending'; }
29
- static { this.SortDesc = 'ms-Icon ms-Icon--Descending'; }
30
- static { this.Details = ' ms-Icon ms-Icon--AccountActivity'; }
31
- static { this.Messages = ' ms-Icon ms-Icon--Message'; }
32
- static { this.MessagesUnread = ' ms-Icon ms-Icon--MessageFill'; }
33
- static { this.External = ' ms-Icon ms-Icon--FileSymlink'; }
34
- static { this.Statistics = ' ms-Icon ms-Icon--BIDashboard'; }
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvaWNvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLEtBQUs7SUFDaEIsMkNBQTJDO2FBQzdCLGNBQVMsR0FBRyw2QkFBNkIsQ0FBQzthQUMxQyxjQUFTLEdBQUcsMEJBQTBCLENBQUM7YUFDdkMsaUJBQVksR0FBRywyQkFBMkIsQ0FBQzthQUMzQyxnQkFBVyxHQUFHLGlDQUFpQyxDQUFDO2FBQ2hELFdBQU0sR0FBRywyQkFBMkIsQ0FBQzthQUVyQyxnQkFBVyxHQUFHLHVCQUF1QixDQUFDO2FBQ3RDLFlBQU8sR0FBRywwQkFBMEIsQ0FBQzthQUNyQyxXQUFNLEdBQUcseUJBQXlCLENBQUM7YUFDbkMsUUFBRyxHQUFHLHNCQUFzQixDQUFDO2FBQzdCLFdBQU0sR0FBRyx5QkFBeUIsQ0FBQzthQUNuQyxjQUFTLEdBQUcsMEJBQTBCLENBQUM7YUFDdkMsV0FBTSxHQUFHLHlCQUF5QixDQUFDO2FBQ25DLFdBQU0sR0FBRyxnQ0FBZ0MsQ0FBQzthQUMxQyxXQUFNLEdBQUcsNEJBQTRCLENBQUM7YUFFdEMsY0FBUyxHQUFHLGlDQUFpQyxDQUFDO2FBQzlDLGNBQVMsR0FBRyx3QkFBd0IsQ0FBQzthQUNyQyxZQUFPLEdBQUcseUJBQXlCLENBQUM7YUFDcEMsY0FBUyxHQUFHLDRCQUE0QixDQUFDO2FBRXpDLGNBQVMsR0FBRyx1Q0FBdUMsQ0FBQzthQUVwRCxlQUFVLEdBQUcseUJBQXlCLENBQUM7YUFFdkMsVUFBSyxHQUFHLHdCQUF3QixDQUFDO2FBQ2pDLGdCQUFXLEdBQUcsOEJBQThCLENBQUM7YUFDN0MsYUFBUSxHQUFHLCtCQUErQixDQUFDO2FBRTNDLFdBQU0sR0FBRyw4QkFBOEIsQ0FBQzthQUN4QyxhQUFRLEdBQUcsNEJBQTRCLENBQUM7YUFFeEMsWUFBTyxHQUFHLDRCQUE0QixDQUFDO2FBQ3ZDLGFBQVEsR0FBRyw2QkFBNkIsQ0FBQzthQUV6QyxZQUFPLEdBQUcsbUNBQW1DLENBQUM7YUFFOUMsYUFBUSxHQUFHLDJCQUEyQixDQUFDO2FBQ3ZDLG1CQUFjLEdBQUcsK0JBQStCLENBQUM7YUFFakQsYUFBUSxHQUFHLCtCQUErQixDQUFDO2FBQzNDLGVBQVUsR0FBRywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJY29ucyB7XHJcbiAgLy8gaHR0cHM6Ly91aWZhYnJpY2ljb25zLmF6dXJld2Vic2l0ZXMubmV0L1xyXG4gIHB1YmxpYyBzdGF0aWMgRGFzaGJvYXJkID0gYG1zLUljb24gbXMtSWNvbi0tSG9tZUdyb3VwIGA7XHJcbiAgcHVibGljIHN0YXRpYyBMb2NhdGlvbnMgPSBgbXMtSWNvbiBtcy1JY29uLS1NYXBQaW4gYDtcclxuICBwdWJsaWMgc3RhdGljIENoYXJnZVBvaW50cyA9IGBtcy1JY29uIG1zLUljb24tLUNoYXRCb3QgYDtcclxuICBwdWJsaWMgc3RhdGljIFRyYW5zYXRpb25zID0gYG1zLUljb24gbXMtSWNvbi0tTGlnaHRuaW5nQm9sdCBgO1xyXG4gIHB1YmxpYyBzdGF0aWMgQmFkZ2VzID0gYG1zLUljb24gbXMtSWNvbi0tSURCYWRnZSBgO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIEluZm9ybWF0aW9uID0gYG1zLUljb24gbXMtSWNvbi0tSW5mb2A7XHJcbiAgcHVibGljIHN0YXRpYyBSZWZyZXNoID0gYG1zLUljb24gbXMtSWNvbi0tUmVmcmVzaGA7XHJcbiAgcHVibGljIHN0YXRpYyBTZWFyY2ggPSBgbXMtSWNvbiBtcy1JY29uLS1TZWFyY2hgO1xyXG4gIHB1YmxpYyBzdGF0aWMgQWRkID0gYG1zLUljb24gbXMtSWNvbi0tQWRkYDtcclxuICBwdWJsaWMgc3RhdGljIERlbGV0ZSA9IGBtcy1JY29uIG1zLUljb24tLURlbGV0ZWA7XHJcbiAgcHVibGljIHN0YXRpYyBTZW5kRW1haWwgPSBgbXMtSWNvbiBtcy1JY29uLS1OZXdNYWlsYDtcclxuICBwdWJsaWMgc3RhdGljIEZpbHRlciA9IGBtcy1JY29uIG1zLUljb24tLUZpbHRlcmA7XHJcbiAgcHVibGljIHN0YXRpYyBFeHBvcnQgPSBgbXMtSWNvbiBtcy1JY29uLS1FeGNlbERvY3VtZW50YDtcclxuICBwdWJsaWMgc3RhdGljIEltcG9ydCA9IGBtcy1JY29uIG1zLUljb24tLVBlb3BsZUFkZGA7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgVGlsZXNWaWV3ID0gYG1zLUljb24gbXMtSWNvbi0tQXBwSWNvbkRlZmF1bHRgO1xyXG4gIHB1YmxpYyBzdGF0aWMgVGFibGVWaWV3ID0gYG1zLUljb24gbXMtSWNvbi0tVGFibGVgO1xyXG4gIHB1YmxpYyBzdGF0aWMgTWFwVmlldyA9IGBtcy1JY29uIG1zLUljb24tLU1hcFBpbmA7XHJcbiAgcHVibGljIHN0YXRpYyBFbnRyeVZpZXcgPSBgbXMtSWNvbiBtcy1JY29uLS1FbnRyeVZpZXdgO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIFNlcGFyYXRvciA9IGBtcy1JY29uIG1zLUljb24tLVNlcGFyYXRvciB0ZXh0LXdoaXRlYDtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBJdGVtc0NvdW50ID0gJ21zLUljb24gbXMtSWNvbi0tQm9hcmRzJztcclxuXHJcbiAgcHVibGljIHN0YXRpYyBIZWFydCA9ICdtcy1JY29uIG1zLUljb24tLUhlYXJ0JztcclxuICBwdWJsaWMgc3RhdGljIEhlYXJ0QnJva2VuID0gJ21zLUljb24gbXMtSWNvbi0tSGVhcnRCcm9rZW4nO1xyXG4gIHB1YmxpYyBzdGF0aWMgRGF0ZVRpbWUgPSAnbXMtSWNvbiBtcy1JY29uLS1SZW1pbmRlclRpbWUnO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIEV4cGFuZCA9ICdtcy1JY29uIG1zLUljb24tLUNoZXZyb25Eb3duJztcclxuICBwdWJsaWMgc3RhdGljIENvbGxhcHNlID0gJ21zLUljb24gbXMtSWNvbi0tQ2hldnJvblVwJztcclxuXHJcbiAgcHVibGljIHN0YXRpYyBTb3J0QXNjID0gJ21zLUljb24gbXMtSWNvbi0tQXNjZW5kaW5nJztcclxuICBwdWJsaWMgc3RhdGljIFNvcnREZXNjID0gJ21zLUljb24gbXMtSWNvbi0tRGVzY2VuZGluZyc7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgRGV0YWlscyA9ICcgbXMtSWNvbiBtcy1JY29uLS1BY2NvdW50QWN0aXZpdHknO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIE1lc3NhZ2VzID0gJyBtcy1JY29uIG1zLUljb24tLU1lc3NhZ2UnO1xyXG4gIHB1YmxpYyBzdGF0aWMgTWVzc2FnZXNVbnJlYWQgPSAnIG1zLUljb24gbXMtSWNvbi0tTWVzc2FnZUZpbGwnO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIEV4dGVybmFsID0gJyBtcy1JY29uIG1zLUljb24tLUZpbGVTeW1saW5rJztcclxuICBwdWJsaWMgc3RhdGljIFN0YXRpc3RpY3MgPSAnIG1zLUljb24gbXMtSWNvbi0tQklEYXNoYm9hcmQnO1xyXG59XHJcbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { APP_LINKS } from '../../../tokens';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- export class ShellFooterComponent {
6
- constructor(links) {
7
- this.links = links;
8
- }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellFooterComponent, deps: [{ token: APP_LINKS }], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellFooterComponent, selector: "lib-shell-footer", ngImport: i0, template: "<footer class=\"shell-footer-component-container\">\r\n <div class=\"shell-footer-paddings\">\r\n <div class=\"shell-footer-component-container-inner\">\r\n <div class=\"shell-footer-sections-container\">\r\n <div class=\"shell-footer-section\">\r\n <img class=\"shell-footer-logo-h\" src=\"assets/images/branding/indice.png\" alt=\"INDICE logo\" />\r\n <nav class=\"mt-4\">\r\n <ul class=\"space-y-2\">\r\n <ng-container *ngFor=\"let link of links.brand | async\">\r\n <li>\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Legal</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <ng-container *ngFor=\"let link of links.legal | async\">\r\n <li class=\"mb-2\">\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Follow us</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84\"/>\r\n </svg>\r\n <span> Twitter </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Instagram </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\" >\r\n <path fill-rule=\"evenodd\" d=\"M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Facebook </span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"shell-footer-copyright\">\r\n <!--<nav class=\"flex flex-wrap justify-center space-x-6\">\r\n <a href=\"#\" class=\"font-normal text-sm hover:text-gray-100 mb-2\">Cookie settings</a>\r\n </nav>-->\r\n <p class=\"text-sm text-center sm:text-right\">\r\n \u00A9 2021 INDICE. All rights reserved.\r\n </p>\r\n </div>\r\n </div>\r\n</footer>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellFooterComponent, decorators: [{
13
- type: Component,
14
- args: [{ selector: 'lib-shell-footer', template: "<footer class=\"shell-footer-component-container\">\r\n <div class=\"shell-footer-paddings\">\r\n <div class=\"shell-footer-component-container-inner\">\r\n <div class=\"shell-footer-sections-container\">\r\n <div class=\"shell-footer-section\">\r\n <img class=\"shell-footer-logo-h\" src=\"assets/images/branding/indice.png\" alt=\"INDICE logo\" />\r\n <nav class=\"mt-4\">\r\n <ul class=\"space-y-2\">\r\n <ng-container *ngFor=\"let link of links.brand | async\">\r\n <li>\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Legal</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <ng-container *ngFor=\"let link of links.legal | async\">\r\n <li class=\"mb-2\">\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Follow us</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84\"/>\r\n </svg>\r\n <span> Twitter </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Instagram </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\" >\r\n <path fill-rule=\"evenodd\" d=\"M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Facebook </span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"shell-footer-copyright\">\r\n <!--<nav class=\"flex flex-wrap justify-center space-x-6\">\r\n <a href=\"#\" class=\"font-normal text-sm hover:text-gray-100 mb-2\">Cookie settings</a>\r\n </nav>-->\r\n <p class=\"text-sm text-center sm:text-right\">\r\n \u00A9 2021 INDICE. All rights reserved.\r\n </p>\r\n </div>\r\n </div>\r\n</footer>\r\n" }]
15
- }], ctorParameters: () => [{ type: undefined, decorators: [{
16
- type: Inject,
17
- args: [APP_LINKS]
18
- }] }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWZvb3Rlci9zaGVsbC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtZm9vdGVyL3NoZWxsLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVM1QyxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLFlBQXNDLEtBQWdCO1FBQWhCLFVBQUssR0FBTCxLQUFLLENBQVc7SUFDdEQsQ0FBQzs4R0FGUSxvQkFBb0Isa0JBQ1QsU0FBUztrR0FEcEIsb0JBQW9CLHdEQ1ZqQyxrNEtBdUVBOzsyRkQ3RGEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQjs7MEJBTWIsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVBQX0xJTktTIH0gZnJvbSAnLi4vLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgSUFwcExpbmtzIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2hlbGwtZm9vdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtZm9vdGVyLmNvbXBvbmVudC5odG1sJ1xyXG5cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTaGVsbEZvb3RlckNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQUF9MSU5LUykgcHVibGljIGxpbmtzOiBJQXBwTGlua3MpIHtcclxuICAgIH1cclxufVxyXG4iLCI8Zm9vdGVyIGNsYXNzPVwic2hlbGwtZm9vdGVyLWNvbXBvbmVudC1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwic2hlbGwtZm9vdGVyLXBhZGRpbmdzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2hlbGwtZm9vdGVyLWNvbXBvbmVudC1jb250YWluZXItaW5uZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWZvb3Rlci1zZWN0aW9ucy1jb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtZm9vdGVyLXNlY3Rpb25cIj5cclxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJzaGVsbC1mb290ZXItbG9nby1oXCIgc3JjPVwiYXNzZXRzL2ltYWdlcy9icmFuZGluZy9pbmRpY2UucG5nXCIgYWx0PVwiSU5ESUNFIGxvZ29cIiAvPlxyXG4gICAgICAgICAgPG5hdiBjbGFzcz1cIm10LTRcIj5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwic3BhY2UteS0yXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiBsaW5rcy5icmFuZCB8IGFzeW5jXCI+XHJcbiAgICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICAgIDxhIFtocmVmXT1cImxpbmsucGF0aFwiIGNsYXNzPVwic2hlbGwtZm9vdGVyLWxpbmtcIj57eyBsaW5rLnRleHQgfX08L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgPC9uYXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWZvb3Rlci1zZWN0aW9uLWxpbmtzXCI+XHJcbiAgICAgICAgICA8aDUgY2xhc3M9XCJzaGVsbC1mb290ZXItc2VjdGlvbi10aXRsZVwiPkxlZ2FsPC9oNT5cclxuICAgICAgICAgIDxuYXYgY2xhc3M9XCJtdC00XCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImdyaWQgbGc6Z3JpZC1jb2xzLTJcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIGxpbmtzLmxlZ2FsIHwgYXN5bmNcIj5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwibGluay5wYXRoXCIgY2xhc3M9XCJzaGVsbC1mb290ZXItbGlua1wiPnt7IGxpbmsudGV4dCB9fTwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICA8L25hdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtZm9vdGVyLXNlY3Rpb24tbGlua3NcIj5cclxuICAgICAgICAgIDxoNSBjbGFzcz1cInNoZWxsLWZvb3Rlci1zZWN0aW9uLXRpdGxlXCI+Rm9sbG93IHVzPC9oNT5cclxuICAgICAgICAgIDxuYXYgY2xhc3M9XCJtdC00XCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImdyaWQgbGc6Z3JpZC1jb2xzLTJcIj5cclxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwic2hlbGwtZm9vdGVyLXNvY2lhbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3ZnICBjbGFzcz1cInNoZWxsLWZvb3Rlci1zb2NpYWwtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjI5IDIwLjI1MWM3LjU0NyAwIDExLjY3NS02LjI1MyAxMS42NzUtMTEuNjc1IDAtLjE3OCAwLS4zNTUtLjAxMi0uNTNBOC4zNDggOC4zNDggMCAwMDIyIDUuOTJhOC4xOSA4LjE5IDAgMDEtMi4zNTcuNjQ2IDQuMTE4IDQuMTE4IDAgMDAxLjgwNC0yLjI3IDguMjI0IDguMjI0IDAgMDEtMi42MDUuOTk2IDQuMTA3IDQuMTA3IDAgMDAtNi45OTMgMy43NDMgMTEuNjUgMTEuNjUgMCAwMS04LjQ1Ny00LjI4NyA0LjEwNiA0LjEwNiAwIDAwMS4yNyA1LjQ3N0E0LjA3MiA0LjA3MiAwIDAxMi44IDkuNzEzdi4wNTJhNC4xMDUgNC4xMDUgMCAwMDMuMjkyIDQuMDIyIDQuMDk1IDQuMDk1IDAgMDEtMS44NTMuMDcgNC4xMDggNC4xMDggMCAwMDMuODM0IDIuODVBOC4yMzMgOC4yMzMgMCAwMTIgMTguNDA3YTExLjYxNiAxMS42MTYgMCAwMDYuMjkgMS44NFwiLz5cclxuICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPiBUd2l0dGVyIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJzaGVsbC1mb290ZXItc29jaWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJzaGVsbC1mb290ZXItc29jaWFsLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEyLjMxNSAyYzIuNDMgMCAyLjc4NC4wMTMgMy44MDguMDYgMS4wNjQuMDQ5IDEuNzkxLjIxOCAyLjQyNy40NjVhNC45MDIgNC45MDIgMCAwMTEuNzcyIDEuMTUzIDQuOTAyIDQuOTAyIDAgMDExLjE1MyAxLjc3MmMuMjQ3LjYzNi40MTYgMS4zNjMuNDY1IDIuNDI3LjA0OCAxLjA2Ny4wNiAxLjQwNy4wNiA0LjEyM3YuMDhjMCAyLjY0My0uMDEyIDIuOTg3LS4wNiA0LjA0My0uMDQ5IDEuMDY0LS4yMTggMS43OTEtLjQ2NSAyLjQyN2E0LjkwMiA0LjkwMiAwIDAxLTEuMTUzIDEuNzcyIDQuOTAyIDQuOTAyIDAgMDEtMS43NzIgMS4xNTNjLS42MzYuMjQ3LTEuMzYzLjQxNi0yLjQyNy40NjUtMS4wNjcuMDQ4LTEuNDA3LjA2LTQuMTIzLjA2aC0uMDhjLTIuNjQzIDAtMi45ODctLjAxMi00LjA0My0uMDYtMS4wNjQtLjA0OS0xLjc5MS0uMjE4LTIuNDI3LS40NjVhNC45MDIgNC45MDIgMCAwMS0xLjc3Mi0xLjE1MyA0LjkwMiA0LjkwMiAwIDAxLTEuMTUzLTEuNzcyYy0uMjQ3LS42MzYtLjQxNi0xLjM2My0uNDY1LTIuNDI3LS4wNDctMS4wMjQtLjA2LTEuMzc5LS4wNi0zLjgwOHYtLjYzYzAtMi40My4wMTMtMi43ODQuMDYtMy44MDguMDQ5LTEuMDY0LjIxOC0xLjc5MS40NjUtMi40MjdhNC45MDIgNC45MDIgMCAwMTEuMTUzLTEuNzcyQTQuOTAyIDQuOTAyIDAgMDE1LjQ1IDIuNTI1Yy42MzYtLjI0NyAxLjM2My0uNDE2IDIuNDI3LS40NjVDOC45MDEgMi4wMTMgOS4yNTYgMiAxMS42ODUgMmguNjN6bS0uMDgxIDEuODAyaC0uNDY4Yy0yLjQ1NiAwLTIuNzg0LjAxMS0zLjgwNy4wNTgtLjk3NS4wNDUtMS41MDQuMjA3LTEuODU3LjM0NC0uNDY3LjE4Mi0uOC4zOTgtMS4xNS43NDgtLjM1LjM1LS41NjYuNjgzLS43NDggMS4xNS0uMTM3LjM1My0uMy44ODItLjM0NCAxLjg1Ny0uMDQ3IDEuMDIzLS4wNTggMS4zNTEtLjA1OCAzLjgwN3YuNDY4YzAgMi40NTYuMDExIDIuNzg0LjA1OCAzLjgwNy4wNDUuOTc1LjIwNyAxLjUwNC4zNDQgMS44NTcuMTgyLjQ2Ni4zOTkuOC43NDggMS4xNS4zNS4zNS42ODMuNTY2IDEuMTUuNzQ4LjM1My4xMzcuODgyLjMgMS44NTcuMzQ0IDEuMDU0LjA0OCAxLjM3LjA1OCA0LjA0MS4wNThoLjA4YzIuNTk3IDAgMi45MTctLjAxIDMuOTYtLjA1OC45NzYtLjA0NSAxLjUwNS0uMjA3IDEuODU4LS4zNDQuNDY2LS4xODIuOC0uMzk4IDEuMTUtLjc0OC4zNS0uMzUuNTY2LS42ODMuNzQ4LTEuMTUuMTM3LS4zNTMuMy0uODgyLjM0NC0xLjg1Ny4wNDgtMS4wNTUuMDU4LTEuMzcuMDU4LTQuMDQxdi0uMDhjMC0yLjU5Ny0uMDEtMi45MTctLjA1OC0zLjk2LS4wNDUtLjk3Ni0uMjA3LTEuNTA1LS4zNDQtMS44NThhMy4wOTcgMy4wOTcgMCAwMC0uNzQ4LTEuMTUgMy4wOTggMy4wOTggMCAwMC0xLjE1LS43NDhjLS4zNTMtLjEzNy0uODgyLS4zLTEuODU3LS4zNDQtMS4wMjMtLjA0Ny0xLjM1MS0uMDU4LTMuODA3LS4wNTh6TTEyIDYuODY1YTUuMTM1IDUuMTM1IDAgMTEwIDEwLjI3IDUuMTM1IDUuMTM1IDAgMDEwLTEwLjI3em0wIDEuODAyYTMuMzMzIDMuMzMzIDAgMTAwIDYuNjY2IDMuMzMzIDMuMzMzIDAgMDAwLTYuNjY2em01LjMzOC0zLjIwNWExLjIgMS4yIDAgMTEwIDIuNCAxLjIgMS4yIDAgMDEwLTIuNHpcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+IEluc3RhZ3JhbSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwic2hlbGwtZm9vdGVyLXNvY2lhbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwic2hlbGwtZm9vdGVyLXNvY2lhbC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMjIgMTJjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMFMyIDYuNDc3IDIgMTJjMCA0Ljk5MSAzLjY1NyA5LjEyOCA4LjQzOCA5Ljg3OHYtNi45ODdoLTIuNTRWMTJoMi41NFY5Ljc5N2MwLTIuNTA2IDEuNDkyLTMuODkgMy43NzctMy44OSAxLjA5NCAwIDIuMjM4LjE5NSAyLjIzOC4xOTV2Mi40NmgtMS4yNmMtMS4yNDMgMC0xLjYzLjc3MS0xLjYzIDEuNTYyVjEyaDIuNzczbC0uNDQzIDIuODloLTIuMzN2Ni45ODhDMTguMzQzIDIxLjEyOCAyMiAxNi45OTEgMjIgMTJ6XCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiLz5cclxuICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPiBGYWNlYm9vayA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgIDwvbmF2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNoZWxsLWZvb3Rlci1jb3B5cmlnaHRcIj5cclxuICAgICAgPCEtLTxuYXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNlbnRlciBzcGFjZS14LTZcIj5cclxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImZvbnQtbm9ybWFsIHRleHQtc20gaG92ZXI6dGV4dC1ncmF5LTEwMCBtYi0yXCI+Q29va2llIHNldHRpbmdzPC9hPlxyXG4gICAgPC9uYXY+LS0+XHJcbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbSB0ZXh0LWNlbnRlciBzbTp0ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgwqkgMjAyMSBJTkRJQ0UuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAgICAgIDwvcD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Zvb3Rlcj5cclxuIl19