@ecodev/natural 50.4.1 → 52.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 (206) hide show
  1. package/esm2022/lib/classes/abstract-controller.mjs +30 -0
  2. package/esm2022/lib/classes/abstract-detail.mjs +166 -0
  3. package/{esm2020 → esm2022}/lib/classes/abstract-editable-list.mjs +4 -4
  4. package/esm2022/lib/classes/abstract-list.mjs +434 -0
  5. package/esm2022/lib/classes/abstract-navigable-list.mjs +131 -0
  6. package/{esm2020 → esm2022}/lib/directives/http-prefix.directive.mjs +4 -4
  7. package/{esm2020 → esm2022}/lib/modules/alert/alert.module.mjs +5 -5
  8. package/{esm2020 → esm2022}/lib/modules/alert/alert.service.mjs +4 -4
  9. package/{esm2020 → esm2022}/lib/modules/alert/confirm.component.mjs +4 -4
  10. package/{esm2020 → esm2022}/lib/modules/avatar/avatar.module.mjs +5 -5
  11. package/{esm2020 → esm2022}/lib/modules/avatar/component/avatar.component.mjs +6 -6
  12. package/{esm2020 → esm2022}/lib/modules/avatar/service/avatar.service.mjs +4 -4
  13. package/{esm2020 → esm2022}/lib/modules/columns-picker/columns-picker.component.mjs +4 -4
  14. package/{esm2020 → esm2022}/lib/modules/columns-picker/columns-picker.module.mjs +19 -19
  15. package/{esm2020 → esm2022}/lib/modules/common/common-module.mjs +19 -19
  16. package/{esm2020 → esm2022}/lib/modules/common/directives/linkable-tab.directive.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/modules/common/directives/src-density.directive.mjs +6 -5
  18. package/{esm2020 → esm2022}/lib/modules/common/pipes/capitalize.pipe.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/modules/common/pipes/ellipsis.pipe.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/modules/common/pipes/enum.pipe.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/modules/common/pipes/swiss-date.pipe.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/modules/common/pipes/time-ago.pipe.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/modules/common/services/memory-storage.mjs +4 -4
  24. package/{esm2020 → esm2022}/lib/modules/common/services/seo.service.mjs +4 -4
  25. package/{esm2020 → esm2022}/lib/modules/detail-header/detail-header.component.mjs +6 -5
  26. package/{esm2020 → esm2022}/lib/modules/detail-header/detail-header.module.mjs +5 -5
  27. package/{esm2020 → esm2022}/lib/modules/dialog-trigger/dialog-trigger.component.mjs +4 -4
  28. package/{esm2020 → esm2022}/lib/modules/dialog-trigger/dialog-trigger.module.mjs +5 -5
  29. package/{esm2020 → esm2022}/lib/modules/dropdown-components/abstract-association-select-component.directive.mjs +4 -4
  30. package/{esm2020 → esm2022}/lib/modules/dropdown-components/natural-dropdown-components.module.mjs +39 -39
  31. package/esm2022/lib/modules/dropdown-components/type-date/type-date.component.mjs +164 -0
  32. package/{esm2020 → esm2022}/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +4 -4
  33. package/{esm2020 → esm2022}/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +4 -4
  34. package/{esm2020 → esm2022}/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +4 -4
  35. package/{esm2020 → esm2022}/lib/modules/dropdown-components/type-number/type-number.component.mjs +4 -4
  36. package/{esm2020 → esm2022}/lib/modules/dropdown-components/type-select/type-select.component.mjs +4 -4
  37. package/{esm2020 → esm2022}/lib/modules/dropdown-components/type-text/type-text.component.mjs +4 -4
  38. package/{esm2020 → esm2022}/lib/modules/file/abstract-file.mjs +4 -4
  39. package/{esm2020 → esm2022}/lib/modules/file/component/file.component.mjs +4 -4
  40. package/{esm2020 → esm2022}/lib/modules/file/file-drop.directive.mjs +4 -4
  41. package/{esm2020 → esm2022}/lib/modules/file/file-select.directive.mjs +4 -4
  42. package/{esm2020 → esm2022}/lib/modules/file/file.module.mjs +5 -5
  43. package/{esm2020 → esm2022}/lib/modules/file/file.service.mjs +4 -4
  44. package/esm2022/lib/modules/fixed-button/fixed-button.component.mjs +29 -0
  45. package/{esm2020 → esm2022}/lib/modules/fixed-button/fixed-button.module.mjs +5 -5
  46. package/esm2022/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +53 -0
  47. package/{esm2020 → esm2022}/lib/modules/fixed-button-detail/fixed-button-detail.module.mjs +5 -5
  48. package/{esm2020 → esm2022}/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +6 -5
  49. package/{esm2020 → esm2022}/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +4 -4
  50. package/{esm2020 → esm2022}/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +4 -4
  51. package/{esm2020 → esm2022}/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +4 -4
  52. package/{esm2020 → esm2022}/lib/modules/hierarchic-selector/hierarchic-selector.module.mjs +33 -33
  53. package/{esm2020 → esm2022}/lib/modules/icon/icon.directive.mjs +6 -5
  54. package/{esm2020 → esm2022}/lib/modules/icon/icon.module.mjs +5 -5
  55. package/{esm2020 → esm2022}/lib/modules/logger/error-handler.mjs +4 -4
  56. package/{esm2020 → esm2022}/lib/modules/logger/error.module.mjs +5 -5
  57. package/{esm2020 → esm2022}/lib/modules/matomo/matomo-module.module.mjs +5 -5
  58. package/{esm2020 → esm2022}/lib/modules/matomo/matomo.service.mjs +4 -4
  59. package/{esm2020 → esm2022}/lib/modules/panels/abstract-panel.mjs +4 -4
  60. package/{esm2020 → esm2022}/lib/modules/panels/panels.component.mjs +4 -4
  61. package/{esm2020 → esm2022}/lib/modules/panels/panels.module.mjs +5 -5
  62. package/esm2022/lib/modules/panels/panels.service.mjs +328 -0
  63. package/esm2022/lib/modules/panels/panels.urlmatcher.mjs +75 -0
  64. package/esm2022/lib/modules/panels/types.mjs +3 -0
  65. package/esm2022/lib/modules/relations/relations.component.mjs +211 -0
  66. package/{esm2020 → esm2022}/lib/modules/relations/relations.module.mjs +25 -25
  67. package/{esm2020 → esm2022}/lib/modules/search/dropdown-container/dropdown-container.component.mjs +4 -4
  68. package/{esm2020 → esm2022}/lib/modules/search/dropdown-container/dropdown.service.mjs +4 -4
  69. package/{esm2020 → esm2022}/lib/modules/search/facet-selector/facet-selector.component.mjs +4 -4
  70. package/esm2022/lib/modules/search/group/group.component.mjs +53 -0
  71. package/{esm2020 → esm2022}/lib/modules/search/input/input.component.mjs +6 -5
  72. package/{esm2020 → esm2022}/lib/modules/search/search/search.component.mjs +4 -4
  73. package/esm2022/lib/modules/search/search.module.mjs +90 -0
  74. package/{esm2020 → esm2022}/lib/modules/select/abstract-select.component.mjs +4 -4
  75. package/esm2022/lib/modules/select/select/select.component.mjs +279 -0
  76. package/esm2022/lib/modules/select/select-enum/select-enum.component.mjs +47 -0
  77. package/{esm2020 → esm2022}/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +4 -4
  78. package/{esm2020 → esm2022}/lib/modules/select/select.module.mjs +29 -29
  79. package/{esm2020 → esm2022}/lib/modules/sidenav/sidenav/sidenav.component.mjs +4 -4
  80. package/esm2022/lib/modules/sidenav/sidenav-container/sidenav-container.component.mjs +87 -0
  81. package/{esm2020 → esm2022}/lib/modules/sidenav/sidenav-content/sidenav-content.component.mjs +4 -4
  82. package/{esm2020 → esm2022}/lib/modules/sidenav/sidenav-stack.service.mjs +4 -4
  83. package/{esm2020 → esm2022}/lib/modules/sidenav/sidenav.module.mjs +5 -5
  84. package/{esm2020 → esm2022}/lib/modules/sidenav/sidenav.service.mjs +5 -5
  85. package/{esm2020 → esm2022}/lib/modules/stamp/stamp-module.module.mjs +5 -5
  86. package/esm2022/lib/modules/stamp/stamp.component.mjs +23 -0
  87. package/{esm2020 → esm2022}/lib/modules/table-button/table-button.component.mjs +4 -4
  88. package/{esm2020 → esm2022}/lib/modules/table-button/table-button.module.mjs +5 -5
  89. package/{esm2020 → esm2022}/lib/services/debounce.service.mjs +4 -4
  90. package/{esm2020 → esm2022}/lib/services/enum.service.mjs +4 -4
  91. package/{esm2020 → esm2022}/lib/services/link-mutation.service.mjs +4 -4
  92. package/{esm2020 → esm2022}/lib/services/persistence.service.mjs +4 -4
  93. package/{esm2020 → esm2022}/lib/services/swiss-parsing-date-adapter.service.mjs +4 -4
  94. package/{fesm2020 → fesm2022}/ecodev-natural.mjs +555 -537
  95. package/fesm2022/ecodev-natural.mjs.map +1 -0
  96. package/lib/classes/abstract-controller.d.ts +12 -6
  97. package/lib/classes/abstract-detail.d.ts +5 -6
  98. package/lib/classes/abstract-list.d.ts +7 -8
  99. package/lib/classes/abstract-navigable-list.d.ts +3 -3
  100. package/lib/directives/http-prefix.directive.d.ts +1 -1
  101. package/lib/modules/avatar/component/avatar.component.d.ts +1 -1
  102. package/lib/modules/columns-picker/columns-picker.component.d.ts +1 -1
  103. package/lib/modules/common/directives/linkable-tab.directive.d.ts +1 -1
  104. package/lib/modules/common/directives/src-density.directive.d.ts +1 -1
  105. package/lib/modules/detail-header/detail-header.component.d.ts +1 -1
  106. package/lib/modules/dropdown-components/type-date/type-date.component.d.ts +1 -2
  107. package/lib/modules/file/abstract-file.d.ts +1 -1
  108. package/lib/modules/file/component/file.component.d.ts +1 -1
  109. package/lib/modules/file/file-select.directive.d.ts +1 -1
  110. package/lib/modules/fixed-button/fixed-button.component.d.ts +1 -1
  111. package/lib/modules/fixed-button-detail/fixed-button-detail.component.d.ts +2 -3
  112. package/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.d.ts +1 -1
  113. package/lib/modules/icon/icon.directive.d.ts +1 -1
  114. package/lib/modules/panels/panels.service.d.ts +1 -1
  115. package/lib/modules/panels/types.d.ts +10 -12
  116. package/lib/modules/relations/relations.component.d.ts +1 -1
  117. package/lib/modules/search/group/group.component.d.ts +1 -1
  118. package/lib/modules/search/input/input.component.d.ts +1 -1
  119. package/lib/modules/search/search/search.component.d.ts +1 -1
  120. package/lib/modules/select/abstract-select.component.d.ts +1 -1
  121. package/lib/modules/select/select/select.component.d.ts +1 -1
  122. package/lib/modules/select/select-enum/select-enum.component.d.ts +1 -1
  123. package/lib/modules/select/select-hierarchic/select-hierarchic.component.d.ts +1 -1
  124. package/lib/modules/sidenav/sidenav-container/sidenav-container.component.d.ts +1 -1
  125. package/lib/modules/sidenav/sidenav.service.d.ts +1 -1
  126. package/lib/modules/stamp/stamp.component.d.ts +1 -1
  127. package/lib/modules/table-button/table-button.component.d.ts +1 -1
  128. package/package.json +17 -25
  129. package/esm2020/lib/classes/abstract-controller.mjs +0 -30
  130. package/esm2020/lib/classes/abstract-detail.mjs +0 -158
  131. package/esm2020/lib/classes/abstract-list.mjs +0 -435
  132. package/esm2020/lib/classes/abstract-navigable-list.mjs +0 -131
  133. package/esm2020/lib/modules/dropdown-components/type-date/type-date.component.mjs +0 -166
  134. package/esm2020/lib/modules/fixed-button/fixed-button.component.mjs +0 -28
  135. package/esm2020/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +0 -53
  136. package/esm2020/lib/modules/panels/panels.service.mjs +0 -325
  137. package/esm2020/lib/modules/panels/panels.urlmatcher.mjs +0 -81
  138. package/esm2020/lib/modules/panels/types.mjs +0 -3
  139. package/esm2020/lib/modules/relations/relations.component.mjs +0 -210
  140. package/esm2020/lib/modules/search/group/group.component.mjs +0 -51
  141. package/esm2020/lib/modules/search/search.module.mjs +0 -90
  142. package/esm2020/lib/modules/select/select/select.component.mjs +0 -278
  143. package/esm2020/lib/modules/select/select-enum/select-enum.component.mjs +0 -46
  144. package/esm2020/lib/modules/sidenav/sidenav-container/sidenav-container.component.mjs +0 -86
  145. package/esm2020/lib/modules/stamp/stamp.component.mjs +0 -22
  146. package/fesm2015/ecodev-natural.mjs +0 -11532
  147. package/fesm2015/ecodev-natural.mjs.map +0 -1
  148. package/fesm2020/ecodev-natural.mjs.map +0 -1
  149. /package/{esm2020 → esm2022}/ecodev-natural.mjs +0 -0
  150. /package/{esm2020 → esm2022}/lib/classes/apollo-utils.mjs +0 -0
  151. /package/{esm2020 → esm2022}/lib/classes/data-source.mjs +0 -0
  152. /package/{esm2020 → esm2022}/lib/classes/query-variable-manager-utils.mjs +0 -0
  153. /package/{esm2020 → esm2022}/lib/classes/query-variable-manager.mjs +0 -0
  154. /package/{esm2020 → esm2022}/lib/classes/rxjs.mjs +0 -0
  155. /package/{esm2020 → esm2022}/lib/classes/tld.mjs +0 -0
  156. /package/{esm2020 → esm2022}/lib/classes/utility.mjs +0 -0
  157. /package/{esm2020 → esm2022}/lib/classes/validators.mjs +0 -0
  158. /package/{esm2020 → esm2022}/lib/modules/alert/public-api.mjs +0 -0
  159. /package/{esm2020 → esm2022}/lib/modules/avatar/public-api.mjs +0 -0
  160. /package/{esm2020 → esm2022}/lib/modules/avatar/service/md5.mjs +0 -0
  161. /package/{esm2020 → esm2022}/lib/modules/avatar/sources/gravatar.mjs +0 -0
  162. /package/{esm2020 → esm2022}/lib/modules/avatar/sources/image.mjs +0 -0
  163. /package/{esm2020 → esm2022}/lib/modules/avatar/sources/initials.mjs +0 -0
  164. /package/{esm2020 → esm2022}/lib/modules/avatar/sources/source.mjs +0 -0
  165. /package/{esm2020 → esm2022}/lib/modules/columns-picker/public-api.mjs +0 -0
  166. /package/{esm2020 → esm2022}/lib/modules/columns-picker/types.mjs +0 -0
  167. /package/{esm2020 → esm2022}/lib/modules/common/public-api.mjs +0 -0
  168. /package/{esm2020 → esm2022}/lib/modules/detail-header/public-api.mjs +0 -0
  169. /package/{esm2020 → esm2022}/lib/modules/dialog-trigger/public-api.mjs +0 -0
  170. /package/{esm2020 → esm2022}/lib/modules/dropdown-components/public-api.mjs +0 -0
  171. /package/{esm2020 → esm2022}/lib/modules/dropdown-components/types.mjs +0 -0
  172. /package/{esm2020 → esm2022}/lib/modules/dropdown-components/utils.mjs +0 -0
  173. /package/{esm2020 → esm2022}/lib/modules/file/public-api.mjs +0 -0
  174. /package/{esm2020 → esm2022}/lib/modules/file/types.mjs +0 -0
  175. /package/{esm2020 → esm2022}/lib/modules/file/utils.mjs +0 -0
  176. /package/{esm2020 → esm2022}/lib/modules/fixed-button/public-api.mjs +0 -0
  177. /package/{esm2020 → esm2022}/lib/modules/fixed-button-detail/public-api.mjs +0 -0
  178. /package/{esm2020 → esm2022}/lib/modules/hierarchic-selector/classes/flat-node.mjs +0 -0
  179. /package/{esm2020 → esm2022}/lib/modules/hierarchic-selector/classes/hierarchic-configuration.mjs +0 -0
  180. /package/{esm2020 → esm2022}/lib/modules/hierarchic-selector/classes/hierarchic-filters-configuration.mjs +0 -0
  181. /package/{esm2020 → esm2022}/lib/modules/hierarchic-selector/classes/model-node.mjs +0 -0
  182. /package/{esm2020 → esm2022}/lib/modules/hierarchic-selector/public-api.mjs +0 -0
  183. /package/{esm2020 → esm2022}/lib/modules/icon/public-api.mjs +0 -0
  184. /package/{esm2020 → esm2022}/lib/modules/logger/public-api.mjs +0 -0
  185. /package/{esm2020 → esm2022}/lib/modules/matomo/public-api.mjs +0 -0
  186. /package/{esm2020 → esm2022}/lib/modules/panels/fallback-if-no-opened-panels.urlmatcher.mjs +0 -0
  187. /package/{esm2020 → esm2022}/lib/modules/panels/public-api.mjs +0 -0
  188. /package/{esm2020 → esm2022}/lib/modules/relations/public-api.mjs +0 -0
  189. /package/{esm2020 → esm2022}/lib/modules/search/classes/graphql-doctrine.mjs +0 -0
  190. /package/{esm2020 → esm2022}/lib/modules/search/classes/graphql-doctrine.types.mjs +0 -0
  191. /package/{esm2020 → esm2022}/lib/modules/search/classes/transformers.mjs +0 -0
  192. /package/{esm2020 → esm2022}/lib/modules/search/classes/url.mjs +0 -0
  193. /package/{esm2020 → esm2022}/lib/modules/search/classes/utils.mjs +0 -0
  194. /package/{esm2020 → esm2022}/lib/modules/search/dropdown-container/dropdown-container-animations.mjs +0 -0
  195. /package/{esm2020 → esm2022}/lib/modules/search/dropdown-container/dropdown-ref.mjs +0 -0
  196. /package/{esm2020 → esm2022}/lib/modules/search/public-api.mjs +0 -0
  197. /package/{esm2020 → esm2022}/lib/modules/search/types/dropdown-component.mjs +0 -0
  198. /package/{esm2020 → esm2022}/lib/modules/search/types/facet.mjs +0 -0
  199. /package/{esm2020 → esm2022}/lib/modules/search/types/values.mjs +0 -0
  200. /package/{esm2020 → esm2022}/lib/modules/select/public-api.mjs +0 -0
  201. /package/{esm2020 → esm2022}/lib/modules/sidenav/public-api.mjs +0 -0
  202. /package/{esm2020 → esm2022}/lib/modules/stamp/public-api.mjs +0 -0
  203. /package/{esm2020 → esm2022}/lib/modules/table-button/public-api.mjs +0 -0
  204. /package/{esm2020 → esm2022}/lib/services/abstract-model.service.mjs +0 -0
  205. /package/{esm2020 → esm2022}/lib/types/types.mjs +0 -0
  206. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -1,15 +1,21 @@
1
1
  import { OnDestroy } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
- /**
5
- * Use
6
- * import { takeUntil } from 'rxjs/operators';
7
- * .pipe(takeUntil(this.ngUnsubscribe)) as first pipe on observables that should be destroyed on component destroy
8
- */
9
4
  export declare class NaturalAbstractController implements OnDestroy {
5
+ /**
6
+ * Usage:
7
+ *
8
+ * ```ts
9
+ * import { takeUntil } from 'rxjs/operators';
10
+ * .pipe(takeUntil(this.ngUnsubscribe)) // as first pipe on observables that should be destroyed on component destroy
11
+ * ```
12
+ *
13
+ * @deprecated Instead of this, you should create the observable in the constructor or field initializers and use
14
+ * Angular native `.pipe(takeUntilDestroyed())`. And most likely subscribe at a later point. We keep this method until
15
+ * all existing usages (typically in `ngOnInit()`) are migrated away.
16
+ */
10
17
  protected readonly ngUnsubscribe: Subject<void>;
11
18
  ngOnDestroy(): void;
12
- back(): void;
13
19
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalAbstractController, never>;
14
20
  static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalAbstractController, never, never, {}, {}, never, never, false, never>;
15
21
  }
@@ -1,4 +1,4 @@
1
- import { Injector, OnInit } from '@angular/core';
1
+ import { OnInit } from '@angular/core';
2
2
  import { UntypedFormGroup } from '@angular/forms';
3
3
  import { ActivatedRoute, Router } from '@angular/router';
4
4
  import { NaturalAlertService } from '../modules/alert/alert.service';
@@ -12,7 +12,6 @@ import * as i0 from "@angular/core";
12
12
  export declare class NaturalAbstractDetail<TService extends NaturalAbstractModelService<unknown, any, PaginatedData<Literal>, QueryVariables, any, any, any, any, unknown, any>> extends NaturalAbstractPanel implements OnInit {
13
13
  protected readonly key: string;
14
14
  readonly service: TService;
15
- protected readonly injector: Injector;
16
15
  /**
17
16
  * Empty placeholder for data retrieved by the server
18
17
  */
@@ -29,16 +28,16 @@ export declare class NaturalAbstractDetail<TService extends NaturalAbstractModel
29
28
  /**
30
29
  * Injected service
31
30
  */
32
- protected alertService: NaturalAlertService;
31
+ protected readonly alertService: NaturalAlertService;
33
32
  /**
34
33
  * Injected service
35
34
  */
36
- protected router: Router;
35
+ protected readonly router: Router;
37
36
  /**
38
37
  * Injected service
39
38
  */
40
- protected route: ActivatedRoute;
41
- constructor(key: string, service: TService, injector: Injector);
39
+ protected readonly route: ActivatedRoute;
40
+ constructor(key: string, service: TService);
42
41
  ngOnInit(): void;
43
42
  changeTab(index: number): void;
44
43
  update(now?: boolean): void;
@@ -1,5 +1,5 @@
1
1
  import { SelectionModel } from '@angular/cdk/collections';
2
- import { Injector, OnDestroy, OnInit } from '@angular/core';
2
+ import { OnDestroy, OnInit } from '@angular/core';
3
3
  import { PageEvent } from '@angular/material/paginator';
4
4
  import { Sort } from '@angular/material/sort';
5
5
  import { ActivatedRoute, Data, NavigationExtras, Router } from '@angular/router';
@@ -28,7 +28,6 @@ type MaybeNavigable = Literal | NavigableItem<Literal>;
28
28
  */
29
29
  export declare class NaturalAbstractList<TService extends NaturalAbstractModelService<any, any, PaginatedData<Literal>, QueryVariables, any, any, any, any, any, any>, Tall extends PaginatedData<MaybeNavigable> = ExtractTall<TService>> extends NaturalAbstractPanel implements OnInit, OnDestroy {
30
30
  readonly service: TService;
31
- private readonly injector;
32
31
  /**
33
32
  * Wherever search should be loaded from url/storage and persisted in it too.
34
33
  */
@@ -91,11 +90,11 @@ export declare class NaturalAbstractList<TService extends NaturalAbstractModelSe
91
90
  * Initial sorting
92
91
  */
93
92
  protected defaultSorting?: Array<Sorting>;
94
- protected router: Router;
95
- protected route: ActivatedRoute;
96
- protected alertService: NaturalAlertService;
97
- protected persistenceService: NaturalPersistenceService;
98
- constructor(service: TService, injector: Injector);
93
+ protected readonly router: Router;
94
+ protected readonly route: ActivatedRoute;
95
+ protected readonly alertService: NaturalAlertService;
96
+ protected readonly persistenceService: NaturalPersistenceService;
97
+ constructor(service: TService);
99
98
  /**
100
99
  * Variables that are always forced on a list, in addition to whatever the end-user might select
101
100
  */
@@ -183,6 +182,6 @@ export declare class NaturalAbstractList<TService extends NaturalAbstractModelSe
183
182
  private applyForcedVariables;
184
183
  selectColumns(columns: string[]): void;
185
184
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalAbstractList<any, any>, never>;
186
- static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalAbstractList<any, any>, never, never, { "persistSearch": "persistSearch"; "availableColumns": "availableColumns"; "selectedColumns": "selectedColumns"; "forcedVariables": "forcedVariables"; }, {}, never, never, false, never>;
185
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalAbstractList<any, any>, never, never, { "persistSearch": { "alias": "persistSearch"; "required": false; }; "availableColumns": { "alias": "availableColumns"; "required": false; }; "selectedColumns": { "alias": "selectedColumns"; "required": false; }; "forcedVariables": { "alias": "forcedVariables"; "required": false; }; }, {}, never, never, false, never>;
187
186
  }
188
187
  export {};
@@ -1,4 +1,4 @@
1
- import { Injector, OnDestroy, OnInit } from '@angular/core';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { NavigationExtras, RouterLink } from '@angular/router';
3
3
  import { NaturalSearchSelections } from '../modules/search/types/values';
4
4
  import { NaturalAbstractModelService } from '../services/abstract-model.service';
@@ -31,7 +31,7 @@ export declare class NaturalAbstractNavigableList<TService extends NaturalAbstra
31
31
  ancestorRelationName: string;
32
32
  private oldAncertorId;
33
33
  breadcrumbs: BreadcrumbItem[];
34
- constructor(service: TService, injector: Injector);
34
+ constructor(service: TService);
35
35
  ngOnInit(): void;
36
36
  protected getDataObservable(): Observable<PaginatedData<NavigableItem<ExtractTallOne<TService>>>>;
37
37
  protected translateSearchAndRefreshList(naturalSearchSelections: NaturalSearchSelections): void;
@@ -49,6 +49,6 @@ export declare class NaturalAbstractNavigableList<TService extends NaturalAbstra
49
49
  */
50
50
  protected getBreadcrumb(item: BreadcrumbItem): BreadcrumbItem[];
51
51
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalAbstractNavigableList<any>, never>;
52
- static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalAbstractNavigableList<any>, never, never, { "ancestorRelationName": "ancestorRelationName"; }, {}, never, never, false, never>;
52
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalAbstractNavigableList<any>, never, never, { "ancestorRelationName": { "alias": "ancestorRelationName"; "required": false; }; }, {}, never, never, false, never>;
53
53
  }
54
54
  export {};
@@ -13,5 +13,5 @@ export declare class NaturalHttpPrefixDirective extends NaturalAbstractControlle
13
13
  constructor();
14
14
  httpize($event: string): void;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalHttpPrefixDirective, never>;
16
- static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalHttpPrefixDirective, "[naturalHttpPrefix]", never, { "naturalHttpPrefix": "naturalHttpPrefix"; }, {}, never, never, false, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalHttpPrefixDirective, "[naturalHttpPrefix]", never, { "naturalHttpPrefix": { "alias": "naturalHttpPrefix"; "required": false; }; }, {}, never, never, false, never>;
17
17
  }
@@ -48,6 +48,6 @@ export declare class AvatarComponent implements OnChanges {
48
48
  */
49
49
  private getImageStyle;
50
50
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, never>;
51
- static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "natural-avatar", never, { "image": "image"; "initials": "initials"; "gravatar": "gravatar"; "size": "size"; "textSizeRatio": "textSizeRatio"; "bgColor": "bgColor"; "fgColor": "fgColor"; "borderRadius": "borderRadius"; "textMaximumLength": "textMaximumLength"; }, {}, never, never, false, never>;
51
+ static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "natural-avatar", never, { "image": { "alias": "image"; "required": false; }; "initials": { "alias": "initials"; "required": false; }; "gravatar": { "alias": "gravatar"; "required": false; }; "size": { "alias": "size"; "required": false; }; "textSizeRatio": { "alias": "textSizeRatio"; "required": false; }; "bgColor": { "alias": "bgColor"; "required": false; }; "fgColor": { "alias": "fgColor"; "required": false; }; "borderRadius": { "alias": "borderRadius"; "required": false; }; "textMaximumLength": { "alias": "textMaximumLength"; "required": false; }; }, {}, never, never, false, never>;
52
52
  }
53
53
  export {};
@@ -42,5 +42,5 @@ export declare class NaturalColumnsPickerComponent implements OnChanges, OnDestr
42
42
  needMargin(button?: Button | null): string;
43
43
  someVisibleButtons(): boolean;
44
44
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalColumnsPickerComponent, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalColumnsPickerComponent, "natural-columns-picker", never, { "buttons": "buttons"; "availableColumns": "availableColumns"; "selections": "selections"; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
45
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalColumnsPickerComponent, "natural-columns-picker", never, { "buttons": { "alias": "buttons"; "required": false; }; "availableColumns": { "alias": "availableColumns"; "required": false; }; "selections": { "alias": "selections"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
46
46
  }
@@ -24,5 +24,5 @@ export declare class NaturalLinkableTabDirective extends NaturalAbstractControll
24
24
  ngAfterViewInit(): void;
25
25
  private getTabIndex;
26
26
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalLinkableTabDirective, never>;
27
- static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalLinkableTabDirective, "mat-tab-group[naturalLinkableTab]", never, { "naturalLinkableTab": "naturalLinkableTab"; }, {}, never, never, false, never>;
27
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalLinkableTabDirective, "mat-tab-group[naturalLinkableTab]", never, { "naturalLinkableTab": { "alias": "naturalLinkableTab"; "required": false; }; }, {}, never, never, false, never>;
28
28
  }
@@ -30,5 +30,5 @@ export declare class NaturalSrcDensityDirective {
30
30
  set naturalSrcDensity(src: string);
31
31
  constructor(elementRef: ElementRef<HTMLImageElement>);
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalSrcDensityDirective, never>;
33
- static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalSrcDensityDirective, "img[naturalSrcDensity]", never, { "naturalSrcDensity": "naturalSrcDensity"; }, {}, never, never, false, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalSrcDensityDirective, "img[naturalSrcDensity]", never, { "naturalSrcDensity": { "alias": "naturalSrcDensity"; "required": true; }; }, {}, never, never, false, never>;
34
34
  }
@@ -39,5 +39,5 @@ export declare class NaturalDetailHeaderComponent {
39
39
  getRootLink(): string[];
40
40
  getLink(id: string): any[];
41
41
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalDetailHeaderComponent, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalDetailHeaderComponent, "natural-detail-header", never, { "currentBaseUrl": "currentBaseUrl"; "isPanel": "isPanel"; "icon": "icon"; "label": "label"; "rootLabel": "rootLabel"; "newLabel": "newLabel"; "model": "model"; "breadcrumbs": "breadcrumbs"; "listRoute": "listRoute"; "listFragment": "listFragment"; "link": "link"; }, {}, never, ["*"], false, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalDetailHeaderComponent, "natural-detail-header", never, { "currentBaseUrl": { "alias": "currentBaseUrl"; "required": false; }; "isPanel": { "alias": "isPanel"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "label": { "alias": "label"; "required": false; }; "rootLabel": { "alias": "rootLabel"; "required": false; }; "newLabel": { "alias": "newLabel"; "required": false; }; "model": { "alias": "model"; "required": true; }; "breadcrumbs": { "alias": "breadcrumbs"; "required": false; }; "listRoute": { "alias": "listRoute"; "required": false; }; "listFragment": { "alias": "listFragment"; "required": false; }; "link": { "alias": "link"; "required": false; }; }, {}, never, ["*"], false, never>;
43
43
  }
@@ -4,13 +4,12 @@ import { BehaviorSubject } from 'rxjs';
4
4
  import { FilterGroupConditionField } from '../../search/classes/graphql-doctrine.types';
5
5
  import { NaturalDropdownData } from '../../search/dropdown-container/dropdown.service';
6
6
  import { DropdownComponent } from '../../search/types/dropdown-component';
7
- import { NaturalAbstractController } from '../../../classes/abstract-controller';
8
7
  import * as i0 from "@angular/core";
9
8
  export interface TypeDateConfiguration<D = Date> {
10
9
  min?: D | null;
11
10
  max?: D | null;
12
11
  }
13
- export declare class TypeDateComponent<D = any> extends NaturalAbstractController implements DropdownComponent {
12
+ export declare class TypeDateComponent<D = any> implements DropdownComponent {
14
13
  private dateAdapter;
15
14
  private dateFormats;
16
15
  readonly renderedValue: BehaviorSubject<string>;
@@ -90,5 +90,5 @@ export declare abstract class NaturalAbstractFile extends NaturalAbstractControl
90
90
  onChange(event: Event): void;
91
91
  private validate;
92
92
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalAbstractFile, never>;
93
- static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalAbstractFile, never, never, { "multiple": "multiple"; "accept": "accept"; "maxSize": "maxSize"; "fileSelectionDisabled": "fileSelectionDisabled"; "selectable": "selectable"; "broadcast": "broadcast"; }, { "fileChange": "fileChange"; "filesChange": "filesChange"; }, never, never, false, never>;
93
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalAbstractFile, never, never, { "multiple": { "alias": "multiple"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "maxSize": { "alias": "maxSize"; "required": false; }; "fileSelectionDisabled": { "alias": "fileSelectionDisabled"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "broadcast": { "alias": "broadcast"; "required": false; }; }, { "fileChange": "fileChange"; "filesChange": "filesChange"; }, never, never, false, never>;
94
94
  }
@@ -57,5 +57,5 @@ export declare class FileComponent implements OnInit, OnChanges {
57
57
  private updateImage;
58
58
  private getBase64;
59
59
  static ɵfac: i0.ɵɵFactoryDeclaration<FileComponent, never>;
60
- static ɵcmp: i0.ɵɵComponentDeclaration<FileComponent, "natural-file", never, { "height": "height"; "action": "action"; "backgroundSize": "backgroundSize"; "accept": "accept"; "uploader": "uploader"; "model": "model"; "formCtrl": "formCtrl"; }, { "modelChange": "modelChange"; }, never, never, false, never>;
60
+ static ɵcmp: i0.ɵɵComponentDeclaration<FileComponent, "natural-file", never, { "height": { "alias": "height"; "required": false; }; "action": { "alias": "action"; "required": false; }; "backgroundSize": { "alias": "backgroundSize"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "uploader": { "alias": "uploader"; "required": false; }; "model": { "alias": "model"; "required": false; }; "formCtrl": { "alias": "formCtrl"; "required": false; }; }, { "modelChange": "modelChange"; }, never, never, false, never>;
61
61
  }
@@ -11,5 +11,5 @@ export declare class NaturalFileSelectDirective extends NaturalAbstractFile {
11
11
  */
12
12
  selectable: boolean;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalFileSelectDirective, never>;
14
- static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalFileSelectDirective, ":not([naturalFileDrop])[naturalFileSelect]", never, { "selectable": "selectable"; }, {}, never, never, false, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalFileSelectDirective, ":not([naturalFileDrop])[naturalFileSelect]", never, { "selectable": { "alias": "selectable"; "required": false; }; }, {}, never, never, false, never>;
15
15
  }
@@ -7,5 +7,5 @@ export declare class NaturalFixedButtonComponent {
7
7
  color: ThemePalette;
8
8
  disabled: boolean;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalFixedButtonComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalFixedButtonComponent, "natural-fixed-button", never, { "icon": "icon"; "link": "link"; "color": "color"; "disabled": "disabled"; }, {}, never, never, false, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalFixedButtonComponent, "natural-fixed-button", never, { "icon": { "alias": "icon"; "required": true; }; "link": { "alias": "link"; "required": false; }; "color": { "alias": "color"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
11
11
  }
@@ -1,7 +1,6 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { ActivatedRoute } from '@angular/router';
4
- import { NaturalAbstractController } from '../../classes/abstract-controller';
5
4
  import * as i0 from "@angular/core";
6
5
  type Model = {
7
6
  id?: string;
@@ -9,7 +8,7 @@ type Model = {
9
8
  delete: boolean;
10
9
  };
11
10
  };
12
- export declare class NaturalFixedButtonDetailComponent extends NaturalAbstractController {
11
+ export declare class NaturalFixedButtonDetailComponent {
13
12
  private canChange;
14
13
  isCreation: boolean;
15
14
  get model(): Model;
@@ -22,6 +21,6 @@ export declare class NaturalFixedButtonDetailComponent extends NaturalAbstractCo
22
21
  clickCreate(): void;
23
22
  clickDelete(): void;
24
23
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalFixedButtonDetailComponent, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalFixedButtonDetailComponent, "natural-fixed-button-detail", never, { "model": "model"; "form": "form"; }, { "create": "create"; "delete": "delete"; }, never, never, false, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalFixedButtonDetailComponent, "natural-fixed-button-detail", never, { "model": { "alias": "model"; "required": true; }; "form": { "alias": "form"; "required": true; }; }, { "create": "create"; "delete": "delete"; }, never, never, false, never>;
26
25
  }
27
26
  export {};
@@ -148,5 +148,5 @@ export declare class NaturalHierarchicSelectorComponent extends NaturalAbstractC
148
148
  */
149
149
  private getMapKey;
150
150
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalHierarchicSelectorComponent, never>;
151
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalHierarchicSelectorComponent, "natural-hierarchic-selector", never, { "displayWith": "displayWith"; "config": "config"; "multiple": "multiple"; "selected": "selected"; "allowUnselect": "allowUnselect"; "filters": "filters"; "searchFacets": "searchFacets"; "searchSelections": "searchSelections"; }, { "searchSelectionChange": "searchSelectionChange"; "selectionChange": "selectionChange"; }, never, never, false, never>;
151
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalHierarchicSelectorComponent, "natural-hierarchic-selector", never, { "displayWith": { "alias": "displayWith"; "required": false; }; "config": { "alias": "config"; "required": true; }; "multiple": { "alias": "multiple"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "allowUnselect": { "alias": "allowUnselect"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "searchFacets": { "alias": "searchFacets"; "required": false; }; "searchSelections": { "alias": "searchSelections"; "required": false; }; }, { "searchSelectionChange": "searchSelectionChange"; "selectionChange": "selectionChange"; }, never, never, false, never>;
152
152
  }
@@ -39,5 +39,5 @@ export declare class NaturalIconDirective {
39
39
  set size(size: number | undefined | null);
40
40
  private registerIcons;
41
41
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalIconDirective, [null, null, null, { host: true; self: true; }]>;
42
- static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalIconDirective, "mat-icon[naturalIcon]", never, { "naturalIcon": "naturalIcon"; "size": "size"; }, {}, never, never, false, never>;
42
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NaturalIconDirective, "mat-icon[naturalIcon]", never, { "naturalIcon": { "alias": "naturalIcon"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, false, never>;
43
43
  }
@@ -1,5 +1,5 @@
1
1
  import { Injector } from '@angular/core';
2
- import { MediaObserver } from '@angular/flex-layout';
2
+ import { MediaObserver } from '@ngbracket/ngx-layout';
3
3
  import { MatDialog } from '@angular/material/dialog';
4
4
  import { ActivatedRoute, Router } from '@angular/router';
5
5
  import { Subject } from 'rxjs';
@@ -1,5 +1,5 @@
1
1
  import { ComponentType } from '@angular/cdk/portal';
2
- import { InjectionToken, Injector, Type } from '@angular/core';
2
+ import { InjectionToken, Injector } from '@angular/core';
3
3
  import { UrlSegment } from '@angular/router';
4
4
  import { Literal } from '../../types/types';
5
5
  import { Observable } from 'rxjs';
@@ -12,15 +12,13 @@ export interface NaturalPanelsRouteConfig {
12
12
  segments: UrlSegment[];
13
13
  path: string;
14
14
  }
15
- export type NaturalPanelResolveInstances = {
16
- [key: string]: NaturalPanelResolve<unknown>;
17
- };
18
15
  /**
19
16
  * Config required to manage url and instantiate component correctly
20
17
  */
21
18
  export interface NaturalPanelConfig {
22
19
  component: ComponentType<NaturalAbstractPanel>;
23
- resolve: NaturalPanelResolveInstances;
20
+ injector: Injector | null;
21
+ resolve: NaturalPanelResolves;
24
22
  params: Literal;
25
23
  rule: NaturalPanelsRouterRule;
26
24
  route: NaturalPanelsRouteConfig;
@@ -37,20 +35,19 @@ export interface NaturalPanelData {
37
35
  linkableObjects: LinkableObject[];
38
36
  }
39
37
  /**
40
- * Similar to Angular Resolve interface, but simpler for our panels needs
38
+ * Similar to Angular functional resolver interface, but simpler for our panels' needs
41
39
  */
42
- export interface NaturalPanelResolve<T> {
43
- resolve(route: NaturalPanelConfig): Observable<T>;
44
- }
40
+ type NaturalPanelResolve<T> = (route: NaturalPanelConfig) => Observable<T>;
41
+ export type NaturalPanelResolves = {
42
+ [key: string]: NaturalPanelResolve<unknown>;
43
+ };
45
44
  /**
46
45
  * Configuration for a route
47
46
  */
48
47
  export interface NaturalPanelsRouterRule {
49
48
  path: string;
50
49
  component: ComponentType<NaturalAbstractPanel>;
51
- resolve?: {
52
- [key: string]: Type<NaturalPanelResolve<unknown>>;
53
- };
50
+ resolve?: NaturalPanelResolves;
54
51
  }
55
52
  export interface NaturalPanelsBeforeOpenPanel {
56
53
  itemData: NaturalPanelData;
@@ -63,3 +60,4 @@ export interface NaturalPanelsHooksConfig {
63
60
  }
64
61
  export type NaturalPanelsRoutesConfig = Array<NaturalPanelsRouterRule>;
65
62
  export declare const PanelsHooksConfig: InjectionToken<NaturalPanelsHooksConfig>;
63
+ export {};
@@ -113,5 +113,5 @@ export declare class NaturalRelationsComponent<TService extends NaturalAbstractM
113
113
  private queryItems;
114
114
  private getSelectKey;
115
115
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalRelationsComponent<any>, never>;
116
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalRelationsComponent<any>, "natural-relations", never, { "service": "service"; "placeholder": "placeholder"; "autocompleteSelectorFilter": "autocompleteSelectorFilter"; "displayWith": "displayWith"; "disabled": "disabled"; "main": "main"; "hierarchicSelectorFilters": "hierarchicSelectorFilters"; "hierarchicSelectorConfig": "hierarchicSelectorConfig"; "otherName": "otherName"; "filter": "filter"; }, { "selectionChange": "selectionChange"; }, ["itemTemplate"], never, false, never>;
116
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalRelationsComponent<any>, "natural-relations", never, { "service": { "alias": "service"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "autocompleteSelectorFilter": { "alias": "autocompleteSelectorFilter"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "main": { "alias": "main"; "required": true; }; "hierarchicSelectorFilters": { "alias": "hierarchicSelectorFilters"; "required": false; }; "hierarchicSelectorConfig": { "alias": "hierarchicSelectorConfig"; "required": false; }; "otherName": { "alias": "otherName"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; }, { "selectionChange": "selectionChange"; }, ["itemTemplate"], never, false, never>;
117
117
  }
@@ -18,5 +18,5 @@ export declare class NaturalGroupComponent {
18
18
  addInput(selection: NaturalSearchSelection): void;
19
19
  removeInput(index: number): void;
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalGroupComponent, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalGroupComponent, "natural-group", never, { "dropdownTitle": "dropdownTitle"; "placeholder": "placeholder"; "facets": "facets"; "selections": "selections"; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalGroupComponent, "natural-group", never, { "dropdownTitle": { "alias": "dropdownTitle"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": true; }; "facets": { "alias": "facets"; "required": true; }; "selections": { "alias": "selections"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
22
22
  }
@@ -107,6 +107,6 @@ export declare class NaturalInputComponent implements OnInit, OnChanges, OnDestr
107
107
  private setValue;
108
108
  private getSelection;
109
109
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalInputComponent, never>;
110
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalInputComponent, "natural-input", never, { "placeholder": "placeholder"; "searchFieldName": "searchFieldName"; "selection": "selection"; "facets": "facets"; "dropdownTitle": "dropdownTitle"; }, { "selectionChange": "selectionChange"; "cleared": "cleared"; }, never, never, false, never>;
110
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalInputComponent, "natural-input", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "searchFieldName": { "alias": "searchFieldName"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; "facets": { "alias": "facets"; "required": true; }; "dropdownTitle": { "alias": "dropdownTitle"; "required": false; }; }, { "selectionChange": "selectionChange"; "cleared": "cleared"; }, never, never, false, never>;
111
111
  }
112
112
  export {};
@@ -41,5 +41,5 @@ export declare class NaturalSearchComponent implements OnChanges {
41
41
  removeGroup(index: number): void;
42
42
  clear(): void;
43
43
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalSearchComponent, never>;
44
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalSearchComponent, "natural-search", never, { "placeholder": "placeholder"; "facets": "facets"; "multipleGroups": "multipleGroups"; "dropdownTitle": "dropdownTitle"; "selections": "selections"; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalSearchComponent, "natural-search", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "facets": { "alias": "facets"; "required": false; }; "multipleGroups": { "alias": "multipleGroups"; "required": false; }; "dropdownTitle": { "alias": "dropdownTitle"; "required": false; }; "selections": { "alias": "selections"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
45
45
  }
@@ -110,6 +110,6 @@ export declare abstract class AbstractSelect<V, I> extends NaturalAbstractContro
110
110
  */
111
111
  private applyRequired;
112
112
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractSelect<any, any>, [{ optional: true; self: true; }]>;
113
- static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractSelect<any, any>, never, never, { "placeholder": "placeholder"; "required": "required"; "navigateTo": "navigateTo"; "clearLabel": "clearLabel"; "showIcon": "showIcon"; "icon": "icon"; "displayWith": "displayWith"; "disabled": "disabled"; }, { "selectionChange": "selectionChange"; "blur": "blur"; }, never, never, false, never>;
113
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractSelect<any, any>, never, never, { "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "navigateTo": { "alias": "navigateTo"; "required": false; }; "clearLabel": { "alias": "clearLabel"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "selectionChange": "selectionChange"; "blur": "blur"; }, never, never, false, never>;
114
114
  }
115
115
  export {};
@@ -128,6 +128,6 @@ export declare class NaturalSelectComponent<TService extends NaturalAbstractMode
128
128
  private getSearchFilter;
129
129
  getVariablesForDebug(): Readonly<QueryVariables> | undefined;
130
130
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalSelectComponent<any>, never>;
131
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalSelectComponent<any>, "natural-select", never, { "service": "service"; "optionRequired": "optionRequired"; "searchField": "searchField"; "searchOperator": "searchOperator"; "filter": "filter"; "disabled": "disabled"; }, {}, ["itemTemplate"], never, false, never>;
131
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalSelectComponent<any>, "natural-select", never, { "service": { "alias": "service"; "required": true; }; "optionRequired": { "alias": "optionRequired"; "required": false; }; "searchField": { "alias": "searchField"; "required": false; }; "searchOperator": { "alias": "searchOperator"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, ["itemTemplate"], never, false, never>;
132
132
  }
133
133
  export {};
@@ -28,6 +28,6 @@ export declare class NaturalSelectEnumComponent extends AbstractSelect<V, V> imp
28
28
  ngOnInit(): void;
29
29
  getDisplayFn(): (item: V | null) => string;
30
30
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalSelectEnumComponent, [null, { optional: true; self: true; }]>;
31
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalSelectEnumComponent, "natural-select-enum", never, { "enumName": "enumName"; "nullLabel": "nullLabel"; "optionDisabled": "optionDisabled"; "multiple": "multiple"; }, {}, never, never, false, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalSelectEnumComponent, "natural-select-enum", never, { "enumName": { "alias": "enumName"; "required": true; }; "nullLabel": { "alias": "nullLabel"; "required": false; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; }, {}, never, never, false, never>;
32
32
  }
33
33
  export {};
@@ -53,5 +53,5 @@ export declare class NaturalSelectHierarchicComponent extends AbstractSelect<Lit
53
53
  showSelectButton(): boolean;
54
54
  private getSelectKey;
55
55
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalSelectHierarchicComponent, [null, { optional: true; self: true; }]>;
56
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalSelectHierarchicComponent, "natural-select-hierarchic", never, { "selectLabel": "selectLabel"; "config": "config"; "filters": "filters"; }, {}, never, never, false, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalSelectHierarchicComponent, "natural-select-hierarchic", never, { "selectLabel": { "alias": "selectLabel"; "required": false; }; "config": { "alias": "config"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; }, {}, never, never, false, never>;
57
57
  }
@@ -46,5 +46,5 @@ export declare class NaturalSidenavContainerComponent implements OnInit, OnDestr
46
46
  expand(): void;
47
47
  toggleMinimized(): void;
48
48
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalSidenavContainerComponent, never>;
49
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalSidenavContainerComponent, "natural-sidenav-container", never, { "name": "name"; "position": "position"; "mobileAutoClose": "mobileAutoClose"; "minimizedWidth": "minimizedWidth"; "noScroll": "noScroll"; }, {}, never, ["natural-sidenav", "natural-sidenav-content"], false, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalSidenavContainerComponent, "natural-sidenav-container", never, { "name": { "alias": "name"; "required": true; }; "position": { "alias": "position"; "required": false; }; "mobileAutoClose": { "alias": "mobileAutoClose"; "required": false; }; "minimizedWidth": { "alias": "minimizedWidth"; "required": false; }; "noScroll": { "alias": "noScroll"; "required": false; }; }, {}, never, ["natural-sidenav", "natural-sidenav-content"], false, never>;
50
50
  }
@@ -1,4 +1,4 @@
1
- import { MediaObserver } from '@angular/flex-layout';
1
+ import { MediaObserver } from '@ngbracket/ngx-layout';
2
2
  import { MatDrawer, MatDrawerContainer, MatDrawerMode } from '@angular/material/sidenav';
3
3
  import { Router } from '@angular/router';
4
4
  import { NaturalAbstractController } from '../../classes/abstract-controller';
@@ -10,6 +10,6 @@ export declare class NaturalStampComponent {
10
10
  item: Stamped;
11
11
  showUpdate(): boolean;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalStampComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalStampComponent, "natural-stamp", never, { "item": "item"; }, {}, never, never, false, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalStampComponent, "natural-stamp", never, { "item": { "alias": "item"; "required": true; }; }, {}, never, never, false, never>;
14
14
  }
15
15
  export {};
@@ -28,5 +28,5 @@ export declare class NaturalTableButtonComponent implements OnChanges {
28
28
  type: 'routerLink' | 'href' | 'click' | 'none';
29
29
  ngOnChanges(): void;
30
30
  static ɵfac: i0.ɵɵFactoryDeclaration<NaturalTableButtonComponent, never>;
31
- static ɵcmp: i0.ɵɵComponentDeclaration<NaturalTableButtonComponent, "natural-table-button", never, { "queryParams": "queryParams"; "queryParamsHandling": "queryParamsHandling"; "label": "label"; "icon": "icon"; "href": "href"; "navigate": "navigate"; "fragment": "fragment"; "preserveFragment": "preserveFragment"; "disabled": "disabled"; "raised": "raised"; "color": "color"; }, { "buttonClick": "buttonClick"; }, never, never, false, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<NaturalTableButtonComponent, "natural-table-button", never, { "queryParams": { "alias": "queryParams"; "required": false; }; "queryParamsHandling": { "alias": "queryParamsHandling"; "required": false; }; "label": { "alias": "label"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "href": { "alias": "href"; "required": false; }; "navigate": { "alias": "navigate"; "required": false; }; "fragment": { "alias": "fragment"; "required": false; }; "preserveFragment": { "alias": "preserveFragment"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "raised": { "alias": "raised"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, { "buttonClick": "buttonClick"; }, never, never, false, never>;
32
32
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecodev/natural",
3
- "version": "50.4.1",
3
+ "version": "52.0.0",
4
4
  "license": "MIT",
5
5
  "repository": "github:Ecodev/natural",
6
6
  "sideEffects": false,
@@ -8,39 +8,31 @@
8
8
  ".": {
9
9
  "sass": "./theming/_natural.theme.scss",
10
10
  "types": "./index.d.ts",
11
- "esm2020": "./esm2020/ecodev-natural.mjs",
12
- "es2020": "./fesm2020/ecodev-natural.mjs",
13
- "es2015": "./fesm2015/ecodev-natural.mjs",
14
- "node": "./fesm2015/ecodev-natural.mjs",
15
- "default": "./fesm2020/ecodev-natural.mjs"
11
+ "esm2022": "./esm2022/ecodev-natural.mjs",
12
+ "esm": "./esm2022/ecodev-natural.mjs",
13
+ "default": "./fesm2022/ecodev-natural.mjs"
16
14
  },
17
15
  "./package.json": {
18
16
  "default": "./package.json"
19
17
  }
20
18
  },
21
19
  "dependencies": {
22
- "tslib": "^2.3.1"
20
+ "tslib": "^2.5.3"
23
21
  },
24
22
  "peerDependencies": {
25
- "@angular/animations": "^15.1.0",
26
- "@angular/cdk": "^15.1.0",
27
- "@angular/common": "^15.1.0",
28
- "@angular/core": "^15.1.0",
29
- "@angular/flex-layout": "^15.0.0-beta.42",
30
- "@angular/forms": "^15.1.0",
31
- "@angular/localize": "^15.1.0",
32
- "@angular/material": "^15.1.0",
33
- "@angular/platform-browser": "^15.1.0",
34
- "@angular/platform-browser-dynamic": "^15.1.0",
35
- "@angular/router": "^15.1.0",
36
- "apollo-angular": "^4.2.0",
23
+ "@angular/animations": "^16.1.0",
24
+ "@angular/cdk": "^16.1.0",
25
+ "@angular/common": "^16.1.0",
26
+ "@angular/core": "^16.1.0",
27
+ "@angular/forms": "^16.1.0",
28
+ "@angular/localize": "^16.1.0",
29
+ "@angular/material": "^16.1.0",
30
+ "@angular/platform-browser": "^16.1.0",
31
+ "@angular/router": "^16.1.0",
32
+ "apollo-angular": "^5.0.0",
37
33
  "lodash-es": "^4.17.21",
38
- "rxjs": "^7.4.0"
34
+ "rxjs": "^7.8.1"
39
35
  },
40
- "module": "fesm2015/ecodev-natural.mjs",
41
- "es2020": "fesm2020/ecodev-natural.mjs",
42
- "esm2020": "esm2020/ecodev-natural.mjs",
43
- "fesm2020": "fesm2020/ecodev-natural.mjs",
44
- "fesm2015": "fesm2015/ecodev-natural.mjs",
36
+ "module": "fesm2022/ecodev-natural.mjs",
45
37
  "typings": "index.d.ts"
46
38
  }
@@ -1,30 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Use
6
- * import { takeUntil } from 'rxjs/operators';
7
- * .pipe(takeUntil(this.ngUnsubscribe)) as first pipe on observables that should be destroyed on component destroy
8
- */
9
- export class NaturalAbstractController {
10
- constructor() {
11
- this.ngUnsubscribe = new Subject();
12
- }
13
- ngOnDestroy() {
14
- this.ngUnsubscribe.next(); // unsubscribe everybody
15
- this.ngUnsubscribe.complete(); // complete the stream, because we will never emit again
16
- }
17
- back() {
18
- // This is bad, but we don't want to force the injection of document in ,
19
- // all our child classes. And hopefully this particular method is only called
20
- // by a user-interaction, so not used in SSR
21
- // eslint-disable-next-line no-restricted-globals
22
- window.history.back();
23
- }
24
- }
25
- NaturalAbstractController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalAbstractController, deps: [], target: i0.ɵɵFactoryTarget.Directive });
26
- NaturalAbstractController.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: NaturalAbstractController, ngImport: i0 });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalAbstractController, decorators: [{
28
- type: Directive
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9jbGFzc2VzL2Fic3RyYWN0LWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQUU3Qjs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLHlCQUF5QjtJQUR0QztRQUV1QixrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7S0FjMUQ7SUFaVSxXQUFXO1FBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLHdCQUF3QjtRQUNuRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsd0RBQXdEO0lBQzNGLENBQUM7SUFFTSxJQUFJO1FBQ1AseUVBQXlFO1FBQ3pFLDZFQUE2RTtRQUM3RSw0Q0FBNEM7UUFDNUMsaURBQWlEO1FBQ2pELE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7c0hBZFEseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFEckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBVc2VcbiAqIGltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbiAqIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKSBhcyBmaXJzdCBwaXBlIG9uIG9ic2VydmFibGVzIHRoYXQgc2hvdWxkIGJlIGRlc3Ryb3llZCBvbiBjb21wb25lbnQgZGVzdHJveVxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBOYXR1cmFsQWJzdHJhY3RDb250cm9sbGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7IC8vIHVuc3Vic2NyaWJlIGV2ZXJ5Ym9keVxuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTsgLy8gY29tcGxldGUgdGhlIHN0cmVhbSwgYmVjYXVzZSB3ZSB3aWxsIG5ldmVyIGVtaXQgYWdhaW5cbiAgICB9XG5cbiAgICBwdWJsaWMgYmFjaygpOiB2b2lkIHtcbiAgICAgICAgLy8gVGhpcyBpcyBiYWQsIGJ1dCB3ZSBkb24ndCB3YW50IHRvIGZvcmNlIHRoZSBpbmplY3Rpb24gb2YgZG9jdW1lbnQgaW4gLFxuICAgICAgICAvLyBhbGwgb3VyIGNoaWxkIGNsYXNzZXMuIEFuZCBob3BlZnVsbHkgdGhpcyBwYXJ0aWN1bGFyIG1ldGhvZCBpcyBvbmx5IGNhbGxlZFxuICAgICAgICAvLyBieSBhIHVzZXItaW50ZXJhY3Rpb24sIHNvIG5vdCB1c2VkIGluIFNTUlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1nbG9iYWxzXG4gICAgICAgIHdpbmRvdy5oaXN0b3J5LmJhY2soKTtcbiAgICB9XG59XG4iXX0=