@saolabs/client 1.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.
- package/README.md +221 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins.d.ts +38 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.js +61 -0
- package/dist/plugins.js.map +1 -0
- package/dist/src/core/app/Application.d.ts +159 -0
- package/dist/src/core/app/Application.d.ts.map +1 -0
- package/dist/src/core/app/Application.js +338 -0
- package/dist/src/core/app/Application.js.map +1 -0
- package/dist/src/core/bootstrap/app.d.ts +4 -0
- package/dist/src/core/bootstrap/app.d.ts.map +1 -0
- package/dist/src/core/bootstrap/app.js +49 -0
- package/dist/src/core/bootstrap/app.js.map +1 -0
- package/dist/src/core/bootstrap/providers/ApiServiceProvider.d.ts +9 -0
- package/dist/src/core/bootstrap/providers/ApiServiceProvider.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/ApiServiceProvider.js +18 -0
- package/dist/src/core/bootstrap/providers/ApiServiceProvider.js.map +1 -0
- package/dist/src/core/bootstrap/providers/CoreServiceProvider.d.ts +6 -0
- package/dist/src/core/bootstrap/providers/CoreServiceProvider.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/CoreServiceProvider.js +21 -0
- package/dist/src/core/bootstrap/providers/CoreServiceProvider.js.map +1 -0
- package/dist/src/core/bootstrap/providers/HelperServiceProvider.d.ts +7 -0
- package/dist/src/core/bootstrap/providers/HelperServiceProvider.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/HelperServiceProvider.js +14 -0
- package/dist/src/core/bootstrap/providers/HelperServiceProvider.js.map +1 -0
- package/dist/src/core/bootstrap/providers/RouteServiceProvider.d.ts +9 -0
- package/dist/src/core/bootstrap/providers/RouteServiceProvider.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/RouteServiceProvider.js +18 -0
- package/dist/src/core/bootstrap/providers/RouteServiceProvider.js.map +1 -0
- package/dist/src/core/bootstrap/providers/ServiceProvider.d.ts +38 -0
- package/dist/src/core/bootstrap/providers/ServiceProvider.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/ServiceProvider.js +41 -0
- package/dist/src/core/bootstrap/providers/ServiceProvider.js.map +1 -0
- package/dist/src/core/bootstrap/providers/ViewServiceProvider.d.ts +9 -0
- package/dist/src/core/bootstrap/providers/ViewServiceProvider.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/ViewServiceProvider.js +18 -0
- package/dist/src/core/bootstrap/providers/ViewServiceProvider.js.map +1 -0
- package/dist/src/core/bootstrap/providers/default-providers.d.ts +14 -0
- package/dist/src/core/bootstrap/providers/default-providers.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/default-providers.js +79 -0
- package/dist/src/core/bootstrap/providers/default-providers.js.map +1 -0
- package/dist/src/core/bootstrap/providers/index.d.ts +10 -0
- package/dist/src/core/bootstrap/providers/index.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/index.js +9 -0
- package/dist/src/core/bootstrap/providers/index.js.map +1 -0
- package/dist/src/core/bootstrap/providers/provider-order.d.ts +19 -0
- package/dist/src/core/bootstrap/providers/provider-order.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/provider-order.js +51 -0
- package/dist/src/core/bootstrap/providers/provider-order.js.map +1 -0
- package/dist/src/core/cache/ViewCache.d.ts +46 -0
- package/dist/src/core/cache/ViewCache.d.ts.map +1 -0
- package/dist/src/core/cache/ViewCache.js +85 -0
- package/dist/src/core/cache/ViewCache.js.map +1 -0
- package/dist/src/core/cache/index.d.ts +2 -0
- package/dist/src/core/cache/index.d.ts.map +1 -0
- package/dist/src/core/cache/index.js +2 -0
- package/dist/src/core/cache/index.js.map +1 -0
- package/dist/src/core/contracts/ApiInterface.d.ts +11 -0
- package/dist/src/core/contracts/ApiInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ApiInterface.js +2 -0
- package/dist/src/core/contracts/ApiInterface.js.map +1 -0
- package/dist/src/core/contracts/ApplicationInterface.d.ts +66 -0
- package/dist/src/core/contracts/ApplicationInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ApplicationInterface.js +3 -0
- package/dist/src/core/contracts/ApplicationInterface.js.map +1 -0
- package/dist/src/core/contracts/BlockInterface.d.ts +67 -0
- package/dist/src/core/contracts/BlockInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/BlockInterface.js +2 -0
- package/dist/src/core/contracts/BlockInterface.js.map +1 -0
- package/dist/src/core/contracts/ComponentInterface.d.ts +24 -0
- package/dist/src/core/contracts/ComponentInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ComponentInterface.js +2 -0
- package/dist/src/core/contracts/ComponentInterface.js.map +1 -0
- package/dist/src/core/contracts/ElementInterface.d.ts +117 -0
- package/dist/src/core/contracts/ElementInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ElementInterface.js +2 -0
- package/dist/src/core/contracts/ElementInterface.js.map +1 -0
- package/dist/src/core/contracts/EventServiceInterface.d.ts +37 -0
- package/dist/src/core/contracts/EventServiceInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/EventServiceInterface.js +3 -0
- package/dist/src/core/contracts/EventServiceInterface.js.map +1 -0
- package/dist/src/core/contracts/HelperInterface.d.ts +231 -0
- package/dist/src/core/contracts/HelperInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/HelperInterface.js +3 -0
- package/dist/src/core/contracts/HelperInterface.js.map +1 -0
- package/dist/src/core/contracts/HttpServiceInterface.d.ts +38 -0
- package/dist/src/core/contracts/HttpServiceInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/HttpServiceInterface.js +3 -0
- package/dist/src/core/contracts/HttpServiceInterface.js.map +1 -0
- package/dist/src/core/contracts/LoggerServiceInterface.d.ts +37 -0
- package/dist/src/core/contracts/LoggerServiceInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/LoggerServiceInterface.js +3 -0
- package/dist/src/core/contracts/LoggerServiceInterface.js.map +1 -0
- package/dist/src/core/contracts/LoopContextInterface.d.ts +14 -0
- package/dist/src/core/contracts/LoopContextInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/LoopContextInterface.js +3 -0
- package/dist/src/core/contracts/LoopContextInterface.js.map +1 -0
- package/dist/src/core/contracts/MarkerInterface.d.ts +55 -0
- package/dist/src/core/contracts/MarkerInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/MarkerInterface.js +2 -0
- package/dist/src/core/contracts/MarkerInterface.js.map +1 -0
- package/dist/src/core/contracts/ReactiveInterface.d.ts +38 -0
- package/dist/src/core/contracts/ReactiveInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ReactiveInterface.js +2 -0
- package/dist/src/core/contracts/ReactiveInterface.js.map +1 -0
- package/dist/src/core/contracts/RouterInterface.d.ts +58 -0
- package/dist/src/core/contracts/RouterInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/RouterInterface.js +2 -0
- package/dist/src/core/contracts/RouterInterface.js.map +1 -0
- package/dist/src/core/contracts/ServiceProviderInterface.d.ts +12 -0
- package/dist/src/core/contracts/ServiceProviderInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ServiceProviderInterface.js +2 -0
- package/dist/src/core/contracts/ServiceProviderInterface.js.map +1 -0
- package/dist/src/core/contracts/StorageServiceInterface.d.ts +43 -0
- package/dist/src/core/contracts/StorageServiceInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/StorageServiceInterface.js +3 -0
- package/dist/src/core/contracts/StorageServiceInterface.js.map +1 -0
- package/dist/src/core/contracts/StoreServiceInterface.d.ts +45 -0
- package/dist/src/core/contracts/StoreServiceInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/StoreServiceInterface.js +3 -0
- package/dist/src/core/contracts/StoreServiceInterface.js.map +1 -0
- package/dist/src/core/contracts/ViewCacheInterface.d.ts +13 -0
- package/dist/src/core/contracts/ViewCacheInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ViewCacheInterface.js +3 -0
- package/dist/src/core/contracts/ViewCacheInterface.js.map +1 -0
- package/dist/src/core/contracts/ViewControllerInterface.d.ts +115 -0
- package/dist/src/core/contracts/ViewControllerInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ViewControllerInterface.js +2 -0
- package/dist/src/core/contracts/ViewControllerInterface.js.map +1 -0
- package/dist/src/core/contracts/ViewInterface.d.ts +24 -0
- package/dist/src/core/contracts/ViewInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ViewInterface.js +2 -0
- package/dist/src/core/contracts/ViewInterface.js.map +1 -0
- package/dist/src/core/contracts/ViewManagerInterface.d.ts +44 -0
- package/dist/src/core/contracts/ViewManagerInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ViewManagerInterface.js +2 -0
- package/dist/src/core/contracts/ViewManagerInterface.js.map +1 -0
- package/dist/src/core/contracts/ViewStateInterface.d.ts +40 -0
- package/dist/src/core/contracts/ViewStateInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ViewStateInterface.js +3 -0
- package/dist/src/core/contracts/ViewStateInterface.js.map +1 -0
- package/dist/src/core/contracts/common.d.ts +28 -0
- package/dist/src/core/contracts/common.d.ts.map +1 -0
- package/dist/src/core/contracts/common.js +29 -0
- package/dist/src/core/contracts/common.js.map +1 -0
- package/dist/src/core/contracts/utils.d.ts +20 -0
- package/dist/src/core/contracts/utils.d.ts.map +1 -0
- package/dist/src/core/contracts/utils.js +4 -0
- package/dist/src/core/contracts/utils.js.map +1 -0
- package/dist/src/core/contracts/views.d.ts +23 -0
- package/dist/src/core/contracts/views.d.ts.map +1 -0
- package/dist/src/core/contracts/views.js +2 -0
- package/dist/src/core/contracts/views.js.map +1 -0
- package/dist/src/core/elements/Block.d.ts +58 -0
- package/dist/src/core/elements/Block.d.ts.map +1 -0
- package/dist/src/core/elements/Block.js +77 -0
- package/dist/src/core/elements/Block.js.map +1 -0
- package/dist/src/core/elements/BlockOutlet.d.ts +34 -0
- package/dist/src/core/elements/BlockOutlet.d.ts.map +1 -0
- package/dist/src/core/elements/BlockOutlet.js +59 -0
- package/dist/src/core/elements/BlockOutlet.js.map +1 -0
- package/dist/src/core/elements/Component.d.ts +62 -0
- package/dist/src/core/elements/Component.d.ts.map +1 -0
- package/dist/src/core/elements/Component.js +72 -0
- package/dist/src/core/elements/Component.js.map +1 -0
- package/dist/src/core/elements/ElementManager.d.ts +23 -0
- package/dist/src/core/elements/ElementManager.d.ts.map +1 -0
- package/dist/src/core/elements/ElementManager.js +33 -0
- package/dist/src/core/elements/ElementManager.js.map +1 -0
- package/dist/src/core/elements/Fragment.d.ts +51 -0
- package/dist/src/core/elements/Fragment.d.ts.map +1 -0
- package/dist/src/core/elements/Fragment.js +133 -0
- package/dist/src/core/elements/Fragment.js.map +1 -0
- package/dist/src/core/elements/Html.d.ts +52 -0
- package/dist/src/core/elements/Html.d.ts.map +1 -0
- package/dist/src/core/elements/Html.js +299 -0
- package/dist/src/core/elements/Html.js.map +1 -0
- package/dist/src/core/elements/Output.d.ts +69 -0
- package/dist/src/core/elements/Output.d.ts.map +1 -0
- package/dist/src/core/elements/Output.js +121 -0
- package/dist/src/core/elements/Output.js.map +1 -0
- package/dist/src/core/elements/Reactive.d.ts +77 -0
- package/dist/src/core/elements/Reactive.d.ts.map +1 -0
- package/dist/src/core/elements/Reactive.js +199 -0
- package/dist/src/core/elements/Reactive.js.map +1 -0
- package/dist/src/core/elements/TextElement.d.ts +46 -0
- package/dist/src/core/elements/TextElement.d.ts.map +1 -0
- package/dist/src/core/elements/TextElement.js +94 -0
- package/dist/src/core/elements/TextElement.js.map +1 -0
- package/dist/src/core/elements/Wrapper.d.ts +50 -0
- package/dist/src/core/elements/Wrapper.d.ts.map +1 -0
- package/dist/src/core/elements/Wrapper.js +96 -0
- package/dist/src/core/elements/Wrapper.js.map +1 -0
- package/dist/src/core/elements/Yield.d.ts +34 -0
- package/dist/src/core/elements/Yield.d.ts.map +1 -0
- package/dist/src/core/elements/Yield.js +56 -0
- package/dist/src/core/elements/Yield.js.map +1 -0
- package/dist/src/core/elements/helpers.d.ts +8 -0
- package/dist/src/core/elements/helpers.d.ts.map +1 -0
- package/dist/src/core/elements/helpers.js +40 -0
- package/dist/src/core/elements/helpers.js.map +1 -0
- package/dist/src/core/elements/index.d.ts +12 -0
- package/dist/src/core/elements/index.d.ts.map +1 -0
- package/dist/src/core/elements/index.js +12 -0
- package/dist/src/core/elements/index.js.map +1 -0
- package/dist/src/core/hellpers/ApiClient.d.ts +58 -0
- package/dist/src/core/hellpers/ApiClient.d.ts.map +1 -0
- package/dist/src/core/hellpers/ApiClient.js +122 -0
- package/dist/src/core/hellpers/ApiClient.js.map +1 -0
- package/dist/src/core/hellpers/app.d.ts +3 -0
- package/dist/src/core/hellpers/app.d.ts.map +1 -0
- package/dist/src/core/hellpers/app.js +53 -0
- package/dist/src/core/hellpers/app.js.map +1 -0
- package/dist/src/core/hellpers/utils.d.ts +26 -0
- package/dist/src/core/hellpers/utils.d.ts.map +1 -0
- package/dist/src/core/hellpers/utils.js +96 -0
- package/dist/src/core/hellpers/utils.js.map +1 -0
- package/dist/src/core/routers/Router.d.ts +212 -0
- package/dist/src/core/routers/Router.d.ts.map +1 -0
- package/dist/src/core/routers/Router.js +623 -0
- package/dist/src/core/routers/Router.js.map +1 -0
- package/dist/src/core/routers/index.d.ts +3 -0
- package/dist/src/core/routers/index.d.ts.map +1 -0
- package/dist/src/core/routers/index.js +2 -0
- package/dist/src/core/routers/index.js.map +1 -0
- package/dist/src/core/services/BlockManager.d.ts +63 -0
- package/dist/src/core/services/BlockManager.d.ts.map +1 -0
- package/dist/src/core/services/BlockManager.js +191 -0
- package/dist/src/core/services/BlockManager.js.map +1 -0
- package/dist/src/core/services/DomService.d.ts +9 -0
- package/dist/src/core/services/DomService.d.ts.map +1 -0
- package/dist/src/core/services/DomService.js +18 -0
- package/dist/src/core/services/DomService.js.map +1 -0
- package/dist/src/core/services/EventService.d.ts +58 -0
- package/dist/src/core/services/EventService.d.ts.map +1 -0
- package/dist/src/core/services/EventService.js +212 -0
- package/dist/src/core/services/EventService.js.map +1 -0
- package/dist/src/core/services/HelperService.d.ts +443 -0
- package/dist/src/core/services/HelperService.d.ts.map +1 -0
- package/dist/src/core/services/HelperService.js +1650 -0
- package/dist/src/core/services/HelperService.js.map +1 -0
- package/dist/src/core/services/HttpService.d.ts +63 -0
- package/dist/src/core/services/HttpService.d.ts.map +1 -0
- package/dist/src/core/services/HttpService.js +182 -0
- package/dist/src/core/services/HttpService.js.map +1 -0
- package/dist/src/core/services/LoggerService.d.ts +56 -0
- package/dist/src/core/services/LoggerService.d.ts.map +1 -0
- package/dist/src/core/services/LoggerService.js +94 -0
- package/dist/src/core/services/LoggerService.js.map +1 -0
- package/dist/src/core/services/MarkerRegistry.d.ts +94 -0
- package/dist/src/core/services/MarkerRegistry.d.ts.map +1 -0
- package/dist/src/core/services/MarkerRegistry.js +199 -0
- package/dist/src/core/services/MarkerRegistry.js.map +1 -0
- package/dist/src/core/services/MarkerService.d.ts +299 -0
- package/dist/src/core/services/MarkerService.d.ts.map +1 -0
- package/dist/src/core/services/MarkerService.js +723 -0
- package/dist/src/core/services/MarkerService.js.map +1 -0
- package/dist/src/core/services/StorageService.d.ts +69 -0
- package/dist/src/core/services/StorageService.d.ts.map +1 -0
- package/dist/src/core/services/StorageService.js +243 -0
- package/dist/src/core/services/StorageService.js.map +1 -0
- package/dist/src/core/services/StoreService.d.ts +80 -0
- package/dist/src/core/services/StoreService.d.ts.map +1 -0
- package/dist/src/core/services/StoreService.js +301 -0
- package/dist/src/core/services/StoreService.js.map +1 -0
- package/dist/src/core/services/index.d.ts +9 -0
- package/dist/src/core/services/index.d.ts.map +1 -0
- package/dist/src/core/services/index.js +9 -0
- package/dist/src/core/services/index.js.map +1 -0
- package/dist/src/core/types/utils.d.ts +29 -0
- package/dist/src/core/types/utils.d.ts.map +1 -0
- package/dist/src/core/types/utils.js +22 -0
- package/dist/src/core/types/utils.js.map +1 -0
- package/dist/src/core/view/LoopContext.d.ts +38 -0
- package/dist/src/core/view/LoopContext.d.ts.map +1 -0
- package/dist/src/core/view/LoopContext.js +100 -0
- package/dist/src/core/view/LoopContext.js.map +1 -0
- package/dist/src/core/view/Section.d.ts +41 -0
- package/dist/src/core/view/Section.d.ts.map +1 -0
- package/dist/src/core/view/Section.js +67 -0
- package/dist/src/core/view/Section.js.map +1 -0
- package/dist/src/core/view/View.d.ts +63 -0
- package/dist/src/core/view/View.d.ts.map +1 -0
- package/dist/src/core/view/View.js +85 -0
- package/dist/src/core/view/View.js.map +1 -0
- package/dist/src/core/view/ViewController.d.ts +277 -0
- package/dist/src/core/view/ViewController.d.ts.map +1 -0
- package/dist/src/core/view/ViewController.js +862 -0
- package/dist/src/core/view/ViewController.js.map +1 -0
- package/dist/src/core/view/ViewManager.d.ts +141 -0
- package/dist/src/core/view/ViewManager.d.ts.map +1 -0
- package/dist/src/core/view/ViewManager.js +565 -0
- package/dist/src/core/view/ViewManager.js.map +1 -0
- package/dist/src/core/view/ViewState.d.ts +117 -0
- package/dist/src/core/view/ViewState.d.ts.map +1 -0
- package/dist/src/core/view/ViewState.js +410 -0
- package/dist/src/core/view/ViewState.js.map +1 -0
- package/dist/src/core/view/index.d.ts +6 -0
- package/dist/src/core/view/index.d.ts.map +1 -0
- package/dist/src/core/view/index.js +6 -0
- package/dist/src/core/view/index.js.map +1 -0
- package/index.ts +62 -0
- package/package.json +70 -0
- package/plugins.ts +77 -0
- package/src/core/app/Application.ts +410 -0
- package/src/core/bootstrap/app.ts +58 -0
- package/src/core/bootstrap/providers/ApiServiceProvider.ts +18 -0
- package/src/core/bootstrap/providers/CoreServiceProvider.ts +19 -0
- package/src/core/bootstrap/providers/HelperServiceProvider.ts +12 -0
- package/src/core/bootstrap/providers/RouteServiceProvider.ts +17 -0
- package/src/core/bootstrap/providers/ServiceProvider.ts +51 -0
- package/src/core/bootstrap/providers/ViewServiceProvider.ts +17 -0
- package/src/core/bootstrap/providers/default-providers.ts +94 -0
- package/src/core/bootstrap/providers/index.ts +9 -0
- package/src/core/bootstrap/providers/provider-order.test.ts +67 -0
- package/src/core/bootstrap/providers/provider-order.ts +66 -0
- package/src/core/cache/ViewCache.ts +102 -0
- package/src/core/cache/index.ts +1 -0
- package/src/core/contracts/ApiInterface.ts +11 -0
- package/src/core/contracts/ApplicationInterface.ts +79 -0
- package/src/core/contracts/BlockInterface.ts +76 -0
- package/src/core/contracts/ComponentInterface.ts +26 -0
- package/src/core/contracts/ElementInterface.ts +140 -0
- package/src/core/contracts/EventServiceInterface.ts +47 -0
- package/src/core/contracts/HelperInterface.ts +256 -0
- package/src/core/contracts/HttpServiceInterface.ts +51 -0
- package/src/core/contracts/LoggerServiceInterface.ts +48 -0
- package/src/core/contracts/LoopContextInterface.ts +15 -0
- package/src/core/contracts/MarkerInterface.ts +77 -0
- package/src/core/contracts/ReactiveInterface.ts +45 -0
- package/src/core/contracts/RouterInterface.ts +65 -0
- package/src/core/contracts/ServiceProviderInterface.ts +12 -0
- package/src/core/contracts/StorageServiceInterface.ts +48 -0
- package/src/core/contracts/StoreServiceInterface.ts +50 -0
- package/src/core/contracts/ViewCacheInterface.ts +14 -0
- package/src/core/contracts/ViewControllerInterface.ts +135 -0
- package/src/core/contracts/ViewInterface.ts +31 -0
- package/src/core/contracts/ViewManagerInterface.ts +45 -0
- package/src/core/contracts/ViewStateInterface.ts +47 -0
- package/src/core/contracts/common.ts +27 -0
- package/src/core/contracts/utils.ts +23 -0
- package/src/core/contracts/views.ts +23 -0
- package/src/core/elements/Block.ts +113 -0
- package/src/core/elements/BlockOutlet.ts +83 -0
- package/src/core/elements/Component.ts +114 -0
- package/src/core/elements/ElementManager.ts +48 -0
- package/src/core/elements/Fragment.ts +168 -0
- package/src/core/elements/Html.ts +364 -0
- package/src/core/elements/Output.ts +167 -0
- package/src/core/elements/Reactive.ts +253 -0
- package/src/core/elements/TextElement.ts +110 -0
- package/src/core/elements/Wrapper.ts +131 -0
- package/src/core/elements/Yield.ts +70 -0
- package/src/core/elements/helpers.ts +56 -0
- package/src/core/elements/index.ts +26 -0
- package/src/core/hellpers/ApiClient.ts +145 -0
- package/src/core/hellpers/app.ts +57 -0
- package/src/core/hellpers/utils.ts +109 -0
- package/src/core/routers/Router.ts +765 -0
- package/src/core/routers/index.ts +2 -0
- package/src/core/services/BlockManager.ts +210 -0
- package/src/core/services/DomService.ts +26 -0
- package/src/core/services/EventService.ts +266 -0
- package/src/core/services/HelperService.ts +1653 -0
- package/src/core/services/HttpService.ts +235 -0
- package/src/core/services/LoggerService.ts +139 -0
- package/src/core/services/MarkerRegistry.ts +239 -0
- package/src/core/services/MarkerService.ts +923 -0
- package/src/core/services/StorageService.ts +268 -0
- package/src/core/services/StoreService.ts +338 -0
- package/src/core/services/index.ts +8 -0
- package/src/core/types/utils.ts +30 -0
- package/src/core/view/LoopContext.ts +109 -0
- package/src/core/view/Section.ts +86 -0
- package/src/core/view/View.ts +109 -0
- package/src/core/view/ViewController.ts +1002 -0
- package/src/core/view/ViewManager.ts +700 -0
- package/src/core/view/ViewState.ts +453 -0
- package/src/core/view/index.ts +5 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export interface MarkerRegistryRecord {
|
|
2
|
+
/** Full tag name: 'reactive', 'block', 'foreach', etc. */
|
|
3
|
+
tag: string;
|
|
4
|
+
/** Unique ID for this marker (e.g. 'r:m0') */
|
|
5
|
+
registryID: string;
|
|
6
|
+
/** Arbitrary metadata */
|
|
7
|
+
attributes: Record<string, any>;
|
|
8
|
+
}
|
|
9
|
+
export type MarkerTagName = 'view' | 'component' | 'layout' | 'template' | 'block' | 'blockoutlet' | 'reactive' | 'section' | 'fragment' | 'for' | 'forin' | 'foreach' | 'while' | 'if' | 'switch' | 'include' | 'yield' | 'slot' | 'echo' | 'echoescaped' | 'useblock' | 'extend' | 'style' | 'script' | (string & {});
|
|
10
|
+
export type MarkerFilter = string | Record<string, any>;
|
|
11
|
+
export interface MarkerRecord {
|
|
12
|
+
name: string;
|
|
13
|
+
tagName: string;
|
|
14
|
+
registryID?: string | null;
|
|
15
|
+
attributes: Record<string, any>;
|
|
16
|
+
openTag: Comment;
|
|
17
|
+
closeTag: Comment;
|
|
18
|
+
children: Array<Node>;
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
}
|
|
21
|
+
export interface MarkupAttributes {
|
|
22
|
+
[key: string]: string;
|
|
23
|
+
}
|
|
24
|
+
export interface MarkupQueryOptions {
|
|
25
|
+
multiple?: boolean;
|
|
26
|
+
recursive?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface MarkupQuery {
|
|
29
|
+
pattern: string;
|
|
30
|
+
attributes?: MarkupAttributes;
|
|
31
|
+
options?: MarkupQueryOptions;
|
|
32
|
+
index?: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* RegistryTag Query Options
|
|
36
|
+
*/
|
|
37
|
+
export interface RegistryTagQueryOptions {
|
|
38
|
+
tag?: string;
|
|
39
|
+
id?: string;
|
|
40
|
+
attributes?: Record<string, any>;
|
|
41
|
+
multiple?: boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* RegistryTagData
|
|
45
|
+
*/
|
|
46
|
+
export interface RegistryTagData {
|
|
47
|
+
systemPrefix: string;
|
|
48
|
+
tag: string;
|
|
49
|
+
id: string;
|
|
50
|
+
key: string;
|
|
51
|
+
attributes?: Record<string, any>;
|
|
52
|
+
nodes: Array<Node>;
|
|
53
|
+
}
|
|
54
|
+
export type RegistryIDOrAttributes = string | Record<string, any> | undefined;
|
|
55
|
+
//# sourceMappingURL=MarkerInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkerInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/MarkerInterface.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACjC,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,aAAa,GACnB,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAC5C,OAAO,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAC7D,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GACrC,IAAI,GAAG,QAAQ,GACf,SAAS,GAAG,OAAO,GAAG,MAAM,GAC5B,MAAM,GAAG,aAAa,GACtB,UAAU,GAAG,QAAQ,GACrB,OAAO,GAAG,QAAQ,GAClB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAMpB,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACxD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AACD,MAAM,WAAW,gBAAgB;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CACtB;AAGD,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkerInterface.js","sourceRoot":"","sources":["../../../../src/core/contracts/MarkerInterface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { OneObjectType } from "../types/utils";
|
|
2
|
+
import type { ViewControllerInterface } from "./ViewControllerInterface";
|
|
3
|
+
import type { HtmlInterface, OneChildrenFactoryOutput, OneElementChildren, OneNodeInterface } from "./ElementInterface";
|
|
4
|
+
/** Reactive region bounded by comment markers — re-renders when deps change */
|
|
5
|
+
export interface ReactiveInterface extends OneNodeInterface {
|
|
6
|
+
oneType: OneObjectType;
|
|
7
|
+
id: string;
|
|
8
|
+
type: string;
|
|
9
|
+
ctx: ViewControllerInterface;
|
|
10
|
+
stateKeys: string[];
|
|
11
|
+
parentElement: HtmlInterface | null;
|
|
12
|
+
parentReactive: ReactiveInterface | null;
|
|
13
|
+
openTag: Comment;
|
|
14
|
+
closeTag: Comment;
|
|
15
|
+
children: OneElementChildren;
|
|
16
|
+
unsubscribe: () => void;
|
|
17
|
+
childrenFactory: ReactiveChildrenFactory;
|
|
18
|
+
setChildrenFactory(factory: ReactiveChildrenFactory): void;
|
|
19
|
+
setStateKeys(stateKeys: string[]): void;
|
|
20
|
+
render(): void;
|
|
21
|
+
destroy(): void;
|
|
22
|
+
isOneElement: boolean;
|
|
23
|
+
isOneReactive: boolean;
|
|
24
|
+
}
|
|
25
|
+
/** Function called by Reactive to produce DOM content between markers */
|
|
26
|
+
export type ReactiveRenderFn = (ctx: ViewControllerInterface, parentElement: HtmlInterface | null) => OneChildrenFactoryOutput;
|
|
27
|
+
/** Factory function for reactive children rendering */
|
|
28
|
+
export type ReactiveChildrenFactory = (parentReactive: ReactiveInterface, parentElement: HtmlInterface | null) => OneChildrenFactoryOutput;
|
|
29
|
+
/** Reactive configuration */
|
|
30
|
+
export type ReactiveConfig = {
|
|
31
|
+
type?: string;
|
|
32
|
+
id?: string;
|
|
33
|
+
stateKeys?: string[];
|
|
34
|
+
options?: any;
|
|
35
|
+
attributes?: Record<string, any>;
|
|
36
|
+
createdMode?: 'csr' | 'ssr';
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=ReactiveInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReactiveInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/ReactiveInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIxH,+EAA+E;AAC/E,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACvD,OAAO,EAAE,aAAa,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,uBAAuB,CAAC;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,EAAE,uBAAuB,CAAC;IACzC,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC3D,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxC,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CAC1B;AAID,yEAAyE;AACzE,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,uBAAuB,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,KAAK,wBAAwB,CAAC;AAE/H,uDAAuD;AACvD,MAAM,MAAM,uBAAuB,GAAG,CAAC,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,KAAK,wBAAwB,CAAC;AAE3I,6BAA6B;AAC7B,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CAC/B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReactiveInterface.js","sourceRoot":"","sources":["../../../../src/core/contracts/ReactiveInterface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { ViewManagerInterface } from "./ViewManagerInterface";
|
|
2
|
+
export type RouterNavigationType = 'push' | 'pop';
|
|
3
|
+
export type RouterMode = 'history' | 'hash';
|
|
4
|
+
export interface RouteInterface {
|
|
5
|
+
name: string;
|
|
6
|
+
path: string;
|
|
7
|
+
query?: Record<string, any>;
|
|
8
|
+
params?: Record<string, any>;
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}
|
|
11
|
+
export interface ActiveRouteInterface {
|
|
12
|
+
route: RouteInterface;
|
|
13
|
+
$query: Record<string, any>;
|
|
14
|
+
$params: Record<string, any>;
|
|
15
|
+
$urlPath: string;
|
|
16
|
+
$fragment: string;
|
|
17
|
+
new (route: RouteInterface, urlPath: string, fragment: string): ActiveRouteInterface;
|
|
18
|
+
setQuery(query: Record<string, any>): void;
|
|
19
|
+
getParam(key: string, defaultValue?: any): any;
|
|
20
|
+
getQuery(key: string, defaultValue?: any): any;
|
|
21
|
+
getParams(): Record<string, any>;
|
|
22
|
+
query(name: string): any;
|
|
23
|
+
param(name: string): any;
|
|
24
|
+
[key: string]: any;
|
|
25
|
+
}
|
|
26
|
+
export interface RouterInterface {
|
|
27
|
+
/** Set DI container */
|
|
28
|
+
setApp(app: any): this;
|
|
29
|
+
/** Set ViewManager for view mounting */
|
|
30
|
+
setViewManager(vm: ViewManagerInterface): this;
|
|
31
|
+
/** Router mode: history or hash */
|
|
32
|
+
setMode(mode: RouterMode): this;
|
|
33
|
+
/** Add a route */
|
|
34
|
+
addRoute(path: string, component: string, options?: any): this;
|
|
35
|
+
/** Add multiple routes */
|
|
36
|
+
addRoutes(routes: any[]): this;
|
|
37
|
+
/** Navigate to a path */
|
|
38
|
+
navigate(path: string): void;
|
|
39
|
+
/** Navigate to a named route */
|
|
40
|
+
navigateTo(routeName: string, params?: Record<string, any>): void;
|
|
41
|
+
/** Replace current route */
|
|
42
|
+
replace(path: string): void;
|
|
43
|
+
/** Generate URL for a named route */
|
|
44
|
+
getURL(name: string, params?: Record<string, any>): string | null;
|
|
45
|
+
/** Get current route */
|
|
46
|
+
getCurrentRoute(): ActiveRouteInterface | null;
|
|
47
|
+
/** Navigation guards */
|
|
48
|
+
beforeEach(guard: (to: ActiveRouteInterface, from: ActiveRouteInterface, urlPath: string) => boolean | Promise<boolean>): this;
|
|
49
|
+
afterEach(hook: (to: ActiveRouteInterface, from: ActiveRouteInterface) => void): this;
|
|
50
|
+
/** Start listening to URL changes */
|
|
51
|
+
start(skipInitial?: boolean): void;
|
|
52
|
+
/** Stop listening */
|
|
53
|
+
stop(): void;
|
|
54
|
+
/** Full destroy */
|
|
55
|
+
destroy(): void;
|
|
56
|
+
getFullUrl(): string;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=RouterInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/RouterInterface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterInterface.js","sourceRoot":"","sources":["../../../../src/core/contracts/RouterInterface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OneObjectType } from "../types/utils";
|
|
2
|
+
import type { ApplicationInterface } from "./ApplicationInterface";
|
|
3
|
+
/** Service Provider — register() đăng ký, boot() khởi động */
|
|
4
|
+
export interface ServiceProviderInterface {
|
|
5
|
+
oneType?: OneObjectType;
|
|
6
|
+
name: string;
|
|
7
|
+
dependsOn?: string[];
|
|
8
|
+
initApplication?(App?: ApplicationInterface): void;
|
|
9
|
+
register(): void;
|
|
10
|
+
boot?(): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=ServiceProviderInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceProviderInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/ServiceProviderInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,8DAA8D;AAC9D,MAAM,WAAW,wBAAwB;IACrC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACnD,QAAQ,IAAI,IAAI,CAAC;IACjB,IAAI,CAAC,IAAI,IAAI,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceProviderInterface.js","sourceRoot":"","sources":["../../../../src/core/contracts/ServiceProviderInterface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export type StorageEventCallback = (data?: any) => void;
|
|
2
|
+
export interface StorageServiceInterface {
|
|
3
|
+
/**
|
|
4
|
+
* Set value with optional TTL (in seconds).
|
|
5
|
+
* Supports bulk set: set({ key1: val1, key2: val2 })
|
|
6
|
+
*/
|
|
7
|
+
set(key: string | Record<string, any>, value?: any, ttl?: number | null): boolean;
|
|
8
|
+
/** Get value (null if expired or missing) */
|
|
9
|
+
get<T = any>(key: string, defaultValue?: T | null): T | null;
|
|
10
|
+
/** Check if key exists and not expired */
|
|
11
|
+
has(key: string): boolean;
|
|
12
|
+
/** Remove key */
|
|
13
|
+
remove(key: string): boolean;
|
|
14
|
+
/** Clear all storage data */
|
|
15
|
+
clear(): void;
|
|
16
|
+
/** Get all non-expired values as plain object */
|
|
17
|
+
getAll(): Record<string, any>;
|
|
18
|
+
/** All non-expired keys */
|
|
19
|
+
getAllKeys(): string[];
|
|
20
|
+
/** Number of stored items */
|
|
21
|
+
size(): number;
|
|
22
|
+
isEmpty(): boolean;
|
|
23
|
+
/** Export all data as JSON string */
|
|
24
|
+
export(): string;
|
|
25
|
+
/** Import data from JSON string */
|
|
26
|
+
import(json: string): boolean;
|
|
27
|
+
/** Create backup snapshot */
|
|
28
|
+
backup(): {
|
|
29
|
+
timestamp: number;
|
|
30
|
+
key: string;
|
|
31
|
+
data: Record<string, any>;
|
|
32
|
+
};
|
|
33
|
+
/** Restore from backup */
|
|
34
|
+
restore(backup: {
|
|
35
|
+
data: Record<string, any>;
|
|
36
|
+
}): boolean;
|
|
37
|
+
/** Subscribe to storage events. Returns unsubscribe function. */
|
|
38
|
+
on(event: string, callback: StorageEventCallback): () => void;
|
|
39
|
+
/** Unsubscribe from event */
|
|
40
|
+
off(event: string, callback: StorageEventCallback): void;
|
|
41
|
+
destroy(): void;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=StorageServiceInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageServiceInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/StorageServiceInterface.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;AAExD,MAAM,WAAW,uBAAuB;IAEpC;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;IAClF,6CAA6C;IAC7C,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7D,0CAA0C;IAC1C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,iBAAiB;IACjB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,6BAA6B;IAC7B,KAAK,IAAI,IAAI,CAAC;IAGd,iDAAiD;IACjD,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,2BAA2B;IAC3B,UAAU,IAAI,MAAM,EAAE,CAAC;IACvB,6BAA6B;IAC7B,IAAI,IAAI,MAAM,CAAC;IACf,OAAO,IAAI,OAAO,CAAC;IAGnB,qCAAqC;IACrC,MAAM,IAAI,MAAM,CAAC;IACjB,mCAAmC;IACnC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,6BAA6B;IAC7B,MAAM,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IACxE,0BAA0B;IAC1B,OAAO,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC;IAGxD,iEAAiE;IACjE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI,CAAC;IAC9D,6BAA6B;IAC7B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAGzD,OAAO,IAAI,IAAI,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageServiceInterface.js","sourceRoot":"","sources":["../../../../src/core/contracts/StorageServiceInterface.ts"],"names":[],"mappings":"AAAA,oEAAoE"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export interface StoreServiceInterface {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
/** Set value with optional TTL (in minutes) */
|
|
4
|
+
set<T = any>(key: string, value: T, ttl?: number | null): void;
|
|
5
|
+
/** Get value (returns null if expired or missing) */
|
|
6
|
+
get<T = any>(key: string): T | null;
|
|
7
|
+
/** Check if key exists and is not expired */
|
|
8
|
+
has(key: string): boolean;
|
|
9
|
+
/** Remove key, returns removed value or null */
|
|
10
|
+
remove(key: string): any;
|
|
11
|
+
/** Clear all data, listeners, TTLs */
|
|
12
|
+
clear(): void;
|
|
13
|
+
/**
|
|
14
|
+
* Subscribe to key changes. Returns unsubscribe function.
|
|
15
|
+
*
|
|
16
|
+
* - subscribe('user', (value) => { ... })
|
|
17
|
+
* - subscribe(['user', 'token'], (values) => { ... })
|
|
18
|
+
*/
|
|
19
|
+
subscribe(key: string | string[], callback: (value: any) => void): () => void;
|
|
20
|
+
/** Unsubscribe specific callback from key */
|
|
21
|
+
unsubscribe(key: string, callback: (value: any) => void): void;
|
|
22
|
+
/** Subscribe to TTL expiration of a key */
|
|
23
|
+
onExpire(key: string, callback: (value: any) => void): () => void;
|
|
24
|
+
/** Get TTL info for a key */
|
|
25
|
+
getTTL(key: string): {
|
|
26
|
+
ttl: number;
|
|
27
|
+
createdAt: number;
|
|
28
|
+
expiresAt: number;
|
|
29
|
+
remaining: number;
|
|
30
|
+
expired: boolean;
|
|
31
|
+
} | null;
|
|
32
|
+
/** Refresh TTL (reset timer). Pass null to use existing TTL. */
|
|
33
|
+
refreshTTL(key: string, ttl?: number | null): void;
|
|
34
|
+
/** Remove TTL from key (key lives forever) */
|
|
35
|
+
removeTTL(key: string): void;
|
|
36
|
+
/** All non-expired keys */
|
|
37
|
+
keys(): string[];
|
|
38
|
+
/** All non-expired values */
|
|
39
|
+
values<T = any>(): T[];
|
|
40
|
+
/** All non-expired entries */
|
|
41
|
+
entries<T = any>(): Array<[string, T]>;
|
|
42
|
+
/** Destroy — clear all + stop cleanup timer */
|
|
43
|
+
destroy(): void;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=StoreServiceInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreServiceInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/StoreServiceInterface.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAGnB,+CAA+C;IAC/C,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC/D,qDAAqD;IACrD,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IACpC,6CAA6C;IAC7C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,gDAAgD;IAChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACzB,sCAAsC;IACtC,KAAK,IAAI,IAAI,CAAC;IAGd;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC9E,6CAA6C;IAC7C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/D,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAGlE,6BAA6B;IAC7B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACvH,gEAAgE;IAChE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACnD,8CAA8C;IAC9C,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAG7B,2BAA2B;IAC3B,IAAI,IAAI,MAAM,EAAE,CAAC;IACjB,6BAA6B;IAC7B,MAAM,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;IACvB,8BAA8B;IAC9B,OAAO,CAAC,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAGvC,+CAA+C;IAC/C,OAAO,IAAI,IAAI,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreServiceInterface.js","sourceRoot":"","sources":["../../../../src/core/contracts/StoreServiceInterface.ts"],"names":[],"mappings":"AAAA,oEAAoE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface ViewCacheInterface {
|
|
2
|
+
/** Store a rendered view's DOM state */
|
|
3
|
+
store(viewId: string, element: HTMLElement | DocumentFragment): void;
|
|
4
|
+
/** Retrieve cached DOM for a view (returns null if not cached) */
|
|
5
|
+
retrieve(viewId: string): HTMLElement | DocumentFragment | null;
|
|
6
|
+
/** Check if a view is cached */
|
|
7
|
+
has(viewId: string): boolean;
|
|
8
|
+
/** Remove a specific view from cache */
|
|
9
|
+
remove(viewId: string): void;
|
|
10
|
+
/** Clear all cached views */
|
|
11
|
+
clear(): void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ViewCacheInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewCacheInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/ViewCacheInterface.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IAC/B,wCAAwC;IACxC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACrE,kEAAkE;IAClE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAChE,gCAAgC;IAChC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,wCAAwC;IACxC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,6BAA6B;IAC7B,KAAK,IAAI,IAAI,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewCacheInterface.js","sourceRoot":"","sources":["../../../../src/core/contracts/ViewCacheInterface.ts"],"names":[],"mappings":"AAAA,oEAAoE"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import type { OneObjectType } from "../types/utils";
|
|
2
|
+
import type { ViewInterface, ViewRenderFactory } from "./ViewInterface";
|
|
3
|
+
import type { ViewStateInterface } from "./ViewStateInterface";
|
|
4
|
+
import type { HtmlInterface, FragmentInterface, OneElementEventHandler, OneChildrenFactory, WrapperInterface } from "./ElementInterface";
|
|
5
|
+
import type { ReactiveInterface } from "./ReactiveInterface";
|
|
6
|
+
import type { BlockInterface } from "./BlockInterface";
|
|
7
|
+
import type { LoopContextInterface } from "./LoopContextInterface";
|
|
8
|
+
import { SectionInterface } from "./views";
|
|
9
|
+
export type ViewType = 'view' | 'layout' | 'component' | 'template';
|
|
10
|
+
export interface ViewControllerInterface {
|
|
11
|
+
oneType: OneObjectType;
|
|
12
|
+
view: ViewInterface;
|
|
13
|
+
viewId: string;
|
|
14
|
+
path: string;
|
|
15
|
+
viewType: ViewType;
|
|
16
|
+
states: ViewStateInterface;
|
|
17
|
+
loopContext: LoopContextInterface | null;
|
|
18
|
+
/** Raw input data reference */
|
|
19
|
+
data: Record<string, any>;
|
|
20
|
+
/** Whether this view defines a super view (layout) */
|
|
21
|
+
hasSuperView: boolean;
|
|
22
|
+
/** Path to super view (layout) */
|
|
23
|
+
superViewPath: string | null;
|
|
24
|
+
/** Main element (Wrapper) for this view */
|
|
25
|
+
mainElement: any;
|
|
26
|
+
sections: Map<string, SectionInterface>;
|
|
27
|
+
blocks: Map<string, BlockInterface>;
|
|
28
|
+
urlPath: string | null;
|
|
29
|
+
childrenFactory: OneChildrenFactory | null;
|
|
30
|
+
wrapper: (factory: OneChildrenFactory) => WrapperInterface;
|
|
31
|
+
addEventListener(element: HTMLElement, event: string, handlers: OneElementEventHandler): void;
|
|
32
|
+
/** Called by reactive system to schedule an update */
|
|
33
|
+
scheduleUpdate(reactive: ReactiveInterface): void;
|
|
34
|
+
/** Lifecycle */
|
|
35
|
+
setup(config: Record<string, any>): void;
|
|
36
|
+
/** Commit initial data — set initial state values after render */
|
|
37
|
+
commitData(): void;
|
|
38
|
+
/** Update data from external source */
|
|
39
|
+
updateData(data: Record<string, any>): void;
|
|
40
|
+
/** Update single data item */
|
|
41
|
+
updateDataItem(key: string, value: any): void;
|
|
42
|
+
/** Start reactive subscriptions */
|
|
43
|
+
start(): void;
|
|
44
|
+
/** Stop reactive subscriptions (for caching) */
|
|
45
|
+
stop(): void;
|
|
46
|
+
/** Loop directives */
|
|
47
|
+
__foreach<T>(list: T[] | Record<string, T>, callback: (item: T, key: string, index: number, loop: any) => any): any[];
|
|
48
|
+
__for(loopType?: string, start?: number, end?: number, execute?: (loop: any) => any): any;
|
|
49
|
+
__while(execute: (loop: any) => any, maxIterations?: number): any;
|
|
50
|
+
/** App reference */
|
|
51
|
+
App: any;
|
|
52
|
+
setApp(app: any): void;
|
|
53
|
+
setUserDefinedConfig(config: Record<string, any>): void;
|
|
54
|
+
/** Set root element — the container this view renders into */
|
|
55
|
+
setRootElement(rootElement: HtmlInterface): void;
|
|
56
|
+
/** Render the view's element tree into rootElement */
|
|
57
|
+
render(): ViewInterface | FragmentInterface | null;
|
|
58
|
+
prerender(): ViewInterface | FragmentInterface | null;
|
|
59
|
+
superView: ViewControllerInterface | null;
|
|
60
|
+
/** Whether this controller IS a layout (super view) */
|
|
61
|
+
isSuperView: boolean;
|
|
62
|
+
/** Mark this controller as a super view (layout) */
|
|
63
|
+
setIsSuperView(isSuper: boolean): void;
|
|
64
|
+
/** Set the parent layout's controller */
|
|
65
|
+
setSuperView(superView: ViewControllerInterface): void;
|
|
66
|
+
/** Track the original page view's controller for block mounting */
|
|
67
|
+
originView: ViewControllerInterface | null;
|
|
68
|
+
/** Set the origin (page) controller reference */
|
|
69
|
+
setOriginView(origin: ViewControllerInterface): void;
|
|
70
|
+
setChainFromOrigin(): void;
|
|
71
|
+
ejectOriginChain(): void;
|
|
72
|
+
destroy(): void;
|
|
73
|
+
/** Get config value with optional default */
|
|
74
|
+
getConfig(key?: string, defaultValue?: any): any;
|
|
75
|
+
getConfig(): ViewControllerConfig;
|
|
76
|
+
}
|
|
77
|
+
export type ViewConfig = {
|
|
78
|
+
hasSuperView?: boolean;
|
|
79
|
+
viewType?: 'view' | 'layout' | 'component' | 'template';
|
|
80
|
+
sections?: Record<string, ViewRenderFactory>;
|
|
81
|
+
hasAwaitData?: boolean;
|
|
82
|
+
hasFetchData?: boolean;
|
|
83
|
+
useVars?: boolean;
|
|
84
|
+
hasSections?: boolean;
|
|
85
|
+
hasSectionPreload?: boolean;
|
|
86
|
+
hasPrerender?: boolean;
|
|
87
|
+
renderLongSections?: Record<string, any>;
|
|
88
|
+
renderSections?: Record<string, any>;
|
|
89
|
+
prerenderSections?: Record<string, any>;
|
|
90
|
+
[key: string]: any;
|
|
91
|
+
};
|
|
92
|
+
export type ViewRuntimeConfig = {
|
|
93
|
+
data?: Record<string, any>;
|
|
94
|
+
fetch?: {
|
|
95
|
+
url: string;
|
|
96
|
+
method?: string;
|
|
97
|
+
headers?: Record<string, string>;
|
|
98
|
+
body?: any;
|
|
99
|
+
} | null;
|
|
100
|
+
viewId?: string;
|
|
101
|
+
path?: string;
|
|
102
|
+
superView?: string | null;
|
|
103
|
+
subscribe?: boolean;
|
|
104
|
+
scripts?: any[];
|
|
105
|
+
styles?: any[];
|
|
106
|
+
resources?: any[];
|
|
107
|
+
commitConstructorData?: () => void;
|
|
108
|
+
updateVariableData?: (data: Record<string, any>) => void;
|
|
109
|
+
updateVariableItemData?: (key: string, value: any) => void;
|
|
110
|
+
prerender?: ViewRenderFactory | null;
|
|
111
|
+
render?: ViewRenderFactory | null;
|
|
112
|
+
[key: string]: any;
|
|
113
|
+
};
|
|
114
|
+
export type ViewControllerConfig = ViewConfig & ViewRuntimeConfig;
|
|
115
|
+
//# sourceMappingURL=ViewControllerInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewControllerInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/ViewControllerInterface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewControllerInterface.js","sourceRoot":"","sources":["../../../../src/core/contracts/ViewControllerInterface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { OneObjectType } from "../types/utils";
|
|
2
|
+
import type { ViewControllerInterface, ViewType } from "./ViewControllerInterface";
|
|
3
|
+
import type { FragmentInterface } from "./ElementInterface";
|
|
4
|
+
export interface ViewInterface {
|
|
5
|
+
oneType: OneObjectType;
|
|
6
|
+
__ctrl__: ViewControllerInterface;
|
|
7
|
+
path: string;
|
|
8
|
+
viewType: ViewType;
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}
|
|
11
|
+
/** Render factory for a View — compiled output calls this to build the DOM tree */
|
|
12
|
+
export type ViewRenderFactory = () => FragmentInterface | ViewInterface | null;
|
|
13
|
+
/** View class constructor signature */
|
|
14
|
+
export type ViewConstructor = new (path: string, viewType: 'view' | 'layout' | 'component', viewControllerClass?: any) => ViewInterface;
|
|
15
|
+
/** View lifecycle hooks — user can implement any of these */
|
|
16
|
+
export interface ViewLifecycleHooks {
|
|
17
|
+
onInit?(): void | Promise<void>;
|
|
18
|
+
onMounted?(): void | Promise<void>;
|
|
19
|
+
onUpdated?(): void | Promise<void>;
|
|
20
|
+
onDestroy?(): void | Promise<void>;
|
|
21
|
+
onActivated?(): void | Promise<void>;
|
|
22
|
+
onDeactivated?(): void | Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=ViewInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/ViewInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAID,mFAAmF;AACnF,MAAM,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,GAAG,aAAa,GAAG,IAAI,CAAC;AAE/E,uCAAuC;AACvC,MAAM,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,EAAE,mBAAmB,CAAC,EAAE,GAAG,KAAK,aAAa,CAAC;AAExI,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,SAAS,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,SAAS,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,SAAS,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,WAAW,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,aAAa,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewInterface.js","sourceRoot":"","sources":["../../../../src/core/contracts/ViewInterface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { ViewInterface } from "./ViewInterface";
|
|
2
|
+
import type { ApplicationInterface } from "./ApplicationInterface";
|
|
3
|
+
import { RouterNavigationType } from "./RouterInterface";
|
|
4
|
+
export interface ActiveViewInfo {
|
|
5
|
+
view: ViewInterface;
|
|
6
|
+
path: string;
|
|
7
|
+
isLayout: boolean;
|
|
8
|
+
isActive: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface ViewManagerInterface {
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
/** Set DI container */
|
|
13
|
+
setApp(app: ApplicationInterface): void;
|
|
14
|
+
/** Set root DOM container */
|
|
15
|
+
setContainer(container: HTMLElement): void;
|
|
16
|
+
/** Get root container */
|
|
17
|
+
getContainer(): HTMLElement | null;
|
|
18
|
+
/** Register view modules by name */
|
|
19
|
+
setViewRegistry(registry: Record<string, ((...args: any[]) => any) | (() => Promise<any>)>): void;
|
|
20
|
+
/** Register a single view module */
|
|
21
|
+
registerView(name: string, loader: ((...args: any[]) => any) | (() => Promise<any>)): void;
|
|
22
|
+
/** Initialize with optional config */
|
|
23
|
+
init(config?: {
|
|
24
|
+
container?: HTMLElement;
|
|
25
|
+
registry?: Record<string, any>;
|
|
26
|
+
}): void;
|
|
27
|
+
/** Mount a view by name — main entry point */
|
|
28
|
+
mountView(name: string, data?: Record<string, any>, route?: any, navigationType?: RouterNavigationType): any;
|
|
29
|
+
/** Unmount all active views */
|
|
30
|
+
unmountAll(): void;
|
|
31
|
+
/** Unmount a specific view by path */
|
|
32
|
+
unmountView(path: string): void;
|
|
33
|
+
/** Get currently active page view */
|
|
34
|
+
getCurrentView(): ViewInterface | null;
|
|
35
|
+
/** Get current layout view */
|
|
36
|
+
getCurrentLayout(): ViewInterface | null;
|
|
37
|
+
/** Get full view stack */
|
|
38
|
+
getViewStack(): ViewInterface[];
|
|
39
|
+
/** Check if a view is mounted */
|
|
40
|
+
isViewMounted(path: string): boolean;
|
|
41
|
+
/** Full destroy */
|
|
42
|
+
destroy(): void;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=ViewManagerInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewManagerInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/ViewManagerInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAKzD,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,uBAAuB;IACvB,MAAM,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACxC,6BAA6B;IAC7B,YAAY,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3C,yBAAyB;IACzB,YAAY,IAAI,WAAW,GAAG,IAAI,CAAC;IACnC,oCAAoC;IACpC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAClG,oCAAoC;IACpC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3F,sCAAsC;IACtC,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IACjF,8CAA8C;IAC9C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,oBAAoB,GAAI,GAAG,CAAC;IAC9G,+BAA+B;IAC/B,UAAU,IAAI,IAAI,CAAC;IACnB,sCAAsC;IACtC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qCAAqC;IACrC,cAAc,IAAI,aAAa,GAAG,IAAI,CAAC;IACvC,8BAA8B;IAC9B,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAAC;IACzC,0BAA0B;IAC1B,YAAY,IAAI,aAAa,EAAE,CAAC;IAChC,iCAAiC;IACjC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,mBAAmB;IACnB,OAAO,IAAI,IAAI,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewManagerInterface.js","sourceRoot":"","sources":["../../../../src/core/contracts/ViewManagerInterface.ts"],"names":[],"mappings":""}
|