@ecodev/natural 62.1.2 → 63.0.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 (183) hide show
  1. package/fesm2022/ecodev-natural-vanilla.mjs +1193 -0
  2. package/fesm2022/ecodev-natural-vanilla.mjs.map +1 -0
  3. package/fesm2022/ecodev-natural.mjs +436 -425
  4. package/fesm2022/ecodev-natural.mjs.map +1 -1
  5. package/lib/classes/network-activity.service.d.ts +54 -0
  6. package/lib/classes/validators.d.ts +1 -1
  7. package/lib/modules/columns-picker/columns-picker.component.d.ts +2 -2
  8. package/lib/modules/common/services/seo.provider.d.ts +2 -2
  9. package/lib/modules/dropdown-components/type-select/type-select.component.d.ts +1 -1
  10. package/lib/modules/file/abstract-file.d.ts +6 -3
  11. package/lib/modules/file/component/file.component.d.ts +2 -2
  12. package/lib/modules/file/file-drop.directive.d.ts +2 -3
  13. package/lib/modules/fixed-button-detail/fixed-button-detail.component.d.ts +2 -3
  14. package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.d.ts +3 -3
  15. package/lib/modules/icon/icon.module.d.ts +2 -2
  16. package/lib/modules/panels/panels.service.d.ts +1 -2
  17. package/lib/modules/relations/relations.component.d.ts +3 -3
  18. package/lib/modules/search/dropdown-container/dropdown-container.component.d.ts +2 -3
  19. package/lib/modules/search/group/group.component.d.ts +2 -3
  20. package/lib/modules/search/input/input.component.d.ts +5 -5
  21. package/lib/modules/search/search/search.component.d.ts +2 -2
  22. package/lib/modules/select/abstract-select.component.d.ts +3 -3
  23. package/lib/modules/select/select/select.component.d.ts +1 -1
  24. package/lib/modules/sidenav/sidenav-container/sidenav-container.component.d.ts +1 -1
  25. package/lib/modules/table-button/table-button.component.d.ts +4 -2
  26. package/package.json +16 -14
  27. package/public-api.d.ts +1 -0
  28. package/src/lib/_natural.theme.scss +1 -2
  29. package/vanilla/index.d.ts +5 -0
  30. package/vanilla/package.json +3 -0
  31. package/vanilla/public-api.d.ts +11 -0
  32. package/vanilla/src/lib/classes/crypto.d.ts +8 -0
  33. package/vanilla/src/lib/classes/data-source.d.ts +32 -0
  34. package/vanilla/src/lib/classes/query-variable-manager-utils.d.ts +2 -0
  35. package/vanilla/src/lib/classes/query-variable-manager.d.ts +91 -0
  36. package/vanilla/src/lib/classes/signing.d.ts +7 -0
  37. package/vanilla/src/lib/classes/utility.d.ts +77 -0
  38. package/vanilla/src/lib/modules/search/classes/graphql-doctrine.types.d.ts +83 -0
  39. package/vanilla/src/lib/modules/search/classes/utils.d.ts +17 -0
  40. package/vanilla/src/lib/modules/search/types/dropdown-component.d.ts +20 -0
  41. package/vanilla/src/lib/modules/search/types/facet.d.ts +75 -0
  42. package/vanilla/src/lib/modules/search/types/values.d.ts +32 -0
  43. package/vanilla/src/lib/services/abstract-model.service.d.ts +244 -0
  44. package/vanilla/src/lib/services/debounce.service.d.ts +52 -0
  45. package/vanilla/src/lib/types/types.d.ts +100 -0
  46. package/esm2022/ecodev-natural.mjs +0 -5
  47. package/esm2022/lib/classes/abstract-detail.mjs +0 -229
  48. package/esm2022/lib/classes/abstract-editable-list.mjs +0 -99
  49. package/esm2022/lib/classes/abstract-list.mjs +0 -461
  50. package/esm2022/lib/classes/abstract-navigable-list.mjs +0 -133
  51. package/esm2022/lib/classes/apollo-utils.mjs +0 -59
  52. package/esm2022/lib/classes/crypto.mjs +0 -23
  53. package/esm2022/lib/classes/cumulative-changes.mjs +0 -50
  54. package/esm2022/lib/classes/data-source.mjs +0 -71
  55. package/esm2022/lib/classes/providers.mjs +0 -13
  56. package/esm2022/lib/classes/query-variable-manager-utils.mjs +0 -14
  57. package/esm2022/lib/classes/query-variable-manager.mjs +0 -172
  58. package/esm2022/lib/classes/rxjs.mjs +0 -54
  59. package/esm2022/lib/classes/signing.mjs +0 -38
  60. package/esm2022/lib/classes/tld.mjs +0 -1476
  61. package/esm2022/lib/classes/utility.mjs +0 -234
  62. package/esm2022/lib/classes/validators.mjs +0 -179
  63. package/esm2022/lib/directives/http-prefix.directive.mjs +0 -47
  64. package/esm2022/lib/modules/alert/alert.service.mjs +0 -53
  65. package/esm2022/lib/modules/alert/confirm.component.mjs +0 -16
  66. package/esm2022/lib/modules/alert/public-api.mjs +0 -6
  67. package/esm2022/lib/modules/avatar/component/avatar.component.mjs +0 -203
  68. package/esm2022/lib/modules/avatar/public-api.mjs +0 -6
  69. package/esm2022/lib/modules/avatar/service/avatar.service.mjs +0 -63
  70. package/esm2022/lib/modules/avatar/sources/gravatar.mjs +0 -29
  71. package/esm2022/lib/modules/avatar/sources/image.mjs +0 -13
  72. package/esm2022/lib/modules/avatar/sources/initials.mjs +0 -39
  73. package/esm2022/lib/modules/avatar/sources/source.mjs +0 -16
  74. package/esm2022/lib/modules/columns-picker/columns-picker.component.mjs +0 -145
  75. package/esm2022/lib/modules/columns-picker/public-api.mjs +0 -5
  76. package/esm2022/lib/modules/columns-picker/types.mjs +0 -2
  77. package/esm2022/lib/modules/common/directives/background-density.directive.mjs +0 -63
  78. package/esm2022/lib/modules/common/directives/linkable-tab.directive.mjs +0 -93
  79. package/esm2022/lib/modules/common/directives/src-density.directive.mjs +0 -72
  80. package/esm2022/lib/modules/common/pipes/capitalize.pipe.mjs +0 -24
  81. package/esm2022/lib/modules/common/pipes/ellipsis.pipe.mjs +0 -17
  82. package/esm2022/lib/modules/common/pipes/enum.pipe.mjs +0 -24
  83. package/esm2022/lib/modules/common/pipes/time-ago.pipe.mjs +0 -140
  84. package/esm2022/lib/modules/common/public-api.mjs +0 -14
  85. package/esm2022/lib/modules/common/services/memory-storage.mjs +0 -110
  86. package/esm2022/lib/modules/common/services/seo.provider.mjs +0 -23
  87. package/esm2022/lib/modules/common/services/seo.service.mjs +0 -235
  88. package/esm2022/lib/modules/detail-header/detail-header.component.mjs +0 -84
  89. package/esm2022/lib/modules/detail-header/public-api.mjs +0 -5
  90. package/esm2022/lib/modules/dialog-trigger/dialog-trigger.component.mjs +0 -72
  91. package/esm2022/lib/modules/dialog-trigger/public-api.mjs +0 -5
  92. package/esm2022/lib/modules/dropdown-components/abstract-association-select-component.directive.mjs +0 -100
  93. package/esm2022/lib/modules/dropdown-components/public-api.mjs +0 -14
  94. package/esm2022/lib/modules/dropdown-components/type-boolean/type-boolean.component.mjs +0 -39
  95. package/esm2022/lib/modules/dropdown-components/type-date/type-date.component.mjs +0 -173
  96. package/esm2022/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +0 -134
  97. package/esm2022/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +0 -80
  98. package/esm2022/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +0 -48
  99. package/esm2022/lib/modules/dropdown-components/type-number/type-number.component.mjs +0 -110
  100. package/esm2022/lib/modules/dropdown-components/type-options/type-options.component.mjs +0 -64
  101. package/esm2022/lib/modules/dropdown-components/type-select/type-select.component.mjs +0 -175
  102. package/esm2022/lib/modules/dropdown-components/type-text/type-text.component.mjs +0 -62
  103. package/esm2022/lib/modules/dropdown-components/types.mjs +0 -41
  104. package/esm2022/lib/modules/dropdown-components/utils.mjs +0 -35
  105. package/esm2022/lib/modules/file/abstract-file.mjs +0 -230
  106. package/esm2022/lib/modules/file/component/file.component.mjs +0 -172
  107. package/esm2022/lib/modules/file/file-drop.directive.mjs +0 -111
  108. package/esm2022/lib/modules/file/file-select.directive.mjs +0 -26
  109. package/esm2022/lib/modules/file/file.service.mjs +0 -43
  110. package/esm2022/lib/modules/file/public-api.mjs +0 -9
  111. package/esm2022/lib/modules/file/types.mjs +0 -2
  112. package/esm2022/lib/modules/file/utils.mjs +0 -129
  113. package/esm2022/lib/modules/fixed-button/fixed-button.component.mjs +0 -30
  114. package/esm2022/lib/modules/fixed-button/public-api.mjs +0 -5
  115. package/esm2022/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +0 -56
  116. package/esm2022/lib/modules/fixed-button-detail/public-api.mjs +0 -5
  117. package/esm2022/lib/modules/hierarchic-selector/classes/flat-node.mjs +0 -18
  118. package/esm2022/lib/modules/hierarchic-selector/classes/hierarchic-configuration.mjs +0 -2
  119. package/esm2022/lib/modules/hierarchic-selector/classes/hierarchic-filters-configuration.mjs +0 -2
  120. package/esm2022/lib/modules/hierarchic-selector/classes/model-node.mjs +0 -14
  121. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +0 -398
  122. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +0 -243
  123. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +0 -38
  124. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +0 -22
  125. package/esm2022/lib/modules/hierarchic-selector/public-api.mjs +0 -10
  126. package/esm2022/lib/modules/icon/icon.directive.mjs +0 -96
  127. package/esm2022/lib/modules/icon/icon.module.mjs +0 -33
  128. package/esm2022/lib/modules/icon/public-api.mjs +0 -6
  129. package/esm2022/lib/modules/logger/error-handler.mjs +0 -87
  130. package/esm2022/lib/modules/logger/error.module.mjs +0 -22
  131. package/esm2022/lib/modules/logger/public-api.mjs +0 -6
  132. package/esm2022/lib/modules/matomo/matomo.service.mjs +0 -96
  133. package/esm2022/lib/modules/matomo/public-api.mjs +0 -5
  134. package/esm2022/lib/modules/panels/abstract-panel.mjs +0 -76
  135. package/esm2022/lib/modules/panels/fallback-if-no-opened-panels.urlmatcher.mjs +0 -12
  136. package/esm2022/lib/modules/panels/panels.component.mjs +0 -27
  137. package/esm2022/lib/modules/panels/panels.module.mjs +0 -10
  138. package/esm2022/lib/modules/panels/panels.service.mjs +0 -329
  139. package/esm2022/lib/modules/panels/panels.urlmatcher.mjs +0 -75
  140. package/esm2022/lib/modules/panels/public-api.mjs +0 -11
  141. package/esm2022/lib/modules/panels/types.mjs +0 -3
  142. package/esm2022/lib/modules/relations/public-api.mjs +0 -5
  143. package/esm2022/lib/modules/relations/relations.component.mjs +0 -254
  144. package/esm2022/lib/modules/search/classes/graphql-doctrine.mjs +0 -111
  145. package/esm2022/lib/modules/search/classes/graphql-doctrine.types.mjs +0 -14
  146. package/esm2022/lib/modules/search/classes/transformers.mjs +0 -142
  147. package/esm2022/lib/modules/search/classes/url.mjs +0 -53
  148. package/esm2022/lib/modules/search/classes/utils.mjs +0 -25
  149. package/esm2022/lib/modules/search/dropdown-container/dropdown-container-animations.mjs +0 -44
  150. package/esm2022/lib/modules/search/dropdown-container/dropdown-container.component.mjs +0 -87
  151. package/esm2022/lib/modules/search/dropdown-container/dropdown-ref.mjs +0 -24
  152. package/esm2022/lib/modules/search/dropdown-container/dropdown.service.mjs +0 -90
  153. package/esm2022/lib/modules/search/facet-selector/facet-selector.component.mjs +0 -45
  154. package/esm2022/lib/modules/search/group/group.component.mjs +0 -53
  155. package/esm2022/lib/modules/search/input/input.component.mjs +0 -365
  156. package/esm2022/lib/modules/search/public-api.mjs +0 -7
  157. package/esm2022/lib/modules/search/search/search.component.mjs +0 -102
  158. package/esm2022/lib/modules/search/types/dropdown-component.mjs +0 -2
  159. package/esm2022/lib/modules/search/types/facet.mjs +0 -2
  160. package/esm2022/lib/modules/search/types/values.mjs +0 -2
  161. package/esm2022/lib/modules/select/abstract-select.component.mjs +0 -232
  162. package/esm2022/lib/modules/select/public-api.mjs +0 -7
  163. package/esm2022/lib/modules/select/select/select.component.mjs +0 -310
  164. package/esm2022/lib/modules/select/select-enum/select-enum.component.mjs +0 -57
  165. package/esm2022/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +0 -155
  166. package/esm2022/lib/modules/sidenav/public-api.mjs +0 -9
  167. package/esm2022/lib/modules/sidenav/sidenav/sidenav.component.mjs +0 -15
  168. package/esm2022/lib/modules/sidenav/sidenav-container/sidenav-container.component.mjs +0 -90
  169. package/esm2022/lib/modules/sidenav/sidenav-content/sidenav-content.component.mjs +0 -11
  170. package/esm2022/lib/modules/sidenav/sidenav-stack.service.mjs +0 -50
  171. package/esm2022/lib/modules/sidenav/sidenav.service.mjs +0 -196
  172. package/esm2022/lib/modules/stamp/public-api.mjs +0 -5
  173. package/esm2022/lib/modules/stamp/stamp.component.mjs +0 -23
  174. package/esm2022/lib/modules/table-button/public-api.mjs +0 -5
  175. package/esm2022/lib/modules/table-button/table-button.component.mjs +0 -78
  176. package/esm2022/lib/services/abstract-model.service.mjs +0 -526
  177. package/esm2022/lib/services/debounce.service.mjs +0 -149
  178. package/esm2022/lib/services/enum.service.mjs +0 -64
  179. package/esm2022/lib/services/link-mutation.service.mjs +0 -154
  180. package/esm2022/lib/services/persistence.service.mjs +0 -115
  181. package/esm2022/lib/services/swiss-parsing-date-adapter.service.mjs +0 -63
  182. package/esm2022/lib/types/types.mjs +0 -2
  183. package/esm2022/public-api.mjs +0 -46
@@ -1,87 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { HttpClient, HttpHeaders } from '@angular/common/http';
3
- import { ErrorHandler, inject, Injectable, InjectionToken } from '@angular/core';
4
- import { catchError, EMPTY, first, of } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- export const NaturalLoggerConfigUrl = new InjectionToken('Absolute URL of the log server');
7
- export const NaturalLoggerConfigExtra = new InjectionToken('Class that may provide extra data to log');
8
- /**
9
- * Replace Angular's error handler to also send the log to a remote server via HTTP POST.
10
- *
11
- * Usage is automatic as soon as we provide it via:
12
- *
13
- * ```ts
14
- * provideErrorHandler('http://example.com', ExtraService),
15
- * ```
16
- */
17
- export class NaturalErrorHandler extends ErrorHandler {
18
- http = inject(HttpClient);
19
- document = inject(DOCUMENT);
20
- url = inject(NaturalLoggerConfigUrl, { optional: true });
21
- loggerExtra = inject(NaturalLoggerConfigExtra, { optional: true });
22
- constructor() {
23
- super();
24
- }
25
- handleError(error) {
26
- console.error(error);
27
- const params = {
28
- message: this.toMessage(error),
29
- href: this.document.defaultView?.window.location.href,
30
- host: this.document.defaultView?.window.location.hostname,
31
- path: this.document.defaultView?.window.location.pathname,
32
- agent: this.document.defaultView?.window.navigator.userAgent,
33
- level: 'error',
34
- };
35
- if (error?.stack) {
36
- params.stacktrace = error.stack;
37
- }
38
- if (typeof error?.status !== 'undefined') {
39
- params.status = error.status;
40
- }
41
- if (error?.referrer) {
42
- params.referrer = error.referrer;
43
- }
44
- if (error?.url) {
45
- params.url = error.url;
46
- }
47
- if (this.loggerExtra) {
48
- this.loggerExtra
49
- .getExtras(error)
50
- .pipe(catchError(e => of({ getExtrasErrorMessage: this.toMessage(e) })), first())
51
- .subscribe(result => {
52
- this.postLog(Object.assign(params, result));
53
- });
54
- }
55
- else {
56
- this.postLog(params);
57
- }
58
- }
59
- toMessage(error) {
60
- if (error && typeof error === 'object' && 'message' in error) {
61
- return '' + error.message;
62
- }
63
- else {
64
- return '' + error;
65
- }
66
- }
67
- /**
68
- * Send parameters to remote log
69
- */
70
- postLog(params) {
71
- if (this.url) {
72
- this.http
73
- .post(this.url, params, { headers: new HttpHeaders().set('content-type', 'application/json') })
74
- .pipe(catchError(() => EMPTY))
75
- .subscribe();
76
- }
77
- }
78
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
79
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalErrorHandler, providedIn: 'root' });
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalErrorHandler, decorators: [{
82
- type: Injectable,
83
- args: [{
84
- providedIn: 'root',
85
- }]
86
- }], ctorParameters: () => [] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2xvZ2dlci9lcnJvci1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUE0QjlELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUFTLGdDQUFnQyxDQUFDLENBQUM7QUFDbkcsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQ3RELDBDQUEwQyxDQUM3QyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFJSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTtJQUNoQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsR0FBRyxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQ3ZELFdBQVcsR0FBRyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUVsRjtRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVlLFdBQVcsQ0FBQyxLQUFVO1FBQ2xDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FB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LFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBIZWFkZXJzfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0Vycm9ySGFuZGxlciwgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIEVNUFRZLCBmaXJzdCwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBOYXR1cmFsTG9nZ2VyVHlwZSA9IHtcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgc3RhY2t0cmFjZT86IHN0cmluZztcbiAgICBocmVmPzogc3RyaW5nO1xuICAgIGhvc3Q/OiBzdHJpbmc7XG4gICAgcGF0aD86IHN0cmluZztcbiAgICBhZ2VudD86IHN0cmluZztcbiAgICBzdGF0dXM/OiBudW1iZXI7XG4gICAgcmVmZXJyZXI/OiBzdHJpbmc7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIHVzZXJJZD86IHN0cmluZztcbiAgICB1c2VyPzogc3RyaW5nO1xuXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufTtcblxuZXhwb3J0IHR5cGUgTmF0dXJhbExvZ2dlckV4dHJhID0ge1xuICAgIC8qKlxuICAgICAqIFJldHVybiBhbiBvYnNlcnZhYmxlIG9mIGV4dHJhIGRhdGEgdGhhdCB3aWxsIGJlIGxvZ2dlZC4gVGhvc2UgZGF0YSB3aWxsIGJlIG1lcmdlZCBpbnRvXG4gICAgICogdGhlIG9yaWdpbmFsIGRhdGEsIGFuZCBzbyBpdCBjYW4gb3ZlcnJpZGUgdGhpbmdzLlxuICAgICAqXG4gICAgICogT25seSB0aGUgZmlyc3QgZW1pdHRlZCB2YWx1ZSB3aWxsIGJlIHVzZWQuXG4gICAgICovXG4gICAgZ2V0RXh0cmFzKGVycm9yOiB1bmtub3duKTogT2JzZXJ2YWJsZTxQYXJ0aWFsPE5hdHVyYWxMb2dnZXJUeXBlPj47XG59O1xuXG5leHBvcnQgY29uc3QgTmF0dXJhbExvZ2dlckNvbmZpZ1VybCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdBYnNvbHV0ZSBVUkwgb2YgdGhlIGxvZyBzZXJ2ZXInKTtcbmV4cG9ydCBjb25zdCBOYXR1cmFsTG9nZ2VyQ29uZmlnRXh0cmEgPSBuZXcgSW5qZWN0aW9uVG9rZW48TmF0dXJhbExvZ2dlckV4dHJhPihcbiAgICAnQ2xhc3MgdGhhdCBtYXkgcHJvdmlkZSBleHRyYSBkYXRhIHRvIGxvZycsXG4pO1xuXG4vKipcbiAqIFJlcGxhY2UgQW5ndWxhcidzIGVycm9yIGhhbmRsZXIgdG8gYWxzbyBzZW5kIHRoZSBsb2cgdG8gYSByZW1vdGUgc2VydmVyIHZpYSBIVFRQIFBPU1QuXG4gKlxuICogVXNhZ2UgaXMgYXV0b21hdGljIGFzIHNvb24gYXMgd2UgcHJvdmlkZSBpdCB2aWE6XG4gKlxuICogYGBgdHNcbiAqIHByb3ZpZGVFcnJvckhhbmRsZXIoJ2h0dHA6Ly9leGFtcGxlLmNvbScsIEV4dHJhU2VydmljZSksXG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbEVycm9ySGFuZGxlciBleHRlbmRzIEVycm9ySGFuZGxlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsID0gaW5qZWN0KE5hdHVyYWxMb2dnZXJDb25maWdVcmwsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyRXh0cmEgPSBpbmplY3QoTmF0dXJhbExvZ2dlckNvbmZpZ0V4dHJhLCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgICBjb25zdCBwYXJhbXM6IE5hdHVyYWxMb2dnZXJUeXBlID0ge1xuICAgICAgICAgICAgbWVzc2FnZTogdGhpcy50b01lc3NhZ2UoZXJyb3IpLFxuICAgICAgICAgICAgaHJlZjogdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8ud2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICAgICAgICBob3N0OiB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3Py53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsXG4gICAgICAgICAgICBwYXRoOiB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3Py53aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsXG4gICAgICAgICAgICBhZ2VudDogdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8ud2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQsXG4gICAgICAgICAgICBsZXZlbDogJ2Vycm9yJyxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoZXJyb3I/LnN0YWNrKSB7XG4gICAgICAgICAgICBwYXJhbXMuc3RhY2t0cmFjZSA9IGVycm9yLnN0YWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBlcnJvcj8uc3RhdHVzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcGFyYW1zLnN0YXR1cyA9IGVycm9yLnN0YXR1cztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvcj8ucmVmZXJyZXIpIHtcbiAgICAgICAgICAgIHBhcmFtcy5yZWZlcnJlciA9IGVycm9yLnJlZmVycmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yPy51cmwpIHtcbiAgICAgICAgICAgIHBhcmFtcy51cmwgPSBlcnJvci51cmw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5sb2dnZXJFeHRyYSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJFeHRyYVxuICAgICAgICAgICAgICAgIC5nZXRFeHRyYXMoZXJyb3IpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZSA9PiBvZih7Z2V0RXh0cmFzRXJyb3JNZXNzYWdlOiB0aGlzLnRvTWVzc2FnZShlKX0pKSxcbiAgICAgICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc3RMb2coT2JqZWN0LmFzc2lnbihwYXJhbXMsIHJlc3VsdCkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wb3N0TG9nKHBhcmFtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRvTWVzc2FnZShlcnJvcjogYW55KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGVycm9yICYmIHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcgJiYgJ21lc3NhZ2UnIGluIGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gJycgKyBlcnJvci5tZXNzYWdlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnICsgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZW5kIHBhcmFtZXRlcnMgdG8gcmVtb3RlIGxvZ1xuICAgICAqL1xuICAgIHByaXZhdGUgcG9zdExvZyhwYXJhbXM6IE5hdHVyYWxMb2dnZXJUeXBlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnVybCkge1xuICAgICAgICAgICAgdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLnBvc3QodGhpcy51cmwsIHBhcmFtcywge2hlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldCgnY29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL2pzb24nKX0pXG4gICAgICAgICAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBFTVBUWSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,22 +0,0 @@
1
- import { ErrorHandler } from '@angular/core';
2
- import { NaturalErrorHandler, NaturalLoggerConfigExtra, NaturalLoggerConfigUrl, } from './error-handler';
3
- export function provideErrorHandler(url, extraService) {
4
- const providers = [
5
- {
6
- provide: ErrorHandler,
7
- useClass: NaturalErrorHandler,
8
- },
9
- {
10
- provide: NaturalLoggerConfigUrl,
11
- useValue: url,
12
- },
13
- ];
14
- if (extraService) {
15
- providers.push({
16
- provide: NaturalLoggerConfigExtra,
17
- useClass: extraService,
18
- });
19
- }
20
- return providers;
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvbG9nZ2VyL2Vycm9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4QixzQkFBc0IsR0FFekIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixNQUFNLFVBQVUsbUJBQW1CLENBQUMsR0FBa0IsRUFBRSxZQUF1QztJQUMzRixNQUFNLFNBQVMsR0FBZTtRQUMxQjtZQUNJLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLFFBQVEsRUFBRSxtQkFBbUI7U0FDaEM7UUFDRDtZQUNJLE9BQU8sRUFBRSxzQkFBc0I7WUFDL0IsUUFBUSxFQUFFLEdBQUc7U0FDaEI7S0FDSixDQUFDO0lBRUYsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNmLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDWCxPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLFFBQVEsRUFBRSxZQUFZO1NBQ3pCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFcnJvckhhbmRsZXIsIFByb3ZpZGVyLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgTmF0dXJhbEVycm9ySGFuZGxlcixcbiAgICBOYXR1cmFsTG9nZ2VyQ29uZmlnRXh0cmEsXG4gICAgTmF0dXJhbExvZ2dlckNvbmZpZ1VybCxcbiAgICBOYXR1cmFsTG9nZ2VyRXh0cmEsXG59IGZyb20gJy4vZXJyb3ItaGFuZGxlcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRXJyb3JIYW5kbGVyKHVybDogc3RyaW5nIHwgbnVsbCwgZXh0cmFTZXJ2aWNlPzogVHlwZTxOYXR1cmFsTG9nZ2VyRXh0cmE+KTogUHJvdmlkZXJbXSB7XG4gICAgY29uc3QgcHJvdmlkZXJzOiBQcm92aWRlcltdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBFcnJvckhhbmRsZXIsXG4gICAgICAgICAgICB1c2VDbGFzczogTmF0dXJhbEVycm9ySGFuZGxlcixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTmF0dXJhbExvZ2dlckNvbmZpZ1VybCxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB1cmwsXG4gICAgICAgIH0sXG4gICAgXTtcblxuICAgIGlmIChleHRyYVNlcnZpY2UpIHtcbiAgICAgICAgcHJvdmlkZXJzLnB1c2goe1xuICAgICAgICAgICAgcHJvdmlkZTogTmF0dXJhbExvZ2dlckNvbmZpZ0V4dHJhLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IGV4dHJhU2VydmljZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3ZpZGVycztcbn1cbiJdfQ==
@@ -1,6 +0,0 @@
1
- /*
2
- * Public API Surface of natural
3
- */
4
- export { provideErrorHandler } from './error.module';
5
- export { NaturalErrorHandler, NaturalLoggerConfigExtra, NaturalLoggerConfigUrl } from './error-handler';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2xvZ2dlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFDLG1CQUFtQixFQUFFLHdCQUF3QixFQUFFLHNCQUFzQixFQUFDLE1BQU0saUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5hdHVyYWxcbiAqL1xuXG5leHBvcnQge3Byb3ZpZGVFcnJvckhhbmRsZXJ9IGZyb20gJy4vZXJyb3IubW9kdWxlJztcblxuZXhwb3J0IHtOYXR1cmFsRXJyb3JIYW5kbGVyLCBOYXR1cmFsTG9nZ2VyQ29uZmlnRXh0cmEsIE5hdHVyYWxMb2dnZXJDb25maWdVcmx9IGZyb20gJy4vZXJyb3ItaGFuZGxlcic7XG5leHBvcnQgdHlwZSB7TmF0dXJhbExvZ2dlckV4dHJhLCBOYXR1cmFsTG9nZ2VyVHlwZX0gZnJvbSAnLi9lcnJvci1oYW5kbGVyJztcbiJdfQ==
@@ -1,96 +0,0 @@
1
- import { inject, Injectable, PLATFORM_ID } from '@angular/core';
2
- import { NavigationEnd, Router } from '@angular/router';
3
- import { DOCUMENT, isPlatformBrowser } from '@angular/common';
4
- import { Title } from '@angular/platform-browser';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * Service to track visitors via Matomo.
8
- *
9
- * @dynamic
10
- */
11
- export class NaturalMatomoService {
12
- router = inject(Router);
13
- document = inject(DOCUMENT);
14
- titleService = inject(Title);
15
- isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
16
- window;
17
- subscription = null;
18
- referrerUrl = '';
19
- constructor() {
20
- const window = this.document.defaultView;
21
- if (!window) {
22
- throw new Error('Could not init MatomoService `window` is undefined');
23
- }
24
- this.window = window;
25
- }
26
- /**
27
- * Inject Matomo script and start tracking all page navigation
28
- */
29
- startTracking(url, site) {
30
- // Abort because no tracking info or doing SSR
31
- if (!url || !site || !this.isBrowser) {
32
- return;
33
- }
34
- this.push('setTrackerUrl', url + '/matomo.php');
35
- this.push('setSiteId', site);
36
- this.injectTrackingCode(url);
37
- this.listenForRouteChanges();
38
- }
39
- stopTracking() {
40
- this.subscription?.unsubscribe();
41
- this.subscription = null;
42
- delete this.window._paq;
43
- }
44
- /**
45
- * Push a Matomo command on the stack
46
- *
47
- * It can be called at any time, including before Matomo is even loaded.
48
- *
49
- * Also see https://developer.matomo.org/guides/tracking-javascript-guide
50
- */
51
- push(functionName, ...args) {
52
- if (!this.window._paq) {
53
- this.window._paq = [];
54
- }
55
- // Here we must always get `_paq` freshly from window, because Matomo
56
- // might have changed the object after we created it
57
- this.window._paq.push([functionName, ...args]);
58
- }
59
- injectTrackingCode(url) {
60
- try {
61
- const script = this.document.createElement('script');
62
- script.async = true;
63
- script.defer = true;
64
- script.src = url + '/matomo.js';
65
- this.document.head.appendChild(script);
66
- }
67
- catch (ex) {
68
- console.error('Error appending Matomo analytics');
69
- console.error(ex);
70
- }
71
- }
72
- listenForRouteChanges() {
73
- this.subscription = this.router.events.subscribe(event => {
74
- if (!(event instanceof NavigationEnd)) {
75
- return;
76
- }
77
- const currentUrl = this.window.location.href;
78
- this.push('setCustomUrl', currentUrl);
79
- this.push('setDocumentTitle', this.titleService.getTitle());
80
- if (this.referrerUrl) {
81
- this.push('setReferrerUrl', this.referrerUrl);
82
- }
83
- this.push('trackPageView');
84
- this.referrerUrl = currentUrl;
85
- });
86
- }
87
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalMatomoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
88
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalMatomoService, providedIn: 'root' });
89
- }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalMatomoService, decorators: [{
91
- type: Injectable,
92
- args: [{
93
- providedIn: 'root',
94
- }]
95
- }], ctorParameters: () => [] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0b21vLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9tYXRvbW8vbWF0b21vLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTVELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUF1QmhEOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBQ1osTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLFlBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsU0FBUyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sQ0FBaUQ7SUFFaEUsWUFBWSxHQUF3QixJQUFJLENBQUM7SUFDekMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUV6QjtRQUNJLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYSxDQUFDLEdBQWtCLEVBQUUsSUFBbUI7UUFD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RSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05hdmlnYXRpb25FbmQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbi8qKlxuICogSW5jb21wbGV0ZSBsaXN0IG9mIE1hdG9tbyBmdW5jdGlvbnMuIEJ1dCBpdCBzaG91bGQgYmUgZW5vdWdoXG4gKiBmb3Igb3VyIGJhc2ljIG5lZWRzLlxuICpcbiAqIFRvIGNvbXBsZXRlIHRoaXMgbGlzdCwgbWF5YmUgc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1hdG9tby5vcmcvZ3VpZGVzL3RyYWNraW5nLWphdmFzY3JpcHQtZ3VpZGVcbiAqL1xudHlwZSBNYXRvbW9GdW5jdGlvbiA9XG4gICAgfCAnc2V0Q3VzdG9tVXJsJ1xuICAgIHwgJ3NldEN1c3RvbURpbWVuc2lvbidcbiAgICB8ICdzZXREb2N1bWVudFRpdGxlJ1xuICAgIHwgJ3NldFJlZmVycmVyVXJsJ1xuICAgIHwgJ3NldFNpdGVJZCdcbiAgICB8ICdzZXRUcmFja2VyVXJsJ1xuICAgIHwgJ3RyYWNrUGFnZVZpZXcnO1xuXG5leHBvcnQgdHlwZSBQYXFJdGVtID0gW01hdG9tb0Z1bmN0aW9uLCAuLi4obnVtYmVyIHwgc3RyaW5nIHwgbnVsbClbXV07XG5cbnR5cGUgUGFxID0ge1xuICAgIHB1c2g6IChpdGVtOiBQYXFJdGVtKSA9PiB2b2lkO1xufTtcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHRyYWNrIHZpc2l0b3JzIHZpYSBNYXRvbW8uXG4gKlxuICogQGR5bmFtaWNcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbE1hdG9tb1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0aXRsZVNlcnZpY2UgPSBpbmplY3QoVGl0bGUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNCcm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIoaW5qZWN0KFBMQVRGT1JNX0lEKSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IFdpbmRvd1Byb3h5ICYgdHlwZW9mIGdsb2JhbFRoaXMgJiB7X3BhcT86IFBhcX07XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZWZlcnJlclVybCA9ICcnO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCB3aW5kb3cgPSB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICAgICAgICBpZiAoIXdpbmRvdykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgaW5pdCBNYXRvbW9TZXJ2aWNlIGB3aW5kb3dgIGlzIHVuZGVmaW5lZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy53aW5kb3cgPSB3aW5kb3c7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5qZWN0IE1hdG9tbyBzY3JpcHQgYW5kIHN0YXJ0IHRyYWNraW5nIGFsbCBwYWdlIG5hdmlnYXRpb25cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhcnRUcmFja2luZyh1cmw6IHN0cmluZyB8IG51bGwsIHNpdGU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgLy8gQWJvcnQgYmVjYXVzZSBubyB0cmFja2luZyBpbmZvIG9yIGRvaW5nIFNTUlxuICAgICAgICBpZiAoIXVybCB8fCAhc2l0ZSB8fCAhdGhpcy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHVzaCgnc2V0VHJhY2tlclVybCcsIHVybCArICcvbWF0b21vLnBocCcpO1xuICAgICAgICB0aGlzLnB1c2goJ3NldFNpdGVJZCcsIHNpdGUpO1xuXG4gICAgICAgIHRoaXMuaW5qZWN0VHJhY2tpbmdDb2RlKHVybCk7XG4gICAgICAgIHRoaXMubGlzdGVuRm9yUm91dGVDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0b3BUcmFja2luZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgZGVsZXRlIHRoaXMud2luZG93Ll9wYXE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVzaCBhIE1hdG9tbyBjb21tYW5kIG9uIHRoZSBzdGFja1xuICAgICAqXG4gICAgICogSXQgY2FuIGJlIGNhbGxlZCBhdCBhbnkgdGltZSwgaW5jbHVkaW5nIGJlZm9yZSBNYXRvbW8gaXMgZXZlbiBsb2FkZWQuXG4gICAgICpcbiAgICAgKiBBbHNvIHNlZSBodHRwczovL2RldmVsb3Blci5tYXRvbW8ub3JnL2d1aWRlcy90cmFja2luZy1qYXZhc2NyaXB0LWd1aWRlXG4gICAgICovXG4gICAgcHVibGljIHB1c2goZnVuY3Rpb25OYW1lOiBQYXFJdGVtWzBdLCAuLi5hcmdzOiBQYXFJdGVtWzFdW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLndpbmRvdy5fcGFxKSB7XG4gICAgICAgICAgICB0aGlzLndpbmRvdy5fcGFxID0gW10gYXMgYW55W107XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIZXJlIHdlIG11c3QgYWx3YXlzIGdldCBgX3BhcWAgZnJlc2hseSBmcm9tIHdpbmRvdywgYmVjYXVzZSBNYXRvbW9cbiAgICAgICAgLy8gbWlnaHQgaGF2ZSBjaGFuZ2VkIHRoZSBvYmplY3QgYWZ0ZXIgd2UgY3JlYXRlZCBpdFxuICAgICAgICB0aGlzLndpbmRvdy5fcGFxLnB1c2goW2Z1bmN0aW9uTmFtZSwgLi4uYXJnc10pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5qZWN0VHJhY2tpbmdDb2RlKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgICAgIHNjcmlwdC5kZWZlciA9IHRydWU7XG4gICAgICAgICAgICBzY3JpcHQuc3JjID0gdXJsICsgJy9tYXRvbW8uanMnO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBhcHBlbmRpbmcgTWF0b21vIGFuYWx5dGljcycpO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGxpc3RlbkZvclJvdXRlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmICghKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB0aGlzLndpbmRvdy5sb2NhdGlvbi5ocmVmO1xuXG4gICAgICAgICAgICB0aGlzLnB1c2goJ3NldEN1c3RvbVVybCcsIGN1cnJlbnRVcmwpO1xuICAgICAgICAgICAgdGhpcy5wdXNoKCdzZXREb2N1bWVudFRpdGxlJywgdGhpcy50aXRsZVNlcnZpY2UuZ2V0VGl0bGUoKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5yZWZlcnJlclVybCkge1xuICAgICAgICAgICAgICAgIHRoaXMucHVzaCgnc2V0UmVmZXJyZXJVcmwnLCB0aGlzLnJlZmVycmVyVXJsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5wdXNoKCd0cmFja1BhZ2VWaWV3Jyk7XG5cbiAgICAgICAgICAgIHRoaXMucmVmZXJyZXJVcmwgPSBjdXJyZW50VXJsO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- /*
2
- * Public API Surface of natural
3
- */
4
- export { NaturalMatomoService } from './matomo.service';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL21hdG9tby9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5hdHVyYWxcbiAqL1xuXG5leHBvcnQge05hdHVyYWxNYXRvbW9TZXJ2aWNlfSBmcm9tICcuL21hdG9tby5zZXJ2aWNlJztcbiJdfQ==
@@ -1,76 +0,0 @@
1
- import { DestroyRef, Directive, HostBinding, HostListener, inject } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import * as i0 from "@angular/core";
5
- export class NaturalAbstractPanel {
6
- destroyRef = inject(DestroyRef);
7
- /**
8
- * The data property is the container where the resolved content is stored
9
- * When loading a component from a panel opening (dialog), receives the data provided by the service
10
- */
11
- data = {};
12
- /**
13
- * Bind isFrontPanel style class on root component
14
- */
15
- isFrontPanel = false;
16
- /**
17
- * Bind isPanel style class on root component
18
- */
19
- isPanel = false;
20
- /**
21
- * Merging of data provided by the very root component (that is in a route context) and inherited data through panels
22
- * TODO: provide type with available attributes
23
- */
24
- panelData;
25
- panelService;
26
- /**
27
- * Bind click on panels, to allow the selection of those who are behind
28
- */
29
- clickPanel() {
30
- if (!this.isFrontPanel && this.panelService) {
31
- this.panelService.goToPanelByComponent(this);
32
- }
33
- }
34
- /**
35
- * Called when panel opens and component is loaded
36
- * Runs before ngOnInit()
37
- */
38
- initPanel(panelData) {
39
- this.panelData = panelData;
40
- this.isPanel = true;
41
- if (this.panelData?.data) {
42
- if (this.panelData.data.model instanceof Observable) {
43
- // Subscribe to model to know when Apollo cache is changed, so we can reflect it into `data.model`
44
- this.panelData.data.model.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(model => {
45
- this.data = {
46
- ...this.data,
47
- ...this.panelData?.data,
48
- model: model,
49
- };
50
- });
51
- }
52
- else {
53
- this.data = {
54
- ...this.data,
55
- ...this.panelData.data,
56
- };
57
- }
58
- }
59
- }
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalAbstractPanel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
61
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.3", type: NaturalAbstractPanel, isStandalone: true, host: { listeners: { "click": "clickPanel()" }, properties: { "class.isFrontPanel": "this.isFrontPanel", "class.isPanel": "this.isPanel" } }, ngImport: i0 });
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalAbstractPanel, decorators: [{
64
- type: Directive,
65
- args: [{ standalone: true }]
66
- }], propDecorators: { isFrontPanel: [{
67
- type: HostBinding,
68
- args: ['class.isFrontPanel']
69
- }], isPanel: [{
70
- type: HostBinding,
71
- args: ['class.isPanel']
72
- }], clickPanel: [{
73
- type: HostListener,
74
- args: ['click']
75
- }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGFuZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9wYW5lbHMvYWJzdHJhY3QtcGFuZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHdkYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHOUQsTUFBTSxPQUFPLG9CQUFvQjtJQUNWLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkQ7OztPQUdHO0lBQ0ksSUFBSSxHQUFRLEVBQUUsQ0FBQztJQUV0Qjs7T0FFRztJQUN1QyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRS9EOztPQUVHO0lBQ2tDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFckQ7OztPQUdHO0lBQ0ksU0FBUyxDQUFvQjtJQUM3QixZQUFZLENBQXdCO0lBRTNDOztPQUVHO0lBRUksVUFBVTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUyxDQUFDLFNBQTJCO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssWUFBWSxVQUFVLEVBQUUsQ0FBQztnQkFDbEQsa0dBQWtHO2dCQUNsRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDbEYsSUFBSSxDQUFDLElBQUksR0FBRzt3QkFDUixHQUFHLElBQUksQ0FBQyxJQUFJO3dCQUNaLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJO3dCQUN2QixLQUFLLEVBQUUsS0FBSztxQkFDZixDQUFDO2dCQUNOLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxJQUFJLEdBQUc7b0JBQ1IsR0FBRyxJQUFJLENBQUMsSUFBSTtvQkFDWixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSTtpQkFDekIsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQzt1R0E1RFEsb0JBQW9COzJGQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFNBQVM7bUJBQUMsRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFDOzhCQVlpQixZQUFZO3NCQUFyRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFLSSxPQUFPO3NCQUEzQyxXQUFXO3VCQUFDLGVBQWU7Z0JBYXJCLFVBQVU7c0JBRGhCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVzdHJveVJlZiwgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOYXR1cmFsUGFuZWxzU2VydmljZX0gZnJvbSAnLi9wYW5lbHMuc2VydmljZSc7XG5pbXBvcnQge05hdHVyYWxQYW5lbERhdGF9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBEaXJlY3RpdmUoe3N0YW5kYWxvbmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxBYnN0cmFjdFBhbmVsIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICAvKipcbiAgICAgKiBUaGUgZGF0YSBwcm9wZXJ0eSBpcyB0aGUgY29udGFpbmVyIHdoZXJlIHRoZSByZXNvbHZlZCBjb250ZW50IGlzIHN0b3JlZFxuICAgICAqIFdoZW4gbG9hZGluZyBhIGNvbXBvbmVudCBmcm9tIGEgcGFuZWwgb3BlbmluZyAoZGlhbG9nKSwgcmVjZWl2ZXMgdGhlIGRhdGEgcHJvdmlkZWQgYnkgdGhlIHNlcnZpY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF0YTogYW55ID0ge307XG5cbiAgICAvKipcbiAgICAgKiBCaW5kIGlzRnJvbnRQYW5lbCBzdHlsZSBjbGFzcyBvbiByb290IGNvbXBvbmVudFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXNGcm9udFBhbmVsJykgcHVibGljIGlzRnJvbnRQYW5lbCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQmluZCBpc1BhbmVsIHN0eWxlIGNsYXNzIG9uIHJvb3QgY29tcG9uZW50XG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pc1BhbmVsJykgcHVibGljIGlzUGFuZWwgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIE1lcmdpbmcgb2YgZGF0YSBwcm92aWRlZCBieSB0aGUgdmVyeSByb290IGNvbXBvbmVudCAodGhhdCBpcyBpbiBhIHJvdXRlIGNvbnRleHQpIGFuZCBpbmhlcml0ZWQgZGF0YSB0aHJvdWdoIHBhbmVsc1xuICAgICAqIFRPRE86IHByb3ZpZGUgdHlwZSB3aXRoIGF2YWlsYWJsZSBhdHRyaWJ1dGVzXG4gICAgICovXG4gICAgcHVibGljIHBhbmVsRGF0YT86IE5hdHVyYWxQYW5lbERhdGE7XG4gICAgcHVibGljIHBhbmVsU2VydmljZT86IE5hdHVyYWxQYW5lbHNTZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogQmluZCBjbGljayBvbiBwYW5lbHMsIHRvIGFsbG93IHRoZSBzZWxlY3Rpb24gb2YgdGhvc2Ugd2hvIGFyZSBiZWhpbmRcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgcHVibGljIGNsaWNrUGFuZWwoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc0Zyb250UGFuZWwgJiYgdGhpcy5wYW5lbFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMucGFuZWxTZXJ2aWNlLmdvVG9QYW5lbEJ5Q29tcG9uZW50KHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIHdoZW4gcGFuZWwgb3BlbnMgYW5kIGNvbXBvbmVudCBpcyBsb2FkZWRcbiAgICAgKiBSdW5zIGJlZm9yZSBuZ09uSW5pdCgpXG4gICAgICovXG4gICAgcHVibGljIGluaXRQYW5lbChwYW5lbERhdGE6IE5hdHVyYWxQYW5lbERhdGEpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYW5lbERhdGEgPSBwYW5lbERhdGE7XG4gICAgICAgIHRoaXMuaXNQYW5lbCA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMucGFuZWxEYXRhPy5kYXRhKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wYW5lbERhdGEuZGF0YS5tb2RlbCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgICAgICAvLyBTdWJzY3JpYmUgdG8gbW9kZWwgdG8ga25vdyB3aGVuIEFwb2xsbyBjYWNoZSBpcyBjaGFuZ2VkLCBzbyB3ZSBjYW4gcmVmbGVjdCBpdCBpbnRvIGBkYXRhLm1vZGVsYFxuICAgICAgICAgICAgICAgIHRoaXMucGFuZWxEYXRhLmRhdGEubW9kZWwucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKG1vZGVsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5wYW5lbERhdGE/LmRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDogbW9kZWwsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnBhbmVsRGF0YS5kYXRhLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,12 +0,0 @@
1
- import { NaturalPanelsService } from './panels.service';
2
- /**
3
- * Url fallback matcher to be used instead of `path: '**'` when Panel system
4
- * is used in the project.
5
- */
6
- export const fallbackIfNoOpenedPanels = (segments) => {
7
- if (!NaturalPanelsService.opened) {
8
- return { consumed: segments };
9
- }
10
- return null;
11
- };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsbGJhY2staWYtbm8tb3BlbmVkLXBhbmVscy51cmxtYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvcGFuZWxzL2ZhbGxiYWNrLWlmLW5vLW9wZW5lZC1wYW5lbHMudXJsbWF0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBZSxDQUFDLFFBQXNCLEVBQXlCLEVBQUU7SUFDbEcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQy9CLE9BQU8sRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VXJsTWF0Y2hlciwgVXJsTWF0Y2hSZXN1bHQsIFVybFNlZ21lbnR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge05hdHVyYWxQYW5lbHNTZXJ2aWNlfSBmcm9tICcuL3BhbmVscy5zZXJ2aWNlJztcblxuLyoqXG4gKiBVcmwgZmFsbGJhY2sgbWF0Y2hlciB0byBiZSB1c2VkIGluc3RlYWQgb2YgYHBhdGg6ICcqKidgIHdoZW4gUGFuZWwgc3lzdGVtXG4gKiBpcyB1c2VkIGluIHRoZSBwcm9qZWN0LlxuICovXG5leHBvcnQgY29uc3QgZmFsbGJhY2tJZk5vT3BlbmVkUGFuZWxzOiBVcmxNYXRjaGVyID0gKHNlZ21lbnRzOiBVcmxTZWdtZW50W10pOiBVcmxNYXRjaFJlc3VsdCB8IG51bGwgPT4ge1xuICAgIGlmICghTmF0dXJhbFBhbmVsc1NlcnZpY2Uub3BlbmVkKSB7XG4gICAgICAgIHJldHVybiB7Y29uc3VtZWQ6IHNlZ21lbnRzfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbn07XG4iXX0=
@@ -1,27 +0,0 @@
1
- import { Component, inject } from '@angular/core';
2
- import { ActivatedRoute } from '@angular/router';
3
- import { NaturalPanelsService } from './panels.service';
4
- import * as i0 from "@angular/core";
5
- export class NaturalPanelsComponent {
6
- panelsService = inject(NaturalPanelsService);
7
- // PanelsComponent is kind of a "ghost" component to respond to an url matcher in route config,
8
- // An UrlMatcher (matcher attribute) is required to catch urls with an undefined number of params in url after a given param /panels/
9
- constructor() {
10
- const route = inject(ActivatedRoute);
11
- this.panelsService.start(route);
12
- }
13
- ngOnDestroy() {
14
- this.panelsService.stop();
15
- }
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalPanelsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: NaturalPanelsComponent, isStandalone: true, selector: "natural-panels", ngImport: i0, template: '', isInline: true });
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NaturalPanelsComponent, decorators: [{
20
- type: Component,
21
- args: [{
22
- selector: 'natural-panels',
23
- template: '',
24
- standalone: true,
25
- }]
26
- }], ctorParameters: () => [] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3BhbmVscy9wYW5lbHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPdEQsTUFBTSxPQUFPLHNCQUFzQjtJQUNkLGFBQWEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUU5RCwrRkFBK0Y7SUFDL0YscUlBQXFJO0lBQ3JJO1FBQ0ksTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXJDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO3VHQWJRLHNCQUFzQjsyRkFBdEIsc0JBQXNCLDBFQUhyQixFQUFFOzsyRkFHSCxzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGluamVjdCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge05hdHVyYWxQYW5lbHNTZXJ2aWNlfSBmcm9tICcuL3BhbmVscy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYXR1cmFsLXBhbmVscycsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxQYW5lbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFuZWxzU2VydmljZSA9IGluamVjdChOYXR1cmFsUGFuZWxzU2VydmljZSk7XG5cbiAgICAvLyBQYW5lbHNDb21wb25lbnQgaXMga2luZCBvZiBhIFwiZ2hvc3RcIiBjb21wb25lbnQgdG8gcmVzcG9uZCB0byBhbiB1cmwgbWF0Y2hlciBpbiByb3V0ZSBjb25maWcsXG4gICAgLy8gQW4gVXJsTWF0Y2hlciAobWF0Y2hlciBhdHRyaWJ1dGUpIGlzIHJlcXVpcmVkIHRvIGNhdGNoIHVybHMgd2l0aCBhbiB1bmRlZmluZWQgbnVtYmVyIG9mIHBhcmFtcyBpbiB1cmwgYWZ0ZXIgYSBnaXZlbiBwYXJhbSAvcGFuZWxzL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuXG4gICAgICAgIHRoaXMucGFuZWxzU2VydmljZS5zdGFydChyb3V0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhbmVsc1NlcnZpY2Uuc3RvcCgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,10 +0,0 @@
1
- import { PanelsHooksConfig } from './types';
2
- export function providePanels(hooks) {
3
- return [
4
- {
5
- provide: PanelsHooksConfig,
6
- useValue: hooks,
7
- },
8
- ];
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3BhbmVscy9wYW5lbHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBMkIsaUJBQWlCLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFFcEUsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUErQjtJQUN6RCxPQUFPO1FBQ0g7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFFBQVEsRUFBRSxLQUFLO1NBQ2xCO0tBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF0dXJhbFBhbmVsc0hvb2tzQ29uZmlnLCBQYW5lbHNIb29rc0NvbmZpZ30gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlUGFuZWxzKGhvb2tzOiBOYXR1cmFsUGFuZWxzSG9va3NDb25maWcpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBQYW5lbHNIb29rc0NvbmZpZyxcbiAgICAgICAgICAgIHVzZVZhbHVlOiBob29rcyxcbiAgICAgICAgfSxcbiAgICBdO1xufVxuIl19