ngssm-store 19.3.9 → 20.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 (74) hide show
  1. package/caching/index.d.ts +65 -3
  2. package/fesm2022/ngssm-store-caching.mjs +35 -24
  3. package/fesm2022/ngssm-store-caching.mjs.map +1 -1
  4. package/fesm2022/ngssm-store-visibility.mjs +18 -18
  5. package/fesm2022/ngssm-store-visibility.mjs.map +1 -1
  6. package/fesm2022/ngssm-store.mjs +18 -18
  7. package/fesm2022/ngssm-store.mjs.map +1 -1
  8. package/index.d.ts +246 -3
  9. package/package.json +1 -1
  10. package/testing/index.d.ts +18 -5
  11. package/visibility/index.d.ts +104 -3
  12. package/caching/public_api.d.ts +0 -1
  13. package/caching/src/actions/index.d.ts +0 -3
  14. package/caching/src/actions/ngssm-caching-action-type.d.ts +0 -4
  15. package/caching/src/actions/set-cached-item.action.d.ts +0 -8
  16. package/caching/src/actions/unset-cached-item.action.d.ts +0 -6
  17. package/caching/src/model/cached-item-status.d.ts +0 -6
  18. package/caching/src/model/cached-item.d.ts +0 -6
  19. package/caching/src/model/index.d.ts +0 -2
  20. package/caching/src/provide-ngssm-caching.d.ts +0 -2
  21. package/caching/src/public-api.d.ts +0 -4
  22. package/caching/src/reducers/cached-item.reducer.d.ts +0 -8
  23. package/caching/src/reducers/index.d.ts +0 -1
  24. package/caching/src/state/index.d.ts +0 -2
  25. package/caching/src/state/ngssm-caching.state.d.ts +0 -12
  26. package/caching/src/state/selectors.d.ts +0 -3
  27. package/lib/action-dispatcher.d.ts +0 -5
  28. package/lib/action.d.ts +0 -3
  29. package/lib/actions/index.d.ts +0 -3
  30. package/lib/actions/ngssm-register-feature-state.action.d.ts +0 -7
  31. package/lib/actions/ngssm-store-action-type.d.ts +0 -4
  32. package/lib/actions/ngssm-unregister-feature-state.action.d.ts +0 -6
  33. package/lib/effect.d.ts +0 -14
  34. package/lib/feature-state/feature-state-specification.d.ts +0 -6
  35. package/lib/feature-state/feature-state.reducer.d.ts +0 -10
  36. package/lib/feature-state/index.d.ts +0 -4
  37. package/lib/feature-state/provide-feature-state.d.ts +0 -2
  38. package/lib/feature-state/provide-ngssm-feature-state.directive.d.ts +0 -12
  39. package/lib/logging/console-appender.d.ts +0 -11
  40. package/lib/logging/index.d.ts +0 -5
  41. package/lib/logging/log-event.d.ts +0 -6
  42. package/lib/logging/log-level.d.ts +0 -5
  43. package/lib/logging/logger.d.ts +0 -14
  44. package/lib/logging/provide-console-appender.d.ts +0 -4
  45. package/lib/ngssm-component.d.ts +0 -18
  46. package/lib/provide-ngssm-store.d.ts +0 -4
  47. package/lib/reducer.d.ts +0 -10
  48. package/lib/signal-helpers.d.ts +0 -3
  49. package/lib/state-initializer.d.ts +0 -6
  50. package/lib/state.d.ts +0 -1
  51. package/lib/store.d.ts +0 -120
  52. package/public-api.d.ts +0 -13
  53. package/testing/public_api.d.ts +0 -1
  54. package/testing/src/store-mock.d.ts +0 -14
  55. package/visibility/public_api.d.ts +0 -1
  56. package/visibility/src/actions/define-elements-group.action.d.ts +0 -6
  57. package/visibility/src/actions/hide-element.action.d.ts +0 -6
  58. package/visibility/src/actions/index.d.ts +0 -5
  59. package/visibility/src/actions/ngssm-visibility-action-type.d.ts +0 -6
  60. package/visibility/src/actions/show-element.action.d.ts +0 -6
  61. package/visibility/src/actions/toggle-element-visibility.action.d.ts +0 -6
  62. package/visibility/src/components/hide-element.directive.d.ts +0 -10
  63. package/visibility/src/components/index.d.ts +0 -5
  64. package/visibility/src/components/is-element-visible.pipe.d.ts +0 -8
  65. package/visibility/src/components/show-element.directive.d.ts +0 -10
  66. package/visibility/src/components/toggle-element-visibility.directive.d.ts +0 -10
  67. package/visibility/src/components/visibility-toggle-group/visibility-toggle-group.component.d.ts +0 -12
  68. package/visibility/src/provide-ngssm-visibility.d.ts +0 -2
  69. package/visibility/src/public-api.d.ts +0 -5
  70. package/visibility/src/reducers/index.d.ts +0 -1
  71. package/visibility/src/reducers/visibility.reducer.d.ts +0 -11
  72. package/visibility/src/signal-helpers.d.ts +0 -11
  73. package/visibility/src/state/index.d.ts +0 -1
  74. package/visibility/src/state/ngssm-visibility.state.d.ts +0 -12
@@ -1,5 +1,67 @@
1
+ import { EnvironmentProviders } from '@angular/core';
2
+ import { Action, State } from 'ngssm-store';
3
+ import { CustomCommands, Spec } from 'immutability-helper';
4
+
5
+ declare const provideNgssmCaching: () => EnvironmentProviders;
6
+
7
+ declare enum NgssmCachingActionType {
8
+ setCachedItem = "[NgssmCachingActionType] setCachedItem",
9
+ unsetCachedItem = "[NgssmCachingActionType] unsetCachedItem"
10
+ }
11
+
12
+ declare enum CachedItemStatus {
13
+ notSet = "Not Set",
14
+ loading = "Loading",
15
+ set = "Set",
16
+ error = "Error"
17
+ }
18
+
19
+ interface CachedItem<TData = unknown> {
20
+ status: CachedItemStatus;
21
+ item?: TData;
22
+ error?: string;
23
+ }
24
+
1
25
  /**
2
- * Generated bundle index. Do not edit.
26
+ * Represents an action to set a cached item in the state. If key is already set in the state, the value is replaced by the new one.
27
+ *
28
+ * @template TData The type of the cached item's data.
29
+ * @implements {Action}
30
+ *
31
+ * @property {string} cachedItemKey - The unique key identifying the cached item.
32
+ * @property {TData} cachedItem - The data to be cached.
33
+ * @property {CachedItemStatus} [status=CachedItemStatus.set] - The status of the cached item operation.
34
+ * @property {string} [error] - An optional error message if the caching operation failed.
35
+ *
36
+ * @remarks
37
+ * This action is dispatched to update the cache with a new or modified item, along with its status and any error information.
3
38
  */
4
- /// <amd-module name="ngssm-store/caching" />
5
- export * from './public_api';
39
+ declare class SetCachedItemAction<TData = never> implements Action {
40
+ readonly cachedItemKey: string;
41
+ readonly cachedItem: TData;
42
+ readonly status: CachedItemStatus;
43
+ readonly error?: string | undefined;
44
+ readonly type: string;
45
+ constructor(cachedItemKey: string, cachedItem: TData, status?: CachedItemStatus, error?: string | undefined);
46
+ }
47
+
48
+ declare class UnsetCachedItemAction implements Action {
49
+ readonly cachedItemKey: string;
50
+ readonly type: string;
51
+ constructor(cachedItemKey: string);
52
+ }
53
+
54
+ declare const selectNgssmCachingState: (state: State) => NgssmCachingState;
55
+ declare const updateNgssmCachingState: <T extends CustomCommands<object> = never>(state: State, command: Spec<NgssmCachingState, T>) => State;
56
+ interface NgssmCachingState {
57
+ caches: Record<string, CachedItem>;
58
+ }
59
+ declare class NgssmCachingStateSpecification {
60
+ static readonly featureStateKey = "ngssm-caching-state";
61
+ static readonly initialState: NgssmCachingState;
62
+ }
63
+
64
+ declare const selectNgssmCachedItem: <T = unknown>(state: State, key: string) => CachedItem<T> | undefined;
65
+
66
+ export { CachedItemStatus, NgssmCachingActionType, NgssmCachingStateSpecification, SetCachedItemAction, UnsetCachedItemAction, provideNgssmCaching, selectNgssmCachedItem, selectNgssmCachingState, updateNgssmCachingState };
67
+ export type { CachedItem, NgssmCachingState };
@@ -10,10 +10,34 @@ var NgssmCachingActionType;
10
10
  NgssmCachingActionType["unsetCachedItem"] = "[NgssmCachingActionType] unsetCachedItem";
11
11
  })(NgssmCachingActionType || (NgssmCachingActionType = {}));
12
12
 
13
+ var CachedItemStatus;
14
+ (function (CachedItemStatus) {
15
+ CachedItemStatus["notSet"] = "Not Set";
16
+ CachedItemStatus["loading"] = "Loading";
17
+ CachedItemStatus["set"] = "Set";
18
+ CachedItemStatus["error"] = "Error";
19
+ })(CachedItemStatus || (CachedItemStatus = {}));
20
+
21
+ /**
22
+ * Represents an action to set a cached item in the state. If key is already set in the state, the value is replaced by the new one.
23
+ *
24
+ * @template TData The type of the cached item's data.
25
+ * @implements {Action}
26
+ *
27
+ * @property {string} cachedItemKey - The unique key identifying the cached item.
28
+ * @property {TData} cachedItem - The data to be cached.
29
+ * @property {CachedItemStatus} [status=CachedItemStatus.set] - The status of the cached item operation.
30
+ * @property {string} [error] - An optional error message if the caching operation failed.
31
+ *
32
+ * @remarks
33
+ * This action is dispatched to update the cache with a new or modified item, along with its status and any error information.
34
+ */
13
35
  class SetCachedItemAction {
14
- constructor(cachedItemKey, cachedItem) {
36
+ constructor(cachedItemKey, cachedItem, status = CachedItemStatus.set, error) {
15
37
  this.cachedItemKey = cachedItemKey;
16
38
  this.cachedItem = cachedItem;
39
+ this.status = status;
40
+ this.error = error;
17
41
  this.type = NgssmCachingActionType.setCachedItem;
18
42
  }
19
43
  }
@@ -44,14 +68,6 @@ NgssmCachingStateSpecification = __decorate([
44
68
 
45
69
  const selectNgssmCachedItem = (state, key) => selectNgssmCachingState(state).caches[key];
46
70
 
47
- var CachedItemStatus;
48
- (function (CachedItemStatus) {
49
- CachedItemStatus["notSet"] = "Not Set";
50
- CachedItemStatus["loading"] = "Loading";
51
- CachedItemStatus["set"] = "Set";
52
- CachedItemStatus["error"] = "Error";
53
- })(CachedItemStatus || (CachedItemStatus = {}));
54
-
55
71
  class CachedItemReducer {
56
72
  constructor() {
57
73
  this.processedActions = [NgssmCachingActionType.setCachedItem, NgssmCachingActionType.unsetCachedItem];
@@ -60,20 +76,15 @@ class CachedItemReducer {
60
76
  switch (action.type) {
61
77
  case NgssmCachingActionType.setCachedItem: {
62
78
  const setCachedItemAction = action;
63
- if (selectNgssmCachedItem(state, setCachedItemAction.cachedItemKey) === undefined) {
64
- const cachedItem = {
65
- status: CachedItemStatus.notSet,
66
- ...setCachedItemAction.cachedItem
67
- };
68
- return updateNgssmCachingState(state, {
69
- caches: {
70
- [setCachedItemAction.cachedItemKey]: { $set: cachedItem }
71
- }
72
- });
73
- }
74
79
  return updateNgssmCachingState(state, {
75
80
  caches: {
76
- [setCachedItemAction.cachedItemKey]: { $merge: setCachedItemAction.cachedItem }
81
+ [setCachedItemAction.cachedItemKey]: {
82
+ $set: {
83
+ status: setCachedItemAction.status,
84
+ error: setCachedItemAction.error,
85
+ item: setCachedItemAction.cachedItem
86
+ }
87
+ }
77
88
  }
78
89
  });
79
90
  }
@@ -89,10 +100,10 @@ class CachedItemReducer {
89
100
  }
90
101
  return state;
91
102
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: CachedItemReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
93
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: CachedItemReducer }); }
103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: CachedItemReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
104
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: CachedItemReducer }); }
94
105
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: CachedItemReducer, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: CachedItemReducer, decorators: [{
96
107
  type: Injectable
97
108
  }] });
98
109
 
@@ -1 +1 @@
1
- {"version":3,"file":"ngssm-store-caching.mjs","sources":["../../../projects/ngssm-store/caching/src/actions/ngssm-caching-action-type.ts","../../../projects/ngssm-store/caching/src/actions/set-cached-item.action.ts","../../../projects/ngssm-store/caching/src/actions/unset-cached-item.action.ts","../../../projects/ngssm-store/caching/src/state/ngssm-caching.state.ts","../../../projects/ngssm-store/caching/src/state/selectors.ts","../../../projects/ngssm-store/caching/src/model/cached-item-status.ts","../../../projects/ngssm-store/caching/src/reducers/cached-item.reducer.ts","../../../projects/ngssm-store/caching/src/provide-ngssm-caching.ts","../../../projects/ngssm-store/caching/ngssm-store-caching.ts"],"sourcesContent":["export enum NgssmCachingActionType {\n setCachedItem = '[NgssmCachingActionType] setCachedItem',\n unsetCachedItem = '[NgssmCachingActionType] unsetCachedItem'\n}\n","import { Action } from 'ngssm-store';\n\nimport { NgssmCachingActionType } from './ngssm-caching-action-type';\nimport { CachedItem } from '../model';\n\nexport class SetCachedItemAction<TData = never> implements Action {\n public readonly type: string = NgssmCachingActionType.setCachedItem;\n\n constructor(\n public readonly cachedItemKey: string,\n public readonly cachedItem: Partial<CachedItem<TData>>\n ) {}\n}\n","import { Action } from 'ngssm-store';\nimport { NgssmCachingActionType } from './ngssm-caching-action-type';\n\nexport class UnsetCachedItemAction implements Action {\n public readonly type: string = NgssmCachingActionType.unsetCachedItem;\n\n constructor(public readonly cachedItemKey: string) {}\n}\n","import update, { CustomCommands, Spec } from 'immutability-helper';\n\nimport { NgSsmFeatureState, State } from 'ngssm-store';\nimport { CachedItem } from '../model';\n\nexport const selectNgssmCachingState = (state: State): NgssmCachingState =>\n state[NgssmCachingStateSpecification.featureStateKey] as NgssmCachingState;\n\nexport const updateNgssmCachingState = <T extends CustomCommands<object> = never>(state: State, command: Spec<NgssmCachingState, T>): State =>\n update(state, {\n [NgssmCachingStateSpecification.featureStateKey]: command\n });\n\nexport interface NgssmCachingState {\n caches: Record<string, CachedItem>;\n}\n\n@NgSsmFeatureState({\n featureStateKey: NgssmCachingStateSpecification.featureStateKey,\n initialState: NgssmCachingStateSpecification.initialState\n})\nexport class NgssmCachingStateSpecification {\n public static readonly featureStateKey = 'ngssm-caching-state';\n public static readonly initialState: NgssmCachingState = {\n caches: {}\n };\n}\n","import { State } from 'ngssm-store';\nimport { CachedItem } from '../model';\nimport { selectNgssmCachingState } from './ngssm-caching.state';\n\nexport const selectNgssmCachedItem = <T = unknown>(state: State, key: string): CachedItem<T> | undefined =>\n selectNgssmCachingState(state).caches[key] as CachedItem<T>;\n","export enum CachedItemStatus {\n notSet = 'Not Set',\n loading = 'Loading',\n set = 'Set',\n error = 'Error'\n}\n","import { Injectable } from '@angular/core';\n\nimport { Reducer, State, Action } from 'ngssm-store';\n\nimport { NgssmCachingActionType, SetCachedItemAction, UnsetCachedItemAction } from '../actions';\nimport { selectNgssmCachedItem, updateNgssmCachingState } from '../state';\nimport { CachedItem, CachedItemStatus } from '../model';\n\n@Injectable()\nexport class CachedItemReducer implements Reducer {\n public readonly processedActions: string[] = [NgssmCachingActionType.setCachedItem, NgssmCachingActionType.unsetCachedItem];\n\n public updateState(state: State, action: Action): State {\n switch (action.type) {\n case NgssmCachingActionType.setCachedItem: {\n const setCachedItemAction = action as SetCachedItemAction;\n if (selectNgssmCachedItem(state, setCachedItemAction.cachedItemKey) === undefined) {\n const cachedItem: CachedItem = {\n status: CachedItemStatus.notSet,\n ...setCachedItemAction.cachedItem\n };\n return updateNgssmCachingState(state, {\n caches: {\n [setCachedItemAction.cachedItemKey]: { $set: cachedItem }\n }\n });\n }\n\n return updateNgssmCachingState(state, {\n caches: {\n [setCachedItemAction.cachedItemKey]: { $merge: setCachedItemAction.cachedItem }\n }\n });\n }\n\n case NgssmCachingActionType.unsetCachedItem: {\n const unsetCachedItemAction = action as UnsetCachedItemAction;\n if (selectNgssmCachedItem(state, unsetCachedItemAction.cachedItemKey) === undefined) {\n return state;\n }\n\n return updateNgssmCachingState(state, {\n caches: { $unset: [unsetCachedItemAction.cachedItemKey] }\n });\n }\n }\n\n return state;\n }\n}\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { provideReducers } from 'ngssm-store';\nimport { CachedItemReducer } from './reducers';\n\nexport const provideNgssmCaching = (): EnvironmentProviders => {\n return makeEnvironmentProviders([provideReducers(CachedItemReducer)]);\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngssm-store-caching.mjs","sources":["../../../projects/ngssm-store/caching/src/actions/ngssm-caching-action-type.ts","../../../projects/ngssm-store/caching/src/model/cached-item-status.ts","../../../projects/ngssm-store/caching/src/actions/set-cached-item.action.ts","../../../projects/ngssm-store/caching/src/actions/unset-cached-item.action.ts","../../../projects/ngssm-store/caching/src/state/ngssm-caching.state.ts","../../../projects/ngssm-store/caching/src/state/selectors.ts","../../../projects/ngssm-store/caching/src/reducers/cached-item.reducer.ts","../../../projects/ngssm-store/caching/src/provide-ngssm-caching.ts","../../../projects/ngssm-store/caching/ngssm-store-caching.ts"],"sourcesContent":["export enum NgssmCachingActionType {\n setCachedItem = '[NgssmCachingActionType] setCachedItem',\n unsetCachedItem = '[NgssmCachingActionType] unsetCachedItem'\n}\n","export enum CachedItemStatus {\n notSet = 'Not Set',\n loading = 'Loading',\n set = 'Set',\n error = 'Error'\n}\n","import { Action } from 'ngssm-store';\n\nimport { NgssmCachingActionType } from './ngssm-caching-action-type';\nimport { CachedItemStatus } from '../model';\n\n/**\n * Represents an action to set a cached item in the state. If key is already set in the state, the value is replaced by the new one.\n *\n * @template TData The type of the cached item's data.\n * @implements {Action}\n *\n * @property {string} cachedItemKey - The unique key identifying the cached item.\n * @property {TData} cachedItem - The data to be cached.\n * @property {CachedItemStatus} [status=CachedItemStatus.set] - The status of the cached item operation.\n * @property {string} [error] - An optional error message if the caching operation failed.\n *\n * @remarks\n * This action is dispatched to update the cache with a new or modified item, along with its status and any error information.\n */\nexport class SetCachedItemAction<TData = never> implements Action {\n public readonly type: string = NgssmCachingActionType.setCachedItem;\n\n constructor(\n public readonly cachedItemKey: string,\n public readonly cachedItem: TData,\n public readonly status = CachedItemStatus.set,\n public readonly error?: string\n ) {}\n}\n","import { Action } from 'ngssm-store';\nimport { NgssmCachingActionType } from './ngssm-caching-action-type';\n\nexport class UnsetCachedItemAction implements Action {\n public readonly type: string = NgssmCachingActionType.unsetCachedItem;\n\n constructor(public readonly cachedItemKey: string) {}\n}\n","import update, { CustomCommands, Spec } from 'immutability-helper';\n\nimport { NgSsmFeatureState, State } from 'ngssm-store';\nimport { CachedItem } from '../model';\n\nexport const selectNgssmCachingState = (state: State): NgssmCachingState =>\n state[NgssmCachingStateSpecification.featureStateKey] as NgssmCachingState;\n\nexport const updateNgssmCachingState = <T extends CustomCommands<object> = never>(state: State, command: Spec<NgssmCachingState, T>): State =>\n update(state, {\n [NgssmCachingStateSpecification.featureStateKey]: command\n });\n\nexport interface NgssmCachingState {\n caches: Record<string, CachedItem>;\n}\n\n@NgSsmFeatureState({\n featureStateKey: NgssmCachingStateSpecification.featureStateKey,\n initialState: NgssmCachingStateSpecification.initialState\n})\nexport class NgssmCachingStateSpecification {\n public static readonly featureStateKey = 'ngssm-caching-state';\n public static readonly initialState: NgssmCachingState = {\n caches: {}\n };\n}\n","import { State } from 'ngssm-store';\nimport { CachedItem } from '../model';\nimport { selectNgssmCachingState } from './ngssm-caching.state';\n\nexport const selectNgssmCachedItem = <T = unknown>(state: State, key: string): CachedItem<T> | undefined =>\n selectNgssmCachingState(state).caches[key] as CachedItem<T>;\n","import { Injectable } from '@angular/core';\n\nimport { Reducer, State, Action } from 'ngssm-store';\n\nimport { NgssmCachingActionType, SetCachedItemAction, UnsetCachedItemAction } from '../actions';\nimport { selectNgssmCachedItem, updateNgssmCachingState } from '../state';\n\n@Injectable()\nexport class CachedItemReducer implements Reducer {\n public readonly processedActions: string[] = [NgssmCachingActionType.setCachedItem, NgssmCachingActionType.unsetCachedItem];\n\n public updateState(state: State, action: Action): State {\n switch (action.type) {\n case NgssmCachingActionType.setCachedItem: {\n const setCachedItemAction = action as SetCachedItemAction;\n\n return updateNgssmCachingState(state, {\n caches: {\n [setCachedItemAction.cachedItemKey]: {\n $set: {\n status: setCachedItemAction.status,\n error: setCachedItemAction.error,\n item: setCachedItemAction.cachedItem\n }\n }\n }\n });\n }\n\n case NgssmCachingActionType.unsetCachedItem: {\n const unsetCachedItemAction = action as UnsetCachedItemAction;\n if (selectNgssmCachedItem(state, unsetCachedItemAction.cachedItemKey) === undefined) {\n return state;\n }\n\n return updateNgssmCachingState(state, {\n caches: { $unset: [unsetCachedItemAction.cachedItemKey] }\n });\n }\n }\n\n return state;\n }\n}\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { provideReducers } from 'ngssm-store';\nimport { CachedItemReducer } from './reducers';\n\nexport const provideNgssmCaching = (): EnvironmentProviders => {\n return makeEnvironmentProviders([provideReducers(CachedItemReducer)]);\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -134,10 +134,10 @@ class VisibilityReducer {
134
134
  elements: elementsCommand
135
135
  });
136
136
  }
137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: VisibilityReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
138
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: VisibilityReducer }); }
137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: VisibilityReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
138
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: VisibilityReducer }); }
139
139
  }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: VisibilityReducer, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: VisibilityReducer, decorators: [{
141
141
  type: Injectable
142
142
  }] });
143
143
 
@@ -156,10 +156,10 @@ class ToggleElementVisibilityDirective {
156
156
  this.store.dispatchAction(new ToggleElementVisibilityAction(elementKey));
157
157
  }
158
158
  }
159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ToggleElementVisibilityDirective, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Directive }); }
160
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.13", type: ToggleElementVisibilityDirective, isStandalone: true, selector: "[toggleElementVisibility]", inputs: { key: ["toggleElementVisibility", "key"] }, host: { listeners: { "click": "toggleElementvisibility($event)" } }, ngImport: i0 }); }
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: ToggleElementVisibilityDirective, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Directive }); }
160
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.0", type: ToggleElementVisibilityDirective, isStandalone: true, selector: "[toggleElementVisibility]", inputs: { key: ["toggleElementVisibility", "key"] }, host: { listeners: { "click": "toggleElementvisibility($event)" } }, ngImport: i0 }); }
161
161
  }
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ToggleElementVisibilityDirective, decorators: [{
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: ToggleElementVisibilityDirective, decorators: [{
163
163
  type: Directive,
164
164
  args: [{
165
165
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -178,10 +178,10 @@ class IsElementVisiblePipe {
178
178
  transform(value, ...args) {
179
179
  return selectNgssmVisibilityState(value).elements[args[0]] === true;
180
180
  }
181
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IsElementVisiblePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
182
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.13", ngImport: i0, type: IsElementVisiblePipe, isStandalone: true, name: "isElementVisible" }); }
181
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: IsElementVisiblePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
182
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: IsElementVisiblePipe, isStandalone: true, name: "isElementVisible" }); }
183
183
  }
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: IsElementVisiblePipe, decorators: [{
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: IsElementVisiblePipe, decorators: [{
185
185
  type: Pipe,
186
186
  args: [{
187
187
  name: 'isElementVisible',
@@ -200,10 +200,10 @@ class ShowElementDirective {
200
200
  this.store.dispatchAction(new ShowElementAction(elementKey));
201
201
  }
202
202
  }
203
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ShowElementDirective, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Directive }); }
204
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.13", type: ShowElementDirective, isStandalone: true, selector: "[showElement]", inputs: { key: ["showElement", "key"] }, host: { listeners: { "click": "toggleElementvisibility($event)" } }, ngImport: i0 }); }
203
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: ShowElementDirective, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Directive }); }
204
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.0", type: ShowElementDirective, isStandalone: true, selector: "[showElement]", inputs: { key: ["showElement", "key"] }, host: { listeners: { "click": "toggleElementvisibility($event)" } }, ngImport: i0 }); }
205
205
  }
206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ShowElementDirective, decorators: [{
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: ShowElementDirective, decorators: [{
207
207
  type: Directive,
208
208
  args: [{
209
209
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -229,10 +229,10 @@ class HideElementDirective {
229
229
  this.store.dispatchAction(new HideElementAction(elementKey));
230
230
  }
231
231
  }
232
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: HideElementDirective, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Directive }); }
233
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.13", type: HideElementDirective, isStandalone: true, selector: "[hideElement]", inputs: { key: ["hideElement", "key"] }, host: { listeners: { "click": "toggleElementvisibility($event)" } }, ngImport: i0 }); }
232
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: HideElementDirective, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Directive }); }
233
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.0", type: HideElementDirective, isStandalone: true, selector: "[hideElement]", inputs: { key: ["hideElement", "key"] }, host: { listeners: { "click": "toggleElementvisibility($event)" } }, ngImport: i0 }); }
234
234
  }
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: HideElementDirective, decorators: [{
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: HideElementDirective, decorators: [{
236
236
  type: Directive,
237
237
  args: [{
238
238
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -253,10 +253,10 @@ class VisibilityToggleGroupComponent {
253
253
  this.items = input([]);
254
254
  this.hideMultipleSelectionIndicator = input(false, { transform: booleanAttribute });
255
255
  }
256
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: VisibilityToggleGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
257
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.13", type: VisibilityToggleGroupComponent, isStandalone: true, selector: "ngssm-visibility-toggle-group", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, hideMultipleSelectionIndicator: { classPropertyName: "hideMultipleSelectionIndicator", publicName: "hideMultipleSelectionIndicator", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<mat-button-toggle-group [multiple]=\"true\" [hideMultipleSelectionIndicator]=\"hideMultipleSelectionIndicator()\">\n @for (item of items(); track item.key) {\n <mat-button-toggle [toggleElementVisibility]=\"item.key\" [checked]=\"store.state() | isElementVisible: item.key\" [id]=\"item.key\">\n {{ item.label }}\n </mat-button-toggle>\n }\n</mat-button-toggle-group>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i1$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i1$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "directive", type: ToggleElementVisibilityDirective, selector: "[toggleElementVisibility]", inputs: ["toggleElementVisibility"] }, { kind: "pipe", type: IsElementVisiblePipe, name: "isElementVisible" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
256
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: VisibilityToggleGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
257
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: VisibilityToggleGroupComponent, isStandalone: true, selector: "ngssm-visibility-toggle-group", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, hideMultipleSelectionIndicator: { classPropertyName: "hideMultipleSelectionIndicator", publicName: "hideMultipleSelectionIndicator", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<mat-button-toggle-group [multiple]=\"true\" [hideMultipleSelectionIndicator]=\"hideMultipleSelectionIndicator()\">\n @for (item of items(); track item.key) {\n <mat-button-toggle [toggleElementVisibility]=\"item.key\" [checked]=\"store.state() | isElementVisible: item.key\" [id]=\"item.key\">\n {{ item.label }}\n </mat-button-toggle>\n }\n</mat-button-toggle-group>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i1$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i1$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "directive", type: ToggleElementVisibilityDirective, selector: "[toggleElementVisibility]", inputs: ["toggleElementVisibility"] }, { kind: "pipe", type: IsElementVisiblePipe, name: "isElementVisible" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
258
258
  }
259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: VisibilityToggleGroupComponent, decorators: [{
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: VisibilityToggleGroupComponent, decorators: [{
260
260
  type: Component,
261
261
  args: [{ selector: 'ngssm-visibility-toggle-group', imports: [CommonModule, MatButtonToggleModule, ToggleElementVisibilityDirective, IsElementVisiblePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-button-toggle-group [multiple]=\"true\" [hideMultipleSelectionIndicator]=\"hideMultipleSelectionIndicator()\">\n @for (item of items(); track item.key) {\n <mat-button-toggle [toggleElementVisibility]=\"item.key\" [checked]=\"store.state() | isElementVisible: item.key\" [id]=\"item.key\">\n {{ item.label }}\n </mat-button-toggle>\n }\n</mat-button-toggle-group>\n" }]
262
262
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"ngssm-store-visibility.mjs","sources":["../../../projects/ngssm-store/visibility/src/actions/ngssm-visibility-action-type.ts","../../../projects/ngssm-store/visibility/src/actions/toggle-element-visibility.action.ts","../../../projects/ngssm-store/visibility/src/actions/show-element.action.ts","../../../projects/ngssm-store/visibility/src/actions/hide-element.action.ts","../../../projects/ngssm-store/visibility/src/actions/define-elements-group.action.ts","../../../projects/ngssm-store/visibility/src/state/ngssm-visibility.state.ts","../../../projects/ngssm-store/visibility/src/reducers/visibility.reducer.ts","../../../projects/ngssm-store/visibility/src/provide-ngssm-visibility.ts","../../../projects/ngssm-store/visibility/src/components/toggle-element-visibility.directive.ts","../../../projects/ngssm-store/visibility/src/components/is-element-visible.pipe.ts","../../../projects/ngssm-store/visibility/src/components/show-element.directive.ts","../../../projects/ngssm-store/visibility/src/components/hide-element.directive.ts","../../../projects/ngssm-store/visibility/src/components/visibility-toggle-group/visibility-toggle-group.component.ts","../../../projects/ngssm-store/visibility/src/components/visibility-toggle-group/visibility-toggle-group.component.html","../../../projects/ngssm-store/visibility/src/signal-helpers.ts","../../../projects/ngssm-store/visibility/ngssm-store-visibility.ts"],"sourcesContent":["export enum NgssmVisibilityActionType {\n defineElementsGroup = '[NgssmVisibilityActionType] defineElementsGroup',\n toggleElementVisibility = '[NgssmVisibilityActionType] toggleElementVisibility',\n hideElement = '[NgssmVisibilityActionType] hideElement',\n showElement = '[NgssmVisibilityActionType] showElement'\n}\n","import { Action } from 'ngssm-store';\nimport { NgssmVisibilityActionType } from './ngssm-visibility-action-type';\n\nexport class ToggleElementVisibilityAction implements Action {\n public readonly type: string = NgssmVisibilityActionType.toggleElementVisibility;\n\n constructor(public readonly elementKey: string) {}\n}\n","import { Action } from 'ngssm-store';\nimport { NgssmVisibilityActionType } from './ngssm-visibility-action-type';\n\nexport class ShowElementAction implements Action {\n public readonly type: string = NgssmVisibilityActionType.showElement;\n\n constructor(public readonly elementKey: string) {}\n}\n","import { Action } from 'ngssm-store';\nimport { NgssmVisibilityActionType } from './ngssm-visibility-action-type';\n\nexport class HideElementAction implements Action {\n public readonly type: string = NgssmVisibilityActionType.hideElement;\n\n constructor(public readonly elementKey: string) {}\n}\n","import { Action } from 'ngssm-store';\nimport { NgssmVisibilityActionType } from './ngssm-visibility-action-type';\n\nexport class DefineElementsGroupAction implements Action {\n public readonly type: string = NgssmVisibilityActionType.defineElementsGroup;\n\n constructor(public readonly elementKeys: string[]) {}\n}\n","import update, { Spec } from 'immutability-helper';\n\nimport { NgSsmFeatureState, State } from 'ngssm-store';\n\nexport const selectNgssmVisibilityState = (state: State): NgssmVisibilityState =>\n state[NgssmVisibilityStateSpecification.featureStateKey] as NgssmVisibilityState;\n\nexport const updateNgssmVisibilityState = (state: State, command: Spec<NgssmVisibilityState, never>): State =>\n update(state, {\n [NgssmVisibilityStateSpecification.featureStateKey]: command\n });\n\nexport interface NgssmVisibilityState {\n elements: Record<string, boolean>;\n elementsGroups: string[][];\n}\n\n@NgSsmFeatureState({\n featureStateKey: NgssmVisibilityStateSpecification.featureStateKey,\n initialState: NgssmVisibilityStateSpecification.initialState\n})\nexport class NgssmVisibilityStateSpecification {\n public static readonly featureStateKey = 'ngssm-visibility-state';\n public static readonly initialState: NgssmVisibilityState = {\n elements: {},\n elementsGroups: []\n };\n}\n","import { Injectable } from '@angular/core';\n\nimport { Spec } from 'immutability-helper';\n\nimport { Reducer, State, Action } from 'ngssm-store';\n\nimport {\n DefineElementsGroupAction,\n HideElementAction,\n NgssmVisibilityActionType,\n ShowElementAction,\n ToggleElementVisibilityAction\n} from '../actions';\nimport { selectNgssmVisibilityState, updateNgssmVisibilityState } from '../state';\n\n@Injectable()\nexport class VisibilityReducer implements Reducer {\n public readonly processedActions: string[] = [\n NgssmVisibilityActionType.toggleElementVisibility,\n NgssmVisibilityActionType.showElement,\n NgssmVisibilityActionType.hideElement,\n NgssmVisibilityActionType.defineElementsGroup\n ];\n\n public updateState(state: State, action: Action): State {\n switch (action.type) {\n case NgssmVisibilityActionType.toggleElementVisibility: {\n const toggleVisibilityAction = action as ToggleElementVisibilityAction;\n if (selectNgssmVisibilityState(state).elements[toggleVisibilityAction.elementKey] === true) {\n return updateNgssmVisibilityState(state, {\n elements: {\n [toggleVisibilityAction.elementKey]: { $set: false }\n }\n });\n }\n\n return this.setElementVisible(state, toggleVisibilityAction.elementKey);\n }\n\n case NgssmVisibilityActionType.showElement: {\n const showAction = action as ShowElementAction;\n return this.setElementVisible(state, showAction.elementKey);\n }\n\n case NgssmVisibilityActionType.hideElement: {\n const hideAction = action as HideElementAction;\n return updateNgssmVisibilityState(state, {\n elements: {\n [hideAction.elementKey]: { $set: false }\n }\n });\n }\n\n case NgssmVisibilityActionType.defineElementsGroup: {\n const defineElementsGroupAction = action as DefineElementsGroupAction;\n const keys = [...defineElementsGroupAction.elementKeys];\n keys.sort();\n if (this.groupExists(keys, selectNgssmVisibilityState(state).elementsGroups)) {\n break;\n }\n\n return updateNgssmVisibilityState(state, {\n elementsGroups: { $push: [keys] }\n });\n }\n }\n\n return state;\n }\n\n private groupExists(keys: string[], groups: string[][]): boolean {\n const index = groups.findIndex((group) => {\n return group.length === keys.length && group.findIndex((k, i) => k !== keys[i]) === -1;\n });\n return index !== -1;\n }\n\n private getElementsKeysGroupedWith(key: string, groups: string[][]): string[] {\n const keys = groups.filter((g) => g.includes(key)).flatMap((g) => g);\n const distinctKeys = new Set<string>(keys);\n distinctKeys.delete(key);\n return [...distinctKeys];\n }\n\n private setElementVisible(state: State, key: string): State {\n const elementsCommand: Spec<Record<string, boolean>, never> = {\n [key]: { $set: true }\n };\n\n const associatedElements = this.getElementsKeysGroupedWith(key, selectNgssmVisibilityState(state).elementsGroups);\n associatedElements.forEach((el) => {\n elementsCommand[el] = { $set: false };\n });\n\n return updateNgssmVisibilityState(state, {\n elements: elementsCommand\n });\n }\n}\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { provideReducers } from 'ngssm-store';\nimport { VisibilityReducer } from './reducers';\n\nexport const provideNgssmVisibility = (): EnvironmentProviders => {\n return makeEnvironmentProviders([provideReducers(VisibilityReducer)]);\n};\n","import { Directive, HostListener, Input } from '@angular/core';\n\nimport { Store } from 'ngssm-store';\n\nimport { ToggleElementVisibilityAction } from '../actions';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[toggleElementVisibility]',\n standalone: true\n})\nexport class ToggleElementVisibilityDirective {\n @Input('toggleElementVisibility') public key: string | undefined | null = '';\n\n constructor(private store: Store) {}\n\n @HostListener('click', ['$event'])\n public toggleElementvisibility(): void {\n const elementKey = this.key;\n if (elementKey) {\n this.store.dispatchAction(new ToggleElementVisibilityAction(elementKey));\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { State } from 'ngssm-store';\nimport { selectNgssmVisibilityState } from '../state';\n\n@Pipe({\n name: 'isElementVisible',\n standalone: true\n})\nexport class IsElementVisiblePipe implements PipeTransform {\n public transform(value: State, ...args: string[]): boolean {\n return selectNgssmVisibilityState(value).elements[args[0]] === true;\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { Store } from 'ngssm-store';\nimport { ShowElementAction } from '../actions';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[showElement]',\n standalone: true\n})\nexport class ShowElementDirective {\n @Input('showElement') public key: string | undefined | null = '';\n\n constructor(private store: Store) {}\n\n @HostListener('click', ['$event'])\n public toggleElementvisibility(): void {\n const elementKey = this.key;\n if (elementKey) {\n this.store.dispatchAction(new ShowElementAction(elementKey));\n }\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { Store } from 'ngssm-store';\nimport { HideElementAction } from '../actions';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[hideElement]',\n standalone: true\n})\nexport class HideElementDirective {\n @Input('hideElement') public key: string | undefined | null = '';\n\n constructor(private store: Store) {}\n\n @HostListener('click', ['$event'])\n public toggleElementvisibility(): void {\n const elementKey = this.key;\n if (elementKey) {\n this.store.dispatchAction(new HideElementAction(elementKey));\n }\n }\n}\n","import { Component, ChangeDetectionStrategy, booleanAttribute, input, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\n\nimport { Store } from 'ngssm-store';\n\nimport { ToggleElementVisibilityDirective } from '../toggle-element-visibility.directive';\nimport { IsElementVisiblePipe } from '../is-element-visible.pipe';\n\n@Component({\n selector: 'ngssm-visibility-toggle-group',\n imports: [CommonModule, MatButtonToggleModule, ToggleElementVisibilityDirective, IsElementVisiblePipe],\n templateUrl: './visibility-toggle-group.component.html',\n styleUrls: [],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VisibilityToggleGroupComponent {\n public readonly store = inject(Store);\n\n public readonly items = input<{ label: string; key: string }[]>([]);\n public readonly hideMultipleSelectionIndicator = input<boolean, boolean>(false, { transform: booleanAttribute });\n}\n","<mat-button-toggle-group [multiple]=\"true\" [hideMultipleSelectionIndicator]=\"hideMultipleSelectionIndicator()\">\n @for (item of items(); track item.key) {\n <mat-button-toggle [toggleElementVisibility]=\"item.key\" [checked]=\"store.state() | isElementVisible: item.key\" [id]=\"item.key\">\n {{ item.label }}\n </mat-button-toggle>\n }\n</mat-button-toggle-group>\n","import { Signal } from '@angular/core';\n\nimport { createSignal } from 'ngssm-store';\n\nimport { selectNgssmVisibilityState } from './state';\n\n/**\n * Represents the visibility state of a specific element.\n * - key: The unique identifier for the element.\n * - visible: A signal that emits the visibility status (true if visible, false otherwise).\n */\nexport interface ElementVisibility {\n key: string;\n visible: Signal<boolean>;\n}\n\n// Creates a signal allowing to listen to changes in element visibility.\nexport const isElementVisible = (elementKey: string): ElementVisibility => ({\n key: elementKey,\n visible: createSignal((state) => selectNgssmVisibilityState(state).elements[elementKey] === true)\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"ngssm-store-visibility.mjs","sources":["../../../projects/ngssm-store/visibility/src/actions/ngssm-visibility-action-type.ts","../../../projects/ngssm-store/visibility/src/actions/toggle-element-visibility.action.ts","../../../projects/ngssm-store/visibility/src/actions/show-element.action.ts","../../../projects/ngssm-store/visibility/src/actions/hide-element.action.ts","../../../projects/ngssm-store/visibility/src/actions/define-elements-group.action.ts","../../../projects/ngssm-store/visibility/src/state/ngssm-visibility.state.ts","../../../projects/ngssm-store/visibility/src/reducers/visibility.reducer.ts","../../../projects/ngssm-store/visibility/src/provide-ngssm-visibility.ts","../../../projects/ngssm-store/visibility/src/components/toggle-element-visibility.directive.ts","../../../projects/ngssm-store/visibility/src/components/is-element-visible.pipe.ts","../../../projects/ngssm-store/visibility/src/components/show-element.directive.ts","../../../projects/ngssm-store/visibility/src/components/hide-element.directive.ts","../../../projects/ngssm-store/visibility/src/components/visibility-toggle-group/visibility-toggle-group.component.ts","../../../projects/ngssm-store/visibility/src/components/visibility-toggle-group/visibility-toggle-group.component.html","../../../projects/ngssm-store/visibility/src/signal-helpers.ts","../../../projects/ngssm-store/visibility/ngssm-store-visibility.ts"],"sourcesContent":["export enum NgssmVisibilityActionType {\n defineElementsGroup = '[NgssmVisibilityActionType] defineElementsGroup',\n toggleElementVisibility = '[NgssmVisibilityActionType] toggleElementVisibility',\n hideElement = '[NgssmVisibilityActionType] hideElement',\n showElement = '[NgssmVisibilityActionType] showElement'\n}\n","import { Action } from 'ngssm-store';\nimport { NgssmVisibilityActionType } from './ngssm-visibility-action-type';\n\nexport class ToggleElementVisibilityAction implements Action {\n public readonly type: string = NgssmVisibilityActionType.toggleElementVisibility;\n\n constructor(public readonly elementKey: string) {}\n}\n","import { Action } from 'ngssm-store';\nimport { NgssmVisibilityActionType } from './ngssm-visibility-action-type';\n\nexport class ShowElementAction implements Action {\n public readonly type: string = NgssmVisibilityActionType.showElement;\n\n constructor(public readonly elementKey: string) {}\n}\n","import { Action } from 'ngssm-store';\nimport { NgssmVisibilityActionType } from './ngssm-visibility-action-type';\n\nexport class HideElementAction implements Action {\n public readonly type: string = NgssmVisibilityActionType.hideElement;\n\n constructor(public readonly elementKey: string) {}\n}\n","import { Action } from 'ngssm-store';\nimport { NgssmVisibilityActionType } from './ngssm-visibility-action-type';\n\nexport class DefineElementsGroupAction implements Action {\n public readonly type: string = NgssmVisibilityActionType.defineElementsGroup;\n\n constructor(public readonly elementKeys: string[]) {}\n}\n","import update, { Spec } from 'immutability-helper';\n\nimport { NgSsmFeatureState, State } from 'ngssm-store';\n\nexport const selectNgssmVisibilityState = (state: State): NgssmVisibilityState =>\n state[NgssmVisibilityStateSpecification.featureStateKey] as NgssmVisibilityState;\n\nexport const updateNgssmVisibilityState = (state: State, command: Spec<NgssmVisibilityState, never>): State =>\n update(state, {\n [NgssmVisibilityStateSpecification.featureStateKey]: command\n });\n\nexport interface NgssmVisibilityState {\n elements: Record<string, boolean>;\n elementsGroups: string[][];\n}\n\n@NgSsmFeatureState({\n featureStateKey: NgssmVisibilityStateSpecification.featureStateKey,\n initialState: NgssmVisibilityStateSpecification.initialState\n})\nexport class NgssmVisibilityStateSpecification {\n public static readonly featureStateKey = 'ngssm-visibility-state';\n public static readonly initialState: NgssmVisibilityState = {\n elements: {},\n elementsGroups: []\n };\n}\n","import { Injectable } from '@angular/core';\n\nimport { Spec } from 'immutability-helper';\n\nimport { Reducer, State, Action } from 'ngssm-store';\n\nimport {\n DefineElementsGroupAction,\n HideElementAction,\n NgssmVisibilityActionType,\n ShowElementAction,\n ToggleElementVisibilityAction\n} from '../actions';\nimport { selectNgssmVisibilityState, updateNgssmVisibilityState } from '../state';\n\n@Injectable()\nexport class VisibilityReducer implements Reducer {\n public readonly processedActions: string[] = [\n NgssmVisibilityActionType.toggleElementVisibility,\n NgssmVisibilityActionType.showElement,\n NgssmVisibilityActionType.hideElement,\n NgssmVisibilityActionType.defineElementsGroup\n ];\n\n public updateState(state: State, action: Action): State {\n switch (action.type) {\n case NgssmVisibilityActionType.toggleElementVisibility: {\n const toggleVisibilityAction = action as ToggleElementVisibilityAction;\n if (selectNgssmVisibilityState(state).elements[toggleVisibilityAction.elementKey] === true) {\n return updateNgssmVisibilityState(state, {\n elements: {\n [toggleVisibilityAction.elementKey]: { $set: false }\n }\n });\n }\n\n return this.setElementVisible(state, toggleVisibilityAction.elementKey);\n }\n\n case NgssmVisibilityActionType.showElement: {\n const showAction = action as ShowElementAction;\n return this.setElementVisible(state, showAction.elementKey);\n }\n\n case NgssmVisibilityActionType.hideElement: {\n const hideAction = action as HideElementAction;\n return updateNgssmVisibilityState(state, {\n elements: {\n [hideAction.elementKey]: { $set: false }\n }\n });\n }\n\n case NgssmVisibilityActionType.defineElementsGroup: {\n const defineElementsGroupAction = action as DefineElementsGroupAction;\n const keys = [...defineElementsGroupAction.elementKeys];\n keys.sort();\n if (this.groupExists(keys, selectNgssmVisibilityState(state).elementsGroups)) {\n break;\n }\n\n return updateNgssmVisibilityState(state, {\n elementsGroups: { $push: [keys] }\n });\n }\n }\n\n return state;\n }\n\n private groupExists(keys: string[], groups: string[][]): boolean {\n const index = groups.findIndex((group) => {\n return group.length === keys.length && group.findIndex((k, i) => k !== keys[i]) === -1;\n });\n return index !== -1;\n }\n\n private getElementsKeysGroupedWith(key: string, groups: string[][]): string[] {\n const keys = groups.filter((g) => g.includes(key)).flatMap((g) => g);\n const distinctKeys = new Set<string>(keys);\n distinctKeys.delete(key);\n return [...distinctKeys];\n }\n\n private setElementVisible(state: State, key: string): State {\n const elementsCommand: Spec<Record<string, boolean>, never> = {\n [key]: { $set: true }\n };\n\n const associatedElements = this.getElementsKeysGroupedWith(key, selectNgssmVisibilityState(state).elementsGroups);\n associatedElements.forEach((el) => {\n elementsCommand[el] = { $set: false };\n });\n\n return updateNgssmVisibilityState(state, {\n elements: elementsCommand\n });\n }\n}\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { provideReducers } from 'ngssm-store';\nimport { VisibilityReducer } from './reducers';\n\nexport const provideNgssmVisibility = (): EnvironmentProviders => {\n return makeEnvironmentProviders([provideReducers(VisibilityReducer)]);\n};\n","import { Directive, HostListener, Input } from '@angular/core';\n\nimport { Store } from 'ngssm-store';\n\nimport { ToggleElementVisibilityAction } from '../actions';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[toggleElementVisibility]',\n standalone: true\n})\nexport class ToggleElementVisibilityDirective {\n @Input('toggleElementVisibility') public key: string | undefined | null = '';\n\n constructor(private store: Store) {}\n\n @HostListener('click', ['$event'])\n public toggleElementvisibility(): void {\n const elementKey = this.key;\n if (elementKey) {\n this.store.dispatchAction(new ToggleElementVisibilityAction(elementKey));\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { State } from 'ngssm-store';\nimport { selectNgssmVisibilityState } from '../state';\n\n@Pipe({\n name: 'isElementVisible',\n standalone: true\n})\nexport class IsElementVisiblePipe implements PipeTransform {\n public transform(value: State, ...args: string[]): boolean {\n return selectNgssmVisibilityState(value).elements[args[0]] === true;\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { Store } from 'ngssm-store';\nimport { ShowElementAction } from '../actions';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[showElement]',\n standalone: true\n})\nexport class ShowElementDirective {\n @Input('showElement') public key: string | undefined | null = '';\n\n constructor(private store: Store) {}\n\n @HostListener('click', ['$event'])\n public toggleElementvisibility(): void {\n const elementKey = this.key;\n if (elementKey) {\n this.store.dispatchAction(new ShowElementAction(elementKey));\n }\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { Store } from 'ngssm-store';\nimport { HideElementAction } from '../actions';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[hideElement]',\n standalone: true\n})\nexport class HideElementDirective {\n @Input('hideElement') public key: string | undefined | null = '';\n\n constructor(private store: Store) {}\n\n @HostListener('click', ['$event'])\n public toggleElementvisibility(): void {\n const elementKey = this.key;\n if (elementKey) {\n this.store.dispatchAction(new HideElementAction(elementKey));\n }\n }\n}\n","import { Component, ChangeDetectionStrategy, booleanAttribute, input, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\n\nimport { Store } from 'ngssm-store';\n\nimport { ToggleElementVisibilityDirective } from '../toggle-element-visibility.directive';\nimport { IsElementVisiblePipe } from '../is-element-visible.pipe';\n\n@Component({\n selector: 'ngssm-visibility-toggle-group',\n imports: [CommonModule, MatButtonToggleModule, ToggleElementVisibilityDirective, IsElementVisiblePipe],\n templateUrl: './visibility-toggle-group.component.html',\n styleUrls: [],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VisibilityToggleGroupComponent {\n public readonly store = inject(Store);\n\n public readonly items = input<{ label: string; key: string }[]>([]);\n public readonly hideMultipleSelectionIndicator = input<boolean, boolean>(false, { transform: booleanAttribute });\n}\n","<mat-button-toggle-group [multiple]=\"true\" [hideMultipleSelectionIndicator]=\"hideMultipleSelectionIndicator()\">\n @for (item of items(); track item.key) {\n <mat-button-toggle [toggleElementVisibility]=\"item.key\" [checked]=\"store.state() | isElementVisible: item.key\" [id]=\"item.key\">\n {{ item.label }}\n </mat-button-toggle>\n }\n</mat-button-toggle-group>\n","import { Signal } from '@angular/core';\n\nimport { createSignal } from 'ngssm-store';\n\nimport { selectNgssmVisibilityState } from './state';\n\n/**\n * Represents the visibility state of a specific element.\n * - key: The unique identifier for the element.\n * - visible: A signal that emits the visibility status (true if visible, false otherwise).\n */\nexport interface ElementVisibility {\n key: string;\n visible: Signal<boolean>;\n}\n\n// Creates a signal allowing to listen to changes in element visibility.\nexport const isElementVisible = (elementKey: string): ElementVisibility => ({\n key: elementKey,\n visible: createSignal((state) => selectNgssmVisibilityState(state).elements[elementKey] === true)\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
@@ -67,10 +67,10 @@ class Logger {
67
67
  payload
68
68
  });
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: Logger, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
71
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: Logger, providedIn: 'root' }); }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: Logger, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
71
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: Logger, providedIn: 'root' }); }
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: Logger, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: Logger, decorators: [{
74
74
  type: Injectable,
75
75
  args: [{
76
76
  providedIn: 'root'
@@ -106,10 +106,10 @@ class ConsoleAppender {
106
106
  stop() {
107
107
  this.stopEvent$.next(true);
108
108
  }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ConsoleAppender, deps: [{ token: Logger }], target: i0.ɵɵFactoryTarget.Injectable }); }
110
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ConsoleAppender, providedIn: 'root' }); }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: ConsoleAppender, deps: [{ token: Logger }], target: i0.ɵɵFactoryTarget.Injectable }); }
110
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: ConsoleAppender, providedIn: 'root' }); }
111
111
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ConsoleAppender, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: ConsoleAppender, decorators: [{
113
113
  type: Injectable,
114
114
  args: [{
115
115
  providedIn: 'root'
@@ -367,10 +367,10 @@ class Store {
367
367
  Promise.resolve().then(() => this.processNextAction());
368
368
  }
369
369
  }
370
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: Store, deps: [{ token: Logger }, { token: NGSSM_REDUCER, optional: true }, { token: NGSSM_EFFECT, optional: true }, { token: NGSSM_STATE_INITIALIZER, optional: true }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable }); }
371
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: Store, providedIn: 'root' }); }
370
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: Store, deps: [{ token: Logger }, { token: NGSSM_REDUCER, optional: true }, { token: NGSSM_EFFECT, optional: true }, { token: NGSSM_STATE_INITIALIZER, optional: true }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable }); }
371
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: Store, providedIn: 'root' }); }
372
372
  }
373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: Store, decorators: [{
373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: Store, decorators: [{
374
374
  type: Injectable,
375
375
  args: [{
376
376
  providedIn: 'root'
@@ -438,10 +438,10 @@ class ProvideNgssmFeatureStateDirective {
438
438
  ngOnDestroy() {
439
439
  this.store.dispatchAction(new NgssmUnregisterFeatureStateAction(this.component.featureStateKey));
440
440
  }
441
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ProvideNgssmFeatureStateDirective, deps: [{ token: NGSSM_COMPONENT_WITH_FEATURE_STATE }, { token: Store }], target: i0.ɵɵFactoryTarget.Directive }); }
442
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.13", type: ProvideNgssmFeatureStateDirective, isStandalone: true, selector: "[provideNgssmFeatureState]", ngImport: i0 }); }
441
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: ProvideNgssmFeatureStateDirective, deps: [{ token: NGSSM_COMPONENT_WITH_FEATURE_STATE }, { token: Store }], target: i0.ɵɵFactoryTarget.Directive }); }
442
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.0", type: ProvideNgssmFeatureStateDirective, isStandalone: true, selector: "[provideNgssmFeatureState]", ngImport: i0 }); }
443
443
  }
444
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: ProvideNgssmFeatureStateDirective, decorators: [{
444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: ProvideNgssmFeatureStateDirective, decorators: [{
445
445
  type: Directive,
446
446
  args: [{
447
447
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -474,10 +474,10 @@ class FeatureStateReducer {
474
474
  }
475
475
  return state;
476
476
  }
477
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: FeatureStateReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
478
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: FeatureStateReducer }); }
477
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: FeatureStateReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
478
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: FeatureStateReducer }); }
479
479
  }
480
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: FeatureStateReducer, decorators: [{
480
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: FeatureStateReducer, decorators: [{
481
481
  type: Injectable
482
482
  }] });
483
483
 
@@ -502,10 +502,10 @@ class NgSsmComponent {
502
502
  dispatchActionType(actionType) {
503
503
  this.store.dispatchActionType(actionType);
504
504
  }
505
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: NgSsmComponent, deps: [{ token: Store }], target: i0.ɵɵFactoryTarget.Directive }); }
506
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.13", type: NgSsmComponent, isStandalone: true, ngImport: i0 }); }
505
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: NgSsmComponent, deps: [{ token: Store }], target: i0.ɵɵFactoryTarget.Directive }); }
506
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.0", type: NgSsmComponent, isStandalone: true, ngImport: i0 }); }
507
507
  }
508
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: NgSsmComponent, decorators: [{
508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: NgSsmComponent, decorators: [{
509
509
  type: Directive,
510
510
  args: [{}]
511
511
  }], ctorParameters: () => [{ type: Store }] });