@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,67 @@
|
|
|
1
|
+
export class Section {
|
|
2
|
+
constructor({ ctx, name, type = 'static', contentType = 'text', stateKeys, renderFactory }) {
|
|
3
|
+
this.ctx = null;
|
|
4
|
+
this.subscribeFn = null;
|
|
5
|
+
this.unsubscribeFn = null;
|
|
6
|
+
this.content = null; // Can be string or OneElementChildren depending on contentType
|
|
7
|
+
this.parentElement = null; // For dynamic/reactive sections that need a parent element reference
|
|
8
|
+
this.isStarted = false; // Flag to indicate if this section is static (renders once) or dynamic/reactive (renders on state change)
|
|
9
|
+
this.ctx = ctx ?? null;
|
|
10
|
+
this.name = name;
|
|
11
|
+
this.type = type;
|
|
12
|
+
this.contentType = contentType;
|
|
13
|
+
this.stateKeys = stateKeys;
|
|
14
|
+
this.renderFactory = renderFactory;
|
|
15
|
+
this.initialize();
|
|
16
|
+
}
|
|
17
|
+
initialize() {
|
|
18
|
+
if (this.type === 'static') {
|
|
19
|
+
this.render();
|
|
20
|
+
}
|
|
21
|
+
this.start();
|
|
22
|
+
}
|
|
23
|
+
render(parentElement) {
|
|
24
|
+
this.parentElement = parentElement ?? null;
|
|
25
|
+
this.content = this.renderFactory(this.parentElement);
|
|
26
|
+
}
|
|
27
|
+
start() {
|
|
28
|
+
if (this.isStarted)
|
|
29
|
+
return; // No need to subscribe for static sections
|
|
30
|
+
this.isStarted = true;
|
|
31
|
+
if ((this.type === 'reactive' || this.type === 'dynamic') && this.stateKeys && this.ctx) {
|
|
32
|
+
this.subscribeFn = () => {
|
|
33
|
+
this.render(this.parentElement);
|
|
34
|
+
};
|
|
35
|
+
this.unsubscribeFn = this.ctx.states.subscribe(this.stateKeys, this.subscribeFn);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
stop() {
|
|
39
|
+
if (!this.isStarted)
|
|
40
|
+
return;
|
|
41
|
+
this.isStarted = false;
|
|
42
|
+
if (this.unsubscribeFn) {
|
|
43
|
+
this.unsubscribeFn();
|
|
44
|
+
this.unsubscribeFn = null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Note: The "Section" concept is being phased out in favor of a more flexible Block/BlockOutlet system.
|
|
50
|
+
* Sections are still supported for backward compatibility but may be deprecated in future versions.
|
|
51
|
+
* For new development, consider using Blocks instead of Sections for better flexibility and composability.
|
|
52
|
+
*
|
|
53
|
+
* --- CHANGELOG ---
|
|
54
|
+
* vX.X.X - Introduced Block/BlockOutlet system as a more flexible alternative to Sections.
|
|
55
|
+
* - Sections are now considered legacy and may be deprecated in future versions.
|
|
56
|
+
* - ViewController's section management is being refactored to support Blocks instead of Sections.
|
|
57
|
+
* - Updated documentation and examples to encourage use of Blocks over Sections.
|
|
58
|
+
*
|
|
59
|
+
* --- FUTURE PLANS ---
|
|
60
|
+
* - Phase out Sections entirely in favor of Blocks, which offer more composability and dynamic capabilities.
|
|
61
|
+
* - Provide migration guides for existing users to transition from Sections to Blocks.
|
|
62
|
+
* - Enhance Block system with features like nested blocks, dynamic block registration, and improved lifecycle management.
|
|
63
|
+
*
|
|
64
|
+
* --- CURRENT RECOMMENDATION ---
|
|
65
|
+
* For new views, prefer using Blocks and BlockOutlets for layout composition instead of Sections. Sections will still work but are not recommended for new development.
|
|
66
|
+
*/
|
|
67
|
+
//# sourceMappingURL=Section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Section.js","sourceRoot":"","sources":["../../../../src/core/view/Section.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,OAAO;IAiBhB,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,QAAQ,EAAE,WAAW,GAAG,MAAM,EAAE,SAAS,EAAE,aAAa,EAA0B;QAhBlH,QAAG,GAA+C,IAAI,CAAC;QAOvD,gBAAW,GAAwB,IAAI,CAAC;QACxC,kBAAa,GAAwB,IAAI,CAAC;QAE1C,YAAO,GAAQ,IAAI,CAAC,CAAC,+DAA+D;QAEpF,kBAAa,GAAqC,IAAI,CAAC,CAAC,qEAAqE;QAE7H,cAAS,GAAY,KAAK,CAAC,CAAC,0GAA0G;QAGlI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,UAAU;QACN,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;IAEjB,CAAC;IAED,MAAM,CAAC,aAAgD;QACnD,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK;QACD,IAAG,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,2CAA2C;QACtE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACtF,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACpC,CAAC,CAAC;YACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACrF,CAAC;IAEL,CAAC;IAED,IAAI;QACA,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC9B,CAAC;IACL,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;;GAkBG"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ViewType } from "../contracts/ViewControllerInterface";
|
|
2
|
+
import type { ViewInterface, ViewLifecycleHooks } from "../contracts/ViewInterface";
|
|
3
|
+
import type { OneObjectType } from "../types/utils";
|
|
4
|
+
import { ViewController } from "./ViewController";
|
|
5
|
+
/**
|
|
6
|
+
* View — the base class for all views in OneView.
|
|
7
|
+
*
|
|
8
|
+
* A View is the unit that the user writes. It contains:
|
|
9
|
+
* - User-defined properties (reactive state, computed values)
|
|
10
|
+
* - User-defined methods (event handlers, business logic)
|
|
11
|
+
* - Lifecycle hooks (onInit, onMounted, onUpdated, onDestroy)
|
|
12
|
+
* - A ViewController (hidden as __ctrl__) that manages everything internally
|
|
13
|
+
*
|
|
14
|
+
* The ViewController is non-enumerable so it doesn't show up in serialization
|
|
15
|
+
* or when iterating over the View's properties.
|
|
16
|
+
*
|
|
17
|
+
* Usage:
|
|
18
|
+
* Typically the compiler generates a subclass of View with $__setup__
|
|
19
|
+
* that declares state, methods, and the render factory.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* // Compiled output from counter.one:
|
|
23
|
+
* class CounterView extends View {
|
|
24
|
+
* $__setup__() {
|
|
25
|
+
* const [count, setCount] = this.__ctrl__.states.__.useState(0, 'count');
|
|
26
|
+
* this.count = count;
|
|
27
|
+
* this.setCount = setCount;
|
|
28
|
+
* this.increment = () => setCount(this.count + 1);
|
|
29
|
+
* }
|
|
30
|
+
* }
|
|
31
|
+
*/
|
|
32
|
+
export declare class View implements ViewInterface, ViewLifecycleHooks {
|
|
33
|
+
__ctrl__: ViewController;
|
|
34
|
+
[key: string]: any;
|
|
35
|
+
constructor(path: string, viewType?: ViewType, viewControllerClass?: any);
|
|
36
|
+
/**
|
|
37
|
+
* Setup hook — called by framework after construction.
|
|
38
|
+
* Compiled .one output overrides this to declare state, methods, render factory.
|
|
39
|
+
*
|
|
40
|
+
* @param __data__ — Route params, props, etc.
|
|
41
|
+
* @param systemData — System-level data (SSR data, global config, etc.)
|
|
42
|
+
*/
|
|
43
|
+
$__setup__(__data__?: Record<string, any>, systemData?: Record<string, any>): void;
|
|
44
|
+
onInit?(): void | Promise<void>;
|
|
45
|
+
onMounted?(): void | Promise<void>;
|
|
46
|
+
onUpdated?(): void | Promise<void>;
|
|
47
|
+
onDestroy?(): void | Promise<void>;
|
|
48
|
+
onActivated?(): void | Promise<void>;
|
|
49
|
+
onDeactivated?(): void | Promise<void>;
|
|
50
|
+
get path(): string;
|
|
51
|
+
get viewType(): ViewType;
|
|
52
|
+
/** Shortcut to controller */
|
|
53
|
+
get __(): ViewController;
|
|
54
|
+
/** Shortcut to ViewState */
|
|
55
|
+
get $state(): any;
|
|
56
|
+
get oneType(): OneObjectType;
|
|
57
|
+
set oneType(value: OneObjectType);
|
|
58
|
+
get parent(): ViewInterface | null;
|
|
59
|
+
get children(): ViewInterface[];
|
|
60
|
+
get superView(): ViewInterface | null;
|
|
61
|
+
get originView(): ViewInterface | null;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=View.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../src/core/view/View.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,IAAK,YAAW,aAAa,EAAE,kBAAkB;IACnD,QAAQ,EAAG,cAAc,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;gBAEP,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB,EAAE,mBAAmB,CAAC,EAAE,GAAG;IAahF;;;;;;OAMG;IACH,UAAU,CAAC,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAAE,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,IAAI;IAO1F,MAAM,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/B,SAAS,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAClC,SAAS,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAClC,SAAS,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAClC,WAAW,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACpC,aAAa,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,6BAA6B;IAC7B,IAAI,EAAE,IAAI,cAAc,CAEvB;IAED,4BAA4B;IAC5B,IAAI,MAAM,IAAI,GAAG,CAEhB;IACD,IAAI,OAAO,IAAI,aAAa,CAE3B;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,aAAa,EAE/B;IAED,IAAI,MAAM,IAAI,aAAa,GAAG,IAAI,CAEjC;IACD,IAAI,QAAQ,IAAI,aAAa,EAAE,CAE9B;IACD,IAAI,SAAS,IAAI,aAAa,GAAG,IAAI,CAEpC;IACD,IAAI,UAAU,IAAI,aAAa,GAAG,IAAI,CAErC;CACJ"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ViewController } from "./ViewController";
|
|
2
|
+
/**
|
|
3
|
+
* View — the base class for all views in OneView.
|
|
4
|
+
*
|
|
5
|
+
* A View is the unit that the user writes. It contains:
|
|
6
|
+
* - User-defined properties (reactive state, computed values)
|
|
7
|
+
* - User-defined methods (event handlers, business logic)
|
|
8
|
+
* - Lifecycle hooks (onInit, onMounted, onUpdated, onDestroy)
|
|
9
|
+
* - A ViewController (hidden as __ctrl__) that manages everything internally
|
|
10
|
+
*
|
|
11
|
+
* The ViewController is non-enumerable so it doesn't show up in serialization
|
|
12
|
+
* or when iterating over the View's properties.
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* Typically the compiler generates a subclass of View with $__setup__
|
|
16
|
+
* that declares state, methods, and the render factory.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* // Compiled output from counter.one:
|
|
20
|
+
* class CounterView extends View {
|
|
21
|
+
* $__setup__() {
|
|
22
|
+
* const [count, setCount] = this.__ctrl__.states.__.useState(0, 'count');
|
|
23
|
+
* this.count = count;
|
|
24
|
+
* this.setCount = setCount;
|
|
25
|
+
* this.increment = () => setCount(this.count + 1);
|
|
26
|
+
* }
|
|
27
|
+
* }
|
|
28
|
+
*/
|
|
29
|
+
export class View {
|
|
30
|
+
constructor(path, viewType = 'view', viewControllerClass) {
|
|
31
|
+
const CtrlClass = viewControllerClass ?? ViewController;
|
|
32
|
+
const controller = new CtrlClass(this, path, viewType);
|
|
33
|
+
// Store controller as non-enumerable, non-writable property
|
|
34
|
+
Object.defineProperty(this, '__ctrl__', {
|
|
35
|
+
value: controller,
|
|
36
|
+
writable: false,
|
|
37
|
+
enumerable: false,
|
|
38
|
+
configurable: false,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Setup hook — called by framework after construction.
|
|
43
|
+
* Compiled .one output overrides this to declare state, methods, render factory.
|
|
44
|
+
*
|
|
45
|
+
* @param __data__ — Route params, props, etc.
|
|
46
|
+
* @param systemData — System-level data (SSR data, global config, etc.)
|
|
47
|
+
*/
|
|
48
|
+
$__setup__(__data__ = {}, systemData = {}) {
|
|
49
|
+
// Override in subclass
|
|
50
|
+
}
|
|
51
|
+
// ─── Convenience Accessors ──────────────────────────────────
|
|
52
|
+
get path() {
|
|
53
|
+
return this.__ctrl__.path;
|
|
54
|
+
}
|
|
55
|
+
get viewType() {
|
|
56
|
+
return this.__ctrl__.viewType;
|
|
57
|
+
}
|
|
58
|
+
/** Shortcut to controller */
|
|
59
|
+
get __() {
|
|
60
|
+
return this.__ctrl__;
|
|
61
|
+
}
|
|
62
|
+
/** Shortcut to ViewState */
|
|
63
|
+
get $state() {
|
|
64
|
+
return this.__ctrl__.states;
|
|
65
|
+
}
|
|
66
|
+
get oneType() {
|
|
67
|
+
return 'View';
|
|
68
|
+
}
|
|
69
|
+
set oneType(value) {
|
|
70
|
+
// No-op setter to satisfy the Interface; this property is always 'View'
|
|
71
|
+
}
|
|
72
|
+
get parent() {
|
|
73
|
+
return this.__ctrl__.getParentView();
|
|
74
|
+
}
|
|
75
|
+
get children() {
|
|
76
|
+
return this.__ctrl__.getChildrenViews();
|
|
77
|
+
}
|
|
78
|
+
get superView() {
|
|
79
|
+
return this.__ctrl__.getSuperView();
|
|
80
|
+
}
|
|
81
|
+
get originView() {
|
|
82
|
+
return this.__ctrl__.getOriginView();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=View.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"View.js","sourceRoot":"","sources":["../../../../src/core/view/View.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,IAAI;IAIb,YAAY,IAAY,EAAE,WAAqB,MAAM,EAAE,mBAAyB;QAC5E,MAAM,SAAS,GAAG,mBAAmB,IAAI,cAAc,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEvD,4DAA4D;QAC5D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE;YACpC,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,KAAK;SACtB,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,WAAgC,EAAE,EAAE,aAAkC,EAAE;QAC/E,uBAAuB;IAC3B,CAAC;IAYD,+DAA+D;IAE/D,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,6BAA6B;IAC7B,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,4BAA4B;IAC5B,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAChC,CAAC;IACD,IAAI,OAAO;QACP,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,KAAoB;QAC5B,wEAAwE;IAC5E,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IACD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC;IACD,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;CACJ"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import type { BlockInterface, BlockOutletInterface, BlockRenderFactory } from "../contracts/BlockInterface";
|
|
2
|
+
import type { FragmentInterface, HtmlInterface, OneChildrenFactory, OneElementEventHandler, OneNodeInterface, OutputInterface, TextInterface, WrapperInterface, YieldInterface } from "../contracts/ElementInterface";
|
|
3
|
+
import type { ReactiveChildrenFactory, ReactiveInterface } from "../contracts/ReactiveInterface";
|
|
4
|
+
import type { ViewControllerInterface, ViewType, ViewConfig, ViewRuntimeConfig, ViewControllerConfig } from "../contracts/ViewControllerInterface";
|
|
5
|
+
import type { ViewInterface, ViewRenderFactory } from "../contracts/ViewInterface";
|
|
6
|
+
import type { OneObjectType } from "../types/utils";
|
|
7
|
+
import { ViewState } from "./ViewState";
|
|
8
|
+
import { LoopContext } from "./LoopContext";
|
|
9
|
+
import { Component } from "../elements/Component";
|
|
10
|
+
import { ApplicationInterface } from "../contracts/ApplicationInterface";
|
|
11
|
+
import { SectionContentRenderer, SectionContentType, SectionInterface, SectionItemType } from "../contracts/views";
|
|
12
|
+
import { InitMode } from "../contracts/common";
|
|
13
|
+
import { BlockOutlet } from "../elements";
|
|
14
|
+
import { ComponentInterface } from "../contracts/ComponentInterface";
|
|
15
|
+
type ElementChild = ReactiveInterface | ComponentInterface | HtmlInterface | TextInterface | FragmentInterface | OutputInterface | BlockOutletInterface | YieldInterface | OneNodeInterface;
|
|
16
|
+
/**
|
|
17
|
+
* ViewController — the brain behind a View.
|
|
18
|
+
*
|
|
19
|
+
* Manages:
|
|
20
|
+
* - Reactive state (ViewState) — useState, subscribe, batch flush
|
|
21
|
+
* - DOM element tree — via Html, Reactive, TextElement, Fragment
|
|
22
|
+
* - Event delegation — addEventListener with centralized cleanup
|
|
23
|
+
* - Loop contexts — @foreach, @for, @while with LoopContext stack
|
|
24
|
+
* - Block management — for layout views with @useBlock
|
|
25
|
+
* - Lifecycle — setup, render, destroy
|
|
26
|
+
* - Reactive scheduling — batched DOM updates via requestAnimationFrame
|
|
27
|
+
*
|
|
28
|
+
* KEY DIFFERENCE from core/ViewController:
|
|
29
|
+
* OLD: render() returns HTML string → innerHTML → scan DOM for bindings
|
|
30
|
+
* NEW: render() builds element tree directly → Reactive regions update in-place
|
|
31
|
+
*
|
|
32
|
+
* Compiled .one output calls methods like:
|
|
33
|
+
* this.__ctrl__.addEventListener(el, 'click', handlers)
|
|
34
|
+
* this.__ctrl__.states.__.useState(0, 'count')
|
|
35
|
+
* this.__ctrl__.__foreach(items, (item, key, index, loop) => [...])
|
|
36
|
+
*/
|
|
37
|
+
export declare class ViewController implements ViewControllerInterface {
|
|
38
|
+
oneType: OneObjectType;
|
|
39
|
+
viewId: string;
|
|
40
|
+
path: string;
|
|
41
|
+
viewType: ViewType;
|
|
42
|
+
/** The View instance this controller manages */
|
|
43
|
+
view: ViewInterface;
|
|
44
|
+
/** Reactive state manager */
|
|
45
|
+
states: ViewState;
|
|
46
|
+
/** App container reference (set later by framework) */
|
|
47
|
+
private __App;
|
|
48
|
+
/** Parent view controller (for nested views) */
|
|
49
|
+
parent: ViewControllerInterface | null;
|
|
50
|
+
/** Child view controllers (for nested views) */
|
|
51
|
+
children: ViewControllerInterface[];
|
|
52
|
+
/** Layout (super) view's controller */
|
|
53
|
+
superView: ViewControllerInterface | null;
|
|
54
|
+
/** Path to layout (super) view — e.g. 'layouts.main' */
|
|
55
|
+
superViewPath: string | null;
|
|
56
|
+
/** Whether this controller IS a layout */
|
|
57
|
+
isSuperView: boolean;
|
|
58
|
+
/** For layouts: the original page view's controller (for block mounting) */
|
|
59
|
+
originView: ViewControllerInterface | null;
|
|
60
|
+
/** Raw input data from route/parent */
|
|
61
|
+
data: Record<string, any>;
|
|
62
|
+
/** User-defined config from setup() */
|
|
63
|
+
private config;
|
|
64
|
+
/** Typed runtime config from compiled $__setup__ */
|
|
65
|
+
private runtimeConfig;
|
|
66
|
+
/** Track own properties to avoid conflicts when setting user config */
|
|
67
|
+
private ownProperties;
|
|
68
|
+
/** Root Html element — the container this view renders into */
|
|
69
|
+
private rootElement;
|
|
70
|
+
private parentElement;
|
|
71
|
+
/** Root element tree returned by renderFactory (Fragment, Html, etc.) */
|
|
72
|
+
private _rootTree;
|
|
73
|
+
/** Compiled render factory — produces the element tree */
|
|
74
|
+
private renderFactory;
|
|
75
|
+
/** Compiled prerender factory — produces the prerender element tree */
|
|
76
|
+
private prerenderFactory;
|
|
77
|
+
childrenFactory: OneChildrenFactory | null;
|
|
78
|
+
/** Stored render output for lifecycle management */
|
|
79
|
+
renderOutput: any;
|
|
80
|
+
/** Stored prerender output for hydration or caching */
|
|
81
|
+
prerenderOutput: any;
|
|
82
|
+
/** DOM children — for compatibility with HtmlInterface */
|
|
83
|
+
domChildren: Node[];
|
|
84
|
+
/** Flag: currently in a virtual render (for hydration or caching) */
|
|
85
|
+
isVirtualRendering: boolean;
|
|
86
|
+
initMode: InitMode;
|
|
87
|
+
/** Pending reactive updates — deduped, flushed in one RAF */
|
|
88
|
+
private pendingReactiveUpdates;
|
|
89
|
+
private hasScheduledUpdate;
|
|
90
|
+
/** Centralized AbortController for all event listeners */
|
|
91
|
+
private eventAbortController;
|
|
92
|
+
/** Current loop context stack (@foreach, @for, @while) */
|
|
93
|
+
loopContext: LoopContext | null;
|
|
94
|
+
/** Section management across views */
|
|
95
|
+
sections: Map<string, SectionInterface>;
|
|
96
|
+
/** Block slots in layout views */
|
|
97
|
+
blocks: Map<string, BlockInterface>;
|
|
98
|
+
elements: Map<string, ElementChild>;
|
|
99
|
+
preloadElement: WrapperInterface | null;
|
|
100
|
+
mainElement: WrapperInterface | null;
|
|
101
|
+
/** Whether this view is currently active (mounted in DOM) */
|
|
102
|
+
isActive: boolean;
|
|
103
|
+
/** Whether initial data has been committed */
|
|
104
|
+
private _isDataCommitted;
|
|
105
|
+
/** Whether the view has been mounted */
|
|
106
|
+
private _isMounted;
|
|
107
|
+
/** Whether the view has been fully destroyed */
|
|
108
|
+
private _isDestroyed;
|
|
109
|
+
/** For future use: scanning DOM for bindings */
|
|
110
|
+
protected isScanMode: boolean;
|
|
111
|
+
urlPath: string | null;
|
|
112
|
+
callingMethod: string | null;
|
|
113
|
+
constructor(view: ViewInterface, path?: string, viewType?: ViewType, viewId?: string | null);
|
|
114
|
+
/**
|
|
115
|
+
* Setup — called by compiled $__setup__ with full config.
|
|
116
|
+
*
|
|
117
|
+
* Lưu config, extract metadata, lưu render factory.
|
|
118
|
+
* CHƯA gọi commitConstructorData — đợi ViewManager gọi commitData().
|
|
119
|
+
*/
|
|
120
|
+
setup(config: ViewRuntimeConfig): void;
|
|
121
|
+
getConfig(key?: string, defaultValue?: any): ViewControllerConfig | any;
|
|
122
|
+
/** Set static view config shared by all instances of a compiled view class. */
|
|
123
|
+
setStaticConfig(config: ViewConfig): void;
|
|
124
|
+
/** Set user-defined properties/methods on the View instance */
|
|
125
|
+
setUserDefinedConfig(userConfig: Record<string, any>): void;
|
|
126
|
+
/** Set the compiled render factory */
|
|
127
|
+
setRenderFactory(factory: ViewRenderFactory): void;
|
|
128
|
+
/** Set root element — the container this view renders into */
|
|
129
|
+
setRootElement(rootElement: HtmlInterface): void;
|
|
130
|
+
setParentElement(parent: HtmlInterface | null): void;
|
|
131
|
+
/** Render the view's element tree into rootElement.
|
|
132
|
+
*
|
|
133
|
+
* The compiled render factory (bound to this ViewController) returns
|
|
134
|
+
* the root element tree (typically a Fragment). We set its parent
|
|
135
|
+
* to rootElement, call render() to build DOM, and store the reference
|
|
136
|
+
* for start/stop lifecycle management.
|
|
137
|
+
*/
|
|
138
|
+
render(): any;
|
|
139
|
+
prerender(): any;
|
|
140
|
+
hydrate(): any;
|
|
141
|
+
hydrateRender(): any;
|
|
142
|
+
hydratePrerender(): any;
|
|
143
|
+
mount(root: HTMLElement): void;
|
|
144
|
+
unmount(): void;
|
|
145
|
+
/**
|
|
146
|
+
* Start — activate reactive subscriptions throughout the element tree.
|
|
147
|
+
* Called AFTER render() and commitData().
|
|
148
|
+
*
|
|
149
|
+
* Flow: render() → commitData() → start()
|
|
150
|
+
* This ensures initial state values are set before subscriptions fire.
|
|
151
|
+
*/
|
|
152
|
+
start(): void;
|
|
153
|
+
/**
|
|
154
|
+
* Stop — deactivate reactive subscriptions (for caching/deactivation).
|
|
155
|
+
* DOM stays intact but reactive updates are paused.
|
|
156
|
+
*/
|
|
157
|
+
stop(): void;
|
|
158
|
+
/** Full destroy — cleanup everything */
|
|
159
|
+
destroy(): void;
|
|
160
|
+
/**
|
|
161
|
+
* Commit initial data — set initial state values.
|
|
162
|
+
* Called by ViewManager AFTER render + block mounting.
|
|
163
|
+
*
|
|
164
|
+
* Flow: commitConstructorData() → update$xxx(initial) → lockUpdateRealState()
|
|
165
|
+
*/
|
|
166
|
+
commitData(): void;
|
|
167
|
+
/**
|
|
168
|
+
* Update data from external source (navigate same view, different params).
|
|
169
|
+
* Flow: unlock → updateVariableData(newData) → re-set states → lock
|
|
170
|
+
*/
|
|
171
|
+
updateData(newData: Record<string, any>): void;
|
|
172
|
+
/**
|
|
173
|
+
* Update single data item.
|
|
174
|
+
*/
|
|
175
|
+
updateDataItem(key: string, value: any): void;
|
|
176
|
+
/**
|
|
177
|
+
* Register event listeners on an element.
|
|
178
|
+
* All listeners are tracked via AbortController for centralized cleanup.
|
|
179
|
+
*
|
|
180
|
+
* Handlers can be:
|
|
181
|
+
* - Direct function: (event) => { ... }
|
|
182
|
+
* - Object with handler + params: { handler: fn, params: [...] }
|
|
183
|
+
* - Object with string handler (method name on view): { handler: 'handleClick' }
|
|
184
|
+
*/
|
|
185
|
+
addEventListener(element: HTMLElement, event: string, handlers: OneElementEventHandler): void;
|
|
186
|
+
/**
|
|
187
|
+
* Schedule a reactive region for re-render.
|
|
188
|
+
* Multiple calls in the same frame are batched into a single RAF.
|
|
189
|
+
*/
|
|
190
|
+
scheduleUpdate(reactive: ReactiveInterface): void;
|
|
191
|
+
private flushReactiveUpdates;
|
|
192
|
+
section(name: string, config: {
|
|
193
|
+
type: SectionItemType;
|
|
194
|
+
contentType?: SectionContentType;
|
|
195
|
+
stateKeys?: string[];
|
|
196
|
+
[key: string]: any;
|
|
197
|
+
}, contentRenderFactory: SectionContentRenderer): SectionInterface;
|
|
198
|
+
block(id: string | null, name: string, contentRenderFactory: BlockRenderFactory): BlockInterface;
|
|
199
|
+
blockOutlet(id: string | null | undefined, name: string, parentElement: HtmlInterface | null): BlockOutletInterface;
|
|
200
|
+
mountBlock(id: string | null | undefined, name: string, parent: HtmlInterface | null): BlockOutletInterface;
|
|
201
|
+
/**
|
|
202
|
+
* @useBlock(name) — register a block slot in the layout.
|
|
203
|
+
* Creates a Reactive region between markers that will hold the block content.
|
|
204
|
+
* BlockManager.mountAll() later inserts the page view's block content here.
|
|
205
|
+
*/
|
|
206
|
+
useBlock(id: string | null | undefined, name: string, parent: HtmlInterface): BlockOutlet;
|
|
207
|
+
yield(id: string, name: string, defaultValue?: any, parentElement?: HtmlInterface | null): YieldInterface;
|
|
208
|
+
yieldContent(name: string, defaultValue?: any): any;
|
|
209
|
+
wrapper(factory: OneChildrenFactory): WrapperInterface;
|
|
210
|
+
fragment(id: string | null | undefined, parentElement: HtmlInterface | null, childrenFactory: OneChildrenFactory): FragmentInterface;
|
|
211
|
+
/**
|
|
212
|
+
* Template and Directive Helpers
|
|
213
|
+
* These methods are called by the compiled output for loops, conditionals, and other directives.
|
|
214
|
+
*/
|
|
215
|
+
html(id: string | null | undefined, tagName: string, parentElement: HtmlInterface | null, config: any, childrenFactory?: OneChildrenFactory): OneNodeInterface;
|
|
216
|
+
reactive(id: string | null, type: string, parentReactive: ReactiveInterface | null, parentElement: HtmlInterface | null, stateKeys: string[], childrenFactory: ReactiveChildrenFactory): ReactiveInterface;
|
|
217
|
+
output(id: string | null, parent: HtmlInterface | null, isEscapeHTML?: boolean, stateKeys?: string[], contentFactory?: () => string): OutputInterface;
|
|
218
|
+
text(text: string): Text;
|
|
219
|
+
include(id: string | null | undefined, path: string | undefined, parentElement: HtmlInterface | null, stateKeys: string[], dataFactory: (parentElement: HtmlInterface | null) => Record<string, any>): Component;
|
|
220
|
+
includeIf(id: string | null | undefined, path: string, parentElement: HtmlInterface | null, stateKeys: string[], dataFactory: (parentElement: HtmlInterface | null) => Record<string, any>): Component;
|
|
221
|
+
includeWhen(id: string | null, condition: {
|
|
222
|
+
stateKeys: string[];
|
|
223
|
+
checker: () => any;
|
|
224
|
+
}, path: string, parentElement: HtmlInterface | null, stateKeys: string[], dataFactory: (parentElement: HtmlInterface | null) => Record<string, any>): Component;
|
|
225
|
+
extendView(path: string, data?: Record<string, any>): ViewInterface | null;
|
|
226
|
+
/** Create and push a new LoopContext onto the stack */
|
|
227
|
+
__setLoopContext(length: number): LoopContext;
|
|
228
|
+
/** Pop the current LoopContext, restore parent */
|
|
229
|
+
__resetLoopContext(): LoopContext | null;
|
|
230
|
+
/**
|
|
231
|
+
* @foreach directive — iterate over array or object.
|
|
232
|
+
* Returns array of children (not HTML string like the old system).
|
|
233
|
+
*
|
|
234
|
+
* @example Compiled output:
|
|
235
|
+
* ctrl.__foreach(items, (item, key, index, loop) => [
|
|
236
|
+
* em.h(ctrl, parent, 'div', {}, () => [em.t(`Item: ${item}`)])
|
|
237
|
+
* ])
|
|
238
|
+
*/
|
|
239
|
+
__foreach<T>(list: T[] | Record<string, T>, callback: (item: T, key: string, index: number, loop: LoopContext) => any): any[];
|
|
240
|
+
__forelse<T>(list: T[], callback: (item: T, key: string, index: number, loop: LoopContext) => any, emptyCallback?: () => any): any[];
|
|
241
|
+
__each<T>(list: T[], callback: (item: T, key: string, index: number, loop: LoopContext) => any): any[];
|
|
242
|
+
/**
|
|
243
|
+
* @for directive
|
|
244
|
+
*/
|
|
245
|
+
__for(loopType?: 'increment' | 'decrement', start?: number, end?: number, execute?: (loop: LoopContext) => any): any;
|
|
246
|
+
/**
|
|
247
|
+
* @while directive
|
|
248
|
+
*/
|
|
249
|
+
__while(execute: (loop: LoopContext) => any, maxIterations?: number): any;
|
|
250
|
+
setApp(app: ApplicationInterface): void;
|
|
251
|
+
getParentView(): ViewInterface | null;
|
|
252
|
+
getChildrenViews(): ViewInterface[];
|
|
253
|
+
getSuperView(): ViewInterface | null;
|
|
254
|
+
getOriginView(): ViewInterface | null;
|
|
255
|
+
setOriginView(origin: ViewControllerInterface): void;
|
|
256
|
+
setSuperView(superView: ViewControllerInterface): void;
|
|
257
|
+
setIsSuperView(isSuper: boolean): void;
|
|
258
|
+
setParent(parent: ViewControllerInterface): void;
|
|
259
|
+
addChild(child: ViewControllerInterface): void;
|
|
260
|
+
/**
|
|
261
|
+
* For nested views: set the chain of super views up to the root, so each view has a reference to its layout parents.
|
|
262
|
+
* Called by ViewManager after creating the view and its super view(s).
|
|
263
|
+
*/
|
|
264
|
+
setChainFromOrigin(): void;
|
|
265
|
+
/**
|
|
266
|
+
* When a view is destroyed, it should eject itself from the origin chain to prevent memory leaks.
|
|
267
|
+
*/
|
|
268
|
+
ejectOriginChain(): void;
|
|
269
|
+
get App(): ApplicationInterface;
|
|
270
|
+
get isMounted(): boolean;
|
|
271
|
+
get isDestroyed(): boolean;
|
|
272
|
+
/** Whether this view has a super view (layout) */
|
|
273
|
+
get hasSuperView(): boolean;
|
|
274
|
+
private generateViewId;
|
|
275
|
+
}
|
|
276
|
+
export {};
|
|
277
|
+
//# sourceMappingURL=ViewController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewController.d.ts","sourceRoot":"","sources":["../../../../src/core/view/ViewController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5G,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEtN,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACnJ,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAA0B,sBAAsB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE3I,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAS,WAAW,EAA+B,MAAM,aAAa,CAAC;AAI9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,KAAK,YAAY,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,aAAa,GAAG,aAAa,GAAG,iBAAiB,GAAG,eAAe,GAAG,oBAAoB,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAE5L;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,YAAW,uBAAuB;IAG1D,OAAO,EAAE,aAAa,CAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IAG1B,gDAAgD;IACzC,IAAI,EAAE,aAAa,CAAC;IAC3B,6BAA6B;IACtB,MAAM,EAAE,SAAS,CAAC;IACzB,uDAAuD;IACvD,OAAO,CAAC,KAAK,CAAuB;IAGpC,gDAAgD;IACzC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAAQ;IACrD,gDAAgD;IACzC,QAAQ,EAAE,uBAAuB,EAAE,CAAM;IAChD,uCAAuC;IAChC,SAAS,EAAE,uBAAuB,GAAG,IAAI,CAAQ;IACxD,wDAAwD;IACjD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC3C,0CAA0C;IACnC,WAAW,EAAE,OAAO,CAAS;IACpC,4EAA4E;IACrE,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAQ;IAIzD,uCAAuC;IAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IACtC,uCAAuC;IACvC,OAAO,CAAC,MAAM,CAAkB;IAChC,oDAAoD;IACpD,OAAO,CAAC,aAAa,CAAgC;IACrD,uEAAuE;IACvE,OAAO,CAAC,aAAa,CAAsC;IAK3D,+DAA+D;IAC/D,OAAO,CAAC,WAAW,CAA8B;IAEjD,OAAO,CAAC,aAAa,CAA8B;IAEnD,yEAAyE;IACzE,OAAO,CAAC,SAAS,CAAa;IAC9B,0DAA0D;IAC1D,OAAO,CAAC,aAAa,CAAkC;IACvD,uEAAuE;IACvE,OAAO,CAAC,gBAAgB,CAAkC;IAEnD,eAAe,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAEzD,oDAAoD;IAC7C,YAAY,EAAE,GAAG,CAAQ;IAChC,uDAAuD;IAChD,eAAe,EAAE,GAAG,CAAQ;IACnC,0DAA0D;IACnD,WAAW,EAAE,IAAI,EAAE,CAAM;IAChC,qEAAqE;IAC9D,kBAAkB,EAAE,OAAO,CAAS;IACpC,QAAQ,EAAE,QAAQ,CAAY;IAGrC,6DAA6D;IAC7D,OAAO,CAAC,sBAAsB,CAAqC;IACnE,OAAO,CAAC,kBAAkB,CAAS;IACnC,0DAA0D;IAC1D,OAAO,CAAC,oBAAoB,CAA0C;IAGtE,0DAA0D;IACnD,WAAW,EAAE,WAAW,GAAG,IAAI,CAAQ;IAG9C,sCAAsC;IAC/B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAa;IAC3D,kCAAkC;IAC3B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAa;IAEhD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAa;IAEhD,cAAc,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAC/C,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAEnD,6DAA6D;IACtD,QAAQ,EAAE,OAAO,CAAS;IACjC,8CAA8C;IAC9C,OAAO,CAAC,gBAAgB,CAAS;IACjC,wCAAwC;IACxC,OAAO,CAAC,UAAU,CAAS;IAC3B,gDAAgD;IAChD,OAAO,CAAC,YAAY,CAAS;IAC7B,gDAAgD;IAChD,SAAS,CAAC,UAAU,EAAE,OAAO,CAAS;IAG/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAK/B,IAAI,EAAE,aAAa,EAAE,IAAI,GAAE,MAAW,EAAE,QAAQ,GAAE,QAAiB,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW;IAW7G;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAoBtC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,oBAAoB,GAAG,GAAG;IAOvE,+EAA+E;IAC/E,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAIzC,+DAA+D;IAC/D,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAU3D,sCAAsC;IACtC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAIlD,8DAA8D;IAC9D,cAAc,CAAC,WAAW,EAAE,aAAa,GAAG,IAAI;IAIhD,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAIpD;;;;;;OAMG;IACH,MAAM,IAAI,GAAG;IAYb,SAAS,IAAI,GAAG;IAYhB,OAAO,IAAI,GAAG;IAId,aAAa,IAAI,GAAG;IAMpB,gBAAgB,IAAI,GAAG;IAOvB,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAI9B,OAAO,IAAI,IAAI;IAIf;;;;;;OAMG;IACH,KAAK,IAAI,IAAI;IAkBb;;;OAGG;IACH,IAAI,IAAI,IAAI;IAkBZ,wCAAwC;IACxC,OAAO,IAAI,IAAI;IA6Cf;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAGlB;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAI9C;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAK7C;;;;;;;;OAQG;IACH,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAiD7F;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAWjD,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,IAAI,EAAE,eAAe,CAAC;QAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,oBAAoB,EAAE,sBAAsB,GAAG,gBAAgB;IAkBpM,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,GAAG,cAAc;IAmBhG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,YAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,GAAG,oBAAoB;IAkB9G,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,YAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,oBAAoB;IAKtG;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,YAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,WAAW;IAIpF,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,GAAE,GAAU,EAAE,aAAa,GAAE,aAAa,GAAG,IAAW,GAAG,cAAc;IAarH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,GAAE,GAAU,GAAG,GAAG;IAIzD,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,gBAAgB;IActD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,YAAO,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,EAAE,eAAe,EAAE,kBAAkB,GAAG,iBAAiB;IAkB/H;;;OAGG;IAEH,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,YAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,CAAC,EAAE,kBAAkB,GAAG,gBAAgB;IAkBzJ,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,GAAG,IAAI,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,uBAAuB,GAAG,iBAAiB;IAwB1M,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,YAAY,GAAE,OAAc,EAAE,SAAS,GAAE,MAAM,EAAO,EAAE,cAAc,GAAE,MAAM,MAAiB,GAAG,eAAe;IAsBzK,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxB,OAAO,CACH,EAAE,EAAE,MAAM,GAAG,IAAI,YAAO,EACxB,IAAI,EAAE,MAAM,YAAK,EACjB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1E,SAAS;IA0BZ,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,YAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;IAyBjM,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,CAAA;KAAE,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;IA2BpP,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,aAAa,GAAG,IAAI;IAe9E,uDAAuD;IACvD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;IAO7C,kDAAkD;IAClD,kBAAkB,IAAI,WAAW,GAAG,IAAI;IAaxC;;;;;;;;OAQG;IACH,SAAS,CAAC,CAAC,EACP,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,GAAG,GAC1E,GAAG,EAAE;IAqCR,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,GAAG,EAAE,aAAa,GAAE,MAAM,GAAc,GAAG,GAAG,EAAE;IAO9I,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,GAAG,GAAG,GAAG,EAAE;IAItG;;OAEG;IACH,KAAK,CACD,QAAQ,GAAE,WAAW,GAAG,WAAyB,EACjD,KAAK,GAAE,MAAU,EACjB,GAAG,GAAE,MAAU,EACf,OAAO,GAAE,CAAC,IAAI,EAAE,WAAW,KAAK,GAAc,GAC/C,GAAG;IAeN;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,GAAG,EAAE,aAAa,GAAE,MAAc,GAAG,GAAG;IAwBhF,MAAM,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI;IAKvC,aAAa,IAAI,aAAa,GAAG,IAAI;IAGrC,gBAAgB,IAAI,aAAa,EAAE;IAInC,YAAY,IAAI,aAAa,GAAG,IAAI;IAIpC,aAAa,IAAI,aAAa,GAAG,IAAI;IAIrC,aAAa,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAGpD,YAAY,CAAC,SAAS,EAAE,uBAAuB,GAAG,IAAI;IAGtD,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAGtC,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAGhD,QAAQ,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI;IAK9C;;;OAGG;IACH,kBAAkB,IAAI,IAAI;IAO1B;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAQxB,IAAI,GAAG,IAAI,oBAAoB,CAE9B;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAGD,kDAAkD;IAClD,IAAI,YAAY,IAAI,OAAO,CAE1B;IAKD,OAAO,CAAC,cAAc;CAGzB"}
|