@lenne.tech/ng-base 15.0.0-beta → 15.0.0-beta-3

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 (111) hide show
  1. package/base-components/base-components.module.d.ts +3 -1
  2. package/base-components/components/input/input.component.d.ts +2 -1
  3. package/base-components/components/model-table/model-table.component.d.ts +16 -4
  4. package/base-components/components/refence-input/refence-input.component.d.ts +10 -2
  5. package/base-components/components/select/select.component.d.ts +2 -1
  6. package/base-components/components/tags/tags.component.d.ts +2 -1
  7. package/base-components/components/textarea/textarea.component.d.ts +9 -2
  8. package/base-components/components/upload-image/upload-image.component.d.ts +19 -4
  9. package/base-components/directives/sort.directive.d.ts +3 -2
  10. package/base-prototype/pages/login/login.component.d.ts +5 -8
  11. package/base-prototype/pages/profile/profile.component.d.ts +5 -29
  12. package/base-prototype/pages/register/register.component.d.ts +6 -2
  13. package/esm2020/base-cms/base-cms-routing.module.mjs +4 -4
  14. package/esm2020/base-cms/base-cms.module.mjs +4 -4
  15. package/esm2020/base-cms/pages/base-cms/base-cms.component.mjs +5 -5
  16. package/esm2020/base-components/base-components.module.mjs +9 -7
  17. package/esm2020/base-components/components/breadcrumb/breadcrumb.component.mjs +3 -3
  18. package/esm2020/base-components/components/change-password/change-password.component.mjs +3 -3
  19. package/esm2020/base-components/components/checkbox/checkbox.component.mjs +3 -3
  20. package/esm2020/base-components/components/delete-account/delete-account.component.mjs +3 -3
  21. package/esm2020/base-components/components/fab-button/fab-button.component.mjs +3 -3
  22. package/esm2020/base-components/components/input/input.component.mjs +8 -5
  23. package/esm2020/base-components/components/loading-bar/loading-bar.component.mjs +3 -3
  24. package/esm2020/base-components/components/model-form/model-form-base.component.mjs +3 -3
  25. package/esm2020/base-components/components/model-form/model-form.component.mjs +14 -14
  26. package/esm2020/base-components/components/model-form-sub/model-form-sub.component.mjs +5 -5
  27. package/esm2020/base-components/components/model-table/model-table.component.mjs +78 -19
  28. package/esm2020/base-components/components/refence-input/refence-input.component.mjs +24 -10
  29. package/esm2020/base-components/components/select/select.component.mjs +9 -6
  30. package/esm2020/base-components/components/skeleton-loader/skeleton-loader.component.mjs +3 -3
  31. package/esm2020/base-components/components/tags/tags.component.mjs +8 -5
  32. package/esm2020/base-components/components/textarea/textarea.component.mjs +41 -7
  33. package/esm2020/base-components/components/toast/toast.component.mjs +3 -3
  34. package/esm2020/base-components/components/upload-image/upload-image.component.mjs +100 -28
  35. package/esm2020/base-components/directives/back-button.directive.mjs +3 -3
  36. package/esm2020/base-components/directives/context-menu.directive.mjs +3 -3
  37. package/esm2020/base-components/directives/sort.directive.mjs +10 -7
  38. package/esm2020/base-components/directives/stop-propagation.directive.mjs +3 -3
  39. package/esm2020/base-components/pipes/ellipses.pipe.mjs +3 -3
  40. package/esm2020/base-prototype/base-prototype.module.mjs +4 -4
  41. package/esm2020/base-prototype/pages/email-verification/email-verification.component.mjs +3 -3
  42. package/esm2020/base-prototype/pages/forgot-password/forgot-password.component.mjs +3 -3
  43. package/esm2020/base-prototype/pages/login/login.component.mjs +17 -10
  44. package/esm2020/base-prototype/pages/profile/profile.component.mjs +15 -5
  45. package/esm2020/base-prototype/pages/register/register.component.mjs +15 -8
  46. package/esm2020/base-prototype/pages/set-password/set-password.component.mjs +3 -3
  47. package/esm2020/shared/classes/auth.class.mjs +2 -1
  48. package/esm2020/shared/interfaces/cms-field-config.interface.mjs +1 -1
  49. package/esm2020/shared/interfaces/cropping-options.interface.mjs +2 -0
  50. package/esm2020/shared/interfaces/login-config.interface.mjs +2 -0
  51. package/esm2020/shared/public-api.mjs +3 -1
  52. package/esm2020/shared/services/auth.service.mjs +88 -17
  53. package/esm2020/shared/services/breadcrumb.service.mjs +9 -9
  54. package/esm2020/shared/services/cms.service.mjs +3 -3
  55. package/esm2020/shared/services/file.service.mjs +3 -3
  56. package/esm2020/shared/services/forms.service.mjs +3 -3
  57. package/esm2020/shared/services/graphql-meta.service.mjs +3 -3
  58. package/esm2020/shared/services/graphql-plus.service.mjs +3 -3
  59. package/esm2020/shared/services/graphql.service.mjs +3 -3
  60. package/esm2020/shared/services/image.service.mjs +3 -3
  61. package/esm2020/shared/services/loader.service.mjs +3 -3
  62. package/esm2020/shared/services/navigation.service.mjs +3 -3
  63. package/esm2020/shared/services/scroll.service.mjs +3 -3
  64. package/esm2020/shared/services/storage.service.mjs +3 -3
  65. package/esm2020/shared/services/toast.service.mjs +3 -3
  66. package/esm2020/shared/services/user.service.mjs +12 -10
  67. package/esm2020/shared/services/ws.service.mjs +3 -3
  68. package/esm2020/src/base.module.mjs +4 -4
  69. package/esm2020/src/directives/lazy-load.directive.mjs +3 -3
  70. package/esm2020/src/directives/match-height.directive.mjs +9 -4
  71. package/esm2020/src/directives/resizable.directive.mjs +3 -3
  72. package/esm2020/src/factories/apollo-options.factory.mjs +47 -4
  73. package/esm2020/src/guards/auth.guard.mjs +28 -9
  74. package/esm2020/src/guards/can-deactivate.guard.mjs +3 -3
  75. package/esm2020/src/guards/logout.guard.mjs +3 -3
  76. package/esm2020/src/pipes/date-ago.pipe.mjs +3 -3
  77. package/esm2020/src/pipes/safe-html.pipe.mjs +3 -3
  78. package/esm2020/src/services/fullscreen.service.mjs +3 -3
  79. package/esm2020/src/services/seo.service.mjs +3 -3
  80. package/esm2020/src/services/theme.service.mjs +14 -14
  81. package/fesm2015/lenne.tech-ng-base-base-cms.mjs +13 -13
  82. package/fesm2015/lenne.tech-ng-base-base-cms.mjs.map +1 -1
  83. package/fesm2015/lenne.tech-ng-base-base-components.mjs +307 -130
  84. package/fesm2015/lenne.tech-ng-base-base-components.mjs.map +1 -1
  85. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs +56 -33
  86. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
  87. package/fesm2015/lenne.tech-ng-base-shared.mjs +354 -283
  88. package/fesm2015/lenne.tech-ng-base-shared.mjs.map +1 -1
  89. package/fesm2015/lenne.tech-ng-base.mjs +122 -58
  90. package/fesm2015/lenne.tech-ng-base.mjs.map +1 -1
  91. package/fesm2020/lenne.tech-ng-base-base-cms.mjs +13 -13
  92. package/fesm2020/lenne.tech-ng-base-base-cms.mjs.map +1 -1
  93. package/fesm2020/lenne.tech-ng-base-base-components.mjs +314 -130
  94. package/fesm2020/lenne.tech-ng-base-base-components.mjs.map +1 -1
  95. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs +56 -33
  96. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
  97. package/fesm2020/lenne.tech-ng-base-shared.mjs +351 -278
  98. package/fesm2020/lenne.tech-ng-base-shared.mjs.map +1 -1
  99. package/fesm2020/lenne.tech-ng-base.mjs +123 -57
  100. package/fesm2020/lenne.tech-ng-base.mjs.map +1 -1
  101. package/package.json +9 -7
  102. package/shared/classes/auth.class.d.ts +1 -0
  103. package/shared/interfaces/cms-field-config.interface.d.ts +6 -1
  104. package/shared/interfaces/cropping-options.interface.d.ts +12 -0
  105. package/shared/interfaces/field.interface.d.ts +1 -1
  106. package/shared/interfaces/login-config.interface.d.ts +6 -0
  107. package/shared/public-api.d.ts +2 -0
  108. package/shared/services/auth.service.d.ts +16 -4
  109. package/shared/types/graphql-fields.type.d.ts +1 -1
  110. package/shared/types/storage.type.d.ts +1 -1
  111. package/src/directives/match-height.directive.d.ts +1 -0
@@ -1,17 +1,17 @@
1
1
  import { GraphQLInputObjectType, GraphQLScalarType, GraphQLEnumType, GraphQLNonNull, GraphQLList, buildClientSchema, getIntrospectionQuery } from 'graphql';
2
2
  import * as i0 from '@angular/core';
3
3
  import { InjectionToken, Injectable, Inject } from '@angular/core';
4
- import { BehaviorSubject, of, throwError, Observable, map as map$1, filter } from 'rxjs';
4
+ import { of, throwError, Observable, BehaviorSubject, map as map$1, filter } from 'rxjs';
5
5
  import * as i1 from 'apollo-angular';
6
6
  import { gql } from 'apollo-angular';
7
7
  import { sha256 } from 'js-sha256';
8
8
  import { map } from 'rxjs/operators';
9
+ import * as i1$1 from '@angular/router';
10
+ import { NavigationEnd } from '@angular/router';
9
11
  import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
10
12
  import * as i2 from '@angular/common';
11
13
  import { DOCUMENT } from '@angular/common';
12
14
  import { __awaiter } from 'tslib';
13
- import * as i1$1 from '@angular/router';
14
- import { NavigationEnd } from '@angular/router';
15
15
  import Compressor from 'compressorjs';
16
16
  import * as i2$1 from '@angular/common/http';
17
17
  import { HttpHeaders } from '@angular/common/http';
@@ -764,6 +764,7 @@ class GraphQLMeta {
764
764
  class Auth extends Standard {
765
765
  constructor() {
766
766
  super(...arguments);
767
+ this.refreshToken = undefined;
767
768
  this.token = undefined;
768
769
  this.user = undefined;
769
770
  }
@@ -826,235 +827,6 @@ function debounce(delay = 300) {
826
827
  };
827
828
  }
828
829
 
829
- const BASE_MODULE_CONFIG = new InjectionToken('BASE_MODULE_CONFIG');
830
-
831
- /**
832
- * Storage service for local data storage
833
- */
834
- class StorageService {
835
- /**
836
- * Initializations
837
- */
838
- constructor(moduleConfig) {
839
- this.moduleConfig = moduleConfig;
840
- /**
841
- * Storage
842
- */
843
- this.storage = null;
844
- /**
845
- * Prefix for storage keys
846
- */
847
- this.prefix = '';
848
- // Set storage
849
- const type = moduleConfig.storageType ? moduleConfig.storageType : 'local';
850
- if (type === 'session') {
851
- this.storage = sessionStorage;
852
- }
853
- else {
854
- if (localStorage) {
855
- this.storage = localStorage;
856
- }
857
- else {
858
- this.storage = null;
859
- }
860
- }
861
- // Set prefix
862
- this.prefix = '';
863
- if (moduleConfig.prefix) {
864
- this.prefix += moduleConfig.prefix + '_';
865
- }
866
- if (moduleConfig.version) {
867
- this.prefix += moduleConfig.version + '_';
868
- }
869
- }
870
- /**
871
- * Save itemKeys
872
- *
873
- * If you want to save one item, use itemKeys and value parameters like these:
874
- * save('KEY_OF_THE_ITEM', ITEM)
875
- *
876
- * If you want to save multiple items, use itemKeys only (value parameter will be ignored):
877
- * save({'KEY_OF_ITEM_1': ITEM_1, 'KEY_OF_ITEM_2': ITEM_2, ...})
878
- */
879
- save(itemKeys, value) {
880
- // Check local storage
881
- if (!this.storage) {
882
- return false;
883
- }
884
- // Check item keys and value
885
- if (!itemKeys ||
886
- (typeof itemKeys === 'object' && !Object.keys(itemKeys).length) ||
887
- (typeof itemKeys === 'string' && value === undefined)) {
888
- return false;
889
- }
890
- if (typeof itemKeys === 'object') {
891
- for (const [itemKey, itemValue] of Object.entries(itemKeys)) {
892
- this.storage.setItem(this.prefix + itemKey, JSON.stringify(itemValue));
893
- }
894
- return true;
895
- }
896
- this.storage.setItem(this.prefix + itemKeys, JSON.stringify(value));
897
- return true;
898
- }
899
- /**
900
- * Load items via key(s)
901
- */
902
- load(itemKeys) {
903
- // Check local storage
904
- if (!this.storage) {
905
- return;
906
- }
907
- // Check item keys
908
- if (!itemKeys || (Array.isArray(itemKeys) && !itemKeys.length)) {
909
- return null;
910
- }
911
- if (Array.isArray(itemKeys)) {
912
- const back = {};
913
- itemKeys.forEach((itemKey) => {
914
- const loadedItem = this.storage.getItem(this.prefix + itemKey);
915
- if (loadedItem) {
916
- back[itemKey] = JSON.parse(loadedItem);
917
- }
918
- else {
919
- back[itemKey] = null;
920
- }
921
- });
922
- return back;
923
- }
924
- let value = this.storage.getItem(this.prefix + itemKeys);
925
- if (value) {
926
- value = JSON.parse(value);
927
- }
928
- return value;
929
- }
930
- /**
931
- * Remove item from storage
932
- *
933
- * @param itemKeys keys or key to remove
934
- */
935
- remove(itemKeys) {
936
- // Check local storage
937
- if (!this.storage) {
938
- return false;
939
- }
940
- if (Array.isArray(itemKeys)) {
941
- itemKeys.forEach((key) => {
942
- this.storage.removeItem(this.prefix + key);
943
- });
944
- return true;
945
- }
946
- this.storage.removeItem(this.prefix + itemKeys);
947
- return true;
948
- }
949
- /**
950
- * Clear local storage
951
- */
952
- reset() {
953
- this.storage.clear();
954
- }
955
- }
956
- StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: StorageService, deps: [{ token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
957
- StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: StorageService, providedIn: 'root' });
958
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: StorageService, decorators: [{
959
- type: Injectable,
960
- args: [{
961
- providedIn: 'root',
962
- }]
963
- }], ctorParameters: function () {
964
- return [{ type: undefined, decorators: [{
965
- type: Inject,
966
- args: [BASE_MODULE_CONFIG]
967
- }] }];
968
- } });
969
-
970
- class WsService {
971
- reconnect() {
972
- var _a;
973
- (_a = this.client) === null || _a === void 0 ? void 0 : _a.restart();
974
- }
975
- }
976
- WsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: WsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
977
- WsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: WsService, providedIn: 'root' });
978
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: WsService, decorators: [{
979
- type: Injectable,
980
- args: [{
981
- providedIn: 'root',
982
- }]
983
- }] });
984
-
985
- /**
986
- * Authentication service
987
- */
988
- class AuthService {
989
- /**
990
- * Constructor
991
- */
992
- constructor(moduleConfig, storageService, wsService) {
993
- this.moduleConfig = moduleConfig;
994
- this.storageService = storageService;
995
- this.wsService = wsService;
996
- // Subjects
997
- this._currentUser = new BehaviorSubject(null);
998
- this._token = new BehaviorSubject(null);
999
- this.token = this.storageService.load('token');
1000
- this.currentUser = this.storageService.load('currentUser');
1001
- }
1002
- /**
1003
- * Logout
1004
- */
1005
- logout() {
1006
- this.storageService.remove(['token', 'currentUser']);
1007
- this.currentUser = null;
1008
- this.token = null;
1009
- }
1010
- // #################################################################
1011
- // Current User
1012
- // #################################################################
1013
- get currentUser() {
1014
- if (!localStorage) {
1015
- return undefined;
1016
- }
1017
- return this._currentUser.value;
1018
- }
1019
- set currentUser(user) {
1020
- this._currentUser.next(user);
1021
- this.storageService.save('currentUser', user);
1022
- }
1023
- get currentUserObservable() {
1024
- return this._currentUser.asObservable();
1025
- }
1026
- // #################################################################
1027
- // Token
1028
- // #################################################################
1029
- get token() {
1030
- if (!localStorage) {
1031
- return undefined;
1032
- }
1033
- return this._token.value;
1034
- }
1035
- set token(token) {
1036
- this._token.next(token);
1037
- this.storageService.save('token', token);
1038
- this.wsService.reconnect();
1039
- }
1040
- get tokenObservable() {
1041
- return this._token.asObservable();
1042
- }
1043
- }
1044
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: AuthService, deps: [{ token: BASE_MODULE_CONFIG }, { token: StorageService }, { token: WsService }], target: i0.ɵɵFactoryTarget.Injectable });
1045
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: AuthService, providedIn: 'root' });
1046
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: AuthService, decorators: [{
1047
- type: Injectable,
1048
- args: [{
1049
- providedIn: 'root',
1050
- }]
1051
- }], ctorParameters: function () {
1052
- return [{ type: undefined, decorators: [{
1053
- type: Inject,
1054
- args: [BASE_MODULE_CONFIG]
1055
- }] }, { type: StorageService }, { type: WsService }];
1056
- } });
1057
-
1058
830
  /**
1059
831
  * GraphQL request type enum
1060
832
  */
@@ -1065,6 +837,8 @@ var GraphQLRequestType;
1065
837
  GraphQLRequestType["SUBSCRIPTION"] = "subscription";
1066
838
  })(GraphQLRequestType || (GraphQLRequestType = {}));
1067
839
 
840
+ const BASE_MODULE_CONFIG = new InjectionToken('BASE_MODULE_CONFIG');
841
+
1068
842
  /**
1069
843
  * GraphQL meta service
1070
844
  *
@@ -1162,9 +936,9 @@ class GraphQLMetaService {
1162
936
  return observable;
1163
937
  }
1164
938
  }
1165
- GraphQLMetaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLMetaService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable });
1166
- GraphQLMetaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLMetaService, providedIn: 'root' });
1167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLMetaService, decorators: [{
939
+ GraphQLMetaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLMetaService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable });
940
+ GraphQLMetaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLMetaService, providedIn: 'root' });
941
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLMetaService, decorators: [{
1168
942
  type: Injectable,
1169
943
  args: [{
1170
944
  providedIn: 'root',
@@ -1633,9 +1407,9 @@ class GraphQLService {
1633
1407
  return { fieldsString, schemaFields, usedFields };
1634
1408
  }
1635
1409
  }
1636
- GraphQLService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1637
- GraphQLService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLService, providedIn: 'root' });
1638
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLService, decorators: [{
1410
+ GraphQLService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1411
+ GraphQLService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLService, providedIn: 'root' });
1412
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLService, decorators: [{
1639
1413
  type: Injectable,
1640
1414
  args: [{
1641
1415
  providedIn: 'root',
@@ -1647,6 +1421,301 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
1647
1421
  }] }];
1648
1422
  } });
1649
1423
 
1424
+ /**
1425
+ * Storage service for local data storage
1426
+ */
1427
+ class StorageService {
1428
+ /**
1429
+ * Initializations
1430
+ */
1431
+ constructor(moduleConfig) {
1432
+ this.moduleConfig = moduleConfig;
1433
+ /**
1434
+ * Storage
1435
+ */
1436
+ this.storage = null;
1437
+ /**
1438
+ * Prefix for storage keys
1439
+ */
1440
+ this.prefix = '';
1441
+ // Set storage
1442
+ const type = moduleConfig.storageType ? moduleConfig.storageType : 'local';
1443
+ if (type === 'session') {
1444
+ this.storage = sessionStorage;
1445
+ }
1446
+ else {
1447
+ if (localStorage) {
1448
+ this.storage = localStorage;
1449
+ }
1450
+ else {
1451
+ this.storage = null;
1452
+ }
1453
+ }
1454
+ // Set prefix
1455
+ this.prefix = '';
1456
+ if (moduleConfig.prefix) {
1457
+ this.prefix += moduleConfig.prefix + '_';
1458
+ }
1459
+ if (moduleConfig.version) {
1460
+ this.prefix += moduleConfig.version + '_';
1461
+ }
1462
+ }
1463
+ /**
1464
+ * Save itemKeys
1465
+ *
1466
+ * If you want to save one item, use itemKeys and value parameters like these:
1467
+ * save('KEY_OF_THE_ITEM', ITEM)
1468
+ *
1469
+ * If you want to save multiple items, use itemKeys only (value parameter will be ignored):
1470
+ * save({'KEY_OF_ITEM_1': ITEM_1, 'KEY_OF_ITEM_2': ITEM_2, ...})
1471
+ */
1472
+ save(itemKeys, value) {
1473
+ // Check local storage
1474
+ if (!this.storage) {
1475
+ return false;
1476
+ }
1477
+ // Check item keys and value
1478
+ if (!itemKeys ||
1479
+ (typeof itemKeys === 'object' && !Object.keys(itemKeys).length) ||
1480
+ (typeof itemKeys === 'string' && value === undefined)) {
1481
+ return false;
1482
+ }
1483
+ if (typeof itemKeys === 'object') {
1484
+ for (const [itemKey, itemValue] of Object.entries(itemKeys)) {
1485
+ this.storage.setItem(this.prefix + itemKey, JSON.stringify(itemValue));
1486
+ }
1487
+ return true;
1488
+ }
1489
+ this.storage.setItem(this.prefix + itemKeys, JSON.stringify(value));
1490
+ return true;
1491
+ }
1492
+ /**
1493
+ * Load items via key(s)
1494
+ */
1495
+ load(itemKeys) {
1496
+ // Check local storage
1497
+ if (!this.storage) {
1498
+ return;
1499
+ }
1500
+ // Check item keys
1501
+ if (!itemKeys || (Array.isArray(itemKeys) && !itemKeys.length)) {
1502
+ return null;
1503
+ }
1504
+ if (Array.isArray(itemKeys)) {
1505
+ const back = {};
1506
+ itemKeys.forEach((itemKey) => {
1507
+ const loadedItem = this.storage.getItem(this.prefix + itemKey);
1508
+ if (loadedItem) {
1509
+ back[itemKey] = JSON.parse(loadedItem);
1510
+ }
1511
+ else {
1512
+ back[itemKey] = null;
1513
+ }
1514
+ });
1515
+ return back;
1516
+ }
1517
+ let value = this.storage.getItem(this.prefix + itemKeys);
1518
+ if (value) {
1519
+ value = JSON.parse(value);
1520
+ }
1521
+ return value;
1522
+ }
1523
+ /**
1524
+ * Remove item from storage
1525
+ *
1526
+ * @param itemKeys keys or key to remove
1527
+ */
1528
+ remove(itemKeys) {
1529
+ // Check local storage
1530
+ if (!this.storage) {
1531
+ return false;
1532
+ }
1533
+ if (Array.isArray(itemKeys)) {
1534
+ itemKeys.forEach((key) => {
1535
+ this.storage.removeItem(this.prefix + key);
1536
+ });
1537
+ return true;
1538
+ }
1539
+ this.storage.removeItem(this.prefix + itemKeys);
1540
+ return true;
1541
+ }
1542
+ /**
1543
+ * Clear local storage
1544
+ */
1545
+ reset() {
1546
+ this.storage.clear();
1547
+ }
1548
+ }
1549
+ StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: StorageService, deps: [{ token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1550
+ StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: StorageService, providedIn: 'root' });
1551
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: StorageService, decorators: [{
1552
+ type: Injectable,
1553
+ args: [{
1554
+ providedIn: 'root',
1555
+ }]
1556
+ }], ctorParameters: function () {
1557
+ return [{ type: undefined, decorators: [{
1558
+ type: Inject,
1559
+ args: [BASE_MODULE_CONFIG]
1560
+ }] }];
1561
+ } });
1562
+
1563
+ class WsService {
1564
+ reconnect() {
1565
+ var _a;
1566
+ (_a = this.client) === null || _a === void 0 ? void 0 : _a.restart();
1567
+ }
1568
+ }
1569
+ WsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: WsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1570
+ WsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: WsService, providedIn: 'root' });
1571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: WsService, decorators: [{
1572
+ type: Injectable,
1573
+ args: [{
1574
+ providedIn: 'root',
1575
+ }]
1576
+ }] });
1577
+
1578
+ /**
1579
+ * Authentication service
1580
+ */
1581
+ class AuthService {
1582
+ /**
1583
+ * Constructor
1584
+ */
1585
+ constructor(storageService, wsService, injector, router) {
1586
+ this.storageService = storageService;
1587
+ this.wsService = wsService;
1588
+ this.injector = injector;
1589
+ this.router = router;
1590
+ // Subjects
1591
+ this._currentUser = new BehaviorSubject(null);
1592
+ this._token = new BehaviorSubject(null);
1593
+ this._refreshToken = new BehaviorSubject(null);
1594
+ this.loadFromStorage();
1595
+ }
1596
+ requestNewToken() {
1597
+ return new Observable((subscriber) => {
1598
+ this.injector
1599
+ .get(GraphQLService)
1600
+ .graphQl('refreshToken', {
1601
+ fields: ['token', 'refreshToken'],
1602
+ })
1603
+ .subscribe({
1604
+ next: (response) => {
1605
+ this.token = response.token;
1606
+ this.refreshToken = response.refreshToken;
1607
+ subscriber.next(response);
1608
+ subscriber.complete();
1609
+ },
1610
+ error: (err) => {
1611
+ subscriber.error(err);
1612
+ },
1613
+ });
1614
+ });
1615
+ }
1616
+ loadFromStorage() {
1617
+ if (localStorage) {
1618
+ this.token = this.storageService.load('token');
1619
+ this.refreshToken = this.storageService.load('refreshToken');
1620
+ this.currentUser = this.storageService.load('currentUser');
1621
+ }
1622
+ }
1623
+ /**
1624
+ * Logout
1625
+ */
1626
+ logout(redirect = true) {
1627
+ return new Observable((subscriber) => {
1628
+ this.injector
1629
+ .get(GraphQLService)
1630
+ .graphQl('logout', {
1631
+ fields: [],
1632
+ })
1633
+ .subscribe({
1634
+ next: () => {
1635
+ this.clearSession(redirect);
1636
+ subscriber.next(true);
1637
+ subscriber.complete();
1638
+ },
1639
+ error: (err) => {
1640
+ subscriber.error(err);
1641
+ },
1642
+ });
1643
+ });
1644
+ }
1645
+ clearSession(redirect = true) {
1646
+ this.storageService.remove(['token', 'refreshToken', 'currentUser']);
1647
+ this.currentUser = null;
1648
+ this.token = null;
1649
+ this.refreshToken = null;
1650
+ if (redirect) {
1651
+ this.router.navigate(['/auth']);
1652
+ }
1653
+ }
1654
+ // #################################################################
1655
+ // Current User
1656
+ // #################################################################
1657
+ get currentUser() {
1658
+ if (!localStorage) {
1659
+ return undefined;
1660
+ }
1661
+ return this._currentUser.value;
1662
+ }
1663
+ set currentUser(user) {
1664
+ this._currentUser.next(user);
1665
+ this.storageService.save('currentUser', user);
1666
+ }
1667
+ get currentUserObservable() {
1668
+ return this._currentUser.asObservable();
1669
+ }
1670
+ // #################################################################
1671
+ // Token
1672
+ // #################################################################
1673
+ get token() {
1674
+ if (!localStorage) {
1675
+ return undefined;
1676
+ }
1677
+ return this._token.value;
1678
+ }
1679
+ set token(token) {
1680
+ this._token.next(token);
1681
+ this.storageService.save('token', token);
1682
+ this.wsService.reconnect();
1683
+ }
1684
+ get tokenObservable() {
1685
+ if (!this._token.value) {
1686
+ this.loadFromStorage();
1687
+ }
1688
+ return this._token.asObservable();
1689
+ }
1690
+ // #################################################################
1691
+ // refreshToken
1692
+ // #################################################################
1693
+ get refreshToken() {
1694
+ if (!localStorage) {
1695
+ return undefined;
1696
+ }
1697
+ return this._refreshToken.value;
1698
+ }
1699
+ set refreshToken(refreshToken) {
1700
+ this._refreshToken.next(refreshToken);
1701
+ this.storageService.save('refreshToken', refreshToken);
1702
+ }
1703
+ get refreshTokenObservable() {
1704
+ if (!this._refreshToken.value) {
1705
+ this.loadFromStorage();
1706
+ }
1707
+ return this._refreshToken.asObservable();
1708
+ }
1709
+ }
1710
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AuthService, deps: [{ token: StorageService }, { token: WsService }, { token: i0.Injector }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
1711
+ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AuthService, providedIn: 'root' });
1712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AuthService, decorators: [{
1713
+ type: Injectable,
1714
+ args: [{
1715
+ providedIn: 'root',
1716
+ }]
1717
+ }], ctorParameters: function () { return [{ type: StorageService }, { type: WsService }, { type: i0.Injector }, { type: i1$1.Router }]; } });
1718
+
1650
1719
  /**
1651
1720
  * Loader service for loading indication
1652
1721
  */
@@ -1714,9 +1783,9 @@ class LoaderService {
1714
1783
  });
1715
1784
  }
1716
1785
  }
1717
- LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1718
- LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LoaderService, providedIn: 'root' });
1719
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: LoaderService, decorators: [{
1786
+ LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1787
+ LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoaderService, providedIn: 'root' });
1788
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoaderService, decorators: [{
1720
1789
  type: Injectable,
1721
1790
  args: [{
1722
1791
  providedIn: 'root',
@@ -1791,9 +1860,9 @@ class GraphQLPlusService extends GraphQLService {
1791
1860
  console.error(error);
1792
1861
  }
1793
1862
  }
1794
- GraphQLPlusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLPlusService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: LoaderService }, { token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1795
- GraphQLPlusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLPlusService, providedIn: 'root' });
1796
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GraphQLPlusService, decorators: [{
1863
+ GraphQLPlusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLPlusService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: LoaderService }, { token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
1864
+ GraphQLPlusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLPlusService, providedIn: 'root' });
1865
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLPlusService, decorators: [{
1797
1866
  type: Injectable,
1798
1867
  args: [{
1799
1868
  providedIn: 'root',
@@ -1893,9 +1962,9 @@ class ImageService {
1893
1962
  });
1894
1963
  }
1895
1964
  }
1896
- ImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1897
- ImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ImageService, providedIn: 'root' });
1898
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ImageService, decorators: [{
1965
+ ImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1966
+ ImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ImageService, providedIn: 'root' });
1967
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ImageService, decorators: [{
1899
1968
  type: Injectable,
1900
1969
  args: [{
1901
1970
  providedIn: 'root',
@@ -2053,9 +2122,9 @@ class ScrollService {
2053
2122
  return this.scrollPromise;
2054
2123
  }
2055
2124
  }
2056
- ScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ScrollService, deps: [{ token: i1$1.Router }, { token: BASE_MODULE_CONFIG }, { token: ImageService }], target: i0.ɵɵFactoryTarget.Injectable });
2057
- ScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ScrollService, providedIn: 'root' });
2058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ScrollService, decorators: [{
2125
+ ScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ScrollService, deps: [{ token: i1$1.Router }, { token: BASE_MODULE_CONFIG }, { token: ImageService }], target: i0.ɵɵFactoryTarget.Injectable });
2126
+ ScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ScrollService, providedIn: 'root' });
2127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ScrollService, decorators: [{
2059
2128
  type: Injectable,
2060
2129
  args: [{
2061
2130
  providedIn: 'root',
@@ -2110,9 +2179,9 @@ class FormsService {
2110
2179
  this.scrollService.scrollTo(invalidForm);
2111
2180
  }
2112
2181
  }
2113
- FormsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FormsService, deps: [{ token: DOCUMENT }, { token: ScrollService }], target: i0.ɵɵFactoryTarget.Injectable });
2114
- FormsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FormsService, providedIn: 'root' });
2115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FormsService, decorators: [{
2182
+ FormsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormsService, deps: [{ token: DOCUMENT }, { token: ScrollService }], target: i0.ɵɵFactoryTarget.Injectable });
2183
+ FormsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormsService, providedIn: 'root' });
2184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormsService, decorators: [{
2116
2185
  type: Injectable,
2117
2186
  args: [{
2118
2187
  providedIn: 'root',
@@ -2140,15 +2209,16 @@ class UserService extends GraphQLPlusService {
2140
2209
  */
2141
2210
  login(input) {
2142
2211
  return this.graphQl('signIn', {
2143
- arguments: { input },
2144
- fields: ['token', { user: ['id', 'firstName', 'lastName', 'email', 'roles', 'avatar'] }],
2145
- type: GraphQLRequestType.QUERY,
2212
+ arguments: { input: Object.assign(Object.assign({}, input), { deviceDescription: navigator === null || navigator === void 0 ? void 0 : navigator.userAgent }) },
2213
+ fields: ['refreshToken', 'token', { user: ['id', 'firstName', 'lastName', 'email', 'roles', 'avatar'] }],
2146
2214
  loading: true,
2147
2215
  }).pipe(map$1((response) => {
2148
2216
  this.authService.token = response.token;
2217
+ this.authService.refreshToken = response.refreshToken;
2149
2218
  this.authService.currentUser = response.user;
2150
2219
  return Auth.map({
2151
2220
  token: response.token,
2221
+ refreshToken: response.refreshToken,
2152
2222
  user: BasicUser.map(response.user),
2153
2223
  });
2154
2224
  }));
@@ -2160,15 +2230,16 @@ class UserService extends GraphQLPlusService {
2160
2230
  */
2161
2231
  register(input) {
2162
2232
  return this.graphQl('signUp', {
2163
- arguments: { input },
2164
- fields: ['token', { user: ['id', 'firstName', 'lastName', 'email', 'roles', 'avatar'] }],
2165
- type: GraphQLRequestType.MUTATION,
2233
+ arguments: { input: Object.assign(Object.assign({}, input), { deviceDescription: navigator === null || navigator === void 0 ? void 0 : navigator.userAgent }) },
2234
+ fields: ['refreshToken', 'token', { user: ['id', 'firstName', 'lastName', 'email', 'roles', 'avatar'] }],
2166
2235
  loading: true,
2167
2236
  }).pipe(map$1((response) => {
2168
2237
  this.authService.token = response.token;
2238
+ this.authService.refreshToken = response.refreshToken;
2169
2239
  this.authService.currentUser = response.user;
2170
2240
  return Auth.map({
2171
2241
  token: response.token,
2242
+ refreshToken: response.refreshToken,
2172
2243
  user: BasicUser.map(response.user),
2173
2244
  });
2174
2245
  }));
@@ -2253,9 +2324,9 @@ class UserService extends GraphQLPlusService {
2253
2324
  });
2254
2325
  }
2255
2326
  }
2256
- UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: UserService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: LoaderService }, { token: AuthService }, { token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
2257
- UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: UserService, providedIn: 'root' });
2258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: UserService, decorators: [{
2327
+ UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserService, deps: [{ token: i1.Apollo }, { token: GraphQLMetaService }, { token: LoaderService }, { token: AuthService }, { token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
2328
+ UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserService, providedIn: 'root' });
2329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserService, decorators: [{
2259
2330
  type: Injectable,
2260
2331
  args: [{
2261
2332
  providedIn: 'root',
@@ -2296,9 +2367,9 @@ class ToastService {
2296
2367
  }
2297
2368
  }
2298
2369
  }
2299
- ToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2300
- ToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToastService, providedIn: 'root' });
2301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ToastService, decorators: [{
2370
+ ToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2371
+ ToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToastService, providedIn: 'root' });
2372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToastService, decorators: [{
2302
2373
  type: Injectable,
2303
2374
  args: [{
2304
2375
  providedIn: 'root',
@@ -2306,17 +2377,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
2306
2377
  }] });
2307
2378
 
2308
2379
  class BreadcrumbService {
2309
- constructor(router) {
2310
- this.router = router;
2311
- this._breadcrumbs = new BehaviorSubject([]);
2312
- this.subscribeToRouteChanges();
2313
- }
2314
2380
  set breadcrumbs(value) {
2315
2381
  this._breadcrumbs.next(value);
2316
2382
  }
2317
2383
  get breadcrumbsObservable() {
2318
2384
  return this._breadcrumbs.asObservable();
2319
2385
  }
2386
+ constructor(router) {
2387
+ this.router = router;
2388
+ this._breadcrumbs = new BehaviorSubject([]);
2389
+ this.subscribeToRouteChanges();
2390
+ }
2320
2391
  /**
2321
2392
  * Subscribe to route changes and add element to breadcrumb
2322
2393
  */
@@ -2360,9 +2431,9 @@ class BreadcrumbService {
2360
2431
  return typeof data.breadcrumb === 'function' ? data.breadcrumb(data) : data.breadcrumb;
2361
2432
  }
2362
2433
  }
2363
- BreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
2364
- BreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
2365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: BreadcrumbService, decorators: [{
2434
+ BreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
2435
+ BreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
2436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BreadcrumbService, decorators: [{
2366
2437
  type: Injectable,
2367
2438
  args: [{
2368
2439
  providedIn: 'root',
@@ -2393,9 +2464,9 @@ class NavigationService {
2393
2464
  }
2394
2465
  }
2395
2466
  }
2396
- NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: NavigationService, deps: [{ token: i1$1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
2397
- NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: NavigationService, providedIn: 'root' });
2398
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: NavigationService, decorators: [{
2467
+ NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavigationService, deps: [{ token: i1$1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
2468
+ NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavigationService, providedIn: 'root' });
2469
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavigationService, decorators: [{
2399
2470
  type: Injectable,
2400
2471
  args: [{ providedIn: 'root' }]
2401
2472
  }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i2.Location }]; } });
@@ -2470,9 +2541,9 @@ class CmsService {
2470
2541
  return value.charAt(0).toLowerCase() + value.slice(1);
2471
2542
  }
2472
2543
  }
2473
- CmsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: CmsService, deps: [{ token: GraphQLService }], target: i0.ɵɵFactoryTarget.Injectable });
2474
- CmsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: CmsService, providedIn: 'root' });
2475
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: CmsService, decorators: [{
2544
+ CmsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CmsService, deps: [{ token: GraphQLService }], target: i0.ɵɵFactoryTarget.Injectable });
2545
+ CmsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CmsService, providedIn: 'root' });
2546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CmsService, decorators: [{
2476
2547
  type: Injectable,
2477
2548
  args: [{
2478
2549
  providedIn: 'root',
@@ -2543,9 +2614,9 @@ class FileService {
2543
2614
  }));
2544
2615
  }
2545
2616
  }
2546
- FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FileService, deps: [{ token: AuthService }, { token: i2$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
2547
- FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FileService, providedIn: 'root' });
2548
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FileService, decorators: [{
2617
+ FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileService, deps: [{ token: AuthService }, { token: i2$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
2618
+ FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileService, providedIn: 'root' });
2619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileService, decorators: [{
2549
2620
  type: Injectable,
2550
2621
  args: [{
2551
2622
  providedIn: 'root',
@@ -2669,6 +2740,7 @@ function createRestartableClient(options) {
2669
2740
  /**
2670
2741
  * Exports for public API
2671
2742
  */
2743
+ // Classes
2672
2744
 
2673
2745
  /**
2674
2746
  * Generated bundle index. Do not edit.
@@ -2676,4 +2748,3 @@ function createRestartableClient(options) {
2676
2748
 
2677
2749
  export { Auth, AuthService, BASE_MODULE_CONFIG, BasicUser, BreadcrumbService, CmsService, ComparisonOperatorEnum, FileService, FormsService, GraphQLEnum, GraphQLMeta, GraphQLMetaService, GraphQLPlusService, GraphQLRequestType, GraphQLService, GraphQLType, Helper, ImageService, LoaderService, LogicalOperatorEnum, NavigationService, ScrollService, SkeletonType, Sort, SortOrderEnum, Standard, StorageService, ToastService, ToastType, UserService, Validation, WsService, createRestartableClient, debounce, fullEmail, securePasswordValidator };
2678
2750
  //# sourceMappingURL=lenne.tech-ng-base-shared.mjs.map
2679
- //# sourceMappingURL=lenne.tech-ng-base-shared.mjs.map