@asor-studio/asor-core 1.1.7 → 1.1.9

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.
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { OnInit, OnDestroy, QueryList, Type, PipeTransform } from '@angular/core';
3
- import { ActivatedRoute, CanActivate, Data, Router, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, RedirectCommand } from '@angular/router';
3
+ import { ActivatedRoute, Data, CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, RedirectCommand } from '@angular/router';
4
4
  import { Location } from '@angular/common';
5
5
  import { Observable, BehaviorSubject, ReplaySubject } from 'rxjs';
6
6
  import { HttpParams, HttpHeaders, HttpResponse, HttpRequest, HttpErrorResponse, HttpStatusCode, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';
@@ -778,6 +778,248 @@ declare abstract class BaseComponent implements IComp, OnInit, OnDestroy {
778
778
  static ɵdir: i0.ɵɵDirectiveDeclaration<BaseComponent, never, never, {}, {}, never, never, true, never>;
779
779
  }
780
780
 
781
+ /**
782
+ * Base abstract class for Atom components following the Atomic Design pattern.
783
+ * Atoms are the smallest functional units of the UI.
784
+ * Automatically extracts atom configuration from route data and sets up i18n paths.
785
+ *
786
+ * This class provides foundational functionality for all atom-level components,
787
+ * including access to route data, current atom configuration, and translation paths.
788
+ *
789
+ * @Directive - Can be extended by Angular components
790
+ * @abstract - Must be extended, cannot be instantiated directly
791
+ *
792
+ * @example
793
+ * // Create an atom component
794
+ * @Component({
795
+ * selector: 'app-base-button',
796
+ * templateUrl: './base-button.component.html'
797
+ * })
798
+ * export class BaseButtonComponent extends BaseAtom implements OnInit {
799
+ * ngOnInit() {
800
+ * // Access atom configuration
801
+ * console.log(this.currentAtom.I18nPath);
802
+ * // Use inherited i18n paths
803
+ * console.log(this.I18nPath);
804
+ * }
805
+ * }
806
+ */
807
+ declare abstract class BaseAtom implements IBaseAtom, IConsoleLoggable, OnInit, OnDestroy {
808
+ static readonly className: string;
809
+ /**
810
+ * Injected ActivatedRoute for accessing route data and parameters.
811
+ */
812
+ protected route: ActivatedRoute;
813
+ /**
814
+ * Configuration object for the current atom component.
815
+ * Contains metadata like component name, i18n paths, and other atom-specific settings.
816
+ */
817
+ protected currentAtom: IAtom;
818
+ /**
819
+ * Array of i18n translation paths for this atom.
820
+ * Inherited from the atom configuration in route data.
821
+ * Used by translation utilities to load appropriate language files.
822
+ *
823
+ * @example
824
+ * // I18nPath might contain: ['/common', '/atoms']
825
+ * this.translateUtility.getTranslation$('SUBMIT', this.I18nPath, 'en');
826
+ */
827
+ I18nPath: string[];
828
+ /**
829
+ * Initializes the base atom by extracting configuration from route data.
830
+ * Automatically finds the matching atom configuration based on component class name
831
+ * and sets up i18n translation paths.
832
+ *
833
+ * @example
834
+ * // Route configuration with atom data:
835
+ * {
836
+ * path: 'users',
837
+ * component: UserListComponent,
838
+ * data: {
839
+ * Atoms: [
840
+ * {
841
+ * Component: BaseButtonComponent,
842
+ * I18nPath: ['/common', '/buttons']
843
+ * }
844
+ * ]
845
+ * } as IAsorRoute
846
+ * }
847
+ */
848
+ constructor();
849
+ /**
850
+ * Lifecycle hook called when the component view is about to enter.
851
+ * Must be implemented by derived classes to define component-specific initialization logic.
852
+ */
853
+ baseCompViewEnter(): void;
854
+ /**
855
+ * Lifecycle hook called when the component view is about to leave.
856
+ * Must be implemented by derived classes to define component-specific cleanup logic.
857
+ */
858
+ baseCompViewLeave(): void;
859
+ /**
860
+ * Lifecycle hook called when the component view is about to enter.
861
+ * Must be implemented by derived classes to define component-specific initialization logic.
862
+ */
863
+ baseAtomViewWillEnter(): void;
864
+ /**
865
+ * Lifecycle hook called when the component view is about to leave.
866
+ * Must be implemented by derived classes to define component-specific cleanup logic.
867
+ */
868
+ baseAtomViewWillLeave(): void;
869
+ /**
870
+ * Returns the name of the current component class.
871
+ * Used internally to match the component with its configuration in route data.
872
+ *
873
+ * @returns The class name of the component as a string
874
+ */
875
+ getClassName(): string;
876
+ /**
877
+ * Lifecycle hook called when the component is initialized.
878
+ * Calls the baseAtomViewWillEnter() method.
879
+ */
880
+ ngOnInit(): void;
881
+ /**
882
+ * Lifecycle hook called when the component is destroyed.
883
+ * Calls the baseAtomViewWillLeave() method.
884
+ */
885
+ ngOnDestroy(): void;
886
+ /**
887
+ * Ionic lifecycle hook called when the view is about to enter and become the active view.
888
+ * This is called regardless of whether it is the first load or cached view.
889
+ * Delegates to baseAtomViewWillEnter() for consistency across Angular and Ionic.
890
+ */
891
+ ionViewWillEnter(): void;
892
+ /**
893
+ * Ionic lifecycle hook called when the view is about to leave and no longer be the active view.
894
+ * This is called when navigating away from the current view.
895
+ * Delegates to baseAtomViewWillLeave() for consistency across Angular and Ionic.
896
+ */
897
+ ionViewWillLeave(): void;
898
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseAtom, never>;
899
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseAtom, never, never, {}, {}, never, never, true, never>;
900
+ }
901
+
902
+ /**
903
+ * Base abstract class for Organism components following the Atomic Design pattern.
904
+ * Organisms are complex UI components made up of molecules and/or atoms.
905
+ * Automatically extracts organism configuration from route data and sets up i18n paths.
906
+ *
907
+ * This class provides foundational functionality for all organism-level components,
908
+ * including access to route data, current organism configuration, and translation paths.
909
+ *
910
+ * @Directive - Can be extended by Angular components
911
+ * @abstract - Must be extended, cannot be instantiated directly
912
+ *
913
+ * @example
914
+ * // Create an organism component
915
+ * @Component({
916
+ * selector: 'app-user-profile',
917
+ * templateUrl: './user-profile.component.html'
918
+ * })
919
+ * export class UserProfileComponent extends BaseOrganism implements OnInit {
920
+ * ngOnInit() {
921
+ * // Access organism configuration
922
+ * console.log(this.currentOrganism.I18nPath);
923
+ * // Use inherited i18n paths
924
+ * console.log(this.I18nPath);
925
+ * }
926
+ * }
927
+ */
928
+ declare abstract class BaseOrganism implements IBaseOrganism, IConsoleLoggable, OnInit, OnDestroy {
929
+ static readonly className: string;
930
+ /**
931
+ * Injected ActivatedRoute for accessing route data and parameters.
932
+ */
933
+ protected route: ActivatedRoute;
934
+ /**
935
+ * Configuration object for the current organism component.
936
+ * Contains metadata like component name, i18n paths, and other organism-specific settings.
937
+ */
938
+ protected currentOrganism: IOrganism;
939
+ /**
940
+ * Array of i18n translation paths for this organism.
941
+ * Inherited from the organism configuration in route data.
942
+ * Used by translation utilities to load appropriate language files.
943
+ *
944
+ * @example
945
+ * // I18nPath might contain: ['/common', '/organisms']
946
+ * this.translateUtility.getTranslation$('HEADER', this.I18nPath, 'en');
947
+ */
948
+ I18nPath: string[];
949
+ /**
950
+ * Initializes the base organism by extracting configuration from route data.
951
+ * Automatically finds the matching organism configuration based on component class name
952
+ * and sets up i18n translation paths.
953
+ *
954
+ * @example
955
+ * // Route configuration with organism data:
956
+ * {
957
+ * path: 'users',
958
+ * component: UserListComponent,
959
+ * data: {
960
+ * Organisms: [
961
+ * {
962
+ * Component: UserProfileComponent,
963
+ * I18nPath: ['/common', '/profile']
964
+ * }
965
+ * ]
966
+ * } as IAsorRoute
967
+ * }
968
+ */
969
+ constructor();
970
+ /**
971
+ * Lifecycle hook called when the component view is about to enter.
972
+ * Must be implemented by derived classes to define component-specific initialization logic.
973
+ */
974
+ baseCompViewEnter(): void;
975
+ /**
976
+ * Lifecycle hook called when the component view is about to leave.
977
+ * Must be implemented by derived classes to define component-specific cleanup logic.
978
+ */
979
+ baseCompViewLeave(): void;
980
+ /**
981
+ * Lifecycle hook called when the component view is about to enter.
982
+ * Must be implemented by derived classes to define component-specific initialization logic.
983
+ */
984
+ baseOrganismViewWillEnter(): void;
985
+ /**
986
+ * Lifecycle hook called when the component view is about to leave.
987
+ * Must be implemented by derived classes to define component-specific cleanup logic.
988
+ */
989
+ baseOrganismViewWillLeave(): void;
990
+ /**
991
+ * Returns the name of the current component class.
992
+ * Used internally to match the component with its configuration in route data.
993
+ *
994
+ * @returns The class name of the component as a string
995
+ */
996
+ getClassName(): string;
997
+ /**
998
+ * Lifecycle hook called when the component is initialized.
999
+ * Calls the baseOrganismViewWillEnter() method.
1000
+ */
1001
+ ngOnInit(): void;
1002
+ /**
1003
+ * Lifecycle hook called when the component is destroyed.
1004
+ * Calls the baseOrganismViewWillLeave() method.
1005
+ */
1006
+ ngOnDestroy(): void;
1007
+ /**
1008
+ * Ionic lifecycle hook called when the view is about to enter and become the active view.
1009
+ * This is called regardless of whether it is the first load or cached view.
1010
+ * Delegates to baseOrganismViewWillEnter() for consistency across Angular and Ionic.
1011
+ */
1012
+ ionViewWillEnter(): void;
1013
+ /**
1014
+ * Ionic lifecycle hook called when the view is about to leave and no longer be the active view.
1015
+ * This is called when navigating away from the current view.
1016
+ * Delegates to baseOrganismViewWillLeave() for consistency across Angular and Ionic.
1017
+ */
1018
+ ionViewWillLeave(): void;
1019
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseOrganism, never>;
1020
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseOrganism, never, never, {}, {}, never, never, true, never>;
1021
+ }
1022
+
781
1023
  /**
782
1024
  * Interface for route guard configuration with authentication and molecule support.
783
1025
  * Used in route data configuration to define page-level authentication, child guards, and molecule components.
@@ -810,6 +1052,10 @@ interface IAsorRoute {
810
1052
  I18nPath: string[];
811
1053
  /** Array of molecule components to be used in this route */
812
1054
  Molecules?: IMolecule[];
1055
+ /** Array of atom components to be used in this route */
1056
+ Atoms?: IAtom[];
1057
+ /** Array of organism components to be used in this route */
1058
+ Organisms?: IOrganism[];
813
1059
  /** Array of component to be used in this route */
814
1060
  Components?: IComponent[];
815
1061
  /** Optional dataset creation configuration */
@@ -856,6 +1102,20 @@ interface ICreateDataSet {
856
1102
  /** Optional creation options (encryption, storage type, etc.) */
857
1103
  option?: CreateDataSetOption;
858
1104
  }
1105
+ /**
1106
+ * Interface representing an Atom component in the Atomic Design pattern.
1107
+ * Atoms are the smallest UI components.
1108
+ */
1109
+ interface IAtom {
1110
+ /** Array of i18n translation paths for this atom */
1111
+ I18nPath: string[];
1112
+ /** Optional state handler configuration */
1113
+ ConnectDataSet?: IConnectDataSet;
1114
+ /** The Angular component class extending BaseAtom */
1115
+ Atom: Type<BaseAtom> & ICompStatic;
1116
+ /** Optional extra data to pass to the atom component */
1117
+ ExtraData?: Data;
1118
+ }
859
1119
  /**
860
1120
  * Interface representing a Molecule component in the Atomic Design pattern.
861
1121
  * Molecules are composite UI components made up of smaller atoms.
@@ -877,6 +1137,20 @@ interface IMolecule {
877
1137
  /** Optional extra data to pass to the molecule component */
878
1138
  ExtraData?: Data;
879
1139
  }
1140
+ /**
1141
+ * Interface representing an Organism component in the Atomic Design pattern.
1142
+ * Organisms are composite UI components made up of molecules and atoms.
1143
+ */
1144
+ interface IOrganism {
1145
+ /** Array of i18n translation paths for this organism */
1146
+ I18nPath: string[];
1147
+ /** Optional state handler configuration */
1148
+ ConnectDataSet?: IConnectDataSet;
1149
+ /** The Angular component class extending BaseOrganism */
1150
+ Organism: Type<BaseOrganism> & ICompStatic;
1151
+ /** Optional extra data to pass to the organism component */
1152
+ ExtraData?: Data;
1153
+ }
880
1154
  /**
881
1155
  * Interface representing a Component in the Atomic Design pattern.
882
1156
  * Components are the smallest UI components.
@@ -935,6 +1209,19 @@ interface IComp {
935
1209
  /** Called when the component view is about to leave/destroy */
936
1210
  baseCompViewLeave(): void;
937
1211
  }
1212
+ /**
1213
+ * Interface for BaseAtom
1214
+ */
1215
+ interface IBaseAtom extends IComp {
1216
+ /**
1217
+ * Called when the atom view is about to enter/initialize
1218
+ */
1219
+ baseAtomViewWillEnter(): void;
1220
+ /**
1221
+ * Called when the atom view is about to leave/destroy
1222
+ */
1223
+ baseAtomViewWillLeave(): void;
1224
+ }
938
1225
  /**
939
1226
  * Interface for BaseMolecule
940
1227
  */
@@ -948,6 +1235,19 @@ interface IBaseMolecule extends IComp {
948
1235
  */
949
1236
  baseMoleculeViewWillLeave(): void;
950
1237
  }
1238
+ /**
1239
+ * Interface for BaseOrganism
1240
+ */
1241
+ interface IBaseOrganism extends IComp {
1242
+ /**
1243
+ * Called when the organism view is about to enter/initialize
1244
+ */
1245
+ baseOrganismViewWillEnter(): void;
1246
+ /**
1247
+ * Called when the organism view is about to leave/destroy
1248
+ */
1249
+ baseOrganismViewWillLeave(): void;
1250
+ }
951
1251
  /**
952
1252
  * Interface for authorization response from the backend API.
953
1253
  * Contains the authorization status indicating if the user is allowed to perform an action.
@@ -2127,69 +2427,19 @@ declare function BaseHandlerMixin<T extends object = any, TBase extends Construc
2127
2427
  */
2128
2428
  declare function createFlattenedReactiveProxy<T>(propsStore: Record<string, any>): T;
2129
2429
 
2130
- declare const BaseStorageComponent_base: _asor_studio_asor_core.Constructor<IStorageHandler<any> & {
2430
+ declare const BaseStorageAtom_base: _asor_studio_asor_core.Constructor<IStorageHandler<any> & {
2131
2431
  propsStore: any;
2132
2432
  registryElement: _asor_studio_asor_core.RegistryElement;
2133
2433
  storageHandlerDataChanges(prev: any, curr: any): void;
2134
- }> & typeof BaseComponent;
2434
+ }> & typeof BaseAtom;
2135
2435
  /**
2136
- * Base abstract class for Page/Component-level components with integrated storage handler functionality.
2137
- * Extends BaseComponent with automatic state management, reactive props, and store synchronization.
2436
+ * Base abstract class for Atom-level components with integrated storage handler functionality.
2437
+ * Extends BaseAtom with automatic state management, reactive props, and store synchronization.
2138
2438
  *
2139
- * This class combines the lifecycle management and i18n capabilities of BaseComponent
2439
+ * This class combines the Atomic Design atom structure and i18n capabilities of BaseAtom
2140
2440
  * with the storage handling features from BaseHandlerMixin.
2141
- *
2142
- * Storage features:
2143
- * - Automatic dataset creation from route configuration
2144
- * - Reactive connection to state store
2145
- * - Proxy-based prop-to-store synchronization
2146
- * - Support for nested object updates
2147
- * - Full object/array assignment reactivity (e.g. this.props.list = [...])
2148
- *
2149
- * @Directive - Can be extended by Angular components
2150
- * @abstract - Must be extended, cannot be instantiated directly
2151
- *
2152
- * @example
2153
- * // Route configuration with storage:
2154
- * {
2155
- * path: 'user-profile',
2156
- * component: UserProfileComponent,
2157
- * data: {
2158
- * I18nPath: ['/common', '/user'],
2159
- * CreateDataSet: {
2160
- * name: 'userProfile',
2161
- * data: { name: '', email: '' },
2162
- * option: CreateDataSetOption.CREATE_IF_NOT_EXISTS
2163
- * },
2164
- * ConnectDataSet: {
2165
- * propStructure: {
2166
- * name: ['userProfile', 'name'],
2167
- * email: ['userProfile', 'email']
2168
- * }
2169
- * }
2170
- * } as IAsorRoute
2171
- * }
2172
- *
2173
- * @example
2174
- * // Component implementation:
2175
- * @Component({
2176
- * selector: 'app-user-profile',
2177
- * templateUrl: './user-profile.component.html'
2178
- * })
2179
- * export class UserProfileComponent extends BaseStorageHandlerComp {
2180
- *
2181
- * storageHandlerDataChanges(data: any): void {
2182
- * console.log('Store data updated:', data);
2183
- * // React to store changes
2184
- * }
2185
- *
2186
- * updateUserName(newName: string): void {
2187
- * // This automatically updates the store
2188
- * this.props.name = newName;
2189
- * }
2190
- * }
2191
2441
  */
2192
- declare abstract class BaseStorageComponent<T extends object = Record<string, any>> extends BaseStorageComponent_base implements IStorageHandler<T> {
2442
+ declare abstract class BaseStorageAtom<T extends object = Record<string, any>> extends BaseStorageAtom_base implements IStorageHandler<T> {
2193
2443
  /**
2194
2444
  * Typed props object for type-safe state management.
2195
2445
  * Returns a flattened reactive proxy over propsStore so that both
@@ -2201,9 +2451,13 @@ declare abstract class BaseStorageComponent<T extends object = Record<string, an
2201
2451
  * Override baseCompViewLeave to unregister from store
2202
2452
  */
2203
2453
  baseCompViewLeave(): void;
2454
+ /**
2455
+ * Override baseAtomViewWillLeave to unregister from store
2456
+ */
2457
+ baseAtomViewWillLeave(): void;
2204
2458
  constructor();
2205
- static ɵfac: i0.ɵɵFactoryDeclaration<BaseStorageComponent<any>, never>;
2206
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaseStorageComponent<any>, never, never, {}, {}, never, never, true, never>;
2459
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseStorageAtom<any>, never>;
2460
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseStorageAtom<any>, never, never, {}, {}, never, never, true, never>;
2207
2461
  }
2208
2462
 
2209
2463
  declare const BaseStorageMolecule_base: _asor_studio_asor_core.Constructor<IStorageHandler<any> & {
@@ -2303,6 +2557,118 @@ declare abstract class BaseStorageMolecule<T extends object = Record<string, any
2303
2557
  static ɵdir: i0.ɵɵDirectiveDeclaration<BaseStorageMolecule<any>, never, never, {}, {}, never, never, true, never>;
2304
2558
  }
2305
2559
 
2560
+ declare const BaseStorageOrganism_base: _asor_studio_asor_core.Constructor<IStorageHandler<any> & {
2561
+ propsStore: any;
2562
+ registryElement: _asor_studio_asor_core.RegistryElement;
2563
+ storageHandlerDataChanges(prev: any, curr: any): void;
2564
+ }> & typeof BaseOrganism;
2565
+ /**
2566
+ * Base abstract class for Organism-level components with integrated storage handler functionality.
2567
+ * Extends BaseOrganism with automatic state management, reactive props, and store synchronization.
2568
+ *
2569
+ * This class combines the Atomic Design organism structure and i18n capabilities of BaseOrganism
2570
+ * with the storage handling features from BaseHandlerMixin.
2571
+ */
2572
+ declare abstract class BaseStorageOrganism<T extends object = Record<string, any>> extends BaseStorageOrganism_base implements IStorageHandler<T> {
2573
+ /**
2574
+ * Typed props object for type-safe state management.
2575
+ * Returns a flattened reactive proxy over propsStore so that both
2576
+ * read and write operations (including full object/array assignment)
2577
+ * are forwarded through the reactive proxy, triggering state updates.
2578
+ */
2579
+ get props(): T;
2580
+ /**
2581
+ * Override baseCompViewLeave to unregister from store
2582
+ */
2583
+ baseCompViewLeave(): void;
2584
+ /**
2585
+ * Override baseOrganismViewWillLeave to unregister from store
2586
+ */
2587
+ baseOrganismViewWillLeave(): void;
2588
+ constructor();
2589
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseStorageOrganism<any>, never>;
2590
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseStorageOrganism<any>, never, never, {}, {}, never, never, true, never>;
2591
+ }
2592
+
2593
+ declare const BaseStorageComponent_base: _asor_studio_asor_core.Constructor<IStorageHandler<any> & {
2594
+ propsStore: any;
2595
+ registryElement: _asor_studio_asor_core.RegistryElement;
2596
+ storageHandlerDataChanges(prev: any, curr: any): void;
2597
+ }> & typeof BaseComponent;
2598
+ /**
2599
+ * Base abstract class for Page/Component-level components with integrated storage handler functionality.
2600
+ * Extends BaseComponent with automatic state management, reactive props, and store synchronization.
2601
+ *
2602
+ * This class combines the lifecycle management and i18n capabilities of BaseComponent
2603
+ * with the storage handling features from BaseHandlerMixin.
2604
+ *
2605
+ * Storage features:
2606
+ * - Automatic dataset creation from route configuration
2607
+ * - Reactive connection to state store
2608
+ * - Proxy-based prop-to-store synchronization
2609
+ * - Support for nested object updates
2610
+ * - Full object/array assignment reactivity (e.g. this.props.list = [...])
2611
+ *
2612
+ * @Directive - Can be extended by Angular components
2613
+ * @abstract - Must be extended, cannot be instantiated directly
2614
+ *
2615
+ * @example
2616
+ * // Route configuration with storage:
2617
+ * {
2618
+ * path: 'user-profile',
2619
+ * component: UserProfileComponent,
2620
+ * data: {
2621
+ * I18nPath: ['/common', '/user'],
2622
+ * CreateDataSet: {
2623
+ * name: 'userProfile',
2624
+ * data: { name: '', email: '' },
2625
+ * option: CreateDataSetOption.CREATE_IF_NOT_EXISTS
2626
+ * },
2627
+ * ConnectDataSet: {
2628
+ * propStructure: {
2629
+ * name: ['userProfile', 'name'],
2630
+ * email: ['userProfile', 'email']
2631
+ * }
2632
+ * }
2633
+ * } as IAsorRoute
2634
+ * }
2635
+ *
2636
+ * @example
2637
+ * // Component implementation:
2638
+ * @Component({
2639
+ * selector: 'app-user-profile',
2640
+ * templateUrl: './user-profile.component.html'
2641
+ * })
2642
+ * export class UserProfileComponent extends BaseStorageHandlerComp {
2643
+ *
2644
+ * storageHandlerDataChanges(data: any): void {
2645
+ * console.log('Store data updated:', data);
2646
+ * // React to store changes
2647
+ * }
2648
+ *
2649
+ * updateUserName(newName: string): void {
2650
+ * // This automatically updates the store
2651
+ * this.props.name = newName;
2652
+ * }
2653
+ * }
2654
+ */
2655
+ declare abstract class BaseStorageComponent<T extends object = Record<string, any>> extends BaseStorageComponent_base implements IStorageHandler<T> {
2656
+ /**
2657
+ * Typed props object for type-safe state management.
2658
+ * Returns a flattened reactive proxy over propsStore so that both
2659
+ * read and write operations (including full object/array assignment)
2660
+ * are forwarded through the reactive proxy, triggering state updates.
2661
+ */
2662
+ get props(): T;
2663
+ /**
2664
+ * Override baseCompViewLeave to unregister from store
2665
+ */
2666
+ baseCompViewLeave(): void;
2667
+ constructor();
2668
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseStorageComponent<any>, never>;
2669
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseStorageComponent<any>, never, never, {}, {}, never, never, true, never>;
2670
+ }
2671
+
2306
2672
  /**
2307
2673
  * Service for managing and distributing HTTP error notifications across the application.
2308
2674
  * Implements a centralized error notification system using RxJS observables.
@@ -2681,5 +3047,5 @@ declare class AsorWidgetComponent {
2681
3047
  static ɵcmp: i0.ɵɵComponentDeclaration<AsorWidgetComponent, "asor-core-widget", never, { "mode": { "alias": "mode"; "required": false; }; }, {}, never, never, true, never>;
2682
3048
  }
2683
3049
 
2684
- export { GlobalEnum_d as AsorGlobalEnum, StateConstants_d as AsorStorage, AsorWidgetComponent, AuthGuard, AuthUtility, BaseComponent, BaseHandlerMixin, BaseMolecule, BaseStorageComponent, BaseStorageMolecule, CacheInterceptor, CachePathUtility, CacheUtility, CollectionUtils, ConfigCache, ConfigConst, ConsoleLogsConfig, ConsoleLogsUtility, CookieUtils, ErrorInterceptor, HttpRequestHandler, MockHttpInterceptor, MockOrchestratorService, MockRequestMapping, NotifyErrorService, ObjectUtils, RandomUtils, RoutingUtility, StateConst, StateService, StringUtils, TranslatePipe, TranslateUtility, createFlattenedReactiveProxy };
2685
- export type { AsorWidgetMode, Constructor, CreateDataSetOption, DataElement, DataMethod, EncryptType, GenerateType, IAsorRoute, IAuth, IBaseMolecule, IComp, ICompStatic, IComponent, IConnectDataSet, IConsoleLoggable, ICreateDataSet, IHttpAuthSubscribe, IHttpFormError, IHttpRequest, IHttpRequestHandlerConfig, IHttpResponseError, IHttpSubscribe, IMolecule, IPath, IRequestMapping, IStorageHandler, LogClassConfig, LogEntry, LogLevel, RegistryElement, RegistryEntry, StateHandlerConfig, StoreType, UpdateDataSetOption };
3050
+ export { GlobalEnum_d as AsorGlobalEnum, StateConstants_d as AsorStorage, AsorWidgetComponent, AuthGuard, AuthUtility, BaseAtom, BaseComponent, BaseHandlerMixin, BaseMolecule, BaseOrganism, BaseStorageAtom, BaseStorageComponent, BaseStorageMolecule, BaseStorageOrganism, CacheInterceptor, CachePathUtility, CacheUtility, CollectionUtils, ConfigCache, ConfigConst, ConsoleLogsConfig, ConsoleLogsUtility, CookieUtils, ErrorInterceptor, HttpRequestHandler, MockHttpInterceptor, MockOrchestratorService, MockRequestMapping, NotifyErrorService, ObjectUtils, RandomUtils, RoutingUtility, StateConst, StateService, StringUtils, TranslatePipe, TranslateUtility, createFlattenedReactiveProxy };
3051
+ export type { AsorWidgetMode, Constructor, CreateDataSetOption, DataElement, DataMethod, EncryptType, GenerateType, IAsorRoute, IAtom, IAuth, IBaseAtom, IBaseMolecule, IBaseOrganism, IComp, ICompStatic, IComponent, IConnectDataSet, IConsoleLoggable, ICreateDataSet, IHttpAuthSubscribe, IHttpFormError, IHttpRequest, IHttpRequestHandlerConfig, IHttpResponseError, IHttpSubscribe, IMolecule, IOrganism, IPath, IRequestMapping, IStorageHandler, LogClassConfig, LogEntry, LogLevel, RegistryElement, RegistryEntry, StateHandlerConfig, StoreType, UpdateDataSetOption };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asor-studio/asor-core",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
4
4
  "keywords": [
5
5
  "angular",
6
6
  "library",
@@ -24,6 +24,7 @@
24
24
  "tslib": "^2.3.0"
25
25
  },
26
26
  "sideEffects": false,
27
+ "author": "robrosc",
27
28
  "license": "SEE LICENSE IN LICENSE",
28
29
  "publishConfig": {
29
30
  "access": "public",